fix(agent): skip tools for models without tool-call capability and parse image output

- Add SupportsToolCall to RunConfig; only inject tools into SDK when set
- Update twilight-ai to 497ad09 which adds SSE scanner 10MB buffer
  (fixes token-too-long on large image payloads) and parses the images
  array from OpenAI-compatible chat completions into StreamFilePart
This commit is contained in:
Acbox
2026-04-03 00:01:14 +08:00
parent 574bc1fb59
commit fc2b603018
7 changed files with 18 additions and 8 deletions
+3
View File
@@ -246,6 +246,7 @@ func TestAgentGenerateReadMediaInjectsImageIntoNextStep(t *testing.T) {
Model: &sdk.Model{ID: "mock-model", Provider: modelProvider},
Messages: []sdk.Message{sdk.UserMessage("look at the image")},
SupportsImageInput: true,
SupportsToolCall: true,
Identity: SessionContext{
BotID: "bot-1",
},
@@ -321,6 +322,7 @@ func TestAgentGenerateReadMediaInjectsAnthropicSafeImageIntoNextStep(t *testing.
Model: &sdk.Model{ID: "mock-model", Provider: modelProvider},
Messages: []sdk.Message{sdk.UserMessage("look at the image")},
SupportsImageInput: true,
SupportsToolCall: true,
Identity: SessionContext{
BotID: "bot-1",
},
@@ -367,6 +369,7 @@ func TestAgentStreamReadMediaPersistsInjectedImageInTerminalMessages(t *testing.
Model: &sdk.Model{ID: "mock-model", Provider: modelProvider},
Messages: []sdk.Message{sdk.UserMessage("look at the image")},
SupportsImageInput: true,
SupportsToolCall: true,
Identity: SessionContext{
BotID: "bot-1",
},