@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.d.cts
CHANGED
|
@@ -31,7 +31,7 @@ interface RawCredential {
|
|
|
31
31
|
/**
|
|
32
32
|
* Convert a vendor + raw credential into an `AuthSpec` discriminated union member.
|
|
33
33
|
*
|
|
34
|
-
* Supported vendors: openai, deepseek, anthropic, google, vertex (alias for
|
|
34
|
+
* Supported vendors: openai, deepseek, baseten, anthropic, google, vertex (alias for
|
|
35
35
|
* vertex-gemini + vertex-openai — both accept the same auth shape), vertex-gemini,
|
|
36
36
|
* vertex-openai, bedrock, azure-openai, groq, huggingface.
|
|
37
37
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ interface RawCredential {
|
|
|
31
31
|
/**
|
|
32
32
|
* Convert a vendor + raw credential into an `AuthSpec` discriminated union member.
|
|
33
33
|
*
|
|
34
|
-
* Supported vendors: openai, deepseek, anthropic, google, vertex (alias for
|
|
34
|
+
* Supported vendors: openai, deepseek, baseten, anthropic, google, vertex (alias for
|
|
35
35
|
* vertex-gemini + vertex-openai — both accept the same auth shape), vertex-gemini,
|
|
36
36
|
* vertex-openai, bedrock, azure-openai, groq, huggingface.
|
|
37
37
|
*
|
package/dist/index.js
CHANGED
|
@@ -495,7 +495,7 @@ var OpenAIAdapter = class {
|
|
|
495
495
|
}
|
|
496
496
|
stream(req) {
|
|
497
497
|
return streamFromOpenAI(this.ensureClient(), req, {
|
|
498
|
-
knownModels:
|
|
498
|
+
knownModels: this.knownModels(),
|
|
499
499
|
vendorMetadataExtractor: OPENAI_METADATA_EXTRACTOR
|
|
500
500
|
});
|
|
501
501
|
}
|
|
@@ -506,7 +506,16 @@ var OpenAIAdapter = class {
|
|
|
506
506
|
return appendOpenAIToolResult(history, toolCallId, result);
|
|
507
507
|
}
|
|
508
508
|
async listAvailableModels() {
|
|
509
|
-
return listOpenAICompatibleModels(this.ensureClient(),
|
|
509
|
+
return listOpenAICompatibleModels(this.ensureClient(), this.knownModels());
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Capability table used to enrich both `stream()` (for tools/vision gating)
|
|
513
|
+
* and `listAvailableModels()` (for filling capability flags on live entries).
|
|
514
|
+
* Subclasses backed by the same OpenAI wire (DeepSeek, Baseten, …) override
|
|
515
|
+
* this so their own manifest entries are consulted instead of OpenAI's.
|
|
516
|
+
*/
|
|
517
|
+
knownModels() {
|
|
518
|
+
return openAIManifest.knownModels;
|
|
510
519
|
}
|
|
511
520
|
async testCredential() {
|
|
512
521
|
await this.ensureClient().models.list();
|
|
@@ -617,12 +626,165 @@ var DeepSeekAdapter = class extends OpenAIAdapter {
|
|
|
617
626
|
client
|
|
618
627
|
);
|
|
619
628
|
}
|
|
629
|
+
knownModels() {
|
|
630
|
+
return deepseekManifest.knownModels;
|
|
631
|
+
}
|
|
620
632
|
};
|
|
621
633
|
var deepseekFactory = {
|
|
622
634
|
vendor: deepseekManifest.vendor,
|
|
623
635
|
manifest: deepseekManifest,
|
|
624
636
|
create: () => new DeepSeekAdapter()
|
|
625
637
|
};
|
|
638
|
+
var basetenManifest = {
|
|
639
|
+
vendor: "baseten",
|
|
640
|
+
displayName: "Baseten",
|
|
641
|
+
authKinds: [
|
|
642
|
+
{
|
|
643
|
+
kind: "apiKey",
|
|
644
|
+
displayName: "API Key",
|
|
645
|
+
fields: [
|
|
646
|
+
{
|
|
647
|
+
name: "apiKey",
|
|
648
|
+
label: "API Key",
|
|
649
|
+
type: "password",
|
|
650
|
+
required: true,
|
|
651
|
+
help: "Get an API key from https://app.baseten.co/settings/api_keys"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
name: "baseURL",
|
|
655
|
+
label: "Base URL",
|
|
656
|
+
type: "url",
|
|
657
|
+
required: false,
|
|
658
|
+
default: "https://inference.baseten.co/v1",
|
|
659
|
+
help: "Defaults to Baseten Model APIs. Set to https://bridge.baseten.co/v1/direct to route to a dedicated deployment."
|
|
660
|
+
}
|
|
661
|
+
]
|
|
662
|
+
}
|
|
663
|
+
],
|
|
664
|
+
knownModels: [
|
|
665
|
+
{
|
|
666
|
+
id: "deepseek-ai/DeepSeek-V3.1",
|
|
667
|
+
displayName: "DeepSeek V3.1",
|
|
668
|
+
capabilities: {
|
|
669
|
+
streaming: true,
|
|
670
|
+
tools: true,
|
|
671
|
+
vision: false,
|
|
672
|
+
systemPrompt: true,
|
|
673
|
+
maxContextTokens: 163840
|
|
674
|
+
}
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
678
|
+
displayName: "DeepSeek V4 Pro",
|
|
679
|
+
capabilities: {
|
|
680
|
+
streaming: true,
|
|
681
|
+
tools: true,
|
|
682
|
+
vision: false,
|
|
683
|
+
systemPrompt: true,
|
|
684
|
+
maxContextTokens: 131072
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
id: "zai-org/GLM-4.7",
|
|
689
|
+
displayName: "GLM 4.7",
|
|
690
|
+
capabilities: {
|
|
691
|
+
streaming: true,
|
|
692
|
+
tools: true,
|
|
693
|
+
vision: false,
|
|
694
|
+
systemPrompt: true,
|
|
695
|
+
maxContextTokens: 2e5
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
id: "zai-org/GLM-5",
|
|
700
|
+
displayName: "GLM 5",
|
|
701
|
+
capabilities: {
|
|
702
|
+
streaming: true,
|
|
703
|
+
tools: true,
|
|
704
|
+
vision: false,
|
|
705
|
+
systemPrompt: true,
|
|
706
|
+
maxContextTokens: 202800
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
id: "moonshotai/Kimi-K2.5",
|
|
711
|
+
displayName: "Kimi K2.5",
|
|
712
|
+
capabilities: {
|
|
713
|
+
streaming: true,
|
|
714
|
+
tools: true,
|
|
715
|
+
vision: true,
|
|
716
|
+
systemPrompt: true,
|
|
717
|
+
maxContextTokens: 262e3
|
|
718
|
+
}
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
id: "moonshotai/Kimi-K2.6",
|
|
722
|
+
displayName: "Kimi K2.6",
|
|
723
|
+
capabilities: {
|
|
724
|
+
streaming: true,
|
|
725
|
+
tools: true,
|
|
726
|
+
vision: true,
|
|
727
|
+
systemPrompt: true,
|
|
728
|
+
maxContextTokens: 262e3
|
|
729
|
+
}
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
id: "MiniMaxAI/MiniMax-M2.5",
|
|
733
|
+
displayName: "MiniMax M2.5",
|
|
734
|
+
capabilities: {
|
|
735
|
+
streaming: true,
|
|
736
|
+
tools: true,
|
|
737
|
+
vision: false,
|
|
738
|
+
systemPrompt: true,
|
|
739
|
+
maxContextTokens: 204e3
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
id: "nvidia/Nemotron-120B-A12B",
|
|
744
|
+
displayName: "Nemotron Super",
|
|
745
|
+
capabilities: {
|
|
746
|
+
streaming: true,
|
|
747
|
+
tools: true,
|
|
748
|
+
vision: false,
|
|
749
|
+
systemPrompt: true,
|
|
750
|
+
maxContextTokens: 202800
|
|
751
|
+
}
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
id: "openai/gpt-oss-120b",
|
|
755
|
+
displayName: "OpenAI GPT 120B",
|
|
756
|
+
capabilities: {
|
|
757
|
+
streaming: true,
|
|
758
|
+
tools: true,
|
|
759
|
+
vision: false,
|
|
760
|
+
systemPrompt: true,
|
|
761
|
+
maxContextTokens: 128072
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
],
|
|
765
|
+
supportsModelListing: true,
|
|
766
|
+
docsUrl: "https://docs.baseten.co/inference/model-apis/overview"
|
|
767
|
+
};
|
|
768
|
+
var BasetenAdapter = class extends OpenAIAdapter {
|
|
769
|
+
vendor = basetenManifest.vendor;
|
|
770
|
+
init(auth, client) {
|
|
771
|
+
super.init(
|
|
772
|
+
{
|
|
773
|
+
...auth,
|
|
774
|
+
baseURL: auth.baseURL ?? "https://inference.baseten.co/v1"
|
|
775
|
+
},
|
|
776
|
+
client
|
|
777
|
+
);
|
|
778
|
+
}
|
|
779
|
+
knownModels() {
|
|
780
|
+
return basetenManifest.knownModels;
|
|
781
|
+
}
|
|
782
|
+
};
|
|
783
|
+
var basetenFactory = {
|
|
784
|
+
vendor: basetenManifest.vendor,
|
|
785
|
+
manifest: basetenManifest,
|
|
786
|
+
create: () => new BasetenAdapter()
|
|
787
|
+
};
|
|
626
788
|
|
|
627
789
|
// src/adapters/anthropic/adapter.ts
|
|
628
790
|
import Anthropic from "@anthropic-ai/sdk";
|
|
@@ -2801,6 +2963,7 @@ var huggingfaceFactory = {
|
|
|
2801
2963
|
// src/adapters/index.ts
|
|
2802
2964
|
registerAdapter(openAIFactory);
|
|
2803
2965
|
registerAdapter(deepseekFactory);
|
|
2966
|
+
registerAdapter(basetenFactory);
|
|
2804
2967
|
registerAdapter(anthropicFactory);
|
|
2805
2968
|
registerAdapter(googleFactory);
|
|
2806
2969
|
registerAdapter(vertexGeminiFactory);
|
|
@@ -2823,6 +2986,11 @@ function normalizeAuth(vendor, raw) {
|
|
|
2823
2986
|
...requireApiKey(vendor, raw),
|
|
2824
2987
|
baseURL: raw.api_url ?? "https://api.deepseek.com/v1"
|
|
2825
2988
|
};
|
|
2989
|
+
case "baseten":
|
|
2990
|
+
return {
|
|
2991
|
+
...requireApiKey(vendor, raw),
|
|
2992
|
+
baseURL: raw.api_url ?? "https://inference.baseten.co/v1"
|
|
2993
|
+
};
|
|
2826
2994
|
case "google":
|
|
2827
2995
|
return normalizeGoogle(raw);
|
|
2828
2996
|
case "vertex":
|