bkper 5.3.3 → 5.3.4
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/lib/agent/extensions/builtins.d.ts +2 -1
- package/lib/agent/extensions/builtins.d.ts.map +1 -1
- package/lib/agent/extensions/builtins.js +2 -6
- package/lib/agent/extensions/builtins.js.map +1 -1
- package/lib/agent/extensions/handoff-goal-editor.d.ts +18 -28
- package/lib/agent/extensions/handoff-goal-editor.d.ts.map +1 -1
- package/lib/agent/extensions/handoff-goal-editor.js +27 -36
- package/lib/agent/extensions/handoff-goal-editor.js.map +1 -1
- package/lib/agent/extensions/handoff.d.ts +3 -1
- package/lib/agent/extensions/handoff.d.ts.map +1 -1
- package/lib/agent/extensions/handoff.js +47 -24
- package/lib/agent/extensions/handoff.js.map +1 -1
- package/lib/agent/interactive/interactive-mode.d.ts +0 -1
- package/lib/agent/interactive/interactive-mode.d.ts.map +1 -1
- package/lib/agent/interactive/interactive-mode.js +2 -22
- package/lib/agent/interactive/interactive-mode.js.map +1 -1
- package/lib/agent/interactive/run-agent-mode.d.ts.map +1 -1
- package/lib/agent/interactive/run-agent-mode.js +8 -1
- package/lib/agent/interactive/run-agent-mode.js.map +1 -1
- package/lib/agent/pi-shared-modules.d.ts +2 -1
- package/lib/agent/pi-shared-modules.d.ts.map +1 -1
- package/lib/agent/pi-shared-modules.js +1 -1
- package/lib/agent/pi-shared-modules.js.map +1 -1
- package/lib/agent/system-prompt.d.ts.map +1 -1
- package/lib/agent/system-prompt.js +1 -8
- package/lib/agent/system-prompt.js.map +1 -1
- package/lib/docs/index.md +0 -3
- package/package.json +1 -2
- package/lib/agent/core-concepts-routing.d.ts +0 -9
- package/lib/agent/core-concepts-routing.d.ts.map +0 -1
- package/lib/agent/core-concepts-routing.js +0 -34
- package/lib/agent/core-concepts-routing.js.map +0 -1
- package/lib/agent/extensions/core-concepts-preload.d.ts +0 -27
- package/lib/agent/extensions/core-concepts-preload.d.ts.map +0 -1
- package/lib/agent/extensions/core-concepts-preload.js +0 -122
- package/lib/agent/extensions/core-concepts-preload.js.map +0 -1
- package/lib/agent/extensions/prompt-routing.d.ts +0 -12
- package/lib/agent/extensions/prompt-routing.d.ts.map +0 -1
- package/lib/agent/extensions/prompt-routing.js +0 -38
- package/lib/agent/extensions/prompt-routing.js.map +0 -1
- package/lib/agent/interactive/pending-user-message.d.ts +0 -24
- package/lib/agent/interactive/pending-user-message.d.ts.map +0 -1
- package/lib/agent/interactive/pending-user-message.js +0 -82
- package/lib/agent/interactive/pending-user-message.js.map +0 -1
- package/lib/agent/prompt-routing.d.ts +0 -33
- package/lib/agent/prompt-routing.d.ts.map +0 -1
- package/lib/agent/prompt-routing.js +0 -106
- package/lib/agent/prompt-routing.js.map +0 -1
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
export const PROMPT_ROUTING_MODEL = { provider: 'bkper', id: 'jev' };
|
|
11
|
-
export const PROMPT_ROUTING_TIMEOUT_MS = 5000;
|
|
12
|
-
const MAX_PROMPT_CHARS = 16000;
|
|
13
|
-
const MAX_RECENT_USER_MESSAGES = 3;
|
|
14
|
-
const MAX_CONTEXT_MESSAGE_CHARS = 2000;
|
|
15
|
-
/** Only user text from the current branch is sent; never tool output or images. */
|
|
16
|
-
export function buildPromptRoutingInput(prompt, messages = []) {
|
|
17
|
-
const recentUserMessages = [];
|
|
18
|
-
for (let i = messages.length - 1; i >= 0 && recentUserMessages.length < MAX_RECENT_USER_MESSAGES; i--) {
|
|
19
|
-
const message = messages[i];
|
|
20
|
-
if (message.role !== 'user')
|
|
21
|
-
continue;
|
|
22
|
-
const text = typeof message.content === 'string'
|
|
23
|
-
? message.content
|
|
24
|
-
: message.content
|
|
25
|
-
.filter(block => block.type === 'text')
|
|
26
|
-
.map(block => block.text)
|
|
27
|
-
.join('\n');
|
|
28
|
-
if (text.trim())
|
|
29
|
-
recentUserMessages.unshift(text.slice(0, MAX_CONTEXT_MESSAGE_CHARS));
|
|
30
|
-
}
|
|
31
|
-
return { prompt: prompt.slice(0, MAX_PROMPT_CHARS), recentUserMessages };
|
|
32
|
-
}
|
|
33
|
-
/** One bounded Jev call for all pending questions, with a fallback per route. */
|
|
34
|
-
export function evaluatePromptRoutes(input_1, routes_1, registry_1) {
|
|
35
|
-
return __awaiter(this, arguments, void 0, function* (input, routes, registry, options = {}) {
|
|
36
|
-
var _a, _b, _c, _d;
|
|
37
|
-
if (routes.length === 0)
|
|
38
|
-
return {};
|
|
39
|
-
const fallback = (route, reason) => ({
|
|
40
|
-
load: route.fallback(input),
|
|
41
|
-
source: 'fallback',
|
|
42
|
-
reason,
|
|
43
|
-
});
|
|
44
|
-
const fallbackAll = (reason) => Object.fromEntries(routes.map(route => [route.id, fallback(route, reason)]));
|
|
45
|
-
if (!input.prompt.trim())
|
|
46
|
-
return fallbackAll('Empty prompt.');
|
|
47
|
-
const controller = new AbortController();
|
|
48
|
-
const cancel = () => controller.abort('Routing cancelled.');
|
|
49
|
-
let onAbort;
|
|
50
|
-
const stopped = new Promise(resolve => {
|
|
51
|
-
onAbort = () => resolve(fallbackAll(String(controller.signal.reason)));
|
|
52
|
-
controller.signal.addEventListener('abort', onAbort, { once: true });
|
|
53
|
-
});
|
|
54
|
-
(_a = options.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', cancel, { once: true });
|
|
55
|
-
const timer = setTimeout(() => controller.abort('Routing timed out.'), (_b = options.timeoutMs) !== null && _b !== void 0 ? _b : PROMPT_ROUTING_TIMEOUT_MS);
|
|
56
|
-
if ((_c = options.signal) === null || _c === void 0 ? void 0 : _c.aborted)
|
|
57
|
-
cancel();
|
|
58
|
-
const classify = () => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
var _a;
|
|
60
|
-
try {
|
|
61
|
-
if (controller.signal.aborted)
|
|
62
|
-
return yield stopped;
|
|
63
|
-
const available = yield registry.getAvailableOfType('classifier', PROMPT_ROUTING_MODEL.provider, { signal: controller.signal });
|
|
64
|
-
if (controller.signal.aborted)
|
|
65
|
-
return yield stopped;
|
|
66
|
-
const model = available.find(candidate => candidate.id === PROMPT_ROUTING_MODEL.id);
|
|
67
|
-
if (!model)
|
|
68
|
-
return fallbackAll('Jev unavailable.');
|
|
69
|
-
const result = yield registry.classify(model, {
|
|
70
|
-
state: { prompt: input.prompt, recentUserMessages: input.recentUserMessages },
|
|
71
|
-
questions: Object.fromEntries(routes.map(route => [route.id, route.question])),
|
|
72
|
-
}, { signal: controller.signal });
|
|
73
|
-
if (result.stopReason !== 'stop')
|
|
74
|
-
return fallbackAll((_a = result.errorMessage) !== null && _a !== void 0 ? _a : result.stopReason);
|
|
75
|
-
return Object.fromEntries(routes.map(route => {
|
|
76
|
-
const answer = result.answers[route.id];
|
|
77
|
-
const probability = (answer === null || answer === void 0 ? void 0 : answer.type) === 'bool' ? answer.probability : undefined;
|
|
78
|
-
const decision = probability !== undefined &&
|
|
79
|
-
Number.isFinite(probability) &&
|
|
80
|
-
probability >= 0 &&
|
|
81
|
-
probability <= 1
|
|
82
|
-
? {
|
|
83
|
-
load: probability >= route.threshold,
|
|
84
|
-
source: 'classifier',
|
|
85
|
-
probability,
|
|
86
|
-
}
|
|
87
|
-
: fallback(route, 'Missing or invalid answer.');
|
|
88
|
-
return [route.id, decision];
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
return fallbackAll(error instanceof Error ? error.message : String(error));
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
try {
|
|
96
|
-
// Race as well as abort: misbehaving providers must not block a user prompt.
|
|
97
|
-
return yield Promise.race([classify(), stopped]);
|
|
98
|
-
}
|
|
99
|
-
finally {
|
|
100
|
-
clearTimeout(timer);
|
|
101
|
-
(_d = options.signal) === null || _d === void 0 ? void 0 : _d.removeEventListener('abort', cancel);
|
|
102
|
-
controller.signal.removeEventListener('abort', onAbort);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=prompt-routing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-routing.js","sourceRoot":"","sources":["../../src/agent/prompt-routing.ts"],"names":[],"mappings":"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"}
|