@polpo-ai/server 0.15.36 → 0.15.38

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.
Files changed (43) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/loop-contract.test.js +32 -0
  5. package/dist/loop-contract.test.js.map +1 -1
  6. package/dist/routes/agents.d.ts.map +1 -1
  7. package/dist/routes/agents.js +4 -0
  8. package/dist/routes/agents.js.map +1 -1
  9. package/dist/routes/completions/agent-step-runner.d.ts +4 -3
  10. package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
  11. package/dist/routes/completions/agent-step-runner.js +16 -9
  12. package/dist/routes/completions/agent-step-runner.js.map +1 -1
  13. package/dist/routes/completions/agent-step-runner.test.js +39 -1
  14. package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
  15. package/dist/routes/completions/chat-handler.d.ts +3 -1
  16. package/dist/routes/completions/chat-handler.d.ts.map +1 -1
  17. package/dist/routes/completions/chat-handler.js +1 -1
  18. package/dist/routes/completions/chat-handler.js.map +1 -1
  19. package/dist/routes/completions/chat-via-run-handler.d.ts.map +1 -1
  20. package/dist/routes/completions/chat-via-run-handler.js +1 -0
  21. package/dist/routes/completions/chat-via-run-handler.js.map +1 -1
  22. package/dist/routes/completions/conversation-turn.d.ts +5 -2
  23. package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
  24. package/dist/routes/completions/conversation-turn.js +82 -5
  25. package/dist/routes/completions/conversation-turn.js.map +1 -1
  26. package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
  27. package/dist/routes/completions/project-loop-runner.js +5 -4
  28. package/dist/routes/completions/project-loop-runner.js.map +1 -1
  29. package/dist/routes/completions/runtime-plan-hook.test.d.ts +2 -0
  30. package/dist/routes/completions/runtime-plan-hook.test.d.ts.map +1 -0
  31. package/dist/routes/completions/runtime-plan-hook.test.js +454 -0
  32. package/dist/routes/completions/runtime-plan-hook.test.js.map +1 -0
  33. package/dist/routes/completions.d.ts +35 -1
  34. package/dist/routes/completions.d.ts.map +1 -1
  35. package/dist/routes/completions.js.map +1 -1
  36. package/dist/routes/config.d.ts.map +1 -1
  37. package/dist/routes/config.js +2 -0
  38. package/dist/routes/config.js.map +1 -1
  39. package/dist/schemas.d.ts +57 -15
  40. package/dist/schemas.d.ts.map +1 -1
  41. package/dist/schemas.js +20 -4
  42. package/dist/schemas.js.map +1 -1
  43. package/package.json +6 -6
@@ -0,0 +1,454 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ import { createRuntimePlan, } from "@polpo-ai/core";
3
+ import { completionRoutes, prepareChatCompletionExecution, } from "../completions.js";
4
+ import { buildChatRunInjection } from "./chat-via-run-handler.js";
5
+ function makePlan() {
6
+ return createRuntimePlan({
7
+ surface: "channel",
8
+ source: "channel",
9
+ model: { selection: "mock", source: "agent" },
10
+ tools: { allowed: ["bash"] },
11
+ audit: { planner: "test-planner" },
12
+ }, {
13
+ createId: () => "plan-1",
14
+ now: () => new Date("2026-07-28T10:00:00.000Z"),
15
+ });
16
+ }
17
+ function makeDeps(overrides = {}) {
18
+ return {
19
+ getAgents: async () => [{
20
+ name: "agent-1",
21
+ model: "mock",
22
+ systemPrompt: "private prompt",
23
+ allowedTools: ["bash"],
24
+ }],
25
+ getConfig: () => ({ settings: { chatExecution: "run" } }),
26
+ getMemoryStore: () => null,
27
+ getSessionStore: () => null,
28
+ getStore: () => null,
29
+ emit: () => { },
30
+ resolveAgentModel: async () => ({
31
+ model: {
32
+ id: "mock",
33
+ name: "Mock",
34
+ provider: "mock",
35
+ runtimeMode: "provider",
36
+ aiModel: {},
37
+ contextWindow: 200_000,
38
+ maxTokens: 8_192,
39
+ },
40
+ }),
41
+ buildAgentPrompt: async () => "private prompt",
42
+ resolveAgentTools: async () => ({
43
+ tools: [],
44
+ executor: async () => "ok",
45
+ }),
46
+ runChatViaRun: async () => ({
47
+ status: "completed",
48
+ result: { exitCode: 0, stdout: "", stderr: "" },
49
+ }),
50
+ ...overrides,
51
+ };
52
+ }
53
+ describe("completion runtime plan hook", () => {
54
+ it("plans with the semantic profile, then resolves a concrete model before provider adaptation", async () => {
55
+ const planningInputs = [];
56
+ const resolvedAgentConfigs = [];
57
+ const deps = makeDeps({
58
+ getAgents: async () => [{
59
+ name: "agent-1",
60
+ model: { profile: "balanced" },
61
+ allowedModelProfiles: ["balanced", "fast"],
62
+ }],
63
+ getConfig: () => ({
64
+ settings: {
65
+ chatExecution: "run",
66
+ modelProfiles: {
67
+ fast: "openai/gpt-4o-mini",
68
+ balanced: {
69
+ primary: "anthropic/claude-sonnet-4",
70
+ fallbacks: [{ profile: "fast" }],
71
+ },
72
+ },
73
+ },
74
+ }),
75
+ resolveRuntimePlan: async (input) => {
76
+ planningInputs.push(input);
77
+ return makePlan();
78
+ },
79
+ resolveAgentModel: async (agentConfig) => {
80
+ resolvedAgentConfigs.push(agentConfig);
81
+ return {
82
+ model: {
83
+ id: "claude-sonnet-4",
84
+ name: "Claude Sonnet 4",
85
+ provider: "anthropic",
86
+ aiModel: {},
87
+ contextWindow: 200_000,
88
+ maxTokens: 8_192,
89
+ },
90
+ };
91
+ },
92
+ });
93
+ const prepared = await prepareChatCompletionExecution(deps, {
94
+ agent: "agent-1",
95
+ stream: false,
96
+ messages: [{ role: "user", content: "hello" }],
97
+ });
98
+ expect(prepared.kind).toBe("chat");
99
+ if (prepared.kind !== "chat")
100
+ throw new Error("Expected chat preparation");
101
+ expect(planningInputs[0].agent.model).toEqual({ profile: "balanced" });
102
+ expect(resolvedAgentConfigs[0].model).toBe("anthropic/claude-sonnet-4");
103
+ expect(prepared.execution.modelSelection).toEqual({
104
+ primary: "anthropic/claude-sonnet-4",
105
+ fallbacks: ["openai/gpt-4o-mini"],
106
+ });
107
+ });
108
+ it("runs after agent/loop authorization and before prompt, model, and tool resolution", async () => {
109
+ const calls = [];
110
+ const plan = makePlan();
111
+ const emit = vi.fn((event) => {
112
+ calls.push(`emit:${event}`);
113
+ });
114
+ const resolveRuntimePlan = vi.fn(async (input) => {
115
+ calls.push("plan");
116
+ expect(Object.isFrozen(input)).toBe(true);
117
+ expect(Object.isFrozen(input.agent)).toBe(true);
118
+ expect(Object.isFrozen(input.agent?.allowedTools)).toBe(true);
119
+ expect(input).toEqual({
120
+ surface: "channel",
121
+ source: "channel",
122
+ execution: {
123
+ mode: "direct",
124
+ source: "default",
125
+ },
126
+ request: {
127
+ agent: "agent-1",
128
+ sandbox: undefined,
129
+ },
130
+ agent: {
131
+ name: "agent-1",
132
+ model: "mock",
133
+ sandbox: undefined,
134
+ allowedTools: ["bash"],
135
+ },
136
+ });
137
+ expect(JSON.stringify(input)).not.toContain("private prompt");
138
+ expect(JSON.stringify(input)).not.toContain("hello from telegram");
139
+ expect(JSON.stringify(input)).not.toContain("untrusted/request-override");
140
+ return plan;
141
+ });
142
+ const deps = makeDeps({
143
+ emit,
144
+ resolveRuntimePlan,
145
+ buildRuntimePrompt: async () => {
146
+ calls.push("prompt");
147
+ return "runtime prompt";
148
+ },
149
+ resolveAgentModel: async () => {
150
+ calls.push("model");
151
+ return {
152
+ model: {
153
+ id: "mock",
154
+ name: "Mock",
155
+ provider: "mock",
156
+ runtimeMode: "provider",
157
+ aiModel: {},
158
+ contextWindow: 200_000,
159
+ maxTokens: 8_192,
160
+ },
161
+ };
162
+ },
163
+ resolveAgentTools: async () => {
164
+ calls.push("tools");
165
+ return { tools: [], executor: async () => "ok" };
166
+ },
167
+ });
168
+ const prepared = await prepareChatCompletionExecution(deps, {
169
+ agent: "agent-1",
170
+ model: "untrusted/request-override",
171
+ stream: false,
172
+ metadata: { source: "channel", provider: "telegram" },
173
+ messages: [{ role: "user", content: "hello from telegram" }],
174
+ }, {
175
+ runtime: { surface: "channel", source: "channel" },
176
+ });
177
+ expect(prepared.kind).toBe("chat");
178
+ if (prepared.kind !== "chat")
179
+ throw new Error("Expected chat preparation");
180
+ expect(calls).toEqual(["plan", "emit:runtime:plan", "prompt", "model", "tools"]);
181
+ expect(emit).toHaveBeenCalledWith("runtime:plan", {
182
+ type: "runtime.plan.resolved",
183
+ plan,
184
+ });
185
+ expect(prepared.execution.runtimePlan).toEqual(plan);
186
+ expect(buildChatRunInjection(prepared.execution).runtimePlan).toBe(prepared.execution.runtimePlan);
187
+ });
188
+ it("plans an authorized loop from its effective, overlaid agent settings", async () => {
189
+ const resolveRuntimePlan = vi.fn(async (input) => {
190
+ expect(input).toMatchObject({
191
+ surface: "agent",
192
+ source: "request",
193
+ execution: {
194
+ mode: "loop",
195
+ loop: "research",
196
+ source: "request",
197
+ },
198
+ request: {
199
+ agent: "agent-1",
200
+ loop: "research",
201
+ },
202
+ agent: {
203
+ name: "agent-1",
204
+ model: "research-model",
205
+ allowedTools: ["read"],
206
+ },
207
+ });
208
+ expect(JSON.stringify(input)).not.toContain("private loop prompt");
209
+ return createRuntimePlan({
210
+ surface: "agent",
211
+ source: "request",
212
+ execution: { mode: "loop", loop: "research", source: "request" },
213
+ model: { selection: "research-model", source: "agent" },
214
+ tools: { allowed: ["read"] },
215
+ }, {
216
+ createId: () => "plan-loop",
217
+ now: () => new Date("2026-07-28T10:00:00.000Z"),
218
+ });
219
+ });
220
+ const deps = makeDeps({
221
+ getAgents: async () => [{
222
+ name: "agent-1",
223
+ model: "mock",
224
+ allowedTools: ["bash"],
225
+ loops: {
226
+ research: {
227
+ model: "research-model",
228
+ tools: ["read"],
229
+ systemPrompt: "private loop prompt",
230
+ },
231
+ },
232
+ }],
233
+ resolveRuntimePlan,
234
+ });
235
+ const prepared = await prepareChatCompletionExecution(deps, {
236
+ agent: "agent-1",
237
+ loop: "research",
238
+ stream: false,
239
+ messages: [{ role: "user", content: "research this" }],
240
+ });
241
+ expect(prepared.kind).toBe("chat");
242
+ expect(resolveRuntimePlan).toHaveBeenCalledOnce();
243
+ });
244
+ it("does not invoke planning for a missing agent or unauthorized loop", async () => {
245
+ const resolveRuntimePlan = vi.fn(async () => makePlan());
246
+ const deps = makeDeps({ resolveRuntimePlan });
247
+ const missingAgent = await prepareChatCompletionExecution(deps, {
248
+ agent: "missing",
249
+ stream: false,
250
+ messages: [{ role: "user", content: "hello" }],
251
+ });
252
+ const missingLoop = await prepareChatCompletionExecution(deps, {
253
+ agent: "agent-1",
254
+ loop: "not-authorized",
255
+ stream: false,
256
+ messages: [{ role: "user", content: "hello" }],
257
+ });
258
+ expect(missingAgent).toMatchObject({ kind: "error", status: 404 });
259
+ expect(missingLoop).toMatchObject({ kind: "error", status: 400 });
260
+ expect(resolveRuntimePlan).not.toHaveBeenCalled();
261
+ });
262
+ it("plans orchestrator mode before resolving its prompt, model, or tools", async () => {
263
+ const calls = [];
264
+ const plan = createRuntimePlan({
265
+ surface: "agent",
266
+ source: "request",
267
+ model: { selection: "orchestrator-model", source: "project" },
268
+ }, {
269
+ createId: () => "plan-orchestrator",
270
+ now: () => new Date("2026-07-28T10:00:00.000Z"),
271
+ });
272
+ const deps = makeDeps({
273
+ resolveRuntimePlan: async (input) => {
274
+ calls.push("plan");
275
+ expect(input).toEqual({
276
+ surface: "agent",
277
+ source: "request",
278
+ execution: { mode: "direct", source: "default" },
279
+ request: { sandbox: undefined },
280
+ });
281
+ return plan;
282
+ },
283
+ resolveOrchestratorContext: async () => {
284
+ calls.push("orchestrator");
285
+ return {
286
+ systemPrompt: "private orchestrator prompt",
287
+ model: {
288
+ id: "orchestrator-model",
289
+ name: "Orchestrator",
290
+ provider: "mock",
291
+ runtimeMode: "provider",
292
+ aiModel: {},
293
+ contextWindow: 200_000,
294
+ maxTokens: 8_192,
295
+ },
296
+ tools: [],
297
+ executor: async () => "ok",
298
+ isInteractive: () => false,
299
+ };
300
+ },
301
+ });
302
+ const prepared = await prepareChatCompletionExecution(deps, {
303
+ stream: false,
304
+ messages: [{ role: "user", content: "hello" }],
305
+ });
306
+ expect(prepared.kind).toBe("chat");
307
+ expect(calls).toEqual(["plan", "orchestrator"]);
308
+ if (prepared.kind !== "chat")
309
+ throw new Error("Expected chat preparation");
310
+ expect(prepared.execution.runtimePlan).toEqual(plan);
311
+ });
312
+ it("plans assigned project loops without resolving their tools early", async () => {
313
+ const resolveAgentTools = vi.fn();
314
+ const plan = createRuntimePlan({
315
+ surface: "agent",
316
+ source: "request",
317
+ execution: { mode: "loop", loop: "pipeline", source: "request" },
318
+ model: { selection: "mock", source: "agent" },
319
+ }, {
320
+ createId: () => "plan-project-loop",
321
+ now: () => new Date("2026-07-28T10:00:00.000Z"),
322
+ });
323
+ const deps = makeDeps({
324
+ getAgents: async () => [{
325
+ name: "agent-1",
326
+ model: "mock",
327
+ assignedLoops: ["pipeline"],
328
+ }],
329
+ getProjectLoop: async () => ({
330
+ name: "pipeline",
331
+ start: "done",
332
+ steps: { done: { type: "agent", next: "end" } },
333
+ }),
334
+ resolveRuntimePlan: async () => plan,
335
+ resolveAgentTools,
336
+ });
337
+ const prepared = await prepareChatCompletionExecution(deps, {
338
+ agent: "agent-1",
339
+ loop: "pipeline",
340
+ stream: false,
341
+ messages: [{ role: "user", content: "run" }],
342
+ });
343
+ expect(prepared.kind).toBe("project-loop");
344
+ if (prepared.kind !== "project-loop")
345
+ throw new Error("Expected project loop");
346
+ expect(prepared.runtimePlan).toEqual(plan);
347
+ expect(resolveAgentTools).not.toHaveBeenCalled();
348
+ });
349
+ it("does not plan or emit anything when the optional hook is absent", async () => {
350
+ const emit = vi.fn();
351
+ const deps = makeDeps({ emit });
352
+ const prepared = await prepareChatCompletionExecution(deps, {
353
+ agent: "agent-1",
354
+ stream: false,
355
+ messages: [{ role: "user", content: "hello" }],
356
+ });
357
+ expect(prepared.kind).toBe("chat");
358
+ if (prepared.kind !== "chat")
359
+ throw new Error("Expected chat preparation");
360
+ expect(prepared.execution.runtimePlan).toBeUndefined();
361
+ expect(buildChatRunInjection(prepared.execution).runtimePlan).toBeUndefined();
362
+ expect(emit).not.toHaveBeenCalledWith("runtime:plan", expect.anything());
363
+ });
364
+ it("fails closed before prompt, model, tools, or session writes when planning fails", async () => {
365
+ const buildAgentPrompt = vi.fn(async () => "prompt");
366
+ const resolveAgentModel = vi.fn();
367
+ const resolveAgentTools = vi.fn();
368
+ const sessionStore = {
369
+ create: vi.fn(),
370
+ addMessage: vi.fn(),
371
+ };
372
+ const deps = makeDeps({
373
+ resolveRuntimePlan: async () => {
374
+ throw new Error("classifier timed out with secret detail");
375
+ },
376
+ buildAgentPrompt,
377
+ resolveAgentModel,
378
+ resolveAgentTools,
379
+ getSessionStore: () => sessionStore,
380
+ });
381
+ const prepared = await prepareChatCompletionExecution(deps, {
382
+ agent: "agent-1",
383
+ stream: false,
384
+ messages: [{ role: "user", content: "hello" }],
385
+ });
386
+ expect(prepared).toEqual({
387
+ kind: "error",
388
+ status: 500,
389
+ body: {
390
+ error: {
391
+ message: "Runtime planning failed",
392
+ type: "server_error",
393
+ code: "runtime_planning_failed",
394
+ },
395
+ },
396
+ });
397
+ expect(buildAgentPrompt).not.toHaveBeenCalled();
398
+ expect(resolveAgentModel).not.toHaveBeenCalled();
399
+ expect(resolveAgentTools).not.toHaveBeenCalled();
400
+ expect(sessionStore.create).not.toHaveBeenCalled();
401
+ expect(sessionStore.addMessage).not.toHaveBeenCalled();
402
+ });
403
+ it("never invokes the planner before HTTP authentication and request validation", async () => {
404
+ const resolveRuntimePlan = vi.fn(async () => makePlan());
405
+ const app = completionRoutes(() => makeDeps({ resolveRuntimePlan }), ["valid-key"]);
406
+ const unauthorized = await app.request("/", {
407
+ method: "POST",
408
+ headers: { "content-type": "application/json" },
409
+ body: JSON.stringify({
410
+ agent: "agent-1",
411
+ messages: [{ role: "user", content: "hello" }],
412
+ }),
413
+ });
414
+ const invalid = await app.request("/", {
415
+ method: "POST",
416
+ headers: {
417
+ "content-type": "application/json",
418
+ authorization: "Bearer valid-key",
419
+ },
420
+ body: JSON.stringify({ agent: "agent-1", messages: [] }),
421
+ });
422
+ expect(unauthorized.status).toBe(401);
423
+ expect(invalid.status).toBe(400);
424
+ expect(resolveRuntimePlan).not.toHaveBeenCalled();
425
+ });
426
+ it("does not trust caller-controlled metadata when classifying an HTTP surface", async () => {
427
+ const resolveRuntimePlan = vi.fn(async (input) => {
428
+ expect(input.surface).toBe("agent");
429
+ expect(input.source).toBe("request");
430
+ return createRuntimePlan({
431
+ surface: input.surface,
432
+ source: input.source,
433
+ model: { selection: "mock", source: "agent" },
434
+ }, {
435
+ createId: () => "plan-http",
436
+ now: () => new Date("2026-07-28T10:00:00.000Z"),
437
+ });
438
+ });
439
+ const app = completionRoutes(() => makeDeps({ resolveRuntimePlan }));
440
+ const response = await app.request("/", {
441
+ method: "POST",
442
+ headers: { "content-type": "application/json" },
443
+ body: JSON.stringify({
444
+ agent: "agent-1",
445
+ stream: false,
446
+ metadata: { source: "channel", provider: "telegram" },
447
+ messages: [{ role: "user", content: "hello" }],
448
+ }),
449
+ });
450
+ expect(response.status).toBe(200);
451
+ expect(resolveRuntimePlan).toHaveBeenCalledOnce();
452
+ });
453
+ });
454
+ //# sourceMappingURL=runtime-plan-hook.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-plan-hook.test.js","sourceRoot":"","sources":["../../../src/routes/completions/runtime-plan-hook.test.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@
29
29
  * - chat-handler.ts — streaming/non-streaming multi-turn chat loop
30
30
  */
31
31
  import { OpenAPIHono } from "@hono/zod-openapi";
32
- import { type LoopRunStore, type ProjectLoopConfig } from "@polpo-ai/core";
32
+ import { type LoopRunStore, type ProfiledModelSelection, type ProjectLoopConfig, type RuntimeDecisionSource, type RuntimeInvocationSource, type RuntimePlan, type RuntimeSurface, type RuntimeSandboxOptions } from "@polpo-ai/core";
33
33
  import type { ApprovalStore } from "@polpo-ai/core/approval-store";
34
34
  import type { ChatSessionInjection } from "@polpo-ai/core";
35
35
  import type { CompletionResolvedModelInfo, ResolvedModelInfo } from "./completions/agent-step-runner.js";
@@ -51,6 +51,12 @@ export interface CompletionRouteDeps {
51
51
  getSessionStore: () => any;
52
52
  getStore: () => any;
53
53
  emit: (event: string, data: any) => void;
54
+ /**
55
+ * Optional pre-execution planner. The input is already authorized and omits
56
+ * messages, prompts, credentials, headers, and provider secrets. When absent,
57
+ * completion execution remains byte-for-byte compatible with the legacy path.
58
+ */
59
+ resolveRuntimePlan?: (input: CompletionRuntimePlanInput) => RuntimePlan | Promise<RuntimePlan>;
54
60
  /** Resolve agent model. Must return an object with aiModel (LanguageModel), provider, contextWindow, maxTokens, and providerOptions. */
55
61
  resolveAgentModel: (agentConfig: any, settingsReasoning?: string) => Promise<{
56
62
  model: ResolvedModelInfo;
@@ -140,5 +146,33 @@ export interface CompletionRouteDeps {
140
146
  isInteractive: (name: string) => boolean;
141
147
  }>;
142
148
  }
149
+ export interface CompletionRuntimePlanInput {
150
+ readonly surface: RuntimeSurface;
151
+ readonly source: RuntimeInvocationSource;
152
+ readonly execution: Readonly<{
153
+ mode: "direct" | "loop";
154
+ loop?: string;
155
+ source: RuntimeDecisionSource;
156
+ }>;
157
+ readonly request: Readonly<{
158
+ agent?: string;
159
+ loop?: string;
160
+ sandbox?: RuntimeSandboxOptions;
161
+ }>;
162
+ readonly agent?: Readonly<{
163
+ name: string;
164
+ model?: ProfiledModelSelection;
165
+ sandbox?: RuntimeSandboxOptions;
166
+ allowedTools?: readonly string[];
167
+ }>;
168
+ }
169
+ /**
170
+ * Trusted invocation identity supplied by an internal surface adapter.
171
+ * Request metadata is intentionally not used for this decision.
172
+ */
173
+ export interface CompletionRuntimeInvocation {
174
+ readonly surface: RuntimeSurface;
175
+ readonly source: RuntimeInvocationSource;
176
+ }
143
177
  export declare function completionRoutes(getDeps: () => CompletionRouteDeps, apiKeys?: string[]): OpenAPIHono;
144
178
  //# sourceMappingURL=completions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,GAGpB,MAAM,oCAAoC,CAAC;AAqG5C,MAAM,UAAU,gBAAgB,CAAC,OAAkC,EAAE,OAAkB;IACrF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IAE9B,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QAEvB,aAAa;QACb,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACxH,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE;YAChE,SAAS,EAAE,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB;YAC/D,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;SAClD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAa,CAAC,CAAC;QACvD,CAAC;QAED,0EAA0E;QAC1E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,cAAc;YAChD,CAAC,CAAC,QAAQ,CAAC,SAAS;YACpB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACrC,OAAO,MAAM,2BAA2B,CAAC,CAAC,EAAE;gBAC1C,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAQ,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,MAAM;gBACjB,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC;gBACtC,CAAC,CAAC,MAAM,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAQ,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,uBAAuB;YACvB,OAAO,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAQ,CAAC;QACnD,CAAC;QACD,2BAA2B;QAC3B,OAAO,MAAM,6BAA6B,CAAC,CAAC,EAAE,SAAS,CAAQ,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"completions.js","sourceRoot":"","sources":["../../src/routes/completions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAoJhE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;IAC1C,SAAS,EAAE,MAAM,GAAG,CAAC;IACrB,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,iFAAiF;IACjF,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,qBAAqB,EAAE,MAAM,GAAG,CAAC;CAClC,GAAG,WAAW,CAmId"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAoJhE;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;IAC1C,SAAS,EAAE,MAAM,GAAG,CAAC;IACrB,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,iFAAiF;IACjF,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,qBAAqB,EAAE,MAAM,GAAG,CAAC;CAClC,GAAG,WAAW,CAoId"}
@@ -183,6 +183,8 @@ export function configRoutes(getDeps) {
183
183
  const settings = config.settings ?? {};
184
184
  if (body.orchestratorModel !== undefined)
185
185
  settings.orchestratorModel = body.orchestratorModel;
186
+ if (body.modelProfiles !== undefined)
187
+ settings.modelProfiles = body.modelProfiles;
186
188
  if (body.imageModel !== undefined)
187
189
  settings.imageModel = body.imageModel === null ? undefined : body.imageModel;
188
190
  if (body.reasoning !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/routes/config.ts"],"names":[],"mappings":"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"}