@epam/ai-dial-chat-hooks 1.2.0-dev.284 → 1.2.0-dev.287

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
@@ -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 { DialFileManagerActionProfile as S, DialFileManagerVariant as C, deriveActionProfile as w } from "./files/file-manager-variant.js";
8
- import { buildSharedItemVirtualPath as T, dialCorePathToRelative as E, findDialFileByPath as D, findFolderByVirtualPath as O, formatOperationFolderName as k, getVirtualPathName as A, hasDialFileWritePermission as j, hasForbiddenNameSymbols as M, hasSamePaths as N, isCopyMoveDuplicateAllowed as P, isShareActionsAllowed as F, normalizeVirtualPath as I, parseNewFolderVirtualPath as L, resolveOwnerCoords as R, resolveSectionByPath as z, unionPathSets as B, withRoutableRootLabels as V } from "./files/dial-file-manager-path.util.js";
9
- import { getParentFolderPath as H, resolveDialFileApiPath as U, virtualPathToApiPath as W } from "./files/resolve-dial-file-api-path.js";
10
- import { prepareCopyItems as G, prepareMoveRenameItems as K } from "./files/dial-file-manager-copy-move.util.js";
11
- import { buildFromCache as q, fetchByTab as J, fetchForSearch as Y, findFirstSuccessfulCopyMoveItem as X, mapCorePermissions as Z, mapFileMetadataToDialFile as Q, mapSearchItem as $, mergeCreatedFolderIntoCache as ee, updateEntry as te } from "./files/dial-file-manager-mapping.util.js";
12
- import { createFilesApiClient as ne } from "./files/create-files-api.js";
13
- import { createUploadFileWithProgress as re } from "./files/create-upload-file-with-progress.js";
14
- import { openAnnotationAttachment as ie } from "./files/annotation.js";
15
- import { getUrlFileName as ae, isExternalSourcePreviewable as oe, resolveExternalSourceContentType as se } from "./files/source-content.js";
16
- import { annotationToDisplayAttachment as ce, attachmentDtoToDisplayAttachment as le, attachmentDtosToDisplayAttachments as ue } from "./files/attachment-dto-to-display.js";
17
- import { dialFileToAttachment as de, dialFilesToAttachments as fe, dialFolderPathToAttachment as pe } from "./files/dial-file-to-attachment.js";
18
- import { DownloadDestinationType as me } from "./files/download-destination.js";
19
- import { prepareDownloadDestination as he } from "./files/prepare-download-destination.js";
20
- import { useDialFileListing as ge } from "./files/useDialFileListing/useDialFileListing.js";
21
- import { useDialFileMetadata as _e } from "./files/useDialFileMetadata/useDialFileMetadata.js";
22
- import { useDialFileMutations as ve } from "./files/useDialFileMutations/useDialFileMutations.js";
23
- import { useDialFileSharing as ye } from "./files/useDialFileSharing/useDialFileSharing.js";
24
- import { useDialFileUploadBatch as be } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
25
- import { useDialFileManager as xe } from "./files/useDialFileManager/useDialFileManager.js";
26
- import { useDialFileManagerSections as Se } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
27
- import { useDialFileManagerTabConfig as Ce } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
28
- import { useFileAttachmentPicker as we } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
29
- import { useGridEditingScroll as Te } 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, S as DialFileManagerActionProfile, C as DialFileManagerVariant, u as DialFilesApiUploadMode, me 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, ce as annotationToDisplayAttachment, le as attachmentDtoToDisplayAttachment, ue as attachmentDtosToDisplayAttachments, q as buildFromCache, T as buildSharedItemVirtualPath, ne as createFilesApiClient, re as createUploadFileWithProgress, w as deriveActionProfile, E as dialCorePathToRelative, de as dialFileToAttachment, fe as dialFilesToAttachments, pe as dialFolderPathToAttachment, J as fetchByTab, Y as fetchForSearch, D as findDialFileByPath, X as findFirstSuccessfulCopyMoveItem, O as findFolderByVirtualPath, k as formatOperationFolderName, H as getParentFolderPath, ae as getUrlFileName, A as getVirtualPathName, j as hasDialFileWritePermission, M as hasForbiddenNameSymbols, N as hasSamePaths, P as isCopyMoveDuplicateAllowed, r as isDialFileAcceptType, e as isDialFileId, oe as isExternalSourcePreviewable, F as isShareActionsAllowed, Z as mapCorePermissions, Q as mapFileMetadataToDialFile, $ as mapSearchItem, ee as mergeCreatedFolderIntoCache, i as mimeTypesToAttachmentExtensionLabels, a as mimeTypesToDialFileAcceptTypes, o as mimeTypesToFileAccept, I as normalizeVirtualPath, ie as openAnnotationAttachment, L as parseNewFolderVirtualPath, G as prepareCopyItems, he as prepareDownloadDestination, K as prepareMoveRenameItems, U as resolveDialFileApiPath, t as resolveDialFileBucketAndPath, se as resolveExternalSourceContentType, R as resolveOwnerCoords, n as resolveRelativeDialFilePath, z as resolveSectionByPath, s as sanitizeFileName, c as splitFileNameExtension, l as trimFileNameToByteLimit, B as unionPathSets, te as updateEntry, ge as useDialFileListing, xe as useDialFileManager, Se as useDialFileManagerSections, Ce as useDialFileManagerTabConfig, _e as useDialFileMetadata, ve as useDialFileMutations, ye as useDialFileSharing, be as useDialFileUploadBatch, we as useFileAttachmentPicker, Te as useGridEditingScroll, W as virtualPathToApiPath, V as withRoutableRootLabels };
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 { getParentFolderPath as t, virtualPathToApiPath as n } from "./resolve-dial-file-api-path.js";
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 = (t, i, a) => t.map((t) => {
7
- let s = t.nodeType === o.FOLDER, c = n(t.sourceUrl, a), l = n(t.destinationUrl, a), u = e(t.sourceUrl, c);
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(t.destinationUrl, l),
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: t.overwrite === !0,
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 = n(r.sourceUrl, c), s = n(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
+ 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: t(d),
30
- destinationParent: t(f)
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 "./file-manager-variant.js";
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) => {
@@ -8,4 +8,4 @@ var n = (n) => {
8
8
  }
9
9
  };
10
10
  //#endregion
11
- export { e as DialFileManagerActionProfile, t as DialFileManagerVariant, n as deriveActionProfile };
11
+ export { n as deriveActionProfile };
@@ -1,19 +1,18 @@
1
1
  import { safeDecodeURI as e } from "../shared/string-utils.js";
2
- import { getParentFolderPath as t } from "@epam/ai-dial-chat-shared";
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 r = (e) => e.startsWith("files/"), i = (t, n) => {
6
- let i = `files/${n}/`;
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 (r(t)) {
9
- let r = t.slice(6), i = r.indexOf("/");
7
+ if (n(t)) {
8
+ let n = t.slice(6), i = n.indexOf("/");
10
9
  if (i >= 0) {
11
- let t = r.slice(0, i), a = r.slice(i + 1);
12
- if (t === n) return e(a);
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
- }, a = (e, t) => {
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
- }, o = (e, t) => e.startsWith("/") || e === t || e.startsWith(`${t}/`), s = (e, t, r) => {
29
- let s = e.nodeType === n.FOLDER, c = e.id ? i(e.id, t) : null, l = c != null && !o(c, r) ? c : a(e.path, r);
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 { t as getParentFolderPath, s as resolveDialFileApiPath, a as virtualPathToApiPath };
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 { getParentFolderPath as ee, virtualPathToApiPath as o } from "../resolve-dial-file-api-path.js";
5
- import { buildFromCache as te, fetchByTab as s, fetchForSearch as ne, mapCorePermissions as re, mapSearchItem as c, mergeCreatedFolderIntoCache as ie } from "../dial-file-manager-mapping.util.js";
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(ee(C));
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: re(O.get("")),
87
- items: te(T, O, "", `/${y}`, v)
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) => ie(r, e, t, n));
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 ne(_, b, v, C, L.current);
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 { DialFileManagerActionProfile as r, DialFileManagerVariant as i, deriveActionProfile as a } from "../file-manager-variant.js";
3
- import { hasDialFileWritePermission as o, isCopyMoveDuplicateAllowed as s, isShareActionsAllowed as c } from "../dial-file-manager-path.util.js";
4
- import { useDialFileListing as l } from "../useDialFileListing/useDialFileListing.js";
5
- import { useDialFileMetadata as u } from "../useDialFileMetadata/useDialFileMetadata.js";
6
- import { useDialFileMutations as d } from "../useDialFileMutations/useDialFileMutations.js";
7
- import { useDialFileSharing as f } from "../useDialFileSharing/useDialFileSharing.js";
8
- import { useDialFileUploadBatch as p } from "../useDialFileUploadBatch/useDialFileUploadBatch.js";
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 = i.Attach, actionProfile: k, labels: A, locale: j, disabledNewButtonTooltip: M, downloadDestination: N, buildValidationErrorMessage: P }) => {
14
- let F = k ?? a(O), I = l({
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 = p({
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 = d({
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 = f({
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 = u({
55
+ }), B = c({
56
56
  filesApi: y,
57
57
  bucket: b,
58
58
  rootLabel: x,
59
59
  onNotification: T
60
- }), V = o(I.currentFolder), H = g(() => S === v.Organization || S === v.Shared && I.folderPath === "" ? !1 : 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), s(F) && (t(_.Copy), t(_.Move), t(_.Duplicate))), c(F) && t(_.RemoveAccess)) : S === v.Shared && c(F) && t(_.Unshare), F === r.Full && t(_.Info), e;
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 { getParentFolderPath as l, resolveDialFileApiPath as u, virtualPathToApiPath as d } from "../resolve-dial-file-api-path.js";
5
- import { prepareCopyItems as f, prepareMoveRenameItems as p } from "../dial-file-manager-copy-move.util.js";
6
- import { findFirstSuccessfulCopyMoveItem as m } from "../dial-file-manager-mapping.util.js";
7
- import { DownloadDestinationType as h } from "../download-destination.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";
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 te } from "@epam/ai-dial-chat-api-client";
10
- import { NOT_ALLOWED_SYMBOLS as S, NotificationVariant as C } from "@epam/ai-dial-ui-kit";
11
- import { DialFileManagerTabs as w, DialFileNodeType as T } from "@epam/ai-dial-react-file-manager";
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 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 }) => {
14
- 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) => {
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, V)) i = {
18
+ else if (o(e, H)) i = {
18
19
  reason: t.ForbiddenSymbols,
19
- symbols: S
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
- }, [V]), ae = g(async (t, r, i) => {
35
- let { parentVirtualPath: a, name: o } = s(r, O), l = d(a, O), u = j && A === l ? j : {
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: T.FOLDER,
41
+ nodeType: E.FOLDER,
41
42
  items: []
42
43
  }, f = Q.current;
43
- if (Q.current = null, $(o, u) || f) return;
44
- H(!0);
45
- let { bucket: p, path: m } = k === w.Shared ? c(l, M.current, D) : {
46
- bucket: D,
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
- I(l, await E.createFolder({
51
+ L(l, await D.createFolder({
51
52
  bucket: p,
52
53
  parentPath: m,
53
54
  name: o
54
- }), N.get(l)), F(), z?.({
55
+ }), P.get(l)), I(), B?.({
55
56
  kind: n.FolderCreated,
56
57
  name: o
57
58
  });
58
59
  } catch {
59
- R?.({
60
- variant: C.Error,
60
+ z?.({
61
+ variant: w.Error,
61
62
  reason: e.FolderCreateFailed
62
63
  });
63
64
  } finally {
64
- H(!1);
65
+ U(!1);
65
66
  }
66
67
  }, [
67
- k,
68
+ A,
69
+ O,
70
+ M,
68
71
  D,
69
72
  j,
70
- E,
71
- A,
72
73
  $,
73
- O,
74
- N,
74
+ k,
75
+ P,
76
+ L,
75
77
  I,
76
- F,
77
- z,
78
- M,
79
- R
78
+ B,
79
+ N,
80
+ z
80
81
  ]), oe = g((t) => {
81
82
  (async () => {
82
- U(!0);
83
+ W(!0);
83
84
  try {
84
- 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");
85
- if (r.type === h.Cancelled) return;
86
- if (t.length === 1 && t[0].nodeType === T.ITEM) {
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 = u(e, e.bucket, O), a = await E.downloadFile(e.bucket, 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 B.triggerDownload(a, e.name, r);
92
- z?.({
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 ?? D,
100
- path: u(e, e.bucket ?? D, O),
100
+ bucket: e.bucket ?? O,
101
+ path: l(e, e.bucket ?? O, k),
101
102
  name: e.name,
102
- nodeType: e.nodeType === T.FOLDER ? y.Folder : y.Item
103
- })), a = await E.downloadArchive(i);
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 B.triggerDownload(a, e, r);
106
- t.length === 1 ? z?.({
106
+ let o = await V.triggerDownload(a, e, r);
107
+ t.length === 1 ? B?.({
107
108
  kind: n.FileDownloaded,
108
109
  name: o
109
- }) : z?.({
110
+ }) : B?.({
110
111
  kind: n.FilesDownloaded,
111
112
  count: t.length
112
113
  });
113
114
  }
114
115
  } catch {
115
- R?.({
116
- variant: C.Error,
116
+ z?.({
117
+ variant: w.Error,
117
118
  reason: t.length === 1 ? e.DownloadFileFailed : e.DownloadFilesFailed
118
119
  });
119
120
  } finally {
120
- U(!1);
121
+ W(!1);
121
122
  }
122
123
  })();
123
124
  }, [
124
- D,
125
125
  O,
126
+ k,
127
+ B,
126
128
  z,
127
- R,
128
- E,
129
- B
129
+ D,
130
+ V
130
131
  ]), se = g((t, n) => {
131
132
  t.length !== 0 && (async () => {
132
- W(!0);
133
+ G(!0);
133
134
  let r = t.map((e) => {
134
- let t = e.nodeType === T.FOLDER, n = d(e.sourceUrl, O), r = t ? n : n.replace(/\/$/, ""), i = a(e.sourceUrl, r), { bucket: o, path: s } = k === w.Shared ? c(r, M.current, D) : {
135
- bucket: D,
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 E.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];
147
- if (o > 0 && R?.({
148
- variant: C.Success,
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 || O
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
- R?.({
156
- variant: C.Error,
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
- R?.({
164
- variant: C.Error,
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
- P([...new Set(r.map((e) => {
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) => A === e || A.startsWith(e)) && L((e) => e.replace(/[^/]+\/$/, "")), F(), W(!1);
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
- O,
179
- A,
180
- R,
181
- E,
182
- M,
183
- P,
183
+ N,
184
184
  F,
185
- L
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, V)) return {
190
+ if (o(e, H)) return {
190
191
  reason: t.ForbiddenSymbols,
191
- symbols: S
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 = j?.items ?? [], a = e.toLowerCase(), s = i.find((e) => e.path !== n.path && e.name.toLowerCase() === a);
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
- }, [V, j]), le = g((t, r) => {
203
- if (t.length === 0 || q || Y) return;
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
- J(!0);
207
- let o = f(t, D, O), s = o.map(({ dto: e }) => e);
207
+ Y(!0);
208
+ let o = d(t, O, k), s = o.map(({ dto: e }) => e);
208
209
  try {
209
- let { results: t } = await E.copyFiles(s, a.signal), c = t.filter((e) => !e.success).length, u = t.length - c;
210
- if (u > 0) {
211
- let e = m(o, t), a = s.every((e) => l(e.sourcePath) === l(e.destinationPath)), c;
212
- c = a ? u === 1 ? n.FileDuplicated : n.FilesDuplicated : u === 1 ? n.FileCopied : n.FilesCopied, z?.({
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: u,
216
+ count: l,
216
217
  isFolder: e?.dto.nodeType === b.Folder,
217
- destinationFolderName: i(r, O)
218
+ destinationFolderName: i(r, k)
218
219
  });
219
220
  }
220
- c > 0 && c < t.length ? R?.({
221
- variant: C.Error,
221
+ c > 0 && c < t.length ? z?.({
222
+ variant: w.Error,
222
223
  reason: e.CopyPartiallyFailed,
223
224
  count: c
224
- }) : c === t.length && R?.({
225
- variant: C.Error,
225
+ }) : c === t.length && z?.({
226
+ variant: w.Error,
226
227
  reason: e.CopyFailed
227
228
  });
228
229
  } catch {
229
- a.signal.aborted || R?.({
230
- variant: C.Error,
230
+ a.signal.aborted || z?.({
231
+ variant: w.Error,
231
232
  reason: e.CopyFailed
232
233
  });
233
234
  } finally {
234
- P([...new Set(s.flatMap((e) => [l(e.sourcePath), l(e.destinationPath)]))]), F(), J(!1), Z.current = null;
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
- R,
240
+ k,
241
241
  z,
242
- E,
243
- q,
244
- Y,
245
- P,
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: ne,
252
- isDownloading: re,
253
- isDeleting: ie,
254
- isRenaming: G,
255
- isCopying: q,
256
- isMoving: Y,
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 || q || Y || G) return;
264
- let { renameDtos: s, preparedMoveItems: c } = p(t, D, O), u = c.map(({ dto: e }) => e), d = new AbortController();
265
- u.length > 0 && (Z.current = d), (async () => {
266
- s.length > 0 && K(!0), u.length > 0 && X(!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 E.renameFiles(s);
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 (u.length === 0) return {
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 E.moveFiles(u, d.signal);
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: d.signal.aborted
302
+ aborted: u.signal.aborted
302
303
  };
303
304
  }
304
- })()]), f = t.threw ? s.length : t.results.filter((e) => !e.success).length, p = r.threw && r.aborted, h = p ? 0 : u.length, g = p ? 0 : r.threw ? u.length : r.results.filter((e) => !e.success).length, _ = r.threw ? 0 : r.results.filter((e) => e.success).length, v = s.length + h, y = f + g, b = g > 0;
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 = m(c, r.results);
307
- z?.({
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, O)
313
+ destinationFolderName: i(o, k)
313
314
  });
314
315
  }
315
- if (s.length === 1 && f === 0) {
316
+ if (s.length === 1 && d === 0) {
316
317
  let [e] = s;
317
- z?.({
318
+ B?.({
318
319
  kind: n.FileRenamed,
319
320
  name: a(e.destinationPath, e.destinationPath),
320
- isFolder: e.nodeType === te.Folder
321
+ isFolder: e.nodeType === S.Folder
321
322
  });
322
323
  }
323
- y > 0 && (y === v ? R?.({
324
- variant: C.Error,
324
+ y > 0 && (y === v ? z?.({
325
+ variant: w.Error,
325
326
  reason: b ? e.MoveFailed : e.RenameFailed
326
- }) : R?.({
327
- variant: C.Error,
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 === te.Folder && t.results.some((t) => t.success && t.sourcePath === e.sourcePath));
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 (A === e || A.startsWith(e)) {
335
+ if (j === e || j.startsWith(e)) {
335
336
  let t = x.destinationPath.endsWith("/") ? x.destinationPath : `${x.destinationPath}/`;
336
- L(A.replace(e, t));
337
+ R(j.replace(e, t));
337
338
  }
338
339
  }
339
- P([...new Set([...s, ...u].flatMap((e) => [l(e.sourcePath), l(e.destinationPath)]))]), F(), K(!1), X(!1), u.length > 0 && (Z.current = null);
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
- A,
344
+ k,
345
+ j,
346
+ B,
345
347
  z,
346
- R,
347
- E,
348
- q,
349
- Y,
350
- G,
351
- P,
348
+ D,
349
+ J,
350
+ X,
351
+ K,
352
352
  F,
353
- L
353
+ I,
354
+ R
354
355
  ]),
355
356
  onCopyFiles: le,
356
357
  cancelCopyMove: ue
357
358
  };
358
359
  };
359
360
  //#endregion
360
- export { E as useDialFileMutations };
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 { DialFileManagerVariant as n } from "../file-manager-variant.js";
4
- import { useDialFileManagerSections as r } from "../useDialFileManagerSections/useDialFileManagerSections.js";
5
- import { useDialFileManagerTabConfig as i } from "../useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
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 } = i(x, O, C, g), A = r({
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: n.Attach,
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 { DialFileManagerActionProfile as pi, DialFileManagerVariant as mi, deriveActionProfile as hi } from "./files/file-manager-variant.js";
110
- 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";
111
- import { getParentFolderPath as Ni, resolveDialFileApiPath as Pi, virtualPathToApiPath as Fi } from "./files/resolve-dial-file-api-path.js";
112
- import { prepareCopyItems as Ii, prepareMoveRenameItems as Li } from "./files/dial-file-manager-copy-move.util.js";
113
- 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";
114
- import { createFilesApiClient as qi } from "./files/create-files-api.js";
115
- import { createUploadFileWithProgress as Ji } from "./files/create-upload-file-with-progress.js";
116
- import { openAnnotationAttachment as Yi } from "./files/annotation.js";
117
- 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";
118
- import { getUrlFileName as da, isExternalSourcePreviewable as fa, resolveExternalSourceContentType as pa } from "./files/source-content.js";
119
- import { annotationToDisplayAttachment as ma, attachmentDtoToDisplayAttachment as ha, attachmentDtosToDisplayAttachments as ga } from "./files/attachment-dto-to-display.js";
120
- import { dialFileToAttachment as _a, dialFilesToAttachments as va, dialFolderPathToAttachment as ya } from "./files/dial-file-to-attachment.js";
121
- import { DownloadDestinationType as ba } from "./files/download-destination.js";
122
- import { prepareDownloadDestination as xa } from "./files/prepare-download-destination.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, 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.284",
4
+ "version": "1.2.0-dev.287",
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.284",
114
+ "@epam/ai-dial-chat-api-client": "1.2.0-dev.287",
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.284",
124
- "@epam/ai-dial-attachment-input": "1.2.0-dev.284",
125
- "@epam/ai-dial-catalog": "1.2.0-dev.284",
126
- "@epam/ai-dial-chat-overlay": "1.2.0-dev.284",
127
- "@epam/ai-dial-chat-shared": "1.2.0-dev.284",
128
- "@epam/ai-dial-mcp-apps": "1.2.0-dev.284",
129
- "@epam/ai-dial-publish-panel": "1.2.0-dev.284",
130
- "@epam/ai-dial-quotations": "1.2.0-dev.284",
123
+ "@epam/ai-dial-attachment-canvas": "1.2.0-dev.287",
124
+ "@epam/ai-dial-attachment-input": "1.2.0-dev.287",
125
+ "@epam/ai-dial-catalog": "1.2.0-dev.287",
126
+ "@epam/ai-dial-chat-overlay": "1.2.0-dev.287",
127
+ "@epam/ai-dial-chat-shared": "1.2.0-dev.287",
128
+ "@epam/ai-dial-mcp-apps": "1.2.0-dev.287",
129
+ "@epam/ai-dial-publish-panel": "1.2.0-dev.287",
130
+ "@epam/ai-dial-quotations": "1.2.0-dev.287",
131
131
  "@epam/ai-dial-react-file-manager": "^0.3.0-dev.25",
132
- "@epam/ai-dial-scheduled-tasks": "1.2.0-dev.284",
133
- "@epam/ai-dial-share": "1.2.0-dev.284",
134
- "@epam/ai-dial-skill-editor": "1.2.0-dev.284",
135
- "@epam/ai-dial-source-panel": "1.2.0-dev.284",
132
+ "@epam/ai-dial-scheduled-tasks": "1.2.0-dev.287",
133
+ "@epam/ai-dial-share": "1.2.0-dev.287",
134
+ "@epam/ai-dial-skill-editor": "1.2.0-dev.287",
135
+ "@epam/ai-dial-source-panel": "1.2.0-dev.287",
136
136
  "@epam/ai-dial-ui-kit": "^0.15.0-dev.36",
137
- "@epam/ai-dial-usage-dashboard": "1.2.0-dev.284",
137
+ "@epam/ai-dial-usage-dashboard": "1.2.0-dev.287",
138
138
  "@modelcontextprotocol/sdk": "^1.29.0",
139
139
  "@epam/pdf-highlighter-kit": "^0.0.19",
140
140
  "@mcp-ui/client": "^7.1.1"