@jerome-benoit/sap-ai-provider 4.4.0 → 4.4.1

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.
Files changed (18) hide show
  1. package/dist/{chunk-VVMCHBH6.js → chunk-6SUOKHXD.js} +2 -2
  2. package/dist/{chunk-HRARBIFX.js → chunk-N3IRJKV2.js} +1 -4
  3. package/dist/chunk-N3IRJKV2.js.map +1 -0
  4. package/dist/{foundation-models-embedding-model-strategy-UWHFRSAZ.js → foundation-models-embedding-model-strategy-AVAK533Z.js} +3 -3
  5. package/dist/{foundation-models-language-model-strategy-6Z3M5VEF.js → foundation-models-language-model-strategy-PUANSTGO.js} +3 -3
  6. package/dist/index.cjs +3 -5
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.js +7 -6
  9. package/dist/index.js.map +1 -1
  10. package/dist/{orchestration-embedding-model-strategy-6VTQ2BBR.js → orchestration-embedding-model-strategy-6EI454PR.js} +3 -3
  11. package/dist/{orchestration-language-model-strategy-ZWI47D67.js → orchestration-language-model-strategy-JZX7CLO3.js} +3 -3
  12. package/package.json +2 -2
  13. package/dist/chunk-HRARBIFX.js.map +0 -1
  14. /package/dist/{chunk-VVMCHBH6.js.map → chunk-6SUOKHXD.js.map} +0 -0
  15. /package/dist/{foundation-models-embedding-model-strategy-UWHFRSAZ.js.map → foundation-models-embedding-model-strategy-AVAK533Z.js.map} +0 -0
  16. /package/dist/{foundation-models-language-model-strategy-6Z3M5VEF.js.map → foundation-models-language-model-strategy-PUANSTGO.js.map} +0 -0
  17. /package/dist/{orchestration-embedding-model-strategy-6VTQ2BBR.js.map → orchestration-embedding-model-strategy-6EI454PR.js.map} +0 -0
  18. /package/dist/{orchestration-language-model-strategy-ZWI47D67.js.map → orchestration-language-model-strategy-JZX7CLO3.js.map} +0 -0
@@ -30313,7 +30313,7 @@ function tryExtractSAPErrorFromMessage(message) {
30313
30313
  }
30314
30314
 
30315
30315
  // src/version.ts
30316
- var VERSION = true ? "4.4.0" : "0.0.0-test";
30316
+ var VERSION = true ? "4.4.1" : "0.0.0-test";
30317
30317
 
30318
30318
  export {
30319
30319
  __toESM,
@@ -30364,4 +30364,4 @@ mime-types/index.js:
30364
30364
  axios/dist/node/axios.cjs:
30365
30365
  (*! Axios v1.13.4 Copyright (c) 2026 Matt Zabriskie and contributors *)
30366
30366
  */
30367
- //# sourceMappingURL=chunk-VVMCHBH6.js.map
30367
+ //# sourceMappingURL=chunk-6SUOKHXD.js.map
@@ -29,9 +29,6 @@ function applyParameterOverrides(modelParams, options, sapModelParams, settingsM
29
29
  function buildModelDeployment(config) {
30
30
  const deploymentConfig = config.deploymentConfig;
31
31
  const resourceGroup = "resourceGroup" in deploymentConfig ? deploymentConfig.resourceGroup : void 0;
32
- if ("deploymentId" in deploymentConfig) {
33
- return resourceGroup ? { deploymentId: deploymentConfig.deploymentId, resourceGroup } : { deploymentId: deploymentConfig.deploymentId };
34
- }
35
32
  return resourceGroup ? { modelName: config.modelId, resourceGroup } : { modelName: config.modelId };
36
33
  }
37
34
  function buildSAPToolParameters(schema) {
@@ -158,4 +155,4 @@ export {
158
155
  mapFinishReason,
159
156
  normalizeEmbedding
160
157
  };
161
- //# sourceMappingURL=chunk-HRARBIFX.js.map
158
+ //# sourceMappingURL=chunk-N3IRJKV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/strategy-utils.ts"],"sourcesContent":["/**\n * Shared utilities for SAP AI Core strategy implementations.\n *\n * Contains common functions used by both Orchestration and Foundation Models strategies\n * to avoid code duplication and ensure consistency.\n */\nimport type {\n EmbeddingModelV3Embedding,\n LanguageModelV3CallOptions,\n LanguageModelV3FinishReason,\n LanguageModelV3FunctionTool,\n} from \"@ai-sdk/provider\";\nimport type { DeploymentIdConfig, ResourceGroupConfig } from \"@sap-ai-sdk/ai-api/internal.js\";\nimport type { ZodType } from \"zod\";\n\n/**\n * Base configuration for model deployment resolution.\n * Shared fields used by buildModelDeployment helper.\n * @internal\n */\nexport interface BaseModelDeploymentConfig {\n /** Deployment configuration (ID-based or resource group-based). */\n readonly deploymentConfig: DeploymentIdConfig | ResourceGroupConfig;\n /** The model identifier (e.g., 'gpt-4o', 'text-embedding-ada-002'). */\n readonly modelId: string;\n}\n\n/**\n * Extended function tool interface with optional parameters property.\n * @internal\n */\nexport interface FunctionToolWithParameters extends LanguageModelV3FunctionTool {\n readonly parameters?: unknown;\n}\n\n/**\n * Parameter mapping for AI SDK options → SAP model params.\n *\n * Used to map between different parameter naming conventions:\n * - AI SDK uses camelCase (e.g., `maxOutputTokens`)\n * - SAP APIs use snake_case (e.g., `max_tokens`)\n * @internal\n */\nexport interface ParamMapping {\n /** camelCase key in modelParams to read from and remove (e.g., 'maxTokens', 'topP'). */\n readonly camelCaseKey?: string;\n /** AI SDK option key (e.g., 'maxOutputTokens', 'topP'). */\n readonly optionKey?: string;\n /** Output key for SAP API (e.g., 'max_tokens', 'top_p'). */\n readonly outputKey: string;\n}\n\n/**\n * SAP-compatible tool parameters structure.\n * Must have type \"object\" as required by the SAP AI APIs.\n * @internal\n */\nexport type SAPToolParameters = Record<string, unknown> & {\n type: \"object\";\n};\n\n/**\n * State object for tracking streaming response processing.\n * @internal\n */\nexport interface StreamState {\n /** Whether a text block is currently active. */\n activeText: boolean;\n /** The finish reason for the response. */\n finishReason: LanguageModelV3FinishReason;\n /** Whether this is the first chunk in the stream. */\n isFirstChunk: boolean;\n /** Token usage tracking. */\n usage: {\n inputTokens: {\n cacheRead: number | undefined;\n cacheWrite: number | undefined;\n noCache: number | undefined;\n total: number | undefined;\n };\n outputTokens: {\n reasoning: number | undefined;\n text: number | undefined;\n total: number | undefined;\n };\n };\n}\n\n/**\n * Generates unique IDs for streaming response parts.\n *\n * Uses crypto.randomUUID() for cryptographically secure unique identifiers.\n * @internal\n */\nexport class StreamIdGenerator {\n /**\n * Generates a unique response ID.\n * @returns A UUID string for identifying the response.\n */\n generateResponseId(): string {\n return crypto.randomUUID();\n }\n\n /**\n * Generates a unique text block ID.\n * @returns A UUID string for identifying a text block.\n */\n generateTextBlockId(): string {\n return crypto.randomUUID();\n }\n}\n\n/**\n * Applies parameter overrides from AI SDK options and modelParams.\n * @param modelParams - The model parameters object to modify.\n * @param options - AI SDK call options.\n * @param sapModelParams - Provider options model params.\n * @param settingsModelParams - Settings model params.\n * @param mappings - Parameter mappings for this strategy.\n * @internal\n */\nexport function applyParameterOverrides(\n modelParams: Record<string, unknown>,\n options: Record<string, unknown>,\n sapModelParams: Record<string, unknown> | undefined,\n settingsModelParams: Record<string, unknown> | undefined,\n mappings: readonly ParamMapping[],\n): void {\n for (const mapping of mappings) {\n const value =\n (mapping.optionKey ? options[mapping.optionKey] : undefined) ??\n (mapping.camelCaseKey ? sapModelParams?.[mapping.camelCaseKey] : undefined) ??\n (mapping.camelCaseKey ? settingsModelParams?.[mapping.camelCaseKey] : undefined);\n\n if (value !== undefined) {\n modelParams[mapping.outputKey] = value;\n }\n\n if (mapping.camelCaseKey && mapping.camelCaseKey !== mapping.outputKey) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete modelParams[mapping.camelCaseKey];\n }\n }\n}\n\n/**\n * Builds a ModelDeployment object for the Foundation Models API SDK.\n *\n * Always uses model-based deployment resolution (modelName); deploymentId is\n * ignored since Foundation Models API resolves deployments automatically.\n * @param config - The strategy configuration containing deployment info and model ID.\n * @returns A ModelDeployment object with modelName for automatic deployment resolution.\n * @internal\n */\nexport function buildModelDeployment(config: BaseModelDeploymentConfig): {\n modelName: string;\n resourceGroup?: string;\n} {\n const deploymentConfig = config.deploymentConfig;\n\n // Extract resourceGroup if present\n const resourceGroup =\n \"resourceGroup\" in deploymentConfig ? deploymentConfig.resourceGroup : undefined;\n\n // Always use modelName for deployment resolution (Foundation Models API)\n return resourceGroup\n ? { modelName: config.modelId, resourceGroup }\n : { modelName: config.modelId };\n}\n\n/**\n * Builds SAP AI SDK-compatible tool parameters from a JSON schema.\n *\n * Handles edge cases:\n * - Non-object schemas are converted to empty object schemas\n * - Preserves additional schema fields (description, etc.)\n * - Validates properties and required arrays\n * @param schema - The JSON schema to convert.\n * @returns The SAP-compatible tool parameters object.\n * @internal\n */\nexport function buildSAPToolParameters(schema: Record<string, unknown>): SAPToolParameters {\n const schemaType = schema.type;\n\n // Non-object schemas are not supported - return empty object schema\n if (schemaType !== undefined && schemaType !== \"object\") {\n return {\n properties: {},\n required: [],\n type: \"object\",\n };\n }\n\n const properties =\n schema.properties && typeof schema.properties === \"object\"\n ? (schema.properties as Record<string, unknown>)\n : {};\n\n const required =\n Array.isArray(schema.required) && schema.required.every((item) => typeof item === \"string\")\n ? schema.required\n : [];\n\n // Preserve additional fields like description, additionalProperties, etc.\n const additionalFields = Object.fromEntries(\n Object.entries(schema).filter(\n ([key]) => key !== \"type\" && key !== \"properties\" && key !== \"required\",\n ),\n );\n\n return {\n properties,\n required,\n type: \"object\",\n ...additionalFields,\n };\n}\n\n/**\n * Creates a summary of Vercel AI SDK request options for error context.\n *\n * Extracts key information without including sensitive prompt data.\n * Used for debugging and error reporting.\n * @param options - The language model call options to summarize.\n * @returns An object summarizing the request for debugging.\n * @internal\n */\nexport function createAISDKRequestBodySummary(options: LanguageModelV3CallOptions): {\n hasImageParts: boolean;\n maxOutputTokens?: number;\n promptMessages: number;\n responseFormatType?: string;\n seed?: number;\n stopSequences?: number;\n temperature?: number;\n toolChoiceType?: string;\n tools: number;\n topK?: number;\n topP?: number;\n} {\n return {\n hasImageParts: options.prompt.some(\n (message) =>\n message.role === \"user\" &&\n message.content.some((part) => part.type === \"file\" && part.mediaType.startsWith(\"image/\")),\n ),\n maxOutputTokens: options.maxOutputTokens,\n promptMessages: options.prompt.length,\n responseFormatType: options.responseFormat?.type,\n seed: options.seed,\n stopSequences: options.stopSequences?.length,\n temperature: options.temperature,\n toolChoiceType: options.toolChoice?.type,\n tools: options.tools?.length ?? 0,\n topK: options.topK,\n topP: options.topP,\n };\n}\n\n/**\n * Creates the initial stream state for processing streaming responses.\n *\n * Provides consistent initial state across both Orchestration and Foundation Models strategies.\n * @returns The initial stream state object.\n * @internal\n */\nexport function createInitialStreamState(): StreamState {\n return {\n activeText: false,\n finishReason: {\n raw: undefined,\n unified: \"other\" as const,\n },\n isFirstChunk: true,\n usage: {\n inputTokens: {\n cacheRead: undefined,\n cacheWrite: undefined,\n noCache: undefined,\n total: undefined,\n },\n outputTokens: {\n reasoning: undefined,\n text: undefined,\n total: undefined,\n },\n },\n };\n}\n\n/**\n * Checks if an object has a callable parse method.\n * @param obj - The object to check for a parse method.\n * @returns True if the object has a callable parse method.\n * @internal\n */\nexport function hasCallableParse(\n obj: Record<string, unknown>,\n): obj is Record<string, unknown> & { parse: (...args: unknown[]) => unknown } {\n return typeof obj.parse === \"function\";\n}\n\n/**\n * Type guard for Zod schema objects.\n *\n * Detects Zod schemas by checking for the presence of `_def` and a callable `parse` method.\n * @param obj - The object to check.\n * @returns True if the object is a Zod schema.\n * @internal\n */\nexport function isZodSchema(obj: unknown): obj is ZodType {\n if (obj === null || typeof obj !== \"object\") {\n return false;\n }\n const record = obj as Record<string, unknown>;\n return \"_def\" in record && \"parse\" in record && hasCallableParse(record);\n}\n\n/**\n * Maps provider finish reasons to Vercel AI SDK LanguageModelV3FinishReason.\n *\n * Handles various finish reason formats from different model providers:\n * - OpenAI: \"stop\", \"length\", \"tool_calls\", \"content_filter\"\n * - Anthropic: \"end_turn\", \"stop_sequence\", \"max_tokens\"\n * - Amazon: \"eos\", \"max_tokens_reached\"\n * - Others: \"error\", \"function_call\", \"tool_call\"\n * @param reason - The raw finish reason string from the provider.\n * @returns The unified finish reason with both raw and unified representations.\n * @internal\n */\nexport function mapFinishReason(reason: null | string | undefined): LanguageModelV3FinishReason {\n const raw = reason ?? undefined;\n\n if (!reason) {\n return { raw, unified: \"other\" };\n }\n\n switch (reason.toLowerCase()) {\n case \"content_filter\":\n return { raw, unified: \"content-filter\" };\n case \"end_turn\":\n case \"eos\":\n case \"stop\":\n case \"stop_sequence\":\n return { raw, unified: \"stop\" };\n case \"error\":\n return { raw, unified: \"error\" };\n case \"function_call\":\n case \"tool_call\":\n case \"tool_calls\":\n return { raw, unified: \"tool-calls\" };\n case \"length\":\n case \"max_tokens\":\n case \"max_tokens_reached\":\n return { raw, unified: \"length\" };\n default:\n return { raw, unified: \"other\" };\n }\n}\n\n/**\n * Converts SAP AI SDK embedding (number[] or base64) to Vercel AI SDK format.\n *\n * Handles both formats that can be returned by embedding APIs:\n * - Direct number arrays (most common)\n * - Base64-encoded float32 arrays (for bandwidth efficiency)\n * @param embedding - The embedding as number array or base64 string.\n * @returns The normalized embedding as a number array.\n * @internal\n */\nexport function normalizeEmbedding(embedding: number[] | string): EmbeddingModelV3Embedding {\n if (Array.isArray(embedding)) {\n return embedding;\n }\n // Base64-encoded float32 values\n const buffer = Buffer.from(embedding, \"base64\");\n const float32Array = new Float32Array(\n buffer.buffer,\n buffer.byteOffset,\n buffer.length / Float32Array.BYTES_PER_ELEMENT,\n );\n return Array.from(float32Array);\n}\n"],"mappings":"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","names":[]}
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildModelDeployment,
3
3
  normalizeEmbedding
4
- } from "./chunk-HRARBIFX.js";
4
+ } from "./chunk-N3IRJKV2.js";
5
5
  import {
6
6
  VERSION,
7
7
  convertToAISDKError,
8
8
  getProviderName,
9
9
  sapAIEmbeddingProviderOptions
10
- } from "./chunk-VVMCHBH6.js";
10
+ } from "./chunk-6SUOKHXD.js";
11
11
 
12
12
  // src/foundation-models-embedding-model-strategy.ts
13
13
  import { TooManyEmbeddingValuesForCallError } from "@ai-sdk/provider";
@@ -134,4 +134,4 @@ var FoundationModelsEmbeddingModelStrategy = class {
134
134
  export {
135
135
  FoundationModelsEmbeddingModelStrategy
136
136
  };
137
- //# sourceMappingURL=foundation-models-embedding-model-strategy-UWHFRSAZ.js.map
137
+ //# sourceMappingURL=foundation-models-embedding-model-strategy-AVAK533Z.js.map
@@ -13,7 +13,7 @@ import {
13
13
  createInitialStreamState,
14
14
  isZodSchema,
15
15
  mapFinishReason
16
- } from "./chunk-HRARBIFX.js";
16
+ } from "./chunk-N3IRJKV2.js";
17
17
  import {
18
18
  VERSION,
19
19
  convertToAISDKError,
@@ -21,7 +21,7 @@ import {
21
21
  normalizeHeaders,
22
22
  sapAILanguageModelProviderOptions,
23
23
  validateModelParamsWithWarnings
24
- } from "./chunk-VVMCHBH6.js";
24
+ } from "./chunk-6SUOKHXD.js";
25
25
 
26
26
  // src/foundation-models-language-model-strategy.ts
27
27
  import { parseProviderOptions } from "@ai-sdk/provider-utils";
@@ -529,4 +529,4 @@ var FoundationModelsLanguageModelStrategy = class {
529
529
  export {
530
530
  FoundationModelsLanguageModelStrategy
531
531
  };
532
- //# sourceMappingURL=foundation-models-language-model-strategy-6Z3M5VEF.js.map
532
+ //# sourceMappingURL=foundation-models-language-model-strategy-PUANSTGO.js.map
package/dist/index.cjs CHANGED
@@ -30525,9 +30525,6 @@ function applyParameterOverrides(modelParams, options, sapModelParams, settingsM
30525
30525
  function buildModelDeployment(config) {
30526
30526
  const deploymentConfig = config.deploymentConfig;
30527
30527
  const resourceGroup = "resourceGroup" in deploymentConfig ? deploymentConfig.resourceGroup : void 0;
30528
- if ("deploymentId" in deploymentConfig) {
30529
- return resourceGroup ? { deploymentId: deploymentConfig.deploymentId, resourceGroup } : { deploymentId: deploymentConfig.deploymentId };
30530
- }
30531
30528
  return resourceGroup ? { modelName: config.modelId, resourceGroup } : { modelName: config.modelId };
30532
30529
  }
30533
30530
  function buildSAPToolParameters(schema) {
@@ -30670,7 +30667,7 @@ var VERSION;
30670
30667
  var init_version = __esm({
30671
30668
  "src/version.ts"() {
30672
30669
  "use strict";
30673
- VERSION = true ? "4.4.0" : "0.0.0-test";
30670
+ VERSION = true ? "4.4.1" : "0.0.0-test";
30674
30671
  }
30675
30672
  });
30676
30673
 
@@ -32505,8 +32502,9 @@ function createSAPAIProvider(options = {}) {
32505
32502
  const logLevel = options.logLevel ?? "warn";
32506
32503
  (0, import_util2.setGlobalLogLevel)(logLevel);
32507
32504
  }
32508
- const deploymentConfig = options.deploymentId ? { deploymentId: options.deploymentId } : { resourceGroup };
32509
32505
  const providerApi = options.api ?? "orchestration";
32506
+ const effectiveDeploymentId = providerApi === "foundation-models" ? void 0 : options.deploymentId;
32507
+ const deploymentConfig = effectiveDeploymentId ? { deploymentId: effectiveDeploymentId } : { resourceGroup };
32510
32508
  const createModel = (modelId, settings = {}) => {
32511
32509
  const mergedSettings = {
32512
32510
  ...options.defaultSettings,