@n8n/ai-utilities 0.30.0 → 0.31.0
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/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model-discovery/chat-model-errors.d.ts +2 -0
- package/dist/cjs/model-discovery/chat-model-errors.js +34 -0
- package/dist/cjs/model-discovery/chat-model-errors.js.map +1 -0
- package/dist/cjs/model-discovery/index.d.ts +5 -0
- package/dist/cjs/model-discovery/index.js +17 -1
- package/dist/cjs/model-discovery/index.js.map +1 -1
- package/dist/cjs/model-discovery/providers/alibaba.d.ts +2 -0
- package/dist/cjs/model-discovery/providers/alibaba.js +13 -0
- package/dist/cjs/model-discovery/providers/alibaba.js.map +1 -0
- package/dist/cjs/model-discovery/providers/minimax.d.ts +1 -0
- package/dist/cjs/model-discovery/providers/minimax.js +6 -0
- package/dist/cjs/model-discovery/providers/minimax.js.map +1 -0
- package/dist/cjs/model-discovery/providers/moonshotai.d.ts +1 -0
- package/dist/cjs/model-discovery/providers/moonshotai.js +6 -0
- package/dist/cjs/model-discovery/providers/moonshotai.js.map +1 -0
- package/dist/cjs/model-discovery/request.d.ts +3 -0
- package/dist/cjs/model-discovery/request.js +12 -0
- package/dist/cjs/model-discovery/request.js.map +1 -1
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/cjs/utils/log-ai-event.js +3 -1
- package/dist/cjs/utils/log-ai-event.js.map +1 -1
- package/dist/cjs/utils/redact-secrets.d.ts +2 -0
- package/dist/cjs/utils/redact-secrets.js +99 -0
- package/dist/cjs/utils/redact-secrets.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model-discovery/chat-model-errors.d.ts +2 -0
- package/dist/esm/model-discovery/chat-model-errors.js +34 -0
- package/dist/esm/model-discovery/chat-model-errors.js.map +1 -0
- package/dist/esm/model-discovery/index.d.ts +5 -0
- package/dist/esm/model-discovery/index.js +17 -1
- package/dist/esm/model-discovery/index.js.map +1 -1
- package/dist/esm/model-discovery/providers/alibaba.d.ts +2 -0
- package/dist/esm/model-discovery/providers/alibaba.js +13 -0
- package/dist/esm/model-discovery/providers/alibaba.js.map +1 -0
- package/dist/esm/model-discovery/providers/minimax.d.ts +1 -0
- package/dist/esm/model-discovery/providers/minimax.js +6 -0
- package/dist/esm/model-discovery/providers/minimax.js.map +1 -0
- package/dist/esm/model-discovery/providers/moonshotai.d.ts +1 -0
- package/dist/esm/model-discovery/providers/moonshotai.js +6 -0
- package/dist/esm/model-discovery/providers/moonshotai.js.map +1 -0
- package/dist/esm/model-discovery/request.d.ts +3 -0
- package/dist/esm/model-discovery/request.js +12 -0
- package/dist/esm/model-discovery/request.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils/log-ai-event.js +3 -1
- package/dist/esm/utils/log-ai-event.js.map +1 -1
- package/dist/esm/utils/redact-secrets.d.ts +2 -0
- package/dist/esm/utils/redact-secrets.js +99 -0
- package/dist/esm/utils/redact-secrets.js.map +1 -0
- package/package.json +7 -7
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { AI_NODE_SDK_VERSION } from './ai-node-sdk-version';
|
|
2
2
|
export { logWrapper } from './utils/log-wrapper';
|
|
3
3
|
export { logAiEvent } from './utils/log-ai-event';
|
|
4
|
+
export { redactSecrets } from './utils/redact-secrets';
|
|
4
5
|
export { parseSSEStream } from './utils/sse';
|
|
5
6
|
export { validateEmbedQueryInput, validateEmbedDocumentsInput, } from './utils/embeddings-input-validation';
|
|
6
7
|
export { getMetadataFiltersValues, hasLongSequentialRepeat } from './utils/helpers';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = void 0;
|
|
3
|
+
exports.fromLcMessage = exports.getParametersJsonSchema = exports.processDocument = exports.processDocuments = exports.MemoryVectorStoreManager = exports.createVectorStoreNode = exports.extractFromAIParameters = exports.createZodSchemaFromArgs = exports.createToolFromNode = exports.getTemplateNoticeField = exports.getBatchingOptionFields = exports.metadataFilterField = exports.getConnectionHintNoticeField = exports.fetchFollowingRedirects = exports.searxngSearch = exports.braveSearch = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.parseStrReplacements = exports.findDivergenceContext = exports.formatTextWithLineNumbers = exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = exports.TextEditorDocument = exports.N8nLlmTracing = exports.N8nPdfLoader = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.redactSecrets = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
|
|
4
|
+
exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = void 0;
|
|
5
5
|
var ai_node_sdk_version_1 = require("./ai-node-sdk-version");
|
|
6
6
|
Object.defineProperty(exports, "AI_NODE_SDK_VERSION", { enumerable: true, get: function () { return ai_node_sdk_version_1.AI_NODE_SDK_VERSION; } });
|
|
7
7
|
var log_wrapper_1 = require("./utils/log-wrapper");
|
|
8
8
|
Object.defineProperty(exports, "logWrapper", { enumerable: true, get: function () { return log_wrapper_1.logWrapper; } });
|
|
9
9
|
var log_ai_event_1 = require("./utils/log-ai-event");
|
|
10
10
|
Object.defineProperty(exports, "logAiEvent", { enumerable: true, get: function () { return log_ai_event_1.logAiEvent; } });
|
|
11
|
+
var redact_secrets_1 = require("./utils/redact-secrets");
|
|
12
|
+
Object.defineProperty(exports, "redactSecrets", { enumerable: true, get: function () { return redact_secrets_1.redactSecrets; } });
|
|
11
13
|
var sse_1 = require("./utils/sse");
|
|
12
14
|
Object.defineProperty(exports, "parseSSEStream", { enumerable: true, get: function () { return sse_1.parseSSEStream; } });
|
|
13
15
|
var embeddings_input_validation_1 = require("./utils/embeddings-input-validation");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AACA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,mCAA6C;AAApC,qGAAA,cAAc,OAAA;AACvB,mFAG6C;AAF5C,sIAAA,uBAAuB,OAAA;AACvB,0IAAA,2BAA2B,OAAA;AAE5B,2CAAoF;AAA3E,mHAAA,wBAAwB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAC1D,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,iEAA8D;AAArD,8GAAA,YAAY,OAAA;AACrB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,qEAasC;AAZrC,0HAAA,kBAAkB,OAAA;AAClB,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,uHAAA,eAAe,OAAA;AACf,yHAAA,iBAAiB,OAAA;AACjB,6HAAA,qBAAqB,OAAA;AACrB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AACrB,4HAAA,oBAAoB,OAAA;AAgBrB,qEAI2C;AAH1C,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,6HAAA,0BAA0B,OAAA;AAE3B,uDAA2E;AAAlE,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AACtC,wGAA2G;AAAlG,4IAAA,8BAA8B,OAAA;AACvC,6DAKkC;AAJjC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,8GAAA,UAAU,OAAA;AAGX,2CAAmF;AAA1E,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnC,6DAGkC;AAFjC,2HAAA,uBAAuB,OAAA;AAGxB,uDAK+B;AAJ9B,6HAAA,4BAA4B,OAAA;AAC5B,oHAAA,mBAAmB,OAAA;AACnB,wHAAA,uBAAuB,OAAA;AACvB,uHAAA,sBAAsB,OAAA;AAEvB,mEAIqC;AAHpC,yHAAA,kBAAkB,OAAA;AAClB,8HAAA,uBAAuB,OAAA;AACvB,8HAAA,uBAAuB,OAAA;AAExB,0GAAyG;AAAhG,8HAAA,qBAAqB,OAAA;AAM9B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AACjC,0EAG+C;AAF9C,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAKhB,0CAA4D;AAAnD,+GAAA,uBAAuB,OAAA;AAChC,gDAA8F;AAArF,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAsBhB,wEAA4E;AAAnE,iIAAA,yBAAyB,OAAA;AAClC,0CAAkD;AAAzC,qGAAA,aAAa,OAAA;AAGtB,gEAA6D;AAApD,oHAAA,eAAe,OAAA;AACxB,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAGvB,sEAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAG3B,yDAAkF;AAAzE,4GAAA,YAAY,OAAA;AACrB,uDAAiG;AAAxF,0GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AACA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,mCAA6C;AAApC,qGAAA,cAAc,OAAA;AACvB,mFAG6C;AAF5C,sIAAA,uBAAuB,OAAA;AACvB,0IAAA,2BAA2B,OAAA;AAE5B,2CAAoF;AAA3E,mHAAA,wBAAwB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAC1D,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,iEAA8D;AAArD,8GAAA,YAAY,OAAA;AACrB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,qEAasC;AAZrC,0HAAA,kBAAkB,OAAA;AAClB,yHAAA,iBAAiB,OAAA;AACjB,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,6HAAA,qBAAqB,OAAA;AACrB,wHAAA,gBAAgB,OAAA;AAChB,uHAAA,eAAe,OAAA;AACf,yHAAA,iBAAiB,OAAA;AACjB,6HAAA,qBAAqB,OAAA;AACrB,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AACrB,4HAAA,oBAAoB,OAAA;AAgBrB,qEAI2C;AAH1C,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,6HAAA,0BAA0B,OAAA;AAE3B,uDAA2E;AAAlE,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AACtC,wGAA2G;AAAlG,4IAAA,8BAA8B,OAAA;AACvC,6DAKkC;AAJjC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,8GAAA,UAAU,OAAA;AAGX,2CAAmF;AAA1E,yGAAA,WAAW,OAAA;AAAE,2GAAA,aAAa,OAAA;AAEnC,6DAGkC;AAFjC,2HAAA,uBAAuB,OAAA;AAGxB,uDAK+B;AAJ9B,6HAAA,4BAA4B,OAAA;AAC5B,oHAAA,mBAAmB,OAAA;AACnB,wHAAA,uBAAuB,OAAA;AACvB,uHAAA,sBAAsB,OAAA;AAEvB,mEAIqC;AAHpC,yHAAA,kBAAkB,OAAA;AAClB,8HAAA,uBAAuB,OAAA;AACvB,8HAAA,uBAAuB,OAAA;AAExB,0GAAyG;AAAhG,8HAAA,qBAAqB,OAAA;AAM9B,wGAAuG;AAA9F,oIAAA,wBAAwB,OAAA;AACjC,0EAG+C;AAF9C,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAKhB,0CAA4D;AAAnD,+GAAA,uBAAuB,OAAA;AAChC,gDAA8F;AAArF,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAsBhB,wEAA4E;AAAnE,iIAAA,yBAAyB,OAAA;AAClC,0CAAkD;AAAzC,qGAAA,aAAa,OAAA;AAGtB,gEAA6D;AAApD,oHAAA,eAAe,OAAA;AACxB,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAGvB,sEAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAG3B,yDAAkF;AAAzE,4GAAA,YAAY,OAAA;AACrB,uDAAiG;AAAxF,0GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.classifyChatModelFailure = classifyChatModelFailure;
|
|
4
|
+
const QUOTE = '[\'"\\x60]';
|
|
5
|
+
const MODEL_SUBJECT = '\\b(?:models?|deployment|engine)\\b' +
|
|
6
|
+
`(?:\\s*${QUOTE}?[\\w./:@-]+${QUOTE}?)?` +
|
|
7
|
+
'(?:\\s+(?:is|was|are|were|has been|had been))?' +
|
|
8
|
+
'[\\s,:;\'"\\x60-]*';
|
|
9
|
+
const MODEL_REJECTED = '(?:not found|does not exist|not available|no longer exists|invalid|unknown)';
|
|
10
|
+
const CHAT_MODEL_ERROR_PATTERNS = [
|
|
11
|
+
{
|
|
12
|
+
kind: 'unsupported_parameter',
|
|
13
|
+
pattern: /\b(?:unsupported_parameter|invalid_parameter)\b|(?:unsupported (?:parameter|value|option)|parameter [^\s]+ is not supported|does not support (?:temperature|top_p|max_tokens|max_completion_tokens|thinking)|(?:temperature|top_p|max_tokens|max_completion_tokens|thinking) (?:is not supported|cannot be set|is not allowed))/i,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
kind: 'invalid_model',
|
|
17
|
+
pattern: new RegExp('\\b(?:model_not_found|not_found_error|invalid_model_id|invalid_model|unknown_model)\\b' +
|
|
18
|
+
`|${MODEL_SUBJECT}${MODEL_REJECTED}`, 'i'),
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
kind: 'capability_mismatch',
|
|
22
|
+
pattern: /\b(?:not a chat model|not supported for (?:generateContent|this operation)|does not support (?:tools|tool use|function calling|functions|vision|multimodal)|only supported (?:via|for) responses api)\b/i,
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
function classifyChatModelFailure(errorMessage) {
|
|
26
|
+
if (!errorMessage)
|
|
27
|
+
return undefined;
|
|
28
|
+
for (const { kind, pattern } of CHAT_MODEL_ERROR_PATTERNS) {
|
|
29
|
+
if (pattern.test(errorMessage))
|
|
30
|
+
return kind;
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=chat-model-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-model-errors.js","sourceRoot":"","sources":["../../../src/model-discovery/chat-model-errors.ts"],"names":[],"mappings":";;;AA4BA,MAAM,KAAK,GAAG,YAAY,CAAC;AAE3B,MAAM,aAAa,GAClB,qCAAqC;IAErC,UAAU,KAAK,eAAe,KAAK,KAAK;IACxC,gDAAgD;IAChD,oBAAoB,CAAC;AAEtB,MAAM,cAAc,GACnB,6EAA6E,CAAC;AAE/E,MAAM,yBAAyB,GAG1B;IACJ;QACC,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EACN,kUAAkU;KACnU;IACD;QACC,IAAI,EAAE,eAAe;QAErB,OAAO,EAAE,IAAI,MAAM,CAClB,wFAAwF;YACvF,IAAI,aAAa,GAAG,cAAc,EAAE,EACrC,GAAG,CACH;KACD;IACD;QACC,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EACN,0MAA0M;KAC3M;CACD,CAAC;AAEF,kCACC,YAAgC;IAEhC,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,yBAAyB,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -2,15 +2,20 @@ import type { ListModelsFn, ListModelsOptions, ProviderModel } from './types';
|
|
|
2
2
|
export declare const MODEL_DISCOVERY_PROVIDERS: Record<string, ListModelsFn>;
|
|
3
3
|
export declare function isModelDiscoveryProvider(provider: string): boolean;
|
|
4
4
|
export declare function listModelsForProvider(provider: string, options: ListModelsOptions): Promise<ProviderModel[]>;
|
|
5
|
+
export { classifyChatModelFailure, type ChatModelFailureKind, } from './chat-model-errors';
|
|
6
|
+
export { listAlibabaModels } from './providers/alibaba';
|
|
5
7
|
export { listAnthropicModels } from './providers/anthropic';
|
|
6
8
|
export { listCohereModels } from './providers/cohere';
|
|
7
9
|
export { listDeepSeekModels } from './providers/deepseek';
|
|
8
10
|
export { listGoogleModels } from './providers/google';
|
|
9
11
|
export { listGroqModels } from './providers/groq';
|
|
12
|
+
export { listMiniMaxModels } from './providers/minimax';
|
|
10
13
|
export { listMistralModels } from './providers/mistral';
|
|
14
|
+
export { listMoonshotAiModels } from './providers/moonshotai';
|
|
11
15
|
export { listNvidiaModels } from './providers/nvidia';
|
|
12
16
|
export { listOpenAiModels, shouldIncludeOpenAiModel, OFFICIAL_OPENAI_HOSTNAMES, isOpenAiCustomEndpoint, } from './providers/openai';
|
|
13
17
|
export { listOpenRouterModels } from './providers/openrouter';
|
|
14
18
|
export { listVercelModels } from './providers/vercel';
|
|
15
19
|
export { listXaiModels } from './providers/xai';
|
|
20
|
+
export { ensureUrlPathSuffix } from './request';
|
|
16
21
|
export type { ListModelsFn, ListModelsOptions, ProviderModel } from './types';
|
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.listXaiModels = exports.listVercelModels = exports.listOpenRouterModels = exports.isOpenAiCustomEndpoint = exports.OFFICIAL_OPENAI_HOSTNAMES = exports.shouldIncludeOpenAiModel = exports.listOpenAiModels = exports.listNvidiaModels = exports.listMistralModels = exports.listGroqModels = exports.listGoogleModels = exports.listDeepSeekModels = exports.listCohereModels = exports.listAnthropicModels = exports.MODEL_DISCOVERY_PROVIDERS = void 0;
|
|
3
|
+
exports.ensureUrlPathSuffix = exports.listXaiModels = exports.listVercelModels = exports.listOpenRouterModels = exports.isOpenAiCustomEndpoint = exports.OFFICIAL_OPENAI_HOSTNAMES = exports.shouldIncludeOpenAiModel = exports.listOpenAiModels = exports.listNvidiaModels = exports.listMoonshotAiModels = exports.listMistralModels = exports.listMiniMaxModels = exports.listGroqModels = exports.listGoogleModels = exports.listDeepSeekModels = exports.listCohereModels = exports.listAnthropicModels = exports.listAlibabaModels = exports.classifyChatModelFailure = exports.MODEL_DISCOVERY_PROVIDERS = void 0;
|
|
4
4
|
exports.isModelDiscoveryProvider = isModelDiscoveryProvider;
|
|
5
5
|
exports.listModelsForProvider = listModelsForProvider;
|
|
6
|
+
const alibaba_1 = require("./providers/alibaba");
|
|
6
7
|
const anthropic_1 = require("./providers/anthropic");
|
|
7
8
|
const cohere_1 = require("./providers/cohere");
|
|
8
9
|
const deepseek_1 = require("./providers/deepseek");
|
|
9
10
|
const google_1 = require("./providers/google");
|
|
10
11
|
const groq_1 = require("./providers/groq");
|
|
12
|
+
const minimax_1 = require("./providers/minimax");
|
|
11
13
|
const mistral_1 = require("./providers/mistral");
|
|
14
|
+
const moonshotai_1 = require("./providers/moonshotai");
|
|
12
15
|
const nvidia_1 = require("./providers/nvidia");
|
|
13
16
|
const openai_1 = require("./providers/openai");
|
|
14
17
|
const openrouter_1 = require("./providers/openrouter");
|
|
15
18
|
const vercel_1 = require("./providers/vercel");
|
|
16
19
|
const xai_1 = require("./providers/xai");
|
|
17
20
|
exports.MODEL_DISCOVERY_PROVIDERS = {
|
|
21
|
+
alibaba: alibaba_1.listAlibabaModels,
|
|
18
22
|
anthropic: anthropic_1.listAnthropicModels,
|
|
19
23
|
cohere: cohere_1.listCohereModels,
|
|
20
24
|
deepseek: deepseek_1.listDeepSeekModels,
|
|
21
25
|
google: google_1.listGoogleModels,
|
|
22
26
|
groq: groq_1.listGroqModels,
|
|
27
|
+
minimax: minimax_1.listMiniMaxModels,
|
|
23
28
|
mistral: mistral_1.listMistralModels,
|
|
29
|
+
moonshotai: moonshotai_1.listMoonshotAiModels,
|
|
24
30
|
nvidia: nvidia_1.listNvidiaModels,
|
|
25
31
|
openai: openai_1.listOpenAiModels,
|
|
26
32
|
openrouter: openrouter_1.listOpenRouterModels,
|
|
@@ -37,6 +43,10 @@ async function listModelsForProvider(provider, options) {
|
|
|
37
43
|
}
|
|
38
44
|
return await listModels(options);
|
|
39
45
|
}
|
|
46
|
+
var chat_model_errors_1 = require("./chat-model-errors");
|
|
47
|
+
Object.defineProperty(exports, "classifyChatModelFailure", { enumerable: true, get: function () { return chat_model_errors_1.classifyChatModelFailure; } });
|
|
48
|
+
var alibaba_2 = require("./providers/alibaba");
|
|
49
|
+
Object.defineProperty(exports, "listAlibabaModels", { enumerable: true, get: function () { return alibaba_2.listAlibabaModels; } });
|
|
40
50
|
var anthropic_2 = require("./providers/anthropic");
|
|
41
51
|
Object.defineProperty(exports, "listAnthropicModels", { enumerable: true, get: function () { return anthropic_2.listAnthropicModels; } });
|
|
42
52
|
var cohere_2 = require("./providers/cohere");
|
|
@@ -47,8 +57,12 @@ var google_2 = require("./providers/google");
|
|
|
47
57
|
Object.defineProperty(exports, "listGoogleModels", { enumerable: true, get: function () { return google_2.listGoogleModels; } });
|
|
48
58
|
var groq_2 = require("./providers/groq");
|
|
49
59
|
Object.defineProperty(exports, "listGroqModels", { enumerable: true, get: function () { return groq_2.listGroqModels; } });
|
|
60
|
+
var minimax_2 = require("./providers/minimax");
|
|
61
|
+
Object.defineProperty(exports, "listMiniMaxModels", { enumerable: true, get: function () { return minimax_2.listMiniMaxModels; } });
|
|
50
62
|
var mistral_2 = require("./providers/mistral");
|
|
51
63
|
Object.defineProperty(exports, "listMistralModels", { enumerable: true, get: function () { return mistral_2.listMistralModels; } });
|
|
64
|
+
var moonshotai_2 = require("./providers/moonshotai");
|
|
65
|
+
Object.defineProperty(exports, "listMoonshotAiModels", { enumerable: true, get: function () { return moonshotai_2.listMoonshotAiModels; } });
|
|
52
66
|
var nvidia_2 = require("./providers/nvidia");
|
|
53
67
|
Object.defineProperty(exports, "listNvidiaModels", { enumerable: true, get: function () { return nvidia_2.listNvidiaModels; } });
|
|
54
68
|
var openai_2 = require("./providers/openai");
|
|
@@ -62,4 +76,6 @@ var vercel_2 = require("./providers/vercel");
|
|
|
62
76
|
Object.defineProperty(exports, "listVercelModels", { enumerable: true, get: function () { return vercel_2.listVercelModels; } });
|
|
63
77
|
var xai_2 = require("./providers/xai");
|
|
64
78
|
Object.defineProperty(exports, "listXaiModels", { enumerable: true, get: function () { return xai_2.listXaiModels; } });
|
|
79
|
+
var request_1 = require("./request");
|
|
80
|
+
Object.defineProperty(exports, "ensureUrlPathSuffix", { enumerable: true, get: function () { return request_1.ensureUrlPathSuffix; } });
|
|
65
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model-discovery/index.ts"],"names":[],"mappings":";;;;;AAAA,qDAA4D;AAC5D,+CAAsD;AACtD,mDAA0D;AAC1D,+CAAsD;AACtD,2CAAkD;AAClD,iDAAwD;AACxD,+CAAsD;AACtD,+CAAsD;AACtD,uDAA8D;AAC9D,+CAAsD;AACtD,yCAAgD;AAcnC,QAAA,yBAAyB,GAAiC;IACtE,SAAS,EAAE,+BAAmB;IAC9B,MAAM,EAAE,yBAAgB;IACxB,QAAQ,EAAE,6BAAkB;IAC5B,MAAM,EAAE,yBAAgB;IACxB,IAAI,EAAE,qBAAc;IACpB,OAAO,EAAE,2BAAiB;IAC1B,MAAM,EAAE,yBAAgB;IACxB,MAAM,EAAE,yBAAgB;IACxB,UAAU,EAAE,iCAAoB;IAChC,MAAM,EAAE,yBAAgB;IACxB,GAAG,EAAE,mBAAa;CAClB,CAAC;AAEF,kCAAyC,QAAgB;IACxD,OAAO,QAAQ,IAAI,QAAA,yBAAyB,CAAC;AAC9C,CAAC;AAEM,KAAK,gCACX,QAAgB,EAChB,OAA0B;IAE1B,MAAM,UAAU,GAAG,QAAA,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,mDAA4D;AAAnD,gHAAA,mBAAmB,OAAA;AAC5B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,iDAA0D;AAAjD,8GAAA,kBAAkB,OAAA;AAC3B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,yCAAkD;AAAzC,sGAAA,cAAc,OAAA;AACvB,+CAAwD;AAA/C,4GAAA,iBAAiB,OAAA;AAC1B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,6CAK4B;AAJ3B,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,mHAAA,yBAAyB,OAAA;AACzB,gHAAA,sBAAsB,OAAA;AAEvB,qDAA8D;AAArD,kHAAA,oBAAoB,OAAA;AAC7B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,uCAAgD;AAAvC,oGAAA,aAAa,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model-discovery/index.ts"],"names":[],"mappings":";;;;;AAAA,iDAAwD;AACxD,qDAA4D;AAC5D,+CAAsD;AACtD,mDAA0D;AAC1D,+CAAsD;AACtD,2CAAkD;AAClD,iDAAwD;AACxD,iDAAwD;AACxD,uDAA8D;AAC9D,+CAAsD;AACtD,+CAAsD;AACtD,uDAA8D;AAC9D,+CAAsD;AACtD,yCAAgD;AAcnC,QAAA,yBAAyB,GAAiC;IACtE,OAAO,EAAE,2BAAiB;IAC1B,SAAS,EAAE,+BAAmB;IAC9B,MAAM,EAAE,yBAAgB;IACxB,QAAQ,EAAE,6BAAkB;IAC5B,MAAM,EAAE,yBAAgB;IACxB,IAAI,EAAE,qBAAc;IACpB,OAAO,EAAE,2BAAiB;IAC1B,OAAO,EAAE,2BAAiB;IAC1B,UAAU,EAAE,iCAAoB;IAChC,MAAM,EAAE,yBAAgB;IACxB,MAAM,EAAE,yBAAgB;IACxB,UAAU,EAAE,iCAAoB;IAChC,MAAM,EAAE,yBAAgB;IACxB,GAAG,EAAE,mBAAa;CAClB,CAAC;AAEF,kCAAyC,QAAgB;IACxD,OAAO,QAAQ,IAAI,QAAA,yBAAyB,CAAC;AAC9C,CAAC;AAEM,KAAK,gCACX,QAAgB,EAChB,OAA0B;IAE1B,MAAM,UAAU,GAAG,QAAA,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,yDAG6B;AAF5B,6HAAA,wBAAwB,OAAA;AAGzB,+CAAwD;AAA/C,4GAAA,iBAAiB,OAAA;AAC1B,mDAA4D;AAAnD,gHAAA,mBAAmB,OAAA;AAC5B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,iDAA0D;AAAjD,8GAAA,kBAAkB,OAAA;AAC3B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,yCAAkD;AAAzC,sGAAA,cAAc,OAAA;AACvB,+CAAwD;AAA/C,4GAAA,iBAAiB,OAAA;AAC1B,+CAAwD;AAA/C,4GAAA,iBAAiB,OAAA;AAC1B,qDAA8D;AAArD,kHAAA,oBAAoB,OAAA;AAC7B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,6CAK4B;AAJ3B,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,mHAAA,yBAAyB,OAAA;AACzB,gHAAA,sBAAsB,OAAA;AAEvB,qDAA8D;AAArD,kHAAA,oBAAoB,OAAA;AAC7B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,uCAAgD;AAAvC,oGAAA,aAAa,OAAA;AACtB,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listAlibabaModels = void 0;
|
|
4
|
+
const request_1 = require("../request");
|
|
5
|
+
const COMPATIBLE_MODE_SUFFIX = '/compatible-mode/v1';
|
|
6
|
+
const DEFAULT_BASE_URL = `https://dashscope-intl.aliyuncs.com${COMPATIBLE_MODE_SUFFIX}`;
|
|
7
|
+
const listAlibabaModels = async (options) => {
|
|
8
|
+
const resolvedBaseUrl = (0, request_1.ensureUrlPathSuffix)((0, request_1.baseUrl)(options, DEFAULT_BASE_URL), COMPATIBLE_MODE_SUFFIX);
|
|
9
|
+
const data = (await (0, request_1.getJson)(`${resolvedBaseUrl}/models`, (0, request_1.bearerHeaders)(options), options, 'alibaba'));
|
|
10
|
+
return (0, request_1.idsToModels)(data.data ?? []).sort(request_1.byName);
|
|
11
|
+
};
|
|
12
|
+
exports.listAlibabaModels = listAlibabaModels;
|
|
13
|
+
//# sourceMappingURL=alibaba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alibaba.js","sourceRoot":"","sources":["../../../../src/model-discovery/providers/alibaba.ts"],"names":[],"mappings":";;;AAAA,wCAOoB;AAIpB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AACrD,MAAM,gBAAgB,GAAG,sCAAsC,sBAAsB,EAAE,CAAC;AASjF,MAAM,iBAAiB,GAAiB,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,eAAe,GAAG,IAAA,6BAAmB,EAC1C,IAAA,iBAAO,EAAC,OAAO,EAAE,gBAAgB,CAAC,EAClC,sBAAsB,CACtB,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,MAAM,IAAA,iBAAO,EAC1B,GAAG,eAAe,SAAS,EAC3B,IAAA,uBAAa,EAAC,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,CACT,CAAwB,CAAC;IAC1B,OAAO,IAAA,qBAAW,EAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAM,CAAC,CAAC;AAClD,CAAC,CAAC;AAZW,QAAA,iBAAiB,GAAjB,iBAAiB,CAY5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const listMiniMaxModels: import("..").ListModelsFn;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listMiniMaxModels = void 0;
|
|
4
|
+
const request_1 = require("../request");
|
|
5
|
+
exports.listMiniMaxModels = (0, request_1.makeBearerDataListing)('minimax', 'https://api.minimax.io/v1');
|
|
6
|
+
//# sourceMappingURL=minimax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../../../src/model-discovery/providers/minimax.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AAOtC,QAAA,iBAAiB,GAAG,IAAA,+BAAqB,EAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const listMoonshotAiModels: import("..").ListModelsFn;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listMoonshotAiModels = void 0;
|
|
4
|
+
const request_1 = require("../request");
|
|
5
|
+
exports.listMoonshotAiModels = (0, request_1.makeBearerDataListing)('moonshotai', 'https://api.moonshot.ai/v1');
|
|
6
|
+
//# sourceMappingURL=moonshotai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moonshotai.js","sourceRoot":"","sources":["../../../../src/model-discovery/providers/moonshotai.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AAGtC,QAAA,oBAAoB,GAAG,IAAA,+BAAqB,EACxD,YAAY,EACZ,4BAA4B,CAC5B,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { ListModelsFn, ListModelsOptions, ProviderModel } from './types';
|
|
2
2
|
export declare function getJson(url: string, headers: Record<string, string>, options: ListModelsOptions, provider: string): Promise<unknown>;
|
|
3
3
|
export declare function baseUrl(options: ListModelsOptions, fallback: string): string;
|
|
4
|
+
export declare function ensureUrlPathSuffix(baseURL: string, suffix: string, options?: {
|
|
5
|
+
stripSuffix?: string;
|
|
6
|
+
}): string;
|
|
4
7
|
export declare function bearerHeaders(options: ListModelsOptions): Record<string, string>;
|
|
5
8
|
export declare function byName(a: ProviderModel, b: ProviderModel): number;
|
|
6
9
|
export interface IdItem {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getJson = getJson;
|
|
4
4
|
exports.baseUrl = baseUrl;
|
|
5
|
+
exports.ensureUrlPathSuffix = ensureUrlPathSuffix;
|
|
5
6
|
exports.bearerHeaders = bearerHeaders;
|
|
6
7
|
exports.byName = byName;
|
|
7
8
|
exports.idsToModels = idsToModels;
|
|
@@ -25,6 +26,17 @@ async function getJson(url, headers, options, provider) {
|
|
|
25
26
|
function baseUrl(options, fallback) {
|
|
26
27
|
return (options.baseURL ?? fallback).replace(/\/+$/, '');
|
|
27
28
|
}
|
|
29
|
+
function ensureUrlPathSuffix(baseURL, suffix, options) {
|
|
30
|
+
const url = new URL(baseURL);
|
|
31
|
+
const path = url.pathname.replace(/\/$/, '');
|
|
32
|
+
if (path.endsWith(suffix))
|
|
33
|
+
return baseURL;
|
|
34
|
+
const trimmedPath = options?.stripSuffix && path.endsWith(options.stripSuffix)
|
|
35
|
+
? path.slice(0, -options.stripSuffix.length)
|
|
36
|
+
: path;
|
|
37
|
+
url.pathname = `${trimmedPath}${suffix}`;
|
|
38
|
+
return url.toString();
|
|
39
|
+
}
|
|
28
40
|
function bearerHeaders(options) {
|
|
29
41
|
return { Authorization: `Bearer ${options.apiKey}` };
|
|
30
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model-discovery/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/model-discovery/request.ts"],"names":[],"mappings":"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"}
|