Complete agent monitoring and Galaxy Control integration

- expose command-monitor conversations and preserve visible agent transcripts
- add bounded polling and a dedicated shell interrupt tool
- improve direct-provider images, skills, tool history, and usage handling
- package and brand Galaxy Control across releases, installers, persistence, and docs
This commit is contained in:
2026-07-29 15:04:58 -05:00
parent 100f1eff1c
commit dbfa8bcd48
172 changed files with 6357 additions and 3825 deletions
+35
View File
@@ -23,6 +23,41 @@ fn test_simple_text_message_conversion() {
assert_eq!(request["stream"], true);
}
#[test]
fn test_multimodal_user_message_uses_openai_image_url_content() {
let messages = vec![ConversationMessage {
role: MessageRole::User,
content: MessageContent::MultiPart(vec![
ContentPart::Text("Describe this image".to_string()),
ContentPart::Image {
data: vec![1, 2, 3, 4],
mime_type: "image/png".to_string(),
},
]),
}];
let request = build_openai_request(messages, None, vec![], 1024, None, "test-model");
let content = request["messages"][0]["content"]
.as_array()
.expect("expected multimodal content array");
assert_eq!(
content,
&vec![
json!({
"type": "text",
"text": "Describe this image",
}),
json!({
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,AQIDBA==",
},
}),
]
);
}
#[test]
fn test_system_prompt_placement() {
let messages = vec![ConversationMessage {