@epam/ai-dial-chat-hooks 1.2.0-dev.159 → 1.2.0-dev.162
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/conversation/useMessageSelectionReply/useMessageSelectionReply.js +189 -0
- package/conversation.d.ts +43 -0
- package/conversation.js +16 -15
- package/index.d.ts +43 -0
- package/index.js +63 -62
- package/package.json +18 -18
- package/usePageFileDrag/usePageFileDrag.js +3 -3
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useLayoutEffect as n, useMemo as r, useRef as i, useState as a } from "react";
|
|
2
|
+
//#region src/conversation/useMessageSelectionReply/useMessageSelectionReply.ts
|
|
3
|
+
var o = "button,input,textarea,select,iframe,[role=\"button\"],[contenteditable=\"true\"],[hidden],[inert],[aria-hidden=\"true\"]", s = [], c = (e, t) => e?.startContainer === t.startContainer && e.startOffset === t.startOffset && e.endContainer === t.endContainer && e.endOffset === t.endOffset, l = (e, t) => {
|
|
4
|
+
let n = window.visualViewport, r = n?.offsetLeft ?? 0, i = n?.offsetTop ?? 0, a = r + (n?.width ?? document.documentElement.clientWidth), o = i + (n?.height ?? document.documentElement.clientHeight);
|
|
5
|
+
for (let e = t; e; e = e.parentElement) {
|
|
6
|
+
let t = getComputedStyle(e);
|
|
7
|
+
if (t.display === "none" || t.visibility === "hidden") return;
|
|
8
|
+
let n = e.getBoundingClientRect();
|
|
9
|
+
/(hidden|clip|auto|scroll)/.test(t.overflowX) && (r = Math.max(r, n.left), a = Math.min(a, n.right)), /(hidden|clip|auto|scroll)/.test(t.overflowY) && (i = Math.max(i, n.top), o = Math.min(o, n.bottom));
|
|
10
|
+
}
|
|
11
|
+
return Array.from(e.getClientRects()).find((e) => e.width > 0 && e.height > 0 && e.left < a && e.right > r && e.top < o && e.bottom > i);
|
|
12
|
+
}, u = ({ conversationId: u, enabled: d, droppedFiles: f, onDroppedFilesConsumed: p }) => {
|
|
13
|
+
let m = i(/* @__PURE__ */ new Set()), h = i(null), g = i(null), _ = i(null), [v, y] = a(null), [b, x] = a({
|
|
14
|
+
conversationId: u,
|
|
15
|
+
files: []
|
|
16
|
+
}), [S, C] = a(), [w, T] = a(0), E = i(/* @__PURE__ */ new WeakSet()), D = i({
|
|
17
|
+
conversationId: u,
|
|
18
|
+
enabled: d
|
|
19
|
+
});
|
|
20
|
+
n(() => {
|
|
21
|
+
D.current = {
|
|
22
|
+
conversationId: u,
|
|
23
|
+
enabled: d
|
|
24
|
+
};
|
|
25
|
+
}, [u, d]);
|
|
26
|
+
let O = e(() => {
|
|
27
|
+
_.current = g.current?.range.cloneRange() ?? null, g.current = null, y(null);
|
|
28
|
+
}, []), k = e((e) => {
|
|
29
|
+
if (e) return m.current.add(e), () => {
|
|
30
|
+
m.current.delete(e), g.current?.body === e && O();
|
|
31
|
+
};
|
|
32
|
+
}, [O]);
|
|
33
|
+
t(() => {
|
|
34
|
+
O(), _.current = null, E.current = /* @__PURE__ */ new WeakSet(), x({
|
|
35
|
+
conversationId: u,
|
|
36
|
+
files: []
|
|
37
|
+
}), T(0), C(void 0);
|
|
38
|
+
}, [u, O]), t(() => {
|
|
39
|
+
if (!d) {
|
|
40
|
+
O(), x({
|
|
41
|
+
conversationId: u,
|
|
42
|
+
files: []
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
let e = 0, t = !1, n = !1, r = !1, i = () => {
|
|
47
|
+
if (e = 0, t || n || r || h.current?.contains(document.activeElement)) return;
|
|
48
|
+
let i = window.getSelection();
|
|
49
|
+
if (!i || i.rangeCount !== 1 || i.isCollapsed || !i.toString().trim()) {
|
|
50
|
+
O();
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
let a = i.getRangeAt(0);
|
|
54
|
+
if (c(_.current, a)) return;
|
|
55
|
+
let s = [...m.current].find((e) => e.contains(a.startContainer) && e.contains(a.endContainer));
|
|
56
|
+
if (!s || !s.isConnected) {
|
|
57
|
+
O();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
let d = a.cloneContents();
|
|
61
|
+
d.querySelectorAll(o).forEach((e) => e.remove());
|
|
62
|
+
let f = a.commonAncestorContainer;
|
|
63
|
+
if ((f instanceof Element ? f : f.parentElement)?.closest(o) || !d.textContent?.trim()) {
|
|
64
|
+
O();
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
let p = l(a, s);
|
|
68
|
+
if (!p) {
|
|
69
|
+
O();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
let v = {
|
|
73
|
+
conversationId: u,
|
|
74
|
+
body: s,
|
|
75
|
+
range: a.cloneRange(),
|
|
76
|
+
text: i.toString(),
|
|
77
|
+
rect: p
|
|
78
|
+
};
|
|
79
|
+
g.current = v, y(v);
|
|
80
|
+
}, a = () => {
|
|
81
|
+
e && cancelAnimationFrame(e), e = requestAnimationFrame(i);
|
|
82
|
+
}, s = () => {
|
|
83
|
+
e && cancelAnimationFrame(e), e = requestAnimationFrame(() => {
|
|
84
|
+
e = 0;
|
|
85
|
+
let t = g.current;
|
|
86
|
+
if (!t) return;
|
|
87
|
+
let n = l(t.range, t.body);
|
|
88
|
+
if (!n) O();
|
|
89
|
+
else {
|
|
90
|
+
let e = {
|
|
91
|
+
...t,
|
|
92
|
+
rect: n
|
|
93
|
+
};
|
|
94
|
+
g.current = e, y(e);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}, f = (e) => {
|
|
98
|
+
t = h.current?.contains(e.target) ?? !1, n = !t, t || (O(), [...m.current].some((t) => t.contains(e.target)) && (_.current = null));
|
|
99
|
+
}, p = () => {
|
|
100
|
+
n = !1, t || a(), t = !1;
|
|
101
|
+
}, v = () => {
|
|
102
|
+
n = !1, r = !1, t = !1, O();
|
|
103
|
+
let e = window.getSelection();
|
|
104
|
+
_.current = e?.rangeCount ? e.getRangeAt(0).cloneRange() : null;
|
|
105
|
+
}, b = (e) => {
|
|
106
|
+
if (!h.current?.contains(document.activeElement) && (e.shiftKey && [
|
|
107
|
+
"ArrowLeft",
|
|
108
|
+
"ArrowRight",
|
|
109
|
+
"ArrowUp",
|
|
110
|
+
"ArrowDown",
|
|
111
|
+
"Home",
|
|
112
|
+
"End",
|
|
113
|
+
"PageUp",
|
|
114
|
+
"PageDown"
|
|
115
|
+
].includes(e.key) || (e.ctrlKey || e.metaKey) && e.key.toLowerCase() === "a")) {
|
|
116
|
+
r = !0, O(), _.current = null;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (g.current) {
|
|
120
|
+
if (e.key === "Escape") {
|
|
121
|
+
O();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (e.key === "Tab" && !e.shiftKey && !h.current?.contains(document.activeElement)) {
|
|
125
|
+
let t = h.current?.querySelector("button");
|
|
126
|
+
t && (e.preventDefault(), t.focus());
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, S = (e) => {
|
|
130
|
+
r && !e.shiftKey && (r = !1), e.key !== "Escape" && e.key !== "Tab" && a();
|
|
131
|
+
}, C = new MutationObserver((e) => {
|
|
132
|
+
let t = g.current;
|
|
133
|
+
t && (!t.body.isConnected || e.some((e) => t.body.contains(e.target))) && O();
|
|
134
|
+
});
|
|
135
|
+
return C.observe(document.body, {
|
|
136
|
+
subtree: !0,
|
|
137
|
+
childList: !0,
|
|
138
|
+
characterData: !0,
|
|
139
|
+
attributes: !0,
|
|
140
|
+
attributeFilter: [
|
|
141
|
+
"class",
|
|
142
|
+
"style",
|
|
143
|
+
"hidden",
|
|
144
|
+
"inert"
|
|
145
|
+
]
|
|
146
|
+
}), document.addEventListener("selectionchange", a), document.addEventListener("pointerdown", f, !0), document.addEventListener("pointerup", p, !0), document.addEventListener("pointercancel", v, !0), window.addEventListener("blur", v), document.addEventListener("keydown", b), document.addEventListener("keyup", S), document.addEventListener("scroll", s, !0), window.addEventListener("resize", s), window.visualViewport?.addEventListener("resize", s), window.visualViewport?.addEventListener("scroll", s), () => {
|
|
147
|
+
cancelAnimationFrame(e), C.disconnect(), document.removeEventListener("selectionchange", a), document.removeEventListener("pointerdown", f, !0), document.removeEventListener("pointerup", p, !0), document.removeEventListener("pointercancel", v, !0), window.removeEventListener("blur", v), document.removeEventListener("keydown", b), document.removeEventListener("keyup", S), document.removeEventListener("scroll", s, !0), window.removeEventListener("resize", s), window.visualViewport?.removeEventListener("resize", s), window.visualViewport?.removeEventListener("scroll", s);
|
|
148
|
+
};
|
|
149
|
+
}, [
|
|
150
|
+
u,
|
|
151
|
+
O,
|
|
152
|
+
d
|
|
153
|
+
]);
|
|
154
|
+
let A = e(() => {
|
|
155
|
+
let e = g.current;
|
|
156
|
+
if (!D.current.enabled || !e || e.conversationId !== D.current.conversationId || !e.body.isConnected || !l(e.range, e.body)) return;
|
|
157
|
+
let t = new File([e.text], `reply-${crypto.randomUUID()}.txt`, { type: "text/plain" });
|
|
158
|
+
E.current.add(t), T(0), x((n) => ({
|
|
159
|
+
conversationId: e.conversationId,
|
|
160
|
+
files: [...n.conversationId === e.conversationId ? n.files : [], t]
|
|
161
|
+
})), C((e) => (e ?? 0) + 1), O(), window.getSelection()?.removeAllRanges();
|
|
162
|
+
}, [O]), j = d && b.conversationId === u ? b.files : s, M = r(() => [...f, ...j], [f, j]), N = e(() => {
|
|
163
|
+
f.length && p(), x((e) => ({
|
|
164
|
+
...e,
|
|
165
|
+
files: e.files.filter((e) => !j.includes(e))
|
|
166
|
+
}));
|
|
167
|
+
}, [
|
|
168
|
+
f,
|
|
169
|
+
p,
|
|
170
|
+
j
|
|
171
|
+
]), P = e((e) => {
|
|
172
|
+
let t = e.filter((e) => e.file && E.current.has(e.file));
|
|
173
|
+
t.length && (t.forEach((e) => E.current.delete(e.file)), T((e) => e + 1));
|
|
174
|
+
}, []);
|
|
175
|
+
return {
|
|
176
|
+
contentRef: k,
|
|
177
|
+
actionRef: h,
|
|
178
|
+
selection: d && v?.conversationId === u ? v : null,
|
|
179
|
+
onReply: A,
|
|
180
|
+
dismiss: O,
|
|
181
|
+
pendingFiles: M,
|
|
182
|
+
onFilesConsumed: N,
|
|
183
|
+
focusRequestId: S,
|
|
184
|
+
onAttachmentsChange: P,
|
|
185
|
+
addedRevision: w
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
//#endregion
|
|
189
|
+
export { u as useMessageSelectionReply };
|
package/conversation.d.ts
CHANGED
|
@@ -633,6 +633,20 @@ export declare interface MessagePair {
|
|
|
633
633
|
assistantMessage: Message;
|
|
634
634
|
}
|
|
635
635
|
|
|
636
|
+
/** A stable snapshot of one eligible native text selection. */
|
|
637
|
+
export declare interface MessageSelectionReplySnapshot {
|
|
638
|
+
/** Scope that owned the selection when it was captured. */
|
|
639
|
+
conversationId: string;
|
|
640
|
+
/** Message text root containing the captured range. */
|
|
641
|
+
body: HTMLDivElement;
|
|
642
|
+
/** Captured native range. */
|
|
643
|
+
range: Range;
|
|
644
|
+
/** Native selected text preserved for the generated file. */
|
|
645
|
+
text: string;
|
|
646
|
+
/** Visible fragment of the selected range. */
|
|
647
|
+
rect: DOMRect;
|
|
648
|
+
}
|
|
649
|
+
|
|
636
650
|
/**
|
|
637
651
|
* Normalises a stored response-format string to the current enum. Legacy data
|
|
638
652
|
* may contain `'Markdown'` or `'PlainText'` (capital-first) instead of the
|
|
@@ -1134,6 +1148,35 @@ export declare interface UseImportFilePickerResult {
|
|
|
1134
1148
|
handleFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
1135
1149
|
}
|
|
1136
1150
|
|
|
1151
|
+
/**
|
|
1152
|
+
* Captures eligible message text and creates Reply files for an existing composer
|
|
1153
|
+
* attachment flow without acquiring host deployment, upload or localization knowledge.
|
|
1154
|
+
*/
|
|
1155
|
+
export declare const useMessageSelectionReply: ({ conversationId, enabled, droppedFiles, onDroppedFilesConsumed, }: UseMessageSelectionReplyParams) => {
|
|
1156
|
+
contentRef: (node: HTMLDivElement | null) => (() => void) | undefined;
|
|
1157
|
+
actionRef: RefObject<HTMLDivElement | null>;
|
|
1158
|
+
selection: MessageSelectionReplySnapshot | null;
|
|
1159
|
+
onReply: () => void;
|
|
1160
|
+
dismiss: () => void;
|
|
1161
|
+
pendingFiles: File[];
|
|
1162
|
+
onFilesConsumed: () => void;
|
|
1163
|
+
focusRequestId: number | undefined;
|
|
1164
|
+
onAttachmentsChange: (attachments: Attachment[]) => void;
|
|
1165
|
+
addedRevision: number;
|
|
1166
|
+
};
|
|
1167
|
+
|
|
1168
|
+
/** Parameters accepted by {@link useMessageSelectionReply}. */
|
|
1169
|
+
export declare interface UseMessageSelectionReplyParams {
|
|
1170
|
+
/** Identifier used to discard selection and queued files after a scope change. */
|
|
1171
|
+
conversationId: string;
|
|
1172
|
+
/** Whether the host currently permits a Reply attachment. */
|
|
1173
|
+
enabled: boolean;
|
|
1174
|
+
/** Files from the host's ordinary page-drop queue. */
|
|
1175
|
+
droppedFiles: File[];
|
|
1176
|
+
/** Acknowledges the captured page-drop batch after the composer accepts it. */
|
|
1177
|
+
onDroppedFilesConsumed: () => void;
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1137
1180
|
/**
|
|
1138
1181
|
* Derives the tools submenu from the active deployment's configuration schema:
|
|
1139
1182
|
* every boolean property becomes a toggle. Manages toggle state locally, resets
|
package/conversation.js
CHANGED
|
@@ -15,18 +15,19 @@ import { useAsyncConfirmDialog as k } from "./conversation/useAsyncConfirmDialog
|
|
|
15
15
|
import { useConversationLookupMaps as A } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
|
|
16
16
|
import { getConversationSource as j, useConversationPanelItems as M } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
|
|
17
17
|
import { useImportFilePicker as N } from "./conversation/useImportFilePicker/useImportFilePicker.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
|
|
18
|
+
import { useMessageSelectionReply as P } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
|
|
19
|
+
import { useAttachmentUpload as F } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
|
|
20
|
+
import { AudioTranscriptionError as I, AudioTranscriptionErrorReason as L } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
|
|
21
|
+
import { useTranscribeAudio as R } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
|
|
22
|
+
import { attachmentToDto as z, attachmentsToDtos as B } from "./conversation/useConversationHandlers/attachment-to-dto.js";
|
|
23
|
+
import { createMessagePair as V } from "./conversation/useConversationHandlers/message-factory.js";
|
|
24
|
+
import { hasActiveToolConfig as H, isAnswerIncomplete as U, isMessageChanged as W, shouldRerunGenerationOnEdit as G } from "./conversation/useConversationHandlers/message-utils.js";
|
|
25
|
+
import { getStarterConversationText as K, getStarterDisplayText as q, getStarterSubmitText as J } from "./conversation/useConversationHandlers/starter-option.js";
|
|
26
|
+
import { getConversationPath as Y } from "./conversation/useConversationStream/conversation-path.js";
|
|
27
|
+
import { useConversationHandlers as X } from "./conversation/useConversationHandlers/useConversationHandlers.js";
|
|
28
|
+
import { applyChunkToMessages as Z, mergeStages as Q } from "./conversation/useConversationStream/apply-chunk.js";
|
|
29
|
+
import { isAwaitingGenerationResume as $ } from "./conversation/useConversationStream/generation-resume.js";
|
|
30
|
+
import { useConversationStream as ee } from "./conversation/useConversationStream/useConversationStream.js";
|
|
31
|
+
import { useChatSettingsFormConfig as te } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
32
|
+
import { useToolsMenu as ne } from "./useToolsMenu/useToolsMenu.js";
|
|
33
|
+
export { I as AudioTranscriptionError, L as AudioTranscriptionErrorReason, a as DEFAULT_GENERATION_CONFLICT_MESSAGE, o as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, s as GenerationConflictError, c as GenerationPersistenceError, l as StreamUpstreamError, Z as applyChunkToMessages, z as attachmentToDto, B as attachmentsToDtos, e as buildAnnouncementSignature, u as createChatStreamApi, g as createDeploymentChangedMessage, V as createMessagePair, D as deriveConversationRowActionState, f as formatAppVersion, Y as getConversationPath, j as getConversationSource, _ as getLastDeploymentId, v as getLastUserMessageToolConfiguration, m as getModelIdFromConversationId, S as getQuickAppConversationStarters, K as getStarterConversationText, q as getStarterDisplayText, T as getStarterPopulateText, J as getStarterSubmitText, E as getStartersFromSchema, h as getTimeOfDayGreeting, H as hasActiveToolConfig, t as hasAnnouncementContent, n as hasStructuredAnnouncement, U as isAnswerIncomplete, $ as isAwaitingGenerationResume, W as isMessageChanged, y as isMessageStreaming, C as mapStages, Q as mergeStages, b as messageHasStages, x as normalizeResponseFormat, r as sanitizeAnnouncementHtml, i as sanitizeAnnouncementMessageHtml, p as sanitizeFooterHtml, G as shouldRerunGenerationOnEdit, d as shouldWatchForDisplayNameUpdate, w as toStage, O as useActiveConversationSync, k as useAsyncConfirmDialog, F as useAttachmentUpload, te as useChatSettingsFormConfig, X as useConversationHandlers, A as useConversationLookupMaps, M as useConversationPanelItems, ee as useConversationStream, N as useImportFilePicker, P as useMessageSelectionReply, ne as useToolsMenu, R as useTranscribeAudio };
|
package/index.d.ts
CHANGED
|
@@ -2546,6 +2546,20 @@ export declare interface MessagePair {
|
|
|
2546
2546
|
assistantMessage: Message;
|
|
2547
2547
|
}
|
|
2548
2548
|
|
|
2549
|
+
/** A stable snapshot of one eligible native text selection. */
|
|
2550
|
+
export declare interface MessageSelectionReplySnapshot {
|
|
2551
|
+
/** Scope that owned the selection when it was captured. */
|
|
2552
|
+
conversationId: string;
|
|
2553
|
+
/** Message text root containing the captured range. */
|
|
2554
|
+
body: HTMLDivElement;
|
|
2555
|
+
/** Captured native range. */
|
|
2556
|
+
range: Range;
|
|
2557
|
+
/** Native selected text preserved for the generated file. */
|
|
2558
|
+
text: string;
|
|
2559
|
+
/** Visible fragment of the selected range. */
|
|
2560
|
+
rect: DOMRect;
|
|
2561
|
+
}
|
|
2562
|
+
|
|
2549
2563
|
/** Formats MIME types as a human-readable, comma-separated list of dotted extensions (or the MIME type itself for wildcards). */
|
|
2550
2564
|
export declare const mimeTypesToAttachmentExtensionLabels: (types: string[]) => string;
|
|
2551
2565
|
|
|
@@ -5649,6 +5663,35 @@ export declare const useMcpAppHostContext: (displayMode: "inline" | "fullscreen"
|
|
|
5649
5663
|
*/
|
|
5650
5664
|
export declare const useMcpAppTools: (client: McpAppsApiClient, deployment: DeploymentItemDto | undefined, messages: Message[], toolsets: DialToolsetDto[]) => McpAppToolRef[];
|
|
5651
5665
|
|
|
5666
|
+
/**
|
|
5667
|
+
* Captures eligible message text and creates Reply files for an existing composer
|
|
5668
|
+
* attachment flow without acquiring host deployment, upload or localization knowledge.
|
|
5669
|
+
*/
|
|
5670
|
+
export declare const useMessageSelectionReply: ({ conversationId, enabled, droppedFiles, onDroppedFilesConsumed, }: UseMessageSelectionReplyParams) => {
|
|
5671
|
+
contentRef: (node: HTMLDivElement | null) => (() => void) | undefined;
|
|
5672
|
+
actionRef: RefObject<HTMLDivElement | null>;
|
|
5673
|
+
selection: MessageSelectionReplySnapshot | null;
|
|
5674
|
+
onReply: () => void;
|
|
5675
|
+
dismiss: () => void;
|
|
5676
|
+
pendingFiles: File[];
|
|
5677
|
+
onFilesConsumed: () => void;
|
|
5678
|
+
focusRequestId: number | undefined;
|
|
5679
|
+
onAttachmentsChange: (attachments: Attachment[]) => void;
|
|
5680
|
+
addedRevision: number;
|
|
5681
|
+
};
|
|
5682
|
+
|
|
5683
|
+
/** Parameters accepted by {@link useMessageSelectionReply}. */
|
|
5684
|
+
export declare interface UseMessageSelectionReplyParams {
|
|
5685
|
+
/** Identifier used to discard selection and queued files after a scope change. */
|
|
5686
|
+
conversationId: string;
|
|
5687
|
+
/** Whether the host currently permits a Reply attachment. */
|
|
5688
|
+
enabled: boolean;
|
|
5689
|
+
/** Files from the host's ordinary page-drop queue. */
|
|
5690
|
+
droppedFiles: File[];
|
|
5691
|
+
/** Acknowledges the captured page-drop batch after the composer accepts it. */
|
|
5692
|
+
onDroppedFilesConsumed: () => void;
|
|
5693
|
+
}
|
|
5694
|
+
|
|
5652
5695
|
/**
|
|
5653
5696
|
* Completes an OAuth authorization-code flow from inside the callback popup:
|
|
5654
5697
|
* reads and clears the redirect state written into this popup's own
|
package/index.js
CHANGED
|
@@ -84,65 +84,66 @@ import { useAsyncConfirmDialog as tr } from "./conversation/useAsyncConfirmDialo
|
|
|
84
84
|
import { useConversationLookupMaps as nr } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
|
|
85
85
|
import { getConversationSource as rr, useConversationPanelItems as ir } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
|
|
86
86
|
import { useImportFilePicker as ar } from "./conversation/useImportFilePicker/useImportFilePicker.js";
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import {
|
|
114
|
-
import {
|
|
115
|
-
import {
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
import {
|
|
122
|
-
import {
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
125
|
-
import {
|
|
126
|
-
import {
|
|
127
|
-
import {
|
|
128
|
-
import {
|
|
129
|
-
import {
|
|
130
|
-
import {
|
|
131
|
-
import {
|
|
132
|
-
import {
|
|
133
|
-
import {
|
|
134
|
-
import {
|
|
135
|
-
import {
|
|
136
|
-
import {
|
|
137
|
-
import {
|
|
138
|
-
import {
|
|
139
|
-
import {
|
|
140
|
-
import {
|
|
141
|
-
import {
|
|
142
|
-
import {
|
|
143
|
-
import {
|
|
144
|
-
import {
|
|
145
|
-
import {
|
|
146
|
-
import {
|
|
147
|
-
import {
|
|
148
|
-
export { x as AttachmentValidationErrorReason, ur as AudioTranscriptionError, dr as AudioTranscriptionErrorReason, R as AuthenticationType, Rr as COLUMNS_WITHOUT_AUTHOR, zr as COLUMNS_WITH_AUTHOR, Br as CORE_PERMISSION_MAP, et as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, Vr as DATE_OPTIONS, zt as DEFAULT_GENERATION_CONFLICT_MESSAGE, Bt as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, pr as DEFAULT_MAX_ARCHIVE_BYTES, Gr as DialFileManagerActionProfile, Kr as DialFileManagerVariant, Pr as DialFilesApiUploadMode, Ji as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, jt as FavoriteEntityType, Fr as FileManagerNotificationReason, Ir as FileNameValidationErrorReason, Lr as FileOperationKind, Vt as GenerationConflictError, Ht as GenerationPersistenceError, Ta as McpAppResourceFetchError, ze as McpResourceKind, ot as OAuthResourceKind, Hr as PATH_SEPARATOR_REGEXP, pn as PROMPT_CONTENT_MAX_LENGTH, mn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, hn as PROMPT_DESCRIPTION_MAX_LENGTH, gn as PROMPT_NAME_MAX_LENGTH, Te as PUBLIC_SKILL_BUCKET, _n as PromptFieldError, ae as PromptSource, Ur as RESERVED_MARKER_NAME, Zn as RecipientsCountStatus, ue as SKILL_FILE_UPLOAD_MAX_BYTES, Ee as SKILL_LISTING_MAX_PAGES, De as SKILL_LISTING_PAGE_SIZE, de as SKILL_MANIFEST_FILE, Oe as SKILL_MANIFEST_MAX_BYTES, fe as SKILL_UPLOAD_MAX_FILES, pe as SKILL_UPLOAD_MAX_TOTAL_BYTES, Tn as ScheduledTaskTriggerDescriptionKind, Kn as SkillArchiveImportErrorKind, qn as SkillArchiveImportStatus, Jn as SkillArchiveSelectionRejectionReason, zn as SkillEditorLoadState, Un as SkillPreviewErrorKind, ke as SkillSource, Ut as StreamUpstreamError, st as TOOLSET_REDIRECT_STATE_KEY, ct as ToolsetAuthStatus, lt as ToolsetAuthTypes, ut as ToolsetCredentialsLevel, Et as ToolsetLoginOutcomeType, dt as ToolsetOAuthCallbackQuery, ft as ToolsetOAuthChannelControlType, pt as ToolsetOAuthFailureReason, mt as ToolsetOAuthInitiationResultType, ht as ToolsetOAuthResultType, Wr as UPLOAD_CONCURRENCY, ya as USAGE_DATA_I18N_KEYS, xa as USAGE_MODEL_LIMITS_I18N_KEYS, wn as UnsupportedTriggerReason, gt as WithLogin, Hi as annotationToDisplayAttachment, wi as annotationToOoxmlCanvasContent, Ti as annotationToPdfCanvasContent, Dn as apSchedulerDayToJsDay, W as appendLocaleCode, kr as applyChunkToMessages, Ui as attachmentDtoToDisplayAttachment, Wi as attachmentDtosToDisplayAttachments, hr as attachmentToDto, gr as attachmentsToDtos, G as buildAdditionalLocaleOptions, Pt as buildAnnouncementSignature, Be as buildApplicationMcpUrl, N as buildChatCompletionsUrl, Ve as buildConnectApi, P as buildDeploymentConnectApi, ua as buildExternalServiceScopeId, fi as buildFromCache, un as buildPromptExportEnvelope, dn as buildPromptExportFileName, se as buildPromptOverview, vn as buildPromptPath, F as buildResponsesUrl, Jr as buildSharedItemVirtualPath, je as buildSkillContentTree, me as buildSkillFilesPayload, he as buildSkillManifest, ge as buildSkillManifestForSubmit, _e as buildSkillManifestFromFrontmatter, Me as buildSkillOverview, xt as buildToolsetAuthorizeUrl, He as buildToolsetMcpUrl, Yn as classifySkillArchiveImportError, Ei as clearAttachmentCache, K as composeLocalePayload, Wt as createChatStreamApi, i as createCsrfMiddleware, Xt as createDeploymentChangedMessage, xi as createFilesApiClient, Ea as createMcpAppsApiClient, _r as createMessagePair, j as createPublishApiClient, Pn as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, Si as createUploadFileWithProgress, V as decodeToolsetId, q as decomposeLocalizedFields, qr as deriveActionProfile, Ye as deriveAvailableTabIds, $n as deriveConversationRowActionState, Xe as deriveFavoriteItems, En as describeScheduledTaskTrigger, Yr as dialCorePathToRelative, Gi as dialFileToAttachment, Ki as dialFilesToAttachments, qi as dialFolderPathToAttachment, m as downloadAttachment, _t as emitToolsetLoginSuccess, I as encodeDeploymentId, H as encodeToolsetId, pi as fetchByTab, mi as fetchForSearch, Ze as filterCatalogItemsBySelector, Qe as filterHiddenOwnedItems, L as findDeploymentByIdOrReference, Xr as findDialFileByPath, hi as findFirstSuccessfulCopyMoveItem, Zr as findFolderByVirtualPath, Kt as formatAppVersion, X as formatCalendarDate, C as formatDateYM, w as formatDateYMD, Qr as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, oa as getBrowserTimezone, Tr as getConversationPath, rr as getConversationSource, da as getExternalServiceFallbackName, Zt as getLastDeploymentId, Qt as getLastUserMessageToolConfiguration, Jt as getModelIdFromConversationId, si as getParentFolderPath, We as getPublicCatalogEntityFolderPath, rn as getQuickAppConversationStarters, yn as getRemainingCharacters, Sr as getStarterConversationText, Cr as getStarterDisplayText, sn as getStarterPopulateText, wr as getStarterSubmitText, cn as getStartersFromSchema, Yt as getTimeOfDayGreeting, yt as getToolsetOAuthChannelName, St as getToolsetRedirectUri, zi as getUrlFileName, $r as getVirtualPathName, vr as hasActiveToolConfig, Ft as hasAnnouncementContent, Di as hasAttachmentTextSource, ei as hasDialFileWritePermission, ti as hasForbiddenNameSymbols, It as hasStructuredAnnouncement, o as includesIgnoreCase, Ct as initiateOAuthLogin, yr as isAnswerIncomplete, jr as isAwaitingGenerationResume, r as isConversationNotFoundError, ni as isCopyMoveDuplicateAllowed, ia as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, Bi as isExternalSourcePreviewable, br as isMessageChanged, $t as isMessageStreaming, ce as isOrganisationPromptItem, Ge as isPublicCatalogEntityId, U as isPublicToolsetId, aa as isQuickAppSchema, ri as isShareActionsAllowed, sa as isValidAbsoluteUrl, ca as isValidFeaturesData, ve as isValidSkillRelativePath, On as jsDayToApSchedulerDay, gi as mapCorePermissions, Q as mapDeploymentDetailsDtoToEntityDetails, z as mapDeploymentLimitsDtoToCatalogLimits, B as mapDeploymentLimitsToInput, te as mapDeploymentToCatalogItem, ne as mapDeploymentToolsetCredentials, $ as mapEntityDetailsToCatalogDetails, _i as mapFileMetadataToDialFile, kn as mapFormValuesToCreateBody, An as mapFormValuesToUpdateBody, Sa as mapOverallCostLimitsToPeriodStatuses, le as mapPromptToCatalogItem, Ke as mapPublishConversationResultDto, qe as mapPublishHistoryEntryDto, jn as mapScheduledTaskDtoToFormValues, vi as mapSearchItem, Ne as mapSkillToCatalogItem, an as mapStages, ee as mapToolsetCredentials, re as mapToolsetToCatalogItem, ba as mapUsageDataToDashboard, Ca as mapUserUsageToModelLimits, yi as mergeCreatedFolderIntoCache, Ar as mergeStages, en as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, ye as nameFromPath, wt as navigateToolsetOAuthPopup, tn as normalizeResponseFormat, be as normalizeSkillName, ii as normalizeVirtualPath, Ci as openAnnotationAttachment, Tt as openToolsetOAuthPopup, Z as padTwoDigits, fa as parseExternalServiceUrl, la as parseFeaturesData, ai as parseNewFolderVirtualPath, oe as parsePromptResourceUrl, xe as parseSkillManifest, rt as parseSkillManifestDocument, Ae as parseSkillResourceUrl, ui as prepareCopyItems, Yi as prepareDownloadDestination, di as prepareMoveRenameItems, Mn as prepareScheduledTaskCreateBody, Nn as prepareScheduledTaskUpdateBody, Pe as readSkillFileBytes, Fe as readSkillFilePreviewBytes, Ie as readSkillManifest, $e as reconcileFilterTopics, Oi as referenceAttachmentToPdfCanvasContent, tt as resolveCatalogPrimaryAction, ki as resolveCodeCanvasContent, ie as resolveDeploymentFolder, ci as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, Vi as resolveExternalSourceContentType, Ai as resolveGroupedVisualizerCanvasContent, ji as resolveHtmlCanvasContent, Mi as resolveImageCanvasContent, Ni as resolveJsonCanvasContent, J as resolveLocalizedText, Pi as resolveMarkdownCanvasContent, Ue as resolveMcpResourceKind, Fi as resolveOoxmlCanvasContent, oi as resolveOwnerCoords, Ii as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Le as resolveSkillFileDownloadPath, Re as resolveSkillManifestFileId, Li as resolveTextCanvasContent, Ri as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Lt as sanitizeAnnouncementHtml, Rt as sanitizeAnnouncementMessageHtml, or as sanitizeFileName, qt as sanitizeFooterHtml, fn as serializePromptExport, xr as shouldRerunGenerationOnEdit, Gt as shouldWatchForDisplayNameUpdate, Se as skillFileBytesToBlob, Rn as skillFileToAttachment, sr as splitFileNameExtension, Ce as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, vt as subscribeToolsetLoginSuccess, Y as toBaseLocale, nn as toOverlayMessages, Je as toPublishEntityType, M as toPublishRuleDto, on as toStage, cr as trimFileNameToByteLimit, we as unpackSkillArchive, bi as updateEntry, er as useActiveConversationSync, kt as useApplicationCredentials, tr as useAsyncConfirmDialog, g as useAttachmentAction, lr as useAttachmentUpload, S as useAttachmentValidation, nt as useCatalogEditNavigation, at as useCatalogItemDetails, Ot as useCatalogToolsetCredentials, pa as useChatSettingsFormConfig, mr as useConversationExport, Er as useConversationHandlers, Dr as useConversationImport, nr as useConversationLookupMaps, ir as useConversationPanelItems, Or as useConversationScroll, Nr as useConversationSources, Mr as useConversationStream, Xi as useDialFileListing, ta as useDialFileManager, na as useDialFileManagerTabConfig, Zi as useDialFileMetadata, Qi as useDialFileMutations, $i as useDialFileSharing, ea as useDialFileUploadBatch, Mt as useFavoriteEntitiesState, ra as useFileAttachmentPicker, ja as useGridEditingScroll, ar as useImportFilePicker, ka as useMcpAppHostAdapter, Oa as useMcpAppHostContext, Da as useMcpAppTools, ln as useOAuthCallbackCompletion, Aa as useOpenMcpAppCanvas, ma as usePageFileDrag, ga as usePanelMaxWidth, Cn as usePromptsState, Nt as usePublishFolders, In as useScheduledTaskRuns, Fn as useScheduledTasks, _a as useShareLink, Qn as useShareRecipientsCount, Xn as useSkillArchiveImport, At as useSkillDetailsPanelData, Bn as useSkillEditorLoad, Vn as useSkillEditorSubmit, Hn as useSkillFileActions, Wn as useSkillFilePreview, it as useSkillItemDetails, Gn as useSkillsState, va as useToolsMenu, Dt as useToolsetLogin, fr as useTranscribeAudio, wa as useUsageData, ha as useViewportWidth, bn as validatePromptContent, xn as validatePromptDescription, Sn as validatePromptName, Ln as validateSkillFileBatch, li as virtualPathToApiPath, bt as waitForToolsetOAuthResult };
|
|
87
|
+
import { useMessageSelectionReply as or } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
|
|
88
|
+
import { sanitizeFileName as sr, splitFileNameExtension as cr, trimFileNameToByteLimit as lr } from "./files/file-name.js";
|
|
89
|
+
import { useAttachmentUpload as ur } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
|
|
90
|
+
import { AudioTranscriptionError as dr, AudioTranscriptionErrorReason as fr } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
|
|
91
|
+
import { useTranscribeAudio as pr } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
|
|
92
|
+
import { DEFAULT_MAX_ARCHIVE_BYTES as mr, useConversationExport as hr } from "./conversation/useConversationExport/useConversationExport.js";
|
|
93
|
+
import { attachmentToDto as gr, attachmentsToDtos as _r } from "./conversation/useConversationHandlers/attachment-to-dto.js";
|
|
94
|
+
import { createMessagePair as vr } from "./conversation/useConversationHandlers/message-factory.js";
|
|
95
|
+
import { hasActiveToolConfig as yr, isAnswerIncomplete as br, isMessageChanged as xr, shouldRerunGenerationOnEdit as Sr } from "./conversation/useConversationHandlers/message-utils.js";
|
|
96
|
+
import { getStarterConversationText as Cr, getStarterDisplayText as wr, getStarterSubmitText as Tr } from "./conversation/useConversationHandlers/starter-option.js";
|
|
97
|
+
import { getConversationPath as Er } from "./conversation/useConversationStream/conversation-path.js";
|
|
98
|
+
import { useConversationHandlers as Dr } from "./conversation/useConversationHandlers/useConversationHandlers.js";
|
|
99
|
+
import { useConversationImport as Or } from "./conversation/useConversationImport/useConversationImport.js";
|
|
100
|
+
import { useConversationScroll as kr } from "./conversation/useConversationScroll/useConversationScroll.js";
|
|
101
|
+
import { applyChunkToMessages as Ar, mergeStages as jr } from "./conversation/useConversationStream/apply-chunk.js";
|
|
102
|
+
import { isAwaitingGenerationResume as Mr } from "./conversation/useConversationStream/generation-resume.js";
|
|
103
|
+
import { useConversationStream as Nr } from "./conversation/useConversationStream/useConversationStream.js";
|
|
104
|
+
import { useConversationSources as Pr } from "./conversation-sources/useConversationSources/useConversationSources.js";
|
|
105
|
+
import { DialFilesApiUploadMode as Fr } from "./files/dial-files-api.js";
|
|
106
|
+
import { FileManagerNotificationReason as Ir, FileNameValidationErrorReason as Lr, FileOperationKind as Rr } from "./files/dial-file-manager.types.js";
|
|
107
|
+
import { COLUMNS_WITHOUT_AUTHOR as zr, COLUMNS_WITH_AUTHOR as Br, CORE_PERMISSION_MAP as Vr, DATE_OPTIONS as Hr, PATH_SEPARATOR_REGEXP as Ur, RESERVED_MARKER_NAME as Wr, UPLOAD_CONCURRENCY as Gr } from "./files/dial-file-manager.model.js";
|
|
108
|
+
import { DialFileManagerActionProfile as Kr, DialFileManagerVariant as qr, deriveActionProfile as Jr } from "./files/file-manager-variant.js";
|
|
109
|
+
import { buildSharedItemVirtualPath as Yr, dialCorePathToRelative as Xr, findDialFileByPath as Zr, findFolderByVirtualPath as Qr, formatOperationFolderName as $r, getVirtualPathName as ei, hasDialFileWritePermission as ti, hasForbiddenNameSymbols as ni, isCopyMoveDuplicateAllowed as ri, isShareActionsAllowed as ii, normalizeVirtualPath as ai, parseNewFolderVirtualPath as oi, resolveOwnerCoords as si } from "./files/dial-file-manager-path.util.js";
|
|
110
|
+
import { getParentFolderPath as ci, resolveDialFileApiPath as li, virtualPathToApiPath as ui } from "./files/resolve-dial-file-api-path.js";
|
|
111
|
+
import { prepareCopyItems as di, prepareMoveRenameItems as fi } from "./files/dial-file-manager-copy-move.util.js";
|
|
112
|
+
import { buildFromCache as pi, fetchByTab as mi, fetchForSearch as hi, findFirstSuccessfulCopyMoveItem as gi, mapCorePermissions as _i, mapFileMetadataToDialFile as vi, mapSearchItem as yi, mergeCreatedFolderIntoCache as bi, updateEntry as xi } from "./files/dial-file-manager-mapping.util.js";
|
|
113
|
+
import { createFilesApiClient as Si } from "./files/create-files-api.js";
|
|
114
|
+
import { createUploadFileWithProgress as Ci } from "./files/create-upload-file-with-progress.js";
|
|
115
|
+
import { openAnnotationAttachment as wi } from "./files/annotation.js";
|
|
116
|
+
import { annotationToOoxmlCanvasContent as Ti, annotationToPdfCanvasContent as Ei, clearAttachmentCache as Di, hasAttachmentTextSource as Oi, referenceAttachmentToPdfCanvasContent as ki, resolveCodeCanvasContent as Ai, resolveGroupedVisualizerCanvasContent as ji, resolveHtmlCanvasContent as Mi, resolveImageCanvasContent as Ni, resolveJsonCanvasContent as Pi, resolveMarkdownCanvasContent as Fi, resolveOoxmlCanvasContent as Ii, resolvePdfCanvasContent as Li, resolveTextCanvasContent as Ri, resolveVisualizerCanvasContent as zi } from "./files/attachment-canvas.js";
|
|
117
|
+
import { getUrlFileName as Bi, isExternalSourcePreviewable as Vi, resolveExternalSourceContentType as Hi } from "./files/source-content.js";
|
|
118
|
+
import { annotationToDisplayAttachment as Ui, attachmentDtoToDisplayAttachment as Wi, attachmentDtosToDisplayAttachments as Gi } from "./files/attachment-dto-to-display.js";
|
|
119
|
+
import { dialFileToAttachment as Ki, dialFilesToAttachments as qi, dialFolderPathToAttachment as Ji } from "./files/dial-file-to-attachment.js";
|
|
120
|
+
import { DownloadDestinationType as Yi } from "./files/download-destination.js";
|
|
121
|
+
import { prepareDownloadDestination as Xi } from "./files/prepare-download-destination.js";
|
|
122
|
+
import { useDialFileListing as Zi } from "./files/useDialFileListing/useDialFileListing.js";
|
|
123
|
+
import { useDialFileMetadata as Qi } from "./files/useDialFileMetadata/useDialFileMetadata.js";
|
|
124
|
+
import { useDialFileMutations as $i } from "./files/useDialFileMutations/useDialFileMutations.js";
|
|
125
|
+
import { useDialFileSharing as ea } from "./files/useDialFileSharing/useDialFileSharing.js";
|
|
126
|
+
import { useDialFileUploadBatch as ta } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
127
|
+
import { useDialFileManager as na } from "./files/useDialFileManager/useDialFileManager.js";
|
|
128
|
+
import { useDialFileManagerTabConfig as ra } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
129
|
+
import { useFileAttachmentPicker as ia } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
|
|
130
|
+
import { isCustomAppSchema as aa, isQuickAppSchema as oa } from "./shared/application-schema.js";
|
|
131
|
+
import { getBrowserTimezone as sa } from "./shared/browser-timezone.js";
|
|
132
|
+
import { isValidAbsoluteUrl as ca, isValidFeaturesData as la, parseFeaturesData as ua } from "./shared/custom-apps.js";
|
|
133
|
+
import { buildExternalServiceScopeId as da, getExternalServiceFallbackName as fa, parseExternalServiceUrl as pa } from "./shared/external-services.js";
|
|
134
|
+
import { useChatSettingsFormConfig as ma } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
135
|
+
import { usePageFileDrag as ha } from "./usePageFileDrag/usePageFileDrag.js";
|
|
136
|
+
import { useViewportWidth as ga } from "./useViewportWidth/useViewportWidth.js";
|
|
137
|
+
import { usePanelMaxWidth as _a } from "./usePanelMaxWidth/usePanelMaxWidth.js";
|
|
138
|
+
import { useShareLink as va } from "./useShareLink/useShareLink.js";
|
|
139
|
+
import { useToolsMenu as ya } from "./useToolsMenu/useToolsMenu.js";
|
|
140
|
+
import { USAGE_DATA_I18N_KEYS as ba, mapUsageDataToDashboard as xa } from "./usage/map-usage-data-to-dashboard.js";
|
|
141
|
+
import { USAGE_MODEL_LIMITS_I18N_KEYS as Sa, mapOverallCostLimitsToPeriodStatuses as Ca, mapUserUsageToModelLimits as wa } from "./usage/map-user-usage-to-model-limits.js";
|
|
142
|
+
import { useUsageData as Ta } from "./usage/useUsageData/useUsageData.js";
|
|
143
|
+
import { McpAppResourceFetchError as Ea, createMcpAppsApiClient as Da } from "./mcp-apps/mcp-apps-api-client.js";
|
|
144
|
+
import { useMcpAppTools as Oa } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
|
|
145
|
+
import { useMcpAppHostContext as ka } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
|
|
146
|
+
import { useMcpAppHostAdapter as Aa } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
|
|
147
|
+
import { useOpenMcpAppCanvas as ja } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
|
|
148
|
+
import { useGridEditingScroll as Ma } from "@epam/ai-dial-chat-shared";
|
|
149
|
+
export { x as AttachmentValidationErrorReason, dr as AudioTranscriptionError, fr as AudioTranscriptionErrorReason, R as AuthenticationType, zr as COLUMNS_WITHOUT_AUTHOR, Br as COLUMNS_WITH_AUTHOR, Vr as CORE_PERMISSION_MAP, et as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, Hr as DATE_OPTIONS, zt as DEFAULT_GENERATION_CONFLICT_MESSAGE, Bt as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, mr as DEFAULT_MAX_ARCHIVE_BYTES, Kr as DialFileManagerActionProfile, qr as DialFileManagerVariant, Fr as DialFilesApiUploadMode, Yi as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, jt as FavoriteEntityType, Ir as FileManagerNotificationReason, Lr as FileNameValidationErrorReason, Rr as FileOperationKind, Vt as GenerationConflictError, Ht as GenerationPersistenceError, Ea as McpAppResourceFetchError, ze as McpResourceKind, ot as OAuthResourceKind, Ur as PATH_SEPARATOR_REGEXP, pn as PROMPT_CONTENT_MAX_LENGTH, mn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, hn as PROMPT_DESCRIPTION_MAX_LENGTH, gn as PROMPT_NAME_MAX_LENGTH, Te as PUBLIC_SKILL_BUCKET, _n as PromptFieldError, ae as PromptSource, Wr as RESERVED_MARKER_NAME, Zn as RecipientsCountStatus, ue as SKILL_FILE_UPLOAD_MAX_BYTES, Ee as SKILL_LISTING_MAX_PAGES, De as SKILL_LISTING_PAGE_SIZE, de as SKILL_MANIFEST_FILE, Oe as SKILL_MANIFEST_MAX_BYTES, fe as SKILL_UPLOAD_MAX_FILES, pe as SKILL_UPLOAD_MAX_TOTAL_BYTES, Tn as ScheduledTaskTriggerDescriptionKind, Kn as SkillArchiveImportErrorKind, qn as SkillArchiveImportStatus, Jn as SkillArchiveSelectionRejectionReason, zn as SkillEditorLoadState, Un as SkillPreviewErrorKind, ke as SkillSource, Ut as StreamUpstreamError, st as TOOLSET_REDIRECT_STATE_KEY, ct as ToolsetAuthStatus, lt as ToolsetAuthTypes, ut as ToolsetCredentialsLevel, Et as ToolsetLoginOutcomeType, dt as ToolsetOAuthCallbackQuery, ft as ToolsetOAuthChannelControlType, pt as ToolsetOAuthFailureReason, mt as ToolsetOAuthInitiationResultType, ht as ToolsetOAuthResultType, Gr as UPLOAD_CONCURRENCY, ba as USAGE_DATA_I18N_KEYS, Sa as USAGE_MODEL_LIMITS_I18N_KEYS, wn as UnsupportedTriggerReason, gt as WithLogin, Ui as annotationToDisplayAttachment, Ti as annotationToOoxmlCanvasContent, Ei as annotationToPdfCanvasContent, Dn as apSchedulerDayToJsDay, W as appendLocaleCode, Ar as applyChunkToMessages, Wi as attachmentDtoToDisplayAttachment, Gi as attachmentDtosToDisplayAttachments, gr as attachmentToDto, _r as attachmentsToDtos, G as buildAdditionalLocaleOptions, Pt as buildAnnouncementSignature, Be as buildApplicationMcpUrl, N as buildChatCompletionsUrl, Ve as buildConnectApi, P as buildDeploymentConnectApi, da as buildExternalServiceScopeId, pi as buildFromCache, un as buildPromptExportEnvelope, dn as buildPromptExportFileName, se as buildPromptOverview, vn as buildPromptPath, F as buildResponsesUrl, Yr as buildSharedItemVirtualPath, je as buildSkillContentTree, me as buildSkillFilesPayload, he as buildSkillManifest, ge as buildSkillManifestForSubmit, _e as buildSkillManifestFromFrontmatter, Me as buildSkillOverview, xt as buildToolsetAuthorizeUrl, He as buildToolsetMcpUrl, Yn as classifySkillArchiveImportError, Di as clearAttachmentCache, K as composeLocalePayload, Wt as createChatStreamApi, i as createCsrfMiddleware, Xt as createDeploymentChangedMessage, Si as createFilesApiClient, Da as createMcpAppsApiClient, vr as createMessagePair, j as createPublishApiClient, Pn as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, Ci as createUploadFileWithProgress, V as decodeToolsetId, q as decomposeLocalizedFields, Jr as deriveActionProfile, Ye as deriveAvailableTabIds, $n as deriveConversationRowActionState, Xe as deriveFavoriteItems, En as describeScheduledTaskTrigger, Xr as dialCorePathToRelative, Ki as dialFileToAttachment, qi as dialFilesToAttachments, Ji as dialFolderPathToAttachment, m as downloadAttachment, _t as emitToolsetLoginSuccess, I as encodeDeploymentId, H as encodeToolsetId, mi as fetchByTab, hi as fetchForSearch, Ze as filterCatalogItemsBySelector, Qe as filterHiddenOwnedItems, L as findDeploymentByIdOrReference, Zr as findDialFileByPath, gi as findFirstSuccessfulCopyMoveItem, Qr as findFolderByVirtualPath, Kt as formatAppVersion, X as formatCalendarDate, C as formatDateYM, w as formatDateYMD, $r as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, sa as getBrowserTimezone, Er as getConversationPath, rr as getConversationSource, fa as getExternalServiceFallbackName, Zt as getLastDeploymentId, Qt as getLastUserMessageToolConfiguration, Jt as getModelIdFromConversationId, ci as getParentFolderPath, We as getPublicCatalogEntityFolderPath, rn as getQuickAppConversationStarters, yn as getRemainingCharacters, Cr as getStarterConversationText, wr as getStarterDisplayText, sn as getStarterPopulateText, Tr as getStarterSubmitText, cn as getStartersFromSchema, Yt as getTimeOfDayGreeting, yt as getToolsetOAuthChannelName, St as getToolsetRedirectUri, Bi as getUrlFileName, ei as getVirtualPathName, yr as hasActiveToolConfig, Ft as hasAnnouncementContent, Oi as hasAttachmentTextSource, ti as hasDialFileWritePermission, ni as hasForbiddenNameSymbols, It as hasStructuredAnnouncement, o as includesIgnoreCase, Ct as initiateOAuthLogin, br as isAnswerIncomplete, Mr as isAwaitingGenerationResume, r as isConversationNotFoundError, ri as isCopyMoveDuplicateAllowed, aa as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, Vi as isExternalSourcePreviewable, xr as isMessageChanged, $t as isMessageStreaming, ce as isOrganisationPromptItem, Ge as isPublicCatalogEntityId, U as isPublicToolsetId, oa as isQuickAppSchema, ii as isShareActionsAllowed, ca as isValidAbsoluteUrl, la as isValidFeaturesData, ve as isValidSkillRelativePath, On as jsDayToApSchedulerDay, _i as mapCorePermissions, Q as mapDeploymentDetailsDtoToEntityDetails, z as mapDeploymentLimitsDtoToCatalogLimits, B as mapDeploymentLimitsToInput, te as mapDeploymentToCatalogItem, ne as mapDeploymentToolsetCredentials, $ as mapEntityDetailsToCatalogDetails, vi as mapFileMetadataToDialFile, kn as mapFormValuesToCreateBody, An as mapFormValuesToUpdateBody, Ca as mapOverallCostLimitsToPeriodStatuses, le as mapPromptToCatalogItem, Ke as mapPublishConversationResultDto, qe as mapPublishHistoryEntryDto, jn as mapScheduledTaskDtoToFormValues, yi as mapSearchItem, Ne as mapSkillToCatalogItem, an as mapStages, ee as mapToolsetCredentials, re as mapToolsetToCatalogItem, xa as mapUsageDataToDashboard, wa as mapUserUsageToModelLimits, bi as mergeCreatedFolderIntoCache, jr as mergeStages, en as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, ye as nameFromPath, wt as navigateToolsetOAuthPopup, tn as normalizeResponseFormat, be as normalizeSkillName, ai as normalizeVirtualPath, wi as openAnnotationAttachment, Tt as openToolsetOAuthPopup, Z as padTwoDigits, pa as parseExternalServiceUrl, ua as parseFeaturesData, oi as parseNewFolderVirtualPath, oe as parsePromptResourceUrl, xe as parseSkillManifest, rt as parseSkillManifestDocument, Ae as parseSkillResourceUrl, di as prepareCopyItems, Xi as prepareDownloadDestination, fi as prepareMoveRenameItems, Mn as prepareScheduledTaskCreateBody, Nn as prepareScheduledTaskUpdateBody, Pe as readSkillFileBytes, Fe as readSkillFilePreviewBytes, Ie as readSkillManifest, $e as reconcileFilterTopics, ki as referenceAttachmentToPdfCanvasContent, tt as resolveCatalogPrimaryAction, Ai as resolveCodeCanvasContent, ie as resolveDeploymentFolder, li as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, Hi as resolveExternalSourceContentType, ji as resolveGroupedVisualizerCanvasContent, Mi as resolveHtmlCanvasContent, Ni as resolveImageCanvasContent, Pi as resolveJsonCanvasContent, J as resolveLocalizedText, Fi as resolveMarkdownCanvasContent, Ue as resolveMcpResourceKind, Ii as resolveOoxmlCanvasContent, si as resolveOwnerCoords, Li as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Le as resolveSkillFileDownloadPath, Re as resolveSkillManifestFileId, Ri as resolveTextCanvasContent, zi as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Lt as sanitizeAnnouncementHtml, Rt as sanitizeAnnouncementMessageHtml, sr as sanitizeFileName, qt as sanitizeFooterHtml, fn as serializePromptExport, Sr as shouldRerunGenerationOnEdit, Gt as shouldWatchForDisplayNameUpdate, Se as skillFileBytesToBlob, Rn as skillFileToAttachment, cr as splitFileNameExtension, Ce as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, vt as subscribeToolsetLoginSuccess, Y as toBaseLocale, nn as toOverlayMessages, Je as toPublishEntityType, M as toPublishRuleDto, on as toStage, lr as trimFileNameToByteLimit, we as unpackSkillArchive, xi as updateEntry, er as useActiveConversationSync, kt as useApplicationCredentials, tr as useAsyncConfirmDialog, g as useAttachmentAction, ur as useAttachmentUpload, S as useAttachmentValidation, nt as useCatalogEditNavigation, at as useCatalogItemDetails, Ot as useCatalogToolsetCredentials, ma as useChatSettingsFormConfig, hr as useConversationExport, Dr as useConversationHandlers, Or as useConversationImport, nr as useConversationLookupMaps, ir as useConversationPanelItems, kr as useConversationScroll, Pr as useConversationSources, Nr as useConversationStream, Zi as useDialFileListing, na as useDialFileManager, ra as useDialFileManagerTabConfig, Qi as useDialFileMetadata, $i as useDialFileMutations, ea as useDialFileSharing, ta as useDialFileUploadBatch, Mt as useFavoriteEntitiesState, ia as useFileAttachmentPicker, Ma as useGridEditingScroll, ar as useImportFilePicker, Aa as useMcpAppHostAdapter, ka as useMcpAppHostContext, Oa as useMcpAppTools, or as useMessageSelectionReply, ln as useOAuthCallbackCompletion, ja as useOpenMcpAppCanvas, ha as usePageFileDrag, _a as usePanelMaxWidth, Cn as usePromptsState, Nt as usePublishFolders, In as useScheduledTaskRuns, Fn as useScheduledTasks, va as useShareLink, Qn as useShareRecipientsCount, Xn as useSkillArchiveImport, At as useSkillDetailsPanelData, Bn as useSkillEditorLoad, Vn as useSkillEditorSubmit, Hn as useSkillFileActions, Wn as useSkillFilePreview, it as useSkillItemDetails, Gn as useSkillsState, ya as useToolsMenu, Dt as useToolsetLogin, pr as useTranscribeAudio, Ta as useUsageData, ga as useViewportWidth, bn as validatePromptContent, xn as validatePromptDescription, Sn as validatePromptName, Ln as validateSkillFileBatch, ui as virtualPathToApiPath, bt as waitForToolsetOAuthResult };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epam/ai-dial-chat-hooks",
|
|
3
3
|
"description": "Framework-level React hooks extracted from AI DIAL Chat for building custom chat interfaces",
|
|
4
|
-
"version": "1.2.0-dev.
|
|
4
|
+
"version": "1.2.0-dev.162",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
}
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@epam/ai-dial-chat-api-client": "1.2.0-dev.
|
|
114
|
+
"@epam/ai-dial-chat-api-client": "1.2.0-dev.162",
|
|
115
115
|
"dompurify": "3.4.15",
|
|
116
116
|
"fflate": "^0.8.3",
|
|
117
117
|
"lru-cache": "^10.4.3",
|
|
@@ -120,22 +120,22 @@
|
|
|
120
120
|
},
|
|
121
121
|
"peerDependencies": {
|
|
122
122
|
"react": "^19.2.8",
|
|
123
|
-
"@epam/ai-dial-attachment-canvas": "1.2.0-dev.
|
|
124
|
-
"@epam/ai-dial-attachment-input": "1.2.0-dev.
|
|
125
|
-
"@epam/ai-dial-builder-form": "1.2.0-dev.
|
|
126
|
-
"@epam/ai-dial-catalog": "1.2.0-dev.
|
|
127
|
-
"@epam/ai-dial-chat-overlay": "1.2.0-dev.
|
|
128
|
-
"@epam/ai-dial-chat-shared": "1.2.0-dev.
|
|
129
|
-
"@epam/ai-dial-mcp-apps": "1.2.0-dev.
|
|
130
|
-
"@epam/ai-dial-publish-panel": "1.2.0-dev.
|
|
131
|
-
"@epam/ai-dial-quotations": "1.2.0-dev.
|
|
132
|
-
"@epam/ai-dial-react-file-manager": "^0.3.0-dev.
|
|
133
|
-
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.
|
|
134
|
-
"@epam/ai-dial-share": "1.2.0-dev.
|
|
135
|
-
"@epam/ai-dial-skill-editor": "1.2.0-dev.
|
|
136
|
-
"@epam/ai-dial-source-panel": "1.2.0-dev.
|
|
137
|
-
"@epam/ai-dial-ui-kit": "^0.15.0-dev.
|
|
138
|
-
"@epam/ai-dial-usage-dashboard": "1.2.0-dev.
|
|
123
|
+
"@epam/ai-dial-attachment-canvas": "1.2.0-dev.162",
|
|
124
|
+
"@epam/ai-dial-attachment-input": "1.2.0-dev.162",
|
|
125
|
+
"@epam/ai-dial-builder-form": "1.2.0-dev.162",
|
|
126
|
+
"@epam/ai-dial-catalog": "1.2.0-dev.162",
|
|
127
|
+
"@epam/ai-dial-chat-overlay": "1.2.0-dev.162",
|
|
128
|
+
"@epam/ai-dial-chat-shared": "1.2.0-dev.162",
|
|
129
|
+
"@epam/ai-dial-mcp-apps": "1.2.0-dev.162",
|
|
130
|
+
"@epam/ai-dial-publish-panel": "1.2.0-dev.162",
|
|
131
|
+
"@epam/ai-dial-quotations": "1.2.0-dev.162",
|
|
132
|
+
"@epam/ai-dial-react-file-manager": "^0.3.0-dev.13",
|
|
133
|
+
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.162",
|
|
134
|
+
"@epam/ai-dial-share": "1.2.0-dev.162",
|
|
135
|
+
"@epam/ai-dial-skill-editor": "1.2.0-dev.162",
|
|
136
|
+
"@epam/ai-dial-source-panel": "1.2.0-dev.162",
|
|
137
|
+
"@epam/ai-dial-ui-kit": "^0.15.0-dev.20",
|
|
138
|
+
"@epam/ai-dial-usage-dashboard": "1.2.0-dev.162",
|
|
139
139
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
140
140
|
"@epam/pdf-highlighter-kit": "^0.0.19",
|
|
141
141
|
"@mcp-ui/client": "^7.1.1"
|
|
@@ -6,8 +6,8 @@ var a = (a = !0, o = !0) => {
|
|
|
6
6
|
f.current = a, p.current = o, o || (d.current = 0, c(!1));
|
|
7
7
|
}, [a, o]);
|
|
8
8
|
let m = e(() => {
|
|
9
|
-
u(
|
|
10
|
-
}, []);
|
|
9
|
+
u((e) => e.filter((e) => !l.includes(e)));
|
|
10
|
+
}, [l]);
|
|
11
11
|
return t(() => {
|
|
12
12
|
let e = (e) => !!e.dataTransfer?.types.includes("Files"), t = (t) => {
|
|
13
13
|
!p.current || !e(t) || (d.current += 1, c(!0));
|
|
@@ -18,7 +18,7 @@ var a = (a = !0, o = !0) => {
|
|
|
18
18
|
}, i = (t) => {
|
|
19
19
|
if (!(!e(t) || !p.current) && (t.preventDefault(), d.current = 0, c(!1), f.current)) {
|
|
20
20
|
let e = Array.from(t.dataTransfer?.files ?? []);
|
|
21
|
-
e.length > 0 && u(e);
|
|
21
|
+
e.length > 0 && u((t) => [...t, ...e]);
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
return document.addEventListener("dragenter", t), document.addEventListener("dragleave", n), document.addEventListener("dragover", r), document.addEventListener("drop", i), () => {
|