@mate-academy/llm-gateway 8.17.1 → 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.
|
@@ -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
|
|
@@ -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");
|
|
@@ -13,6 +13,14 @@ const CHAT_MESSAGE_ROLES = [
|
|
|
13
13
|
const DEFAULT_CACHE_TTL_SECONDS = 60;
|
|
14
14
|
const PROMPT_FETCH_WARN_PREFIX = 'Langfuse prompt fetch degraded';
|
|
15
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';
|
|
16
24
|
/**
|
|
17
25
|
* Owns prompt resolution at runtime: a live SDK fetch (cached 60s,
|
|
18
26
|
* stale-while-revalidate) gated on every read, with the build-time snapshot as
|
|
@@ -23,7 +31,7 @@ const PROMPT_GATE_WARN_PREFIX = 'Langfuse prompt config rejected by the gate';
|
|
|
23
31
|
class PromptRegistryRuntime {
|
|
24
32
|
promptClient;
|
|
25
33
|
snapshot;
|
|
26
|
-
|
|
34
|
+
defaultLabels;
|
|
27
35
|
cacheTtlSeconds;
|
|
28
36
|
logger;
|
|
29
37
|
fallbackMetricEmitter;
|
|
@@ -31,7 +39,9 @@ class PromptRegistryRuntime {
|
|
|
31
39
|
constructor(config) {
|
|
32
40
|
this.promptClient = config.promptClient;
|
|
33
41
|
this.snapshot = config.snapshot;
|
|
34
|
-
this.
|
|
42
|
+
this.defaultLabels = [
|
|
43
|
+
...new Set([config.defaultLabel, exports.PRODUCTION_PROMPT_LABEL]),
|
|
44
|
+
];
|
|
35
45
|
this.cacheTtlSeconds = config.cacheTtlSeconds ?? DEFAULT_CACHE_TTL_SECONDS;
|
|
36
46
|
this.logger = config.logger?.child('PromptRegistryRuntime');
|
|
37
47
|
this.fallbackMetricEmitter
|
|
@@ -53,7 +63,6 @@ class PromptRegistryRuntime {
|
|
|
53
63
|
variables: {},
|
|
54
64
|
requires: [],
|
|
55
65
|
purpose: LLMService_typedefs_1.LLMPurposes.Completion,
|
|
56
|
-
label: this.defaultLabel,
|
|
57
66
|
})));
|
|
58
67
|
}
|
|
59
68
|
async resolve(input) {
|
|
@@ -170,31 +179,63 @@ class PromptRegistryRuntime {
|
|
|
170
179
|
if (!this.promptClient) {
|
|
171
180
|
return undefined;
|
|
172
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
|
+
}
|
|
173
209
|
const options = this.buildFetchOptions({
|
|
174
|
-
label
|
|
210
|
+
label,
|
|
175
211
|
version: input.versionOverride,
|
|
176
212
|
});
|
|
177
213
|
try {
|
|
178
214
|
if (input.kind === 'chat') {
|
|
179
|
-
const
|
|
215
|
+
const chatPrompt = await this.promptClient.getChatPrompt(input.name, options);
|
|
180
216
|
return {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
217
|
+
fetched: {
|
|
218
|
+
body: toPromptMessages(chatPrompt.messages),
|
|
219
|
+
config: chatPrompt.config,
|
|
220
|
+
version: chatPrompt.version,
|
|
221
|
+
isFallback: chatPrompt.isFallback,
|
|
222
|
+
},
|
|
223
|
+
lastError: undefined,
|
|
185
224
|
};
|
|
186
225
|
}
|
|
187
|
-
const
|
|
226
|
+
const textPrompt = await this.promptClient.getPrompt(input.name, options);
|
|
188
227
|
return {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
228
|
+
fetched: {
|
|
229
|
+
body: textPrompt.prompt,
|
|
230
|
+
config: textPrompt.config,
|
|
231
|
+
version: textPrompt.version,
|
|
232
|
+
isFallback: textPrompt.isFallback,
|
|
233
|
+
},
|
|
234
|
+
lastError: undefined,
|
|
193
235
|
};
|
|
194
236
|
}
|
|
195
237
|
catch (error) {
|
|
196
|
-
|
|
197
|
-
return undefined;
|
|
238
|
+
return { fetched: undefined, lastError: error };
|
|
198
239
|
}
|
|
199
240
|
}
|
|
200
241
|
buildFetchOptions(options) {
|
|
@@ -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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"}
|