@burdenoff/fe-libs 2026.915.4 → 2026.917.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/adminModeSendGate.d.ts +81 -0
- package/dist/shared/assistant/adminModeSendGate.d.ts.map +1 -0
- package/dist/shared/assistant/adminModeSendGate.js +37 -0
- package/dist/shared/assistant/api.d.ts +8 -6
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +2 -2
- package/dist/shared/assistant/conversation.d.ts +44 -0
- package/dist/shared/assistant/conversation.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.js +27 -27
- package/dist/shared/assistant/i18nManifest.d.ts +9 -3
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +13 -10
- package/dist/shared/assistant/images.d.ts +37 -2
- package/dist/shared/assistant/images.d.ts.map +1 -1
- package/dist/shared/assistant/images.js +24 -16
- package/dist/shared/assistant/index.d.ts +3 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/legacyFiller.d.ts.map +1 -1
- package/dist/shared/assistant/legacyFiller.js +2 -2
- package/dist/shared/assistant/modeCapabilities.d.ts +126 -0
- package/dist/shared/assistant/modeCapabilities.d.ts.map +1 -0
- package/dist/shared/assistant/modeCapabilities.js +50 -0
- package/dist/shared/assistant/modeCopy.d.ts +27 -7
- package/dist/shared/assistant/modeCopy.d.ts.map +1 -1
- package/dist/shared/assistant/modeCopy.js +7 -1
- package/dist/shared/assistant/modeIds.d.ts +67 -0
- package/dist/shared/assistant/modeIds.d.ts.map +1 -0
- package/dist/shared/assistant/modeIds.js +21 -0
- package/dist/shared/assistant/preview/AssistantPreviewOverlay.d.ts.map +1 -1
- package/dist/shared/assistant/progress.d.ts +38 -1
- package/dist/shared/assistant/progress.d.ts.map +1 -1
- package/dist/shared/assistant/progress.js +31 -17
- package/dist/shared/assistant/streamBudget.d.ts +18 -18
- package/dist/shared/assistant/streamBudget.d.ts.map +1 -1
- package/dist/shared/assistant/streamBudget.js +21 -19
- package/dist/shared/assistant/turnProgress.d.ts +2 -1
- package/dist/shared/assistant/turnProgress.d.ts.map +1 -1
- package/dist/shared/assistant/turnProgress.js +15 -15
- package/dist/shared/assistant/types.d.ts +43 -1
- package/dist/shared/assistant/types.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +340 -317
- package/dist/shared/assistant/ui/AssistantToolActivity.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantToolActivity.js +3 -3
- package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts +18 -2
- package/dist/shared/assistant/ui/composer/AssistantModeSelector.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantModeSelector.js +38 -32
- package/dist/shared-assistant.js +118 -115
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** The role check's latest answer: is it still running, and did it say yes? */
|
|
2
|
+
export interface AdminModeAccess {
|
|
3
|
+
readonly loading: boolean;
|
|
4
|
+
readonly canUseAdminModes: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* How long a send waits for the role check before giving up on it.
|
|
8
|
+
*
|
|
9
|
+
* Long enough that an ordinary round trip always wins the race, short enough
|
|
10
|
+
* that a check which never answers (an offline tab, a gateway black hole) ends
|
|
11
|
+
* as a message the person can act on instead of a spinner with no end. Reaching
|
|
12
|
+
* it is the ONLY way `adminOnlyModeSendRefusal` still sees `loading: true`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ADMIN_MODE_ACCESS_WAIT_MS = 10000;
|
|
15
|
+
/**
|
|
16
|
+
* The role check's answer, as something an already-running send can await.
|
|
17
|
+
*
|
|
18
|
+
* ★★ Why this exists at all. The mode list hides an admin-only mode from a
|
|
19
|
+
* non-admin, and an effect resets a persisted one back to Ask — both only AFTER
|
|
20
|
+
* the check resolves, so an admin's own persisted choice survives the window.
|
|
21
|
+
* The send had no way to do the same: a `useCallback` closes over one render's
|
|
22
|
+
* `loading`, so it could either dispatch while the answer was unknown, or refuse.
|
|
23
|
+
*
|
|
24
|
+
* Refusing is what shipped first, and it broke every product whose help button
|
|
25
|
+
* opens the panel and sends on the next tick: an admin whose persisted mode is
|
|
26
|
+
* an admin-only one got an error turn on every such send, because the check was
|
|
27
|
+
* still in flight at that instant. Holding is the honest behaviour — the person
|
|
28
|
+
* asked a question that they are, in fact, allowed to ask.
|
|
29
|
+
*
|
|
30
|
+
* A gate is read LIVE through a ref, so it does not keep a "yes" that a later
|
|
31
|
+
* render has already replaced, the way a value captured by `useCallback` would.
|
|
32
|
+
*
|
|
33
|
+
* ★ It is NOT a guarantee about org switches. The gate only ever knows what the
|
|
34
|
+
* check last told it, and the check learns of a new org one render late — so
|
|
35
|
+
* for that one commit the gate still holds the previous org's answer. Narrowing
|
|
36
|
+
* that belongs in the hook (reporting `loading` while the resolved scope is
|
|
37
|
+
* behind the requested one), not here; the mode list has the same window today.
|
|
38
|
+
*/
|
|
39
|
+
export interface AdminModeAccessGate {
|
|
40
|
+
/** Record the check's current state, releasing every held send once it lands. */
|
|
41
|
+
update(access: AdminModeAccess): void;
|
|
42
|
+
/**
|
|
43
|
+
* The state to decide on: now if the check has answered, otherwise once it
|
|
44
|
+
* does — or, at `timeoutMs`, whatever it still says (i.e. still loading).
|
|
45
|
+
*/
|
|
46
|
+
wait(timeoutMs?: number): Promise<AdminModeAccess>;
|
|
47
|
+
/**
|
|
48
|
+
* Settle every held send with what is known right now, and stop the clock.
|
|
49
|
+
*
|
|
50
|
+
* ★★ For unmount. Both host apps mount the panel conditionally, so closing it
|
|
51
|
+
* mid-check destroys the component while a send is still held. Without this
|
|
52
|
+
* the only thing left to settle that send is its own timeout, which fires up
|
|
53
|
+
* to `ADMIN_MODE_ACCESS_WAIT_MS` later and writes a refusal into the PERSISTED
|
|
54
|
+
* conversation — the user reopens the panel and finds a failed turn that was
|
|
55
|
+
* never actually refused, seconds after they closed it.
|
|
56
|
+
*
|
|
57
|
+
* It settles rather than dropping: an unsettled send never runs `handleSend`'s
|
|
58
|
+
* `finally`, which would leave the conversation marked in-flight for good and
|
|
59
|
+
* the re-entry guard would then refuse every later send in it.
|
|
60
|
+
*/
|
|
61
|
+
abandon(): void;
|
|
62
|
+
/** Sends currently held. Exposed so a test can prove holding really happens. */
|
|
63
|
+
readonly pendingCount: number;
|
|
64
|
+
}
|
|
65
|
+
export declare function createAdminModeAccessGate(initial: AdminModeAccess): AdminModeAccessGate;
|
|
66
|
+
/**
|
|
67
|
+
* Why this send must not go out, or null when it may — waiting for the role
|
|
68
|
+
* check first if the mode needs one.
|
|
69
|
+
*
|
|
70
|
+
* ★★ A mode with no `requiresAdmin` is never held and never awaits the gate.
|
|
71
|
+
* That matters for more than tidiness: the default read-only mode is what the
|
|
72
|
+
* overwhelming majority of sends use, and making those wait on an unrelated
|
|
73
|
+
* check would add the check's whole latency to the common path.
|
|
74
|
+
*
|
|
75
|
+
* The decision itself stays in `adminOnlyModeSendRefusal`, so the send, the mode
|
|
76
|
+
* list and the reset effect cannot drift apart about which modes are gated.
|
|
77
|
+
*/
|
|
78
|
+
export declare function adminOnlyModeSendRefusalAfterAccess(config: {
|
|
79
|
+
readonly requiresAdmin?: boolean;
|
|
80
|
+
} | null | undefined, gate: AdminModeAccessGate, timeoutMs?: number): Promise<string | null>;
|
|
81
|
+
//# sourceMappingURL=adminModeSendGate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminModeSendGate.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/adminModeSendGate.ts"],"names":[],"mappings":"AAEA,+EAA+E;AAC/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC;;;OAGG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD;;;;;;;;;;;;;OAaG;IACH,OAAO,IAAI,IAAI,CAAC;IAChB,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAOD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,mBAAmB,CAsDrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC/D,IAAI,EAAE,mBAAmB,EACzB,SAAS,GAAE,MAAkC,GAC5C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { adminOnlyModeSendRefusal as e } from "./modeCapabilities.js";
|
|
2
|
+
//#region src/shared/assistant/adminModeSendGate.ts
|
|
3
|
+
var t = 1e4;
|
|
4
|
+
function n(e) {
|
|
5
|
+
let n = e, r = [], i = (e) => {
|
|
6
|
+
let t = r;
|
|
7
|
+
r = [];
|
|
8
|
+
for (let n of t) n.timer !== null && clearTimeout(n.timer), n.settle(e);
|
|
9
|
+
};
|
|
10
|
+
return {
|
|
11
|
+
update(e) {
|
|
12
|
+
n = e, e.loading || i(e);
|
|
13
|
+
},
|
|
14
|
+
wait(e = t) {
|
|
15
|
+
return n.loading ? new Promise((t) => {
|
|
16
|
+
let i = {
|
|
17
|
+
settle: t,
|
|
18
|
+
timer: null
|
|
19
|
+
};
|
|
20
|
+
i.timer = setTimeout(() => {
|
|
21
|
+
r = r.filter((e) => e !== i), t(n);
|
|
22
|
+
}, e), r.push(i);
|
|
23
|
+
}) : Promise.resolve(n);
|
|
24
|
+
},
|
|
25
|
+
abandon() {
|
|
26
|
+
i(n);
|
|
27
|
+
},
|
|
28
|
+
get pendingCount() {
|
|
29
|
+
return r.length;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async function r(n, r, i = t) {
|
|
34
|
+
return n?.requiresAdmin ? e(n, await r.wait(i)) : null;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { t as ADMIN_MODE_ACCESS_WAIT_MS, r as adminOnlyModeSendRefusalAfterAccess, n as createAdminModeAccessGate };
|
|
@@ -10,10 +10,11 @@ import { AssistantMode, AssistantPromptPart, AssistantRawMessage, AssistantSandb
|
|
|
10
10
|
* - `api-calls` (Take action) acts through a delegated per-workspace app; the
|
|
11
11
|
* sandbox service mints and sends those credentials itself and never reads the
|
|
12
12
|
* forwarded tokens.
|
|
13
|
-
* - `vibe-plugins`, `general`
|
|
14
|
-
* no platform GraphQL calls at all. Their agent
|
|
15
|
-
* handed to one is a token a prompt injection can
|
|
16
|
-
* (BOFF-7304).
|
|
13
|
+
* - `vibe-plugins`, `general` and every PRODUCT-declared mode (see
|
|
14
|
+
* `declareAssistantMode`) make no platform GraphQL calls at all. Their agent
|
|
15
|
+
* has bash, so a user token handed to one is a token a prompt injection can
|
|
16
|
+
* read and replay as the user (BOFF-7304). A product cannot opt a mode into
|
|
17
|
+
* tokens: the test below is equality with the built-in id, not a capability.
|
|
17
18
|
*
|
|
18
19
|
* ★ Fails closed: an unknown, empty or absent mode forwards nothing. The sandbox
|
|
19
20
|
* service applies the same rule server-side from the sandbox's recorded mode
|
|
@@ -184,8 +185,9 @@ export declare function downloadAssistantArtifact(sandboxId: string, workspaceId
|
|
|
184
185
|
/**
|
|
185
186
|
* ★ `undefined` is accepted, and forwards no user tokens. A message persisted
|
|
186
187
|
* before its metadata carried `mode` cannot say which sandbox made it.
|
|
187
|
-
* Artifacts are only ever collected for
|
|
188
|
-
*
|
|
188
|
+
* Artifacts are only ever collected for a mode that `producesArtifacts` —
|
|
189
|
+
* `vibe-plugins` or a product-declared mode — and none of those needs a user
|
|
190
|
+
* token; the download is authorised by the sandbox's proxy token.
|
|
189
191
|
*/
|
|
190
192
|
mode: AssistantMode | undefined, authContext: AssistantSandboxAuthContext): Promise<DownloadedAssistantArtifact>;
|
|
191
193
|
export declare function checkAssistantAiCredits(workspaceId: string, authContext: AssistantSandboxAuthContext): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ async function S(n, r, i, o, s, c = /* @__PURE__ */ new Set()) {
|
|
|
40
40
|
})).getActiveSandboxes ?? [], r, i, o, s, c);
|
|
41
41
|
}
|
|
42
42
|
function C(e, t, n, r, i, a = /* @__PURE__ */ new Set()) {
|
|
43
|
-
return e.find((e) => !a.has(e.id) && (e.status === "RUNNING" || e.status === "PROVISIONING" || e.status === "PENDING") && e.template === "AI_BUILDER" && h(e) === n && (!i.userId || e.createdBy === i.userId) && e.metadata?.authStrategy === "sandbox-app-client-headers-v1" && e.metadata?.assistantProduct === t && e.metadata?.imageTag === p(n, r) && (!w(n) || e.metadata?.confirmWrites === !0))?.id ?? null;
|
|
43
|
+
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 && e.metadata?.imageTag === p(n, r) && (!w(n) || e.metadata?.confirmWrites === !0))?.id ?? null;
|
|
44
44
|
}
|
|
45
45
|
function w(e) {
|
|
46
46
|
return e === "api-calls";
|
|
@@ -192,7 +192,7 @@ async function M(e, t, n, r, i) {
|
|
|
192
192
|
}
|
|
193
193
|
function N(e, t, n, r, i) {
|
|
194
194
|
let a = p(n, r);
|
|
195
|
-
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);
|
|
195
|
+
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]) === n && e.metadata?.imageTag === a)).map((e) => e.id);
|
|
196
196
|
}
|
|
197
197
|
async function P(n, r, i, o, s) {
|
|
198
198
|
let c;
|
|
@@ -190,5 +190,49 @@ export interface AssistantModeConfig {
|
|
|
190
190
|
requiresAdmin?: boolean;
|
|
191
191
|
/** Executes mutations on live data → triggers the confirm-before-mutate guard. */
|
|
192
192
|
writeCapable?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* The mode's turns produce downloadable files: after each turn the panel lists
|
|
195
|
+
* the session's artifacts and renders them as tiles.
|
|
196
|
+
*
|
|
197
|
+
* Default: `true` for the built-in `vibe-plugins`, `false` for every other
|
|
198
|
+
* mode. Resolved by `resolveAssistantModeCapabilities`.
|
|
199
|
+
*/
|
|
200
|
+
producesArtifacts?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* How long (ms) the panel polls one turn before closing it with the
|
|
203
|
+
* incomplete-turn note. Must be finite, positive and at most
|
|
204
|
+
* `MAX_ASSISTANT_STREAM_BUDGET_MS`; anything else is ignored and the default
|
|
205
|
+
* applies.
|
|
206
|
+
*
|
|
207
|
+
* Default: 600_000 for the built-in `vibe-plugins`, 180_000 otherwise.
|
|
208
|
+
*/
|
|
209
|
+
streamBudgetMs?: number;
|
|
210
|
+
/**
|
|
211
|
+
* The turn keeps running server-side after the client stops waiting, so an
|
|
212
|
+
* unfinished turn says "still building — re-open this conversation"
|
|
213
|
+
* (`assistant.turnStillBuilding`) instead of "send it again"
|
|
214
|
+
* (`assistant.turnIncomplete`).
|
|
215
|
+
*
|
|
216
|
+
* Default: the value of `producesArtifacts` when that is set; otherwise `true`
|
|
217
|
+
* only for the built-in `vibe-plugins`.
|
|
218
|
+
*/
|
|
219
|
+
continuesInBackground?: boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Show this mode's narration for the WHOLE run, joined oldest first, rather
|
|
222
|
+
* than only the newest sandbox message (BC1, BOFF-7334).
|
|
223
|
+
*
|
|
224
|
+
* The agent grows text parts inside one message, so the answer grows while it
|
|
225
|
+
* stays in that message — and the instant it opens the next one, everything it
|
|
226
|
+
* narrated before vanishes from the bubble on the following poll. A mode whose
|
|
227
|
+
* turns build things (and whose narration carries the links to what it built)
|
|
228
|
+
* needs the whole account; a conversational mode does not.
|
|
229
|
+
*
|
|
230
|
+
* ★★ This changes what is STORED, not merely what is displayed: the completed
|
|
231
|
+
* turn persists this content as its answer, so Copy, Export and read-aloud all
|
|
232
|
+
* carry the running account too. Set it only where the build log IS the answer.
|
|
233
|
+
*
|
|
234
|
+
* Default: `false` for every mode, built-in or product-declared.
|
|
235
|
+
*/
|
|
236
|
+
accumulatesNarration?: boolean;
|
|
193
237
|
}
|
|
194
238
|
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,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,
|
|
1
|
+
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,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,CAoM3B"}
|
|
@@ -13,20 +13,20 @@ function _() {
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
function v(v, y) {
|
|
16
|
-
let b = v.mode ?? "assistant", x = v.streamBudgetMs ?? p, S = v.ttlSeconds ?? 3600,
|
|
16
|
+
let b = v.mode ?? "assistant", x = v.streamBudgetMs ?? p, S = { accumulateNarration: v.accumulateNarration === !0 }, C = v.ttlSeconds ?? 3600, w = v.isProdRuntime ?? (() => !1), T = v.enableCredits ?? !1, E = new s({
|
|
17
17
|
product: v.product,
|
|
18
18
|
mode: b,
|
|
19
|
-
ttlSeconds:
|
|
20
|
-
isProd:
|
|
19
|
+
ttlSeconds: C,
|
|
20
|
+
isProd: w,
|
|
21
21
|
getWorkspaceId: y.getWorkspaceId,
|
|
22
22
|
getAuthContext: y.getAuthContext
|
|
23
|
-
}),
|
|
24
|
-
async function
|
|
23
|
+
}), D = () => v.gatherPageContext ? { ...v.gatherPageContext() } : _();
|
|
24
|
+
async function O(e, t, s, p) {
|
|
25
25
|
try {
|
|
26
|
-
let { sandboxId: o, sessionId: l } = await
|
|
27
|
-
|
|
26
|
+
let { sandboxId: o, sessionId: l } = await E.ensureRuntime();
|
|
27
|
+
E.startKeepWarm();
|
|
28
28
|
let u = Date.now();
|
|
29
|
-
await a(o, t, l, e.prompt, b,
|
|
29
|
+
await a(o, t, l, e.prompt, b, D(), s, e.parts?.length ? { parts: e.parts } : void 0);
|
|
30
30
|
let p = null, _ = null, y = await r(o, t, l, b, s).catch(() => null);
|
|
31
31
|
if (y && typeof EventSource < "u") try {
|
|
32
32
|
_ = new EventSource(y.url);
|
|
@@ -42,7 +42,7 @@ function v(v, y) {
|
|
|
42
42
|
} catch {
|
|
43
43
|
_ = null;
|
|
44
44
|
}
|
|
45
|
-
let
|
|
45
|
+
let C = (t) => new Promise((n) => {
|
|
46
46
|
if (e.signal.aborted) return n();
|
|
47
47
|
let r = setTimeout(() => {
|
|
48
48
|
p = null, n();
|
|
@@ -50,34 +50,34 @@ function v(v, y) {
|
|
|
50
50
|
p = () => {
|
|
51
51
|
clearTimeout(r), n();
|
|
52
52
|
};
|
|
53
|
-
}),
|
|
54
|
-
for (; Date.now() <
|
|
53
|
+
}), w = u + x, O = [], k = c([], u, S), A = u;
|
|
54
|
+
for (; Date.now() < w;) {
|
|
55
55
|
if (e.signal.aborted) throw Error("Cancelled");
|
|
56
|
-
let r = await n(o, t, l, b, s, { sinceMs:
|
|
57
|
-
|
|
56
|
+
let r = await n(o, t, l, b, s, { sinceMs: A });
|
|
57
|
+
O = d(O, r);
|
|
58
58
|
for (let e of r) {
|
|
59
59
|
let t = e.info?.time?.created;
|
|
60
|
-
typeof t == "number" && t >
|
|
60
|
+
typeof t == "number" && t > A && (A = t);
|
|
61
61
|
}
|
|
62
|
-
if (
|
|
62
|
+
if (k = c(O, u, S), e.onProgress(f(k.content)), k.done) break;
|
|
63
63
|
let i = Date.now() - u < g ? m : h;
|
|
64
|
-
await (_ ?
|
|
64
|
+
await (_ ? C(i) : new Promise((e) => setTimeout(e, i)));
|
|
65
65
|
}
|
|
66
|
-
if (_?.close(), !
|
|
67
|
-
let
|
|
68
|
-
if (
|
|
69
|
-
let e =
|
|
66
|
+
if (_?.close(), !k.done) throw Error("The assistant timed out while responding. Please try again.");
|
|
67
|
+
let j = await n(o, t, l, b, s, { limit: 50 }).catch(() => O), M = c(d(O, j), u, S);
|
|
68
|
+
if (T) {
|
|
69
|
+
let e = j.filter((e) => e.info?.role === "assistant").sort((e, t) => (t.info?.time?.created ?? 0) - (e.info?.time?.created ?? 0))[0], n = e?.info?.tokens, r = e?.info?.providerID && e?.info?.modelID ? `${e.info.providerID}/${e.info.modelID}` : void 0;
|
|
70
70
|
e?.info?.id && n && i(t, l, e.info.id, r, n, s).then(() => v.onCreditsUpdated?.()).catch(() => void 0);
|
|
71
71
|
}
|
|
72
|
-
return { text: f(
|
|
72
|
+
return { text: f(M.content) };
|
|
73
73
|
} catch (n) {
|
|
74
74
|
if (p === 1 && u(n)) {
|
|
75
75
|
let r = l(n);
|
|
76
76
|
if (r) {
|
|
77
|
-
let e =
|
|
77
|
+
let e = E.getSandboxId();
|
|
78
78
|
e && await o(e, t, s).catch(() => void 0);
|
|
79
79
|
}
|
|
80
|
-
return
|
|
80
|
+
return E.reset({ quarantineCurrentSandbox: r }), O(e, t, s, 2);
|
|
81
81
|
}
|
|
82
82
|
throw n;
|
|
83
83
|
}
|
|
@@ -87,12 +87,12 @@ function v(v, y) {
|
|
|
87
87
|
let r = y.getWorkspaceId();
|
|
88
88
|
if (!r) throw Error("The assistant needs an active workspace. Open a workspace and try again.");
|
|
89
89
|
let i = y.getAuthContext();
|
|
90
|
-
return
|
|
90
|
+
return T && t(r, i).catch((t) => {
|
|
91
91
|
e(t) && v.onQuotaExhausted?.(t);
|
|
92
|
-
}),
|
|
92
|
+
}), O(n, r, i, 1);
|
|
93
93
|
},
|
|
94
|
-
prewarm: (e) =>
|
|
95
|
-
suspend: () =>
|
|
94
|
+
prewarm: (e) => E.prewarm(e),
|
|
95
|
+
suspend: () => E.stopKeepWarm()
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
//#endregion
|
|
@@ -92,7 +92,8 @@ import { AssistantModeConfig } from './conversation';
|
|
|
92
92
|
* entity decoder calls `document.createElement` at load, so an extractor script
|
|
93
93
|
* importing `@burdenoff/fe-libs/shared/assistant` dies with `document is not
|
|
94
94
|
* defined` (measured against the built `dist`, 2026-09-14). This module's own
|
|
95
|
-
* runtime graph is
|
|
95
|
+
* runtime graph is a handful of modules: data tables and the pure mode-id and
|
|
96
|
+
* mode-capability checks, plus `i18n.tsx` for
|
|
96
97
|
* `assistantTranslationKey` and the I18n and product providers that module
|
|
97
98
|
* brings. Its one package is `react`, which every app already has, and it
|
|
98
99
|
* loads under plain `bun`; the test walks the graph so no UI module or other
|
|
@@ -305,13 +306,18 @@ export declare const ASSISTANT_I18N_COMPUTED_COPY: Readonly<Record<string, strin
|
|
|
305
306
|
*/
|
|
306
307
|
export declare const ASSISTANT_I18N_MANIFEST: Readonly<Record<string, string>>;
|
|
307
308
|
/** The part of a mode that decides its pill's key and English. */
|
|
308
|
-
export type AssistantModeCopySource = Pick<AssistantModeConfig, "id" | "label">;
|
|
309
|
+
export type AssistantModeCopySource = Pick<AssistantModeConfig, "id" | "label" | "producesArtifacts">;
|
|
309
310
|
/**
|
|
310
311
|
* `mode.<id>` for each mode a product offers, in the product's own words.
|
|
311
312
|
*
|
|
312
313
|
* Mirrors the pill, which asks for `mode.<id>` with the product's `label` as
|
|
313
|
-
* the English, or the shared name when the label is empty
|
|
314
|
+
* the English, or the shared name when the label is empty
|
|
315
|
+
* (`assistantModeFallbackLabel`, which also names a product-declared mode).
|
|
314
316
|
* Modes the product does not offer are never requested, so they are not here.
|
|
317
|
+
*
|
|
318
|
+
* @throws when a mode id is malformed. Its key could not be seeded — a `.`
|
|
319
|
+
* splits it, a capital or space makes it unmatchable — and a seed that
|
|
320
|
+
* silently carried it would deprecate nothing and translate nothing.
|
|
315
321
|
*/
|
|
316
322
|
export declare function assistantModeI18nCopy(modes: readonly AssistantModeCopySource[]): Record<string, string>;
|
|
317
323
|
/**
|
|
@@ -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;
|
|
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;AAS1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0GG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2MG,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,CAmBtE,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIjE,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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { assistantTranslationKey as e } from "./i18n.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { assistantModeFallbackLabel as t } from "./modeCopy.js";
|
|
3
|
+
import { isAssistantModeId as n } from "./modeIds.js";
|
|
4
|
+
import { INCOMPLETE_TURN_NOTICES as r } from "./streamBudget.js";
|
|
5
|
+
import { STAGE_COPY as i, THINKING_PHRASES as a } from "./stageCopy.js";
|
|
6
|
+
import { VOICE_MUTED_LABEL as o, VOICE_THINKING_LABEL as s } from "./voice/voiceStatus.js";
|
|
7
|
+
import { ATTACHMENT_SOURCES as c } from "./attachmentSources.js";
|
|
7
8
|
//#region src/shared/assistant/i18nManifest.ts
|
|
8
9
|
var l = {
|
|
9
10
|
"apiCalls.consentBody": "In Take action mode the assistant can read AND change your data — creating records, logging activity, updating details, and more, on your behalf.",
|
|
@@ -184,17 +185,19 @@ var l = {
|
|
|
184
185
|
"voiceSession.transcriptTitle": "Voice transcript",
|
|
185
186
|
"voiceSession.unmute": "Turn the microphone on"
|
|
186
187
|
}, u = (e) => Object.fromEntries(e.map((e) => [e.key, e.fallback])), d = Object.freeze({
|
|
187
|
-
...u(Object.values(
|
|
188
|
+
...u(Object.values(i)),
|
|
189
|
+
...u(a),
|
|
190
|
+
...u([s, o]),
|
|
188
191
|
...u(r),
|
|
189
|
-
...
|
|
190
|
-
...u(c.map(t)),
|
|
191
|
-
...Object.fromEntries(o.map((e) => [e.labelKey, e.labelFallback]))
|
|
192
|
+
...Object.fromEntries(c.map((e) => [e.labelKey, e.labelFallback]))
|
|
192
193
|
}), f = Object.freeze({
|
|
193
194
|
...l,
|
|
194
195
|
...d
|
|
195
196
|
});
|
|
196
197
|
function p(e) {
|
|
197
|
-
|
|
198
|
+
let r = e.map((e) => e.id).filter((e) => !n(e));
|
|
199
|
+
if (r.length > 0) throw Error(`assistantModeI18nCopy: malformed mode id ${r.map((e) => JSON.stringify(e)).join(", ")}. Declare product modes with declareAssistantMode().`);
|
|
200
|
+
return Object.fromEntries(e.map((e) => [`mode.${e.id}`, e.label || t(e)]));
|
|
198
201
|
}
|
|
199
202
|
function m(t) {
|
|
200
203
|
let n = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AssistantMode } from './types';
|
|
1
|
+
import { AssistantMode, BuiltInAssistantMode } from './types';
|
|
2
2
|
declare const ASSISTANT_API_AUTH_STRATEGY = "sandbox-app-client-headers-v1";
|
|
3
3
|
/**
|
|
4
4
|
* Resolve the sandbox-image registry: build-time `VITE_SANDBOX_IMAGE_REGISTRY`
|
|
@@ -7,6 +7,22 @@ declare const ASSISTANT_API_AUTH_STRATEGY = "sandbox-app-client-headers-v1";
|
|
|
7
7
|
* see it, so the read is guarded (same pattern as config/gatewayUrls.ts).
|
|
8
8
|
*/
|
|
9
9
|
export declare function getSandboxImageRegistry(): string;
|
|
10
|
+
/**
|
|
11
|
+
* The built-in mode whose image, tag family and resources a sandbox for `mode`
|
|
12
|
+
* runs on.
|
|
13
|
+
*
|
|
14
|
+
* - A built-in mode runs on its own.
|
|
15
|
+
* - A PRODUCT-declared mode runs on `vibe-plugins`: the proxy-token image, which
|
|
16
|
+
* carries no platform identity, with the larger resource profile a build needs.
|
|
17
|
+
* The persona is chosen at boot from `AI_ASSISTANT_MODE`, exactly as
|
|
18
|
+
* `assistant` runs on the api-calls image — ai-assistant publishes images only
|
|
19
|
+
* for general / api-calls / vibe-plugins, so `ai-assistant-<product mode>` would
|
|
20
|
+
* name an image that does not exist.
|
|
21
|
+
*
|
|
22
|
+
* ★ Throws for anything else. A malformed id must not reach `CreateSandbox`,
|
|
23
|
+
* where it would become part of the sandbox name and metadata.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sandboxBaseModeFor(mode: AssistantMode): BuiltInAssistantMode;
|
|
10
26
|
export declare function getImageTagForMode(mode: AssistantMode, isProd: boolean): string;
|
|
11
27
|
export declare function getImageForMode(mode: AssistantMode, isProd: boolean): string;
|
|
12
28
|
export declare function getResourcesForMode(mode: AssistantMode): {
|
|
@@ -16,8 +32,27 @@ export declare function getResourcesForMode(mode: AssistantMode): {
|
|
|
16
32
|
memoryLimit: string;
|
|
17
33
|
};
|
|
18
34
|
export { ASSISTANT_API_AUTH_STRATEGY };
|
|
35
|
+
/**
|
|
36
|
+
* The mode an existing sandbox was provisioned for, or null when it cannot be
|
|
37
|
+
* told.
|
|
38
|
+
*
|
|
39
|
+
* ★ A product-declared mode is recognised ONLY when the caller passes it in
|
|
40
|
+
* `declaredModes`, and only from the stamped metadata — never from the name.
|
|
41
|
+
* Names are prefixes, and `ai-assistant-<id>-` for a product id can be a prefix
|
|
42
|
+
* of another mode's names; every sandbox this library creates carries
|
|
43
|
+
* `metadata.assistantMode`, and reuse already requires this library's stamps. An
|
|
44
|
+
* undeclared id resolves to null, so its sandbox is never reused.
|
|
45
|
+
*
|
|
46
|
+
* ★★ The NAME is read only when the metadata names NO mode (`assistantMode`
|
|
47
|
+
* missing or null) — the legacy built-in sandboxes that predate the stamp.
|
|
48
|
+
* Metadata that names a mode this caller does not recognise is an answer, not a
|
|
49
|
+
* gap to fill from the name: `ai-assistant-general-docs-…` starts with
|
|
50
|
+
* `ai-assistant-general-`, so reading the name there handed a `general-docs`
|
|
51
|
+
* sandbox (another persona, and not read-only) to a `general` lookup, and an
|
|
52
|
+
* `assistant-lite` one to Ask, which would then send it the user's tokens.
|
|
53
|
+
*/
|
|
19
54
|
export declare function resolveSandboxAssistantMode(sandbox: {
|
|
20
55
|
metadata: Record<string, unknown> | null;
|
|
21
56
|
name?: string | null;
|
|
22
|
-
}): AssistantMode | null;
|
|
57
|
+
}, declaredModes?: readonly AssistantMode[]): AssistantMode | null;
|
|
23
58
|
//# sourceMappingURL=images.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/images.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/images.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAYnE,QAAA,MAAM,2BAA2B,kCAAkC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAShD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAM5E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAS/E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAK5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAeA;AAED,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAEvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IACP,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,EACD,aAAa,GAAE,SAAS,aAAa,EAAO,GAC3C,aAAa,GAAG,IAAI,CAiBtB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { isBuiltInAssistantMode as e } from "./modeCopy.js";
|
|
2
|
+
import { isProductAssistantModeId as t } from "./modeIds.js";
|
|
1
3
|
//#region src/shared/assistant/images.ts
|
|
2
|
-
var
|
|
3
|
-
function
|
|
4
|
+
var n = "028127330334.dkr.ecr.ap-south-1.amazonaws.com", r = "sandbox-app-client-headers-v1";
|
|
5
|
+
function i() {
|
|
4
6
|
try {
|
|
5
7
|
let e = {
|
|
6
8
|
BASE_URL: "/",
|
|
@@ -11,22 +13,27 @@ function n() {
|
|
|
11
13
|
}?.VITE_SANDBOX_IMAGE_REGISTRY?.trim();
|
|
12
14
|
if (e) return e.replace(/\/+$/, "");
|
|
13
15
|
} catch {}
|
|
14
|
-
return
|
|
16
|
+
return n;
|
|
15
17
|
}
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
+
function a(n) {
|
|
19
|
+
if (e(n)) return n;
|
|
20
|
+
if (t(n)) return "vibe-plugins";
|
|
21
|
+
throw Error(`Unknown assistant mode ${JSON.stringify(n)}: no sandbox image is defined for it.`);
|
|
22
|
+
}
|
|
23
|
+
function o(e, t) {
|
|
24
|
+
switch (a(e)) {
|
|
18
25
|
case "general":
|
|
19
26
|
case "vibe-plugins": return t ? "prod" : "alpha-proxy-auth-v1";
|
|
20
27
|
case "assistant":
|
|
21
28
|
case "api-calls": return t ? "prod" : "alpha-delegated-auth-v11";
|
|
22
29
|
}
|
|
23
30
|
}
|
|
24
|
-
function
|
|
25
|
-
let
|
|
26
|
-
return `${
|
|
31
|
+
function s(e, t) {
|
|
32
|
+
let n = a(e), r = n === "assistant" ? "api-calls" : n;
|
|
33
|
+
return `${i()}/wspace/ai-assistant-${r}:${o(e, t)}`;
|
|
27
34
|
}
|
|
28
|
-
function
|
|
29
|
-
return e === "general" ? {
|
|
35
|
+
function c(e) {
|
|
36
|
+
return a(e) === "general" ? {
|
|
30
37
|
cpuRequest: "100m",
|
|
31
38
|
cpuLimit: "500m",
|
|
32
39
|
memoryRequest: "256Mi",
|
|
@@ -38,11 +45,12 @@ function a(e) {
|
|
|
38
45
|
memoryLimit: "1536Mi"
|
|
39
46
|
};
|
|
40
47
|
}
|
|
41
|
-
function
|
|
42
|
-
let
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
function l(n, r = []) {
|
|
49
|
+
let i = n.metadata?.assistantMode;
|
|
50
|
+
if (e(i) || t(i) && r.includes(i)) return i;
|
|
51
|
+
if (i != null) return null;
|
|
52
|
+
let a = n.name ?? "";
|
|
53
|
+
return a.startsWith("ai-assistant-vibe-plugins-") ? "vibe-plugins" : a.startsWith("ai-assistant-api-calls-") ? "api-calls" : a.startsWith("ai-assistant-general-") ? "general" : a.startsWith("ai-assistant-assistant-") ? "assistant" : null;
|
|
46
54
|
}
|
|
47
55
|
//#endregion
|
|
48
|
-
export {
|
|
56
|
+
export { r as ASSISTANT_API_AUTH_STRATEGY, s as getImageForMode, o as getImageTagForMode, c as getResourcesForMode, i as getSandboxImageRegistry, l as resolveSandboxAssistantMode, a as sandboxBaseModeFor };
|
|
@@ -66,6 +66,9 @@ export * from './speech/hostedTtsProtocol';
|
|
|
66
66
|
export * from './i18n';
|
|
67
67
|
export * from './i18nManifest';
|
|
68
68
|
export * from './modeCopy';
|
|
69
|
+
export * from './modeIds';
|
|
70
|
+
export * from './modeCapabilities';
|
|
71
|
+
export * from './adminModeSendGate';
|
|
69
72
|
export * from './voice/speechLabels';
|
|
70
73
|
export * from './voice/replyLanguage';
|
|
71
74
|
export * from './voice/speechPlayback';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AAGxB,cAAc,wBAAwB,CAAC;AAKvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,gBAAgB,CAAC;AAK/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAG3C,cAAc,QAAQ,CAAC;AAIvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;
|
|
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":"legacyFiller.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/legacyFiller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AA0C1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAIT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAET;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"legacyFiller.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/legacyFiller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AA0C1C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAIT;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,CAET;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAiBf"}
|