@node-llm/core 1.6.2 → 1.8.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.
Files changed (105) hide show
  1. package/README.md +9 -8
  2. package/dist/aliases.d.ts +215 -0
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +241 -26
  5. package/dist/chat/Chat.d.ts +12 -3
  6. package/dist/chat/Chat.d.ts.map +1 -1
  7. package/dist/chat/Chat.js +35 -5
  8. package/dist/chat/ChatOptions.d.ts +2 -1
  9. package/dist/chat/ChatOptions.d.ts.map +1 -1
  10. package/dist/chat/ChatResponse.d.ts +9 -2
  11. package/dist/chat/ChatResponse.d.ts.map +1 -1
  12. package/dist/chat/ChatResponse.js +12 -3
  13. package/dist/chat/ChatStream.d.ts.map +1 -1
  14. package/dist/chat/ChatStream.js +15 -1
  15. package/dist/chat/Content.d.ts +7 -0
  16. package/dist/chat/Content.d.ts.map +1 -1
  17. package/dist/config.d.ts +28 -0
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +50 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/llm.d.ts.map +1 -1
  23. package/dist/llm.js +3 -2
  24. package/dist/models/models.d.ts +321 -76
  25. package/dist/models/models.d.ts.map +1 -1
  26. package/dist/models/models.js +7804 -2885
  27. package/dist/providers/Provider.d.ts +37 -0
  28. package/dist/providers/Provider.d.ts.map +1 -1
  29. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  30. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  31. package/dist/providers/anthropic/Capabilities.js +8 -5
  32. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  33. package/dist/providers/anthropic/Chat.js +23 -1
  34. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  35. package/dist/providers/anthropic/Streaming.js +15 -0
  36. package/dist/providers/anthropic/types.d.ts +7 -1
  37. package/dist/providers/anthropic/types.d.ts.map +1 -1
  38. package/dist/providers/bedrock/BedrockProvider.d.ts +53 -0
  39. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -0
  40. package/dist/providers/bedrock/BedrockProvider.js +107 -0
  41. package/dist/providers/bedrock/Capabilities.d.ts +50 -0
  42. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -0
  43. package/dist/providers/bedrock/Capabilities.js +233 -0
  44. package/dist/providers/bedrock/Chat.d.ts +26 -0
  45. package/dist/providers/bedrock/Chat.d.ts.map +1 -0
  46. package/dist/providers/bedrock/Chat.js +170 -0
  47. package/dist/providers/bedrock/Embeddings.d.ts +22 -0
  48. package/dist/providers/bedrock/Embeddings.d.ts.map +1 -0
  49. package/dist/providers/bedrock/Embeddings.js +100 -0
  50. package/dist/providers/bedrock/Image.d.ts +33 -0
  51. package/dist/providers/bedrock/Image.d.ts.map +1 -0
  52. package/dist/providers/bedrock/Image.js +154 -0
  53. package/dist/providers/bedrock/Models.d.ts +34 -0
  54. package/dist/providers/bedrock/Models.d.ts.map +1 -0
  55. package/dist/providers/bedrock/Models.js +131 -0
  56. package/dist/providers/bedrock/Moderation.d.ts +23 -0
  57. package/dist/providers/bedrock/Moderation.d.ts.map +1 -0
  58. package/dist/providers/bedrock/Moderation.js +138 -0
  59. package/dist/providers/bedrock/Streaming.d.ts +21 -0
  60. package/dist/providers/bedrock/Streaming.d.ts.map +1 -0
  61. package/dist/providers/bedrock/Streaming.js +240 -0
  62. package/dist/providers/bedrock/config.d.ts +57 -0
  63. package/dist/providers/bedrock/config.d.ts.map +1 -0
  64. package/dist/providers/bedrock/config.js +33 -0
  65. package/dist/providers/bedrock/index.d.ts +8 -0
  66. package/dist/providers/bedrock/index.d.ts.map +1 -0
  67. package/dist/providers/bedrock/index.js +30 -0
  68. package/dist/providers/bedrock/mapper.d.ts +37 -0
  69. package/dist/providers/bedrock/mapper.d.ts.map +1 -0
  70. package/dist/providers/bedrock/mapper.js +204 -0
  71. package/dist/providers/bedrock/types.d.ts +179 -0
  72. package/dist/providers/bedrock/types.d.ts.map +1 -0
  73. package/dist/providers/bedrock/types.js +7 -0
  74. package/dist/providers/deepseek/Capabilities.d.ts +3 -2
  75. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  76. package/dist/providers/deepseek/Capabilities.js +19 -5
  77. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  78. package/dist/providers/deepseek/Chat.js +9 -2
  79. package/dist/providers/deepseek/Streaming.d.ts.map +1 -1
  80. package/dist/providers/deepseek/Streaming.js +3 -2
  81. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  82. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  83. package/dist/providers/gemini/Capabilities.js +9 -6
  84. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  85. package/dist/providers/gemini/Chat.js +4 -5
  86. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  87. package/dist/providers/gemini/Streaming.js +17 -2
  88. package/dist/providers/gemini/types.d.ts +4 -0
  89. package/dist/providers/gemini/types.d.ts.map +1 -1
  90. package/dist/providers/ollama/Capabilities.d.ts.map +1 -1
  91. package/dist/providers/ollama/Capabilities.js +4 -1
  92. package/dist/providers/openai/Capabilities.d.ts +1 -0
  93. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  94. package/dist/providers/openai/Capabilities.js +14 -11
  95. package/dist/providers/openai/Chat.d.ts.map +1 -1
  96. package/dist/providers/openai/Chat.js +18 -3
  97. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  98. package/dist/providers/openai/Streaming.js +11 -3
  99. package/dist/providers/registry.d.ts +2 -1
  100. package/dist/providers/registry.d.ts.map +1 -1
  101. package/dist/providers/registry.js +2 -1
  102. package/dist/utils/AwsSigV4.d.ts +51 -0
  103. package/dist/utils/AwsSigV4.d.ts.map +1 -0
  104. package/dist/utils/AwsSigV4.js +209 -0
  105. package/package.json +1 -1
package/dist/aliases.js CHANGED
@@ -1,80 +1,125 @@
1
1
  export default {
2
+ "claude-2": {
3
+ "bedrock": "anthropic.claude-v2"
4
+ },
5
+ "claude-2.1": {
6
+ "bedrock": "anthropic.claude-v2:1"
7
+ },
2
8
  "claude-3-5-haiku": {
3
9
  "anthropic": "claude-3-5-haiku-20241022",
4
- "openrouter": "anthropic/claude-3.5-haiku"
10
+ "openrouter": "anthropic/claude-3.5-haiku",
11
+ "bedrock": "anthropic.claude-3-5-haiku-20241022-v1:0"
5
12
  },
6
13
  "claude-3-5-sonnet": {
7
14
  "anthropic": "claude-3-5-sonnet-20241022",
8
- "openrouter": "anthropic/claude-3.5-sonnet"
15
+ "openrouter": "anthropic/claude-3.5-sonnet",
16
+ "bedrock": "anthropic.claude-3-5-sonnet-20241022-v2:0"
9
17
  },
10
18
  "claude-3-7-sonnet": {
11
19
  "anthropic": "claude-3-7-sonnet-20250219",
12
- "openrouter": "anthropic/claude-3.7-sonnet"
20
+ "openrouter": "anthropic/claude-3.7-sonnet",
21
+ "bedrock": "anthropic.claude-3-7-sonnet-20250219-v1:0"
22
+ },
23
+ "claude-4-1-opus": {
24
+ "bedrock": "anthropic.claude-opus-4-1-20250805-v1:0"
25
+ },
26
+ "claude-4-5-haiku": {
27
+ "bedrock": "anthropic.claude-haiku-4-5-20251001-v1:0"
28
+ },
29
+ "claude-4-5-opus": {
30
+ "bedrock": "anthropic.claude-opus-4-5-20251101-v1:0"
31
+ },
32
+ "claude-4-5-sonnet": {
33
+ "bedrock": "anthropic.claude-sonnet-4-5-20250929-v1:0"
34
+ },
35
+ "claude-4-opus": {
36
+ "bedrock": "anthropic.claude-opus-4-20250514-v1:0"
37
+ },
38
+ "claude-4-sonnet": {
39
+ "bedrock": "anthropic.claude-sonnet-4-20250514-v1:0"
13
40
  },
14
41
  "claude-haiku-3": {
15
- "anthropic": "claude-3-haiku-20240307"
42
+ "anthropic": "claude-3-haiku-20240307",
43
+ "bedrock": "anthropic.claude-3-haiku-20240307-v1:0"
16
44
  },
17
45
  "claude-haiku-3.5": {
18
46
  "openrouter": "anthropic/claude-3.5-haiku",
19
- "anthropic": "claude-3-5-haiku-20241022"
47
+ "anthropic": "claude-3-5-haiku-20241022",
48
+ "bedrock": "anthropic.claude-3-5-haiku-20241022-v1:0"
20
49
  },
21
50
  "claude-haiku-3.5-latest": {
22
51
  "anthropic": "claude-3-5-haiku-latest"
23
52
  },
24
53
  "claude-haiku-4.5": {
25
54
  "openrouter": "anthropic/claude-haiku-4.5",
26
- "anthropic": "claude-haiku-4-5-20251001"
55
+ "anthropic": "claude-haiku-4-5-20251001",
56
+ "bedrock": "anthropic.claude-haiku-4-5-20251001-v1:0"
27
57
  },
28
58
  "claude-haiku-4.5-latest": {
29
59
  "anthropic": "claude-haiku-4-5"
30
60
  },
61
+ "claude-instant": {
62
+ "bedrock": "anthropic.claude-instant-v1"
63
+ },
31
64
  "claude-opus-3": {
32
- "anthropic": "claude-3-opus-20240229"
65
+ "anthropic": "claude-3-opus-20240229",
66
+ "bedrock": "anthropic.claude-3-opus-20240229-v1:0"
33
67
  },
34
68
  "claude-opus-4": {
35
69
  "openrouter": "anthropic/claude-opus-4",
36
- "anthropic": "claude-opus-4-20250514"
70
+ "anthropic": "claude-opus-4-20250514",
71
+ "bedrock": "anthropic.claude-opus-4-20250514-v1:0"
37
72
  },
38
73
  "claude-opus-4-latest": {
39
74
  "anthropic": "claude-opus-4-0"
40
75
  },
41
76
  "claude-opus-4.1": {
42
77
  "openrouter": "anthropic/claude-opus-4.1",
43
- "anthropic": "claude-opus-4-1-20250805"
78
+ "anthropic": "claude-opus-4-1-20250805",
79
+ "bedrock": "anthropic.claude-opus-4-1-20250805-v1:0"
44
80
  },
45
81
  "claude-opus-4.1-latest": {
46
82
  "anthropic": "claude-opus-4-1"
47
83
  },
48
84
  "claude-opus-4.5": {
49
85
  "openrouter": "anthropic/claude-opus-4.5",
50
- "anthropic": "claude-opus-4-5-20251101"
86
+ "anthropic": "claude-opus-4-5-20251101",
87
+ "bedrock": "anthropic.claude-opus-4-5-20251101-v1:0"
88
+ },
89
+ "claude-opus-4.5-global": {
90
+ "bedrock": "global.anthropic.claude-opus-4-5-20251101-v1:0"
51
91
  },
52
92
  "claude-opus-4.5-latest": {
53
93
  "anthropic": "claude-opus-4-5"
54
94
  },
55
95
  "claude-sonnet-3": {
56
- "anthropic": "claude-3-sonnet-20240229"
96
+ "anthropic": "claude-3-sonnet-20240229",
97
+ "bedrock": "anthropic.claude-3-sonnet-20240229-v1:0"
57
98
  },
58
99
  "claude-sonnet-3.5": {
59
- "anthropic": "claude-3-5-sonnet-20240620"
100
+ "anthropic": "claude-3-5-sonnet-20240620",
101
+ "bedrock": "anthropic.claude-3-5-sonnet-20241022-v2:0"
60
102
  },
61
103
  "claude-sonnet-3.7": {
62
104
  "openrouter": "anthropic/claude-3.7-sonnet",
63
- "anthropic": "claude-3-7-sonnet-20250219"
105
+ "anthropic": "claude-3-7-sonnet-20250219",
106
+ "bedrock": "anthropic.claude-3-7-sonnet-20250219-v1:0"
64
107
  },
65
108
  "claude-sonnet-3.7-latest": {
66
109
  "anthropic": "claude-3-7-sonnet-latest"
67
110
  },
68
111
  "claude-sonnet-4": {
69
112
  "openrouter": "anthropic/claude-sonnet-4",
70
- "anthropic": "claude-sonnet-4-20250514"
113
+ "anthropic": "claude-sonnet-4-20250514",
114
+ "bedrock": "anthropic.claude-sonnet-4-20250514-v1:0"
71
115
  },
72
116
  "claude-sonnet-4-latest": {
73
117
  "anthropic": "claude-sonnet-4-0"
74
118
  },
75
119
  "claude-sonnet-4.5": {
76
120
  "openrouter": "anthropic/claude-sonnet-4.5",
77
- "anthropic": "claude-sonnet-4-5-20250929"
121
+ "anthropic": "claude-sonnet-4-5-20250929",
122
+ "bedrock": "anthropic.claude-sonnet-4-5-20250929-v1:0"
78
123
  },
79
124
  "claude-sonnet-4.5-latest": {
80
125
  "anthropic": "claude-sonnet-4-5"
@@ -85,12 +130,25 @@ export default {
85
130
  "codex-mini": {
86
131
  "openai": "codex-mini-latest"
87
132
  },
133
+ "command": {
134
+ "bedrock": "cohere.command-text-v14"
135
+ },
136
+ "command-light": {
137
+ "bedrock": "cohere.command-light-text-v14"
138
+ },
139
+ "command-r": {
140
+ "bedrock": "cohere.command-r-v1:0"
141
+ },
88
142
  "deephermes-3-llama-3-8b-preview": {
89
143
  "openrouter": "nousresearch/deephermes-3-llama-3-8b-preview"
90
144
  },
91
145
  "deepseek-chat": {
92
146
  "deepseek": "deepseek-chat",
93
- "openrouter": "deepseek/deepseek-chat"
147
+ "openrouter": "deepseek/deepseek-chat",
148
+ "bedrock": "deepseek.v3-v1:0"
149
+ },
150
+ "deepseek-r1": {
151
+ "bedrock": "deepseek.r1-v1:0"
94
152
  },
95
153
  "deepseek-r1-0528-qwen3-8b-free": {
96
154
  "openrouter": "deepseek/deepseek-r1-0528-qwen3-8b:free"
@@ -106,7 +164,8 @@ export default {
106
164
  },
107
165
  "deepseek-reasoner": {
108
166
  "deepseek": "deepseek-reasoner",
109
- "openrouter": "deepseek/deepseek-reasoner"
167
+ "openrouter": "deepseek/deepseek-reasoner",
168
+ "bedrock": "deepseek.r1-v1:0"
110
169
  },
111
170
  "deepseek-v3-0324": {
112
171
  "openrouter": "deepseek/deepseek-chat-v3-0324"
@@ -115,7 +174,8 @@ export default {
115
174
  "openrouter": "deepseek/deepseek-v3-base:free"
116
175
  },
117
176
  "deepseek-v3.1": {
118
- "openrouter": "deepseek/deepseek-chat-v3.1"
177
+ "openrouter": "deepseek/deepseek-chat-v3.1",
178
+ "bedrock": "deepseek.v3-v1:0"
119
179
  },
120
180
  "deepseek-v3.1-terminus": {
121
181
  "openrouter": "deepseek/deepseek-v3.1-terminus"
@@ -254,6 +314,9 @@ export default {
254
314
  "gemma-3-27b-it": {
255
315
  "openrouter": "google/gemma-3-27b-it"
256
316
  },
317
+ "gemma-3-4b-it": {
318
+ "bedrock": "google.gemma-3-4b-it"
319
+ },
257
320
  "gemma-3n-4b-free": {
258
321
  "openrouter": "google/gemma-3n-e4b-it:free"
259
322
  },
@@ -279,11 +342,18 @@ export default {
279
342
  "openrouter": "z-ai/glm-4.6:exacto"
280
343
  },
281
344
  "glm-4.7": {
345
+ "gemini": "zai-org/glm-4.7-maas",
282
346
  "openrouter": "z-ai/glm-4.7"
283
347
  },
284
348
  "glm-z1-32b-free": {
285
349
  "openrouter": "thudm/glm-z1-32b:free"
286
350
  },
351
+ "google-gemma-3-12b": {
352
+ "bedrock": "google.gemma-3-12b-it"
353
+ },
354
+ "google-gemma-3-27b-instruct": {
355
+ "bedrock": "google.gemma-3-27b-it"
356
+ },
287
357
  "gpt-3.5-turbo": {
288
358
  "openai": "gpt-3.5-turbo"
289
359
  },
@@ -361,7 +431,8 @@ export default {
361
431
  "openrouter": "openai/gpt-5.1-codex"
362
432
  },
363
433
  "gpt-5.1-codex-max": {
364
- "openai": "gpt-5.1-codex-max"
434
+ "openai": "gpt-5.1-codex-max",
435
+ "openrouter": "openai/gpt-5.1-codex-max"
365
436
  },
366
437
  "gpt-5.1-codex-mini": {
367
438
  "openai": "gpt-5.1-codex-mini",
@@ -385,17 +456,23 @@ export default {
385
456
  },
386
457
  "gpt-oss-120b": {
387
458
  "gemini": "openai/gpt-oss-120b-maas",
388
- "openrouter": "openai/gpt-oss-120b"
459
+ "openrouter": "openai/gpt-oss-120b",
460
+ "bedrock": "openai.gpt-oss-120b-1:0"
389
461
  },
390
462
  "gpt-oss-120b-exacto": {
391
463
  "openrouter": "openai/gpt-oss-120b:exacto"
392
464
  },
393
465
  "gpt-oss-20b": {
394
466
  "gemini": "openai/gpt-oss-20b-maas",
395
- "openrouter": "openai/gpt-oss-20b"
467
+ "openrouter": "openai/gpt-oss-20b",
468
+ "bedrock": "openai.gpt-oss-20b-1:0"
469
+ },
470
+ "gpt-oss-safeguard-120b": {
471
+ "bedrock": "openai.gpt-oss-safeguard-120b"
396
472
  },
397
473
  "gpt-oss-safeguard-20b": {
398
- "openrouter": "openai/gpt-oss-safeguard-20b"
474
+ "openrouter": "openai/gpt-oss-safeguard-20b",
475
+ "bedrock": "openai.gpt-oss-safeguard-20b"
399
476
  },
400
477
  "grok-3": {
401
478
  "openrouter": "x-ai/grok-3"
@@ -427,6 +504,12 @@ export default {
427
504
  "hermes-4-70b": {
428
505
  "openrouter": "nousresearch/hermes-4-70b"
429
506
  },
507
+ "jamba-1.5-large": {
508
+ "bedrock": "ai21.jamba-1-5-large-v1:0"
509
+ },
510
+ "jamba-1.5-mini": {
511
+ "bedrock": "ai21.jamba-1-5-mini-v1:0"
512
+ },
430
513
  "kat-coder-pro-free": {
431
514
  "openrouter": "kwaipilot/kat-coder-pro:free"
432
515
  },
@@ -446,14 +529,82 @@ export default {
446
529
  "openrouter": "moonshotai/kimi-k2-0905:exacto"
447
530
  },
448
531
  "kimi-k2-thinking": {
449
- "openrouter": "moonshotai/kimi-k2-thinking"
532
+ "openrouter": "moonshotai/kimi-k2-thinking",
533
+ "bedrock": "moonshot.kimi-k2-thinking"
534
+ },
535
+ "llama-3-1-70b": {
536
+ "bedrock": "meta.llama3-1-70b-instruct-v1:0",
537
+ "openrouter": "meta-llama/llama-3.1-70b-instruct"
538
+ },
539
+ "llama-3-1-7b": {
540
+ "bedrock": "meta.llama3-1-8b-instruct-v1:0",
541
+ "openrouter": "meta-llama/llama-3.1-8b-instruct"
542
+ },
543
+ "llama-3-2-11b": {
544
+ "bedrock": "meta.llama3-2-11b-instruct-v1:0",
545
+ "openrouter": "meta-llama/llama-3.2-11b-instruct"
546
+ },
547
+ "llama-3-2-1b": {
548
+ "bedrock": "meta.llama3-2-1b-instruct-v1:0",
549
+ "openrouter": "meta-llama/llama-3.2-1b-instruct"
550
+ },
551
+ "llama-3-2-3b": {
552
+ "bedrock": "meta.llama3-2-3b-instruct-v1:0",
553
+ "openrouter": "meta-llama/llama-3.2-3b-instruct"
554
+ },
555
+ "llama-3-2-90b": {
556
+ "bedrock": "meta.llama3-2-90b-instruct-v1:0",
557
+ "openrouter": "meta-llama/llama-3.2-90b-instruct"
558
+ },
559
+ "llama-3-3-70b": {
560
+ "bedrock": "meta.llama3-3-70b-instruct-v1:0",
561
+ "openrouter": "meta-llama/llama-3.3-70b-instruct"
562
+ },
563
+ "llama-3-70b-instruct": {
564
+ "bedrock": "meta.llama3-70b-instruct-v1:0"
565
+ },
566
+ "llama-3-8b-instruct": {
567
+ "bedrock": "meta.llama3-8b-instruct-v1:0"
568
+ },
569
+ "llama-3.1-70b-instruct": {
570
+ "bedrock": "meta.llama3-1-70b-instruct-v1:0"
571
+ },
572
+ "llama-3.1-8b-instruct": {
573
+ "bedrock": "meta.llama3-1-8b-instruct-v1:0"
574
+ },
575
+ "llama-3.2-11b-instruct": {
576
+ "bedrock": "meta.llama3-2-11b-instruct-v1:0"
450
577
  },
451
578
  "llama-3.2-11b-vision-instruct": {
452
579
  "openrouter": "meta-llama/llama-3.2-11b-vision-instruct"
453
580
  },
581
+ "llama-3.2-1b-instruct": {
582
+ "bedrock": "meta.llama3-2-1b-instruct-v1:0"
583
+ },
584
+ "llama-3.2-3b-instruct": {
585
+ "bedrock": "meta.llama3-2-3b-instruct-v1:0"
586
+ },
587
+ "llama-3.2-90b-instruct": {
588
+ "bedrock": "meta.llama3-2-90b-instruct-v1:0"
589
+ },
590
+ "llama-3.3-70b-instruct": {
591
+ "bedrock": "meta.llama3-3-70b-instruct-v1:0"
592
+ },
454
593
  "llama-3.3-70b-instruct-free": {
455
594
  "openrouter": "meta-llama/llama-3.3-70b-instruct:free"
456
595
  },
596
+ "llama-4-maverick": {
597
+ "bedrock": "meta.llama4-maverick-17b-instruct-v1:0"
598
+ },
599
+ "llama-4-maverick-17b-instruct": {
600
+ "bedrock": "meta.llama4-maverick-17b-instruct-v1:0"
601
+ },
602
+ "llama-4-scout": {
603
+ "bedrock": "meta.llama4-scout-17b-instruct-v1:0"
604
+ },
605
+ "llama-4-scout-17b-instruct": {
606
+ "bedrock": "meta.llama4-scout-17b-instruct-v1:0"
607
+ },
457
608
  "llama-4-scout-free": {
458
609
  "openrouter": "meta-llama/llama-4-scout:free"
459
610
  },
@@ -467,14 +618,31 @@ export default {
467
618
  "openrouter": "minimax/minimax-m1"
468
619
  },
469
620
  "minimax-m2": {
470
- "openrouter": "minimax/minimax-m2"
621
+ "openrouter": "minimax/minimax-m2",
622
+ "bedrock": "minimax.minimax-m2"
471
623
  },
472
624
  "minimax-m2.1": {
473
625
  "openrouter": "minimax/minimax-m2.1"
474
626
  },
627
+ "ministral-14b-3.0": {
628
+ "bedrock": "mistral.ministral-3-14b-instruct"
629
+ },
630
+ "ministral-3-8b": {
631
+ "bedrock": "mistral.ministral-3-8b-instruct"
632
+ },
475
633
  "mistral-7b-instruct-free": {
476
634
  "openrouter": "mistralai/mistral-7b-instruct:free"
477
635
  },
636
+ "mistral-7b-instruct-v0.3": {
637
+ "bedrock": "mistral.mistral-7b-instruct-v0:2"
638
+ },
639
+ "mistral-large": {
640
+ "bedrock": "mistral.mistral-large-2402-v1:0",
641
+ "openrouter": "mistralai/mistral-large"
642
+ },
643
+ "mistral-large-24.02": {
644
+ "bedrock": "mistral.mistral-large-2402-v1:0"
645
+ },
478
646
  "mistral-medium-3": {
479
647
  "openrouter": "mistralai/mistral-medium-3"
480
648
  },
@@ -493,8 +661,30 @@ export default {
493
661
  "mistral-small-3.2-24b-instruct": {
494
662
  "openrouter": "mistralai/mistral-small-3.2-24b-instruct"
495
663
  },
664
+ "mixtral-8x7b-instruct-v0.1": {
665
+ "bedrock": "mistral.mixtral-8x7b-instruct-v0:1"
666
+ },
667
+ "nova-2-lite": {
668
+ "bedrock": "amazon.nova-2-lite-v1:0"
669
+ },
670
+ "nova-lite": {
671
+ "bedrock": "amazon.nova-lite-v1:0"
672
+ },
673
+ "nova-micro": {
674
+ "bedrock": "amazon.nova-micro-v1:0"
675
+ },
676
+ "nova-premier": {
677
+ "bedrock": "amazon.nova-premier-v1:0"
678
+ },
679
+ "nova-pro": {
680
+ "bedrock": "amazon.nova-pro-v1:0"
681
+ },
682
+ "nvidia-nemotron-nano-12b-v2-vl-bf16": {
683
+ "bedrock": "nvidia.nemotron-nano-12b-v2"
684
+ },
496
685
  "nvidia-nemotron-nano-9b": {
497
- "openrouter": "nvidia/nemotron-nano-9b-v2"
686
+ "openrouter": "nvidia/nemotron-nano-9b-v2",
687
+ "bedrock": "nvidia.nemotron-nano-9b-v2"
498
688
  },
499
689
  "o1": {
500
690
  "openai": "o1",
@@ -541,6 +731,9 @@ export default {
541
731
  "qwen3-14b-free": {
542
732
  "openrouter": "qwen/qwen3-14b:free"
543
733
  },
734
+ "qwen3-235b-a22b-2507": {
735
+ "bedrock": "qwen.qwen3-235b-a22b-2507-v1:0"
736
+ },
544
737
  "qwen3-235b-a22b-free": {
545
738
  "openrouter": "qwen/qwen3-235b-a22b:free"
546
739
  },
@@ -562,6 +755,9 @@ export default {
562
755
  "qwen3-30b-a3b-thinking-2507": {
563
756
  "openrouter": "qwen/qwen3-30b-a3b-thinking-2507"
564
757
  },
758
+ "qwen3-32b-dense": {
759
+ "bedrock": "qwen.qwen3-32b-v1:0"
760
+ },
565
761
  "qwen3-32b-free": {
566
762
  "openrouter": "qwen/qwen3-32b:free"
567
763
  },
@@ -572,7 +768,11 @@ export default {
572
768
  "openrouter": "qwen/qwen3-coder"
573
769
  },
574
770
  "qwen3-coder-30b-a3b-instruct": {
575
- "openrouter": "qwen/qwen3-coder-30b-a3b-instruct"
771
+ "openrouter": "qwen/qwen3-coder-30b-a3b-instruct",
772
+ "bedrock": "qwen.qwen3-coder-30b-a3b-v1:0"
773
+ },
774
+ "qwen3-coder-480b-a35b-instruct": {
775
+ "bedrock": "qwen.qwen3-coder-480b-a35b-v1:0"
576
776
  },
577
777
  "qwen3-coder-480b-a35b-instruct-free": {
578
778
  "openrouter": "qwen/qwen3-coder:free"
@@ -592,6 +792,12 @@ export default {
592
792
  "qwen3-next-80b-a3b-thinking": {
593
793
  "openrouter": "qwen/qwen3-next-80b-a3b-thinking"
594
794
  },
795
+ "qwenqwen3-next-80b-a3b-instruct": {
796
+ "bedrock": "qwen.qwen3-next-80b-a3b"
797
+ },
798
+ "qwenqwen3-vl-235b-a22b-instruct": {
799
+ "bedrock": "qwen.qwen3-vl-235b-a22b"
800
+ },
595
801
  "qwerky-72b": {
596
802
  "openrouter": "featherless/qwerky-72b"
597
803
  },
@@ -624,5 +830,14 @@ export default {
624
830
  },
625
831
  "text-embedding-ada-002": {
626
832
  "openai": "text-embedding-ada-002"
833
+ },
834
+ "titan-text-g1---express": {
835
+ "bedrock": "amazon.titan-text-express-v1"
836
+ },
837
+ "voxtral-mini-3b-2507": {
838
+ "bedrock": "mistral.voxtral-mini-3b-2507"
839
+ },
840
+ "voxtral-small-24b-2507": {
841
+ "bedrock": "mistral.voxtral-small-24b-2507"
627
842
  }
628
843
  };
@@ -1,7 +1,7 @@
1
1
  import { Message } from "./Message.js";
2
- import { ContentPart } from "./Content.js";
2
+ import { ContentPart, MessageContent } from "./Content.js";
3
3
  import { ChatOptions } from "./ChatOptions.js";
4
- import { Provider, Usage, ChatChunk } from "../providers/Provider.js";
4
+ import { Provider, Usage, ChatChunk, ThinkingConfig } from "../providers/Provider.js";
5
5
  import { Stream } from "../streaming/Stream.js";
6
6
  import { ToolResolvable } from "./Tool.js";
7
7
  import { Schema } from "../schema/Schema.js";
@@ -15,6 +15,7 @@ export interface AskOptions {
15
15
  headers?: Record<string, string>;
16
16
  maxToolCalls?: number;
17
17
  requestTimeout?: number;
18
+ thinking?: ThinkingConfig;
18
19
  signal?: AbortSignal;
19
20
  }
20
21
  import { ChatResponseString } from "./ChatResponse.js";
@@ -78,7 +79,7 @@ export declare class Chat {
78
79
  * Add a message manually to the chat history.
79
80
  * Useful for rehydrating sessions from a database.
80
81
  */
81
- add(role: "user" | "assistant" | "system" | "developer", content: string): this;
82
+ add(role: "user" | "assistant" | "system" | "developer", content: string | MessageContent): this;
82
83
  /**
83
84
  * Set the temperature for the chat session.
84
85
  * Controls randomness: 0.0 (deterministic) to 1.0 (creative).
@@ -106,6 +107,14 @@ export declare class Chat {
106
107
  * Can accept a Schema object or a Zod schema/JSON Schema directly.
107
108
  */
108
109
  withSchema(schema: Schema | z.ZodType<unknown> | Record<string, unknown> | null): this;
110
+ /**
111
+ * Enable and configure extended thinking for reasoning models.
112
+ */
113
+ withThinking(config: ThinkingConfig): this;
114
+ /**
115
+ * Shortcut to set thinking effort.
116
+ */
117
+ withEffort(effort: "low" | "medium" | "high" | "none"): this;
109
118
  onNewMessage(handler: () => void): this;
110
119
  onEndMessage(handler: (message: ChatResponseString) => void): this;
111
120
  onToolCall(handler: (toolCall: unknown) => void): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.ts"],"names":[],"mappings":"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"}
package/dist/chat/Chat.js CHANGED
@@ -2,6 +2,7 @@ import { FileLoader } from "../utils/FileLoader.js";
2
2
  import { isBinaryContent, formatMultimodalContent } from "./Content.js";
3
3
  import { Executor } from "../executor/Executor.js";
4
4
  import { ChatStream } from "./ChatStream.js";
5
+ import { ModelRegistry } from "../models/ModelRegistry.js";
5
6
  import { Schema } from "../schema/Schema.js";
6
7
  import { toJsonSchema } from "../schema/to-json-schema.js";
7
8
  import { z } from "zod";
@@ -139,11 +140,13 @@ export class Chat {
139
140
  * Useful for rehydrating sessions from a database.
140
141
  */
141
142
  add(role, content) {
143
+ // Ensure content matches MessageContent type
144
+ const safeContent = content;
142
145
  if (role === "system" || role === "developer") {
143
- this.systemMessages.push({ role, content });
146
+ this.systemMessages.push({ role, content: safeContent });
144
147
  }
145
148
  else {
146
- this.messages.push({ role, content });
149
+ this.messages.push({ role, content: safeContent });
147
150
  }
148
151
  return this;
149
152
  }
@@ -203,6 +206,19 @@ export class Chat {
203
206
  }
204
207
  return this;
205
208
  }
209
+ /**
210
+ * Enable and configure extended thinking for reasoning models.
211
+ */
212
+ withThinking(config) {
213
+ this.options.thinking = { ...this.options.thinking, ...config };
214
+ return this;
215
+ }
216
+ /**
217
+ * Shortcut to set thinking effort.
218
+ */
219
+ withEffort(effort) {
220
+ return this.withThinking({ effort });
221
+ }
206
222
  // --- Event Handlers ---
207
223
  onNewMessage(handler) {
208
224
  this.options.onNewMessage = handler;
@@ -313,6 +329,7 @@ export class Chat {
313
329
  headers: { ...this.options.headers, ...options?.headers },
314
330
  response_format: responseFormat, // Pass to provider
315
331
  requestTimeout: options?.requestTimeout ?? this.options.requestTimeout ?? config.requestTimeout,
332
+ thinking: options?.thinking ?? this.options.thinking,
316
333
  signal: options?.signal,
317
334
  ...this.options.params
318
335
  };
@@ -328,6 +345,13 @@ export class Chat {
328
345
  const totalUsage = { input_tokens: 0, output_tokens: 0, total_tokens: 0 };
329
346
  const trackUsage = (u) => {
330
347
  if (u) {
348
+ // Fallback cost calculation if provider didn't return it
349
+ if (u.cost === undefined) {
350
+ const withCost = ModelRegistry.calculateCost(u, this.model, this.provider.id);
351
+ u.cost = withCost.cost;
352
+ u.input_cost = withCost.input_cost;
353
+ u.output_cost = withCost.output_cost;
354
+ }
331
355
  totalUsage.input_tokens += u.input_tokens;
332
356
  totalUsage.output_tokens += u.output_tokens;
333
357
  totalUsage.total_tokens += u.total_tokens;
@@ -337,6 +361,12 @@ export class Chat {
337
361
  if (u.cost !== undefined) {
338
362
  totalUsage.cost = (totalUsage.cost ?? 0) + u.cost;
339
363
  }
364
+ if (u.input_cost !== undefined) {
365
+ totalUsage.input_cost = (totalUsage.input_cost ?? 0) + u.input_cost;
366
+ }
367
+ if (u.output_cost !== undefined) {
368
+ totalUsage.output_cost = (totalUsage.output_cost ?? 0) + u.output_cost;
369
+ }
340
370
  }
341
371
  };
342
372
  // First round
@@ -344,7 +374,7 @@ export class Chat {
344
374
  this.options.onNewMessage();
345
375
  let response = await this.executor.executeChat(executeOptions);
346
376
  trackUsage(response.usage);
347
- let assistantMessage = new ChatResponseString(response.content ?? "", response.usage ?? { input_tokens: 0, output_tokens: 0, total_tokens: 0 }, this.model, this.provider.id, response.reasoning, response.tool_calls);
377
+ let assistantMessage = new ChatResponseString(response.content ?? "", response.usage ?? { input_tokens: 0, output_tokens: 0, total_tokens: 0 }, this.model, this.provider.id, response.thinking, response.reasoning, response.tool_calls, response.finish_reason);
348
378
  // --- Content Policy Hooks (Output - Turn 1) ---
349
379
  if (this.options.onAfterResponse) {
350
380
  const result = await this.options.onAfterResponse(assistantMessage);
@@ -428,7 +458,7 @@ export class Chat {
428
458
  ...this.options.params
429
459
  });
430
460
  trackUsage(response.usage);
431
- assistantMessage = new ChatResponseString(response.content ?? "", response.usage ?? { input_tokens: 0, output_tokens: 0, total_tokens: 0 }, this.model, this.provider.id, response.reasoning);
461
+ assistantMessage = new ChatResponseString(response.content ?? "", response.usage ?? { input_tokens: 0, output_tokens: 0, total_tokens: 0 }, this.model, this.provider.id, response.thinking, response.reasoning, response.tool_calls, response.finish_reason);
432
462
  // --- Content Policy Hooks (Output - Tool Turns) ---
433
463
  if (this.options.onAfterResponse) {
434
464
  const result = await this.options.onAfterResponse(assistantMessage);
@@ -448,7 +478,7 @@ export class Chat {
448
478
  }
449
479
  // For the final return, we might want to aggregate reasoning too if it happened in multiple turns?
450
480
  // Usually reasoning only happens once or we just want the last one.
451
- return new ChatResponseString(assistantMessage.toString() || "", totalUsage, this.model, this.provider.id, assistantMessage.reasoning, response.tool_calls);
481
+ return new ChatResponseString(assistantMessage.toString() || "", totalUsage, this.model, this.provider.id, assistantMessage.thinking, assistantMessage.reasoning, response.tool_calls, assistantMessage.finish_reason);
452
482
  }
453
483
  /**
454
484
  * Streams the model's response to a user question.
@@ -3,7 +3,7 @@ import { ToolResolvable } from "./Tool.js";
3
3
  import { Schema } from "../schema/Schema.js";
4
4
  import { ChatResponseString } from "./ChatResponse.js";
5
5
  import { ToolExecutionMode } from "../constants.js";
6
- import { ResponseFormat } from "../providers/Provider.js";
6
+ import { ResponseFormat, ThinkingConfig } from "../providers/Provider.js";
7
7
  export interface ChatOptions {
8
8
  systemPrompt?: string;
9
9
  messages?: Message[];
@@ -23,6 +23,7 @@ export interface ChatOptions {
23
23
  provider?: string;
24
24
  maxToolCalls?: number;
25
25
  requestTimeout?: number;
26
+ thinking?: ThinkingConfig;
26
27
  toolExecution?: ToolExecutionMode;
27
28
  onConfirmToolCall?: (toolCall: unknown) => Promise<boolean> | boolean;
28
29
  onBeforeRequest?: (messages: Message[]) => Promise<Message[] | void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChatOptions.d.ts","sourceRoot":"","sources":["../../src/chat/ChatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACrD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,KAAK,KACT,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACtE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CACxF"}
1
+ {"version":3,"file":"ChatOptions.d.ts","sourceRoot":"","sources":["../../src/chat/ChatOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1E,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACrD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,KAAK,KACT,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACtE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACrE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CACxF"}