@jambonz/llm 0.5.2 → 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.
- package/dist/index.cjs +170 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +170 -2
- package/dist/index.js.map +1 -1
- package/dist/test-kit/index.cjs +165 -2
- package/dist/test-kit/index.cjs.map +1 -1
- package/dist/test-kit/index.js +165 -2
- package/dist/test-kit/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -540,7 +540,7 @@ var OpenAIAdapter = class {
|
|
|
540
540
|
}
|
|
541
541
|
stream(req) {
|
|
542
542
|
return streamFromOpenAI(this.ensureClient(), req, {
|
|
543
|
-
knownModels:
|
|
543
|
+
knownModels: this.knownModels(),
|
|
544
544
|
vendorMetadataExtractor: OPENAI_METADATA_EXTRACTOR
|
|
545
545
|
});
|
|
546
546
|
}
|
|
@@ -551,7 +551,16 @@ var OpenAIAdapter = class {
|
|
|
551
551
|
return appendOpenAIToolResult(history, toolCallId, result);
|
|
552
552
|
}
|
|
553
553
|
async listAvailableModels() {
|
|
554
|
-
return listOpenAICompatibleModels(this.ensureClient(),
|
|
554
|
+
return listOpenAICompatibleModels(this.ensureClient(), this.knownModels());
|
|
555
|
+
}
|
|
556
|
+
/**
|
|
557
|
+
* Capability table used to enrich both `stream()` (for tools/vision gating)
|
|
558
|
+
* and `listAvailableModels()` (for filling capability flags on live entries).
|
|
559
|
+
* Subclasses backed by the same OpenAI wire (DeepSeek, Baseten, …) override
|
|
560
|
+
* this so their own manifest entries are consulted instead of OpenAI's.
|
|
561
|
+
*/
|
|
562
|
+
knownModels() {
|
|
563
|
+
return openAIManifest.knownModels;
|
|
555
564
|
}
|
|
556
565
|
async testCredential() {
|
|
557
566
|
await this.ensureClient().models.list();
|
|
@@ -662,12 +671,165 @@ var DeepSeekAdapter = class extends OpenAIAdapter {
|
|
|
662
671
|
client
|
|
663
672
|
);
|
|
664
673
|
}
|
|
674
|
+
knownModels() {
|
|
675
|
+
return deepseekManifest.knownModels;
|
|
676
|
+
}
|
|
665
677
|
};
|
|
666
678
|
var deepseekFactory = {
|
|
667
679
|
vendor: deepseekManifest.vendor,
|
|
668
680
|
manifest: deepseekManifest,
|
|
669
681
|
create: () => new DeepSeekAdapter()
|
|
670
682
|
};
|
|
683
|
+
var basetenManifest = {
|
|
684
|
+
vendor: "baseten",
|
|
685
|
+
displayName: "Baseten",
|
|
686
|
+
authKinds: [
|
|
687
|
+
{
|
|
688
|
+
kind: "apiKey",
|
|
689
|
+
displayName: "API Key",
|
|
690
|
+
fields: [
|
|
691
|
+
{
|
|
692
|
+
name: "apiKey",
|
|
693
|
+
label: "API Key",
|
|
694
|
+
type: "password",
|
|
695
|
+
required: true,
|
|
696
|
+
help: "Get an API key from https://app.baseten.co/settings/api_keys"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
name: "baseURL",
|
|
700
|
+
label: "Base URL",
|
|
701
|
+
type: "url",
|
|
702
|
+
required: false,
|
|
703
|
+
default: "https://inference.baseten.co/v1",
|
|
704
|
+
help: "Defaults to Baseten Model APIs. Set to https://bridge.baseten.co/v1/direct to route to a dedicated deployment."
|
|
705
|
+
}
|
|
706
|
+
]
|
|
707
|
+
}
|
|
708
|
+
],
|
|
709
|
+
knownModels: [
|
|
710
|
+
{
|
|
711
|
+
id: "deepseek-ai/DeepSeek-V3.1",
|
|
712
|
+
displayName: "DeepSeek V3.1",
|
|
713
|
+
capabilities: {
|
|
714
|
+
streaming: true,
|
|
715
|
+
tools: true,
|
|
716
|
+
vision: false,
|
|
717
|
+
systemPrompt: true,
|
|
718
|
+
maxContextTokens: 163840
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
723
|
+
displayName: "DeepSeek V4 Pro",
|
|
724
|
+
capabilities: {
|
|
725
|
+
streaming: true,
|
|
726
|
+
tools: true,
|
|
727
|
+
vision: false,
|
|
728
|
+
systemPrompt: true,
|
|
729
|
+
maxContextTokens: 131072
|
|
730
|
+
}
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
id: "zai-org/GLM-4.7",
|
|
734
|
+
displayName: "GLM 4.7",
|
|
735
|
+
capabilities: {
|
|
736
|
+
streaming: true,
|
|
737
|
+
tools: true,
|
|
738
|
+
vision: false,
|
|
739
|
+
systemPrompt: true,
|
|
740
|
+
maxContextTokens: 2e5
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
id: "zai-org/GLM-5",
|
|
745
|
+
displayName: "GLM 5",
|
|
746
|
+
capabilities: {
|
|
747
|
+
streaming: true,
|
|
748
|
+
tools: true,
|
|
749
|
+
vision: false,
|
|
750
|
+
systemPrompt: true,
|
|
751
|
+
maxContextTokens: 202800
|
|
752
|
+
}
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
id: "moonshotai/Kimi-K2.5",
|
|
756
|
+
displayName: "Kimi K2.5",
|
|
757
|
+
capabilities: {
|
|
758
|
+
streaming: true,
|
|
759
|
+
tools: true,
|
|
760
|
+
vision: true,
|
|
761
|
+
systemPrompt: true,
|
|
762
|
+
maxContextTokens: 262e3
|
|
763
|
+
}
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
id: "moonshotai/Kimi-K2.6",
|
|
767
|
+
displayName: "Kimi K2.6",
|
|
768
|
+
capabilities: {
|
|
769
|
+
streaming: true,
|
|
770
|
+
tools: true,
|
|
771
|
+
vision: true,
|
|
772
|
+
systemPrompt: true,
|
|
773
|
+
maxContextTokens: 262e3
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
id: "MiniMaxAI/MiniMax-M2.5",
|
|
778
|
+
displayName: "MiniMax M2.5",
|
|
779
|
+
capabilities: {
|
|
780
|
+
streaming: true,
|
|
781
|
+
tools: true,
|
|
782
|
+
vision: false,
|
|
783
|
+
systemPrompt: true,
|
|
784
|
+
maxContextTokens: 204e3
|
|
785
|
+
}
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
id: "nvidia/Nemotron-120B-A12B",
|
|
789
|
+
displayName: "Nemotron Super",
|
|
790
|
+
capabilities: {
|
|
791
|
+
streaming: true,
|
|
792
|
+
tools: true,
|
|
793
|
+
vision: false,
|
|
794
|
+
systemPrompt: true,
|
|
795
|
+
maxContextTokens: 202800
|
|
796
|
+
}
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
id: "openai/gpt-oss-120b",
|
|
800
|
+
displayName: "OpenAI GPT 120B",
|
|
801
|
+
capabilities: {
|
|
802
|
+
streaming: true,
|
|
803
|
+
tools: true,
|
|
804
|
+
vision: false,
|
|
805
|
+
systemPrompt: true,
|
|
806
|
+
maxContextTokens: 128072
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
],
|
|
810
|
+
supportsModelListing: true,
|
|
811
|
+
docsUrl: "https://docs.baseten.co/inference/model-apis/overview"
|
|
812
|
+
};
|
|
813
|
+
var BasetenAdapter = class extends OpenAIAdapter {
|
|
814
|
+
vendor = basetenManifest.vendor;
|
|
815
|
+
init(auth, client) {
|
|
816
|
+
super.init(
|
|
817
|
+
{
|
|
818
|
+
...auth,
|
|
819
|
+
baseURL: auth.baseURL ?? "https://inference.baseten.co/v1"
|
|
820
|
+
},
|
|
821
|
+
client
|
|
822
|
+
);
|
|
823
|
+
}
|
|
824
|
+
knownModels() {
|
|
825
|
+
return basetenManifest.knownModels;
|
|
826
|
+
}
|
|
827
|
+
};
|
|
828
|
+
var basetenFactory = {
|
|
829
|
+
vendor: basetenManifest.vendor,
|
|
830
|
+
manifest: basetenManifest,
|
|
831
|
+
create: () => new BasetenAdapter()
|
|
832
|
+
};
|
|
671
833
|
|
|
672
834
|
// src/adapters/anthropic/adapter.ts
|
|
673
835
|
var import_sdk = __toESM(require("@anthropic-ai/sdk"), 1);
|
|
@@ -2840,6 +3002,7 @@ var huggingfaceFactory = {
|
|
|
2840
3002
|
// src/adapters/index.ts
|
|
2841
3003
|
registerAdapter(openAIFactory);
|
|
2842
3004
|
registerAdapter(deepseekFactory);
|
|
3005
|
+
registerAdapter(basetenFactory);
|
|
2843
3006
|
registerAdapter(anthropicFactory);
|
|
2844
3007
|
registerAdapter(googleFactory);
|
|
2845
3008
|
registerAdapter(vertexGeminiFactory);
|
|
@@ -2862,6 +3025,11 @@ function normalizeAuth(vendor, raw) {
|
|
|
2862
3025
|
...requireApiKey(vendor, raw),
|
|
2863
3026
|
baseURL: raw.api_url ?? "https://api.deepseek.com/v1"
|
|
2864
3027
|
};
|
|
3028
|
+
case "baseten":
|
|
3029
|
+
return {
|
|
3030
|
+
...requireApiKey(vendor, raw),
|
|
3031
|
+
baseURL: raw.api_url ?? "https://inference.baseten.co/v1"
|
|
3032
|
+
};
|
|
2865
3033
|
case "google":
|
|
2866
3034
|
return normalizeGoogle(raw);
|
|
2867
3035
|
case "vertex":
|