@deepstrike/sdk 0.2.52 → 0.2.61

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 (151) hide show
  1. package/README.md +28 -28
  2. package/dist/agent-ir.d.ts +103 -0
  3. package/dist/agent-ir.js +134 -0
  4. package/dist/agent.d.ts +67 -0
  5. package/dist/agent.js +36 -0
  6. package/dist/collaboration/harness.js +1 -1
  7. package/dist/collaboration/modes/creator-verifier.d.ts +2 -7
  8. package/dist/collaboration/modes/creator-verifier.js +4 -6
  9. package/dist/collaboration/pool.d.ts +8 -20
  10. package/dist/collaboration/pool.js +27 -97
  11. package/dist/compat/anthropic/mcp.d.ts +15 -0
  12. package/dist/compat/anthropic/mcp.js +10 -0
  13. package/dist/compat/openai/agent.d.ts +34 -0
  14. package/dist/compat/openai/agent.js +24 -0
  15. package/dist/governance.d.ts +1 -17
  16. package/dist/governance.js +1 -34
  17. package/dist/guardrail.d.ts +6 -0
  18. package/dist/guardrail.js +1 -0
  19. package/dist/handoff-target.d.ts +12 -0
  20. package/dist/handoff-target.js +1 -0
  21. package/dist/harness/manifest.js +0 -4
  22. package/dist/index.d.ts +19 -7
  23. package/dist/index.js +8 -5
  24. package/dist/kernel.d.ts +2 -20
  25. package/dist/knowledge/public.d.ts +29 -0
  26. package/dist/knowledge/public.js +1 -0
  27. package/dist/mcp-server.d.ts +28 -0
  28. package/dist/mcp-server.js +1 -0
  29. package/dist/memory/agent.d.ts +2 -2
  30. package/dist/memory/agent.js +2 -2
  31. package/dist/memory/durable.d.ts +16 -0
  32. package/dist/memory/durable.js +46 -0
  33. package/dist/memory/in-memory-store.d.ts +9 -7
  34. package/dist/memory/in-memory-store.js +8 -2
  35. package/dist/memory/protocols.d.ts +22 -4
  36. package/dist/memory/public.d.ts +4 -3
  37. package/dist/memory/public.js +3 -2
  38. package/dist/os/public.d.ts +1 -1
  39. package/dist/os/public.js +1 -1
  40. package/dist/providers/anthropic-adapter.d.ts +59 -0
  41. package/dist/providers/anthropic-adapter.js +530 -0
  42. package/dist/providers/anthropic-compatible.d.ts +2 -3
  43. package/dist/providers/anthropic-compatible.js +8 -5
  44. package/dist/providers/anthropic.d.ts +20 -23
  45. package/dist/providers/anthropic.js +176 -395
  46. package/dist/providers/base.d.ts +2 -2
  47. package/dist/providers/base.js +50 -8
  48. package/dist/providers/capability-router.d.ts +29 -0
  49. package/dist/providers/capability-router.js +43 -0
  50. package/dist/providers/catalog.d.ts +16 -4
  51. package/dist/providers/catalog.js +112 -36
  52. package/dist/providers/content-normalization.d.ts +57 -0
  53. package/dist/providers/content-normalization.js +238 -0
  54. package/dist/providers/content-policy.d.ts +16 -0
  55. package/dist/providers/content-policy.js +39 -0
  56. package/dist/providers/credentials.d.ts +83 -0
  57. package/dist/providers/credentials.js +190 -0
  58. package/dist/providers/endpoints.d.ts +137 -0
  59. package/dist/providers/endpoints.js +128 -0
  60. package/dist/providers/factories.js +25 -9
  61. package/dist/providers/gemini-adapter.d.ts +33 -0
  62. package/dist/providers/gemini-adapter.js +264 -0
  63. package/dist/providers/gemini.d.ts +16 -3
  64. package/dist/providers/gemini.js +97 -195
  65. package/dist/providers/model-catalog.d.ts +37 -0
  66. package/dist/providers/model-catalog.js +62 -0
  67. package/dist/providers/model-registry.d.ts +119 -0
  68. package/dist/providers/model-registry.js +379 -0
  69. package/dist/providers/ollama-adapter.d.ts +65 -0
  70. package/dist/providers/ollama-adapter.js +188 -0
  71. package/dist/providers/ollama.d.ts +9 -4
  72. package/dist/providers/ollama.js +96 -109
  73. package/dist/providers/openai-chat-dialects.d.ts +154 -0
  74. package/dist/providers/openai-chat-dialects.js +179 -0
  75. package/dist/providers/openai-chat.d.ts +46 -18
  76. package/dist/providers/openai-chat.js +416 -51
  77. package/dist/providers/openai-responses-adapter.d.ts +42 -0
  78. package/dist/providers/openai-responses-adapter.js +343 -0
  79. package/dist/providers/openai-responses.d.ts +19 -33
  80. package/dist/providers/openai-responses.js +164 -264
  81. package/dist/providers/openai.d.ts +29 -76
  82. package/dist/providers/openai.js +195 -292
  83. package/dist/providers/protocol-adapter.d.ts +39 -0
  84. package/dist/providers/protocol-adapter.js +13 -0
  85. package/dist/providers/protocol-capabilities.d.ts +34 -0
  86. package/dist/providers/protocol-capabilities.js +44 -0
  87. package/dist/providers/provider-error.d.ts +31 -0
  88. package/dist/providers/provider-error.js +153 -0
  89. package/dist/providers/public.d.ts +26 -3
  90. package/dist/providers/public.js +13 -1
  91. package/dist/providers/registry.d.ts +7 -6
  92. package/dist/providers/registry.js +47 -20
  93. package/dist/providers/request-plan.d.ts +89 -0
  94. package/dist/providers/request-plan.js +199 -0
  95. package/dist/providers/usage-normalizer.d.ts +48 -0
  96. package/dist/providers/usage-normalizer.js +139 -0
  97. package/dist/providers/vendor-profiles.d.ts +2 -15
  98. package/dist/providers/vendor-profiles.js +14 -60
  99. package/dist/runtime/canonical-kernel-step.d.ts +1 -2
  100. package/dist/runtime/canonical-kernel-step.js +47 -12
  101. package/dist/runtime/context-policy.d.ts +10 -12
  102. package/dist/runtime/context-policy.js +6 -8
  103. package/dist/runtime/durable-content.d.ts +50 -0
  104. package/dist/runtime/durable-content.js +159 -0
  105. package/dist/runtime/execution-plane.d.ts +2 -2
  106. package/dist/runtime/execution-plane.js +2 -2
  107. package/dist/runtime/kernel-event-log.js +0 -1
  108. package/dist/runtime/kernel-step.d.ts +0 -1
  109. package/dist/runtime/kernel-step.js +4 -2
  110. package/dist/runtime/mcp-proxy-plane.d.ts +25 -1
  111. package/dist/runtime/mcp-proxy-plane.js +44 -6
  112. package/dist/runtime/output-schema.d.ts +1 -2
  113. package/dist/runtime/provider-replay.d.ts +5 -1
  114. package/dist/runtime/provider-replay.js +26 -27
  115. package/dist/runtime/reactive-session.d.ts +1 -1
  116. package/dist/runtime/reactive-session.js +2 -3
  117. package/dist/runtime/run-group.d.ts +1 -1
  118. package/dist/runtime/runner.d.ts +31 -45
  119. package/dist/runtime/runner.js +178 -63
  120. package/dist/runtime/session-log.d.ts +8 -1
  121. package/dist/runtime/session-log.js +42 -2
  122. package/dist/runtime/session-repair.d.ts +1 -1
  123. package/dist/runtime/session-repair.js +1 -1
  124. package/dist/runtime/sub-agent-orchestrator.d.ts +1 -1
  125. package/dist/runtime/sub-agent-orchestrator.js +8 -11
  126. package/dist/runtime/workflow-control-flow.d.ts +0 -4
  127. package/dist/runtime/workflow-control-flow.js +0 -16
  128. package/dist/session.d.ts +11 -0
  129. package/dist/session.js +1 -0
  130. package/dist/skill.d.ts +17 -0
  131. package/dist/skill.js +16 -0
  132. package/dist/skills/loader.d.ts +3 -0
  133. package/dist/tools/errors.d.ts +1 -3
  134. package/dist/tools/errors.js +1 -3
  135. package/dist/tools/index.d.ts +3 -0
  136. package/dist/types/agent.d.ts +21 -9
  137. package/dist/types/agent.js +30 -4
  138. package/dist/types.d.ts +135 -17
  139. package/package.json +4 -4
  140. package/dist/providers/deepseek.d.ts +0 -46
  141. package/dist/providers/deepseek.js +0 -97
  142. package/dist/providers/glm.d.ts +0 -25
  143. package/dist/providers/glm.js +0 -48
  144. package/dist/providers/kimi.d.ts +0 -23
  145. package/dist/providers/kimi.js +0 -30
  146. package/dist/providers/minimax.d.ts +0 -49
  147. package/dist/providers/minimax.js +0 -98
  148. package/dist/providers/profiles.d.ts +0 -1992
  149. package/dist/providers/profiles.js +0 -796
  150. package/dist/providers/qwen.d.ts +0 -38
  151. package/dist/providers/qwen.js +0 -97
@@ -1,796 +0,0 @@
1
- export const endpointProfiles = {
2
- "anthropic.messages": {
3
- id: "anthropic.messages",
4
- providerId: "anthropic",
5
- protocol: "anthropic-messages",
6
- baseURL: "https://api.anthropic.com",
7
- },
8
- "openai.chat": {
9
- id: "openai.chat",
10
- providerId: "openai",
11
- protocol: "openai-chat",
12
- baseURL: "https://api.openai.com/v1",
13
- },
14
- "openai.responses": {
15
- id: "openai.responses",
16
- providerId: "openai",
17
- protocol: "openai-responses",
18
- baseURL: "https://api.openai.com/v1",
19
- },
20
- "openai.embeddings": {
21
- id: "openai.embeddings",
22
- providerId: "openai",
23
- protocol: "openai-embeddings",
24
- baseURL: "https://api.openai.com/v1",
25
- },
26
- "minimax.anthropic": {
27
- id: "minimax.anthropic",
28
- providerId: "minimax",
29
- protocol: "anthropic-messages",
30
- baseURL: "https://api.minimaxi.com/anthropic",
31
- },
32
- "minimax.openai": {
33
- id: "minimax.openai",
34
- providerId: "minimax",
35
- protocol: "openai-chat",
36
- baseURL: "https://api.minimaxi.com/v1",
37
- },
38
- "deepseek.anthropic": {
39
- id: "deepseek.anthropic",
40
- providerId: "deepseek",
41
- protocol: "anthropic-messages",
42
- baseURL: "https://api.deepseek.com/anthropic",
43
- },
44
- "deepseek.openai": {
45
- id: "deepseek.openai",
46
- providerId: "deepseek",
47
- protocol: "openai-chat",
48
- baseURL: "https://api.deepseek.com",
49
- },
50
- // CN vendors (Kimi/GLM) are region-split: mainland (.cn hosts) and international (.ai/z.ai) are
51
- // SEPARATE accounts with SEPARATE keys — a mainland key 401s on the international host & vice-versa.
52
- // There is no `region` concept in this SDK: baseURL IS the host axis. These ids carry the DEFAULT =
53
- // mainland (cn); international users pass their own `baseURL` (with their international key). Keeping
54
- // both wires on the same region (cn) also fixes the prior split where openai=cn but anthropic=intl,
55
- // which 401'd a mainland key on the default anthropic wire.
56
- "kimi.anthropic": {
57
- id: "kimi.anthropic",
58
- providerId: "kimi",
59
- protocol: "anthropic-messages",
60
- baseURL: "https://api.moonshot.cn/anthropic",
61
- },
62
- "kimi.openai": {
63
- id: "kimi.openai",
64
- providerId: "kimi",
65
- protocol: "openai-chat",
66
- baseURL: "https://api.moonshot.cn/v1",
67
- },
68
- "qwen.anthropic": {
69
- id: "qwen.anthropic",
70
- providerId: "qwen",
71
- protocol: "anthropic-messages",
72
- baseURL: "https://dashscope-intl.aliyuncs.com/apps/anthropic",
73
- },
74
- "qwen.dashscope": {
75
- id: "qwen.dashscope",
76
- providerId: "qwen",
77
- protocol: "openai-chat",
78
- baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
79
- },
80
- "qwen.dashscope.embeddings": {
81
- id: "qwen.dashscope.embeddings",
82
- providerId: "qwen",
83
- protocol: "openai-embeddings",
84
- baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
85
- },
86
- "qwen.dashscope.multimodal-embeddings": {
87
- id: "qwen.dashscope.multimodal-embeddings",
88
- providerId: "qwen",
89
- protocol: "dashscope-multimodal-embeddings",
90
- baseURL: "https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding",
91
- },
92
- "gemini.google": {
93
- id: "gemini.google",
94
- providerId: "gemini",
95
- protocol: "gemini",
96
- baseURL: "https://generativelanguage.googleapis.com",
97
- },
98
- "gemini.google.embeddings": {
99
- id: "gemini.google.embeddings",
100
- providerId: "gemini",
101
- protocol: "gemini-embeddings",
102
- baseURL: "https://generativelanguage.googleapis.com",
103
- },
104
- "glm.anthropic": {
105
- id: "glm.anthropic",
106
- providerId: "glm",
107
- protocol: "anthropic-messages",
108
- // Default = mainland (consistent with the already-mainland glm.openai). International: pass baseURL
109
- // "https://api.z.ai/api/anthropic" with an international (z.ai) key.
110
- baseURL: "https://open.bigmodel.cn/api/anthropic",
111
- },
112
- "glm.openai": {
113
- id: "glm.openai",
114
- providerId: "glm",
115
- protocol: "openai-chat",
116
- baseURL: "https://open.bigmodel.cn/api/paas/v4",
117
- },
118
- "glm.openai.embeddings": {
119
- id: "glm.openai.embeddings",
120
- providerId: "glm",
121
- protocol: "openai-embeddings",
122
- baseURL: "https://open.bigmodel.cn/api/paas/v4",
123
- },
124
- "baai.self-hosted.embeddings": {
125
- id: "baai.self-hosted.embeddings",
126
- providerId: "baai",
127
- protocol: "self-hosted-embeddings",
128
- baseURL: "https://huggingface.co/BAAI",
129
- },
130
- };
131
- export const modelProfiles = {
132
- "anthropic/claude-opus-4-1": {
133
- id: "anthropic/claude-opus-4-1",
134
- providerId: "anthropic",
135
- defaultEndpointId: "anthropic.messages",
136
- contextWindow: 200_000,
137
- modalities: { input: ["text", "image"], output: ["text"] },
138
- tools: { supported: true },
139
- reasoning: { supported: true, preserveAcrossToolTurns: true },
140
- policy: { maxTurns: 50 },
141
- },
142
- "anthropic/claude-opus-4-7": {
143
- id: "anthropic/claude-opus-4-7",
144
- providerId: "anthropic",
145
- defaultEndpointId: "anthropic.messages",
146
- contextWindow: 200_000,
147
- modalities: { input: ["text", "image"], output: ["text"] },
148
- tools: { supported: true },
149
- reasoning: { supported: true, preserveAcrossToolTurns: true },
150
- policy: { maxTurns: 50 },
151
- },
152
- "anthropic/claude-opus-4-6": {
153
- id: "anthropic/claude-opus-4-6",
154
- providerId: "anthropic",
155
- defaultEndpointId: "anthropic.messages",
156
- contextWindow: 200_000,
157
- modalities: { input: ["text", "image"], output: ["text"] },
158
- tools: { supported: true },
159
- reasoning: { supported: true, preserveAcrossToolTurns: true },
160
- policy: { maxTurns: 50 },
161
- },
162
- "anthropic/claude-opus-4-0": {
163
- id: "anthropic/claude-opus-4-0",
164
- providerId: "anthropic",
165
- defaultEndpointId: "anthropic.messages",
166
- contextWindow: 200_000,
167
- modalities: { input: ["text", "image"], output: ["text"] },
168
- tools: { supported: true },
169
- reasoning: { supported: true, preserveAcrossToolTurns: true },
170
- policy: { maxTurns: 50 },
171
- },
172
- "anthropic/claude-sonnet-4-6": {
173
- id: "anthropic/claude-sonnet-4-6",
174
- providerId: "anthropic",
175
- defaultEndpointId: "anthropic.messages",
176
- contextWindow: 200_000,
177
- modalities: { input: ["text", "image"], output: ["text"] },
178
- tools: { supported: true },
179
- reasoning: { supported: true, preserveAcrossToolTurns: false },
180
- policy: { maxTurns: 25 },
181
- },
182
- "anthropic/claude-sonnet-4-0": {
183
- id: "anthropic/claude-sonnet-4-0",
184
- providerId: "anthropic",
185
- defaultEndpointId: "anthropic.messages",
186
- contextWindow: 200_000,
187
- modalities: { input: ["text", "image"], output: ["text"] },
188
- tools: { supported: true },
189
- reasoning: { supported: true, preserveAcrossToolTurns: false },
190
- policy: { maxTurns: 25 },
191
- },
192
- "anthropic/claude-haiku-4-5": {
193
- id: "anthropic/claude-haiku-4-5",
194
- providerId: "anthropic",
195
- defaultEndpointId: "anthropic.messages",
196
- contextWindow: 200_000,
197
- modalities: { input: ["text", "image"], output: ["text"] },
198
- tools: { supported: true },
199
- reasoning: { supported: false, preserveAcrossToolTurns: false },
200
- policy: { maxTurns: 15 },
201
- },
202
- "anthropic/claude-3-5-haiku-latest": {
203
- id: "anthropic/claude-3-5-haiku-latest",
204
- providerId: "anthropic",
205
- defaultEndpointId: "anthropic.messages",
206
- contextWindow: 200_000,
207
- modalities: { input: ["text", "image"], output: ["text"] },
208
- tools: { supported: true },
209
- reasoning: { supported: false, preserveAcrossToolTurns: false },
210
- policy: { maxTurns: 15 },
211
- },
212
- // ── OpenAI ─────────────────────────────────────────────────────────────────
213
- "openai/gpt-5.5": {
214
- id: "openai/gpt-5.5", providerId: "openai", defaultEndpointId: "openai.responses",
215
- contextWindow: 1_000_000,
216
- modalities: { input: ["text", "image"], output: ["text"] },
217
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
218
- policy: { maxTurns: 60 },
219
- },
220
- "openai/gpt-5.4": {
221
- id: "openai/gpt-5.4", providerId: "openai", defaultEndpointId: "openai.responses",
222
- contextWindow: 1_050_000,
223
- modalities: { input: ["text", "image"], output: ["text"] },
224
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
225
- policy: { maxTurns: 50 },
226
- },
227
- "openai/gpt-5.4-mini": {
228
- id: "openai/gpt-5.4-mini", providerId: "openai", defaultEndpointId: "openai.responses",
229
- contextWindow: 400_000,
230
- modalities: { input: ["text", "image"], output: ["text"] },
231
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
232
- policy: { maxTurns: 25 },
233
- },
234
- "openai/gpt-5.4-nano": {
235
- id: "openai/gpt-5.4-nano", providerId: "openai", defaultEndpointId: "openai.responses",
236
- contextWindow: 400_000,
237
- modalities: { input: ["text", "image"], output: ["text"] },
238
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
239
- policy: { maxTurns: 15 },
240
- },
241
- "openai/gpt-5.2": {
242
- id: "openai/gpt-5.2", providerId: "openai", defaultEndpointId: "openai.responses",
243
- modalities: { input: ["text", "image"], output: ["text"] },
244
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
245
- policy: { maxTurns: 50 },
246
- },
247
- "openai/gpt-5.2-pro": {
248
- id: "openai/gpt-5.2-pro", providerId: "openai", defaultEndpointId: "openai.responses",
249
- modalities: { input: ["text", "image"], output: ["text"] },
250
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
251
- policy: { maxTurns: 60 },
252
- },
253
- "openai/gpt-5.1": {
254
- id: "openai/gpt-5.1", providerId: "openai", defaultEndpointId: "openai.responses",
255
- modalities: { input: ["text", "image"], output: ["text"] },
256
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
257
- policy: { maxTurns: 50 },
258
- },
259
- "openai/gpt-4o": {
260
- id: "openai/gpt-4o", providerId: "openai", defaultEndpointId: "openai.chat",
261
- contextWindow: 128_000,
262
- modalities: { input: ["text", "image"], output: ["text"] },
263
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
264
- policy: { maxTurns: 25 },
265
- },
266
- "openai/gpt-4o-mini": {
267
- id: "openai/gpt-4o-mini", providerId: "openai", defaultEndpointId: "openai.chat",
268
- contextWindow: 128_000,
269
- modalities: { input: ["text", "image"], output: ["text"] },
270
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
271
- policy: { maxTurns: 15 },
272
- },
273
- "openai/gpt-4.1": {
274
- id: "openai/gpt-4.1", providerId: "openai", defaultEndpointId: "openai.responses",
275
- contextWindow: 1_047_576,
276
- modalities: { input: ["text", "image"], output: ["text"] },
277
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
278
- policy: { maxTurns: 35 },
279
- },
280
- "openai/gpt-4.1-mini": {
281
- id: "openai/gpt-4.1-mini", providerId: "openai", defaultEndpointId: "openai.responses",
282
- contextWindow: 1_047_576,
283
- modalities: { input: ["text", "image"], output: ["text"] },
284
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
285
- policy: { maxTurns: 20 },
286
- },
287
- "openai/gpt-4.1-nano": {
288
- id: "openai/gpt-4.1-nano", providerId: "openai", defaultEndpointId: "openai.responses",
289
- contextWindow: 1_047_576,
290
- modalities: { input: ["text", "image"], output: ["text"] },
291
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
292
- policy: { maxTurns: 15 },
293
- },
294
- "openai/gpt-5": {
295
- id: "openai/gpt-5", providerId: "openai", defaultEndpointId: "openai.responses",
296
- modalities: { input: ["text", "image"], output: ["text"] },
297
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
298
- policy: { maxTurns: 50 },
299
- },
300
- "openai/gpt-5-pro": {
301
- id: "openai/gpt-5-pro", providerId: "openai", defaultEndpointId: "openai.responses",
302
- modalities: { input: ["text", "image"], output: ["text"] },
303
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
304
- policy: { maxTurns: 60 },
305
- },
306
- "openai/gpt-5-mini": {
307
- id: "openai/gpt-5-mini", providerId: "openai", defaultEndpointId: "openai.responses",
308
- modalities: { input: ["text", "image"], output: ["text"] },
309
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
310
- policy: { maxTurns: 25 },
311
- },
312
- "openai/gpt-5-nano": {
313
- id: "openai/gpt-5-nano", providerId: "openai", defaultEndpointId: "openai.responses",
314
- modalities: { input: ["text", "image"], output: ["text"] },
315
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
316
- policy: { maxTurns: 15 },
317
- },
318
- "openai/o3": {
319
- id: "openai/o3", providerId: "openai", defaultEndpointId: "openai.responses",
320
- modalities: { input: ["text", "image"], output: ["text"] },
321
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
322
- policy: { maxTurns: 50 },
323
- },
324
- "openai/o3-mini": {
325
- id: "openai/o3-mini", providerId: "openai", defaultEndpointId: "openai.responses",
326
- modalities: { input: ["text"], output: ["text"] },
327
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
328
- policy: { maxTurns: 25 },
329
- },
330
- "openai/o4-mini": {
331
- id: "openai/o4-mini", providerId: "openai", defaultEndpointId: "openai.responses",
332
- modalities: { input: ["text", "image"], output: ["text"] },
333
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
334
- policy: { maxTurns: 25 },
335
- },
336
- "openai/text-embedding-3-large": {
337
- id: "openai/text-embedding-3-large", providerId: "openai", defaultEndpointId: "openai.embeddings",
338
- modalities: { input: ["text"], output: ["embedding"] },
339
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
340
- },
341
- "openai/text-embedding-3-small": {
342
- id: "openai/text-embedding-3-small", providerId: "openai", defaultEndpointId: "openai.embeddings",
343
- modalities: { input: ["text"], output: ["embedding"] },
344
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
345
- },
346
- "openai/text-embedding-ada-002": {
347
- id: "openai/text-embedding-ada-002", providerId: "openai", defaultEndpointId: "openai.embeddings",
348
- modalities: { input: ["text"], output: ["embedding"] },
349
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
350
- },
351
- // ── MiniMax ────────────────────────────────────────────────────────────────
352
- "minimax/MiniMax-M3": {
353
- id: "minimax/MiniMax-M3", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
354
- contextWindow: 204_800,
355
- // Natively multimodal — image input verified live via the Anthropic image-block path.
356
- modalities: { input: ["text", "image"], output: ["text"] },
357
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
358
- policy: { maxTurns: 35 },
359
- },
360
- "minimax/MiniMax-M3-highspeed": {
361
- id: "minimax/MiniMax-M3-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
362
- contextWindow: 204_800,
363
- modalities: { input: ["text", "image"], output: ["text"] },
364
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
365
- policy: { maxTurns: 35 },
366
- },
367
- "minimax/MiniMax-M2.7": {
368
- id: "minimax/MiniMax-M2.7", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
369
- contextWindow: 204_800,
370
- modalities: { input: ["text"], output: ["text"] },
371
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
372
- policy: { maxTurns: 35 },
373
- },
374
- "minimax/MiniMax-M2.7-highspeed": {
375
- id: "minimax/MiniMax-M2.7-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
376
- contextWindow: 204_800,
377
- modalities: { input: ["text"], output: ["text"] },
378
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
379
- policy: { maxTurns: 35 },
380
- },
381
- "minimax/MiniMax-M2.5": {
382
- id: "minimax/MiniMax-M2.5", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
383
- contextWindow: 204_800,
384
- modalities: { input: ["text"], output: ["text"] },
385
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
386
- policy: { maxTurns: 25 },
387
- },
388
- "minimax/MiniMax-M2.5-highspeed": {
389
- id: "minimax/MiniMax-M2.5-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
390
- contextWindow: 204_800,
391
- modalities: { input: ["text"], output: ["text"] },
392
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
393
- policy: { maxTurns: 25 },
394
- },
395
- "minimax/MiniMax-M2.1": {
396
- id: "minimax/MiniMax-M2.1", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
397
- contextWindow: 204_800,
398
- modalities: { input: ["text"], output: ["text"] },
399
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
400
- policy: { maxTurns: 25 },
401
- },
402
- "minimax/MiniMax-M2.1-highspeed": {
403
- id: "minimax/MiniMax-M2.1-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
404
- contextWindow: 204_800,
405
- modalities: { input: ["text"], output: ["text"] },
406
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
407
- policy: { maxTurns: 25 },
408
- },
409
- "minimax/MiniMax-M2": {
410
- id: "minimax/MiniMax-M2", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
411
- contextWindow: 204_800,
412
- modalities: { input: ["text"], output: ["text"] },
413
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
414
- policy: { maxTurns: 20 },
415
- },
416
- "minimax/MiniMax-Text-01": {
417
- id: "minimax/MiniMax-Text-01", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
418
- contextWindow: 1_000_000,
419
- modalities: { input: ["text"], output: ["text"] },
420
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
421
- policy: { maxTurns: 20 },
422
- },
423
- // ── DeepSeek ───────────────────────────────────────────────────────────────
424
- "deepseek/deepseek-chat": {
425
- id: "deepseek/deepseek-chat", providerId: "deepseek", defaultEndpointId: "deepseek.anthropic",
426
- contextWindow: 64_000,
427
- modalities: { input: ["text"], output: ["text"] },
428
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
429
- policy: { maxTurns: 25 },
430
- },
431
- "deepseek/deepseek-reasoner": {
432
- id: "deepseek/deepseek-reasoner", providerId: "deepseek", defaultEndpointId: "deepseek.anthropic",
433
- contextWindow: 64_000,
434
- modalities: { input: ["text"], output: ["text"] },
435
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
436
- policy: { maxTurns: 50 },
437
- },
438
- "deepseek/deepseek-v4-flash": {
439
- id: "deepseek/deepseek-v4-flash", providerId: "deepseek", defaultEndpointId: "deepseek.anthropic",
440
- contextWindow: 1_000_000,
441
- modalities: { input: ["text"], output: ["text"] },
442
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
443
- policy: { maxTurns: 20 },
444
- },
445
- "deepseek/deepseek-v4-pro": {
446
- id: "deepseek/deepseek-v4-pro", providerId: "deepseek", defaultEndpointId: "deepseek.anthropic",
447
- contextWindow: 1_000_000,
448
- modalities: { input: ["text"], output: ["text"] },
449
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
450
- policy: { maxTurns: 35 },
451
- },
452
- // ── Kimi ───────────────────────────────────────────────────────────────────
453
- "kimi/moonshot-v1-8k": {
454
- id: "kimi/moonshot-v1-8k", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
455
- contextWindow: 8_000,
456
- modalities: { input: ["text"], output: ["text"] },
457
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
458
- policy: { maxTurns: 15 },
459
- },
460
- "kimi/moonshot-v1-32k": {
461
- id: "kimi/moonshot-v1-32k", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
462
- contextWindow: 32_000,
463
- modalities: { input: ["text"], output: ["text"] },
464
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
465
- policy: { maxTurns: 20 },
466
- },
467
- "kimi/moonshot-v1-128k": {
468
- id: "kimi/moonshot-v1-128k", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
469
- contextWindow: 128_000,
470
- modalities: { input: ["text", "image"], output: ["text"] },
471
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
472
- policy: { maxTurns: 30 },
473
- },
474
- "kimi/kimi-k2.5": {
475
- id: "kimi/kimi-k2.5", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
476
- contextWindow: 256_000,
477
- modalities: { input: ["text", "image"], output: ["text"] },
478
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
479
- policy: { maxTurns: 30 },
480
- },
481
- "kimi/kimi-k2.6": {
482
- id: "kimi/kimi-k2.6", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
483
- modalities: { input: ["text"], output: ["text"] },
484
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
485
- policy: { maxTurns: 35 },
486
- },
487
- "kimi/kimi-k2-thinking": {
488
- id: "kimi/kimi-k2-thinking", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
489
- contextWindow: 256_000,
490
- modalities: { input: ["text"], output: ["text"] },
491
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
492
- policy: { maxTurns: 50 },
493
- },
494
- "kimi/kimi-k2-thinking-turbo": {
495
- id: "kimi/kimi-k2-thinking-turbo", providerId: "kimi", defaultEndpointId: "kimi.anthropic",
496
- contextWindow: 256_000,
497
- modalities: { input: ["text"], output: ["text"] },
498
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
499
- policy: { maxTurns: 40 },
500
- },
501
- // ── Qwen ───────────────────────────────────────────────────────────────────
502
- "qwen/qwen3.7-max-preview": {
503
- id: "qwen/qwen3.7-max-preview", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
504
- contextWindow: 256_000,
505
- modalities: { input: ["text"], output: ["text"] },
506
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
507
- policy: { maxTurns: 45 },
508
- },
509
- "qwen/qwen3.7-plus-preview": {
510
- id: "qwen/qwen3.7-plus-preview", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
511
- contextWindow: 1_000_000,
512
- modalities: { input: ["text", "image"], output: ["text"] },
513
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
514
- policy: { maxTurns: 40 },
515
- },
516
- "qwen/qwen3.6-max-preview": {
517
- id: "qwen/qwen3.6-max-preview", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
518
- contextWindow: 256_000,
519
- modalities: { input: ["text"], output: ["text"] },
520
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
521
- policy: { maxTurns: 40 },
522
- },
523
- "qwen/qwen3.6-plus": {
524
- id: "qwen/qwen3.6-plus", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
525
- contextWindow: 1_000_000,
526
- modalities: { input: ["text", "image"], output: ["text"] },
527
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
528
- policy: { maxTurns: 35 },
529
- },
530
- "qwen/qwen3.6-flash": {
531
- id: "qwen/qwen3.6-flash", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
532
- contextWindow: 1_000_000,
533
- modalities: { input: ["text", "image"], output: ["text"] },
534
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
535
- policy: { maxTurns: 20 },
536
- },
537
- "qwen/qwen3.6-35b-a3b": {
538
- id: "qwen/qwen3.6-35b-a3b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
539
- contextWindow: 256_000,
540
- modalities: { input: ["text", "image"], output: ["text"] },
541
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
542
- policy: { maxTurns: 25 },
543
- },
544
- "qwen/qwen3.6-27b": {
545
- id: "qwen/qwen3.6-27b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
546
- contextWindow: 256_000,
547
- modalities: { input: ["text", "image"], output: ["text"] },
548
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
549
- policy: { maxTurns: 25 },
550
- },
551
- "qwen/qwen3.5-plus": {
552
- id: "qwen/qwen3.5-plus", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
553
- contextWindow: 1_000_000,
554
- modalities: { input: ["text", "image"], output: ["text"] },
555
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
556
- policy: { maxTurns: 35 },
557
- },
558
- "qwen/qwen3.5-flash": {
559
- id: "qwen/qwen3.5-flash", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
560
- contextWindow: 1_000_000,
561
- modalities: { input: ["text", "image"], output: ["text"] },
562
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
563
- policy: { maxTurns: 20 },
564
- },
565
- "qwen/qwen3.5-397b-a17b": {
566
- id: "qwen/qwen3.5-397b-a17b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
567
- contextWindow: 256_000,
568
- modalities: { input: ["text", "image"], output: ["text"] },
569
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
570
- policy: { maxTurns: 35 },
571
- },
572
- "qwen/qwen3.5-122b-a10b": {
573
- id: "qwen/qwen3.5-122b-a10b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
574
- contextWindow: 256_000,
575
- modalities: { input: ["text", "image"], output: ["text"] },
576
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
577
- policy: { maxTurns: 25 },
578
- },
579
- "qwen/qwen3.5-35b-a3b": {
580
- id: "qwen/qwen3.5-35b-a3b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
581
- contextWindow: 256_000,
582
- modalities: { input: ["text", "image"], output: ["text"] },
583
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
584
- policy: { maxTurns: 20 },
585
- },
586
- "qwen/qwen3.5-27b": {
587
- id: "qwen/qwen3.5-27b", providerId: "qwen", defaultEndpointId: "qwen.anthropic",
588
- contextWindow: 256_000,
589
- modalities: { input: ["text", "image"], output: ["text"] },
590
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
591
- policy: { maxTurns: 20 },
592
- },
593
- "qwen/text-embedding-v4": {
594
- id: "qwen/text-embedding-v4", providerId: "qwen", defaultEndpointId: "qwen.dashscope.embeddings",
595
- contextWindow: 8_192,
596
- modalities: { input: ["text"], output: ["embedding"] },
597
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
598
- },
599
- "qwen/text-embedding-v3": {
600
- id: "qwen/text-embedding-v3", providerId: "qwen", defaultEndpointId: "qwen.dashscope.embeddings",
601
- contextWindow: 8_192,
602
- modalities: { input: ["text"], output: ["embedding"] },
603
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
604
- },
605
- "qwen/qwen3-vl-embedding": {
606
- id: "qwen/qwen3-vl-embedding", providerId: "qwen", defaultEndpointId: "qwen.dashscope.multimodal-embeddings",
607
- contextWindow: 32_000,
608
- modalities: { input: ["text", "image"], output: ["embedding"] },
609
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
610
- },
611
- "qwen/qwen2.5-vl-embedding": {
612
- id: "qwen/qwen2.5-vl-embedding", providerId: "qwen", defaultEndpointId: "qwen.dashscope.multimodal-embeddings",
613
- contextWindow: 32_000,
614
- modalities: { input: ["text", "image"], output: ["embedding"] },
615
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
616
- },
617
- // ── Gemini ─────────────────────────────────────────────────────────────────
618
- "gemini/gemini-3-pro-preview": {
619
- id: "gemini/gemini-3-pro-preview", providerId: "gemini", defaultEndpointId: "gemini.google",
620
- contextWindow: 1_048_576,
621
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
622
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
623
- policy: { maxTurns: 50 },
624
- },
625
- "gemini/gemini-3-flash-preview": {
626
- id: "gemini/gemini-3-flash-preview", providerId: "gemini", defaultEndpointId: "gemini.google",
627
- contextWindow: 1_048_576,
628
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
629
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
630
- policy: { maxTurns: 25 },
631
- },
632
- "gemini/gemini-3.5-flash": {
633
- id: "gemini/gemini-3.5-flash", providerId: "gemini", defaultEndpointId: "gemini.google",
634
- contextWindow: 1_048_576,
635
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
636
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
637
- policy: { maxTurns: 30 },
638
- },
639
- "gemini/gemini-2.5-pro": {
640
- id: "gemini/gemini-2.5-pro", providerId: "gemini", defaultEndpointId: "gemini.google",
641
- contextWindow: 1_048_576,
642
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
643
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
644
- policy: { maxTurns: 35 },
645
- },
646
- "gemini/gemini-2.5-flash": {
647
- id: "gemini/gemini-2.5-flash", providerId: "gemini", defaultEndpointId: "gemini.google",
648
- contextWindow: 1_048_576,
649
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
650
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
651
- policy: { maxTurns: 20 },
652
- },
653
- "gemini/gemini-2.0-flash": {
654
- id: "gemini/gemini-2.0-flash", providerId: "gemini", defaultEndpointId: "gemini.google",
655
- contextWindow: 1_048_576,
656
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
657
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
658
- policy: { maxTurns: 15 },
659
- },
660
- "gemini/gemini-2.0-flash-lite": {
661
- id: "gemini/gemini-2.0-flash-lite", providerId: "gemini", defaultEndpointId: "gemini.google",
662
- contextWindow: 1_048_576,
663
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
664
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
665
- policy: { maxTurns: 10 },
666
- },
667
- "gemini/gemini-1.5-pro": {
668
- id: "gemini/gemini-1.5-pro", providerId: "gemini", defaultEndpointId: "gemini.google",
669
- contextWindow: 2_097_152,
670
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
671
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
672
- policy: { maxTurns: 30 },
673
- },
674
- "gemini/gemini-1.5-flash": {
675
- id: "gemini/gemini-1.5-flash", providerId: "gemini", defaultEndpointId: "gemini.google",
676
- contextWindow: 1_048_576,
677
- modalities: { input: ["text", "image", "audio"], output: ["text"] },
678
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
679
- policy: { maxTurns: 15 },
680
- },
681
- "gemini/gemini-embedding-001": {
682
- id: "gemini/gemini-embedding-001", providerId: "gemini", defaultEndpointId: "gemini.google.embeddings",
683
- contextWindow: 2_048,
684
- modalities: { input: ["text"], output: ["embedding"] },
685
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
686
- },
687
- "gemini/gemini-embedding-2": {
688
- id: "gemini/gemini-embedding-2", providerId: "gemini", defaultEndpointId: "gemini.google.embeddings",
689
- contextWindow: 8_192,
690
- modalities: { input: ["text", "image", "audio"], output: ["embedding"] },
691
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
692
- },
693
- // ── GLM ────────────────────────────────────────────────────────────────────
694
- "glm/glm-5.2": {
695
- id: "glm/glm-5.2", providerId: "glm", defaultEndpointId: "glm.anthropic",
696
- contextWindow: 200_000,
697
- modalities: { input: ["text"], output: ["text"] },
698
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
699
- policy: { maxTurns: 50 },
700
- },
701
- "glm/glm-5.1": {
702
- id: "glm/glm-5.1", providerId: "glm", defaultEndpointId: "glm.anthropic",
703
- contextWindow: 200_000,
704
- modalities: { input: ["text"], output: ["text"] },
705
- tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
706
- policy: { maxTurns: 50 },
707
- },
708
- "glm/glm-4-plus": {
709
- id: "glm/glm-4-plus", providerId: "glm", defaultEndpointId: "glm.anthropic",
710
- contextWindow: 128_000,
711
- modalities: { input: ["text", "image"], output: ["text"] },
712
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
713
- policy: { maxTurns: 35 },
714
- },
715
- "glm/glm-4-flash": {
716
- id: "glm/glm-4-flash", providerId: "glm", defaultEndpointId: "glm.anthropic",
717
- contextWindow: 128_000,
718
- modalities: { input: ["text"], output: ["text"] },
719
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
720
- policy: { maxTurns: 15 },
721
- },
722
- "glm/glm-4-air": {
723
- id: "glm/glm-4-air", providerId: "glm", defaultEndpointId: "glm.anthropic",
724
- contextWindow: 128_000,
725
- modalities: { input: ["text"], output: ["text"] },
726
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
727
- policy: { maxTurns: 20 },
728
- },
729
- "glm/embedding-3": {
730
- id: "glm/embedding-3", providerId: "glm", defaultEndpointId: "glm.openai.embeddings",
731
- contextWindow: 8_000,
732
- modalities: { input: ["text"], output: ["embedding"] },
733
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
734
- },
735
- "glm/embedding-2": {
736
- id: "glm/embedding-2", providerId: "glm", defaultEndpointId: "glm.openai.embeddings",
737
- contextWindow: 8_000,
738
- modalities: { input: ["text"], output: ["embedding"] },
739
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
740
- },
741
- // ── BAAI / BGE ─────────────────────────────────────────────────────────────
742
- "baai/bge-m3": {
743
- id: "baai/bge-m3", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
744
- contextWindow: 8_192,
745
- modalities: { input: ["text"], output: ["embedding"] },
746
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
747
- },
748
- "baai/bge-large-en-v1.5": {
749
- id: "baai/bge-large-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
750
- modalities: { input: ["text"], output: ["embedding"] },
751
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
752
- },
753
- "baai/bge-base-en-v1.5": {
754
- id: "baai/bge-base-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
755
- modalities: { input: ["text"], output: ["embedding"] },
756
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
757
- },
758
- "baai/bge-small-en-v1.5": {
759
- id: "baai/bge-small-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
760
- modalities: { input: ["text"], output: ["embedding"] },
761
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
762
- },
763
- "baai/bge-large-zh-v1.5": {
764
- id: "baai/bge-large-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
765
- modalities: { input: ["text"], output: ["embedding"] },
766
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
767
- },
768
- "baai/bge-base-zh-v1.5": {
769
- id: "baai/bge-base-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
770
- modalities: { input: ["text"], output: ["embedding"] },
771
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
772
- },
773
- "baai/bge-small-zh-v1.5": {
774
- id: "baai/bge-small-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
775
- modalities: { input: ["text"], output: ["embedding"] },
776
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
777
- },
778
- "baai/bge-code-v1": {
779
- id: "baai/bge-code-v1", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
780
- modalities: { input: ["text"], output: ["embedding"] },
781
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
782
- },
783
- "baai/bge-vl-v1.5-zs": {
784
- id: "baai/bge-vl-v1.5-zs", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
785
- modalities: { input: ["text", "image"], output: ["embedding"] },
786
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
787
- },
788
- "baai/bge-vl-v1.5-mmeb": {
789
- id: "baai/bge-vl-v1.5-mmeb", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
790
- modalities: { input: ["text", "image"], output: ["embedding"] },
791
- tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
792
- },
793
- };
794
- export function getModelProfile(id) {
795
- return modelProfiles[id];
796
- }