@mate-academy/llm-gateway 8.17.0 → 8.18.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 +27 -6
- package/dist/client/LLMClientEngine.d.ts +7 -4
- package/dist/client/LLMClientEngine.js +92 -30
- package/dist/client/LLMClientEngine.js.map +1 -1
- package/dist/client/createLLMClient.js +3 -3
- package/dist/client/createLLMClient.js.map +1 -1
- package/dist/client/defineLLMPrompts.d.ts +5 -5
- package/dist/client/errors.d.ts +2 -2
- package/dist/client/errors.js +2 -2
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/llmClient.typedefs.d.ts +50 -3
- package/dist/client/llmClient.typedefs.js.map +1 -1
- package/dist/client/llmConfig.schema.d.ts +20 -0
- package/dist/client/llmConfig.schema.js +12 -1
- package/dist/client/llmConfig.schema.js.map +1 -1
- package/dist/client/promptRegistry.runtime.d.ts +23 -1
- package/dist/client/promptRegistry.runtime.js +73 -19
- package/dist/client/promptRegistry.runtime.js.map +1 -1
- package/dist/client/speechOptions.d.ts +3 -0
- package/dist/client/speechOptions.js +31 -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
|
@@ -263,7 +263,6 @@ const llm = createLLMClient({
|
|
|
263
263
|
reporting: { reporter },
|
|
264
264
|
logger,
|
|
265
265
|
context: { product, appEnvironment },
|
|
266
|
-
mode: 'production',
|
|
267
266
|
promptClient, // an `@mate-academy/prompt-client` bundle's `promptClient`, or omit for snapshot-only
|
|
268
267
|
});
|
|
269
268
|
|
|
@@ -305,9 +304,6 @@ const { cityName } = await llm.generate(
|
|
|
305
304
|
- **Errors throw with a taxonomy** (`LLMGatewayError` base + `LLMProviderError`,
|
|
306
305
|
`LLMSchemaValidationError`, `LLMAbortedError`, `LLMConfigError`); validated
|
|
307
306
|
`data` is the return value, never an `'error' in response` union.
|
|
308
|
-
- **Override gating.** `mode: 'production'` rejects per-call `overrides` with
|
|
309
|
-
`LLMConfigError`; only `mode: 'experiment'` (harness/playground/tests) honors
|
|
310
|
-
them.
|
|
311
307
|
- **Chat-type prompts.** A prompt seeded as a Langfuse `chat` prompt binds with
|
|
312
308
|
`kind: 'chat'`. The runtime produces a role-tagged message array with variables
|
|
313
309
|
substituted across every message; at call time a leading `system` message maps
|
|
@@ -318,11 +314,12 @@ const { cityName } = await llm.generate(
|
|
|
318
314
|
schema. Use it when the output contract is dynamic (e.g. a schema whose shape
|
|
319
315
|
depends on runtime input). A binding may omit `schema` when callers always pass
|
|
320
316
|
one. The schema is the code-owned output contract, honored in every mode.
|
|
321
|
-
- **`describePrompt(name)`.** Read-only accessor returning the
|
|
317
|
+
- **`describePrompt(name, { purpose })`.** Read-only accessor returning the
|
|
322
318
|
`{ provider, model, promptVersion, isFallback }` the runtime would serve right
|
|
323
319
|
now (same resolve/cache/fallback path as `generate`, no provider call). Use it
|
|
324
320
|
where analytics events need the resolved model name — keeping it off `generate`'s
|
|
325
|
-
data-only return.
|
|
321
|
+
data-only return. `purpose` picks the model map to read, defaulting to
|
|
322
|
+
`Completion`.
|
|
326
323
|
- **`compilePrompt(name, { variables })`.** Compiles a prompt to text instead of
|
|
327
324
|
generating from it — for a sub-prompt injected as a variable into a parent
|
|
328
325
|
prompt. An outage serves the snapshot rather than throwing, and no provider is
|
|
@@ -339,6 +336,30 @@ const { cityName } = await llm.generate(
|
|
|
339
336
|
await llm.generate(WELCOME_PROMPT, { variables: { generalInstructions } });
|
|
340
337
|
```
|
|
341
338
|
|
|
339
|
+
#### Audio prompts (`generateSpeech` / `generateTranscript`)
|
|
340
|
+
|
|
341
|
+
The prompt body is the provider instructions and `config.params.speech` carries
|
|
342
|
+
`voice`, `speed` and `format`. Both reuse the completion pipeline and return the
|
|
343
|
+
audio or transcript directly; each resolves against its own model map and
|
|
344
|
+
requires `tts` / `stt`, so a completion prompt fails the gate. `variables` is
|
|
345
|
+
required as it is on `generate` — pass `{}` for a prompt that declares none.
|
|
346
|
+
|
|
347
|
+
```typescript
|
|
348
|
+
const { audio, mimeType } = await llm.generateSpeech(
|
|
349
|
+
LLMPrompt.AutoTechChecksTextToSpeech,
|
|
350
|
+
{ text: questionText, variables: {}, context: { userId }, sessionId },
|
|
351
|
+
);
|
|
352
|
+
|
|
353
|
+
const { text } = await llm.generateTranscript(
|
|
354
|
+
LLMPrompt.AutoTechChecksSpeechToText,
|
|
355
|
+
{
|
|
356
|
+
audio: { pathToAudio, mimeType: LLMUploadFileMimeTypes.AUDIO_OGG },
|
|
357
|
+
variables: { userLanguage },
|
|
358
|
+
context: { userId },
|
|
359
|
+
},
|
|
360
|
+
);
|
|
361
|
+
```
|
|
362
|
+
|
|
342
363
|
#### Agent runs (`runAgent`)
|
|
343
364
|
|
|
344
365
|
`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 LLMCompilePromptOptions, type LLMGenerateOptions, type LLMGenerateResult, type LLMPlainMessage, type LLMPromptDescription, type LLMProviderServiceScope, type LLMReporterInvocation, type LLMToolResultContext, type LLMTraceContextScope } from '../client/llmClient.typedefs';
|
|
9
|
+
import { type LLMClientCallContext, type LLMClientEngineConfig, type LLMCompilePromptOptions, type LLMDescribePromptOptions, type LLMGeneratedSpeech, type LLMGeneratedTranscript, type LLMGenerateOptions, type LLMGenerateResult, type LLMGenerateSpeechOptions, type LLMGenerateTranscriptOptions, type LLMPlainMessage, type LLMPromptDescription, type LLMProviderServiceScope, type LLMReporterInvocation, 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
|
/**
|
|
@@ -25,11 +25,12 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
25
25
|
private readonly buildReporterContextFor;
|
|
26
26
|
private readonly logger;
|
|
27
27
|
private readonly staticContext;
|
|
28
|
-
private readonly mode;
|
|
29
28
|
private readonly toolResultNormalizer;
|
|
30
29
|
private readonly agentRunner;
|
|
31
30
|
constructor(config: LLMClientEngineConfig<Registry>);
|
|
32
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>;
|
|
33
34
|
defineAgent<Key extends keyof Registry>(definition: LLMAgentDefinition<Registry, Record<keyof Registry, string>, Key>): LLMAgent<Registry, Record<keyof Registry, string>, Key>;
|
|
34
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]>>>;
|
|
35
36
|
countTokens<Key extends keyof Registry>(prompt: Key, options: {
|
|
@@ -37,7 +38,7 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
37
38
|
history?: LLMPlainMessage[];
|
|
38
39
|
}): Promise<number>;
|
|
39
40
|
compilePrompt<Key extends keyof Registry>(prompt: Key, options: LLMCompilePromptOptions<Record<string, LLMVariableValue>>): Promise<string>;
|
|
40
|
-
describePrompt<Key extends keyof Registry>(prompt: Key): Promise<LLMPromptDescription>;
|
|
41
|
+
describePrompt<Key extends keyof Registry>(prompt: Key, options?: LLMDescribePromptOptions): Promise<LLMPromptDescription>;
|
|
41
42
|
resolvePrompt(promptName: string, binding: LLMPromptBinding, variables: Record<string, LLMVariableValue>, call: LLMPromptResolutionCall): Promise<ResolvedPrompt>;
|
|
42
43
|
/**
|
|
43
44
|
* The single place a tool's return value becomes what the model reads. The
|
|
@@ -67,6 +68,8 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
67
68
|
buildAssistanceService(options: LLMProviderServiceScope): Promise<import("..").LLMAssistanceService<import("../LLMService.typedefs").LLMProviders, LLMReporterInterface<any>>>;
|
|
68
69
|
getBinding(promptName: string): LLMPromptBinding | undefined;
|
|
69
70
|
private buildCompletionService;
|
|
71
|
+
private buildTextToSpeechService;
|
|
72
|
+
private buildSpeechToTextService;
|
|
70
73
|
/**
|
|
71
74
|
* Resolves credentials for the product this call belongs to. The per-call
|
|
72
75
|
* context wins over the static one: the client is built once per process, so
|
|
@@ -100,6 +103,7 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
100
103
|
* therefore appears twice — typed here and, as it always has, inside the
|
|
101
104
|
* metadata bag the existing dashboards read.
|
|
102
105
|
*/
|
|
106
|
+
private buildCallContexts;
|
|
103
107
|
buildTraceContext(scope: LLMTraceContextScope): LLMCallTraceContext;
|
|
104
108
|
/**
|
|
105
109
|
* The call context holds the user as whatever the application uses for its
|
|
@@ -107,7 +111,6 @@ export declare class LLMClientEngine<Registry extends LLMPromptRegistry> impleme
|
|
|
107
111
|
* call that names no user leaves the trace's user field for the scope to fill.
|
|
108
112
|
*/
|
|
109
113
|
private toTraceUserId;
|
|
110
|
-
private assertOverridesAllowed;
|
|
111
114
|
private serializeCallContext;
|
|
112
115
|
private extractStatus;
|
|
113
116
|
private isRetryableStatus;
|
|
@@ -7,6 +7,7 @@ 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");
|
|
11
12
|
/**
|
|
12
13
|
* The client's single implementation. `createLLMClient` owns its construction
|
|
@@ -24,7 +25,6 @@ class LLMClientEngine {
|
|
|
24
25
|
buildReporterContextFor;
|
|
25
26
|
logger;
|
|
26
27
|
staticContext;
|
|
27
|
-
mode;
|
|
28
28
|
toolResultNormalizer;
|
|
29
29
|
agentRunner;
|
|
30
30
|
constructor(config) {
|
|
@@ -36,7 +36,6 @@ class LLMClientEngine {
|
|
|
36
36
|
this.buildReporterContextFor = config.buildReporterContext;
|
|
37
37
|
this.logger = config.logger;
|
|
38
38
|
this.staticContext = config.staticContext;
|
|
39
|
-
this.mode = config.mode;
|
|
40
39
|
this.toolResultNormalizer = config.normalizeToolResult;
|
|
41
40
|
this.agentRunner = new agentRunner_1.LLMAgentRunner(this, config.logger);
|
|
42
41
|
}
|
|
@@ -44,13 +43,58 @@ class LLMClientEngine {
|
|
|
44
43
|
const promptName = String(prompt);
|
|
45
44
|
const binding = this.registry[prompt];
|
|
46
45
|
const schema = options.schema ?? binding.schema;
|
|
47
|
-
this.assertOverridesAllowed(promptName, options.overrides);
|
|
48
46
|
const resolved = await this.resolvePrompt(promptName, binding, options.variables, {
|
|
49
47
|
purpose: LLMService_typedefs_1.LLMPurposes.Completion,
|
|
50
48
|
overrides: options.overrides,
|
|
51
49
|
});
|
|
52
50
|
return this.runCompletion(resolved, schema, options);
|
|
53
51
|
}
|
|
52
|
+
async generateSpeech(prompt, options) {
|
|
53
|
+
const promptName = String(prompt);
|
|
54
|
+
const binding = this.registry[prompt];
|
|
55
|
+
const resolved = await this.resolvePrompt(promptName, binding, options.variables, {
|
|
56
|
+
purpose: LLMService_typedefs_1.LLMPurposes.TextToSpeech,
|
|
57
|
+
additionalRequires: ['tts'],
|
|
58
|
+
overrides: options.overrides,
|
|
59
|
+
});
|
|
60
|
+
const service = await this.buildTextToSpeechService({
|
|
61
|
+
resolved,
|
|
62
|
+
callContext: options.context,
|
|
63
|
+
});
|
|
64
|
+
return this.callProvider(() => service.createSpeech({
|
|
65
|
+
text: options.text,
|
|
66
|
+
model: resolved.model,
|
|
67
|
+
instructions: resolved.text || undefined,
|
|
68
|
+
speechOptions: (0, speechOptions_1.toProviderSpeechOptions)({
|
|
69
|
+
provider: resolved.config.provider,
|
|
70
|
+
speech: resolved.config.params?.speech,
|
|
71
|
+
}),
|
|
72
|
+
abortSignal: options.abortSignal,
|
|
73
|
+
...this.buildCallContexts(resolved, options),
|
|
74
|
+
}), resolved, options.abortSignal);
|
|
75
|
+
}
|
|
76
|
+
async generateTranscript(prompt, options) {
|
|
77
|
+
const promptName = String(prompt);
|
|
78
|
+
const binding = this.registry[prompt];
|
|
79
|
+
const resolved = await this.resolvePrompt(promptName, binding, options.variables, {
|
|
80
|
+
purpose: LLMService_typedefs_1.LLMPurposes.SpeechToText,
|
|
81
|
+
additionalRequires: ['stt'],
|
|
82
|
+
overrides: options.overrides,
|
|
83
|
+
});
|
|
84
|
+
const service = await this.buildSpeechToTextService({
|
|
85
|
+
resolved,
|
|
86
|
+
callContext: options.context,
|
|
87
|
+
});
|
|
88
|
+
return this.callProvider(() => service.transcribe({
|
|
89
|
+
pathToAudio: options.audio.pathToAudio,
|
|
90
|
+
mimeType: options.audio.mimeType,
|
|
91
|
+
language: options.audio.language,
|
|
92
|
+
model: resolved.model,
|
|
93
|
+
instructions: resolved.text || undefined,
|
|
94
|
+
abortSignal: options.abortSignal,
|
|
95
|
+
...this.buildCallContexts(resolved, options),
|
|
96
|
+
}), resolved, options.abortSignal);
|
|
97
|
+
}
|
|
54
98
|
defineAgent(definition) {
|
|
55
99
|
return new LLMAgent_1.LLMAgent(definition);
|
|
56
100
|
}
|
|
@@ -59,7 +103,6 @@ class LLMClientEngine {
|
|
|
59
103
|
const promptKey = (agent ? agent.prompt : promptOrAgent);
|
|
60
104
|
const promptName = String(promptKey);
|
|
61
105
|
const binding = this.registry[promptKey];
|
|
62
|
-
this.assertOverridesAllowed(promptName, options.overrides);
|
|
63
106
|
const runResult = await this.agentRunner.run({
|
|
64
107
|
agentName: agent?.name ?? promptName,
|
|
65
108
|
promptName,
|
|
@@ -102,18 +145,19 @@ class LLMClientEngine {
|
|
|
102
145
|
});
|
|
103
146
|
return resolved.text;
|
|
104
147
|
}
|
|
105
|
-
async describePrompt(prompt) {
|
|
148
|
+
async describePrompt(prompt, options) {
|
|
106
149
|
const promptName = String(prompt);
|
|
107
150
|
const binding = this.registry[prompt];
|
|
151
|
+
const purpose = options?.purpose ?? LLMService_typedefs_1.LLMPurposes.Completion;
|
|
108
152
|
const metadata = await this.runtime.describe({
|
|
109
153
|
name: promptName,
|
|
110
|
-
kind: binding.kind
|
|
154
|
+
kind: binding.kind ?? 'text',
|
|
111
155
|
requires: binding.requires ?? [],
|
|
112
|
-
purpose
|
|
156
|
+
purpose,
|
|
113
157
|
});
|
|
114
158
|
if (!metadata) {
|
|
115
|
-
throw new errors_1.LLMConfigError(`unable to resolve routing metadata for "${promptName}"
|
|
116
|
-
+
|
|
159
|
+
throw new errors_1.LLMConfigError(`unable to resolve routing metadata for "${promptName}" under purpose `
|
|
160
|
+
+ `"${purpose}" (live and fallback both unusable)`, { promptName });
|
|
117
161
|
}
|
|
118
162
|
return {
|
|
119
163
|
provider: metadata.provider,
|
|
@@ -125,7 +169,7 @@ class LLMClientEngine {
|
|
|
125
169
|
async resolvePrompt(promptName, binding, variables, call) {
|
|
126
170
|
const resolved = await this.runtime.resolve({
|
|
127
171
|
name: promptName,
|
|
128
|
-
kind: binding.kind
|
|
172
|
+
kind: binding.kind ?? 'text',
|
|
129
173
|
variables: (0, promptVariables_1.stringifyPromptVariables)(variables),
|
|
130
174
|
requires: [
|
|
131
175
|
...(binding.requires ?? []),
|
|
@@ -164,13 +208,7 @@ class LLMClientEngine {
|
|
|
164
208
|
callContext: options.context,
|
|
165
209
|
});
|
|
166
210
|
const envelope = this.buildMessageEnvelope(resolved, options.history);
|
|
167
|
-
const reporterContext = this.
|
|
168
|
-
const traceContext = this.buildTraceContext({
|
|
169
|
-
resolved,
|
|
170
|
-
callContext: options.context,
|
|
171
|
-
sessionId: options.sessionId,
|
|
172
|
-
traceTags: options.traceTags,
|
|
173
|
-
});
|
|
211
|
+
const { reporterContext, traceContext } = this.buildCallContexts(resolved, options);
|
|
174
212
|
const sendResult = await this.callProvider(() => (schema
|
|
175
213
|
? service.sendMessage({
|
|
176
214
|
message: envelope.message,
|
|
@@ -243,11 +281,13 @@ class LLMClientEngine {
|
|
|
243
281
|
}
|
|
244
282
|
async callProvider(send, resolved, abortSignal) {
|
|
245
283
|
try {
|
|
246
|
-
const
|
|
247
|
-
if (
|
|
248
|
-
|
|
284
|
+
const providerOutcome = await send();
|
|
285
|
+
if (providerOutcome
|
|
286
|
+
&& typeof providerOutcome === 'object'
|
|
287
|
+
&& 'error' in providerOutcome) {
|
|
288
|
+
throw providerOutcome.error;
|
|
249
289
|
}
|
|
250
|
-
return
|
|
290
|
+
return providerOutcome;
|
|
251
291
|
}
|
|
252
292
|
catch (error) {
|
|
253
293
|
throw this.toTaxonomyError(error, resolved, abortSignal);
|
|
@@ -304,6 +344,26 @@ class LLMClientEngine {
|
|
|
304
344
|
reporter: this.reporter,
|
|
305
345
|
});
|
|
306
346
|
}
|
|
347
|
+
async buildTextToSpeechService(options) {
|
|
348
|
+
const providerOptions = await this.resolveProviderOptions(options);
|
|
349
|
+
const { resolved } = options;
|
|
350
|
+
return this.gateway.getTextToSpeechService({
|
|
351
|
+
provider: resolved.config.provider,
|
|
352
|
+
options: providerOptions,
|
|
353
|
+
logger: this.logger,
|
|
354
|
+
reporter: this.reporter,
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
async buildSpeechToTextService(options) {
|
|
358
|
+
const providerOptions = await this.resolveProviderOptions(options);
|
|
359
|
+
const { resolved } = options;
|
|
360
|
+
return this.gateway.getSpeechToTextService({
|
|
361
|
+
provider: resolved.config.provider,
|
|
362
|
+
options: providerOptions,
|
|
363
|
+
logger: this.logger,
|
|
364
|
+
reporter: this.reporter,
|
|
365
|
+
});
|
|
366
|
+
}
|
|
307
367
|
/**
|
|
308
368
|
* Resolves credentials for the product this call belongs to. The per-call
|
|
309
369
|
* context wins over the static one: the client is built once per process, so
|
|
@@ -367,6 +427,17 @@ class LLMClientEngine {
|
|
|
367
427
|
* therefore appears twice — typed here and, as it always has, inside the
|
|
368
428
|
* metadata bag the existing dashboards read.
|
|
369
429
|
*/
|
|
430
|
+
buildCallContexts(resolved, scope) {
|
|
431
|
+
return {
|
|
432
|
+
reporterContext: this.buildReporterContext(resolved, scope.context),
|
|
433
|
+
traceContext: this.buildTraceContext({
|
|
434
|
+
resolved,
|
|
435
|
+
callContext: scope.context,
|
|
436
|
+
sessionId: scope.sessionId,
|
|
437
|
+
traceTags: scope.traceTags,
|
|
438
|
+
}),
|
|
439
|
+
};
|
|
440
|
+
}
|
|
370
441
|
buildTraceContext(scope) {
|
|
371
442
|
const { resolved, callContext, sessionId, traceTags, } = scope;
|
|
372
443
|
return {
|
|
@@ -396,15 +467,6 @@ class LLMClientEngine {
|
|
|
396
467
|
}
|
|
397
468
|
return String(userId);
|
|
398
469
|
}
|
|
399
|
-
assertOverridesAllowed(promptName, overrides) {
|
|
400
|
-
if (this.mode === 'experiment' || !overrides) {
|
|
401
|
-
return;
|
|
402
|
-
}
|
|
403
|
-
const hasOverride = Object.values(overrides).some((value) => value !== undefined);
|
|
404
|
-
if (hasOverride) {
|
|
405
|
-
throw new errors_1.LLMConfigError(`per-call overrides are rejected by a production-mode client for "${promptName}"`, { promptName });
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
470
|
serializeCallContext(callContext) {
|
|
409
471
|
if (!callContext) {
|
|
410
472
|
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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"}
|
|
@@ -12,7 +12,6 @@ const llmClient_typedefs_1 = require("../client/llmClient.typedefs");
|
|
|
12
12
|
* reporter.
|
|
13
13
|
*/
|
|
14
14
|
function createLLMClient(config) {
|
|
15
|
-
const mode = config.mode ?? 'production';
|
|
16
15
|
const reporting = config.reporting === llmClient_typedefs_1.ReportingDisabled
|
|
17
16
|
? undefined
|
|
18
17
|
: config.reporting;
|
|
@@ -33,15 +32,16 @@ function createLLMClient(config) {
|
|
|
33
32
|
buildReporterContext: reporting?.buildContext,
|
|
34
33
|
logger: config.logger,
|
|
35
34
|
staticContext: config.context ?? {},
|
|
36
|
-
mode,
|
|
37
35
|
normalizeToolResult: config.normalizeToolResult,
|
|
38
36
|
});
|
|
39
37
|
return {
|
|
40
38
|
generate: (prompt, options) => engine.generate(prompt, options),
|
|
39
|
+
generateSpeech: (prompt, options) => engine.generateSpeech(prompt, options),
|
|
40
|
+
generateTranscript: (prompt, options) => (engine.generateTranscript(prompt, options)),
|
|
41
41
|
countTokens: (prompt, options) => engine.countTokens(prompt, options),
|
|
42
42
|
defineAgent: (definition) => engine.defineAgent(definition),
|
|
43
43
|
runAgent: (promptOrAgent, options) => engine.runAgent(promptOrAgent, options),
|
|
44
|
-
describePrompt: (prompt) => engine.describePrompt(prompt),
|
|
44
|
+
describePrompt: (prompt, options) => engine.describePrompt(prompt, options),
|
|
45
45
|
compilePrompt: (prompt, options) => engine.compilePrompt(prompt, options),
|
|
46
46
|
};
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":";;AAiBA,0CA8CC;AA9DD,8DAA2D;AAC3D,4EAAwE;AACxE,oEAKqC;AAErC;;;;;;GAMG;AACH,SAAgB,eAAe,CAK7B,MAAwD;IAExD,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,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,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC;QAC3E,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;KACtC,CAAC;AACxC,CAAC"}
|
|
@@ -12,16 +12,16 @@ export type LLMCapabilityRequirement = keyof Pick<LLMModelCapabilities, 'vision'
|
|
|
12
12
|
* the `generate` return type; `toolSchemas` carry tool name+parameter shapes for
|
|
13
13
|
* typing/capability validation (executable tools are always passed per call);
|
|
14
14
|
* `requires` lists capabilities the resolved model must satisfy; `kind`
|
|
15
|
-
*
|
|
16
|
-
* of required input names for this prompt. The client derives
|
|
17
|
-
* `variables` type from this list, independently of the prompt
|
|
18
|
-
* Langfuse.
|
|
15
|
+
* selects the stored prompt shape (`text` or `chat`); `variables` is the
|
|
16
|
+
* code-owned list of required input names for this prompt. The client derives
|
|
17
|
+
* each call site's `variables` type from this list, independently of the prompt
|
|
18
|
+
* body stored in Langfuse.
|
|
19
19
|
*/
|
|
20
20
|
export interface LLMPromptBinding<Schema extends LLMSchemaInterface = LLMSchemaInterface> {
|
|
21
21
|
schema?: Schema;
|
|
22
22
|
toolSchemas?: Record<string, LLMSchemaInterface>;
|
|
23
23
|
requires?: LLMCapabilityRequirement[];
|
|
24
|
-
kind?: LLMPromptKind
|
|
24
|
+
kind?: LLMPromptKind;
|
|
25
25
|
variables?: readonly string[];
|
|
26
26
|
}
|
|
27
27
|
export type LLMPromptRegistry = Record<string, LLMPromptBinding>;
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -49,8 +49,8 @@ export declare class LLMAbortedError extends LLMGatewayError {
|
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Configuration could not be resolved into a usable call: live config and the
|
|
52
|
-
* fallback snapshot are both unusable, or
|
|
53
|
-
*
|
|
52
|
+
* fallback snapshot are both unusable, or neither satisfies the purpose and
|
|
53
|
+
* capabilities the call requires.
|
|
54
54
|
*/
|
|
55
55
|
export declare class LLMConfigError extends LLMGatewayError {
|
|
56
56
|
}
|
package/dist/client/errors.js
CHANGED
|
@@ -59,8 +59,8 @@ class LLMAbortedError extends LLMGatewayError {
|
|
|
59
59
|
exports.LLMAbortedError = LLMAbortedError;
|
|
60
60
|
/**
|
|
61
61
|
* Configuration could not be resolved into a usable call: live config and the
|
|
62
|
-
* fallback snapshot are both unusable, or
|
|
63
|
-
*
|
|
62
|
+
* fallback snapshot are both unusable, or neither satisfies the purpose and
|
|
63
|
+
* capabilities the call requires.
|
|
64
64
|
*/
|
|
65
65
|
class LLMConfigError extends LLMGatewayError {
|
|
66
66
|
}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './defineLLMPrompts';
|
|
|
8
8
|
export * from './validationGate';
|
|
9
9
|
export * from './promptRegistry.runtime';
|
|
10
10
|
export * from './llmClient.typedefs';
|
|
11
|
+
export * from './speechOptions';
|
|
11
12
|
export * from './createLLMClient';
|
|
12
13
|
export * from './agentRun.typedefs';
|
|
13
14
|
export * from './LLMAgent';
|
package/dist/client/index.js
CHANGED
|
@@ -24,6 +24,7 @@ __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);
|
|
27
28
|
__exportStar(require("./createLLMClient"), exports);
|
|
28
29
|
__exportStar(require("./agentRun.typedefs"), exports);
|
|
29
30
|
__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,oDAAkC;AAClC,sDAAoC;AACpC,6CAA2B"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type LLMHistoryContextEntry, type LLMHistoryEntryTypes, type LLMHistoryToolCallEntry, type LLMHistoryToolResultEntry, type LLMInstanceOptions, type LLMProviders, type LLMPurposes, type LLMToolGateResult, type LLMToolResult } from '../LLMService.typedefs';
|
|
1
|
+
import { type LLMAudioMimeType, type LLMCallTraceContext, type LLMCreateSpeechResult, type LLMHistoryContextEntry, type LLMHistoryEntryTypes, type LLMHistoryToolCallEntry, type LLMHistoryToolResultEntry, type LLMInstanceOptions, type LLMProviders, type LLMPurposes, 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';
|
|
@@ -77,6 +78,15 @@ export interface LLMReporterContextScope {
|
|
|
77
78
|
* What building the per-call trace context needs: the resolved prompt, the
|
|
78
79
|
* per-call context, and the typed Langfuse trace fields the call site supplied.
|
|
79
80
|
*/
|
|
81
|
+
export interface LLMCallScope {
|
|
82
|
+
context?: LLMClientCallContext;
|
|
83
|
+
sessionId?: string;
|
|
84
|
+
traceTags?: string[];
|
|
85
|
+
}
|
|
86
|
+
export interface LLMCallContexts {
|
|
87
|
+
reporterContext: unknown;
|
|
88
|
+
traceContext: LLMCallTraceContext;
|
|
89
|
+
}
|
|
80
90
|
export interface LLMTraceContextScope {
|
|
81
91
|
resolved: ResolvedPrompt;
|
|
82
92
|
callContext: LLMClientCallContext | undefined;
|
|
@@ -204,7 +214,6 @@ export interface LLMClientEngineConfig<Registry extends LLMPromptRegistry> {
|
|
|
204
214
|
buildReporterContext: ((scope: LLMReporterContextScope) => unknown) | undefined;
|
|
205
215
|
logger: LLMLoggerInterface | undefined;
|
|
206
216
|
staticContext: LLMClientStaticContext;
|
|
207
|
-
mode: LLMClientMode;
|
|
208
217
|
normalizeToolResult: LLMToolResultNormalizer | undefined;
|
|
209
218
|
}
|
|
210
219
|
/**
|
|
@@ -264,6 +273,42 @@ export interface LLMGenerateOptions<Variables extends Record<string, LLMVariable
|
|
|
264
273
|
*/
|
|
265
274
|
schema?: Schema;
|
|
266
275
|
}
|
|
276
|
+
export interface LLMDescribePromptOptions {
|
|
277
|
+
purpose?: LLMPurposes;
|
|
278
|
+
}
|
|
279
|
+
export interface LLMProviderSpeechScope {
|
|
280
|
+
provider: LLMProviders;
|
|
281
|
+
speech: LLMPromptSpeechParams | undefined;
|
|
282
|
+
}
|
|
283
|
+
export interface LLMTranscriptAudio {
|
|
284
|
+
pathToAudio: string;
|
|
285
|
+
mimeType?: LLMAudioMimeType;
|
|
286
|
+
language?: string;
|
|
287
|
+
}
|
|
288
|
+
export interface LLMGenerateSpeechOptions<Variables extends Record<string, LLMVariableValue>> {
|
|
289
|
+
text: string;
|
|
290
|
+
variables: Variables;
|
|
291
|
+
context?: LLMClientCallContext;
|
|
292
|
+
abortSignal?: AbortSignal;
|
|
293
|
+
overrides?: LLMCallOverrides;
|
|
294
|
+
sessionId?: string;
|
|
295
|
+
traceTags?: string[];
|
|
296
|
+
}
|
|
297
|
+
export interface LLMGenerateTranscriptOptions<Variables extends Record<string, LLMVariableValue>> {
|
|
298
|
+
audio: LLMTranscriptAudio;
|
|
299
|
+
variables: Variables;
|
|
300
|
+
context?: LLMClientCallContext;
|
|
301
|
+
abortSignal?: AbortSignal;
|
|
302
|
+
overrides?: LLMCallOverrides;
|
|
303
|
+
sessionId?: string;
|
|
304
|
+
traceTags?: string[];
|
|
305
|
+
}
|
|
306
|
+
export type LLMGeneratedSpeech = Extract<LLMCreateSpeechResult, {
|
|
307
|
+
audio: Buffer<ArrayBuffer>;
|
|
308
|
+
}>;
|
|
309
|
+
export type LLMGeneratedTranscript = Extract<LLMTranscribeResult, {
|
|
310
|
+
text: string;
|
|
311
|
+
}>;
|
|
267
312
|
export interface LLMCallOverrides {
|
|
268
313
|
model?: string;
|
|
269
314
|
provider?: LLMProviders;
|
|
@@ -316,6 +361,8 @@ export interface LLMClient<Registry extends LLMPromptRegistry, VariableMap exten
|
|
|
316
361
|
generate<Key extends keyof Registry, Schema extends LLMSchemaInterface = never>(prompt: Key, options: LLMGenerateOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>, Schema>): Promise<[
|
|
317
362
|
Schema
|
|
318
363
|
] extends [never] ? LLMGenerateResult<Registry[Key]> : InferSchema<Schema>>;
|
|
364
|
+
generateSpeech<Key extends keyof Registry>(prompt: Key, options: LLMGenerateSpeechOptions<LLMPromptVariables<VariableMap[Key]>>): Promise<LLMGeneratedSpeech>;
|
|
365
|
+
generateTranscript<Key extends keyof Registry>(prompt: Key, options: LLMGenerateTranscriptOptions<LLMPromptVariables<VariableMap[Key]>>): Promise<LLMGeneratedTranscript>;
|
|
319
366
|
countTokens<Key extends keyof Registry>(prompt: Key, options: {
|
|
320
367
|
variables: Record<string, LLMVariableValue>;
|
|
321
368
|
history?: LLMPlainMessage[];
|
|
@@ -323,7 +370,7 @@ export interface LLMClient<Registry extends LLMPromptRegistry, VariableMap exten
|
|
|
323
370
|
defineAgent<Key extends keyof Registry>(definition: LLMAgentDefinition<Registry, VariableMap, Key>): LLMAgent<Registry, VariableMap, Key>;
|
|
324
371
|
runAgent<Key extends keyof Registry>(prompt: Key, options: LLMAgentInlineRunOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>, Registry, VariableMap>): Promise<LLMAgentRunResult<LLMGenerateResult<Registry[Key]>>>;
|
|
325
372
|
runAgent<Key extends keyof Registry>(agent: LLMAgent<Registry, VariableMap, Key>, options: LLMAgentRunOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>>): Promise<LLMAgentRunResult<LLMGenerateResult<Registry[Key]>>>;
|
|
326
|
-
describePrompt<Key extends keyof Registry>(prompt: Key): Promise<LLMPromptDescription>;
|
|
373
|
+
describePrompt<Key extends keyof Registry>(prompt: Key, options?: LLMDescribePromptOptions): Promise<LLMPromptDescription>;
|
|
327
374
|
compilePrompt<Key extends keyof Registry>(prompt: Key, options: LLMCompilePromptOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>>): Promise<string>;
|
|
328
375
|
}
|
|
329
376
|
/**
|
|
@@ -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":";;;AA2CA;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -15,12 +15,26 @@ 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
|
+
export declare const llmSpeechParamsSchema: z.ZodObject<{
|
|
24
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
25
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
format: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
19
28
|
export declare const llmConfigParamsSchema: z.ZodObject<{
|
|
20
29
|
temperature: z.ZodOptional<z.ZodNumber>;
|
|
21
30
|
topP: z.ZodOptional<z.ZodNumber>;
|
|
22
31
|
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
23
32
|
reasoningEffort: z.ZodOptional<z.ZodEnum<typeof LLMReasoningEffort>>;
|
|
33
|
+
speech: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
35
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
format: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>>;
|
|
24
38
|
}, z.core.$loose>;
|
|
25
39
|
/**
|
|
26
40
|
* The gateway-owned shape of a prompt's `config`. The provider routes the call;
|
|
@@ -36,7 +50,13 @@ export declare const llmPromptConfigSchema: z.ZodObject<{
|
|
|
36
50
|
topP: z.ZodOptional<z.ZodNumber>;
|
|
37
51
|
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
38
52
|
reasoningEffort: z.ZodOptional<z.ZodEnum<typeof LLMReasoningEffort>>;
|
|
53
|
+
speech: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
voice: z.ZodOptional<z.ZodString>;
|
|
55
|
+
speed: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
format: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
39
58
|
}, z.core.$loose>>;
|
|
40
59
|
}, z.core.$strip>;
|
|
41
60
|
export type LLMPromptConfig = z.infer<typeof llmPromptConfigSchema>;
|
|
42
61
|
export type LLMPromptConfigParams = z.infer<typeof llmConfigParamsSchema>;
|
|
62
|
+
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,17 @@ 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
|
+
exports.llmSpeechParamsSchema = zod_1.z.object({
|
|
18
|
+
voice: zod_1.z.string().min(1).optional(),
|
|
19
|
+
speed: zod_1.z
|
|
20
|
+
.number()
|
|
21
|
+
.min(exports.LLM_CONFIG_PARAM_CEILINGS.speechSpeed.min)
|
|
22
|
+
.max(exports.LLM_CONFIG_PARAM_CEILINGS.speechSpeed.max)
|
|
23
|
+
.optional(),
|
|
24
|
+
format: zod_1.z.string().min(1).optional(),
|
|
25
|
+
});
|
|
16
26
|
exports.llmConfigParamsSchema = zod_1.z
|
|
17
27
|
.object({
|
|
18
28
|
temperature: zod_1.z
|
|
@@ -32,6 +42,7 @@ exports.llmConfigParamsSchema = zod_1.z
|
|
|
32
42
|
.max(exports.LLM_CONFIG_PARAM_CEILINGS.maxOutputTokens)
|
|
33
43
|
.optional(),
|
|
34
44
|
reasoningEffort: zod_1.z.nativeEnum(LLMService_typedefs_1.LLMReasoningEffort).optional(),
|
|
45
|
+
speech: exports.llmSpeechParamsSchema.optional(),
|
|
35
46
|
})
|
|
36
47
|
.passthrough();
|
|
37
48
|
/**
|
|
@@ -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;AAEE,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"}
|
|
@@ -23,6 +23,20 @@ export interface ResolvedPrompt {
|
|
|
23
23
|
version: number;
|
|
24
24
|
isFallback: boolean;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The label every Langfuse project keeps its live prompts under. A deployment
|
|
28
|
+
* may serve its own label (`development`, `staging`) so a prompt can be tried
|
|
29
|
+
* on one environment before it reaches the rest; a prompt that has no version
|
|
30
|
+
* under that label falls through to this one rather than to the build-time
|
|
31
|
+
* snapshot, which would silently serve whatever shipped with the code.
|
|
32
|
+
*/
|
|
33
|
+
export declare const PRODUCTION_PROMPT_LABEL = "production";
|
|
34
|
+
export interface FetchedPrompt {
|
|
35
|
+
body: string | LLMPromptMessage[];
|
|
36
|
+
config: unknown;
|
|
37
|
+
version: number;
|
|
38
|
+
isFallback: boolean;
|
|
39
|
+
}
|
|
26
40
|
export interface ResolvePromptInput {
|
|
27
41
|
name: string;
|
|
28
42
|
kind: LLMPromptKind;
|
|
@@ -72,7 +86,7 @@ export interface PromptRegistryRuntimeConfig {
|
|
|
72
86
|
export declare class PromptRegistryRuntime {
|
|
73
87
|
private readonly promptClient;
|
|
74
88
|
private readonly snapshot;
|
|
75
|
-
private readonly
|
|
89
|
+
private readonly defaultLabels;
|
|
76
90
|
private readonly cacheTtlSeconds;
|
|
77
91
|
private readonly logger;
|
|
78
92
|
private readonly fallbackMetricEmitter;
|
|
@@ -100,6 +114,13 @@ export declare class PromptRegistryRuntime {
|
|
|
100
114
|
private tryResolveLive;
|
|
101
115
|
private tryResolveFallback;
|
|
102
116
|
private fetchLive;
|
|
117
|
+
/**
|
|
118
|
+
* An explicitly requested label is served or not served — never quietly
|
|
119
|
+
* replaced by another one, because the caller asked to see that exact
|
|
120
|
+
* prompt. Only the deployment's own default falls through to production.
|
|
121
|
+
*/
|
|
122
|
+
private readLabels;
|
|
123
|
+
private fetchLabelled;
|
|
103
124
|
private buildFetchOptions;
|
|
104
125
|
/**
|
|
105
126
|
* Substitutes variables into the prompt body. For a `chat` prompt every
|
|
@@ -116,6 +137,7 @@ export declare class PromptRegistryRuntime {
|
|
|
116
137
|
*/
|
|
117
138
|
private substitute;
|
|
118
139
|
private emitFallback;
|
|
140
|
+
private emitGateRejection;
|
|
119
141
|
private warnOnce;
|
|
120
142
|
}
|
|
121
143
|
export declare function snapshotEntryNames(snapshot: LLMPromptSnapshot): string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PromptRegistryRuntime = void 0;
|
|
3
|
+
exports.PromptRegistryRuntime = exports.PRODUCTION_PROMPT_LABEL = void 0;
|
|
4
4
|
exports.snapshotEntryNames = snapshotEntryNames;
|
|
5
5
|
const LLMService_typedefs_1 = require("../LLMService.typedefs");
|
|
6
6
|
const llmTracing_1 = require("../utilities/llmTracing");
|
|
@@ -12,6 +12,15 @@ const CHAT_MESSAGE_ROLES = [
|
|
|
12
12
|
];
|
|
13
13
|
const DEFAULT_CACHE_TTL_SECONDS = 60;
|
|
14
14
|
const PROMPT_FETCH_WARN_PREFIX = 'Langfuse prompt fetch degraded';
|
|
15
|
+
const PROMPT_GATE_WARN_PREFIX = 'Langfuse prompt config rejected by the gate';
|
|
16
|
+
/**
|
|
17
|
+
* The label every Langfuse project keeps its live prompts under. A deployment
|
|
18
|
+
* may serve its own label (`development`, `staging`) so a prompt can be tried
|
|
19
|
+
* on one environment before it reaches the rest; a prompt that has no version
|
|
20
|
+
* under that label falls through to this one rather than to the build-time
|
|
21
|
+
* snapshot, which would silently serve whatever shipped with the code.
|
|
22
|
+
*/
|
|
23
|
+
exports.PRODUCTION_PROMPT_LABEL = 'production';
|
|
15
24
|
/**
|
|
16
25
|
* Owns prompt resolution at runtime: a live SDK fetch (cached 60s,
|
|
17
26
|
* stale-while-revalidate) gated on every read, with the build-time snapshot as
|
|
@@ -22,7 +31,7 @@ const PROMPT_FETCH_WARN_PREFIX = 'Langfuse prompt fetch degraded';
|
|
|
22
31
|
class PromptRegistryRuntime {
|
|
23
32
|
promptClient;
|
|
24
33
|
snapshot;
|
|
25
|
-
|
|
34
|
+
defaultLabels;
|
|
26
35
|
cacheTtlSeconds;
|
|
27
36
|
logger;
|
|
28
37
|
fallbackMetricEmitter;
|
|
@@ -30,7 +39,9 @@ class PromptRegistryRuntime {
|
|
|
30
39
|
constructor(config) {
|
|
31
40
|
this.promptClient = config.promptClient;
|
|
32
41
|
this.snapshot = config.snapshot;
|
|
33
|
-
this.
|
|
42
|
+
this.defaultLabels = [
|
|
43
|
+
...new Set([config.defaultLabel, exports.PRODUCTION_PROMPT_LABEL]),
|
|
44
|
+
];
|
|
34
45
|
this.cacheTtlSeconds = config.cacheTtlSeconds ?? DEFAULT_CACHE_TTL_SECONDS;
|
|
35
46
|
this.logger = config.logger?.child('PromptRegistryRuntime');
|
|
36
47
|
this.fallbackMetricEmitter
|
|
@@ -52,7 +63,6 @@ class PromptRegistryRuntime {
|
|
|
52
63
|
variables: {},
|
|
53
64
|
requires: [],
|
|
54
65
|
purpose: LLMService_typedefs_1.LLMPurposes.Completion,
|
|
55
|
-
label: this.defaultLabel,
|
|
56
66
|
})));
|
|
57
67
|
}
|
|
58
68
|
async resolve(input) {
|
|
@@ -83,7 +93,7 @@ class PromptRegistryRuntime {
|
|
|
83
93
|
isFallback: false,
|
|
84
94
|
};
|
|
85
95
|
}
|
|
86
|
-
this.
|
|
96
|
+
this.emitGateRejection(input, gate, 'live');
|
|
87
97
|
}
|
|
88
98
|
return this.describeFromSnapshot(input);
|
|
89
99
|
}
|
|
@@ -94,6 +104,7 @@ class PromptRegistryRuntime {
|
|
|
94
104
|
}
|
|
95
105
|
const gate = this.gateConfig(entry.config, input);
|
|
96
106
|
if (!gate.valid) {
|
|
107
|
+
this.emitGateRejection(input, gate, 'snapshot');
|
|
97
108
|
return undefined;
|
|
98
109
|
}
|
|
99
110
|
return {
|
|
@@ -123,7 +134,7 @@ class PromptRegistryRuntime {
|
|
|
123
134
|
purpose: input.purpose,
|
|
124
135
|
});
|
|
125
136
|
if (!gate.valid) {
|
|
126
|
-
this.
|
|
137
|
+
this.emitGateRejection(input, gate, 'live');
|
|
127
138
|
return undefined;
|
|
128
139
|
}
|
|
129
140
|
return {
|
|
@@ -149,6 +160,7 @@ class PromptRegistryRuntime {
|
|
|
149
160
|
purpose: input.purpose,
|
|
150
161
|
});
|
|
151
162
|
if (!gate.valid) {
|
|
163
|
+
this.emitGateRejection(input, gate, 'snapshot');
|
|
152
164
|
return undefined;
|
|
153
165
|
}
|
|
154
166
|
this.emitFallback(input, 'snapshot-served');
|
|
@@ -167,31 +179,63 @@ class PromptRegistryRuntime {
|
|
|
167
179
|
if (!this.promptClient) {
|
|
168
180
|
return undefined;
|
|
169
181
|
}
|
|
182
|
+
const attempts = await this.readLabels(input).reduce(async (running, label) => {
|
|
183
|
+
const attempted = await running;
|
|
184
|
+
if (attempted.fetched) {
|
|
185
|
+
return attempted;
|
|
186
|
+
}
|
|
187
|
+
return this.fetchLabelled(input, label);
|
|
188
|
+
}, Promise.resolve({ fetched: undefined, lastError: undefined }));
|
|
189
|
+
if (!attempts.fetched && attempts.lastError !== undefined) {
|
|
190
|
+
this.warnOnce(input.name, attempts.lastError);
|
|
191
|
+
}
|
|
192
|
+
return attempts.fetched;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* An explicitly requested label is served or not served — never quietly
|
|
196
|
+
* replaced by another one, because the caller asked to see that exact
|
|
197
|
+
* prompt. Only the deployment's own default falls through to production.
|
|
198
|
+
*/
|
|
199
|
+
readLabels(input) {
|
|
200
|
+
const requestedLabel = input.labelOverride ?? input.label;
|
|
201
|
+
return requestedLabel === undefined
|
|
202
|
+
? this.defaultLabels
|
|
203
|
+
: [requestedLabel];
|
|
204
|
+
}
|
|
205
|
+
async fetchLabelled(input, label) {
|
|
206
|
+
if (!this.promptClient) {
|
|
207
|
+
return { fetched: undefined, lastError: undefined };
|
|
208
|
+
}
|
|
170
209
|
const options = this.buildFetchOptions({
|
|
171
|
-
label
|
|
210
|
+
label,
|
|
172
211
|
version: input.versionOverride,
|
|
173
212
|
});
|
|
174
213
|
try {
|
|
175
214
|
if (input.kind === 'chat') {
|
|
176
|
-
const
|
|
215
|
+
const chatPrompt = await this.promptClient.getChatPrompt(input.name, options);
|
|
177
216
|
return {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
217
|
+
fetched: {
|
|
218
|
+
body: toPromptMessages(chatPrompt.messages),
|
|
219
|
+
config: chatPrompt.config,
|
|
220
|
+
version: chatPrompt.version,
|
|
221
|
+
isFallback: chatPrompt.isFallback,
|
|
222
|
+
},
|
|
223
|
+
lastError: undefined,
|
|
182
224
|
};
|
|
183
225
|
}
|
|
184
|
-
const
|
|
226
|
+
const textPrompt = await this.promptClient.getPrompt(input.name, options);
|
|
185
227
|
return {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
228
|
+
fetched: {
|
|
229
|
+
body: textPrompt.prompt,
|
|
230
|
+
config: textPrompt.config,
|
|
231
|
+
version: textPrompt.version,
|
|
232
|
+
isFallback: textPrompt.isFallback,
|
|
233
|
+
},
|
|
234
|
+
lastError: undefined,
|
|
190
235
|
};
|
|
191
236
|
}
|
|
192
237
|
catch (error) {
|
|
193
|
-
|
|
194
|
-
return undefined;
|
|
238
|
+
return { fetched: undefined, lastError: error };
|
|
195
239
|
}
|
|
196
240
|
}
|
|
197
241
|
buildFetchOptions(options) {
|
|
@@ -235,6 +279,16 @@ class PromptRegistryRuntime {
|
|
|
235
279
|
emitFallback(input, reason) {
|
|
236
280
|
this.fallbackMetricEmitter({ promptName: input.name, reason });
|
|
237
281
|
}
|
|
282
|
+
emitGateRejection(input, gate, source) {
|
|
283
|
+
this.emitFallback(input, `${source}-${gate.reason}`);
|
|
284
|
+
this.logger?.warn(PROMPT_GATE_WARN_PREFIX, {
|
|
285
|
+
promptName: input.name,
|
|
286
|
+
purpose: input.purpose,
|
|
287
|
+
source,
|
|
288
|
+
reason: gate.reason,
|
|
289
|
+
detail: gate.detail,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
238
292
|
warnOnce(name, error) {
|
|
239
293
|
if (this.hasWarnedThisProcess) {
|
|
240
294
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptRegistry.runtime.js","sourceRoot":"","sources":["../../src/client/promptRegistry.runtime.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"promptRegistry.runtime.js","sourceRoot":"","sources":["../../src/client/promptRegistry.runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { LLMProviders, type LLMSpeechOptions } from '../LLMService.typedefs';
|
|
2
|
+
import { type LLMProviderSpeechScope } from '../client/llmClient.typedefs';
|
|
3
|
+
export declare function toProviderSpeechOptions(scope: LLMProviderSpeechScope): LLMSpeechOptions[LLMProviders] | undefined;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toProviderSpeechOptions = toProviderSpeechOptions;
|
|
4
|
+
const LLMService_typedefs_1 = require("../LLMService.typedefs");
|
|
5
|
+
function toProviderSpeechOptions(scope) {
|
|
6
|
+
const { provider, speech } = scope;
|
|
7
|
+
if (!speech) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
if (provider === LLMService_typedefs_1.LLMProviders.GoogleGenerativeAI) {
|
|
11
|
+
return toGoogleSpeechOptions(speech);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
voice: speech.voice,
|
|
15
|
+
speed: speech.speed,
|
|
16
|
+
response_format: speech.format,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function toGoogleSpeechOptions(speech) {
|
|
20
|
+
if (!speech.voice) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
speechConfig: {
|
|
25
|
+
voiceConfig: {
|
|
26
|
+
prebuiltVoiceConfig: { voiceName: speech.voice },
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=speechOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speechOptions.js","sourceRoot":"","sources":["../../src/client/speechOptions.ts"],"names":[],"mappings":";;AAIA,0DAkBC;AAtBD,+DAA4E;AAI5E,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":"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"}
|
|
@@ -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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"}
|