@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.
- package/dist/index.cjs +171 -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 +171 -2
- package/dist/index.js.map +1 -1
- package/dist/test-kit/index.cjs +166 -2
- package/dist/test-kit/index.cjs.map +1 -1
- package/dist/test-kit/index.js +166 -2
- package/dist/test-kit/index.js.map +1 -1
- package/package.json +1 -1
package/dist/test-kit/index.cjs
CHANGED
|
@@ -527,7 +527,7 @@ var OpenAIAdapter = class {
|
|
|
527
527
|
}
|
|
528
528
|
stream(req) {
|
|
529
529
|
return streamFromOpenAI(this.ensureClient(), req, {
|
|
530
|
-
knownModels:
|
|
530
|
+
knownModels: this.knownModels(),
|
|
531
531
|
vendorMetadataExtractor: OPENAI_METADATA_EXTRACTOR
|
|
532
532
|
});
|
|
533
533
|
}
|
|
@@ -538,7 +538,16 @@ var OpenAIAdapter = class {
|
|
|
538
538
|
return appendOpenAIToolResult(history, toolCallId, result);
|
|
539
539
|
}
|
|
540
540
|
async listAvailableModels() {
|
|
541
|
-
return listOpenAICompatibleModels(this.ensureClient(),
|
|
541
|
+
return listOpenAICompatibleModels(this.ensureClient(), this.knownModels());
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Capability table used to enrich both `stream()` (for tools/vision gating)
|
|
545
|
+
* and `listAvailableModels()` (for filling capability flags on live entries).
|
|
546
|
+
* Subclasses backed by the same OpenAI wire (DeepSeek, Baseten, …) override
|
|
547
|
+
* this so their own manifest entries are consulted instead of OpenAI's.
|
|
548
|
+
*/
|
|
549
|
+
knownModels() {
|
|
550
|
+
return openAIManifest.knownModels;
|
|
542
551
|
}
|
|
543
552
|
async testCredential() {
|
|
544
553
|
await this.ensureClient().models.list();
|
|
@@ -649,12 +658,165 @@ var DeepSeekAdapter = class extends OpenAIAdapter {
|
|
|
649
658
|
client
|
|
650
659
|
);
|
|
651
660
|
}
|
|
661
|
+
knownModels() {
|
|
662
|
+
return deepseekManifest.knownModels;
|
|
663
|
+
}
|
|
652
664
|
};
|
|
653
665
|
var deepseekFactory = {
|
|
654
666
|
vendor: deepseekManifest.vendor,
|
|
655
667
|
manifest: deepseekManifest,
|
|
656
668
|
create: () => new DeepSeekAdapter()
|
|
657
669
|
};
|
|
670
|
+
var basetenManifest = {
|
|
671
|
+
vendor: "baseten",
|
|
672
|
+
displayName: "Baseten",
|
|
673
|
+
authKinds: [
|
|
674
|
+
{
|
|
675
|
+
kind: "apiKey",
|
|
676
|
+
displayName: "API Key",
|
|
677
|
+
fields: [
|
|
678
|
+
{
|
|
679
|
+
name: "apiKey",
|
|
680
|
+
label: "API Key",
|
|
681
|
+
type: "password",
|
|
682
|
+
required: true,
|
|
683
|
+
help: "Get an API key from https://app.baseten.co/settings/api_keys"
|
|
684
|
+
},
|
|
685
|
+
{
|
|
686
|
+
name: "baseURL",
|
|
687
|
+
label: "Base URL",
|
|
688
|
+
type: "url",
|
|
689
|
+
required: false,
|
|
690
|
+
default: "https://inference.baseten.co/v1",
|
|
691
|
+
help: "Defaults to Baseten Model APIs. Set to https://bridge.baseten.co/v1/direct to route to a dedicated deployment."
|
|
692
|
+
}
|
|
693
|
+
]
|
|
694
|
+
}
|
|
695
|
+
],
|
|
696
|
+
knownModels: [
|
|
697
|
+
{
|
|
698
|
+
id: "deepseek-ai/DeepSeek-V3.1",
|
|
699
|
+
displayName: "DeepSeek V3.1",
|
|
700
|
+
capabilities: {
|
|
701
|
+
streaming: true,
|
|
702
|
+
tools: true,
|
|
703
|
+
vision: false,
|
|
704
|
+
systemPrompt: true,
|
|
705
|
+
maxContextTokens: 163840
|
|
706
|
+
}
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
710
|
+
displayName: "DeepSeek V4 Pro",
|
|
711
|
+
capabilities: {
|
|
712
|
+
streaming: true,
|
|
713
|
+
tools: true,
|
|
714
|
+
vision: false,
|
|
715
|
+
systemPrompt: true,
|
|
716
|
+
maxContextTokens: 131072
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
id: "zai-org/GLM-4.7",
|
|
721
|
+
displayName: "GLM 4.7",
|
|
722
|
+
capabilities: {
|
|
723
|
+
streaming: true,
|
|
724
|
+
tools: true,
|
|
725
|
+
vision: false,
|
|
726
|
+
systemPrompt: true,
|
|
727
|
+
maxContextTokens: 2e5
|
|
728
|
+
}
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
id: "zai-org/GLM-5",
|
|
732
|
+
displayName: "GLM 5",
|
|
733
|
+
capabilities: {
|
|
734
|
+
streaming: true,
|
|
735
|
+
tools: true,
|
|
736
|
+
vision: false,
|
|
737
|
+
systemPrompt: true,
|
|
738
|
+
maxContextTokens: 202800
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
id: "moonshotai/Kimi-K2.5",
|
|
743
|
+
displayName: "Kimi K2.5",
|
|
744
|
+
capabilities: {
|
|
745
|
+
streaming: true,
|
|
746
|
+
tools: true,
|
|
747
|
+
vision: true,
|
|
748
|
+
systemPrompt: true,
|
|
749
|
+
maxContextTokens: 262e3
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
id: "moonshotai/Kimi-K2.6",
|
|
754
|
+
displayName: "Kimi K2.6",
|
|
755
|
+
capabilities: {
|
|
756
|
+
streaming: true,
|
|
757
|
+
tools: true,
|
|
758
|
+
vision: true,
|
|
759
|
+
systemPrompt: true,
|
|
760
|
+
maxContextTokens: 262e3
|
|
761
|
+
}
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
id: "MiniMaxAI/MiniMax-M2.5",
|
|
765
|
+
displayName: "MiniMax M2.5",
|
|
766
|
+
capabilities: {
|
|
767
|
+
streaming: true,
|
|
768
|
+
tools: true,
|
|
769
|
+
vision: false,
|
|
770
|
+
systemPrompt: true,
|
|
771
|
+
maxContextTokens: 204e3
|
|
772
|
+
}
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
id: "nvidia/Nemotron-120B-A12B",
|
|
776
|
+
displayName: "Nemotron Super",
|
|
777
|
+
capabilities: {
|
|
778
|
+
streaming: true,
|
|
779
|
+
tools: true,
|
|
780
|
+
vision: false,
|
|
781
|
+
systemPrompt: true,
|
|
782
|
+
maxContextTokens: 202800
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
id: "openai/gpt-oss-120b",
|
|
787
|
+
displayName: "OpenAI GPT 120B",
|
|
788
|
+
capabilities: {
|
|
789
|
+
streaming: true,
|
|
790
|
+
tools: true,
|
|
791
|
+
vision: false,
|
|
792
|
+
systemPrompt: true,
|
|
793
|
+
maxContextTokens: 128072
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
],
|
|
797
|
+
supportsModelListing: true,
|
|
798
|
+
docsUrl: "https://docs.baseten.co/inference/model-apis/overview"
|
|
799
|
+
};
|
|
800
|
+
var BasetenAdapter = class extends OpenAIAdapter {
|
|
801
|
+
vendor = basetenManifest.vendor;
|
|
802
|
+
init(auth, client) {
|
|
803
|
+
super.init(
|
|
804
|
+
{
|
|
805
|
+
...auth,
|
|
806
|
+
baseURL: auth.baseURL ?? "https://inference.baseten.co/v1"
|
|
807
|
+
},
|
|
808
|
+
client
|
|
809
|
+
);
|
|
810
|
+
}
|
|
811
|
+
knownModels() {
|
|
812
|
+
return basetenManifest.knownModels;
|
|
813
|
+
}
|
|
814
|
+
};
|
|
815
|
+
var basetenFactory = {
|
|
816
|
+
vendor: basetenManifest.vendor,
|
|
817
|
+
manifest: basetenManifest,
|
|
818
|
+
create: () => new BasetenAdapter()
|
|
819
|
+
};
|
|
658
820
|
|
|
659
821
|
// src/adapters/anthropic/adapter.ts
|
|
660
822
|
var import_sdk = __toESM(require("@anthropic-ai/sdk"), 1);
|
|
@@ -2673,6 +2835,7 @@ var groqManifest = {
|
|
|
2673
2835
|
var GROQ_METADATA_EXTRACTOR = makeMetadataExtractor([
|
|
2674
2836
|
{ header: "x-request-id", key: "request_id" },
|
|
2675
2837
|
{ header: "x-groq-region", key: "region" },
|
|
2838
|
+
{ header: "openai-processing-ms", key: "processing_ms", numeric: true },
|
|
2676
2839
|
{ header: "x-ratelimit-remaining-requests", key: "requests_remaining", numeric: true },
|
|
2677
2840
|
{ header: "x-ratelimit-remaining-tokens", key: "tokens_remaining", numeric: true }
|
|
2678
2841
|
]);
|
|
@@ -2826,6 +2989,7 @@ var huggingfaceFactory = {
|
|
|
2826
2989
|
// src/adapters/index.ts
|
|
2827
2990
|
registerAdapter(openAIFactory);
|
|
2828
2991
|
registerAdapter(deepseekFactory);
|
|
2992
|
+
registerAdapter(basetenFactory);
|
|
2829
2993
|
registerAdapter(anthropicFactory);
|
|
2830
2994
|
registerAdapter(googleFactory);
|
|
2831
2995
|
registerAdapter(vertexGeminiFactory);
|