@jerome-benoit/sap-ai-provider-v2 4.1.3 → 4.2.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.
- package/README.md +2 -1
- package/dist/index.cjs +19 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +58 -5
- package/dist/index.d.ts +58 -5
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
5
5
|
[](https://sdk.vercel.ai/docs)
|
|
6
6
|
[](https://sdk.vercel.ai/docs/ai-sdk-core/provider-management)
|
|
7
|
-
[](https://sdk.vercel.ai/docs/ai-sdk-core/embeddings)
|
|
8
8
|
|
|
9
9
|
> **Note:** This is a **V2-compatible fork** for use with **AI SDK 5.x**.
|
|
10
10
|
|
|
@@ -549,6 +549,7 @@ authentication, model parameters, data masking, content filtering, and more.
|
|
|
549
549
|
|
|
550
550
|
**Common Configuration:**
|
|
551
551
|
|
|
552
|
+
- `name`: Provider name (default: `'sap-ai'`). Used as key in `providerOptions`/`providerMetadata`.
|
|
552
553
|
- `resourceGroup`: SAP AI Core resource group (default: 'default')
|
|
553
554
|
- `deploymentId`: Specific deployment ID (auto-resolved if not set)
|
|
554
555
|
- `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
|
+
getProviderName: () => getProviderName,
|
|
29753
29754
|
isConfigReference: () => import_orchestration3.isConfigReference,
|
|
29754
29755
|
sapAIEmbeddingProviderOptions: () => sapAIEmbeddingProviderOptions,
|
|
29755
29756
|
sapAILanguageModelProviderOptions: () => sapAILanguageModelProviderOptions,
|
|
@@ -30225,6 +30226,10 @@ function tryExtractSAPErrorFromMessage(message) {
|
|
|
30225
30226
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
30226
30227
|
var import_zod = require("zod");
|
|
30227
30228
|
var SAP_AI_PROVIDER_NAME = "sap-ai";
|
|
30229
|
+
function getProviderName(providerIdentifier) {
|
|
30230
|
+
const dotIndex = providerIdentifier.indexOf(".");
|
|
30231
|
+
return dotIndex === -1 ? providerIdentifier : providerIdentifier.slice(0, dotIndex);
|
|
30232
|
+
}
|
|
30228
30233
|
var modelParamsSchema = import_zod.z.object({
|
|
30229
30234
|
/**
|
|
30230
30235
|
* Frequency penalty between -2.0 and 2.0.
|
|
@@ -30412,8 +30417,9 @@ var SAPAIEmbeddingModel = class {
|
|
|
30412
30417
|
*/
|
|
30413
30418
|
async doEmbed(options) {
|
|
30414
30419
|
const { abortSignal, providerOptions, values } = options;
|
|
30420
|
+
const providerName = getProviderName(this.config.provider);
|
|
30415
30421
|
const sapOptions = await (0, import_provider_utils2.parseProviderOptions)({
|
|
30416
|
-
provider:
|
|
30422
|
+
provider: providerName,
|
|
30417
30423
|
providerOptions,
|
|
30418
30424
|
schema: sapAIEmbeddingProviderOptions
|
|
30419
30425
|
});
|
|
@@ -30443,7 +30449,7 @@ var SAPAIEmbeddingModel = class {
|
|
|
30443
30449
|
(data) => this.normalizeEmbedding(data.embedding)
|
|
30444
30450
|
);
|
|
30445
30451
|
const providerMetadata = {
|
|
30446
|
-
|
|
30452
|
+
[providerName]: {
|
|
30447
30453
|
model: this.modelId
|
|
30448
30454
|
}
|
|
30449
30455
|
};
|
|
@@ -30965,11 +30971,12 @@ var SAPAILanguageModel = class {
|
|
|
30965
30971
|
tokenUsage,
|
|
30966
30972
|
toolCalls
|
|
30967
30973
|
};
|
|
30974
|
+
const providerName = getProviderName(this.config.provider);
|
|
30968
30975
|
return {
|
|
30969
30976
|
content,
|
|
30970
30977
|
finishReason,
|
|
30971
30978
|
providerMetadata: {
|
|
30972
|
-
|
|
30979
|
+
[providerName]: {
|
|
30973
30980
|
finishReason: finishReasonRaw ?? "unknown",
|
|
30974
30981
|
finishReasonMapped: finishReason,
|
|
30975
30982
|
...typeof responseHeaders?.["x-request-id"] === "string" ? { requestId: responseHeaders["x-request-id"] } : {}
|
|
@@ -31100,6 +31107,7 @@ var SAPAILanguageModel = class {
|
|
|
31100
31107
|
const toolCallsInProgress = /* @__PURE__ */ new Map();
|
|
31101
31108
|
const sdkStream = streamResponse.stream;
|
|
31102
31109
|
const modelId = this.modelId;
|
|
31110
|
+
const providerName = getProviderName(this.config.provider);
|
|
31103
31111
|
const warningsSnapshot = [...warnings];
|
|
31104
31112
|
const warningsOut = [...warningsSnapshot];
|
|
31105
31113
|
const transformedStream = new ReadableStream({
|
|
@@ -31288,7 +31296,7 @@ var SAPAILanguageModel = class {
|
|
|
31288
31296
|
controller.enqueue({
|
|
31289
31297
|
finishReason: streamState.finishReason,
|
|
31290
31298
|
providerMetadata: {
|
|
31291
|
-
|
|
31299
|
+
[providerName]: {
|
|
31292
31300
|
finishReason: streamState.finishReason.raw,
|
|
31293
31301
|
responseId
|
|
31294
31302
|
}
|
|
@@ -31344,8 +31352,9 @@ var SAPAILanguageModel = class {
|
|
|
31344
31352
|
* @internal
|
|
31345
31353
|
*/
|
|
31346
31354
|
async buildOrchestrationConfig(options) {
|
|
31355
|
+
const providerName = getProviderName(this.config.provider);
|
|
31347
31356
|
const sapOptions = await (0, import_provider_utils3.parseProviderOptions)({
|
|
31348
|
-
provider:
|
|
31357
|
+
provider: providerName,
|
|
31349
31358
|
providerOptions: options.providerOptions,
|
|
31350
31359
|
schema: sapAILanguageModelProviderOptions
|
|
31351
31360
|
});
|
|
@@ -31768,6 +31777,7 @@ function createSAPAIProvider(options = {}) {
|
|
|
31768
31777
|
if (options.defaultSettings?.modelParams) {
|
|
31769
31778
|
validateModelParamsSettings(options.defaultSettings.modelParams);
|
|
31770
31779
|
}
|
|
31780
|
+
const providerName = options.name ?? SAP_AI_PROVIDER_NAME;
|
|
31771
31781
|
const resourceGroup = options.resourceGroup ?? "default";
|
|
31772
31782
|
const warnOnAmbiguousConfig = options.warnOnAmbiguousConfig ?? true;
|
|
31773
31783
|
if (warnOnAmbiguousConfig && options.deploymentId && options.resourceGroup) {
|
|
@@ -31792,14 +31802,14 @@ function createSAPAIProvider(options = {}) {
|
|
|
31792
31802
|
return new SAPAILanguageModelV2(modelId, mergedSettings, {
|
|
31793
31803
|
deploymentConfig,
|
|
31794
31804
|
destination: options.destination,
|
|
31795
|
-
provider:
|
|
31805
|
+
provider: `${providerName}.chat`
|
|
31796
31806
|
});
|
|
31797
31807
|
};
|
|
31798
31808
|
const createEmbeddingModel = (modelId, settings = {}) => {
|
|
31799
31809
|
return new SAPAIEmbeddingModelV2(modelId, settings, {
|
|
31800
31810
|
deploymentConfig,
|
|
31801
31811
|
destination: options.destination,
|
|
31802
|
-
provider:
|
|
31812
|
+
provider: `${providerName}.embedding`
|
|
31803
31813
|
});
|
|
31804
31814
|
};
|
|
31805
31815
|
const provider = function(modelId, settings) {
|
|
@@ -31808,8 +31818,8 @@ function createSAPAIProvider(options = {}) {
|
|
|
31808
31818
|
}
|
|
31809
31819
|
return createModel(modelId, settings);
|
|
31810
31820
|
};
|
|
31811
|
-
provider.languageModel = createModel;
|
|
31812
31821
|
provider.chat = createModel;
|
|
31822
|
+
provider.languageModel = createModel;
|
|
31813
31823
|
provider.embedding = createEmbeddingModel;
|
|
31814
31824
|
provider.textEmbeddingModel = createEmbeddingModel;
|
|
31815
31825
|
provider.imageModel = (modelId) => {
|
|
@@ -31844,6 +31854,7 @@ var import_orchestration5 = require("@sap-ai-sdk/orchestration");
|
|
|
31844
31854
|
buildLlamaGuard38BFilter,
|
|
31845
31855
|
buildTranslationConfig,
|
|
31846
31856
|
createSAPAIProvider,
|
|
31857
|
+
getProviderName,
|
|
31847
31858
|
isConfigReference,
|
|
31848
31859
|
sapAIEmbeddingProviderOptions,
|
|
31849
31860
|
sapAILanguageModelProviderOptions,
|