@burdenoff/fe-libs 2026.1001.5 → 2026.1002.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.
- package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.js +79 -74
- package/dist/shared/assistant/i18nManifest.d.ts +13 -5
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +8 -7
- package/dist/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/preview/AssistantPreviewOverlay.js +4 -4
- package/dist/shared/assistant/preview/types.d.ts +13 -0
- package/dist/shared/assistant/preview/types.d.ts.map +1 -1
- package/dist/shared/assistant/preview/useAssistantPreviewBridge.d.ts +21 -1
- package/dist/shared/assistant/preview/useAssistantPreviewBridge.d.ts.map +1 -1
- package/dist/shared/assistant/preview/useAssistantPreviewBridge.js +1 -1
- package/dist/shared/assistant/preview/writeActionResults.d.ts +10 -0
- package/dist/shared/assistant/preview/writeActionResults.d.ts.map +1 -0
- package/dist/shared/assistant/preview/writeActionResults.js +26 -0
- package/dist/shared/assistant/turnOutcome.d.ts.map +1 -1
- package/dist/shared/assistant/turnOutcome.js +3 -3
- package/dist/shared/assistant/turnOutcomeCopy.d.ts +3 -3
- package/dist/shared/assistant/turnOutcomeCopy.d.ts.map +1 -1
- package/dist/shared/assistant/turnOutcomeCopy.js +3 -3
- package/dist/shared/assistant/ui/AIAssistantPanel.js +14 -14
- package/dist/shared/assistant/ui/AssistantHeader.js +4 -4
- package/dist/shared/assistant/ui/useWriteProposals.d.ts.map +1 -1
- package/dist/shared/assistant/ui/useWriteProposals.js +126 -99
- package/dist/shared-assistant.js +125 -124
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH,OAAO,KAAK,EAGV,2BAA2B,EAE3B,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,2BAA2B,CAAC;IAClD,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAYD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE,aAAa,GAClB,yBAAyB,CAwP3B"}
|
|
@@ -1,115 +1,120 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assistantLlmTerminalCodeOf as e } from "./sandboxProxyError.js";
|
|
2
|
+
import { isQuotaExhaustedError as t } from "./quota.js";
|
|
2
3
|
import "./gatewayClient.js";
|
|
3
|
-
import { checkAssistantAiCredits as
|
|
4
|
-
import { AssistantRuntimeManager as
|
|
5
|
-
import { buildProgress as
|
|
6
|
-
import { assistantUsageLedger as
|
|
4
|
+
import { checkAssistantAiCredits as n, getAssistantMessages as r, getAssistantStreamAccess as i, reportAssistantAiTokenUsage as a, sendAssistantPromptAsync as o, stopReapedAssistantSandbox as s } from "./api.js";
|
|
5
|
+
import { AssistantRuntimeManager as c } from "./runtime.js";
|
|
6
|
+
import { buildProgress as l, isReapedSandboxConnectionError as u, isRecoverable as d, mergeMessagesById as f, sanitize as p } from "./progress.js";
|
|
7
|
+
import { assistantUsageLedger as m, hasPendingUsageReports as h, reportUsageWithRetry as g, retryPendingUsageReports as _, usageSendRefusal as v } from "./usageReporting.js";
|
|
7
8
|
//#region src/shared/assistant/createSandboxAssistantTransport.ts
|
|
8
|
-
var
|
|
9
|
-
function
|
|
9
|
+
var y = 42e4, b = 400, x = 2e3, S = 5e3;
|
|
10
|
+
function C() {
|
|
10
11
|
return typeof window > "u" ? {} : {
|
|
11
12
|
currentUrl: window.location.href,
|
|
12
13
|
currentPage: window.location.pathname.split("/").filter(Boolean).slice(0, 3).join("/") || "home",
|
|
13
14
|
viewportSize: `${window.innerWidth}x${window.innerHeight}`
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
|
-
function
|
|
17
|
-
let
|
|
18
|
-
t.messageId && await
|
|
19
|
-
},
|
|
20
|
-
product:
|
|
21
|
-
mode:
|
|
22
|
-
ttlSeconds:
|
|
23
|
-
isProd:
|
|
24
|
-
getWorkspaceId:
|
|
25
|
-
getAuthContext:
|
|
26
|
-
}),
|
|
27
|
-
async function
|
|
17
|
+
function w(w, T) {
|
|
18
|
+
let E = w.mode ?? "assistant", D = w.streamBudgetMs ?? y, O = { accumulateNarration: w.accumulateNarration === !0 }, k = w.ttlSeconds ?? 3600, A = w.isProdRuntime ?? (() => !1), j = w.enableCredits ?? !1, M = m("transport", w.product), N = (e) => async (t) => {
|
|
19
|
+
t.messageId && await a(t.workspaceId, t.sessionId, t.messageId, t.model, t.tokens, e);
|
|
20
|
+
}, P = new c({
|
|
21
|
+
product: w.product,
|
|
22
|
+
mode: E,
|
|
23
|
+
ttlSeconds: k,
|
|
24
|
+
isProd: A,
|
|
25
|
+
getWorkspaceId: T.getWorkspaceId,
|
|
26
|
+
getAuthContext: T.getAuthContext
|
|
27
|
+
}), F = () => w.gatherPageContext ? { ...w.gatherPageContext() } : C();
|
|
28
|
+
async function I(t, n, a, c) {
|
|
28
29
|
try {
|
|
29
|
-
let { sandboxId:
|
|
30
|
-
|
|
31
|
-
let
|
|
32
|
-
await
|
|
33
|
-
let u = null,
|
|
30
|
+
let { sandboxId: e, sessionId: s } = await P.ensureRuntime();
|
|
31
|
+
P.startKeepWarm();
|
|
32
|
+
let c = Date.now();
|
|
33
|
+
await o(e, n, s, t.prompt, E, F(), a, t.parts?.length ? { parts: t.parts } : void 0);
|
|
34
|
+
let u = null, d = null, m = await i(e, n, s, E, a).catch(() => null);
|
|
34
35
|
if (m && typeof EventSource < "u") try {
|
|
35
|
-
|
|
36
|
+
d = new EventSource(m.url);
|
|
36
37
|
let e = () => {
|
|
37
38
|
if (u) {
|
|
38
39
|
let e = u;
|
|
39
40
|
u = null, e();
|
|
40
41
|
}
|
|
41
42
|
};
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
d.onmessage = e, d.addEventListener("message.part.updated", e), d.addEventListener("message.updated", e), d.onerror = () => {
|
|
44
|
+
d?.close(), d = null;
|
|
44
45
|
};
|
|
45
46
|
} catch {
|
|
46
|
-
|
|
47
|
+
d?.close(), d = null;
|
|
47
48
|
}
|
|
48
|
-
let
|
|
49
|
-
if (
|
|
49
|
+
let h = (e) => new Promise((n) => {
|
|
50
|
+
if (t.signal.aborted) return n();
|
|
50
51
|
let r = setTimeout(() => {
|
|
51
52
|
u = null, n();
|
|
52
|
-
},
|
|
53
|
+
}, e);
|
|
53
54
|
u = () => {
|
|
54
55
|
clearTimeout(r), n();
|
|
55
56
|
};
|
|
56
|
-
}), _ =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
let
|
|
66
|
-
|
|
57
|
+
}), _ = c + D, v = [], y = l([], c, O), C = c;
|
|
58
|
+
try {
|
|
59
|
+
for (; Date.now() < _;) {
|
|
60
|
+
if (t.signal.aborted) throw Error("Cancelled");
|
|
61
|
+
let i = await r(e, n, s, E, a, {
|
|
62
|
+
sinceMs: C,
|
|
63
|
+
surfaceTurnTerminal: !0
|
|
64
|
+
});
|
|
65
|
+
v = f(v, i);
|
|
66
|
+
for (let e of i) {
|
|
67
|
+
let t = e.info?.time?.created;
|
|
68
|
+
typeof t == "number" && t > C && (C = t);
|
|
69
|
+
}
|
|
70
|
+
if (y = l(v, c, O), t.onProgress(p(y.content)), y.done) break;
|
|
71
|
+
let o = Date.now() - c < S ? b : x;
|
|
72
|
+
await (d ? h(o) : new Promise((e) => setTimeout(e, o)));
|
|
67
73
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
await (p ? g(a) : new Promise((e) => setTimeout(e, a)));
|
|
74
|
+
} finally {
|
|
75
|
+
d?.close();
|
|
71
76
|
}
|
|
72
|
-
if (
|
|
73
|
-
let
|
|
74
|
-
if (
|
|
75
|
-
let e =
|
|
76
|
-
e?.info?.id &&
|
|
77
|
-
workspaceId:
|
|
77
|
+
if (!y.done) throw Error("The assistant timed out while responding. Please try again.");
|
|
78
|
+
let T = await r(e, n, s, E, a, { limit: 50 }).catch(() => v), k = l(f(v, T), c, O);
|
|
79
|
+
if (j) {
|
|
80
|
+
let e = T.filter((e) => e.info?.role === "assistant").sort((e, t) => (t.info?.time?.created ?? 0) - (e.info?.time?.created ?? 0))[0], t = e?.info?.tokens, r = e?.info?.providerID && e?.info?.modelID ? `${e.info.providerID}/${e.info.modelID}` : void 0;
|
|
81
|
+
e?.info?.id && t && (await g({
|
|
82
|
+
workspaceId: n,
|
|
78
83
|
sessionId: s,
|
|
79
84
|
messageId: e.info.id,
|
|
80
85
|
model: r,
|
|
81
|
-
tokens:
|
|
82
|
-
},
|
|
86
|
+
tokens: t
|
|
87
|
+
}, N(a), { ledger: M })).ok && w.onCreditsUpdated?.();
|
|
83
88
|
}
|
|
84
|
-
return { text:
|
|
85
|
-
} catch (
|
|
86
|
-
if (
|
|
87
|
-
let r =
|
|
88
|
-
if (
|
|
89
|
-
let e =
|
|
90
|
-
e && await
|
|
89
|
+
return { text: p(k.content) };
|
|
90
|
+
} catch (r) {
|
|
91
|
+
if (c === 1 && d(r)) {
|
|
92
|
+
let i = u(r), o = e(r) === "ASSISTANT_SESSION_REVOKED", c = i || o;
|
|
93
|
+
if (c) {
|
|
94
|
+
let e = P.getSandboxId();
|
|
95
|
+
e && await s(e, n, a, { ownerScoped: o }).catch(() => void 0);
|
|
91
96
|
}
|
|
92
|
-
return
|
|
97
|
+
return P.reset({ quarantineCurrentSandbox: c }), I(t, n, a, 2);
|
|
93
98
|
}
|
|
94
|
-
throw
|
|
99
|
+
throw r;
|
|
95
100
|
}
|
|
96
101
|
}
|
|
97
102
|
return {
|
|
98
|
-
sendPrompt: async (
|
|
99
|
-
let r =
|
|
103
|
+
sendPrompt: async (e) => {
|
|
104
|
+
let r = T.getWorkspaceId();
|
|
100
105
|
if (!r) throw Error("The assistant needs an active workspace. Open a workspace and try again.");
|
|
101
|
-
let i =
|
|
102
|
-
if (
|
|
103
|
-
let e = await
|
|
104
|
-
if (!e.ok) throw
|
|
106
|
+
let i = T.getAuthContext();
|
|
107
|
+
if (j && h(M, r)) {
|
|
108
|
+
let e = await _(M, r, N(i));
|
|
109
|
+
if (!e.ok) throw v(e.kind);
|
|
105
110
|
}
|
|
106
|
-
return
|
|
107
|
-
e
|
|
108
|
-
}),
|
|
111
|
+
return j && n(r, i).catch((e) => {
|
|
112
|
+
t(e) && w.onQuotaExhausted?.(e);
|
|
113
|
+
}), I(e, r, i, 1);
|
|
109
114
|
},
|
|
110
|
-
prewarm: (e) =>
|
|
111
|
-
suspend: () =>
|
|
115
|
+
prewarm: (e) => P.prewarm(e),
|
|
116
|
+
suspend: () => P.stopKeepWarm()
|
|
112
117
|
};
|
|
113
118
|
}
|
|
114
119
|
//#endregion
|
|
115
|
-
export {
|
|
120
|
+
export { w as createSandboxAssistantTransport };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AssistantModeConfig } from './conversation';
|
|
2
2
|
/**
|
|
3
|
-
* Every translation key the shared assistant can request,
|
|
4
|
-
* default (BOFF-7293).
|
|
3
|
+
* Every translation key the shared assistant can request, plus explicitly
|
|
4
|
+
* preserved seed keys, with their English default (BOFF-7293).
|
|
5
5
|
*
|
|
6
6
|
* ★★ WHY THIS EXISTS. Each product seeds the assistant's copy under its own
|
|
7
7
|
* namespace (`<product>.assistant.<key>`, see `i18n.tsx`), and the i18n seeder
|
|
@@ -430,11 +430,19 @@ export type AssistantI18nLiteralKey = keyof typeof ASSISTANT_I18N_LITERAL_COPY;
|
|
|
430
430
|
* from.
|
|
431
431
|
*/
|
|
432
432
|
export declare const ASSISTANT_I18N_COMPUTED_COPY: Readonly<Record<string, string>>;
|
|
433
|
+
/**
|
|
434
|
+
* Retired at runtime, but still seeded: omitting an existing key makes the
|
|
435
|
+
* in-place product seeder deprecate its published translations and history.
|
|
436
|
+
* Only add an entry here for a key already live in product bundles.
|
|
437
|
+
*/
|
|
438
|
+
export declare const ASSISTANT_I18N_SEED_COMPAT_COPY: Readonly<{
|
|
439
|
+
readonly "outcome.usageDailyLimitReachedNoTime": "You've reached today's AI assistant limit. Try again tomorrow.";
|
|
440
|
+
}>;
|
|
433
441
|
/**
|
|
434
442
|
* The manifest: every relative key whose English fe-libs owns, literal and
|
|
435
|
-
* computed. Mode labels are the product's — see
|
|
436
|
-
* so is any shared key a product has customised:
|
|
437
|
-
* `assistantI18nSeedCopy`.
|
|
443
|
+
* computed, plus retained seed keys. Mode labels are the product's — see
|
|
444
|
+
* `assistantModeI18nCopy` — and so is any shared key a product has customised:
|
|
445
|
+
* see `overrides` on `assistantI18nSeedCopy`.
|
|
438
446
|
*/
|
|
439
447
|
export declare const ASSISTANT_I18N_MANIFEST: Readonly<Record<string, string>>;
|
|
440
448
|
/** The part of a mode that decides its pill's key and English. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nManifest.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/i18nManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAa1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4WG,CAAC;AAE5C,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,2BAA2B,CAAC;AAW/E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCtE,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"i18nManifest.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/i18nManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAa1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4WG,CAAC;AAE5C,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,2BAA2B,CAAC;AAW/E;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgCtE,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,+BAA+B;;EAGjC,CAAC;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKjE,CAAC;AAEL,kEAAkE;AAClE,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,mBAAmB,EACnB,IAAI,GAAG,OAAO,GAAG,mBAAmB,CACrC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,uBAAuB,EAAE,GACxC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9C,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiCzB"}
|
|
@@ -330,19 +330,20 @@ var p = {
|
|
|
330
330
|
...m(Object.values(d)),
|
|
331
331
|
...m(Object.values(f)),
|
|
332
332
|
...Object.fromEntries(l.map((e) => [e.labelKey, e.labelFallback]))
|
|
333
|
-
}), g = Object.freeze({
|
|
333
|
+
}), g = Object.freeze({ "outcome.usageDailyLimitReachedNoTime": "You've reached today's AI assistant limit. Try again tomorrow." }), _ = Object.freeze({
|
|
334
334
|
...p,
|
|
335
|
-
...h
|
|
335
|
+
...h,
|
|
336
|
+
...g
|
|
336
337
|
});
|
|
337
|
-
function
|
|
338
|
+
function v(e) {
|
|
338
339
|
let r = e.map((e) => e.id).filter((e) => !n(e));
|
|
339
340
|
if (r.length > 0) throw Error(`assistantModeI18nCopy: malformed mode id ${r.map((e) => JSON.stringify(e)).join(", ")}. Declare product modes with declareAssistantMode().`);
|
|
340
341
|
return Object.fromEntries(e.map((e) => [`mode.${e.id}`, e.label || t(e)]));
|
|
341
342
|
}
|
|
342
|
-
function
|
|
343
|
+
function y(t) {
|
|
343
344
|
let n = {
|
|
344
|
-
...
|
|
345
|
-
...
|
|
345
|
+
..._,
|
|
346
|
+
...v(t.modes)
|
|
346
347
|
}, r = Object.entries(t.overrides ?? {}), i = r.filter(([e]) => !Object.hasOwn(n, e)).map(([e]) => e);
|
|
347
348
|
if (i.length > 0) throw Error(`assistantI18nSeedCopy: no shared assistant key ${i.join(", ")} to override. Check the spelling, or that the key is a mode this product offers; a key fe-libs no longer requests belongs with the product's own keys.`);
|
|
348
349
|
let a = r.filter(([, e]) => e.trim() === "").map(([e]) => e);
|
|
@@ -354,4 +355,4 @@ function v(t) {
|
|
|
354
355
|
return Object.fromEntries(Object.entries(o).map(([n, r]) => [e(t.namespace, n), r]));
|
|
355
356
|
}
|
|
356
357
|
//#endregion
|
|
357
|
-
export { h as ASSISTANT_I18N_COMPUTED_COPY, p as ASSISTANT_I18N_LITERAL_COPY,
|
|
358
|
+
export { h as ASSISTANT_I18N_COMPUTED_COPY, p as ASSISTANT_I18N_LITERAL_COPY, _ as ASSISTANT_I18N_MANIFEST, g as ASSISTANT_I18N_SEED_COMPAT_COPY, y as assistantI18nSeedCopy, v as assistantModeI18nCopy };
|
|
@@ -118,6 +118,7 @@ export * from './ui/composer/AssistantAttachmentChips';
|
|
|
118
118
|
export * from './ui/composer/AssistantConnectSourceItem';
|
|
119
119
|
export * from './ui/composer/connectSource';
|
|
120
120
|
export * from './preview/types';
|
|
121
|
+
export * from './preview/writeActionResults';
|
|
121
122
|
export * from './preview/context';
|
|
122
123
|
export * from './preview/previewTransitions';
|
|
123
124
|
export * from './preview/surfaceState';
|
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
import { useAssistantTr as e } from "../i18n.js";
|
|
2
2
|
import { useAssistantStore as t } from "../store.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useAssistantPreview as n } from "./context.js";
|
|
4
|
+
import { hasAssistantPreviewSurface as r } from "./types.js";
|
|
5
5
|
import { useOverlayFocus as i } from "../ui/useOverlayFocus.js";
|
|
6
6
|
import { Component as a } from "react";
|
|
7
7
|
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
@@ -27,11 +27,11 @@ var l = class extends a {
|
|
|
27
27
|
return this.state.failed ? this.props.fallback : this.props.children;
|
|
28
28
|
}
|
|
29
29
|
}, u = ({ controller: e }) => /* @__PURE__ */ s(o, { children: e.render() }), d = ({ onClose: a }) => {
|
|
30
|
-
let o =
|
|
30
|
+
let o = n(), d = e(), f = t((e) => {
|
|
31
31
|
let t = e.activeConversationId, n = t ? e.processingByConversationId[t]?.messageId : null;
|
|
32
32
|
return !t || !n ? "idle" : `${t}:${n}#${e.conversations.find((e) => e.id === t)?.updatedAt ?? ""}`;
|
|
33
33
|
}), p = i("assistant-toggle-preview");
|
|
34
|
-
return
|
|
34
|
+
return r(o) ? /* @__PURE__ */ c("div", {
|
|
35
35
|
ref: p,
|
|
36
36
|
tabIndex: -1,
|
|
37
37
|
className: "absolute inset-0 z-10 flex flex-col bg-bg-surface outline-none animate-in slide-in-from-right-2 fade-in duration-200",
|
|
@@ -62,6 +62,19 @@ export interface AssistantPreviewRun {
|
|
|
62
62
|
export type AssistantPreviewEvent = {
|
|
63
63
|
kind: "start";
|
|
64
64
|
run: AssistantPreviewRun;
|
|
65
|
+
} | {
|
|
66
|
+
/** An approved write finished, independently of the model's turn. */
|
|
67
|
+
kind: "action-result";
|
|
68
|
+
run: AssistantPreviewRun;
|
|
69
|
+
action: {
|
|
70
|
+
id: string;
|
|
71
|
+
operation: string;
|
|
72
|
+
responseKey: string;
|
|
73
|
+
/** Approved inputs, with sensitive arguments omitted. */
|
|
74
|
+
arguments: Readonly<Record<string, unknown>>;
|
|
75
|
+
/** The sandbox's redacted GraphQL response, never model narration. */
|
|
76
|
+
result: unknown;
|
|
77
|
+
};
|
|
65
78
|
} | {
|
|
66
79
|
kind: "snapshot";
|
|
67
80
|
run: AssistantPreviewRun;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,mBAAmB,CAAA;CAAE,GAC3C;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,mBAAmB,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrC,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,mBAAmB,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,MAAM,SAAS,CAAC;IAEzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,MAAM,iCAAiC,GAAG,0BAA0B,GAAG;IAC3E,MAAM,EAAE,MAAM,SAAS,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,GACxD,UAAU,IAAI,iCAAiC,CAEjD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,mBAAmB,CAAA;CAAE,GAC3C;IACE,qEAAqE;IACrE,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;IACzB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,yDAAyD;QACzD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,sEAAsE;QACtE,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,mBAAmB,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACrC,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,mBAAmB,CAAC;IACzB;;;;;;;;OAQG;IACH,OAAO,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC5C;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAE,MAAM,SAAS,CAAC;IAEzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,MAAM,iCAAiC,GAAG,0BAA0B,GAAG;IAC3E,MAAM,EAAE,MAAM,SAAS,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,GACxD,UAAU,IAAI,iCAAiC,CAEjD"}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
import { AssistantPreviewController } from './types';
|
|
1
|
+
import { AssistantPreviewController, AssistantPreviewEvent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Shared delivery for turn events and approved action results. The main effect
|
|
4
|
+
* and the unmount cleanup had already drifted: the
|
|
5
|
+
* receiver fix and the async-rejection guard were applied to one and not the
|
|
6
|
+
* other, so closing the assistant mid-run delivered the run's only terminal
|
|
7
|
+
* event through the broken path. One function is the fix for the class of bug,
|
|
8
|
+
* not just for the instance.
|
|
9
|
+
*
|
|
10
|
+
* ★ Called ON the controller, not as a detached function: a product may supply
|
|
11
|
+
* a class instance or an object method whose `onEvent` uses `this`, and a bare
|
|
12
|
+
* call loses the receiver — the resulting throw is caught here, so the product
|
|
13
|
+
* would silently receive nothing at all.
|
|
14
|
+
*
|
|
15
|
+
* ★ A promise-like return has its rejection handled without awaiting. `onEvent`
|
|
16
|
+
* is typed as returning void, which TypeScript lets an `async` function
|
|
17
|
+
* satisfy, so a throw after an `await` escapes the `try` entirely and surfaces
|
|
18
|
+
* as an unhandled rejection in the HOST app — breaking the containment this
|
|
19
|
+
* wrapper exists to provide.
|
|
20
|
+
*/
|
|
21
|
+
export declare function deliverPreviewEvent(controller: AssistantPreviewController | null | undefined, event: AssistantPreviewEvent): void;
|
|
2
22
|
export declare function useAssistantPreviewBridge(controller: AssistantPreviewController | null): void;
|
|
3
23
|
//# sourceMappingURL=useAssistantPreviewBridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssistantPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/useAssistantPreviewBridge.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,0BAA0B,
|
|
1
|
+
{"version":3,"file":"useAssistantPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/useAssistantPreviewBridge.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,EACzD,KAAK,EAAE,qBAAqB,GAC3B,IAAI,CAeN;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAC5C,IAAI,CA+MN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { WriteProposalView } from '../writeProposals';
|
|
2
|
+
import { PreviewOwner } from './surfaceState';
|
|
3
|
+
import { AssistantPreviewEvent } from './types';
|
|
4
|
+
/** Only a recorded successful execution supplies data to a live preview. */
|
|
5
|
+
export declare function writeActionResultEvents(view: Pick<WriteProposalView, 'proposalId' | 'status' | 'result'> & {
|
|
6
|
+
description: Pick<WriteProposalView['description'], 'rootFields'>;
|
|
7
|
+
}, conversationId: string, messageId: string, owner: PreviewOwner): Extract<AssistantPreviewEvent, {
|
|
8
|
+
kind: "action-result";
|
|
9
|
+
}>[];
|
|
10
|
+
//# sourceMappingURL=writeActionResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeActionResults.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/writeActionResults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,SAAS,CAAC;AAE1E,4EAA4E;AAC5E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,GAAG;IAClE,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;CACnE,EACD,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,EAAE,CA+B7D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/shared/assistant/preview/writeActionResults.ts
|
|
2
|
+
function e(e, t, n, r) {
|
|
3
|
+
if (e.status !== "succeeded" || !e.result || e.result.errors?.length || e.result.dataPreview === void 0) return [];
|
|
4
|
+
let i = {
|
|
5
|
+
runId: `${t}:${n}`,
|
|
6
|
+
conversationId: t,
|
|
7
|
+
messageId: n,
|
|
8
|
+
...r
|
|
9
|
+
};
|
|
10
|
+
return e.description.rootFields.map((t) => {
|
|
11
|
+
let n = t.alias ?? t.field;
|
|
12
|
+
return {
|
|
13
|
+
kind: "action-result",
|
|
14
|
+
run: i,
|
|
15
|
+
action: {
|
|
16
|
+
id: `${e.proposalId}:${n}`,
|
|
17
|
+
operation: t.field,
|
|
18
|
+
responseKey: n,
|
|
19
|
+
arguments: Object.fromEntries(t.args.filter((e) => !e.sensitive).map((e) => [e.name, e.value])),
|
|
20
|
+
result: e.result?.dataPreview
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { e as writeActionResultEvents };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAO1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GAErB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,qCAAqC;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,sEAAsE;IACtE,YAAY,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3D,GAAG,OAAO,CAMV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO;AACd;;;;GAIG;AACH,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,WAAW,
|
|
1
|
+
{"version":3,"file":"turnOutcome.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAO1C,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GAErB,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKvD;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,CAAC;AAEhB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,iBAAiB,CAAC;IACxB,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,GACb,EAAE;IACD,qCAAqC;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,sEAAsE;IACtE,YAAY,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3D,GAAG,OAAO,CAMV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO;AACd;;;;GAIG;AACH,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3C,WAAW,CAqEb;AAQD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,IAAI,CAQf;AAmBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,WAAW;AACf;;;;GAIG;AACH,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CA4CzD"}
|
|
@@ -42,7 +42,7 @@ function c(e) {
|
|
|
42
42
|
return e === null ? null : Number.isFinite(Date.parse(e)) ? e : null;
|
|
43
43
|
}
|
|
44
44
|
function l(e, t) {
|
|
45
|
-
if (!t) return "
|
|
45
|
+
if (!t) return "usageDailyLimitReachedUnknownTime";
|
|
46
46
|
switch (e) {
|
|
47
47
|
case "assistant.llm.actor_daily": return "usageDailyLimitReached";
|
|
48
48
|
case "assistant.llm.workspace_daily": return "usageDailyLimitReachedWorkspace";
|
|
@@ -130,9 +130,9 @@ function g(e, t) {
|
|
|
130
130
|
return t ? e.replace(/\{\{(\w+)\}\}/g, (e, n) => t[n] ?? e) : e;
|
|
131
131
|
}
|
|
132
132
|
function _(e, t, n = {}) {
|
|
133
|
-
let i = e.resetsAt ? m(e.resetsAt, n.locale) : null, a = e.resetsAt ? m(e.resetsAt, h(n.locale)) : null, o = r[i === null && r[e.copy].fallback.includes("{{time}}") ? "
|
|
133
|
+
let i = e.resetsAt ? m(e.resetsAt, n.locale) : null, a = e.resetsAt ? m(e.resetsAt, h(n.locale)) : null, o = r[i === null && r[e.copy].fallback.includes("{{time}}") ? "usageDailyLimitReachedUnknownTime" : e.copy], s = i === null ? void 0 : { time: i }, c = t(o.key, o.fallback, s), l = g(o.fallback, a === null ? void 0 : { time: a }), u = r.reference, d = e.traceId ? u.fallback.replace("{{id}}", e.traceId) : null, f = e.traceId ? t(u.key, u.fallback, { id: e.traceId }) : null, p = c !== g(o.fallback, s) && (f === null || f !== d), _ = p ? c : l, v = p ? f : d;
|
|
134
134
|
return {
|
|
135
|
-
text:
|
|
135
|
+
text: v ? `${_}\n\n${v}` : _,
|
|
136
136
|
headline: _,
|
|
137
137
|
translated: p
|
|
138
138
|
};
|
|
@@ -51,9 +51,9 @@ export declare const TURN_OUTCOME_COPY: {
|
|
|
51
51
|
readonly key: "outcome.usageDailyLimitReachedPlatform";
|
|
52
52
|
readonly fallback: "The AI assistant has reached today's usage limit. It resets at {{time}}.";
|
|
53
53
|
};
|
|
54
|
-
readonly
|
|
55
|
-
readonly key: "outcome.
|
|
56
|
-
readonly fallback: "
|
|
54
|
+
readonly usageDailyLimitReachedUnknownTime: {
|
|
55
|
+
readonly key: "outcome.usageDailyLimitReachedUnknownTime";
|
|
56
|
+
readonly fallback: "The AI assistant has reached a daily usage limit. Try again later.";
|
|
57
57
|
};
|
|
58
58
|
readonly permissionDenied: {
|
|
59
59
|
readonly key: "outcome.permissionDenied";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnOutcomeCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcomeCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"turnOutcomeCopy.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/turnOutcomeCopy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIwC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,iBAAiB,CAAC"}
|
|
@@ -28,9 +28,9 @@ var e = {
|
|
|
28
28
|
key: "outcome.usageDailyLimitReachedPlatform",
|
|
29
29
|
fallback: "The AI assistant has reached today's usage limit. It resets at {{time}}."
|
|
30
30
|
},
|
|
31
|
-
|
|
32
|
-
key: "outcome.
|
|
33
|
-
fallback: "
|
|
31
|
+
usageDailyLimitReachedUnknownTime: {
|
|
32
|
+
key: "outcome.usageDailyLimitReachedUnknownTime",
|
|
33
|
+
fallback: "The AI assistant has reached a daily usage limit. Try again later."
|
|
34
34
|
},
|
|
35
35
|
permissionDenied: {
|
|
36
36
|
key: "outcome.permissionDenied",
|
|
@@ -4,11 +4,11 @@ import { useAssistantTr as n } from "../i18n.js";
|
|
|
4
4
|
import { AssistantNavigateProvider as r } from "./AssistantMarkdownRenderer.js";
|
|
5
5
|
import { useAssistantStore as i } from "../store.js";
|
|
6
6
|
import { AssistantSpeechProvider as a } from "./AssistantSpeechProvider.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
7
|
+
import { AssistantPreviewProvider as o } from "../preview/context.js";
|
|
8
|
+
import { useAssistantPreviewBridge as s } from "../preview/useAssistantPreviewBridge.js";
|
|
9
|
+
import { AssistantConnectSourceProvider as c } from "./composer/connectSource.js";
|
|
10
|
+
import { ASSISTANT_OVERLAY_ATTR as l, ASSISTANT_PANEL_ATTR as u, activePanelOverlay as d, escapeDismisses as f, nextPanelOverlays as p } from "./panelOverlays.js";
|
|
11
|
+
import { hasAssistantPreviewSurface as m } from "../preview/types.js";
|
|
12
12
|
import { panelOwnedPreviewBridge as h, useHostedAssistantPreviewBridge as g } from "../preview/bridgeHostContext.js";
|
|
13
13
|
import { AssistantPreviewOverlay as _ } from "../preview/AssistantPreviewOverlay.js";
|
|
14
14
|
import { AssistantHeader as v } from "./AssistantHeader.js";
|
|
@@ -25,17 +25,17 @@ import { jsx as O, jsxs as k } from "react/jsx-runtime";
|
|
|
25
25
|
var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee, onNavigate: P, connectSourceHref: F, onConnectSource: I, preview: L, serverHistory: R = !1 }) => {
|
|
26
26
|
let z = n();
|
|
27
27
|
x(R);
|
|
28
|
-
let [B, V] = D(!1), H =
|
|
28
|
+
let [B, V] = D(!1), H = m(L);
|
|
29
29
|
B && !H && V(!1);
|
|
30
30
|
let U = B && H;
|
|
31
|
-
|
|
31
|
+
s(h(L, g()));
|
|
32
32
|
let W = E(null);
|
|
33
33
|
e(W);
|
|
34
|
-
let { conversations: G, activeConversationId: K, conversationListOpen: q, setConversationListOpen: J, createConversation: Y } = i(), X = q || U, Z =
|
|
34
|
+
let { conversations: G, activeConversationId: K, conversationListOpen: q, setConversationListOpen: J, createConversation: Y } = i(), X = q || U, Z = d({
|
|
35
35
|
historyOpen: q,
|
|
36
36
|
previewOpen: U
|
|
37
37
|
}), Q = (e) => {
|
|
38
|
-
let t =
|
|
38
|
+
let t = p({
|
|
39
39
|
historyOpen: q,
|
|
40
40
|
previewOpen: U
|
|
41
41
|
}, e);
|
|
@@ -46,7 +46,7 @@ var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee,
|
|
|
46
46
|
return w({
|
|
47
47
|
panelRef: W,
|
|
48
48
|
onClose: () => {
|
|
49
|
-
if (
|
|
49
|
+
if (f({
|
|
50
50
|
historyOpen: q,
|
|
51
51
|
previewOpen: U
|
|
52
52
|
}) === "overlay") {
|
|
@@ -57,11 +57,11 @@ var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee,
|
|
|
57
57
|
}
|
|
58
58
|
}), /* @__PURE__ */ O(a, {
|
|
59
59
|
visible: j ?? !0,
|
|
60
|
-
children: /* @__PURE__ */ O(
|
|
60
|
+
children: /* @__PURE__ */ O(o, {
|
|
61
61
|
value: L,
|
|
62
62
|
children: /* @__PURE__ */ O(r, {
|
|
63
63
|
value: P,
|
|
64
|
-
children: /* @__PURE__ */ O(
|
|
64
|
+
children: /* @__PURE__ */ O(c, {
|
|
65
65
|
value: F,
|
|
66
66
|
onOpen: I,
|
|
67
67
|
children: /* @__PURE__ */ O(b, { children: /* @__PURE__ */ k("div", {
|
|
@@ -70,8 +70,8 @@ var A = ({ onClose: A, visible: j, docked: M, onToggleDock: N, writeAccess: ee,
|
|
|
70
70
|
role: "complementary",
|
|
71
71
|
"aria-label": z("panel.ariaLabel", "AI Assistant"),
|
|
72
72
|
"data-testid": "ai-assistant-panel",
|
|
73
|
-
[
|
|
74
|
-
...Z ? { [
|
|
73
|
+
[u]: "",
|
|
74
|
+
...Z ? { [l]: Z } : {},
|
|
75
75
|
tabIndex: -1,
|
|
76
76
|
children: [
|
|
77
77
|
/* @__PURE__ */ O("div", {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useAssistantTr as e } from "../i18n.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useAssistantPreview as t } from "../preview/context.js";
|
|
3
|
+
import { hasAssistantPreviewSurface as n } from "../preview/types.js";
|
|
4
4
|
import { AssistantMoreMenu as r } from "./AssistantMoreMenu.js";
|
|
5
5
|
import { Eye as i, History as a, PanelBottom as o, PanelRight as s, Plus as c, Sparkles as l, X as u } from "lucide-react";
|
|
6
6
|
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
//#region src/shared/assistant/ui/AssistantHeader.tsx
|
|
8
8
|
var m = ({ contextLabel: m, onNewConversation: h, onOpenHistory: g, historyOpen: _, onTogglePreview: v, previewOpen: y, onClose: b, docked: x, onToggleDock: S }) => {
|
|
9
|
-
let C = e(), w =
|
|
9
|
+
let C = e(), w = t();
|
|
10
10
|
return /* @__PURE__ */ p("div", {
|
|
11
11
|
className: "flex items-center gap-2 border-b border-border-default bg-bg-elevated px-3 py-2.5",
|
|
12
12
|
children: [/* @__PURE__ */ p("div", {
|
|
@@ -47,7 +47,7 @@ var m = ({ contextLabel: m, onNewConversation: h, onOpenHistory: g, historyOpen:
|
|
|
47
47
|
"data-testid": "assistant-open-history",
|
|
48
48
|
children: /* @__PURE__ */ f(a, { className: "size-4" })
|
|
49
49
|
}),
|
|
50
|
-
|
|
50
|
+
n(w) && v && /* @__PURE__ */ f("button", {
|
|
51
51
|
type: "button",
|
|
52
52
|
onClick: v,
|
|
53
53
|
className: `rounded-lg p-1.5 transition-colors ${y ? "bg-action-primary-bg/15 text-action-primary-bg" : "text-text-secondary hover:bg-bg-sunken hover:text-text-primary"}`,
|