@duetso/agent 0.3.26 → 0.3.27

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 (48) hide show
  1. package/README.md +9 -7
  2. package/dist/package.json +1 -1
  3. package/dist/src/cli/help.d.ts.map +1 -1
  4. package/dist/src/cli/help.js +12 -9
  5. package/dist/src/cli/help.js.map +1 -1
  6. package/dist/src/cli/model.d.ts.map +1 -1
  7. package/dist/src/cli/model.js +5 -1
  8. package/dist/src/cli/model.js.map +1 -1
  9. package/dist/src/cli/run.d.ts +2 -0
  10. package/dist/src/cli/run.d.ts.map +1 -1
  11. package/dist/src/cli/run.js +33 -10
  12. package/dist/src/cli/run.js.map +1 -1
  13. package/dist/src/cli.d.ts +1 -1
  14. package/dist/src/cli.js +1 -1
  15. package/dist/src/connected-providers/capability-probe.d.ts.map +1 -1
  16. package/dist/src/connected-providers/capability-probe.js +4 -2
  17. package/dist/src/connected-providers/capability-probe.js.map +1 -1
  18. package/dist/src/connected-providers/tokens.d.ts.map +1 -1
  19. package/dist/src/connected-providers/tokens.js +27 -4
  20. package/dist/src/connected-providers/tokens.js.map +1 -1
  21. package/dist/src/memory/observational.js +1 -1
  22. package/dist/src/model-resolution/catalog.d.ts +6 -2
  23. package/dist/src/model-resolution/catalog.d.ts.map +1 -1
  24. package/dist/src/model-resolution/catalog.js +76 -108
  25. package/dist/src/model-resolution/catalog.js.map +1 -1
  26. package/dist/src/model-resolution/duet-gateway.d.ts +5 -0
  27. package/dist/src/model-resolution/duet-gateway.d.ts.map +1 -1
  28. package/dist/src/model-resolution/duet-gateway.js +116 -5
  29. package/dist/src/model-resolution/duet-gateway.js.map +1 -1
  30. package/dist/src/model-resolution/resolver.d.ts +2 -2
  31. package/dist/src/model-resolution/resolver.d.ts.map +1 -1
  32. package/dist/src/model-resolution/resolver.js +4 -4
  33. package/dist/src/model-resolution/resolver.js.map +1 -1
  34. package/dist/src/model-routing/table.js +3 -3
  35. package/dist/src/model-routing/table.js.map +1 -1
  36. package/dist/src/session/session-manager.d.ts.map +1 -1
  37. package/dist/src/session/session-manager.js +1 -1
  38. package/dist/src/session/session-manager.js.map +1 -1
  39. package/dist/src/session/session.d.ts +1 -0
  40. package/dist/src/session/session.d.ts.map +1 -1
  41. package/dist/src/session/session.js +9 -2
  42. package/dist/src/session/session.js.map +1 -1
  43. package/dist/src/turn-runner/turn-runner.d.ts +1 -1
  44. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  45. package/dist/src/turn-runner/turn-runner.js +9 -3
  46. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  47. package/dist/src/types/state-machine.d.ts +1 -1
  48. package/package.json +1 -1
@@ -18,7 +18,7 @@ export const DEFAULT_EFFECTIVE_CONTEXT = 200_000;
18
18
  * Reasoning effort for every observational-memory LLM call (observer +
19
19
  * reflectors). Memory extraction is a cheap, bounded task, so we run it at LOW
20
20
  * effort. This is honored by OpenAI-transport models (openai-responses, e.g.
21
- * the default gpt-5.6-luna, which maps it through the request's reasoning
21
+ * the default gpt-6-luna, which maps it through the request's reasoning
22
22
  * effort) and silently ignored by anthropic-messages transports (e.g. haiku).
23
23
  */
24
24
  const MEMORY_CALL_OPTIONS = { reasoningEffort: "low" };
@@ -17,8 +17,8 @@ export interface ProviderModelCandidate {
17
17
  /** Fully resolved provider:modelId string passed to the runtime model loader. */
18
18
  modelName: string;
19
19
  }
20
- export declare const DEFAULT_CLI_MODEL = "opus-5";
21
- export declare const DEFAULT_CLI_MEMORY_MODEL = "gpt-5.6-luna";
20
+ export declare const DEFAULT_CLI_MODEL = "opus";
21
+ export declare const DEFAULT_CLI_MEMORY_MODEL = "luna";
22
22
  /**
23
23
  * Global provider preference for shorthand resolution. `duet-gateway` must
24
24
  * stay before `vercel-ai-gateway` because CLI startup mirrors DUET_API_KEY into
@@ -76,4 +76,8 @@ export declare const PROVIDER_SHORTHANDS: readonly string[];
76
76
  export declare function pinnedDefaultModel(provider: RouterProviderName): string;
77
77
  /** Build a `provider:modelId` reference for a provider's memory model. */
78
78
  export declare function pinnedMemoryModel(provider: RouterProviderName): string;
79
+ /** Recover family intent erased by older CLI canonicalization, only at resume.
80
+ * Known replaced provider defaults retain their transport and recover the family;
81
+ * unknown pins and historical message attribution stay untouched. */
82
+ export declare function resumeModelSelection(modelName: string | undefined): string | undefined;
79
83
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { DUET_GATEWAY_API_KEY_ENV } from "./duet-gateway.js";
2
- export const DEFAULT_CLI_MODEL = "opus-5";
3
- export const DEFAULT_CLI_MEMORY_MODEL = "gpt-5.6-luna";
2
+ export const DEFAULT_CLI_MODEL = "opus";
3
+ export const DEFAULT_CLI_MEMORY_MODEL = "luna";
4
4
  /**
5
5
  * Global provider preference for shorthand resolution. `duet-gateway` must
6
6
  * stay before `vercel-ai-gateway` because CLI startup mirrors DUET_API_KEY into
@@ -26,52 +26,14 @@ const MEMORY_MODEL_BY_PROVIDER = {
26
26
  };
27
27
  const MODEL_DEFINITIONS = [
28
28
  {
29
- // The github-copilot and openrouter ids follow the 5-series naming Fable 5
30
- // already uses, ahead of confirmation that either serves Opus 5. Both fail
31
- // soft: an unserved copilot model errors before any output, so
32
- // `nextTransportAfterConnectedFailure` demotes the connection and retries on
33
- // a gateway. Keeping copilot listed is what preserves plan coverage for the
34
- // `opus` alias — dropping it silently moves subscribers onto metered billing.
35
29
  family: "opus",
36
- shorthand: "opus-5",
37
- aliases: ["claude-opus-5", "anthropic/claude-opus-5"],
30
+ shorthand: "opus-5.5",
31
+ aliases: ["claude-opus-5.5", "anthropic/claude-opus-5.5"],
38
32
  modelsByProvider: {
39
- "duet-gateway": "anthropic/claude-opus-5",
40
- "vercel-ai-gateway": "anthropic/claude-opus-5",
41
- openrouter: "anthropic/claude-opus-5",
42
- "github-copilot": "claude-opus-5",
43
- },
44
- },
45
- {
46
- family: "opus",
47
- shorthand: "opus-4.8",
48
- aliases: [
49
- "claude-opus-4.8",
50
- "claude-opus-4-8",
51
- "anthropic/claude-opus-4.8",
52
- "anthropic/claude-opus-4-8",
53
- ],
54
- modelsByProvider: {
55
- "duet-gateway": "anthropic/claude-opus-4.8",
56
- "vercel-ai-gateway": "anthropic/claude-opus-4.8",
57
- openrouter: "anthropic/claude-opus-4.8",
58
- "github-copilot": "claude-opus-4.8",
59
- },
60
- },
61
- {
62
- family: "opus",
63
- shorthand: "opus-4.7",
64
- aliases: [
65
- "claude-opus-4.7",
66
- "claude-opus-4-7",
67
- "anthropic/claude-opus-4.7",
68
- "anthropic/claude-opus-4-7",
69
- ],
70
- modelsByProvider: {
71
- "duet-gateway": "anthropic/claude-opus-4.7",
72
- "vercel-ai-gateway": "anthropic/claude-opus-4.7",
73
- openrouter: "anthropic/claude-opus-4.7",
74
- "github-copilot": "claude-opus-4.7",
33
+ "duet-gateway": "anthropic/claude-opus-5.5",
34
+ "vercel-ai-gateway": "anthropic/claude-opus-5.5",
35
+ openrouter: "anthropic/claude-opus-5.5",
36
+ "github-copilot": "claude-opus-5.5",
75
37
  },
76
38
  },
77
39
  {
@@ -122,36 +84,24 @@ const MODEL_DEFINITIONS = [
122
84
  // which would silently drop the low reasoning effort the observer and
123
85
  // reflectors request; see `gatewayApi` in duet-gateway.ts.
124
86
  family: "luna",
125
- shorthand: "gpt-5.6-luna",
126
- aliases: ["openai/gpt-5.6-luna", "openai/gpt-5-6-luna"],
87
+ shorthand: "gpt-6-luna",
88
+ aliases: ["openai/gpt-6-luna"],
127
89
  modelsByProvider: {
128
- "duet-gateway": "openai/gpt-5.6-luna",
129
- "vercel-ai-gateway": "openai/gpt-5.6-luna",
130
- openrouter: "openai/gpt-5.6-luna",
131
- "openai-codex": "gpt-5.6-luna",
90
+ "duet-gateway": "openai/gpt-6-luna",
91
+ "vercel-ai-gateway": "openai/gpt-6-luna",
92
+ openrouter: "openai/gpt-6-luna",
93
+ "openai-codex": "gpt-6-luna",
132
94
  },
133
95
  },
134
96
  {
135
97
  family: "sol",
136
- shorthand: "gpt-5.6-sol",
137
- aliases: ["openai/gpt-5.6-sol", "openai/gpt-5-6-sol"],
138
- modelsByProvider: {
139
- "duet-gateway": "openai/gpt-5.6-sol",
140
- "vercel-ai-gateway": "openai/gpt-5.6-sol",
141
- openrouter: "openai/gpt-5.6-sol",
142
- "openai-codex": "gpt-5.6-sol",
143
- },
144
- maxOutputTokens: 128000,
145
- },
146
- {
147
- family: "terra",
148
- shorthand: "gpt-5.6-terra",
149
- aliases: ["openai/gpt-5.6-terra", "openai/gpt-5-6-terra"],
98
+ shorthand: "gpt-6-sol",
99
+ aliases: ["openai/gpt-6-sol"],
150
100
  modelsByProvider: {
151
- "duet-gateway": "openai/gpt-5.6-terra",
152
- "vercel-ai-gateway": "openai/gpt-5.6-terra",
153
- openrouter: "openai/gpt-5.6-terra",
154
- "openai-codex": "gpt-5.6-terra",
101
+ "duet-gateway": "openai/gpt-6-sol",
102
+ "vercel-ai-gateway": "openai/gpt-6-sol",
103
+ openrouter: "openai/gpt-6-sol",
104
+ "openai-codex": "gpt-6-sol",
155
105
  },
156
106
  maxOutputTokens: 128000,
157
107
  },
@@ -180,16 +130,14 @@ const MODEL_DEFINITIONS = [
180
130
  maxOutputTokens: 131072,
181
131
  },
182
132
  {
183
- // xAI's Grok 4.3 is routed through the duet/vercel gateways under the
184
- // `xai/grok-4.3` model id. We do not currently configure a direct xAI
185
- // provider, so the gateway entries are the only routes.
133
+ // Gateway and OpenRouter use different vendor namespaces for Grok.
186
134
  family: "grok",
187
- shorthand: "grok-4.3",
188
- aliases: ["xai/grok-4.3", "xai/grok-4-3", "grok-4-3"],
135
+ shorthand: "grok-4.7",
136
+ aliases: ["spacexai/grok-4.7", "spacexai/grok-4-7", "grok-4-7"],
189
137
  modelsByProvider: {
190
- "duet-gateway": "xai/grok-4.3",
191
- "vercel-ai-gateway": "xai/grok-4.3",
192
- openrouter: "x-ai/grok-4.3",
138
+ "duet-gateway": "spacexai/grok-4.7",
139
+ "vercel-ai-gateway": "spacexai/grok-4.7",
140
+ openrouter: "x-ai/grok-4.7",
193
141
  },
194
142
  },
195
143
  {
@@ -221,9 +169,8 @@ const MODEL_DEFINITIONS = [
221
169
  maxOutputTokens: 262144,
222
170
  },
223
171
  {
224
- // Leads the fable family, so the `fable` alias the advisor routes on
225
- // resolves here. The github-copilot id is a guess that fails soft the way
226
- // opus-5's does.
172
+ // Leads the fable family used by the advisor. Connected-account
173
+ // availability is still checked by the provider hook.
227
174
  family: "fable",
228
175
  shorthand: "fable-5.1",
229
176
  aliases: [
@@ -252,29 +199,16 @@ const MODEL_DEFINITIONS = [
252
199
  },
253
200
  },
254
201
  {
255
- // Zhipu's GLM 5.2 is routed through the duet/vercel gateways under the
256
- // `zai/glm-5.2` model id and through OpenRouter as `z-ai/glm-5.2`. We do not
257
- // configure a direct Zhipu provider, so these are the only routes.
258
- family: "glm",
259
- shorthand: "glm-5.2",
260
- aliases: ["zai/glm-5.2", "z-ai/glm-5.2", "glm-5-2"],
261
- modelsByProvider: {
262
- "duet-gateway": "zai/glm-5.2",
263
- "vercel-ai-gateway": "zai/glm-5.2",
264
- openrouter: "z-ai/glm-5.2",
265
- },
266
- },
267
- {
268
- // Zhipu's GLM 4.7 is routed through the duet/vercel gateways under the
269
- // `zai/glm-4.7` model id and through OpenRouter as `z-ai/glm-4.7`. We do not
202
+ // Zhipu's GLM 5.3 is routed through the duet/vercel gateways under the
203
+ // `zai/glm-5.3` model id and through OpenRouter as `z-ai/glm-5.3`. We do not
270
204
  // configure a direct Zhipu provider, so these are the only routes.
271
205
  family: "glm",
272
- shorthand: "glm-4.7",
273
- aliases: ["zai/glm-4.7", "z-ai/glm-4.7", "glm-4-7"],
206
+ shorthand: "glm-5.3",
207
+ aliases: ["zai/glm-5.3", "z-ai/glm-5.3", "glm-5-3"],
274
208
  modelsByProvider: {
275
- "duet-gateway": "zai/glm-4.7",
276
- "vercel-ai-gateway": "zai/glm-4.7",
277
- openrouter: "z-ai/glm-4.7",
209
+ "duet-gateway": "zai/glm-5.3",
210
+ "vercel-ai-gateway": "zai/glm-5.3",
211
+ openrouter: "z-ai/glm-5.3",
278
212
  },
279
213
  },
280
214
  ];
@@ -284,6 +218,9 @@ for (const definition of MODEL_DEFINITIONS) {
284
218
  familyLatest[definition.family] ??= definition.shorthand;
285
219
  (shorthandsByFamily[definition.family] ??= []).push(definition.shorthand);
286
220
  }
221
+ // Terra remains a durable selection for the coding role now served by Sol.
222
+ familyLatest.terra = familyLatest.sol;
223
+ shorthandsByFamily.terra = shorthandsByFamily.sol;
287
224
  /**
288
225
  * Every curated shorthand, grouped by family in catalog order. Exported so
289
226
  * coverage checks enumerate the catalog itself rather than a hand-maintained
@@ -396,17 +333,48 @@ export function resolveProviderShorthand(name) {
396
333
  export const PROVIDER_SHORTHANDS = ["duet", "vercel", "openrouter"];
397
334
  /** Build a `provider:modelId` reference for a provider's default chat model. */
398
335
  export function pinnedDefaultModel(provider) {
399
- return pinnedShorthand(provider, getProviderDefaultModel(provider));
336
+ return `${provider}:${getProviderDefaultModel(provider)}`;
400
337
  }
401
338
  /** Build a `provider:modelId` reference for a provider's memory model. */
402
339
  export function pinnedMemoryModel(provider) {
403
- return pinnedShorthand(provider, getProviderMemoryModel(provider));
340
+ return `${provider}:${getProviderMemoryModel(provider)}`;
404
341
  }
405
- function pinnedShorthand(provider, shorthand) {
406
- const candidate = getModelCandidates(shorthand).find((entry) => entry.provider === provider);
407
- if (!candidate) {
408
- throw new Error(`Provider ${provider} has no model mapping for ${shorthand}`);
342
+ /** Recover family intent erased by older CLI canonicalization, only at resume.
343
+ * Known replaced provider defaults retain their transport and recover the family;
344
+ * unknown pins and historical message attribution stay untouched. */
345
+ export function resumeModelSelection(modelName) {
346
+ const savedFamilies = {
347
+ "opus-5": "opus",
348
+ "opus-4.8": "opus",
349
+ "opus-4.7": "opus",
350
+ "gpt-5.6-sol": "sol",
351
+ "gpt-5.6-terra": "terra",
352
+ "gpt-5.6-luna": "luna",
353
+ "grok-4.3": "grok",
354
+ "glm-5.2": "glm",
355
+ "glm-4.7": "glm",
356
+ };
357
+ if (modelName === undefined)
358
+ return undefined;
359
+ const separator = modelName.indexOf(":");
360
+ const id = separator === -1 ? modelName : modelName.slice(separator + 1);
361
+ const family = savedFamilies[id
362
+ .toLowerCase()
363
+ .replace(/^(?:anthropic|openai|xai|x-ai|zai|z-ai)\//, "")
364
+ .replace(/^claude-/, "")];
365
+ if (!family)
366
+ return modelName;
367
+ if (separator === -1)
368
+ return family;
369
+ const rawProvider = modelName.slice(0, separator);
370
+ const router = resolveProviderShorthand(rawProvider);
371
+ if (router)
372
+ return `${rawProvider}:${family}`;
373
+ if (rawProvider === "openai-codex" || rawProvider === "github-copilot") {
374
+ const target = transportModelId(rawProvider, family);
375
+ if (target)
376
+ return `${rawProvider}:${target}`;
409
377
  }
410
- return candidate.modelName;
378
+ return modelName;
411
379
  }
412
380
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAiE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC;IAC3D;QACE,QAAQ,EAAE,cAAc;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC;KAC9F;IACD,EAAE,QAAQ,EAAE,mBAAmB,EAAE;IACjC,EAAE,QAAQ,EAAE,YAAY,EAAE;CAC3B,CAAC;AAEF,MAAM,yBAAyB,GAAuC;IACpE,cAAc,EAAE,iBAAiB;IACjC,mBAAmB,EAAE,iBAAiB;IACtC,UAAU,EAAE,iBAAiB;CAC9B,CAAC;AAEF,MAAM,wBAAwB,GAAuC;IACnE,cAAc,EAAE,wBAAwB;IACxC,mBAAmB,EAAE,wBAAwB;IAC7C,UAAU,EAAE,wBAAwB;CACrC,CAAC;AAEF,MAAM,iBAAiB,GAA+B;IACpD;QACE,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;QACzD,gBAAgB,EAAE;YAChB,cAAc,EAAE,2BAA2B;YAC3C,mBAAmB,EAAE,2BAA2B;YAChD,UAAU,EAAE,2BAA2B;YACvC,gBAAgB,EAAE,iBAAiB;SACpC;KACF;IACD;QACE,qEAAqE;QACrE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;QACzD,gBAAgB,EAAE;YAChB,cAAc,EAAE,2BAA2B;YAC3C,mBAAmB,EAAE,2BAA2B;SACjD;KACF;IACD;QACE,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE;YACP,mBAAmB;YACnB,mBAAmB;YACnB,6BAA6B;YAC7B,6BAA6B;SAC9B;QACD,gBAAgB,EAAE;YAChB,cAAc,EAAE,6BAA6B;YAC7C,mBAAmB,EAAE,6BAA6B;YAClD,UAAU,EAAE,6BAA6B;YACzC,gBAAgB,EAAE,mBAAmB;SACtC;KACF;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE;YACP,kBAAkB;YAClB,kBAAkB;YAClB,4BAA4B;YAC5B,4BAA4B;SAC7B;QACD,gBAAgB,EAAE;YAChB,cAAc,EAAE,4BAA4B;YAC5C,mBAAmB,EAAE,4BAA4B;YACjD,UAAU,EAAE,4BAA4B;YACxC,gBAAgB,EAAE,kBAAkB;SACrC;KACF;IACD;QACE,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;QAC9B,gBAAgB,EAAE;YAChB,cAAc,EAAE,mBAAmB;YACnC,mBAAmB,EAAE,mBAAmB;YACxC,UAAU,EAAE,mBAAmB;YAC/B,cAAc,EAAE,YAAY;SAC7B;KACF;IACD;QACE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,CAAC,kBAAkB,CAAC;QAC7B,gBAAgB,EAAE;YAChB,cAAc,EAAE,kBAAkB;YAClC,mBAAmB,EAAE,kBAAkB;YACvC,UAAU,EAAE,kBAAkB;YAC9B,cAAc,EAAE,WAAW;SAC5B;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,aAAa;QACxB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,gBAAgB,EAAE;YAChB,cAAc,EAAE,oBAAoB;YACpC,mBAAmB,EAAE,oBAAoB;YACzC,UAAU,EAAE,oBAAoB;YAChC,cAAc,EAAE,aAAa;SAC9B;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,CAAC,oBAAoB,CAAC;QAC/B,gBAAgB,EAAE;YAChB,cAAc,EAAE,oBAAoB;YACpC,mBAAmB,EAAE,oBAAoB;YACzC,UAAU,EAAE,oBAAoB;SACjC;QACD,kEAAkE;QAClE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,mEAAmE;QACnE,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,CAAC;QAC/D,gBAAgB,EAAE;YAChB,cAAc,EAAE,mBAAmB;YACnC,mBAAmB,EAAE,mBAAmB;YACxC,UAAU,EAAE,eAAe;SAC5B;KACF;IACD;QACE,oEAAoE;QACpE,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,8BAA8B,CAAC;QACzC,gBAAgB,EAAE;YAChB,cAAc,EAAE,8BAA8B;YAC9C,mBAAmB,EAAE,8BAA8B;YACnD,UAAU,EAAE,8BAA8B;SAC3C;KACF;IACD;QACE,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,eAAe;QACf,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,iBAAiB;QAC5B,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,gBAAgB,EAAE;YAChB,cAAc,EAAE,0BAA0B;YAC1C,mBAAmB,EAAE,0BAA0B;YAC/C,UAAU,EAAE,0BAA0B;SACvC;QACD,yEAAyE;QACzE,8DAA8D;QAC9D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,gEAAgE;QAChE,sDAAsD;QACtD,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE;YACP,kBAAkB;YAClB,kBAAkB;YAClB,4BAA4B;YAC5B,4BAA4B;SAC7B;QACD,gBAAgB,EAAE;YAChB,cAAc,EAAE,4BAA4B;YAC5C,mBAAmB,EAAE,4BAA4B;YACjD,UAAU,EAAE,4BAA4B;YACxC,gBAAgB,EAAE,kBAAkB;SACrC;KACF;IACD;QACE,0DAA0D;QAC1D,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;QACvD,gBAAgB,EAAE;YAChB,cAAc,EAAE,0BAA0B;YAC1C,mBAAmB,EAAE,0BAA0B;YAC/C,UAAU,EAAE,0BAA0B;YACtC,gBAAgB,EAAE,gBAAgB;SACnC;KACF;IACD;QACE,uEAAuE;QACvE,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC;QACnD,gBAAgB,EAAE;YAChB,cAAc,EAAE,aAAa;YAC7B,mBAAmB,EAAE,aAAa;YAClC,UAAU,EAAE,cAAc;SAC3B;KACF;CACF,CAAC;AAEF,MAAM,YAAY,GAAwC,EAAE,CAAC;AAC7D,MAAM,kBAAkB,GAA0C,EAAE,CAAC;AACrE,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAC3C,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC;IACzD,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,2EAA2E;AAC3E,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC;AACtC,kBAAkB,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAC/C,kBAA2D,CAC5D,CAAC;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,YAA0C,CAAC,CAAC;AAEvF,2FAA2F;AAC3F,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAgB,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAA8C,KAAQ;IAC1F,4EAA4E;IAC5E,8EAA8E;IAC9E,2CAA2C;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;IAC3D,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA4B;IAClE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAA4B;IACjE,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,SAAS,IAAI,SAAS,CAAC;AAChE,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,gBAAgB,CAAC,SAAwB,EAAE,SAAiB;IAC1E,OAAO,mBAAmB,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACrE,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACxD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CACxC,SAAwB,EACxB,OAAe;IAEf,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;QAC/F,EAAE,SAAS,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAA4B,EAAE,OAAe;IACvF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAChC,OAAO,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3D,OAAO,iBAAiB,CAAC,IAAI,CAC3B,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,SAAS,KAAK,CAAC,eAAe,IAAI,UAAU,CAAC;QACxD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB,CAAC;QACzB,KAAK,YAAY;YACf,OAAO,mBAAmB,CAAC;QAC7B,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAEvF,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,QAA4B;IAC7D,OAAO,GAAG,QAAQ,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB,CAAC,QAA4B;IAC5D,OAAO,GAAG,QAAQ,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;qEAEqE;AACrE,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,MAAM,aAAa,GAAyC;QAC1D,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,MAAM;QAClB,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,OAAO;QACxB,cAAc,EAAE,MAAM;QACtB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,KAAK;KACjB,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GACV,aAAa,CACX,EAAE;SACC,WAAW,EAAE;SACb,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC;SACxD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAC3B,CAAC;IACJ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,OAAO,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;IAC9C,IAAI,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,OAAO,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -43,6 +43,11 @@ export declare const GATEWAY_ROUTES: readonly GatewayRoute[];
43
43
  export declare function gatewayRoute(providerId: string): GatewayRoute | undefined;
44
44
  /** The catalog's spec for `provider:modelId`, or the clone standing in for one it lacks. */
45
45
  export declare function catalogModel(provider: string, modelId: string): Model<Api> | undefined;
46
+ /**
47
+ * Clones `provider` publishes a contract for and whose source it ships; any
48
+ * other is dropped rather than guessed at.
49
+ */
50
+ export declare function missingCatalogModels(provider: string, models?: readonly Model<Api>[]): Model<Api>[];
46
51
  /**
47
52
  * A gateway as a first-class pi-ai provider.
48
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAiB/B,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAGpE;AAQD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,IAAI,MAAM,CAAC;IACjB,IAAI,IAAI,YAAY,CAAC;IACrB,gEAAgE;IAChE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC/C;AAyBD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAmC,CAAC;AAEtF,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE;AA4JD,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAKtF;AA8BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAa7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAUpF;AAmCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU1E"}
1
+ {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAiB/B,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAGpE;AAQD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,IAAI,MAAM,CAAC;IACjB,IAAI,IAAI,YAAY,CAAC;IACrB,gEAAgE;IAChE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC/C;AAyBD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAAmC,CAAC;AAEtF,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE;AA0QD,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAKtF;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,GAC7B,KAAK,CAAC,GAAG,CAAC,EAAE,CAkBd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAa7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAUpF;AAmCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU1E"}
@@ -164,13 +164,49 @@ function rebaseOntoGateway(model, route, origin) {
164
164
  * a second copy of it here would silently go stale.
165
165
  */
166
166
  function gatewayCapabilityGaps(modelId) {
167
- // GLM 5.2's maximum reasoning mode is reached with `"max"`; without the map
168
- // the product's `xhigh` setting reaches the wire as a level GLM ignores.
169
- if (modelId === "zai/glm-5.2") {
167
+ if (modelId === "openai/gpt-6-sol" || modelId === "openai/gpt-6-luna") {
168
+ return { thinkingLevelMap: { minimal: "low", xhigh: "xhigh", max: "max" } };
169
+ }
170
+ // GLM accepts max rather than xhigh on the gateway reasoning-effort surface.
171
+ if (modelId === "zai/glm-5.3") {
170
172
  return { thinkingLevelMap: { xhigh: "max" }, compat: { forceAdaptiveThinking: true } };
171
173
  }
172
174
  return undefined;
173
175
  }
176
+ // The two metered catalogs publish the same contract for these models.
177
+ // Connected transports reuse their costs while retaining conservative donor limits.
178
+ const OPUS_5_5_CONTRACT = {
179
+ input: ["text", "image"],
180
+ contextWindow: 1_000_000,
181
+ maxTokens: 128_000,
182
+ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 },
183
+ };
184
+ const SOL_6_CONTRACT = {
185
+ input: ["text", "image"],
186
+ contextWindow: 1_050_000,
187
+ maxTokens: 128_000,
188
+ cost: {
189
+ input: 2,
190
+ output: 10,
191
+ cacheRead: 0.2,
192
+ cacheWrite: 2.5,
193
+ tiers: [{ inputTokensAbove: 272000, input: 4, output: 15, cacheRead: 0.4, cacheWrite: 5 }],
194
+ },
195
+ };
196
+ const LUNA_6_CONTRACT = {
197
+ input: ["text", "image"],
198
+ contextWindow: 1_050_000,
199
+ maxTokens: 128_000,
200
+ cost: {
201
+ input: 0.1,
202
+ output: 0.5,
203
+ cacheRead: 0.01,
204
+ cacheWrite: 0.125,
205
+ tiers: [
206
+ { inputTokensAbove: 272000, input: 0.2, output: 0.75, cacheRead: 0.02, cacheWrite: 0.25 },
207
+ ],
208
+ },
209
+ };
174
210
  /**
175
211
  * Models the routers serve that pi-ai's catalog has not shipped, each cloned
176
212
  * from a shipped sibling with only the fields whose published contract differs.
@@ -181,6 +217,78 @@ function gatewayCapabilityGaps(modelId) {
181
217
  * provider would not resolve the id at all.
182
218
  */
183
219
  const MISSING_MODEL_CLONES = [
220
+ {
221
+ from: "claude-opus-5",
222
+ to: "claude-opus-5.5",
223
+ name: "Claude Opus 5.5",
224
+ byProvider: { "github-copilot": { cost: OPUS_5_5_CONTRACT.cost } },
225
+ },
226
+ {
227
+ from: "gpt-5.6-sol",
228
+ to: "gpt-6-sol",
229
+ name: "GPT-6 Sol",
230
+ byProvider: { "openai-codex": { cost: SOL_6_CONTRACT.cost } },
231
+ },
232
+ {
233
+ from: "gpt-5.6-luna",
234
+ to: "gpt-6-luna",
235
+ name: "GPT-6 Luna",
236
+ byProvider: { "openai-codex": { cost: LUNA_6_CONTRACT.cost } },
237
+ },
238
+ {
239
+ from: "anthropic/claude-opus-5",
240
+ to: "anthropic/claude-opus-5.5",
241
+ name: "Claude Opus 5.5",
242
+ byProvider: { "vercel-ai-gateway": OPUS_5_5_CONTRACT, openrouter: OPUS_5_5_CONTRACT },
243
+ },
244
+ {
245
+ from: "openai/gpt-5.6-sol",
246
+ to: "openai/gpt-6-sol",
247
+ name: "GPT-6 Sol",
248
+ byProvider: { "vercel-ai-gateway": SOL_6_CONTRACT, openrouter: SOL_6_CONTRACT },
249
+ },
250
+ {
251
+ from: "openai/gpt-5.6-luna",
252
+ to: "openai/gpt-6-luna",
253
+ name: "GPT-6 Luna",
254
+ byProvider: { "vercel-ai-gateway": LUNA_6_CONTRACT, openrouter: LUNA_6_CONTRACT },
255
+ },
256
+ {
257
+ from: "x-ai/grok-4.3",
258
+ to: "x-ai/grok-4.7",
259
+ name: "Grok 4.7",
260
+ byProvider: {
261
+ openrouter: {
262
+ input: ["text", "image"],
263
+ contextWindow: 500000,
264
+ maxTokens: 450000,
265
+ cost: {
266
+ input: 1.6,
267
+ output: 4.8,
268
+ cacheRead: 0.4,
269
+ cacheWrite: 0,
270
+ },
271
+ },
272
+ },
273
+ },
274
+ {
275
+ from: "spacexai/grok-4.6",
276
+ to: "spacexai/grok-4.7",
277
+ name: "Grok 4.7",
278
+ byProvider: {
279
+ "vercel-ai-gateway": {
280
+ input: ["text", "image"],
281
+ contextWindow: 500000,
282
+ maxTokens: 500000,
283
+ cost: {
284
+ input: 1.2,
285
+ output: 3.6,
286
+ cacheRead: 0.3,
287
+ cacheWrite: 0,
288
+ },
289
+ },
290
+ },
291
+ },
184
292
  {
185
293
  from: "deepseek/deepseek-v4-flash",
186
294
  to: "deepseek/deepseek-v4.1-flash",
@@ -213,10 +321,13 @@ function shippedModel(provider, modelId) {
213
321
  * Clones `provider` publishes a contract for and whose source it ships; any
214
322
  * other is dropped rather than guessed at.
215
323
  */
216
- function missingCatalogModels(provider) {
324
+ export function missingCatalogModels(provider, models) {
217
325
  return MISSING_MODEL_CLONES.flatMap((clone) => {
326
+ const lookup = (id) => models ? models.find((model) => model.id === id) : shippedModel(provider, id);
327
+ if (lookup(clone.to))
328
+ return [];
218
329
  const contract = clone.byProvider[provider];
219
- const source = contract && shippedModel(provider, clone.from);
330
+ const source = contract && lookup(clone.from);
220
331
  if (!source)
221
332
  return [];
222
333
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"duet-gateway.js","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duet-gateway.js","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { connectedTransportSnapshot } from "../cli/shared.js";
5
5
  import { type ConnectedProviderId } from "../connected-providers/store.js";
6
6
  export { DEFAULT_CLI_MEMORY_MODEL, DEFAULT_CLI_MODEL } from "./catalog.js";
7
7
  /**
8
- * Resolves which provider:modelId the CLI talks to, plus the provenance for
9
- * that decision (explicit flag, inferred from env, or built-in fallback). The
8
+ * Retains the CLI selection and its provenance (explicit flag, inferred
9
+ * provider credentials, or routing-table default). The
10
10
  * shape lives in its own module so cli.ts stays focused on argv parsing and
11
11
  * the I/O harness — provider list changes don't touch the CLI surface.
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAYL,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAO9D,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CA6B1D;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAErE;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAC;AAMF,+EAA+E;AAC/E,wBAAgB,yBAAyB,IAAI,kBAAkB,EAAE,CAIhE;AAaD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAOjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,YAAY,GAAE,YAAqC,GAClD,eAAe,CAQjB;AAiED,UAAU,oCAAoC;IAC5C,QAAQ,IAAI,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;IAC1D,MAAM,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1D,SAAS,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5F,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC9C;AASD,mFAAmF;AACnF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,oCAA2E,GAChF,MAAM,CAsBR;AAcD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAU3E"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAaL,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAO9D,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,sGAAsG;IACtG,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CA6B1D;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAErE;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAC;AAMF,+EAA+E;AAC/E,wBAAgB,yBAAyB,IAAI,kBAAkB,EAAE,CAIhE;AAaD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAOjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EACvB,YAAY,GAAE,YAAqC,GAClD,eAAe,CAQjB;AAkED,UAAU,oCAAoC;IAC5C,QAAQ,IAAI,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;IAC1D,MAAM,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1D,SAAS,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5F,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC9C;AASD,mFAAmF;AACnF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,oCAA2E,GAChF,MAAM,CAsBR;AAcD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAU3E"}
@@ -1,7 +1,7 @@
1
1
  import { findEnvKeys } from "@earendil-works/pi-ai/compat";
2
2
  import { BUILT_IN_ROUTING_TABLE, isVirtualModel, } from "../model-routing/table.js";
3
3
  import { catalogModel, gatewayRoute, resolveGatewayModel } from "./duet-gateway.js";
4
- import { canonicalizeModelName, canonicalizeProviderModelId, clampModelOutputTokens, DEFAULT_CLI_MEMORY_MODEL, getModelCandidates, getProviderDefaultModel, getProviderMemoryModel, isKnownShorthand, isProviderPinnedModelName, PROVIDER_ORDER, resolveProviderShorthand, } from "./catalog.js";
4
+ import { canonicalizeModelName, resolveFamilyShorthand, canonicalizeProviderModelId, clampModelOutputTokens, DEFAULT_CLI_MEMORY_MODEL, getModelCandidates, getProviderDefaultModel, getProviderMemoryModel, isKnownShorthand, isProviderPinnedModelName, PROVIDER_ORDER, resolveProviderShorthand, } from "./catalog.js";
5
5
  import { connectedTransportSnapshot } from "../cli/shared.js";
6
6
  import { chooseTransport } from "../connected-providers/transport-preference.js";
7
7
  import { applyConnectedModelHook, connectedProviderApiKey, refreshConnectedTokenInBackground, } from "../connected-providers/tokens.js";
@@ -16,8 +16,8 @@ export function resolveModelName(model) {
16
16
  const rawProvider = model.slice(0, separator);
17
17
  const rawModelId = model.slice(separator + 1);
18
18
  // The CLI supports only the router providers (duet-gateway, vercel-ai-gateway,
19
- // openrouter). Any other explicit pin — e.g. `anthropic:claude-opus-5` or
20
- // `openai:gpt-5.6-sol` — is an unknown provider here: `resolveProviderShorthand`
19
+ // openrouter). Any other explicit pin — e.g. `anthropic:claude-opus-5.5` or
20
+ // `openai:gpt-6-sol` — is an unknown provider here: `resolveProviderShorthand`
21
21
  // returns undefined, the raw provider passes through, and `getModel` below
22
22
  // forwards it to pi-ai unchanged. That's incidental passthrough, not a
23
23
  // supported path: pi-ai resolves it if it ships that provider/id and the
@@ -84,7 +84,7 @@ function resolveCliModelWith(modelName, providerInference, dotenvKeys, defaultMo
84
84
  throw new Error(`Unknown virtual model tier "${modelName}" in the active routing table.`);
85
85
  }
86
86
  return {
87
- modelName: isProviderPinnedModelName(modelName)
87
+ modelName: isProviderPinnedModelName(modelName) || resolveFamilyShorthand(modelName)
88
88
  ? modelName
89
89
  : canonicalizeModelName(modelName),
90
90
  source: "explicit",