@epam/ai-dial-chat-hooks 1.2.0-dev.1 → 1.2.0-dev.102
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/attachment/useAttachmentValidation/useAttachmentValidation.js +26 -19
- package/attachments.d.ts +10 -4
- package/catalog/map-deployment-to-catalog-item.js +2 -2
- package/catalog/map-skill-to-catalog-item.js +48 -48
- package/catalog/publish.js +2 -1
- package/catalog/useApplicationCredentials/useApplicationCredentials.js +39 -0
- package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js +39 -39
- package/catalog/useSkillItemDetails.js +19 -17
- package/catalog.d.ts +60 -5
- package/catalog.js +15 -14
- package/conversation/announcement-message.js +16 -5
- package/conversation/conversation-transfer/queue.js +8 -5
- package/conversation/stage.js +23 -0
- package/conversation/useAttachmentUpload/useAttachmentUpload.js +12 -5
- package/conversation/useConversationHandlers/useConversationHandlers.js +13 -17
- package/conversation/useConversationImport/useConversationImport.js +1 -1
- package/conversation/useConversationScroll/useConversationScroll.js +68 -64
- package/conversation/useConversationStream/apply-chunk.js +1 -1
- package/conversation/useConversationStream/useConversationStream.js +5 -1
- package/conversation/useTranscribeAudio/transcription-retry.js +5 -4
- package/conversation-overlay.d.ts +7 -0
- package/conversation-overlay.js +2 -0
- package/conversation.d.ts +139 -7
- package/conversation.js +24 -23
- package/file-manager-canvas.d.ts +398 -0
- package/file-manager-canvas.js +2 -0
- package/file-manager.d.ts +71 -330
- package/file-manager.js +15 -15
- package/files/attachment-canvas.js +51 -13
- package/files/attachment-types.js +14 -13
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -5
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +43 -0
- package/index.d.ts +761 -29
- package/index.js +123 -111
- package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js +7 -5
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +1 -1
- package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js +25 -23
- package/mcp-apps.d.ts +8 -6
- package/package.json +37 -18
- package/scheduled-task/scheduled-task-description.js +77 -0
- package/scheduled-task/scheduled-task-preparation.js +24 -0
- package/scheduled-task/scheduled-tasks-api-client.js +19 -0
- package/scheduled-task/use-scheduled-task-runs.js +82 -0
- package/scheduled-task/use-scheduled-tasks.js +93 -0
- package/scheduled-tasks.d.ts +178 -0
- package/scheduled-tasks.js +7 -2
- package/skill/skill.js +10 -7
- package/skill/useSkillArchiveImport/useSkillArchiveImport.js +75 -0
- package/skill/useSkillEditorLoad.js +29 -28
- package/skill/useSkillEditorSubmit.js +92 -75
- package/skill-editor.d.ts +107 -0
- package/skill-editor.js +9 -8
- package/usage/map-usage-data-to-dashboard.js +66 -0
- package/usage/map-user-usage-to-model-limits.js +160 -0
- package/usage.d.ts +120 -0
- package/usage.js +3 -0
|
@@ -69,14 +69,14 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
69
69
|
if (t.url != null && e(t.url)) return E(t.url);
|
|
70
70
|
if (t.referenceUrl != null && e(t.referenceUrl)) return E(t.referenceUrl);
|
|
71
71
|
}, O = async (e, t) => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
let
|
|
76
|
-
return URL.createObjectURL(
|
|
72
|
+
let n = "file" in e ? e.file : void 0, r = n != null && n.size === 0, i = n != null && !r ? void 0 : t.resolveDialUrl(e);
|
|
73
|
+
if (n != null && i == null) return URL.createObjectURL(n);
|
|
74
|
+
if (i != null) try {
|
|
75
|
+
let n = await w(i, D(e) ?? "", t);
|
|
76
|
+
return URL.createObjectURL(n);
|
|
77
77
|
} catch (e) {
|
|
78
78
|
let t = e.status;
|
|
79
|
-
return t == null ? y(
|
|
79
|
+
return t == null ? y(i) : v(t, i);
|
|
80
80
|
}
|
|
81
81
|
if (e.previewUrl != null) return e.previewUrl;
|
|
82
82
|
if (e.data != null) return g(e.data, e.contentType);
|
|
@@ -91,12 +91,11 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
91
91
|
}
|
|
92
92
|
if ("file" in e) return e.file.text();
|
|
93
93
|
}, A = (e, t) => e.data != null || t.resolveDialUrl(e) != null || "file" in e, j = (e, n) => {
|
|
94
|
-
|
|
94
|
+
let r = "file" in e ? e.file : void 0, i = r != null && r.size === 0, a = r != null && !i ? void 0 : n.resolveDialUrl(e);
|
|
95
|
+
return r != null && a == null ? {
|
|
95
96
|
type: t.Image,
|
|
96
|
-
url: URL.createObjectURL(
|
|
97
|
-
}
|
|
98
|
-
let r = n.resolveDialUrl(e);
|
|
99
|
-
return r == null ? e.previewUrl == null ? e.data == null ? null : {
|
|
97
|
+
url: URL.createObjectURL(r)
|
|
98
|
+
} : a == null ? e.previewUrl == null ? e.data == null ? null : {
|
|
100
99
|
type: t.Image,
|
|
101
100
|
url: g(e.data, e.contentType)
|
|
102
101
|
} : {
|
|
@@ -104,7 +103,7 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
104
103
|
url: e.previewUrl
|
|
105
104
|
} : {
|
|
106
105
|
type: t.Image,
|
|
107
|
-
url:
|
|
106
|
+
url: a
|
|
108
107
|
};
|
|
109
108
|
}, M = async (e, n) => {
|
|
110
109
|
let r = await k(e, n);
|
|
@@ -151,6 +150,17 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
151
150
|
};
|
|
152
151
|
}, R = (e) => {
|
|
153
152
|
switch (e.type) {
|
|
153
|
+
case "docx_text_anchor": return {
|
|
154
|
+
kind: i.DocxTableRow,
|
|
155
|
+
cells: e.cells,
|
|
156
|
+
occurrence: e.occurrence
|
|
157
|
+
};
|
|
158
|
+
case "pptx_text_anchor": return {
|
|
159
|
+
kind: i.PptxTableRow,
|
|
160
|
+
cells: e.cells,
|
|
161
|
+
occurrence: e.occurrence,
|
|
162
|
+
slide: e.slide
|
|
163
|
+
};
|
|
154
164
|
case "docx_text_range": return {
|
|
155
165
|
kind: i.DocxTextRange,
|
|
156
166
|
story: e.story,
|
|
@@ -298,6 +308,34 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
298
308
|
visualizerName: r.title,
|
|
299
309
|
requestTimeout: r.requestTimeout
|
|
300
310
|
};
|
|
311
|
+
}, q = (e, n, r, i) => {
|
|
312
|
+
let a = {
|
|
313
|
+
width: r.width,
|
|
314
|
+
height: r.height,
|
|
315
|
+
mobileHeight: r.mobileHeight,
|
|
316
|
+
themeId: i
|
|
317
|
+
}, o = [], s = [];
|
|
318
|
+
return e.forEach((e) => {
|
|
319
|
+
let t = n(e);
|
|
320
|
+
t != null && (s.push(e), o.push({
|
|
321
|
+
url: t,
|
|
322
|
+
mimeType: e.contentType,
|
|
323
|
+
visualizerData: { layout: a }
|
|
324
|
+
}));
|
|
325
|
+
}), o.length === 0 ? {
|
|
326
|
+
content: null,
|
|
327
|
+
resolved: []
|
|
328
|
+
} : {
|
|
329
|
+
content: {
|
|
330
|
+
type: t.GroupedVisualizer,
|
|
331
|
+
url: r.url,
|
|
332
|
+
attachments: o,
|
|
333
|
+
layout: a,
|
|
334
|
+
visualizerName: r.title,
|
|
335
|
+
requestTimeout: r.requestTimeout
|
|
336
|
+
},
|
|
337
|
+
resolved: s
|
|
338
|
+
};
|
|
301
339
|
};
|
|
302
340
|
//#endregion
|
|
303
|
-
export { z as annotationToOoxmlCanvasContent, L as annotationToPdfCanvasContent, S as clearAttachmentCache, A as hasAttachmentTextSource, B as referenceAttachmentToPdfCanvasContent, F as resolveCodeCanvasContent, I as resolveHtmlCanvasContent, j as resolveImageCanvasContent, G as resolveJsonCanvasContent, N as resolveMarkdownCanvasContent, W as resolveOoxmlCanvasContent, U as resolvePdfCanvasContent, M as resolveTextCanvasContent, K as resolveVisualizerCanvasContent };
|
|
341
|
+
export { z as annotationToOoxmlCanvasContent, L as annotationToPdfCanvasContent, S as clearAttachmentCache, A as hasAttachmentTextSource, B as referenceAttachmentToPdfCanvasContent, F as resolveCodeCanvasContent, q as resolveGroupedVisualizerCanvasContent, I as resolveHtmlCanvasContent, j as resolveImageCanvasContent, G as resolveJsonCanvasContent, N as resolveMarkdownCanvasContent, W as resolveOoxmlCanvasContent, U as resolvePdfCanvasContent, M as resolveTextCanvasContent, K as resolveVisualizerCanvasContent };
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeMimeType as e } from "@epam/ai-dial-chat-shared";
|
|
2
|
+
import { extension as t } from "mime-types";
|
|
2
3
|
//#region src/files/attachment-types.ts
|
|
3
|
-
var
|
|
4
|
-
if (
|
|
5
|
-
},
|
|
6
|
-
let
|
|
7
|
-
if (!(
|
|
8
|
-
},
|
|
9
|
-
if (
|
|
10
|
-
let
|
|
11
|
-
if (
|
|
12
|
-
let
|
|
13
|
-
return
|
|
4
|
+
var n = "*/*", r = (e) => e.startsWith(".") || e.includes("/"), i = (t) => {
|
|
5
|
+
if (t != null) return t.map((t) => t === "*" ? n : t.startsWith(".") ? t : e(t)).filter(r);
|
|
6
|
+
}, a = (e) => {
|
|
7
|
+
let t = i(e);
|
|
8
|
+
if (!(t == null || t.length === 0) && !t.some((e) => e === n)) return t.join(",");
|
|
9
|
+
}, o = (n) => n.map((n) => {
|
|
10
|
+
if (n.endsWith("/*")) return n;
|
|
11
|
+
let r = e(n), i = t(r);
|
|
12
|
+
if (i !== !1) return `.${i}`;
|
|
13
|
+
let a = r.split("/")[1];
|
|
14
|
+
return a == null ? n : `.${a.toLowerCase()}`;
|
|
14
15
|
}).join(", ");
|
|
15
16
|
//#endregion
|
|
16
|
-
export {
|
|
17
|
+
export { r as isDialFileAcceptType, o as mimeTypesToAttachmentExtensionLabels, i as mimeTypesToDialFileAcceptTypes, a as mimeTypesToFileAccept };
|
|
@@ -6,11 +6,7 @@ var i = [
|
|
|
6
6
|
r.Shared,
|
|
7
7
|
r.Organization
|
|
8
8
|
], a = (a, o, s, c) => {
|
|
9
|
-
let l = e((e) => c == null || c.includes(e), [c]), u = n(() => s?.filter((e) => l(e.
|
|
10
|
-
id: e,
|
|
11
|
-
label: t,
|
|
12
|
-
disabled: n
|
|
13
|
-
}] : []), [s, l]);
|
|
9
|
+
let l = e((e) => c == null || c.includes(e), [c]), u = n(() => s?.filter((e) => l(e.value)), [s, l]);
|
|
14
10
|
return t(() => {
|
|
15
11
|
l(a) || o(i.find((e) => l(e)) ?? r.MyFiles);
|
|
16
12
|
}, [
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { mimeTypesToDialFileAcceptTypes as e } from "../attachment-types.js";
|
|
2
|
+
import { DialFileManagerVariant as t } from "../file-manager-variant.js";
|
|
3
|
+
import { useDialFileManager as n } from "../useDialFileManager/useDialFileManager.js";
|
|
4
|
+
import { useDialFileManagerTabConfig as r } from "../useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
5
|
+
import { isHiddenPath as i } from "@epam/ai-dial-chat-shared";
|
|
6
|
+
import { useCallback as a, useMemo as o, useState as s } from "react";
|
|
7
|
+
import { isMimeTypeAllowed as c } from "@epam/ai-dial-attachment-input";
|
|
8
|
+
import { DialFileManagerTabs as l, DialFileNodeType as u, useDialFileManagerTabs as d } from "@epam/ai-dial-react-file-manager";
|
|
9
|
+
//#region src/files/useFileAttachmentPicker/useFileAttachmentPicker.ts
|
|
10
|
+
var f = ({ fileManagerOptions: f, bucket: p, forbiddenSymbolsRegExp: m, tabLabels: h, allowedTabs: g, initialTab: _, allowedTypes: v, maxSelectableFileSize: y, canAttachFolders: b = !1 }) => {
|
|
11
|
+
let { activeTab: x, handleTabChange: S, tabs: C } = d(h, _), [w, T] = s(() => /* @__PURE__ */ new Set()), E = a((e) => {
|
|
12
|
+
T(new Set(e));
|
|
13
|
+
}, []), D = a((e) => {
|
|
14
|
+
T(/* @__PURE__ */ new Set()), S(e);
|
|
15
|
+
}, [S]), { tabs: O } = r(x, D, C, g), k = h[x] || h[l.MyFiles], A = n({
|
|
16
|
+
...f,
|
|
17
|
+
bucket: p,
|
|
18
|
+
activeTab: x,
|
|
19
|
+
rootLabel: k,
|
|
20
|
+
variant: t.Attach,
|
|
21
|
+
forbiddenSymbolsRegExp: m
|
|
22
|
+
}), j = a((e) => v == null || v.length === 0 ? !0 : c(e, v), [v]);
|
|
23
|
+
return {
|
|
24
|
+
controller: A,
|
|
25
|
+
activeTab: x,
|
|
26
|
+
tabs: O,
|
|
27
|
+
onTabChange: D,
|
|
28
|
+
selectedPaths: w,
|
|
29
|
+
onSelectedPathsChange: E,
|
|
30
|
+
isRowSelectable: a((e) => {
|
|
31
|
+
let t = e.data;
|
|
32
|
+
return t == null || i(t.path) ? !1 : t.nodeType === u.FOLDER ? b : t.nodeType === u.ITEM ? !(t.contentType != null && !j(t.contentType) || y != null && t.contentLength != null && t.contentLength > y) : !1;
|
|
33
|
+
}, [
|
|
34
|
+
b,
|
|
35
|
+
j,
|
|
36
|
+
y
|
|
37
|
+
]),
|
|
38
|
+
isFileTypeAllowed: j,
|
|
39
|
+
allowedFileTypes: o(() => e(v), [v])
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
//#endregion
|
|
43
|
+
export { f as useFileAttachmentPicker };
|