Stabilize OpenSim agent runtime and Mentra integration
This commit is contained in:
@@ -4,9 +4,8 @@ use metacrate_grid_agent::testing::{
|
||||
adversarial_corpus,
|
||||
};
|
||||
use metacrate_grid_agent::{
|
||||
BehaviorRandom, BuildGrid, BuildPrim, BuildShape, CompletionMessage, GridSessionBackend,
|
||||
LandmarkGrid, LlmClient, LlmError, LlmTransportLimits, MessageRole, ReconnectPolicy,
|
||||
RoamingRandom, ScriptInventory, SessionState, SessionSupervisor,
|
||||
BehaviorRandom, BuildGrid, BuildPrim, BuildShape, GridSessionBackend, LandmarkGrid,
|
||||
ReconnectPolicy, RoamingRandom, ScriptInventory, SessionState, SessionSupervisor,
|
||||
};
|
||||
use std::collections::BTreeSet;
|
||||
use std::sync::Arc;
|
||||
@@ -281,57 +280,3 @@ fn corpus_randomness_scripts_and_load_metrics_are_reproducible_and_redacted() {
|
||||
assert_eq!(metrics.dropped_events, 2);
|
||||
metrics.assert_drained().unwrap();
|
||||
}
|
||||
|
||||
#[cfg(any(unix, windows))]
|
||||
#[tokio::test]
|
||||
async fn local_openai_peer_records_only_redacted_schema_and_scripts_multimodal_rejection() {
|
||||
use metacrate_grid_agent::testing::FakeOpenAiEndpoint;
|
||||
use metacrate_grid_agent::{BoundedText, BoundedVec, ContentPart, ImageDetail};
|
||||
let endpoint = FakeOpenAiEndpoint::start(vec![FakeLlmStep::MultimodalRejected])
|
||||
.await
|
||||
.expect("loopback endpoint");
|
||||
let config = metacrate_grid_agent::AgentConfig::offline(endpoint.url(), "SECRET_CANARY")
|
||||
.expect("offline config");
|
||||
let client = LlmClient::new(
|
||||
config.llm,
|
||||
LlmTransportLimits {
|
||||
max_retries: 3,
|
||||
..LlmTransportLimits::default()
|
||||
},
|
||||
)
|
||||
.unwrap();
|
||||
let message = CompletionMessage {
|
||||
role: MessageRole::Avatar,
|
||||
content: BoundedVec::try_from_vec(
|
||||
"content",
|
||||
vec![ContentPart::Image {
|
||||
url: BoundedText::new("url", "data:image/png;base64,aW1hZ2U=").unwrap(),
|
||||
detail: ImageDetail::Low,
|
||||
}],
|
||||
)
|
||||
.unwrap(),
|
||||
tool_call_id: None,
|
||||
proposed_calls: BoundedVec::new(),
|
||||
};
|
||||
assert_eq!(
|
||||
client
|
||||
.complete(&[message], &[], &CancellationToken::default())
|
||||
.await
|
||||
.unwrap_err(),
|
||||
LlmError::MultimodalUnsupported
|
||||
);
|
||||
tokio::task::yield_now().await;
|
||||
let requests = endpoint.requests();
|
||||
assert_eq!(requests.len(), 1, "large request is never retried");
|
||||
assert!(requests[0].has_image);
|
||||
assert_eq!(requests[0].body_sha256.len(), 64);
|
||||
assert!(!format!("{requests:?}").contains("SECRET_CANARY"));
|
||||
let reproduction = endpoint.reproduction(99);
|
||||
assert!(reproduction.contains("seed=99"));
|
||||
assert!(!reproduction.contains("SECRET_CANARY"));
|
||||
for _ in 0..8 {
|
||||
tokio::task::yield_now().await;
|
||||
}
|
||||
assert_eq!(endpoint.active_sockets(), 0);
|
||||
drop(endpoint);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user