llm-strings 1.3.0 → 1.4.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/dist/providers.js CHANGED
@@ -16,7 +16,7 @@ import {
16
16
  isReasoningModel,
17
17
  providerFromHostAlias,
18
18
  resolveHostAlias
19
- } from "./chunk-OCJX4QFJ.js";
19
+ } from "./chunk-76EFNZCF.js";
20
20
 
21
21
  // src/provider-meta.ts
22
22
  var PROVIDER_META = [
@@ -172,626 +172,29 @@ var PROVIDER_META = [
172
172
  color: "#ffcc4d"
173
173
  }
174
174
  ];
175
- var MODELS = {
176
- openai: [
177
- "gpt-5.2",
178
- "gpt-5.2-pro",
179
- "gpt-4.1",
180
- "gpt-4.1-mini",
181
- "gpt-4.1-nano",
182
- "o3",
183
- "o3-mini",
184
- "o4-mini",
185
- "o1-pro"
186
- ],
187
- azure: ["gpt-5.2", "gpt-4.1", "o3", "o4-mini"],
188
- anthropic: [
189
- "claude-opus-4-6",
190
- "claude-sonnet-4-6",
191
- "claude-sonnet-4-5",
192
- "claude-haiku-4-5"
193
- ],
194
- google: [
195
- "gemini-3-pro-preview",
196
- "gemini-3-flash-preview",
197
- "gemini-2.5-pro",
198
- "gemini-2.5-flash"
199
- ],
200
- "google-vertex": [
201
- "gemini-3-pro-preview",
202
- "gemini-3-flash-preview",
203
- "gemini-2.5-pro",
204
- "gemini-2.5-flash"
205
- ],
206
- mistral: [
207
- "mistral-large-latest",
208
- "mistral-medium-latest",
209
- "mistral-small-latest",
210
- "codestral-latest",
211
- "magistral-medium-latest"
212
- ],
213
- cohere: [
214
- "command-a-03-2025",
215
- "command-r-plus-08-2024",
216
- "command-r-08-2024",
217
- "command-r7b-12-2024"
218
- ],
219
- bedrock: [
220
- "anthropic.claude-opus-4-6-v1",
221
- "anthropic.claude-sonnet-4-6-v1",
222
- "anthropic.claude-haiku-4-5-v1",
223
- "amazon.nova-pro-v1",
224
- "amazon.nova-lite-v1",
225
- "meta.llama3-70b-instruct-v1:0"
226
- ],
227
- openrouter: [
228
- "openai/gpt-5.2",
229
- "anthropic/claude-opus-4-6",
230
- "google/gemini-2.5-pro",
231
- "mistral/mistral-large-latest"
232
- ],
233
- vercel: [
234
- "openai/gpt-5.2",
235
- "anthropic/claude-opus-4-6",
236
- "google/gemini-2.5-pro",
237
- "google/gemini-3-pro-preview",
238
- "google/gemini-3-flash-preview",
239
- "mistral/mistral-large-latest",
240
- "qwen/qwen2.5-pro"
241
- ],
242
- xai: ["grok-4", "grok-3", "grok-3-mini"],
243
- groq: ["openai/gpt-oss-120b", "llama-3.3-70b-versatile"],
244
- fal: ["fal-ai/flux-pro", "fal-ai/imagen4/preview"],
245
- deepinfra: [
246
- "meta-llama/Meta-Llama-3.1-70B-Instruct",
247
- "deepseek-ai/DeepSeek-V3"
248
- ],
249
- "black-forest-labs": ["flux-pro-1.1", "flux-kontext-pro"],
250
- together: [
251
- "meta-llama/Llama-3.3-70B-Instruct-Turbo",
252
- "deepseek-ai/DeepSeek-V3"
253
- ],
254
- fireworks: [
255
- "accounts/fireworks/models/llama-v3p1-70b-instruct",
256
- "accounts/fireworks/models/deepseek-v3"
257
- ],
258
- deepseek: ["deepseek-chat", "deepseek-reasoner"],
259
- moonshotai: ["kimi-k2-0905-preview", "moonshot-v1-128k"],
260
- perplexity: ["sonar", "sonar-pro", "sonar-reasoning"],
261
- alibaba: ["qwen-plus", "qwen-max", "qwen3-coder-plus"],
262
- cerebras: ["llama3.1-8b", "llama-3.3-70b"],
263
- replicate: [
264
- "black-forest-labs/flux-schnell",
265
- "meta/meta-llama-3-70b-instruct"
266
- ],
267
- prodia: ["sdxl", "flux-schnell"],
268
- luma: ["ray-2", "photon-1"],
269
- bytedance: ["seedream-4-0", "seedance-1-0-pro"],
270
- kling: ["kling-v2.1", "kling-v1.6"],
271
- elevenlabs: ["eleven_multilingual_v2", "eleven_turbo_v2_5"],
272
- assemblyai: ["universal"],
273
- deepgram: ["nova-3", "nova-2"],
274
- gladia: ["solaria-1"],
275
- lmnt: ["aurora"],
276
- hume: ["octave"],
277
- revai: ["machine"],
278
- baseten: ["meta-llama/Llama-3.1-8B-Instruct", "deepseek-ai/DeepSeek-R1"],
279
- huggingface: [
280
- "meta-llama/Llama-3.1-8B-Instruct",
281
- "mistralai/Mistral-7B-Instruct-v0.3"
282
- ]
283
- };
284
- var OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS = {
285
- temperature: {
286
- type: "number",
287
- min: 0,
288
- max: 2,
289
- default: 0.7,
290
- description: "Controls randomness"
291
- },
292
- max_tokens: {
293
- type: "number",
294
- min: 1,
295
- default: 4096,
296
- description: "Maximum output tokens"
297
- },
298
- top_p: {
299
- type: "number",
300
- min: 0,
301
- max: 1,
302
- default: 1,
303
- description: "Nucleus sampling"
304
- },
305
- top_k: {
306
- type: "number",
307
- min: 0,
308
- default: 40,
309
- description: "Top-K sampling"
310
- },
311
- frequency_penalty: {
312
- type: "number",
313
- min: -2,
314
- max: 2,
315
- default: 0,
316
- description: "Penalize frequent tokens"
317
- },
318
- presence_penalty: {
319
- type: "number",
320
- min: -2,
321
- max: 2,
322
- default: 0,
323
- description: "Penalize repeated topics"
324
- },
325
- stop: { type: "string", default: "", description: "Stop sequences" },
326
- n: { type: "number", min: 1, default: 1, description: "Completions count" },
327
- seed: { type: "number", default: "", description: "Random seed" },
328
- stream: { type: "boolean", default: false, description: "Stream response" },
329
- effort: {
330
- type: "enum",
331
- values: ["none", "minimal", "low", "medium", "high", "xhigh"],
332
- default: "medium",
333
- description: "Reasoning effort"
334
- }
335
- };
336
- var GOOGLE_COMPATIBLE_CANONICAL_PARAM_SPECS = {
337
- temperature: {
338
- type: "number",
339
- min: 0,
340
- max: 2,
341
- default: 0.7,
342
- description: "Controls randomness"
343
- },
344
- max_tokens: {
345
- type: "number",
346
- min: 1,
347
- default: 4096,
348
- description: "Maximum output tokens"
349
- },
350
- top_p: {
351
- type: "number",
352
- min: 0,
353
- max: 1,
354
- default: 1,
355
- description: "Nucleus sampling"
356
- },
357
- top_k: {
358
- type: "number",
359
- min: 0,
360
- default: 40,
361
- description: "Top-K sampling"
362
- },
363
- frequency_penalty: {
364
- type: "number",
365
- min: -2,
366
- max: 2,
367
- default: 0,
368
- description: "Penalize frequent tokens"
369
- },
370
- presence_penalty: {
371
- type: "number",
372
- min: -2,
373
- max: 2,
374
- default: 0,
375
- description: "Penalize repeated topics"
376
- },
377
- stop: { type: "string", default: "", description: "Stop sequences" },
378
- n: { type: "number", min: 1, default: 1, description: "Candidate count" },
379
- stream: { type: "boolean", default: false, description: "Stream response" },
380
- seed: { type: "number", default: "", description: "Random seed" }
381
- };
382
- var CANONICAL_PARAM_SPECS = {
383
- openai: {
384
- temperature: {
385
- type: "number",
386
- min: 0,
387
- max: 2,
388
- default: 0.7,
389
- description: "Controls randomness"
390
- },
391
- max_tokens: {
392
- type: "number",
393
- min: 1,
394
- default: 4096,
395
- description: "Maximum output tokens"
396
- },
397
- top_p: {
398
- type: "number",
399
- min: 0,
400
- max: 1,
401
- default: 1,
402
- description: "Nucleus sampling"
403
- },
404
- frequency_penalty: {
405
- type: "number",
406
- min: -2,
407
- max: 2,
408
- default: 0,
409
- description: "Penalize frequent tokens"
410
- },
411
- presence_penalty: {
412
- type: "number",
413
- min: -2,
414
- max: 2,
415
- default: 0,
416
- description: "Penalize repeated topics"
417
- },
418
- stop: { type: "string", default: "", description: "Stop sequences" },
419
- n: { type: "number", min: 1, default: 1, description: "Completions count" },
420
- seed: { type: "number", default: "", description: "Random seed" },
421
- stream: { type: "boolean", default: false, description: "Stream response" },
422
- effort: {
423
- type: "enum",
424
- values: ["none", "minimal", "low", "medium", "high", "xhigh"],
425
- default: "medium",
426
- description: "Reasoning effort"
175
+ function toCanonicalParamSpec(spec) {
176
+ return {
177
+ ...spec,
178
+ type: spec.values ? "enum" : spec.type,
179
+ default: spec.default ?? (spec.type === "string" && !spec.values ? "" : void 0)
180
+ };
181
+ }
182
+ function deriveCanonicalParamSpecs() {
183
+ const specs = {};
184
+ for (const provider of Object.keys(PROVIDER_PARAMS)) {
185
+ specs[provider] = {};
186
+ for (const [canonicalName, providerName] of Object.entries(
187
+ PROVIDER_PARAMS[provider]
188
+ )) {
189
+ const spec = PARAM_SPECS[provider][providerName];
190
+ if (spec) {
191
+ specs[provider][canonicalName] = toCanonicalParamSpec(spec);
192
+ }
427
193
  }
428
- },
429
- azure: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
430
- anthropic: {
431
- temperature: {
432
- type: "number",
433
- min: 0,
434
- max: 1,
435
- default: 0.7,
436
- description: "Controls randomness"
437
- },
438
- max_tokens: {
439
- type: "number",
440
- min: 1,
441
- default: 4096,
442
- description: "Maximum output tokens"
443
- },
444
- top_p: {
445
- type: "number",
446
- min: 0,
447
- max: 1,
448
- default: 1,
449
- description: "Nucleus sampling"
450
- },
451
- top_k: {
452
- type: "number",
453
- min: 0,
454
- default: 40,
455
- description: "Top-K sampling"
456
- },
457
- stop: { type: "string", default: "", description: "Stop sequences" },
458
- stream: { type: "boolean", default: false, description: "Stream response" },
459
- effort: {
460
- type: "enum",
461
- values: ["low", "medium", "high", "max"],
462
- default: "medium",
463
- description: "Thinking effort"
464
- },
465
- cache: {
466
- type: "enum",
467
- values: ["ephemeral"],
468
- default: "ephemeral",
469
- description: "Cache control"
470
- },
471
- cache_ttl: {
472
- type: "enum",
473
- values: ["5m", "1h"],
474
- default: "5m",
475
- description: "Cache TTL"
476
- }
477
- },
478
- google: {
479
- temperature: {
480
- type: "number",
481
- min: 0,
482
- max: 2,
483
- default: 0.7,
484
- description: "Controls randomness"
485
- },
486
- max_tokens: {
487
- type: "number",
488
- min: 1,
489
- default: 4096,
490
- description: "Maximum output tokens"
491
- },
492
- top_p: {
493
- type: "number",
494
- min: 0,
495
- max: 1,
496
- default: 1,
497
- description: "Nucleus sampling"
498
- },
499
- top_k: {
500
- type: "number",
501
- min: 0,
502
- default: 40,
503
- description: "Top-K sampling"
504
- },
505
- frequency_penalty: {
506
- type: "number",
507
- min: -2,
508
- max: 2,
509
- default: 0,
510
- description: "Penalize frequent tokens"
511
- },
512
- presence_penalty: {
513
- type: "number",
514
- min: -2,
515
- max: 2,
516
- default: 0,
517
- description: "Penalize repeated topics"
518
- },
519
- stop: { type: "string", default: "", description: "Stop sequences" },
520
- n: { type: "number", min: 1, default: 1, description: "Candidate count" },
521
- stream: { type: "boolean", default: false, description: "Stream response" },
522
- seed: { type: "number", default: "", description: "Random seed" }
523
- },
524
- "google-vertex": GOOGLE_COMPATIBLE_CANONICAL_PARAM_SPECS,
525
- mistral: {
526
- temperature: {
527
- type: "number",
528
- min: 0,
529
- max: 1,
530
- default: 0.7,
531
- description: "Controls randomness"
532
- },
533
- max_tokens: {
534
- type: "number",
535
- min: 1,
536
- default: 4096,
537
- description: "Maximum output tokens"
538
- },
539
- top_p: {
540
- type: "number",
541
- min: 0,
542
- max: 1,
543
- default: 1,
544
- description: "Nucleus sampling"
545
- },
546
- frequency_penalty: {
547
- type: "number",
548
- min: -2,
549
- max: 2,
550
- default: 0,
551
- description: "Penalize frequent tokens"
552
- },
553
- presence_penalty: {
554
- type: "number",
555
- min: -2,
556
- max: 2,
557
- default: 0,
558
- description: "Penalize repeated topics"
559
- },
560
- stop: { type: "string", default: "", description: "Stop sequences" },
561
- n: { type: "number", min: 1, default: 1, description: "Completions count" },
562
- seed: { type: "number", default: "", description: "Random seed" },
563
- stream: { type: "boolean", default: false, description: "Stream response" },
564
- safe_prompt: {
565
- type: "boolean",
566
- default: false,
567
- description: "Enable safe prompt"
568
- },
569
- min_tokens: {
570
- type: "number",
571
- min: 0,
572
- default: 0,
573
- description: "Minimum tokens"
574
- }
575
- },
576
- cohere: {
577
- temperature: {
578
- type: "number",
579
- min: 0,
580
- max: 1,
581
- default: 0.7,
582
- description: "Controls randomness"
583
- },
584
- max_tokens: {
585
- type: "number",
586
- min: 1,
587
- default: 4096,
588
- description: "Maximum output tokens"
589
- },
590
- top_p: {
591
- type: "number",
592
- min: 0,
593
- max: 1,
594
- default: 1,
595
- description: "Nucleus sampling (p)"
596
- },
597
- top_k: {
598
- type: "number",
599
- min: 0,
600
- max: 500,
601
- default: 40,
602
- description: "Top-K sampling (k)"
603
- },
604
- frequency_penalty: {
605
- type: "number",
606
- min: 0,
607
- max: 1,
608
- default: 0,
609
- description: "Penalize frequent tokens"
610
- },
611
- presence_penalty: {
612
- type: "number",
613
- min: 0,
614
- max: 1,
615
- default: 0,
616
- description: "Penalize repeated topics"
617
- },
618
- stop: { type: "string", default: "", description: "Stop sequences" },
619
- stream: { type: "boolean", default: false, description: "Stream response" },
620
- seed: { type: "number", default: "", description: "Random seed" }
621
- },
622
- bedrock: {
623
- temperature: {
624
- type: "number",
625
- min: 0,
626
- max: 1,
627
- default: 0.7,
628
- description: "Controls randomness"
629
- },
630
- max_tokens: {
631
- type: "number",
632
- min: 1,
633
- default: 4096,
634
- description: "Maximum output tokens"
635
- },
636
- top_p: {
637
- type: "number",
638
- min: 0,
639
- max: 1,
640
- default: 1,
641
- description: "Nucleus sampling"
642
- },
643
- top_k: {
644
- type: "number",
645
- min: 0,
646
- default: 40,
647
- description: "Top-K sampling"
648
- },
649
- stop: { type: "string", default: "", description: "Stop sequences" },
650
- stream: { type: "boolean", default: false, description: "Stream response" },
651
- cache: {
652
- type: "enum",
653
- values: ["ephemeral"],
654
- default: "ephemeral",
655
- description: "Cache control"
656
- },
657
- cache_ttl: {
658
- type: "enum",
659
- values: ["5m", "1h"],
660
- default: "5m",
661
- description: "Cache TTL"
662
- }
663
- },
664
- openrouter: {
665
- temperature: {
666
- type: "number",
667
- min: 0,
668
- max: 2,
669
- default: 0.7,
670
- description: "Controls randomness"
671
- },
672
- max_tokens: {
673
- type: "number",
674
- min: 1,
675
- default: 4096,
676
- description: "Maximum output tokens"
677
- },
678
- top_p: {
679
- type: "number",
680
- min: 0,
681
- max: 1,
682
- default: 1,
683
- description: "Nucleus sampling"
684
- },
685
- top_k: {
686
- type: "number",
687
- min: 0,
688
- default: 40,
689
- description: "Top-K sampling"
690
- },
691
- frequency_penalty: {
692
- type: "number",
693
- min: -2,
694
- max: 2,
695
- default: 0,
696
- description: "Penalize frequent tokens"
697
- },
698
- presence_penalty: {
699
- type: "number",
700
- min: -2,
701
- max: 2,
702
- default: 0,
703
- description: "Penalize repeated topics"
704
- },
705
- stop: { type: "string", default: "", description: "Stop sequences" },
706
- n: { type: "number", min: 1, default: 1, description: "Completions count" },
707
- seed: { type: "number", default: "", description: "Random seed" },
708
- stream: { type: "boolean", default: false, description: "Stream response" },
709
- effort: {
710
- type: "enum",
711
- values: ["none", "minimal", "low", "medium", "high", "xhigh"],
712
- default: "medium",
713
- description: "Reasoning effort"
714
- }
715
- },
716
- vercel: {
717
- temperature: {
718
- type: "number",
719
- min: 0,
720
- max: 2,
721
- default: 0.7,
722
- description: "Controls randomness"
723
- },
724
- max_tokens: {
725
- type: "number",
726
- min: 1,
727
- default: 4096,
728
- description: "Maximum output tokens"
729
- },
730
- top_p: {
731
- type: "number",
732
- min: 0,
733
- max: 1,
734
- default: 1,
735
- description: "Nucleus sampling"
736
- },
737
- top_k: {
738
- type: "number",
739
- min: 0,
740
- default: 40,
741
- description: "Top-K sampling"
742
- },
743
- frequency_penalty: {
744
- type: "number",
745
- min: -2,
746
- max: 2,
747
- default: 0,
748
- description: "Penalize frequent tokens"
749
- },
750
- presence_penalty: {
751
- type: "number",
752
- min: -2,
753
- max: 2,
754
- default: 0,
755
- description: "Penalize repeated topics"
756
- },
757
- stop: { type: "string", default: "", description: "Stop sequences" },
758
- n: { type: "number", min: 1, default: 1, description: "Completions count" },
759
- seed: { type: "number", default: "", description: "Random seed" },
760
- stream: { type: "boolean", default: false, description: "Stream response" },
761
- effort: {
762
- type: "enum",
763
- values: ["none", "minimal", "low", "medium", "high", "xhigh"],
764
- default: "medium",
765
- description: "Reasoning effort"
766
- }
767
- },
768
- xai: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
769
- groq: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
770
- fal: {},
771
- deepinfra: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
772
- "black-forest-labs": {},
773
- together: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
774
- fireworks: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
775
- deepseek: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
776
- moonshotai: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
777
- perplexity: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
778
- alibaba: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
779
- cerebras: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
780
- replicate: {},
781
- prodia: {},
782
- luma: {},
783
- bytedance: {},
784
- kling: {},
785
- elevenlabs: {},
786
- assemblyai: {},
787
- deepgram: {},
788
- gladia: {},
789
- lmnt: {},
790
- hume: {},
791
- revai: {},
792
- baseten: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS,
793
- huggingface: OPENAI_COMPATIBLE_CANONICAL_PARAM_SPECS
794
- };
194
+ }
195
+ return specs;
196
+ }
197
+ var CANONICAL_PARAM_SPECS = deriveCanonicalParamSpecs();
795
198
  export {
796
199
  ALIASES,
797
200
  CACHE_TTLS,
@@ -799,7 +202,6 @@ export {
799
202
  CANONICAL_PARAM_SPECS,
800
203
  DURATION_RE,
801
204
  HOST_ALIASES,
802
- MODELS,
803
205
  PARAM_SPECS,
804
206
  PROVIDER_META,
805
207
  PROVIDER_PARAMS,
@@ -814,4 +216,3 @@ export {
814
216
  providerFromHostAlias,
815
217
  resolveHostAlias
816
218
  };
817
- //# sourceMappingURL=providers.js.map
package/dist/validate.cjs CHANGED
@@ -1332,4 +1332,3 @@ function validate(connectionString, options = {}) {
1332
1332
  0 && (module.exports = {
1333
1333
  validate
1334
1334
  });
1335
- //# sourceMappingURL=validate.cjs.map
package/dist/validate.js CHANGED
@@ -1,10 +1,9 @@
1
1
  import {
2
2
  validate
3
- } from "./chunk-7HE4RH6X.js";
4
- import "./chunk-NZR5DUX5.js";
5
- import "./chunk-TQJ2ABCT.js";
6
- import "./chunk-OCJX4QFJ.js";
3
+ } from "./chunk-OBLFZFNR.js";
4
+ import "./chunk-DPVT3FFP.js";
5
+ import "./chunk-5YTG2NRX.js";
6
+ import "./chunk-76EFNZCF.js";
7
7
  export {
8
8
  validate
9
9
  };
10
- //# sourceMappingURL=validate.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-strings",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "packageManager": "pnpm@11.1.1",
5
5
  "description": "Parse and build LLM connection strings — like database URLs, but for LLM APIs",
6
6
  "type": "module",