@node-llm/core 1.9.0 → 1.10.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 (43) hide show
  1. package/README.md +35 -0
  2. package/dist/aliases.d.ts +102 -9
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +102 -9
  5. package/dist/chat/Chat.d.ts +1 -0
  6. package/dist/chat/Chat.d.ts.map +1 -1
  7. package/dist/chat/Chat.js +169 -131
  8. package/dist/chat/ChatOptions.d.ts +2 -0
  9. package/dist/chat/ChatOptions.d.ts.map +1 -1
  10. package/dist/chat/ChatStream.d.ts.map +1 -1
  11. package/dist/chat/ChatStream.js +109 -66
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/llm.d.ts +8 -1
  16. package/dist/llm.d.ts.map +1 -1
  17. package/dist/llm.js +156 -59
  18. package/dist/middlewares/CostGuardMiddleware.d.ts +24 -0
  19. package/dist/middlewares/CostGuardMiddleware.d.ts.map +1 -0
  20. package/dist/middlewares/CostGuardMiddleware.js +23 -0
  21. package/dist/middlewares/PIIMaskMiddleware.d.ts +23 -0
  22. package/dist/middlewares/PIIMaskMiddleware.d.ts.map +1 -0
  23. package/dist/middlewares/PIIMaskMiddleware.js +41 -0
  24. package/dist/middlewares/UsageLoggerMiddleware.d.ts +22 -0
  25. package/dist/middlewares/UsageLoggerMiddleware.d.ts.map +1 -0
  26. package/dist/middlewares/UsageLoggerMiddleware.js +30 -0
  27. package/dist/middlewares/index.d.ts +4 -0
  28. package/dist/middlewares/index.d.ts.map +1 -0
  29. package/dist/middlewares/index.js +3 -0
  30. package/dist/models/models.json +1458 -448
  31. package/dist/providers/BaseProvider.d.ts +6 -1
  32. package/dist/providers/BaseProvider.d.ts.map +1 -1
  33. package/dist/providers/BaseProvider.js +19 -0
  34. package/dist/providers/openai/OpenAIProvider.d.ts +1 -1
  35. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  36. package/dist/providers/openai/OpenAIProvider.js +13 -2
  37. package/dist/types/Middleware.d.ts +98 -0
  38. package/dist/types/Middleware.d.ts.map +1 -0
  39. package/dist/types/Middleware.js +1 -0
  40. package/dist/utils/middleware-runner.d.ts +7 -0
  41. package/dist/utils/middleware-runner.d.ts.map +1 -0
  42. package/dist/utils/middleware-runner.js +20 -0
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -104,6 +104,41 @@ const llm = createLLM({
104
104
 
105
105
  ---
106
106
 
107
+ ## 🔌 Middleware System
108
+
109
+ NodeLLM 1.9.0 introduces a powerful lifecycle hook system for audit, security, and observability.
110
+
111
+ ```ts
112
+ import { createLLM, PIIMaskMiddleware, UsageLoggerMiddleware } from "@node-llm/core";
113
+
114
+ const llm = createLLM({
115
+ provider: "openai",
116
+ middlewares: [
117
+ new PIIMaskMiddleware(), // Redact emails/phone numbers automatically
118
+ new UsageLoggerMiddleware() // Log structured token usage & costs
119
+ ]
120
+ });
121
+
122
+ // All chats created from this instance inherit these middlewares
123
+ const chat = llm.chat("gpt-4o");
124
+ ```
125
+
126
+ ### Decisive Tool Safety
127
+
128
+ Middlewares can control the engine's recovery strategy during tool failures.
129
+
130
+ ```ts
131
+ const safetyMiddleware = {
132
+ name: "Audit",
133
+ onToolCallError: async (ctx, tool, error) => {
134
+ if (tool.function.name === "delete_user") return "STOP"; // Kill the loop
135
+ return "RETRY"; // Attempt recovery
136
+ }
137
+ };
138
+ ```
139
+
140
+ ---
141
+
107
142
  ## 💾 Ecosystem
108
143
 
109
144
  Looking for persistence? use **[@node-llm/orm](https://www.npmjs.com/package/@node-llm/orm)**.
package/dist/aliases.d.ts CHANGED
@@ -213,6 +213,18 @@ declare const _default: {
213
213
  readonly "dolphin3.0-r1-mistral-24b": {
214
214
  readonly openrouter: "cognitivecomputations/dolphin3.0-r1-mistral-24b";
215
215
  };
216
+ readonly "flux.2-flex": {
217
+ readonly openrouter: "black-forest-labs/flux.2-flex";
218
+ };
219
+ readonly "flux.2-klein-4b": {
220
+ readonly openrouter: "black-forest-labs/flux.2-klein-4b";
221
+ };
222
+ readonly "flux.2-max": {
223
+ readonly openrouter: "black-forest-labs/flux.2-max";
224
+ };
225
+ readonly "flux.2-pro": {
226
+ readonly openrouter: "black-forest-labs/flux.2-pro";
227
+ };
216
228
  readonly "gemini-1.5-flash": {
217
229
  readonly gemini: "gemini-1.5-flash";
218
230
  };
@@ -305,24 +317,39 @@ declare const _default: {
305
317
  readonly "gemini-live-2.5-flash-preview-native-audio": {
306
318
  readonly gemini: "gemini-live-2.5-flash-preview-native-audio";
307
319
  };
308
- readonly "gemma-2-9b-free": {
309
- readonly openrouter: "google/gemma-2-9b-it:free";
320
+ readonly "gemma-2-9b": {
321
+ readonly openrouter: "google/gemma-2-9b-it";
310
322
  };
311
- readonly "gemma-3-12b-it": {
323
+ readonly "gemma-3-12b": {
312
324
  readonly openrouter: "google/gemma-3-12b-it";
313
325
  };
314
- readonly "gemma-3-27b-it": {
326
+ readonly "gemma-3-12b-free": {
327
+ readonly openrouter: "google/gemma-3-12b-it:free";
328
+ };
329
+ readonly "gemma-3-27b": {
315
330
  readonly openrouter: "google/gemma-3-27b-it";
316
331
  };
332
+ readonly "gemma-3-27b-free": {
333
+ readonly openrouter: "google/gemma-3-27b-it:free";
334
+ };
335
+ readonly "gemma-3-4b": {
336
+ readonly openrouter: "google/gemma-3-4b-it";
337
+ };
338
+ readonly "gemma-3-4b-free": {
339
+ readonly openrouter: "google/gemma-3-4b-it:free";
340
+ };
317
341
  readonly "gemma-3-4b-it": {
318
342
  readonly bedrock: "google.gemma-3-4b-it";
319
343
  };
320
- readonly "gemma-3n-4b-free": {
321
- readonly openrouter: "google/gemma-3n-e4b-it:free";
344
+ readonly "gemma-3n-2b-free": {
345
+ readonly openrouter: "google/gemma-3n-e2b-it:free";
322
346
  };
323
- readonly "gemma-3n-e4b-it": {
347
+ readonly "gemma-3n-4b": {
324
348
  readonly openrouter: "google/gemma-3n-e4b-it";
325
349
  };
350
+ readonly "gemma-3n-4b-free": {
351
+ readonly openrouter: "google/gemma-3n-e4b-it:free";
352
+ };
326
353
  readonly "glm-4.5": {
327
354
  readonly openrouter: "z-ai/glm-4.5";
328
355
  };
@@ -343,7 +370,7 @@ declare const _default: {
343
370
  };
344
371
  readonly "glm-4.7": {
345
372
  readonly gemini: "zai-org/glm-4.7-maas";
346
- readonly openrouter: "z-ai/glm-4.7";
373
+ readonly openrouter: "z-ai/glm-4.7-flash";
347
374
  };
348
375
  readonly "glm-z1-32b-free": {
349
376
  readonly openrouter: "thudm/glm-z1-32b:free";
@@ -444,7 +471,7 @@ declare const _default: {
444
471
  };
445
472
  readonly "gpt-5.2-chat": {
446
473
  readonly openai: "gpt-5.2-chat-latest";
447
- readonly openrouter: "openai/gpt-5.2-chat-latest";
474
+ readonly openrouter: "openai/gpt-5.2-chat";
448
475
  };
449
476
  readonly "gpt-5.2-codex": {
450
477
  readonly openai: "gpt-5.2-codex";
@@ -462,11 +489,17 @@ declare const _default: {
462
489
  readonly "gpt-oss-120b-exacto": {
463
490
  readonly openrouter: "openai/gpt-oss-120b:exacto";
464
491
  };
492
+ readonly "gpt-oss-120b-free": {
493
+ readonly openrouter: "openai/gpt-oss-120b:free";
494
+ };
465
495
  readonly "gpt-oss-20b": {
466
496
  readonly gemini: "openai/gpt-oss-20b-maas";
467
497
  readonly openrouter: "openai/gpt-oss-20b";
468
498
  readonly bedrock: "openai.gpt-oss-20b-1:0";
469
499
  };
500
+ readonly "gpt-oss-20b-free": {
501
+ readonly openrouter: "openai/gpt-oss-20b:free";
502
+ };
470
503
  readonly "gpt-oss-safeguard-120b": {
471
504
  readonly bedrock: "openai.gpt-oss-safeguard-120b";
472
505
  };
@@ -498,6 +531,9 @@ declare const _default: {
498
531
  readonly "grok-code-fast-1": {
499
532
  readonly openrouter: "x-ai/grok-code-fast-1";
500
533
  };
534
+ readonly "hermes-3-405b-instruct-free": {
535
+ readonly openrouter: "nousresearch/hermes-3-llama-3.1-405b:free";
536
+ };
501
537
  readonly "hermes-4-405b": {
502
538
  readonly openrouter: "nousresearch/hermes-4-405b";
503
539
  };
@@ -535,6 +571,12 @@ declare const _default: {
535
571
  readonly "kimi-k2.5": {
536
572
  readonly openrouter: "moonshotai/kimi-k2.5";
537
573
  };
574
+ readonly "lfm2.5-1.2b-instruct-free": {
575
+ readonly openrouter: "liquid/lfm-2.5-1.2b-instruct:free";
576
+ };
577
+ readonly "lfm2.5-1.2b-thinking-free": {
578
+ readonly openrouter: "liquid/lfm-2.5-1.2b-thinking:free";
579
+ };
538
580
  readonly "llama-3-1-70b": {
539
581
  readonly bedrock: "meta.llama3-1-70b-instruct-v1:0";
540
582
  readonly openrouter: "meta-llama/llama-3.1-70b-instruct";
@@ -569,6 +611,9 @@ declare const _default: {
569
611
  readonly "llama-3-8b-instruct": {
570
612
  readonly bedrock: "meta.llama3-8b-instruct-v1:0";
571
613
  };
614
+ readonly "llama-3.1-405b-instruct-free": {
615
+ readonly openrouter: "meta-llama/llama-3.1-405b-instruct:free";
616
+ };
572
617
  readonly "llama-3.1-70b-instruct": {
573
618
  readonly bedrock: "meta.llama3-1-70b-instruct-v1:0";
574
619
  };
@@ -587,6 +632,9 @@ declare const _default: {
587
632
  readonly "llama-3.2-3b-instruct": {
588
633
  readonly bedrock: "meta.llama3-2-3b-instruct-v1:0";
589
634
  };
635
+ readonly "llama-3.2-3b-instruct-free": {
636
+ readonly openrouter: "meta-llama/llama-3.2-3b-instruct:free";
637
+ };
590
638
  readonly "llama-3.2-90b-instruct": {
591
639
  readonly bedrock: "meta.llama3-2-90b-instruct-v1:0";
592
640
  };
@@ -667,6 +715,18 @@ declare const _default: {
667
715
  readonly "mixtral-8x7b-instruct-v0.1": {
668
716
  readonly bedrock: "mistral.mixtral-8x7b-instruct-v0:1";
669
717
  };
718
+ readonly "molmo2-8b-free": {
719
+ readonly openrouter: "allenai/molmo-2-8b:free";
720
+ };
721
+ readonly "nemotron-3-nano-30b-a3b-free": {
722
+ readonly openrouter: "nvidia/nemotron-3-nano-30b-a3b:free";
723
+ };
724
+ readonly "nemotron-nano-12b-2-vl-free": {
725
+ readonly openrouter: "nvidia/nemotron-nano-12b-v2-vl:free";
726
+ };
727
+ readonly "nemotron-nano-9b-v2-free": {
728
+ readonly openrouter: "nvidia/nemotron-nano-9b-v2:free";
729
+ };
670
730
  readonly "nova-2-lite": {
671
731
  readonly bedrock: "amazon.nova-2-lite-v1:0";
672
732
  };
@@ -731,6 +791,9 @@ declare const _default: {
731
791
  readonly "qwen2.5-vl-72b-instruct-free": {
732
792
  readonly openrouter: "qwen/qwen2.5-vl-72b-instruct:free";
733
793
  };
794
+ readonly "qwen2.5-vl-7b-instruct-free": {
795
+ readonly openrouter: "qwen/qwen-2.5-vl-7b-instruct:free";
796
+ };
734
797
  readonly "qwen3-14b-free": {
735
798
  readonly openrouter: "qwen/qwen3-14b:free";
736
799
  };
@@ -764,6 +827,9 @@ declare const _default: {
764
827
  readonly "qwen3-32b-free": {
765
828
  readonly openrouter: "qwen/qwen3-32b:free";
766
829
  };
830
+ readonly "qwen3-4b-free": {
831
+ readonly openrouter: "qwen/qwen3-4b:free";
832
+ };
767
833
  readonly "qwen3-8b-free": {
768
834
  readonly openrouter: "qwen/qwen3-8b:free";
769
835
  };
@@ -792,6 +858,9 @@ declare const _default: {
792
858
  readonly "qwen3-next-80b-a3b-instruct": {
793
859
  readonly openrouter: "qwen/qwen3-next-80b-a3b-instruct";
794
860
  };
861
+ readonly "qwen3-next-80b-a3b-instruct-free": {
862
+ readonly openrouter: "qwen/qwen3-next-80b-a3b-instruct:free";
863
+ };
795
864
  readonly "qwen3-next-80b-a3b-thinking": {
796
865
  readonly openrouter: "qwen/qwen3-next-80b-a3b-thinking";
797
866
  };
@@ -813,12 +882,27 @@ declare const _default: {
813
882
  readonly "r1-free": {
814
883
  readonly openrouter: "deepseek/deepseek-r1:free";
815
884
  };
885
+ readonly "r1t-chimera-free": {
886
+ readonly openrouter: "tngtech/tng-r1t-chimera:free";
887
+ };
816
888
  readonly "reka-flash-3": {
817
889
  readonly openrouter: "rekaai/reka-flash-3";
818
890
  };
891
+ readonly "riverflow-v2-fast-preview": {
892
+ readonly openrouter: "sourceful/riverflow-v2-fast-preview";
893
+ };
894
+ readonly "riverflow-v2-max-preview": {
895
+ readonly openrouter: "sourceful/riverflow-v2-max-preview";
896
+ };
897
+ readonly "riverflow-v2-standard-preview": {
898
+ readonly openrouter: "sourceful/riverflow-v2-standard-preview";
899
+ };
819
900
  readonly "sarvam-m-free": {
820
901
  readonly openrouter: "sarvamai/sarvam-m:free";
821
902
  };
903
+ readonly "seedream-4.5": {
904
+ readonly openrouter: "bytedance-seed/seedream-4.5";
905
+ };
822
906
  readonly "sherlock-dash-alpha": {
823
907
  readonly openrouter: "openrouter/sherlock-dash-alpha";
824
908
  };
@@ -837,6 +921,15 @@ declare const _default: {
837
921
  readonly "titan-text-g1---express": {
838
922
  readonly bedrock: "amazon.titan-text-express-v1";
839
923
  };
924
+ readonly "trinity-large-preview": {
925
+ readonly openrouter: "arcee-ai/trinity-large-preview:free";
926
+ };
927
+ readonly "trinity-mini": {
928
+ readonly openrouter: "arcee-ai/trinity-mini:free";
929
+ };
930
+ readonly "uncensored-free": {
931
+ readonly openrouter: "cognitivecomputations/dolphin-mistral-24b-venice-edition:free";
932
+ };
840
933
  readonly "voxtral-mini-3b-2507": {
841
934
  readonly bedrock: "mistral.voxtral-mini-3b-2507";
842
935
  };
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA60BW"}
1
+ {"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBA06BW"}
package/dist/aliases.js CHANGED
@@ -213,6 +213,18 @@ export default {
213
213
  "dolphin3.0-r1-mistral-24b": {
214
214
  "openrouter": "cognitivecomputations/dolphin3.0-r1-mistral-24b"
215
215
  },
216
+ "flux.2-flex": {
217
+ "openrouter": "black-forest-labs/flux.2-flex"
218
+ },
219
+ "flux.2-klein-4b": {
220
+ "openrouter": "black-forest-labs/flux.2-klein-4b"
221
+ },
222
+ "flux.2-max": {
223
+ "openrouter": "black-forest-labs/flux.2-max"
224
+ },
225
+ "flux.2-pro": {
226
+ "openrouter": "black-forest-labs/flux.2-pro"
227
+ },
216
228
  "gemini-1.5-flash": {
217
229
  "gemini": "gemini-1.5-flash"
218
230
  },
@@ -305,24 +317,39 @@ export default {
305
317
  "gemini-live-2.5-flash-preview-native-audio": {
306
318
  "gemini": "gemini-live-2.5-flash-preview-native-audio"
307
319
  },
308
- "gemma-2-9b-free": {
309
- "openrouter": "google/gemma-2-9b-it:free"
320
+ "gemma-2-9b": {
321
+ "openrouter": "google/gemma-2-9b-it"
310
322
  },
311
- "gemma-3-12b-it": {
323
+ "gemma-3-12b": {
312
324
  "openrouter": "google/gemma-3-12b-it"
313
325
  },
314
- "gemma-3-27b-it": {
326
+ "gemma-3-12b-free": {
327
+ "openrouter": "google/gemma-3-12b-it:free"
328
+ },
329
+ "gemma-3-27b": {
315
330
  "openrouter": "google/gemma-3-27b-it"
316
331
  },
332
+ "gemma-3-27b-free": {
333
+ "openrouter": "google/gemma-3-27b-it:free"
334
+ },
335
+ "gemma-3-4b": {
336
+ "openrouter": "google/gemma-3-4b-it"
337
+ },
338
+ "gemma-3-4b-free": {
339
+ "openrouter": "google/gemma-3-4b-it:free"
340
+ },
317
341
  "gemma-3-4b-it": {
318
342
  "bedrock": "google.gemma-3-4b-it"
319
343
  },
320
- "gemma-3n-4b-free": {
321
- "openrouter": "google/gemma-3n-e4b-it:free"
344
+ "gemma-3n-2b-free": {
345
+ "openrouter": "google/gemma-3n-e2b-it:free"
322
346
  },
323
- "gemma-3n-e4b-it": {
347
+ "gemma-3n-4b": {
324
348
  "openrouter": "google/gemma-3n-e4b-it"
325
349
  },
350
+ "gemma-3n-4b-free": {
351
+ "openrouter": "google/gemma-3n-e4b-it:free"
352
+ },
326
353
  "glm-4.5": {
327
354
  "openrouter": "z-ai/glm-4.5"
328
355
  },
@@ -343,7 +370,7 @@ export default {
343
370
  },
344
371
  "glm-4.7": {
345
372
  "gemini": "zai-org/glm-4.7-maas",
346
- "openrouter": "z-ai/glm-4.7"
373
+ "openrouter": "z-ai/glm-4.7-flash"
347
374
  },
348
375
  "glm-z1-32b-free": {
349
376
  "openrouter": "thudm/glm-z1-32b:free"
@@ -444,7 +471,7 @@ export default {
444
471
  },
445
472
  "gpt-5.2-chat": {
446
473
  "openai": "gpt-5.2-chat-latest",
447
- "openrouter": "openai/gpt-5.2-chat-latest"
474
+ "openrouter": "openai/gpt-5.2-chat"
448
475
  },
449
476
  "gpt-5.2-codex": {
450
477
  "openai": "gpt-5.2-codex",
@@ -462,11 +489,17 @@ export default {
462
489
  "gpt-oss-120b-exacto": {
463
490
  "openrouter": "openai/gpt-oss-120b:exacto"
464
491
  },
492
+ "gpt-oss-120b-free": {
493
+ "openrouter": "openai/gpt-oss-120b:free"
494
+ },
465
495
  "gpt-oss-20b": {
466
496
  "gemini": "openai/gpt-oss-20b-maas",
467
497
  "openrouter": "openai/gpt-oss-20b",
468
498
  "bedrock": "openai.gpt-oss-20b-1:0"
469
499
  },
500
+ "gpt-oss-20b-free": {
501
+ "openrouter": "openai/gpt-oss-20b:free"
502
+ },
470
503
  "gpt-oss-safeguard-120b": {
471
504
  "bedrock": "openai.gpt-oss-safeguard-120b"
472
505
  },
@@ -498,6 +531,9 @@ export default {
498
531
  "grok-code-fast-1": {
499
532
  "openrouter": "x-ai/grok-code-fast-1"
500
533
  },
534
+ "hermes-3-405b-instruct-free": {
535
+ "openrouter": "nousresearch/hermes-3-llama-3.1-405b:free"
536
+ },
501
537
  "hermes-4-405b": {
502
538
  "openrouter": "nousresearch/hermes-4-405b"
503
539
  },
@@ -535,6 +571,12 @@ export default {
535
571
  "kimi-k2.5": {
536
572
  "openrouter": "moonshotai/kimi-k2.5"
537
573
  },
574
+ "lfm2.5-1.2b-instruct-free": {
575
+ "openrouter": "liquid/lfm-2.5-1.2b-instruct:free"
576
+ },
577
+ "lfm2.5-1.2b-thinking-free": {
578
+ "openrouter": "liquid/lfm-2.5-1.2b-thinking:free"
579
+ },
538
580
  "llama-3-1-70b": {
539
581
  "bedrock": "meta.llama3-1-70b-instruct-v1:0",
540
582
  "openrouter": "meta-llama/llama-3.1-70b-instruct"
@@ -569,6 +611,9 @@ export default {
569
611
  "llama-3-8b-instruct": {
570
612
  "bedrock": "meta.llama3-8b-instruct-v1:0"
571
613
  },
614
+ "llama-3.1-405b-instruct-free": {
615
+ "openrouter": "meta-llama/llama-3.1-405b-instruct:free"
616
+ },
572
617
  "llama-3.1-70b-instruct": {
573
618
  "bedrock": "meta.llama3-1-70b-instruct-v1:0"
574
619
  },
@@ -587,6 +632,9 @@ export default {
587
632
  "llama-3.2-3b-instruct": {
588
633
  "bedrock": "meta.llama3-2-3b-instruct-v1:0"
589
634
  },
635
+ "llama-3.2-3b-instruct-free": {
636
+ "openrouter": "meta-llama/llama-3.2-3b-instruct:free"
637
+ },
590
638
  "llama-3.2-90b-instruct": {
591
639
  "bedrock": "meta.llama3-2-90b-instruct-v1:0"
592
640
  },
@@ -667,6 +715,18 @@ export default {
667
715
  "mixtral-8x7b-instruct-v0.1": {
668
716
  "bedrock": "mistral.mixtral-8x7b-instruct-v0:1"
669
717
  },
718
+ "molmo2-8b-free": {
719
+ "openrouter": "allenai/molmo-2-8b:free"
720
+ },
721
+ "nemotron-3-nano-30b-a3b-free": {
722
+ "openrouter": "nvidia/nemotron-3-nano-30b-a3b:free"
723
+ },
724
+ "nemotron-nano-12b-2-vl-free": {
725
+ "openrouter": "nvidia/nemotron-nano-12b-v2-vl:free"
726
+ },
727
+ "nemotron-nano-9b-v2-free": {
728
+ "openrouter": "nvidia/nemotron-nano-9b-v2:free"
729
+ },
670
730
  "nova-2-lite": {
671
731
  "bedrock": "amazon.nova-2-lite-v1:0"
672
732
  },
@@ -731,6 +791,9 @@ export default {
731
791
  "qwen2.5-vl-72b-instruct-free": {
732
792
  "openrouter": "qwen/qwen2.5-vl-72b-instruct:free"
733
793
  },
794
+ "qwen2.5-vl-7b-instruct-free": {
795
+ "openrouter": "qwen/qwen-2.5-vl-7b-instruct:free"
796
+ },
734
797
  "qwen3-14b-free": {
735
798
  "openrouter": "qwen/qwen3-14b:free"
736
799
  },
@@ -764,6 +827,9 @@ export default {
764
827
  "qwen3-32b-free": {
765
828
  "openrouter": "qwen/qwen3-32b:free"
766
829
  },
830
+ "qwen3-4b-free": {
831
+ "openrouter": "qwen/qwen3-4b:free"
832
+ },
767
833
  "qwen3-8b-free": {
768
834
  "openrouter": "qwen/qwen3-8b:free"
769
835
  },
@@ -792,6 +858,9 @@ export default {
792
858
  "qwen3-next-80b-a3b-instruct": {
793
859
  "openrouter": "qwen/qwen3-next-80b-a3b-instruct"
794
860
  },
861
+ "qwen3-next-80b-a3b-instruct-free": {
862
+ "openrouter": "qwen/qwen3-next-80b-a3b-instruct:free"
863
+ },
795
864
  "qwen3-next-80b-a3b-thinking": {
796
865
  "openrouter": "qwen/qwen3-next-80b-a3b-thinking"
797
866
  },
@@ -813,12 +882,27 @@ export default {
813
882
  "r1-free": {
814
883
  "openrouter": "deepseek/deepseek-r1:free"
815
884
  },
885
+ "r1t-chimera-free": {
886
+ "openrouter": "tngtech/tng-r1t-chimera:free"
887
+ },
816
888
  "reka-flash-3": {
817
889
  "openrouter": "rekaai/reka-flash-3"
818
890
  },
891
+ "riverflow-v2-fast-preview": {
892
+ "openrouter": "sourceful/riverflow-v2-fast-preview"
893
+ },
894
+ "riverflow-v2-max-preview": {
895
+ "openrouter": "sourceful/riverflow-v2-max-preview"
896
+ },
897
+ "riverflow-v2-standard-preview": {
898
+ "openrouter": "sourceful/riverflow-v2-standard-preview"
899
+ },
819
900
  "sarvam-m-free": {
820
901
  "openrouter": "sarvamai/sarvam-m:free"
821
902
  },
903
+ "seedream-4.5": {
904
+ "openrouter": "bytedance-seed/seedream-4.5"
905
+ },
822
906
  "sherlock-dash-alpha": {
823
907
  "openrouter": "openrouter/sherlock-dash-alpha"
824
908
  },
@@ -837,6 +921,15 @@ export default {
837
921
  "titan-text-g1---express": {
838
922
  "bedrock": "amazon.titan-text-express-v1"
839
923
  },
924
+ "trinity-large-preview": {
925
+ "openrouter": "arcee-ai/trinity-large-preview:free"
926
+ },
927
+ "trinity-mini": {
928
+ "openrouter": "arcee-ai/trinity-mini:free"
929
+ },
930
+ "uncensored-free": {
931
+ "openrouter": "cognitivecomputations/dolphin-mistral-24b-venice-edition:free"
932
+ },
840
933
  "voxtral-mini-3b-2507": {
841
934
  "bedrock": "mistral.voxtral-mini-3b-2507"
842
935
  },
@@ -26,6 +26,7 @@ export declare class Chat<S = unknown> {
26
26
  private messages;
27
27
  private systemMessages;
28
28
  private executor;
29
+ private middlewares;
29
30
  constructor(provider: Provider, model: string, options?: ChatOptions, retryConfig?: {
30
31
  attempts: number;
31
32
  delayMs: number;
@@ -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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"}