@mate-academy/llm-gateway 8.0.0-canary.4 → 8.0.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 +32 -5
- package/dist/LLMService.typedefs.d.ts +9 -2
- package/dist/LLMService.typedefs.js.map +1 -1
- package/dist/client/codegen/fetchPromptRecords.js +21 -1
- package/dist/client/codegen/fetchPromptRecords.js.map +1 -1
- package/dist/client/codegen/renderSnapshot.d.ts +2 -1
- package/dist/client/codegen/renderSnapshot.js +30 -8
- package/dist/client/codegen/renderSnapshot.js.map +1 -1
- package/dist/client/createLLMClient.d.ts +19 -1
- package/dist/client/createLLMClient.js +96 -37
- package/dist/client/createLLMClient.js.map +1 -1
- package/dist/client/createLLMClient.typedefs.d.ts +9 -1
- package/dist/client/index.d.ts +0 -1
- package/dist/client/index.js +0 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/promptRegistry.runtime.d.ts +50 -10
- package/dist/client/promptRegistry.runtime.js +124 -36
- package/dist/client/promptRegistry.runtime.js.map +1 -1
- package/dist/client/promptSnapshot.typedefs.d.ts +22 -2
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +38 -8
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +39 -9
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js +19 -4
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAISpeechToText.service.js.map +1 -1
- package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js +38 -8
- package/dist/providers/LLMAPI/services/LLMAPIAssistance.service.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +38 -8
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
- package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js +19 -4
- package/dist/providers/OpenAICompatible/OpenAICompatibleSpeechToText.service.js.map +1 -1
- package/dist/services/LLMBaseService.abstract.js +14 -7
- package/dist/services/LLMBaseService.abstract.js.map +1 -1
- package/dist/utilities/index.d.ts +1 -0
- package/dist/utilities/index.js +1 -0
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/llmTracing/llmTracing.typedefs.d.ts +37 -0
- package/dist/utilities/llmTracing/noopLLMTracing.js +6 -0
- package/dist/utilities/llmTracing/noopLLMTracing.js.map +1 -1
- package/dist/{client → utilities}/traceIO.d.ts +4 -0
- package/dist/{client → utilities}/traceIO.js +4 -0
- package/dist/utilities/traceIO.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/traceIO.js.map +0 -1
package/README.md
CHANGED
|
@@ -118,11 +118,22 @@ wired to the no-op tracer, so nothing breaks before rollout.
|
|
|
118
118
|
`createLangfuseTracer` likewise falls back to a no-op when credentials are
|
|
119
119
|
missing.
|
|
120
120
|
|
|
121
|
-
Every completion
|
|
122
|
-
`generation` observation (
|
|
123
|
-
cost) at the same success/error points the metrics
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
Every completion, assistance and speech-to-text call made through a
|
|
122
|
+
gateway-built service emits exactly one `generation` observation (prompt/completion
|
|
123
|
+
content, model, params, usage, cost) at the same success/error points the metrics
|
|
124
|
+
reporter already wraps — one on success, one (level `ERROR`) on failure;
|
|
125
|
+
assistance tool loops emit a child `tool` observation per tool call. Calls that
|
|
126
|
+
carry no per-call trace context (text-to-speech, file and chat management) emit
|
|
127
|
+
none, on either branch. Observation input/output are capped by `truncateTraceIO`
|
|
128
|
+
before they are stamped, so a large prompt or completion cannot inflate the trace
|
|
129
|
+
payload. All of this is fire-and-forget — a tracing failure never blocks or fails
|
|
130
|
+
an LLM call.
|
|
131
|
+
|
|
132
|
+
Pass `traceContext.prompt` (`{ name, version, isFallback }`) to name the
|
|
133
|
+
observation after the managed prompt and link it to that prompt version in
|
|
134
|
+
Langfuse; a fallback prompt intentionally produces no link. The v2 client builds
|
|
135
|
+
this context for every call it makes, so `generate` and `runAgent` need nothing
|
|
136
|
+
at the call site.
|
|
126
137
|
|
|
127
138
|
To group several calls under one trace, wrap the work so nested gateway calls
|
|
128
139
|
attach to it automatically:
|
|
@@ -214,6 +225,22 @@ const { cityName } = await llm.generate(
|
|
|
214
225
|
- **Override gating.** `mode: 'production'` rejects per-call `overrides` with
|
|
215
226
|
`LLMConfigError`; only `mode: 'experiment'` (harness/playground/tests) honors
|
|
216
227
|
them.
|
|
228
|
+
- **Chat-type prompts.** A prompt seeded as a Langfuse `chat` prompt binds with
|
|
229
|
+
`kind: 'chat'`. `compile()` produces a role-tagged message array with variables
|
|
230
|
+
substituted across every message; at call time a leading `system` message maps
|
|
231
|
+
to the provider's instructions slot and the final `user` message is the request,
|
|
232
|
+
preserving the message structure the prompt declares (plan §1.2). The validation
|
|
233
|
+
gate checks the variable subset across all message contents.
|
|
234
|
+
- **Per-call schema override.** Pass `schema` in the `generate` options to override
|
|
235
|
+
the registry binding's schema for one call; the return type follows the call-site
|
|
236
|
+
schema. Use it when the output contract is dynamic (e.g. a schema whose shape
|
|
237
|
+
depends on runtime input). A binding may omit `schema` when callers always pass
|
|
238
|
+
one. The schema is the code-owned output contract, honored in every mode.
|
|
239
|
+
- **`describePrompt(name)`.** Read-only accessor returning the
|
|
240
|
+
`{ provider, model, promptVersion, isFallback }` the runtime would serve right
|
|
241
|
+
now (same resolve/cache/fallback path as `generate`, no provider call). Use it
|
|
242
|
+
where analytics events need the resolved model name — keeping it off `generate`'s
|
|
243
|
+
data-only return.
|
|
217
244
|
|
|
218
245
|
#### Agent runs (`runAgent`)
|
|
219
246
|
|
|
@@ -5,6 +5,7 @@ import type { LLMCompletionService, LLMAssistanceService, LLMSpeechToTextService
|
|
|
5
5
|
import type { LLMLoggerInterface } from './utilities/logger';
|
|
6
6
|
import type { LLMReporterInterface } from './utilities/reporter';
|
|
7
7
|
import type { LLMSchemaInterface, InferSchema } from './utilities/schema';
|
|
8
|
+
import type { LLMTracedPrompt } from './utilities/llmTracing/llmTracing.typedefs';
|
|
8
9
|
/**
|
|
9
10
|
* Enum of supported LLM providers.
|
|
10
11
|
*/
|
|
@@ -280,10 +281,16 @@ export type LLMMethodBaseOptions<Reporter extends LLMReporterInterface<any> | un
|
|
|
280
281
|
reporterContext?: never;
|
|
281
282
|
});
|
|
282
283
|
/**
|
|
283
|
-
* Per-call trace context threaded into a single gateway call. When a prompt
|
|
284
|
-
*
|
|
284
|
+
* Per-call trace context threaded into a single gateway call. When a prompt is
|
|
285
|
+
* present it names the observation instead of `<service>/<method>` and links
|
|
286
|
+
* the observation to its managed prompt version.
|
|
285
287
|
*/
|
|
286
288
|
export type LLMCallTraceContext = {
|
|
289
|
+
prompt?: LLMTracedPrompt;
|
|
290
|
+
/**
|
|
291
|
+
* @deprecated Use `prompt`. Kept on 7.8 for compatibility; still names the
|
|
292
|
+
* observation when `prompt` is absent.
|
|
293
|
+
*/
|
|
287
294
|
promptName?: string;
|
|
288
295
|
metadata?: Record<string, string | number | boolean>;
|
|
289
296
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMService.typedefs.js","sourceRoot":"","sources":["../src/LLMService.typedefs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LLMService.typedefs.js","sourceRoot":"","sources":["../src/LLMService.typedefs.ts"],"names":[],"mappings":";;;AAmCA;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,yDAAyC,CAAA;IACzC,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAoBD;;GAEG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,8CAA+B,CAAA;IAC/B,8CAA+B,CAAA;AACjC,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAiLD;;GAEG;AACH,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,mCAAuB,CAAA;AACzB,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAED;;GAEG;AACH,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,sCAAa,CAAA;IACb,gDAAuB,CAAA;IACvB,kDAAyB,CAAA;AAC3B,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAkLD;;GAEG;AACH,IAAY,sBAeX;AAfD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,yDAA+B,CAAA;IAC/B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,oDAA0B,CAAA;IAC1B,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;IACvB,mDAAyB,CAAA;IACzB,iDAAuB,CAAA;AACzB,CAAC,EAfW,sBAAsB,sCAAtB,sBAAsB,QAejC;AAwND;;;;;GAKG;AACH,IAAY,sBAIX;AAJD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,0DAAgC,CAAA;IAChC,wDAA8B,CAAA;AAChC,CAAC,EAJW,sBAAsB,sCAAtB,sBAAsB,QAIjC"}
|
|
@@ -3,6 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.fetchPromptRecords = fetchPromptRecords;
|
|
4
4
|
const llmConfig_schema_1 = require("../../client/llmConfig.schema");
|
|
5
5
|
const extractVariables_1 = require("../../client/codegen/extractVariables");
|
|
6
|
+
const CHAT_MESSAGE_ROLES = [
|
|
7
|
+
'system',
|
|
8
|
+
'user',
|
|
9
|
+
'assistant',
|
|
10
|
+
];
|
|
6
11
|
const DEFAULT_PAGE_SIZE = 100;
|
|
7
12
|
/**
|
|
8
13
|
* Fetches every prompt that carries the given label from the injected catalog
|
|
@@ -48,13 +53,20 @@ async function fetchSingleRecord(catalog, name, options) {
|
|
|
48
53
|
return undefined;
|
|
49
54
|
}
|
|
50
55
|
const fallbackText = toFallbackText(record);
|
|
56
|
+
const fallbackMessages = isChatRecord(record)
|
|
57
|
+
? toFallbackMessages(record)
|
|
58
|
+
: [];
|
|
59
|
+
const variableSource = isChatRecord(record)
|
|
60
|
+
? fallbackMessages.map((message) => message.content).join('\n')
|
|
61
|
+
: fallbackText;
|
|
51
62
|
return {
|
|
52
63
|
name,
|
|
53
64
|
kind: kindOf(record),
|
|
54
65
|
version: record.version,
|
|
55
66
|
labels: record.labels,
|
|
56
|
-
requiredVariables: (0, extractVariables_1.extractRequiredVariables)(
|
|
67
|
+
requiredVariables: (0, extractVariables_1.extractRequiredVariables)(variableSource),
|
|
57
68
|
fallbackText,
|
|
69
|
+
fallbackMessages,
|
|
58
70
|
config: parsedConfig.data,
|
|
59
71
|
};
|
|
60
72
|
}
|
|
@@ -66,6 +78,14 @@ function toFallbackText(record) {
|
|
|
66
78
|
}
|
|
67
79
|
return record.text;
|
|
68
80
|
}
|
|
81
|
+
function toFallbackMessages(record) {
|
|
82
|
+
return record.messages.flatMap((message) => (isKnownRole(message.role)
|
|
83
|
+
? [{ role: message.role, content: message.content }]
|
|
84
|
+
: []));
|
|
85
|
+
}
|
|
86
|
+
function isKnownRole(role) {
|
|
87
|
+
return CHAT_MESSAGE_ROLES.includes(role);
|
|
88
|
+
}
|
|
69
89
|
function kindOf(record) {
|
|
70
90
|
return isChatRecord(record) ? 'chat' : 'text';
|
|
71
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPromptRecords.js","sourceRoot":"","sources":["../../../src/client/codegen/fetchPromptRecords.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fetchPromptRecords.js","sourceRoot":"","sources":["../../../src/client/codegen/fetchPromptRecords.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LLMPromptConfig } from '../../client/llmConfig.schema';
|
|
2
|
-
import { type LLMPromptKind } from '../../client/promptSnapshot.typedefs';
|
|
2
|
+
import { type LLMPromptKind, type LLMPromptMessage } from '../../client/promptSnapshot.typedefs';
|
|
3
3
|
export interface CodegenPromptRecord {
|
|
4
4
|
name: string;
|
|
5
5
|
kind: LLMPromptKind;
|
|
@@ -7,6 +7,7 @@ export interface CodegenPromptRecord {
|
|
|
7
7
|
labels: string[];
|
|
8
8
|
requiredVariables: string[];
|
|
9
9
|
fallbackText: string;
|
|
10
|
+
fallbackMessages: LLMPromptMessage[];
|
|
10
11
|
config: LLMPromptConfig;
|
|
11
12
|
}
|
|
12
13
|
export interface RenderSnapshotOptions {
|
|
@@ -8,6 +8,7 @@ const FILE_HEADER = `/* eslint-disable */
|
|
|
8
8
|
// non-blocking at API pod boot. Gitignored exactly like GraphQL generated files.
|
|
9
9
|
|
|
10
10
|
import {
|
|
11
|
+
type LLMPromptMessage,
|
|
11
12
|
type LLMPromptSnapshot,
|
|
12
13
|
type LLMVariableValue,
|
|
13
14
|
} from '@mate-academy/llm-gateway';
|
|
@@ -82,10 +83,14 @@ function renderCompilers(records) {
|
|
|
82
83
|
const strictVars = record.requiredVariables.length > 0
|
|
83
84
|
? `Record<${member}Variables, LLMVariableValue>`
|
|
84
85
|
: 'Record<string, never>';
|
|
86
|
+
const returnType = record.kind === 'chat' ? 'LLMPromptMessage[]' : 'string';
|
|
87
|
+
const compileCall = record.kind === 'chat'
|
|
88
|
+
? 'compileMessagesFromSnapshot'
|
|
89
|
+
: 'compileTextFromSnapshot';
|
|
85
90
|
return `export function compile${member}(\n`
|
|
86
91
|
+ ` variables: ${strictVars} & Record<string, LLMVariableValue>,\n`
|
|
87
|
-
+ `):
|
|
88
|
-
+ ` return
|
|
92
|
+
+ `): ${returnType} {\n`
|
|
93
|
+
+ ` return ${compileCall}(LLMPrompt.${member}, variables);\n`
|
|
89
94
|
+ '}';
|
|
90
95
|
})
|
|
91
96
|
.join('\n\n')
|
|
@@ -106,19 +111,35 @@ function renderSnapshot(records) {
|
|
|
106
111
|
+ 'function escapeRegExp(value: string): string {\n'
|
|
107
112
|
+ ' return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \'\\\\$&\');\n'
|
|
108
113
|
+ '}\n\n'
|
|
109
|
-
+ 'function
|
|
110
|
-
+ '
|
|
114
|
+
+ 'function substituteVariables(\n'
|
|
115
|
+
+ ' text: string,\n'
|
|
111
116
|
+ ' variables: Record<string, LLMVariableValue>,\n'
|
|
112
117
|
+ '): string {\n'
|
|
113
|
-
+ ' const entry = langfusePromptSnapshot[name];\n'
|
|
114
|
-
+ ' const fallbackText = entry ? entry.fallbackText : \'\';\n'
|
|
115
118
|
+ ' return Object.entries(variables).reduce(\n'
|
|
116
|
-
+ ' (
|
|
119
|
+
+ ' (result, [key, value]) => result.replace(\n'
|
|
117
120
|
+ ' new RegExp(`{{\\\\s*${escapeRegExp(key)}\\\\s*}}`, \'g\'),\n'
|
|
118
121
|
+ ' String(value),\n'
|
|
119
122
|
+ ' ),\n'
|
|
120
|
-
+ '
|
|
123
|
+
+ ' text,\n'
|
|
121
124
|
+ ' );\n'
|
|
125
|
+
+ '}\n\n'
|
|
126
|
+
+ 'function compileTextFromSnapshot(\n'
|
|
127
|
+
+ ' name: LLMPrompt,\n'
|
|
128
|
+
+ ' variables: Record<string, LLMVariableValue>,\n'
|
|
129
|
+
+ '): string {\n'
|
|
130
|
+
+ ' const entry = langfusePromptSnapshot[name];\n'
|
|
131
|
+
+ ' return substituteVariables(entry ? entry.fallbackText : \'\', variables);\n'
|
|
132
|
+
+ '}\n\n'
|
|
133
|
+
+ 'function compileMessagesFromSnapshot(\n'
|
|
134
|
+
+ ' name: LLMPrompt,\n'
|
|
135
|
+
+ ' variables: Record<string, LLMVariableValue>,\n'
|
|
136
|
+
+ '): LLMPromptMessage[] {\n'
|
|
137
|
+
+ ' const entry = langfusePromptSnapshot[name];\n'
|
|
138
|
+
+ ' const messages = entry ? entry.fallbackMessages : [];\n'
|
|
139
|
+
+ ' return messages.map((message) => ({\n'
|
|
140
|
+
+ ' role: message.role,\n'
|
|
141
|
+
+ ' content: substituteVariables(message.content, variables),\n'
|
|
142
|
+
+ ' }));\n'
|
|
122
143
|
+ '}\n';
|
|
123
144
|
}
|
|
124
145
|
function toSnapshotEntry(record) {
|
|
@@ -129,6 +150,7 @@ function toSnapshotEntry(record) {
|
|
|
129
150
|
labels: record.labels,
|
|
130
151
|
requiredVariables: record.requiredVariables,
|
|
131
152
|
fallbackText: record.fallbackText,
|
|
153
|
+
fallbackMessages: record.fallbackMessages,
|
|
132
154
|
config: record.config,
|
|
133
155
|
};
|
|
134
156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderSnapshot.js","sourceRoot":"","sources":["../../../src/client/codegen/renderSnapshot.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"renderSnapshot.js","sourceRoot":"","sources":["../../../src/client/codegen/renderSnapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type LLMProviders } from '../LLMService.typedefs';
|
|
2
|
+
import { type InferSchema, type LLMSchemaInterface } from '../utilities/schema';
|
|
1
3
|
import { type LLMPromptRegistry } from '../client/defineLLMPrompts';
|
|
2
4
|
import { type LLMAgentInlineRunOptions, type LLMAgentRunOptions, type LLMAgentRunResult } from '../client/agentRun.typedefs';
|
|
3
5
|
import { LLMAgent, type LLMAgentDefinition } from '../client/LLMAgent';
|
|
@@ -12,7 +14,9 @@ export type LLMPromptVariableMap<Registry extends LLMPromptRegistry> = {
|
|
|
12
14
|
[Key in keyof Registry]: string;
|
|
13
15
|
};
|
|
14
16
|
export interface LLMClient<Registry extends LLMPromptRegistry, VariableMap extends Record<keyof Registry, string>> {
|
|
15
|
-
generate<Key extends keyof Registry>(prompt: Key, options: LLMGenerateOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue
|
|
17
|
+
generate<Key extends keyof Registry, Schema extends LLMSchemaInterface = never>(prompt: Key, options: LLMGenerateOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>, Schema>): Promise<[
|
|
18
|
+
Schema
|
|
19
|
+
] extends [never] ? LLMGenerateResult<Registry[Key]> : InferSchema<Schema>>;
|
|
16
20
|
countTokens<Key extends keyof Registry>(prompt: Key, options: {
|
|
17
21
|
variables: Record<string, LLMVariableValue>;
|
|
18
22
|
history?: LLMPlainMessage[];
|
|
@@ -20,6 +24,20 @@ export interface LLMClient<Registry extends LLMPromptRegistry, VariableMap exten
|
|
|
20
24
|
defineAgent<Key extends keyof Registry>(definition: LLMAgentDefinition<Registry, VariableMap, Key>): LLMAgent<Registry, VariableMap, Key>;
|
|
21
25
|
runAgent<Key extends keyof Registry>(prompt: Key, options: LLMAgentInlineRunOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>, Registry, VariableMap>): Promise<LLMAgentRunResult<LLMGenerateResult<Registry[Key]>>>;
|
|
22
26
|
runAgent<Key extends keyof Registry>(agent: LLMAgent<Registry, VariableMap, Key>, options: LLMAgentRunOptions<Record<VariableMap[Key], LLMVariableValue> & Record<string, LLMVariableValue>>): Promise<LLMAgentRunResult<LLMGenerateResult<Registry[Key]>>>;
|
|
27
|
+
describePrompt<Key extends keyof Registry>(prompt: Key): Promise<LLMPromptDescription>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read-only routing metadata for a prompt — the `{ provider, model,
|
|
31
|
+
* promptVersion }` the runtime would serve right now (same resolve/cache/fallback
|
|
32
|
+
* path `generate` uses). Lets analytics events record the resolved model without
|
|
33
|
+
* coupling to `generate`'s data-only return. `isFallback` flags the snapshot
|
|
34
|
+
* config was used because the live fetch was unreachable or failed the gate.
|
|
35
|
+
*/
|
|
36
|
+
export interface LLMPromptDescription {
|
|
37
|
+
provider: LLMProviders;
|
|
38
|
+
model: string;
|
|
39
|
+
promptVersion: number;
|
|
40
|
+
isFallback: boolean;
|
|
23
41
|
}
|
|
24
42
|
/**
|
|
25
43
|
* Builds the v2 gateway client once at the composition root. The client is
|
|
@@ -8,7 +8,6 @@ const plainMessages_1 = require("../client/plainMessages");
|
|
|
8
8
|
const createLLMClient_typedefs_1 = require("../client/createLLMClient.typedefs");
|
|
9
9
|
const promptRegistry_runtime_1 = require("../client/promptRegistry.runtime");
|
|
10
10
|
const errors_1 = require("../client/errors");
|
|
11
|
-
const traceIO_1 = require("../client/traceIO");
|
|
12
11
|
/**
|
|
13
12
|
* Builds the v2 gateway client once at the composition root. The client is
|
|
14
13
|
* generic over `typeof registry` (and the generated variable map), so call sites
|
|
@@ -44,6 +43,7 @@ function createLLMClient(config) {
|
|
|
44
43
|
countTokens: (prompt, options) => engine.countTokens(prompt, options),
|
|
45
44
|
defineAgent: (definition) => engine.defineAgent(definition),
|
|
46
45
|
runAgent: (promptOrAgent, options) => engine.runAgent(promptOrAgent, options),
|
|
46
|
+
describePrompt: (prompt) => engine.describePrompt(prompt),
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
class LLMClientEngine {
|
|
@@ -70,13 +70,13 @@ class LLMClientEngine {
|
|
|
70
70
|
async generate(prompt, options) {
|
|
71
71
|
const promptName = String(prompt);
|
|
72
72
|
const binding = this.registry[prompt];
|
|
73
|
+
const schema = options.schema ?? binding.schema;
|
|
73
74
|
this.assertOverridesAllowed(promptName, options.overrides);
|
|
74
75
|
const resolved = await this.resolvePrompt(promptName, binding, options.variables, {
|
|
75
76
|
purpose: LLMService_typedefs_1.LLMPurposes.Completion,
|
|
76
77
|
overrides: options.overrides,
|
|
77
78
|
});
|
|
78
|
-
|
|
79
|
-
return completion;
|
|
79
|
+
return this.runCompletion(resolved, schema, options);
|
|
80
80
|
}
|
|
81
81
|
defineAgent(definition) {
|
|
82
82
|
return new LLMAgent_1.LLMAgent(definition);
|
|
@@ -111,13 +111,33 @@ class LLMClientEngine {
|
|
|
111
111
|
const binding = this.registry[prompt];
|
|
112
112
|
const resolved = await this.resolvePrompt(promptName, binding, options.variables, { purpose: LLMService_typedefs_1.LLMPurposes.Completion });
|
|
113
113
|
const service = await this.buildCompletionService(resolved, promptName);
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
const envelope = this.buildMessageEnvelope(resolved, options.history);
|
|
115
|
+
return service.countTokens([...envelope.history, envelope.message], resolved.model);
|
|
116
|
+
}
|
|
117
|
+
async describePrompt(prompt) {
|
|
118
|
+
const promptName = String(prompt);
|
|
119
|
+
const binding = this.registry[prompt];
|
|
120
|
+
const metadata = await this.runtime.describe({
|
|
121
|
+
name: promptName,
|
|
122
|
+
kind: binding.kind === 'chat' ? 'chat' : 'text',
|
|
123
|
+
requires: binding.requires ?? [],
|
|
124
|
+
purpose: LLMService_typedefs_1.LLMPurposes.Completion,
|
|
125
|
+
});
|
|
126
|
+
if (!metadata) {
|
|
127
|
+
throw new errors_1.LLMConfigError(`unable to resolve routing metadata for "${promptName}" (live and `
|
|
128
|
+
+ 'fallback both unusable)', { promptName });
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
provider: metadata.provider,
|
|
132
|
+
model: metadata.model,
|
|
133
|
+
promptVersion: metadata.promptVersion,
|
|
134
|
+
isFallback: metadata.isFallback,
|
|
135
|
+
};
|
|
117
136
|
}
|
|
118
137
|
async resolvePrompt(promptName, binding, variables, call) {
|
|
119
138
|
const resolved = await this.runtime.resolve({
|
|
120
139
|
name: promptName,
|
|
140
|
+
kind: binding.kind === 'chat' ? 'chat' : 'text',
|
|
121
141
|
variables: this.stringifyVariables(variables),
|
|
122
142
|
requires: [
|
|
123
143
|
...(binding.requires ?? []),
|
|
@@ -132,32 +152,70 @@ class LLMClientEngine {
|
|
|
132
152
|
}
|
|
133
153
|
return resolved;
|
|
134
154
|
}
|
|
135
|
-
async runCompletion(resolved,
|
|
155
|
+
async runCompletion(resolved, schema, options) {
|
|
136
156
|
const service = await this.buildCompletionService(resolved, resolved.name);
|
|
137
|
-
const
|
|
138
|
-
const history = this.buildHistory(options.history, resolved.model);
|
|
157
|
+
const envelope = this.buildMessageEnvelope(resolved, options.history);
|
|
139
158
|
const reporterContext = this.buildReporterContext(resolved, options.context);
|
|
140
159
|
const traceContext = this.buildTraceContext(resolved, options.context);
|
|
141
|
-
const sendResult = await this.callProvider(() => (
|
|
160
|
+
const sendResult = await this.callProvider(() => (schema
|
|
142
161
|
? service.sendMessage({
|
|
143
|
-
message,
|
|
162
|
+
message: envelope.message,
|
|
144
163
|
model: resolved.model,
|
|
145
|
-
history,
|
|
146
|
-
|
|
164
|
+
history: envelope.history,
|
|
165
|
+
instructions: envelope.instructions,
|
|
166
|
+
schema,
|
|
147
167
|
abortSignal: options.abortSignal,
|
|
148
168
|
reporterContext,
|
|
149
169
|
traceContext,
|
|
150
170
|
})
|
|
151
171
|
: service.sendMessage({
|
|
152
|
-
message,
|
|
172
|
+
message: envelope.message,
|
|
153
173
|
model: resolved.model,
|
|
154
|
-
history,
|
|
174
|
+
history: envelope.history,
|
|
175
|
+
instructions: envelope.instructions,
|
|
155
176
|
abortSignal: options.abortSignal,
|
|
156
177
|
reporterContext,
|
|
157
178
|
traceContext,
|
|
158
179
|
})), resolved, options.abortSignal);
|
|
159
|
-
this.
|
|
160
|
-
|
|
180
|
+
return this.unwrapResult(resolved, schema, sendResult);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Builds the provider message envelope from the resolved prompt. A `text`
|
|
184
|
+
* prompt is one user message. A `chat` prompt preserves the structure the
|
|
185
|
+
* prompt declares: a leading `system` message maps to `instructions`, the final
|
|
186
|
+
* `user` message is the request, and any messages between them join the
|
|
187
|
+
* call-supplied history in order.
|
|
188
|
+
*/
|
|
189
|
+
buildMessageEnvelope(resolved, callHistory) {
|
|
190
|
+
if (resolved.kind !== 'chat') {
|
|
191
|
+
return {
|
|
192
|
+
message: this.buildUserMessage(resolved.text),
|
|
193
|
+
history: this.buildHistory(callHistory),
|
|
194
|
+
instructions: undefined,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const systemMessage = resolved.messages.find((message) => message.role === 'system');
|
|
198
|
+
const conversation = resolved.messages.filter((message) => message.role !== 'system');
|
|
199
|
+
const lastUserIndex = this.findLastUserIndex(conversation);
|
|
200
|
+
const promptHistory = conversation
|
|
201
|
+
.filter((_, index) => index !== lastUserIndex)
|
|
202
|
+
.map((message) => this.toCompletionMessage(message.role, message.content));
|
|
203
|
+
const requestText = lastUserIndex >= 0
|
|
204
|
+
? conversation[lastUserIndex].content
|
|
205
|
+
: resolved.text;
|
|
206
|
+
return {
|
|
207
|
+
message: this.buildUserMessage(requestText),
|
|
208
|
+
history: [...promptHistory, ...this.buildHistory(callHistory)],
|
|
209
|
+
instructions: systemMessage?.content,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
findLastUserIndex(messages) {
|
|
213
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
214
|
+
if (messages[index].role === 'user') {
|
|
215
|
+
return index;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return -1;
|
|
161
219
|
}
|
|
162
220
|
async callProvider(send, resolved, abortSignal) {
|
|
163
221
|
try {
|
|
@@ -227,15 +285,18 @@ class LLMClientEngine {
|
|
|
227
285
|
product: this.staticContext.product,
|
|
228
286
|
});
|
|
229
287
|
}
|
|
230
|
-
buildUserMessage(text
|
|
288
|
+
buildUserMessage(text) {
|
|
289
|
+
return this.toCompletionMessage('user', text);
|
|
290
|
+
}
|
|
291
|
+
buildHistory(history) {
|
|
292
|
+
return (0, plainMessages_1.plainMessagesToContentMessages)(history);
|
|
293
|
+
}
|
|
294
|
+
toCompletionMessage(role, text) {
|
|
231
295
|
return {
|
|
232
|
-
role: LLMService_typedefs_1.LLMRoles.User,
|
|
296
|
+
role: role === 'assistant' ? LLMService_typedefs_1.LLMRoles.Assistant : LLMService_typedefs_1.LLMRoles.User,
|
|
233
297
|
content: [{ type: LLMService_typedefs_1.LLMMessageContentType.TEXT, text }],
|
|
234
298
|
};
|
|
235
299
|
}
|
|
236
|
-
buildHistory(history, _model) {
|
|
237
|
-
return (0, plainMessages_1.plainMessagesToContentMessages)(history);
|
|
238
|
-
}
|
|
239
300
|
buildReporterContext(resolved, callContext) {
|
|
240
301
|
if (!this.reporter) {
|
|
241
302
|
return undefined;
|
|
@@ -247,6 +308,13 @@ class LLMClientEngine {
|
|
|
247
308
|
promptVersion: resolved.version,
|
|
248
309
|
};
|
|
249
310
|
}
|
|
311
|
+
/**
|
|
312
|
+
* Builds the per-call trace context every client path threads into the gateway
|
|
313
|
+
* service. The structural `prompt` names the observation and carries the
|
|
314
|
+
* managed prompt version, so the generation the service records on success and
|
|
315
|
+
* on error is the single one Langfuse links to that prompt — the client never
|
|
316
|
+
* records a second observation of its own.
|
|
317
|
+
*/
|
|
250
318
|
buildTraceContext(resolved, callContext) {
|
|
251
319
|
const metadata = {
|
|
252
320
|
promptVersion: resolved.version,
|
|
@@ -256,23 +324,14 @@ class LLMClientEngine {
|
|
|
256
324
|
if (userId !== undefined && userId !== null) {
|
|
257
325
|
metadata.userId = userId;
|
|
258
326
|
}
|
|
259
|
-
return {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
if (!tracer.isEnabled) {
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
tracer.recordGeneration({
|
|
267
|
-
name: resolved.name,
|
|
268
|
-
model: resolved.config.model,
|
|
269
|
-
input: (0, traceIO_1.truncateTraceIO)(resolved.text),
|
|
270
|
-
output: (0, traceIO_1.truncateTraceIO)(sendResult.data ?? sendResult.text),
|
|
271
|
-
metadata: {
|
|
272
|
-
promptVersion: resolved.version,
|
|
327
|
+
return {
|
|
328
|
+
prompt: {
|
|
329
|
+
name: resolved.name,
|
|
330
|
+
version: resolved.version,
|
|
273
331
|
isFallback: resolved.isFallback,
|
|
274
332
|
},
|
|
275
|
-
|
|
333
|
+
metadata,
|
|
334
|
+
};
|
|
276
335
|
}
|
|
277
336
|
assertOverridesAllowed(promptName, overrides) {
|
|
278
337
|
if (this.mode === 'experiment' || !overrides) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createLLMClient.js","sourceRoot":"","sources":["../../src/client/createLLMClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,12 +63,20 @@ export type LLMPromptVariables<RequiredKeys extends string> = Record<RequiredKey
|
|
|
63
63
|
export type LLMGenerateResult<Binding extends LLMPromptBinding> = Binding extends {
|
|
64
64
|
schema: infer Schema;
|
|
65
65
|
} ? Schema extends LLMSchemaInterface ? InferSchema<Schema> : string : string;
|
|
66
|
-
export interface LLMGenerateOptions<Variables extends Record<string, LLMVariableValue
|
|
66
|
+
export interface LLMGenerateOptions<Variables extends Record<string, LLMVariableValue>, Schema extends LLMSchemaInterface = never> {
|
|
67
67
|
variables: Variables;
|
|
68
68
|
context?: LLMClientCallContext;
|
|
69
69
|
history?: LLMPlainMessage[];
|
|
70
70
|
abortSignal?: AbortSignal;
|
|
71
71
|
overrides?: LLMCallOverrides;
|
|
72
|
+
/**
|
|
73
|
+
* Per-call structured-output schema. Overrides the registry binding's `schema`
|
|
74
|
+
* for this call and drives the return type (`InferSchema<Schema>`). Use it when
|
|
75
|
+
* the output contract is dynamic per call (e.g. a schema whose shape depends on
|
|
76
|
+
* runtime input). The schema is the code-owned output contract, not a routing
|
|
77
|
+
* control, so it is honored in every mode.
|
|
78
|
+
*/
|
|
79
|
+
schema?: Schema;
|
|
72
80
|
}
|
|
73
81
|
export interface LLMCallOverrides {
|
|
74
82
|
model?: string;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export * from './promptClientPort.typedefs';
|
|
|
5
5
|
export * from './defineLLMPrompts';
|
|
6
6
|
export * from './validationGate';
|
|
7
7
|
export * from './promptRegistry.runtime';
|
|
8
|
-
export * from './traceIO';
|
|
9
8
|
export * from './createLLMClient.typedefs';
|
|
10
9
|
export * from './createLLMClient';
|
|
11
10
|
export * from './agentRun.typedefs';
|
package/dist/client/index.js
CHANGED
|
@@ -21,7 +21,6 @@ __exportStar(require("./promptClientPort.typedefs"), exports);
|
|
|
21
21
|
__exportStar(require("./defineLLMPrompts"), exports);
|
|
22
22
|
__exportStar(require("./validationGate"), exports);
|
|
23
23
|
__exportStar(require("./promptRegistry.runtime"), exports);
|
|
24
|
-
__exportStar(require("./traceIO"), exports);
|
|
25
24
|
__exportStar(require("./createLLMClient.typedefs"), exports);
|
|
26
25
|
__exportStar(require("./createLLMClient"), exports);
|
|
27
26
|
__exportStar(require("./agentRun.typedefs"), 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,8DAA4C;AAC5C,qDAAmC;AACnC,mDAAiC;AACjC,2DAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,qDAAmC;AACnC,4DAA0C;AAC1C,8DAA4C;AAC5C,qDAAmC;AACnC,mDAAiC;AACjC,2DAAyC;AACzC,6DAA2C;AAC3C,oDAAkC;AAClC,sDAAoC;AACpC,6CAA2B"}
|