@koda-sl/baker-bridge 0.36.0-dev.7ebf7748-dev.7ebf7748 → 0.37.0-dev.c223fbd9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -87
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/hono/agent.d.ts +21 -18
- package/dist/hono/agent.d.ts.map +1 -1
- package/dist/hono/agent.js +233 -114
- package/dist/hono/agent.js.map +1 -1
- package/dist/hono/callback.d.ts +5 -0
- package/dist/hono/callback.d.ts.map +1 -1
- package/dist/hono/callback.js +6 -49
- package/dist/hono/callback.js.map +1 -1
- package/dist/hono/convex.d.ts +28 -5
- package/dist/hono/convex.d.ts.map +1 -1
- package/dist/hono/convex.js +212 -53
- package/dist/hono/convex.js.map +1 -1
- package/dist/hono/convex.test.d.ts +2 -0
- package/dist/hono/convex.test.d.ts.map +1 -0
- package/dist/hono/convex.test.js +90 -0
- package/dist/hono/convex.test.js.map +1 -0
- package/dist/hono/server.d.ts.map +1 -1
- package/dist/hono/server.js +7 -109
- package/dist/hono/server.js.map +1 -1
- package/dist/hono/types.d.ts +2 -17
- package/dist/hono/types.d.ts.map +1 -1
- package/package.json +3 -5
package/dist/hono/agent.js
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import { query } from "@anthropic-ai/claude-agent-sdk";
|
|
2
2
|
import { buildAttachmentPromptSuffix, downloadAttachments } from "./attachments.js";
|
|
3
|
-
import {
|
|
3
|
+
import { clearStreamBuffer, enqueueStreamingTools, enqueueStreamText, flushStream, postEvent, postInputRequest, postInputResolved, postRouterSample, signalComplete, } from "./convex.js";
|
|
4
4
|
import { selectModel } from "./model-router.js";
|
|
5
5
|
import { loadSessionId, saveSessionId } from "./session-store.js";
|
|
6
6
|
// ---------------------------------------------------------------------------
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
// Tunables
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/** No SDK output for this long → declare the agent stalled and abort. */
|
|
10
|
+
const SDK_WATCHDOG_MS = 5 * 60 * 1000;
|
|
11
|
+
/** Max wait for a previous in-flight run to drain when a new chat arrives. */
|
|
12
|
+
const REPLACE_STREAM_TIMEOUT_MS = 30_000;
|
|
13
|
+
/** Drop sessions that haven't been touched for this long (memory bound). */
|
|
14
|
+
const SESSION_IDLE_TTL_MS = 24 * 60 * 60 * 1000;
|
|
15
|
+
/** How often the eviction sweeper runs. */
|
|
16
|
+
const SESSION_SWEEP_INTERVAL_MS = 60 * 60 * 1000;
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// AgentSession — one per thread, persists across messages so SDK resume works.
|
|
12
19
|
// ---------------------------------------------------------------------------
|
|
13
20
|
class AgentSession {
|
|
14
21
|
threadId;
|
|
@@ -16,65 +23,93 @@ class AgentSession {
|
|
|
16
23
|
pendingQuestions = new Map();
|
|
17
24
|
handlerCtx;
|
|
18
25
|
options;
|
|
26
|
+
/** Identity token for the currently-running stream. abort() nulls this; if a
|
|
27
|
+
* later check sees a different value, the run knows it was abandoned. This
|
|
28
|
+
* replaces a global `aborted` flag whose reset-on-entry was racy. */
|
|
29
|
+
activeRun = null;
|
|
19
30
|
activeAbort = null;
|
|
20
|
-
|
|
31
|
+
streamingPromise = null;
|
|
32
|
+
replacingStream = false;
|
|
33
|
+
currentTurnTools = [];
|
|
34
|
+
model;
|
|
35
|
+
lastUsedAt = Date.now();
|
|
21
36
|
constructor(threadId) {
|
|
22
37
|
this.threadId = threadId;
|
|
23
|
-
this.handlerCtx = { threadId, pendingQuestions: this.pendingQuestions
|
|
38
|
+
this.handlerCtx = { threadId, pendingQuestions: this.pendingQuestions };
|
|
24
39
|
this.options = buildSessionOptions(this.handlerCtx);
|
|
25
40
|
}
|
|
41
|
+
/** Cancel any in-flight run. The next status check inside runStream will trip. */
|
|
26
42
|
abort() {
|
|
27
|
-
this.
|
|
43
|
+
this.activeRun = null;
|
|
28
44
|
if (this.activeAbort) {
|
|
29
45
|
this.activeAbort.abort();
|
|
30
46
|
this.activeAbort = null;
|
|
31
47
|
}
|
|
48
|
+
// Reject any pending questions so handleAskUserQuestion unblocks.
|
|
49
|
+
for (const [id, p] of this.pendingQuestions) {
|
|
50
|
+
this.pendingQuestions.delete(id);
|
|
51
|
+
// Fire-and-forget: the rejection will be caught by the SDK or AgentSession error path.
|
|
52
|
+
try {
|
|
53
|
+
p.resolve({});
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// ignore
|
|
57
|
+
}
|
|
58
|
+
}
|
|
32
59
|
}
|
|
33
|
-
/** Restore a previously persisted session ID (e.g. loaded from disk after restart). */
|
|
34
60
|
setSessionId(id) {
|
|
35
61
|
this.sessionId = id;
|
|
36
62
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
prompt += buildAttachmentPromptSuffix(paths);
|
|
42
|
-
}
|
|
43
|
-
if (this.aborted) {
|
|
44
|
-
callbacks.onComplete(0, true, ["Cancelled by user"], undefined);
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
const routerResult = await selectModel(prompt);
|
|
48
|
-
callbacks.onModelSelected?.(routerResult.model);
|
|
49
|
-
callbacks.onRouterSample?.(routerResult.model, routerResult.messages);
|
|
50
|
-
if (this.aborted) {
|
|
51
|
-
callbacks.onComplete(0, true, ["Cancelled by user"], routerResult.model);
|
|
52
|
-
return null;
|
|
63
|
+
resolveQuestion(toolUseId, answers) {
|
|
64
|
+
const pending = this.pendingQuestions.get(toolUseId);
|
|
65
|
+
if (!pending) {
|
|
66
|
+
return false;
|
|
53
67
|
}
|
|
54
|
-
|
|
68
|
+
pending.resolve(answers);
|
|
69
|
+
this.pendingQuestions.delete(toolUseId);
|
|
70
|
+
return true;
|
|
55
71
|
}
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
72
|
+
async sendAndStream(content, attachments) {
|
|
73
|
+
if (this.streamingPromise) {
|
|
74
|
+
this.replacingStream = true;
|
|
75
|
+
this.abort();
|
|
76
|
+
try {
|
|
77
|
+
await Promise.race([
|
|
78
|
+
this.streamingPromise,
|
|
79
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("previous stream timed out")), REPLACE_STREAM_TIMEOUT_MS)),
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
console.error(`[AgentSession] previous stream did not drain on thread ${this.threadId} — forcing reset:`, err instanceof Error ? err.message : err);
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
this.streamingPromise = null;
|
|
87
|
+
this.replacingStream = false;
|
|
88
|
+
}
|
|
61
89
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
this.streamingPromise = this.runStream(content, attachments);
|
|
91
|
+
try {
|
|
92
|
+
await this.streamingPromise;
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
this.streamingPromise = null;
|
|
66
96
|
}
|
|
67
|
-
callbacks.onComplete(costUsd, true, [message], model);
|
|
68
97
|
}
|
|
69
|
-
async
|
|
98
|
+
async runStream(content, attachments) {
|
|
99
|
+
const runToken = Symbol("agent-run");
|
|
100
|
+
this.activeRun = runToken;
|
|
101
|
+
this.lastUsedAt = Date.now();
|
|
102
|
+
this.currentTurnTools = [];
|
|
70
103
|
let costUsd = 0;
|
|
71
|
-
this.
|
|
72
|
-
this.handlerCtx.onInputRequest = callbacks.onInputRequest;
|
|
104
|
+
this.model = undefined;
|
|
73
105
|
try {
|
|
74
|
-
const prepared = await this.preparePrompt(content, attachments,
|
|
106
|
+
const prepared = await this.preparePrompt(content, attachments, runToken);
|
|
75
107
|
if (!prepared) {
|
|
108
|
+
await this.completeWithCancel(0);
|
|
76
109
|
return;
|
|
77
110
|
}
|
|
111
|
+
this.model = prepared.model;
|
|
112
|
+
void postRouterSample(this.threadId, prepared.model, prepared.routerMessages);
|
|
78
113
|
this.activeAbort = new AbortController();
|
|
79
114
|
const opts = {
|
|
80
115
|
...this.options,
|
|
@@ -83,105 +118,210 @@ class AgentSession {
|
|
|
83
118
|
...(this.sessionId && { resume: this.sessionId }),
|
|
84
119
|
};
|
|
85
120
|
const q = query({ prompt: prepared.prompt, options: opts });
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
121
|
+
let lastEventAt = Date.now();
|
|
122
|
+
const watchdog = setInterval(() => {
|
|
123
|
+
if (Date.now() - lastEventAt > SDK_WATCHDOG_MS) {
|
|
124
|
+
console.error(`[AgentSession] watchdog: no SDK event for ${SDK_WATCHDOG_MS}ms — aborting thread ${this.threadId}`);
|
|
125
|
+
clearInterval(watchdog);
|
|
126
|
+
this.activeAbort?.abort();
|
|
90
127
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
128
|
+
}, 30_000).unref();
|
|
129
|
+
try {
|
|
130
|
+
for await (const msg of q) {
|
|
131
|
+
lastEventAt = Date.now();
|
|
132
|
+
this.lastUsedAt = lastEventAt;
|
|
133
|
+
if (this.activeRun !== runToken) {
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
if (msg.session_id) {
|
|
137
|
+
this.sessionId = msg.session_id;
|
|
138
|
+
void saveSessionId(this.threadId, msg.session_id);
|
|
139
|
+
}
|
|
140
|
+
await this.handleMessage(msg);
|
|
141
|
+
if (msg.type === "result") {
|
|
142
|
+
costUsd = msg.total_cost_usd;
|
|
143
|
+
}
|
|
94
144
|
}
|
|
95
145
|
}
|
|
146
|
+
finally {
|
|
147
|
+
clearInterval(watchdog);
|
|
148
|
+
}
|
|
96
149
|
this.activeAbort = null;
|
|
97
|
-
if (this.
|
|
98
|
-
|
|
150
|
+
if (this.activeRun !== runToken) {
|
|
151
|
+
await this.completeWithCancel(costUsd);
|
|
99
152
|
return;
|
|
100
153
|
}
|
|
101
154
|
if (this.pendingQuestions.size > 0) {
|
|
102
155
|
console.warn(`[AgentSession] SDK completed but ${String(this.pendingQuestions.size)} question(s) still pending on thread ${this.threadId}`);
|
|
103
156
|
}
|
|
104
|
-
|
|
157
|
+
await signalComplete(this.threadId, costUsd, false, undefined, this.model);
|
|
105
158
|
}
|
|
106
159
|
catch (error) {
|
|
107
|
-
this.
|
|
160
|
+
await this.completeWithError(costUsd, error, runToken);
|
|
108
161
|
}
|
|
109
162
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return
|
|
163
|
+
handleStreamEvent(event) {
|
|
164
|
+
if (event.type === "message_start") {
|
|
165
|
+
this.currentTurnTools = [];
|
|
166
|
+
return;
|
|
114
167
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
168
|
+
if (event.type === "content_block_start") {
|
|
169
|
+
this.handleContentBlockStart(event);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (event.type === "content_block_delta") {
|
|
173
|
+
const delta = event.delta;
|
|
174
|
+
if (delta?.type === "text_delta" && typeof delta.text === "string") {
|
|
175
|
+
enqueueStreamText(this.threadId, delta.text);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
handleContentBlockStart(event) {
|
|
180
|
+
const block = event.content_block;
|
|
181
|
+
if (block?.type !== "tool_use") {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const tool = {
|
|
185
|
+
toolUseId: block.id ?? "",
|
|
186
|
+
toolName: block.name ?? "",
|
|
187
|
+
startedAt: Date.now(),
|
|
188
|
+
};
|
|
189
|
+
if (block.input && typeof block.input === "object") {
|
|
190
|
+
tool.input = block.input;
|
|
191
|
+
}
|
|
192
|
+
this.currentTurnTools = [...this.currentTurnTools, tool];
|
|
193
|
+
enqueueStreamingTools(this.threadId, this.currentTurnTools);
|
|
194
|
+
}
|
|
195
|
+
async handleMessage(msg) {
|
|
196
|
+
if (msg.type === "stream_event") {
|
|
197
|
+
const event = msg.event;
|
|
198
|
+
if (event) {
|
|
199
|
+
this.handleStreamEvent(event);
|
|
200
|
+
}
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (msg.type === "assistant") {
|
|
204
|
+
// Persisted message — the mutation clears streamingState, so the UI snaps
|
|
205
|
+
// from preview to persisted text in a single Convex update.
|
|
206
|
+
this.currentTurnTools = [];
|
|
207
|
+
await postEvent(this.threadId, msg, this.model);
|
|
208
|
+
}
|
|
209
|
+
// system / result messages are not persisted; result.cost_usd is captured above.
|
|
210
|
+
}
|
|
211
|
+
async preparePrompt(content, attachments, runToken) {
|
|
212
|
+
let prompt = content;
|
|
213
|
+
if (attachments && attachments.length > 0) {
|
|
214
|
+
const paths = await downloadAttachments(attachments);
|
|
215
|
+
prompt += buildAttachmentPromptSuffix(paths);
|
|
216
|
+
}
|
|
217
|
+
if (this.activeRun !== runToken) {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
const routerResult = await selectModel(prompt);
|
|
221
|
+
if (this.activeRun !== runToken) {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
return { prompt, model: routerResult.model, routerMessages: routerResult.messages };
|
|
225
|
+
}
|
|
226
|
+
async completeWithCancel(costUsd) {
|
|
227
|
+
// Don't fire signalComplete if we're being replaced by another stream — the
|
|
228
|
+
// new stream's signalComplete will run instead, and the cancelThread mutation
|
|
229
|
+
// already flipped the thread. (Convex completeThread is idempotent regardless.)
|
|
230
|
+
await flushStream(this.threadId);
|
|
231
|
+
clearStreamBuffer(this.threadId);
|
|
232
|
+
if (this.replacingStream) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
await signalComplete(this.threadId, costUsd, true, ["Cancelled by user"], this.model);
|
|
236
|
+
}
|
|
237
|
+
async completeWithError(costUsd, error, runToken) {
|
|
238
|
+
this.activeAbort = null;
|
|
239
|
+
if (this.activeRun !== runToken) {
|
|
240
|
+
await this.completeWithCancel(costUsd);
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const message = error instanceof Error ? error.message : "Unknown error";
|
|
244
|
+
console.error("Agent session error:", message);
|
|
245
|
+
if (this.pendingQuestions.size > 0) {
|
|
246
|
+
console.warn(`[AgentSession] SDK errored with ${String(this.pendingQuestions.size)} question(s) still pending on thread ${this.threadId}`);
|
|
247
|
+
}
|
|
248
|
+
await signalComplete(this.threadId, costUsd, true, [message], this.model);
|
|
118
249
|
}
|
|
119
250
|
}
|
|
120
|
-
// ---------------------------------------------------------------------------
|
|
121
|
-
// Session registry — shared across WS and async paths
|
|
122
|
-
// ---------------------------------------------------------------------------
|
|
123
|
-
const sessions = new Map();
|
|
124
251
|
async function handleAskUserQuestion(input, toolUseID, ctx, signal) {
|
|
125
252
|
console.warn(`[AskUserQuestion] blocking for ${toolUseID} on thread ${ctx.threadId}`);
|
|
126
|
-
ctx.
|
|
127
|
-
const posted = await postToConvex("/api/chat/input-request", {
|
|
128
|
-
threadId: ctx.threadId,
|
|
129
|
-
toolUseId: toolUseID,
|
|
130
|
-
questions: input.questions,
|
|
131
|
-
});
|
|
253
|
+
const posted = await postInputRequest(ctx.threadId, toolUseID, input.questions);
|
|
132
254
|
if (!posted) {
|
|
133
255
|
console.error(`[AskUserQuestion] failed to post input-request for ${toolUseID} — frontend may not show question UI`);
|
|
134
256
|
}
|
|
135
257
|
const answers = await new Promise((resolve, reject) => {
|
|
136
258
|
if (signal?.aborted) {
|
|
137
|
-
console.warn(`[AskUserQuestion] ${toolUseID} signal already aborted`);
|
|
138
259
|
reject(new Error("AskUserQuestion aborted before awaiting answer"));
|
|
139
260
|
return;
|
|
140
261
|
}
|
|
141
262
|
ctx.pendingQuestions.set(toolUseID, { resolve });
|
|
142
263
|
signal?.addEventListener("abort", () => {
|
|
143
264
|
ctx.pendingQuestions.delete(toolUseID);
|
|
144
|
-
console.warn(`[AskUserQuestion] ${toolUseID} aborted by SDK signal`);
|
|
145
265
|
reject(new Error("AskUserQuestion aborted"));
|
|
146
266
|
}, { once: true });
|
|
147
267
|
});
|
|
148
268
|
console.warn(`[AskUserQuestion] ${toolUseID} answered, resuming`);
|
|
149
|
-
void
|
|
269
|
+
void postInputResolved(ctx.threadId);
|
|
150
270
|
return {
|
|
151
271
|
behavior: "allow",
|
|
152
272
|
updatedInput: { questions: input.questions, answers },
|
|
153
273
|
};
|
|
154
274
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Build SDK options with settingSources, cwd, and canUseTool dispatcher.
|
|
160
|
-
* No permissionMode — the CLI routes every tool through canUseTool via
|
|
161
|
-
* --permission-prompt-tool stdio. Our callback returns "allow" for
|
|
162
|
-
* everything except AskUserQuestion (which awaits user answers).
|
|
163
|
-
*/
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
276
|
+
// SDK Options factory
|
|
277
|
+
// ---------------------------------------------------------------------------
|
|
164
278
|
function buildSessionOptions(handlerCtx) {
|
|
165
279
|
return {
|
|
166
280
|
cwd: process.cwd(),
|
|
167
281
|
settingSources: ["project"],
|
|
168
282
|
includePartialMessages: true,
|
|
169
|
-
canUseTool:
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
return await handler(input, opts.toolUseID, handlerCtx, opts.signal);
|
|
283
|
+
canUseTool: (toolName, input, opts) => {
|
|
284
|
+
if (toolName === "AskUserQuestion") {
|
|
285
|
+
return handleAskUserQuestion(input, opts.toolUseID, handlerCtx, opts.signal);
|
|
173
286
|
}
|
|
174
|
-
return { behavior: "allow", updatedInput: input };
|
|
287
|
+
return Promise.resolve({ behavior: "allow", updatedInput: input });
|
|
175
288
|
},
|
|
176
289
|
};
|
|
177
290
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
291
|
+
// ---------------------------------------------------------------------------
|
|
292
|
+
// Session registry — bounded by TTL eviction so a long-lived bridge can't leak.
|
|
293
|
+
// ---------------------------------------------------------------------------
|
|
294
|
+
const sessions = new Map();
|
|
295
|
+
setInterval(() => {
|
|
296
|
+
const cutoff = Date.now() - SESSION_IDLE_TTL_MS;
|
|
297
|
+
for (const [id, session] of sessions) {
|
|
298
|
+
if (session.lastUsedAt < cutoff) {
|
|
299
|
+
sessions.delete(id);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}, SESSION_SWEEP_INTERVAL_MS).unref();
|
|
303
|
+
export async function getOrCreateSession(threadId) {
|
|
304
|
+
const existing = sessions.get(threadId);
|
|
305
|
+
if (existing) {
|
|
306
|
+
existing.lastUsedAt = Date.now();
|
|
307
|
+
return existing;
|
|
308
|
+
}
|
|
309
|
+
const session = new AgentSession(threadId);
|
|
310
|
+
const savedSessionId = await loadSessionId(threadId);
|
|
311
|
+
if (savedSessionId) {
|
|
312
|
+
session.setSessionId(savedSessionId);
|
|
313
|
+
}
|
|
314
|
+
sessions.set(threadId, session);
|
|
315
|
+
return session;
|
|
316
|
+
}
|
|
317
|
+
export function abortSession(threadId) {
|
|
318
|
+
const session = sessions.get(threadId);
|
|
319
|
+
if (!session) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
session.abort();
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
185
325
|
// ---------------------------------------------------------------------------
|
|
186
326
|
// Slash commands — cached introspection of available skills
|
|
187
327
|
// ---------------------------------------------------------------------------
|
|
@@ -212,25 +352,4 @@ export async function getSlashCommands() {
|
|
|
212
352
|
pendingFetch = null;
|
|
213
353
|
}
|
|
214
354
|
}
|
|
215
|
-
export function abortSession(threadId) {
|
|
216
|
-
const session = sessions.get(threadId);
|
|
217
|
-
if (!session) {
|
|
218
|
-
return false;
|
|
219
|
-
}
|
|
220
|
-
session.abort();
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
|
-
export async function getOrCreateSession(threadId) {
|
|
224
|
-
const existing = sessions.get(threadId);
|
|
225
|
-
if (existing) {
|
|
226
|
-
return existing;
|
|
227
|
-
}
|
|
228
|
-
const session = new AgentSession(threadId);
|
|
229
|
-
const savedSessionId = await loadSessionId(threadId);
|
|
230
|
-
if (savedSessionId) {
|
|
231
|
-
session.setSessionId(savedSessionId);
|
|
232
|
-
}
|
|
233
|
-
sessions.set(threadId, session);
|
|
234
|
-
return session;
|
|
235
|
-
}
|
|
236
355
|
//# sourceMappingURL=agent.js.map
|
package/dist/hono/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/hono/callback.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { AsyncMessageRequest } from "./types.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Process a chat message dispatched via /message/async. The session writes
|
|
4
|
+
* stream deltas, persisted events, and completion directly to Convex; nothing
|
|
5
|
+
* needs to be returned because Convex is the source of truth for the UI.
|
|
6
|
+
*/
|
|
2
7
|
export declare function processAsync(request: AsyncMessageRequest): Promise<void>;
|
|
3
8
|
//# sourceMappingURL=callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/hono/callback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/hono/callback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9E"}
|
package/dist/hono/callback.js
CHANGED
|
@@ -1,55 +1,12 @@
|
|
|
1
1
|
import { getOrCreateSession } from "./agent.js";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Process a chat message dispatched via /message/async. The session writes
|
|
4
|
+
* stream deltas, persisted events, and completion directly to Convex; nothing
|
|
5
|
+
* needs to be returned because Convex is the source of truth for the UI.
|
|
6
|
+
*/
|
|
3
7
|
export async function processAsync(request) {
|
|
4
8
|
const { prompt, threadId, attachments } = request;
|
|
5
|
-
// Use the shared registry — same session across async and WS paths
|
|
6
9
|
const session = await getOrCreateSession(threadId);
|
|
7
|
-
|
|
8
|
-
try {
|
|
9
|
-
await session.sendAndStream(prompt, {
|
|
10
|
-
onModelSelected: (m) => {
|
|
11
|
-
selectedModel = m;
|
|
12
|
-
},
|
|
13
|
-
onRouterSample: (model, messages) => {
|
|
14
|
-
void postToConvex("/api/chat/router-sample", {
|
|
15
|
-
threadId,
|
|
16
|
-
model,
|
|
17
|
-
messages: JSON.stringify(messages),
|
|
18
|
-
});
|
|
19
|
-
},
|
|
20
|
-
onMessage: (msg) => {
|
|
21
|
-
if (msg.type !== "stream_event") {
|
|
22
|
-
if (isAlreadyPosted(threadId, msg)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
void postToConvex("/api/chat/event", {
|
|
26
|
-
threadId,
|
|
27
|
-
event: msg,
|
|
28
|
-
...(selectedModel && { model: selectedModel }),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
onInputRequest: () => {
|
|
33
|
-
// Convex notification is handled inside handleAskUserQuestion directly
|
|
34
|
-
},
|
|
35
|
-
onComplete: async (costUsd, isError, errors, model) => {
|
|
36
|
-
clearPostedUuids(threadId);
|
|
37
|
-
const ok = await postToConvex("/api/chat/complete", {
|
|
38
|
-
threadId,
|
|
39
|
-
isError,
|
|
40
|
-
costUsd,
|
|
41
|
-
...(errors && { errors }),
|
|
42
|
-
...(model && { model }),
|
|
43
|
-
});
|
|
44
|
-
if (!ok) {
|
|
45
|
-
console.error(`Thread ${threadId} completion callback failed — message may be stuck until cron cleanup`);
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
}, attachments);
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
clearPostedUuids(threadId);
|
|
52
|
-
throw err;
|
|
53
|
-
}
|
|
10
|
+
await session.sendAndStream(prompt, attachments);
|
|
54
11
|
}
|
|
55
12
|
//# sourceMappingURL=callback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/hono/callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/hono/callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACnD,CAAC"}
|
package/dist/hono/convex.d.ts
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
import type { SDKMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
interface StreamingTool {
|
|
3
|
+
toolUseId: string;
|
|
4
|
+
toolName: string;
|
|
5
|
+
input?: Record<string, unknown>;
|
|
6
|
+
startedAt: number;
|
|
7
|
+
}
|
|
8
|
+
export declare function enqueueStreamText(threadId: string, delta: string): void;
|
|
9
|
+
export declare function enqueueStreamingTools(threadId: string, tools: StreamingTool[]): void;
|
|
10
|
+
/** Force-drain the buffer to Convex and wait for the round-trip. */
|
|
11
|
+
export declare function flushStream(threadId: string): Promise<void>;
|
|
12
|
+
/** Drop any buffered preview without flushing — call after stream end. */
|
|
13
|
+
export declare function clearStreamBuffer(threadId: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Persist an assistant event. Drains any in-flight stream preview first so
|
|
16
|
+
* Convex sees [..stream..][event] in order; the mutation clears streamingState
|
|
17
|
+
* inline so the UI snaps from preview to persisted text without a flicker.
|
|
18
|
+
*
|
|
19
|
+
* Non-assistant events (system, result) are not persisted.
|
|
20
|
+
*/
|
|
21
|
+
export declare function postEvent(threadId: string, message: SDKMessage, model?: string): Promise<boolean>;
|
|
22
|
+
export declare function postRouterSample(threadId: string, model: string, messages: Array<{
|
|
23
|
+
role: string;
|
|
24
|
+
content: string;
|
|
25
|
+
}>): Promise<void>;
|
|
26
|
+
export declare function postInputRequest(threadId: string, toolUseId: string, questions: unknown): Promise<boolean>;
|
|
27
|
+
export declare function postInputResolved(threadId: string): Promise<boolean>;
|
|
28
|
+
export declare function signalComplete(threadId: string, costUsd: number, isError: boolean, errors?: string[], model?: string): Promise<boolean>;
|
|
29
|
+
export {};
|
|
7
30
|
//# sourceMappingURL=convex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.d.ts","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convex.d.ts","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA0HjE,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB;AAiED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAWvE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAIpF;AAED,oEAAoE;AACpE,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjE;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMxD;AAMD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUvG;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|