@genesislcap/ai-assistant 14.495.0 → 14.496.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/dist/ai-assistant.api.json +576 -211
- package/dist/ai-assistant.d.ts +128 -5
- package/dist/chat-driver.cjs +5608 -0
- package/dist/chat-driver.cjs.map +7 -0
- package/dist/chat-driver.mjs +5566 -0
- package/dist/chat-driver.mjs.map +7 -0
- package/dist/custom-elements.json +306 -2
- package/dist/dts/channel/ai-activity-bus.d.ts +36 -0
- package/dist/dts/channel/ai-activity-bus.d.ts.map +1 -1
- package/dist/dts/chat-driver-node.d.ts +28 -0
- package/dist/dts/chat-driver-node.d.ts.map +1 -0
- package/dist/dts/components/chat-driver/chat-driver.d.ts +49 -5
- package/dist/dts/components/chat-driver/chat-driver.d.ts.map +1 -1
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts +3 -0
- package/dist/dts/components/orchestrating-driver/orchestrating-driver.d.ts.map +1 -1
- package/dist/dts/config/config.d.ts +37 -2
- package/dist/dts/config/config.d.ts.map +1 -1
- package/dist/dts/main/main.d.ts.map +1 -1
- package/dist/esm/channel/ai-activity-bus.js +48 -12
- package/dist/esm/chat-driver-node.js +33 -0
- package/dist/esm/components/chat-driver/chat-driver.js +28 -14
- package/dist/esm/components/chat-driver/chat-driver.test.js +32 -40
- package/dist/esm/components/orchestrating-driver/orchestrating-driver.js +7 -1
- package/dist/esm/main/main.js +8 -1
- package/dist/esm/main/popout-interaction-gate.test.js +6 -10
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -19
- package/scripts/build-chat-driver-node.mjs +42 -0
- package/src/channel/ai-activity-bus.ts +64 -10
- package/src/chat-driver-node.ts +54 -0
- package/src/components/chat-driver/chat-driver.test.ts +36 -62
- package/src/components/chat-driver/chat-driver.ts +96 -28
- package/src/components/orchestrating-driver/orchestrating-driver.ts +10 -11
- package/src/config/config.ts +40 -1
- package/src/main/main.ts +8 -11
- package/src/main/popout-interaction-gate.test.ts +6 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CachePolicy, ChatInputDuringExecutionMode, ChatMessage, ChatToolChoice, ChatToolDefinition, ChatToolHandlers } from '@genesislcap/foundation-ai';
|
|
2
|
-
export type { CachePolicy, ChatInputDuringExecutionMode, ChatToolChoice };
|
|
1
|
+
import type { CachePolicy, ChatFallback, ChatInputDuringExecutionMode, ChatMessage, ChatToolChoice, ChatToolDefinition, ChatToolHandlers } from '@genesislcap/foundation-ai';
|
|
2
|
+
export type { CachePolicy, ChatFallback, ChatInputDuringExecutionMode, ChatToolChoice };
|
|
3
3
|
/**
|
|
4
4
|
* Context passed to `onActivate` / `onDeactivate` lifecycle hooks on an agent.
|
|
5
5
|
*
|
|
@@ -146,6 +146,22 @@ export type CachePolicyInput = CachePolicy | ((ctx: SystemPromptContext) => Cach
|
|
|
146
146
|
* @beta
|
|
147
147
|
*/
|
|
148
148
|
export type TailContextInput = string | ((ctx: SystemPromptContext) => string | Promise<string>);
|
|
149
|
+
/**
|
|
150
|
+
* Structured-output schema for an agent. When set, the model's final (non-tool) answer is
|
|
151
|
+
* constrained to this JSON Schema instead of free text. Either a static schema or a function
|
|
152
|
+
* resolved each tool-loop iteration — return the schema on the turn(s) it should apply and
|
|
153
|
+
* `undefined` otherwise, so "whole-loop" vs "finalize-turn" enforcement is just what the
|
|
154
|
+
* resolver returns (e.g. `({ state }) => state.machine.matches('finalizing') ? schema : undefined`).
|
|
155
|
+
*
|
|
156
|
+
* Orthogonal to {@link ToolChoiceInput}: an agent can carry both `tools` and a `responseSchema`.
|
|
157
|
+
* Each provider applies it natively where possible (Anthropic `output_config.format`, Gemini
|
|
158
|
+
* JSON mode) and degrades gracefully otherwise. The schema is a plain JSON Schema object; keep to
|
|
159
|
+
* the portable subset providers share (`additionalProperties: false`, explicit `required`, enums,
|
|
160
|
+
* `anyOf` for nullables — no numeric/string constraints or recursion).
|
|
161
|
+
*
|
|
162
|
+
* @beta
|
|
163
|
+
*/
|
|
164
|
+
export type ResponseSchemaInput = object | ((ctx: SystemPromptContext) => object | undefined | Promise<object | undefined>);
|
|
149
165
|
/**
|
|
150
166
|
* Context passed to an agent's `onUnresolvedTool` hook when the model calls a
|
|
151
167
|
* tool the driver cannot dispatch.
|
|
@@ -304,6 +320,25 @@ interface BaseAgentConfig {
|
|
|
304
320
|
* @beta
|
|
305
321
|
*/
|
|
306
322
|
tailContext?: TailContextInput;
|
|
323
|
+
/**
|
|
324
|
+
* Structured-output schema for this agent. When resolved to a schema on a turn, the model's
|
|
325
|
+
* final (non-tool) answer is constrained to it instead of free text. Composes with `tools`;
|
|
326
|
+
* resolved per turn like {@link BaseAgentConfig.cachePolicy}, so returning `undefined` on
|
|
327
|
+
* working turns and the schema on the finalize turn gives finalize-turn enforcement for free.
|
|
328
|
+
* See {@link ResponseSchemaInput}.
|
|
329
|
+
*
|
|
330
|
+
* @beta
|
|
331
|
+
*/
|
|
332
|
+
responseSchema?: ResponseSchemaInput;
|
|
333
|
+
/**
|
|
334
|
+
* Refusal-fallback chain for this agent (provider-neutral). If the model declines a turn
|
|
335
|
+
* (`stop_reason: 'refusal'` — e.g. Fable 5 safety classifiers), the provider re-runs it on the
|
|
336
|
+
* next listed model. Typical use: a Fable 5 agent with `[{ model: 'claude-opus-4-8' }]`. Static
|
|
337
|
+
* (not per-turn); providers that support it apply it server-side, others ignore it.
|
|
338
|
+
*
|
|
339
|
+
* @beta
|
|
340
|
+
*/
|
|
341
|
+
fallbacks?: ChatFallback[];
|
|
307
342
|
/**
|
|
308
343
|
* Optional hook consulted when the model calls a tool the driver cannot
|
|
309
344
|
* dispatch — either a *stale* tool (advertised earlier this activation but
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,4BAA4B,EAC5B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* No-op {@link ActivityBus}. The default when no bus is injected (Node, tests, headless
|
|
3
|
+
* server use) — publishing goes nowhere and nothing is left open to tear down.
|
|
4
|
+
*
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
7
|
+
export const NOOP_ACTIVITY_BUS = { publish: () => { } };
|
|
1
8
|
/**
|
|
2
9
|
* Typed in-process event bus for AI assistant activity events.
|
|
3
10
|
*
|
|
@@ -20,16 +27,33 @@ export class AgenticActivityBus {
|
|
|
20
27
|
constructor(config) {
|
|
21
28
|
var _a;
|
|
22
29
|
this.subscribers = new Map();
|
|
30
|
+
this.channelInitialised = false;
|
|
23
31
|
this.crossTabEvents = new Set((_a = config === null || config === void 0 ? void 0 : config.crossTabEvents) !== null && _a !== void 0 ? _a : []);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
this.channelNameFactory =
|
|
33
|
+
(config === null || config === void 0 ? void 0 : config.channelName) != null ? () => config.channelName : config === null || config === void 0 ? void 0 : config.channelNameFactory;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Lazily open the cross-tab `BroadcastChannel` on first use. Deferred (rather than
|
|
37
|
+
* created in the constructor) so that importing this module, or constructing the bus
|
|
38
|
+
* off-browser (Node, tests, headless server), never opens a live channel or reads
|
|
39
|
+
* `sessionStorage` — both would keep a Node event loop alive and hang the process.
|
|
40
|
+
* Cross-tab forwarding is inherently browser-only, so channel creation is gated on a
|
|
41
|
+
* browser environment; elsewhere the bus stays purely in-process.
|
|
42
|
+
*/
|
|
43
|
+
ensureChannel() {
|
|
44
|
+
if (this.channelInitialised)
|
|
45
|
+
return;
|
|
46
|
+
this.channelInitialised = true;
|
|
47
|
+
const inBrowser = typeof window !== 'undefined' && typeof BroadcastChannel !== 'undefined';
|
|
48
|
+
if (this.crossTabEvents.size === 0 || !this.channelNameFactory || !inBrowser)
|
|
49
|
+
return;
|
|
50
|
+
this.channel = new BroadcastChannel(this.channelNameFactory());
|
|
51
|
+
this.channel.onmessage = (ev) => {
|
|
52
|
+
var _a;
|
|
53
|
+
const { type, detail } = ((_a = ev.data) !== null && _a !== void 0 ? _a : {});
|
|
54
|
+
if (type)
|
|
55
|
+
this.notifyLocal(type, detail);
|
|
56
|
+
};
|
|
33
57
|
}
|
|
34
58
|
/**
|
|
35
59
|
* Subscribe to an event. Returns an unsubscribe function — call it in
|
|
@@ -38,6 +62,9 @@ export class AgenticActivityBus {
|
|
|
38
62
|
* @beta
|
|
39
63
|
*/
|
|
40
64
|
subscribe(type, handler) {
|
|
65
|
+
// Open the cross-tab channel (browser only) so this subscriber receives events
|
|
66
|
+
// forwarded from other tabs; no-op off-browser.
|
|
67
|
+
this.ensureChannel();
|
|
41
68
|
let handlers = this.subscribers.get(type);
|
|
42
69
|
if (!handlers) {
|
|
43
70
|
handlers = new Set();
|
|
@@ -54,9 +81,11 @@ export class AgenticActivityBus {
|
|
|
54
81
|
* @beta
|
|
55
82
|
*/
|
|
56
83
|
publish(type, detail) {
|
|
84
|
+
var _a;
|
|
57
85
|
this.notifyLocal(type, detail);
|
|
58
|
-
if (this.crossTabEvents.has(type)
|
|
59
|
-
this.
|
|
86
|
+
if (this.crossTabEvents.has(type)) {
|
|
87
|
+
this.ensureChannel();
|
|
88
|
+
(_a = this.channel) === null || _a === void 0 ? void 0 : _a.postMessage({ type, detail });
|
|
60
89
|
}
|
|
61
90
|
}
|
|
62
91
|
/**
|
|
@@ -101,6 +130,10 @@ export class AgenticActivityBus {
|
|
|
101
130
|
* instances on the same origin.
|
|
102
131
|
*/
|
|
103
132
|
function getTabScopedChannelName(base) {
|
|
133
|
+
// Belt-and-braces: this only runs in a browser (see `ensureChannel`), but guard anyway
|
|
134
|
+
// so a direct call off-browser never throws a `sessionStorage is not defined` ReferenceError.
|
|
135
|
+
if (typeof sessionStorage === 'undefined')
|
|
136
|
+
return `${base}-nostorage`;
|
|
104
137
|
const key = `${base}-tab-id`;
|
|
105
138
|
let id = sessionStorage.getItem(key);
|
|
106
139
|
if (!id) {
|
|
@@ -127,5 +160,8 @@ function getTabScopedChannelName(base) {
|
|
|
127
160
|
*/
|
|
128
161
|
export const agenticActivityBus = new AgenticActivityBus({
|
|
129
162
|
crossTabEvents: ['halo-start', 'halo-stop', 'tool-loop-start', 'tool-loop-end'],
|
|
130
|
-
|
|
163
|
+
// Lazy: the tab-scoped name (and its `sessionStorage` read) is computed on first
|
|
164
|
+
// cross-tab use in a browser, not at module-eval — so importing this module is
|
|
165
|
+
// side-effect-free and Node/test-safe.
|
|
166
|
+
channelNameFactory: () => getTabScopedChannelName('foundation-ai-activity'),
|
|
131
167
|
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node-safe headless entry point for the AI assistant driver stack (`@genesislcap/ai-assistant/chat-driver`).
|
|
3
|
+
*
|
|
4
|
+
* Re-exports ONLY the framework-agnostic pieces — {@link ChatDriver}, `OrchestratingDriver`, the
|
|
5
|
+
* agent-config surface (`defineAgent`, `defineStatefulAgent`, and the config/input types), and the
|
|
6
|
+
* activity-bus types/`NOOP_ACTIVITY_BUS` — WITHOUT the DOM/FAST component layer that the package's
|
|
7
|
+
* main entry (`.`) pulls in via `main/main`. This lets a Node / CommonJS host (server, unit tests,
|
|
8
|
+
* benches) construct and drive `ChatDriver` over `foundation-ai` providers with no jsdom and no
|
|
9
|
+
* custom-element registration.
|
|
10
|
+
*
|
|
11
|
+
* Every module re-exported here is DOM-clean at import time (no `window`/`document`/`sessionStorage`
|
|
12
|
+
* eval-time access, no `@genesislcap/web-core`). The activity bus is imported for its types and the
|
|
13
|
+
* no-op default; its cross-tab `BroadcastChannel` is created lazily and only in a browser, so
|
|
14
|
+
* pulling this entry into Node opens nothing.
|
|
15
|
+
*
|
|
16
|
+
* @packageDocumentation
|
|
17
|
+
* @beta
|
|
18
|
+
*/
|
|
19
|
+
export * from './components/chat-driver';
|
|
20
|
+
export * from './components/orchestrating-driver';
|
|
21
|
+
export * from './channel/ai-activity-channel';
|
|
22
|
+
export * from './channel/ai-activity-bus';
|
|
23
|
+
export * from './config/config';
|
|
24
|
+
export * from './config/define-stateful-agent';
|
|
25
|
+
export * from './config/fallback-agents';
|
|
26
|
+
// Provider-construction surface, re-exported from `@genesislcap/foundation-ai` so a headless
|
|
27
|
+
// consumer builds its registry from the SAME bundled foundation-ai instance the driver uses. That
|
|
28
|
+
// shared identity matters: `ChatDriver`'s malformed/truncated handling does `instanceof` on the
|
|
29
|
+
// transports' error classes, so a second foundation-ai copy (a separate dep) would silently break
|
|
30
|
+
// those checks. NAMED re-exports only — `export *` would drag in the FAST-DI module
|
|
31
|
+
// (`@microsoft/fast-foundation` → `fast-element` → `document` at eval); by naming just these,
|
|
32
|
+
// esbuild tree-shakes the DI module out and the bundle stays Node-loadable.
|
|
33
|
+
export { AnthropicProvider, AnthropicTransport, GeminiProvider, GeminiTransport, MutableAIProviderRegistry, isObservableAIProviderRegistry, } from '@genesislcap/foundation-ai';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __rest } from "tslib";
|
|
2
2
|
import { isObservableAIProviderRegistry, MalformedFunctionCallError, ResponseTruncatedError, } from '@genesislcap/foundation-ai';
|
|
3
|
-
import {
|
|
3
|
+
import { NOOP_ACTIVITY_BUS } from '../../channel/ai-activity-bus';
|
|
4
4
|
import { resolveChatProvider } from '../../config/validate-providers';
|
|
5
5
|
import { clearSession, getMetaEvents, mergeMetaEvents, recordMetaEvent, recordTurnError, recordTurnRetry, } from '../../state/debug-event-log';
|
|
6
6
|
import { createInteractionContext, } from '../../state/interaction-context';
|
|
@@ -65,13 +65,9 @@ const HANDOFF_TOOL_RESULT_PLACEHOLDER = 'Handoff to another specialist — routi
|
|
|
65
65
|
* @beta
|
|
66
66
|
*/
|
|
67
67
|
export class ChatDriver extends EventTarget {
|
|
68
|
-
constructor(providerRegistry,
|
|
69
|
-
/** Session identity used to file meta events onto the shared debug-log timeline. */
|
|
70
|
-
sessionKey = '') {
|
|
68
|
+
constructor(providerRegistry, config = {}) {
|
|
71
69
|
super();
|
|
72
70
|
this.providerRegistry = providerRegistry;
|
|
73
|
-
this.maxToolIterations = maxToolIterations;
|
|
74
|
-
this.sessionKey = sessionKey;
|
|
75
71
|
this.history = [];
|
|
76
72
|
this.busy = false;
|
|
77
73
|
/** Epoch ms when the current turn loop began — drives the `turn.end` duration. */
|
|
@@ -216,6 +212,10 @@ export class ChatDriver extends EventTarget {
|
|
|
216
212
|
* picked up on the next turn.
|
|
217
213
|
*/
|
|
218
214
|
this.resolvedStatusCache = new Map();
|
|
215
|
+
const { toolHandlers = {}, toolDefinitions = [], systemPrompt, primerHistory, maxToolIterations = DEFAULT_MAX_TOOL_ITERATIONS, maxFoldOperations = DEFAULT_MAX_FOLD_OPERATIONS, maxTurnSnapshots = DEFAULT_MAX_TURN_SNAPSHOTS, sessionKey = '', activityBus = NOOP_ACTIVITY_BUS, } = config;
|
|
216
|
+
this.maxToolIterations = maxToolIterations;
|
|
217
|
+
this.sessionKey = sessionKey;
|
|
218
|
+
this.activityBus = activityBus;
|
|
219
219
|
if (typeof toolHandlers === 'function') {
|
|
220
220
|
this.toolHandlersFactory = toolHandlers;
|
|
221
221
|
this.toolHandlers = {};
|
|
@@ -409,6 +409,8 @@ export class ChatDriver extends EventTarget {
|
|
|
409
409
|
this.activeToolChoiceInput = config.toolChoice;
|
|
410
410
|
this.activeCachePolicyInput = config.cachePolicy;
|
|
411
411
|
this.activeTailContextInput = config.tailContext;
|
|
412
|
+
this.activeResponseSchemaInput = config.responseSchema;
|
|
413
|
+
this.activeFallbacks = config.fallbacks;
|
|
412
414
|
this.activeOnUnresolvedTool = config.onUnresolvedTool;
|
|
413
415
|
this.resolvedProviderCache.clear();
|
|
414
416
|
this.lastResolvedProviderName = undefined;
|
|
@@ -955,7 +957,7 @@ export class ChatDriver extends EventTarget {
|
|
|
955
957
|
// "actively computing" from "parked awaiting the user" — the latter is a
|
|
956
958
|
// safe window for actions disallowed mid-request (e.g. switching provider
|
|
957
959
|
// during a long journey step). Paired with `interaction-resolved`.
|
|
958
|
-
|
|
960
|
+
this.activityBus.publish('interaction-requested', undefined);
|
|
959
961
|
if (chatInputDuringExecution) {
|
|
960
962
|
this.dispatchEvent(new CustomEvent('interaction-start', {
|
|
961
963
|
detail: { interactionId, chatInputDuringExecution },
|
|
@@ -1020,7 +1022,7 @@ export class ChatDriver extends EventTarget {
|
|
|
1020
1022
|
// The park is ending and the loop is about to resume computing — paired
|
|
1021
1023
|
// with `interaction-requested`. Fires for every resolution path (user
|
|
1022
1024
|
// completion, timeout, cancellation), since all route through here.
|
|
1023
|
-
|
|
1025
|
+
this.activityBus.publish('interaction-resolved', undefined);
|
|
1024
1026
|
interaction.resolve(result);
|
|
1025
1027
|
this.pendingInteractions.delete(interactionId);
|
|
1026
1028
|
// Tear down the live context on RESOLVE (not on element unmount) — this closes
|
|
@@ -1085,7 +1087,7 @@ export class ChatDriver extends EventTarget {
|
|
|
1085
1087
|
phase: 'sendMessage',
|
|
1086
1088
|
agent: this.activeAgentName,
|
|
1087
1089
|
});
|
|
1088
|
-
|
|
1090
|
+
this.activityBus.publish('tool-loop-start', undefined);
|
|
1089
1091
|
// Captured so the `finally` can carry the turn's outcome onto `tool-loop-end`.
|
|
1090
1092
|
let result = { reason: 'done' };
|
|
1091
1093
|
try {
|
|
@@ -1116,7 +1118,7 @@ export class ChatDriver extends EventTarget {
|
|
|
1116
1118
|
});
|
|
1117
1119
|
this.busy = false;
|
|
1118
1120
|
this.endTurn();
|
|
1119
|
-
|
|
1121
|
+
this.activityBus.publish('tool-loop-end', ChatDriver.loopEndDetail(result));
|
|
1120
1122
|
}
|
|
1121
1123
|
});
|
|
1122
1124
|
}
|
|
@@ -1239,7 +1241,12 @@ export class ChatDriver extends EventTarget {
|
|
|
1239
1241
|
// be harvested into THIS session on completion and then discarded.
|
|
1240
1242
|
const invocationId = crypto.randomUUID();
|
|
1241
1243
|
const childSessionKey = `${this.sessionKey}::sub:${invocationId}`;
|
|
1242
|
-
const child = new ChatDriver(this.providerRegistry, {
|
|
1244
|
+
const child = new ChatDriver(this.providerRegistry, {
|
|
1245
|
+
sessionKey: childSessionKey,
|
|
1246
|
+
// Inherit the parent's bus so the sub-agent's tool-loop events still surface
|
|
1247
|
+
// (off-browser this is the shared no-op).
|
|
1248
|
+
activityBus: this.activityBus,
|
|
1249
|
+
});
|
|
1243
1250
|
// Mark before the first turn so the child forces tool use and reports a
|
|
1244
1251
|
// typed failure (rather than user-facing text) if it never completes.
|
|
1245
1252
|
child.markAsSubAgent();
|
|
@@ -1400,7 +1407,7 @@ export class ChatDriver extends EventTarget {
|
|
|
1400
1407
|
phase: 'continueFromHistory',
|
|
1401
1408
|
agent: this.activeAgentName,
|
|
1402
1409
|
});
|
|
1403
|
-
|
|
1410
|
+
this.activityBus.publish('tool-loop-start', undefined);
|
|
1404
1411
|
// Captured so the `finally` can carry the turn's outcome onto `tool-loop-end`.
|
|
1405
1412
|
let result = { reason: 'done' };
|
|
1406
1413
|
try {
|
|
@@ -1431,7 +1438,7 @@ export class ChatDriver extends EventTarget {
|
|
|
1431
1438
|
});
|
|
1432
1439
|
this.busy = false;
|
|
1433
1440
|
this.endTurn();
|
|
1434
|
-
|
|
1441
|
+
this.activityBus.publish('tool-loop-end', ChatDriver.loopEndDetail(result));
|
|
1435
1442
|
}
|
|
1436
1443
|
});
|
|
1437
1444
|
}
|
|
@@ -1718,13 +1725,14 @@ export class ChatDriver extends EventTarget {
|
|
|
1718
1725
|
// provider is resolved — static value or a function of the turn context
|
|
1719
1726
|
// (which carries the live state for stateful agents). Resolved before the
|
|
1720
1727
|
// snapshot so the debug log records the exact request config the model saw.
|
|
1721
|
-
const [resolvedTemperature, resolvedToolChoice, resolvedCachePolicy, resolvedTailContext] =
|
|
1728
|
+
const [resolvedTemperature, resolvedToolChoice, resolvedCachePolicy, resolvedTailContext, resolvedResponseSchema,] =
|
|
1722
1729
|
// oxlint-disable-next-line no-await-in-loop
|
|
1723
1730
|
yield Promise.all([
|
|
1724
1731
|
this.resolveTurnInput(this.activeTemperatureInput, promptCtx),
|
|
1725
1732
|
this.resolveTurnInput(this.activeToolChoiceInput, promptCtx),
|
|
1726
1733
|
this.resolveTurnInput(this.activeCachePolicyInput, promptCtx),
|
|
1727
1734
|
this.resolveTurnInput(this.activeTailContextInput, promptCtx),
|
|
1735
|
+
this.resolveTurnInput(this.activeResponseSchemaInput, promptCtx),
|
|
1728
1736
|
]);
|
|
1729
1737
|
// The system prompt is always just the agent's resolved prompt — byte-stable, so it can be
|
|
1730
1738
|
// cached. The framework's volatile additions (fold suffix, retry nudge) and the agent's tail
|
|
@@ -1772,6 +1780,12 @@ export class ChatDriver extends EventTarget {
|
|
|
1772
1780
|
cachePolicy: resolvedCachePolicy,
|
|
1773
1781
|
// Framed volatile context injected at the message tail (never stored). Undefined → none.
|
|
1774
1782
|
tailContext,
|
|
1783
|
+
// Structured-output schema for this turn (agent/state-resolved). When set, the transport
|
|
1784
|
+
// constrains the final answer to it natively where the model supports it. Undefined → free text.
|
|
1785
|
+
responseSchema: resolvedResponseSchema,
|
|
1786
|
+
// Refusal-fallback chain (e.g. Fable 5 → Opus 4.8). Passed to the provider; applied
|
|
1787
|
+
// server-side where supported. Undefined → no fallback.
|
|
1788
|
+
fallbacks: this.activeFallbacks,
|
|
1775
1789
|
};
|
|
1776
1790
|
// Resolve the active provider for this turn. Static names were validated
|
|
1777
1791
|
// in `applyAgent`; function-form names are validated on first resolution
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { isChatToolCallUnknown, MalformedFunctionCallError, ResponseTruncatedError, } from '@genesislcap/foundation-ai';
|
|
3
3
|
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
4
|
-
import {
|
|
4
|
+
import { AgenticActivityBus } from '../../channel/ai-activity-bus';
|
|
5
5
|
import { clearMetaEventRegistry, getMetaEvents } from '../../state/debug-event-log';
|
|
6
6
|
import { sumCosts } from '../../utils/sum-costs';
|
|
7
7
|
import { sumTokens } from '../../utils/sum-tokens';
|
|
@@ -65,8 +65,13 @@ const callsTool = (name, id) => ({
|
|
|
65
65
|
toolCalls: [{ id, name, args: {} }],
|
|
66
66
|
});
|
|
67
67
|
const agent = (overrides) => (Object.assign({ description: 'test agent' }, overrides));
|
|
68
|
-
const makeDriver = (config, provider, sessionKey = '') => {
|
|
69
|
-
const driver = new ChatDriver(makeRegistry(provider), {
|
|
68
|
+
const makeDriver = (config, provider, sessionKey = '', activityBus) => {
|
|
69
|
+
const driver = new ChatDriver(makeRegistry(provider), {
|
|
70
|
+
maxToolIterations: 50,
|
|
71
|
+
maxFoldOperations: 5,
|
|
72
|
+
sessionKey,
|
|
73
|
+
activityBus,
|
|
74
|
+
});
|
|
70
75
|
driver.applyAgent(config);
|
|
71
76
|
return driver;
|
|
72
77
|
};
|
|
@@ -85,12 +90,6 @@ const unresolvedEvents = (sessionKey) => getMetaEvents(sessionKey)
|
|
|
85
90
|
// stale tool detection — stateful agent advances past a tool's state
|
|
86
91
|
// ---------------------------------------------------------------------------
|
|
87
92
|
const stale = createLogicSuite('ChatDriver stale-tool detection');
|
|
88
|
-
// The driver imports the `agenticActivityBus` singleton, which opens a
|
|
89
|
-
// BroadcastChannel at module load. An open channel keeps the test page alive
|
|
90
|
-
// and hangs the runner, so close it once the suite finishes.
|
|
91
|
-
stale.after(() => {
|
|
92
|
-
agenticActivityBus.close();
|
|
93
|
-
});
|
|
94
93
|
stale('guides the model when it calls a tool that an earlier state exposed', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
94
|
// State A exposes tool_a; calling it advances to state B, which exposes only
|
|
96
95
|
// tool_b. A factory-form agent narrows the tool set per turn, mirroring how
|
|
@@ -220,9 +219,6 @@ stale.run();
|
|
|
220
219
|
// onUnresolvedTool hook — an agent can redirect an unresolved tool call
|
|
221
220
|
// ---------------------------------------------------------------------------
|
|
222
221
|
const hook = createLogicSuite('ChatDriver onUnresolvedTool hook');
|
|
223
|
-
hook.after(() => {
|
|
224
|
-
agenticActivityBus.close();
|
|
225
|
-
});
|
|
226
222
|
hook('replaces the default for a hallucinated tool when the hook returns a string', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
227
223
|
const config = agent({
|
|
228
224
|
name: 'Hooked',
|
|
@@ -498,11 +494,6 @@ cancel.run();
|
|
|
498
494
|
// worker's turn(s), in order.
|
|
499
495
|
// ---------------------------------------------------------------------------
|
|
500
496
|
const subagent = createLogicSuite('ChatDriver sub-agents');
|
|
501
|
-
subagent.after(() => {
|
|
502
|
-
// Safe to call again even if `stale` already closed it — close() is
|
|
503
|
-
// idempotent and cross-tab publishes are guarded by `&& this.channel`.
|
|
504
|
-
agenticActivityBus.close();
|
|
505
|
-
});
|
|
506
497
|
/** A sub-agent named `worker` that finishes by calling `completeSubAgent`. */
|
|
507
498
|
const completingWorker = (result) => agent({
|
|
508
499
|
name: 'worker',
|
|
@@ -1116,16 +1107,17 @@ interactionContextLifecycle.run();
|
|
|
1116
1107
|
// user". No tool-loop event fires at a park boundary, so these are the signal.
|
|
1117
1108
|
// ---------------------------------------------------------------------------
|
|
1118
1109
|
const interactionBus = createLogicSuite('ChatDriver interaction activity-bus signals');
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1110
|
+
// These two tests need to observe what the driver publishes, so they inject a local
|
|
1111
|
+
// in-memory bus (no `crossTabEvents` → no BroadcastChannel is ever opened, nothing to close)
|
|
1112
|
+
// rather than the shared singleton. Every other suite lets the driver default to the no-op bus.
|
|
1122
1113
|
interactionBus('brackets a park with interaction-requested then -resolved', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1123
1114
|
const events = [];
|
|
1115
|
+
const bus = new AgenticActivityBus();
|
|
1124
1116
|
const unsubs = [
|
|
1125
|
-
|
|
1126
|
-
|
|
1117
|
+
bus.subscribe('interaction-requested', () => events.push('requested')),
|
|
1118
|
+
bus.subscribe('interaction-resolved', () => events.push('resolved')),
|
|
1127
1119
|
];
|
|
1128
|
-
const driver = makeDriver(agent({ name: 'a' }), scriptedProvider([]));
|
|
1120
|
+
const driver = makeDriver(agent({ name: 'a' }), scriptedProvider([]), '', bus);
|
|
1129
1121
|
const pending = driver.requestInteraction('w', {});
|
|
1130
1122
|
assert.equal(events, ['requested'], 'parking fires interaction-requested');
|
|
1131
1123
|
const id = driver.getHistory().at(-1).interaction.interactionId;
|
|
@@ -1137,8 +1129,9 @@ interactionBus('brackets a park with interaction-requested then -resolved', () =
|
|
|
1137
1129
|
}));
|
|
1138
1130
|
interactionBus('a timed-out interaction still fires interaction-resolved', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1139
1131
|
const events = [];
|
|
1140
|
-
const
|
|
1141
|
-
const
|
|
1132
|
+
const bus = new AgenticActivityBus();
|
|
1133
|
+
const unsub = bus.subscribe('interaction-resolved', () => events.push('resolved'));
|
|
1134
|
+
const driver = makeDriver(agent({ name: 'a' }), scriptedProvider([]), '', bus);
|
|
1142
1135
|
// Never resolved by a user — the timeout path runs the same teardown, so it
|
|
1143
1136
|
// must signal the bus too (else the button would stay enabled after a timeout).
|
|
1144
1137
|
const pending = driver.requestInteraction('w', {}, { timeoutMs: 1 });
|
|
@@ -1239,14 +1232,11 @@ const makeObservableRegistry = (initial) => {
|
|
|
1239
1232
|
};
|
|
1240
1233
|
};
|
|
1241
1234
|
const makeDriverWithRegistry = (config, registry) => {
|
|
1242
|
-
const driver = new ChatDriver(registry, {
|
|
1235
|
+
const driver = new ChatDriver(registry, { maxToolIterations: 50, maxFoldOperations: 5 });
|
|
1243
1236
|
driver.applyAgent(config);
|
|
1244
1237
|
return driver;
|
|
1245
1238
|
};
|
|
1246
1239
|
const observable = createLogicSuite('ChatDriver observable provider registry');
|
|
1247
|
-
observable.after(() => {
|
|
1248
|
-
agenticActivityBus.close();
|
|
1249
|
-
});
|
|
1250
1240
|
observable('a registry change clears the resolved-provider cache so the next turn uses the new provider', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1251
1241
|
const providerA = scriptedProvider([{ role: 'assistant', content: 'A' }]);
|
|
1252
1242
|
const providerB = scriptedProvider([{ role: 'assistant', content: 'B' }]);
|
|
@@ -1323,9 +1313,6 @@ const modelProvider = (model, responses) => {
|
|
|
1323
1313
|
return provider;
|
|
1324
1314
|
};
|
|
1325
1315
|
const modelAttr = createLogicSuite('ChatDriver per-message model attribution');
|
|
1326
|
-
modelAttr.after(() => {
|
|
1327
|
-
agenticActivityBus.close();
|
|
1328
|
-
});
|
|
1329
1316
|
modelAttr('stamps the resolved model and registry name onto an assistant reply', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
1330
1317
|
const provider = modelProvider('gemini-2.5-flash-lite', [
|
|
1331
1318
|
{ role: 'assistant', content: 'hi there' },
|
|
@@ -1392,9 +1379,6 @@ modelAttr.run();
|
|
|
1392
1379
|
// condenseWhen — tool-declared context condensation (wiring through the loop)
|
|
1393
1380
|
// ---------------------------------------------------------------------------
|
|
1394
1381
|
const condense = createLogicSuite('ChatDriver condenseWhen');
|
|
1395
|
-
condense.after(() => {
|
|
1396
|
-
agenticActivityBus.close();
|
|
1397
|
-
});
|
|
1398
1382
|
const bigBody = 'A'.repeat(2000);
|
|
1399
1383
|
/** An assistant turn calling `read` with a path arg (so `by: args.path` resolves). */
|
|
1400
1384
|
const readsPath = (id, path) => ({
|
|
@@ -1630,8 +1614,11 @@ condense.run();
|
|
|
1630
1614
|
// check that the legacy shape is byte-unchanged.
|
|
1631
1615
|
// ---------------------------------------------------------------------------
|
|
1632
1616
|
const outcome = createLogicSuite('ChatDriver turn-outcome surfacing');
|
|
1617
|
+
// This branch routes activity events to an INJECTED bus (default NOOP), not the module
|
|
1618
|
+
// singleton, so these tests inject a local bus and observe the same seam the driver publishes to.
|
|
1619
|
+
const outcomeBus = new AgenticActivityBus();
|
|
1633
1620
|
outcome.after(() => {
|
|
1634
|
-
|
|
1621
|
+
outcomeBus.close();
|
|
1635
1622
|
});
|
|
1636
1623
|
/**
|
|
1637
1624
|
* Subscribe to `tool-loop-end` and expose the most recent detail seen. `fired()` reports
|
|
@@ -1641,7 +1628,7 @@ outcome.after(() => {
|
|
|
1641
1628
|
const captureLoopEnd = () => {
|
|
1642
1629
|
let last;
|
|
1643
1630
|
let seen = false;
|
|
1644
|
-
const stop =
|
|
1631
|
+
const stop = outcomeBus.subscribe('tool-loop-end', (d) => {
|
|
1645
1632
|
last = d;
|
|
1646
1633
|
seen = true;
|
|
1647
1634
|
});
|
|
@@ -1649,7 +1636,12 @@ const captureLoopEnd = () => {
|
|
|
1649
1636
|
};
|
|
1650
1637
|
/** A ChatDriver with an explicit (small) tool-iteration cap. */
|
|
1651
1638
|
const makeCappedDriver = (config, provider, maxIterations, sessionKey = '') => {
|
|
1652
|
-
const driver = new ChatDriver(makeRegistry(provider), {
|
|
1639
|
+
const driver = new ChatDriver(makeRegistry(provider), {
|
|
1640
|
+
maxToolIterations: maxIterations,
|
|
1641
|
+
maxFoldOperations: 5,
|
|
1642
|
+
sessionKey,
|
|
1643
|
+
activityBus: outcomeBus,
|
|
1644
|
+
});
|
|
1653
1645
|
driver.applyAgent(config);
|
|
1654
1646
|
return driver;
|
|
1655
1647
|
};
|
|
@@ -1657,7 +1649,7 @@ const makeCappedDriver = (config, provider, maxIterations, sessionKey = '') => {
|
|
|
1657
1649
|
* Assert that a turn driven by `provider` surfaces `expected` at BOTH seams.
|
|
1658
1650
|
* `driverFor` lets the max-iterations case swap in a low cap.
|
|
1659
1651
|
*/
|
|
1660
|
-
const assertSurfacesReason = (label_1, provider_1, expected_1, ...args_1) => __awaiter(void 0, [label_1, provider_1, expected_1, ...args_1], void 0, function* (label, provider, expected, driverFor = (c, p, k) => makeDriver(c, p, k)) {
|
|
1652
|
+
const assertSurfacesReason = (label_1, provider_1, expected_1, ...args_1) => __awaiter(void 0, [label_1, provider_1, expected_1, ...args_1], void 0, function* (label, provider, expected, driverFor = (c, p, k) => makeDriver(c, p, k, outcomeBus)) {
|
|
1661
1653
|
var _a;
|
|
1662
1654
|
clearMetaEventRegistry();
|
|
1663
1655
|
const sessionKey = `outcome-${label}`;
|
|
@@ -1738,7 +1730,7 @@ outcome('a clean turn leaves the legacy shape byte-unchanged (no failureReason)'
|
|
|
1738
1730
|
clearMetaEventRegistry();
|
|
1739
1731
|
const config = agent({ name: 'Static' });
|
|
1740
1732
|
// Plain-text reply ends the turn cleanly on the first call.
|
|
1741
|
-
const driver = makeDriver(config, scriptedProvider([{ role: 'assistant', content: 'hi' }]), 'outcome-ok');
|
|
1733
|
+
const driver = makeDriver(config, scriptedProvider([{ role: 'assistant', content: 'hi' }]), 'outcome-ok', outcomeBus);
|
|
1742
1734
|
const cap = captureLoopEnd();
|
|
1743
1735
|
const result = yield driver.sendMessage('go');
|
|
1744
1736
|
// The result is exactly `{ reason: 'done' }` — no `failureReason` key added.
|
|
@@ -109,7 +109,13 @@ export class OrchestratingDriver extends EventTarget {
|
|
|
109
109
|
const rawFallback = fallbacks[0];
|
|
110
110
|
this.fallback = rawFallback
|
|
111
111
|
? Object.assign(Object.assign({}, rawFallback), { systemPrompt: buildFallbackSystemPrompt(rawFallback, this.specialists) }) : undefined;
|
|
112
|
-
this.chatDriver = new ChatDriver(providerRegistry, {
|
|
112
|
+
this.chatDriver = new ChatDriver(providerRegistry, {
|
|
113
|
+
maxToolIterations: options.maxToolIterations,
|
|
114
|
+
maxFoldOperations: options.maxFoldOperations,
|
|
115
|
+
maxTurnSnapshots: options.maxTurnSnapshots,
|
|
116
|
+
sessionKey: this.sessionKey,
|
|
117
|
+
activityBus: options.activityBus,
|
|
118
|
+
});
|
|
113
119
|
// Proxy events from the shared driver
|
|
114
120
|
this.chatDriver.addEventListener('history-updated', (e) => {
|
|
115
121
|
this.dispatchEvent(new CustomEvent('history-updated', { detail: e.detail }));
|
package/dist/esm/main/main.js
CHANGED
|
@@ -1056,9 +1056,16 @@ let FoundationAiAssistant = FoundationAiAssistant_1 = class FoundationAiAssistan
|
|
|
1056
1056
|
maxToolIterations: agent.maxToolIterations,
|
|
1057
1057
|
maxFoldOperations: agent.maxFoldOperations,
|
|
1058
1058
|
maxTurnSnapshots: agent.maxTurnSnapshots,
|
|
1059
|
+
activityBus: agenticActivityBus,
|
|
1059
1060
|
});
|
|
1060
1061
|
}
|
|
1061
|
-
return new ChatDriver(this.providerRegistry, {
|
|
1062
|
+
return new ChatDriver(this.providerRegistry, {
|
|
1063
|
+
maxToolIterations: agent.maxToolIterations,
|
|
1064
|
+
maxFoldOperations: agent.maxFoldOperations,
|
|
1065
|
+
maxTurnSnapshots: agent.maxTurnSnapshots,
|
|
1066
|
+
sessionKey: (_c = this.getStateKey()) !== null && _c !== void 0 ? _c : '',
|
|
1067
|
+
activityBus: agenticActivityBus,
|
|
1068
|
+
});
|
|
1062
1069
|
}
|
|
1063
1070
|
/**
|
|
1064
1071
|
* Attaches event listeners to the current driver. Stores a cleanup function
|