@duetso/agent 0.2.6 → 0.3.1

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 (221) hide show
  1. package/README.md +29 -16
  2. package/dist/package.json +8 -3
  3. package/dist/src/cli/auto-upgrade.d.ts.map +1 -1
  4. package/dist/src/cli/auto-upgrade.js +7 -54
  5. package/dist/src/cli/auto-upgrade.js.map +1 -1
  6. package/dist/src/cli/connect.d.ts +45 -0
  7. package/dist/src/cli/connect.d.ts.map +1 -0
  8. package/dist/src/cli/connect.js +265 -0
  9. package/dist/src/cli/connect.js.map +1 -0
  10. package/dist/src/cli/help.d.ts +1 -0
  11. package/dist/src/cli/help.d.ts.map +1 -1
  12. package/dist/src/cli/help.js +66 -32
  13. package/dist/src/cli/help.js.map +1 -1
  14. package/dist/src/cli/memory-add.d.ts +18 -13
  15. package/dist/src/cli/memory-add.d.ts.map +1 -1
  16. package/dist/src/cli/memory-add.js +91 -32
  17. package/dist/src/cli/memory-add.js.map +1 -1
  18. package/dist/src/cli/memory-recall.d.ts.map +1 -1
  19. package/dist/src/cli/memory-recall.js +3 -0
  20. package/dist/src/cli/memory-recall.js.map +1 -1
  21. package/dist/src/cli/memory-sources.d.ts +20 -0
  22. package/dist/src/cli/memory-sources.d.ts.map +1 -0
  23. package/dist/src/cli/memory-sources.js +40 -0
  24. package/dist/src/cli/memory-sources.js.map +1 -0
  25. package/dist/src/cli/model.d.ts +5 -0
  26. package/dist/src/cli/model.d.ts.map +1 -1
  27. package/dist/src/cli/model.js +43 -0
  28. package/dist/src/cli/model.js.map +1 -1
  29. package/dist/src/cli/route.d.ts +12 -0
  30. package/dist/src/cli/route.d.ts.map +1 -1
  31. package/dist/src/cli/route.js +39 -9
  32. package/dist/src/cli/route.js.map +1 -1
  33. package/dist/src/cli/rpc.d.ts +3 -2
  34. package/dist/src/cli/rpc.d.ts.map +1 -1
  35. package/dist/src/cli/rpc.js +3 -2
  36. package/dist/src/cli/rpc.js.map +1 -1
  37. package/dist/src/cli/run.d.ts +1 -0
  38. package/dist/src/cli/run.d.ts.map +1 -1
  39. package/dist/src/cli/run.js +1 -0
  40. package/dist/src/cli/run.js.map +1 -1
  41. package/dist/src/cli/shared.d.ts +11 -0
  42. package/dist/src/cli/shared.d.ts.map +1 -1
  43. package/dist/src/cli/shared.js +31 -0
  44. package/dist/src/cli/shared.js.map +1 -1
  45. package/dist/src/cli/train.d.ts +31 -7
  46. package/dist/src/cli/train.d.ts.map +1 -1
  47. package/dist/src/cli/train.js +233 -79
  48. package/dist/src/cli/train.js.map +1 -1
  49. package/dist/src/cli.d.ts +3 -1
  50. package/dist/src/cli.d.ts.map +1 -1
  51. package/dist/src/cli.js +9 -1
  52. package/dist/src/cli.js.map +1 -1
  53. package/dist/src/connected-providers/billing.d.ts +6 -0
  54. package/dist/src/connected-providers/billing.d.ts.map +1 -0
  55. package/dist/src/connected-providers/billing.js +11 -0
  56. package/dist/src/connected-providers/billing.js.map +1 -0
  57. package/dist/src/connected-providers/capability-probe.d.ts +17 -0
  58. package/dist/src/connected-providers/capability-probe.d.ts.map +1 -0
  59. package/dist/src/connected-providers/capability-probe.js +92 -0
  60. package/dist/src/connected-providers/capability-probe.js.map +1 -0
  61. package/dist/src/connected-providers/fake-issuer.d.ts +61 -0
  62. package/dist/src/connected-providers/fake-issuer.d.ts.map +1 -0
  63. package/dist/src/connected-providers/fake-issuer.js +161 -0
  64. package/dist/src/connected-providers/fake-issuer.js.map +1 -0
  65. package/dist/src/connected-providers/fallback-notice.d.ts +11 -0
  66. package/dist/src/connected-providers/fallback-notice.d.ts.map +1 -0
  67. package/dist/src/connected-providers/fallback-notice.js +20 -0
  68. package/dist/src/connected-providers/fallback-notice.js.map +1 -0
  69. package/dist/src/connected-providers/fallback.d.ts +11 -0
  70. package/dist/src/connected-providers/fallback.d.ts.map +1 -0
  71. package/dist/src/connected-providers/fallback.js +37 -0
  72. package/dist/src/connected-providers/fallback.js.map +1 -0
  73. package/dist/src/connected-providers/refresh.d.ts +12 -0
  74. package/dist/src/connected-providers/refresh.d.ts.map +1 -0
  75. package/dist/src/connected-providers/refresh.js +72 -0
  76. package/dist/src/connected-providers/refresh.js.map +1 -0
  77. package/dist/src/connected-providers/registry.d.ts +17 -0
  78. package/dist/src/connected-providers/registry.d.ts.map +1 -0
  79. package/dist/src/connected-providers/registry.js +30 -0
  80. package/dist/src/connected-providers/registry.js.map +1 -0
  81. package/dist/src/connected-providers/store.d.ts +41 -0
  82. package/dist/src/connected-providers/store.d.ts.map +1 -0
  83. package/dist/src/connected-providers/store.js +145 -0
  84. package/dist/src/connected-providers/store.js.map +1 -0
  85. package/dist/src/connected-providers/tokens.d.ts +42 -0
  86. package/dist/src/connected-providers/tokens.d.ts.map +1 -0
  87. package/dist/src/connected-providers/tokens.js +148 -0
  88. package/dist/src/connected-providers/tokens.js.map +1 -0
  89. package/dist/src/connected-providers/transport-preference.d.ts +26 -0
  90. package/dist/src/connected-providers/transport-preference.d.ts.map +1 -0
  91. package/dist/src/connected-providers/transport-preference.js +42 -0
  92. package/dist/src/connected-providers/transport-preference.js.map +1 -0
  93. package/dist/src/core/structured-output.d.ts.map +1 -1
  94. package/dist/src/core/structured-output.js +2 -1
  95. package/dist/src/core/structured-output.js.map +1 -1
  96. package/dist/src/file-lock.d.ts +22 -0
  97. package/dist/src/file-lock.d.ts.map +1 -0
  98. package/dist/src/file-lock.js +69 -0
  99. package/dist/src/file-lock.js.map +1 -0
  100. package/dist/src/memory/context-pack.d.ts +5 -0
  101. package/dist/src/memory/context-pack.d.ts.map +1 -1
  102. package/dist/src/memory/context-pack.js +6 -0
  103. package/dist/src/memory/context-pack.js.map +1 -1
  104. package/dist/src/memory/id.d.ts +3 -0
  105. package/dist/src/memory/id.d.ts.map +1 -0
  106. package/dist/src/memory/id.js +6 -0
  107. package/dist/src/memory/id.js.map +1 -0
  108. package/dist/src/memory/observational-prompts.d.ts +2 -0
  109. package/dist/src/memory/observational-prompts.d.ts.map +1 -1
  110. package/dist/src/memory/observational-prompts.js +4 -2
  111. package/dist/src/memory/observational-prompts.js.map +1 -1
  112. package/dist/src/memory/observational.d.ts +22 -0
  113. package/dist/src/memory/observational.d.ts.map +1 -1
  114. package/dist/src/memory/observational.js +65 -22
  115. package/dist/src/memory/observational.js.map +1 -1
  116. package/dist/src/memory/paths.d.ts +9 -0
  117. package/dist/src/memory/paths.d.ts.map +1 -0
  118. package/dist/src/memory/paths.js +11 -0
  119. package/dist/src/memory/paths.js.map +1 -0
  120. package/dist/src/memory/storage.d.ts.map +1 -1
  121. package/dist/src/memory/storage.js +1 -4
  122. package/dist/src/memory/storage.js.map +1 -1
  123. package/dist/src/memory/store/discovery.d.ts +7 -0
  124. package/dist/src/memory/store/discovery.d.ts.map +1 -0
  125. package/dist/src/memory/store/discovery.js +34 -0
  126. package/dist/src/memory/store/discovery.js.map +1 -0
  127. package/dist/src/memory/store/file.d.ts +52 -0
  128. package/dist/src/memory/store/file.d.ts.map +1 -0
  129. package/dist/src/memory/store/file.js +287 -0
  130. package/dist/src/memory/store/file.js.map +1 -0
  131. package/dist/src/memory/store/index.d.ts +5 -0
  132. package/dist/src/memory/store/index.d.ts.map +1 -0
  133. package/dist/src/memory/store/index.js +5 -0
  134. package/dist/src/memory/store/index.js.map +1 -0
  135. package/dist/src/memory/store/pack.d.ts +25 -0
  136. package/dist/src/memory/store/pack.d.ts.map +1 -0
  137. package/dist/src/memory/store/pack.js +71 -0
  138. package/dist/src/memory/store/pack.js.map +1 -0
  139. package/dist/src/memory/store/sources.d.ts +55 -0
  140. package/dist/src/memory/store/sources.d.ts.map +1 -0
  141. package/dist/src/memory/store/sources.js +85 -0
  142. package/dist/src/memory/store/sources.js.map +1 -0
  143. package/dist/src/memory/store/store.d.ts +46 -0
  144. package/dist/src/memory/store/store.d.ts.map +1 -0
  145. package/dist/src/memory/store/store.js +171 -0
  146. package/dist/src/memory/store/store.js.map +1 -0
  147. package/dist/src/memory/store.d.ts +19 -16
  148. package/dist/src/memory/store.d.ts.map +1 -1
  149. package/dist/src/memory/store.js +14 -11
  150. package/dist/src/memory/store.js.map +1 -1
  151. package/dist/src/memory-store.js +554 -0
  152. package/dist/src/model-resolution/catalog.d.ts +24 -10
  153. package/dist/src/model-resolution/catalog.d.ts.map +1 -1
  154. package/dist/src/model-resolution/catalog.js +61 -36
  155. package/dist/src/model-resolution/catalog.js.map +1 -1
  156. package/dist/src/model-resolution/duet-gateway.d.ts +2 -0
  157. package/dist/src/model-resolution/duet-gateway.d.ts.map +1 -1
  158. package/dist/src/model-resolution/duet-gateway.js +57 -4
  159. package/dist/src/model-resolution/duet-gateway.js.map +1 -1
  160. package/dist/src/model-resolution/resolver.d.ts +17 -0
  161. package/dist/src/model-resolution/resolver.d.ts.map +1 -1
  162. package/dist/src/model-resolution/resolver.js +49 -4
  163. package/dist/src/model-resolution/resolver.js.map +1 -1
  164. package/dist/src/model-routing/advisor-context.d.ts +31 -5
  165. package/dist/src/model-routing/advisor-context.d.ts.map +1 -1
  166. package/dist/src/model-routing/advisor-context.js +87 -10
  167. package/dist/src/model-routing/advisor-context.js.map +1 -1
  168. package/dist/src/model-routing/advisor-lifecycle.d.ts +14 -5
  169. package/dist/src/model-routing/advisor-lifecycle.d.ts.map +1 -1
  170. package/dist/src/model-routing/advisor-lifecycle.js +24 -7
  171. package/dist/src/model-routing/advisor-lifecycle.js.map +1 -1
  172. package/dist/src/model-routing/prompts.d.ts.map +1 -1
  173. package/dist/src/model-routing/prompts.js +18 -10
  174. package/dist/src/model-routing/prompts.js.map +1 -1
  175. package/dist/src/model-routing/table.js +18 -18
  176. package/dist/src/model-routing/table.js.map +1 -1
  177. package/dist/src/session/session-manager.d.ts +1 -4
  178. package/dist/src/session/session-manager.d.ts.map +1 -1
  179. package/dist/src/session/session-manager.js +2 -5
  180. package/dist/src/session/session-manager.js.map +1 -1
  181. package/dist/src/session/session.d.ts +2 -2
  182. package/dist/src/session/session.d.ts.map +1 -1
  183. package/dist/src/session/session.js +10 -7
  184. package/dist/src/session/session.js.map +1 -1
  185. package/dist/src/train/archive.d.ts.map +1 -1
  186. package/dist/src/train/archive.js +5 -0
  187. package/dist/src/train/archive.js.map +1 -1
  188. package/dist/src/train/types.d.ts +8 -7
  189. package/dist/src/train/types.d.ts.map +1 -1
  190. package/dist/src/tui/sidebar.d.ts.map +1 -1
  191. package/dist/src/tui/sidebar.js +40 -1
  192. package/dist/src/tui/sidebar.js.map +1 -1
  193. package/dist/src/turn-runner/agent-events.d.ts +2 -0
  194. package/dist/src/turn-runner/agent-events.d.ts.map +1 -1
  195. package/dist/src/turn-runner/agent-events.js +11 -0
  196. package/dist/src/turn-runner/agent-events.js.map +1 -1
  197. package/dist/src/turn-runner/subagent.d.ts +4 -1
  198. package/dist/src/turn-runner/subagent.d.ts.map +1 -1
  199. package/dist/src/turn-runner/subagent.js +11 -3
  200. package/dist/src/turn-runner/subagent.js.map +1 -1
  201. package/dist/src/turn-runner/tools.d.ts +3 -3
  202. package/dist/src/turn-runner/tools.d.ts.map +1 -1
  203. package/dist/src/turn-runner/tools.js +1 -1
  204. package/dist/src/turn-runner/tools.js.map +1 -1
  205. package/dist/src/turn-runner/turn-runner.d.ts +19 -3
  206. package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
  207. package/dist/src/turn-runner/turn-runner.js +162 -33
  208. package/dist/src/turn-runner/turn-runner.js.map +1 -1
  209. package/dist/src/turn-runner/usage-accounting.d.ts +5 -2
  210. package/dist/src/turn-runner/usage-accounting.d.ts.map +1 -1
  211. package/dist/src/turn-runner/usage-accounting.js +18 -6
  212. package/dist/src/turn-runner/usage-accounting.js.map +1 -1
  213. package/dist/src/turn-runner/wire-shaping.d.ts +3 -1
  214. package/dist/src/turn-runner/wire-shaping.d.ts.map +1 -1
  215. package/dist/src/turn-runner/wire-shaping.js +5 -1
  216. package/dist/src/turn-runner/wire-shaping.js.map +1 -1
  217. package/dist/src/types/config.d.ts +7 -0
  218. package/dist/src/types/config.d.ts.map +1 -1
  219. package/dist/src/types/protocol.d.ts +13 -5
  220. package/dist/src/types/protocol.d.ts.map +1 -1
  221. package/package.json +8 -3
@@ -25,12 +25,13 @@ const MEMORY_MODEL_BY_PROVIDER = {
25
25
  // gpt-5.6-luna has no OpenRouter route: pi-ai's catalog does not ship it, so
26
26
  // `openrouter:openai/gpt-5.6-luna` resolves to undefined (unlike the
27
27
  // duet/vercel gateway routes, which synthesize an openai-responses
28
- // passthrough). Keep OPENROUTER_API_KEY-only users on gpt-5.4-mini, which
29
- // pi-ai ships directly, until pi-ai adds luna.
30
- openrouter: "gpt-5.4-mini",
28
+ // passthrough). Keep OPENROUTER_API_KEY-only users on haiku-4.5, which pi-ai
29
+ // ships directly, until pi-ai adds luna.
30
+ openrouter: "haiku-4.5",
31
31
  };
32
32
  const MODEL_DEFINITIONS = [
33
33
  {
34
+ family: "opus",
34
35
  shorthand: "opus-4.8",
35
36
  aliases: [
36
37
  "claude-opus-4.8",
@@ -42,9 +43,11 @@ const MODEL_DEFINITIONS = [
42
43
  "duet-gateway": "anthropic/claude-opus-4.8",
43
44
  "vercel-ai-gateway": "anthropic/claude-opus-4.8",
44
45
  openrouter: "anthropic/claude-opus-4.8",
46
+ "github-copilot": "claude-opus-4.8",
45
47
  },
46
48
  },
47
49
  {
50
+ family: "opus",
48
51
  shorthand: "opus-4.7",
49
52
  aliases: [
50
53
  "claude-opus-4.7",
@@ -56,6 +59,7 @@ const MODEL_DEFINITIONS = [
56
59
  "duet-gateway": "anthropic/claude-opus-4.7",
57
60
  "vercel-ai-gateway": "anthropic/claude-opus-4.7",
58
61
  openrouter: "anthropic/claude-opus-4.7",
62
+ "github-copilot": "claude-opus-4.7",
59
63
  },
60
64
  },
61
65
  {
@@ -68,6 +72,7 @@ const MODEL_DEFINITIONS = [
68
72
  // listed because the clone backs `vercel-ai-gateway` (which `duet-gateway`
69
73
  // resolves through); add the anthropic/openrouter routes once pi-ai ships
70
74
  // them so a pinned resolve does not fall through to an undefined model.
75
+ family: "sonnet",
71
76
  shorthand: "sonnet-5",
72
77
  aliases: ["claude-sonnet-5", "anthropic/claude-sonnet-5"],
73
78
  modelsByProvider: {
@@ -76,6 +81,7 @@ const MODEL_DEFINITIONS = [
76
81
  },
77
82
  },
78
83
  {
84
+ family: "sonnet",
79
85
  shorthand: "sonnet-4.6",
80
86
  aliases: [
81
87
  "claude-sonnet-4.6",
@@ -87,9 +93,11 @@ const MODEL_DEFINITIONS = [
87
93
  "duet-gateway": "anthropic/claude-sonnet-4.6",
88
94
  "vercel-ai-gateway": "anthropic/claude-sonnet-4.6",
89
95
  openrouter: "anthropic/claude-sonnet-4.6",
96
+ "github-copilot": "claude-sonnet-4.6",
90
97
  },
91
98
  },
92
99
  {
100
+ family: "haiku",
93
101
  shorthand: "haiku-4.5",
94
102
  aliases: [
95
103
  "claude-haiku-4.5",
@@ -101,24 +109,7 @@ const MODEL_DEFINITIONS = [
101
109
  "duet-gateway": "anthropic/claude-haiku-4.5",
102
110
  "vercel-ai-gateway": "anthropic/claude-haiku-4.5",
103
111
  openrouter: "anthropic/claude-haiku-4.5",
104
- },
105
- },
106
- {
107
- shorthand: "gpt-5.5",
108
- aliases: ["openai/gpt-5.5", "openai/gpt-5-5"],
109
- modelsByProvider: {
110
- "duet-gateway": "openai/gpt-5.5",
111
- "vercel-ai-gateway": "openai/gpt-5.5",
112
- openrouter: "openai/gpt-5.5",
113
- },
114
- },
115
- {
116
- shorthand: "gpt-5.4-mini",
117
- aliases: ["openai/gpt-5.4-mini", "openai/gpt-5-4-mini"],
118
- modelsByProvider: {
119
- "duet-gateway": "openai/gpt-5.4-mini",
120
- "vercel-ai-gateway": "openai/gpt-5.4-mini",
121
- openrouter: "openai/gpt-5.4-mini",
112
+ "github-copilot": "claude-haiku-4.5",
122
113
  },
123
114
  },
124
115
  {
@@ -129,36 +120,43 @@ const MODEL_DEFINITIONS = [
129
120
  // duet-gateway.ts) so its low reasoning effort survives to the wire. pi-ai's
130
121
  // catalog does not ship luna, so the `openrouter:openai/gpt-5.6-luna` route
131
122
  // would resolve to an undefined model; it is intentionally omitted until
132
- // pi-ai adds it, and OPENROUTER-only users stay on gpt-5.4-mini (see
123
+ // pi-ai adds it, and OPENROUTER-only users stay on haiku-4.5 (see
133
124
  // MEMORY_MODEL_BY_PROVIDER).
125
+ family: "luna",
134
126
  shorthand: "gpt-5.6-luna",
135
127
  aliases: ["openai/gpt-5.6-luna", "openai/gpt-5-6-luna"],
136
128
  modelsByProvider: {
137
129
  "duet-gateway": "openai/gpt-5.6-luna",
138
130
  "vercel-ai-gateway": "openai/gpt-5.6-luna",
131
+ "openai-codex": "gpt-5.6-luna",
139
132
  },
140
133
  },
141
134
  {
135
+ family: "sol",
142
136
  shorthand: "gpt-5.6-sol",
143
137
  aliases: ["openai/gpt-5.6-sol", "openai/gpt-5-6-sol"],
144
138
  modelsByProvider: {
145
139
  "duet-gateway": "openai/gpt-5.6-sol",
146
140
  "vercel-ai-gateway": "openai/gpt-5.6-sol",
147
141
  openrouter: "openai/gpt-5.6-sol",
142
+ "openai-codex": "gpt-5.6-sol",
148
143
  },
149
144
  maxOutputTokens: 128000,
150
145
  },
151
146
  {
147
+ family: "terra",
152
148
  shorthand: "gpt-5.6-terra",
153
149
  aliases: ["openai/gpt-5.6-terra", "openai/gpt-5-6-terra"],
154
150
  modelsByProvider: {
155
151
  "duet-gateway": "openai/gpt-5.6-terra",
156
152
  "vercel-ai-gateway": "openai/gpt-5.6-terra",
157
153
  openrouter: "openai/gpt-5.6-terra",
154
+ "openai-codex": "gpt-5.6-terra",
158
155
  },
159
156
  maxOutputTokens: 128000,
160
157
  },
161
158
  {
159
+ family: "kimi",
162
160
  shorthand: "kimi-k3",
163
161
  aliases: ["moonshotai/kimi-k3"],
164
162
  modelsByProvider: {
@@ -173,6 +171,7 @@ const MODEL_DEFINITIONS = [
173
171
  // xAI's Grok 4.3 is routed through the duet/vercel gateways under the
174
172
  // `xai/grok-4.3` model id. We do not currently configure a direct xAI
175
173
  // provider, so the gateway entries are the only routes.
174
+ family: "grok",
176
175
  shorthand: "grok-4.3",
177
176
  aliases: ["xai/grok-4.3", "xai/grok-4-3", "grok-4-3"],
178
177
  modelsByProvider: {
@@ -186,6 +185,7 @@ const MODEL_DEFINITIONS = [
186
185
  // under the shared `deepseek/deepseek-v4-pro` model id. We do not configure
187
186
  // a direct DeepSeek provider, so the gateway and OpenRouter entries are the
188
187
  // only routes.
188
+ family: "deepseek",
189
189
  shorthand: "deepseek-v4-pro",
190
190
  aliases: ["deepseek/deepseek-v4-pro"],
191
191
  modelsByProvider: {
@@ -202,30 +202,21 @@ const MODEL_DEFINITIONS = [
202
202
  // provider. pi-ai's catalog does not ship it yet, so resolution clones the
203
203
  // Opus 4.8 entry (identical anthropic-messages transport, 1M context, 128k
204
204
  // output cap) until it does; see `resolveMissingModel` in duet-gateway.ts.
205
+ family: "fable",
205
206
  shorthand: "fable-5",
206
207
  aliases: ["claude-fable-5", "anthropic/claude-fable-5"],
207
208
  modelsByProvider: {
208
209
  "duet-gateway": "anthropic/claude-fable-5",
209
210
  "vercel-ai-gateway": "anthropic/claude-fable-5",
210
211
  openrouter: "anthropic/claude-fable-5",
211
- },
212
- },
213
- {
214
- // Zhipu's GLM 4.7 is routed through the duet/vercel gateways under the
215
- // `zai/glm-4.7` model id and through OpenRouter as `z-ai/glm-4.7`. We do not
216
- // configure a direct Zhipu provider, so these are the only routes.
217
- shorthand: "glm-4.7",
218
- aliases: ["zai/glm-4.7", "z-ai/glm-4.7", "glm-4-7"],
219
- modelsByProvider: {
220
- "duet-gateway": "zai/glm-4.7",
221
- "vercel-ai-gateway": "zai/glm-4.7",
222
- openrouter: "z-ai/glm-4.7",
212
+ "github-copilot": "claude-fable-5",
223
213
  },
224
214
  },
225
215
  {
226
216
  // Zhipu's GLM 5.2 is routed through the duet/vercel gateways under the
227
217
  // `zai/glm-5.2` model id and through OpenRouter as `z-ai/glm-5.2`. We do not
228
218
  // configure a direct Zhipu provider, so these are the only routes.
219
+ family: "glm",
229
220
  shorthand: "glm-5.2",
230
221
  aliases: ["zai/glm-5.2", "z-ai/glm-5.2", "glm-5-2"],
231
222
  modelsByProvider: {
@@ -234,7 +225,30 @@ const MODEL_DEFINITIONS = [
234
225
  openrouter: "z-ai/glm-5.2",
235
226
  },
236
227
  },
228
+ {
229
+ // Zhipu's GLM 4.7 is routed through the duet/vercel gateways under the
230
+ // `zai/glm-4.7` model id and through OpenRouter as `z-ai/glm-4.7`. We do not
231
+ // configure a direct Zhipu provider, so these are the only routes.
232
+ family: "glm",
233
+ shorthand: "glm-4.7",
234
+ aliases: ["zai/glm-4.7", "z-ai/glm-4.7", "glm-4-7"],
235
+ modelsByProvider: {
236
+ "duet-gateway": "zai/glm-4.7",
237
+ "vercel-ai-gateway": "zai/glm-4.7",
238
+ openrouter: "z-ai/glm-4.7",
239
+ },
240
+ },
237
241
  ];
242
+ const familyLatest = {};
243
+ for (const definition of MODEL_DEFINITIONS) {
244
+ familyLatest[definition.family] ??= definition.shorthand;
245
+ }
246
+ /** Latest shorthand for each family, derived from the first matching catalog entry. */
247
+ export const FAMILY_LATEST = Object.freeze(familyLatest);
248
+ /** Resolve a versionless family name to the first versioned shorthand in catalog order. */
249
+ export function resolveFamilyShorthand(name) {
250
+ return FAMILY_LATEST[name.trim().toLowerCase()];
251
+ }
238
252
  export function isProviderPinnedModelName(modelName) {
239
253
  return modelName.includes(":");
240
254
  }
@@ -276,6 +290,15 @@ export function isKnownShorthand(modelName) {
276
290
  export function canonicalizeModelName(modelName) {
277
291
  return findModelDefinition(modelName)?.shorthand ?? modelName;
278
292
  }
293
+ /** Resolve a curated shorthand or alias to the id served by a specific transport. */
294
+ export function transportModelId(transport, shorthand) {
295
+ return findModelDefinition(shorthand)?.modelsByProvider[transport];
296
+ }
297
+ /** Recover the curated shorthand represented by a transport-specific model id. */
298
+ export function shorthandForTransportModel(transport, modelId) {
299
+ return MODEL_DEFINITIONS.find((definition) => definition.modelsByProvider[transport] === modelId)
300
+ ?.shorthand;
301
+ }
279
302
  /**
280
303
  * Normalize a `provider:modelId` model id against catalog aliases so users can
281
304
  * pass familiar variants like `claude-opus-4-7` even when the underlying
@@ -290,11 +313,13 @@ export function canonicalizeProviderModelId(provider, modelId) {
290
313
  }
291
314
  function findModelDefinition(modelName) {
292
315
  const normalized = modelName.toLowerCase();
293
- return MODEL_DEFINITIONS.find((definition) => definition.shorthand === normalized || definition.aliases.includes(normalized));
316
+ const familyShorthand = resolveFamilyShorthand(normalized);
317
+ return MODEL_DEFINITIONS.find((definition) => definition.shorthand === (familyShorthand ?? normalized) ||
318
+ definition.aliases.includes(normalized));
294
319
  }
295
320
  /**
296
321
  * Map user-friendly provider names (and common aliases) onto the canonical
297
- * `ProviderName`. Returns `undefined` for unknown values so callers can
322
+ * `RouterProviderName`. Returns `undefined` for unknown values so callers can
298
323
  * surface a list of accepted names.
299
324
  */
300
325
  export function resolveProviderShorthand(name) {
@@ -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":"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"}
@@ -32,6 +32,8 @@ export declare function getDuetGatewayBaseUrl(): string;
32
32
  * set for explicit `vercel-ai-gateway:*` pins.
33
33
  */
34
34
  export declare function resolveDuetGatewayModel(modelId: string): Model<any>;
35
+ /** Apply gateway capabilities that are newer than the pinned model catalog. */
36
+ export declare function applyVercelGatewayModelOverrides(modelId: string, model: Model<any>): Model<any>;
35
37
  /**
36
38
  * Clone a known sibling on the same provider to build a Model pi-ai has not
37
39
  * shipped yet; returns undefined when the provider/modelId pair is not a
@@ -1 +1 @@
1
- {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAwD3E;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CASnE;AAoGD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAY7F;AA4CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK1E"}
1
+ {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAuE3E;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CASnE;AAuBD,+EAA+E;AAC/E,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAY/F;AAmGD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAY7F;AA4CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU1E"}
@@ -1,4 +1,6 @@
1
1
  import { getEnvApiKey, getModel } from "@earendil-works/pi-ai";
2
+ import { isConnectedProviderId } from "../connected-providers/store.js";
3
+ import { connectedProviderApiKey, refreshConnectedTokenInBackground, } from "../connected-providers/tokens.js";
2
4
  const DEFAULT_DUET_GATEWAY_BASE_URL = "https://gateway.duet.so";
3
5
  const OPENAI_MODEL_PREFIX = "openai/";
4
6
  const VERCEL_GATEWAY_BASE_URL = "https://ai-gateway.vercel.sh";
@@ -27,6 +29,15 @@ const OPENAI_GATEWAY_MODEL_OVERRIDES = {
27
29
  cost: { input: 1, output: 6, cacheRead: 0.1, cacheWrite: 1.25 },
28
30
  },
29
31
  };
32
+ // Vercel exposes GLM 5.2's maximum reasoning mode, but the pinned pi-ai
33
+ // catalog does not yet describe it. Keep the product-level `xhigh` setting
34
+ // wire-faithful until that metadata ships upstream.
35
+ const VERCEL_GATEWAY_MODEL_OVERRIDES = {
36
+ "zai/glm-5.2": {
37
+ thinkingLevelMap: { xhigh: "max" },
38
+ compat: { forceAdaptiveThinking: true },
39
+ },
40
+ };
30
41
  const KIMI_K3_CAPABILITIES = {
31
42
  input: ["text", "image"],
32
43
  contextWindow: 1_000_000,
@@ -103,9 +114,25 @@ function resolveDuetGatewayUpstream(modelId) {
103
114
  if (modelId.startsWith(OPENAI_MODEL_PREFIX)) {
104
115
  return resolveOpenAIResponsesModel(modelId);
105
116
  }
106
- return (getModel("vercel-ai-gateway", modelId) ??
117
+ const upstream = getModel("vercel-ai-gateway", modelId) ??
107
118
  resolveMissingModel("vercel-ai-gateway", modelId) ??
108
- synthesizePassthroughModel(modelId, "anthropic-messages"));
119
+ synthesizePassthroughModel(modelId, "anthropic-messages");
120
+ return applyVercelGatewayModelOverrides(modelId, upstream);
121
+ }
122
+ /** Apply gateway capabilities that are newer than the pinned model catalog. */
123
+ export function applyVercelGatewayModelOverrides(modelId, model) {
124
+ const overrides = VERCEL_GATEWAY_MODEL_OVERRIDES[modelId];
125
+ if (!overrides)
126
+ return model;
127
+ return {
128
+ ...model,
129
+ ...overrides,
130
+ thinkingLevelMap: {
131
+ ...model.thinkingLevelMap,
132
+ ...overrides.thinkingLevelMap,
133
+ },
134
+ compat: { ...model.compat, ...overrides.compat },
135
+ };
109
136
  }
110
137
  /**
111
138
  * Build a minimal spec for a gateway model pi-ai's catalog has not shipped yet.
@@ -138,6 +165,26 @@ function synthesizePassthroughModel(modelId, api) {
138
165
  * moment pi-ai ships that provider/model pair.
139
166
  */
140
167
  const MISSING_MODEL_CLONES = {
168
+ "openai-codex": [
169
+ {
170
+ // Drop once pi-ai ships openai-codex:gpt-5.6-sol.
171
+ from: "gpt-5.5",
172
+ to: "gpt-5.6-sol",
173
+ overrides: OPENAI_GATEWAY_MODEL_OVERRIDES["openai/gpt-5.6-sol"],
174
+ },
175
+ {
176
+ // Drop once pi-ai ships openai-codex:gpt-5.6-terra.
177
+ from: "gpt-5.5",
178
+ to: "gpt-5.6-terra",
179
+ overrides: OPENAI_GATEWAY_MODEL_OVERRIDES["openai/gpt-5.6-terra"],
180
+ },
181
+ {
182
+ // Drop once pi-ai ships openai-codex:gpt-5.6-luna.
183
+ from: "gpt-5.5",
184
+ to: "gpt-5.6-luna",
185
+ overrides: OPENAI_GATEWAY_MODEL_OVERRIDES["openai/gpt-5.6-luna"],
186
+ },
187
+ ],
141
188
  "vercel-ai-gateway": [
142
189
  { from: "anthropic/claude-opus-4.8", to: "anthropic/claude-fable-5", overrides: FABLE_5_COST },
143
190
  {
@@ -161,12 +208,12 @@ const MISSING_MODEL_CLONES = {
161
208
  overrides: KIMI_K3_CAPABILITIES,
162
209
  },
163
210
  {
164
- from: "openai/gpt-5.5",
211
+ from: "openai/gpt-5.4",
165
212
  to: "openai/gpt-5.6-sol",
166
213
  overrides: OPENAI_GATEWAY_MODEL_OVERRIDES["openai/gpt-5.6-sol"],
167
214
  },
168
215
  {
169
- from: "openai/gpt-5.5",
216
+ from: "openai/gpt-5.4",
170
217
  to: "openai/gpt-5.6-terra",
171
218
  overrides: OPENAI_GATEWAY_MODEL_OVERRIDES["openai/gpt-5.6-terra"],
172
219
  },
@@ -253,6 +300,12 @@ export function resolveProviderApiKey(provider) {
253
300
  if (provider === "duet-gateway") {
254
301
  return process.env[DUET_GATEWAY_API_KEY_ENV];
255
302
  }
303
+ if (isConnectedProviderId(provider)) {
304
+ const token = connectedProviderApiKey(provider);
305
+ if (!token)
306
+ refreshConnectedTokenInBackground(provider);
307
+ return token;
308
+ }
256
309
  return getEnvApiKey(provider);
257
310
  }
258
311
  //# sourceMappingURL=duet-gateway.js.map
@@ -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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"}
@@ -1,5 +1,8 @@
1
1
  import { type Model } from "@earendil-works/pi-ai";
2
2
  import { type RoutingCatalogAdapter, type RoutingTable } from "../model-routing/table.js";
3
+ import { type RouterProviderName } from "./catalog.js";
4
+ import { connectedTransportSnapshot } from "../cli/shared.js";
5
+ import { type ConnectedProviderId } from "../connected-providers/store.js";
3
6
  export { DEFAULT_CLI_MEMORY_MODEL, DEFAULT_CLI_MODEL } from "./catalog.js";
4
7
  /**
5
8
  * Resolves which provider:modelId the CLI talks to, plus the provenance for
@@ -20,10 +23,14 @@ export interface ModelResolution {
20
23
  routed?: boolean;
21
24
  }
22
25
  export declare function resolveModelName(model: string): Model<any>;
26
+ /** Resolve an auxiliary actor through configured metered router order only. */
27
+ export declare function resolveMeteredModelName(modelName: string): Model<any>;
23
28
  /** Shared concrete-catalog boundary used by every model-routing composition site. */
24
29
  export declare const routingCatalogAdapter: RoutingCatalogAdapter;
25
30
  /** Resolve a concrete catalog name to the provider-pinned reference used for model calls. */
26
31
  export declare function pinnedModelReference(name: string): string;
32
+ /** Router providers whose credential env var is configured in this process. */
33
+ export declare function configuredRouterProviders(): RouterProviderName[];
27
34
  /**
28
35
  * Same selection logic as resolveCliModel, but picks each provider's cheaper
29
36
  * observational-memory model.
@@ -34,5 +41,15 @@ export declare function resolveCliMemoryModel(memoryModelName: string | undefine
34
41
  * "inferred from AI_GATEWAY_API_KEY in an env file" etc.
35
42
  */
36
43
  export declare function resolveCliModel(modelName: string | undefined, dotenvKeys: Set<string>, routingTable?: RoutingTable): ModelResolution;
44
+ interface ConnectedModelResolutionDependencies {
45
+ snapshot(): ReturnType<typeof connectedTransportSnapshot>;
46
+ apiKey(provider: ConnectedProviderId): string | undefined;
47
+ applyHook<T extends {
48
+ id: string;
49
+ }>(provider: ConnectedProviderId, model: T): T | undefined;
50
+ refresh(provider: ConnectedProviderId): void;
51
+ }
52
+ /** Resolve an unpinned catalog name through connected plans, then router order. */
53
+ export declare function resolveModelReference(modelName: string, deps?: ConnectedModelResolutionDependencies): string;
37
54
  export declare function describeModelResolution(resolution: ModelResolution): string;
38
55
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAkBnC,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,CAmC1D;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAiBD;;;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;AA8ED,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,EAAyB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAMnC,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,CAuC1D;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;AAEF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD,+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,CAyBR;AAcD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAU3E"}
@@ -1,7 +1,11 @@
1
1
  import { findEnvKeys, getModel } from "@earendil-works/pi-ai";
2
2
  import { BUILT_IN_ROUTING_TABLE, isVirtualModel, } from "../model-routing/table.js";
3
- import { resolveDuetGatewayModel, resolveMissingModel } from "./duet-gateway.js";
3
+ import { applyVercelGatewayModelOverrides, resolveDuetGatewayModel, resolveMissingModel, } from "./duet-gateway.js";
4
4
  import { canonicalizeModelName, canonicalizeProviderModelId, clampModelOutputTokens, DEFAULT_CLI_MEMORY_MODEL, getModelCandidates, getProviderDefaultModel, getProviderMemoryModel, isKnownShorthand, isProviderPinnedModelName, PROVIDER_ORDER, resolveProviderShorthand, } from "./catalog.js";
5
+ import { connectedTransportSnapshot } from "../cli/shared.js";
6
+ import { chooseTransport } from "../connected-providers/transport-preference.js";
7
+ import { applyConnectedModelHook, connectedProviderApiKey, refreshConnectedTokenInBackground, } from "../connected-providers/tokens.js";
8
+ import { isConnectedProviderId } from "../connected-providers/store.js";
5
9
  export { DEFAULT_CLI_MEMORY_MODEL, DEFAULT_CLI_MODEL } from "./catalog.js";
6
10
  export function resolveModelName(model) {
7
11
  model = resolveModelReference(model);
@@ -13,7 +17,7 @@ export function resolveModelName(model) {
13
17
  const rawModelId = model.slice(separator + 1);
14
18
  // The CLI supports only the router providers (duet-gateway, vercel-ai-gateway,
15
19
  // openrouter). Any other explicit pin — e.g. `anthropic:claude-opus-4-8` or
16
- // `openai:gpt-5.5` — is an unknown provider here: `resolveProviderShorthand`
20
+ // `openai:gpt-5.6-sol` — is an unknown provider here: `resolveProviderShorthand`
17
21
  // returns undefined, the raw provider passes through, and `getModel` below
18
22
  // forwards it to pi-ai unchanged. That's incidental passthrough, not a
19
23
  // supported path: pi-ai resolves it if it ships that provider/id and the
@@ -32,9 +36,16 @@ export function resolveModelName(model) {
32
36
  // getModel returns undefined for models the upstream catalog has not shipped
33
37
  // yet; fall back to a synthesized clone (e.g. Fable 5) before forwarding.
34
38
  // clampModelOutputTokens forwards a missing model untouched at runtime.
35
- const resolved = getModel(provider, modelId) ?? resolveMissingModel(provider, modelId);
39
+ const catalogModel = getModel(provider, modelId) ?? resolveMissingModel(provider, modelId);
40
+ const resolved = provider === "vercel-ai-gateway" && catalogModel
41
+ ? applyVercelGatewayModelOverrides(modelId, catalogModel)
42
+ : catalogModel;
36
43
  return clampModelOutputTokens(resolved);
37
44
  }
45
+ /** Resolve an auxiliary actor through configured metered router order only. */
46
+ export function resolveMeteredModelName(modelName) {
47
+ return resolveModelName(resolveRouterModelReference(modelName));
48
+ }
38
49
  /** Shared concrete-catalog boundary used by every model-routing composition site. */
39
50
  export const routingCatalogAdapter = {
40
51
  isCatalogName: isKnownShorthand,
@@ -48,6 +59,10 @@ export function pinnedModelReference(name) {
48
59
  function isKnownProvider(provider) {
49
60
  return PROVIDER_ORDER.some((entry) => entry.provider === provider);
50
61
  }
62
+ /** Router providers whose credential env var is configured in this process. */
63
+ export function configuredRouterProviders() {
64
+ return PROVIDER_ORDER.filter((entry) => lookupProviderEnvVar(entry) !== undefined).map((entry) => entry.provider);
65
+ }
51
66
  function lookupProviderEnvVar(entry) {
52
67
  if (entry.customEnvVar) {
53
68
  return entry.customEnvVar() ?? undefined;
@@ -121,7 +136,37 @@ function getMemoryModelCandidates() {
121
136
  modelName: getProviderMemoryModel(provider),
122
137
  }));
123
138
  }
124
- function resolveModelReference(modelName) {
139
+ const connectedModelResolutionDependencies = {
140
+ snapshot: connectedTransportSnapshot,
141
+ apiKey: connectedProviderApiKey,
142
+ applyHook: applyConnectedModelHook,
143
+ refresh: refreshConnectedTokenInBackground,
144
+ };
145
+ /** Resolve an unpinned catalog name through connected plans, then router order. */
146
+ export function resolveModelReference(modelName, deps = connectedModelResolutionDependencies) {
147
+ if (isProviderPinnedModelName(modelName))
148
+ return modelName;
149
+ const transport = chooseTransport(modelName, deps.snapshot());
150
+ if (transport.planCovered && isConnectedProviderId(transport.transport)) {
151
+ const provider = transport.transport;
152
+ if (deps.apiKey(provider)) {
153
+ // The account hook can filter models the plan cannot serve (Copilot
154
+ // availableModelIds); a filtered model falls through to router order.
155
+ const spec = getModel(provider, transport.modelId);
156
+ if (!spec || deps.applyHook(provider, spec)) {
157
+ return `${provider}:${transport.modelId}`;
158
+ }
159
+ }
160
+ else {
161
+ // Resolution must remain synchronous. A cache miss cannot wait here, so
162
+ // this call keeps the existing router path while a later resolution can
163
+ // use the coalesced refresh started in the background.
164
+ deps.refresh(provider);
165
+ }
166
+ }
167
+ return resolveRouterModelReference(modelName);
168
+ }
169
+ function resolveRouterModelReference(modelName) {
125
170
  if (isProviderPinnedModelName(modelName))
126
171
  return modelName;
127
172
  const inferred = findInferredProviderEntry(getModelCandidates(modelName));
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"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"}