@flutchai/flutch-sdk 0.2.16 → 0.2.17
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 +58 -33
- 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 +58 -33
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -6475,7 +6475,10 @@ function normalizeToolConfigs(tools) {
|
|
|
6475
6475
|
}
|
|
6476
6476
|
var DEFAULT_ROUTER_URL = "https://router.flutch.ai";
|
|
6477
6477
|
function resolveRouterURL(baseURL) {
|
|
6478
|
-
|
|
6478
|
+
if (baseURL) return baseURL;
|
|
6479
|
+
if (process.env.FLUTCH_ROUTER_URL) return process.env.FLUTCH_ROUTER_URL;
|
|
6480
|
+
if (process.env.FLUTCH_API_TOKEN) return DEFAULT_ROUTER_URL;
|
|
6481
|
+
return void 0;
|
|
6479
6482
|
}
|
|
6480
6483
|
function generateModelCacheKey(modelId, temperature, maxTokens, toolsConfig, baseURL) {
|
|
6481
6484
|
const parts = [
|
|
@@ -6582,12 +6585,15 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6582
6585
|
};
|
|
6583
6586
|
/**
|
|
6584
6587
|
* Resolve API key for a provider.
|
|
6585
|
-
*
|
|
6588
|
+
* Priority: custom resolver > FLUTCH_API_TOKEN > provider-specific env var.
|
|
6586
6589
|
*/
|
|
6587
6590
|
resolveApiKey(provider) {
|
|
6588
6591
|
if (this.apiKeyResolver) {
|
|
6589
6592
|
return this.apiKeyResolver(provider);
|
|
6590
6593
|
}
|
|
6594
|
+
if (process.env.FLUTCH_API_TOKEN) {
|
|
6595
|
+
return process.env.FLUTCH_API_TOKEN;
|
|
6596
|
+
}
|
|
6591
6597
|
const envVar = _ModelInitializer.DEFAULT_ENV_MAP[provider];
|
|
6592
6598
|
return envVar ? process.env[envVar] : void 0;
|
|
6593
6599
|
}
|
|
@@ -6633,7 +6639,10 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6633
6639
|
defaultMaxTokens,
|
|
6634
6640
|
apiToken || this.resolveApiKey("openai" /* OPENAI */) || ""
|
|
6635
6641
|
);
|
|
6636
|
-
|
|
6642
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6643
|
+
if (routerURL) {
|
|
6644
|
+
config.configuration = { baseURL: `${routerURL}/v1` };
|
|
6645
|
+
}
|
|
6637
6646
|
return new openai.ChatOpenAI(config);
|
|
6638
6647
|
},
|
|
6639
6648
|
["anthropic" /* ANTHROPIC */]: ({
|
|
@@ -6647,7 +6656,9 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6647
6656
|
temperature: defaultTemperature,
|
|
6648
6657
|
maxTokens: defaultMaxTokens,
|
|
6649
6658
|
anthropicApiKey: apiToken || this.resolveApiKey("anthropic" /* ANTHROPIC */),
|
|
6650
|
-
|
|
6659
|
+
...resolveRouterURL(baseURL) && {
|
|
6660
|
+
anthropicApiUrl: resolveRouterURL(baseURL)
|
|
6661
|
+
}
|
|
6651
6662
|
}),
|
|
6652
6663
|
["cohere" /* COHERE */]: ({
|
|
6653
6664
|
modelName,
|
|
@@ -6655,30 +6666,35 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6655
6666
|
defaultMaxTokens,
|
|
6656
6667
|
apiToken,
|
|
6657
6668
|
baseURL
|
|
6658
|
-
}) =>
|
|
6659
|
-
|
|
6660
|
-
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
|
|
6665
|
-
|
|
6669
|
+
}) => {
|
|
6670
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6671
|
+
const token = apiToken || this.resolveApiKey("cohere" /* COHERE */);
|
|
6672
|
+
return routerURL ? new cohere.ChatCohere({
|
|
6673
|
+
model: modelName,
|
|
6674
|
+
temperature: defaultTemperature,
|
|
6675
|
+
client: new cohereAi.CohereClient({ token, baseUrl: routerURL })
|
|
6676
|
+
}) : new cohere.ChatCohere({
|
|
6677
|
+
model: modelName,
|
|
6678
|
+
temperature: defaultTemperature,
|
|
6679
|
+
apiKey: token
|
|
6680
|
+
});
|
|
6681
|
+
},
|
|
6666
6682
|
["mistral" /* MISTRAL */]: ({
|
|
6667
6683
|
modelName,
|
|
6668
6684
|
defaultTemperature,
|
|
6669
6685
|
defaultMaxTokens,
|
|
6670
6686
|
apiToken,
|
|
6671
6687
|
baseURL
|
|
6672
|
-
}) =>
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
}
|
|
6688
|
+
}) => {
|
|
6689
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6690
|
+
return new mistralai.ChatMistralAI({
|
|
6691
|
+
model: modelName,
|
|
6692
|
+
temperature: defaultTemperature,
|
|
6693
|
+
maxTokens: defaultMaxTokens,
|
|
6694
|
+
apiKey: apiToken || this.resolveApiKey("mistral" /* MISTRAL */),
|
|
6695
|
+
...routerURL && { serverURL: `${routerURL}/v1` }
|
|
6696
|
+
});
|
|
6697
|
+
},
|
|
6682
6698
|
["voyageai" /* VOYAGEAI */]: () => {
|
|
6683
6699
|
throw new Error("VoyageAI chat models not implemented");
|
|
6684
6700
|
}
|
|
@@ -6691,13 +6707,16 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6691
6707
|
maxDocuments,
|
|
6692
6708
|
baseURL
|
|
6693
6709
|
}) => {
|
|
6694
|
-
|
|
6710
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6711
|
+
const token = apiToken || this.resolveApiKey("cohere" /* COHERE */);
|
|
6712
|
+
return routerURL ? new cohere.CohereRerank({
|
|
6695
6713
|
model: modelName,
|
|
6696
6714
|
topN: maxDocuments || 20,
|
|
6697
|
-
client: new cohereAi.CohereClient({
|
|
6698
|
-
|
|
6699
|
-
|
|
6700
|
-
|
|
6715
|
+
client: new cohereAi.CohereClient({ token, baseUrl: routerURL })
|
|
6716
|
+
}) : new cohere.CohereRerank({
|
|
6717
|
+
model: modelName,
|
|
6718
|
+
topN: maxDocuments || 20,
|
|
6719
|
+
apiKey: token
|
|
6701
6720
|
});
|
|
6702
6721
|
},
|
|
6703
6722
|
["voyageai" /* VOYAGEAI */]: ({
|
|
@@ -6706,11 +6725,12 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6706
6725
|
maxDocuments,
|
|
6707
6726
|
baseURL
|
|
6708
6727
|
}) => {
|
|
6728
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6709
6729
|
return new VoyageAIRerank({
|
|
6710
6730
|
apiKey: apiToken || this.resolveApiKey("voyageai" /* VOYAGEAI */),
|
|
6711
6731
|
model: modelName,
|
|
6712
6732
|
topN: maxDocuments || 20,
|
|
6713
|
-
baseUrl:
|
|
6733
|
+
...routerURL && { baseUrl: routerURL }
|
|
6714
6734
|
});
|
|
6715
6735
|
},
|
|
6716
6736
|
// Other providers don't support rerank yet
|
|
@@ -6721,11 +6741,16 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6721
6741
|
};
|
|
6722
6742
|
// Embedding model creators
|
|
6723
6743
|
embeddingModelCreators = {
|
|
6724
|
-
["openai" /* OPENAI */]: ({ modelName, apiToken, baseURL }) =>
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6744
|
+
["openai" /* OPENAI */]: ({ modelName, apiToken, baseURL }) => {
|
|
6745
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6746
|
+
return new openai.OpenAIEmbeddings({
|
|
6747
|
+
model: modelName,
|
|
6748
|
+
apiKey: apiToken || this.resolveApiKey("openai" /* OPENAI */),
|
|
6749
|
+
...routerURL && {
|
|
6750
|
+
configuration: { baseURL: `${routerURL}/v1` }
|
|
6751
|
+
}
|
|
6752
|
+
});
|
|
6753
|
+
},
|
|
6729
6754
|
// Other providers not yet implemented for embeddings
|
|
6730
6755
|
["anthropic" /* ANTHROPIC */]: void 0,
|
|
6731
6756
|
["cohere" /* COHERE */]: void 0,
|