@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.d.cts
CHANGED
|
@@ -1158,7 +1158,7 @@ declare function isReasoningModel(modelName: string): boolean;
|
|
|
1158
1158
|
declare function hashToolsConfig(toolsConfig: IAgentToolConfig[]): string;
|
|
1159
1159
|
declare function normalizeToolConfigs(tools?: ToolConfig[]): IAgentToolConfig[] | undefined;
|
|
1160
1160
|
declare const DEFAULT_ROUTER_URL = "https://router.flutch.ai";
|
|
1161
|
-
declare function resolveRouterURL(baseURL?: string): string;
|
|
1161
|
+
declare function resolveRouterURL(baseURL?: string): string | undefined;
|
|
1162
1162
|
declare function generateModelCacheKey(modelId: string, temperature?: number, maxTokens?: number, toolsConfig?: IAgentToolConfig[], baseURL?: string): string;
|
|
1163
1163
|
declare function buildOpenAIModelConfig(modelName: string, temperature: number, maxTokens: number, apiToken: string): Record<string, any>;
|
|
1164
1164
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1158,7 +1158,7 @@ declare function isReasoningModel(modelName: string): boolean;
|
|
|
1158
1158
|
declare function hashToolsConfig(toolsConfig: IAgentToolConfig[]): string;
|
|
1159
1159
|
declare function normalizeToolConfigs(tools?: ToolConfig[]): IAgentToolConfig[] | undefined;
|
|
1160
1160
|
declare const DEFAULT_ROUTER_URL = "https://router.flutch.ai";
|
|
1161
|
-
declare function resolveRouterURL(baseURL?: string): string;
|
|
1161
|
+
declare function resolveRouterURL(baseURL?: string): string | undefined;
|
|
1162
1162
|
declare function generateModelCacheKey(modelId: string, temperature?: number, maxTokens?: number, toolsConfig?: IAgentToolConfig[], baseURL?: string): string;
|
|
1163
1163
|
declare function buildOpenAIModelConfig(modelName: string, temperature: number, maxTokens: number, apiToken: string): Record<string, any>;
|
|
1164
1164
|
|
package/dist/index.js
CHANGED
|
@@ -6445,7 +6445,10 @@ function normalizeToolConfigs(tools) {
|
|
|
6445
6445
|
}
|
|
6446
6446
|
var DEFAULT_ROUTER_URL = "https://router.flutch.ai";
|
|
6447
6447
|
function resolveRouterURL(baseURL) {
|
|
6448
|
-
|
|
6448
|
+
if (baseURL) return baseURL;
|
|
6449
|
+
if (process.env.FLUTCH_ROUTER_URL) return process.env.FLUTCH_ROUTER_URL;
|
|
6450
|
+
if (process.env.FLUTCH_API_TOKEN) return DEFAULT_ROUTER_URL;
|
|
6451
|
+
return void 0;
|
|
6449
6452
|
}
|
|
6450
6453
|
function generateModelCacheKey(modelId, temperature, maxTokens, toolsConfig, baseURL) {
|
|
6451
6454
|
const parts = [
|
|
@@ -6552,12 +6555,15 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6552
6555
|
};
|
|
6553
6556
|
/**
|
|
6554
6557
|
* Resolve API key for a provider.
|
|
6555
|
-
*
|
|
6558
|
+
* Priority: custom resolver > FLUTCH_API_TOKEN > provider-specific env var.
|
|
6556
6559
|
*/
|
|
6557
6560
|
resolveApiKey(provider) {
|
|
6558
6561
|
if (this.apiKeyResolver) {
|
|
6559
6562
|
return this.apiKeyResolver(provider);
|
|
6560
6563
|
}
|
|
6564
|
+
if (process.env.FLUTCH_API_TOKEN) {
|
|
6565
|
+
return process.env.FLUTCH_API_TOKEN;
|
|
6566
|
+
}
|
|
6561
6567
|
const envVar = _ModelInitializer.DEFAULT_ENV_MAP[provider];
|
|
6562
6568
|
return envVar ? process.env[envVar] : void 0;
|
|
6563
6569
|
}
|
|
@@ -6603,7 +6609,10 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6603
6609
|
defaultMaxTokens,
|
|
6604
6610
|
apiToken || this.resolveApiKey("openai" /* OPENAI */) || ""
|
|
6605
6611
|
);
|
|
6606
|
-
|
|
6612
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6613
|
+
if (routerURL) {
|
|
6614
|
+
config.configuration = { baseURL: `${routerURL}/v1` };
|
|
6615
|
+
}
|
|
6607
6616
|
return new ChatOpenAI(config);
|
|
6608
6617
|
},
|
|
6609
6618
|
["anthropic" /* ANTHROPIC */]: ({
|
|
@@ -6617,7 +6626,9 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6617
6626
|
temperature: defaultTemperature,
|
|
6618
6627
|
maxTokens: defaultMaxTokens,
|
|
6619
6628
|
anthropicApiKey: apiToken || this.resolveApiKey("anthropic" /* ANTHROPIC */),
|
|
6620
|
-
|
|
6629
|
+
...resolveRouterURL(baseURL) && {
|
|
6630
|
+
anthropicApiUrl: resolveRouterURL(baseURL)
|
|
6631
|
+
}
|
|
6621
6632
|
}),
|
|
6622
6633
|
["cohere" /* COHERE */]: ({
|
|
6623
6634
|
modelName,
|
|
@@ -6625,30 +6636,35 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6625
6636
|
defaultMaxTokens,
|
|
6626
6637
|
apiToken,
|
|
6627
6638
|
baseURL
|
|
6628
|
-
}) =>
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6639
|
+
}) => {
|
|
6640
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6641
|
+
const token = apiToken || this.resolveApiKey("cohere" /* COHERE */);
|
|
6642
|
+
return routerURL ? new ChatCohere({
|
|
6643
|
+
model: modelName,
|
|
6644
|
+
temperature: defaultTemperature,
|
|
6645
|
+
client: new CohereClient({ token, baseUrl: routerURL })
|
|
6646
|
+
}) : new ChatCohere({
|
|
6647
|
+
model: modelName,
|
|
6648
|
+
temperature: defaultTemperature,
|
|
6649
|
+
apiKey: token
|
|
6650
|
+
});
|
|
6651
|
+
},
|
|
6636
6652
|
["mistral" /* MISTRAL */]: ({
|
|
6637
6653
|
modelName,
|
|
6638
6654
|
defaultTemperature,
|
|
6639
6655
|
defaultMaxTokens,
|
|
6640
6656
|
apiToken,
|
|
6641
6657
|
baseURL
|
|
6642
|
-
}) =>
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
|
|
6650
|
-
|
|
6651
|
-
}
|
|
6658
|
+
}) => {
|
|
6659
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6660
|
+
return new ChatMistralAI({
|
|
6661
|
+
model: modelName,
|
|
6662
|
+
temperature: defaultTemperature,
|
|
6663
|
+
maxTokens: defaultMaxTokens,
|
|
6664
|
+
apiKey: apiToken || this.resolveApiKey("mistral" /* MISTRAL */),
|
|
6665
|
+
...routerURL && { serverURL: `${routerURL}/v1` }
|
|
6666
|
+
});
|
|
6667
|
+
},
|
|
6652
6668
|
["voyageai" /* VOYAGEAI */]: () => {
|
|
6653
6669
|
throw new Error("VoyageAI chat models not implemented");
|
|
6654
6670
|
}
|
|
@@ -6661,13 +6677,16 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6661
6677
|
maxDocuments,
|
|
6662
6678
|
baseURL
|
|
6663
6679
|
}) => {
|
|
6664
|
-
|
|
6680
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6681
|
+
const token = apiToken || this.resolveApiKey("cohere" /* COHERE */);
|
|
6682
|
+
return routerURL ? new CohereRerank({
|
|
6665
6683
|
model: modelName,
|
|
6666
6684
|
topN: maxDocuments || 20,
|
|
6667
|
-
client: new CohereClient({
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6685
|
+
client: new CohereClient({ token, baseUrl: routerURL })
|
|
6686
|
+
}) : new CohereRerank({
|
|
6687
|
+
model: modelName,
|
|
6688
|
+
topN: maxDocuments || 20,
|
|
6689
|
+
apiKey: token
|
|
6671
6690
|
});
|
|
6672
6691
|
},
|
|
6673
6692
|
["voyageai" /* VOYAGEAI */]: ({
|
|
@@ -6676,11 +6695,12 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6676
6695
|
maxDocuments,
|
|
6677
6696
|
baseURL
|
|
6678
6697
|
}) => {
|
|
6698
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6679
6699
|
return new VoyageAIRerank({
|
|
6680
6700
|
apiKey: apiToken || this.resolveApiKey("voyageai" /* VOYAGEAI */),
|
|
6681
6701
|
model: modelName,
|
|
6682
6702
|
topN: maxDocuments || 20,
|
|
6683
|
-
baseUrl:
|
|
6703
|
+
...routerURL && { baseUrl: routerURL }
|
|
6684
6704
|
});
|
|
6685
6705
|
},
|
|
6686
6706
|
// Other providers don't support rerank yet
|
|
@@ -6691,11 +6711,16 @@ var ModelInitializer = class _ModelInitializer {
|
|
|
6691
6711
|
};
|
|
6692
6712
|
// Embedding model creators
|
|
6693
6713
|
embeddingModelCreators = {
|
|
6694
|
-
["openai" /* OPENAI */]: ({ modelName, apiToken, baseURL }) =>
|
|
6695
|
-
|
|
6696
|
-
|
|
6697
|
-
|
|
6698
|
-
|
|
6714
|
+
["openai" /* OPENAI */]: ({ modelName, apiToken, baseURL }) => {
|
|
6715
|
+
const routerURL = resolveRouterURL(baseURL);
|
|
6716
|
+
return new OpenAIEmbeddings({
|
|
6717
|
+
model: modelName,
|
|
6718
|
+
apiKey: apiToken || this.resolveApiKey("openai" /* OPENAI */),
|
|
6719
|
+
...routerURL && {
|
|
6720
|
+
configuration: { baseURL: `${routerURL}/v1` }
|
|
6721
|
+
}
|
|
6722
|
+
});
|
|
6723
|
+
},
|
|
6699
6724
|
// Other providers not yet implemented for embeddings
|
|
6700
6725
|
["anthropic" /* ANTHROPIC */]: void 0,
|
|
6701
6726
|
["cohere" /* COHERE */]: void 0,
|