@burdenoff/fe-libs 2026.920.1 → 2026.920.3
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 +17 -0
- package/dist/shared/assistant/api.d.ts.map +1 -1
- package/dist/shared/assistant/api.js +88 -66
- package/dist/shared/assistant/attachmentTurn.d.ts +21 -0
- package/dist/shared/assistant/attachmentTurn.d.ts.map +1 -0
- package/dist/shared/assistant/attachmentTurn.js +48 -0
- package/dist/shared/assistant/attachments.d.ts +85 -6
- package/dist/shared/assistant/attachments.d.ts.map +1 -1
- package/dist/shared/assistant/attachments.js +165 -112
- package/dist/shared/assistant/conversation.d.ts +21 -0
- package/dist/shared/assistant/conversation.d.ts.map +1 -1
- package/dist/shared/assistant/documentExtract.d.ts +11 -2
- package/dist/shared/assistant/documentExtract.d.ts.map +1 -1
- package/dist/shared/assistant/documentExtract.js +39 -37
- package/dist/shared/assistant/gatewayLimits.d.ts +10 -0
- package/dist/shared/assistant/gatewayLimits.d.ts.map +1 -1
- package/dist/shared/assistant/gatewayLimits.js +2 -2
- package/dist/shared/assistant/index.d.ts +3 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/preview/bridgeHost.d.ts +26 -0
- package/dist/shared/assistant/preview/bridgeHost.d.ts.map +1 -0
- package/dist/shared/assistant/preview/bridgeHost.js +16 -0
- package/dist/shared/assistant/preview/bridgeHostContext.d.ts +17 -0
- package/dist/shared/assistant/preview/bridgeHostContext.d.ts.map +1 -0
- package/dist/shared/assistant/preview/bridgeHostContext.js +11 -0
- package/dist/shared/assistant/preview/useAssistantPreviewBridge.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AIAssistantPanel.d.ts +4 -0
- package/dist/shared/assistant/ui/AIAssistantPanel.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AIAssistantPanel.js +63 -62
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +342 -325
- package/dist/shared/assistant/ui/AssistantOverlay.d.ts +6 -0
- package/dist/shared/assistant/ui/AssistantOverlay.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantOverlay.js +93 -89
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts +12 -0
- package/dist/shared/assistant/ui/composer/AssistantComposer.d.ts.map +1 -1
- package/dist/shared/assistant/ui/composer/AssistantComposer.js +57 -57
- package/dist/shared/assistant/useAssistantAttachments.d.ts +12 -1
- package/dist/shared/assistant/useAssistantAttachments.d.ts.map +1 -1
- package/dist/shared/assistant/useAssistantAttachments.js +98 -98
- package/dist/shared-assistant.js +118 -115
- package/package.json +1 -1
|
@@ -21,107 +21,109 @@ async function f() {
|
|
|
21
21
|
let [e, t] = await Promise.all([import("../../node_modules/pdfjs-dist/build/pdf.js"), import("../../node_modules/pdfjs-dist/build/pdf.worker.min.js")]);
|
|
22
22
|
return globalThis.pdfjsWorker = t, e;
|
|
23
23
|
}
|
|
24
|
-
async function p(e) {
|
|
25
|
-
let
|
|
24
|
+
async function p(e, t) {
|
|
25
|
+
let r = (await f()).getDocument({
|
|
26
26
|
data: e,
|
|
27
27
|
disableFontFace: !0,
|
|
28
28
|
useSystemFonts: !1
|
|
29
|
-
}),
|
|
29
|
+
}), i;
|
|
30
30
|
try {
|
|
31
|
-
|
|
31
|
+
i = await r.promise;
|
|
32
32
|
} catch (e) {
|
|
33
|
-
return await
|
|
33
|
+
return await r.destroy().catch(() => void 0), (e instanceof Error ? e.name : "") === "PasswordException" ? { extraction: { status: "encrypted" } } : { extraction: {
|
|
34
34
|
status: "corrupt",
|
|
35
35
|
detail: d(e)
|
|
36
36
|
} };
|
|
37
37
|
}
|
|
38
|
-
let
|
|
38
|
+
let a = i.numPages, s = Math.min(a, 100), c = [];
|
|
39
39
|
try {
|
|
40
40
|
let e = 0;
|
|
41
|
-
for (let t = 1; t <=
|
|
42
|
-
let n = await
|
|
43
|
-
if (n.cleanup(),
|
|
41
|
+
for (let t = 1; t <= s; t += 1) {
|
|
42
|
+
let n = await i.getPage(t), r = o((await n.getTextContent()).items);
|
|
43
|
+
if (n.cleanup(), c.push(r), e += r.length, e >= 2e5) break;
|
|
44
44
|
}
|
|
45
45
|
} catch (e) {
|
|
46
|
-
if (
|
|
46
|
+
if (c.length === 0) return { extraction: {
|
|
47
47
|
status: "corrupt",
|
|
48
48
|
detail: d(e)
|
|
49
49
|
} };
|
|
50
50
|
} finally {
|
|
51
|
-
await
|
|
51
|
+
await r.destroy().catch(() => void 0);
|
|
52
52
|
}
|
|
53
|
-
return n(
|
|
53
|
+
return n(c, a, c.length, t);
|
|
54
54
|
}
|
|
55
55
|
async function m(e, t) {
|
|
56
56
|
let { unzipSync: n, strFromU8: r } = await import("../../node_modules/fflate/esm/browser.js"), i = n(e, { filter: (e) => t(e.name) }), a = {};
|
|
57
57
|
for (let [e, t] of Object.entries(i)) a[e] = r(t);
|
|
58
58
|
return a;
|
|
59
59
|
}
|
|
60
|
-
async function h(n) {
|
|
60
|
+
async function h(n, r) {
|
|
61
61
|
if (u(n)) return { extraction: {
|
|
62
62
|
status: "corrupt",
|
|
63
63
|
detail: "not an Office Open XML file — an OLE container, i.e. password-protected or a legacy .doc"
|
|
64
64
|
} };
|
|
65
|
-
let
|
|
65
|
+
let i;
|
|
66
66
|
try {
|
|
67
|
-
|
|
67
|
+
i = await m(n, (e) => e === "word/document.xml");
|
|
68
68
|
} catch (e) {
|
|
69
69
|
return { extraction: {
|
|
70
70
|
status: "corrupt",
|
|
71
71
|
detail: d(e)
|
|
72
72
|
} };
|
|
73
73
|
}
|
|
74
|
-
let
|
|
75
|
-
|
|
74
|
+
let a = i["word/document.xml"];
|
|
75
|
+
if (!a) return { extraction: {
|
|
76
76
|
status: "corrupt",
|
|
77
77
|
detail: "no word/document.xml inside the file"
|
|
78
78
|
} };
|
|
79
|
+
let o = t(a);
|
|
80
|
+
return _(o.slice(0, e), r, o.length);
|
|
79
81
|
}
|
|
80
|
-
async function g(t) {
|
|
82
|
+
async function g(t, n) {
|
|
81
83
|
if (u(t)) return { extraction: {
|
|
82
84
|
status: "corrupt",
|
|
83
85
|
detail: "not an Office Open XML file — an OLE container, i.e. password-protected or a legacy .xls"
|
|
84
86
|
} };
|
|
85
|
-
let
|
|
87
|
+
let o;
|
|
86
88
|
try {
|
|
87
|
-
|
|
89
|
+
o = await m(t, (e) => e === "xl/workbook.xml" || e === "xl/_rels/workbook.xml.rels" || e === "xl/sharedStrings.xml" || e.startsWith("xl/worksheets/"));
|
|
88
90
|
} catch (e) {
|
|
89
91
|
return { extraction: {
|
|
90
92
|
status: "corrupt",
|
|
91
93
|
detail: d(e)
|
|
92
94
|
} };
|
|
93
95
|
}
|
|
94
|
-
let
|
|
95
|
-
if (!
|
|
96
|
+
let c = o["xl/workbook.xml"];
|
|
97
|
+
if (!c) return { extraction: {
|
|
96
98
|
status: "corrupt",
|
|
97
99
|
detail: "no xl/workbook.xml inside the file"
|
|
98
100
|
} };
|
|
99
|
-
let
|
|
101
|
+
let l = i(o["xl/sharedStrings.xml"] ?? ""), f = a(c, o["xl/_rels/workbook.xml.rels"] ?? "").map((e) => ({
|
|
100
102
|
name: e.name,
|
|
101
|
-
rows: e.path &&
|
|
102
|
-
})), f = _(
|
|
103
|
-
return
|
|
103
|
+
rows: e.path && o[e.path] ? s(o[e.path], l) : []
|
|
104
|
+
})), p = r(f), h = _(p.slice(0, e), n, p.length), g = f.filter((e) => e.rows.length > 0).map((e) => e.name);
|
|
105
|
+
return g.length > 0 && (h.extraction.sheetNames = g), h;
|
|
104
106
|
}
|
|
105
|
-
function _(e) {
|
|
107
|
+
function _(e, t, n) {
|
|
106
108
|
if (e.trim() === "") return { extraction: { status: "no-text" } };
|
|
107
|
-
let
|
|
109
|
+
let r = e.length > t || n > e.length, i = e.slice(0, t), a = i.lastIndexOf("\n");
|
|
108
110
|
return {
|
|
109
111
|
extraction: {
|
|
110
112
|
status: "ok",
|
|
111
|
-
sourceChars:
|
|
113
|
+
sourceChars: n
|
|
112
114
|
},
|
|
113
|
-
textContent:
|
|
114
|
-
textTruncated:
|
|
115
|
+
textContent: r && a > t * .5 ? i.slice(0, a) : i,
|
|
116
|
+
textTruncated: r
|
|
115
117
|
};
|
|
116
118
|
}
|
|
117
|
-
async function v(e, t) {
|
|
118
|
-
let
|
|
119
|
-
return
|
|
119
|
+
async function v(e, t, n = c) {
|
|
120
|
+
let r = await y(e, t, n);
|
|
121
|
+
return r.extraction.format = t, r;
|
|
120
122
|
}
|
|
121
|
-
async function y(e, t) {
|
|
123
|
+
async function y(e, t, n) {
|
|
122
124
|
try {
|
|
123
|
-
let
|
|
124
|
-
return t === "pdf" ? await p(n) : t === "docx" ? await h(n) : await g(n);
|
|
125
|
+
let r = new Uint8Array(await e.arrayBuffer());
|
|
126
|
+
return t === "pdf" ? await p(r, n) : t === "docx" ? await h(r, n) : await g(r, n);
|
|
125
127
|
} catch (e) {
|
|
126
128
|
return { extraction: {
|
|
127
129
|
status: "corrupt",
|
|
@@ -14,6 +14,16 @@
|
|
|
14
14
|
* Anything that POSTs base64 from the browser has to be sized against this.
|
|
15
15
|
*/
|
|
16
16
|
export declare const MAX_REQUEST_BODY_BYTES = 262144;
|
|
17
|
+
/**
|
|
18
|
+
* What the person is told when a turn cannot be made to fit.
|
|
19
|
+
*
|
|
20
|
+
* ★ Shared by the planner that sizes a turn and by the dispatch belt in
|
|
21
|
+
* `api.ts`, because they are the same refusal seen from two places and must not
|
|
22
|
+
* drift into two different sentences. It names the two things the person can
|
|
23
|
+
* actually do — the gateway's own 413 reaches `graphqlFetch` as "The request
|
|
24
|
+
* could not be processed. Please refresh and try again.", which names neither.
|
|
25
|
+
*/
|
|
26
|
+
export declare const REQUEST_TOO_LARGE_REFUSAL = "This message is too large to send. Shorten it or send fewer attachments.";
|
|
17
27
|
/**
|
|
18
28
|
* What is left for a base64 image once the rest of a GraphQL request is paid
|
|
19
29
|
* for: the query document, operation name, variables, and the workspace/org
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatewayLimits.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/gatewayLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"gatewayLimits.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/gatewayLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,6EACsC,CAAC;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,QAAkC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
//#region src/shared/assistant/gatewayLimits.ts
|
|
2
|
-
var e = 262144, t = e - 32768;
|
|
2
|
+
var e = 262144, t = "This message is too large to send. Shorten it or send fewer attachments.", n = e - 32768;
|
|
3
3
|
//#endregion
|
|
4
|
-
export {
|
|
4
|
+
export { n as MAX_INLINE_IMAGE_BASE64_BYTES, e as MAX_REQUEST_BODY_BYTES, t as REQUEST_TOO_LARGE_REFUSAL };
|
|
@@ -69,6 +69,7 @@ export * from './modeCopy';
|
|
|
69
69
|
export * from './modeIds';
|
|
70
70
|
export * from './modeCapabilities';
|
|
71
71
|
export * from './adminModeSendGate';
|
|
72
|
+
export * from './attachmentTurn';
|
|
72
73
|
export * from './writeModeConsent';
|
|
73
74
|
export * from './voice/speechLabels';
|
|
74
75
|
export * from './voice/replyLanguage';
|
|
@@ -119,6 +120,8 @@ export * from './ui/useDropdownEscape';
|
|
|
119
120
|
export * from './ui/useOverlayFocus';
|
|
120
121
|
export * from './ui/usePrefersReducedMotion';
|
|
121
122
|
export * from './preview/useAssistantPreviewBridge';
|
|
123
|
+
export * from './preview/bridgeHost';
|
|
124
|
+
export * from './preview/bridgeHostContext';
|
|
122
125
|
export * from './preview/AssistantPreviewOverlay';
|
|
123
126
|
export * from './ui/composer/AssistantLanguageSelector';
|
|
124
127
|
export * from './ui/composer/AssistantModeSelector';
|
|
@@ -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;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,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,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,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,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;AAGzC,cAAc,WAAW,CAAC;AAE1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AAErC,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;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAE1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,OAAO,CAAC;AACtB,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { AssistantPreviewController } from './types';
|
|
3
|
+
export interface AssistantPreviewBridgeHostProps {
|
|
4
|
+
/**
|
|
5
|
+
* The product's preview controller — the SAME object passed to the panel as
|
|
6
|
+
* `preview`, or the panel runs a second bridge. Keep it stable across renders
|
|
7
|
+
* (see `AssistantPreviewController`). Absent: nothing is bridged here.
|
|
8
|
+
*/
|
|
9
|
+
preview?: AssistantPreviewController | null;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Run the preview bridge for `preview` for as long as THIS is mounted, and tell
|
|
14
|
+
* any panel below that it need not run one.
|
|
15
|
+
*
|
|
16
|
+
* `AssistantOverlay` mounts one for `panelProps.preview`, so a product that
|
|
17
|
+
* passes its controller that way gets a preview that keeps following a run
|
|
18
|
+
* after the assistant is closed. A host that mounts the panel itself can do the
|
|
19
|
+
* same by wrapping the place the panel comes and goes in this.
|
|
20
|
+
*
|
|
21
|
+
* ★ Unmounting THIS is still an ending: a run in flight gets `end(abandoned)`,
|
|
22
|
+
* as it did when the panel unmounted — the host has gone, and with it the only
|
|
23
|
+
* thing following the run.
|
|
24
|
+
*/
|
|
25
|
+
export declare const AssistantPreviewBridgeHost: FC<AssistantPreviewBridgeHostProps>;
|
|
26
|
+
//# sourceMappingURL=bridgeHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridgeHost.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/bridgeHost.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAiB1D,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,OAAO,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,EAAE,EAAE,CAAC,+BAA+B,CAW1E,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useAssistantPreviewBridge as e } from "./useAssistantPreviewBridge.js";
|
|
2
|
+
import { HostedPreviewBridgeContext as t } from "./bridgeHostContext.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/shared/assistant/preview/bridgeHost.tsx
|
|
5
|
+
function i({ controller: t }) {
|
|
6
|
+
return e(t), null;
|
|
7
|
+
}
|
|
8
|
+
var a = ({ preview: e, children: a }) => {
|
|
9
|
+
let o = e ?? null;
|
|
10
|
+
return /* @__PURE__ */ r(t.Provider, {
|
|
11
|
+
value: o,
|
|
12
|
+
children: [/* @__PURE__ */ n(i, { controller: o }), a]
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { a as AssistantPreviewBridgeHost };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AssistantPreviewController } from './types';
|
|
2
|
+
/** The controller an `AssistantPreviewBridgeHost` above bridges, or null. */
|
|
3
|
+
export declare const HostedPreviewBridgeContext: import('react').Context<AssistantPreviewController | null>;
|
|
4
|
+
/**
|
|
5
|
+
* The controller an ancestor already runs the bridge for, or null when none
|
|
6
|
+
* does.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useHostedAssistantPreviewBridge(): AssistantPreviewController | null;
|
|
9
|
+
/**
|
|
10
|
+
* The controller the PANEL should run its own bridge for: its `preview`, unless
|
|
11
|
+
* a host above it already runs the bridge for that very controller.
|
|
12
|
+
*
|
|
13
|
+
* ★ Identity, not presence. A host bridging controller A says nothing about a
|
|
14
|
+
* panel handed controller B; B still needs a bridge, and only the panel has it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function panelOwnedPreviewBridge(preview: AssistantPreviewController | null | undefined, hosted: AssistantPreviewController | null): AssistantPreviewController | null;
|
|
17
|
+
//# sourceMappingURL=bridgeHostContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridgeHostContext.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/bridgeHostContext.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAE1D,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,4DACiB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,0BAA0B,GAAG,IAAI,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,0BAA0B,GAAG,IAAI,GAAG,SAAS,EACtD,MAAM,EAAE,0BAA0B,GAAG,IAAI,GACxC,0BAA0B,GAAG,IAAI,CAGnC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "react";
|
|
2
|
+
//#region src/shared/assistant/preview/bridgeHostContext.ts
|
|
3
|
+
var n = e(null);
|
|
4
|
+
function r() {
|
|
5
|
+
return t(n);
|
|
6
|
+
}
|
|
7
|
+
function i(e, t) {
|
|
8
|
+
return e ? e === t ? null : e : null;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { n as HostedPreviewBridgeContext, i as panelOwnedPreviewBridge, r as useHostedAssistantPreviewBridge };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssistantPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/useAssistantPreviewBridge.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,0BAA0B,EAAyB,MAAM,SAAS,CAAC;AA2CjF,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAC5C,IAAI,
|
|
1
|
+
{"version":3,"file":"useAssistantPreviewBridge.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/preview/useAssistantPreviewBridge.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,0BAA0B,EAAyB,MAAM,SAAS,CAAC;AA2CjF,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,0BAA0B,GAAG,IAAI,GAC5C,IAAI,CA+MN"}
|
|
@@ -41,6 +41,10 @@ export type AIAssistantPanelProps = PanelProps & {
|
|
|
41
41
|
*
|
|
42
42
|
* ★ Absence is the off-switch — no controller, no toggle, no overlay and no
|
|
43
43
|
* events. There is deliberately no second flag that could disagree with it.
|
|
44
|
+
*
|
|
45
|
+
* ★★ Passed through `AssistantOverlay`'s `panelProps`, its events keep flowing
|
|
46
|
+
* after the panel closes: the overlay runs the bridge, and this panel then
|
|
47
|
+
* runs none for the same controller (BOFF-7367, see `bridgeHost.tsx`).
|
|
44
48
|
*/
|
|
45
49
|
preview?: AssistantPreviewController;
|
|
46
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"AIAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AIAssistantPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAU,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIvE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAkBrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGnE,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG;IAC/C,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,0BAA0B,CAAC;CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAiOtD,CAAC"}
|
|
@@ -7,86 +7,87 @@ import { AssistantConnectSourceProvider as a } from "./composer/connectSource.js
|
|
|
7
7
|
import { ASSISTANT_OVERLAY_ATTR as o, ASSISTANT_PANEL_ATTR as s, activePanelOverlay as c, escapeDismisses as l, nextPanelOverlays as u } from "./panelOverlays.js";
|
|
8
8
|
import { AssistantPreviewProvider as d } from "../preview/context.js";
|
|
9
9
|
import { useAssistantPreviewBridge as f } from "../preview/useAssistantPreviewBridge.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
10
|
+
import { panelOwnedPreviewBridge as p, useHostedAssistantPreviewBridge as m } from "../preview/bridgeHostContext.js";
|
|
11
|
+
import { AssistantPreviewOverlay as h } from "../preview/AssistantPreviewOverlay.js";
|
|
12
|
+
import { AssistantHeader as g } from "./AssistantHeader.js";
|
|
13
|
+
import { AssistantConversationList as _ } from "./AssistantConversationList.js";
|
|
14
|
+
import { useFilesServiceWarmup as v } from "../../../storage/warmFilesService.js";
|
|
15
|
+
import { useAssistantHeartbeat as y } from "../useAssistantHeartbeat.js";
|
|
16
|
+
import { useAssistantKeyboardShortcuts as b } from "../useAssistantKeyboardShortcuts.js";
|
|
17
|
+
import { AssistantChatArea as x } from "./AssistantChatArea.js";
|
|
18
|
+
import { useRef as S, useState as C } from "react";
|
|
19
|
+
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
19
20
|
//#region src/shared/assistant/ui/AIAssistantPanel.tsx
|
|
20
|
-
var
|
|
21
|
-
let
|
|
22
|
-
|
|
23
|
-
let
|
|
24
|
-
f(
|
|
25
|
-
let
|
|
26
|
-
historyOpen:
|
|
27
|
-
previewOpen:
|
|
28
|
-
}),
|
|
21
|
+
var E = ({ onClose: E, visible: D, docked: O, onToggleDock: k, writeAccess: A, onNavigate: j, connectSourceHref: M, preview: N }) => {
|
|
22
|
+
let P = t(), [F, I] = C(!1);
|
|
23
|
+
F && !N && I(!1);
|
|
24
|
+
let L = F && !!N;
|
|
25
|
+
f(p(N, m()));
|
|
26
|
+
let R = S(null), { conversations: z, activeConversationId: B, conversationListOpen: V, setConversationListOpen: H, createConversation: U } = r(), W = V || L, G = c({
|
|
27
|
+
historyOpen: V,
|
|
28
|
+
previewOpen: L
|
|
29
|
+
}), K = (e) => {
|
|
29
30
|
let t = u({
|
|
30
|
-
historyOpen:
|
|
31
|
-
previewOpen:
|
|
31
|
+
historyOpen: V,
|
|
32
|
+
previewOpen: L
|
|
32
33
|
}, e);
|
|
33
|
-
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
let
|
|
37
|
-
return
|
|
38
|
-
panelRef:
|
|
34
|
+
H(t.historyOpen), I(t.previewOpen);
|
|
35
|
+
}, q = z.find((e) => e.id === B);
|
|
36
|
+
y(q?.backendSessionId ?? null, q?.mode ?? null, D ?? !0), v(D ?? !0);
|
|
37
|
+
let J = e(D !== !1);
|
|
38
|
+
return b({
|
|
39
|
+
panelRef: R,
|
|
39
40
|
onClose: () => {
|
|
40
41
|
if (l({
|
|
41
|
-
historyOpen:
|
|
42
|
-
previewOpen:
|
|
42
|
+
historyOpen: V,
|
|
43
|
+
previewOpen: L
|
|
43
44
|
}) === "overlay") {
|
|
44
|
-
|
|
45
|
+
H(!1), I(!1);
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
E();
|
|
48
49
|
}
|
|
49
|
-
}), /* @__PURE__ */
|
|
50
|
-
visible:
|
|
51
|
-
children: /* @__PURE__ */
|
|
52
|
-
value:
|
|
53
|
-
children: /* @__PURE__ */
|
|
54
|
-
value:
|
|
55
|
-
children: /* @__PURE__ */
|
|
56
|
-
value:
|
|
57
|
-
children: /* @__PURE__ */
|
|
58
|
-
ref:
|
|
50
|
+
}), /* @__PURE__ */ w(i, {
|
|
51
|
+
visible: D ?? !0,
|
|
52
|
+
children: /* @__PURE__ */ w(d, {
|
|
53
|
+
value: N,
|
|
54
|
+
children: /* @__PURE__ */ w(n, {
|
|
55
|
+
value: j,
|
|
56
|
+
children: /* @__PURE__ */ w(a, {
|
|
57
|
+
value: M,
|
|
58
|
+
children: /* @__PURE__ */ T("div", {
|
|
59
|
+
ref: R,
|
|
59
60
|
className: "relative flex h-full w-full flex-col bg-bg-surface",
|
|
60
61
|
role: "complementary",
|
|
61
|
-
"aria-label":
|
|
62
|
+
"aria-label": P("panel.ariaLabel", "AI Assistant"),
|
|
62
63
|
"data-testid": "ai-assistant-panel",
|
|
63
64
|
[s]: "",
|
|
64
|
-
...
|
|
65
|
+
...G ? { [o]: G } : {},
|
|
65
66
|
tabIndex: -1,
|
|
66
67
|
children: [
|
|
67
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ w("div", {
|
|
68
69
|
className: "contents",
|
|
69
|
-
inert:
|
|
70
|
-
children: /* @__PURE__ */
|
|
71
|
-
contextLabel:
|
|
72
|
-
onNewConversation: () =>
|
|
73
|
-
onOpenHistory: () =>
|
|
74
|
-
historyOpen:
|
|
75
|
-
onTogglePreview: () =>
|
|
76
|
-
previewOpen:
|
|
77
|
-
onClose:
|
|
78
|
-
docked:
|
|
79
|
-
onToggleDock:
|
|
70
|
+
inert: W || void 0,
|
|
71
|
+
children: /* @__PURE__ */ w(g, {
|
|
72
|
+
contextLabel: J,
|
|
73
|
+
onNewConversation: () => U(),
|
|
74
|
+
onOpenHistory: () => K("history"),
|
|
75
|
+
historyOpen: V,
|
|
76
|
+
onTogglePreview: () => K("preview"),
|
|
77
|
+
previewOpen: L,
|
|
78
|
+
onClose: E,
|
|
79
|
+
docked: O,
|
|
80
|
+
onToggleDock: k
|
|
80
81
|
})
|
|
81
82
|
}),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
/* @__PURE__ */
|
|
83
|
+
V && /* @__PURE__ */ w(_, {}),
|
|
84
|
+
L && /* @__PURE__ */ w(h, { onClose: () => I(!1) }),
|
|
85
|
+
/* @__PURE__ */ w("div", {
|
|
85
86
|
className: "contents",
|
|
86
|
-
inert:
|
|
87
|
-
children: /* @__PURE__ */
|
|
88
|
-
visible:
|
|
89
|
-
writeAccess:
|
|
87
|
+
inert: W || void 0,
|
|
88
|
+
children: /* @__PURE__ */ w(x, {
|
|
89
|
+
visible: D ?? !0,
|
|
90
|
+
writeAccess: A
|
|
90
91
|
})
|
|
91
92
|
})
|
|
92
93
|
]
|
|
@@ -97,4 +98,4 @@ var w = ({ onClose: w, visible: T, docked: E, onToggleDock: D, writeAccess: O, o
|
|
|
97
98
|
});
|
|
98
99
|
};
|
|
99
100
|
//#endregion
|
|
100
|
-
export {
|
|
101
|
+
export { E as AIAssistantPanel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantChatArea.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/AssistantChatArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AA2Ef,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAyDvE;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA4uExD,CAAC"}
|