@burdenoff/fe-libs 2026.1005.4 → 2026.1006.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.
@@ -271,4 +271,7 @@ export * from './ui/AssistantChatArea';
271
271
  export * from './ui/AIAssistantPanel';
272
272
  export * from './ui/assistantOverlayState';
273
273
  export * from './ui/AssistantOverlay';
274
+ export * from './workflowApi';
275
+ export * from './ui/WorkflowAssistantPanel';
276
+ export * from './speech/notifyCancellationSpeechEngine';
274
277
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/assistant/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/createSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,GAAG,IAAI,CA2BP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,kBAA6C,GAAG;IAC1F,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CASA;AAiBD,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}
1
+ {"version":3,"file":"createSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/createSpeechEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAqBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,GAAG,IAAI,CA2BP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,IAAI,kBAAkB,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,kBAA6C,GAAG;IAC1F,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC,CASA;AAiBD,wBAAgB,eAAe,IAAI,YAAY,CAO9C;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKtE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC"}
@@ -1,57 +1,58 @@
1
- import { browserSpeechEngine as e } from "./browserSpeechEngine.js";
2
- import { createHostedTtsEngine as t } from "./hostedTtsSpeechEngine.js";
3
- import { createRoutingSpeechEngine as n } from "./routingSpeechEngine.js";
1
+ import { notifyCancellationSpeechEngine as e } from "./notifyCancellationSpeechEngine.js";
2
+ import { browserSpeechEngine as t } from "./browserSpeechEngine.js";
3
+ import { createHostedTtsEngine as n } from "./hostedTtsSpeechEngine.js";
4
+ import { createRoutingSpeechEngine as r } from "./routingSpeechEngine.js";
4
5
  //#region src/shared/assistant/speech/createSpeechEngine.ts
5
- var r, i, a = () => i?.() ?? {};
6
- function o(e) {
6
+ var i, a, o = () => a?.() ?? {};
7
+ function s(e) {
7
8
  let t = e.ttsEndpoint?.trim() || void 0;
8
- if (t === r) {
9
- e.getHeaders && (i = e.getHeaders), t && p();
9
+ if (t === i) {
10
+ e.getHeaders && (a = e.getHeaders), t && m();
10
11
  return;
11
12
  }
12
- r = t, i = e.getHeaders, _();
13
+ i = t, a = e.getHeaders, v();
13
14
  }
14
- function s() {
15
- return r ? {
16
- endpoint: r,
17
- getHeaders: a
15
+ function c() {
16
+ return i ? {
17
+ endpoint: i,
18
+ getHeaders: o
18
19
  } : { endpoint: null };
19
20
  }
20
- function c(n = s()) {
21
+ function l(e = c()) {
21
22
  return {
22
- device: e,
23
- hosted: n.endpoint ? t({
24
- endpoint: n.endpoint,
25
- getHeaders: n.getHeaders,
26
- fetchImpl: n.fetchImpl
23
+ device: t,
24
+ hosted: e.endpoint ? n({
25
+ endpoint: e.endpoint,
26
+ getHeaders: e.getHeaders,
27
+ fetchImpl: e.fetchImpl
27
28
  }) : null
28
29
  };
29
30
  }
30
- var l = null, u = null;
31
- function d() {
32
- if (!l) {
33
- let e = c();
34
- u = e.hosted, l = n(e);
31
+ var u = null, d = null;
32
+ function f() {
33
+ if (!u) {
34
+ let t = l();
35
+ d = t.hosted, u = e(r(t));
35
36
  }
36
- return l;
37
+ return u;
37
38
  }
38
- var f = !1;
39
- function p() {
40
- f || (f = !0, queueMicrotask(() => {
41
- f = !1, u?.headersChanged();
39
+ var p = !1;
40
+ function m() {
41
+ p || (p = !0, queueMicrotask(() => {
42
+ p = !1, d?.headersChanged();
42
43
  }));
43
44
  }
44
- var m = /* @__PURE__ */ new Set(), h = !1;
45
- function g(e) {
46
- return m.add(e), () => {
47
- m.delete(e);
45
+ var h = /* @__PURE__ */ new Set(), g = !1;
46
+ function _(e) {
47
+ return h.add(e), () => {
48
+ h.delete(e);
48
49
  };
49
50
  }
50
- function _() {
51
- l = null, u = null, !h && (h = !0, queueMicrotask(() => {
52
- h = !1;
53
- for (let e of [...m]) e();
51
+ function v() {
52
+ u = null, d = null, !g && (g = !0, queueMicrotask(() => {
53
+ g = !1;
54
+ for (let e of [...h]) e();
54
55
  }));
55
56
  }
56
57
  //#endregion
57
- export { o as configureSpeechEngine, c as createSpeechEngines, d as getSpeechEngine, s as readSpeechEngineConfig, _ as resetSpeechEngine, g as subscribeSpeechEngine };
58
+ export { s as configureSpeechEngine, l as createSpeechEngines, f as getSpeechEngine, c as readSpeechEngineConfig, v as resetSpeechEngine, _ as subscribeSpeechEngine };
@@ -0,0 +1,4 @@
1
+ import { SpeechEngine } from './types';
2
+ /** Notify the displaced reader even when a platform cancel suppresses its end/error event. */
3
+ export declare function notifyCancellationSpeechEngine(engine: SpeechEngine): SpeechEngine;
4
+ //# sourceMappingURL=notifyCancellationSpeechEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notifyCancellationSpeechEngine.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/speech/notifyCancellationSpeechEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,SAAS,CAAC;AAEjE,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAwCjF"}
@@ -0,0 +1,38 @@
1
+ //#region src/shared/assistant/speech/notifyCancellationSpeechEngine.ts
2
+ function e(e) {
3
+ let t = null, n = () => {
4
+ let n = t;
5
+ t = null, e.cancel(), n?.handlers.onError?.("cancelled");
6
+ };
7
+ return {
8
+ id: e.id,
9
+ isSupported: () => e.isSupported(),
10
+ listVoices: () => e.listVoices(),
11
+ subscribeVoices: (t) => e.subscribeVoices(t),
12
+ cancel: n,
13
+ speak(r, i, a = {}) {
14
+ n();
15
+ let o = { handlers: a };
16
+ t = o;
17
+ let s = (e) => {
18
+ t === o && (t = null, e ? a.onError?.(e) : a.onEnd?.());
19
+ };
20
+ try {
21
+ e.speak(r, i, {
22
+ onStart: () => {
23
+ t === o && a.onStart?.();
24
+ },
25
+ onChunkStart: (e) => {
26
+ t === o && a.onChunkStart?.(e);
27
+ },
28
+ onEnd: () => s(),
29
+ onError: (e) => s(e)
30
+ });
31
+ } catch {
32
+ s("unknown");
33
+ }
34
+ }
35
+ };
36
+ }
37
+ //#endregion
38
+ export { e as notifyCancellationSpeechEngine };
@@ -0,0 +1,14 @@
1
+ import { AssistantWorkflowClient, AssistantWorkflowTarget, WorkflowAssistantRequestContext } from '../workflowApi';
2
+ export interface WorkflowAssistantPanelProps {
3
+ target: AssistantWorkflowTarget;
4
+ context: Omit<WorkflowAssistantRequestContext, 'signal'>;
5
+ /** Used to reset local display state on account changes, never for authorization. */
6
+ ownerId: string;
7
+ title?: string;
8
+ description?: string;
9
+ client?: AssistantWorkflowClient;
10
+ voiceLanguage?: string;
11
+ }
12
+ /** Authenticated, course/agent-scoped workflow chat. Saved history remains server-owned. */
13
+ export declare function WorkflowAssistantPanel(props: WorkflowAssistantPanelProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=WorkflowAssistantPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowAssistantPanel.d.ts","sourceRoot":"","sources":["../../../../src/shared/assistant/ui/WorkflowAssistantPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,EACV,uBAAuB,EAIvB,+BAA+B,EAEhC,MAAM,gBAAgB,CAAC;AAMxB,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IACzD,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,4FAA4F;AAC5F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CAQxE"}
@@ -0,0 +1,425 @@
1
+ import { useVoiceInput as e } from "../voice/useVoiceInput.js";
2
+ import { getSpeechEngine as t, subscribeSpeechEngine as n } from "../speech/createSpeechEngine.js";
3
+ import { chunkForSpeech as r, toSpeakableText as i } from "../voice/speakableText.js";
4
+ import { AssistantWorkflowClient as a, isWorkflowAssistantAdmissionRefusal as o } from "../workflowApi.js";
5
+ import { useCallback as s, useEffect as c, useRef as l, useState as u, useSyncExternalStore as ee } from "react";
6
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
+ //#region src/shared/assistant/ui/WorkflowAssistantPanel.tsx
8
+ function p(e) {
9
+ let t = e.target.kind === "botmanor" ? e.target.agentId : e.target.courseId;
10
+ return /* @__PURE__ */ d(m, { ...e }, `${e.context.workspaceId}:${e.ownerId}:${e.target.kind}:${t}`);
11
+ }
12
+ function m({ target: p, context: m, ownerId: h, title: g = "AI assistant", description: _, client: te, voiceLanguage: ne }) {
13
+ let v = l(te ?? new a()), y = l(crypto.randomUUID()), re = l({
14
+ target: p,
15
+ context: m,
16
+ ownerId: h
17
+ }), b = l(null), [x, S] = u(!0), [C, w] = u(!1), T = l(null), E = l(!1), D = l(!1), [O, k] = u(!1), [A, j] = u([]), [M, N] = u(""), [ie, P] = u(null), [F, I] = u(!1), [L, R] = u(null), [z, B] = u(!1), [V, H] = u(null), [U, W] = u(null), G = s((e) => {
18
+ if (P(null), I(!!e?.turns.length), !e) {
19
+ y.current = crypto.randomUUID(), j([]), H(null);
20
+ return;
21
+ }
22
+ y.current = e.clientConversationId;
23
+ let t = e.turns.map((t) => ({
24
+ input: {
25
+ clientTurnId: t.receipt.clientTurnId,
26
+ clientConversationId: e.clientConversationId,
27
+ message: t.message
28
+ },
29
+ receipt: t.receipt
30
+ }));
31
+ e.pending && t.push({
32
+ input: e.pending,
33
+ receipt: null
34
+ }), j(t), H(e.pending), e.pending && W("A saved turn is pending. Recover it to check the answer.");
35
+ }, []), K = s(async (e, t, n = null) => {
36
+ let r = new AbortController();
37
+ b.current?.abort(), b.current = r, S(!0), w(!1), W(null);
38
+ try {
39
+ let i = await v.current.conversation(e, {
40
+ ...t,
41
+ signal: r.signal
42
+ }, n);
43
+ if (n !== null && i === null) throw Error("Conversation unavailable");
44
+ r.signal.aborted || G(i);
45
+ } catch {
46
+ r.signal.aborted || (w(!0), W("Your conversation is unavailable. Reload it before sending another question."));
47
+ } finally {
48
+ b.current === r && !r.signal.aborted && S(!1);
49
+ }
50
+ }, [G]);
51
+ c(() => {
52
+ let e = re.current;
53
+ return e.context.workspaceId && e.ownerId ? K(e.target, e.context) : S(!1), () => b.current?.abort();
54
+ }, [K]);
55
+ let q = async (e = null) => {
56
+ if (E.current || D.current || x || V || $.isActive) return;
57
+ let t = new AbortController();
58
+ b.current?.abort(), b.current = t, S(!0);
59
+ try {
60
+ let n = await v.current.conversations(p, {
61
+ ...m,
62
+ signal: t.signal
63
+ }, e);
64
+ t.signal.aborted || R((t) => ({
65
+ nodes: e && t ? [...t.nodes, ...n.nodes.filter((e) => !t.nodes.some((t) => t.clientConversationId === e.clientConversationId))].slice(-100) : n.nodes,
66
+ nextCursor: n.nextCursor
67
+ }));
68
+ } catch {
69
+ t.signal.aborted || W("Conversation history is unavailable. Try loading it again.");
70
+ } finally {
71
+ !t.signal.aborted && b.current === t && S(!1);
72
+ }
73
+ }, ae = async () => {
74
+ if (E.current || D.current || x || V || $.isActive || !F || A.length >= 200) return;
75
+ let e = new AbortController();
76
+ b.current?.abort(), b.current = e;
77
+ let t = y.current;
78
+ S(!0);
79
+ try {
80
+ let n = await v.current.messages(p, {
81
+ ...m,
82
+ signal: e.signal
83
+ }, t, ie);
84
+ !e.signal.aborted && t === y.current && (j((e) => [...n.turns.filter((t) => !e.some((e) => e.input.clientTurnId === t.receipt.clientTurnId)).map((e) => ({
85
+ input: {
86
+ clientTurnId: e.receipt.clientTurnId,
87
+ clientConversationId: t,
88
+ message: e.message
89
+ },
90
+ receipt: e.receipt
91
+ })), ...e]), P(n.nextCursor), I(n.nextCursor !== null));
92
+ } catch {
93
+ e.signal.aborted || W("Older messages are unavailable. Try loading them again.");
94
+ } finally {
95
+ !e.signal.aborted && b.current === e && S(!1);
96
+ }
97
+ }, J = l(null), Y = ee(n, t, t), X = l(!1), Z = l(0), [oe, Q] = u(!1), $ = e({
98
+ language: ne,
99
+ onFinalize: (e) => N((t) => `${t}${t.trim() ? " " : ""}${e}`.slice(0, 8192))
100
+ });
101
+ c(() => () => {
102
+ X.current && (Z.current += 1, X.current = !1, Y.cancel());
103
+ }, [Y]);
104
+ let se = (e) => {
105
+ if ($.isActive) return;
106
+ let t = ++Z.current;
107
+ X.current = !0, Q(!0), Y.speak(r(i(e)), {
108
+ voice: null,
109
+ lang: $.language
110
+ }, {
111
+ onEnd: () => {
112
+ t === Z.current && (X.current = !1, Q(!1));
113
+ },
114
+ onError: (e) => {
115
+ t === Z.current && (X.current = !1, Q(!1), e !== "cancelled" && W("Audio playback is unavailable. You can read the answer above."));
116
+ }
117
+ });
118
+ }, ce = () => {
119
+ X.current && Y.cancel(), $.toggle();
120
+ };
121
+ c(() => () => T.current?.abort(), []), c(() => {
122
+ J.current?.scrollTo({
123
+ top: J.current.scrollHeight,
124
+ behavior: "smooth"
125
+ });
126
+ }, [A, z]);
127
+ let le = (e, t) => {
128
+ j((n) => n.map((n) => n.input.clientTurnId === e.clientTurnId ? {
129
+ ...n,
130
+ receipt: t
131
+ } : n));
132
+ }, ue = async (e, t = !1) => {
133
+ if (E.current || D.current || !m.workspaceId || !h) return;
134
+ E.current = !0, B(!0), W(null), H(e);
135
+ let n = new AbortController();
136
+ T.current = n;
137
+ let r = {
138
+ ...m,
139
+ signal: n.signal
140
+ }, i = !0;
141
+ try {
142
+ let a = t ? await v.current.read(p, e.clientTurnId, r) : null;
143
+ (!a || a.status === "READY") && await v.current.start(p, e, r), i = !1;
144
+ let o = await v.current.wait(p, e.clientTurnId, r, { onProgress: (t) => {
145
+ n.signal.aborted || le(e, t);
146
+ } });
147
+ if (n.signal.aborted) return;
148
+ o.kind === "completed" ? H(null) : o.kind === "terminal" ? (H(null), W(o.receipt.status === "UNKNOWN" ? "This turn could not be confirmed. It will not be generated again automatically." : o.receipt.status === "CANCELLED" ? "This turn was cancelled." : "The assistant could not complete this turn.")) : W("Your answer is still pending. Recover this turn to check it again.");
149
+ } catch (e) {
150
+ n.signal.aborted || (i && o(e) ? (H(null), W("The assistant could not accept this question. Check your access, available quota or assistant configuration.")) : W("The connection was interrupted. Recover this turn using the same request."));
151
+ } finally {
152
+ T.current === n && (T.current = null, E.current = !1, B(!1));
153
+ }
154
+ }, de = () => {
155
+ if (x || C || !M.trim() || E.current || D.current || $.isActive || V || M.length > 8192) return;
156
+ X.current && Y.cancel();
157
+ let e = {
158
+ clientTurnId: crypto.randomUUID(),
159
+ clientConversationId: y.current,
160
+ message: M.trim()
161
+ };
162
+ j((t) => [...t, {
163
+ input: e,
164
+ receipt: null
165
+ }]), N(""), ue(e);
166
+ }, fe = async () => {
167
+ let e = V;
168
+ if (!(!e || D.current)) {
169
+ D.current = !0, k(!0), T.current?.abort();
170
+ try {
171
+ await v.current.cancel(e.clientTurnId, m) ? (j((t) => t.map((t) => t.input.clientTurnId === e.clientTurnId && t.receipt ? {
172
+ ...t,
173
+ receipt: {
174
+ ...t.receipt,
175
+ status: "CANCELLED",
176
+ partialMessage: null,
177
+ result: null
178
+ }
179
+ } : t)), H(null), W("This turn was cancelled.")) : W("Cancellation could not be confirmed. Recover the saved turn to check its result.");
180
+ } catch {
181
+ W("Cancellation could not be confirmed. Recover the saved turn to check its result.");
182
+ } finally {
183
+ D.current = !1, k(!1);
184
+ }
185
+ }
186
+ };
187
+ return /* @__PURE__ */ f("section", {
188
+ "aria-label": g,
189
+ className: "flex flex-col overflow-hidden rounded-xl border border-border-seam bg-bg-surface",
190
+ children: [
191
+ /* @__PURE__ */ f("header", {
192
+ className: "border-b border-border-seam px-4 py-3",
193
+ children: [
194
+ /* @__PURE__ */ d("h2", {
195
+ className: "text-sm font-semibold text-text-primary",
196
+ children: g
197
+ }),
198
+ _ && /* @__PURE__ */ d("p", {
199
+ className: "text-xs text-text-secondary",
200
+ children: _
201
+ }),
202
+ /* @__PURE__ */ f("div", {
203
+ className: "mt-2 flex flex-wrap gap-2",
204
+ children: [/* @__PURE__ */ d("button", {
205
+ type: "button",
206
+ disabled: x || z || O || !!V || $.isActive || !m.workspaceId || !h,
207
+ onClick: () => {
208
+ b.current?.abort(), X.current && Y.cancel(), G(null), N(""), W(null), w(!1), R(null);
209
+ },
210
+ className: "rounded-lg border border-border-seam px-2 py-1 text-xs",
211
+ children: "New chat"
212
+ }), /* @__PURE__ */ d("button", {
213
+ type: "button",
214
+ disabled: x || z || O || !!V || $.isActive || !m.workspaceId || !h,
215
+ onClick: () => void q(),
216
+ className: "rounded-lg border border-border-seam px-2 py-1 text-xs",
217
+ children: "Saved conversations"
218
+ })]
219
+ }),
220
+ L && /* @__PURE__ */ f("nav", {
221
+ "aria-label": "Saved assistant conversations",
222
+ className: "mt-2 max-h-40 overflow-auto",
223
+ children: [
224
+ /* @__PURE__ */ d("ul", { children: L.nodes.map((e) => /* @__PURE__ */ d("li", { children: /* @__PURE__ */ d("button", {
225
+ type: "button",
226
+ disabled: x || z || O || !!V || $.isActive,
227
+ "aria-current": e.clientConversationId === y.current ? "true" : void 0,
228
+ onClick: () => {
229
+ X.current && Y.cancel(), N(""), K(p, m, e.clientConversationId);
230
+ },
231
+ className: "rounded-lg px-2 py-1 text-xs",
232
+ children: new Date(e.createdAt).toLocaleString()
233
+ }) }, e.clientConversationId)) }),
234
+ L.nodes.length === 0 && /* @__PURE__ */ d("p", {
235
+ className: "text-xs",
236
+ children: "No saved conversations."
237
+ }),
238
+ L.nextCursor && /* @__PURE__ */ d("button", {
239
+ type: "button",
240
+ disabled: x || z || O || !!V || $.isActive,
241
+ onClick: () => void q(L.nextCursor),
242
+ className: "rounded-lg border border-border-seam px-2 py-1 text-xs",
243
+ children: "Load older conversations"
244
+ })
245
+ ]
246
+ })
247
+ ]
248
+ }),
249
+ /* @__PURE__ */ f("div", {
250
+ ref: J,
251
+ role: "log",
252
+ "aria-label": "Assistant conversation",
253
+ "aria-live": "polite",
254
+ className: "max-h-96 min-h-40 overflow-y-auto p-4",
255
+ children: [
256
+ x && /* @__PURE__ */ d("p", {
257
+ role: "status",
258
+ className: "text-sm text-text-secondary",
259
+ children: "Loading your conversation…"
260
+ }),
261
+ !x && A.length === 0 && /* @__PURE__ */ d("p", {
262
+ className: "text-sm text-text-secondary",
263
+ children: "Ask a question about the available content."
264
+ }),
265
+ F && A.length < 200 && /* @__PURE__ */ d("button", {
266
+ type: "button",
267
+ onClick: () => void ae(),
268
+ disabled: x || z || O || !!V || $.isActive,
269
+ className: "mb-4 text-sm underline",
270
+ children: "Load older messages"
271
+ }),
272
+ /* @__PURE__ */ d("ol", {
273
+ className: "space-y-4",
274
+ children: A.map((e) => /* @__PURE__ */ f("li", { children: [
275
+ /* @__PURE__ */ d("p", {
276
+ className: "text-xs font-semibold text-text-primary",
277
+ children: "You"
278
+ }),
279
+ /* @__PURE__ */ d("p", {
280
+ className: "whitespace-pre-wrap break-words text-sm text-text-secondary",
281
+ children: e.input.message
282
+ }),
283
+ e.receipt?.status === "RUNNING" && e.receipt.partialMessage && /* @__PURE__ */ f("div", {
284
+ className: "mt-3",
285
+ children: [/* @__PURE__ */ d("p", {
286
+ className: "text-xs text-text-secondary",
287
+ children: "Generating answer…"
288
+ }), /* @__PURE__ */ d("p", {
289
+ className: "whitespace-pre-wrap break-words text-sm text-text-secondary",
290
+ children: e.receipt.partialMessage
291
+ })]
292
+ }),
293
+ e.receipt?.status === "COMPLETED" && e.receipt.result && /* @__PURE__ */ f("div", {
294
+ className: "mt-3",
295
+ children: [
296
+ /* @__PURE__ */ d("p", {
297
+ className: "text-xs font-semibold text-text-primary",
298
+ children: g
299
+ }),
300
+ /* @__PURE__ */ d("p", {
301
+ className: "whitespace-pre-wrap break-words text-sm text-text-secondary",
302
+ children: e.receipt.result.message
303
+ }),
304
+ Y.isSupported() && /* @__PURE__ */ d("button", {
305
+ type: "button",
306
+ onClick: () => {
307
+ let t = e.receipt?.result;
308
+ t && se(t.message);
309
+ },
310
+ disabled: $.isActive,
311
+ className: "mt-2 rounded-lg border border-border-seam px-2 py-1 text-xs",
312
+ children: "Read answer aloud"
313
+ }),
314
+ e.receipt.result.sources.length > 0 && /* @__PURE__ */ d("ul", {
315
+ "aria-label": "Answer sources",
316
+ className: "mt-2 space-y-1 text-xs text-text-secondary",
317
+ children: e.receipt.result.sources.map((e) => /* @__PURE__ */ f("li", {
318
+ title: e.documentId,
319
+ children: [
320
+ "[",
321
+ e.reference,
322
+ "] Source ",
323
+ e.documentId
324
+ ]
325
+ }, `${e.reference}:${e.chunkId}`))
326
+ })
327
+ ]
328
+ })
329
+ ] }, e.input.clientTurnId))
330
+ }),
331
+ z && /* @__PURE__ */ d("p", {
332
+ role: "status",
333
+ className: "mt-3 text-sm text-text-secondary",
334
+ children: "Preparing your answer…"
335
+ })
336
+ ]
337
+ }),
338
+ /* @__PURE__ */ f("div", {
339
+ className: "border-t border-border-seam p-3",
340
+ children: [
341
+ $.interim && /* @__PURE__ */ d("p", {
342
+ role: "status",
343
+ className: "mb-2 text-sm text-text-secondary",
344
+ children: $.interim
345
+ }),
346
+ $.error && /* @__PURE__ */ d("p", {
347
+ role: "status",
348
+ className: "mb-2 text-sm text-text-secondary",
349
+ children: "Dictation is unavailable. You can type your question."
350
+ }),
351
+ U && /* @__PURE__ */ d("p", {
352
+ role: "status",
353
+ className: "mb-2 text-sm text-text-secondary",
354
+ children: U
355
+ }),
356
+ /* @__PURE__ */ d("label", {
357
+ className: "sr-only",
358
+ htmlFor: `assistant-question-${y.current}`,
359
+ children: "Question"
360
+ }),
361
+ /* @__PURE__ */ d("textarea", {
362
+ id: `assistant-question-${y.current}`,
363
+ value: M,
364
+ onChange: (e) => N(e.target.value),
365
+ onKeyDown: (e) => {
366
+ e.key === "Enter" && !e.shiftKey && !e.nativeEvent.isComposing && (e.preventDefault(), de());
367
+ },
368
+ maxLength: 8192,
369
+ rows: 2,
370
+ placeholder: "Ask a question…",
371
+ disabled: x || C || z || O || !!V || !m.workspaceId || !h,
372
+ className: "w-full rounded-lg border border-border-seam bg-bg-sunken p-2 text-sm text-text-primary"
373
+ }),
374
+ /* @__PURE__ */ f("div", {
375
+ className: "mt-2 flex flex-wrap justify-end gap-2",
376
+ children: [
377
+ $.isSupported && /* @__PURE__ */ d("button", {
378
+ type: "button",
379
+ onClick: ce,
380
+ disabled: x || C || z || O || !!V,
381
+ "aria-pressed": $.isActive,
382
+ className: "rounded-lg border border-border-seam px-3 py-2 text-sm",
383
+ children: $.isActive ? "Stop dictation" : "Dictate question"
384
+ }),
385
+ oe && /* @__PURE__ */ d("button", {
386
+ type: "button",
387
+ onClick: () => Y.cancel(),
388
+ className: "rounded-lg border border-border-seam px-3 py-2 text-sm",
389
+ children: "Stop audio"
390
+ }),
391
+ C && !x && /* @__PURE__ */ d("button", {
392
+ type: "button",
393
+ onClick: () => void K(p, m),
394
+ className: "rounded-lg border border-border-seam px-3 py-2 text-sm",
395
+ children: "Reload conversation"
396
+ }),
397
+ V && !z && !O && /* @__PURE__ */ d("button", {
398
+ type: "button",
399
+ onClick: () => void ue(V, !0),
400
+ className: "rounded-lg border border-border-seam px-3 py-2 text-sm",
401
+ children: "Recover turn"
402
+ }),
403
+ V && /* @__PURE__ */ d("button", {
404
+ type: "button",
405
+ onClick: () => void fe(),
406
+ disabled: O,
407
+ className: "rounded-lg border border-border-seam px-3 py-2 text-sm",
408
+ children: "Cancel turn"
409
+ }),
410
+ /* @__PURE__ */ d("button", {
411
+ type: "button",
412
+ onClick: de,
413
+ disabled: !M.trim() || $.isActive || O || x || C || z || !!V || !m.workspaceId || !h,
414
+ className: "rounded-lg bg-[var(--color-accent-soft)] px-3 py-2 text-sm disabled:opacity-50",
415
+ children: "Ask"
416
+ })
417
+ ]
418
+ })
419
+ ]
420
+ })
421
+ ]
422
+ });
423
+ }
424
+ //#endregion
425
+ export { p as WorkflowAssistantPanel };