@voxagent/bridge 0.5.0 → 0.6.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.
@@ -14,6 +14,11 @@
14
14
  * - Tool results / progress: surface via `user` messages with tool_result
15
15
  * blocks (post-execution); we use these to flag success/error + payload.
16
16
  * - Run end: `result` SDKMessage; subtype `success` / `error_*` / `interrupted`.
17
+ *
18
+ * Input is a stream (RunInbox), not one string, so `addToActiveRun` can
19
+ * hand the agent more messages mid-task. The inbox closes at the first
20
+ * `result`; a message that slipped in just before it gets its own turn in
21
+ * the same query, and the run ends when the query does.
17
22
  */
18
23
  import type { CapabilitiesInfo } from '../protocol.js';
19
24
  import type { DriverOptions } from './index.js';
@@ -25,9 +30,12 @@ export declare class ClaudeDriver implements AgentDriver {
25
30
  private sessionId;
26
31
  /** Currently active query handle, used for `interrupt()`. */
27
32
  private activeQuery;
33
+ /** Input for the run in progress; null when none can take more messages. */
34
+ private inbox;
28
35
  constructor(options?: DriverOptions);
29
36
  capabilities(cwd: string): Promise<CapabilitiesInfo>;
30
37
  run(input: DriverRunInput, signal: AbortSignal): AsyncIterable<DriverEvent>;
38
+ addToActiveRun(text: string): boolean;
31
39
  close(): Promise<void>;
32
40
  private discoverSkills;
33
41
  private discoverPlugins;
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/drivers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiB3E,qBAAa,YAAa,YAAW,WAAW;IASlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IAErC,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAuB;IAExC,6DAA6D;IAC7D,OAAO,CAAC,WAAW,CAAsB;gBAEZ,OAAO,GAAE,aAAkB;IAElD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBnD,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IA+N5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAWd,cAAc;YA4Bd,eAAe;YAiBf,kBAAkB;CAajC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/drivers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAoB3E,qBAAa,YAAa,YAAW,WAAW;IAYlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IAErC,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAuB;IAExC,6DAA6D;IAC7D,OAAO,CAAC,WAAW,CAAsB;IAEzC,4EAA4E;IAC5E,OAAO,CAAC,KAAK,CAAyC;gBAEzB,OAAO,GAAE,aAAkB;IAElD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBnD,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAwQlF,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAad,cAAc;YA4Bd,eAAe;YAiBf,kBAAkB;CAajC"}
@@ -14,6 +14,11 @@
14
14
  * - Tool results / progress: surface via `user` messages with tool_result
15
15
  * blocks (post-execution); we use these to flag success/error + payload.
16
16
  * - Run end: `result` SDKMessage; subtype `success` / `error_*` / `interrupted`.
17
+ *
18
+ * Input is a stream (RunInbox), not one string, so `addToActiveRun` can
19
+ * hand the agent more messages mid-task. The inbox closes at the first
20
+ * `result`; a message that slipped in just before it gets its own turn in
21
+ * the same query, and the run ends when the query does.
17
22
  */
18
23
  import { query } from '@anthropic-ai/claude-agent-sdk';
19
24
  import { homedir } from 'node:os';
@@ -21,7 +26,10 @@ import { readdir, readFile, stat } from 'node:fs/promises';
21
26
  import { join } from 'node:path';
22
27
  import { randomUUID } from 'node:crypto';
23
28
  import { log } from '../logging.js';
29
+ import { RunInbox } from './inbox.js';
24
30
  import { BRIDGE_VERSION } from '../version.js';
31
+ /** How long a finished query may idle before the run stops waiting for it. */
32
+ const QUERY_SETTLE_TIMEOUT_MS = 15_000;
25
33
  export class ClaudeDriver {
26
34
  options;
27
35
  backend = 'claude';
@@ -29,6 +37,8 @@ export class ClaudeDriver {
29
37
  sessionId = null;
30
38
  /** Currently active query handle, used for `interrupt()`. */
31
39
  activeQuery = null;
40
+ /** Input for the run in progress; null when none can take more messages. */
41
+ inbox = null;
32
42
  constructor(options = {}) {
33
43
  this.options = options;
34
44
  }
@@ -55,6 +65,30 @@ export class ClaudeDriver {
55
65
  const openTextBlocks = new Set();
56
66
  let finalText = '';
57
67
  let runEnded = false;
68
+ let results = 0;
69
+ let resultReason = 'completed';
70
+ let resultMessage;
71
+ const resultTexts = [];
72
+ const usageTotals = { inputTokens: 0, outputTokens: 0, cachedInputTokens: 0, reported: false };
73
+ /**
74
+ * After the reply, the query normally ends within a second of the inbox
75
+ * closing. If it idles instead (a background task, a stuck subprocess),
76
+ * don't hold the run open forever.
77
+ */
78
+ let settleTimer = null;
79
+ const armSettleTimer = () => {
80
+ if (settleTimer)
81
+ clearTimeout(settleTimer);
82
+ settleTimer = setTimeout(() => {
83
+ log.warn('claude_query_did_not_settle', { runId, afterMs: QUERY_SETTLE_TIMEOUT_MS });
84
+ try {
85
+ iter.close();
86
+ }
87
+ catch {
88
+ // already closed
89
+ }
90
+ }, QUERY_SETTLE_TIMEOUT_MS);
91
+ };
58
92
  // Permission strategy:
59
93
  // - fullAccess=true → bypassPermissions, no broker is consulted.
60
94
  // - fullAccess=false + a resolver → permissionMode 'default' so every
@@ -102,14 +136,20 @@ export class ClaudeDriver {
102
136
  }
103
137
  : {}),
104
138
  };
139
+ const inbox = new RunInbox();
140
+ inbox.push(userMessage(input.prompt));
141
+ this.inbox = inbox;
105
142
  let iter;
106
143
  try {
107
144
  iter = query({
108
- prompt: input.prompt,
145
+ prompt: inbox.messages(),
109
146
  options: queryOptions,
110
147
  });
111
148
  }
112
149
  catch (error) {
150
+ inbox.close();
151
+ if (this.inbox === inbox)
152
+ this.inbox = null;
113
153
  yield {
114
154
  type: 'run_end',
115
155
  runId,
@@ -121,6 +161,7 @@ export class ClaudeDriver {
121
161
  }
122
162
  this.activeQuery = iter;
123
163
  const onAbort = () => {
164
+ inbox.close();
124
165
  iter.interrupt().catch((error) => {
125
166
  log.warn('claude_query_interrupt_failed', {
126
167
  message: error instanceof Error ? error.message : String(error),
@@ -133,6 +174,9 @@ export class ClaudeDriver {
133
174
  signal.addEventListener('abort', onAbort, { once: true });
134
175
  try {
135
176
  for await (const message of iter) {
177
+ // Anything after the first reply is a follow-up turn at work.
178
+ if (results > 0)
179
+ armSettleTimer();
136
180
  if (message.type === 'system' && message.subtype === 'init') {
137
181
  this.sessionId = message.session_id ?? this.sessionId;
138
182
  continue;
@@ -173,13 +217,18 @@ export class ClaudeDriver {
173
217
  continue;
174
218
  }
175
219
  if (message.type === 'result') {
176
- const reason = undefined;
177
- let resultReason = 'completed';
178
- let resultMessage;
220
+ // The run is wrapping up: no more follow-ups. Keep reading — a
221
+ // message pushed just before this gets a turn of its own, and
222
+ // the query ends by itself once the closed inbox drains.
223
+ inbox.close();
224
+ if (this.inbox === inbox)
225
+ this.inbox = null;
226
+ results += 1;
227
+ armSettleTimer();
179
228
  if (message.subtype === 'success') {
180
229
  resultReason = 'completed';
181
230
  if (message.result)
182
- finalText = message.result;
231
+ resultTexts.push(message.result);
183
232
  }
184
233
  else if (message.subtype === 'error_max_turns') {
185
234
  resultReason = 'error';
@@ -193,38 +242,18 @@ export class ClaudeDriver {
193
242
  resultReason = signal.aborted ? 'interrupted' : 'error';
194
243
  }
195
244
  this.sessionId = message.session_id ?? this.sessionId;
196
- // Emit text_done before run_end if we have buffered text.
197
- if (finalText) {
198
- yield { type: 'text_done', runId, text: finalText };
199
- }
200
245
  // The SDK reports usage on the `result` message. Shape:
201
246
  // usage: { input_tokens, output_tokens, cache_creation_input_tokens?, cache_read_input_tokens? }
202
- // We normalize to integers and zero-fill so the cloud doesn't
247
+ // Summed across turns; integers, zero-filled so the cloud doesn't
203
248
  // need to special-case partial reports.
204
249
  const usage = message.usage;
205
250
  if (usage && typeof usage === 'object') {
206
- const inputTokens = Number(usage.input_tokens ?? 0) || 0;
207
- const outputTokens = Number(usage.output_tokens ?? 0) || 0;
208
- const cachedInputTokens = Number(usage.cache_read_input_tokens ?? 0) || 0;
209
- yield {
210
- type: 'usage',
211
- runId,
212
- inputTokens,
213
- outputTokens,
214
- ...(cachedInputTokens > 0 ? { cachedInputTokens } : {}),
215
- };
251
+ usageTotals.inputTokens += Number(usage.input_tokens ?? 0) || 0;
252
+ usageTotals.outputTokens += Number(usage.output_tokens ?? 0) || 0;
253
+ usageTotals.cachedInputTokens += Number(usage.cache_read_input_tokens ?? 0) || 0;
254
+ usageTotals.reported = true;
216
255
  }
217
- yield {
218
- type: 'run_end',
219
- runId,
220
- reason: resultReason,
221
- ...(resultMessage ? { message: resultMessage } : {}),
222
- totalLatencyMs: Date.now() - startedAtMs,
223
- };
224
- runEnded = true;
225
- // Avoid unused tag.
226
- void reason;
227
- break;
256
+ continue;
228
257
  }
229
258
  }
230
259
  }
@@ -254,9 +283,38 @@ export class ClaudeDriver {
254
283
  }
255
284
  }
256
285
  finally {
286
+ if (settleTimer)
287
+ clearTimeout(settleTimer);
257
288
  signal.removeEventListener('abort', onAbort);
289
+ inbox.close();
290
+ if (this.inbox === inbox)
291
+ this.inbox = null;
258
292
  this.activeQuery = null;
259
293
  }
294
+ if (!runEnded && results > 0) {
295
+ // One reply covering every turn (usually one: follow-ups normally
296
+ // join the turn in progress).
297
+ const text = resultTexts.length > 0 ? resultTexts.join('\n\n') : finalText;
298
+ if (text)
299
+ yield { type: 'text_done', runId, text };
300
+ if (usageTotals.reported) {
301
+ yield {
302
+ type: 'usage',
303
+ runId,
304
+ inputTokens: usageTotals.inputTokens,
305
+ outputTokens: usageTotals.outputTokens,
306
+ ...(usageTotals.cachedInputTokens > 0 ? { cachedInputTokens: usageTotals.cachedInputTokens } : {}),
307
+ };
308
+ }
309
+ yield {
310
+ type: 'run_end',
311
+ runId,
312
+ reason: signal.aborted ? 'interrupted' : resultReason,
313
+ ...(resultMessage ? { message: resultMessage } : {}),
314
+ totalLatencyMs: Date.now() - startedAtMs,
315
+ };
316
+ runEnded = true;
317
+ }
260
318
  if (!runEnded) {
261
319
  // Defensive: ensure we always emit run_end even if the SDK exited without `result`.
262
320
  if (finalText)
@@ -269,7 +327,15 @@ export class ClaudeDriver {
269
327
  };
270
328
  }
271
329
  }
330
+ addToActiveRun(text) {
331
+ const inbox = this.inbox;
332
+ if (!inbox?.isOpen)
333
+ return false;
334
+ return inbox.push(userMessage(text));
335
+ }
272
336
  async close() {
337
+ this.inbox?.close();
338
+ this.inbox = null;
273
339
  if (this.activeQuery) {
274
340
  try {
275
341
  await this.activeQuery.interrupt();
@@ -490,4 +556,11 @@ openTextBlocks) {
490
556
  }
491
557
  return [];
492
558
  }
559
+ function userMessage(text) {
560
+ return {
561
+ type: 'user',
562
+ message: { role: 'user', content: text },
563
+ parent_tool_use_id: null,
564
+ };
565
+ }
493
566
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/drivers/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/drivers/claude.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @file Messages for one agent run: the prompt first, then anything added
3
+ * while it works.
4
+ *
5
+ * The Claude Agent SDK takes a run's input as an async stream of user
6
+ * messages. A message pushed while the agent is mid-task is read after its
7
+ * current step finishes, inside the same turn, so the agent itself decides
8
+ * whether it corrects the task, adds a new request, or asks it to stop.
9
+ * (Verified on SDK 0.3.283; 0.1.x corrupted the conversation instead.)
10
+ *
11
+ * The inbox closes when the run starts wrapping up. After that `push`
12
+ * returns false and the caller runs the message separately.
13
+ */
14
+ export declare class RunInbox<T> {
15
+ private queue;
16
+ private wake;
17
+ private closed;
18
+ get isOpen(): boolean;
19
+ /** Queues a message for the run. False once the inbox has closed. */
20
+ push(message: T): boolean;
21
+ /** No more messages: the stream ends once the queue drains. */
22
+ close(): void;
23
+ messages(): AsyncGenerator<T>;
24
+ private notify;
25
+ }
26
+ //# sourceMappingURL=inbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/drivers/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,MAAM,CAAS;IAEvB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,qEAAqE;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO;IAOzB,+DAA+D;IAC/D,KAAK,IAAI,IAAI;IAMN,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC;IAUpC,OAAO,CAAC,MAAM;CAKf"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file Messages for one agent run: the prompt first, then anything added
3
+ * while it works.
4
+ *
5
+ * The Claude Agent SDK takes a run's input as an async stream of user
6
+ * messages. A message pushed while the agent is mid-task is read after its
7
+ * current step finishes, inside the same turn, so the agent itself decides
8
+ * whether it corrects the task, adds a new request, or asks it to stop.
9
+ * (Verified on SDK 0.3.283; 0.1.x corrupted the conversation instead.)
10
+ *
11
+ * The inbox closes when the run starts wrapping up. After that `push`
12
+ * returns false and the caller runs the message separately.
13
+ */
14
+ export class RunInbox {
15
+ queue = [];
16
+ wake = null;
17
+ closed = false;
18
+ get isOpen() {
19
+ return !this.closed;
20
+ }
21
+ /** Queues a message for the run. False once the inbox has closed. */
22
+ push(message) {
23
+ if (this.closed)
24
+ return false;
25
+ this.queue.push(message);
26
+ this.notify();
27
+ return true;
28
+ }
29
+ /** No more messages: the stream ends once the queue drains. */
30
+ close() {
31
+ if (this.closed)
32
+ return;
33
+ this.closed = true;
34
+ this.notify();
35
+ }
36
+ async *messages() {
37
+ for (;;) {
38
+ while (this.queue.length > 0)
39
+ yield this.queue.shift();
40
+ if (this.closed)
41
+ return;
42
+ await new Promise((resolve) => {
43
+ this.wake = resolve;
44
+ });
45
+ }
46
+ }
47
+ notify() {
48
+ const wake = this.wake;
49
+ this.wake = null;
50
+ wake?.();
51
+ }
52
+ }
53
+ //# sourceMappingURL=inbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/drivers/inbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,OAAO,QAAQ;IACX,KAAK,GAAQ,EAAE,CAAC;IAChB,IAAI,GAAwB,IAAI,CAAC;IACjC,MAAM,GAAG,KAAK,CAAC;IAEvB,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,OAAU;QACb,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ;QACb,SAAS,CAAC;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;YACxD,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,MAAM;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,EAAE,EAAE,CAAC;IACX,CAAC;CACF"}
@@ -96,6 +96,15 @@ export interface AgentDriver {
96
96
  * Implementations MUST emit a `run_start` first and a `run_end` last.
97
97
  */
98
98
  run(input: DriverRunInput, signal: AbortSignal): AsyncIterable<DriverEvent>;
99
+ /**
100
+ * Adds a message to the run in progress, for the agent to fold in as it
101
+ * sees fit: a correction, an extra request, or "never mind". The agent
102
+ * reads it after its current step, in the same session. Returns false
103
+ * when there's no run that can take it (none active, or it's already
104
+ * wrapping up); the caller then runs the message separately. Optional:
105
+ * backends without mid-run input (Codex) leave it out.
106
+ */
107
+ addToActiveRun?(text: string): boolean;
99
108
  /** Tear down any persistent resources. */
100
109
  close(): Promise<void>;
101
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/drivers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IACE;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAErC,mDAAmD;IACnD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAErD;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5E,0CAA0C;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/drivers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC7C;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IACE;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAErC,mDAAmD;IACnD,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAErD;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvC,0CAA0C;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @file What the room's agent panel has shown, so a browser that missed it
3
+ * can catch up.
4
+ *
5
+ * The panel is built from data-channel events that only exist in flight;
6
+ * a refreshed or late-joining browser has none of them. The bridge sees
7
+ * every event it publishes, so it keeps the panel's state here and answers
8
+ * `bridge.snapshot_request` with it — no database, and it covers the run
9
+ * still in progress, which nothing persisted could.
10
+ */
11
+ import type { BridgeOutboundEvent, BridgeSnapshotEvent } from './protocol.js';
12
+ /**
13
+ * LiveKit's reliable data messages top out around 15 KiB; stay under it so
14
+ * the snapshot never silently fails to send.
15
+ */
16
+ export declare const SNAPSHOT_BUDGET_BYTES = 14000;
17
+ export declare class SessionHistory {
18
+ private responses;
19
+ private activeRun;
20
+ private tools;
21
+ private usage;
22
+ private permissions;
23
+ observe(event: BridgeOutboundEvent, nowMs?: number): void;
24
+ /**
25
+ * The panel's state for one browser, trimmed to fit a single data-channel
26
+ * message: oldest tool calls go first, then oldest replies, then the
27
+ * in-flight run's text is cut to its tail.
28
+ */
29
+ snapshot(forIdentity: string, budgetBytes?: number): BridgeSnapshotEvent;
30
+ }
31
+ //# sourceMappingURL=history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAIpB,MAAM,eAAe,CAAC;AAOvB;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,WAAW,CAAyC;IAE5D,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,SAAa,GAAG,IAAI;IA6E7D;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,SAAwB,GAAG,mBAAmB;CA0BxF"}