@askdb/ai-azure 0.1.0-beta.2 → 1.0.0-beta.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.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { AiProviderAdapter } from "@askdb/ai";
1
+ import { type AiProviderAdapter } from "@askdb/ai";
2
2
  export declare const azureProvider: AiProviderAdapter;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA+B,MAAM,WAAW,CAAC;AAGhF,eAAO,MAAM,aAAa,EAAE,iBA4B3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,WAAW,CAAC;AAenB,eAAO,MAAM,aAAa,EAAE,iBAuD3B,CAAC"}
package/dist/index.js CHANGED
@@ -1,41 +1,73 @@
1
1
  import { createAzure } from "@ai-sdk/azure";
2
- import { defaultEmbeddingSettingsMiddleware, wrapEmbeddingModel } from "ai";
2
+ import { resolveBaseConfig, withEmbeddingProviderOptions, } from "@askdb/ai";
3
+ const ENV_SPEC = {
4
+ apiKeyVars: ["AZURE_OPENAI_API_KEY", "AZURE_API_KEY"],
5
+ apiKeySecondaryVars: ["AZURE_OPENAI_API_KEY_SECONDARY", "AZURE_API_KEY_SECONDARY"],
6
+ modelVars: ["AZURE_OPENAI_DEPLOYMENT", "AZURE_DEPLOYMENT_NAME"],
7
+ embeddingModelVars: [
8
+ "AZURE_OPENAI_EMBEDDING_DEPLOYMENT",
9
+ "AZURE_EMBEDDING_DEPLOYMENT_NAME",
10
+ ],
11
+ baseURLVars: ["AZURE_OPENAI_BASE_URL", "AZURE_OPENAI_ENDPOINT", "AZURE_BASE_URL"],
12
+ defaultModel: "gpt-4o-mini",
13
+ defaultEmbeddingModel: "text-embedding-3-small",
14
+ };
3
15
  export const azureProvider = {
4
16
  provider: "azure",
17
+ aliases: ["azure-openai", "foundry"],
18
+ configHint: "For Azure / Microsoft Foundry, set ai.provider: \"azure\" and ai.providerConfig.azure.apiKey in askdb.config.*.",
19
+ resolveConfig(env, options) {
20
+ const config = resolveBaseConfig("azure", env, ENV_SPEC, options);
21
+ if (!config)
22
+ return undefined;
23
+ const resourceName = env.ASKDB_AI_AZURE_RESOURCE_NAME || env.AZURE_RESOURCE_NAME || undefined;
24
+ const apiVersion = env.ASKDB_AI_AZURE_API_VERSION ||
25
+ env.AZURE_OPENAI_API_VERSION ||
26
+ env.AZURE_API_VERSION ||
27
+ undefined;
28
+ if (!config.baseURL && !resourceName) {
29
+ throw new Error("Azure provider requires ASKDB_AI_AZURE_RESOURCE_NAME (e.g. 'my-foundry') " +
30
+ "or ASKDB_AI_BASE_URL pointing at the full endpoint.");
31
+ }
32
+ const providerOptions = {
33
+ ...(resourceName ? { resourceName } : {}),
34
+ ...(apiVersion ? { apiVersion } : {}),
35
+ };
36
+ return {
37
+ ...config,
38
+ ...(Object.keys(providerOptions).length > 0 ? { providerOptions } : {}),
39
+ };
40
+ },
5
41
  createLanguageModel(config) {
42
+ const { resourceName, apiVersion } = azureConnectionOptions(config);
6
43
  const azure = createAzure({
7
44
  apiKey: config.apiKey,
8
- ...(config.resourceName ? { resourceName: config.resourceName } : {}),
45
+ ...(resourceName ? { resourceName } : {}),
9
46
  ...(config.baseURL ? { baseURL: config.baseURL } : {}),
10
- ...(config.apiVersion ? { apiVersion: config.apiVersion } : {}),
47
+ ...(apiVersion ? { apiVersion } : {}),
11
48
  });
12
49
  return azure(config.model);
13
50
  },
14
51
  createEmbeddingModel(config, options = {}) {
52
+ const { resourceName, apiVersion } = azureConnectionOptions(config);
15
53
  const azure = createAzure({
16
54
  apiKey: config.apiKey,
17
- ...(config.resourceName ? { resourceName: config.resourceName } : {}),
55
+ ...(resourceName ? { resourceName } : {}),
18
56
  ...(config.baseURL ? { baseURL: config.baseURL } : {}),
19
- ...(config.apiVersion ? { apiVersion: config.apiVersion } : {}),
57
+ ...(apiVersion ? { apiVersion } : {}),
20
58
  });
21
59
  const model = azure.embedding(config.model);
22
- const providerOptions = azureProviderOptions(options);
23
- if (!providerOptions)
24
- return model;
25
- return wrapEmbeddingModel({
26
- model,
27
- middleware: defaultEmbeddingSettingsMiddleware({
28
- settings: { providerOptions },
29
- }),
30
- });
60
+ return withEmbeddingProviderOptions(model, "azure", options);
31
61
  },
32
62
  };
33
- function azureProviderOptions(options) {
34
- const azure = {};
35
- if (options.dimensions !== undefined)
36
- azure.dimensions = options.dimensions;
37
- if (options.user !== undefined)
38
- azure.user = options.user;
39
- return Object.keys(azure).length > 0 ? { azure } : undefined;
63
+ function azureConnectionOptions(config) {
64
+ return {
65
+ resourceName: readStringOption(config.providerOptions, "resourceName"),
66
+ apiVersion: readStringOption(config.providerOptions, "apiVersion"),
67
+ };
68
+ }
69
+ function readStringOption(options, key) {
70
+ const value = options?.[key];
71
+ return typeof value === "string" ? value : undefined;
40
72
  }
41
73
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kCAAkC,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE5E,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,QAAQ,EAAE,OAAO;IACjB,mBAAmB,CAAC,MAAM;QACxB,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,kBAAkB,CAAC;YACxB,KAAK;YACL,UAAU,EAAE,kCAAkC,CAAC;gBAC7C,QAAQ,EAAE,EAAE,eAAe,EAAE;aAC9B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,SAAS,oBAAoB,CAC3B,OAAoC;IAEpC,MAAM,KAAK,GAA2C,EAAE,CAAC;IACzD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAC5E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdb/ai-azure",
3
- "version": "0.1.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "AskDB Azure OpenAI provider adapter for @askdb/ai.",
5
5
  "keywords": [
6
6
  "askdb",
@@ -39,13 +39,17 @@
39
39
  "node": ">=20"
40
40
  },
41
41
  "dependencies": {
42
- "@ai-sdk/azure": "^3.0.72",
43
- "ai": "^6.0.200",
44
- "@askdb/ai": "0.1.0-beta.2"
42
+ "@ai-sdk/azure": "^3.0.72"
43
+ },
44
+ "peerDependencies": {
45
+ "ai": "^6.0.0",
46
+ "@askdb/ai": "^0.1.0-beta.3"
45
47
  },
46
48
  "devDependencies": {
49
+ "ai": "^6.0.200",
47
50
  "typescript": "^5.9.3",
48
- "vitest": "^3.2.6"
51
+ "vitest": "^3.2.6",
52
+ "@askdb/ai": "0.1.0-beta.3"
49
53
  },
50
54
  "scripts": {
51
55
  "build": "tsc -p tsconfig.build.json",