diff options
| author | Adam Malczewski <[email protected]> | 2026-05-19 21:29:08 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-19 21:29:08 +0900 |
| commit | 0ae805b28b5160b8d9fb43635fa172961f6550cc (patch) | |
| tree | e9fb7cbad0755cd7608ea56012c986a4a47b2aaf /packages/core/src | |
| parent | de6df4abdd8a6eb9a0217050ce17e0925f04602b (diff) | |
| download | dispatch-0ae805b28b5160b8d9fb43635fa172961f6550cc.tar.gz dispatch-0ae805b28b5160b8d9fb43635fa172961f6550cc.zip | |
feat: inline tool display and thinking/reasoning support
- Tool calls now appear at their stream position within messages (ContentSegment model)
- Added reasoning/thinking display: collapsible <details> block above content
- Set DeepSeek V4 Flash reasoningEffort to max via providerOptions
- ChatMessage.content changed from string to ContentSegment[] (text | tool-call)
- Agent handles AI SDK reasoning events, yields reasoning-delta
- Fixed duplicate key in ChatMessage.svelte each block
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/agent/agent.ts | 5 | ||||
| -rw-r--r-- | packages/core/src/types/index.ts | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/packages/core/src/agent/agent.ts b/packages/core/src/agent/agent.ts index c28d691..8e89bb9 100644 --- a/packages/core/src/agent/agent.ts +++ b/packages/core/src/agent/agent.ts @@ -80,6 +80,9 @@ export class Agent { messages: toCoreMessages(this.messages), tools: registry.getAISDKTools(), maxSteps: 10, + providerOptions: { + openaiCompatible: { reasoningEffort: "max" }, + }, }); let fullText = ""; @@ -90,6 +93,8 @@ export class Agent { if (event.type === "text-delta") { fullText += event.textDelta; yield { type: "text-delta", delta: event.textDelta }; + } else if (event.type === "reasoning") { + yield { type: "reasoning-delta", delta: event.textDelta }; } else if (event.type === "tool-call") { const toolCall: ToolCall = { id: event.toolCallId, diff --git a/packages/core/src/types/index.ts b/packages/core/src/types/index.ts index a408e7d..28e79ae 100644 --- a/packages/core/src/types/index.ts +++ b/packages/core/src/types/index.ts @@ -29,6 +29,7 @@ export type AgentStatus = "idle" | "running" | "error"; export type AgentEvent = | { type: "status"; status: AgentStatus } | { type: "text-delta"; delta: string } + | { type: "reasoning-delta"; delta: string } | { type: "tool-call"; toolCall: ToolCall } | { type: "tool-result"; toolResult: ToolResult } | { type: "error"; error: string } |
