summaryrefslogtreecommitdiffhomepage
path: root/packages/core/src
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-05-19 21:29:08 +0900
committerAdam Malczewski <[email protected]>2026-05-19 21:29:08 +0900
commit0ae805b28b5160b8d9fb43635fa172961f6550cc (patch)
treee9fb7cbad0755cd7608ea56012c986a4a47b2aaf /packages/core/src
parentde6df4abdd8a6eb9a0217050ce17e0925f04602b (diff)
downloaddispatch-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.ts5
-rw-r--r--packages/core/src/types/index.ts1
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 }