@burdenoff/fe-libs 2026.906.6 → 2026.907.2
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 +18 -0
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +22 -18
- package/dist/shared/assistant/pendingWrite.d.ts +13 -0
- package/dist/shared/assistant/pendingWrite.d.ts.map +1 -1
- package/dist/shared/assistant/pendingWrite.js +48 -42
- package/dist/shared/assistant/quota.d.ts +30 -0
- package/dist/shared/assistant/quota.d.ts.map +1 -1
- package/dist/shared/assistant/quota.js +33 -2
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +260 -228
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts +4 -0
- package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageItem.js +54 -50
- package/dist/shared/assistant/ui/AssistantMessageList.d.ts +3 -0
- package/dist/shared/assistant/ui/AssistantMessageList.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantMessageList.js +19 -17
- package/dist/shared/assistant/ui/AssistantPendingWriteCard.d.ts +25 -10
- package/dist/shared/assistant/ui/AssistantPendingWriteCard.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantPendingWriteCard.js +53 -39
- package/dist/shared-assistant.js +92 -92
- package/package.json +1 -1
|
@@ -41,6 +41,24 @@ export declare function waitForAssistantServiceReady(sandboxId: string, workspac
|
|
|
41
41
|
export declare function createAssistantSession(sandboxId: string, workspaceId: string, mode: AssistantMode, authContext: AssistantSandboxAuthContext): Promise<{
|
|
42
42
|
sessionId: string;
|
|
43
43
|
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Tell the sandbox the user approved a pending write.
|
|
46
|
+
*
|
|
47
|
+
* ★★ This is the frontend half of the write gate. The sandbox no longer puts
|
|
48
|
+
* the confirmation token in anything the model can read — the refusal carries a
|
|
49
|
+
* reference that NAMES the pending change and authorises nothing — so the only
|
|
50
|
+
* way a refused write becomes executable is this call, made because a person
|
|
51
|
+
* pressed a button. The model is not in this path.
|
|
52
|
+
*
|
|
53
|
+
* ★ The reference is not a secret and is validated as hex by the parser before
|
|
54
|
+
* it reaches here, so it can safely sit in the URL.
|
|
55
|
+
*
|
|
56
|
+
* ★ Throws on failure rather than resolving quietly. A 404 means the pending
|
|
57
|
+
* write expired or was already spent, and the user must see that their approval
|
|
58
|
+
* did NOT land — silently swallowing it would leave them believing a change was
|
|
59
|
+
* authorised when it was not.
|
|
60
|
+
*/
|
|
61
|
+
export declare function approvePendingWrite(sandboxId: string, workspaceId: string, reference: string, authContext: AssistantSandboxAuthContext): Promise<void>;
|
|
44
62
|
/**
|
|
45
63
|
* Our own assistant sandboxes in this workspace that are for a DIFFERENT mode.
|
|
46
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -181,14 +181,18 @@ async function k(e, t, n, r = 9e4) {
|
|
|
181
181
|
async function A(e, t, n, r) {
|
|
182
182
|
return { sessionId: (await b(e, t, "/sessions", "POST", { mode: n }, r)).session.id };
|
|
183
183
|
}
|
|
184
|
-
function j(e, t, n, r
|
|
184
|
+
async function j(e, t, n, r) {
|
|
185
|
+
let i = await b(e, t, `/write-confirmations/${encodeURIComponent(n)}/approve`, "POST", {}, r);
|
|
186
|
+
if (i?.approved !== !0) throw Error(typeof i?.error == "string" ? i.error : "The change could not be approved. It may have expired — ask the assistant to try again.");
|
|
187
|
+
}
|
|
188
|
+
function M(e, t, n, r, i) {
|
|
185
189
|
let a = p(n, r);
|
|
186
190
|
return e.filter((e) => e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.assistantProduct === t && (!i.userId || e.createdBy === i.userId) && !(h(e) === n && e.metadata?.imageTag === a)).map((e) => e.id);
|
|
187
191
|
}
|
|
188
|
-
async function
|
|
192
|
+
async function N(n, r, i, o, s) {
|
|
189
193
|
let c;
|
|
190
194
|
try {
|
|
191
|
-
c =
|
|
195
|
+
c = M((await t({
|
|
192
196
|
query: a,
|
|
193
197
|
operationName: "GetActiveSandboxes",
|
|
194
198
|
variables: { context: e(n, s) },
|
|
@@ -200,13 +204,13 @@ async function M(n, r, i, o, s) {
|
|
|
200
204
|
}
|
|
201
205
|
return (await Promise.all(c.map(async (e) => {
|
|
202
206
|
try {
|
|
203
|
-
return await
|
|
207
|
+
return await P(e, n, s), e;
|
|
204
208
|
} catch {
|
|
205
209
|
return null;
|
|
206
210
|
}
|
|
207
211
|
}))).filter((e) => e !== null);
|
|
208
212
|
}
|
|
209
|
-
async function
|
|
213
|
+
async function P(n, r, i) {
|
|
210
214
|
await t({
|
|
211
215
|
query: l,
|
|
212
216
|
operationName: "StopAssistantSandbox",
|
|
@@ -218,7 +222,7 @@ async function N(n, r, i) {
|
|
|
218
222
|
authContext: i
|
|
219
223
|
});
|
|
220
224
|
}
|
|
221
|
-
function
|
|
225
|
+
function F(e) {
|
|
222
226
|
let { mode: t, prompt: n, pageContext: r, parts: i } = e, a = {
|
|
223
227
|
mode: t,
|
|
224
228
|
prompt: n,
|
|
@@ -226,8 +230,8 @@ function P(e) {
|
|
|
226
230
|
};
|
|
227
231
|
return i && i.length > 0 && (a.parts = i), a;
|
|
228
232
|
}
|
|
229
|
-
async function
|
|
230
|
-
let c = await b(e, t, `/sessions/${n}/prompt-async`, "POST",
|
|
233
|
+
async function I(e, t, n, r, i, a, o, s) {
|
|
234
|
+
let c = await b(e, t, `/sessions/${n}/prompt-async`, "POST", F({
|
|
231
235
|
mode: i,
|
|
232
236
|
prompt: r,
|
|
233
237
|
pageContext: a,
|
|
@@ -235,13 +239,13 @@ async function F(e, t, n, r, i, a, o, s) {
|
|
|
235
239
|
}), o);
|
|
236
240
|
return { messageID: typeof c.messageID == "string" ? c.messageID : void 0 };
|
|
237
241
|
}
|
|
238
|
-
async function
|
|
242
|
+
async function L(e, t, n, r, i) {
|
|
239
243
|
let a = `/sessions/${n}/messages?limit=${i?.limit ?? 50}`;
|
|
240
244
|
i?.sinceMs && g("sinceParam") !== "unsupported" && (a += `&since=${i.sinceMs}`);
|
|
241
245
|
let o = await b(e, t, a, "GET", void 0, r);
|
|
242
246
|
return typeof o.now == "number" && v("sinceParam"), o.messages ?? [];
|
|
243
247
|
}
|
|
244
|
-
async function
|
|
248
|
+
async function R(e, t, n, r) {
|
|
245
249
|
if (g("sse") === "unsupported") return null;
|
|
246
250
|
try {
|
|
247
251
|
let i = await b(e, t, `/sessions/${n}/stream-url`, "GET", void 0, r);
|
|
@@ -253,7 +257,7 @@ async function L(e, t, n, r) {
|
|
|
253
257
|
return y("sse"), null;
|
|
254
258
|
}
|
|
255
259
|
}
|
|
256
|
-
async function
|
|
260
|
+
async function z(n, r, a, o) {
|
|
257
261
|
await t({
|
|
258
262
|
query: i,
|
|
259
263
|
operationName: "ExtendSandboxTtl",
|
|
@@ -266,20 +270,20 @@ async function R(n, r, a, o) {
|
|
|
266
270
|
authContext: o
|
|
267
271
|
});
|
|
268
272
|
}
|
|
269
|
-
async function
|
|
273
|
+
async function B(e, t, n, r) {
|
|
270
274
|
await b(e, t, `/sessions/${n}/heartbeat`, "POST", void 0, r).catch(() => void 0);
|
|
271
275
|
}
|
|
272
|
-
async function
|
|
276
|
+
async function V(e, t, n, r) {
|
|
273
277
|
return ((await b(e, t, `/sessions/${n}/artifacts`, "GET", void 0, r)).artifacts ?? []).filter((e) => !e.name.startsWith("."));
|
|
274
278
|
}
|
|
275
|
-
async function
|
|
279
|
+
async function H(e, t, n, r) {
|
|
276
280
|
let i = await b(e, t, `/sessions/${n}`, "GET", void 0, r);
|
|
277
281
|
return {
|
|
278
282
|
id: i.session?.id ?? n,
|
|
279
283
|
mode: i.mode ?? "unknown"
|
|
280
284
|
};
|
|
281
285
|
}
|
|
282
|
-
async function
|
|
286
|
+
async function U(e, t, n, r, i) {
|
|
283
287
|
let a = (await b(e, t, `/sessions/${n}/artifacts/download?path=${encodeURIComponent(r)}`, "GET", void 0, i)).artifact;
|
|
284
288
|
if (!a) throw Error("Artifact download returned an empty response");
|
|
285
289
|
return {
|
|
@@ -288,7 +292,7 @@ async function H(e, t, n, r, i) {
|
|
|
288
292
|
contentBase64: a.contentBase64
|
|
289
293
|
};
|
|
290
294
|
}
|
|
291
|
-
async function
|
|
295
|
+
async function W(e, r) {
|
|
292
296
|
return (await t({
|
|
293
297
|
query: n,
|
|
294
298
|
operationName: "CheckAiCredits",
|
|
@@ -297,7 +301,7 @@ async function U(e, r) {
|
|
|
297
301
|
authContext: r
|
|
298
302
|
})).checkAiCredits;
|
|
299
303
|
}
|
|
300
|
-
async function
|
|
304
|
+
async function G(e, n, r, i, a, o) {
|
|
301
305
|
let s = Math.max(0, Math.round(a.input ?? 0)), l = Math.max(0, Math.round(a.output ?? 0));
|
|
302
306
|
s + l === 0 || !i || await t({
|
|
303
307
|
query: c,
|
|
@@ -314,4 +318,4 @@ async function W(e, n, r, i, a, o) {
|
|
|
314
318
|
});
|
|
315
319
|
}
|
|
316
320
|
//#endregion
|
|
317
|
-
export { w as buildAssistantSandboxEnv,
|
|
321
|
+
export { j as approvePendingWrite, w as buildAssistantSandboxEnv, F as buildPromptRequestBody, W as checkAssistantAiCredits, T as createAssistantSandbox, A as createAssistantSession, U as downloadAssistantArtifact, z as extendAssistantSandboxTTL, x as findExistingSandbox, V as getAssistantArtifacts, L as getAssistantMessages, H as getAssistantSession, R as getAssistantStreamAccess, C as modeRequiresConfirmWrites, N as releaseSupersededAssistantSandboxes, G as reportAssistantAiTokenUsage, S as selectExistingAssistantSandbox, M as selectSupersededAssistantSandboxes, I as sendAssistantPromptAsync, B as sendHeartbeat, P as stopReapedAssistantSandbox, k as waitForAssistantServiceReady, O as waitForSandboxRunning };
|
|
@@ -38,6 +38,19 @@ export interface PendingWrite {
|
|
|
38
38
|
* naming the operation alone rather than implying there is nothing to send.
|
|
39
39
|
*/
|
|
40
40
|
values: PendingWriteValue[] | null;
|
|
41
|
+
/**
|
|
42
|
+
* The pending change's public reference, when the sandbox emitted one.
|
|
43
|
+
*
|
|
44
|
+
* ★★ NOT a token, and the distinction is the whole design. The reference
|
|
45
|
+
* NAMES the pending write so the panel can approve that exact one; it
|
|
46
|
+
* authorises nothing on its own. The token never leaves the sandbox — being
|
|
47
|
+
* shown it is what used to let the model approve itself.
|
|
48
|
+
*
|
|
49
|
+
* `null` on a sandbox running an image from before the approval endpoint
|
|
50
|
+
* existed, in which case the card has nothing to approve WITH and correctly
|
|
51
|
+
* falls back to asking the user to reply in prose.
|
|
52
|
+
*/
|
|
53
|
+
reference: string | null;
|
|
41
54
|
}
|
|
42
55
|
/**
|
|
43
56
|
* A tool part as the transport delivers it. Deliberately loose: `state.output`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendingWrite.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/pendingWrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pendingWrite.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/pendingWrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IACnC;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AASD;;;;GAIG;AACH,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CAClE;AAqCD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAgE1E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,GACzC,YAAY,GAAG,IAAI,CAWrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/shared/assistant/pendingWrite.ts
|
|
2
|
-
var e = "CONFIRMATION_REQUIRED", t = /CONFIRMATION_REQUIRED: the write "([^"]+)" was NOT sent/, n = "Values you were about to send:"
|
|
3
|
-
function
|
|
2
|
+
var e = "CONFIRMATION_REQUIRED", t = /CONFIRMATION_REQUIRED: the write "([^"]+)" was NOT sent/, n = "Values you were about to send:", r = /Pending change reference:\s*([0-9a-f]{6,64})\b/;
|
|
3
|
+
function i(e) {
|
|
4
4
|
if (typeof e == "string") return e;
|
|
5
5
|
if (e && typeof e == "object" && "output" in e) {
|
|
6
6
|
let t = e.output;
|
|
@@ -8,7 +8,7 @@ function r(e) {
|
|
|
8
8
|
}
|
|
9
9
|
return null;
|
|
10
10
|
}
|
|
11
|
-
function
|
|
11
|
+
function a(e) {
|
|
12
12
|
if (!e || typeof e != "object" || Array.isArray(e)) return null;
|
|
13
13
|
let t = Object.entries(e);
|
|
14
14
|
return t.length === 0 ? null : t.map(([e, t]) => ({
|
|
@@ -16,70 +16,76 @@ function i(e) {
|
|
|
16
16
|
value: typeof t == "string" ? t : t == null ? "—" : JSON.stringify(t)
|
|
17
17
|
}));
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
if (!
|
|
21
|
-
let
|
|
22
|
-
if (!
|
|
23
|
-
let
|
|
24
|
-
if (
|
|
25
|
-
operation:
|
|
26
|
-
values: null
|
|
19
|
+
function o(i) {
|
|
20
|
+
if (!i.includes(e)) return null;
|
|
21
|
+
let o = t.exec(i)?.[1]?.trim();
|
|
22
|
+
if (!o) return null;
|
|
23
|
+
let s = r.exec(i)?.[1] ?? null, c = i.indexOf(n);
|
|
24
|
+
if (c === -1) return {
|
|
25
|
+
operation: o,
|
|
26
|
+
values: null,
|
|
27
|
+
reference: s
|
|
27
28
|
};
|
|
28
|
-
let
|
|
29
|
-
if (!
|
|
30
|
-
operation:
|
|
31
|
-
values: null
|
|
29
|
+
let l = i.slice(c + 30).trim();
|
|
30
|
+
if (!l || l.startsWith("(no variables)")) return {
|
|
31
|
+
operation: o,
|
|
32
|
+
values: null,
|
|
33
|
+
reference: s
|
|
32
34
|
};
|
|
33
|
-
let
|
|
34
|
-
if (
|
|
35
|
-
operation:
|
|
36
|
-
values: null
|
|
35
|
+
let u = l.indexOf("{");
|
|
36
|
+
if (u === -1) return {
|
|
37
|
+
operation: o,
|
|
38
|
+
values: null,
|
|
39
|
+
reference: s
|
|
37
40
|
};
|
|
38
|
-
let
|
|
39
|
-
for (let e =
|
|
40
|
-
let t =
|
|
41
|
-
if (
|
|
42
|
-
|
|
41
|
+
let d = 0, f = -1, p = !1, m = !1;
|
|
42
|
+
for (let e = u; e < l.length; e += 1) {
|
|
43
|
+
let t = l[e];
|
|
44
|
+
if (m) {
|
|
45
|
+
m = !1;
|
|
43
46
|
continue;
|
|
44
47
|
}
|
|
45
|
-
if (t === "\\" &&
|
|
46
|
-
|
|
48
|
+
if (t === "\\" && p) {
|
|
49
|
+
m = !0;
|
|
47
50
|
continue;
|
|
48
51
|
}
|
|
49
|
-
if (t === "\"")
|
|
50
|
-
else if (!
|
|
51
|
-
else if (!
|
|
52
|
-
|
|
52
|
+
if (t === "\"") p = !p;
|
|
53
|
+
else if (!p && t === "{") d += 1;
|
|
54
|
+
else if (!p && t === "}" && (--d, d === 0)) {
|
|
55
|
+
f = e + 1;
|
|
53
56
|
break;
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
|
-
if (
|
|
57
|
-
operation:
|
|
58
|
-
values: null
|
|
59
|
+
if (f === -1) return {
|
|
60
|
+
operation: o,
|
|
61
|
+
values: null,
|
|
62
|
+
reference: s
|
|
59
63
|
};
|
|
60
64
|
try {
|
|
61
65
|
return {
|
|
62
|
-
operation:
|
|
63
|
-
values:
|
|
66
|
+
operation: o,
|
|
67
|
+
values: a(JSON.parse(l.slice(u, f))),
|
|
68
|
+
reference: s
|
|
64
69
|
};
|
|
65
70
|
} catch {
|
|
66
71
|
return {
|
|
67
|
-
operation:
|
|
68
|
-
values: null
|
|
72
|
+
operation: o,
|
|
73
|
+
values: null,
|
|
74
|
+
reference: s
|
|
69
75
|
};
|
|
70
76
|
}
|
|
71
77
|
}
|
|
72
|
-
function
|
|
78
|
+
function s(e) {
|
|
73
79
|
if (!e) return null;
|
|
74
80
|
let t = null;
|
|
75
81
|
for (let n of e) {
|
|
76
82
|
if (n?.type !== "tool") continue;
|
|
77
|
-
let e =
|
|
83
|
+
let e = i(n.state?.output);
|
|
78
84
|
if (!e) continue;
|
|
79
|
-
let
|
|
80
|
-
|
|
85
|
+
let r = o(e);
|
|
86
|
+
r && (t = r);
|
|
81
87
|
}
|
|
82
88
|
return t;
|
|
83
89
|
}
|
|
84
90
|
//#endregion
|
|
85
|
-
export {
|
|
91
|
+
export { s as findPendingWrite, o as parseConfirmationRefusal };
|
|
@@ -43,6 +43,36 @@ export type QuotaRefusal = "exhausted" | "not-provisioned";
|
|
|
43
43
|
* would not help.
|
|
44
44
|
*/
|
|
45
45
|
export declare function classifyQuotaError(error: unknown): QuotaRefusal | null;
|
|
46
|
+
/**
|
|
47
|
+
* A quota refusal, plus the facts needed to act on it.
|
|
48
|
+
*
|
|
49
|
+
* ★★★ Why this exists (prod, 2026-09-07). The assistant was dead for hours and
|
|
50
|
+
* the only thing anyone could see was "You've reached your sandbox limit on the
|
|
51
|
+
* current plan." The gateway had named the exact ceiling —
|
|
52
|
+
* `platform.sandbox.runtime_hours` — in `extensions.quotaName`, and we threw it
|
|
53
|
+
* away. The workspace had TWO sandbox quotas; the one everybody stared at
|
|
54
|
+
* (`platform.sandbox.environments`, 0 of 60 used) was fine, and the one that was
|
|
55
|
+
* actually blocking went unexamined because nothing on screen named it.
|
|
56
|
+
*
|
|
57
|
+
* A ceiling you cannot name is a ceiling you cannot raise.
|
|
58
|
+
*/
|
|
59
|
+
export interface QuotaRefusalDetail {
|
|
60
|
+
refusal: QuotaRefusal;
|
|
61
|
+
/** WHICH ceiling — e.g. `platform.sandbox.runtime_hours`. */
|
|
62
|
+
quotaName: string | null;
|
|
63
|
+
/** The refusing service's trace id, so support can find the request. */
|
|
64
|
+
traceId: string | null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Which refusal this is AND what it was about, or null when not a quota wall.
|
|
68
|
+
*
|
|
69
|
+
* ★ Deliberately falls back to {@link isQuotaExhaustedError} rather than using
|
|
70
|
+
* {@link classifyQuotaError} alone: the classifier keys on `extensions.code`,
|
|
71
|
+
* but the assistant's raw-fetch transport can surface a bare quota string with
|
|
72
|
+
* no code at all. Dropping that path here would have quietly narrowed the wall
|
|
73
|
+
* the chat area already catches.
|
|
74
|
+
*/
|
|
75
|
+
export declare function describeQuotaError(error: unknown): QuotaRefusalDetail | null;
|
|
46
76
|
export type QuotaKind = "sandbox" | "ai-credits" | "generic";
|
|
47
77
|
/**
|
|
48
78
|
* Event the assistant dispatches on a quota wall, namespaced by product.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmB7D;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;AA0C3D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAStE;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmB7D;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;AA0C3D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAStE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,CAAC;IACtB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAwBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAmB5E;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
|
|
@@ -38,8 +38,39 @@ function i(e) {
|
|
|
38
38
|
let n = e?.statusCode;
|
|
39
39
|
return typeof n == "number" && n === 429 ? "exhausted" : null;
|
|
40
40
|
}
|
|
41
|
-
function a(
|
|
41
|
+
function a(t) {
|
|
42
|
+
if (!t || typeof t != "object") return [];
|
|
43
|
+
let n = [
|
|
44
|
+
t,
|
|
45
|
+
t.result,
|
|
46
|
+
t.networkError
|
|
47
|
+
], r = [];
|
|
48
|
+
for (let t of n) {
|
|
49
|
+
if (!t || typeof t != "object") continue;
|
|
50
|
+
let n = t.extensions;
|
|
51
|
+
n && typeof n == "object" && r.push(n);
|
|
52
|
+
for (let n of e(t, "errors") ?? []) n.extensions && typeof n.extensions == "object" && r.push(n.extensions);
|
|
53
|
+
}
|
|
54
|
+
return r;
|
|
55
|
+
}
|
|
56
|
+
function o(e) {
|
|
57
|
+
let n = i(e) ?? (t(e) ? "exhausted" : null);
|
|
58
|
+
if (!n) return null;
|
|
59
|
+
let r = (t) => {
|
|
60
|
+
for (let n of a(e)) {
|
|
61
|
+
let e = n[t];
|
|
62
|
+
if (typeof e == "string" && e.length > 0) return e;
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
refusal: n,
|
|
68
|
+
quotaName: r("quotaName"),
|
|
69
|
+
traceId: r("traceId")
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function s(e) {
|
|
42
73
|
return `${e}:quota-exhausted`;
|
|
43
74
|
}
|
|
44
75
|
//#endregion
|
|
45
|
-
export { i as classifyQuotaError, t as isQuotaExhaustedError,
|
|
76
|
+
export { i as classifyQuotaError, o as describeQuotaError, t as isQuotaExhaustedError, s as quotaExhaustedEventName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAoEf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAoLvE;;;;;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,CAgtDxD,CAAC"}
|