@polpo-ai/server 0.4.10 → 0.5.0
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.
|
@@ -13,13 +13,30 @@
|
|
|
13
13
|
* - **Agent-direct mode** (`agent` field): The caller talks directly to a
|
|
14
14
|
* specific agent. The agent uses its own model, system prompt, and coding
|
|
15
15
|
* tools — bypassing the orchestrator entirely.
|
|
16
|
+
*
|
|
17
|
+
* LLM calls use Vercel AI SDK's streamText/generateText directly.
|
|
18
|
+
* Tools are passed WITHOUT execute functions — execution is manual via
|
|
19
|
+
* the effectiveToolExecutor callback from deps.
|
|
16
20
|
*/
|
|
17
21
|
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
22
|
+
import { type LanguageModel } from "ai";
|
|
23
|
+
/**
|
|
24
|
+
* Minimal model info needed by the completions route.
|
|
25
|
+
* Matches the shape returned by resolveAgentModel.
|
|
26
|
+
*/
|
|
27
|
+
interface ResolvedModelInfo {
|
|
28
|
+
aiModel: LanguageModel;
|
|
29
|
+
provider: string;
|
|
30
|
+
contextWindow: number;
|
|
31
|
+
maxTokens: number;
|
|
32
|
+
}
|
|
18
33
|
/**
|
|
19
34
|
* Completion route dependencies.
|
|
20
35
|
*
|
|
21
36
|
* The consumer provides LLM resolution and tool creation — this allows
|
|
22
37
|
* the route to run on any runtime (Node.js with full tools, or edge with no tools).
|
|
38
|
+
*
|
|
39
|
+
* LLM streaming is handled directly via AI SDK streamText/generateText.
|
|
23
40
|
*/
|
|
24
41
|
export interface CompletionRouteDeps {
|
|
25
42
|
getAgents: () => Promise<any[]>;
|
|
@@ -29,10 +46,10 @@ export interface CompletionRouteDeps {
|
|
|
29
46
|
getAttachmentStore: () => any;
|
|
30
47
|
getStore: () => any;
|
|
31
48
|
emit: (event: string, data: any) => void;
|
|
32
|
-
/** Resolve agent model
|
|
49
|
+
/** Resolve agent model. Must return an object with aiModel (LanguageModel), provider, contextWindow, maxTokens, and providerOptions. */
|
|
33
50
|
resolveAgentModel: (agentConfig: any, settingsReasoning?: string) => Promise<{
|
|
34
|
-
model:
|
|
35
|
-
|
|
51
|
+
model: ResolvedModelInfo;
|
|
52
|
+
providerOptions?: Record<string, any>;
|
|
36
53
|
}>;
|
|
37
54
|
/** Build agent system prompt for conversational mode. */
|
|
38
55
|
buildAgentPrompt: (agentConfig: any) => string | Promise<string>;
|
|
@@ -41,21 +58,16 @@ export interface CompletionRouteDeps {
|
|
|
41
58
|
tools: any[];
|
|
42
59
|
executor: (name: string, args: Record<string, unknown>) => Promise<string>;
|
|
43
60
|
}>;
|
|
44
|
-
/** LLM streaming function (streamSimple from pi-ai). */
|
|
45
|
-
streamLLM: (model: any, opts: {
|
|
46
|
-
systemPrompt: string;
|
|
47
|
-
messages: any[];
|
|
48
|
-
tools: any[];
|
|
49
|
-
}, streamOpts: any) => any;
|
|
50
61
|
/** Orchestrator mode support (optional — returns 501 if not provided). */
|
|
51
62
|
resolveOrchestratorContext?: () => Promise<{
|
|
52
63
|
systemPrompt: string;
|
|
53
|
-
model:
|
|
54
|
-
|
|
64
|
+
model: ResolvedModelInfo;
|
|
65
|
+
providerOptions?: Record<string, any>;
|
|
55
66
|
tools: any[];
|
|
56
67
|
executor: (name: string, args: Record<string, unknown>) => Promise<string>;
|
|
57
68
|
isInteractive: (name: string) => boolean;
|
|
58
69
|
}>;
|
|
59
70
|
}
|
|
60
71
|
export declare function completionRoutes(getDeps: () => CompletionRouteDeps, apiKeys?: string[]): OpenAPIHono;
|
|
72
|
+
export {};
|
|
61
73
|
//# sourceMappingURL=completions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAIhE,OAAO,EAAwC,KAAK,aAAa,EAA2B,MAAM,IAAI,CAAC;AAsWvG;;;GAGG;AACH,UAAU,iBAAiB;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,CAAC;IACpB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACzC,wIAAwI;IACxI,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAC3E,KAAK,EAAE,iBAAiB,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC,CAAC;IACH,yDAAyD;IACzD,gBAAgB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,gFAAgF;IAChF,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC;QAC/C,KAAK,EAAE,GAAG,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAC5E,CAAC,CAAC;IACH,0EAA0E;IAC1E,0BAA0B,CAAC,EAAE,MAAM,OAAO,CAAC;QACzC,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,iBAAiB,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtC,KAAK,EAAE,GAAG,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3E,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;KAC1C,CAAC,CAAC;CACJ;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CA8pBpG"}
|
|
@@ -13,11 +13,16 @@
|
|
|
13
13
|
* - **Agent-direct mode** (`agent` field): The caller talks directly to a
|
|
14
14
|
* specific agent. The agent uses its own model, system prompt, and coding
|
|
15
15
|
* tools — bypassing the orchestrator entirely.
|
|
16
|
+
*
|
|
17
|
+
* LLM calls use Vercel AI SDK's streamText/generateText directly.
|
|
18
|
+
* Tools are passed WITHOUT execute functions — execution is manual via
|
|
19
|
+
* the effectiveToolExecutor callback from deps.
|
|
16
20
|
*/
|
|
17
21
|
import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
|
|
18
22
|
import { streamSSE } from "hono/streaming";
|
|
19
23
|
import { nanoid } from "nanoid";
|
|
20
24
|
import { agentMemoryScope, compactIfNeeded } from "@polpo-ai/core";
|
|
25
|
+
import { streamText, generateText, jsonSchema } from "ai";
|
|
21
26
|
const MAX_TURNS = 20;
|
|
22
27
|
/** Tools that write/modify files — emit file:changed after successful execution */
|
|
23
28
|
const FILE_WRITE_TOOLS = {
|
|
@@ -183,7 +188,7 @@ function extractText(content) {
|
|
|
183
188
|
.map((p) => p.text)
|
|
184
189
|
.join("\n");
|
|
185
190
|
}
|
|
186
|
-
/** Resolve file content parts → text references. Called before
|
|
191
|
+
/** Resolve file content parts → text references. Called before toAIContent to inject attachment paths. */
|
|
187
192
|
async function resolveFileContentParts(content, attachmentStore, sessionId) {
|
|
188
193
|
if (typeof content === "string" || !content.some((p) => p.type === "file"))
|
|
189
194
|
return content;
|
|
@@ -214,8 +219,13 @@ async function resolveFileContentParts(content, attachmentStore, sessionId) {
|
|
|
214
219
|
}
|
|
215
220
|
return resolved;
|
|
216
221
|
}
|
|
217
|
-
/**
|
|
218
|
-
|
|
222
|
+
/**
|
|
223
|
+
* Convert OpenAI-format content to AI SDK UserContent.
|
|
224
|
+
*
|
|
225
|
+
* AI SDK ImagePart: { type: "image", image: DataContent | URL, mediaType?: string }
|
|
226
|
+
* AI SDK TextPart: { type: "text", text: string }
|
|
227
|
+
*/
|
|
228
|
+
function toAIContent(content) {
|
|
219
229
|
if (typeof content === "string")
|
|
220
230
|
return content;
|
|
221
231
|
// Check if there are any image parts
|
|
@@ -224,7 +234,7 @@ function toPiContent(content) {
|
|
|
224
234
|
// Text-only array → flatten to plain string
|
|
225
235
|
return content.map((p) => p.text).join("\n");
|
|
226
236
|
}
|
|
227
|
-
// Mixed content → convert to
|
|
237
|
+
// Mixed content → convert to AI SDK TextPart | ImagePart array
|
|
228
238
|
return content.map((p) => {
|
|
229
239
|
if (p.type === "text") {
|
|
230
240
|
return { type: "text", text: p.text };
|
|
@@ -233,35 +243,38 @@ function toPiContent(content) {
|
|
|
233
243
|
const url = p.image_url.url;
|
|
234
244
|
const match = url.match(/^data:([^;]+);base64,(.+)$/);
|
|
235
245
|
if (match) {
|
|
236
|
-
return { type: "image",
|
|
246
|
+
return { type: "image", image: match[2], mediaType: match[1] };
|
|
237
247
|
}
|
|
238
|
-
return { type: "image",
|
|
248
|
+
return { type: "image", image: url, mediaType: "image/png" };
|
|
239
249
|
}
|
|
240
250
|
// file parts should have been resolved by resolveFileContentParts already
|
|
241
251
|
return { type: "text", text: "" };
|
|
242
252
|
}).filter((p) => p.type !== "text" || p.text !== "");
|
|
243
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Convert OpenAI-format messages from the request into AI SDK ModelMessage format.
|
|
256
|
+
*
|
|
257
|
+
* - System messages → extracted as extra context (appended to system prompt)
|
|
258
|
+
* - User messages → { role: "user", content } with AI SDK content parts
|
|
259
|
+
* - Assistant messages → { role: "assistant", content: string }
|
|
260
|
+
*/
|
|
244
261
|
async function convertMessages(messages, attachmentStore, sessionId) {
|
|
245
|
-
const
|
|
262
|
+
const aiMessages = [];
|
|
246
263
|
const extraSystemParts = [];
|
|
247
264
|
for (const msg of messages) {
|
|
248
265
|
if (msg.role === "system") {
|
|
249
266
|
extraSystemParts.push(extractText(msg.content));
|
|
250
267
|
}
|
|
251
268
|
else if (msg.role === "user") {
|
|
252
|
-
// Resolve file content parts → text references (only in the
|
|
269
|
+
// Resolve file content parts → text references (only in the AI SDK message, not persisted)
|
|
253
270
|
const resolvedContent = await resolveFileContentParts(msg.content, attachmentStore, sessionId ?? null);
|
|
254
|
-
|
|
271
|
+
aiMessages.push({ role: "user", content: toAIContent(resolvedContent) });
|
|
255
272
|
}
|
|
256
273
|
else if (msg.role === "assistant") {
|
|
257
|
-
|
|
258
|
-
role: "user",
|
|
259
|
-
content: `[Previous assistant response]\n${extractText(msg.content)}\n[End previous response]`,
|
|
260
|
-
timestamp: Date.now(),
|
|
261
|
-
});
|
|
274
|
+
aiMessages.push({ role: "assistant", content: extractText(msg.content) });
|
|
262
275
|
}
|
|
263
276
|
}
|
|
264
|
-
return {
|
|
277
|
+
return { aiMessages, extraSystemParts };
|
|
265
278
|
}
|
|
266
279
|
function sseChunk(id, delta, finishReason = null, extra) {
|
|
267
280
|
return JSON.stringify({
|
|
@@ -278,26 +291,21 @@ function sseChunk(id, delta, finishReason = null, extra) {
|
|
|
278
291
|
});
|
|
279
292
|
}
|
|
280
293
|
/**
|
|
281
|
-
* Build a SummarizeFn
|
|
282
|
-
*
|
|
294
|
+
* Build a SummarizeFn using AI SDK's generateText.
|
|
295
|
+
* Used by context compaction to summarize conversation history.
|
|
283
296
|
*/
|
|
284
|
-
function buildSummarizeFn(
|
|
297
|
+
function buildSummarizeFn(m, providerOptions) {
|
|
285
298
|
return async (msgs, prompt) => {
|
|
286
|
-
const
|
|
287
|
-
|
|
299
|
+
const result = await generateText({
|
|
300
|
+
model: m.aiModel,
|
|
301
|
+
system: prompt,
|
|
288
302
|
messages: msgs,
|
|
289
|
-
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
for await (const event of piStream) {
|
|
293
|
-
if (event.type === "text_delta") {
|
|
294
|
-
text += event.delta;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
return text.trim();
|
|
303
|
+
providerOptions,
|
|
304
|
+
});
|
|
305
|
+
return result.text.trim();
|
|
298
306
|
};
|
|
299
307
|
}
|
|
300
|
-
function completionResponse(id, content,
|
|
308
|
+
function completionResponse(id, content, usage) {
|
|
301
309
|
return {
|
|
302
310
|
id,
|
|
303
311
|
object: "chat.completion",
|
|
@@ -309,12 +317,26 @@ function completionResponse(id, content, promptTokens, completionTokens) {
|
|
|
309
317
|
finish_reason: "stop",
|
|
310
318
|
}],
|
|
311
319
|
usage: {
|
|
312
|
-
prompt_tokens:
|
|
313
|
-
completion_tokens:
|
|
314
|
-
total_tokens:
|
|
320
|
+
prompt_tokens: usage.inputTokens ?? 0,
|
|
321
|
+
completion_tokens: usage.outputTokens ?? 0,
|
|
322
|
+
total_tokens: usage.totalTokens ?? 0,
|
|
315
323
|
},
|
|
316
324
|
};
|
|
317
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Convert Polpo tools to AI SDK tool format (without execute functions).
|
|
328
|
+
*
|
|
329
|
+
* AI SDK tools: Record<string, { description, inputSchema }>
|
|
330
|
+
* Tools without execute are "manual" — tool calls are returned but not auto-executed.
|
|
331
|
+
*/
|
|
332
|
+
function toAITools(tools) {
|
|
333
|
+
if (!tools.length)
|
|
334
|
+
return {};
|
|
335
|
+
return Object.fromEntries(tools.map(t => [t.name, {
|
|
336
|
+
description: t.description,
|
|
337
|
+
inputSchema: jsonSchema(t.parameters),
|
|
338
|
+
}]));
|
|
339
|
+
}
|
|
318
340
|
export function completionRoutes(getDeps, apiKeys) {
|
|
319
341
|
const app = new OpenAPIHono();
|
|
320
342
|
app.openapi(chatCompletionsRoute, async (c) => {
|
|
@@ -333,13 +355,13 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
333
355
|
// ── Resolve effective context (orchestrator vs agent-direct) ──
|
|
334
356
|
let fullSystemPrompt;
|
|
335
357
|
let m;
|
|
336
|
-
let
|
|
358
|
+
let providerOpts;
|
|
337
359
|
let effectiveTools;
|
|
338
360
|
let effectiveToolExecutor;
|
|
339
361
|
let isInteractiveFn;
|
|
340
362
|
const attachmentStore = deps.getAttachmentStore();
|
|
341
363
|
const rawSessionId = c.req.header("x-session-id") ?? null;
|
|
342
|
-
const {
|
|
364
|
+
const { aiMessages, extraSystemParts } = await convertMessages(body.messages, attachmentStore, rawSessionId);
|
|
343
365
|
if (agentMode) {
|
|
344
366
|
// ── Agent-direct mode ──
|
|
345
367
|
const agents = await deps.getAgents();
|
|
@@ -376,7 +398,7 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
376
398
|
return c.json({ error: { message: msg, type: "invalid_request_error" } }, 400);
|
|
377
399
|
}
|
|
378
400
|
m = resolved.model;
|
|
379
|
-
|
|
401
|
+
providerOpts = resolved.providerOptions;
|
|
380
402
|
// Resolve tools via dep
|
|
381
403
|
const { tools, executor } = await deps.resolveAgentTools(agentConfig);
|
|
382
404
|
effectiveTools = tools;
|
|
@@ -394,7 +416,7 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
394
416
|
? `${ctx.systemPrompt}\n\n## Additional context from caller\n\n${extraSystemParts.join("\n\n")}`
|
|
395
417
|
: ctx.systemPrompt;
|
|
396
418
|
m = ctx.model;
|
|
397
|
-
|
|
419
|
+
providerOpts = ctx.providerOptions;
|
|
398
420
|
effectiveTools = ctx.tools;
|
|
399
421
|
effectiveToolExecutor = ctx.executor;
|
|
400
422
|
isInteractiveFn = ctx.isInteractive;
|
|
@@ -424,6 +446,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
424
446
|
if (sessionId) {
|
|
425
447
|
c.header("x-session-id", sessionId);
|
|
426
448
|
}
|
|
449
|
+
// Convert Polpo tools to AI SDK format (no execute — manual execution)
|
|
450
|
+
const aiTools = toAITools(effectiveTools);
|
|
427
451
|
if (body.stream) {
|
|
428
452
|
// ── Streaming mode ──
|
|
429
453
|
return streamSSE(c, async (stream) => {
|
|
@@ -438,8 +462,9 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
438
462
|
const placeholder = await sessionStore.addMessage(sessionId, "assistant", "");
|
|
439
463
|
assistantMsgId = placeholder.id;
|
|
440
464
|
}
|
|
441
|
-
const messages = [...
|
|
465
|
+
const messages = [...aiMessages];
|
|
442
466
|
let finalText = "";
|
|
467
|
+
let totalUsage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
|
|
443
468
|
const toolCallsAccum = [];
|
|
444
469
|
try {
|
|
445
470
|
for (let turn = 0; turn < MAX_TURNS; turn++) {
|
|
@@ -456,7 +481,7 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
456
481
|
contextWindow: m.contextWindow ?? 200_000,
|
|
457
482
|
maxOutputTokens: m.maxTokens ?? 8192,
|
|
458
483
|
},
|
|
459
|
-
summarize: buildSummarizeFn(
|
|
484
|
+
summarize: buildSummarizeFn(m, providerOpts),
|
|
460
485
|
mode: "chat",
|
|
461
486
|
onCompaction: async (event) => {
|
|
462
487
|
await stream.writeSSE({
|
|
@@ -476,37 +501,41 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
476
501
|
if (compactionResult.compacted) {
|
|
477
502
|
messages.splice(0, messages.length, ...compactionResult.messages);
|
|
478
503
|
}
|
|
479
|
-
const
|
|
480
|
-
|
|
504
|
+
const result = streamText({
|
|
505
|
+
model: m.aiModel,
|
|
506
|
+
system: fullSystemPrompt,
|
|
481
507
|
messages,
|
|
482
|
-
tools:
|
|
483
|
-
|
|
508
|
+
tools: aiTools,
|
|
509
|
+
maxOutputTokens: m.maxTokens,
|
|
510
|
+
providerOptions: providerOpts,
|
|
511
|
+
abortSignal: abortController.signal,
|
|
512
|
+
});
|
|
484
513
|
let turnText = "";
|
|
485
514
|
let streamError;
|
|
486
|
-
for await (const
|
|
515
|
+
for await (const part of result.fullStream) {
|
|
487
516
|
if (abortController.signal.aborted)
|
|
488
517
|
break;
|
|
489
|
-
if (
|
|
490
|
-
await stream.writeSSE({ data: sseChunk(completionId, {}, null, { thinking:
|
|
518
|
+
if (part.type === "reasoning-delta") {
|
|
519
|
+
await stream.writeSSE({ data: sseChunk(completionId, {}, null, { thinking: part.text }) });
|
|
491
520
|
}
|
|
492
|
-
else if (
|
|
493
|
-
turnText +=
|
|
494
|
-
await stream.writeSSE({ data: sseChunk(completionId, { content:
|
|
521
|
+
else if (part.type === "text-delta") {
|
|
522
|
+
turnText += part.text;
|
|
523
|
+
await stream.writeSSE({ data: sseChunk(completionId, { content: part.text }) });
|
|
495
524
|
}
|
|
496
|
-
else if (
|
|
525
|
+
else if (part.type === "tool-input-start") {
|
|
497
526
|
// Emit early "preparing" signal — the LLM has started generating a tool call
|
|
498
527
|
// but arguments are not yet complete. Lets the UI show immediate feedback.
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}),
|
|
505
|
-
});
|
|
506
|
-
}
|
|
528
|
+
await stream.writeSSE({
|
|
529
|
+
data: sseChunk(completionId, {}, null, {
|
|
530
|
+
tool_call: { id: part.id, name: part.toolName, state: "preparing" },
|
|
531
|
+
}),
|
|
532
|
+
});
|
|
507
533
|
}
|
|
508
|
-
else if (
|
|
509
|
-
|
|
534
|
+
else if (part.type === "finish") {
|
|
535
|
+
// Capture error from finish reason if applicable
|
|
536
|
+
if (part.finishReason === "error") {
|
|
537
|
+
streamError = "Model returned an error";
|
|
538
|
+
}
|
|
510
539
|
}
|
|
511
540
|
}
|
|
512
541
|
// If aborted, stop the loop — skip error/tool processing
|
|
@@ -519,30 +548,55 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
519
548
|
await stream.writeSSE({ data: sseChunk(completionId, { content: `\n\nError: ${streamError}` }) });
|
|
520
549
|
break;
|
|
521
550
|
}
|
|
522
|
-
|
|
523
|
-
|
|
551
|
+
// Get tool calls and usage after stream completes
|
|
552
|
+
const toolCalls = await result.toolCalls;
|
|
553
|
+
const usage = await result.usage;
|
|
554
|
+
totalUsage = {
|
|
555
|
+
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
556
|
+
outputTokens: (totalUsage.outputTokens ?? 0) + (usage.outputTokens ?? 0),
|
|
557
|
+
totalTokens: (totalUsage.totalTokens ?? 0) + (usage.totalTokens ?? 0),
|
|
558
|
+
};
|
|
559
|
+
// Push assistant response message into conversation history
|
|
560
|
+
// AI SDK format: assistant message with text + tool calls
|
|
561
|
+
const assistantContent = [];
|
|
562
|
+
if (turnText) {
|
|
563
|
+
assistantContent.push({ type: "text", text: turnText });
|
|
564
|
+
}
|
|
565
|
+
for (const tc of toolCalls) {
|
|
566
|
+
assistantContent.push({
|
|
567
|
+
type: "tool-call",
|
|
568
|
+
toolCallId: tc.toolCallId,
|
|
569
|
+
toolName: tc.toolName,
|
|
570
|
+
input: tc.input,
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
messages.push({
|
|
574
|
+
role: "assistant",
|
|
575
|
+
content: assistantContent.length === 1 && assistantContent[0].type === "text"
|
|
576
|
+
? turnText
|
|
577
|
+
: assistantContent,
|
|
578
|
+
});
|
|
524
579
|
finalText += turnText;
|
|
525
|
-
const toolCalls = response.content.filter((cc) => cc.type === "toolCall");
|
|
526
580
|
if (toolCalls.length === 0)
|
|
527
581
|
break;
|
|
528
582
|
// Check for interactive tools — only in orchestrator mode (agents don't have interactive tools)
|
|
529
|
-
const interactiveCall = agentMode ? undefined : toolCalls.find((tc) => isInteractiveFn?.(tc.
|
|
583
|
+
const interactiveCall = agentMode ? undefined : toolCalls.find((tc) => isInteractiveFn?.(tc.toolName));
|
|
530
584
|
if (interactiveCall) {
|
|
531
585
|
// Persist the interactive tool call so it survives session reload
|
|
532
586
|
toolCallsAccum.push({
|
|
533
|
-
id: interactiveCall.
|
|
534
|
-
name: interactiveCall.
|
|
535
|
-
arguments: interactiveCall.
|
|
587
|
+
id: interactiveCall.toolCallId,
|
|
588
|
+
name: interactiveCall.toolName,
|
|
589
|
+
arguments: interactiveCall.input,
|
|
536
590
|
state: "interrupted",
|
|
537
591
|
});
|
|
538
|
-
if (interactiveCall.
|
|
539
|
-
const questions = interactiveCall.
|
|
592
|
+
if (interactiveCall.toolName === "ask_user") {
|
|
593
|
+
const questions = interactiveCall.input?.questions ?? [];
|
|
540
594
|
await stream.writeSSE({
|
|
541
595
|
data: sseChunk(completionId, {}, "ask_user", { ask_user: { questions } }),
|
|
542
596
|
});
|
|
543
597
|
}
|
|
544
|
-
else if (interactiveCall.
|
|
545
|
-
const args = interactiveCall.
|
|
598
|
+
else if (interactiveCall.toolName === "create_mission") {
|
|
599
|
+
const args = interactiveCall.input;
|
|
546
600
|
let missionData;
|
|
547
601
|
try {
|
|
548
602
|
missionData = JSON.parse(args.data);
|
|
@@ -560,8 +614,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
560
614
|
}),
|
|
561
615
|
});
|
|
562
616
|
}
|
|
563
|
-
else if (interactiveCall.
|
|
564
|
-
const args = interactiveCall.
|
|
617
|
+
else if (interactiveCall.toolName === "set_vault_entry") {
|
|
618
|
+
const args = interactiveCall.input;
|
|
565
619
|
await stream.writeSSE({
|
|
566
620
|
data: sseChunk(completionId, {}, "vault_preview", {
|
|
567
621
|
vault_preview: {
|
|
@@ -574,8 +628,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
574
628
|
}),
|
|
575
629
|
});
|
|
576
630
|
}
|
|
577
|
-
else if (interactiveCall.
|
|
578
|
-
const args = interactiveCall.
|
|
631
|
+
else if (interactiveCall.toolName === "open_file") {
|
|
632
|
+
const args = interactiveCall.input;
|
|
579
633
|
await stream.writeSSE({
|
|
580
634
|
data: sseChunk(completionId, {}, "open_file", {
|
|
581
635
|
open_file: {
|
|
@@ -584,8 +638,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
584
638
|
}),
|
|
585
639
|
});
|
|
586
640
|
}
|
|
587
|
-
else if (interactiveCall.
|
|
588
|
-
const args = interactiveCall.
|
|
641
|
+
else if (interactiveCall.toolName === "navigate_to") {
|
|
642
|
+
const args = interactiveCall.input;
|
|
589
643
|
await stream.writeSSE({
|
|
590
644
|
data: sseChunk(completionId, {}, "navigate_to", {
|
|
591
645
|
navigate_to: {
|
|
@@ -598,8 +652,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
598
652
|
}),
|
|
599
653
|
});
|
|
600
654
|
}
|
|
601
|
-
else if (interactiveCall.
|
|
602
|
-
const args = interactiveCall.
|
|
655
|
+
else if (interactiveCall.toolName === "open_tab") {
|
|
656
|
+
const args = interactiveCall.input;
|
|
603
657
|
await stream.writeSSE({
|
|
604
658
|
data: sseChunk(completionId, {}, "open_tab", {
|
|
605
659
|
open_tab: {
|
|
@@ -616,20 +670,21 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
616
670
|
// Stop executing tools if client disconnected
|
|
617
671
|
if (abortController.signal.aborted)
|
|
618
672
|
break;
|
|
673
|
+
const callArgs = call.input;
|
|
619
674
|
// Notify client that a tool is being called
|
|
620
675
|
await stream.writeSSE({
|
|
621
676
|
data: sseChunk(completionId, {}, null, {
|
|
622
|
-
tool_call: { id: call.
|
|
677
|
+
tool_call: { id: call.toolCallId, name: call.toolName, arguments: callArgs, state: "calling" },
|
|
623
678
|
}),
|
|
624
679
|
});
|
|
625
|
-
const result = await effectiveToolExecutor(call.
|
|
680
|
+
const result = await effectiveToolExecutor(call.toolName, callArgs);
|
|
626
681
|
const isError = result.startsWith("Error:");
|
|
627
|
-
emitFileChanged(call.
|
|
682
|
+
emitFileChanged(call.toolName, callArgs, result, deps.emit);
|
|
628
683
|
// Accumulate for persistence
|
|
629
684
|
toolCallsAccum.push({
|
|
630
|
-
id: call.
|
|
631
|
-
name: call.
|
|
632
|
-
arguments:
|
|
685
|
+
id: call.toolCallId,
|
|
686
|
+
name: call.toolName,
|
|
687
|
+
arguments: callArgs,
|
|
633
688
|
result,
|
|
634
689
|
state: isError ? "error" : "completed",
|
|
635
690
|
});
|
|
@@ -637,17 +692,21 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
637
692
|
if (!abortController.signal.aborted) {
|
|
638
693
|
await stream.writeSSE({
|
|
639
694
|
data: sseChunk(completionId, {}, null, {
|
|
640
|
-
tool_call: { id: call.
|
|
695
|
+
tool_call: { id: call.toolCallId, name: call.toolName, result, state: isError ? "error" : "completed" },
|
|
641
696
|
}),
|
|
642
697
|
});
|
|
643
698
|
}
|
|
699
|
+
// Push tool result message in AI SDK format
|
|
644
700
|
messages.push({
|
|
645
|
-
role: "
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
701
|
+
role: "tool",
|
|
702
|
+
content: [{
|
|
703
|
+
type: "tool-result",
|
|
704
|
+
toolCallId: call.toolCallId,
|
|
705
|
+
toolName: call.toolName,
|
|
706
|
+
output: isError
|
|
707
|
+
? { type: "error-text", value: result }
|
|
708
|
+
: { type: "text", value: result },
|
|
709
|
+
}],
|
|
651
710
|
});
|
|
652
711
|
}
|
|
653
712
|
}
|
|
@@ -687,8 +746,9 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
687
746
|
const placeholder = await sessionStore.addMessage(sessionId, "assistant", "");
|
|
688
747
|
assistantMsgId = placeholder.id;
|
|
689
748
|
}
|
|
690
|
-
const messages = [...
|
|
749
|
+
const messages = [...aiMessages];
|
|
691
750
|
let finalText = "";
|
|
751
|
+
let totalUsage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
|
|
692
752
|
const toolCallsAccum = [];
|
|
693
753
|
try {
|
|
694
754
|
for (let turn = 0; turn < MAX_TURNS; turn++) {
|
|
@@ -702,45 +762,59 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
702
762
|
contextWindow: m.contextWindow ?? 200_000,
|
|
703
763
|
maxOutputTokens: m.maxTokens ?? 8192,
|
|
704
764
|
},
|
|
705
|
-
summarize: buildSummarizeFn(
|
|
765
|
+
summarize: buildSummarizeFn(m, providerOpts),
|
|
706
766
|
mode: "chat",
|
|
707
767
|
// Non-streaming: no SSE to write to, compaction is silent
|
|
708
768
|
});
|
|
709
769
|
if (compactionResult.compacted) {
|
|
710
770
|
messages.splice(0, messages.length, ...compactionResult.messages);
|
|
711
771
|
}
|
|
712
|
-
const
|
|
713
|
-
|
|
772
|
+
const genResult = await generateText({
|
|
773
|
+
model: m.aiModel,
|
|
774
|
+
system: fullSystemPrompt,
|
|
714
775
|
messages,
|
|
715
|
-
tools:
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
776
|
+
tools: aiTools,
|
|
777
|
+
maxOutputTokens: m.maxTokens,
|
|
778
|
+
providerOptions: providerOpts,
|
|
779
|
+
});
|
|
780
|
+
const turnText = genResult.text;
|
|
781
|
+
const usage = genResult.usage;
|
|
782
|
+
totalUsage = {
|
|
783
|
+
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
784
|
+
outputTokens: (totalUsage.outputTokens ?? 0) + (usage.outputTokens ?? 0),
|
|
785
|
+
totalTokens: (totalUsage.totalTokens ?? 0) + (usage.totalTokens ?? 0),
|
|
786
|
+
};
|
|
787
|
+
// Push assistant response message into conversation history
|
|
788
|
+
const assistantContent = [];
|
|
789
|
+
if (turnText) {
|
|
790
|
+
assistantContent.push({ type: "text", text: turnText });
|
|
726
791
|
}
|
|
727
|
-
|
|
728
|
-
|
|
792
|
+
for (const tc of genResult.toolCalls) {
|
|
793
|
+
assistantContent.push({
|
|
794
|
+
type: "tool-call",
|
|
795
|
+
toolCallId: tc.toolCallId,
|
|
796
|
+
toolName: tc.toolName,
|
|
797
|
+
input: tc.input,
|
|
798
|
+
});
|
|
729
799
|
}
|
|
730
|
-
|
|
731
|
-
|
|
800
|
+
messages.push({
|
|
801
|
+
role: "assistant",
|
|
802
|
+
content: assistantContent.length === 1 && assistantContent[0].type === "text"
|
|
803
|
+
? turnText
|
|
804
|
+
: assistantContent,
|
|
805
|
+
});
|
|
732
806
|
finalText += turnText;
|
|
733
|
-
const toolCalls =
|
|
807
|
+
const toolCalls = genResult.toolCalls;
|
|
734
808
|
if (toolCalls.length === 0)
|
|
735
809
|
break;
|
|
736
810
|
// Check for interactive tools — only in orchestrator mode (agents don't have interactive tools)
|
|
737
|
-
const interactiveCall = agentMode ? undefined : toolCalls.find((tc) => isInteractiveFn?.(tc.
|
|
811
|
+
const interactiveCall = agentMode ? undefined : toolCalls.find((tc) => isInteractiveFn?.(tc.toolName));
|
|
738
812
|
if (interactiveCall) {
|
|
739
813
|
// Persist the interactive tool call so it survives session reload
|
|
740
814
|
toolCallsAccum.push({
|
|
741
|
-
id: interactiveCall.
|
|
742
|
-
name: interactiveCall.
|
|
743
|
-
arguments: interactiveCall.
|
|
815
|
+
id: interactiveCall.toolCallId,
|
|
816
|
+
name: interactiveCall.toolName,
|
|
817
|
+
arguments: interactiveCall.input,
|
|
744
818
|
state: "interrupted",
|
|
745
819
|
});
|
|
746
820
|
const baseResponse = {
|
|
@@ -749,13 +823,13 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
749
823
|
created: Math.floor(Date.now() / 1000),
|
|
750
824
|
model: "polpo",
|
|
751
825
|
usage: {
|
|
752
|
-
prompt_tokens:
|
|
753
|
-
completion_tokens:
|
|
754
|
-
total_tokens:
|
|
826
|
+
prompt_tokens: totalUsage.inputTokens ?? 0,
|
|
827
|
+
completion_tokens: totalUsage.outputTokens ?? 0,
|
|
828
|
+
total_tokens: totalUsage.totalTokens ?? 0,
|
|
755
829
|
},
|
|
756
830
|
};
|
|
757
|
-
if (interactiveCall.
|
|
758
|
-
const questions = interactiveCall.
|
|
831
|
+
if (interactiveCall.toolName === "ask_user") {
|
|
832
|
+
const questions = interactiveCall.input?.questions ?? [];
|
|
759
833
|
return c.json({
|
|
760
834
|
...baseResponse,
|
|
761
835
|
choices: [{
|
|
@@ -766,8 +840,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
766
840
|
}],
|
|
767
841
|
});
|
|
768
842
|
}
|
|
769
|
-
if (interactiveCall.
|
|
770
|
-
const args = interactiveCall.
|
|
843
|
+
if (interactiveCall.toolName === "create_mission") {
|
|
844
|
+
const args = interactiveCall.input;
|
|
771
845
|
let missionData;
|
|
772
846
|
try {
|
|
773
847
|
missionData = JSON.parse(args.data);
|
|
@@ -789,8 +863,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
789
863
|
}],
|
|
790
864
|
});
|
|
791
865
|
}
|
|
792
|
-
if (interactiveCall.
|
|
793
|
-
const args = interactiveCall.
|
|
866
|
+
if (interactiveCall.toolName === "set_vault_entry") {
|
|
867
|
+
const args = interactiveCall.input;
|
|
794
868
|
return c.json({
|
|
795
869
|
...baseResponse,
|
|
796
870
|
choices: [{
|
|
@@ -807,8 +881,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
807
881
|
}],
|
|
808
882
|
});
|
|
809
883
|
}
|
|
810
|
-
if (interactiveCall.
|
|
811
|
-
const args = interactiveCall.
|
|
884
|
+
if (interactiveCall.toolName === "open_file") {
|
|
885
|
+
const args = interactiveCall.input;
|
|
812
886
|
return c.json({
|
|
813
887
|
...baseResponse,
|
|
814
888
|
choices: [{
|
|
@@ -821,8 +895,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
821
895
|
}],
|
|
822
896
|
});
|
|
823
897
|
}
|
|
824
|
-
if (interactiveCall.
|
|
825
|
-
const args = interactiveCall.
|
|
898
|
+
if (interactiveCall.toolName === "navigate_to") {
|
|
899
|
+
const args = interactiveCall.input;
|
|
826
900
|
return c.json({
|
|
827
901
|
...baseResponse,
|
|
828
902
|
choices: [{
|
|
@@ -839,8 +913,8 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
839
913
|
}],
|
|
840
914
|
});
|
|
841
915
|
}
|
|
842
|
-
if (interactiveCall.
|
|
843
|
-
const args = interactiveCall.
|
|
916
|
+
if (interactiveCall.toolName === "open_tab") {
|
|
917
|
+
const args = interactiveCall.input;
|
|
844
918
|
return c.json({
|
|
845
919
|
...baseResponse,
|
|
846
920
|
choices: [{
|
|
@@ -857,30 +931,33 @@ export function completionRoutes(getDeps, apiKeys) {
|
|
|
857
931
|
// Note: finally block persists finalText + toolCallsAccum
|
|
858
932
|
}
|
|
859
933
|
for (const call of toolCalls) {
|
|
860
|
-
const
|
|
934
|
+
const callArgs = call.input;
|
|
935
|
+
const result = await effectiveToolExecutor(call.toolName, callArgs);
|
|
861
936
|
const isError = result.startsWith("Error:");
|
|
862
|
-
emitFileChanged(call.
|
|
937
|
+
emitFileChanged(call.toolName, callArgs, result, deps.emit);
|
|
863
938
|
// Accumulate for persistence
|
|
864
939
|
toolCallsAccum.push({
|
|
865
|
-
id: call.
|
|
866
|
-
name: call.
|
|
867
|
-
arguments:
|
|
940
|
+
id: call.toolCallId,
|
|
941
|
+
name: call.toolName,
|
|
942
|
+
arguments: callArgs,
|
|
868
943
|
result,
|
|
869
944
|
state: isError ? "error" : "completed",
|
|
870
945
|
});
|
|
946
|
+
// Push tool result message in AI SDK format
|
|
871
947
|
messages.push({
|
|
872
|
-
role: "
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
948
|
+
role: "tool",
|
|
949
|
+
content: [{
|
|
950
|
+
type: "tool-result",
|
|
951
|
+
toolCallId: call.toolCallId,
|
|
952
|
+
toolName: call.toolName,
|
|
953
|
+
output: isError
|
|
954
|
+
? { type: "error-text", value: result }
|
|
955
|
+
: { type: "text", value: result },
|
|
956
|
+
}],
|
|
878
957
|
});
|
|
879
958
|
}
|
|
880
959
|
}
|
|
881
|
-
|
|
882
|
-
const completionTokens = Math.ceil(finalText.length / 4);
|
|
883
|
-
return c.json(completionResponse(completionId, finalText, promptTokens, completionTokens));
|
|
960
|
+
return c.json(completionResponse(completionId, finalText, totalUsage));
|
|
884
961
|
}
|
|
885
962
|
finally {
|
|
886
963
|
// Always persist the final text + tool calls — even on early return (ask_user) or error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polpo-ai/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Polpo API route factories — edge-compatible Hono routes for tasks, agents, missions, vault, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,9 +19,10 @@
|
|
|
19
19
|
"@hono/zod-openapi": ">=1.0.0",
|
|
20
20
|
"hono": ">=4.0.0",
|
|
21
21
|
"nanoid": ">=5.0.0",
|
|
22
|
-
"@polpo-ai/core": "0.
|
|
22
|
+
"@polpo-ai/core": "0.5.0"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
+
"ai": ">=6.0.0",
|
|
25
26
|
"zod": ">=3.0.0 || >=4.0.0"
|
|
26
27
|
},
|
|
27
28
|
"license": "MIT",
|