@jupyterlite/ai 0.18.0 → 0.19.0
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.
- package/lib/chat-commands/clear.d.ts +1 -0
- package/lib/chat-commands/index.d.ts +1 -0
- package/lib/chat-commands/skills.d.ts +2 -1
- package/lib/chat-model-handler.d.ts +3 -1
- package/lib/chat-model.d.ts +46 -8
- package/lib/chat-model.js +51 -21
- package/lib/completion/completion-provider.d.ts +3 -1
- package/lib/completion/completion-provider.js +1 -2
- package/lib/completion/index.d.ts +1 -0
- package/lib/components/clear-button.d.ts +1 -0
- package/lib/components/clear-button.js +3 -4
- package/lib/components/completion-status.d.ts +1 -0
- package/lib/components/completion-status.js +5 -4
- package/lib/components/index.d.ts +1 -0
- package/lib/components/model-select.d.ts +1 -0
- package/lib/components/model-select.js +62 -67
- package/lib/components/save-button.d.ts +1 -0
- package/lib/components/save-button.js +4 -5
- package/lib/components/stop-button.d.ts +1 -0
- package/lib/components/stop-button.js +3 -4
- package/lib/components/tool-select.d.ts +3 -1
- package/lib/components/tool-select.js +47 -60
- package/lib/components/usage-display.d.ts +4 -2
- package/lib/components/usage-display.js +50 -61
- package/lib/diff-manager.d.ts +3 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.js +28 -17
- package/lib/models/settings-model.d.ts +3 -1
- package/lib/rendered-message-outputarea.d.ts +1 -0
- package/lib/tokens.d.ts +18 -640
- package/lib/tokens.js +2 -31
- package/lib/widgets/ai-settings.d.ts +3 -1
- package/lib/widgets/ai-settings.js +185 -349
- package/lib/widgets/main-area-chat.d.ts +1 -0
- package/lib/widgets/provider-config-dialog.d.ts +2 -1
- package/lib/widgets/provider-config-dialog.js +102 -167
- package/package.json +111 -258
- package/src/chat-commands/skills.ts +2 -2
- package/src/chat-model-handler.ts +6 -4
- package/src/chat-model.ts +66 -19
- package/src/completion/completion-provider.ts +6 -6
- package/src/components/clear-button.tsx +0 -2
- package/src/components/completion-status.tsx +2 -2
- package/src/components/model-select.tsx +1 -1
- package/src/components/stop-button.tsx +0 -2
- package/src/components/tool-select.tsx +10 -9
- package/src/components/usage-display.tsx +4 -2
- package/src/diff-manager.ts +4 -3
- package/src/index.ts +62 -44
- package/src/models/settings-model.ts +6 -6
- package/src/tokens.ts +23 -788
- package/src/widgets/ai-settings.tsx +14 -11
- package/src/widgets/provider-config-dialog.tsx +8 -8
- package/LICENSE +0 -30
- package/README.md +0 -49
- package/lib/agent.d.ts +0 -280
- package/lib/agent.js +0 -1103
- package/lib/icons.d.ts +0 -3
- package/lib/icons.js +0 -8
- package/lib/providers/built-in-providers.d.ts +0 -21
- package/lib/providers/built-in-providers.js +0 -233
- package/lib/providers/generated-model-info.d.ts +0 -8
- package/lib/providers/generated-model-info.js +0 -502
- package/lib/providers/model-info.d.ts +0 -6
- package/lib/providers/model-info.js +0 -91
- package/lib/providers/models.d.ts +0 -37
- package/lib/providers/models.js +0 -28
- package/lib/providers/provider-registry.d.ts +0 -49
- package/lib/providers/provider-registry.js +0 -72
- package/lib/providers/provider-tools.d.ts +0 -36
- package/lib/providers/provider-tools.js +0 -93
- package/lib/skills/index.d.ts +0 -4
- package/lib/skills/index.js +0 -7
- package/lib/skills/parse-skill.d.ts +0 -25
- package/lib/skills/parse-skill.js +0 -69
- package/lib/skills/skill-loader.d.ts +0 -25
- package/lib/skills/skill-loader.js +0 -133
- package/lib/skills/skill-registry.d.ts +0 -31
- package/lib/skills/skill-registry.js +0 -100
- package/lib/skills/types.d.ts +0 -29
- package/lib/skills/types.js +0 -5
- package/lib/tools/commands.d.ts +0 -11
- package/lib/tools/commands.js +0 -154
- package/lib/tools/skills.d.ts +0 -9
- package/lib/tools/skills.js +0 -73
- package/lib/tools/tool-registry.d.ts +0 -35
- package/lib/tools/tool-registry.js +0 -55
- package/lib/tools/web.d.ts +0 -8
- package/lib/tools/web.js +0 -196
- package/src/agent.ts +0 -1431
- package/src/icons.ts +0 -11
- package/src/providers/built-in-providers.ts +0 -241
- package/src/providers/generated-model-info.ts +0 -508
- package/src/providers/model-info.ts +0 -145
- package/src/providers/models.ts +0 -76
- package/src/providers/provider-registry.ts +0 -88
- package/src/providers/provider-tools.ts +0 -179
- package/src/skills/index.ts +0 -14
- package/src/skills/parse-skill.ts +0 -91
- package/src/skills/skill-loader.ts +0 -175
- package/src/skills/skill-registry.ts +0 -137
- package/src/skills/types.ts +0 -37
- package/src/tools/commands.ts +0 -210
- package/src/tools/skills.ts +0 -84
- package/src/tools/tool-registry.ts +0 -63
- package/src/tools/web.ts +0 -238
- package/src/types.d.ts +0 -4
- package/style/icons/jupyternaut-lite.svg +0 -7
|
@@ -1,502 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is generated by `jlpm sync:model-info`.
|
|
3
|
-
* Source: https://models.dev/api.json
|
|
4
|
-
* Backed by: https://github.com/anomalyco/models.dev
|
|
5
|
-
* Generated: 2026-04-28T11:55:05.327Z
|
|
6
|
-
*/
|
|
7
|
-
export const BUILT_IN_PROVIDER_MODEL_INFO = {
|
|
8
|
-
anthropic: {
|
|
9
|
-
'claude-opus-4-6': {
|
|
10
|
-
contextWindow: 1000000,
|
|
11
|
-
supportsImages: true,
|
|
12
|
-
supportsPdf: true,
|
|
13
|
-
supportsAudio: false
|
|
14
|
-
},
|
|
15
|
-
'claude-sonnet-4-6': {
|
|
16
|
-
contextWindow: 1000000,
|
|
17
|
-
supportsImages: true,
|
|
18
|
-
supportsPdf: true,
|
|
19
|
-
supportsAudio: false
|
|
20
|
-
},
|
|
21
|
-
'claude-opus-4-5': {
|
|
22
|
-
contextWindow: 200000,
|
|
23
|
-
supportsImages: true,
|
|
24
|
-
supportsPdf: true,
|
|
25
|
-
supportsAudio: false
|
|
26
|
-
},
|
|
27
|
-
'claude-opus-4-5-20251101': {
|
|
28
|
-
contextWindow: 200000,
|
|
29
|
-
supportsImages: true,
|
|
30
|
-
supportsPdf: true,
|
|
31
|
-
supportsAudio: false
|
|
32
|
-
},
|
|
33
|
-
'claude-sonnet-4-5': {
|
|
34
|
-
contextWindow: 200000,
|
|
35
|
-
supportsImages: true,
|
|
36
|
-
supportsPdf: true,
|
|
37
|
-
supportsAudio: false
|
|
38
|
-
},
|
|
39
|
-
'claude-sonnet-4-5-20250929': {
|
|
40
|
-
contextWindow: 200000,
|
|
41
|
-
supportsImages: true,
|
|
42
|
-
supportsPdf: true,
|
|
43
|
-
supportsAudio: false
|
|
44
|
-
},
|
|
45
|
-
'claude-haiku-4-5': {
|
|
46
|
-
contextWindow: 200000,
|
|
47
|
-
supportsImages: true,
|
|
48
|
-
supportsPdf: true,
|
|
49
|
-
supportsAudio: false
|
|
50
|
-
},
|
|
51
|
-
'claude-haiku-4-5-20251001': {
|
|
52
|
-
contextWindow: 200000,
|
|
53
|
-
supportsImages: true,
|
|
54
|
-
supportsPdf: true,
|
|
55
|
-
supportsAudio: false
|
|
56
|
-
},
|
|
57
|
-
'claude-opus-4-1': {
|
|
58
|
-
contextWindow: 200000,
|
|
59
|
-
supportsImages: true,
|
|
60
|
-
supportsPdf: true,
|
|
61
|
-
supportsAudio: false
|
|
62
|
-
},
|
|
63
|
-
'claude-opus-4-1-20250805': {
|
|
64
|
-
contextWindow: 200000,
|
|
65
|
-
supportsImages: true,
|
|
66
|
-
supportsPdf: true,
|
|
67
|
-
supportsAudio: false
|
|
68
|
-
},
|
|
69
|
-
'claude-opus-4-0': {
|
|
70
|
-
contextWindow: 200000,
|
|
71
|
-
supportsImages: true,
|
|
72
|
-
supportsPdf: true,
|
|
73
|
-
supportsAudio: false
|
|
74
|
-
},
|
|
75
|
-
'claude-opus-4-20250514': {
|
|
76
|
-
contextWindow: 200000,
|
|
77
|
-
supportsImages: true,
|
|
78
|
-
supportsPdf: true,
|
|
79
|
-
supportsAudio: false
|
|
80
|
-
},
|
|
81
|
-
'claude-sonnet-4-0': {
|
|
82
|
-
contextWindow: 200000,
|
|
83
|
-
supportsImages: true,
|
|
84
|
-
supportsPdf: true,
|
|
85
|
-
supportsAudio: false
|
|
86
|
-
},
|
|
87
|
-
'claude-sonnet-4-20250514': {
|
|
88
|
-
contextWindow: 200000,
|
|
89
|
-
supportsImages: true,
|
|
90
|
-
supportsPdf: true,
|
|
91
|
-
supportsAudio: false
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
google: {
|
|
95
|
-
'gemini-3.1-pro-preview': {
|
|
96
|
-
contextWindow: 1048576,
|
|
97
|
-
supportsImages: true,
|
|
98
|
-
supportsPdf: true,
|
|
99
|
-
supportsAudio: true
|
|
100
|
-
},
|
|
101
|
-
'gemini-3.1-pro-preview-customtools': {
|
|
102
|
-
contextWindow: 1048576,
|
|
103
|
-
supportsImages: true,
|
|
104
|
-
supportsPdf: true,
|
|
105
|
-
supportsAudio: true
|
|
106
|
-
},
|
|
107
|
-
'gemini-3.1-flash-image-preview': {
|
|
108
|
-
contextWindow: 131072,
|
|
109
|
-
supportsImages: true,
|
|
110
|
-
supportsPdf: true,
|
|
111
|
-
supportsAudio: false
|
|
112
|
-
},
|
|
113
|
-
'gemini-3.1-flash-lite-preview': {
|
|
114
|
-
contextWindow: 1048576,
|
|
115
|
-
supportsImages: true,
|
|
116
|
-
supportsPdf: true,
|
|
117
|
-
supportsAudio: true
|
|
118
|
-
},
|
|
119
|
-
'gemini-3-flash-preview': {
|
|
120
|
-
contextWindow: 1048576,
|
|
121
|
-
supportsImages: true,
|
|
122
|
-
supportsPdf: true,
|
|
123
|
-
supportsAudio: true
|
|
124
|
-
},
|
|
125
|
-
'gemini-2.5-pro': {
|
|
126
|
-
contextWindow: 1048576,
|
|
127
|
-
supportsImages: true,
|
|
128
|
-
supportsPdf: true,
|
|
129
|
-
supportsAudio: true
|
|
130
|
-
},
|
|
131
|
-
'gemini-2.5-flash': {
|
|
132
|
-
contextWindow: 1048576,
|
|
133
|
-
supportsImages: true,
|
|
134
|
-
supportsPdf: true,
|
|
135
|
-
supportsAudio: true
|
|
136
|
-
},
|
|
137
|
-
'gemini-2.5-flash-image': {
|
|
138
|
-
contextWindow: 32768,
|
|
139
|
-
supportsImages: true,
|
|
140
|
-
supportsPdf: false,
|
|
141
|
-
supportsAudio: false
|
|
142
|
-
},
|
|
143
|
-
'gemini-2.5-flash-lite': {
|
|
144
|
-
contextWindow: 1048576,
|
|
145
|
-
supportsImages: true,
|
|
146
|
-
supportsPdf: true,
|
|
147
|
-
supportsAudio: true
|
|
148
|
-
},
|
|
149
|
-
'gemini-flash-latest': {
|
|
150
|
-
contextWindow: 1048576,
|
|
151
|
-
supportsImages: true,
|
|
152
|
-
supportsPdf: true,
|
|
153
|
-
supportsAudio: true
|
|
154
|
-
},
|
|
155
|
-
'gemini-flash-lite-latest': {
|
|
156
|
-
contextWindow: 1048576,
|
|
157
|
-
supportsImages: true,
|
|
158
|
-
supportsPdf: true,
|
|
159
|
-
supportsAudio: true
|
|
160
|
-
}
|
|
161
|
-
},
|
|
162
|
-
mistral: {
|
|
163
|
-
'mistral-large-latest': {
|
|
164
|
-
contextWindow: 262144,
|
|
165
|
-
supportsImages: true,
|
|
166
|
-
supportsPdf: false,
|
|
167
|
-
supportsAudio: false
|
|
168
|
-
},
|
|
169
|
-
'mistral-medium-latest': {
|
|
170
|
-
contextWindow: 128000,
|
|
171
|
-
supportsImages: true,
|
|
172
|
-
supportsPdf: false,
|
|
173
|
-
supportsAudio: false
|
|
174
|
-
},
|
|
175
|
-
'mistral-medium-2508': {
|
|
176
|
-
contextWindow: 262144,
|
|
177
|
-
supportsImages: true,
|
|
178
|
-
supportsPdf: false,
|
|
179
|
-
supportsAudio: false
|
|
180
|
-
},
|
|
181
|
-
'mistral-small-latest': {
|
|
182
|
-
contextWindow: 256000,
|
|
183
|
-
supportsImages: true,
|
|
184
|
-
supportsPdf: false,
|
|
185
|
-
supportsAudio: false
|
|
186
|
-
},
|
|
187
|
-
'mistral-small-2506': {
|
|
188
|
-
contextWindow: 128000,
|
|
189
|
-
supportsImages: true,
|
|
190
|
-
supportsPdf: false,
|
|
191
|
-
supportsAudio: false
|
|
192
|
-
},
|
|
193
|
-
'ministral-3b-latest': {
|
|
194
|
-
contextWindow: 128000,
|
|
195
|
-
supportsImages: false,
|
|
196
|
-
supportsPdf: false,
|
|
197
|
-
supportsAudio: false
|
|
198
|
-
},
|
|
199
|
-
'ministral-8b-latest': {
|
|
200
|
-
contextWindow: 128000,
|
|
201
|
-
supportsImages: false,
|
|
202
|
-
supportsPdf: false,
|
|
203
|
-
supportsAudio: false
|
|
204
|
-
},
|
|
205
|
-
'magistral-small-latest': {
|
|
206
|
-
contextWindow: 128000,
|
|
207
|
-
supportsImages: false,
|
|
208
|
-
supportsPdf: false,
|
|
209
|
-
supportsAudio: false
|
|
210
|
-
},
|
|
211
|
-
'magistral-small': {
|
|
212
|
-
contextWindow: 128000,
|
|
213
|
-
supportsImages: false,
|
|
214
|
-
supportsPdf: false,
|
|
215
|
-
supportsAudio: false
|
|
216
|
-
},
|
|
217
|
-
'magistral-medium-latest': {
|
|
218
|
-
contextWindow: 128000,
|
|
219
|
-
supportsImages: false,
|
|
220
|
-
supportsPdf: false,
|
|
221
|
-
supportsAudio: false
|
|
222
|
-
},
|
|
223
|
-
'pixtral-large-latest': {
|
|
224
|
-
contextWindow: 128000,
|
|
225
|
-
supportsImages: true,
|
|
226
|
-
supportsPdf: false,
|
|
227
|
-
supportsAudio: false
|
|
228
|
-
},
|
|
229
|
-
'codestral-latest': {
|
|
230
|
-
contextWindow: 256000,
|
|
231
|
-
supportsImages: false,
|
|
232
|
-
supportsPdf: false,
|
|
233
|
-
supportsAudio: false
|
|
234
|
-
},
|
|
235
|
-
'devstral-latest': {
|
|
236
|
-
contextWindow: 128000,
|
|
237
|
-
supportsImages: false,
|
|
238
|
-
supportsPdf: false,
|
|
239
|
-
supportsAudio: false
|
|
240
|
-
},
|
|
241
|
-
'devstral-small-2507': {
|
|
242
|
-
contextWindow: 128000,
|
|
243
|
-
supportsImages: false,
|
|
244
|
-
supportsPdf: false,
|
|
245
|
-
supportsAudio: false
|
|
246
|
-
}
|
|
247
|
-
},
|
|
248
|
-
openai: {
|
|
249
|
-
'gpt-5.4': {
|
|
250
|
-
contextWindow: 1050000,
|
|
251
|
-
supportsImages: true,
|
|
252
|
-
supportsPdf: true,
|
|
253
|
-
supportsAudio: false
|
|
254
|
-
},
|
|
255
|
-
'gpt-5.4-mini': {
|
|
256
|
-
contextWindow: 400000,
|
|
257
|
-
supportsImages: true,
|
|
258
|
-
supportsPdf: false,
|
|
259
|
-
supportsAudio: false
|
|
260
|
-
},
|
|
261
|
-
'gpt-5.4-nano': {
|
|
262
|
-
contextWindow: 400000,
|
|
263
|
-
supportsImages: true,
|
|
264
|
-
supportsPdf: false,
|
|
265
|
-
supportsAudio: false
|
|
266
|
-
},
|
|
267
|
-
'gpt-5.2': {
|
|
268
|
-
contextWindow: 400000,
|
|
269
|
-
supportsImages: true,
|
|
270
|
-
supportsPdf: false,
|
|
271
|
-
supportsAudio: false
|
|
272
|
-
},
|
|
273
|
-
'gpt-5.2-2025-12-11': {
|
|
274
|
-
contextWindow: 400000,
|
|
275
|
-
supportsImages: true,
|
|
276
|
-
supportsPdf: false,
|
|
277
|
-
supportsAudio: false
|
|
278
|
-
},
|
|
279
|
-
'gpt-5.2-chat-latest': {
|
|
280
|
-
contextWindow: 128000,
|
|
281
|
-
supportsImages: true,
|
|
282
|
-
supportsPdf: false,
|
|
283
|
-
supportsAudio: false
|
|
284
|
-
},
|
|
285
|
-
'gpt-5.2-pro': {
|
|
286
|
-
contextWindow: 400000,
|
|
287
|
-
supportsImages: true,
|
|
288
|
-
supportsPdf: false,
|
|
289
|
-
supportsAudio: false
|
|
290
|
-
},
|
|
291
|
-
'gpt-5.2-pro-2025-12-11': {
|
|
292
|
-
contextWindow: 400000,
|
|
293
|
-
supportsImages: true,
|
|
294
|
-
supportsPdf: false,
|
|
295
|
-
supportsAudio: false
|
|
296
|
-
},
|
|
297
|
-
'gpt-5.2-codex': {
|
|
298
|
-
contextWindow: 400000,
|
|
299
|
-
supportsImages: true,
|
|
300
|
-
supportsPdf: true,
|
|
301
|
-
supportsAudio: false
|
|
302
|
-
},
|
|
303
|
-
'gpt-5.1': {
|
|
304
|
-
contextWindow: 400000,
|
|
305
|
-
supportsImages: true,
|
|
306
|
-
supportsPdf: false,
|
|
307
|
-
supportsAudio: false
|
|
308
|
-
},
|
|
309
|
-
'gpt-5.1-2025-11-13': {
|
|
310
|
-
contextWindow: 400000,
|
|
311
|
-
supportsImages: true,
|
|
312
|
-
supportsPdf: false,
|
|
313
|
-
supportsAudio: false
|
|
314
|
-
},
|
|
315
|
-
'gpt-5.1-chat-latest': {
|
|
316
|
-
contextWindow: 128000,
|
|
317
|
-
supportsImages: true,
|
|
318
|
-
supportsPdf: false,
|
|
319
|
-
supportsAudio: false
|
|
320
|
-
},
|
|
321
|
-
'gpt-5': {
|
|
322
|
-
contextWindow: 400000,
|
|
323
|
-
supportsImages: true,
|
|
324
|
-
supportsPdf: false,
|
|
325
|
-
supportsAudio: false
|
|
326
|
-
},
|
|
327
|
-
'gpt-5-2025-08-07': {
|
|
328
|
-
contextWindow: 400000,
|
|
329
|
-
supportsImages: true,
|
|
330
|
-
supportsPdf: false,
|
|
331
|
-
supportsAudio: false
|
|
332
|
-
},
|
|
333
|
-
'gpt-5-chat-latest': {
|
|
334
|
-
contextWindow: 400000,
|
|
335
|
-
supportsImages: true,
|
|
336
|
-
supportsPdf: false,
|
|
337
|
-
supportsAudio: false
|
|
338
|
-
},
|
|
339
|
-
'gpt-5-mini': {
|
|
340
|
-
contextWindow: 400000,
|
|
341
|
-
supportsImages: true,
|
|
342
|
-
supportsPdf: false,
|
|
343
|
-
supportsAudio: false
|
|
344
|
-
},
|
|
345
|
-
'gpt-5-mini-2025-08-07': {
|
|
346
|
-
contextWindow: 400000,
|
|
347
|
-
supportsImages: true,
|
|
348
|
-
supportsPdf: false,
|
|
349
|
-
supportsAudio: false
|
|
350
|
-
},
|
|
351
|
-
'gpt-5-nano': {
|
|
352
|
-
contextWindow: 400000,
|
|
353
|
-
supportsImages: true,
|
|
354
|
-
supportsPdf: false,
|
|
355
|
-
supportsAudio: false
|
|
356
|
-
},
|
|
357
|
-
'gpt-5-nano-2025-08-07': {
|
|
358
|
-
contextWindow: 400000,
|
|
359
|
-
supportsImages: true,
|
|
360
|
-
supportsPdf: false,
|
|
361
|
-
supportsAudio: false
|
|
362
|
-
},
|
|
363
|
-
'o4-mini': {
|
|
364
|
-
contextWindow: 200000,
|
|
365
|
-
supportsImages: true,
|
|
366
|
-
supportsPdf: false,
|
|
367
|
-
supportsAudio: false
|
|
368
|
-
},
|
|
369
|
-
'o4-mini-2025-04-16': {
|
|
370
|
-
contextWindow: 200000,
|
|
371
|
-
supportsImages: true,
|
|
372
|
-
supportsPdf: false,
|
|
373
|
-
supportsAudio: false
|
|
374
|
-
},
|
|
375
|
-
'o3-pro': {
|
|
376
|
-
contextWindow: 200000,
|
|
377
|
-
supportsImages: true,
|
|
378
|
-
supportsPdf: false,
|
|
379
|
-
supportsAudio: false
|
|
380
|
-
},
|
|
381
|
-
o3: {
|
|
382
|
-
contextWindow: 200000,
|
|
383
|
-
supportsImages: true,
|
|
384
|
-
supportsPdf: true,
|
|
385
|
-
supportsAudio: false
|
|
386
|
-
},
|
|
387
|
-
'o3-2025-04-16': {
|
|
388
|
-
contextWindow: 200000,
|
|
389
|
-
supportsImages: true,
|
|
390
|
-
supportsPdf: true,
|
|
391
|
-
supportsAudio: false
|
|
392
|
-
},
|
|
393
|
-
'o3-mini': {
|
|
394
|
-
contextWindow: 200000,
|
|
395
|
-
supportsImages: false,
|
|
396
|
-
supportsPdf: false,
|
|
397
|
-
supportsAudio: false
|
|
398
|
-
},
|
|
399
|
-
'o3-mini-2025-01-31': {
|
|
400
|
-
contextWindow: 200000,
|
|
401
|
-
supportsImages: false,
|
|
402
|
-
supportsPdf: false,
|
|
403
|
-
supportsAudio: false
|
|
404
|
-
},
|
|
405
|
-
o1: {
|
|
406
|
-
contextWindow: 200000,
|
|
407
|
-
supportsImages: true,
|
|
408
|
-
supportsPdf: true,
|
|
409
|
-
supportsAudio: false
|
|
410
|
-
},
|
|
411
|
-
'o1-2024-12-17': {
|
|
412
|
-
contextWindow: 200000,
|
|
413
|
-
supportsImages: true,
|
|
414
|
-
supportsPdf: true,
|
|
415
|
-
supportsAudio: false
|
|
416
|
-
},
|
|
417
|
-
'gpt-4.1': {
|
|
418
|
-
contextWindow: 1047576,
|
|
419
|
-
supportsImages: true,
|
|
420
|
-
supportsPdf: true,
|
|
421
|
-
supportsAudio: false
|
|
422
|
-
},
|
|
423
|
-
'gpt-4.1-2025-04-14': {
|
|
424
|
-
contextWindow: 1047576,
|
|
425
|
-
supportsImages: true,
|
|
426
|
-
supportsPdf: true,
|
|
427
|
-
supportsAudio: false
|
|
428
|
-
},
|
|
429
|
-
'gpt-4.1-mini': {
|
|
430
|
-
contextWindow: 1047576,
|
|
431
|
-
supportsImages: true,
|
|
432
|
-
supportsPdf: true,
|
|
433
|
-
supportsAudio: false
|
|
434
|
-
},
|
|
435
|
-
'gpt-4.1-mini-2025-04-14': {
|
|
436
|
-
contextWindow: 1047576,
|
|
437
|
-
supportsImages: true,
|
|
438
|
-
supportsPdf: true,
|
|
439
|
-
supportsAudio: false
|
|
440
|
-
},
|
|
441
|
-
'gpt-4.1-nano': {
|
|
442
|
-
contextWindow: 1047576,
|
|
443
|
-
supportsImages: true,
|
|
444
|
-
supportsPdf: false,
|
|
445
|
-
supportsAudio: false
|
|
446
|
-
},
|
|
447
|
-
'gpt-4.1-nano-2025-04-14': {
|
|
448
|
-
contextWindow: 1047576,
|
|
449
|
-
supportsImages: true,
|
|
450
|
-
supportsPdf: false,
|
|
451
|
-
supportsAudio: false
|
|
452
|
-
},
|
|
453
|
-
'gpt-4o': {
|
|
454
|
-
contextWindow: 128000,
|
|
455
|
-
supportsImages: true,
|
|
456
|
-
supportsPdf: true,
|
|
457
|
-
supportsAudio: false
|
|
458
|
-
},
|
|
459
|
-
'gpt-4o-2024-05-13': {
|
|
460
|
-
contextWindow: 128000,
|
|
461
|
-
supportsImages: true,
|
|
462
|
-
supportsPdf: false,
|
|
463
|
-
supportsAudio: false
|
|
464
|
-
},
|
|
465
|
-
'gpt-4o-2024-08-06': {
|
|
466
|
-
contextWindow: 128000,
|
|
467
|
-
supportsImages: true,
|
|
468
|
-
supportsPdf: false,
|
|
469
|
-
supportsAudio: false
|
|
470
|
-
},
|
|
471
|
-
'gpt-4o-2024-11-20': {
|
|
472
|
-
contextWindow: 128000,
|
|
473
|
-
supportsImages: true,
|
|
474
|
-
supportsPdf: false,
|
|
475
|
-
supportsAudio: false
|
|
476
|
-
},
|
|
477
|
-
'gpt-4o-mini': {
|
|
478
|
-
contextWindow: 128000,
|
|
479
|
-
supportsImages: true,
|
|
480
|
-
supportsPdf: true,
|
|
481
|
-
supportsAudio: false
|
|
482
|
-
},
|
|
483
|
-
'gpt-4o-mini-2024-07-18': {
|
|
484
|
-
contextWindow: 128000,
|
|
485
|
-
supportsImages: true,
|
|
486
|
-
supportsPdf: true,
|
|
487
|
-
supportsAudio: false
|
|
488
|
-
},
|
|
489
|
-
'gpt-3.5-turbo': {
|
|
490
|
-
contextWindow: 16385,
|
|
491
|
-
supportsImages: false,
|
|
492
|
-
supportsPdf: false,
|
|
493
|
-
supportsAudio: false
|
|
494
|
-
},
|
|
495
|
-
'gpt-3.5-turbo-0125': {
|
|
496
|
-
contextWindow: 16385,
|
|
497
|
-
supportsImages: false,
|
|
498
|
-
supportsPdf: false,
|
|
499
|
-
supportsAudio: false
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { IProviderConfig, IProviderInfo, IProviderModelInfo, IProviderRegistry } from '../tokens';
|
|
2
|
-
export declare function getProviderModelInfo(providerInfo: IProviderInfo | null | undefined, model: string | undefined): IProviderModelInfo | undefined;
|
|
3
|
-
export declare function modelSupportsImages(providerConfig: IProviderConfig | undefined, providerRegistry?: IProviderRegistry): boolean;
|
|
4
|
-
export declare function modelSupportsPdf(providerConfig: IProviderConfig | undefined, providerRegistry?: IProviderRegistry): boolean;
|
|
5
|
-
export declare function modelSupportsAudio(providerConfig: IProviderConfig | undefined, providerRegistry?: IProviderRegistry): boolean;
|
|
6
|
-
export declare function getEffectiveContextWindow(providerConfig: IProviderConfig | undefined, providerRegistry?: IProviderRegistry): number | undefined;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
const DATE_SUFFIX = /^(.*)-\d{4}-\d{2}-\d{2}$/;
|
|
2
|
-
const SHORT_VERSION_SUFFIX = /^(.*)-\d{4}$/;
|
|
3
|
-
// Treat rolling aliases and dated releases as the same model family so they
|
|
4
|
-
// can share provider metadata such as context windows.
|
|
5
|
-
function normalizeModelId(modelId) {
|
|
6
|
-
if (modelId.endsWith('-latest')) {
|
|
7
|
-
return modelId.slice(0, -7);
|
|
8
|
-
}
|
|
9
|
-
const dateSuffixMatch = modelId.match(DATE_SUFFIX);
|
|
10
|
-
if (dateSuffixMatch) {
|
|
11
|
-
return dateSuffixMatch[1];
|
|
12
|
-
}
|
|
13
|
-
const shortVersionSuffixMatch = modelId.match(SHORT_VERSION_SUFFIX);
|
|
14
|
-
if (shortVersionSuffixMatch) {
|
|
15
|
-
return shortVersionSuffixMatch[1];
|
|
16
|
-
}
|
|
17
|
-
return modelId;
|
|
18
|
-
}
|
|
19
|
-
function getCandidateModelIds(modelId) {
|
|
20
|
-
const candidates = [modelId];
|
|
21
|
-
const normalizedModelId = normalizeModelId(modelId);
|
|
22
|
-
candidates.push(normalizedModelId);
|
|
23
|
-
if (normalizedModelId !== modelId) {
|
|
24
|
-
candidates.push(`${normalizedModelId}-latest`);
|
|
25
|
-
}
|
|
26
|
-
return [...new Set(candidates)];
|
|
27
|
-
}
|
|
28
|
-
export function getProviderModelInfo(providerInfo, model) {
|
|
29
|
-
if (!providerInfo || !model) {
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
32
|
-
const modelInfo = providerInfo.modelInfo;
|
|
33
|
-
if (!modelInfo) {
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
for (const candidateId of getCandidateModelIds(model)) {
|
|
37
|
-
if (modelInfo[candidateId]) {
|
|
38
|
-
return modelInfo[candidateId];
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const normalizedModelId = normalizeModelId(model);
|
|
42
|
-
// As a last resort, match any known model entry that normalizes to the same
|
|
43
|
-
// base ID, even if the exact alias/version string differs.
|
|
44
|
-
return Object.entries(modelInfo).find(([candidateId]) => {
|
|
45
|
-
return normalizeModelId(candidateId) === normalizedModelId;
|
|
46
|
-
})?.[1];
|
|
47
|
-
}
|
|
48
|
-
export function modelSupportsImages(providerConfig, providerRegistry) {
|
|
49
|
-
if (!providerConfig) {
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
const providerInfo = providerRegistry?.getProviderInfo(providerConfig.provider);
|
|
53
|
-
const modelInfo = getProviderModelInfo(providerInfo, providerConfig.model);
|
|
54
|
-
if (!modelInfo) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
return modelInfo.supportsImages ?? true;
|
|
58
|
-
}
|
|
59
|
-
export function modelSupportsPdf(providerConfig, providerRegistry) {
|
|
60
|
-
if (!providerConfig) {
|
|
61
|
-
return true;
|
|
62
|
-
}
|
|
63
|
-
const providerInfo = providerRegistry?.getProviderInfo(providerConfig.provider);
|
|
64
|
-
const modelInfo = getProviderModelInfo(providerInfo, providerConfig.model);
|
|
65
|
-
if (!modelInfo) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
return modelInfo.supportsPdf ?? true;
|
|
69
|
-
}
|
|
70
|
-
export function modelSupportsAudio(providerConfig, providerRegistry) {
|
|
71
|
-
if (!providerConfig) {
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
const providerInfo = providerRegistry?.getProviderInfo(providerConfig.provider);
|
|
75
|
-
const modelInfo = getProviderModelInfo(providerInfo, providerConfig.model);
|
|
76
|
-
if (!modelInfo) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
return modelInfo.supportsAudio ?? true;
|
|
80
|
-
}
|
|
81
|
-
export function getEffectiveContextWindow(providerConfig, providerRegistry) {
|
|
82
|
-
if (!providerConfig) {
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
85
|
-
if (providerConfig.parameters?.contextWindow !== undefined) {
|
|
86
|
-
return providerConfig.parameters.contextWindow;
|
|
87
|
-
}
|
|
88
|
-
const providerInfo = providerRegistry?.getProviderInfo(providerConfig.provider);
|
|
89
|
-
return getProviderModelInfo(providerInfo, providerConfig.model)
|
|
90
|
-
?.contextWindow;
|
|
91
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { LanguageModel } from 'ai';
|
|
2
|
-
import type { IProviderRegistry } from '../tokens';
|
|
3
|
-
/**
|
|
4
|
-
* Configuration options for creating language models.
|
|
5
|
-
*/
|
|
6
|
-
export interface IModelOptions {
|
|
7
|
-
/**
|
|
8
|
-
* The provider name (e.g., 'openai', 'anthropic', 'huggingface')
|
|
9
|
-
*/
|
|
10
|
-
provider: string;
|
|
11
|
-
/**
|
|
12
|
-
* The specific model name. If not provided, uses provider's default model
|
|
13
|
-
*/
|
|
14
|
-
model?: string;
|
|
15
|
-
/**
|
|
16
|
-
* API key for authentication with the provider
|
|
17
|
-
*/
|
|
18
|
-
apiKey?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Additional HTTP headers to send with requests
|
|
21
|
-
*/
|
|
22
|
-
headers?: Record<string, string>;
|
|
23
|
-
/**
|
|
24
|
-
* Custom base URL for the provider's API endpoint
|
|
25
|
-
*/
|
|
26
|
-
baseURL?: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Create a completion model using the provider registry.
|
|
30
|
-
* Built-in providers are automatically registered during extension initialization.
|
|
31
|
-
*/
|
|
32
|
-
export declare function createCompletionModel(options: IModelOptions, registry?: IProviderRegistry): LanguageModel;
|
|
33
|
-
/**
|
|
34
|
-
* Create a chat model using the provider registry.
|
|
35
|
-
* Built-in providers are automatically registered during extension initialization.
|
|
36
|
-
*/
|
|
37
|
-
export declare function createModel(options: IModelOptions, registry?: IProviderRegistry): LanguageModel;
|
package/lib/providers/models.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create a completion model using the provider registry.
|
|
3
|
-
* Built-in providers are automatically registered during extension initialization.
|
|
4
|
-
*/
|
|
5
|
-
export function createCompletionModel(options, registry) {
|
|
6
|
-
if (!registry) {
|
|
7
|
-
throw new Error('Provider registry not available');
|
|
8
|
-
}
|
|
9
|
-
const model = registry.createCompletionModel(options.provider, options);
|
|
10
|
-
if (!model) {
|
|
11
|
-
throw new Error(`Provider ${options.provider} not found or failed to create model`);
|
|
12
|
-
}
|
|
13
|
-
return model;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Create a chat model using the provider registry.
|
|
17
|
-
* Built-in providers are automatically registered during extension initialization.
|
|
18
|
-
*/
|
|
19
|
-
export function createModel(options, registry) {
|
|
20
|
-
if (!registry) {
|
|
21
|
-
throw new Error('Provider registry not available');
|
|
22
|
-
}
|
|
23
|
-
const model = registry.createChatModel(options.provider, options);
|
|
24
|
-
if (!model) {
|
|
25
|
-
throw new Error(`Provider ${options.provider} not found or failed to create model`);
|
|
26
|
-
}
|
|
27
|
-
return model;
|
|
28
|
-
}
|