@burdenoff/fe-libs 2026.1001.4 → 2026.1001.6
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 +12 -0
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +159 -154
- package/dist/shared/assistant/createSandboxAssistantTransport.d.ts.map +1 -1
- package/dist/shared/assistant/createSandboxAssistantTransport.js +4 -1
- package/dist/shared/assistant/index.d.ts +2 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/permissionError.d.ts +15 -2
- package/dist/shared/assistant/permissionError.d.ts.map +1 -1
- package/dist/shared/assistant/permissionError.js +24 -14
- 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/progress.d.ts +9 -1
- package/dist/shared/assistant/progress.d.ts.map +1 -1
- package/dist/shared/assistant/progress.js +49 -46
- package/dist/shared/assistant/quota.d.ts +18 -2
- package/dist/shared/assistant/quota.d.ts.map +1 -1
- package/dist/shared/assistant/quota.js +46 -42
- package/dist/shared/assistant/sandboxProxyError.d.ts +91 -0
- package/dist/shared/assistant/sandboxProxyError.d.ts.map +1 -0
- package/dist/shared/assistant/sandboxProxyError.js +43 -0
- package/dist/shared/assistant/transportErrors.d.ts +14 -1
- package/dist/shared/assistant/transportErrors.d.ts.map +1 -1
- package/dist/shared/assistant/transportErrors.js +20 -14
- package/dist/shared/assistant/turnOutcome.d.ts +27 -3
- package/dist/shared/assistant/turnOutcome.d.ts.map +1 -1
- package/dist/shared/assistant/turnOutcome.js +82 -31
- package/dist/shared/assistant/turnOutcomeCopy.d.ts +24 -0
- package/dist/shared/assistant/turnOutcomeCopy.d.ts.map +1 -1
- package/dist/shared/assistant/turnOutcomeCopy.js +24 -0
- package/dist/shared/assistant/ui/AIAssistantPanel.js +14 -14
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +3 -2
- 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 +181 -179
- package/package.json +1 -1
|
@@ -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';
|
|
@@ -185,6 +186,7 @@ export * from './useAssistantApiAccess';
|
|
|
185
186
|
export * from './useConversationTurns';
|
|
186
187
|
export * from './transportErrors';
|
|
187
188
|
export * from './quota';
|
|
189
|
+
export * from './sandboxProxyError';
|
|
188
190
|
export * from './permissionError';
|
|
189
191
|
export * from './autoRouting';
|
|
190
192
|
export * from './turnOutcome';
|
|
@@ -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;AAClC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,aAAa,CAAC;AAK5B,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;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAIhD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAG9C,cAAc,WAAW,CAAC;AAE1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAElC,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A denial the person can act on, a session fault they can recover from, or
|
|
3
|
+
* the §2.8 provisioning gate (BOFF-8124): the service will not START an
|
|
4
|
+
* assistant session for this role yet — a platform decision, not an access a
|
|
5
|
+
* workspace admin can grant, so its copy asks no one for anything.
|
|
6
|
+
*/
|
|
7
|
+
export type PermissionRefusal = "denied" | "session" | "provisioning-gated";
|
|
8
|
+
/**
|
|
9
|
+
* The i18n key wspace-sandbox-svc refuses `provisionAssistantSandbox` with
|
|
10
|
+
* while the §2.8 gate is on (FORBIDDEN, for a caller without
|
|
11
|
+
* `sandbox:create`).
|
|
12
|
+
*/
|
|
13
|
+
export declare const PROVISIONING_NOT_PERMITTED_I18N_KEY = "assistant.errors.assistantProvisioningNotPermitted";
|
|
3
14
|
export interface PermissionRefusalDetail {
|
|
4
15
|
readonly refusal: PermissionRefusal;
|
|
5
16
|
/** The gateway's `authFailure` class, when it sent one. */
|
|
@@ -21,4 +32,6 @@ export declare function describePermissionError(error: unknown): PermissionRefus
|
|
|
21
32
|
* stamps `lang: "en"` on failure copy so it never inherits the turn's language.
|
|
22
33
|
*/
|
|
23
34
|
export declare function permissionRefusalMessage(detail: PermissionRefusalDetail): string;
|
|
35
|
+
/** Which outcome copy a permission refusal gets — one table, read by both the message and the outcome. */
|
|
36
|
+
export declare function permissionRefusalCopyId(refusal: PermissionRefusal): "sessionUnverified" | "provisioningNotPermitted" | "permissionDenied";
|
|
24
37
|
//# sourceMappingURL=permissionError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissionError.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/permissionError.ts"],"names":[],"mappings":"AAoCA
|
|
1
|
+
{"version":3,"file":"permissionError.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/permissionError.ts"],"names":[],"mappings":"AAoCA;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,oBAAoB,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,uDACM,CAAC;AAEvD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AASD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,uBAAuB,GAAG,IAAI,CA8BhC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,uBAAuB,GAC9B,MAAM,CAER;AAED,0GAA0G;AAC1G,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,GAAG,0BAA0B,GAAG,kBAAkB,CASvE"}
|
|
@@ -1,26 +1,36 @@
|
|
|
1
1
|
import { extensionObjectsIn as e } from "./quota.js";
|
|
2
2
|
import { TURN_OUTCOME_COPY as t } from "./turnOutcomeCopy.js";
|
|
3
3
|
//#region src/shared/assistant/permissionError.ts
|
|
4
|
-
var n = new Set([
|
|
4
|
+
var n = "assistant.errors.assistantProvisioningNotPermitted", r = new Set([
|
|
5
5
|
"UNAUTHENTICATED_ACTOR",
|
|
6
6
|
"WORKSPACE_SESSION_UNRESOLVED",
|
|
7
7
|
"WORKSPACE_CONTEXT_MISSING"
|
|
8
8
|
]);
|
|
9
|
-
function
|
|
10
|
-
let
|
|
11
|
-
for (let
|
|
12
|
-
let e =
|
|
13
|
-
(e === "FORBIDDEN" || e === "PERMISSION_DENIED") && (r = !0);
|
|
14
|
-
let t =
|
|
15
|
-
typeof t == "string" && t.length > 0 && !
|
|
9
|
+
function i(t) {
|
|
10
|
+
let n = !1, i = !1, a = null;
|
|
11
|
+
for (let r of e(t)) {
|
|
12
|
+
let e = r.code;
|
|
13
|
+
(e === "FORBIDDEN" || e === "PERMISSION_DENIED") && (n = !0), r.i18nKey === "assistant.errors.assistantProvisioningNotPermitted" && (i = !0);
|
|
14
|
+
let t = r.authFailure;
|
|
15
|
+
typeof t == "string" && t.length > 0 && !a && (a = t);
|
|
16
16
|
}
|
|
17
|
-
return !
|
|
18
|
-
refusal:
|
|
19
|
-
authFailure:
|
|
17
|
+
return !n && !i && !a ? null : a && r.has(a) ? {
|
|
18
|
+
refusal: "session",
|
|
19
|
+
authFailure: a
|
|
20
|
+
} : {
|
|
21
|
+
refusal: i ? "provisioning-gated" : "denied",
|
|
22
|
+
authFailure: a
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
|
-
function
|
|
23
|
-
return e.refusal
|
|
25
|
+
function a(e) {
|
|
26
|
+
return t[o(e.refusal)].fallback;
|
|
27
|
+
}
|
|
28
|
+
function o(e) {
|
|
29
|
+
switch (e) {
|
|
30
|
+
case "session": return "sessionUnverified";
|
|
31
|
+
case "provisioning-gated": return "provisioningNotPermitted";
|
|
32
|
+
case "denied": return "permissionDenied";
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
//#endregion
|
|
26
|
-
export {
|
|
36
|
+
export { n as PROVISIONING_NOT_PERMITTED_I18N_KEY, i as describePermissionError, o as permissionRefusalCopyId, a as permissionRefusalMessage };
|
|
@@ -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 };
|
|
@@ -71,7 +71,15 @@ export declare function sanitize(response: string): string;
|
|
|
71
71
|
* a prompt whose first attempt actually reached the model.
|
|
72
72
|
*/
|
|
73
73
|
export declare function isReapedSandboxConnectionError(error: unknown): boolean;
|
|
74
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Whether an error is worth one retry from a clean runtime (union of fleet fragments).
|
|
76
|
+
*
|
|
77
|
+
* ★★ BOFF-8124: an assistant LLM refusal (`SandboxProxyError` with a terminal
|
|
78
|
+
* code) is decided by its code, before any fragment: only a revoked session
|
|
79
|
+
* retries — a fresh sandbox gets a fresh capability. A daily limit, a busy or
|
|
80
|
+
* unavailable proxy, or a conversation too long would fail the same way in any
|
|
81
|
+
* sandbox.
|
|
82
|
+
*/
|
|
75
83
|
export declare function isRecoverable(error: unknown): boolean;
|
|
76
84
|
/**
|
|
77
85
|
* Upsert delta messages into an accumulator keyed by message id. Correct against
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/progress.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/progress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAA2B,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEpG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,MAAM,CAM5E;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAkB/E;AA0CD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAY7E;AAED;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,wBAAwB,GACjC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CA6BpC;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAItE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA4BrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,mBAAmB,EAAE,EAClC,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,mBAAmB,EAAE,CAavB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,EAAE,CAyB7F"}
|
|
@@ -1,83 +1,86 @@
|
|
|
1
|
+
import { terminalCodeRecoverability as e } from "./sandboxProxyError.js";
|
|
1
2
|
//#region src/shared/assistant/progress.ts
|
|
2
|
-
function
|
|
3
|
+
function t(e) {
|
|
3
4
|
return e.info?.time?.created ?? 0;
|
|
4
5
|
}
|
|
5
|
-
function
|
|
6
|
+
function n(e) {
|
|
6
7
|
return (e ?? []).filter((e) => e.type === "text" && typeof e.text == "string").map((e) => e.text?.trim() ?? "").filter(Boolean).join("\n");
|
|
7
8
|
}
|
|
8
|
-
function
|
|
9
|
+
function r(e) {
|
|
9
10
|
return e.replace(/[\\[\]]/g, "\\$&").replace(/[\r\n]+/g, " ").trim();
|
|
10
11
|
}
|
|
11
|
-
var
|
|
12
|
-
function
|
|
12
|
+
var i = /^(?:png|jpe?g|gif|webp|avif|bmp|x-icon|vnd\.microsoft\.icon)$/i;
|
|
13
|
+
function a(e, t) {
|
|
13
14
|
let n = e.trim();
|
|
14
15
|
if (/^https?:\/\//i.test(n)) return n.replace(/[()\s<>]/g, (e) => `%${e.charCodeAt(0).toString(16).toUpperCase().padStart(2, "0")}`);
|
|
15
16
|
if (t) {
|
|
16
17
|
let e = /^data:image\/([a-z0-9.+-]+);base64,[a-z0-9+/=]*$/i.exec(n);
|
|
17
|
-
if (e &&
|
|
18
|
+
if (e && i.test(e[1])) return n;
|
|
18
19
|
}
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
+
function o(e) {
|
|
22
23
|
let t = [];
|
|
23
|
-
for (let
|
|
24
|
-
let e =
|
|
25
|
-
if (!e &&
|
|
26
|
-
let
|
|
27
|
-
if (!
|
|
28
|
-
let o = i
|
|
24
|
+
for (let n of e ?? []) {
|
|
25
|
+
let e = n.type === "image";
|
|
26
|
+
if (!e && n.type !== "file") continue;
|
|
27
|
+
let i = n.url ?? (n.data && n.mimeType ? `data:${n.mimeType};base64,${n.data}` : void 0);
|
|
28
|
+
if (!i) continue;
|
|
29
|
+
let o = a(i, e);
|
|
29
30
|
if (!o) continue;
|
|
30
|
-
let s = n
|
|
31
|
+
let s = r(n.filename ?? (e ? "image" : "file")) || "file";
|
|
31
32
|
t.push(e ? `` : `[${s}](${o})`);
|
|
32
33
|
}
|
|
33
34
|
return t;
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
+
function s(e) {
|
|
36
37
|
return typeof e == "object" && e ? e : void 0;
|
|
37
38
|
}
|
|
38
|
-
function
|
|
39
|
-
let t =
|
|
39
|
+
function c(e) {
|
|
40
|
+
let t = s(e.state?.input);
|
|
40
41
|
if (!t) return;
|
|
41
42
|
let n = t.description;
|
|
42
43
|
if (typeof n == "string" && n.trim()) return n.trim();
|
|
43
44
|
let r = t.todos;
|
|
44
45
|
if (Array.isArray(r)) {
|
|
45
|
-
let e =
|
|
46
|
+
let e = s(r.find((e) => s(e)?.status === "in_progress") ?? r[0])?.content;
|
|
46
47
|
if (typeof e == "string" && e.trim()) return e.trim();
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
function
|
|
50
|
+
function l(e) {
|
|
50
51
|
return (e ?? []).filter((e) => e.type === "tool" && e.tool).map((e) => {
|
|
51
|
-
let t = e.state?.status ?? "running", n = e.tool ?? "tool", r =
|
|
52
|
+
let t = e.state?.status ?? "running", n = e.tool ?? "tool", r = c(e), i = r ? `${n} · ${r}` : n;
|
|
52
53
|
return t === "completed" ? `Completed: ${i}` : t === "failed" ? `Failed: ${i}` : `Running: ${i}`;
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
|
-
function
|
|
56
|
-
let
|
|
57
|
-
if (
|
|
56
|
+
function u(e, r, i) {
|
|
57
|
+
let a = e.filter((e) => e.info?.role === "assistant" && t(e) >= r).sort((e, n) => t(e) - t(n));
|
|
58
|
+
if (a.length === 0) return {
|
|
58
59
|
content: "Thinking…",
|
|
59
60
|
done: !1
|
|
60
61
|
};
|
|
61
|
-
let s =
|
|
62
|
+
let s = a[a.length - 1], c = i?.accumulateNarration ? a.map((e) => n(e.parts)).filter(Boolean).join("\n\n") : n(s.parts), u = o(s.parts), d = l(s.parts);
|
|
62
63
|
return {
|
|
63
64
|
content: [
|
|
64
|
-
|
|
65
|
+
c,
|
|
65
66
|
...u,
|
|
66
67
|
...d
|
|
67
68
|
].filter(Boolean).join("\n\n") || "Thinking…",
|
|
68
|
-
done: !!s.info?.time?.completed && (!!
|
|
69
|
+
done: !!s.info?.time?.completed && (!!c || u.length > 0 || d.length > 0)
|
|
69
70
|
};
|
|
70
71
|
}
|
|
71
|
-
function
|
|
72
|
+
function d(e) {
|
|
72
73
|
return e.replace(/(Authorization\s*:\s*Bearer\s+)[^\s\n]+/gi, "$1[REDACTED]").replace(/(X-Workspace-Authorization\s*:\s*Bearer\s+)[^\s\n]+/gi, "$1[REDACTED]").replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9._-]+\.[A-Za-z0-9._-]+\b/g, "[REDACTED_JWT]").replace(/\bsk-ant-[A-Za-z0-9-]+\b/g, "[REDACTED_API_KEY]");
|
|
73
74
|
}
|
|
74
|
-
function
|
|
75
|
+
function f(e) {
|
|
75
76
|
let t = e instanceof Error ? e.message.toLowerCase() : String(e).toLowerCase();
|
|
76
77
|
return t.includes("unable to connect") && t.includes("able to access the url");
|
|
77
78
|
}
|
|
78
|
-
function
|
|
79
|
-
let
|
|
80
|
-
|
|
79
|
+
function p(t) {
|
|
80
|
+
let n = e(t);
|
|
81
|
+
if (n !== null) return n;
|
|
82
|
+
let r = t instanceof Error ? t.message.toLowerCase() : String(t).toLowerCase();
|
|
83
|
+
return r.includes("rate limit exceeded") || r.includes("unauthorized") || r.includes("k8s api error 401") ? !1 : f(t) ? !0 : [
|
|
81
84
|
"sandbox not found",
|
|
82
85
|
"sandbox is not running",
|
|
83
86
|
"sandbox service not available yet",
|
|
@@ -91,33 +94,33 @@ function f(e) {
|
|
|
91
94
|
"proxy error: 404",
|
|
92
95
|
"proxy error: 502",
|
|
93
96
|
"proxy error: 503"
|
|
94
|
-
].some((e) =>
|
|
97
|
+
].some((e) => r.includes(e));
|
|
95
98
|
}
|
|
96
|
-
function
|
|
99
|
+
function m(e, n) {
|
|
97
100
|
let r = /* @__PURE__ */ new Map();
|
|
98
|
-
for (let
|
|
99
|
-
let
|
|
100
|
-
|
|
101
|
+
for (let t of e) {
|
|
102
|
+
let e = t.info?.id;
|
|
103
|
+
e && r.set(e, t);
|
|
101
104
|
}
|
|
102
105
|
for (let e of n) {
|
|
103
106
|
let t = e.info?.id;
|
|
104
107
|
t && r.set(t, e);
|
|
105
108
|
}
|
|
106
|
-
return Array.from(r.values()).sort((
|
|
109
|
+
return Array.from(r.values()).sort((e, n) => t(e) - t(n));
|
|
107
110
|
}
|
|
108
|
-
function
|
|
111
|
+
function h(e) {
|
|
109
112
|
let r = [];
|
|
110
|
-
for (let i of
|
|
111
|
-
let
|
|
112
|
-
if (
|
|
113
|
-
let
|
|
114
|
-
c && (
|
|
115
|
-
id: i.info?.id ?? `${
|
|
116
|
-
role:
|
|
113
|
+
for (let i of e) {
|
|
114
|
+
let e = i.info?.role;
|
|
115
|
+
if (e !== "user" && e !== "assistant") continue;
|
|
116
|
+
let a = i.parts, s = n(a), c = [s, ...o(a)].filter(Boolean).join("\n\n");
|
|
117
|
+
c && (e === "user" && (s.startsWith("[Context file:") || s.startsWith("User's current context:")) || r.push({
|
|
118
|
+
id: i.info?.id ?? `${e}-${t(i)}`,
|
|
119
|
+
role: e,
|
|
117
120
|
content: c
|
|
118
121
|
}));
|
|
119
122
|
}
|
|
120
123
|
return r;
|
|
121
124
|
}
|
|
122
125
|
//#endregion
|
|
123
|
-
export {
|
|
126
|
+
export { u as buildProgress, o as getAssistantMedia, n as getAssistantText, t as getRawMessageCreatedAt, l as getToolProgress, f as isReapedSandboxConnectionError, p as isRecoverable, h as mapSessionToHistory, m as mergeMessagesById, d as sanitize };
|
|
@@ -30,17 +30,28 @@ export declare function isQuotaExhaustedError(error: unknown): boolean;
|
|
|
30
30
|
* never granted. Measured in prod 2026-08-13, this is why `createHealthyBowlFarm` returns
|
|
31
31
|
* `429 QUOTA_NOT_PROVISIONED` on several workspaces — the core create path is simply dead there.
|
|
32
32
|
*
|
|
33
|
+
* - `daily-limit` — the assistant's DAILY LLM allowance (per actor, workspace or environment) is
|
|
34
|
+
* spent (BOFF-8124). It resets on its own at `resetsAt`; no plan buys more of it, so it NEVER
|
|
35
|
+
* offers an upgrade. `quotaName` says whose allowance it was
|
|
36
|
+
* (`assistant.llm.{actor,workspace,env}_daily`).
|
|
37
|
+
*
|
|
33
38
|
* ★ Keyed on `extensions.code`, never on the HTTP status or the message text. Both refusals are
|
|
34
39
|
* `429`, so status alone cannot tell them apart — which is exactly how "no active subscription
|
|
35
|
-
* covers this" would otherwise be reported to a farmer as "you have reached your limit".
|
|
40
|
+
* covers this" would otherwise be reported to a farmer as "you have reached your limit". The
|
|
41
|
+
* daily limit is a 429 too (the svc's prompt-async refusal), and a 402 or 429 `turnTerminal`.
|
|
36
42
|
*/
|
|
37
|
-
export type QuotaRefusal = "exhausted" | "not-provisioned";
|
|
43
|
+
export type QuotaRefusal = "exhausted" | "not-provisioned" | "daily-limit";
|
|
38
44
|
/**
|
|
39
45
|
* Which refusal this is, or null when the error is not a quota wall at all.
|
|
40
46
|
*
|
|
41
47
|
* `not-provisioned` wins when both appear: it is the more specific and the more serious of the two,
|
|
42
48
|
* and telling someone to upgrade when their plan was never granted sends them to buy something that
|
|
43
49
|
* would not help.
|
|
50
|
+
*
|
|
51
|
+
* ★★★ `daily-limit` is checked FIRST, and every assistant LLM code is checked before the bare-429
|
|
52
|
+
* rule (BOFF-8124 §4.8(c)). The svc answers a send at the daily limit with a 429, and the proxy's
|
|
53
|
+
* busy refusal reaches the panel as a 429 `turnTerminal`: read by status alone, both would become
|
|
54
|
+
* `exhausted` — "upgrade your plan" for an allowance that resets tonight, or for a busy proxy.
|
|
44
55
|
*/
|
|
45
56
|
export declare function classifyQuotaError(error: unknown): QuotaRefusal | null;
|
|
46
57
|
/**
|
|
@@ -62,6 +73,11 @@ export interface QuotaRefusalDetail {
|
|
|
62
73
|
quotaName: string | null;
|
|
63
74
|
/** The refusing service's trace id, so support can find the request. */
|
|
64
75
|
traceId: string | null;
|
|
76
|
+
/**
|
|
77
|
+
* When a `daily-limit` allowance resets (ISO-8601), as the refusal named it; null when it named
|
|
78
|
+
* none. Unvalidated here — `classifyTurnFailure` decides whether it can be shown.
|
|
79
|
+
*/
|
|
80
|
+
resetsAt: string | null;
|
|
65
81
|
}
|
|
66
82
|
/** Every `extensions` object reachable on an error — the hosts `codesIn` walks. */
|
|
67
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqBH;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsB7D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,CAAC;AA0C3E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAatE;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;IACvB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,mFAAmF;AACnF;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAmB5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAoB5E;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"}
|