@mate-academy/llm-gateway 8.15.0 → 8.15.2-canary.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 +48 -0
- package/dist/client/LLMClientEngine.d.ts +11 -1
- package/dist/client/LLMClientEngine.js +100 -5
- package/dist/client/LLMClientEngine.js.map +1 -1
- package/dist/client/createLLMClient.js +2 -0
- package/dist/client/createLLMClient.js.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/llmClient.typedefs.d.ts +63 -1
- package/dist/client/llmClient.typedefs.js.map +1 -1
- package/dist/client/llmConfig.schema.d.ts +25 -0
- package/dist/client/llmConfig.schema.js +17 -1
- package/dist/client/llmConfig.schema.js.map +1 -1
- package/dist/client/promptPurpose.d.ts +8 -0
- package/dist/client/promptPurpose.js +19 -0
- package/dist/client/promptPurpose.js.map +1 -0
- package/dist/client/speechOptions.d.ts +9 -0
- package/dist/client/speechOptions.js +37 -0
- package/dist/client/speechOptions.js.map +1 -0
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js +22 -4
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js.map +1 -1
- package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js +22 -4
- package/dist/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -318,6 +318,54 @@ const { cityName } = await llm.generate(
|
|
|
318
318
|
where analytics events need the resolved model name — keeping it off `generate`'s
|
|
319
319
|
data-only return.
|
|
320
320
|
|
|
321
|
+
#### Audio prompts (`generateSpeech` / `generateTranscript`)
|
|
322
|
+
|
|
323
|
+
Text-to-speech and speech-to-text are managed prompts like any other: the prompt
|
|
324
|
+
body is the instruction text the provider receives, and its `config` carries the
|
|
325
|
+
model, the provider, and the voice knobs. Bind the prompt with `kind: 'speech'`
|
|
326
|
+
or `kind: 'transcription'` — the client resolves the model against the matching
|
|
327
|
+
purpose map, and a call on a prompt bound to the wrong kind throws
|
|
328
|
+
`LLMConfigError` instead of failing later as an unknown model.
|
|
329
|
+
|
|
330
|
+
```typescript
|
|
331
|
+
const llmPromptRegistry = defineLLMPrompts({
|
|
332
|
+
[LLMPrompt.AutoTechChecksTextToSpeech]: { kind: 'speech' },
|
|
333
|
+
[LLMPrompt.AutoTechChecksSpeechToText]: {
|
|
334
|
+
kind: 'transcription',
|
|
335
|
+
variables: ['userLanguage'],
|
|
336
|
+
},
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
const { audio, mimeType } = await llm.generateSpeech(
|
|
340
|
+
LLMPrompt.AutoTechChecksTextToSpeech,
|
|
341
|
+
{ text: questionText, context: { userId }, sessionId },
|
|
342
|
+
);
|
|
343
|
+
|
|
344
|
+
const { text } = await llm.generateTranscript(
|
|
345
|
+
LLMPrompt.AutoTechChecksSpeechToText,
|
|
346
|
+
{
|
|
347
|
+
audio: { pathToAudio, mimeType: LLMUploadFileMimeTypes.AUDIO_OGG },
|
|
348
|
+
variables: { userLanguage },
|
|
349
|
+
context: { userId },
|
|
350
|
+
sessionId,
|
|
351
|
+
},
|
|
352
|
+
);
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
- **Voice settings live in the prompt.** `config.params.speech` takes
|
|
356
|
+
`{ voice, speed, format }` and the client maps them onto the resolved
|
|
357
|
+
provider's own option shape — `voice`/`speed`/`response_format` for the
|
|
358
|
+
OpenAI-compatible providers, a nested `speechConfig.voiceConfig` for Gemini. A
|
|
359
|
+
prompt edit can therefore change the voice without a deploy, and switching
|
|
360
|
+
provider keeps the setting meaningful.
|
|
361
|
+
- **Both paths share the completion pipeline.** Prompt resolution, the config
|
|
362
|
+
gate, snapshot fallback, credentials, the DWH usage row, and the generation
|
|
363
|
+
observation are the same ones `generate` uses, so an audio call links to its
|
|
364
|
+
prompt version in Langfuse and joins the session its `sessionId` names.
|
|
365
|
+
- **Results are unwrapped.** `generateSpeech` resolves to `{ audio, mimeType }`
|
|
366
|
+
and `generateTranscript` to `{ text, usage, cost }`; a provider failure throws
|
|
367
|
+
from the taxonomy rather than returning an `'error' in response` union.
|
|
368
|
+
|
|
321
369
|
#### Agent runs (`runAgent`)
|
|
322
370
|
|
|
323
371
|
`llm.runAgent` runs a tool-calling agent whose instructions are a registry
|
|
@@ -6,7 +6,7 @@ import { type LLMPromptBinding, type LLMPromptRegistry } from '../client/defineL
|
|
|
6
6
|
import { type LLMAgentInlineRunOptions, type LLMAgentRunResult } from '../client/agentRun.typedefs';
|
|
7
7
|
import { LLMAgent, type LLMAgentDefinition } from '../client/LLMAgent';
|
|
8
8
|
import { type LLMAgentCallServices, type LLMPromptResolutionCall } from '../client/agentRunner';
|
|
9
|
-
import { type LLMClientCallContext, type LLMClientEngineConfig, type LLMGenerateOptions, type LLMGenerateResult, type LLMPlainMessage, type LLMPromptDescription, type LLMProviderServiceScope, type LLMToolResultContext, type LLMTraceContextScope } from '../client/llmClient.typedefs';
|
|
9
|
+
import { type LLMClientCallContext, type LLMClientEngineConfig, type LLMGeneratedSpeech, type LLMGeneratedTranscript, type LLMGenerateOptions, type LLMGenerateResult, type LLMGenerateSpeechOptions, type LLMGenerateTranscriptOptions, type LLMPlainMessage, type LLMPromptDescription, type LLMProviderServiceScope, type LLMToolResultContext, type LLMTraceContextScope } from '../client/llmClient.typedefs';
|
|
10
10
|
import { type LLMVariableValue } from '../client/promptSnapshot.typedefs';
|
|
11
11
|
import { type ResolvedPrompt } from '../client/promptRegistry.runtime';
|
|
12
12
|
/**
|
|
@@ -29,6 +29,8 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
29
29
|
private readonly agentRunner;
|
|
30
30
|
constructor(config: LLMClientEngineConfig<Registry>);
|
|
31
31
|
generate<Key extends keyof Registry, Schema extends LLMSchemaInterface = never>(prompt: Key, options: LLMGenerateOptions<Record<string, LLMVariableValue>, Schema>): Promise<unknown>;
|
|
32
|
+
generateSpeech<Key extends keyof Registry>(prompt: Key, options: LLMGenerateSpeechOptions<Record<string, LLMVariableValue>>): Promise<LLMGeneratedSpeech>;
|
|
33
|
+
generateTranscript<Key extends keyof Registry>(prompt: Key, options: LLMGenerateTranscriptOptions<Record<string, LLMVariableValue>>): Promise<LLMGeneratedTranscript>;
|
|
32
34
|
defineAgent<Key extends keyof Registry>(definition: LLMAgentDefinition<Registry, Record<keyof Registry, string>, Key>): LLMAgent<Registry, Record<keyof Registry, string>, Key>;
|
|
33
35
|
runAgent<Key extends keyof Registry>(promptOrAgent: Key | LLMAgent<Registry, Record<keyof Registry, string>>, options: LLMAgentInlineRunOptions<Record<string, LLMVariableValue>, Registry, Record<keyof Registry, string>>): Promise<LLMAgentRunResult<LLMGenerateResult<Registry[Key]>>>;
|
|
34
36
|
countTokens<Key extends keyof Registry>(prompt: Key, options: {
|
|
@@ -65,6 +67,8 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
65
67
|
buildAssistanceService(options: LLMProviderServiceScope): Promise<import("..").LLMAssistanceService<import("../LLMService.typedefs").LLMProviders, LLMReporterInterface<any>>>;
|
|
66
68
|
getBinding(promptName: string): LLMPromptBinding | undefined;
|
|
67
69
|
private buildCompletionService;
|
|
70
|
+
private buildTextToSpeechService;
|
|
71
|
+
private buildSpeechToTextService;
|
|
68
72
|
/**
|
|
69
73
|
* Resolves credentials for the product this call belongs to. The per-call
|
|
70
74
|
* context wins over the static one: the client is built once per process, so
|
|
@@ -105,6 +109,12 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
105
109
|
* call that names no user leaves the trace's user field for the scope to fill.
|
|
106
110
|
*/
|
|
107
111
|
private toTraceUserId;
|
|
112
|
+
/**
|
|
113
|
+
* Keeps an audio call on a prompt declared for it. Without the check a
|
|
114
|
+
* completion prompt would resolve against the speech model map and fail as an
|
|
115
|
+
* unknown model, hiding the actual mistake at the call site.
|
|
116
|
+
*/
|
|
117
|
+
private assertAudioBinding;
|
|
108
118
|
private assertOverridesAllowed;
|
|
109
119
|
private serializeCallContext;
|
|
110
120
|
private extractStatus;
|
|
@@ -7,7 +7,9 @@ const agentRunner_1 = require("../client/agentRunner");
|
|
|
7
7
|
const plainMessages_1 = require("../client/plainMessages");
|
|
8
8
|
const coerceToolResult_1 = require("../client/coerceToolResult");
|
|
9
9
|
const promptVariables_1 = require("../client/promptVariables");
|
|
10
|
+
const speechOptions_1 = require("../client/speechOptions");
|
|
10
11
|
const errors_1 = require("../client/errors");
|
|
12
|
+
const promptPurpose_1 = require("../client/promptPurpose");
|
|
11
13
|
/**
|
|
12
14
|
* The client's single implementation. `createLLMClient` owns its construction
|
|
13
15
|
* and exposes only the `LLMClient` surface, so every call path — `generate`,
|
|
@@ -50,6 +52,64 @@ class LLMClientEngine {
|
|
|
50
52
|
});
|
|
51
53
|
return this.runCompletion(resolved, schema, options);
|
|
52
54
|
}
|
|
55
|
+
async generateSpeech(prompt, options) {
|
|
56
|
+
const promptName = String(prompt);
|
|
57
|
+
const binding = this.assertAudioBinding(promptName, 'speech');
|
|
58
|
+
this.assertOverridesAllowed(promptName, options.overrides);
|
|
59
|
+
const resolved = await this.resolvePrompt(promptName, binding, options.variables ?? {}, {
|
|
60
|
+
purpose: LLMService_typedefs_1.LLMPurposes.TextToSpeech,
|
|
61
|
+
overrides: options.overrides,
|
|
62
|
+
});
|
|
63
|
+
const service = await this.buildTextToSpeechService({
|
|
64
|
+
resolved,
|
|
65
|
+
callContext: options.context,
|
|
66
|
+
});
|
|
67
|
+
return this.callProvider(() => service.createSpeech({
|
|
68
|
+
text: options.text,
|
|
69
|
+
model: resolved.model,
|
|
70
|
+
instructions: resolved.text || undefined,
|
|
71
|
+
speechOptions: (0, speechOptions_1.toProviderSpeechOptions)({
|
|
72
|
+
provider: resolved.config.provider,
|
|
73
|
+
speech: resolved.config.params?.speech,
|
|
74
|
+
}),
|
|
75
|
+
abortSignal: options.abortSignal,
|
|
76
|
+
reporterContext: this.buildReporterContext(resolved, options.context),
|
|
77
|
+
traceContext: this.buildTraceContext({
|
|
78
|
+
resolved,
|
|
79
|
+
callContext: options.context,
|
|
80
|
+
sessionId: options.sessionId,
|
|
81
|
+
traceTags: options.traceTags,
|
|
82
|
+
}),
|
|
83
|
+
}), resolved, options.abortSignal);
|
|
84
|
+
}
|
|
85
|
+
async generateTranscript(prompt, options) {
|
|
86
|
+
const promptName = String(prompt);
|
|
87
|
+
const binding = this.assertAudioBinding(promptName, 'transcription');
|
|
88
|
+
this.assertOverridesAllowed(promptName, options.overrides);
|
|
89
|
+
const resolved = await this.resolvePrompt(promptName, binding, options.variables ?? {}, {
|
|
90
|
+
purpose: LLMService_typedefs_1.LLMPurposes.SpeechToText,
|
|
91
|
+
overrides: options.overrides,
|
|
92
|
+
});
|
|
93
|
+
const service = await this.buildSpeechToTextService({
|
|
94
|
+
resolved,
|
|
95
|
+
callContext: options.context,
|
|
96
|
+
});
|
|
97
|
+
return this.callProvider(() => service.transcribe({
|
|
98
|
+
pathToAudio: options.audio.pathToAudio,
|
|
99
|
+
mimeType: options.audio.mimeType,
|
|
100
|
+
language: options.audio.language,
|
|
101
|
+
model: resolved.model,
|
|
102
|
+
instructions: resolved.text || undefined,
|
|
103
|
+
abortSignal: options.abortSignal,
|
|
104
|
+
reporterContext: this.buildReporterContext(resolved, options.context),
|
|
105
|
+
traceContext: this.buildTraceContext({
|
|
106
|
+
resolved,
|
|
107
|
+
callContext: options.context,
|
|
108
|
+
sessionId: options.sessionId,
|
|
109
|
+
traceTags: options.traceTags,
|
|
110
|
+
}),
|
|
111
|
+
}), resolved, options.abortSignal);
|
|
112
|
+
}
|
|
53
113
|
defineAgent(definition) {
|
|
54
114
|
return new LLMAgent_1.LLMAgent(definition);
|
|
55
115
|
}
|
|
@@ -99,7 +159,7 @@ class LLMClientEngine {
|
|
|
99
159
|
name: promptName,
|
|
100
160
|
kind: binding.kind === 'chat' ? 'chat' : 'text',
|
|
101
161
|
requires: binding.requires ?? [],
|
|
102
|
-
purpose:
|
|
162
|
+
purpose: (0, promptPurpose_1.toPromptPurpose)(binding.kind),
|
|
103
163
|
});
|
|
104
164
|
if (!metadata) {
|
|
105
165
|
throw new errors_1.LLMConfigError(`unable to resolve routing metadata for "${promptName}" (live and `
|
|
@@ -233,11 +293,13 @@ class LLMClientEngine {
|
|
|
233
293
|
}
|
|
234
294
|
async callProvider(send, resolved, abortSignal) {
|
|
235
295
|
try {
|
|
236
|
-
const
|
|
237
|
-
if (
|
|
238
|
-
|
|
296
|
+
const providerOutcome = await send();
|
|
297
|
+
if (providerOutcome
|
|
298
|
+
&& typeof providerOutcome === 'object'
|
|
299
|
+
&& 'error' in providerOutcome) {
|
|
300
|
+
throw providerOutcome.error;
|
|
239
301
|
}
|
|
240
|
-
return
|
|
302
|
+
return providerOutcome;
|
|
241
303
|
}
|
|
242
304
|
catch (error) {
|
|
243
305
|
throw this.toTaxonomyError(error, resolved, abortSignal);
|
|
@@ -294,6 +356,26 @@ class LLMClientEngine {
|
|
|
294
356
|
reporter: this.reporter,
|
|
295
357
|
});
|
|
296
358
|
}
|
|
359
|
+
async buildTextToSpeechService(options) {
|
|
360
|
+
const providerOptions = await this.resolveProviderOptions(options);
|
|
361
|
+
const { resolved } = options;
|
|
362
|
+
return this.gateway.getTextToSpeechService({
|
|
363
|
+
provider: resolved.config.provider,
|
|
364
|
+
options: providerOptions,
|
|
365
|
+
logger: this.logger,
|
|
366
|
+
reporter: this.reporter,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
async buildSpeechToTextService(options) {
|
|
370
|
+
const providerOptions = await this.resolveProviderOptions(options);
|
|
371
|
+
const { resolved } = options;
|
|
372
|
+
return this.gateway.getSpeechToTextService({
|
|
373
|
+
provider: resolved.config.provider,
|
|
374
|
+
options: providerOptions,
|
|
375
|
+
logger: this.logger,
|
|
376
|
+
reporter: this.reporter,
|
|
377
|
+
});
|
|
378
|
+
}
|
|
297
379
|
/**
|
|
298
380
|
* Resolves credentials for the product this call belongs to. The per-call
|
|
299
381
|
* context wins over the static one: the client is built once per process, so
|
|
@@ -385,6 +467,19 @@ class LLMClientEngine {
|
|
|
385
467
|
}
|
|
386
468
|
return String(userId);
|
|
387
469
|
}
|
|
470
|
+
/**
|
|
471
|
+
* Keeps an audio call on a prompt declared for it. Without the check a
|
|
472
|
+
* completion prompt would resolve against the speech model map and fail as an
|
|
473
|
+
* unknown model, hiding the actual mistake at the call site.
|
|
474
|
+
*/
|
|
475
|
+
assertAudioBinding(promptName, kind) {
|
|
476
|
+
const binding = this.getBinding(promptName);
|
|
477
|
+
if (!binding || binding.kind !== kind) {
|
|
478
|
+
throw new errors_1.LLMConfigError(`prompt "${promptName}" is not bound as a "${kind}" prompt - declare `
|
|
479
|
+
+ `kind: '${kind}' in the registry before calling it`, { promptName });
|
|
480
|
+
}
|
|
481
|
+
return binding;
|
|
482
|
+
}
|
|
388
483
|
assertOverridesAllowed(promptName, overrides) {
|
|
389
484
|
if (this.mode === 'experiment' || !overrides) {
|
|
390
485
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMClientEngine.js","sourceRoot":"","sources":["../../src/client/LLMClientEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LLMClientEngine.js","sourceRoot":"","sources":["../../src/client/LLMClientEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,8 @@ function createLLMClient(config) {
|
|
|
38
38
|
});
|
|
39
39
|
return {
|
|
40
40
|
generate: (prompt, options) => engine.generate(prompt, options),
|
|
41
|
+
generateSpeech: (prompt, options) => engine.generateSpeech(prompt, options),
|
|
42
|
+
generateTranscript: (prompt, options) => (engine.generateTranscript(prompt, options)),
|
|
41
43
|
countTokens: (prompt, options) => engine.countTokens(prompt, options),
|
|
42
44
|
defineAgent: (definition) => engine.defineAgent(definition),
|
|
43
45
|
runAgent: (promptOrAgent, options) => engine.runAgent(promptOrAgent, options),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":";;AAkBA,
|
|
1
|
+
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":";;AAkBA,0CA+CC;AAhED,8DAA2D;AAC3D,4EAAwE;AACxE,oEAMqC;AAErC;;;;;;GAMG;AACH,SAAgB,eAAe,CAK7B,MAAwD;IAExD,MAAM,IAAI,GAAkB,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,sCAAiB;QACtD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IAErB,MAAM,OAAO,GAAG,IAAI,8CAAqB,CAAC;QACxC,qBAAqB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CACrC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAC9C;QACD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,YAAY;QACjD,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,iCAAe,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO;QACP,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,SAAS,EAAE,QAAQ;QAC7B,oBAAoB,EAAE,SAAS,EAAE,YAAY;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QACnC,IAAI;QACJ,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAChD,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAC/D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC;QAC3E,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CACvC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3C;QACD,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QACrE,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;QAC3D,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;QAC7E,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;KACtB,CAAC;AACxC,CAAC"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export * from './defineLLMPrompts';
|
|
|
8
8
|
export * from './validationGate';
|
|
9
9
|
export * from './promptRegistry.runtime';
|
|
10
10
|
export * from './llmClient.typedefs';
|
|
11
|
+
export * from './speechOptions';
|
|
12
|
+
export * from './promptPurpose';
|
|
11
13
|
export * from './createLLMClient';
|
|
12
14
|
export * from './agentRun.typedefs';
|
|
13
15
|
export * from './LLMAgent';
|
package/dist/client/index.js
CHANGED
|
@@ -24,6 +24,8 @@ __exportStar(require("./defineLLMPrompts"), exports);
|
|
|
24
24
|
__exportStar(require("./validationGate"), exports);
|
|
25
25
|
__exportStar(require("./promptRegistry.runtime"), exports);
|
|
26
26
|
__exportStar(require("./llmClient.typedefs"), exports);
|
|
27
|
+
__exportStar(require("./speechOptions"), exports);
|
|
28
|
+
__exportStar(require("./promptPurpose"), exports);
|
|
27
29
|
__exportStar(require("./createLLMClient"), exports);
|
|
28
30
|
__exportStar(require("./agentRun.typedefs"), exports);
|
|
29
31
|
__exportStar(require("./LLMAgent"), exports);
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,6DAA2C;AAC3C,oDAAkC;AAClC,8DAA4C;AAC5C,qDAAmC;AACnC,mDAAiC;AACjC,2DAAyC;AACzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,6DAA2C;AAC3C,oDAAkC;AAClC,8DAA4C;AAC5C,qDAAmC;AACnC,mDAAiC;AACjC,2DAAyC;AACzC,uDAAqC;AACrC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,6CAA2B"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type LLMHistoryContextEntry, type LLMHistoryEntryTypes, type LLMHistoryToolCallEntry, type LLMHistoryToolResultEntry, type LLMInstanceOptions, type LLMProviders, type LLMToolGateResult, type LLMToolResult } from '../LLMService.typedefs';
|
|
1
|
+
import { type LLMAudioMimeType, type LLMCreateSpeechResult, type LLMHistoryContextEntry, type LLMHistoryEntryTypes, type LLMHistoryToolCallEntry, type LLMHistoryToolResultEntry, type LLMInstanceOptions, type LLMProviders, type LLMToolGateResult, type LLMToolResult, type LLMTranscribeResult } from '../LLMService.typedefs';
|
|
2
2
|
import { type LLMGateway } from '../LLMGateway';
|
|
3
3
|
import { type LLMLoggerInterface } from '../utilities/logger';
|
|
4
4
|
import { type LLMReporterInterface } from '../utilities/reporter';
|
|
5
5
|
import { type InferSchema, type LLMSchemaInterface } from '../utilities/schema';
|
|
6
6
|
import { type LLMTraceContext } from '../utilities/llmTracing/llmTracing.typedefs';
|
|
7
7
|
import { type LLMGatewayPromptClient } from '../client/promptClientPort.typedefs';
|
|
8
|
+
import { type LLMPromptSpeechParams } from '../client/llmConfig.schema';
|
|
8
9
|
import { type LLMPromptBinding, type LLMPromptRegistry } from '../client/defineLLMPrompts';
|
|
9
10
|
import { type LLMPromptSnapshot, type LLMVariableValue } from '../client/promptSnapshot.typedefs';
|
|
10
11
|
import { type PromptRegistryRuntime, type ResolvedPrompt } from '../client/promptRegistry.runtime';
|
|
@@ -257,6 +258,65 @@ export interface LLMGenerateOptions<Variables extends Record<string, LLMVariable
|
|
|
257
258
|
*/
|
|
258
259
|
schema?: Schema;
|
|
259
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* The registry keys bound to one prompt kind. `generateSpeech` and
|
|
263
|
+
* `generateTranscript` accept only the prompts declared for them, so an audio
|
|
264
|
+
* call on a completion prompt fails to compile instead of failing the gate
|
|
265
|
+
* against the wrong model map at runtime.
|
|
266
|
+
*/
|
|
267
|
+
export type LLMPromptKeysOfKind<Registry extends LLMPromptRegistry, Kind extends LLMAudioPromptKind> = {
|
|
268
|
+
[Key in keyof Registry]: Registry[Key] extends {
|
|
269
|
+
kind: Kind;
|
|
270
|
+
} ? Key : never;
|
|
271
|
+
}[keyof Registry];
|
|
272
|
+
export type LLMAudioPromptKind = 'speech' | 'transcription';
|
|
273
|
+
/**
|
|
274
|
+
* What mapping the prompt's voice knobs onto a provider needs: the provider the
|
|
275
|
+
* call resolved to, and the `config.params.speech` block it carries.
|
|
276
|
+
*/
|
|
277
|
+
export interface LLMProviderSpeechScope {
|
|
278
|
+
provider: LLMProviders;
|
|
279
|
+
speech: LLMPromptSpeechParams | undefined;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* The audio one transcription call reads. `pathToAudio` is a local file the
|
|
283
|
+
* provider streams; `language` is the optional BCP-47 hint providers that
|
|
284
|
+
* support one take, separate from the instructions the prompt body carries.
|
|
285
|
+
*/
|
|
286
|
+
export interface LLMTranscriptAudio {
|
|
287
|
+
pathToAudio: string;
|
|
288
|
+
mimeType?: LLMAudioMimeType;
|
|
289
|
+
language?: string;
|
|
290
|
+
}
|
|
291
|
+
export interface LLMGenerateSpeechOptions<Variables extends Record<string, LLMVariableValue>> {
|
|
292
|
+
text: string;
|
|
293
|
+
variables?: Variables;
|
|
294
|
+
context?: LLMClientCallContext;
|
|
295
|
+
abortSignal?: AbortSignal;
|
|
296
|
+
overrides?: LLMCallOverrides;
|
|
297
|
+
sessionId?: string;
|
|
298
|
+
traceTags?: string[];
|
|
299
|
+
}
|
|
300
|
+
export interface LLMGenerateTranscriptOptions<Variables extends Record<string, LLMVariableValue>> {
|
|
301
|
+
audio: LLMTranscriptAudio;
|
|
302
|
+
variables?: Variables;
|
|
303
|
+
context?: LLMClientCallContext;
|
|
304
|
+
abortSignal?: AbortSignal;
|
|
305
|
+
overrides?: LLMCallOverrides;
|
|
306
|
+
sessionId?: string;
|
|
307
|
+
traceTags?: string[];
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* The success branches of the provider audio results. The client throws its
|
|
311
|
+
* taxonomy errors instead of returning the `{ error }` arm, so an audio call
|
|
312
|
+
* that resolves has produced audio or a transcript.
|
|
313
|
+
*/
|
|
314
|
+
export type LLMGeneratedSpeech = Extract<LLMCreateSpeechResult, {
|
|
315
|
+
audio: Buffer<ArrayBuffer>;
|
|
316
|
+
}>;
|
|
317
|
+
export type LLMGeneratedTranscript = Extract<LLMTranscribeResult, {
|
|
318
|
+
text: string;
|
|
319
|
+
}>;
|
|
260
320
|
export interface LLMCallOverrides {
|
|
261
321
|
model?: string;
|
|
262
322
|
provider?: LLMProviders;
|
|
@@ -295,6 +355,8 @@ export interface LLMClient<Registry extends LLMPromptRegistry, VariableMap exten
|
|
|
295
355
|
generate<Key extends keyof Registry, Schema extends LLMSchemaInterface = never>(prompt: Key, options: LLMGenerateOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>, Schema>): Promise<[
|
|
296
356
|
Schema
|
|
297
357
|
] extends [never] ? LLMGenerateResult<Registry[Key]> : InferSchema<Schema>>;
|
|
358
|
+
generateSpeech<Key extends keyof Registry & LLMPromptKeysOfKind<Registry, 'speech'>>(prompt: Key, options: LLMGenerateSpeechOptions<Partial<Record<VariableMap[Key], LLMVariableValue>> & Record<string, LLMVariableValue>>): Promise<LLMGeneratedSpeech>;
|
|
359
|
+
generateTranscript<Key extends keyof Registry & LLMPromptKeysOfKind<Registry, 'transcription'>>(prompt: Key, options: LLMGenerateTranscriptOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>>): Promise<LLMGeneratedTranscript>;
|
|
298
360
|
countTokens<Key extends keyof Registry>(prompt: Key, options: {
|
|
299
361
|
variables: Record<string, LLMVariableValue>;
|
|
300
362
|
history?: LLMPlainMessage[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmClient.typedefs.js","sourceRoot":"","sources":["../../src/client/llmClient.typedefs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"llmClient.typedefs.js","sourceRoot":"","sources":["../../src/client/llmClient.typedefs.ts"],"names":[],"mappings":";;;AAyCA;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -15,12 +15,31 @@ export declare const LLM_CONFIG_PARAM_CEILINGS: {
|
|
|
15
15
|
readonly min: 0;
|
|
16
16
|
readonly max: 1;
|
|
17
17
|
};
|
|
18
|
+
readonly speechSpeed: {
|
|
19
|
+
readonly min: 0.25;
|
|
20
|
+
readonly max: 4;
|
|
21
|
+
};
|
|
18
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* The provider-agnostic voice knobs a speech prompt's `config.params.speech`
|
|
25
|
+
* may carry. They replace per-provider option constants in feature code: the
|
|
26
|
+
* client maps them onto whatever shape the resolved provider takes.
|
|
27
|
+
*/
|
|
28
|
+
export declare const llmSpeechParamsSchema: z.ZodObject<{
|
|
29
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
30
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
format: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>;
|
|
19
33
|
export declare const llmConfigParamsSchema: z.ZodObject<{
|
|
20
34
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
21
35
|
topP: z.ZodOptional<z.ZodNumber>;
|
|
22
36
|
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
23
37
|
reasoningEffort: z.ZodOptional<z.ZodEnum<typeof LLMReasoningEffort>>;
|
|
38
|
+
speech: z.ZodOptional<z.ZodObject<{
|
|
39
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
40
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
format: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>>;
|
|
24
43
|
}, z.core.$loose>;
|
|
25
44
|
/**
|
|
26
45
|
* The gateway-owned shape of a prompt's `config`. The provider routes the call;
|
|
@@ -36,7 +55,13 @@ export declare const llmPromptConfigSchema: z.ZodObject<{
|
|
|
36
55
|
topP: z.ZodOptional<z.ZodNumber>;
|
|
37
56
|
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
38
57
|
reasoningEffort: z.ZodOptional<z.ZodEnum<typeof LLMReasoningEffort>>;
|
|
58
|
+
speech: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
60
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
format: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.core.$strip>>;
|
|
39
63
|
}, z.core.$loose>>;
|
|
40
64
|
}, z.core.$strip>;
|
|
41
65
|
export type LLMPromptConfig = z.infer<typeof llmPromptConfigSchema>;
|
|
42
66
|
export type LLMPromptConfigParams = z.infer<typeof llmConfigParamsSchema>;
|
|
67
|
+
export type LLMPromptSpeechParams = z.infer<typeof llmSpeechParamsSchema>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.llmPromptConfigSchema = exports.llmConfigParamsSchema = exports.LLM_CONFIG_PARAM_CEILINGS = void 0;
|
|
3
|
+
exports.llmPromptConfigSchema = exports.llmConfigParamsSchema = exports.llmSpeechParamsSchema = exports.LLM_CONFIG_PARAM_CEILINGS = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const LLMService_typedefs_1 = require("../LLMService.typedefs");
|
|
6
6
|
/**
|
|
@@ -12,7 +12,22 @@ exports.LLM_CONFIG_PARAM_CEILINGS = {
|
|
|
12
12
|
maxOutputTokens: 32_768,
|
|
13
13
|
temperature: { min: 0, max: 2 },
|
|
14
14
|
topP: { min: 0, max: 1 },
|
|
15
|
+
speechSpeed: { min: 0.25, max: 4 },
|
|
15
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* The provider-agnostic voice knobs a speech prompt's `config.params.speech`
|
|
19
|
+
* may carry. They replace per-provider option constants in feature code: the
|
|
20
|
+
* client maps them onto whatever shape the resolved provider takes.
|
|
21
|
+
*/
|
|
22
|
+
exports.llmSpeechParamsSchema = zod_1.z.object({
|
|
23
|
+
voice: zod_1.z.string().min(1).optional(),
|
|
24
|
+
speed: zod_1.z
|
|
25
|
+
.number()
|
|
26
|
+
.min(exports.LLM_CONFIG_PARAM_CEILINGS.speechSpeed.min)
|
|
27
|
+
.max(exports.LLM_CONFIG_PARAM_CEILINGS.speechSpeed.max)
|
|
28
|
+
.optional(),
|
|
29
|
+
format: zod_1.z.string().min(1).optional(),
|
|
30
|
+
});
|
|
16
31
|
exports.llmConfigParamsSchema = zod_1.z
|
|
17
32
|
.object({
|
|
18
33
|
temperature: zod_1.z
|
|
@@ -32,6 +47,7 @@ exports.llmConfigParamsSchema = zod_1.z
|
|
|
32
47
|
.max(exports.LLM_CONFIG_PARAM_CEILINGS.maxOutputTokens)
|
|
33
48
|
.optional(),
|
|
34
49
|
reasoningEffort: zod_1.z.nativeEnum(LLMService_typedefs_1.LLMReasoningEffort).optional(),
|
|
50
|
+
speech: exports.llmSpeechParamsSchema.optional(),
|
|
35
51
|
})
|
|
36
52
|
.passthrough();
|
|
37
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmConfig.schema.js","sourceRoot":"","sources":["../../src/client/llmConfig.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+DAAyE;AAEzE;;;;GAIG;AACU,QAAA,yBAAyB,GAAG;IACvC,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"llmConfig.schema.js","sourceRoot":"","sources":["../../src/client/llmConfig.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+DAAyE;AAEzE;;;;GAIG;AACU,QAAA,yBAAyB,GAAG;IACvC,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IAC/B,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACxB,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;CAC1B,CAAC;AAEX;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,OAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,iCAAyB,CAAC,WAAW,CAAC,GAAG,CAAC;SAC9C,GAAG,CAAC,iCAAyB,CAAC,WAAW,CAAC,GAAG,CAAC;SAC9C,QAAQ,EAAE;IACb,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,OAAC;KACnC,MAAM,CAAC;IACN,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,iCAAyB,CAAC,WAAW,CAAC,GAAG,CAAC;SAC9C,GAAG,CAAC,iCAAyB,CAAC,WAAW,CAAC,GAAG,CAAC;SAC9C,QAAQ,EAAE;IACb,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,iCAAyB,CAAC,IAAI,CAAC,GAAG,CAAC;SACvC,GAAG,CAAC,iCAAyB,CAAC,IAAI,CAAC,GAAG,CAAC;SACvC,QAAQ,EAAE;IACb,eAAe,EAAE,OAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,iCAAyB,CAAC,eAAe,CAAC;SAC9C,QAAQ,EAAE;IACb,eAAe,EAAE,OAAC,CAAC,UAAU,CAAC,wCAAkB,CAAC,CAAC,QAAQ,EAAE;IAC5D,MAAM,EAAE,6BAAqB,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;;;GAKG;AACU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,OAAC,CAAC,UAAU,CAAC,kCAAY,CAAC;IACpC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,MAAM,EAAE,6BAAqB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LLMPurposes } from '../LLMService.typedefs';
|
|
2
|
+
import { type LLMPromptBinding } from '../client/defineLLMPrompts';
|
|
3
|
+
/**
|
|
4
|
+
* The gateway purpose a bound prompt routes through. It decides which model map
|
|
5
|
+
* the validation gate resolves against, so an audio prompt described or
|
|
6
|
+
* resolved as a completion would fail as an unknown model.
|
|
7
|
+
*/
|
|
8
|
+
export declare function toPromptPurpose(kind: LLMPromptBinding['kind']): LLMPurposes;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toPromptPurpose = toPromptPurpose;
|
|
4
|
+
const LLMService_typedefs_1 = require("../LLMService.typedefs");
|
|
5
|
+
/**
|
|
6
|
+
* The gateway purpose a bound prompt routes through. It decides which model map
|
|
7
|
+
* the validation gate resolves against, so an audio prompt described or
|
|
8
|
+
* resolved as a completion would fail as an unknown model.
|
|
9
|
+
*/
|
|
10
|
+
function toPromptPurpose(kind) {
|
|
11
|
+
if (kind === 'speech') {
|
|
12
|
+
return LLMService_typedefs_1.LLMPurposes.TextToSpeech;
|
|
13
|
+
}
|
|
14
|
+
if (kind === 'transcription') {
|
|
15
|
+
return LLMService_typedefs_1.LLMPurposes.SpeechToText;
|
|
16
|
+
}
|
|
17
|
+
return LLMService_typedefs_1.LLMPurposes.Completion;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=promptPurpose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptPurpose.js","sourceRoot":"","sources":["../../src/client/promptPurpose.ts"],"names":[],"mappings":";;AAQA,0CAYC;AApBD,+DAAoD;AAGpD;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,IAA8B;IAE9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,iCAAW,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;QAC7B,OAAO,iCAAW,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,OAAO,iCAAW,CAAC,UAAU,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LLMProviders, type LLMSpeechOptions } from '../LLMService.typedefs';
|
|
2
|
+
import { type LLMProviderSpeechScope } from '../client/llmClient.typedefs';
|
|
3
|
+
/**
|
|
4
|
+
* Maps the provider-agnostic `config.params.speech` a Langfuse prompt carries
|
|
5
|
+
* onto the shape the resolved provider's speech service takes. A prompt edit
|
|
6
|
+
* that switches provider therefore keeps its voice settings meaningful instead
|
|
7
|
+
* of feeding an OpenAI-shaped object to Gemini.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toProviderSpeechOptions(scope: LLMProviderSpeechScope): LLMSpeechOptions[LLMProviders] | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toProviderSpeechOptions = toProviderSpeechOptions;
|
|
4
|
+
const LLMService_typedefs_1 = require("../LLMService.typedefs");
|
|
5
|
+
/**
|
|
6
|
+
* Maps the provider-agnostic `config.params.speech` a Langfuse prompt carries
|
|
7
|
+
* onto the shape the resolved provider's speech service takes. A prompt edit
|
|
8
|
+
* that switches provider therefore keeps its voice settings meaningful instead
|
|
9
|
+
* of feeding an OpenAI-shaped object to Gemini.
|
|
10
|
+
*/
|
|
11
|
+
function toProviderSpeechOptions(scope) {
|
|
12
|
+
const { provider, speech } = scope;
|
|
13
|
+
if (!speech) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (provider === LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI) {
|
|
17
|
+
return toGoogleSpeechOptions(speech);
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
voice: speech.voice,
|
|
21
|
+
speed: speech.speed,
|
|
22
|
+
response_format: speech.format,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function toGoogleSpeechOptions(speech) {
|
|
26
|
+
if (!speech.voice) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
speechConfig: {
|
|
31
|
+
voiceConfig: {
|
|
32
|
+
prebuiltVoiceConfig: { voiceName: speech.voice },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=speechOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speechOptions.js","sourceRoot":"","sources":["../../src/client/speechOptions.ts"],"names":[],"mappings":";;AAUA,0DAkBC;AA5BD,+DAA4E;AAI5E;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,KAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,KAAK,kCAAY,CAAC,kBAAkB,EAAE,CAAC;QACjD,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,eAAe,EAAE,MAAM,CAAC,MAAM;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA6B;IAE7B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,YAAY,EAAE;YACZ,WAAW,EAAE;gBACX,mBAAmB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE;aACjD;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js
CHANGED
|
@@ -12,8 +12,10 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
12
12
|
return this.getOrCreateInstance(() => new genai_1.GoogleGenAI(this.options ?? {}));
|
|
13
13
|
}
|
|
14
14
|
async createSpeech(options) {
|
|
15
|
-
const { text, model, instructions, speechOptions, abortSignal, reporterContext, } = options;
|
|
15
|
+
const { text, model, instructions, speechOptions, abortSignal, reporterContext, traceContext, } = options;
|
|
16
16
|
const writeMetrics = this.reporter?.initWriter(reporterContext);
|
|
17
|
+
const method = this.getMethodName(this.createSpeech);
|
|
18
|
+
const generationStartedAt = Date.now();
|
|
17
19
|
try {
|
|
18
20
|
const contents = `${instructions ?? ''} <text_input>${text}</text_input>`;
|
|
19
21
|
abortSignal?.throwIfAborted();
|
|
@@ -41,7 +43,7 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
41
43
|
const regularInputTokens = promptTokens - cachedTokens;
|
|
42
44
|
const outputAudioTokens = audioResponse.usageMetadata?.candidatesTokenCount ?? 0;
|
|
43
45
|
await this.writeSuccessMetrics({
|
|
44
|
-
method
|
|
46
|
+
method,
|
|
45
47
|
model,
|
|
46
48
|
usage: {
|
|
47
49
|
inputTextTokens: regularInputTokens,
|
|
@@ -49,6 +51,14 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
49
51
|
outputAudioTokens: outputAudioTokens,
|
|
50
52
|
},
|
|
51
53
|
writeMetrics,
|
|
54
|
+
generationTrace: this.buildGenerationTrace({
|
|
55
|
+
method,
|
|
56
|
+
traceContext,
|
|
57
|
+
input: { text, instructions },
|
|
58
|
+
output: { mimeType: LLMService_typedefs_1.LLMUploadFileMimeTypes.AUDIO_WAV },
|
|
59
|
+
modelParameters: model.config,
|
|
60
|
+
startedAt: generationStartedAt,
|
|
61
|
+
}),
|
|
52
62
|
});
|
|
53
63
|
return {
|
|
54
64
|
audio: wavBuffer,
|
|
@@ -57,13 +67,21 @@ class GoogleGenerativeAITextToSpeechService extends services_1.LLMTextToSpeechSe
|
|
|
57
67
|
}
|
|
58
68
|
catch (error) {
|
|
59
69
|
await this.writeErrorMetrics({
|
|
60
|
-
method
|
|
70
|
+
method,
|
|
61
71
|
model,
|
|
62
72
|
isAborted: abortSignal?.aborted,
|
|
63
73
|
writeMetrics,
|
|
74
|
+
error,
|
|
75
|
+
generationTrace: this.buildGenerationTrace({
|
|
76
|
+
method,
|
|
77
|
+
traceContext,
|
|
78
|
+
input: { text, instructions },
|
|
79
|
+
modelParameters: model.config,
|
|
80
|
+
startedAt: generationStartedAt,
|
|
81
|
+
}),
|
|
64
82
|
});
|
|
65
83
|
this.logRequestFailure({
|
|
66
|
-
method
|
|
84
|
+
method,
|
|
67
85
|
message: 'Error creating speech',
|
|
68
86
|
error,
|
|
69
87
|
isAborted: abortSignal?.aborted,
|
package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleGenerativeAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,+DAM+B;AAG/B,yCAAoD;AAEpD,MAAa,qCAEX,SAAQ,iCAAiE;IACzE,YACE,MAAsC,EACtC,QAAkB,EAClB,OAA6D;QAE7D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAA+D;QAE/D,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,
|
|
1
|
+
{"version":3,"file":"GoogleGenerativeAITextToSpeech.service.js","sourceRoot":"","sources":["../../../../src/providers/GoogleGenerativeAI/services/GoogleGenerativeAITextToSpeech.service.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,+DAM+B;AAG/B,yCAAoD;AAEpD,MAAa,qCAEX,SAAQ,iCAAiE;IACzE,YACE,MAAsC,EACtC,QAAkB,EAClB,OAA6D;QAE7D,KAAK,CAAC,kCAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAA+D;QAE/D,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,GACb,GAAG,OAAO,CAAC;QAEZ,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,EAAE,gBAAgB,IAAI,eAAe,CAAC;YAE1E,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC/D,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,kBAAkB,EAAE,CAAC,OAAO,CAAC;oBAC7B,YAAY,EAAE,aAAa,EAAE,YAAY;oBACzC,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;YAClF,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,CAAC;YAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE9C,WAAW,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAElD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,gBAAgB,IAAI,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,EAAE,uBAAuB,IAAI,CAAC,CAAC;YAC/E,MAAM,kBAAkB,GAAG,YAAY,GAAG,YAAY,CAAC;YACvD,MAAM,iBAAiB,GAAG,aAAa,CAAC,aAAa,EAAE,oBAAoB,IAAI,CAAC,CAAC;YAEjF,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE;oBACL,eAAe,EAAE,kBAAkB;oBACnC,qBAAqB,EAAE,YAAY;oBACnC,iBAAiB,EAAE,iBAAiB;iBACrC;gBACD,YAAY;gBACZ,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;oBACzC,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC7B,MAAM,EAAE,EAAE,QAAQ,EAAE,4CAAsB,CAAC,SAAS,EAAE;oBACtD,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,4CAAsB,CAAC,SAAS;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAC3B,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,YAAY;gBACZ,KAAK;gBACL,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC;oBACzC,MAAM;oBACN,YAAY;oBACZ,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC7B,eAAe,EAAE,KAAK,CAAC,MAAM;oBAC7B,SAAS,EAAE,mBAAmB;iBAC/B,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,MAAM;gBACN,OAAO,EAAE,uBAAuB;gBAChC,KAAK;gBACL,SAAS,EAAE,WAAW,EAAE,OAAO;gBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE;aAClB,CAAC,CAAC;YAEH,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,UAAU,GAAG,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,CAAC,CAAC;QACnB,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3B,SAAS,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5B,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtC,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,SAAS,CAAC,aAAa,CAAC,QAAQ,GAAG,aAAa,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC3C,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5B,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE5C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AA9ID,sFA8IC"}
|
|
@@ -17,8 +17,10 @@ class OpenAICompatibleTextToSpeechService extends services_1.LLMTextToSpeechServ
|
|
|
17
17
|
return { signal: abortSignal };
|
|
18
18
|
}
|
|
19
19
|
async createSpeech(options) {
|
|
20
|
-
const { text, model, instructions, speechOptions, abortSignal, reporterContext, } = options;
|
|
20
|
+
const { text, model, instructions, speechOptions, abortSignal, reporterContext, traceContext, } = options;
|
|
21
21
|
const writeMetrics = this.reporter?.initWriter(reporterContext);
|
|
22
|
+
const method = this.getMethodName(this.createSpeech);
|
|
23
|
+
const generationStartedAt = Date.now();
|
|
22
24
|
try {
|
|
23
25
|
abortSignal?.throwIfAborted();
|
|
24
26
|
const audioResponse = await this.instance.audio.speech.create({
|
|
@@ -35,10 +37,18 @@ class OpenAICompatibleTextToSpeechService extends services_1.LLMTextToSpeechServ
|
|
|
35
37
|
abortSignal?.throwIfAborted();
|
|
36
38
|
const usage = await this.extractUsage(audioBuffer, text, model);
|
|
37
39
|
await this.writeSuccessMetrics({
|
|
38
|
-
method
|
|
40
|
+
method,
|
|
39
41
|
model,
|
|
40
42
|
usage,
|
|
41
43
|
writeMetrics,
|
|
44
|
+
generationTrace: this.buildGenerationTrace({
|
|
45
|
+
method,
|
|
46
|
+
traceContext,
|
|
47
|
+
input: { text, instructions },
|
|
48
|
+
output: { mimeType: audioResponse.headers.get('Content-Type') },
|
|
49
|
+
modelParameters: model.config,
|
|
50
|
+
startedAt: generationStartedAt,
|
|
51
|
+
}),
|
|
42
52
|
});
|
|
43
53
|
return {
|
|
44
54
|
audio: audioBuffer,
|
|
@@ -47,13 +57,21 @@ class OpenAICompatibleTextToSpeechService extends services_1.LLMTextToSpeechServ
|
|
|
47
57
|
}
|
|
48
58
|
catch (error) {
|
|
49
59
|
await this.writeErrorMetrics({
|
|
50
|
-
method
|
|
60
|
+
method,
|
|
51
61
|
model,
|
|
52
62
|
isAborted: abortSignal?.aborted,
|
|
53
63
|
writeMetrics,
|
|
64
|
+
error,
|
|
65
|
+
generationTrace: this.buildGenerationTrace({
|
|
66
|
+
method,
|
|
67
|
+
traceContext,
|
|
68
|
+
input: { text, instructions },
|
|
69
|
+
modelParameters: model.config,
|
|
70
|
+
startedAt: generationStartedAt,
|
|
71
|
+
}),
|
|
54
72
|
});
|
|
55
73
|
this.logRequestFailure({
|
|
56
|
-
method
|
|
74
|
+
method,
|
|
57
75
|
message: 'Error creating speech',
|
|
58
76
|
error,
|
|
59
77
|
isAborted: abortSignal?.aborted,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompatibleTextToSpeech.service.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAUhC,yCAAoD;AASpD,MAAsB,mCAGpB,SAAQ,iCAA0C;IAClD,YACE,QAAkB,EAClB,MAAsC,EACtC,QAAkB,EAClB,OAAsC;QAEtC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,mBAAmB,CAC7B,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAsB,CACpD,CAAC;IACJ,CAAC;IAES,eAAe,CAAC,UAAkB;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,iBAAiB,CAAC,WAAyB;QACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAQD,KAAK,CAAC,YAAY,CAChB,OAA+D;QAE/D,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,
|
|
1
|
+
{"version":3,"file":"OpenAICompatibleTextToSpeech.service.js","sourceRoot":"","sources":["../../../src/providers/OpenAICompatible/OpenAICompatibleTextToSpeech.service.ts"],"names":[],"mappings":"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"}
|