@polpo-ai/server 0.15.25 → 0.15.28
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/dist/loop-contract.test.js +29 -0
- package/dist/loop-contract.test.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.d.ts +17 -1
- package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
- package/dist/routes/completions/agent-step-runner.js +56 -9
- package/dist/routes/completions/agent-step-runner.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.test.js +12 -1
- package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
- package/dist/routes/completions/chat-handler.d.ts +2 -0
- package/dist/routes/completions/chat-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-handler.js +54 -12
- package/dist/routes/completions/chat-handler.js.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.js +12 -2
- package/dist/routes/completions/chat-via-run-handler.js.map +1 -1
- package/dist/routes/completions/chat-via-run-handler.test.js +63 -0
- package/dist/routes/completions/chat-via-run-handler.test.js.map +1 -1
- package/dist/routes/completions/project-loop-runner.d.ts +2 -0
- package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
- package/dist/routes/completions/project-loop-runner.js +10 -1
- package/dist/routes/completions/project-loop-runner.js.map +1 -1
- package/dist/routes/completions-provider-tools.test.js +63 -0
- package/dist/routes/completions-provider-tools.test.js.map +1 -1
- package/dist/routes/completions.d.ts +2 -1
- package/dist/routes/completions.d.ts.map +1 -1
- package/dist/routes/completions.js +6 -1
- package/dist/routes/completions.js.map +1 -1
- package/dist/schemas.d.ts +17 -5
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +14 -9
- package/dist/schemas.js.map +1 -1
- package/package.json +6 -6
|
@@ -10,6 +10,35 @@ describe("agent loop API contract", () => {
|
|
|
10
10
|
assignedLoops: ["coding-flow", "support-flow"],
|
|
11
11
|
})).toMatchObject({ assignedLoops: ["coding-flow", "support-flow"] });
|
|
12
12
|
});
|
|
13
|
+
it("accepts structured model policies on agent create/update payloads", () => {
|
|
14
|
+
const model = {
|
|
15
|
+
primary: "anthropic/claude-sonnet-4",
|
|
16
|
+
fallbacks: ["openai/gpt-4o-mini", "xai/grok-4.1-fast-reasoning"],
|
|
17
|
+
};
|
|
18
|
+
expect(AddAgentSchema.parse({
|
|
19
|
+
name: "fallback-agent",
|
|
20
|
+
model,
|
|
21
|
+
})).toMatchObject({ model });
|
|
22
|
+
expect(UpdateAgentSchema.parse({
|
|
23
|
+
model,
|
|
24
|
+
})).toMatchObject({ model });
|
|
25
|
+
});
|
|
26
|
+
it("rejects malformed structured model policies", () => {
|
|
27
|
+
expect(UpdateAgentSchema.safeParse({
|
|
28
|
+
model: { primary: "", fallbacks: ["openai/gpt-4o-mini"] },
|
|
29
|
+
}).success).toBe(false);
|
|
30
|
+
expect(UpdateAgentSchema.safeParse({
|
|
31
|
+
model: {
|
|
32
|
+
primary: "anthropic/claude-sonnet-4",
|
|
33
|
+
fallbacks: [
|
|
34
|
+
"openai/gpt-4o-mini",
|
|
35
|
+
"xai/grok-4.1-fast-reasoning",
|
|
36
|
+
"google/gemini-2.5-pro",
|
|
37
|
+
"groq/llama-3.3-70b-versatile",
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
}).success).toBe(false);
|
|
41
|
+
});
|
|
13
42
|
it("strips legacy inline loops from agent create/update payloads", () => {
|
|
14
43
|
const loops = {
|
|
15
44
|
classify: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-contract.test.js","sourceRoot":"","sources":["../src/loop-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAC1B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,CAAC,aAAa,CAAC;SAC/B,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAEtD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC7B,aAAa,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;SAC/C,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE;gBACR,YAAY,EAAE,gCAAgC;gBAC9C,KAAK,EAAE,CAAC,MAAM,CAAC;gBACf,MAAM,EAAE,CAAC,gBAAgB,CAAC;gBAC1B,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC9C,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACvC;YACD,MAAM,EAAE;gBACN,YAAY,EAAE,qBAAqB;aACpC;SACF,CAAC;QACF,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,YAAqB;YAC3B,OAAO,EAAE,QAAiB;YAC1B,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;gBACzG,EAAE,IAAI,EAAE,UAAU,EAAE;gBACpB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE;aACrD;SACF,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAC1B,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,cAAc;YACvB,KAAK;YACL,QAAQ;SACT,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QAE7D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC7B,KAAK;YACL,QAAQ;SACT,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"loop-contract.test.js","sourceRoot":"","sources":["../src/loop-contract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* step's overlay-merged agent config — used by the project loop runtime
|
|
6
6
|
* to execute `loop:` steps inside a deterministic pipeline.
|
|
7
7
|
*/
|
|
8
|
-
import { type ContextBag, type SummarizeFn } from "@polpo-ai/core";
|
|
8
|
+
import { type ContextBag, type ModelSelection, type SummarizeFn } from "@polpo-ai/core";
|
|
9
9
|
import { type LanguageModel, type LanguageModelUsage } from "ai";
|
|
10
10
|
import type { CompletionRouteDeps } from "../completions.js";
|
|
11
11
|
import { type LoopRuntimeToolCall } from "./tool-mapping.js";
|
|
@@ -17,19 +17,35 @@ export declare const MAX_TURNS = 20;
|
|
|
17
17
|
export interface ResolvedModelInfo {
|
|
18
18
|
/** Model identifier (e.g. "claude-sonnet-4.5") — optional for backwards compat. */
|
|
19
19
|
id?: string;
|
|
20
|
+
/** Human-facing model name/slug when distinct from id. */
|
|
21
|
+
name?: string;
|
|
20
22
|
aiModel: LanguageModel;
|
|
21
23
|
provider: string;
|
|
24
|
+
/** Runtime used to construct the AI SDK model. */
|
|
25
|
+
runtimeMode?: "provider" | "gateway";
|
|
22
26
|
contextWindow: number;
|
|
23
27
|
maxTokens: number;
|
|
24
28
|
}
|
|
29
|
+
export interface CompletionResolvedModelInfo {
|
|
30
|
+
id?: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
provider: string;
|
|
33
|
+
runtimeMode?: "provider" | "gateway";
|
|
34
|
+
}
|
|
25
35
|
export interface AgentStepRunResult {
|
|
26
36
|
text: string;
|
|
27
37
|
output: unknown;
|
|
28
38
|
usage: LanguageModelUsage;
|
|
29
39
|
model: string;
|
|
40
|
+
resolvedModel?: CompletionResolvedModelInfo;
|
|
30
41
|
providerMetadata?: Record<string, unknown>;
|
|
31
42
|
toolCalls: any[];
|
|
32
43
|
}
|
|
44
|
+
export declare function completionResolvedModelInfo(model: ResolvedModelInfo): CompletionResolvedModelInfo;
|
|
45
|
+
export declare function modelSelectionForResolvedModel(model: ResolvedModelInfo): string;
|
|
46
|
+
export declare function modelSelectionForAgent(agentConfig: any, fallback: string): ModelSelection;
|
|
47
|
+
export declare function agentConfigForModelPrimary(agentConfig: any): any;
|
|
48
|
+
export declare function agentConfigForModelAttempt(agentConfig: any, model: string): any;
|
|
33
49
|
export declare function addUsage(a: LanguageModelUsage, b: LanguageModelUsage): LanguageModelUsage;
|
|
34
50
|
/**
|
|
35
51
|
* Build a SummarizeFn using AI SDK's generateText.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-runner.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-step-runner.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAML,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,2BAA2B,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iBAAiB,GAAG,2BAA2B,CAOjG;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAG/E;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAEzF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAMhE;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAK/E;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAMzF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,iBAAiB,EACpB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,WAAW,CAUb;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,mBAAmB,EACzB,WAAW,EAAE,GAAG,EAChB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,WAAW,EAAE,GAAG,CAAC;IACjB,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4J9B"}
|
|
@@ -5,12 +5,41 @@
|
|
|
5
5
|
* step's overlay-merged agent config — used by the project loop runtime
|
|
6
6
|
* to execute `loop:` steps inside a deterministic pipeline.
|
|
7
7
|
*/
|
|
8
|
-
import { agentMemoryScope, compactIfNeeded, loopContextPrompt, maybeParseJson, } from "@polpo-ai/core";
|
|
8
|
+
import { agentMemoryScope, compactIfNeeded, loopContextPrompt, maybeParseJson, normalizeModelPolicy, } from "@polpo-ai/core";
|
|
9
9
|
import { generateText } from "ai";
|
|
10
|
-
import {
|
|
10
|
+
import { runModelPolicyTurn } from "@polpo-ai/llm";
|
|
11
11
|
import { appendModelResponseMessages } from "./message-mapping.js";
|
|
12
12
|
import { emitFileChanged, indexToolResultsByCallId, providerToolCallEvent, toAITools, toAIToolChoice, } from "./tool-mapping.js";
|
|
13
13
|
export const MAX_TURNS = 20;
|
|
14
|
+
export function completionResolvedModelInfo(model) {
|
|
15
|
+
return {
|
|
16
|
+
...(model.id ? { id: model.id } : {}),
|
|
17
|
+
...(model.name ? { name: model.name } : {}),
|
|
18
|
+
provider: model.provider,
|
|
19
|
+
...(model.runtimeMode ? { runtimeMode: model.runtimeMode } : {}),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function modelSelectionForResolvedModel(model) {
|
|
23
|
+
const modelId = model.id ?? model.name;
|
|
24
|
+
return modelId ? `${model.provider}/${modelId}` : model.provider;
|
|
25
|
+
}
|
|
26
|
+
export function modelSelectionForAgent(agentConfig, fallback) {
|
|
27
|
+
return agentConfig?.model ?? fallback;
|
|
28
|
+
}
|
|
29
|
+
export function agentConfigForModelPrimary(agentConfig) {
|
|
30
|
+
if (!agentConfig?.model)
|
|
31
|
+
return agentConfig;
|
|
32
|
+
return {
|
|
33
|
+
...agentConfig,
|
|
34
|
+
model: normalizeModelPolicy(agentConfig.model).primary,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function agentConfigForModelAttempt(agentConfig, model) {
|
|
38
|
+
return {
|
|
39
|
+
...agentConfig,
|
|
40
|
+
model,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
14
43
|
export function addUsage(a, b) {
|
|
15
44
|
return {
|
|
16
45
|
inputTokens: (a.inputTokens ?? 0) + (b.inputTokens ?? 0),
|
|
@@ -66,9 +95,10 @@ export async function buildRuntimeAgentPrompt(deps, agentConfig, extraSystemPart
|
|
|
66
95
|
export async function runAgentStepCompletion(options) {
|
|
67
96
|
const { deps, agentConfig, aiMessages, extraSystemParts, context, stepName, onToolCall } = options;
|
|
68
97
|
const reasoning = agentConfig.reasoning ?? deps.getConfig()?.settings?.reasoning;
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
98
|
+
const initialResolved = await deps.resolveAgentModel(agentConfigForModelPrimary(agentConfig), reasoning);
|
|
99
|
+
let m = initialResolved.model;
|
|
100
|
+
let providerOpts = initialResolved.providerOptions;
|
|
101
|
+
const modelSelection = modelSelectionForAgent(agentConfig, modelSelectionForResolvedModel(m));
|
|
72
102
|
const resolvedTools = await deps.resolveAgentTools(agentConfig);
|
|
73
103
|
const aiTools = {
|
|
74
104
|
...toAITools(resolvedTools.tools),
|
|
@@ -100,14 +130,25 @@ export async function runAgentStepCompletion(options) {
|
|
|
100
130
|
}
|
|
101
131
|
const toolCallNames = new Map();
|
|
102
132
|
const toolCallArgsText = new Map();
|
|
103
|
-
const
|
|
104
|
-
|
|
133
|
+
const resolvedAttempts = new Map();
|
|
134
|
+
const turnResult = await runModelPolicyTurn({
|
|
135
|
+
selection: modelSelection,
|
|
136
|
+
resolveAttempt: async (attempt) => {
|
|
137
|
+
const resolvedAttempt = attempt.index === 0
|
|
138
|
+
? initialResolved
|
|
139
|
+
: await deps.resolveAgentModel(agentConfigForModelAttempt(agentConfig, attempt.model), reasoning);
|
|
140
|
+
resolvedAttempts.set(attempt.index, resolvedAttempt);
|
|
141
|
+
return {
|
|
142
|
+
model: resolvedAttempt.model.aiModel,
|
|
143
|
+
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
144
|
+
providerOptions: resolvedAttempt.providerOptions,
|
|
145
|
+
};
|
|
146
|
+
},
|
|
147
|
+
preserveSingleAttemptError: true,
|
|
105
148
|
system: fullSystemPrompt,
|
|
106
149
|
messages,
|
|
107
150
|
tools: aiTools,
|
|
108
151
|
...(modelToolChoice ? { toolChoice: modelToolChoice } : {}),
|
|
109
|
-
maxOutputTokens: m.maxTokens,
|
|
110
|
-
providerOptions: providerOpts,
|
|
111
152
|
}, async (event) => {
|
|
112
153
|
if (event.type === "tool-input-start") {
|
|
113
154
|
toolCallNames.set(event.id, event.name);
|
|
@@ -129,6 +170,11 @@ export async function runAgentStepCompletion(options) {
|
|
|
129
170
|
}
|
|
130
171
|
});
|
|
131
172
|
const turnText = turnResult.text;
|
|
173
|
+
const selectedResolved = resolvedAttempts.get(turnResult.selectedAttempt.index);
|
|
174
|
+
if (selectedResolved) {
|
|
175
|
+
m = selectedResolved.model;
|
|
176
|
+
providerOpts = selectedResolved.providerOptions;
|
|
177
|
+
}
|
|
132
178
|
totalUsage = addUsage(totalUsage, turnResult.usage);
|
|
133
179
|
lastProviderMetadata = turnResult.providerMetadata;
|
|
134
180
|
await appendModelResponseMessages(messages, turnResult, turnText, turnResult.toolCalls);
|
|
@@ -180,6 +226,7 @@ export async function runAgentStepCompletion(options) {
|
|
|
180
226
|
output: maybeParseJson(finalText),
|
|
181
227
|
usage: totalUsage,
|
|
182
228
|
model: m.id ?? m.provider,
|
|
229
|
+
resolvedModel: completionResolvedModelInfo(m),
|
|
183
230
|
providerMetadata: lastProviderMetadata,
|
|
184
231
|
toolCalls: toolCallsAccum,
|
|
185
232
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-runner.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-step-runner.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,oBAAoB,GAIrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAA+C,MAAM,IAAI,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACT,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAoC5B,MAAM,UAAU,2BAA2B,CAAC,KAAwB;IAClE,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAwB;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;IACvC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAgB,EAAE,QAAgB;IACvE,OAAO,WAAW,EAAE,KAAK,IAAI,QAAQ,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAgB;IACzD,IAAI,CAAC,WAAW,EAAE,KAAK;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO;QACL,GAAG,WAAW;QACd,KAAK,EAAE,oBAAoB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAgB,EAAE,KAAa;IACxE,OAAO;QACL,GAAG,WAAW;QACd,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAqB,EAAE,CAAqB;IACnE,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;QACxD,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;QAC3D,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;KACnC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,CAAoB,EACpB,eAAqC;IAErC,OAAO,KAAK,EAAE,IAAW,EAAE,MAAc,EAAmB,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,KAAK,EAAE,CAAC,CAAC,OAAO;YAChB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;YACd,eAAe;SAChB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAyB,EACzB,WAAgB,EAChB,gBAA0B,EAC1B,eAAwB;IAExB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YAC1C,IAAI,EAAE,WAAW;YACjB,gBAAgB;YAChB,eAAe;YACf,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,sBAAsB,GAAG;QAC7B,6DAA6D;QAC7D,iFAAiF;QACjF,8DAA8D;QAC9D,kEAAkE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,gBAAgB,GAAG,GAAG,sBAAsB,OAAO,iBAAiB,EAAE,CAAC;IAC3E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,gBAAgB,IAAI,4CAA4C,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAClG,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,gBAAgB,IAAI,OAAO,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,WAAW,EAAE,CAAC;QAChB,gBAAgB,IAAI,oCAAoC,WAAW,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAQ5C;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACnG,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;IACjF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IACzG,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;IAC9B,IAAI,YAAY,GAAG,eAAe,CAAC,eAAe,CAAC;IACnD,MAAM,cAAc,GAAG,sBAAsB,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG;QACd,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;QACjC,GAAG,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC;KACtC,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CACpD,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAC;IAEF,MAAM,QAAQ,GAAU,CAAC,GAAG,UAAU,CAAC,CAAC;IACxC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,UAAU,GAAuB,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAwB,CAAC;IAC/G,IAAI,oBAAyD,CAAC;IAC9D,MAAM,cAAc,GAAU,EAAE,CAAC;IAEjC,IAAI,CAAC;QACH,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YACtE,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;gBAC7C,YAAY,EAAE,gBAAgB;gBAC9B,QAAQ;gBACR,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,MAAM,EAAE;oBACN,aAAa,EAAE,CAAC,CAAC,aAAa,IAAI,OAAO;oBACzC,eAAe,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;iBACrC;gBACD,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC;gBAC5C,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;gBAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;YAChD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkC,CAAC;YACnE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;gBAC1C,SAAS,EAAE,cAAc;gBACzB,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBAChC,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,KAAK,CAAC;wBACzC,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;oBACpG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACrD,OAAO;wBACL,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO;wBACpC,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS;wBAChD,eAAe,EAAE,eAAe,CAAC,eAAe;qBACjD,CAAC;gBACJ,CAAC;gBACD,0BAA0B,EAAE,IAAI;gBAChC,MAAM,EAAE,gBAAgB;gBACxB,QAAQ;gBACR,KAAK,EAAE,OAAO;gBACd,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACjB,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACtC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,UAAU,EAAE,CAAC;wBACjB,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAC7C,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBACjE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;oBACpC,MAAM,UAAU,EAAE,CAAC;wBACjB,EAAE,EAAE,KAAK,CAAC,EAAE;wBACZ,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE;wBACvC,KAAK,EAAE,WAAW;wBAClB,aAAa,EAAE,GAAG;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;YACjC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;gBAC3B,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC;YAClD,CAAC;YACD,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,oBAAoB,GAAG,UAAU,CAAC,gBAAuD,CAAC;YAE1F,MAAM,2BAA2B,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACxF,SAAS,IAAI,QAAQ,CAAC;YAEtB,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAE7C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,UAAU,CAAC,WAAgC,CAAC,CAAC;YAElG,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAgC,CAAC;gBACvD,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;oBAC/D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,MAAM,UAAU,EAAE,CAAC;oBACjB,EAAE,EAAE,IAAI,CAAC,UAAU;oBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,SAAS,EAAE,QAAQ;oBACnB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC5C,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG;oBACZ,EAAE,EAAE,IAAI,CAAC,UAAU;oBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,SAAS,EAAE,QAAQ;oBACnB,MAAM;oBACN,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;iBACT,CAAC;gBAChC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,aAAa;4BACnB,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,MAAM,EAAE,OAAO;gCACb,CAAC,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,KAAK,EAAE,MAAM,EAAE;gCAChD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,MAAM,EAAE;yBAC7C,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC;YACjC,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ;YACzB,aAAa,EAAE,2BAA2B,CAAC,CAAC,CAAC;YAC7C,gBAAgB,EAAE,oBAAoB;YACtC,SAAS,EAAE,cAAc;SAC1B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { buildRuntimeAgentPrompt } from "./agent-step-runner.js";
|
|
2
|
+
import { buildRuntimeAgentPrompt, modelSelectionForResolvedModel, } from "./agent-step-runner.js";
|
|
3
3
|
describe("buildRuntimeAgentPrompt", () => {
|
|
4
4
|
it("delegates loop prompt assembly to the host when available", async () => {
|
|
5
5
|
const buildRuntimePrompt = vi.fn(async () => "host loop prompt");
|
|
@@ -18,4 +18,15 @@ describe("buildRuntimeAgentPrompt", () => {
|
|
|
18
18
|
expect(deps.buildAgentPrompt).not.toHaveBeenCalled();
|
|
19
19
|
});
|
|
20
20
|
});
|
|
21
|
+
describe("modelSelectionForResolvedModel", () => {
|
|
22
|
+
it("keeps the provider prefix on model policy selections", () => {
|
|
23
|
+
expect(modelSelectionForResolvedModel({
|
|
24
|
+
id: "claude-sonnet-5",
|
|
25
|
+
aiModel: {},
|
|
26
|
+
provider: "anthropic",
|
|
27
|
+
contextWindow: 200_000,
|
|
28
|
+
maxTokens: 8192,
|
|
29
|
+
})).toBe("anthropic/claude-sonnet-5");
|
|
30
|
+
});
|
|
31
|
+
});
|
|
21
32
|
//# sourceMappingURL=agent-step-runner.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-runner.test.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-step-runner.test.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,kBAAkB,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG;YACX,kBAAkB;YAClB,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;SACb,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,IAAI,EACJ,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,CAAC,gBAAgB,CAAC,EAClB,cAAc,CACf,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxC,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB;YACE,IAAI,EAAE,WAAW;YACjB,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;YACpC,eAAe,EAAE,cAAc;YAC/B,kBAAkB,EAAE,IAAI;SACzB,CACF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,8BAA8B,CAAC;YACpC,EAAE,EAAE,iBAAiB;YACrB,OAAO,EAAE,EAAS;YAClB,QAAQ,EAAE,WAAW;YACrB,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* interactive orchestrator tools, provider-executed tools, context
|
|
7
7
|
* compaction, session persistence, and metering callbacks.
|
|
8
8
|
*/
|
|
9
|
+
import { type ModelSelection } from "@polpo-ai/core";
|
|
9
10
|
import type { CompletionRouteDeps } from "../completions.js";
|
|
10
11
|
import { type ResolvedModelInfo } from "./agent-step-runner.js";
|
|
11
12
|
/** Resolved execution context for a standard (non-loop) chat completion. */
|
|
@@ -24,6 +25,7 @@ export interface ChatCompletionExecution {
|
|
|
24
25
|
fullSystemPrompt: string;
|
|
25
26
|
m: ResolvedModelInfo;
|
|
26
27
|
providerOpts?: Record<string, any>;
|
|
28
|
+
modelSelection?: ModelSelection;
|
|
27
29
|
modelToolChoice?: unknown;
|
|
28
30
|
effectiveTools: any[];
|
|
29
31
|
effectiveToolExecutor: (name: string, args: Record<string, unknown>) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAahC,4EAA4E;AAC5E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,WAAW,EAAE,GAAG,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,CAAC,EAAE,iBAAiB,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxF;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAmBD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,uBAAuB,GAAG,GAAG,CA6Z/E;AAED,oEAAoE;AACpE,wBAAsB,6BAA6B,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,CAwUvG"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { streamSSE } from "hono/streaming";
|
|
10
10
|
import { compactIfNeeded } from "@polpo-ai/core";
|
|
11
|
-
import {
|
|
12
|
-
import { buildSummarizeFn, MAX_TURNS } from "./agent-step-runner.js";
|
|
11
|
+
import { runModelPolicyTurn } from "@polpo-ai/llm";
|
|
12
|
+
import { agentConfigForModelAttempt, buildSummarizeFn, completionResolvedModelInfo, MAX_TURNS, modelSelectionForResolvedModel, } from "./agent-step-runner.js";
|
|
13
13
|
import { appendModelResponseMessages } from "./message-mapping.js";
|
|
14
14
|
import { completionResponse, modelErrorEnvelope, modelNotFoundEnvelope, sseChunk } from "./sse.js";
|
|
15
15
|
import { CLIENT_SIDE_TOOLS, CLIENT_SIDE_TOOL_NAMES, emitFileChanged, indexToolResultsByCallId, persistAssistantMessage, recordProviderToolCall, toAITools, } from "./tool-mapping.js";
|
|
@@ -31,8 +31,12 @@ function mergeAiTools(exec) {
|
|
|
31
31
|
}
|
|
32
32
|
/** Streaming chat mode — SSE stream of OpenAI-format chunks. */
|
|
33
33
|
export function streamChatCompletion(c, exec) {
|
|
34
|
-
const { deps, body, completionId, agentMode, fullSystemPrompt, m, providerOpts, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, isInteractiveFn, aiMessages, sessionStore, sessionId, onResponseFinished, } = exec;
|
|
34
|
+
const { deps, body, completionId, agentMode, fullSystemPrompt, m: primaryModel, providerOpts: primaryProviderOpts, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, isInteractiveFn, aiMessages, sessionStore, sessionId, onResponseFinished, } = exec;
|
|
35
35
|
const aiTools = mergeAiTools(exec);
|
|
36
|
+
let m = primaryModel;
|
|
37
|
+
let providerOpts = primaryProviderOpts;
|
|
38
|
+
const modelSelection = exec.modelSelection ?? modelSelectionForResolvedModel(primaryModel);
|
|
39
|
+
const reasoning = exec.agentConfig?.reasoning ?? deps.getConfig()?.settings?.reasoning;
|
|
36
40
|
return streamSSE(c, async (stream) => {
|
|
37
41
|
// Abort controller: cancelled when the client disconnects (closes SSE)
|
|
38
42
|
const abortController = new AbortController();
|
|
@@ -107,14 +111,25 @@ export function streamChatCompletion(c, exec) {
|
|
|
107
111
|
// builds up instead of waiting for the whole turn to finish.
|
|
108
112
|
const toolCallNames = new Map();
|
|
109
113
|
const toolCallArgsText = new Map();
|
|
110
|
-
const
|
|
111
|
-
|
|
114
|
+
const resolvedAttempts = new Map();
|
|
115
|
+
const result = await runModelPolicyTurn({
|
|
116
|
+
selection: modelSelection,
|
|
117
|
+
resolveAttempt: async (attempt) => {
|
|
118
|
+
const resolvedAttempt = attempt.index === 0 || !agentMode || !exec.agentConfig
|
|
119
|
+
? { model: primaryModel, providerOptions: primaryProviderOpts }
|
|
120
|
+
: await deps.resolveAgentModel(agentConfigForModelAttempt(exec.agentConfig, attempt.model), reasoning);
|
|
121
|
+
resolvedAttempts.set(attempt.index, resolvedAttempt);
|
|
122
|
+
return {
|
|
123
|
+
model: resolvedAttempt.model.aiModel,
|
|
124
|
+
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
125
|
+
providerOptions: resolvedAttempt.providerOptions,
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
preserveSingleAttemptError: true,
|
|
112
129
|
system: fullSystemPrompt,
|
|
113
130
|
messages,
|
|
114
131
|
tools: aiTools,
|
|
115
132
|
...(modelToolChoice ? { toolChoice: modelToolChoice } : {}),
|
|
116
|
-
maxOutputTokens: m.maxTokens,
|
|
117
|
-
providerOptions: providerOpts,
|
|
118
133
|
abortSignal: abortController.signal,
|
|
119
134
|
}, async (event) => {
|
|
120
135
|
if (abortController.signal.aborted)
|
|
@@ -172,6 +187,11 @@ export function streamChatCompletion(c, exec) {
|
|
|
172
187
|
}
|
|
173
188
|
const toolCalls = result.toolCalls;
|
|
174
189
|
const usage = result.usage;
|
|
190
|
+
const selectedResolved = resolvedAttempts.get(result.selectedAttempt.index);
|
|
191
|
+
if (selectedResolved) {
|
|
192
|
+
m = selectedResolved.model;
|
|
193
|
+
providerOpts = selectedResolved.providerOptions;
|
|
194
|
+
}
|
|
175
195
|
totalUsage = {
|
|
176
196
|
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
177
197
|
outputTokens: (totalUsage.outputTokens ?? 0) + (usage.outputTokens ?? 0),
|
|
@@ -398,6 +418,7 @@ export function streamChatCompletion(c, exec) {
|
|
|
398
418
|
deps.onCompletionFinished?.({
|
|
399
419
|
usage: totalUsage,
|
|
400
420
|
model: m.id ?? m.provider,
|
|
421
|
+
resolvedModel: completionResolvedModelInfo(m),
|
|
401
422
|
agent: body.agent,
|
|
402
423
|
sessionId: sessionId ?? undefined,
|
|
403
424
|
user: body.user,
|
|
@@ -416,8 +437,12 @@ export function streamChatCompletion(c, exec) {
|
|
|
416
437
|
}
|
|
417
438
|
/** Non-streaming chat mode — single OpenAI-format JSON response. */
|
|
418
439
|
export async function runNonStreamingChatCompletion(c, exec) {
|
|
419
|
-
const { deps, body, completionId, agentMode, fullSystemPrompt, m, providerOpts, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, isInteractiveFn, aiMessages, sessionStore, sessionId, onResponseFinished, } = exec;
|
|
440
|
+
const { deps, body, completionId, agentMode, fullSystemPrompt, m: primaryModel, providerOpts: primaryProviderOpts, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, isInteractiveFn, aiMessages, sessionStore, sessionId, onResponseFinished, } = exec;
|
|
420
441
|
const aiTools = mergeAiTools(exec);
|
|
442
|
+
let m = primaryModel;
|
|
443
|
+
let providerOpts = primaryProviderOpts;
|
|
444
|
+
const modelSelection = exec.modelSelection ?? modelSelectionForResolvedModel(primaryModel);
|
|
445
|
+
const reasoning = exec.agentConfig?.reasoning ?? deps.getConfig()?.settings?.reasoning;
|
|
421
446
|
// Reserve placeholder so the message is visible even if the request is interrupted
|
|
422
447
|
let assistantMsgId = null;
|
|
423
448
|
if (sessionStore && sessionId) {
|
|
@@ -448,16 +473,32 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
448
473
|
if (compactionResult.compacted) {
|
|
449
474
|
messages.splice(0, messages.length, ...compactionResult.messages);
|
|
450
475
|
}
|
|
451
|
-
const
|
|
452
|
-
|
|
476
|
+
const resolvedAttempts = new Map();
|
|
477
|
+
const turnResult = await runModelPolicyTurn({
|
|
478
|
+
selection: modelSelection,
|
|
479
|
+
resolveAttempt: async (attempt) => {
|
|
480
|
+
const resolvedAttempt = attempt.index === 0 || !agentMode || !exec.agentConfig
|
|
481
|
+
? { model: primaryModel, providerOptions: primaryProviderOpts }
|
|
482
|
+
: await deps.resolveAgentModel(agentConfigForModelAttempt(exec.agentConfig, attempt.model), reasoning);
|
|
483
|
+
resolvedAttempts.set(attempt.index, resolvedAttempt);
|
|
484
|
+
return {
|
|
485
|
+
model: resolvedAttempt.model.aiModel,
|
|
486
|
+
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
487
|
+
providerOptions: resolvedAttempt.providerOptions,
|
|
488
|
+
};
|
|
489
|
+
},
|
|
490
|
+
preserveSingleAttemptError: true,
|
|
453
491
|
system: fullSystemPrompt,
|
|
454
492
|
messages,
|
|
455
493
|
tools: aiTools,
|
|
456
494
|
...(modelToolChoice ? { toolChoice: modelToolChoice } : {}),
|
|
457
|
-
maxOutputTokens: m.maxTokens,
|
|
458
|
-
providerOptions: providerOpts,
|
|
459
495
|
});
|
|
460
496
|
const turnText = turnResult.text;
|
|
497
|
+
const selectedResolved = resolvedAttempts.get(turnResult.selectedAttempt.index);
|
|
498
|
+
if (selectedResolved) {
|
|
499
|
+
m = selectedResolved.model;
|
|
500
|
+
providerOpts = selectedResolved.providerOptions;
|
|
501
|
+
}
|
|
461
502
|
const usage = turnResult.usage;
|
|
462
503
|
totalUsage = {
|
|
463
504
|
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
@@ -691,6 +732,7 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
691
732
|
deps.onCompletionFinished?.({
|
|
692
733
|
usage: totalUsage,
|
|
693
734
|
model: m.id ?? m.provider,
|
|
735
|
+
resolvedModel: completionResolvedModelInfo(m),
|
|
694
736
|
agent: body.agent,
|
|
695
737
|
sessionId: sessionId ?? undefined,
|
|
696
738
|
user: body.user,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-via-run-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-via-run-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-via-run-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-via-run-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AA8NjE,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB,YAoE9E;AAED,oDAAoD;AACpD,wBAAsB,yBAAyB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEA+C7F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { streamSSE } from "hono/streaming";
|
|
2
|
-
import { MAX_TURNS } from "./agent-step-runner.js";
|
|
2
|
+
import { agentConfigForModelAttempt, completionResolvedModelInfo, MAX_TURNS } from "./agent-step-runner.js";
|
|
3
3
|
import { completionResponse, modelErrorEnvelope, modelNotFoundEnvelope, sseChunk } from "./sse.js";
|
|
4
4
|
import { persistAssistantMessage, emitFileChanged, toAITools, CLIENT_SIDE_TOOLS, CLIENT_SIDE_TOOL_NAMES, } from "./tool-mapping.js";
|
|
5
5
|
/** Best-effort session title from the first user message. */
|
|
@@ -18,11 +18,20 @@ function firstUserText(aiMessages) {
|
|
|
18
18
|
}
|
|
19
19
|
/** Pack the resolved chat inputs into the engine injection. */
|
|
20
20
|
function buildInjection(execution) {
|
|
21
|
-
const { agentConfig, m, fullSystemPrompt, providerOpts, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, aiMessages } = execution;
|
|
21
|
+
const { deps, agentConfig, m, fullSystemPrompt, providerOpts, modelSelection, modelToolChoice, effectiveTools, effectiveToolExecutor, extraAiTools, aiMessages, } = execution;
|
|
22
|
+
const reasoning = agentConfig?.reasoning ?? deps.getConfig()?.settings?.reasoning;
|
|
22
23
|
return {
|
|
23
24
|
agent: agentConfig,
|
|
24
25
|
title: firstUserText(aiMessages),
|
|
26
|
+
modelSelection,
|
|
25
27
|
model: m,
|
|
28
|
+
resolveModelAttempt: async (model) => {
|
|
29
|
+
const resolved = await deps.resolveAgentModel(agentConfigForModelAttempt(agentConfig, model), reasoning);
|
|
30
|
+
return {
|
|
31
|
+
model: resolved.model,
|
|
32
|
+
providerOptions: resolved.providerOptions,
|
|
33
|
+
};
|
|
34
|
+
},
|
|
26
35
|
systemPrompt: fullSystemPrompt,
|
|
27
36
|
providerOptions: providerOpts,
|
|
28
37
|
maxTurns: MAX_TURNS,
|
|
@@ -156,6 +165,7 @@ async function finishCommon(execution, state, assistantMsgId, options) {
|
|
|
156
165
|
deps.onCompletionFinished?.({
|
|
157
166
|
usage: state.totalUsage,
|
|
158
167
|
model: m.id ?? m.provider,
|
|
168
|
+
resolvedModel: completionResolvedModelInfo(m),
|
|
159
169
|
agent: body.agent,
|
|
160
170
|
sessionId: sessionId ?? undefined,
|
|
161
171
|
user: body.user,
|