@jambonz/llm 0.5.1 → 0.5.3

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.
@@ -488,7 +488,7 @@ var OpenAIAdapter = class {
488
488
  }
489
489
  stream(req) {
490
490
  return streamFromOpenAI(this.ensureClient(), req, {
491
- knownModels: openAIManifest.knownModels,
491
+ knownModels: this.knownModels(),
492
492
  vendorMetadataExtractor: OPENAI_METADATA_EXTRACTOR
493
493
  });
494
494
  }
@@ -499,7 +499,16 @@ var OpenAIAdapter = class {
499
499
  return appendOpenAIToolResult(history, toolCallId, result);
500
500
  }
501
501
  async listAvailableModels() {
502
- return listOpenAICompatibleModels(this.ensureClient(), openAIManifest.knownModels);
502
+ return listOpenAICompatibleModels(this.ensureClient(), this.knownModels());
503
+ }
504
+ /**
505
+ * Capability table used to enrich both `stream()` (for tools/vision gating)
506
+ * and `listAvailableModels()` (for filling capability flags on live entries).
507
+ * Subclasses backed by the same OpenAI wire (DeepSeek, Baseten, …) override
508
+ * this so their own manifest entries are consulted instead of OpenAI's.
509
+ */
510
+ knownModels() {
511
+ return openAIManifest.knownModels;
503
512
  }
504
513
  async testCredential() {
505
514
  await this.ensureClient().models.list();
@@ -610,12 +619,165 @@ var DeepSeekAdapter = class extends OpenAIAdapter {
610
619
  client
611
620
  );
612
621
  }
622
+ knownModels() {
623
+ return deepseekManifest.knownModels;
624
+ }
613
625
  };
614
626
  var deepseekFactory = {
615
627
  vendor: deepseekManifest.vendor,
616
628
  manifest: deepseekManifest,
617
629
  create: () => new DeepSeekAdapter()
618
630
  };
631
+ var basetenManifest = {
632
+ vendor: "baseten",
633
+ displayName: "Baseten",
634
+ authKinds: [
635
+ {
636
+ kind: "apiKey",
637
+ displayName: "API Key",
638
+ fields: [
639
+ {
640
+ name: "apiKey",
641
+ label: "API Key",
642
+ type: "password",
643
+ required: true,
644
+ help: "Get an API key from https://app.baseten.co/settings/api_keys"
645
+ },
646
+ {
647
+ name: "baseURL",
648
+ label: "Base URL",
649
+ type: "url",
650
+ required: false,
651
+ default: "https://inference.baseten.co/v1",
652
+ help: "Defaults to Baseten Model APIs. Set to https://bridge.baseten.co/v1/direct to route to a dedicated deployment."
653
+ }
654
+ ]
655
+ }
656
+ ],
657
+ knownModels: [
658
+ {
659
+ id: "deepseek-ai/DeepSeek-V3.1",
660
+ displayName: "DeepSeek V3.1",
661
+ capabilities: {
662
+ streaming: true,
663
+ tools: true,
664
+ vision: false,
665
+ systemPrompt: true,
666
+ maxContextTokens: 163840
667
+ }
668
+ },
669
+ {
670
+ id: "deepseek-ai/DeepSeek-V4-Pro",
671
+ displayName: "DeepSeek V4 Pro",
672
+ capabilities: {
673
+ streaming: true,
674
+ tools: true,
675
+ vision: false,
676
+ systemPrompt: true,
677
+ maxContextTokens: 131072
678
+ }
679
+ },
680
+ {
681
+ id: "zai-org/GLM-4.7",
682
+ displayName: "GLM 4.7",
683
+ capabilities: {
684
+ streaming: true,
685
+ tools: true,
686
+ vision: false,
687
+ systemPrompt: true,
688
+ maxContextTokens: 2e5
689
+ }
690
+ },
691
+ {
692
+ id: "zai-org/GLM-5",
693
+ displayName: "GLM 5",
694
+ capabilities: {
695
+ streaming: true,
696
+ tools: true,
697
+ vision: false,
698
+ systemPrompt: true,
699
+ maxContextTokens: 202800
700
+ }
701
+ },
702
+ {
703
+ id: "moonshotai/Kimi-K2.5",
704
+ displayName: "Kimi K2.5",
705
+ capabilities: {
706
+ streaming: true,
707
+ tools: true,
708
+ vision: true,
709
+ systemPrompt: true,
710
+ maxContextTokens: 262e3
711
+ }
712
+ },
713
+ {
714
+ id: "moonshotai/Kimi-K2.6",
715
+ displayName: "Kimi K2.6",
716
+ capabilities: {
717
+ streaming: true,
718
+ tools: true,
719
+ vision: true,
720
+ systemPrompt: true,
721
+ maxContextTokens: 262e3
722
+ }
723
+ },
724
+ {
725
+ id: "MiniMaxAI/MiniMax-M2.5",
726
+ displayName: "MiniMax M2.5",
727
+ capabilities: {
728
+ streaming: true,
729
+ tools: true,
730
+ vision: false,
731
+ systemPrompt: true,
732
+ maxContextTokens: 204e3
733
+ }
734
+ },
735
+ {
736
+ id: "nvidia/Nemotron-120B-A12B",
737
+ displayName: "Nemotron Super",
738
+ capabilities: {
739
+ streaming: true,
740
+ tools: true,
741
+ vision: false,
742
+ systemPrompt: true,
743
+ maxContextTokens: 202800
744
+ }
745
+ },
746
+ {
747
+ id: "openai/gpt-oss-120b",
748
+ displayName: "OpenAI GPT 120B",
749
+ capabilities: {
750
+ streaming: true,
751
+ tools: true,
752
+ vision: false,
753
+ systemPrompt: true,
754
+ maxContextTokens: 128072
755
+ }
756
+ }
757
+ ],
758
+ supportsModelListing: true,
759
+ docsUrl: "https://docs.baseten.co/inference/model-apis/overview"
760
+ };
761
+ var BasetenAdapter = class extends OpenAIAdapter {
762
+ vendor = basetenManifest.vendor;
763
+ init(auth, client) {
764
+ super.init(
765
+ {
766
+ ...auth,
767
+ baseURL: auth.baseURL ?? "https://inference.baseten.co/v1"
768
+ },
769
+ client
770
+ );
771
+ }
772
+ knownModels() {
773
+ return basetenManifest.knownModels;
774
+ }
775
+ };
776
+ var basetenFactory = {
777
+ vendor: basetenManifest.vendor,
778
+ manifest: basetenManifest,
779
+ create: () => new BasetenAdapter()
780
+ };
619
781
 
620
782
  // src/adapters/anthropic/adapter.ts
621
783
  import Anthropic from "@anthropic-ai/sdk";
@@ -2640,6 +2802,7 @@ var groqManifest = {
2640
2802
  var GROQ_METADATA_EXTRACTOR = makeMetadataExtractor([
2641
2803
  { header: "x-request-id", key: "request_id" },
2642
2804
  { header: "x-groq-region", key: "region" },
2805
+ { header: "openai-processing-ms", key: "processing_ms", numeric: true },
2643
2806
  { header: "x-ratelimit-remaining-requests", key: "requests_remaining", numeric: true },
2644
2807
  { header: "x-ratelimit-remaining-tokens", key: "tokens_remaining", numeric: true }
2645
2808
  ]);
@@ -2793,6 +2956,7 @@ var huggingfaceFactory = {
2793
2956
  // src/adapters/index.ts
2794
2957
  registerAdapter(openAIFactory);
2795
2958
  registerAdapter(deepseekFactory);
2959
+ registerAdapter(basetenFactory);
2796
2960
  registerAdapter(anthropicFactory);
2797
2961
  registerAdapter(googleFactory);
2798
2962
  registerAdapter(vertexGeminiFactory);