@jerome-benoit/sap-ai-provider 4.1.3 → 4.2.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/README.md CHANGED
@@ -548,6 +548,7 @@ authentication, model parameters, data masking, content filtering, and more.
548
548
 
549
549
  **Common Configuration:**
550
550
 
551
+ - `name`: Provider base name (default: 'sap-ai').
551
552
  - `resourceGroup`: SAP AI Core resource group (default: 'default')
552
553
  - `deploymentId`: Specific deployment ID (auto-resolved if not set)
553
554
  - `modelParams`: Temperature, maxTokens, topP, and other generation parameters
package/dist/index.cjs CHANGED
@@ -29750,6 +29750,7 @@ __export(index_exports, {
29750
29750
  buildLlamaGuard38BFilter: () => import_orchestration3.buildLlamaGuard38BFilter,
29751
29751
  buildTranslationConfig: () => import_orchestration3.buildTranslationConfig,
29752
29752
  createSAPAIProvider: () => createSAPAIProvider,
29753
+ getBaseProviderName: () => getBaseProviderName,
29753
29754
  isConfigReference: () => import_orchestration3.isConfigReference,
29754
29755
  sapAIEmbeddingProviderOptions: () => sapAIEmbeddingProviderOptions,
29755
29756
  sapAILanguageModelProviderOptions: () => sapAILanguageModelProviderOptions,
@@ -30154,6 +30155,10 @@ function tryExtractSAPErrorFromMessage(message) {
30154
30155
  var import_provider_utils = require("@ai-sdk/provider-utils");
30155
30156
  var import_zod = require("zod");
30156
30157
  var SAP_AI_PROVIDER_NAME = "sap-ai";
30158
+ function getBaseProviderName(provider) {
30159
+ const dotIndex = provider.indexOf(".");
30160
+ return dotIndex === -1 ? provider : provider.slice(0, dotIndex);
30161
+ }
30157
30162
  var modelParamsSchema = import_zod.z.object({
30158
30163
  /**
30159
30164
  * Frequency penalty between -2.0 and 2.0.
@@ -30341,8 +30346,9 @@ var SAPAIEmbeddingModel = class {
30341
30346
  */
30342
30347
  async doEmbed(options) {
30343
30348
  const { abortSignal, providerOptions, values } = options;
30349
+ const baseProviderName = getBaseProviderName(this.config.provider);
30344
30350
  const sapOptions = await (0, import_provider_utils2.parseProviderOptions)({
30345
- provider: SAP_AI_PROVIDER_NAME,
30351
+ provider: baseProviderName,
30346
30352
  providerOptions,
30347
30353
  schema: sapAIEmbeddingProviderOptions
30348
30354
  });
@@ -30372,7 +30378,7 @@ var SAPAIEmbeddingModel = class {
30372
30378
  (data) => this.normalizeEmbedding(data.embedding)
30373
30379
  );
30374
30380
  const providerMetadata = {
30375
- "sap-ai": {
30381
+ [baseProviderName]: {
30376
30382
  model: this.modelId
30377
30383
  }
30378
30384
  };
@@ -30815,11 +30821,12 @@ var SAPAILanguageModel = class {
30815
30821
  tokenUsage,
30816
30822
  toolCalls
30817
30823
  };
30824
+ const baseProviderName = getBaseProviderName(this.config.provider);
30818
30825
  return {
30819
30826
  content,
30820
30827
  finishReason,
30821
30828
  providerMetadata: {
30822
- "sap-ai": {
30829
+ [baseProviderName]: {
30823
30830
  finishReason: finishReasonRaw ?? "unknown",
30824
30831
  finishReasonMapped: finishReason,
30825
30832
  ...typeof responseHeaders?.["x-request-id"] === "string" ? { requestId: responseHeaders["x-request-id"] } : {}
@@ -30950,6 +30957,7 @@ var SAPAILanguageModel = class {
30950
30957
  const toolCallsInProgress = /* @__PURE__ */ new Map();
30951
30958
  const sdkStream = streamResponse.stream;
30952
30959
  const modelId = this.modelId;
30960
+ const baseProviderName = getBaseProviderName(this.config.provider);
30953
30961
  const warningsSnapshot = [...warnings];
30954
30962
  const warningsOut = [...warningsSnapshot];
30955
30963
  const transformedStream = new ReadableStream({
@@ -31138,7 +31146,7 @@ var SAPAILanguageModel = class {
31138
31146
  controller.enqueue({
31139
31147
  finishReason: streamState.finishReason,
31140
31148
  providerMetadata: {
31141
- "sap-ai": {
31149
+ [baseProviderName]: {
31142
31150
  finishReason: streamState.finishReason.raw,
31143
31151
  responseId
31144
31152
  }
@@ -31194,8 +31202,9 @@ var SAPAILanguageModel = class {
31194
31202
  * @internal
31195
31203
  */
31196
31204
  async buildOrchestrationConfig(options) {
31205
+ const baseProviderName = getBaseProviderName(this.config.provider);
31197
31206
  const sapOptions = await (0, import_provider_utils3.parseProviderOptions)({
31198
- provider: SAP_AI_PROVIDER_NAME,
31207
+ provider: baseProviderName,
31199
31208
  providerOptions: options.providerOptions,
31200
31209
  schema: sapAILanguageModelProviderOptions
31201
31210
  });
@@ -31460,6 +31469,7 @@ function createSAPAIProvider(options = {}) {
31460
31469
  if (options.defaultSettings?.modelParams) {
31461
31470
  validateModelParamsSettings(options.defaultSettings.modelParams);
31462
31471
  }
31472
+ const providerName = options.name ?? SAP_AI_PROVIDER_NAME;
31463
31473
  const resourceGroup = options.resourceGroup ?? "default";
31464
31474
  const warnOnAmbiguousConfig = options.warnOnAmbiguousConfig ?? true;
31465
31475
  if (warnOnAmbiguousConfig && options.deploymentId && options.resourceGroup) {
@@ -31484,14 +31494,14 @@ function createSAPAIProvider(options = {}) {
31484
31494
  return new SAPAILanguageModel(modelId, mergedSettings, {
31485
31495
  deploymentConfig,
31486
31496
  destination: options.destination,
31487
- provider: "sap-ai"
31497
+ provider: `${providerName}.chat`
31488
31498
  });
31489
31499
  };
31490
31500
  const createEmbeddingModel = (modelId, settings = {}) => {
31491
31501
  return new SAPAIEmbeddingModel(modelId, settings, {
31492
31502
  deploymentConfig,
31493
31503
  destination: options.destination,
31494
- provider: "sap-ai"
31504
+ provider: `${providerName}.embedding`
31495
31505
  });
31496
31506
  };
31497
31507
  const provider = function(modelId, settings) {
@@ -31538,6 +31548,7 @@ var import_orchestration5 = require("@sap-ai-sdk/orchestration");
31538
31548
  buildLlamaGuard38BFilter,
31539
31549
  buildTranslationConfig,
31540
31550
  createSAPAIProvider,
31551
+ getBaseProviderName,
31541
31552
  isConfigReference,
31542
31553
  sapAIEmbeddingProviderOptions,
31543
31554
  sapAILanguageModelProviderOptions,