@epam/ai-dial-chat-hooks 1.2.0-dev.282 → 1.2.0-dev.285
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/file-manager.d.ts +0 -9
- package/file-manager.js +24 -24
- package/files/dial-file-manager-copy-move.util.js +9 -8
- package/files/dial-file-manager-path.util.js +1 -1
- package/files/file-manager-variant.js +1 -1
- package/files/resolve-dial-file-api-path.js +11 -12
- package/files/useDialFileListing/useDialFileListing.js +8 -7
- package/files/useDialFileManager/useDialFileManager.js +16 -16
- package/files/useDialFileMutations/useDialFileMutations.js +140 -139
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +5 -6
- package/index.d.ts +0 -9
- package/index.js +42 -42
- package/package.json +15 -15
package/file-manager.d.ts
CHANGED
|
@@ -34,7 +34,6 @@ import { FileUploadResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
|
34
34
|
import { FileUploadStatus } from '@epam/ai-dial-chat-shared';
|
|
35
35
|
import { FileUploadValidationResult } from '@epam/ai-dial-chat-shared';
|
|
36
36
|
import { FilterChipItem } from '@epam/ai-dial-ui-kit';
|
|
37
|
-
import { getParentFolderPath } from '@epam/ai-dial-chat-shared';
|
|
38
37
|
import { ListFilesItemDto } from '@epam/ai-dial-chat-api-client';
|
|
39
38
|
import { ListFilesResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
40
39
|
import { ListPublicFilesRequest } from '@epam/ai-dial-chat-api-client';
|
|
@@ -129,8 +128,6 @@ export declare const DIAL_FILE_MANAGER_SECTION_TABS: readonly DialFileManagerTab
|
|
|
129
128
|
/** Strip the "files/{bucket}/" prefix from a DIAL Core URL to get the path within the bucket. */
|
|
130
129
|
export declare const dialCorePathToRelative: (dialCorePath: string, bucket: string) => string;
|
|
131
130
|
|
|
132
|
-
export { DialFileManagerActionProfile }
|
|
133
|
-
|
|
134
131
|
/** One source tab rendered as a top-level folder of the All view. */
|
|
135
132
|
export declare interface DialFileManagerSection {
|
|
136
133
|
/** Source tab backing this section — `MyFiles`, `Shared` or `Organization`. */
|
|
@@ -139,8 +136,6 @@ export declare interface DialFileManagerSection {
|
|
|
139
136
|
rootLabel: string;
|
|
140
137
|
}
|
|
141
138
|
|
|
142
|
-
export { DialFileManagerVariant }
|
|
143
|
-
|
|
144
139
|
/**
|
|
145
140
|
* Operation port every file-manager hook that performs network I/O accepts as
|
|
146
141
|
* a parameter, replacing direct `server-api/files.api` access. Mirrors
|
|
@@ -468,8 +463,6 @@ export declare interface FilesApiClient {
|
|
|
468
463
|
listSharedByMe: (bucket: string) => Promise<ListFilesResponseDto>;
|
|
469
464
|
}
|
|
470
465
|
|
|
471
|
-
export { FileUploadValidationResult }
|
|
472
|
-
|
|
473
466
|
export declare const findDialFileByPath: (nodes: DialFile[], targetPath: string) => DialFile | undefined;
|
|
474
467
|
|
|
475
468
|
export declare const findFirstSuccessfulCopyMoveItem: <TDto extends {
|
|
@@ -486,8 +479,6 @@ export declare const findFolderByVirtualPath: (nodes: DialFile[], virtualPath: s
|
|
|
486
479
|
|
|
487
480
|
export declare const formatOperationFolderName: (destinationFolder: string, rootLabel: string) => string;
|
|
488
481
|
|
|
489
|
-
export { getParentFolderPath }
|
|
490
|
-
|
|
491
482
|
/**
|
|
492
483
|
* Returns the last path segment of `url` — its file name — for both absolute
|
|
493
484
|
* URLs and DIAL-relative resource paths such as
|
package/file-manager.js
CHANGED
|
@@ -4,27 +4,27 @@ import { sanitizeFileName as s, splitFileNameExtension as c, trimFileNameToByteL
|
|
|
4
4
|
import { DialFilesApiUploadMode as u } from "./files/dial-files-api.js";
|
|
5
5
|
import { FileManagerNotificationReason as d, FileNameValidationErrorReason as f, FileOperationKind as p } from "./files/dial-file-manager.types.js";
|
|
6
6
|
import { COLUMNS_WITHOUT_AUTHOR as m, COLUMNS_WITH_AUTHOR as h, CORE_PERMISSION_MAP as g, DATE_OPTIONS as _, DIAL_FILE_MANAGER_SECTION_TABS as v, PATH_SEPARATOR_REGEXP as y, RESERVED_MARKER_NAME as b, UPLOAD_CONCURRENCY as x } from "./files/dial-file-manager.model.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { useDialFileListing as
|
|
21
|
-
import { useDialFileMetadata as
|
|
22
|
-
import { useDialFileMutations as
|
|
23
|
-
import { useDialFileSharing as
|
|
24
|
-
import { useDialFileUploadBatch as
|
|
25
|
-
import { useDialFileManager as
|
|
26
|
-
import { useDialFileManagerSections as
|
|
27
|
-
import { useDialFileManagerTabConfig as
|
|
28
|
-
import { useFileAttachmentPicker as
|
|
29
|
-
import { useGridEditingScroll as
|
|
30
|
-
export { m as COLUMNS_WITHOUT_AUTHOR, h as COLUMNS_WITH_AUTHOR, g as CORE_PERMISSION_MAP, _ as DATE_OPTIONS, v as DIAL_FILE_MANAGER_SECTION_TABS,
|
|
7
|
+
import { buildSharedItemVirtualPath as S, dialCorePathToRelative as C, findDialFileByPath as w, findFolderByVirtualPath as T, formatOperationFolderName as E, getVirtualPathName as D, hasDialFileWritePermission as O, hasForbiddenNameSymbols as k, hasSamePaths as A, isCopyMoveDuplicateAllowed as j, isShareActionsAllowed as M, normalizeVirtualPath as N, parseNewFolderVirtualPath as P, resolveOwnerCoords as F, resolveSectionByPath as I, unionPathSets as L, withRoutableRootLabels as R } from "./files/dial-file-manager-path.util.js";
|
|
8
|
+
import { resolveDialFileApiPath as z, virtualPathToApiPath as B } from "./files/resolve-dial-file-api-path.js";
|
|
9
|
+
import { prepareCopyItems as V, prepareMoveRenameItems as H } from "./files/dial-file-manager-copy-move.util.js";
|
|
10
|
+
import { buildFromCache as U, fetchByTab as W, fetchForSearch as G, findFirstSuccessfulCopyMoveItem as K, mapCorePermissions as q, mapFileMetadataToDialFile as J, mapSearchItem as Y, mergeCreatedFolderIntoCache as X, updateEntry as Z } from "./files/dial-file-manager-mapping.util.js";
|
|
11
|
+
import { createFilesApiClient as Q } from "./files/create-files-api.js";
|
|
12
|
+
import { createUploadFileWithProgress as $ } from "./files/create-upload-file-with-progress.js";
|
|
13
|
+
import { openAnnotationAttachment as ee } from "./files/annotation.js";
|
|
14
|
+
import { getUrlFileName as te, isExternalSourcePreviewable as ne, resolveExternalSourceContentType as re } from "./files/source-content.js";
|
|
15
|
+
import { annotationToDisplayAttachment as ie, attachmentDtoToDisplayAttachment as ae, attachmentDtosToDisplayAttachments as oe } from "./files/attachment-dto-to-display.js";
|
|
16
|
+
import { dialFileToAttachment as se, dialFilesToAttachments as ce, dialFolderPathToAttachment as le } from "./files/dial-file-to-attachment.js";
|
|
17
|
+
import { DownloadDestinationType as ue } from "./files/download-destination.js";
|
|
18
|
+
import { prepareDownloadDestination as de } from "./files/prepare-download-destination.js";
|
|
19
|
+
import { deriveActionProfile as fe } from "./files/file-manager-variant.js";
|
|
20
|
+
import { useDialFileListing as pe } from "./files/useDialFileListing/useDialFileListing.js";
|
|
21
|
+
import { useDialFileMetadata as me } from "./files/useDialFileMetadata/useDialFileMetadata.js";
|
|
22
|
+
import { useDialFileMutations as he } from "./files/useDialFileMutations/useDialFileMutations.js";
|
|
23
|
+
import { useDialFileSharing as ge } from "./files/useDialFileSharing/useDialFileSharing.js";
|
|
24
|
+
import { useDialFileUploadBatch as _e } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
25
|
+
import { useDialFileManager as ve } from "./files/useDialFileManager/useDialFileManager.js";
|
|
26
|
+
import { useDialFileManagerSections as ye } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
|
|
27
|
+
import { useDialFileManagerTabConfig as be } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
28
|
+
import { useFileAttachmentPicker as xe } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
|
|
29
|
+
import { useGridEditingScroll as Se } from "@epam/ai-dial-chat-shared";
|
|
30
|
+
export { m as COLUMNS_WITHOUT_AUTHOR, h as COLUMNS_WITH_AUTHOR, g as CORE_PERMISSION_MAP, _ as DATE_OPTIONS, v as DIAL_FILE_MANAGER_SECTION_TABS, u as DialFilesApiUploadMode, ue as DownloadDestinationType, d as FileManagerNotificationReason, f as FileNameValidationErrorReason, p as FileOperationKind, y as PATH_SEPARATOR_REGEXP, b as RESERVED_MARKER_NAME, x as UPLOAD_CONCURRENCY, ie as annotationToDisplayAttachment, ae as attachmentDtoToDisplayAttachment, oe as attachmentDtosToDisplayAttachments, U as buildFromCache, S as buildSharedItemVirtualPath, Q as createFilesApiClient, $ as createUploadFileWithProgress, fe as deriveActionProfile, C as dialCorePathToRelative, se as dialFileToAttachment, ce as dialFilesToAttachments, le as dialFolderPathToAttachment, W as fetchByTab, G as fetchForSearch, w as findDialFileByPath, K as findFirstSuccessfulCopyMoveItem, T as findFolderByVirtualPath, E as formatOperationFolderName, te as getUrlFileName, D as getVirtualPathName, O as hasDialFileWritePermission, k as hasForbiddenNameSymbols, A as hasSamePaths, j as isCopyMoveDuplicateAllowed, r as isDialFileAcceptType, e as isDialFileId, ne as isExternalSourcePreviewable, M as isShareActionsAllowed, q as mapCorePermissions, J as mapFileMetadataToDialFile, Y as mapSearchItem, X as mergeCreatedFolderIntoCache, i as mimeTypesToAttachmentExtensionLabels, a as mimeTypesToDialFileAcceptTypes, o as mimeTypesToFileAccept, N as normalizeVirtualPath, ee as openAnnotationAttachment, P as parseNewFolderVirtualPath, V as prepareCopyItems, de as prepareDownloadDestination, H as prepareMoveRenameItems, z as resolveDialFileApiPath, t as resolveDialFileBucketAndPath, re as resolveExternalSourceContentType, F as resolveOwnerCoords, n as resolveRelativeDialFilePath, I as resolveSectionByPath, s as sanitizeFileName, c as splitFileNameExtension, l as trimFileNameToByteLimit, L as unionPathSets, Z as updateEntry, pe as useDialFileListing, ve as useDialFileManager, ye as useDialFileManagerSections, be as useDialFileManagerTabConfig, me as useDialFileMetadata, he as useDialFileMutations, ge as useDialFileSharing, _e as useDialFileUploadBatch, xe as useFileAttachmentPicker, Se as useGridEditingScroll, B as virtualPathToApiPath, R as withRoutableRootLabels };
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
import { getVirtualPathName as e } from "./dial-file-manager-path.util.js";
|
|
2
|
-
import {
|
|
2
|
+
import { virtualPathToApiPath as t } from "./resolve-dial-file-api-path.js";
|
|
3
|
+
import { getParentFolderPath as n } from "@epam/ai-dial-chat-shared";
|
|
3
4
|
import { CopyItemDtoNodeTypeEnum as r, MoveItemDtoNodeTypeEnum as i, RenameItemDtoNodeTypeEnum as a } from "@epam/ai-dial-chat-api-client";
|
|
4
5
|
import { DialFileNodeType as o } from "@epam/ai-dial-react-file-manager";
|
|
5
6
|
//#region src/files/dial-file-manager-copy-move.util.ts
|
|
6
|
-
var s = (
|
|
7
|
-
let s =
|
|
7
|
+
var s = (n, i, a) => n.map((n) => {
|
|
8
|
+
let s = n.nodeType === o.FOLDER, c = t(n.sourceUrl, a), l = t(n.destinationUrl, a), u = e(n.sourceUrl, c);
|
|
8
9
|
return {
|
|
9
|
-
destinationName: e(
|
|
10
|
+
destinationName: e(n.destinationUrl, l),
|
|
10
11
|
dto: {
|
|
11
12
|
bucket: i,
|
|
12
13
|
sourcePath: s ? c.endsWith("/") ? c : `${c}/` : c.replace(/\/$/, ""),
|
|
13
14
|
destinationPath: s ? l.endsWith("/") ? l : `${l}/` : l.replace(/\/$/, ""),
|
|
14
|
-
overwrite:
|
|
15
|
+
overwrite: n.overwrite === !0,
|
|
15
16
|
nodeType: s ? r.Folder : r.Item,
|
|
16
17
|
name: u
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
20
|
}), c = (r, s, c) => {
|
|
20
21
|
let l = r.map((r) => {
|
|
21
|
-
let i = r.nodeType === o.FOLDER, a =
|
|
22
|
+
let i = r.nodeType === o.FOLDER, a = t(r.sourceUrl, c), s = t(r.destinationUrl, c), l = e(r.sourceUrl, a), u = e(r.destinationUrl, s), d = i ? a.endsWith("/") ? a : `${a}/` : a.replace(/\/$/, ""), f = i ? s.endsWith("/") ? s : `${s}/` : s.replace(/\/$/, "");
|
|
22
23
|
return {
|
|
23
24
|
isFolder: i,
|
|
24
25
|
name: l,
|
|
@@ -26,8 +27,8 @@ var s = (t, i, a) => t.map((t) => {
|
|
|
26
27
|
overwrite: r.overwrite === !0,
|
|
27
28
|
sourcePath: d,
|
|
28
29
|
destinationPath: f,
|
|
29
|
-
sourceParent:
|
|
30
|
-
destinationParent:
|
|
30
|
+
sourceParent: n(d),
|
|
31
|
+
destinationParent: n(f)
|
|
31
32
|
};
|
|
32
33
|
});
|
|
33
34
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { safeDecodeURI as e, stripTrailingSlashes as t } from "../shared/string-utils.js";
|
|
2
2
|
import { PATH_SEPARATOR_REGEXP as n } from "./dial-file-manager.model.js";
|
|
3
|
-
import { DialFileManagerActionProfile as r } from "
|
|
3
|
+
import { DialFileManagerActionProfile as r } from "@epam/ai-dial-chat-shared";
|
|
4
4
|
import { DialFileNodeType as i, DialFilePermission as a } from "@epam/ai-dial-react-file-manager";
|
|
5
5
|
//#region src/files/dial-file-manager-path.util.ts
|
|
6
6
|
var o = (e, t) => {
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { safeDecodeURI as e } from "../shared/string-utils.js";
|
|
2
|
-
import {
|
|
3
|
-
import { DialFileNodeType as n } from "@epam/ai-dial-react-file-manager";
|
|
2
|
+
import { DialFileNodeType as t } from "@epam/ai-dial-react-file-manager";
|
|
4
3
|
//#region src/files/resolve-dial-file-api-path.ts
|
|
5
|
-
var
|
|
6
|
-
let i = `files/${
|
|
4
|
+
var n = (e) => e.startsWith("files/"), r = (t, r) => {
|
|
5
|
+
let i = `files/${r}/`;
|
|
7
6
|
if (t.startsWith(i)) return e(t.slice(i.length));
|
|
8
|
-
if (
|
|
9
|
-
let
|
|
7
|
+
if (n(t)) {
|
|
8
|
+
let n = t.slice(6), i = n.indexOf("/");
|
|
10
9
|
if (i >= 0) {
|
|
11
|
-
let t =
|
|
12
|
-
if (t ===
|
|
10
|
+
let t = n.slice(0, i), a = n.slice(i + 1);
|
|
11
|
+
if (t === r) return e(a);
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
return t;
|
|
16
|
-
},
|
|
15
|
+
}, i = (e, t) => {
|
|
17
16
|
let n = `/${t}`, r = `/${t}/`, i = `${t}/`;
|
|
18
17
|
if (e === n || e === `${t}` || e === r || e === i) return "";
|
|
19
18
|
let a;
|
|
@@ -25,9 +24,9 @@ var r = (e) => e.startsWith("files/"), i = (t, n) => {
|
|
|
25
24
|
}
|
|
26
25
|
let o = a.replace(/\/{2,}/g, "/");
|
|
27
26
|
return o && !o.endsWith("/") ? `${o}/` : o;
|
|
28
|
-
},
|
|
29
|
-
let s = e.nodeType ===
|
|
27
|
+
}, a = (e, t) => e.startsWith("/") || e === t || e.startsWith(`${t}/`), o = (e, n, o) => {
|
|
28
|
+
let s = e.nodeType === t.FOLDER, c = e.id ? r(e.id, n) : null, l = c != null && !a(c, o) ? c : i(e.path, o);
|
|
30
29
|
return s ? l.endsWith("/") ? l : `${l}/` : l.replace(/\/$/, "");
|
|
31
30
|
};
|
|
32
31
|
//#endregion
|
|
33
|
-
export {
|
|
32
|
+
export { o as resolveDialFileApiPath, i as virtualPathToApiPath };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { getApiErrorStatus as e } from "../../api-error/api-error.js";
|
|
2
2
|
import { FileManagerNotificationReason as t } from "../dial-file-manager.types.js";
|
|
3
3
|
import { buildSharedItemVirtualPath as n, dialCorePathToRelative as r, findFolderByVirtualPath as i, normalizeVirtualPath as a } from "../dial-file-manager-path.util.js";
|
|
4
|
-
import {
|
|
5
|
-
import { buildFromCache as
|
|
4
|
+
import { virtualPathToApiPath as o } from "../resolve-dial-file-api-path.js";
|
|
5
|
+
import { buildFromCache as ee, fetchByTab as s, fetchForSearch as te, mapCorePermissions as ne, mapSearchItem as c, mergeCreatedFolderIntoCache as re } from "../dial-file-manager-mapping.util.js";
|
|
6
|
+
import { getParentFolderPath as ie } from "@epam/ai-dial-chat-shared";
|
|
6
7
|
import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
|
|
7
8
|
import { ListFilesItemDtoNodeTypeEnum as m } from "@epam/ai-dial-chat-api-client";
|
|
8
9
|
import { NotificationVariant as h } from "@epam/ai-dial-ui-kit";
|
|
@@ -37,7 +38,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
37
38
|
}).catch((n) => {
|
|
38
39
|
if (!t) {
|
|
39
40
|
if (C !== "" && e(n) === 404) {
|
|
40
|
-
w(
|
|
41
|
+
w(ie(C));
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
44
|
j("dialFileManager.error");
|
|
@@ -83,8 +84,8 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
83
84
|
parentPath: "",
|
|
84
85
|
nodeType: ae.FOLDER,
|
|
85
86
|
folderId: v,
|
|
86
|
-
permissions:
|
|
87
|
-
items:
|
|
87
|
+
permissions: ne(O.get("")),
|
|
88
|
+
items: ee(T, O, "", `/${y}`, v)
|
|
88
89
|
}], [
|
|
89
90
|
T,
|
|
90
91
|
O,
|
|
@@ -141,7 +142,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
141
142
|
y,
|
|
142
143
|
x
|
|
143
144
|
]), ve = l((e, t, n) => {
|
|
144
|
-
E((r) =>
|
|
145
|
+
E((r) => re(r, e, t, n));
|
|
145
146
|
}, []), ye = l((e) => {
|
|
146
147
|
if (!S) return;
|
|
147
148
|
let n = e == null ? "" : o(e, y), r = e ?? `/${y}`;
|
|
@@ -247,7 +248,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
247
248
|
e = !0;
|
|
248
249
|
}, R(!0), (async () => {
|
|
249
250
|
try {
|
|
250
|
-
let { items: t } = await
|
|
251
|
+
let { items: t } = await te(_, b, v, C, L.current);
|
|
251
252
|
if (e) return;
|
|
252
253
|
z(t.map((e) => c(e, e.bucket ?? v, y)));
|
|
253
254
|
} catch {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { COLUMNS_WITHOUT_AUTHOR as e, COLUMNS_WITH_AUTHOR as t, DATE_OPTIONS as n } from "../dial-file-manager.model.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useDialFileListing as
|
|
5
|
-
import { useDialFileMetadata as
|
|
6
|
-
import { useDialFileMutations as
|
|
7
|
-
import { useDialFileSharing as
|
|
8
|
-
import { useDialFileUploadBatch as
|
|
9
|
-
import { isUploadInProgress as m } from "@epam/ai-dial-chat-shared";
|
|
2
|
+
import { hasDialFileWritePermission as r, isCopyMoveDuplicateAllowed as i, isShareActionsAllowed as a } from "../dial-file-manager-path.util.js";
|
|
3
|
+
import { deriveActionProfile as o } from "../file-manager-variant.js";
|
|
4
|
+
import { useDialFileListing as s } from "../useDialFileListing/useDialFileListing.js";
|
|
5
|
+
import { useDialFileMetadata as c } from "../useDialFileMetadata/useDialFileMetadata.js";
|
|
6
|
+
import { useDialFileMutations as l } from "../useDialFileMutations/useDialFileMutations.js";
|
|
7
|
+
import { useDialFileSharing as u } from "../useDialFileSharing/useDialFileSharing.js";
|
|
8
|
+
import { useDialFileUploadBatch as d } from "../useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
9
|
+
import { DialFileManagerActionProfile as f, DialFileManagerVariant as p, isUploadInProgress as m } from "@epam/ai-dial-chat-shared";
|
|
10
10
|
import { useCallback as h, useMemo as g } from "react";
|
|
11
11
|
import { DialFileManagerActions as _, DialFileManagerTabs as v } from "@epam/ai-dial-react-file-manager";
|
|
12
12
|
//#region src/files/useDialFileManager/useDialFileManager.ts
|
|
13
|
-
var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.MyFiles, isActive: C, sessionKey: w, onNotification: T, onOperationSuccess: E, forbiddenSymbolsRegExp: D, variant: O =
|
|
14
|
-
let F = k ??
|
|
13
|
+
var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.MyFiles, isActive: C, sessionKey: w, onNotification: T, onOperationSuccess: E, forbiddenSymbolsRegExp: D, variant: O = p.Attach, actionProfile: k, labels: A, locale: j, disabledNewButtonTooltip: M, downloadDestination: N, buildValidationErrorMessage: P }) => {
|
|
14
|
+
let F = k ?? o(O), I = s({
|
|
15
15
|
filesApi: y,
|
|
16
16
|
bucket: b,
|
|
17
17
|
rootLabel: x,
|
|
@@ -19,7 +19,7 @@ var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.M
|
|
|
19
19
|
onNotification: T,
|
|
20
20
|
isActive: C,
|
|
21
21
|
sessionKey: w
|
|
22
|
-
}), L =
|
|
22
|
+
}), L = d({
|
|
23
23
|
filesApi: y,
|
|
24
24
|
bucket: b,
|
|
25
25
|
rootLabel: x,
|
|
@@ -29,7 +29,7 @@ var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.M
|
|
|
29
29
|
invalidateFolders: I.invalidateFolders,
|
|
30
30
|
bumpRetry: I.bumpRetry,
|
|
31
31
|
onNotification: T
|
|
32
|
-
}), R =
|
|
32
|
+
}), R = l({
|
|
33
33
|
filesApi: y,
|
|
34
34
|
bucket: b,
|
|
35
35
|
rootLabel: x,
|
|
@@ -46,18 +46,18 @@ var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.M
|
|
|
46
46
|
onOperationSuccess: E,
|
|
47
47
|
downloadDestination: N,
|
|
48
48
|
forbiddenSymbolsRegExp: D
|
|
49
|
-
}), z =
|
|
49
|
+
}), z = u({
|
|
50
50
|
filesApi: y,
|
|
51
51
|
bucket: b,
|
|
52
52
|
rootLabel: x,
|
|
53
53
|
bumpRetry: I.bumpRetry,
|
|
54
54
|
onNotification: T
|
|
55
|
-
}), B =
|
|
55
|
+
}), B = c({
|
|
56
56
|
filesApi: y,
|
|
57
57
|
bucket: b,
|
|
58
58
|
rootLabel: x,
|
|
59
59
|
onNotification: T
|
|
60
|
-
}), V =
|
|
60
|
+
}), V = r(I.currentFolder), H = g(() => S === v.Organization || S === v.Shared && I.folderPath === "" ? !1 : V, [
|
|
61
61
|
S,
|
|
62
62
|
I.folderPath,
|
|
63
63
|
V
|
|
@@ -66,7 +66,7 @@ var y = ({ filesApi: y, bucket: b, rootLabel: x = "My files", activeTab: S = v.M
|
|
|
66
66
|
let n = A[t];
|
|
67
67
|
n != null && (e[t] = n);
|
|
68
68
|
};
|
|
69
|
-
return t(_.Download), S === v.MyFiles ? (t(_.Delete), H && (t(_.Rename),
|
|
69
|
+
return t(_.Download), S === v.MyFiles ? (t(_.Delete), H && (t(_.Rename), i(F) && (t(_.Copy), t(_.Move), t(_.Duplicate))), a(F) && t(_.RemoveAccess)) : S === v.Shared && a(F) && t(_.Unshare), F === f.Full && t(_.Info), e;
|
|
70
70
|
}, [
|
|
71
71
|
S,
|
|
72
72
|
H,
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
import { FileManagerNotificationReason as e, FileNameValidationErrorReason as t, FileOperationKind as n } from "../dial-file-manager.types.js";
|
|
2
2
|
import { RESERVED_MARKER_NAME as r } from "../dial-file-manager.model.js";
|
|
3
3
|
import { formatOperationFolderName as i, getVirtualPathName as a, hasForbiddenNameSymbols as o, parseNewFolderVirtualPath as s, resolveOwnerCoords as c } from "../dial-file-manager-path.util.js";
|
|
4
|
-
import {
|
|
5
|
-
import { prepareCopyItems as
|
|
6
|
-
import { findFirstSuccessfulCopyMoveItem as
|
|
7
|
-
import { DownloadDestinationType as
|
|
4
|
+
import { resolveDialFileApiPath as l, virtualPathToApiPath as u } from "../resolve-dial-file-api-path.js";
|
|
5
|
+
import { prepareCopyItems as d, prepareMoveRenameItems as f } from "../dial-file-manager-copy-move.util.js";
|
|
6
|
+
import { findFirstSuccessfulCopyMoveItem as p } from "../dial-file-manager-mapping.util.js";
|
|
7
|
+
import { DownloadDestinationType as m } from "../download-destination.js";
|
|
8
|
+
import { getParentFolderPath as h } from "@epam/ai-dial-chat-shared";
|
|
8
9
|
import { useCallback as g, useRef as _, useState as v } from "react";
|
|
9
|
-
import { ArchiveItemDtoNodeTypeEnum as y, CopyItemDtoNodeTypeEnum as b, DeleteItemDtoNodeTypeEnum as x, MoveItemDtoNodeTypeEnum as ee, RenameItemDtoNodeTypeEnum as
|
|
10
|
-
import { NOT_ALLOWED_SYMBOLS as
|
|
11
|
-
import { DialFileManagerTabs as
|
|
10
|
+
import { ArchiveItemDtoNodeTypeEnum as y, CopyItemDtoNodeTypeEnum as b, DeleteItemDtoNodeTypeEnum as x, MoveItemDtoNodeTypeEnum as ee, RenameItemDtoNodeTypeEnum as S } from "@epam/ai-dial-chat-api-client";
|
|
11
|
+
import { NOT_ALLOWED_SYMBOLS as C, NotificationVariant as w } from "@epam/ai-dial-ui-kit";
|
|
12
|
+
import { DialFileManagerTabs as T, DialFileNodeType as E } from "@epam/ai-dial-react-file-manager";
|
|
12
13
|
//#region src/files/useDialFileMutations/useDialFileMutations.ts
|
|
13
|
-
var
|
|
14
|
-
let [
|
|
14
|
+
var D = ({ filesApi: D, bucket: O, rootLabel: k, activeTab: A, folderPath: j, currentFolder: M, sharedRootMetaRef: N, listingPermissionsCache: P, invalidateFolders: F, bumpRetry: I, mergeCreatedFolder: L, setFolderPath: R, onNotification: z, onOperationSuccess: B, downloadDestination: V, forbiddenSymbolsRegExp: H }) => {
|
|
15
|
+
let [te, U] = v(!1), [ne, W] = v(!1), [re, G] = v(!1), [K, q] = v(!1), [J, Y] = v(!1), [X, ie] = v(!1), Z = _(null), Q = _(null), $ = g((e, n) => {
|
|
15
16
|
let i = null;
|
|
16
17
|
if (!e || e.trim() === "") i = { reason: t.Empty };
|
|
17
|
-
else if (o(e,
|
|
18
|
+
else if (o(e, H)) i = {
|
|
18
19
|
reason: t.ForbiddenSymbols,
|
|
19
|
-
symbols:
|
|
20
|
+
symbols: C
|
|
20
21
|
};
|
|
21
22
|
else if (e === r) i = { reason: t.ReservedName };
|
|
22
23
|
else if (e.length > 255) i = {
|
|
@@ -31,108 +32,108 @@ var E = ({ filesApi: E, bucket: D, rootLabel: O, activeTab: k, folderPath: A, cu
|
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
34
|
return Q.current = i, i;
|
|
34
|
-
}, [
|
|
35
|
-
let { parentVirtualPath: a, name: o } = s(r,
|
|
35
|
+
}, [H]), ae = g(async (t, r, i) => {
|
|
36
|
+
let { parentVirtualPath: a, name: o } = s(r, k), l = u(a, k), d = M && j === l ? M : {
|
|
36
37
|
id: l,
|
|
37
38
|
path: l,
|
|
38
39
|
name: a.split("/").filter(Boolean).pop() ?? "",
|
|
39
40
|
folderId: l,
|
|
40
|
-
nodeType:
|
|
41
|
+
nodeType: E.FOLDER,
|
|
41
42
|
items: []
|
|
42
43
|
}, f = Q.current;
|
|
43
|
-
if (Q.current = null, $(o,
|
|
44
|
-
|
|
45
|
-
let { bucket: p, path: m } =
|
|
46
|
-
bucket:
|
|
44
|
+
if (Q.current = null, $(o, d) || f) return;
|
|
45
|
+
U(!0);
|
|
46
|
+
let { bucket: p, path: m } = A === T.Shared ? c(l, N.current, O) : {
|
|
47
|
+
bucket: O,
|
|
47
48
|
path: l
|
|
48
49
|
};
|
|
49
50
|
try {
|
|
50
|
-
|
|
51
|
+
L(l, await D.createFolder({
|
|
51
52
|
bucket: p,
|
|
52
53
|
parentPath: m,
|
|
53
54
|
name: o
|
|
54
|
-
}),
|
|
55
|
+
}), P.get(l)), I(), B?.({
|
|
55
56
|
kind: n.FolderCreated,
|
|
56
57
|
name: o
|
|
57
58
|
});
|
|
58
59
|
} catch {
|
|
59
|
-
|
|
60
|
-
variant:
|
|
60
|
+
z?.({
|
|
61
|
+
variant: w.Error,
|
|
61
62
|
reason: e.FolderCreateFailed
|
|
62
63
|
});
|
|
63
64
|
} finally {
|
|
64
|
-
|
|
65
|
+
U(!1);
|
|
65
66
|
}
|
|
66
67
|
}, [
|
|
67
|
-
|
|
68
|
+
A,
|
|
69
|
+
O,
|
|
70
|
+
M,
|
|
68
71
|
D,
|
|
69
72
|
j,
|
|
70
|
-
E,
|
|
71
|
-
A,
|
|
72
73
|
$,
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
k,
|
|
75
|
+
P,
|
|
76
|
+
L,
|
|
75
77
|
I,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
R
|
|
78
|
+
B,
|
|
79
|
+
N,
|
|
80
|
+
z
|
|
80
81
|
]), oe = g((t) => {
|
|
81
82
|
(async () => {
|
|
82
|
-
|
|
83
|
+
W(!0);
|
|
83
84
|
try {
|
|
84
|
-
let e = t.length === 1 ? t[0].nodeType ===
|
|
85
|
-
if (r.type ===
|
|
86
|
-
if (t.length === 1 && t[0].nodeType ===
|
|
85
|
+
let e = t.length === 1 ? t[0].nodeType === E.ITEM ? t[0].name : `${t[0].name}.zip` : "files.zip", r = await V.resolveDestination(e, t.length === 1 && t[0].nodeType === E.ITEM ? t[0].contentType ?? "application/octet-stream" : "application/zip");
|
|
86
|
+
if (r.type === m.Cancelled) return;
|
|
87
|
+
if (t.length === 1 && t[0].nodeType === E.ITEM) {
|
|
87
88
|
let e = t[0];
|
|
88
89
|
if (!e.bucket) throw Error("File is missing bucket");
|
|
89
|
-
let i =
|
|
90
|
+
let i = l(e, e.bucket, k), a = await D.downloadFile(e.bucket, i);
|
|
90
91
|
if (!a.ok) throw Error(`Download failed with status ${a.status}`);
|
|
91
|
-
let o = await
|
|
92
|
-
|
|
92
|
+
let o = await V.triggerDownload(a, e.name, r);
|
|
93
|
+
B?.({
|
|
93
94
|
kind: n.FileDownloaded,
|
|
94
95
|
name: o,
|
|
95
96
|
count: 1
|
|
96
97
|
});
|
|
97
98
|
} else {
|
|
98
99
|
let i = t.map((e) => ({
|
|
99
|
-
bucket: e.bucket ??
|
|
100
|
-
path:
|
|
100
|
+
bucket: e.bucket ?? O,
|
|
101
|
+
path: l(e, e.bucket ?? O, k),
|
|
101
102
|
name: e.name,
|
|
102
|
-
nodeType: e.nodeType ===
|
|
103
|
-
})), a = await
|
|
103
|
+
nodeType: e.nodeType === E.FOLDER ? y.Folder : y.Item
|
|
104
|
+
})), a = await D.downloadArchive(i);
|
|
104
105
|
if (!a.ok) throw Error(`Download failed with status ${a.status}`);
|
|
105
|
-
let o = await
|
|
106
|
-
t.length === 1 ?
|
|
106
|
+
let o = await V.triggerDownload(a, e, r);
|
|
107
|
+
t.length === 1 ? B?.({
|
|
107
108
|
kind: n.FileDownloaded,
|
|
108
109
|
name: o
|
|
109
|
-
}) :
|
|
110
|
+
}) : B?.({
|
|
110
111
|
kind: n.FilesDownloaded,
|
|
111
112
|
count: t.length
|
|
112
113
|
});
|
|
113
114
|
}
|
|
114
115
|
} catch {
|
|
115
|
-
|
|
116
|
-
variant:
|
|
116
|
+
z?.({
|
|
117
|
+
variant: w.Error,
|
|
117
118
|
reason: t.length === 1 ? e.DownloadFileFailed : e.DownloadFilesFailed
|
|
118
119
|
});
|
|
119
120
|
} finally {
|
|
120
|
-
|
|
121
|
+
W(!1);
|
|
121
122
|
}
|
|
122
123
|
})();
|
|
123
124
|
}, [
|
|
124
|
-
D,
|
|
125
125
|
O,
|
|
126
|
+
k,
|
|
127
|
+
B,
|
|
126
128
|
z,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
B
|
|
129
|
+
D,
|
|
130
|
+
V
|
|
130
131
|
]), se = g((t, n) => {
|
|
131
132
|
t.length !== 0 && (async () => {
|
|
132
|
-
|
|
133
|
+
G(!0);
|
|
133
134
|
let r = t.map((e) => {
|
|
134
|
-
let t = e.nodeType ===
|
|
135
|
-
bucket:
|
|
135
|
+
let t = e.nodeType === E.FOLDER, n = u(e.sourceUrl, k), r = t ? n : n.replace(/\/$/, ""), i = a(e.sourceUrl, r), { bucket: o, path: s } = A === T.Shared ? c(r, N.current, O) : {
|
|
136
|
+
bucket: O,
|
|
136
137
|
path: r
|
|
137
138
|
};
|
|
138
139
|
return {
|
|
@@ -143,134 +144,134 @@ var E = ({ filesApi: E, bucket: D, rootLabel: O, activeTab: k, folderPath: A, cu
|
|
|
143
144
|
};
|
|
144
145
|
});
|
|
145
146
|
try {
|
|
146
|
-
let { results: t } = await
|
|
147
|
-
if (o > 0 &&
|
|
148
|
-
variant:
|
|
147
|
+
let { results: t } = await D.deleteFiles(r), i = t.filter((e) => !e.success), a = i.length, o = t.length - a, s = t.find((e) => e.success), c = r.find((e) => e.path === s?.path) ?? r[0];
|
|
148
|
+
if (o > 0 && z?.({
|
|
149
|
+
variant: w.Success,
|
|
149
150
|
reason: e.FilesDeleted,
|
|
150
151
|
count: o,
|
|
151
152
|
name: c?.name,
|
|
152
|
-
folder: n ||
|
|
153
|
+
folder: n || k
|
|
153
154
|
}), a > 0) {
|
|
154
155
|
let t = i.slice(0, 3).map((e) => r.find((t) => t.path === e.path)?.name ?? e.path), n = a - t.length;
|
|
155
|
-
|
|
156
|
-
variant:
|
|
156
|
+
z?.({
|
|
157
|
+
variant: w.Error,
|
|
157
158
|
reason: e.FilesDeletePartiallyFailed,
|
|
158
159
|
names: t,
|
|
159
160
|
restCount: n
|
|
160
161
|
});
|
|
161
162
|
}
|
|
162
163
|
} catch {
|
|
163
|
-
|
|
164
|
-
variant:
|
|
164
|
+
z?.({
|
|
165
|
+
variant: w.Error,
|
|
165
166
|
reason: e.DeleteFailed
|
|
166
167
|
});
|
|
167
168
|
}
|
|
168
169
|
let i = r.filter((e) => e.nodeType === x.Folder).map((e) => e.path.endsWith("/") ? e.path : `${e.path}/`);
|
|
169
|
-
|
|
170
|
+
F([...new Set(r.map((e) => {
|
|
170
171
|
if (e.nodeType === x.Folder) return e.path.endsWith("/") ? e.path : `${e.path}/`;
|
|
171
172
|
let t = e.path.lastIndexOf("/");
|
|
172
173
|
return t > 0 ? e.path.slice(0, t + 1) : "";
|
|
173
|
-
}))]), i.some((e) =>
|
|
174
|
+
}))]), i.some((e) => j === e || j.startsWith(e)) && R((e) => e.replace(/[^/]+\/$/, "")), I(), G(!1);
|
|
174
175
|
})();
|
|
175
176
|
}, [
|
|
177
|
+
A,
|
|
178
|
+
O,
|
|
176
179
|
k,
|
|
180
|
+
j,
|
|
181
|
+
z,
|
|
177
182
|
D,
|
|
178
|
-
|
|
179
|
-
A,
|
|
180
|
-
R,
|
|
181
|
-
E,
|
|
182
|
-
M,
|
|
183
|
-
P,
|
|
183
|
+
N,
|
|
184
184
|
F,
|
|
185
|
-
|
|
185
|
+
I,
|
|
186
|
+
R
|
|
186
187
|
]), ce = g((e, n) => {
|
|
187
188
|
if (!e || e.trim() === "") return { reason: t.Empty };
|
|
188
189
|
if (e === r) return { reason: t.ReservedName };
|
|
189
|
-
if (o(e,
|
|
190
|
+
if (o(e, H)) return {
|
|
190
191
|
reason: t.ForbiddenSymbols,
|
|
191
|
-
symbols:
|
|
192
|
+
symbols: C
|
|
192
193
|
};
|
|
193
194
|
if (e.length > 255) return {
|
|
194
195
|
reason: t.TooLong,
|
|
195
196
|
maxLength: 255
|
|
196
197
|
};
|
|
197
|
-
let i =
|
|
198
|
+
let i = M?.items ?? [], a = e.toLowerCase(), s = i.find((e) => e.path !== n.path && e.name.toLowerCase() === a);
|
|
198
199
|
return s ? {
|
|
199
200
|
reason: t.DuplicateName,
|
|
200
201
|
existingName: s.name
|
|
201
202
|
} : null;
|
|
202
|
-
}, [
|
|
203
|
-
if (t.length === 0 ||
|
|
203
|
+
}, [H, M]), le = g((t, r) => {
|
|
204
|
+
if (t.length === 0 || J || X) return;
|
|
204
205
|
let a = new AbortController();
|
|
205
206
|
Z.current = a, (async () => {
|
|
206
|
-
|
|
207
|
-
let o =
|
|
207
|
+
Y(!0);
|
|
208
|
+
let o = d(t, O, k), s = o.map(({ dto: e }) => e);
|
|
208
209
|
try {
|
|
209
|
-
let { results: t } = await
|
|
210
|
-
if (
|
|
211
|
-
let e =
|
|
212
|
-
c = a ?
|
|
210
|
+
let { results: t } = await D.copyFiles(s, a.signal), c = t.filter((e) => !e.success).length, l = t.length - c;
|
|
211
|
+
if (l > 0) {
|
|
212
|
+
let e = p(o, t), a = s.every((e) => h(e.sourcePath) === h(e.destinationPath)), c;
|
|
213
|
+
c = a ? l === 1 ? n.FileDuplicated : n.FilesDuplicated : l === 1 ? n.FileCopied : n.FilesCopied, B?.({
|
|
213
214
|
kind: c,
|
|
214
215
|
name: e?.destinationName,
|
|
215
|
-
count:
|
|
216
|
+
count: l,
|
|
216
217
|
isFolder: e?.dto.nodeType === b.Folder,
|
|
217
|
-
destinationFolderName: i(r,
|
|
218
|
+
destinationFolderName: i(r, k)
|
|
218
219
|
});
|
|
219
220
|
}
|
|
220
|
-
c > 0 && c < t.length ?
|
|
221
|
-
variant:
|
|
221
|
+
c > 0 && c < t.length ? z?.({
|
|
222
|
+
variant: w.Error,
|
|
222
223
|
reason: e.CopyPartiallyFailed,
|
|
223
224
|
count: c
|
|
224
|
-
}) : c === t.length &&
|
|
225
|
-
variant:
|
|
225
|
+
}) : c === t.length && z?.({
|
|
226
|
+
variant: w.Error,
|
|
226
227
|
reason: e.CopyFailed
|
|
227
228
|
});
|
|
228
229
|
} catch {
|
|
229
|
-
a.signal.aborted ||
|
|
230
|
-
variant:
|
|
230
|
+
a.signal.aborted || z?.({
|
|
231
|
+
variant: w.Error,
|
|
231
232
|
reason: e.CopyFailed
|
|
232
233
|
});
|
|
233
234
|
} finally {
|
|
234
|
-
|
|
235
|
+
F([...new Set(s.flatMap((e) => [h(e.sourcePath), h(e.destinationPath)]))]), I(), Y(!1), Z.current = null;
|
|
235
236
|
}
|
|
236
237
|
})();
|
|
237
238
|
}, [
|
|
238
|
-
D,
|
|
239
239
|
O,
|
|
240
|
-
|
|
240
|
+
k,
|
|
241
241
|
z,
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
F
|
|
242
|
+
B,
|
|
243
|
+
D,
|
|
244
|
+
J,
|
|
245
|
+
X,
|
|
246
|
+
F,
|
|
247
|
+
I
|
|
247
248
|
]), ue = g(() => {
|
|
248
249
|
Z.current?.abort();
|
|
249
250
|
}, []);
|
|
250
251
|
return {
|
|
251
|
-
isCreatingFolder:
|
|
252
|
-
isDownloading:
|
|
253
|
-
isDeleting:
|
|
254
|
-
isRenaming:
|
|
255
|
-
isCopying:
|
|
256
|
-
isMoving:
|
|
252
|
+
isCreatingFolder: te,
|
|
253
|
+
isDownloading: ne,
|
|
254
|
+
isDeleting: re,
|
|
255
|
+
isRenaming: K,
|
|
256
|
+
isCopying: J,
|
|
257
|
+
isMoving: X,
|
|
257
258
|
onCreateFolder: ae,
|
|
258
259
|
onCreateFolderValidate: $,
|
|
259
260
|
onDownloadFiles: oe,
|
|
260
261
|
onDeleteFiles: se,
|
|
261
262
|
onRenameValidate: ce,
|
|
262
263
|
onMoveToFiles: g((t, r, o) => {
|
|
263
|
-
if (t.length === 0 ||
|
|
264
|
-
let { renameDtos: s, preparedMoveItems: c } =
|
|
265
|
-
|
|
266
|
-
s.length > 0 &&
|
|
264
|
+
if (t.length === 0 || J || X || K) return;
|
|
265
|
+
let { renameDtos: s, preparedMoveItems: c } = f(t, O, k), l = c.map(({ dto: e }) => e), u = new AbortController();
|
|
266
|
+
l.length > 0 && (Z.current = u), (async () => {
|
|
267
|
+
s.length > 0 && q(!0), l.length > 0 && ie(!0);
|
|
267
268
|
let [t, r] = await Promise.all([(async () => {
|
|
268
269
|
if (s.length === 0) return {
|
|
269
270
|
results: [],
|
|
270
271
|
threw: !1
|
|
271
272
|
};
|
|
272
273
|
try {
|
|
273
|
-
let { results: e } = await
|
|
274
|
+
let { results: e } = await D.renameFiles(s);
|
|
274
275
|
return {
|
|
275
276
|
results: e,
|
|
276
277
|
threw: !1
|
|
@@ -282,13 +283,13 @@ var E = ({ filesApi: E, bucket: D, rootLabel: O, activeTab: k, folderPath: A, cu
|
|
|
282
283
|
};
|
|
283
284
|
}
|
|
284
285
|
})(), (async () => {
|
|
285
|
-
if (
|
|
286
|
+
if (l.length === 0) return {
|
|
286
287
|
results: [],
|
|
287
288
|
threw: !1,
|
|
288
289
|
aborted: !1
|
|
289
290
|
};
|
|
290
291
|
try {
|
|
291
|
-
let { results: e } = await
|
|
292
|
+
let { results: e } = await D.moveFiles(l, u.signal);
|
|
292
293
|
return {
|
|
293
294
|
results: e,
|
|
294
295
|
threw: !1,
|
|
@@ -298,63 +299,63 @@ var E = ({ filesApi: E, bucket: D, rootLabel: O, activeTab: k, folderPath: A, cu
|
|
|
298
299
|
return {
|
|
299
300
|
results: [],
|
|
300
301
|
threw: !0,
|
|
301
|
-
aborted:
|
|
302
|
+
aborted: u.signal.aborted
|
|
302
303
|
};
|
|
303
304
|
}
|
|
304
|
-
})()]),
|
|
305
|
+
})()]), d = t.threw ? s.length : t.results.filter((e) => !e.success).length, f = r.threw && r.aborted, m = f ? 0 : l.length, g = f ? 0 : r.threw ? l.length : r.results.filter((e) => !e.success).length, _ = r.threw ? 0 : r.results.filter((e) => e.success).length, v = s.length + m, y = d + g, b = g > 0;
|
|
305
306
|
if (_ > 0) {
|
|
306
|
-
let e =
|
|
307
|
-
|
|
307
|
+
let e = p(c, r.results);
|
|
308
|
+
B?.({
|
|
308
309
|
kind: _ === 1 ? n.FileMoved : n.FilesMoved,
|
|
309
310
|
name: e?.destinationName,
|
|
310
311
|
count: _,
|
|
311
312
|
isFolder: e?.dto.nodeType === ee.Folder,
|
|
312
|
-
destinationFolderName: i(o,
|
|
313
|
+
destinationFolderName: i(o, k)
|
|
313
314
|
});
|
|
314
315
|
}
|
|
315
|
-
if (s.length === 1 &&
|
|
316
|
+
if (s.length === 1 && d === 0) {
|
|
316
317
|
let [e] = s;
|
|
317
|
-
|
|
318
|
+
B?.({
|
|
318
319
|
kind: n.FileRenamed,
|
|
319
320
|
name: a(e.destinationPath, e.destinationPath),
|
|
320
|
-
isFolder: e.nodeType ===
|
|
321
|
+
isFolder: e.nodeType === S.Folder
|
|
321
322
|
});
|
|
322
323
|
}
|
|
323
|
-
y > 0 && (y === v ?
|
|
324
|
-
variant:
|
|
324
|
+
y > 0 && (y === v ? z?.({
|
|
325
|
+
variant: w.Error,
|
|
325
326
|
reason: b ? e.MoveFailed : e.RenameFailed
|
|
326
|
-
}) :
|
|
327
|
-
variant:
|
|
327
|
+
}) : z?.({
|
|
328
|
+
variant: w.Error,
|
|
328
329
|
reason: b ? e.MovePartiallyFailed : e.RenamePartiallyFailed,
|
|
329
330
|
count: y
|
|
330
331
|
}));
|
|
331
|
-
let x = s.find((e) => e.nodeType ===
|
|
332
|
+
let x = s.find((e) => e.nodeType === S.Folder && t.results.some((t) => t.success && t.sourcePath === e.sourcePath));
|
|
332
333
|
if (x != null) {
|
|
333
334
|
let e = x.sourcePath.endsWith("/") ? x.sourcePath : `${x.sourcePath}/`;
|
|
334
|
-
if (
|
|
335
|
+
if (j === e || j.startsWith(e)) {
|
|
335
336
|
let t = x.destinationPath.endsWith("/") ? x.destinationPath : `${x.destinationPath}/`;
|
|
336
|
-
|
|
337
|
+
R(j.replace(e, t));
|
|
337
338
|
}
|
|
338
339
|
}
|
|
339
|
-
|
|
340
|
+
F([...new Set([...s, ...l].flatMap((e) => [h(e.sourcePath), h(e.destinationPath)]))]), I(), q(!1), ie(!1), l.length > 0 && (Z.current = null);
|
|
340
341
|
})();
|
|
341
342
|
}, [
|
|
342
|
-
D,
|
|
343
343
|
O,
|
|
344
|
-
|
|
344
|
+
k,
|
|
345
|
+
j,
|
|
346
|
+
B,
|
|
345
347
|
z,
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
G,
|
|
351
|
-
P,
|
|
348
|
+
D,
|
|
349
|
+
J,
|
|
350
|
+
X,
|
|
351
|
+
K,
|
|
352
352
|
F,
|
|
353
|
-
|
|
353
|
+
I,
|
|
354
|
+
R
|
|
354
355
|
]),
|
|
355
356
|
onCopyFiles: le,
|
|
356
357
|
cancelCopyMove: ue
|
|
357
358
|
};
|
|
358
359
|
};
|
|
359
360
|
//#endregion
|
|
360
|
-
export {
|
|
361
|
+
export { D as useDialFileMutations };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { mimeTypesToDialFileAcceptTypes as e } from "../attachment-types.js";
|
|
2
2
|
import { DIAL_FILE_MANAGER_SECTION_TABS as t } from "../dial-file-manager.model.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { isHiddenPath as a } from "@epam/ai-dial-chat-shared";
|
|
3
|
+
import { useDialFileManagerSections as n } from "../useDialFileManagerSections/useDialFileManagerSections.js";
|
|
4
|
+
import { useDialFileManagerTabConfig as r } from "../useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
5
|
+
import { DialFileManagerVariant as i, isHiddenPath as a } from "@epam/ai-dial-chat-shared";
|
|
7
6
|
import { useCallback as o, useMemo as s, useState as c } from "react";
|
|
8
7
|
import { isMimeTypeAllowed as l } from "@epam/ai-dial-attachment-input";
|
|
9
8
|
import { DialFileNodeType as u, useDialFileManagerTabs as d } from "@epam/ai-dial-react-file-manager";
|
|
@@ -16,12 +15,12 @@ var f = ({ fileManagerOptions: f, bucket: p, forbiddenSymbolsRegExp: m, tabLabel
|
|
|
16
15
|
E(new Set(e));
|
|
17
16
|
}, []), O = o((e) => {
|
|
18
17
|
E(/* @__PURE__ */ new Set()), S(e);
|
|
19
|
-
}, [S]), { tabs: k } =
|
|
18
|
+
}, [S]), { tabs: k } = r(x, O, C, g), A = n({
|
|
20
19
|
...f,
|
|
21
20
|
bucket: p,
|
|
22
21
|
activeTab: x,
|
|
23
22
|
sections: w,
|
|
24
|
-
variant:
|
|
23
|
+
variant: i.Attach,
|
|
25
24
|
forbiddenSymbolsRegExp: m
|
|
26
25
|
}), [j, M] = c(A.sectionTab);
|
|
27
26
|
j !== A.sectionTab && (M(A.sectionTab), E(/* @__PURE__ */ new Set()));
|
package/index.d.ts
CHANGED
|
@@ -75,7 +75,6 @@ import { FileUploadStatus } from '@epam/ai-dial-chat-shared';
|
|
|
75
75
|
import { FileUploadValidationResult } from '@epam/ai-dial-chat-shared';
|
|
76
76
|
import { FilterChipItem } from '@epam/ai-dial-ui-kit';
|
|
77
77
|
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
78
|
-
import { getParentFolderPath } from '@epam/ai-dial-chat-shared';
|
|
79
78
|
import type { GroupedAttachmentItem } from '@epam/ai-dial-chat-shared';
|
|
80
79
|
import { Implementation } from '@modelcontextprotocol/sdk/types.js';
|
|
81
80
|
import type { InputHighlightData } from '@epam/pdf-highlighter-kit';
|
|
@@ -1280,8 +1279,6 @@ export declare const DIAL_FILE_MANAGER_SECTION_TABS: readonly DialFileManagerTab
|
|
|
1280
1279
|
/** Strip the "files/{bucket}/" prefix from a DIAL Core URL to get the path within the bucket. */
|
|
1281
1280
|
export declare const dialCorePathToRelative: (dialCorePath: string, bucket: string) => string;
|
|
1282
1281
|
|
|
1283
|
-
export { DialFileManagerActionProfile }
|
|
1284
|
-
|
|
1285
1282
|
/** One source tab rendered as a top-level folder of the All view. */
|
|
1286
1283
|
export declare interface DialFileManagerSection {
|
|
1287
1284
|
/** Source tab backing this section — `MyFiles`, `Shared` or `Organization`. */
|
|
@@ -1290,8 +1287,6 @@ export declare interface DialFileManagerSection {
|
|
|
1290
1287
|
rootLabel: string;
|
|
1291
1288
|
}
|
|
1292
1289
|
|
|
1293
|
-
export { DialFileManagerVariant }
|
|
1294
|
-
|
|
1295
1290
|
/**
|
|
1296
1291
|
* Operation port every file-manager hook that performs network I/O accepts as
|
|
1297
1292
|
* a parameter, replacing direct `server-api/files.api` access. Mirrors
|
|
@@ -1737,8 +1732,6 @@ export declare interface FilesApiClient {
|
|
|
1737
1732
|
listSharedByMe: (bucket: string) => Promise<ListFilesResponseDto>;
|
|
1738
1733
|
}
|
|
1739
1734
|
|
|
1740
|
-
export { FileUploadValidationResult }
|
|
1741
|
-
|
|
1742
1735
|
/**
|
|
1743
1736
|
* Filters catalog items to those whose type is in `visibleTypes`.
|
|
1744
1737
|
* Call only when selector mode is active; otherwise pass through the original array.
|
|
@@ -1929,8 +1922,6 @@ export declare const getLatestToolConfiguration: (messages: Message[]) => Record
|
|
|
1929
1922
|
*/
|
|
1930
1923
|
export declare const getModelIdFromConversationId: (id: string) => string | undefined;
|
|
1931
1924
|
|
|
1932
|
-
export { getParentFolderPath }
|
|
1933
|
-
|
|
1934
1925
|
/**
|
|
1935
1926
|
* The publish folder a public catalog entity id sits in: the segments between
|
|
1936
1927
|
* the `public` bucket and the entity name, decoded to the plain text the
|
package/index.js
CHANGED
|
@@ -106,45 +106,45 @@ import { useConversationSources as ei } from "./conversation-sources/useConversa
|
|
|
106
106
|
import { DialFilesApiUploadMode as ti } from "./files/dial-files-api.js";
|
|
107
107
|
import { FileManagerNotificationReason as ni, FileNameValidationErrorReason as ri, FileOperationKind as ii } from "./files/dial-file-manager.types.js";
|
|
108
108
|
import { COLUMNS_WITHOUT_AUTHOR as ai, COLUMNS_WITH_AUTHOR as oi, CORE_PERMISSION_MAP as si, DATE_OPTIONS as ci, DIAL_FILE_MANAGER_SECTION_TABS as li, PATH_SEPARATOR_REGEXP as ui, RESERVED_MARKER_NAME as di, UPLOAD_CONCURRENCY as fi } from "./files/dial-file-manager.model.js";
|
|
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 { useDialFileListing as
|
|
124
|
-
import { useDialFileMetadata as
|
|
125
|
-
import { useDialFileMutations as
|
|
126
|
-
import { useDialFileSharing as
|
|
127
|
-
import { useDialFileUploadBatch as
|
|
128
|
-
import { useDialFileManager as
|
|
129
|
-
import { useDialFileManagerSections as
|
|
130
|
-
import { useDialFileManagerTabConfig as
|
|
131
|
-
import { useFileAttachmentPicker as
|
|
132
|
-
import { getBrowserTimezone as
|
|
133
|
-
import { isValidAbsoluteUrl as
|
|
134
|
-
import { buildExternalServiceScopeId as
|
|
135
|
-
import { useChatSettingsFormConfig as
|
|
136
|
-
import { usePageFileDrag as
|
|
137
|
-
import { useViewportWidth as
|
|
138
|
-
import { usePanelMaxWidth as
|
|
139
|
-
import { useShareLink as
|
|
140
|
-
import { useToolsMenu as
|
|
141
|
-
import { USAGE_DATA_I18N_KEYS as
|
|
142
|
-
import { USAGE_MODEL_LIMITS_I18N_KEYS as
|
|
143
|
-
import { useUsageData as
|
|
144
|
-
import { McpAppResourceFetchError as
|
|
145
|
-
import { useMcpAppTools as
|
|
146
|
-
import { useMcpAppHostContext as
|
|
147
|
-
import { useMcpAppHostAdapter as
|
|
148
|
-
import { useOpenMcpAppCanvas as
|
|
149
|
-
import { useGridEditingScroll as
|
|
150
|
-
export { x as AttachmentValidationErrorReason, jr as AudioTranscriptionError, Mr as AudioTranscriptionErrorReason, B as AuthenticationType, ai as COLUMNS_WITHOUT_AUTHOR, oi as COLUMNS_WITH_AUTHOR, si as CORE_PERMISSION_MAP, St as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, ci as DATE_OPTIONS, $t as DEFAULT_GENERATION_CONFLICT_MESSAGE, en as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, Pr as DEFAULT_MAX_ARCHIVE_BYTES, tn as DEFAULT_STREAM_IDLE_TIMEOUT_MS, li as DIAL_FILE_MANAGER_SECTION_TABS, pi as DialFileManagerActionProfile, mi as DialFileManagerVariant, ti as DialFilesApiUploadMode, ba as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, Gt as FavoriteEntityType, ni as FileManagerNotificationReason, ri as FileNameValidationErrorReason, ii as FileOperationKind, nn as GenerationConflictError, rn as GenerationPersistenceError, Xa as McpAppResourceFetchError, st as McpResourceKind, W as OAuthResourceKind, ui as PATH_SEPARATOR_REGEXP, Mn as PROMPT_CONTENT_MAX_LENGTH, Nn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Pn as PROMPT_DESCRIPTION_MAX_LENGTH, Fn as PROMPT_NAME_MAX_LENGTH, qe as PUBLIC_SKILL_BUCKET, In as PromptFieldError, Se as PromptSource, di as RESERVED_MARKER_NAME, _r as RecipientsCountStatus, De as SKILL_FILE_UPLOAD_MAX_BYTES, Oe as SKILL_FOLDER_MARKER, Je as SKILL_LISTING_MAX_PAGES, Ye as SKILL_LISTING_PAGE_SIZE, ke as SKILL_MANIFEST_FILE, Xe as SKILL_MANIFEST_MAX_BYTES, Ae as SKILL_TEXT_FIELD_MAX_LENGTHS, je as SKILL_UPLOAD_MAX_FILES, Me as SKILL_UPLOAD_MAX_TOTAL_BYTES, Wn as ScheduledTaskTriggerDescriptionKind, fr as SkillArchiveImportErrorKind, pr as SkillArchiveImportStatus, mr as SkillArchiveSelectionRejectionReason, ar as SkillEditorLoadState, lr as SkillPreviewErrorKind, Ze as SkillSource, an as StreamInterruptedError, on as StreamUpstreamError, G as TOOLSET_REDIRECT_STATE_KEY, K as ToolsetAuthStatus, q as ToolsetAuthTypes, J as ToolsetCredentialsLevel, Bt as ToolsetLoginOutcomeType, Y as ToolsetOAuthCallbackQuery, X as ToolsetOAuthChannelControlType, Z as ToolsetOAuthFailureReason, Q as ToolsetOAuthInitiationResultType, $ as ToolsetOAuthResultType, fi as UPLOAD_CONCURRENCY, Wa as USAGE_DATA_I18N_KEYS, Ka as USAGE_MODEL_LIMITS_I18N_KEYS, Un as UnsupportedTriggerReason, ee as WithLogin, ma as annotationToDisplayAttachment, Xi as annotationToOoxmlCanvasContent, Zi as annotationToPdfCanvasContent, Kn as apSchedulerDayToJsDay, se as appendLocaleCode, Xr as applyChunkToMessages, ha as attachmentDtoToDisplayAttachment, ga as attachmentDtosToDisplayAttachments, Ir as attachmentToDto, Lr as attachmentsToDtos, ce as buildAdditionalLocaleOptions, Jt as buildAnnouncementSignature, ct as buildApplicationMcpUrl, N as buildChatCompletionsUrl, lt as buildConnectApi, P as buildDeploymentConnectApi, Fa as buildExternalServiceScopeId, Ri as buildFromCache, kn as buildPromptExportEnvelope, An as buildPromptExportFileName, we as buildPromptOverview, Ln as buildPromptPath, V as buildResetFields, F as buildResponsesUrl, gi as buildSharedItemVirtualPath, $e as buildSkillContentTree, Ne as buildSkillFilesPayload, Pe as buildSkillManifest, Fe as buildSkillManifestForSubmit, Ie as buildSkillManifestFromFrontmatter, et as buildSkillOverview, Ft as buildToolsetAuthorizeUrl, ut as buildToolsetMcpUrl, hr as classifySkillArchiveImportError, Qi as clearAttachmentCache, le as composeLocalePayload, sn as createChatStreamApi, i as createCsrfMiddleware, pn as createDeploymentChangedMessage, qi as createFilesApiClient, Za as createMcpAppsApiClient, Rr as createMessagePair, j as createPublishApiClient, $n as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, Ji as createUploadFileWithProgress, I as decodeDeploymentId, te as decodeToolsetId, ue as decomposeLocalizedFields, hi as deriveActionProfile, _t as deriveAvailableTabIds, yr as deriveConversationRowActionState, vt as deriveFavoriteItems, Gn as describeScheduledTaskTrigger, _i as dialCorePathToRelative, _a as dialFileToAttachment, va as dialFilesToAttachments, ya as dialFolderPathToAttachment, m as downloadAttachment, jt as emitToolsetLoginSuccess, L as encodeDeploymentId, ne as encodeToolsetId, zi as fetchByTab, Bi as fetchForSearch, yt as filterCatalogItemsBySelector, bt as filterHiddenOwnedItems, R as findDeploymentByIdOrReference, vi as findDialFileByPath, Vi as findFirstSuccessfulCopyMoveItem, yi as findFolderByVirtualPath, ln as formatAppVersion, pe as formatCalendarDate, C as formatDateYM, w as formatDateYMD, bi as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, ja as getBrowserTimezone, Kr as getConversationPath, Cr as getConversationSource, Ia as getExternalServiceFallbackName, mn as getFormSchemaToolSyncKey, hn as getLastDeploymentId, gn as getLastUserMessageToolConfiguration, _n as getLatestToolConfiguration, dn as getModelIdFromConversationId, Ni as getParentFolderPath, ft as getPublicCatalogEntityFolderPath, Cn as getQuickAppConversationStarters, Rn as getRemainingCharacters, wt as getRunnerSchemas, Le as getSkillFieldLengthViolations, Ur as getStarterConversationText, Wr as getStarterDisplayText, En as getStarterPopulateText, Gr as getStarterSubmitText, Dn as getStartersFromSchema, fn as getTimeOfDayGreeting, vn as getToolConfigurationFromFormSchema, Nt as getToolsetOAuthChannelName, It as getToolsetRedirectUri, da as getUrlFileName, xi as getVirtualPathName, zr as hasActiveToolConfig, Yt as hasAnnouncementContent, $i as hasAttachmentTextSource, Si as hasDialFileWritePermission, Ci as hasForbiddenNameSymbols, wi as hasSamePaths, Xt as hasStructuredAnnouncement, o as includesIgnoreCase, Lt as initiateOAuthLogin, Br as isAnswerIncomplete, Qr as isAwaitingGenerationResume, r as isConversationNotFoundError, Ti as isCopyMoveDuplicateAllowed, Tt as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, fa as isExternalSourcePreviewable, Vr as isMessageChanged, yn as isMessageStreaming, Te as isOrganisationPromptItem, pt as isPublicCatalogEntityId, re as isPublicToolsetId, Et as isQuickAppSchema, Ei as isShareActionsAllowed, Re as isSkillFolderMarkerPath, Ma as isValidAbsoluteUrl, Na as isValidFeaturesData, ze as isValidSkillRelativePath, qn as jsDayToApSchedulerDay, Hi as mapCorePermissions, he as mapDeploymentDetailsDtoToEntityDetails, U as mapDeploymentLimitsDtoToCatalogLimits, H as mapDeploymentLimitsToInput, ve as mapDeploymentToCatalogItem, ye as mapDeploymentToolsetCredentials, ge as mapEntityDetailsToCatalogDetails, Ui as mapFileMetadataToDialFile, Jn as mapFormValuesToCreateBody, Yn as mapFormValuesToUpdateBody, qa as mapOverallCostLimitsToPeriodStatuses, Ee as mapPromptToCatalogItem, mt as mapPublishConversationResultDto, ht as mapPublishHistoryEntryDto, Xn as mapScheduledTaskDtoToFormValues, Wi as mapSearchItem, tt as mapSkillToCatalogItem, wn as mapStages, _e as mapToolsetCredentials, be as mapToolsetToCatalogItem, Ga as mapUsageDataToDashboard, Ja as mapUserUsageToModelLimits, Gi as mergeCreatedFolderIntoCache, tr as mergeRunsById, Zr as mergeStages, bn as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, Be as nameFromPath, Rt as navigateToolsetOAuthPopup, z as normalizeDeploymentId, xn as normalizeResponseFormat, Ve as normalizeSkillName, ie as normalizeToolsetId, Di as normalizeVirtualPath, Yi as openAnnotationAttachment, zt as openToolsetOAuthPopup, me as padTwoDigits, La as parseExternalServiceUrl, Pa as parseFeaturesData, Oi as parseNewFolderVirtualPath, Ce as parsePromptResourceUrl, He as parseSkillManifest, Ot as parseSkillManifestDocument, Qe as parseSkillResourceUrl, Ii as prepareCopyItems, xa as prepareDownloadDestination, Li as prepareMoveRenameItems, Zn as prepareScheduledTaskCreateBody, Qn as prepareScheduledTaskUpdateBody, nt as readSkillFileBytes, rt as readSkillFilePreviewBytes, it as readSkillManifest, xt as reconcileFilterTopics, ea as referenceAttachmentToPdfCanvasContent, Ct as resolveCatalogPrimaryAction, ta as resolveCodeCanvasContent, xe as resolveDeploymentFolder, Pi as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, pa as resolveExternalSourceContentType, na as resolveGroupedVisualizerCanvasContent, ra as resolveHtmlCanvasContent, ia as resolveImageCanvasContent, aa as resolveJsonCanvasContent, de as resolveLocalizedText, oa as resolveMarkdownCanvasContent, dt as resolveMcpResourceKind, sa as resolveOoxmlCanvasContent, ki as resolveOwnerCoords, ca as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Ai as resolveSectionByPath, at as resolveSkillFileDownloadPath, ot as resolveSkillManifestFileId, la as resolveTextCanvasContent, ae as resolveToolsetCredentialsLevel, ua as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Zt as sanitizeAnnouncementHtml, Qt as sanitizeAnnouncementMessageHtml, Dr as sanitizeFileName, un as sanitizeFooterHtml, oe as selectToolsetAuthStatus, jn as serializePromptExport, Hr as shouldRerunGenerationOnEdit, cn as shouldWatchForDisplayNameUpdate, Ue as skillFileBytesToBlob, ir as skillFileToAttachment, We as skillFolderMarkerParent, Or as splitFileNameExtension, Ge as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, Mt as subscribeToolsetLoginSuccess, fe as toBaseLocale, Sn as toOverlayMessages, gt as toPublishEntityType, M as toPublishRuleDto, Tn as toStage, kr as trimFileNameToByteLimit, ji as unionPathSets, Ke as unpackSkillArchive, Ki as updateEntry, br as useActiveConversationSync, Ut as useApplicationCredentials, xr as useAsyncConfirmDialog, g as useAttachmentAction, Ar as useAttachmentUpload, S as useAttachmentValidation, Dt as useCatalogEditNavigation, At as useCatalogItemDetails, Ht as useCatalogToolsetCredentials, Ra as useChatSettingsFormConfig, Fr as useConversationExport, qr as useConversationHandlers, Jr as useConversationImport, Sr as useConversationLookupMaps, wr as useConversationPanelItems, Yr as useConversationScroll, ei as useConversationSources, $r as useConversationStream, Sa as useDialFileListing, Da as useDialFileManager, Oa as useDialFileManagerSections, ka as useDialFileManagerTabConfig, Ca as useDialFileMetadata, wa as useDialFileMutations, Ta as useDialFileSharing, Ea as useDialFileUploadBatch, Kt as useFavoriteEntitiesState, Aa as useFileAttachmentPicker, no as useGridEditingScroll, Tr as useImportFilePicker, eo as useMcpAppHostAdapter, $a as useMcpAppHostContext, Qa as useMcpAppTools, Er as useMessageSelectionReply, On as useOAuthCallbackCompletion, to as useOpenMcpAppCanvas, za as usePageFileDrag, Va as usePanelMaxWidth, Hn as usePromptsState, qt as usePublishFolders, nr as useScheduledTaskRuns, er as useScheduledTasks, Ha as useShareLink, vr as useShareRecipientsCount, gr as useSkillArchiveImport, Wt as useSkillDetailsPanelData, or as useSkillEditorLoad, sr as useSkillEditorSubmit, cr as useSkillFileActions, ur as useSkillFilePreview, kt as useSkillItemDetails, dr as useSkillsState, Ua as useToolsMenu, Vt as useToolsetLogin, Nr as useTranscribeAudio, Ya as useUsageData, Ba as useViewportWidth, zn as validatePromptContent, Bn as validatePromptDescription, Vn as validatePromptName, rr as validateSkillFileBatch, Fi as virtualPathToApiPath, Pt as waitForToolsetOAuthResult, Mi as withRoutableRootLabels };
|
|
109
|
+
import { buildSharedItemVirtualPath as pi, dialCorePathToRelative as mi, findDialFileByPath as hi, findFolderByVirtualPath as gi, formatOperationFolderName as _i, getVirtualPathName as vi, hasDialFileWritePermission as yi, hasForbiddenNameSymbols as bi, hasSamePaths as xi, isCopyMoveDuplicateAllowed as Si, isShareActionsAllowed as Ci, normalizeVirtualPath as wi, parseNewFolderVirtualPath as Ti, resolveOwnerCoords as Ei, resolveSectionByPath as Di, unionPathSets as Oi, withRoutableRootLabels as ki } from "./files/dial-file-manager-path.util.js";
|
|
110
|
+
import { resolveDialFileApiPath as Ai, virtualPathToApiPath as ji } from "./files/resolve-dial-file-api-path.js";
|
|
111
|
+
import { prepareCopyItems as Mi, prepareMoveRenameItems as Ni } from "./files/dial-file-manager-copy-move.util.js";
|
|
112
|
+
import { buildFromCache as Pi, fetchByTab as Fi, fetchForSearch as Ii, findFirstSuccessfulCopyMoveItem as Li, mapCorePermissions as Ri, mapFileMetadataToDialFile as zi, mapSearchItem as Bi, mergeCreatedFolderIntoCache as Vi, updateEntry as Hi } from "./files/dial-file-manager-mapping.util.js";
|
|
113
|
+
import { createFilesApiClient as Ui } from "./files/create-files-api.js";
|
|
114
|
+
import { createUploadFileWithProgress as Wi } from "./files/create-upload-file-with-progress.js";
|
|
115
|
+
import { openAnnotationAttachment as Gi } from "./files/annotation.js";
|
|
116
|
+
import { annotationToOoxmlCanvasContent as Ki, annotationToPdfCanvasContent as qi, clearAttachmentCache as Ji, hasAttachmentTextSource as Yi, referenceAttachmentToPdfCanvasContent as Xi, resolveCodeCanvasContent as Zi, resolveGroupedVisualizerCanvasContent as Qi, resolveHtmlCanvasContent as $i, resolveImageCanvasContent as ea, resolveJsonCanvasContent as ta, resolveMarkdownCanvasContent as na, resolveOoxmlCanvasContent as ra, resolvePdfCanvasContent as ia, resolveTextCanvasContent as aa, resolveVisualizerCanvasContent as oa } from "./files/attachment-canvas.js";
|
|
117
|
+
import { getUrlFileName as sa, isExternalSourcePreviewable as ca, resolveExternalSourceContentType as la } from "./files/source-content.js";
|
|
118
|
+
import { annotationToDisplayAttachment as ua, attachmentDtoToDisplayAttachment as da, attachmentDtosToDisplayAttachments as fa } from "./files/attachment-dto-to-display.js";
|
|
119
|
+
import { dialFileToAttachment as pa, dialFilesToAttachments as ma, dialFolderPathToAttachment as ha } from "./files/dial-file-to-attachment.js";
|
|
120
|
+
import { DownloadDestinationType as ga } from "./files/download-destination.js";
|
|
121
|
+
import { prepareDownloadDestination as _a } from "./files/prepare-download-destination.js";
|
|
122
|
+
import { deriveActionProfile as va } from "./files/file-manager-variant.js";
|
|
123
|
+
import { useDialFileListing as ya } from "./files/useDialFileListing/useDialFileListing.js";
|
|
124
|
+
import { useDialFileMetadata as ba } from "./files/useDialFileMetadata/useDialFileMetadata.js";
|
|
125
|
+
import { useDialFileMutations as xa } from "./files/useDialFileMutations/useDialFileMutations.js";
|
|
126
|
+
import { useDialFileSharing as Sa } from "./files/useDialFileSharing/useDialFileSharing.js";
|
|
127
|
+
import { useDialFileUploadBatch as Ca } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
128
|
+
import { useDialFileManager as wa } from "./files/useDialFileManager/useDialFileManager.js";
|
|
129
|
+
import { useDialFileManagerSections as Ta } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
|
|
130
|
+
import { useDialFileManagerTabConfig as Ea } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
131
|
+
import { useFileAttachmentPicker as Da } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
|
|
132
|
+
import { getBrowserTimezone as Oa } from "./shared/browser-timezone.js";
|
|
133
|
+
import { isValidAbsoluteUrl as ka, isValidFeaturesData as Aa, parseFeaturesData as ja } from "./shared/custom-apps.js";
|
|
134
|
+
import { buildExternalServiceScopeId as Ma, getExternalServiceFallbackName as Na, parseExternalServiceUrl as Pa } from "./shared/external-services.js";
|
|
135
|
+
import { useChatSettingsFormConfig as Fa } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
136
|
+
import { usePageFileDrag as Ia } from "./usePageFileDrag/usePageFileDrag.js";
|
|
137
|
+
import { useViewportWidth as La } from "./useViewportWidth/useViewportWidth.js";
|
|
138
|
+
import { usePanelMaxWidth as Ra } from "./usePanelMaxWidth/usePanelMaxWidth.js";
|
|
139
|
+
import { useShareLink as za } from "./useShareLink/useShareLink.js";
|
|
140
|
+
import { useToolsMenu as Ba } from "./useToolsMenu/useToolsMenu.js";
|
|
141
|
+
import { USAGE_DATA_I18N_KEYS as Va, mapUsageDataToDashboard as Ha } from "./usage/map-usage-data-to-dashboard.js";
|
|
142
|
+
import { USAGE_MODEL_LIMITS_I18N_KEYS as Ua, mapOverallCostLimitsToPeriodStatuses as Wa, mapUserUsageToModelLimits as Ga } from "./usage/map-user-usage-to-model-limits.js";
|
|
143
|
+
import { useUsageData as Ka } from "./usage/useUsageData/useUsageData.js";
|
|
144
|
+
import { McpAppResourceFetchError as qa, createMcpAppsApiClient as Ja } from "./mcp-apps/mcp-apps-api-client.js";
|
|
145
|
+
import { useMcpAppTools as Ya } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
|
|
146
|
+
import { useMcpAppHostContext as Xa } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
|
|
147
|
+
import { useMcpAppHostAdapter as Za } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
|
|
148
|
+
import { useOpenMcpAppCanvas as Qa } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
|
|
149
|
+
import { useGridEditingScroll as $a } from "@epam/ai-dial-chat-shared";
|
|
150
|
+
export { x as AttachmentValidationErrorReason, jr as AudioTranscriptionError, Mr as AudioTranscriptionErrorReason, B as AuthenticationType, ai as COLUMNS_WITHOUT_AUTHOR, oi as COLUMNS_WITH_AUTHOR, si as CORE_PERMISSION_MAP, St as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, ci as DATE_OPTIONS, $t as DEFAULT_GENERATION_CONFLICT_MESSAGE, en as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, Pr as DEFAULT_MAX_ARCHIVE_BYTES, tn as DEFAULT_STREAM_IDLE_TIMEOUT_MS, li as DIAL_FILE_MANAGER_SECTION_TABS, ti as DialFilesApiUploadMode, ga as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, Gt as FavoriteEntityType, ni as FileManagerNotificationReason, ri as FileNameValidationErrorReason, ii as FileOperationKind, nn as GenerationConflictError, rn as GenerationPersistenceError, qa as McpAppResourceFetchError, st as McpResourceKind, W as OAuthResourceKind, ui as PATH_SEPARATOR_REGEXP, Mn as PROMPT_CONTENT_MAX_LENGTH, Nn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Pn as PROMPT_DESCRIPTION_MAX_LENGTH, Fn as PROMPT_NAME_MAX_LENGTH, qe as PUBLIC_SKILL_BUCKET, In as PromptFieldError, Se as PromptSource, di as RESERVED_MARKER_NAME, _r as RecipientsCountStatus, De as SKILL_FILE_UPLOAD_MAX_BYTES, Oe as SKILL_FOLDER_MARKER, Je as SKILL_LISTING_MAX_PAGES, Ye as SKILL_LISTING_PAGE_SIZE, ke as SKILL_MANIFEST_FILE, Xe as SKILL_MANIFEST_MAX_BYTES, Ae as SKILL_TEXT_FIELD_MAX_LENGTHS, je as SKILL_UPLOAD_MAX_FILES, Me as SKILL_UPLOAD_MAX_TOTAL_BYTES, Wn as ScheduledTaskTriggerDescriptionKind, fr as SkillArchiveImportErrorKind, pr as SkillArchiveImportStatus, mr as SkillArchiveSelectionRejectionReason, ar as SkillEditorLoadState, lr as SkillPreviewErrorKind, Ze as SkillSource, an as StreamInterruptedError, on as StreamUpstreamError, G as TOOLSET_REDIRECT_STATE_KEY, K as ToolsetAuthStatus, q as ToolsetAuthTypes, J as ToolsetCredentialsLevel, Bt as ToolsetLoginOutcomeType, Y as ToolsetOAuthCallbackQuery, X as ToolsetOAuthChannelControlType, Z as ToolsetOAuthFailureReason, Q as ToolsetOAuthInitiationResultType, $ as ToolsetOAuthResultType, fi as UPLOAD_CONCURRENCY, Va as USAGE_DATA_I18N_KEYS, Ua as USAGE_MODEL_LIMITS_I18N_KEYS, Un as UnsupportedTriggerReason, ee as WithLogin, ua as annotationToDisplayAttachment, Ki as annotationToOoxmlCanvasContent, qi as annotationToPdfCanvasContent, Kn as apSchedulerDayToJsDay, se as appendLocaleCode, Xr as applyChunkToMessages, da as attachmentDtoToDisplayAttachment, fa as attachmentDtosToDisplayAttachments, Ir as attachmentToDto, Lr as attachmentsToDtos, ce as buildAdditionalLocaleOptions, Jt as buildAnnouncementSignature, ct as buildApplicationMcpUrl, N as buildChatCompletionsUrl, lt as buildConnectApi, P as buildDeploymentConnectApi, Ma as buildExternalServiceScopeId, Pi as buildFromCache, kn as buildPromptExportEnvelope, An as buildPromptExportFileName, we as buildPromptOverview, Ln as buildPromptPath, V as buildResetFields, F as buildResponsesUrl, pi as buildSharedItemVirtualPath, $e as buildSkillContentTree, Ne as buildSkillFilesPayload, Pe as buildSkillManifest, Fe as buildSkillManifestForSubmit, Ie as buildSkillManifestFromFrontmatter, et as buildSkillOverview, Ft as buildToolsetAuthorizeUrl, ut as buildToolsetMcpUrl, hr as classifySkillArchiveImportError, Ji as clearAttachmentCache, le as composeLocalePayload, sn as createChatStreamApi, i as createCsrfMiddleware, pn as createDeploymentChangedMessage, Ui as createFilesApiClient, Ja as createMcpAppsApiClient, Rr as createMessagePair, j as createPublishApiClient, $n as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, Wi as createUploadFileWithProgress, I as decodeDeploymentId, te as decodeToolsetId, ue as decomposeLocalizedFields, va as deriveActionProfile, _t as deriveAvailableTabIds, yr as deriveConversationRowActionState, vt as deriveFavoriteItems, Gn as describeScheduledTaskTrigger, mi as dialCorePathToRelative, pa as dialFileToAttachment, ma as dialFilesToAttachments, ha as dialFolderPathToAttachment, m as downloadAttachment, jt as emitToolsetLoginSuccess, L as encodeDeploymentId, ne as encodeToolsetId, Fi as fetchByTab, Ii as fetchForSearch, yt as filterCatalogItemsBySelector, bt as filterHiddenOwnedItems, R as findDeploymentByIdOrReference, hi as findDialFileByPath, Li as findFirstSuccessfulCopyMoveItem, gi as findFolderByVirtualPath, ln as formatAppVersion, pe as formatCalendarDate, C as formatDateYM, w as formatDateYMD, _i as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Oa as getBrowserTimezone, Kr as getConversationPath, Cr as getConversationSource, Na as getExternalServiceFallbackName, mn as getFormSchemaToolSyncKey, hn as getLastDeploymentId, gn as getLastUserMessageToolConfiguration, _n as getLatestToolConfiguration, dn as getModelIdFromConversationId, ft as getPublicCatalogEntityFolderPath, Cn as getQuickAppConversationStarters, Rn as getRemainingCharacters, wt as getRunnerSchemas, Le as getSkillFieldLengthViolations, Ur as getStarterConversationText, Wr as getStarterDisplayText, En as getStarterPopulateText, Gr as getStarterSubmitText, Dn as getStartersFromSchema, fn as getTimeOfDayGreeting, vn as getToolConfigurationFromFormSchema, Nt as getToolsetOAuthChannelName, It as getToolsetRedirectUri, sa as getUrlFileName, vi as getVirtualPathName, zr as hasActiveToolConfig, Yt as hasAnnouncementContent, Yi as hasAttachmentTextSource, yi as hasDialFileWritePermission, bi as hasForbiddenNameSymbols, xi as hasSamePaths, Xt as hasStructuredAnnouncement, o as includesIgnoreCase, Lt as initiateOAuthLogin, Br as isAnswerIncomplete, Qr as isAwaitingGenerationResume, r as isConversationNotFoundError, Si as isCopyMoveDuplicateAllowed, Tt as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, ca as isExternalSourcePreviewable, Vr as isMessageChanged, yn as isMessageStreaming, Te as isOrganisationPromptItem, pt as isPublicCatalogEntityId, re as isPublicToolsetId, Et as isQuickAppSchema, Ci as isShareActionsAllowed, Re as isSkillFolderMarkerPath, ka as isValidAbsoluteUrl, Aa as isValidFeaturesData, ze as isValidSkillRelativePath, qn as jsDayToApSchedulerDay, Ri as mapCorePermissions, he as mapDeploymentDetailsDtoToEntityDetails, U as mapDeploymentLimitsDtoToCatalogLimits, H as mapDeploymentLimitsToInput, ve as mapDeploymentToCatalogItem, ye as mapDeploymentToolsetCredentials, ge as mapEntityDetailsToCatalogDetails, zi as mapFileMetadataToDialFile, Jn as mapFormValuesToCreateBody, Yn as mapFormValuesToUpdateBody, Wa as mapOverallCostLimitsToPeriodStatuses, Ee as mapPromptToCatalogItem, mt as mapPublishConversationResultDto, ht as mapPublishHistoryEntryDto, Xn as mapScheduledTaskDtoToFormValues, Bi as mapSearchItem, tt as mapSkillToCatalogItem, wn as mapStages, _e as mapToolsetCredentials, be as mapToolsetToCatalogItem, Ha as mapUsageDataToDashboard, Ga as mapUserUsageToModelLimits, Vi as mergeCreatedFolderIntoCache, tr as mergeRunsById, Zr as mergeStages, bn as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, Be as nameFromPath, Rt as navigateToolsetOAuthPopup, z as normalizeDeploymentId, xn as normalizeResponseFormat, Ve as normalizeSkillName, ie as normalizeToolsetId, wi as normalizeVirtualPath, Gi as openAnnotationAttachment, zt as openToolsetOAuthPopup, me as padTwoDigits, Pa as parseExternalServiceUrl, ja as parseFeaturesData, Ti as parseNewFolderVirtualPath, Ce as parsePromptResourceUrl, He as parseSkillManifest, Ot as parseSkillManifestDocument, Qe as parseSkillResourceUrl, Mi as prepareCopyItems, _a as prepareDownloadDestination, Ni as prepareMoveRenameItems, Zn as prepareScheduledTaskCreateBody, Qn as prepareScheduledTaskUpdateBody, nt as readSkillFileBytes, rt as readSkillFilePreviewBytes, it as readSkillManifest, xt as reconcileFilterTopics, Xi as referenceAttachmentToPdfCanvasContent, Ct as resolveCatalogPrimaryAction, Zi as resolveCodeCanvasContent, xe as resolveDeploymentFolder, Ai as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, la as resolveExternalSourceContentType, Qi as resolveGroupedVisualizerCanvasContent, $i as resolveHtmlCanvasContent, ea as resolveImageCanvasContent, ta as resolveJsonCanvasContent, de as resolveLocalizedText, na as resolveMarkdownCanvasContent, dt as resolveMcpResourceKind, ra as resolveOoxmlCanvasContent, Ei as resolveOwnerCoords, ia as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Di as resolveSectionByPath, at as resolveSkillFileDownloadPath, ot as resolveSkillManifestFileId, aa as resolveTextCanvasContent, ae as resolveToolsetCredentialsLevel, oa as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Zt as sanitizeAnnouncementHtml, Qt as sanitizeAnnouncementMessageHtml, Dr as sanitizeFileName, un as sanitizeFooterHtml, oe as selectToolsetAuthStatus, jn as serializePromptExport, Hr as shouldRerunGenerationOnEdit, cn as shouldWatchForDisplayNameUpdate, Ue as skillFileBytesToBlob, ir as skillFileToAttachment, We as skillFolderMarkerParent, Or as splitFileNameExtension, Ge as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, Mt as subscribeToolsetLoginSuccess, fe as toBaseLocale, Sn as toOverlayMessages, gt as toPublishEntityType, M as toPublishRuleDto, Tn as toStage, kr as trimFileNameToByteLimit, Oi as unionPathSets, Ke as unpackSkillArchive, Hi as updateEntry, br as useActiveConversationSync, Ut as useApplicationCredentials, xr as useAsyncConfirmDialog, g as useAttachmentAction, Ar as useAttachmentUpload, S as useAttachmentValidation, Dt as useCatalogEditNavigation, At as useCatalogItemDetails, Ht as useCatalogToolsetCredentials, Fa as useChatSettingsFormConfig, Fr as useConversationExport, qr as useConversationHandlers, Jr as useConversationImport, Sr as useConversationLookupMaps, wr as useConversationPanelItems, Yr as useConversationScroll, ei as useConversationSources, $r as useConversationStream, ya as useDialFileListing, wa as useDialFileManager, Ta as useDialFileManagerSections, Ea as useDialFileManagerTabConfig, ba as useDialFileMetadata, xa as useDialFileMutations, Sa as useDialFileSharing, Ca as useDialFileUploadBatch, Kt as useFavoriteEntitiesState, Da as useFileAttachmentPicker, $a as useGridEditingScroll, Tr as useImportFilePicker, Za as useMcpAppHostAdapter, Xa as useMcpAppHostContext, Ya as useMcpAppTools, Er as useMessageSelectionReply, On as useOAuthCallbackCompletion, Qa as useOpenMcpAppCanvas, Ia as usePageFileDrag, Ra as usePanelMaxWidth, Hn as usePromptsState, qt as usePublishFolders, nr as useScheduledTaskRuns, er as useScheduledTasks, za as useShareLink, vr as useShareRecipientsCount, gr as useSkillArchiveImport, Wt as useSkillDetailsPanelData, or as useSkillEditorLoad, sr as useSkillEditorSubmit, cr as useSkillFileActions, ur as useSkillFilePreview, kt as useSkillItemDetails, dr as useSkillsState, Ba as useToolsMenu, Vt as useToolsetLogin, Nr as useTranscribeAudio, Ka as useUsageData, La as useViewportWidth, zn as validatePromptContent, Bn as validatePromptDescription, Vn as validatePromptName, rr as validateSkillFileBatch, ji as virtualPathToApiPath, Pt as waitForToolsetOAuthResult, ki as withRoutableRootLabels };
|
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.285",
|
|
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.285",
|
|
115
115
|
"dompurify": "3.4.16",
|
|
116
116
|
"fflate": "^0.8.3",
|
|
117
117
|
"lru-cache": "^10.4.3",
|
|
@@ -120,21 +120,21 @@
|
|
|
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-catalog": "1.2.0-dev.
|
|
126
|
-
"@epam/ai-dial-chat-overlay": "1.2.0-dev.
|
|
127
|
-
"@epam/ai-dial-chat-shared": "1.2.0-dev.
|
|
128
|
-
"@epam/ai-dial-mcp-apps": "1.2.0-dev.
|
|
129
|
-
"@epam/ai-dial-publish-panel": "1.2.0-dev.
|
|
130
|
-
"@epam/ai-dial-quotations": "1.2.0-dev.
|
|
123
|
+
"@epam/ai-dial-attachment-canvas": "1.2.0-dev.285",
|
|
124
|
+
"@epam/ai-dial-attachment-input": "1.2.0-dev.285",
|
|
125
|
+
"@epam/ai-dial-catalog": "1.2.0-dev.285",
|
|
126
|
+
"@epam/ai-dial-chat-overlay": "1.2.0-dev.285",
|
|
127
|
+
"@epam/ai-dial-chat-shared": "1.2.0-dev.285",
|
|
128
|
+
"@epam/ai-dial-mcp-apps": "1.2.0-dev.285",
|
|
129
|
+
"@epam/ai-dial-publish-panel": "1.2.0-dev.285",
|
|
130
|
+
"@epam/ai-dial-quotations": "1.2.0-dev.285",
|
|
131
131
|
"@epam/ai-dial-react-file-manager": "^0.3.0-dev.25",
|
|
132
|
-
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.
|
|
133
|
-
"@epam/ai-dial-share": "1.2.0-dev.
|
|
134
|
-
"@epam/ai-dial-skill-editor": "1.2.0-dev.
|
|
135
|
-
"@epam/ai-dial-source-panel": "1.2.0-dev.
|
|
132
|
+
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.285",
|
|
133
|
+
"@epam/ai-dial-share": "1.2.0-dev.285",
|
|
134
|
+
"@epam/ai-dial-skill-editor": "1.2.0-dev.285",
|
|
135
|
+
"@epam/ai-dial-source-panel": "1.2.0-dev.285",
|
|
136
136
|
"@epam/ai-dial-ui-kit": "^0.15.0-dev.36",
|
|
137
|
-
"@epam/ai-dial-usage-dashboard": "1.2.0-dev.
|
|
137
|
+
"@epam/ai-dial-usage-dashboard": "1.2.0-dev.285",
|
|
138
138
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
139
139
|
"@epam/pdf-highlighter-kit": "^0.0.19",
|
|
140
140
|
"@mcp-ui/client": "^7.1.1"
|