@burdenoff/fe-libs 2026.1004.8 → 2026.1005.1

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.
Files changed (32) hide show
  1. package/dist/shared/assistant/api.d.ts +18 -0
  2. package/dist/shared/assistant/api.d.ts.map +1 -1
  3. package/dist/shared/assistant/api.js +169 -147
  4. package/dist/shared/assistant/capabilities.d.ts +21 -0
  5. package/dist/shared/assistant/capabilities.d.ts.map +1 -1
  6. package/dist/shared/assistant/capabilities.js +11 -1
  7. package/dist/shared/assistant/index.d.ts +4 -0
  8. package/dist/shared/assistant/index.d.ts.map +1 -1
  9. package/dist/shared/assistant/liveDeltas.d.ts +76 -0
  10. package/dist/shared/assistant/liveDeltas.d.ts.map +1 -0
  11. package/dist/shared/assistant/liveDeltas.js +196 -0
  12. package/dist/shared/assistant/liveOverlay.d.ts +62 -0
  13. package/dist/shared/assistant/liveOverlay.d.ts.map +1 -0
  14. package/dist/shared/assistant/liveOverlay.js +64 -0
  15. package/dist/shared/assistant/snapshotPoller.d.ts +48 -0
  16. package/dist/shared/assistant/snapshotPoller.d.ts.map +1 -0
  17. package/dist/shared/assistant/snapshotPoller.js +58 -0
  18. package/dist/shared/assistant/turnStream.d.ts +71 -0
  19. package/dist/shared/assistant/turnStream.d.ts.map +1 -0
  20. package/dist/shared/assistant/turnStream.js +266 -0
  21. package/dist/shared/assistant/turnTimeline.d.ts +27 -2
  22. package/dist/shared/assistant/turnTimeline.d.ts.map +1 -1
  23. package/dist/shared/assistant/turnTimeline.js +17 -28
  24. package/dist/shared/assistant/types.d.ts +10 -0
  25. package/dist/shared/assistant/types.d.ts.map +1 -1
  26. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  27. package/dist/shared/assistant/ui/AssistantChatArea.js +1049 -1008
  28. package/dist/shared/assistant/ui/AssistantMessageList.d.ts +2 -0
  29. package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
  30. package/dist/shared/assistant/ui/AssistantMessageList.js +48 -32
  31. package/dist/shared-assistant.js +208 -204
  32. package/package.json +1 -1
@@ -0,0 +1,71 @@
1
+ import { LiveDeltaState } from './liveDeltas';
2
+ import { StreamAccess } from './types';
3
+ export type TurnStreamStatus = "minting" | "connecting" | "open" | "closed" | "unavailable";
4
+ export type WakeResult = "wake" | "idle" | "timeout" | "abort";
5
+ /** The slice of the browser `EventSource` this client uses. */
6
+ export interface EventSourceLike {
7
+ readonly readyState: number;
8
+ addEventListener(type: string, listener: (event: {
9
+ readonly data?: unknown;
10
+ }) => void): void;
11
+ close(): void;
12
+ }
13
+ /** The timeline marks the stream makes (`turnTimeline.ts`). */
14
+ export type TurnStreamMark = "streamOpen" | "streamIdle" | "streamRemint";
15
+ export interface TurnStreamOptions {
16
+ /** Mint a stream URL, or null when there is none. Never throws into here. */
17
+ mint: () => Promise<StreamAccess | null>;
18
+ /** Open a connection; null when the browser has no EventSource. */
19
+ createEventSource?: (url: string) => EventSourceLike | null;
20
+ mark?: (mark: TurnStreamMark, reason?: string) => void;
21
+ now?: () => number;
22
+ setTimer?: (run: () => void, ms: number) => unknown;
23
+ clearTimer?: (timer: unknown) => void;
24
+ /** Delays before each re-mint; its length is the cap (2 per turn). */
25
+ remintDelaysMs?: readonly number[];
26
+ /** Wake-triggered polls are at least this far apart. */
27
+ minWakeGapMs?: number;
28
+ }
29
+ export interface TurnStream {
30
+ readonly status: TurnStreamStatus;
31
+ /** An `open` with `subscribed: true` arrived during this turn. */
32
+ readonly reachedOpen: boolean;
33
+ /** The current connection's `open` carried `projection: 1`. */
34
+ readonly projection: boolean;
35
+ /** +1 per re-mint. */
36
+ readonly generation: number;
37
+ /** The reason of each re-mint, in order. */
38
+ readonly remintReasons: readonly string[];
39
+ /**
40
+ * Resolve when the stream says something worth polling for, or after `maxMs`.
41
+ * `idle` is the bridge's own end-of-turn: poll NOW. A wake that arrives with
42
+ * nobody waiting is remembered, so the next wait resolves at once.
43
+ */
44
+ waitWake(maxMs: number, signal?: AbortSignal): Promise<WakeResult>;
45
+ readonly live: LiveDeltaState;
46
+ onLive(listener: () => void): () => void;
47
+ /**
48
+ * Called synchronously when the bridge's idle arrives. A listener that
49
+ * returns true has acted on it (the completion fast path started a poll), so
50
+ * the idle is not also remembered for the next `waitWake`.
51
+ */
52
+ onIdle(listener: () => boolean): () => void;
53
+ /** Synchronous. Detach live listeners and stop reducing text. Idempotent. */
54
+ endLive(): void;
55
+ readonly liveEnded: boolean;
56
+ /** Tear everything down. Idempotent. */
57
+ close(): void;
58
+ }
59
+ /**
60
+ * The debug override: `localStorage["burdenoff.assistant.transport"] = "poll"`
61
+ * forces polling for this browser — no mint, no stream — for a zero-cost A/B of
62
+ * the two transports. Absent by default; a storage that throws reads as absent.
63
+ */
64
+ export declare const TRANSPORT_OVERRIDE_KEY = "burdenoff.assistant.transport";
65
+ export declare function transportForcedToPoll(): boolean;
66
+ /** Can this page open a turn stream at all, and has nobody switched it off? */
67
+ export declare function turnStreamAvailable(): boolean;
68
+ export declare const DEFAULT_REMINT_DELAYS_MS: readonly number[];
69
+ export declare const MIN_WAKE_GAP_MS = 250;
70
+ export declare function openTurnStream(options: TurnStreamOptions): TurnStream;
71
+ //# sourceMappingURL=turnStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnStream.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnStream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ import { STREAM_MINT_BACKOFF_ERROR_MS as e, backOffStreamMint as t } from "./capabilities.js";
2
+ import { beginLiveGeneration as n, createLiveState as r, freezeLiveParts as i, reduceLiveFrame as a } from "./liveDeltas.js";
3
+ //#region src/shared/assistant/turnStream.ts
4
+ var o = 2, s = "burdenoff.assistant.transport";
5
+ function c() {
6
+ try {
7
+ return globalThis.localStorage?.getItem(s) === "poll";
8
+ } catch {
9
+ return !1;
10
+ }
11
+ }
12
+ function l() {
13
+ return typeof EventSource < "u" && !c();
14
+ }
15
+ var u = [1e3, 5e3], d = 250, f = [
16
+ "open",
17
+ "message.updated",
18
+ "message.part.updated",
19
+ "message.part.delta",
20
+ "session.error",
21
+ "session.idle",
22
+ "stream.end",
23
+ "relay.closed"
24
+ ];
25
+ function p(e) {
26
+ return typeof e == "object" && e && !Array.isArray(e) ? e : void 0;
27
+ }
28
+ function m(e) {
29
+ if (typeof e == "string") try {
30
+ return JSON.parse(e);
31
+ } catch {
32
+ return;
33
+ }
34
+ }
35
+ function h(e) {
36
+ return typeof EventSource > "u" ? null : new EventSource(e, { withCredentials: !0 });
37
+ }
38
+ function g(s) {
39
+ let c = s.now ?? Date.now, l = s.setTimer ?? ((e, t) => setTimeout(e, t)), d = s.clearTimer ?? ((e) => {
40
+ clearTimeout(e);
41
+ }), g = s.createEventSource ?? h, _ = s.remintDelaysMs ?? u, v = s.minWakeGapMs ?? 250, y = "minting", b = !1, x = !1, S = 0, C = [], w = !1, T = !1, E = r(), D = /* @__PURE__ */ new Set(), O = /* @__PURE__ */ new Set(), k = null, A = 0, j = -1, M = !1, N = null, P = null, F = null, I = -Infinity, L = (e, t) => {
42
+ try {
43
+ s.mark?.(e, t);
44
+ } catch {}
45
+ }, R = (e, t) => {
46
+ e.settled || (e.settled = !0, d(e.maxTimer), e.gapTimer !== null && d(e.gapTimer), e.signal && e.onAbort && e.signal.removeEventListener("abort", e.onAbort), F === e && (F = null), (t === "wake" || t === "idle") && (I = c()), e.resolve(t));
47
+ }, z = (e) => {
48
+ let t = F;
49
+ if (!t) {
50
+ P = e === "idle" || P === "idle" ? "idle" : "wake";
51
+ return;
52
+ }
53
+ if (e === "idle") {
54
+ R(t, "idle");
55
+ return;
56
+ }
57
+ let n = I + v - c();
58
+ if (n <= 0) {
59
+ R(t, "wake");
60
+ return;
61
+ }
62
+ t.gapTimer === null && (t.gapTimer = l(() => {
63
+ t.gapTimer = null, R(t, "wake");
64
+ }, n));
65
+ }, B = () => {
66
+ if (!T) for (let e of [...D]) try {
67
+ e();
68
+ } catch {}
69
+ }, V = () => {
70
+ A += 1;
71
+ let e = k;
72
+ k = null;
73
+ try {
74
+ e?.close();
75
+ } catch {}
76
+ }, H = () => {
77
+ y = "unavailable", t(e, c());
78
+ }, U = () => {
79
+ y = "closed";
80
+ }, W = (e) => {
81
+ if (w) return;
82
+ if (C.length >= _.length) {
83
+ U();
84
+ return;
85
+ }
86
+ let t = _[C.length] ?? 0;
87
+ C.push(e), y = "minting", N !== null && d(N), N = l(() => {
88
+ N = null, !w && (L("streamRemint", e), S += 1, E = n(E), J());
89
+ }, t);
90
+ }, G = (e) => {
91
+ let t = F !== null;
92
+ switch (V(), E = i(E), z("wake"), e) {
93
+ case "client-closed":
94
+ U();
95
+ return;
96
+ case "session-idle":
97
+ t ? W("session-idle") : (y = "closed", M = !0);
98
+ return;
99
+ default: W(e);
100
+ }
101
+ }, K = (e, t, n) => {
102
+ if (w || e !== A) return;
103
+ let r = m(n);
104
+ if (t === "open") {
105
+ let t = p(r);
106
+ if (!t) return;
107
+ if (t.subscribed === !0) {
108
+ y = "open", j = e, b = !0, x = typeof t.projection == "number" && t.projection >= 1, L("streamOpen");
109
+ return;
110
+ }
111
+ G("not-subscribed");
112
+ return;
113
+ }
114
+ if (y === "open") {
115
+ if (t === "relay.closed") {
116
+ G(String(p(r)?.reason ?? "relay-closed"));
117
+ return;
118
+ }
119
+ if (t === "stream.end") {
120
+ G(`stream-end:${String(p(r)?.reason ?? "unknown")}`);
121
+ return;
122
+ }
123
+ if (x && !T && (t === "message.updated" || t === "message.part.updated" || t === "message.part.delta")) {
124
+ let e = a(E, {
125
+ event: t,
126
+ data: r
127
+ });
128
+ e !== E && (E = e, B());
129
+ }
130
+ switch (t) {
131
+ case "message.updated":
132
+ z("wake");
133
+ return;
134
+ case "message.part.updated": {
135
+ let e = p(r);
136
+ if (!x) {
137
+ z("wake");
138
+ return;
139
+ }
140
+ let t = p(e?.time)?.end !== void 0;
141
+ (e?.type === "tool" || e?.type === "text" && t) && z("wake");
142
+ return;
143
+ }
144
+ case "session.error":
145
+ z("wake");
146
+ return;
147
+ case "session.idle": {
148
+ if (!x) {
149
+ z("wake");
150
+ return;
151
+ }
152
+ L("streamIdle");
153
+ let e = !1;
154
+ for (let t of [...O]) try {
155
+ t() && (e = !0);
156
+ } catch {}
157
+ if (e) {
158
+ I = c();
159
+ return;
160
+ }
161
+ z("idle");
162
+ return;
163
+ }
164
+ default: return;
165
+ }
166
+ }
167
+ }, q = (e) => {
168
+ let t;
169
+ try {
170
+ t = g(e.url);
171
+ } catch {
172
+ t = null;
173
+ }
174
+ if (!t) {
175
+ H();
176
+ return;
177
+ }
178
+ let n = t, r = A += 1;
179
+ k = n, y = "connecting";
180
+ for (let e of f) n.addEventListener(e, (t) => {
181
+ e === "open" && typeof t.data != "string" || K(r, e, t.data);
182
+ });
183
+ n.addEventListener("error", () => {
184
+ if (!(w || r !== A)) {
185
+ if (n.readyState === o && j !== r) {
186
+ V(), z("wake"), H();
187
+ return;
188
+ }
189
+ G("error");
190
+ }
191
+ });
192
+ }, J = () => {
193
+ y = "minting";
194
+ let e = A;
195
+ s.mint().then((e) => e, () => null).then((t) => {
196
+ if (!(w || e !== A)) {
197
+ if (!t) {
198
+ H();
199
+ return;
200
+ }
201
+ q(t);
202
+ }
203
+ });
204
+ };
205
+ return J(), {
206
+ get status() {
207
+ return y;
208
+ },
209
+ get reachedOpen() {
210
+ return b;
211
+ },
212
+ get projection() {
213
+ return x;
214
+ },
215
+ get generation() {
216
+ return S;
217
+ },
218
+ get remintReasons() {
219
+ return C;
220
+ },
221
+ get live() {
222
+ return E;
223
+ },
224
+ get liveEnded() {
225
+ return T;
226
+ },
227
+ waitWake(e, t) {
228
+ return new Promise((n) => {
229
+ if (t?.aborted) {
230
+ n("abort");
231
+ return;
232
+ }
233
+ M && (M = !1, W("session-idle"));
234
+ let r = {
235
+ resolve: n,
236
+ maxTimer: null,
237
+ gapTimer: null,
238
+ signal: t,
239
+ onAbort: void 0,
240
+ settled: !1
241
+ };
242
+ r.maxTimer = l(() => R(r, "timeout"), e), t && (r.onAbort = () => R(r, "abort"), t.addEventListener("abort", r.onAbort)), F = r;
243
+ let i = P;
244
+ P = null, i && z(i);
245
+ });
246
+ },
247
+ onLive(e) {
248
+ return T ? () => void 0 : (D.add(e), () => {
249
+ D.delete(e);
250
+ });
251
+ },
252
+ onIdle(e) {
253
+ return O.add(e), () => {
254
+ O.delete(e);
255
+ };
256
+ },
257
+ endLive() {
258
+ T || (T = !0, D.clear());
259
+ },
260
+ close() {
261
+ w || (w = !0, T = !0, D.clear(), O.clear(), N !== null && (d(N), N = null), V(), F && R(F, "abort"), y !== "unavailable" && (y = "closed"));
262
+ }
263
+ };
264
+ }
265
+ //#endregion
266
+ export { u as DEFAULT_REMINT_DELAYS_MS, d as MIN_WAKE_GAP_MS, s as TRANSPORT_OVERRIDE_KEY, g as openTurnStream, c as transportForcedToPoll, l as turnStreamAvailable };
@@ -32,12 +32,19 @@
32
32
  * promptSent the sandbox accepted the prompt
33
33
  * lastQuietPoll the last poll that saw nothing — with firstOutput, the
34
34
  * UPPER bound of how late polling noticed the output
35
- * firstOutput the first poll that saw anything to show (a tool line too)
35
+ * streamOpen the turn stream said `open` (BOFF-7914 S3); it can precede
36
+ * `promptSent`, because the mint runs beside the prompt
37
+ * streamRemint the stream was minted again after it ended; the FIRST
38
+ * re-mint (the reasons are the `remintReasons` of the stream)
39
+ * firstDelta the first live text of this turn that could be shown
40
+ * firstOutput the first poll — or live render — that had anything to
41
+ * show (a tool line too)
36
42
  * firstText the first poll that saw answer TEXT — prose not followed
37
43
  * by a tool call, confirmed when the turn completes, so
38
44
  * pre-tool narration does not count. In modes whose
39
45
  * narration IS the answer (BigConsole's build log), the
40
46
  * first narration: group reports by `mode`
47
+ * streamIdle the bridge said the turn is idle (stream turns only)
41
48
  * answerDone the poll that saw the answer complete
42
49
  * complete the turn ended (after artifacts and the credit report)
43
50
  * speechQueued the answer was handed to the speech feed (BOFF-8062 C1):
@@ -78,7 +85,7 @@
78
85
  * window event: any script on the page can dispatch that event, so a listener
79
86
  * on it can be fed invented timings. Only this module calls subscribers.
80
87
  */
81
- export declare const TURN_MILESTONES: readonly ["speechEnded", "graceStarted", "graceEnded", "handedOver", "accepted", "cleared", "attemptStarted", "prewarmJoined", "bootAdopted", "provisionStarted", "createRequested", "sandboxRunning", "serviceReady", "runtimeReady", "promptSent", "lastQuietPoll", "firstOutput", "firstText", "answerDone", "complete", "speechQueued", "ttsStarted", "firstAudio", "audioEnded"];
88
+ export declare const TURN_MILESTONES: readonly ["speechEnded", "graceStarted", "graceEnded", "handedOver", "accepted", "cleared", "attemptStarted", "prewarmJoined", "bootAdopted", "provisionStarted", "createRequested", "sandboxRunning", "serviceReady", "runtimeReady", "promptSent", "lastQuietPoll", "streamOpen", "streamRemint", "firstDelta", "firstOutput", "firstText", "streamIdle", "answerDone", "complete", "speechQueued", "ttsStarted", "firstAudio", "audioEnded"];
82
89
  export type TurnMilestone = (typeof TURN_MILESTONES)[number];
83
90
  /**
84
91
  * How the runtime was found:
@@ -145,6 +152,16 @@ export interface TurnAttemptFacts {
145
152
  * the `prewarmJoined` mark says so.
146
153
  */
147
154
  prewarm?: "hit" | "joined" | "joinedFailed";
155
+ /**
156
+ * BOFF-7914 S3: how this attempt learnt about the reply — `sse` when the turn
157
+ * stream reached `open`, else `poll`. Timeline-only; the production latency
158
+ * report builds from an allowlist and does not carry it (until S0b).
159
+ */
160
+ transport?: "sse" | "poll";
161
+ /** How much of the text the stream carried: all of it, some, or none. */
162
+ live?: "full" | "partial" | "none";
163
+ /** The session: `reused`, `created` (new) or `preopened` (BOFF-8015). */
164
+ session?: "reused" | "created" | "preopened";
148
165
  }
149
166
  export interface TurnAttempt extends TurnAttemptFacts {
150
167
  at: Partial<Record<TurnMilestone, number>>;
@@ -265,6 +282,14 @@ export declare const TURN_SEGMENTS: readonly [{
265
282
  readonly name: "finish";
266
283
  readonly from: "firstOutput";
267
284
  readonly to: "answerDone";
285
+ }, {
286
+ readonly name: "deltaToVisible";
287
+ readonly from: "firstDelta";
288
+ readonly to: "firstOutput";
289
+ }, {
290
+ readonly name: "wakeLag";
291
+ readonly from: "streamIdle";
292
+ readonly to: "answerDone";
268
293
  }, {
269
294
  readonly name: "post";
270
295
  readonly from: "answerDone";
@@ -1 +1 @@
1
- {"version":3,"file":"turnTimeline.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turnTimeline.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnTimeline.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,5 @@
1
1
  //#region src/shared/assistant/turnTimeline.ts
2
- var e = [
3
- "speechEnded",
4
- "graceStarted",
5
- "graceEnded",
6
- "handedOver",
7
- "accepted",
8
- "cleared",
9
- "attemptStarted",
10
- "prewarmJoined",
11
- "bootAdopted",
12
- "provisionStarted",
13
- "createRequested",
14
- "sandboxRunning",
15
- "serviceReady",
16
- "runtimeReady",
17
- "promptSent",
18
- "lastQuietPoll",
19
- "firstOutput",
20
- "firstText",
21
- "answerDone",
22
- "complete",
23
- "speechQueued",
24
- "ttsStarted",
25
- "firstAudio",
26
- "audioEnded"
27
- ], t = [
2
+ var e = /* @__PURE__ */ "speechEnded.graceStarted.graceEnded.handedOver.accepted.cleared.attemptStarted.prewarmJoined.bootAdopted.provisionStarted.createRequested.sandboxRunning.serviceReady.runtimeReady.promptSent.lastQuietPoll.streamOpen.streamRemint.firstDelta.firstOutput.firstText.streamIdle.answerDone.complete.speechQueued.ttsStarted.firstAudio.audioEnded".split("."), t = [
28
3
  "attemptStarted",
29
4
  "prewarmJoined",
30
5
  "bootAdopted",
@@ -35,8 +10,12 @@ var e = [
35
10
  "runtimeReady",
36
11
  "promptSent",
37
12
  "lastQuietPoll",
13
+ "streamOpen",
14
+ "streamRemint",
15
+ "firstDelta",
38
16
  "firstOutput",
39
17
  "firstText",
18
+ "streamIdle",
40
19
  "answerDone"
41
20
  ], n = "burdenoff:assistant-turn-timeline", r = 50, i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set();
42
21
  function o(e) {
@@ -105,7 +84,7 @@ function p(e, t) {
105
84
  let n = i.get(e);
106
85
  if (!n) return;
107
86
  let r = !1;
108
- t.runtime !== void 0 && n.runtime === void 0 && (n.runtime = t.runtime, r = !0), t.usedTools !== void 0 && n.usedTools === void 0 && (n.usedTools = t.usedTools, r = !0), t.deadSandboxProbe !== void 0 && n.deadSandboxProbe === void 0 && (n.deadSandboxProbe = t.deadSandboxProbe, r = !0), t.cacheProofFailed !== void 0 && n.cacheProofFailed === void 0 && (n.cacheProofFailed = t.cacheProofFailed, r = !0), t.prewarm !== void 0 && n.prewarm === void 0 && (n.prewarm = t.prewarm, r = !0), t.outcome !== void 0 && n.outcome === void 0 && (n.outcome = t.outcome, r = !0), r && u(n);
87
+ t.runtime !== void 0 && n.runtime === void 0 && (n.runtime = t.runtime, r = !0), t.usedTools !== void 0 && n.usedTools === void 0 && (n.usedTools = t.usedTools, r = !0), t.deadSandboxProbe !== void 0 && n.deadSandboxProbe === void 0 && (n.deadSandboxProbe = t.deadSandboxProbe, r = !0), t.cacheProofFailed !== void 0 && n.cacheProofFailed === void 0 && (n.cacheProofFailed = t.cacheProofFailed, r = !0), t.prewarm !== void 0 && n.prewarm === void 0 && (n.prewarm = t.prewarm, r = !0), t.transport !== void 0 && n.transport === void 0 && (n.transport = t.transport, r = !0), t.live !== void 0 && n.live === void 0 && (n.live = t.live, r = !0), t.session !== void 0 && n.session === void 0 && (n.session = t.session, r = !0), t.outcome !== void 0 && n.outcome === void 0 && (n.outcome = t.outcome, r = !0), r && u(n);
109
88
  }
110
89
  function m(e, n = s()) {
111
90
  let r = i.get(e);
@@ -118,7 +97,7 @@ function m(e, n = s()) {
118
97
  let t = r.at[e];
119
98
  t !== void 0 && (a.at[e] = t, delete r.at[e]);
120
99
  }
121
- r.runtime !== void 0 && (a.runtime = r.runtime), r.usedTools !== void 0 && (a.usedTools = r.usedTools), r.deadSandboxProbe !== void 0 && (a.deadSandboxProbe = r.deadSandboxProbe), r.cacheProofFailed !== void 0 && (a.cacheProofFailed = r.cacheProofFailed), r.prewarm !== void 0 && (a.prewarm = r.prewarm), delete r.runtime, delete r.usedTools, delete r.deadSandboxProbe, delete r.cacheProofFailed, delete r.prewarm, r.attempts = [...r.attempts ?? [], a], r.retried = !0, u(r);
100
+ r.runtime !== void 0 && (a.runtime = r.runtime), r.usedTools !== void 0 && (a.usedTools = r.usedTools), r.deadSandboxProbe !== void 0 && (a.deadSandboxProbe = r.deadSandboxProbe), r.cacheProofFailed !== void 0 && (a.cacheProofFailed = r.cacheProofFailed), r.prewarm !== void 0 && (a.prewarm = r.prewarm), r.transport !== void 0 && (a.transport = r.transport), r.live !== void 0 && (a.live = r.live), r.session !== void 0 && (a.session = r.session), delete r.transport, delete r.live, delete r.session, delete r.runtime, delete r.usedTools, delete r.deadSandboxProbe, delete r.cacheProofFailed, delete r.prewarm, r.attempts = [...r.attempts ?? [], a], r.retried = !0, u(r);
122
101
  }
123
102
  function h(e) {
124
103
  let t = i.get(e);
@@ -201,6 +180,16 @@ var v = [
201
180
  from: "firstOutput",
202
181
  to: "answerDone"
203
182
  },
183
+ {
184
+ name: "deltaToVisible",
185
+ from: "firstDelta",
186
+ to: "firstOutput"
187
+ },
188
+ {
189
+ name: "wakeLag",
190
+ from: "streamIdle",
191
+ to: "answerDone"
192
+ },
204
193
  {
205
194
  name: "post",
206
195
  from: "answerDone",
@@ -55,6 +55,16 @@ export interface AssistantSandboxAuthContext {
55
55
  }
56
56
  export interface AssistantRawMessagePart {
57
57
  type?: string;
58
+ /**
59
+ * opencode's part id and time, passed through by the bridge. Optional: the
60
+ * stream merge (`applyLiveDeltas`) matches a live text part to the poll's copy
61
+ * by `id`, and a poll that carries none simply has no match.
62
+ */
63
+ id?: string;
64
+ time?: {
65
+ start?: number;
66
+ end?: number;
67
+ };
58
68
  text?: string;
59
69
  tool?: string;
60
70
  state?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAiQf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAqKvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA0uLxD,CAAC"}
1
+ {"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAkQf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA6KvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAu3LxD,CAAC"}