@epam/ai-dial-chat-hooks 1.2.0-rc.1 → 1.3.0-dev.10

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