sarvam-ai-sdk 0.0.8 → 0.1.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/index.js +273 -302
- package/dist/index.js.map +1 -1
- package/dist/{index.cjs → index.mjs} +294 -290
- package/dist/index.mjs.map +1 -0
- package/package.json +2 -3
- package/dist/index.cjs.map +0 -1
- /package/dist/{index.d.cts → index.d.mts} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,61 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
for (var prop in b || (b = {}))
|
|
10
|
-
if (__hasOwnProp.call(b, prop))
|
|
11
|
-
__defNormalProp(a, prop, b[prop]);
|
|
12
|
-
if (__getOwnPropSymbols)
|
|
13
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
-
if (__propIsEnum.call(b, prop))
|
|
15
|
-
__defNormalProp(a, prop, b[prop]);
|
|
16
|
-
}
|
|
17
|
-
return a;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
9
|
};
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
-
target[prop] = source[prop];
|
|
29
|
-
}
|
|
30
|
-
return target;
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
31
17
|
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
createSarvam: () => createSarvam,
|
|
24
|
+
sarvam: () => sarvam
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(index_exports);
|
|
32
27
|
|
|
33
28
|
// src/sarvam-provider.ts
|
|
34
|
-
|
|
35
|
-
loadApiKey,
|
|
36
|
-
withoutTrailingSlash
|
|
37
|
-
} from "@ai-sdk/provider-utils";
|
|
29
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
38
30
|
|
|
39
31
|
// src/sarvam-chat-language-model.ts
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
import {
|
|
44
|
-
combineHeaders,
|
|
45
|
-
createEventSourceResponseHandler,
|
|
46
|
-
createJsonResponseHandler,
|
|
47
|
-
generateId as generateId2,
|
|
48
|
-
isParsableJson,
|
|
49
|
-
parseProviderOptions,
|
|
50
|
-
postJsonToApi
|
|
51
|
-
} from "@ai-sdk/provider-utils";
|
|
52
|
-
import { z as z2 } from "zod";
|
|
32
|
+
var import_provider3 = require("@ai-sdk/provider");
|
|
33
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
34
|
+
var import_zod2 = require("zod");
|
|
53
35
|
|
|
54
36
|
// src/convert-to-sarvam-chat-messages.ts
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
} from "@ai-sdk/provider";
|
|
58
|
-
import { convertUint8ArrayToBase64 } from "@ai-sdk/provider-utils";
|
|
37
|
+
var import_provider = require("@ai-sdk/provider");
|
|
38
|
+
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
59
39
|
function convertToSarvamChatMessages(prompt, fakeToolSystemPrompt) {
|
|
60
40
|
const messages = [];
|
|
61
41
|
for (const { role, content } of prompt) {
|
|
@@ -84,12 +64,12 @@ ${fakeToolSystemPrompt}` : content;
|
|
|
84
64
|
return {
|
|
85
65
|
type: "image_url",
|
|
86
66
|
image_url: {
|
|
87
|
-
url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : "image/jpeg"};base64,${convertUint8ArrayToBase64(part.image)}`
|
|
67
|
+
url: part.image instanceof URL ? part.image.toString() : `data:${(_a = part.mimeType) != null ? _a : "image/jpeg"};base64,${(0, import_provider_utils.convertUint8ArrayToBase64)(part.image)}`
|
|
88
68
|
}
|
|
89
69
|
};
|
|
90
70
|
}
|
|
91
71
|
case "file": {
|
|
92
|
-
throw new UnsupportedFunctionalityError({
|
|
72
|
+
throw new import_provider.UnsupportedFunctionalityError({
|
|
93
73
|
functionality: "File content parts in user messages"
|
|
94
74
|
});
|
|
95
75
|
}
|
|
@@ -177,25 +157,23 @@ function mapSarvamFinishReason(finishReason) {
|
|
|
177
157
|
}
|
|
178
158
|
|
|
179
159
|
// src/sarvam-error.ts
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
var sarvamErrorDataSchema = z.object({
|
|
183
|
-
error: z.object({
|
|
184
|
-
message: z.string(),
|
|
185
|
-
type: z.string()
|
|
160
|
+
var import_zod = require("zod");
|
|
161
|
+
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
162
|
+
var sarvamErrorDataSchema = import_zod.z.object({
|
|
163
|
+
error: import_zod.z.object({
|
|
164
|
+
message: import_zod.z.string(),
|
|
165
|
+
type: import_zod.z.string()
|
|
186
166
|
})
|
|
187
167
|
});
|
|
188
|
-
var sarvamFailedResponseHandler = createJsonErrorResponseHandler({
|
|
168
|
+
var sarvamFailedResponseHandler = (0, import_provider_utils2.createJsonErrorResponseHandler)({
|
|
189
169
|
errorSchema: sarvamErrorDataSchema,
|
|
190
170
|
errorToMessage: (data) => data.error.message
|
|
191
171
|
});
|
|
192
172
|
|
|
193
173
|
// src/sarvam-prepare-tools.ts
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
import { generateId } from "@ai-sdk/provider-utils";
|
|
198
|
-
import { compile } from "json-schema-to-typescript";
|
|
174
|
+
var import_provider2 = require("@ai-sdk/provider");
|
|
175
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
176
|
+
var import_json_schema_to_typescript = require("json-schema-to-typescript");
|
|
199
177
|
function prepareTools({
|
|
200
178
|
mode
|
|
201
179
|
}) {
|
|
@@ -243,7 +221,7 @@ function prepareTools({
|
|
|
243
221
|
};
|
|
244
222
|
default: {
|
|
245
223
|
const _exhaustiveCheck = type;
|
|
246
|
-
throw new
|
|
224
|
+
throw new import_provider2.UnsupportedFunctionalityError({
|
|
247
225
|
functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`
|
|
248
226
|
});
|
|
249
227
|
}
|
|
@@ -254,7 +232,7 @@ var simulateToolCalling = async (tools) => {
|
|
|
254
232
|
const names = [];
|
|
255
233
|
for (const tool of tools) {
|
|
256
234
|
names.push(tool.function.name);
|
|
257
|
-
const tsType = await compile(
|
|
235
|
+
const tsType = await (0, import_json_schema_to_typescript.compile)(
|
|
258
236
|
tool.function.parameters,
|
|
259
237
|
tool.function.name,
|
|
260
238
|
{
|
|
@@ -299,7 +277,7 @@ var extractToolCallData = (jsonObject) => {
|
|
|
299
277
|
if (!("toolData" in toolFunction)) return;
|
|
300
278
|
return {
|
|
301
279
|
args: JSON.stringify(toolFunction.toolData),
|
|
302
|
-
toolCallId: generateId(),
|
|
280
|
+
toolCallId: (0, import_provider_utils3.generateId)(),
|
|
303
281
|
toolCallType: "function",
|
|
304
282
|
toolName: toolFunction.toolName
|
|
305
283
|
};
|
|
@@ -374,11 +352,11 @@ var SarvamChatLanguageModel = class {
|
|
|
374
352
|
details: "JSON response format schema is not supported"
|
|
375
353
|
});
|
|
376
354
|
}
|
|
377
|
-
const sarvamOptions = parseProviderOptions({
|
|
355
|
+
const sarvamOptions = (0, import_provider_utils4.parseProviderOptions)({
|
|
378
356
|
provider: "sarvam",
|
|
379
357
|
providerOptions: providerMetadata,
|
|
380
|
-
schema:
|
|
381
|
-
reasoningFormat:
|
|
358
|
+
schema: import_zod2.z.object({
|
|
359
|
+
reasoningFormat: import_zod2.z.enum(["parsed", "raw", "hidden"]).nullish()
|
|
382
360
|
})
|
|
383
361
|
});
|
|
384
362
|
const baseArgs = (prompt2, extraSystemPrompt) => ({
|
|
@@ -412,28 +390,31 @@ var SarvamChatLanguageModel = class {
|
|
|
412
390
|
});
|
|
413
391
|
const extraSystemPrompt = tools && simulate === "tool-calling" ? await simulateToolCalling(tools) : void 0;
|
|
414
392
|
return {
|
|
415
|
-
args:
|
|
393
|
+
args: {
|
|
394
|
+
...baseArgs(prompt, extraSystemPrompt),
|
|
416
395
|
tools,
|
|
417
396
|
tool_choice
|
|
418
|
-
}
|
|
397
|
+
},
|
|
419
398
|
warnings: [...warnings, ...toolWarnings]
|
|
420
399
|
};
|
|
421
400
|
}
|
|
422
401
|
case "object-json": {
|
|
423
402
|
const extraSystemPrompt = simulate === "json-object" ? simulateJsonSchema() : void 0;
|
|
424
403
|
return {
|
|
425
|
-
args:
|
|
404
|
+
args: {
|
|
405
|
+
...baseArgs(prompt, extraSystemPrompt),
|
|
426
406
|
response_format: (
|
|
427
407
|
// json object response format is not supported for streaming:
|
|
428
408
|
stream === false ? { type: "json_object" } : void 0
|
|
429
409
|
)
|
|
430
|
-
}
|
|
410
|
+
},
|
|
431
411
|
warnings
|
|
432
412
|
};
|
|
433
413
|
}
|
|
434
414
|
case "object-tool": {
|
|
435
415
|
return {
|
|
436
|
-
args:
|
|
416
|
+
args: {
|
|
417
|
+
...baseArgs(prompt),
|
|
437
418
|
tool_choice: {
|
|
438
419
|
type: "function",
|
|
439
420
|
function: { name: mode.tool.name }
|
|
@@ -448,7 +429,7 @@ var SarvamChatLanguageModel = class {
|
|
|
448
429
|
}
|
|
449
430
|
}
|
|
450
431
|
]
|
|
451
|
-
}
|
|
432
|
+
},
|
|
452
433
|
warnings
|
|
453
434
|
};
|
|
454
435
|
}
|
|
@@ -459,37 +440,38 @@ var SarvamChatLanguageModel = class {
|
|
|
459
440
|
}
|
|
460
441
|
}
|
|
461
442
|
async doGenerate(options) {
|
|
462
|
-
var _b, _c, _d, _e, _f, _g
|
|
463
|
-
const { args, warnings } = await this.getArgs(
|
|
443
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
444
|
+
const { args, warnings } = await this.getArgs({
|
|
445
|
+
...options,
|
|
464
446
|
stream: false
|
|
465
|
-
})
|
|
447
|
+
});
|
|
466
448
|
const body = JSON.stringify(args);
|
|
467
449
|
const {
|
|
468
450
|
responseHeaders,
|
|
469
451
|
value: response,
|
|
470
452
|
rawValue: rawResponse
|
|
471
|
-
} = await postJsonToApi({
|
|
453
|
+
} = await (0, import_provider_utils4.postJsonToApi)({
|
|
472
454
|
url: this.config.url({
|
|
473
455
|
path: "/chat/completions",
|
|
474
456
|
modelId: this.modelId
|
|
475
457
|
}),
|
|
476
|
-
headers: combineHeaders(this.config.headers(), options.headers),
|
|
458
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
477
459
|
body: args,
|
|
478
460
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
479
|
-
successfulResponseHandler: createJsonResponseHandler(
|
|
461
|
+
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
|
|
480
462
|
sarvamChatResponseSchema
|
|
481
463
|
),
|
|
482
464
|
abortSignal: options.abortSignal,
|
|
483
465
|
fetch: this.config.fetch
|
|
484
466
|
});
|
|
485
|
-
const
|
|
467
|
+
const { messages: rawPrompt, ...rawSettings } = args;
|
|
486
468
|
const choice = response.choices[0];
|
|
487
|
-
let text = (
|
|
488
|
-
let toolCalls = (
|
|
469
|
+
let text = (_a = choice.message.content) != null ? _a : void 0;
|
|
470
|
+
let toolCalls = (_b = choice.message.tool_calls) == null ? void 0 : _b.map((toolCall) => {
|
|
489
471
|
var _a2;
|
|
490
472
|
return {
|
|
491
473
|
toolCallType: "function",
|
|
492
|
-
toolCallId: (_a2 = toolCall.id) != null ? _a2 :
|
|
474
|
+
toolCallId: (_a2 = toolCall.id) != null ? _a2 : (0, import_provider_utils4.generateId)(),
|
|
493
475
|
toolName: toolCall.function.name,
|
|
494
476
|
args: toolCall.function.arguments
|
|
495
477
|
};
|
|
@@ -518,11 +500,11 @@ var SarvamChatLanguageModel = class {
|
|
|
518
500
|
return {
|
|
519
501
|
text,
|
|
520
502
|
toolCalls,
|
|
521
|
-
reasoning: (
|
|
503
|
+
reasoning: (_c = choice.message.reasoning) != null ? _c : void 0,
|
|
522
504
|
finishReason: mapSarvamFinishReason(choice.finish_reason),
|
|
523
505
|
usage: {
|
|
524
|
-
promptTokens: (
|
|
525
|
-
completionTokens: (
|
|
506
|
+
promptTokens: (_e = (_d = response.usage) == null ? void 0 : _d.prompt_tokens) != null ? _e : NaN,
|
|
507
|
+
completionTokens: (_g = (_f = response.usage) == null ? void 0 : _f.completion_tokens) != null ? _g : NaN
|
|
526
508
|
},
|
|
527
509
|
rawCall: { rawPrompt, rawSettings },
|
|
528
510
|
rawResponse: { headers: responseHeaders, body: rawResponse },
|
|
@@ -532,25 +514,26 @@ var SarvamChatLanguageModel = class {
|
|
|
532
514
|
};
|
|
533
515
|
}
|
|
534
516
|
async doStream(options) {
|
|
535
|
-
const { args, warnings } = await this.getArgs(
|
|
536
|
-
const body = JSON.stringify(
|
|
537
|
-
const { responseHeaders, value: response } = await postJsonToApi({
|
|
517
|
+
const { args, warnings } = await this.getArgs({ ...options, stream: true });
|
|
518
|
+
const body = JSON.stringify({ ...args, stream: true });
|
|
519
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({
|
|
538
520
|
url: this.config.url({
|
|
539
521
|
path: "/chat/completions",
|
|
540
522
|
modelId: this.modelId
|
|
541
523
|
}),
|
|
542
|
-
headers: combineHeaders(this.config.headers(), options.headers),
|
|
543
|
-
body:
|
|
524
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
525
|
+
body: {
|
|
526
|
+
...args,
|
|
544
527
|
stream: true
|
|
545
|
-
}
|
|
528
|
+
},
|
|
546
529
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
547
|
-
successfulResponseHandler: createEventSourceResponseHandler(
|
|
530
|
+
successfulResponseHandler: (0, import_provider_utils4.createEventSourceResponseHandler)(
|
|
548
531
|
sarvamChatChunkSchema
|
|
549
532
|
),
|
|
550
533
|
abortSignal: options.abortSignal,
|
|
551
534
|
fetch: this.config.fetch
|
|
552
535
|
});
|
|
553
|
-
const
|
|
536
|
+
const { messages: rawPrompt, ...rawSettings } = args;
|
|
554
537
|
const toolCalls = [];
|
|
555
538
|
let finishReason = "unknown";
|
|
556
539
|
let usage = {
|
|
@@ -563,7 +546,7 @@ var SarvamChatLanguageModel = class {
|
|
|
563
546
|
stream: response.pipeThrough(
|
|
564
547
|
new TransformStream({
|
|
565
548
|
transform(chunk, controller) {
|
|
566
|
-
var
|
|
549
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
567
550
|
if (!chunk.success) {
|
|
568
551
|
finishReason = "error";
|
|
569
552
|
controller.enqueue({
|
|
@@ -583,11 +566,12 @@ var SarvamChatLanguageModel = class {
|
|
|
583
566
|
}
|
|
584
567
|
if (isFirstChunk) {
|
|
585
568
|
isFirstChunk = false;
|
|
586
|
-
controller.enqueue(
|
|
587
|
-
type: "response-metadata"
|
|
588
|
-
|
|
569
|
+
controller.enqueue({
|
|
570
|
+
type: "response-metadata",
|
|
571
|
+
...getResponseMetadata(value)
|
|
572
|
+
});
|
|
589
573
|
}
|
|
590
|
-
if (((
|
|
574
|
+
if (((_a = value.x_sarvam) == null ? void 0 : _a.usage) != null) {
|
|
591
575
|
usage = {
|
|
592
576
|
promptTokens: (_b = value.x_sarvam.usage.prompt_tokens) != null ? _b : void 0,
|
|
593
577
|
completionTokens: (_c = value.x_sarvam.usage.completion_tokens) != null ? _c : void 0
|
|
@@ -618,19 +602,19 @@ var SarvamChatLanguageModel = class {
|
|
|
618
602
|
const index = toolCallDelta.index;
|
|
619
603
|
if (toolCalls[index] == null) {
|
|
620
604
|
if (toolCallDelta.type !== "function") {
|
|
621
|
-
throw new InvalidResponseDataError({
|
|
605
|
+
throw new import_provider3.InvalidResponseDataError({
|
|
622
606
|
data: toolCallDelta,
|
|
623
607
|
message: `Expected 'function' type.`
|
|
624
608
|
});
|
|
625
609
|
}
|
|
626
610
|
if (toolCallDelta.id == null) {
|
|
627
|
-
throw new InvalidResponseDataError({
|
|
611
|
+
throw new import_provider3.InvalidResponseDataError({
|
|
628
612
|
data: toolCallDelta,
|
|
629
613
|
message: `Expected 'id' to be a string.`
|
|
630
614
|
});
|
|
631
615
|
}
|
|
632
616
|
if (((_d = toolCallDelta.function) == null ? void 0 : _d.name) == null) {
|
|
633
|
-
throw new InvalidResponseDataError({
|
|
617
|
+
throw new import_provider3.InvalidResponseDataError({
|
|
634
618
|
data: toolCallDelta,
|
|
635
619
|
message: `Expected 'function.name' to be a string.`
|
|
636
620
|
});
|
|
@@ -655,11 +639,11 @@ var SarvamChatLanguageModel = class {
|
|
|
655
639
|
argsTextDelta: toolCall2.function.arguments
|
|
656
640
|
});
|
|
657
641
|
}
|
|
658
|
-
if (isParsableJson(toolCall2.function.arguments)) {
|
|
642
|
+
if ((0, import_provider_utils4.isParsableJson)(toolCall2.function.arguments)) {
|
|
659
643
|
controller.enqueue({
|
|
660
644
|
type: "tool-call",
|
|
661
645
|
toolCallType: "function",
|
|
662
|
-
toolCallId: (_h = toolCall2.id) != null ? _h :
|
|
646
|
+
toolCallId: (_h = toolCall2.id) != null ? _h : (0, import_provider_utils4.generateId)(),
|
|
663
647
|
toolName: toolCall2.function.name,
|
|
664
648
|
args: toolCall2.function.arguments
|
|
665
649
|
});
|
|
@@ -682,11 +666,11 @@ var SarvamChatLanguageModel = class {
|
|
|
682
666
|
toolName: toolCall.function.name,
|
|
683
667
|
argsTextDelta: (_l = toolCallDelta.function.arguments) != null ? _l : ""
|
|
684
668
|
});
|
|
685
|
-
if (((_m = toolCall.function) == null ? void 0 : _m.name) != null && ((_n = toolCall.function) == null ? void 0 : _n.arguments) != null && isParsableJson(toolCall.function.arguments)) {
|
|
669
|
+
if (((_m = toolCall.function) == null ? void 0 : _m.name) != null && ((_n = toolCall.function) == null ? void 0 : _n.arguments) != null && (0, import_provider_utils4.isParsableJson)(toolCall.function.arguments)) {
|
|
686
670
|
controller.enqueue({
|
|
687
671
|
type: "tool-call",
|
|
688
672
|
toolCallType: "function",
|
|
689
|
-
toolCallId: (_o = toolCall.id) != null ? _o :
|
|
673
|
+
toolCallId: (_o = toolCall.id) != null ? _o : (0, import_provider_utils4.generateId)(),
|
|
690
674
|
toolName: toolCall.function.name,
|
|
691
675
|
args: toolCall.function.arguments
|
|
692
676
|
});
|
|
@@ -696,15 +680,16 @@ var SarvamChatLanguageModel = class {
|
|
|
696
680
|
}
|
|
697
681
|
},
|
|
698
682
|
flush(controller) {
|
|
699
|
-
var
|
|
700
|
-
controller.enqueue(
|
|
683
|
+
var _a, _b;
|
|
684
|
+
controller.enqueue({
|
|
701
685
|
type: "finish",
|
|
702
686
|
finishReason,
|
|
703
687
|
usage: {
|
|
704
|
-
promptTokens: (
|
|
688
|
+
promptTokens: (_a = usage.promptTokens) != null ? _a : NaN,
|
|
705
689
|
completionTokens: (_b = usage.completionTokens) != null ? _b : NaN
|
|
706
|
-
}
|
|
707
|
-
|
|
690
|
+
},
|
|
691
|
+
...providerMetadata != null ? { providerMetadata } : {}
|
|
692
|
+
});
|
|
708
693
|
}
|
|
709
694
|
})
|
|
710
695
|
),
|
|
@@ -715,65 +700,65 @@ var SarvamChatLanguageModel = class {
|
|
|
715
700
|
};
|
|
716
701
|
}
|
|
717
702
|
};
|
|
718
|
-
var sarvamChatResponseSchema =
|
|
719
|
-
id:
|
|
720
|
-
created:
|
|
721
|
-
model:
|
|
722
|
-
choices:
|
|
723
|
-
|
|
724
|
-
message:
|
|
725
|
-
content:
|
|
726
|
-
reasoning:
|
|
727
|
-
tool_calls:
|
|
728
|
-
|
|
729
|
-
id:
|
|
730
|
-
type:
|
|
731
|
-
function:
|
|
732
|
-
name:
|
|
733
|
-
arguments:
|
|
703
|
+
var sarvamChatResponseSchema = import_zod2.z.object({
|
|
704
|
+
id: import_zod2.z.string().nullish(),
|
|
705
|
+
created: import_zod2.z.number().nullish(),
|
|
706
|
+
model: import_zod2.z.string().nullish(),
|
|
707
|
+
choices: import_zod2.z.array(
|
|
708
|
+
import_zod2.z.object({
|
|
709
|
+
message: import_zod2.z.object({
|
|
710
|
+
content: import_zod2.z.string().nullish(),
|
|
711
|
+
reasoning: import_zod2.z.string().nullish(),
|
|
712
|
+
tool_calls: import_zod2.z.array(
|
|
713
|
+
import_zod2.z.object({
|
|
714
|
+
id: import_zod2.z.string().nullish(),
|
|
715
|
+
type: import_zod2.z.literal("function"),
|
|
716
|
+
function: import_zod2.z.object({
|
|
717
|
+
name: import_zod2.z.string(),
|
|
718
|
+
arguments: import_zod2.z.string()
|
|
734
719
|
})
|
|
735
720
|
})
|
|
736
721
|
).nullish()
|
|
737
722
|
}),
|
|
738
|
-
index:
|
|
739
|
-
finish_reason:
|
|
723
|
+
index: import_zod2.z.number(),
|
|
724
|
+
finish_reason: import_zod2.z.string().nullish()
|
|
740
725
|
})
|
|
741
726
|
),
|
|
742
|
-
usage:
|
|
743
|
-
prompt_tokens:
|
|
744
|
-
completion_tokens:
|
|
727
|
+
usage: import_zod2.z.object({
|
|
728
|
+
prompt_tokens: import_zod2.z.number().nullish(),
|
|
729
|
+
completion_tokens: import_zod2.z.number().nullish()
|
|
745
730
|
}).nullish()
|
|
746
731
|
});
|
|
747
|
-
var sarvamChatChunkSchema =
|
|
748
|
-
|
|
749
|
-
id:
|
|
750
|
-
created:
|
|
751
|
-
model:
|
|
752
|
-
choices:
|
|
753
|
-
|
|
754
|
-
delta:
|
|
755
|
-
content:
|
|
756
|
-
reasoning:
|
|
757
|
-
tool_calls:
|
|
758
|
-
|
|
759
|
-
index:
|
|
760
|
-
id:
|
|
761
|
-
type:
|
|
762
|
-
function:
|
|
763
|
-
name:
|
|
764
|
-
arguments:
|
|
732
|
+
var sarvamChatChunkSchema = import_zod2.z.union([
|
|
733
|
+
import_zod2.z.object({
|
|
734
|
+
id: import_zod2.z.string().nullish(),
|
|
735
|
+
created: import_zod2.z.number().nullish(),
|
|
736
|
+
model: import_zod2.z.string().nullish(),
|
|
737
|
+
choices: import_zod2.z.array(
|
|
738
|
+
import_zod2.z.object({
|
|
739
|
+
delta: import_zod2.z.object({
|
|
740
|
+
content: import_zod2.z.string().nullish(),
|
|
741
|
+
reasoning: import_zod2.z.string().nullish(),
|
|
742
|
+
tool_calls: import_zod2.z.array(
|
|
743
|
+
import_zod2.z.object({
|
|
744
|
+
index: import_zod2.z.number(),
|
|
745
|
+
id: import_zod2.z.string().nullish(),
|
|
746
|
+
type: import_zod2.z.literal("function").optional(),
|
|
747
|
+
function: import_zod2.z.object({
|
|
748
|
+
name: import_zod2.z.string().nullish(),
|
|
749
|
+
arguments: import_zod2.z.string().nullish()
|
|
765
750
|
})
|
|
766
751
|
})
|
|
767
752
|
).nullish()
|
|
768
753
|
}).nullish(),
|
|
769
|
-
finish_reason:
|
|
770
|
-
index:
|
|
754
|
+
finish_reason: import_zod2.z.string().nullable().optional(),
|
|
755
|
+
index: import_zod2.z.number()
|
|
771
756
|
})
|
|
772
757
|
),
|
|
773
|
-
x_sarvam:
|
|
774
|
-
usage:
|
|
775
|
-
prompt_tokens:
|
|
776
|
-
completion_tokens:
|
|
758
|
+
x_sarvam: import_zod2.z.object({
|
|
759
|
+
usage: import_zod2.z.object({
|
|
760
|
+
prompt_tokens: import_zod2.z.number().nullish(),
|
|
761
|
+
completion_tokens: import_zod2.z.number().nullish()
|
|
777
762
|
}).nullish()
|
|
778
763
|
}).nullish()
|
|
779
764
|
}),
|
|
@@ -781,16 +766,11 @@ var sarvamChatChunkSchema = z2.union([
|
|
|
781
766
|
]);
|
|
782
767
|
|
|
783
768
|
// src/sarvam-speech-model.ts
|
|
784
|
-
|
|
785
|
-
combineHeaders as combineHeaders2,
|
|
786
|
-
createJsonResponseHandler as createJsonResponseHandler2,
|
|
787
|
-
parseProviderOptions as parseProviderOptions2,
|
|
788
|
-
postJsonToApi as postJsonToApi2
|
|
789
|
-
} from "@ai-sdk/provider-utils";
|
|
769
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
790
770
|
|
|
791
771
|
// src/sarvam-speech-settings.ts
|
|
792
|
-
|
|
793
|
-
var SpeakerSchema =
|
|
772
|
+
var import_zod3 = require("zod");
|
|
773
|
+
var SpeakerSchema = import_zod3.z.enum([
|
|
794
774
|
"meera",
|
|
795
775
|
"pavithra",
|
|
796
776
|
"maitreyi",
|
|
@@ -811,22 +791,22 @@ var SpeakerSchema = z3.enum([
|
|
|
811
791
|
"karun",
|
|
812
792
|
"hitesh"
|
|
813
793
|
]).default("meera");
|
|
814
|
-
var SarvamProviderOptionsSchema =
|
|
794
|
+
var SarvamProviderOptionsSchema = import_zod3.z.object({
|
|
815
795
|
speaker: SpeakerSchema,
|
|
816
|
-
pitch:
|
|
817
|
-
pace:
|
|
818
|
-
loudness:
|
|
819
|
-
speech_sample_rate:
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
796
|
+
pitch: import_zod3.z.number().min(-0.75).max(0.75).default(0),
|
|
797
|
+
pace: import_zod3.z.number().min(0.5).max(2).default(1),
|
|
798
|
+
loudness: import_zod3.z.number().min(0.3).max(3).default(1),
|
|
799
|
+
speech_sample_rate: import_zod3.z.union([
|
|
800
|
+
import_zod3.z.literal(8e3),
|
|
801
|
+
import_zod3.z.literal(16e3),
|
|
802
|
+
import_zod3.z.literal(22050),
|
|
803
|
+
import_zod3.z.literal(24e3)
|
|
824
804
|
]).default(22050),
|
|
825
|
-
enable_preprocessing:
|
|
805
|
+
enable_preprocessing: import_zod3.z.boolean().default(false)
|
|
826
806
|
}).partial();
|
|
827
807
|
|
|
828
808
|
// src/sarvam-speech-model.ts
|
|
829
|
-
|
|
809
|
+
var import_zod4 = require("zod");
|
|
830
810
|
var SarvamSpeechModel = class {
|
|
831
811
|
constructor(modelId, languageCode, config) {
|
|
832
812
|
this.modelId = modelId;
|
|
@@ -846,10 +826,13 @@ var SarvamSpeechModel = class {
|
|
|
846
826
|
providerOptions
|
|
847
827
|
}) {
|
|
848
828
|
const warnings = [];
|
|
849
|
-
const sarvamOptions =
|
|
829
|
+
const sarvamOptions = (0, import_provider_utils5.parseProviderOptions)({
|
|
850
830
|
provider: "sarvam",
|
|
851
831
|
providerOptions: {
|
|
852
|
-
sarvam:
|
|
832
|
+
sarvam: {
|
|
833
|
+
...providerOptions == null ? void 0 : providerOptions.sarvam,
|
|
834
|
+
...this.config.speech
|
|
835
|
+
}
|
|
853
836
|
},
|
|
854
837
|
schema: SarvamProviderOptionsSchema
|
|
855
838
|
});
|
|
@@ -910,18 +893,18 @@ var SarvamSpeechModel = class {
|
|
|
910
893
|
value,
|
|
911
894
|
responseHeaders,
|
|
912
895
|
rawValue: rawResponse
|
|
913
|
-
} = await
|
|
896
|
+
} = await (0, import_provider_utils5.postJsonToApi)({
|
|
914
897
|
url: this.config.url({
|
|
915
898
|
path: "/text-to-speech",
|
|
916
899
|
modelId: this.modelId
|
|
917
900
|
}),
|
|
918
|
-
headers:
|
|
901
|
+
headers: (0, import_provider_utils5.combineHeaders)(this.config.headers(), options.headers),
|
|
919
902
|
body: requestBody,
|
|
920
903
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
921
|
-
successfulResponseHandler:
|
|
922
|
-
|
|
923
|
-
request_id:
|
|
924
|
-
audios:
|
|
904
|
+
successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
|
|
905
|
+
import_zod4.z.object({
|
|
906
|
+
request_id: import_zod4.z.string(),
|
|
907
|
+
audios: import_zod4.z.array(import_zod4.z.string())
|
|
925
908
|
})
|
|
926
909
|
),
|
|
927
910
|
abortSignal: options.abortSignal,
|
|
@@ -945,20 +928,15 @@ var SarvamSpeechModel = class {
|
|
|
945
928
|
};
|
|
946
929
|
|
|
947
930
|
// src/sarvam-transcription-model.ts
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
createJsonResponseHandler as createJsonResponseHandler3,
|
|
951
|
-
parseProviderOptions as parseProviderOptions3,
|
|
952
|
-
postFormDataToApi
|
|
953
|
-
} from "@ai-sdk/provider-utils";
|
|
954
|
-
import { z as z6 } from "zod";
|
|
931
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
932
|
+
var import_zod6 = require("zod");
|
|
955
933
|
|
|
956
934
|
// src/sarvam-transcription-settings.ts
|
|
957
|
-
|
|
958
|
-
var SarvamProviderOptionsSchema2 =
|
|
959
|
-
with_timestamps:
|
|
960
|
-
with_diarization:
|
|
961
|
-
num_speakers:
|
|
935
|
+
var import_zod5 = require("zod");
|
|
936
|
+
var SarvamProviderOptionsSchema2 = import_zod5.z.object({
|
|
937
|
+
with_timestamps: import_zod5.z.boolean().nullish().default(false),
|
|
938
|
+
with_diarization: import_zod5.z.boolean().nullish().default(false),
|
|
939
|
+
num_speakers: import_zod5.z.number().int().nullish()
|
|
962
940
|
});
|
|
963
941
|
|
|
964
942
|
// src/sarvam-transcription-model.ts
|
|
@@ -982,10 +960,13 @@ var SarvamTranscriptionModel = class {
|
|
|
982
960
|
throw new Error(
|
|
983
961
|
"Language code unknown is not supported for model saarika:v1"
|
|
984
962
|
);
|
|
985
|
-
const sarvamOptions =
|
|
963
|
+
const sarvamOptions = (0, import_provider_utils6.parseProviderOptions)({
|
|
986
964
|
provider: "sarvam",
|
|
987
965
|
providerOptions: {
|
|
988
|
-
sarvam:
|
|
966
|
+
sarvam: {
|
|
967
|
+
...providerOptions == null ? void 0 : providerOptions.sarvam,
|
|
968
|
+
...this.config.transcription
|
|
969
|
+
}
|
|
989
970
|
},
|
|
990
971
|
schema: SarvamProviderOptionsSchema2
|
|
991
972
|
});
|
|
@@ -1023,15 +1004,15 @@ var SarvamTranscriptionModel = class {
|
|
|
1023
1004
|
value: response,
|
|
1024
1005
|
responseHeaders,
|
|
1025
1006
|
rawValue: rawResponse
|
|
1026
|
-
} = await postFormDataToApi({
|
|
1007
|
+
} = await (0, import_provider_utils6.postFormDataToApi)({
|
|
1027
1008
|
url: this.config.url({
|
|
1028
1009
|
path: "/speech-to-text",
|
|
1029
1010
|
modelId: this.modelId
|
|
1030
1011
|
}),
|
|
1031
|
-
headers:
|
|
1012
|
+
headers: (0, import_provider_utils6.combineHeaders)(this.config.headers(), options.headers),
|
|
1032
1013
|
formData,
|
|
1033
1014
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
1034
|
-
successfulResponseHandler:
|
|
1015
|
+
successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
|
|
1035
1016
|
sarvamTranscriptionResponseSchema
|
|
1036
1017
|
),
|
|
1037
1018
|
abortSignal: options.abortSignal,
|
|
@@ -1056,38 +1037,34 @@ var SarvamTranscriptionModel = class {
|
|
|
1056
1037
|
};
|
|
1057
1038
|
}
|
|
1058
1039
|
};
|
|
1059
|
-
var sarvamTranscriptionResponseSchema =
|
|
1060
|
-
request_id:
|
|
1061
|
-
transcript:
|
|
1062
|
-
language_code:
|
|
1063
|
-
timestamps:
|
|
1064
|
-
end_time_seconds:
|
|
1065
|
-
start_time_seconds:
|
|
1066
|
-
words:
|
|
1040
|
+
var sarvamTranscriptionResponseSchema = import_zod6.z.object({
|
|
1041
|
+
request_id: import_zod6.z.string().nullable(),
|
|
1042
|
+
transcript: import_zod6.z.string(),
|
|
1043
|
+
language_code: import_zod6.z.string().nullable(),
|
|
1044
|
+
timestamps: import_zod6.z.object({
|
|
1045
|
+
end_time_seconds: import_zod6.z.array(import_zod6.z.number()),
|
|
1046
|
+
start_time_seconds: import_zod6.z.array(import_zod6.z.number()),
|
|
1047
|
+
words: import_zod6.z.array(import_zod6.z.string())
|
|
1067
1048
|
}).optional(),
|
|
1068
|
-
diarized_transcript:
|
|
1069
|
-
entries:
|
|
1070
|
-
|
|
1071
|
-
end_time_seconds:
|
|
1072
|
-
start_time_seconds:
|
|
1073
|
-
transcript:
|
|
1074
|
-
speaker_id:
|
|
1049
|
+
diarized_transcript: import_zod6.z.object({
|
|
1050
|
+
entries: import_zod6.z.array(
|
|
1051
|
+
import_zod6.z.object({
|
|
1052
|
+
end_time_seconds: import_zod6.z.array(import_zod6.z.number()),
|
|
1053
|
+
start_time_seconds: import_zod6.z.array(import_zod6.z.number()),
|
|
1054
|
+
transcript: import_zod6.z.string(),
|
|
1055
|
+
speaker_id: import_zod6.z.string()
|
|
1075
1056
|
})
|
|
1076
1057
|
)
|
|
1077
1058
|
}).optional()
|
|
1078
1059
|
});
|
|
1079
1060
|
|
|
1080
1061
|
// src/sarvam-translation-model.ts
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
createJsonResponseHandler as createJsonResponseHandler4,
|
|
1084
|
-
postJsonToApi as postJsonToApi3
|
|
1085
|
-
} from "@ai-sdk/provider-utils";
|
|
1086
|
-
import { z as z8 } from "zod";
|
|
1062
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1063
|
+
var import_zod8 = require("zod");
|
|
1087
1064
|
|
|
1088
1065
|
// src/sarvam-config.ts
|
|
1089
|
-
|
|
1090
|
-
var SarvamLanguageCodeSchema =
|
|
1066
|
+
var import_zod7 = require("zod");
|
|
1067
|
+
var SarvamLanguageCodeSchema = import_zod7.z.enum([
|
|
1091
1068
|
"hi-IN",
|
|
1092
1069
|
"bn-IN",
|
|
1093
1070
|
"kn-IN",
|
|
@@ -1100,7 +1077,7 @@ var SarvamLanguageCodeSchema = z7.enum([
|
|
|
1100
1077
|
"en-IN",
|
|
1101
1078
|
"gu-IN"
|
|
1102
1079
|
]);
|
|
1103
|
-
var SarvamScriptCodeSchema =
|
|
1080
|
+
var SarvamScriptCodeSchema = import_zod7.z.enum([
|
|
1104
1081
|
"Latn",
|
|
1105
1082
|
"Deva",
|
|
1106
1083
|
"Beng",
|
|
@@ -1174,30 +1151,31 @@ var SarvamTranslationModel = class {
|
|
|
1174
1151
|
};
|
|
1175
1152
|
}
|
|
1176
1153
|
async doGenerate(options) {
|
|
1177
|
-
var
|
|
1178
|
-
const { args, warnings, messages } = this.getArgs(
|
|
1154
|
+
var _a;
|
|
1155
|
+
const { args, warnings, messages } = this.getArgs({
|
|
1156
|
+
...options,
|
|
1179
1157
|
stream: false
|
|
1180
|
-
})
|
|
1158
|
+
});
|
|
1181
1159
|
const body = JSON.stringify(args);
|
|
1182
1160
|
const {
|
|
1183
1161
|
responseHeaders,
|
|
1184
1162
|
value: response,
|
|
1185
1163
|
rawValue: rawResponse
|
|
1186
|
-
} = await
|
|
1164
|
+
} = await (0, import_provider_utils7.postJsonToApi)({
|
|
1187
1165
|
url: this.config.url({
|
|
1188
1166
|
path: "/translate"
|
|
1189
1167
|
}),
|
|
1190
|
-
headers:
|
|
1168
|
+
headers: (0, import_provider_utils7.combineHeaders)(this.config.headers(), options.headers),
|
|
1191
1169
|
body: args,
|
|
1192
1170
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
1193
|
-
successfulResponseHandler:
|
|
1171
|
+
successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
|
|
1194
1172
|
sarvamTranslationResponseSchema
|
|
1195
1173
|
),
|
|
1196
1174
|
abortSignal: options.abortSignal,
|
|
1197
1175
|
fetch: this.config.fetch
|
|
1198
1176
|
});
|
|
1199
|
-
const
|
|
1200
|
-
const text = (
|
|
1177
|
+
const { input: rawPrompt, ...rawSettings } = args;
|
|
1178
|
+
const text = (_a = response.translated_text) != null ? _a : void 0;
|
|
1201
1179
|
return {
|
|
1202
1180
|
text,
|
|
1203
1181
|
toolCalls: void 0,
|
|
@@ -1218,19 +1196,15 @@ var SarvamTranslationModel = class {
|
|
|
1218
1196
|
throw new Error("Translation feature doesn't support streaming yet");
|
|
1219
1197
|
}
|
|
1220
1198
|
};
|
|
1221
|
-
var sarvamTranslationResponseSchema =
|
|
1222
|
-
translated_text:
|
|
1199
|
+
var sarvamTranslationResponseSchema = import_zod8.z.object({
|
|
1200
|
+
translated_text: import_zod8.z.string().nullish(),
|
|
1223
1201
|
source_language_code: SarvamLanguageCodeSchema.nullable(),
|
|
1224
|
-
request_id:
|
|
1202
|
+
request_id: import_zod8.z.string().nullish()
|
|
1225
1203
|
});
|
|
1226
1204
|
|
|
1227
1205
|
// src/sarvam-transliterate-model.ts
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
createJsonResponseHandler as createJsonResponseHandler5,
|
|
1231
|
-
postJsonToApi as postJsonToApi4
|
|
1232
|
-
} from "@ai-sdk/provider-utils";
|
|
1233
|
-
import { z as z9 } from "zod";
|
|
1206
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1207
|
+
var import_zod9 = require("zod");
|
|
1234
1208
|
var SarvamTransliterateModel = class {
|
|
1235
1209
|
constructor(settings, config) {
|
|
1236
1210
|
this.specificationVersion = "v1";
|
|
@@ -1266,43 +1240,45 @@ var SarvamTransliterateModel = class {
|
|
|
1266
1240
|
const messages = convertToSarvamChatMessages(prompt);
|
|
1267
1241
|
return {
|
|
1268
1242
|
messages,
|
|
1269
|
-
args:
|
|
1243
|
+
args: {
|
|
1270
1244
|
input: messages.filter((m) => m.role === "user").map((m) => m.content).join("\n"),
|
|
1271
1245
|
source_language_code: (_a = this.settings.from) != null ? _a : "auto",
|
|
1272
1246
|
target_language_code: this.settings.to,
|
|
1273
|
-
numerals_format: (_b = this.settings.numerals_format) != null ? _b : "international"
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1247
|
+
numerals_format: (_b = this.settings.numerals_format) != null ? _b : "international",
|
|
1248
|
+
...this.settings.spoken_form ? {
|
|
1249
|
+
spoken_form: this.settings.spoken_form,
|
|
1250
|
+
spoken_form_numerals_language: (_c = this.settings.spoken_form_numerals_language) != null ? _c : "english"
|
|
1251
|
+
} : {}
|
|
1252
|
+
},
|
|
1278
1253
|
warnings
|
|
1279
1254
|
};
|
|
1280
1255
|
}
|
|
1281
1256
|
async doGenerate(options) {
|
|
1282
|
-
var
|
|
1283
|
-
const { args, warnings, messages } = this.getArgs(
|
|
1257
|
+
var _a;
|
|
1258
|
+
const { args, warnings, messages } = this.getArgs({
|
|
1259
|
+
...options,
|
|
1284
1260
|
stream: false
|
|
1285
|
-
})
|
|
1261
|
+
});
|
|
1286
1262
|
const body = JSON.stringify(args);
|
|
1287
1263
|
const {
|
|
1288
1264
|
responseHeaders,
|
|
1289
1265
|
value: response,
|
|
1290
1266
|
rawValue: rawResponse
|
|
1291
|
-
} = await
|
|
1267
|
+
} = await (0, import_provider_utils8.postJsonToApi)({
|
|
1292
1268
|
url: this.config.url({
|
|
1293
1269
|
path: "/transliterate"
|
|
1294
1270
|
}),
|
|
1295
|
-
headers:
|
|
1271
|
+
headers: (0, import_provider_utils8.combineHeaders)(this.config.headers(), options.headers),
|
|
1296
1272
|
body: args,
|
|
1297
1273
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
1298
|
-
successfulResponseHandler:
|
|
1274
|
+
successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(
|
|
1299
1275
|
sarvamTransliterateResponseSchema
|
|
1300
1276
|
),
|
|
1301
1277
|
abortSignal: options.abortSignal,
|
|
1302
1278
|
fetch: this.config.fetch
|
|
1303
1279
|
});
|
|
1304
|
-
const
|
|
1305
|
-
let text = (
|
|
1280
|
+
const { input: rawPrompt, ...rawSettings } = args;
|
|
1281
|
+
let text = (_a = response.transliterated_text) != null ? _a : void 0;
|
|
1306
1282
|
return {
|
|
1307
1283
|
text,
|
|
1308
1284
|
toolCalls: void 0,
|
|
@@ -1323,19 +1299,15 @@ var SarvamTransliterateModel = class {
|
|
|
1323
1299
|
throw new Error("Transliterate feature doesn't streaming yet");
|
|
1324
1300
|
}
|
|
1325
1301
|
};
|
|
1326
|
-
var sarvamTransliterateResponseSchema =
|
|
1327
|
-
transliterated_text:
|
|
1302
|
+
var sarvamTransliterateResponseSchema = import_zod9.z.object({
|
|
1303
|
+
transliterated_text: import_zod9.z.string().nullish(),
|
|
1328
1304
|
source_language_code: SarvamLanguageCodeSchema.nullable(),
|
|
1329
|
-
request_id:
|
|
1305
|
+
request_id: import_zod9.z.string().nullish()
|
|
1330
1306
|
});
|
|
1331
1307
|
|
|
1332
1308
|
// src/sarvam-lid-model.ts
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
createJsonResponseHandler as createJsonResponseHandler6,
|
|
1336
|
-
postJsonToApi as postJsonToApi5
|
|
1337
|
-
} from "@ai-sdk/provider-utils";
|
|
1338
|
-
import { z as z10 } from "zod";
|
|
1309
|
+
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
|
1310
|
+
var import_zod10 = require("zod");
|
|
1339
1311
|
var SarvamLidModel = class {
|
|
1340
1312
|
constructor(config) {
|
|
1341
1313
|
this.specificationVersion = "v1";
|
|
@@ -1370,30 +1342,31 @@ var SarvamLidModel = class {
|
|
|
1370
1342
|
};
|
|
1371
1343
|
}
|
|
1372
1344
|
async doGenerate(options) {
|
|
1373
|
-
var
|
|
1374
|
-
const { args, warnings, messages } = this.getArgs(
|
|
1345
|
+
var _a;
|
|
1346
|
+
const { args, warnings, messages } = this.getArgs({
|
|
1347
|
+
...options,
|
|
1375
1348
|
stream: false
|
|
1376
|
-
})
|
|
1349
|
+
});
|
|
1377
1350
|
const body = JSON.stringify(args);
|
|
1378
1351
|
const {
|
|
1379
1352
|
responseHeaders,
|
|
1380
1353
|
value: response,
|
|
1381
1354
|
rawValue: rawResponse
|
|
1382
|
-
} = await
|
|
1355
|
+
} = await (0, import_provider_utils9.postJsonToApi)({
|
|
1383
1356
|
url: this.config.url({
|
|
1384
1357
|
path: "/text-lid"
|
|
1385
1358
|
}),
|
|
1386
|
-
headers:
|
|
1359
|
+
headers: (0, import_provider_utils9.combineHeaders)(this.config.headers(), options.headers),
|
|
1387
1360
|
body: args,
|
|
1388
1361
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
1389
|
-
successfulResponseHandler:
|
|
1362
|
+
successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
|
|
1390
1363
|
sarvamLidResponseSchema
|
|
1391
1364
|
),
|
|
1392
1365
|
abortSignal: options.abortSignal,
|
|
1393
1366
|
fetch: this.config.fetch
|
|
1394
1367
|
});
|
|
1395
|
-
const
|
|
1396
|
-
const text = (
|
|
1368
|
+
const { input: rawPrompt, ...rawSettings } = args;
|
|
1369
|
+
const text = (_a = response.language_code) != null ? _a : void 0;
|
|
1397
1370
|
return {
|
|
1398
1371
|
text,
|
|
1399
1372
|
toolCalls: void 0,
|
|
@@ -1414,19 +1387,15 @@ var SarvamLidModel = class {
|
|
|
1414
1387
|
throw new Error("Language Identification feature doesn't streaming yet");
|
|
1415
1388
|
}
|
|
1416
1389
|
};
|
|
1417
|
-
var sarvamLidResponseSchema =
|
|
1390
|
+
var sarvamLidResponseSchema = import_zod10.z.object({
|
|
1418
1391
|
script_code: SarvamScriptCodeSchema.nullish(),
|
|
1419
1392
|
language_code: SarvamLanguageCodeSchema.nullable(),
|
|
1420
|
-
request_id:
|
|
1393
|
+
request_id: import_zod10.z.string().nullish()
|
|
1421
1394
|
});
|
|
1422
1395
|
|
|
1423
1396
|
// src/sarvam-speech-translation-model.ts
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
createJsonResponseHandler as createJsonResponseHandler7,
|
|
1427
|
-
postFormDataToApi as postFormDataToApi2
|
|
1428
|
-
} from "@ai-sdk/provider-utils";
|
|
1429
|
-
import { z as z11 } from "zod";
|
|
1397
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
1398
|
+
var import_zod11 = require("zod");
|
|
1430
1399
|
var SarvamSpeechTranslationModel = class {
|
|
1431
1400
|
constructor(modelId, config) {
|
|
1432
1401
|
this.modelId = modelId;
|
|
@@ -1459,15 +1428,15 @@ var SarvamSpeechTranslationModel = class {
|
|
|
1459
1428
|
value: response,
|
|
1460
1429
|
responseHeaders,
|
|
1461
1430
|
rawValue: rawResponse
|
|
1462
|
-
} = await
|
|
1431
|
+
} = await (0, import_provider_utils10.postFormDataToApi)({
|
|
1463
1432
|
url: this.config.url({
|
|
1464
1433
|
path: "/speech-to-text-translate",
|
|
1465
1434
|
modelId: this.modelId
|
|
1466
1435
|
}),
|
|
1467
|
-
headers:
|
|
1436
|
+
headers: (0, import_provider_utils10.combineHeaders)(this.config.headers(), options.headers),
|
|
1468
1437
|
formData,
|
|
1469
1438
|
failedResponseHandler: sarvamFailedResponseHandler,
|
|
1470
|
-
successfulResponseHandler:
|
|
1439
|
+
successfulResponseHandler: (0, import_provider_utils10.createJsonResponseHandler)(
|
|
1471
1440
|
sarvamTranscriptionResponseSchema2
|
|
1472
1441
|
),
|
|
1473
1442
|
abortSignal: options.abortSignal,
|
|
@@ -1488,10 +1457,10 @@ var SarvamSpeechTranslationModel = class {
|
|
|
1488
1457
|
};
|
|
1489
1458
|
}
|
|
1490
1459
|
};
|
|
1491
|
-
var sarvamTranscriptionResponseSchema2 =
|
|
1492
|
-
request_id:
|
|
1493
|
-
transcript:
|
|
1494
|
-
language_code:
|
|
1460
|
+
var sarvamTranscriptionResponseSchema2 = import_zod11.z.object({
|
|
1461
|
+
request_id: import_zod11.z.string().nullable(),
|
|
1462
|
+
transcript: import_zod11.z.string(),
|
|
1463
|
+
language_code: import_zod11.z.string().nullable(),
|
|
1495
1464
|
// timestamps: z
|
|
1496
1465
|
// .object({
|
|
1497
1466
|
// end_time_seconds: z.array(z.number()),
|
|
@@ -1499,13 +1468,13 @@ var sarvamTranscriptionResponseSchema2 = z11.object({
|
|
|
1499
1468
|
// words: z.array(z.string()),
|
|
1500
1469
|
// })
|
|
1501
1470
|
// .optional(),
|
|
1502
|
-
diarized_transcript:
|
|
1503
|
-
entries:
|
|
1504
|
-
|
|
1505
|
-
end_time_seconds:
|
|
1506
|
-
start_time_seconds:
|
|
1507
|
-
transcript:
|
|
1508
|
-
speaker_id:
|
|
1471
|
+
diarized_transcript: import_zod11.z.object({
|
|
1472
|
+
entries: import_zod11.z.array(
|
|
1473
|
+
import_zod11.z.object({
|
|
1474
|
+
end_time_seconds: import_zod11.z.array(import_zod11.z.number()),
|
|
1475
|
+
start_time_seconds: import_zod11.z.array(import_zod11.z.number()),
|
|
1476
|
+
transcript: import_zod11.z.string(),
|
|
1477
|
+
speaker_id: import_zod11.z.string()
|
|
1509
1478
|
})
|
|
1510
1479
|
)
|
|
1511
1480
|
}).nullable().optional()
|
|
@@ -1514,16 +1483,17 @@ var sarvamTranscriptionResponseSchema2 = z11.object({
|
|
|
1514
1483
|
// src/sarvam-provider.ts
|
|
1515
1484
|
function createSarvam(options = {}) {
|
|
1516
1485
|
var _a;
|
|
1517
|
-
const baseURL = (_a = withoutTrailingSlash(options.baseURL)) != null ? _a : "https://api.sarvam.ai";
|
|
1518
|
-
const ApiKey = loadApiKey({
|
|
1486
|
+
const baseURL = (_a = (0, import_provider_utils11.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.sarvam.ai";
|
|
1487
|
+
const ApiKey = (0, import_provider_utils11.loadApiKey)({
|
|
1519
1488
|
apiKey: options.apiKey,
|
|
1520
1489
|
environmentVariableName: "SARVAM_API_KEY",
|
|
1521
1490
|
description: "Sarvam"
|
|
1522
1491
|
});
|
|
1523
|
-
const getHeaders = () =>
|
|
1492
|
+
const getHeaders = () => ({
|
|
1524
1493
|
Authorization: `Bearer ${ApiKey}`,
|
|
1525
|
-
"api-subscription-key": ApiKey
|
|
1526
|
-
|
|
1494
|
+
"api-subscription-key": ApiKey,
|
|
1495
|
+
...options.headers
|
|
1496
|
+
});
|
|
1527
1497
|
const createChatModel = (modelId, settings = {}) => new SarvamChatLanguageModel(modelId, settings, {
|
|
1528
1498
|
provider: "sarvam.chat",
|
|
1529
1499
|
url: ({ path }) => `${baseURL}/v1${path}`,
|
|
@@ -1596,8 +1566,9 @@ function createSarvam(options = {}) {
|
|
|
1596
1566
|
return provider;
|
|
1597
1567
|
}
|
|
1598
1568
|
var sarvam = createSarvam();
|
|
1599
|
-
export
|
|
1569
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
1570
|
+
0 && (module.exports = {
|
|
1600
1571
|
createSarvam,
|
|
1601
1572
|
sarvam
|
|
1602
|
-
};
|
|
1573
|
+
});
|
|
1603
1574
|
//# sourceMappingURL=index.js.map
|