@burdenoff/fe-libs 2026.925.3 → 2026.925.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/dist/shared/assistant/api.d.ts +19 -1
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +57 -46
- package/dist/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/speech/browserSpeechEngine.d.ts.map +1 -1
- package/dist/shared/assistant/speech/browserSpeechEngine.js +1 -1
- package/dist/shared/assistant/turnProgress.d.ts +38 -0
- package/dist/shared/assistant/turnProgress.d.ts.map +1 -1
- package/dist/shared/assistant/turnProgress.js +24 -2
- package/dist/shared/assistant/turnTimeline.d.ts +283 -0
- package/dist/shared/assistant/turnTimeline.d.ts.map +1 -0
- package/dist/shared/assistant/turnTimeline.js +291 -0
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +502 -465
- package/dist/shared/assistant/ui/AssistantSpeechProvider.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantSpeechProvider.js +190 -185
- package/dist/shared/assistant/ui/useVoiceSession.d.ts +7 -1
- package/dist/shared/assistant/ui/useVoiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useVoiceSession.js +87 -80
- package/dist/shared/assistant/voice/voiceSession.d.ts +25 -0
- package/dist/shared/assistant/voice/voiceSession.d.ts.map +1 -1
- package/dist/shared/assistant/voice/voiceSession.js +29 -13
- package/dist/shared-assistant.js +122 -121
- package/package.json +1 -1
|
@@ -23,6 +23,18 @@ import { AssistantMode, AssistantPromptPart, AssistantRawMessage, AssistantSandb
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function forwardsUserTokensToSandbox(mode: AssistantMode | null | undefined): boolean;
|
|
25
25
|
export declare function findExistingSandbox(workspaceId: string, product: string, mode: AssistantMode, isProd: boolean, authContext: AssistantSandboxAuthContext, excludedSandboxIds?: ReadonlySet<string>): Promise<string | null>;
|
|
26
|
+
/**
|
|
27
|
+
* `findExistingSandbox`, and the status the server reported for the one it
|
|
28
|
+
* chose. Reuse accepts a sandbox still PROVISIONING or PENDING — joining a boot
|
|
29
|
+
* someone else started (a reload mid-cold-start, a second tab) — and a latency
|
|
30
|
+
* report must not call waiting out that boot a probe (BOFF-7801).
|
|
31
|
+
*/
|
|
32
|
+
export declare function findExistingSandboxWithStatus(workspaceId: string, product: string, mode: AssistantMode, isProd: boolean, authContext: AssistantSandboxAuthContext, excludedSandboxIds?: ReadonlySet<string>): Promise<{
|
|
33
|
+
id: string;
|
|
34
|
+
status: string;
|
|
35
|
+
} | null>;
|
|
36
|
+
/** The status the server listed for `id`; "UNKNOWN" if it is not listed. */
|
|
37
|
+
export declare function sandboxStatusOf(sandboxes: readonly ExistingAssistantSandbox[], id: string): string;
|
|
26
38
|
export interface ExistingAssistantSandbox {
|
|
27
39
|
id: string;
|
|
28
40
|
name: string;
|
|
@@ -60,7 +72,13 @@ export declare function createAssistantSandbox(product: string, mode: AssistantM
|
|
|
60
72
|
* the same terminal-error strings either way.
|
|
61
73
|
*/
|
|
62
74
|
export declare function waitForSandboxRunning(sandboxId: string, workspaceId: string, authContext: AssistantSandboxAuthContext, maxWaitMs?: number): Promise<void>;
|
|
63
|
-
export declare function waitForAssistantServiceReady(sandboxId: string, workspaceId: string, mode: AssistantMode, authContext: AssistantSandboxAuthContext, maxWaitMs?: number
|
|
75
|
+
export declare function waitForAssistantServiceReady(sandboxId: string, workspaceId: string, mode: AssistantMode, authContext: AssistantSandboxAuthContext, maxWaitMs?: number,
|
|
76
|
+
/**
|
|
77
|
+
* Called on each attempt that found the service not up yet, before the
|
|
78
|
+
* retry. A caller that REUSES a sandbox learns from it that it joined a boot
|
|
79
|
+
* in progress rather than a service already serving (BOFF-7801).
|
|
80
|
+
*/
|
|
81
|
+
onNotReady?: () => void): Promise<void>;
|
|
64
82
|
export declare function createAssistantSession(sandboxId: string, workspaceId: string, mode: AssistantMode, authContext: AssistantSandboxAuthContext): Promise<{
|
|
65
83
|
sessionId: string;
|
|
66
84
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkCH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACrC,OAAO,CAET;AAqFD,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,2BAA2B,EACxC,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAAa,GAClD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,22 +36,32 @@ async function C(e, n, r, i, a, o, s) {
|
|
|
36
36
|
}
|
|
37
37
|
return c.body;
|
|
38
38
|
}
|
|
39
|
-
async function w(
|
|
40
|
-
return
|
|
39
|
+
async function w(e, t, n, r, i, a = /* @__PURE__ */ new Set()) {
|
|
40
|
+
return (await T(e, t, n, r, i, a))?.id ?? null;
|
|
41
|
+
}
|
|
42
|
+
async function T(n, r, i, o, s, c = /* @__PURE__ */ new Set()) {
|
|
43
|
+
let l = (await t({
|
|
41
44
|
query: a,
|
|
42
45
|
operationName: "GetActiveSandboxes",
|
|
43
46
|
variables: { context: e(n, s) },
|
|
44
47
|
workspaceId: n,
|
|
45
48
|
authContext: s
|
|
46
|
-
})).getActiveSandboxes ?? [], r, i, o, s, c);
|
|
49
|
+
})).getActiveSandboxes ?? [], u = D(l, r, i, o, s, c);
|
|
50
|
+
return u ? {
|
|
51
|
+
id: u,
|
|
52
|
+
status: E(l, u)
|
|
53
|
+
} : null;
|
|
54
|
+
}
|
|
55
|
+
function E(e, t) {
|
|
56
|
+
return e.find((e) => e.id === t)?.status ?? "UNKNOWN";
|
|
47
57
|
}
|
|
48
|
-
function
|
|
49
|
-
return e.find((e) => !a.has(e.id) && (e.status === "RUNNING" || e.status === "PROVISIONING" || e.status === "PENDING") && e.template === "AI_BUILDER" && h(e, [n]) === n && (!i.userId || e.createdBy === i.userId) && e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.assistantProduct === t && (!
|
|
58
|
+
function D(e, t, n, r, i, a = /* @__PURE__ */ new Set()) {
|
|
59
|
+
return e.find((e) => !a.has(e.id) && (e.status === "RUNNING" || e.status === "PROVISIONING" || e.status === "PENDING") && e.template === "AI_BUILDER" && h(e, [n]) === n && (!i.userId || e.createdBy === i.userId) && e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.assistantProduct === t && (!O(n) || e.metadata?.confirmWrites === !0))?.id ?? null;
|
|
50
60
|
}
|
|
51
|
-
function
|
|
61
|
+
function O(e) {
|
|
52
62
|
return e === "api-calls";
|
|
53
63
|
}
|
|
54
|
-
function
|
|
64
|
+
function k(e, t, n, r) {
|
|
55
65
|
let i = [
|
|
56
66
|
{
|
|
57
67
|
name: "AI_ASSISTANT_MODE",
|
|
@@ -79,13 +89,13 @@ function D(e, t, n, r) {
|
|
|
79
89
|
}), r.workspaceToken && i.push({
|
|
80
90
|
name: "WORKSPACE_AUTH_TOKEN",
|
|
81
91
|
value: r.workspaceToken
|
|
82
|
-
})),
|
|
92
|
+
})), O(t) && i.push({
|
|
83
93
|
name: "AI_ASSISTANT_CONFIRM_WRITES",
|
|
84
94
|
value: "1"
|
|
85
95
|
}), i;
|
|
86
96
|
}
|
|
87
|
-
async function
|
|
88
|
-
let l = m(i), u =
|
|
97
|
+
async function A(n, i, a, o, s, c) {
|
|
98
|
+
let l = m(i), u = k(n, i, a, c), h = (t) => ({
|
|
89
99
|
name: `ai-assistant-${i}-${Date.now()}`,
|
|
90
100
|
description: `AI Assistant sandbox (${i} mode)`,
|
|
91
101
|
template: "AI_BUILDER",
|
|
@@ -108,7 +118,7 @@ async function O(n, i, a, o, s, c) {
|
|
|
108
118
|
assistantOrganizationId: c.organizationId ?? null,
|
|
109
119
|
authStrategy: d,
|
|
110
120
|
imageTag: p(i, o),
|
|
111
|
-
confirmWrites:
|
|
121
|
+
confirmWrites: O(i)
|
|
112
122
|
},
|
|
113
123
|
context: e(a, c)
|
|
114
124
|
}), g = (e) => t({
|
|
@@ -128,7 +138,7 @@ async function O(n, i, a, o, s, c) {
|
|
|
128
138
|
if (!_?.createSandbox?.id) throw Error("createSandbox returned empty response");
|
|
129
139
|
return _.createSandbox.id;
|
|
130
140
|
}
|
|
131
|
-
async function
|
|
141
|
+
async function j(n, r, i) {
|
|
132
142
|
return (await t({
|
|
133
143
|
query: o,
|
|
134
144
|
operationName: "GetSandbox",
|
|
@@ -140,10 +150,10 @@ async function k(n, r, i) {
|
|
|
140
150
|
authContext: i
|
|
141
151
|
})).getSandbox;
|
|
142
152
|
}
|
|
143
|
-
function
|
|
153
|
+
function M(e, t) {
|
|
144
154
|
if (e === "FAILED" || e === "STOPPED" || e === "EXPIRED") throw Error(t ? `Sandbox ${e.toLowerCase()}: ${t}` : `Sandbox ${e.toLowerCase()}`);
|
|
145
155
|
}
|
|
146
|
-
async function
|
|
156
|
+
async function N(n, r, i, a = 3e5) {
|
|
147
157
|
let o = Date.now();
|
|
148
158
|
if (g("waitForSandboxRunning") !== "unsupported") for (; Date.now() - o < a;) try {
|
|
149
159
|
let a = await t({
|
|
@@ -160,7 +170,7 @@ async function j(n, r, i, a = 3e5) {
|
|
|
160
170
|
v("waitForSandboxRunning");
|
|
161
171
|
let o = a.waitForSandboxRunning;
|
|
162
172
|
if (o?.status === "RUNNING") return;
|
|
163
|
-
|
|
173
|
+
M(o?.status, o?.errorMessage);
|
|
164
174
|
} catch (e) {
|
|
165
175
|
if (_(e)) {
|
|
166
176
|
y("waitForSandboxRunning");
|
|
@@ -169,40 +179,41 @@ async function j(n, r, i, a = 3e5) {
|
|
|
169
179
|
throw e;
|
|
170
180
|
}
|
|
171
181
|
for (; Date.now() - o < a;) {
|
|
172
|
-
let e = await
|
|
182
|
+
let e = await j(n, r, i);
|
|
173
183
|
if (e?.status === "RUNNING") return;
|
|
174
|
-
|
|
184
|
+
M(e?.status, e?.errorMessage), await new Promise((e) => setTimeout(e, 2e3));
|
|
175
185
|
}
|
|
176
186
|
throw Error("Sandbox startup timed out");
|
|
177
187
|
}
|
|
178
|
-
async function
|
|
179
|
-
let
|
|
180
|
-
for (; Date.now() -
|
|
188
|
+
async function P(e, t, n, r, i = 9e4, a) {
|
|
189
|
+
let o = Date.now();
|
|
190
|
+
for (; Date.now() - o < i;) {
|
|
181
191
|
try {
|
|
182
192
|
await C(e, t, "/health", "GET", void 0, n, r);
|
|
183
193
|
return;
|
|
184
194
|
} catch (e) {
|
|
185
195
|
let t = e instanceof Error ? e.message : String(e);
|
|
186
196
|
if (!/proxy error: 502|proxy error: 503|proxy error: 404|service not available|starting/i.test(t)) throw e;
|
|
197
|
+
a?.();
|
|
187
198
|
}
|
|
188
199
|
await new Promise((e) => setTimeout(e, 2e3));
|
|
189
200
|
}
|
|
190
201
|
throw Error("Assistant service did not become healthy before timeout");
|
|
191
202
|
}
|
|
192
|
-
async function
|
|
203
|
+
async function F(e, t, n, r) {
|
|
193
204
|
return { sessionId: (await C(e, t, "/sessions", "POST", { mode: n }, n, r)).session.id };
|
|
194
205
|
}
|
|
195
|
-
async function
|
|
206
|
+
async function I(e, t, n, r, i) {
|
|
196
207
|
let a = await C(e, t, `/write-confirmations/${encodeURIComponent(n)}/approve`, "POST", {}, r, i);
|
|
197
208
|
if (a?.approved !== !0) throw Error(typeof a?.error == "string" ? a.error : "The change could not be approved. It may have expired — ask the assistant to try again.");
|
|
198
209
|
}
|
|
199
|
-
function
|
|
210
|
+
function L(e, t, n, r, i, a = /* @__PURE__ */ new Set()) {
|
|
200
211
|
return i.userId ? e.filter((e) => e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.createdBy === i.userId && !(!a.has(e.id) && e.metadata?.assistantProduct === t && h(e, [n]) === n)).map((e) => e.id) : [];
|
|
201
212
|
}
|
|
202
|
-
async function
|
|
213
|
+
async function R(n, r, i, o, s, c = /* @__PURE__ */ new Set()) {
|
|
203
214
|
let l;
|
|
204
215
|
try {
|
|
205
|
-
l =
|
|
216
|
+
l = L((await t({
|
|
206
217
|
query: a,
|
|
207
218
|
operationName: "GetActiveSandboxes",
|
|
208
219
|
variables: { context: e(n, s) },
|
|
@@ -214,13 +225,13 @@ async function I(n, r, i, o, s, c = /* @__PURE__ */ new Set()) {
|
|
|
214
225
|
}
|
|
215
226
|
return (await Promise.all(l.map(async (e) => {
|
|
216
227
|
try {
|
|
217
|
-
return await
|
|
228
|
+
return await z(e, n, s), e;
|
|
218
229
|
} catch {
|
|
219
230
|
return null;
|
|
220
231
|
}
|
|
221
232
|
}))).filter((e) => e !== null);
|
|
222
233
|
}
|
|
223
|
-
async function
|
|
234
|
+
async function z(n, r, i) {
|
|
224
235
|
await t({
|
|
225
236
|
query: l,
|
|
226
237
|
operationName: "StopAssistantSandbox",
|
|
@@ -232,7 +243,7 @@ async function L(n, r, i) {
|
|
|
232
243
|
authContext: i
|
|
233
244
|
});
|
|
234
245
|
}
|
|
235
|
-
function
|
|
246
|
+
function B(e) {
|
|
236
247
|
let { mode: t, prompt: n, pageContext: r, parts: i } = e, a = {
|
|
237
248
|
mode: t,
|
|
238
249
|
prompt: n,
|
|
@@ -240,14 +251,14 @@ function R(e) {
|
|
|
240
251
|
};
|
|
241
252
|
return i && i.length > 0 && (a.parts = i), a;
|
|
242
253
|
}
|
|
243
|
-
function
|
|
244
|
-
return S(e.sandboxId, e.workspaceId, `/sessions/${e.sessionId}/prompt-async`, "POST",
|
|
254
|
+
function V(e) {
|
|
255
|
+
return S(e.sandboxId, e.workspaceId, `/sessions/${e.sessionId}/prompt-async`, "POST", B(e), e.mode, e.authContext);
|
|
245
256
|
}
|
|
246
|
-
function
|
|
247
|
-
return new TextEncoder().encode(JSON.stringify(
|
|
257
|
+
function H(e) {
|
|
258
|
+
return new TextEncoder().encode(JSON.stringify(V(e))).byteLength;
|
|
248
259
|
}
|
|
249
|
-
async function
|
|
250
|
-
if (
|
|
260
|
+
async function U(e, t, n, r, i, a, o, s) {
|
|
261
|
+
if (H({
|
|
251
262
|
sandboxId: e,
|
|
252
263
|
workspaceId: t,
|
|
253
264
|
sessionId: n,
|
|
@@ -257,7 +268,7 @@ async function V(e, t, n, r, i, a, o, s) {
|
|
|
257
268
|
authContext: o,
|
|
258
269
|
parts: s?.parts
|
|
259
270
|
}) > 262144) throw Error(b);
|
|
260
|
-
let c = await C(e, t, `/sessions/${n}/prompt-async`, "POST",
|
|
271
|
+
let c = await C(e, t, `/sessions/${n}/prompt-async`, "POST", B({
|
|
261
272
|
mode: i,
|
|
262
273
|
prompt: r,
|
|
263
274
|
pageContext: a,
|
|
@@ -265,13 +276,13 @@ async function V(e, t, n, r, i, a, o, s) {
|
|
|
265
276
|
}), i, o);
|
|
266
277
|
return { messageID: typeof c.messageID == "string" ? c.messageID : void 0 };
|
|
267
278
|
}
|
|
268
|
-
async function
|
|
279
|
+
async function W(e, t, n, r, i, a) {
|
|
269
280
|
let o = `/sessions/${n}/messages?limit=${a?.limit ?? 50}`;
|
|
270
281
|
a?.sinceMs && g("sinceParam") !== "unsupported" && (o += `&since=${a.sinceMs}`);
|
|
271
282
|
let s = await C(e, t, o, "GET", void 0, r, i);
|
|
272
283
|
return typeof s.now == "number" && v("sinceParam"), s.messages ?? [];
|
|
273
284
|
}
|
|
274
|
-
async function
|
|
285
|
+
async function G(e, t, n, r, i) {
|
|
275
286
|
if (g("sse") === "unsupported") return null;
|
|
276
287
|
try {
|
|
277
288
|
let a = await C(e, t, `/sessions/${n}/stream-url`, "GET", void 0, r, i);
|
|
@@ -283,7 +294,7 @@ async function U(e, t, n, r, i) {
|
|
|
283
294
|
return y("sse"), null;
|
|
284
295
|
}
|
|
285
296
|
}
|
|
286
|
-
async function
|
|
297
|
+
async function K(n, r, a, o) {
|
|
287
298
|
await t({
|
|
288
299
|
query: i,
|
|
289
300
|
operationName: "ExtendSandboxTtl",
|
|
@@ -296,27 +307,27 @@ async function W(n, r, a, o) {
|
|
|
296
307
|
authContext: o
|
|
297
308
|
});
|
|
298
309
|
}
|
|
299
|
-
async function
|
|
310
|
+
async function q(e, t, n, r, i) {
|
|
300
311
|
await C(e, t, `/sessions/${n}/heartbeat`, "POST", void 0, r, i).catch(() => void 0);
|
|
301
312
|
}
|
|
302
|
-
async function
|
|
313
|
+
async function J(e, t, n, r, i) {
|
|
303
314
|
try {
|
|
304
315
|
return (await C(e, t, `/sessions/${n}/abort`, "POST", void 0, r, i))?.aborted === !0;
|
|
305
316
|
} catch {
|
|
306
317
|
return !1;
|
|
307
318
|
}
|
|
308
319
|
}
|
|
309
|
-
async function
|
|
320
|
+
async function Y(e, t, n, r, i) {
|
|
310
321
|
return ((await C(e, t, `/sessions/${n}/artifacts`, "GET", void 0, r, i)).artifacts ?? []).filter((e) => !e.name.startsWith("."));
|
|
311
322
|
}
|
|
312
|
-
async function
|
|
323
|
+
async function X(e, t, n, r, i) {
|
|
313
324
|
let a = await C(e, t, `/sessions/${n}`, "GET", void 0, r, i);
|
|
314
325
|
return {
|
|
315
326
|
id: a.session?.id ?? n,
|
|
316
327
|
mode: a.mode ?? "unknown"
|
|
317
328
|
};
|
|
318
329
|
}
|
|
319
|
-
async function
|
|
330
|
+
async function Z(e, t, n, r, i, a) {
|
|
320
331
|
let o = (await C(e, t, `/sessions/${n}/artifacts/download?path=${encodeURIComponent(r)}`, "GET", void 0, i, a)).artifact;
|
|
321
332
|
if (!o) throw Error("Artifact download returned an empty response");
|
|
322
333
|
return {
|
|
@@ -325,7 +336,7 @@ async function Y(e, t, n, r, i, a) {
|
|
|
325
336
|
contentBase64: o.contentBase64
|
|
326
337
|
};
|
|
327
338
|
}
|
|
328
|
-
async function
|
|
339
|
+
async function Q(e, r) {
|
|
329
340
|
return (await t({
|
|
330
341
|
query: n,
|
|
331
342
|
operationName: "CheckAiCredits",
|
|
@@ -334,7 +345,7 @@ async function X(e, r) {
|
|
|
334
345
|
authContext: r
|
|
335
346
|
})).checkAiCredits;
|
|
336
347
|
}
|
|
337
|
-
async function
|
|
348
|
+
async function $(e, n, r, i, a, o) {
|
|
338
349
|
let s = Math.max(0, Math.round(a.input ?? 0)), l = Math.max(0, Math.round(a.output ?? 0));
|
|
339
350
|
s + l === 0 || !i || await t({
|
|
340
351
|
query: c,
|
|
@@ -351,4 +362,4 @@ async function Z(e, n, r, i, a, o) {
|
|
|
351
362
|
});
|
|
352
363
|
}
|
|
353
364
|
//#endregion
|
|
354
|
-
export {
|
|
365
|
+
export { J as abortAssistantTurn, I as approvePendingWrite, k as buildAssistantSandboxEnv, V as buildPromptGatewayRequest, B as buildPromptRequestBody, Q as checkAssistantAiCredits, A as createAssistantSandbox, F as createAssistantSession, Z as downloadAssistantArtifact, K as extendAssistantSandboxTTL, w as findExistingSandbox, T as findExistingSandboxWithStatus, x as forwardsUserTokensToSandbox, Y as getAssistantArtifacts, W as getAssistantMessages, X as getAssistantSession, G as getAssistantStreamAccess, O as modeRequiresConfirmWrites, H as promptGatewayRequestBytes, R as releaseSupersededAssistantSandboxes, $ as reportAssistantAiTokenUsage, E as sandboxStatusOf, D as selectExistingAssistantSandbox, L as selectSupersededAssistantSandboxes, U as sendAssistantPromptAsync, q as sendHeartbeat, z as stopReapedAssistantSandbox, P as waitForAssistantServiceReady, N as waitForSandboxRunning };
|
|
@@ -153,6 +153,7 @@ export * from './quota';
|
|
|
153
153
|
export * from './permissionError';
|
|
154
154
|
export * from './autoRouting';
|
|
155
155
|
export * from './turnOutcome';
|
|
156
|
+
export * from './turnTimeline';
|
|
156
157
|
export * from './turnOutcomeCopy';
|
|
157
158
|
export * from './aiCredits';
|
|
158
159
|
export * from './useWorkspaceWriteAccess';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/browserSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAqEjB,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"browserSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/browserSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAqEjB,eAAO,MAAM,mBAAmB,EAAE,YAgIjC,CAAC"}
|
|
@@ -18,6 +18,22 @@ export interface AssistantTurnProgress {
|
|
|
18
18
|
* note. A boolean cannot be mistaken for output (BOFF-7277).
|
|
19
19
|
*/
|
|
20
20
|
hasRenderableOutput: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the answer's own TEXT has started — not a tool line, not media,
|
|
23
|
+
* and not narration ahead of a tool call ("Let me look that up."): in the
|
|
24
|
+
* newest message the last non-empty text part must come AFTER the last
|
|
25
|
+
* tool part. In a mode whose narration IS the answer (`accumulateNarration`)
|
|
26
|
+
* any narration counts. The "first useful response" of a latency report
|
|
27
|
+
* (BOFF-7801) — and only a CANDIDATE mid-step: a poll can land before the
|
|
28
|
+
* step's tool part exists (see `trackFirstText`).
|
|
29
|
+
*/
|
|
30
|
+
hasText?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Whether ANY of this turn's messages holds a tool call. Read from every
|
|
33
|
+
* message, not only the newest: a fast tool's message is superseded before
|
|
34
|
+
* the next poll, so its progress line may never be seen.
|
|
35
|
+
*/
|
|
36
|
+
usedTools?: boolean;
|
|
21
37
|
done: boolean;
|
|
22
38
|
tokens?: {
|
|
23
39
|
input: number;
|
|
@@ -66,4 +82,26 @@ export declare function buildAssistantProgress(messages: AssistantRawMessage[],
|
|
|
66
82
|
* first error (a temporary outcome the person can retry).
|
|
67
83
|
*/
|
|
68
84
|
export declare function snapshotReplyFloor(fetchPrior: () => Promise<AssistantRawMessage[]>, sessionIsNew: boolean): Promise<number>;
|
|
85
|
+
/** Where a turn's first answer text is, while it is still only a candidate. */
|
|
86
|
+
export interface FirstTextTracker {
|
|
87
|
+
messageId: string | null;
|
|
88
|
+
at: number | null;
|
|
89
|
+
}
|
|
90
|
+
export declare const NO_FIRST_TEXT: FirstTextTracker;
|
|
91
|
+
/**
|
|
92
|
+
* ★ BOFF-7801: the first answer TEXT is known for certain only when the turn
|
|
93
|
+
* is done. A step streams its narration BEFORE its tool part exists, so a poll
|
|
94
|
+
* can see "Let me look that up." as text — and a later poll shows the tool
|
|
95
|
+
* after it. So the first text is a candidate held against the message that
|
|
96
|
+
* showed it, dropped when that message turns out to call a tool, or when a
|
|
97
|
+
* newer message takes over; it is confirmed only if it belongs to the message
|
|
98
|
+
* that completes the turn. `confirmedAt` is its time once confirmed.
|
|
99
|
+
*
|
|
100
|
+
* Not for `accumulateNarration` modes, where the narration IS the answer and
|
|
101
|
+
* its first appearance counts at once.
|
|
102
|
+
*/
|
|
103
|
+
export declare function trackFirstText(tracker: FirstTextTracker, progress: Pick<AssistantTurnProgress, "hasText" | "messageId" | "done">, now: number): {
|
|
104
|
+
tracker: FirstTextTracker;
|
|
105
|
+
confirmedAt: number | null;
|
|
106
|
+
};
|
|
69
107
|
//# sourceMappingURL=turnProgress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnProgress.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnProgress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EACL,KAAK,wBAAwB,EAK9B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GACjC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"turnProgress.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnProgress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EACL,KAAK,wBAAwB,EAK9B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,oBAAoB,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GACjC,qBAAqB,CAqFvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,EAChD,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,gBAAgD,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,EACvE,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAc3D"}
|
|
@@ -12,10 +12,16 @@ function a(a, o, s) {
|
|
|
12
12
|
u,
|
|
13
13
|
...d,
|
|
14
14
|
...f
|
|
15
|
-
].filter(Boolean).join("\n\n"), g = l.info?.providerID, _ = l.info?.modelID;
|
|
15
|
+
].filter(Boolean).join("\n\n"), g = l.info?.providerID, _ = l.info?.modelID, v = l.parts ?? [], y = -1, b = -1;
|
|
16
|
+
v.forEach((e, t) => {
|
|
17
|
+
e.type === "tool" && (b = t), e.type === "text" && typeof e.text == "string" && e.text.trim() !== "" && (y = t);
|
|
18
|
+
});
|
|
19
|
+
let x = y > b, S = c.some((e) => (e.parts ?? []).some((e) => e.type === "tool"));
|
|
16
20
|
return {
|
|
17
21
|
content: h,
|
|
18
22
|
hasRenderableOutput: m,
|
|
23
|
+
hasText: s?.accumulateNarration ? !!u : !!u && x,
|
|
24
|
+
usedTools: S,
|
|
19
25
|
done: !!l.info?.time?.completed && m,
|
|
20
26
|
tokens: l.info?.tokens,
|
|
21
27
|
messageId: l.info?.id,
|
|
@@ -38,5 +44,21 @@ async function o(e, t) {
|
|
|
38
44
|
throw i ?? e;
|
|
39
45
|
}
|
|
40
46
|
}
|
|
47
|
+
var s = {
|
|
48
|
+
messageId: null,
|
|
49
|
+
at: null
|
|
50
|
+
};
|
|
51
|
+
function c(e, t, n) {
|
|
52
|
+
let r = t.messageId ?? null, i = e;
|
|
53
|
+
t.hasText ? (e.at === null || e.messageId !== r) && (i = {
|
|
54
|
+
messageId: r,
|
|
55
|
+
at: n
|
|
56
|
+
}) : i = s;
|
|
57
|
+
let a = t.done && i.at !== null && i.messageId === r ? i.at : null;
|
|
58
|
+
return {
|
|
59
|
+
tracker: i,
|
|
60
|
+
confirmedAt: a
|
|
61
|
+
};
|
|
62
|
+
}
|
|
41
63
|
//#endregion
|
|
42
|
-
export { a as buildAssistantProgress, o as snapshotReplyFloor };
|
|
64
|
+
export { s as NO_FIRST_TEXT, a as buildAssistantProgress, o as snapshotReplyFloor, c as trackFirstText };
|