@n8n/ai-utilities 0.34.2 → 0.35.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/model-discovery/index.d.ts +1 -0
- package/dist/cjs/model-discovery/index.js +4 -1
- package/dist/cjs/model-discovery/index.js.map +1 -1
- package/dist/cjs/model-discovery/providers/azure.d.ts +10 -0
- package/dist/cjs/model-discovery/providers/azure.js +38 -0
- package/dist/cjs/model-discovery/providers/azure.js.map +1 -0
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/esm/model-discovery/index.d.ts +1 -0
- package/dist/esm/model-discovery/index.js +4 -1
- package/dist/esm/model-discovery/index.js.map +1 -1
- package/dist/esm/model-discovery/providers/azure.d.ts +10 -0
- package/dist/esm/model-discovery/providers/azure.js +38 -0
- package/dist/esm/model-discovery/providers/azure.js.map +1 -0
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -5,6 +5,7 @@ export declare function listModelsForProvider(provider: string, options: ListMod
|
|
|
5
5
|
export { classifyChatModelFailure, type ChatModelFailureKind, } from './chat-model-errors';
|
|
6
6
|
export { listAlibabaModels, shouldIncludeAlibabaModel } from './providers/alibaba';
|
|
7
7
|
export { listAnthropicModels } from './providers/anthropic';
|
|
8
|
+
export { listAzureOpenAiModels, shouldIncludeAzureModel, type AzureOpenAiListModelsOptions, } from './providers/azure';
|
|
8
9
|
export { listCohereModels } from './providers/cohere';
|
|
9
10
|
export { listDeepSeekModels } from './providers/deepseek';
|
|
10
11
|
export { listGoogleModels, shouldIncludeGoogleModel } from './providers/google';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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.shouldIncludeGoogleModel = exports.listGoogleModels = exports.listDeepSeekModels = exports.listCohereModels = exports.listAnthropicModels = exports.shouldIncludeAlibabaModel = exports.listAlibabaModels = exports.classifyChatModelFailure = 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.shouldIncludeGoogleModel = exports.listGoogleModels = exports.listDeepSeekModels = exports.listCohereModels = exports.shouldIncludeAzureModel = exports.listAzureOpenAiModels = exports.listAnthropicModels = exports.shouldIncludeAlibabaModel = exports.listAlibabaModels = exports.classifyChatModelFailure = exports.MODEL_DISCOVERY_PROVIDERS = void 0;
|
|
4
4
|
exports.isModelDiscoveryProvider = isModelDiscoveryProvider;
|
|
5
5
|
exports.listModelsForProvider = listModelsForProvider;
|
|
6
6
|
const alibaba_1 = require("./providers/alibaba");
|
|
@@ -50,6 +50,9 @@ Object.defineProperty(exports, "listAlibabaModels", { enumerable: true, get: fun
|
|
|
50
50
|
Object.defineProperty(exports, "shouldIncludeAlibabaModel", { enumerable: true, get: function () { return alibaba_2.shouldIncludeAlibabaModel; } });
|
|
51
51
|
var anthropic_2 = require("./providers/anthropic");
|
|
52
52
|
Object.defineProperty(exports, "listAnthropicModels", { enumerable: true, get: function () { return anthropic_2.listAnthropicModels; } });
|
|
53
|
+
var azure_1 = require("./providers/azure");
|
|
54
|
+
Object.defineProperty(exports, "listAzureOpenAiModels", { enumerable: true, get: function () { return azure_1.listAzureOpenAiModels; } });
|
|
55
|
+
Object.defineProperty(exports, "shouldIncludeAzureModel", { enumerable: true, get: function () { return azure_1.shouldIncludeAzureModel; } });
|
|
53
56
|
var cohere_2 = require("./providers/cohere");
|
|
54
57
|
Object.defineProperty(exports, "listCohereModels", { enumerable: true, get: function () { return cohere_2.listCohereModels; } });
|
|
55
58
|
var deepseek_2 = require("./providers/deepseek");
|
|
@@ -1 +1 @@
|
|
|
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,+CAAmF;AAA1E,4GAAA,iBAAiB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AACrD,mDAA4D;AAAnD,gHAAA,mBAAmB,OAAA;AAC5B,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,iDAA0D;AAAjD,8GAAA,kBAAkB,OAAA;AAC3B,6CAAgF;AAAvE,0GAAA,gBAAgB,OAAA;AAAE,kHAAA,wBAAwB,OAAA;AACnD,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"}
|
|
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,+CAAmF;AAA1E,4GAAA,iBAAiB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AACrD,mDAA4D;AAAnD,gHAAA,mBAAmB,OAAA;AAC5B,2CAI2B;AAH1B,8GAAA,qBAAqB,OAAA;AACrB,gHAAA,uBAAuB,OAAA;AAGxB,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,iDAA0D;AAAjD,8GAAA,kBAAkB,OAAA;AAC3B,6CAAgF;AAAvE,0GAAA,gBAAgB,OAAA;AAAE,kHAAA,wBAAwB,OAAA;AACnD,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,10 @@
|
|
|
1
|
+
import type { ProviderModel } from '../types';
|
|
2
|
+
export interface AzureOpenAiListModelsOptions {
|
|
3
|
+
baseURL: string;
|
|
4
|
+
project: string;
|
|
5
|
+
headers: Record<string, string>;
|
|
6
|
+
apiVersion?: string;
|
|
7
|
+
fetch?: typeof globalThis.fetch;
|
|
8
|
+
}
|
|
9
|
+
export declare function shouldIncludeAzureModel(capabilities: Record<string, unknown> | undefined): boolean;
|
|
10
|
+
export declare function listAzureOpenAiModels(options: AzureOpenAiListModelsOptions): Promise<ProviderModel[]>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shouldIncludeAzureModel = shouldIncludeAzureModel;
|
|
4
|
+
exports.listAzureOpenAiModels = listAzureOpenAiModels;
|
|
5
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const request_1 = require("../request");
|
|
7
|
+
function shouldIncludeAzureModel(capabilities) {
|
|
8
|
+
const value = capabilities?.chat_completion ?? capabilities?.chatCompletion;
|
|
9
|
+
return value === true || (typeof value === 'string' && value.toLowerCase() === 'true');
|
|
10
|
+
}
|
|
11
|
+
async function listAzureOpenAiModels(options) {
|
|
12
|
+
const fetchFn = options.fetch ?? globalThis.fetch;
|
|
13
|
+
const apiVersion = options.apiVersion ?? 'v1';
|
|
14
|
+
const base = options.baseURL.replace(/\/+$/, '');
|
|
15
|
+
const url = `${base}/api/projects/${encodeURIComponent(options.project)}/deployments?api-version=${apiVersion}`;
|
|
16
|
+
const response = await fetchFn(url, { method: 'GET', headers: options.headers });
|
|
17
|
+
if (!response.ok) {
|
|
18
|
+
if (response.status === 401 || response.status === 403) {
|
|
19
|
+
throw new n8n_workflow_1.UserError("Models couldn't be loaded. Check that the selected credential is valid and has the required permissions, then try again.", { shouldReport: false });
|
|
20
|
+
}
|
|
21
|
+
if (response.status === 404) {
|
|
22
|
+
throw new n8n_workflow_1.UserError(`Project "${options.project}" was not found. Check the project name and try again.`, { shouldReport: false });
|
|
23
|
+
}
|
|
24
|
+
const body = await response.text().catch(() => '');
|
|
25
|
+
throw new Error(`Failed to list Azure OpenAI deployments (status ${response.status})${body ? `: ${body.slice(0, 500)}` : ''}`);
|
|
26
|
+
}
|
|
27
|
+
const data = (await response.json());
|
|
28
|
+
return (data.value ?? [])
|
|
29
|
+
.filter((deployment) => typeof deployment.name === 'string' && shouldIncludeAzureModel(deployment.capabilities))
|
|
30
|
+
.map((deployment) => ({
|
|
31
|
+
id: deployment.name,
|
|
32
|
+
name: typeof deployment.modelName === 'string'
|
|
33
|
+
? `${deployment.name} (${deployment.modelName})`
|
|
34
|
+
: deployment.name,
|
|
35
|
+
}))
|
|
36
|
+
.sort(request_1.byName);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=azure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.js","sourceRoot":"","sources":["../../../../src/model-discovery/providers/azure.ts"],"names":[],"mappings":";;;;AAAA,+CAAyC;AAEzC,wCAAoC;AAoCpC,iCACC,YAAiD;IAEjD,MAAM,KAAK,GAAG,YAAY,EAAE,eAAe,IAAI,YAAY,EAAE,cAAc,CAAC;IAC5E,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;AACxF,CAAC;AAQM,KAAK,gCACX,OAAqC;IAErC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,GAAG,IAAI,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,UAAU,EAAE,CAAC;IAEhH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxD,MAAM,IAAI,wBAAS,CAClB,0HAA0H,EAC1H,EAAE,YAAY,EAAE,KAAK,EAAE,CACvB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,wBAAS,CAClB,YAAY,OAAO,CAAC,OAAO,wDAAwD,EACnF,EAAE,YAAY,EAAE,KAAK,EAAE,CACvB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACd,mDAAmD,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7G,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkC,CAAC;IAEtE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,MAAM,CACN,CAAC,UAAU,EAAoD,EAAE,CAChE,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,uBAAuB,CAAC,UAAU,CAAC,YAAY,CAAC,CACxF;SACA,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrB,EAAE,EAAE,UAAU,CAAC,IAAI;QACnB,IAAI,EACH,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,GAAG;YAChD,CAAC,CAAC,UAAU,CAAC,IAAI;KACnB,CAAC,CAAC;SACF,IAAI,CAAC,gBAAM,CAAC,CAAC;AAChB,CAAC"}
|