@deepstrike/sdk 0.1.14 → 0.1.16

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.
@@ -17,6 +17,12 @@ export const endpointProfiles = {
17
17
  protocol: "openai-responses",
18
18
  baseURL: "https://api.openai.com/v1",
19
19
  },
20
+ "openai.embeddings": {
21
+ id: "openai.embeddings",
22
+ providerId: "openai",
23
+ protocol: "openai-embeddings",
24
+ baseURL: "https://api.openai.com/v1",
25
+ },
20
26
  "minimax.anthropic": {
21
27
  id: "minimax.anthropic",
22
28
  providerId: "minimax",
@@ -41,14 +47,60 @@ export const endpointProfiles = {
41
47
  protocol: "openai-chat",
42
48
  baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
43
49
  },
50
+ "qwen.dashscope.embeddings": {
51
+ id: "qwen.dashscope.embeddings",
52
+ providerId: "qwen",
53
+ protocol: "openai-embeddings",
54
+ baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
55
+ },
56
+ "qwen.dashscope.multimodal-embeddings": {
57
+ id: "qwen.dashscope.multimodal-embeddings",
58
+ providerId: "qwen",
59
+ protocol: "dashscope-multimodal-embeddings",
60
+ baseURL: "https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding",
61
+ },
44
62
  "gemini.google": {
45
63
  id: "gemini.google",
46
64
  providerId: "gemini",
47
65
  protocol: "gemini",
48
66
  baseURL: "https://generativelanguage.googleapis.com",
49
67
  },
68
+ "gemini.google.embeddings": {
69
+ id: "gemini.google.embeddings",
70
+ providerId: "gemini",
71
+ protocol: "gemini-embeddings",
72
+ baseURL: "https://generativelanguage.googleapis.com",
73
+ },
74
+ "glm.openai": {
75
+ id: "glm.openai",
76
+ providerId: "glm",
77
+ protocol: "openai-chat",
78
+ baseURL: "https://open.bigmodel.cn/api/paas/v4",
79
+ },
80
+ "glm.openai.embeddings": {
81
+ id: "glm.openai.embeddings",
82
+ providerId: "glm",
83
+ protocol: "openai-embeddings",
84
+ baseURL: "https://open.bigmodel.cn/api/paas/v4",
85
+ },
86
+ "baai.self-hosted.embeddings": {
87
+ id: "baai.self-hosted.embeddings",
88
+ providerId: "baai",
89
+ protocol: "self-hosted-embeddings",
90
+ baseURL: "https://huggingface.co/BAAI",
91
+ },
50
92
  };
51
93
  export const modelProfiles = {
94
+ "anthropic/claude-opus-4-1": {
95
+ id: "anthropic/claude-opus-4-1",
96
+ providerId: "anthropic",
97
+ defaultEndpointId: "anthropic.messages",
98
+ contextWindow: 200_000,
99
+ modalities: { input: ["text", "image"], output: ["text"] },
100
+ tools: { supported: true },
101
+ reasoning: { supported: true, preserveAcrossToolTurns: true },
102
+ policy: { maxTurns: 50 },
103
+ },
52
104
  "anthropic/claude-opus-4-7": {
53
105
  id: "anthropic/claude-opus-4-7",
54
106
  providerId: "anthropic",
@@ -69,6 +121,16 @@ export const modelProfiles = {
69
121
  reasoning: { supported: true, preserveAcrossToolTurns: true },
70
122
  policy: { maxTurns: 50 },
71
123
  },
124
+ "anthropic/claude-opus-4-0": {
125
+ id: "anthropic/claude-opus-4-0",
126
+ providerId: "anthropic",
127
+ defaultEndpointId: "anthropic.messages",
128
+ contextWindow: 200_000,
129
+ modalities: { input: ["text", "image"], output: ["text"] },
130
+ tools: { supported: true },
131
+ reasoning: { supported: true, preserveAcrossToolTurns: true },
132
+ policy: { maxTurns: 50 },
133
+ },
72
134
  "anthropic/claude-sonnet-4-6": {
73
135
  id: "anthropic/claude-sonnet-4-6",
74
136
  providerId: "anthropic",
@@ -79,6 +141,16 @@ export const modelProfiles = {
79
141
  reasoning: { supported: true, preserveAcrossToolTurns: false },
80
142
  policy: { maxTurns: 25 },
81
143
  },
144
+ "anthropic/claude-sonnet-4-0": {
145
+ id: "anthropic/claude-sonnet-4-0",
146
+ providerId: "anthropic",
147
+ defaultEndpointId: "anthropic.messages",
148
+ contextWindow: 200_000,
149
+ modalities: { input: ["text", "image"], output: ["text"] },
150
+ tools: { supported: true },
151
+ reasoning: { supported: true, preserveAcrossToolTurns: false },
152
+ policy: { maxTurns: 25 },
153
+ },
82
154
  "anthropic/claude-haiku-4-5": {
83
155
  id: "anthropic/claude-haiku-4-5",
84
156
  providerId: "anthropic",
@@ -89,7 +161,63 @@ export const modelProfiles = {
89
161
  reasoning: { supported: false, preserveAcrossToolTurns: false },
90
162
  policy: { maxTurns: 15 },
91
163
  },
164
+ "anthropic/claude-3-5-haiku-latest": {
165
+ id: "anthropic/claude-3-5-haiku-latest",
166
+ providerId: "anthropic",
167
+ defaultEndpointId: "anthropic.messages",
168
+ contextWindow: 200_000,
169
+ modalities: { input: ["text", "image"], output: ["text"] },
170
+ tools: { supported: true },
171
+ reasoning: { supported: false, preserveAcrossToolTurns: false },
172
+ policy: { maxTurns: 15 },
173
+ },
92
174
  // ── OpenAI ─────────────────────────────────────────────────────────────────
175
+ "openai/gpt-5.5": {
176
+ id: "openai/gpt-5.5", providerId: "openai", defaultEndpointId: "openai.responses",
177
+ contextWindow: 1_000_000,
178
+ modalities: { input: ["text", "image"], output: ["text"] },
179
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
180
+ policy: { maxTurns: 60 },
181
+ },
182
+ "openai/gpt-5.4": {
183
+ id: "openai/gpt-5.4", providerId: "openai", defaultEndpointId: "openai.responses",
184
+ contextWindow: 1_050_000,
185
+ modalities: { input: ["text", "image"], output: ["text"] },
186
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
187
+ policy: { maxTurns: 50 },
188
+ },
189
+ "openai/gpt-5.4-mini": {
190
+ id: "openai/gpt-5.4-mini", providerId: "openai", defaultEndpointId: "openai.responses",
191
+ contextWindow: 400_000,
192
+ modalities: { input: ["text", "image"], output: ["text"] },
193
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
194
+ policy: { maxTurns: 25 },
195
+ },
196
+ "openai/gpt-5.4-nano": {
197
+ id: "openai/gpt-5.4-nano", providerId: "openai", defaultEndpointId: "openai.responses",
198
+ contextWindow: 400_000,
199
+ modalities: { input: ["text", "image"], output: ["text"] },
200
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
201
+ policy: { maxTurns: 15 },
202
+ },
203
+ "openai/gpt-5.2": {
204
+ id: "openai/gpt-5.2", providerId: "openai", defaultEndpointId: "openai.responses",
205
+ modalities: { input: ["text", "image"], output: ["text"] },
206
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
207
+ policy: { maxTurns: 50 },
208
+ },
209
+ "openai/gpt-5.2-pro": {
210
+ id: "openai/gpt-5.2-pro", providerId: "openai", defaultEndpointId: "openai.responses",
211
+ modalities: { input: ["text", "image"], output: ["text"] },
212
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
213
+ policy: { maxTurns: 60 },
214
+ },
215
+ "openai/gpt-5.1": {
216
+ id: "openai/gpt-5.1", providerId: "openai", defaultEndpointId: "openai.responses",
217
+ modalities: { input: ["text", "image"], output: ["text"] },
218
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
219
+ policy: { maxTurns: 50 },
220
+ },
93
221
  "openai/gpt-4o": {
94
222
  id: "openai/gpt-4o", providerId: "openai", defaultEndpointId: "openai.chat",
95
223
  contextWindow: 128_000,
@@ -131,12 +259,24 @@ export const modelProfiles = {
131
259
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
132
260
  policy: { maxTurns: 50 },
133
261
  },
262
+ "openai/gpt-5-pro": {
263
+ id: "openai/gpt-5-pro", providerId: "openai", defaultEndpointId: "openai.responses",
264
+ modalities: { input: ["text", "image"], output: ["text"] },
265
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
266
+ policy: { maxTurns: 60 },
267
+ },
134
268
  "openai/gpt-5-mini": {
135
269
  id: "openai/gpt-5-mini", providerId: "openai", defaultEndpointId: "openai.responses",
136
270
  modalities: { input: ["text", "image"], output: ["text"] },
137
271
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
138
272
  policy: { maxTurns: 25 },
139
273
  },
274
+ "openai/gpt-5-nano": {
275
+ id: "openai/gpt-5-nano", providerId: "openai", defaultEndpointId: "openai.responses",
276
+ modalities: { input: ["text", "image"], output: ["text"] },
277
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
278
+ policy: { maxTurns: 15 },
279
+ },
140
280
  "openai/o3": {
141
281
  id: "openai/o3", providerId: "openai", defaultEndpointId: "openai.responses",
142
282
  modalities: { input: ["text", "image"], output: ["text"] },
@@ -155,6 +295,21 @@ export const modelProfiles = {
155
295
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
156
296
  policy: { maxTurns: 25 },
157
297
  },
298
+ "openai/text-embedding-3-large": {
299
+ id: "openai/text-embedding-3-large", providerId: "openai", defaultEndpointId: "openai.embeddings",
300
+ modalities: { input: ["text"], output: ["embedding"] },
301
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
302
+ },
303
+ "openai/text-embedding-3-small": {
304
+ id: "openai/text-embedding-3-small", providerId: "openai", defaultEndpointId: "openai.embeddings",
305
+ modalities: { input: ["text"], output: ["embedding"] },
306
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
307
+ },
308
+ "openai/text-embedding-ada-002": {
309
+ id: "openai/text-embedding-ada-002", providerId: "openai", defaultEndpointId: "openai.embeddings",
310
+ modalities: { input: ["text"], output: ["embedding"] },
311
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
312
+ },
158
313
  // ── MiniMax ────────────────────────────────────────────────────────────────
159
314
  "minimax/MiniMax-M2.7": {
160
315
  id: "minimax/MiniMax-M2.7", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
@@ -163,6 +318,13 @@ export const modelProfiles = {
163
318
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
164
319
  policy: { maxTurns: 35 },
165
320
  },
321
+ "minimax/MiniMax-M2.7-highspeed": {
322
+ id: "minimax/MiniMax-M2.7-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
323
+ contextWindow: 204_800,
324
+ modalities: { input: ["text"], output: ["text"] },
325
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
326
+ policy: { maxTurns: 35 },
327
+ },
166
328
  "minimax/MiniMax-M2.5": {
167
329
  id: "minimax/MiniMax-M2.5", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
168
330
  contextWindow: 204_800,
@@ -170,6 +332,34 @@ export const modelProfiles = {
170
332
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
171
333
  policy: { maxTurns: 25 },
172
334
  },
335
+ "minimax/MiniMax-M2.5-highspeed": {
336
+ id: "minimax/MiniMax-M2.5-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
337
+ contextWindow: 204_800,
338
+ modalities: { input: ["text"], output: ["text"] },
339
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
340
+ policy: { maxTurns: 25 },
341
+ },
342
+ "minimax/MiniMax-M2.1": {
343
+ id: "minimax/MiniMax-M2.1", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
344
+ contextWindow: 204_800,
345
+ modalities: { input: ["text"], output: ["text"] },
346
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
347
+ policy: { maxTurns: 25 },
348
+ },
349
+ "minimax/MiniMax-M2.1-highspeed": {
350
+ id: "minimax/MiniMax-M2.1-highspeed", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
351
+ contextWindow: 204_800,
352
+ modalities: { input: ["text"], output: ["text"] },
353
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
354
+ policy: { maxTurns: 25 },
355
+ },
356
+ "minimax/MiniMax-M2": {
357
+ id: "minimax/MiniMax-M2", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
358
+ contextWindow: 204_800,
359
+ modalities: { input: ["text"], output: ["text"] },
360
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
361
+ policy: { maxTurns: 20 },
362
+ },
173
363
  "minimax/MiniMax-Text-01": {
174
364
  id: "minimax/MiniMax-Text-01", providerId: "minimax", defaultEndpointId: "minimax.anthropic",
175
365
  contextWindow: 1_000_000,
@@ -241,50 +431,158 @@ export const modelProfiles = {
241
431
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
242
432
  policy: { maxTurns: 35 },
243
433
  },
434
+ "kimi/kimi-k2-thinking": {
435
+ id: "kimi/kimi-k2-thinking", providerId: "kimi", defaultEndpointId: "kimi.openai",
436
+ contextWindow: 256_000,
437
+ modalities: { input: ["text"], output: ["text"] },
438
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
439
+ policy: { maxTurns: 50 },
440
+ },
441
+ "kimi/kimi-k2-thinking-turbo": {
442
+ id: "kimi/kimi-k2-thinking-turbo", providerId: "kimi", defaultEndpointId: "kimi.openai",
443
+ contextWindow: 256_000,
444
+ modalities: { input: ["text"], output: ["text"] },
445
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
446
+ policy: { maxTurns: 40 },
447
+ },
244
448
  // ── Qwen ───────────────────────────────────────────────────────────────────
245
- "qwen/qwen-max": {
246
- id: "qwen/qwen-max", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
247
- contextWindow: 32_768,
248
- modalities: { input: ["text", "image"], output: ["text"] },
249
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
250
- policy: { maxTurns: 25 },
449
+ "qwen/qwen3.7-max-preview": {
450
+ id: "qwen/qwen3.7-max-preview", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
451
+ contextWindow: 256_000,
452
+ modalities: { input: ["text"], output: ["text"] },
453
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
454
+ policy: { maxTurns: 45 },
251
455
  },
252
- "qwen/qwen-plus": {
253
- id: "qwen/qwen-plus", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
254
- contextWindow: 131_072,
456
+ "qwen/qwen3.7-plus-preview": {
457
+ id: "qwen/qwen3.7-plus-preview", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
458
+ contextWindow: 1_000_000,
255
459
  modalities: { input: ["text", "image"], output: ["text"] },
256
- tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
257
- policy: { maxTurns: 20 },
460
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
461
+ policy: { maxTurns: 40 },
258
462
  },
259
- "qwen/qwq-plus": {
260
- id: "qwen/qwq-plus", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
261
- contextWindow: 131_072,
463
+ "qwen/qwen3.6-max-preview": {
464
+ id: "qwen/qwen3.6-max-preview", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
465
+ contextWindow: 256_000,
262
466
  modalities: { input: ["text"], output: ["text"] },
263
467
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
264
468
  policy: { maxTurns: 40 },
265
469
  },
266
- "qwen/qwen3-235b-a22b": {
267
- id: "qwen/qwen3-235b-a22b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
268
- contextWindow: 131_072,
269
- modalities: { input: ["text"], output: ["text"] },
470
+ "qwen/qwen3.6-plus": {
471
+ id: "qwen/qwen3.6-plus", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
472
+ contextWindow: 1_000_000,
473
+ modalities: { input: ["text", "image"], output: ["text"] },
270
474
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
271
475
  policy: { maxTurns: 35 },
272
476
  },
273
- "qwen/qwen3-72b": {
274
- id: "qwen/qwen3-72b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
275
- contextWindow: 131_072,
276
- modalities: { input: ["text"], output: ["text"] },
477
+ "qwen/qwen3.6-flash": {
478
+ id: "qwen/qwen3.6-flash", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
479
+ contextWindow: 1_000_000,
480
+ modalities: { input: ["text", "image"], output: ["text"] },
481
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
482
+ policy: { maxTurns: 20 },
483
+ },
484
+ "qwen/qwen3.6-35b-a3b": {
485
+ id: "qwen/qwen3.6-35b-a3b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
486
+ contextWindow: 256_000,
487
+ modalities: { input: ["text", "image"], output: ["text"] },
277
488
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
278
489
  policy: { maxTurns: 25 },
279
490
  },
280
- "qwen/qwen3-32b": {
281
- id: "qwen/qwen3-32b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
282
- contextWindow: 131_072,
283
- modalities: { input: ["text"], output: ["text"] },
491
+ "qwen/qwen3.6-27b": {
492
+ id: "qwen/qwen3.6-27b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
493
+ contextWindow: 256_000,
494
+ modalities: { input: ["text", "image"], output: ["text"] },
495
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
496
+ policy: { maxTurns: 25 },
497
+ },
498
+ "qwen/qwen3.5-plus": {
499
+ id: "qwen/qwen3.5-plus", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
500
+ contextWindow: 1_000_000,
501
+ modalities: { input: ["text", "image"], output: ["text"] },
502
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
503
+ policy: { maxTurns: 35 },
504
+ },
505
+ "qwen/qwen3.5-flash": {
506
+ id: "qwen/qwen3.5-flash", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
507
+ contextWindow: 1_000_000,
508
+ modalities: { input: ["text", "image"], output: ["text"] },
509
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
510
+ policy: { maxTurns: 20 },
511
+ },
512
+ "qwen/qwen3.5-397b-a17b": {
513
+ id: "qwen/qwen3.5-397b-a17b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
514
+ contextWindow: 256_000,
515
+ modalities: { input: ["text", "image"], output: ["text"] },
516
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
517
+ policy: { maxTurns: 35 },
518
+ },
519
+ "qwen/qwen3.5-122b-a10b": {
520
+ id: "qwen/qwen3.5-122b-a10b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
521
+ contextWindow: 256_000,
522
+ modalities: { input: ["text", "image"], output: ["text"] },
523
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
524
+ policy: { maxTurns: 25 },
525
+ },
526
+ "qwen/qwen3.5-35b-a3b": {
527
+ id: "qwen/qwen3.5-35b-a3b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
528
+ contextWindow: 256_000,
529
+ modalities: { input: ["text", "image"], output: ["text"] },
530
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
531
+ policy: { maxTurns: 20 },
532
+ },
533
+ "qwen/qwen3.5-27b": {
534
+ id: "qwen/qwen3.5-27b", providerId: "qwen", defaultEndpointId: "qwen.dashscope",
535
+ contextWindow: 256_000,
536
+ modalities: { input: ["text", "image"], output: ["text"] },
284
537
  tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
285
538
  policy: { maxTurns: 20 },
286
539
  },
540
+ "qwen/text-embedding-v4": {
541
+ id: "qwen/text-embedding-v4", providerId: "qwen", defaultEndpointId: "qwen.dashscope.embeddings",
542
+ contextWindow: 8_192,
543
+ modalities: { input: ["text"], output: ["embedding"] },
544
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
545
+ },
546
+ "qwen/text-embedding-v3": {
547
+ id: "qwen/text-embedding-v3", providerId: "qwen", defaultEndpointId: "qwen.dashscope.embeddings",
548
+ contextWindow: 8_192,
549
+ modalities: { input: ["text"], output: ["embedding"] },
550
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
551
+ },
552
+ "qwen/qwen3-vl-embedding": {
553
+ id: "qwen/qwen3-vl-embedding", providerId: "qwen", defaultEndpointId: "qwen.dashscope.multimodal-embeddings",
554
+ contextWindow: 32_000,
555
+ modalities: { input: ["text", "image", "video"], output: ["embedding"] },
556
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
557
+ },
558
+ "qwen/qwen2.5-vl-embedding": {
559
+ id: "qwen/qwen2.5-vl-embedding", providerId: "qwen", defaultEndpointId: "qwen.dashscope.multimodal-embeddings",
560
+ contextWindow: 32_000,
561
+ modalities: { input: ["text", "image", "video"], output: ["embedding"] },
562
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
563
+ },
287
564
  // ── Gemini ─────────────────────────────────────────────────────────────────
565
+ "gemini/gemini-3-pro-preview": {
566
+ id: "gemini/gemini-3-pro-preview", providerId: "gemini", defaultEndpointId: "gemini.google",
567
+ contextWindow: 1_048_576,
568
+ modalities: { input: ["text", "image", "audio"], output: ["text"] },
569
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
570
+ policy: { maxTurns: 50 },
571
+ },
572
+ "gemini/gemini-3-flash-preview": {
573
+ id: "gemini/gemini-3-flash-preview", providerId: "gemini", defaultEndpointId: "gemini.google",
574
+ contextWindow: 1_048_576,
575
+ modalities: { input: ["text", "image", "audio"], output: ["text"] },
576
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
577
+ policy: { maxTurns: 25 },
578
+ },
579
+ "gemini/gemini-3.5-flash": {
580
+ id: "gemini/gemini-3.5-flash", providerId: "gemini", defaultEndpointId: "gemini.google",
581
+ contextWindow: 1_048_576,
582
+ modalities: { input: ["text", "image", "audio"], output: ["text"] },
583
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: false },
584
+ policy: { maxTurns: 30 },
585
+ },
288
586
  "gemini/gemini-2.5-pro": {
289
587
  id: "gemini/gemini-2.5-pro", providerId: "gemini", defaultEndpointId: "gemini.google",
290
588
  contextWindow: 1_048_576,
@@ -327,6 +625,111 @@ export const modelProfiles = {
327
625
  tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
328
626
  policy: { maxTurns: 15 },
329
627
  },
628
+ "gemini/gemini-embedding-001": {
629
+ id: "gemini/gemini-embedding-001", providerId: "gemini", defaultEndpointId: "gemini.google.embeddings",
630
+ contextWindow: 2_048,
631
+ modalities: { input: ["text"], output: ["embedding"] },
632
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
633
+ },
634
+ "gemini/gemini-embedding-2": {
635
+ id: "gemini/gemini-embedding-2", providerId: "gemini", defaultEndpointId: "gemini.google.embeddings",
636
+ contextWindow: 8_192,
637
+ modalities: { input: ["text", "image", "audio", "video", "pdf"], output: ["embedding"] },
638
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
639
+ },
640
+ // ── GLM ────────────────────────────────────────────────────────────────────
641
+ "glm/glm-5.1": {
642
+ id: "glm/glm-5.1", providerId: "glm", defaultEndpointId: "glm.openai",
643
+ contextWindow: 200_000,
644
+ modalities: { input: ["text"], output: ["text"] },
645
+ tools: { supported: true }, reasoning: { supported: true, preserveAcrossToolTurns: true },
646
+ policy: { maxTurns: 50 },
647
+ },
648
+ "glm/glm-4-plus": {
649
+ id: "glm/glm-4-plus", providerId: "glm", defaultEndpointId: "glm.openai",
650
+ contextWindow: 128_000,
651
+ modalities: { input: ["text", "image"], output: ["text"] },
652
+ tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
653
+ policy: { maxTurns: 35 },
654
+ },
655
+ "glm/glm-4-flash": {
656
+ id: "glm/glm-4-flash", providerId: "glm", defaultEndpointId: "glm.openai",
657
+ contextWindow: 128_000,
658
+ modalities: { input: ["text"], output: ["text"] },
659
+ tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
660
+ policy: { maxTurns: 15 },
661
+ },
662
+ "glm/glm-4-air": {
663
+ id: "glm/glm-4-air", providerId: "glm", defaultEndpointId: "glm.openai",
664
+ contextWindow: 128_000,
665
+ modalities: { input: ["text"], output: ["text"] },
666
+ tools: { supported: true }, reasoning: { supported: false, preserveAcrossToolTurns: false },
667
+ policy: { maxTurns: 20 },
668
+ },
669
+ "glm/embedding-3": {
670
+ id: "glm/embedding-3", providerId: "glm", defaultEndpointId: "glm.openai.embeddings",
671
+ contextWindow: 8_000,
672
+ modalities: { input: ["text"], output: ["embedding"] },
673
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
674
+ },
675
+ "glm/embedding-2": {
676
+ id: "glm/embedding-2", providerId: "glm", defaultEndpointId: "glm.openai.embeddings",
677
+ contextWindow: 8_000,
678
+ modalities: { input: ["text"], output: ["embedding"] },
679
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
680
+ },
681
+ // ── BAAI / BGE ─────────────────────────────────────────────────────────────
682
+ "baai/bge-m3": {
683
+ id: "baai/bge-m3", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
684
+ contextWindow: 8_192,
685
+ modalities: { input: ["text"], output: ["embedding"] },
686
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
687
+ },
688
+ "baai/bge-large-en-v1.5": {
689
+ id: "baai/bge-large-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
690
+ modalities: { input: ["text"], output: ["embedding"] },
691
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
692
+ },
693
+ "baai/bge-base-en-v1.5": {
694
+ id: "baai/bge-base-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
695
+ modalities: { input: ["text"], output: ["embedding"] },
696
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
697
+ },
698
+ "baai/bge-small-en-v1.5": {
699
+ id: "baai/bge-small-en-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
700
+ modalities: { input: ["text"], output: ["embedding"] },
701
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
702
+ },
703
+ "baai/bge-large-zh-v1.5": {
704
+ id: "baai/bge-large-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
705
+ modalities: { input: ["text"], output: ["embedding"] },
706
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
707
+ },
708
+ "baai/bge-base-zh-v1.5": {
709
+ id: "baai/bge-base-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
710
+ modalities: { input: ["text"], output: ["embedding"] },
711
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
712
+ },
713
+ "baai/bge-small-zh-v1.5": {
714
+ id: "baai/bge-small-zh-v1.5", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
715
+ modalities: { input: ["text"], output: ["embedding"] },
716
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
717
+ },
718
+ "baai/bge-code-v1": {
719
+ id: "baai/bge-code-v1", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
720
+ modalities: { input: ["text"], output: ["embedding"] },
721
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
722
+ },
723
+ "baai/bge-vl-v1.5-zs": {
724
+ id: "baai/bge-vl-v1.5-zs", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
725
+ modalities: { input: ["text", "image"], output: ["embedding"] },
726
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
727
+ },
728
+ "baai/bge-vl-v1.5-mmeb": {
729
+ id: "baai/bge-vl-v1.5-mmeb", providerId: "baai", defaultEndpointId: "baai.self-hosted.embeddings",
730
+ modalities: { input: ["text", "image"], output: ["embedding"] },
731
+ tools: { supported: false }, reasoning: { supported: false, preserveAcrossToolTurns: false },
732
+ },
330
733
  };
331
734
  export function getModelProfile(id) {
332
735
  return modelProfiles[id];
@@ -1,5 +1,5 @@
1
1
  import OpenAI from "openai";
2
- import type { LLMProvider, Message, RenderedContext, StreamEvent, ToolSchema, RuntimePolicy } from "../types.js";
2
+ import type { LLMProvider, Message, RenderedContext, StreamEvent, ToolSchema, RuntimePolicy, ProviderReplay } from "../types.js";
3
3
  import { CircuitBreaker } from "./base.js";
4
4
  import { OpenAIChatAdapter } from "./openai-chat.js";
5
5
  export declare class QwenProvider implements LLMProvider {
@@ -14,6 +14,8 @@ export declare class QwenProvider implements LLMProvider {
14
14
  baseDelay: number;
15
15
  }, baseURL?: string);
16
16
  runtimePolicy(): RuntimePolicy;
17
+ peekProviderReplay(message: Pick<Message, "content" | "toolCalls">): ProviderReplay | undefined;
18
+ seedProviderReplay(message: Pick<Message, "content" | "toolCalls">, replay: ProviderReplay): void;
17
19
  complete(context: RenderedContext, tools: ToolSchema[], extensions?: Record<string, unknown>): Promise<Message>;
18
20
  stream(context: RenderedContext, tools: ToolSchema[], extensions?: Record<string, unknown>): AsyncIterable<StreamEvent>;
19
21
  private thinkingExtraBody;