@epam/ai-dial-chat-hooks 1.2.0-rc.1 → 1.2.0-rc.2
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/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +136 -119
- package/catalog.d.ts +3 -0
- package/file-manager.d.ts +17 -4
- package/file-manager.js +25 -25
- package/files/dial-file-manager.model.js +7 -3
- package/files/dial-file-manager.types.js +1 -1
- package/files/useDialFileListing/useDialFileListing.js +24 -14
- package/files/useDialFileManager/useDialFileManager.js +148 -140
- package/files/useDialFileSharing/useDialFileSharing.js +45 -39
- package/index.d.ts +20 -4
- package/index.js +43 -43
- package/package.json +16 -16
|
@@ -5,126 +5,143 @@ import { getRunnerSchemas as r, isQuickAppSchema as i } from "../../shared/appli
|
|
|
5
5
|
import { CatalogEntityType as a } from "@epam/ai-dial-chat-shared";
|
|
6
6
|
import { useCallback as o, useMemo as s, useState as c } from "react";
|
|
7
7
|
//#region src/catalog/useCatalogEditNavigation/useCatalogEditNavigation.ts
|
|
8
|
-
var l = ({ deployments:
|
|
9
|
-
let
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
onClick: k
|
|
96
|
-
}], i = t(D.createSkill) ? r : r.filter((e) => t(String(e.label)));
|
|
97
|
-
return i.length > 0 && n.push({
|
|
98
|
-
key: "skill",
|
|
99
|
-
label: D.createSkill,
|
|
100
|
-
children: i
|
|
101
|
-
}), m && t(D.createPrompt) && n.push({
|
|
8
|
+
var l = (e) => [...e].sort((e, t) => String(e.label ?? "").localeCompare(String(t.label ?? ""), void 0, { sensitivity: "base" })), u = ({ deployments: u, isCustomAppsEnabled: d, isSchemaAppsEnabled: f, isHideCustomAppCreationEnabled: p, isToolsetsEnabled: m, isPromptsEnabled: h, schemas: g, urls: _, onNavigate: v, deletePrompt: y, deleteToolset: b, deleteSkill: x, deleteApplication: S, refetchPrompts: C, refetchToolsets: w, refetchSkills: T, refetchDeployments: E, onDeleteSuccess: D, labels: O, onNotify: k, onSkillUploadClick: A }) => {
|
|
9
|
+
let j = s(() => r(g), [g]), [M, N] = c(""), P = f && !p, F = o((e) => {
|
|
10
|
+
if (e.type === a.Prompt) {
|
|
11
|
+
v(_.buildPromptEditUrl(e.id));
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (e.type === a.Skill) {
|
|
15
|
+
v(_.buildSkillEditUrl(e.id));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (e.type === a.Toolset) {
|
|
19
|
+
v(_.buildToolsetEditUrl(e.id));
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let n = t(u, e.id);
|
|
23
|
+
if (d && n != null && !n.applicationTypeSchemaId) {
|
|
24
|
+
v(_.buildCustomAppEditUrl(e.id));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let r = j.find((e) => e.id === n?.applicationTypeSchemaId)?.id ?? j.find((e) => i(e))?.id;
|
|
28
|
+
r && v(_.buildQuickAppEditUrl(r, e.id));
|
|
29
|
+
}, [
|
|
30
|
+
u,
|
|
31
|
+
d,
|
|
32
|
+
j,
|
|
33
|
+
v,
|
|
34
|
+
_
|
|
35
|
+
]), I = o(async (t) => {
|
|
36
|
+
try {
|
|
37
|
+
if (t.type === a.Prompt) await y(t.id), await C();
|
|
38
|
+
else if (t.type === a.Toolset) await b(t.id), await w();
|
|
39
|
+
else if (t.type === a.Skill) {
|
|
40
|
+
let e = n(t.id);
|
|
41
|
+
if (e == null) throw Error(`Invalid skill resource url: ${t.id}`);
|
|
42
|
+
await x(e.bucket, e.path), await T();
|
|
43
|
+
} else await S(t.id), await E();
|
|
44
|
+
D(t);
|
|
45
|
+
} catch (t) {
|
|
46
|
+
let { traceId: n } = await e(t);
|
|
47
|
+
throw k({
|
|
48
|
+
message: O.deleteError,
|
|
49
|
+
requestId: n
|
|
50
|
+
}), t;
|
|
51
|
+
}
|
|
52
|
+
}, [
|
|
53
|
+
y,
|
|
54
|
+
b,
|
|
55
|
+
x,
|
|
56
|
+
S,
|
|
57
|
+
w,
|
|
58
|
+
E,
|
|
59
|
+
C,
|
|
60
|
+
T,
|
|
61
|
+
D,
|
|
62
|
+
O,
|
|
63
|
+
k
|
|
64
|
+
]), L = s(() => {
|
|
65
|
+
let e = M.trim().toLocaleLowerCase(), t = (t) => !e || t.toLocaleLowerCase().includes(e), n = P ? j.map((e) => ({
|
|
66
|
+
id: e.id,
|
|
67
|
+
label: e.displayName || e.id
|
|
68
|
+
})).filter((e) => t(e.label)).map((e) => ({
|
|
69
|
+
key: `runner:${e.id}`,
|
|
70
|
+
label: e.label,
|
|
71
|
+
onClick: () => v(_.buildQuickAppCreateUrl(e.id))
|
|
72
|
+
})) : [], r = m && t(O.createToolset) ? {
|
|
73
|
+
key: "toolset",
|
|
74
|
+
label: O.createToolset,
|
|
75
|
+
onClick: () => v(_.buildToolsetCreateUrl())
|
|
76
|
+
} : void 0, i = d && !p && t(O.createCustomApp) ? {
|
|
77
|
+
key: "custom-app",
|
|
78
|
+
label: O.createCustomApp,
|
|
79
|
+
onClick: () => v(_.buildCustomAppCreateUrl())
|
|
80
|
+
} : void 0, a = [{
|
|
81
|
+
key: "skill-write-instructions",
|
|
82
|
+
label: O.createSkillWriteInstructions,
|
|
83
|
+
onClick: () => v(_.buildSkillCreateUrl())
|
|
84
|
+
}, {
|
|
85
|
+
key: "skill-upload",
|
|
86
|
+
label: O.createSkillUpload,
|
|
87
|
+
onClick: A
|
|
88
|
+
}];
|
|
89
|
+
return {
|
|
90
|
+
runnerOptions: n,
|
|
91
|
+
toolsetOption: r,
|
|
92
|
+
customAppOption: i,
|
|
93
|
+
visibleSkillChildren: t(O.createSkill) ? a : a.filter((e) => t(String(e.label))),
|
|
94
|
+
promptOption: h && t(O.createPrompt) ? {
|
|
102
95
|
key: "prompt",
|
|
103
|
-
label:
|
|
104
|
-
onClick: () => _
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
96
|
+
label: O.createPrompt,
|
|
97
|
+
onClick: () => v(_.buildPromptCreateUrl())
|
|
98
|
+
} : void 0
|
|
99
|
+
};
|
|
100
|
+
}, [
|
|
101
|
+
M,
|
|
102
|
+
P,
|
|
103
|
+
j,
|
|
104
|
+
v,
|
|
105
|
+
_,
|
|
106
|
+
h,
|
|
107
|
+
O,
|
|
108
|
+
p,
|
|
109
|
+
m,
|
|
110
|
+
d,
|
|
111
|
+
A
|
|
112
|
+
]), R = s(() => {
|
|
113
|
+
let { runnerOptions: e, toolsetOption: t, customAppOption: n, visibleSkillChildren: r, promptOption: i } = L, a = [...e];
|
|
114
|
+
return t && a.push(t), n && a.push(n), r.length > 0 && a.push({
|
|
115
|
+
key: "skill",
|
|
116
|
+
label: O.createSkill,
|
|
117
|
+
children: r
|
|
118
|
+
}), i && a.push(i), l(a);
|
|
119
|
+
}, [L, O.createSkill]), z = s(() => P && j.length > 0 ? {
|
|
120
|
+
value: M,
|
|
121
|
+
onChange: N
|
|
122
|
+
} : void 0, [
|
|
123
|
+
P,
|
|
124
|
+
j.length,
|
|
125
|
+
M
|
|
126
|
+
]);
|
|
127
|
+
return {
|
|
128
|
+
handleEdit: F,
|
|
129
|
+
handleDelete: I,
|
|
130
|
+
createOptions: R,
|
|
131
|
+
createSearch: z,
|
|
132
|
+
createMenuByType: s(() => {
|
|
133
|
+
let { runnerOptions: e, toolsetOption: t, customAppOption: n, visibleSkillChildren: r, promptOption: i } = L;
|
|
134
|
+
return {
|
|
135
|
+
[a.Agent]: {
|
|
136
|
+
options: l(n ? [...e, n] : e),
|
|
137
|
+
search: z
|
|
138
|
+
},
|
|
139
|
+
[a.Toolset]: { options: t ? [t] : [] },
|
|
140
|
+
[a.Skill]: { options: r },
|
|
141
|
+
[a.Prompt]: { options: i ? [i] : [] }
|
|
142
|
+
};
|
|
143
|
+
}, [L, z])
|
|
127
144
|
};
|
|
128
145
|
};
|
|
129
146
|
//#endregion
|
|
130
|
-
export {
|
|
147
|
+
export { u as useCatalogEditNavigation };
|
package/catalog.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { CatalogItemDetailsFetchResult } from '@epam/ai-dial-catalog';
|
|
|
10
10
|
import { CatalogItemLimits } from '@epam/ai-dial-catalog';
|
|
11
11
|
import { CatalogItemOverview } from '@epam/ai-dial-catalog';
|
|
12
12
|
import { CatalogItemTabData } from '@epam/ai-dial-catalog';
|
|
13
|
+
import { CatalogTabCreateMenu } from '@epam/ai-dial-catalog';
|
|
13
14
|
import { CredentialsLevel } from '@epam/ai-dial-catalog';
|
|
14
15
|
import { DeploymentDetailsDto } from '@epam/ai-dial-chat-api-client';
|
|
15
16
|
import { DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
@@ -1114,6 +1115,8 @@ export declare interface UseCatalogEditNavigationResult {
|
|
|
1114
1115
|
createOptions: DropdownItem[];
|
|
1115
1116
|
/** The Create menu's search field state, or `undefined` when no runner option is offered. */
|
|
1116
1117
|
createSearch: CatalogCreateSearch | undefined;
|
|
1118
|
+
/** The Create menu narrowed to each entity type; models have no entry since they cannot be created. */
|
|
1119
|
+
createMenuByType: Partial<Record<CatalogEntityType, CatalogTabCreateMenu>>;
|
|
1117
1120
|
}
|
|
1118
1121
|
|
|
1119
1122
|
/**
|
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
|
|
78
|
+
export declare const COLUMNS_MY_FILES: FileManagerColumnKey[];
|
|
79
79
|
|
|
80
|
-
export declare const
|
|
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;
|
|
@@ -405,7 +407,9 @@ export declare enum FileOperationKind {
|
|
|
405
407
|
FilesMoved = "filesMoved",
|
|
406
408
|
/** A copy whose every item landed in its own source folder (Duplicate). */
|
|
407
409
|
FileDuplicated = "fileDuplicated",
|
|
408
|
-
FilesDuplicated = "filesDuplicated"
|
|
410
|
+
FilesDuplicated = "filesDuplicated",
|
|
411
|
+
/** One or more shared-with-me items were removed from the Shared tab. */
|
|
412
|
+
FilesUnshared = "filesUnshared"
|
|
409
413
|
}
|
|
410
414
|
|
|
411
415
|
/**
|
|
@@ -773,6 +777,11 @@ export declare interface UseDialFileListingResult {
|
|
|
773
777
|
mergeCreatedFolder: (parentApiPath: string, created: CreateFolderResponseDto, inheritedPermissions?: string[]) => void;
|
|
774
778
|
/** Forces the listing effect to re-fetch the currently browsed folder. */
|
|
775
779
|
bumpRetry: () => void;
|
|
780
|
+
/**
|
|
781
|
+
* Drops the named root rows from the Shared tab's cached listing, so an
|
|
782
|
+
* unshared item disappears at once instead of waiting for the refetch.
|
|
783
|
+
*/
|
|
784
|
+
removeSharedRootItems: (names: string[]) => void;
|
|
776
785
|
}
|
|
777
786
|
|
|
778
787
|
/**
|
|
@@ -1094,7 +1103,7 @@ export declare interface UseDialFileMutationsResult {
|
|
|
1094
1103
|
* shared retry counter after each mutation settles rather than holding its
|
|
1095
1104
|
* own cache copy.
|
|
1096
1105
|
*/
|
|
1097
|
-
export declare const useDialFileSharing: ({ filesApi, bucket, rootLabel, bumpRetry, onNotification, }: UseDialFileSharingOptions) => UseDialFileSharingResult;
|
|
1106
|
+
export declare const useDialFileSharing: ({ filesApi, bucket, rootLabel, bumpRetry, onNotification, onOperationSuccess, removeSharedRootItems, }: UseDialFileSharingOptions) => UseDialFileSharingResult;
|
|
1098
1107
|
|
|
1099
1108
|
/** Options accepted by `useDialFileSharing`. */
|
|
1100
1109
|
export declare interface UseDialFileSharingOptions {
|
|
@@ -1108,6 +1117,10 @@ export declare interface UseDialFileSharingOptions {
|
|
|
1108
1117
|
bumpRetry: () => void;
|
|
1109
1118
|
/** Called when a sharing mutation fails and should surface a toast notification. */
|
|
1110
1119
|
onNotification?: (notification: FileManagerNotification) => void;
|
|
1120
|
+
/** Called with a structured event once an unshare succeeds, so the host can show its success toast. */
|
|
1121
|
+
onOperationSuccess?: (event: FileOperationSuccessEvent) => void;
|
|
1122
|
+
/** Removes the unshared root rows from the cached Shared listing ahead of the refetch. */
|
|
1123
|
+
removeSharedRootItems?: (names: string[]) => void;
|
|
1111
1124
|
}
|
|
1112
1125
|
|
|
1113
1126
|
/** Values returned by `useDialFileSharing`. */
|
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 {
|
|
7
|
-
import { buildSharedItemVirtualPath as
|
|
8
|
-
import { resolveDialFileApiPath as
|
|
9
|
-
import { prepareCopyItems as
|
|
10
|
-
import { buildFromCache as
|
|
11
|
-
import { createFilesApiClient as
|
|
12
|
-
import { createUploadFileWithProgress as
|
|
13
|
-
import { openAnnotationAttachment as
|
|
14
|
-
import { getUrlFileName as
|
|
15
|
-
import { annotationToDisplayAttachment as
|
|
16
|
-
import { dialFileToAttachment as
|
|
17
|
-
import { DownloadDestinationType as
|
|
18
|
-
import { prepareDownloadDestination as
|
|
19
|
-
import { deriveActionProfile as
|
|
20
|
-
import { useDialFileListing as
|
|
21
|
-
import { useDialFileMetadata as
|
|
22
|
-
import { useDialFileMutations as
|
|
23
|
-
import { useDialFileSharing as
|
|
24
|
-
import { useDialFileUploadBatch as
|
|
25
|
-
import { useDialFileManager as
|
|
26
|
-
import { useDialFileManagerSections as
|
|
27
|
-
import { useDialFileManagerTabConfig as
|
|
28
|
-
import { useFileAttachmentPicker as
|
|
29
|
-
import { useGridEditingScroll as
|
|
30
|
-
export { m as
|
|
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
|
-
],
|
|
26
|
+
], d = {
|
|
23
27
|
READ: n.READ,
|
|
24
28
|
WRITE: n.WRITE,
|
|
25
29
|
SHARE: n.SHARE
|
|
26
|
-
},
|
|
30
|
+
}, f = [
|
|
27
31
|
t.MyFiles,
|
|
28
32
|
t.Shared,
|
|
29
33
|
t.Organization
|
|
30
34
|
];
|
|
31
35
|
//#endregion
|
|
32
|
-
export { c as
|
|
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 };
|
|
@@ -4,7 +4,7 @@ var e = /* @__PURE__ */ function(e) {
|
|
|
4
4
|
}({}), t = /* @__PURE__ */ function(e) {
|
|
5
5
|
return e.Empty = "empty", e.ForbiddenSymbols = "forbiddenSymbols", e.ReservedName = "reservedName", e.TooLong = "tooLong", e.DuplicateName = "duplicateName", e;
|
|
6
6
|
}({}), n = /* @__PURE__ */ function(e) {
|
|
7
|
-
return e.FolderCreated = "folderCreated", e.FileRenamed = "fileRenamed", e.FileDownloaded = "fileDownloaded", e.FilesDownloaded = "filesDownloaded", e.FileCopied = "fileCopied", e.FilesCopied = "filesCopied", e.FileMoved = "fileMoved", e.FilesMoved = "filesMoved", e.FileDuplicated = "fileDuplicated", e.FilesDuplicated = "filesDuplicated", e;
|
|
7
|
+
return e.FolderCreated = "folderCreated", e.FileRenamed = "fileRenamed", e.FileDownloaded = "fileDownloaded", e.FilesDownloaded = "filesDownloaded", e.FileCopied = "fileCopied", e.FilesCopied = "filesCopied", e.FileMoved = "fileMoved", e.FilesMoved = "filesMoved", e.FileDuplicated = "fileDuplicated", e.FilesDuplicated = "filesDuplicated", e.FilesUnshared = "filesUnshared", e;
|
|
8
8
|
}({});
|
|
9
9
|
//#endregion
|
|
10
10
|
export { e as FileManagerNotificationReason, t as FileNameValidationErrorReason, n as FileOperationKind };
|
|
@@ -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:
|
|
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,
|
|
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
|
}]))));
|
|
@@ -144,6 +144,15 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
144
144
|
]), ve = l((e, t, n) => {
|
|
145
145
|
E((r) => re(r, e, t, n));
|
|
146
146
|
}, []), ye = l((e) => {
|
|
147
|
+
if (e.length === 0) return;
|
|
148
|
+
let t = new Set(e);
|
|
149
|
+
E((e) => {
|
|
150
|
+
let n = e.get("");
|
|
151
|
+
if (n == null) return e;
|
|
152
|
+
let r = new Map(e);
|
|
153
|
+
return r.set("", n.filter((e) => !t.has(e.name))), r;
|
|
154
|
+
}), F((t) => t?.filter((t) => !e.some((e) => t === `/${y}/${e}`)));
|
|
155
|
+
}, [y]), be = l((e) => {
|
|
147
156
|
if (!S) return;
|
|
148
157
|
let n = e == null ? "" : o(e, y), r = e ?? `/${y}`;
|
|
149
158
|
if (J((e) => {
|
|
@@ -185,7 +194,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
185
194
|
S,
|
|
186
195
|
x,
|
|
187
196
|
y
|
|
188
|
-
]),
|
|
197
|
+
]), xe = d(() => {
|
|
189
198
|
let e = /* @__PURE__ */ new Set(), t = new Set([...W, ...q]);
|
|
190
199
|
for (let n of t) {
|
|
191
200
|
let t = o(n, y);
|
|
@@ -197,7 +206,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
197
206
|
q,
|
|
198
207
|
T,
|
|
199
208
|
y
|
|
200
|
-
]),
|
|
209
|
+
]), Se = l((e) => {
|
|
201
210
|
S && (W.forEach((t) => {
|
|
202
211
|
e.has(t) || U.current.delete(o(t, y));
|
|
203
212
|
}), G(e), [...e].filter((e) => {
|
|
@@ -230,9 +239,9 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
230
239
|
S,
|
|
231
240
|
x,
|
|
232
241
|
y
|
|
233
|
-
]),
|
|
242
|
+
]), Ce = l(() => {
|
|
234
243
|
B.current != null && (clearTimeout(B.current), B.current = null), V.current?.(), V.current = null, z(null), R(!1);
|
|
235
|
-
}, []),
|
|
244
|
+
}, []), we = l((e, t) => {
|
|
236
245
|
if (S) {
|
|
237
246
|
if (B.current != null && (clearTimeout(B.current), B.current = null), V.current?.(), V.current = null, !t.trim()) {
|
|
238
247
|
z(null), R(!1);
|
|
@@ -267,7 +276,7 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
267
276
|
C,
|
|
268
277
|
S,
|
|
269
278
|
y
|
|
270
|
-
]), $ = C ? `/${y}/${C}` : `/${y}`,
|
|
279
|
+
]), $ = C ? `/${y}/${C}` : `/${y}`, Te = d(() => {
|
|
271
280
|
let e = Z[0];
|
|
272
281
|
if (e) return a($) === a(`/${y}`) ? e : i(e.items ?? [], $);
|
|
273
282
|
}, [
|
|
@@ -283,25 +292,26 @@ var _ = ({ filesApi: _, bucket: v, rootLabel: y, activeTab: b, onNotification: x
|
|
|
283
292
|
folderPath: C,
|
|
284
293
|
onPathChange: he,
|
|
285
294
|
retry: Q,
|
|
286
|
-
onSearchFiles:
|
|
295
|
+
onSearchFiles: we,
|
|
287
296
|
isSearching: fe,
|
|
288
297
|
searchResults: pe,
|
|
289
|
-
clearSearchResults:
|
|
298
|
+
clearSearchResults: Ce,
|
|
290
299
|
expandedPaths: W,
|
|
291
|
-
loadedPaths:
|
|
292
|
-
onExpandedPathsChange:
|
|
293
|
-
onFolderPopupPathChange:
|
|
300
|
+
loadedPaths: xe,
|
|
301
|
+
onExpandedPathsChange: Se,
|
|
302
|
+
onFolderPopupPathChange: be,
|
|
294
303
|
folderPopupLoadingPaths: me,
|
|
295
304
|
sharedWithMeIds: d(() => b === g.Shared ? P : void 0, [b, P]),
|
|
296
305
|
sharedByMePaths: de,
|
|
297
|
-
currentFolder:
|
|
306
|
+
currentFolder: Te,
|
|
298
307
|
cache: T,
|
|
299
308
|
listingPermissionsCache: O,
|
|
300
309
|
sharedRootMetaRef: L,
|
|
301
310
|
setFolderPath: w,
|
|
302
311
|
invalidateFolders: _e,
|
|
303
312
|
mergeCreatedFolder: ve,
|
|
304
|
-
bumpRetry: ge
|
|
313
|
+
bumpRetry: ge,
|
|
314
|
+
removeSharedRootItems: ye
|
|
305
315
|
};
|
|
306
316
|
};
|
|
307
317
|
//#endregion
|
|
@@ -1,150 +1,158 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { hasDialFileWritePermission as
|
|
3
|
-
import { deriveActionProfile as
|
|
4
|
-
import { useDialFileListing as
|
|
5
|
-
import { useDialFileMetadata as
|
|
6
|
-
import { useDialFileMutations as
|
|
7
|
-
import { useDialFileSharing as
|
|
8
|
-
import { useDialFileUploadBatch as
|
|
9
|
-
import { DialFileManagerActionProfile as
|
|
10
|
-
import { useCallback as
|
|
11
|
-
import { DialFileManagerActions as
|
|
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
|
|
14
|
-
let
|
|
15
|
-
filesApi:
|
|
16
|
-
bucket:
|
|
17
|
-
rootLabel:
|
|
18
|
-
activeTab:
|
|
19
|
-
onNotification:
|
|
20
|
-
isActive:
|
|
21
|
-
sessionKey:
|
|
22
|
-
}),
|
|
23
|
-
filesApi:
|
|
24
|
-
bucket:
|
|
25
|
-
rootLabel:
|
|
26
|
-
activeTab:
|
|
27
|
-
cache:
|
|
28
|
-
sharedRootMetaRef:
|
|
29
|
-
invalidateFolders:
|
|
30
|
-
bumpRetry:
|
|
31
|
-
onNotification:
|
|
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:
|
|
51
|
-
bucket:
|
|
52
|
-
rootLabel:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
+
onOperationSuccess: D,
|
|
56
|
+
removeSharedRootItems: L.removeSharedRootItems
|
|
57
|
+
}), V = l({
|
|
58
|
+
filesApi: b,
|
|
59
|
+
bucket: x,
|
|
60
|
+
rootLabel: S,
|
|
61
|
+
onNotification: E
|
|
62
|
+
}), H = i(L.currentFolder), U = _(() => C === y.Organization || C === y.Shared && L.folderPath === "" ? !1 : H, [
|
|
63
|
+
C,
|
|
64
|
+
L.folderPath,
|
|
65
|
+
H
|
|
66
|
+
]), W = _(() => {
|
|
67
|
+
switch (C) {
|
|
68
|
+
case y.Shared: return n;
|
|
69
|
+
case y.Organization: return t;
|
|
70
|
+
default: return e;
|
|
71
|
+
}
|
|
72
|
+
}, [C]), G = _(() => {
|
|
65
73
|
let e = {}, t = (t) => {
|
|
66
|
-
let n =
|
|
74
|
+
let n = j[t];
|
|
67
75
|
n != null && (e[t] = n);
|
|
68
76
|
};
|
|
69
|
-
return t(
|
|
77
|
+
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
78
|
}, [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
]),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
]),
|
|
86
|
-
let n =
|
|
87
|
-
return n ?
|
|
88
|
-
}, [
|
|
89
|
-
let n =
|
|
90
|
-
return n ?
|
|
91
|
-
}, [
|
|
79
|
+
C,
|
|
80
|
+
U,
|
|
81
|
+
I,
|
|
82
|
+
j
|
|
83
|
+
]), K = _(() => z.isCreatingFolder || z.isDownloading || z.isDeleting || z.isRenaming || z.isCopying || z.isMoving || B.isUnsharing || B.isRemovingAccess || h(R.uploadBatchState), [
|
|
84
|
+
z.isCreatingFolder,
|
|
85
|
+
z.isDownloading,
|
|
86
|
+
z.isDeleting,
|
|
87
|
+
z.isRenaming,
|
|
88
|
+
z.isCopying,
|
|
89
|
+
z.isMoving,
|
|
90
|
+
B.isUnsharing,
|
|
91
|
+
B.isRemovingAccess,
|
|
92
|
+
R.uploadBatchState
|
|
93
|
+
]), q = g((e, t) => {
|
|
94
|
+
let n = z.onCreateFolderValidate(e, t);
|
|
95
|
+
return n ? F(n) : null;
|
|
96
|
+
}, [z, F]), J = g((e, t) => {
|
|
97
|
+
let n = z.onRenameValidate(e, t);
|
|
98
|
+
return n ? F(n, t) : null;
|
|
99
|
+
}, [z, F]);
|
|
92
100
|
return {
|
|
93
|
-
items:
|
|
94
|
-
isLoading:
|
|
95
|
-
error:
|
|
96
|
-
path:
|
|
97
|
-
onPathChange:
|
|
98
|
-
retry:
|
|
99
|
-
onSearchFiles:
|
|
100
|
-
isSearching:
|
|
101
|
-
searchResults:
|
|
102
|
-
clearSearchResults:
|
|
103
|
-
expandedPaths:
|
|
104
|
-
loadedPaths:
|
|
105
|
-
onExpandedPathsChange:
|
|
106
|
-
onFolderPopupPathChange:
|
|
107
|
-
folderPopupLoadingPaths:
|
|
108
|
-
onUploadFiles:
|
|
109
|
-
onUploadArchive:
|
|
110
|
-
onValidateUpload:
|
|
111
|
-
uploadBatchState:
|
|
112
|
-
cancelUpload:
|
|
113
|
-
cancelUploadFile:
|
|
114
|
-
clearUploadBatch:
|
|
115
|
-
onCreateFolder:
|
|
116
|
-
onCreateFolderValidate:
|
|
117
|
-
isCreatingFolder:
|
|
118
|
-
onDownloadFiles:
|
|
119
|
-
isDownloading:
|
|
120
|
-
onDeleteFiles:
|
|
121
|
-
isDeleting:
|
|
122
|
-
onRenameValidate:
|
|
123
|
-
onMoveToFiles:
|
|
124
|
-
isRenaming:
|
|
125
|
-
onCopyFiles:
|
|
126
|
-
isCopying:
|
|
127
|
-
isMoving:
|
|
128
|
-
cancelCopyMove:
|
|
129
|
-
uploadEnabled:
|
|
130
|
-
isNewButtonDisabled: !
|
|
131
|
-
disabledNewButtonTooltip:
|
|
132
|
-
visibleColumns:
|
|
133
|
-
dateLocale:
|
|
134
|
-
dateOptions:
|
|
135
|
-
actionLabels:
|
|
136
|
-
sharedWithMeIds:
|
|
137
|
-
sharedByMePaths:
|
|
138
|
-
onUnshareFiles:
|
|
139
|
-
isUnsharing:
|
|
140
|
-
onRemoveFilesAccess:
|
|
141
|
-
isRemovingAccess:
|
|
142
|
-
fileMetadata:
|
|
143
|
-
isFileMetadataLoading:
|
|
144
|
-
onGetInfo:
|
|
145
|
-
clearMetadata:
|
|
146
|
-
isAnyOperationInProgress:
|
|
101
|
+
items: L.items,
|
|
102
|
+
isLoading: L.isLoading,
|
|
103
|
+
error: L.error,
|
|
104
|
+
path: L.path,
|
|
105
|
+
onPathChange: L.onPathChange,
|
|
106
|
+
retry: L.retry,
|
|
107
|
+
onSearchFiles: L.onSearchFiles,
|
|
108
|
+
isSearching: L.isSearching,
|
|
109
|
+
searchResults: L.searchResults,
|
|
110
|
+
clearSearchResults: L.clearSearchResults,
|
|
111
|
+
expandedPaths: L.expandedPaths,
|
|
112
|
+
loadedPaths: L.loadedPaths,
|
|
113
|
+
onExpandedPathsChange: L.onExpandedPathsChange,
|
|
114
|
+
onFolderPopupPathChange: L.onFolderPopupPathChange,
|
|
115
|
+
folderPopupLoadingPaths: L.folderPopupLoadingPaths,
|
|
116
|
+
onUploadFiles: R.onUploadFiles,
|
|
117
|
+
onUploadArchive: R.onUploadArchive,
|
|
118
|
+
onValidateUpload: R.onValidateUpload,
|
|
119
|
+
uploadBatchState: R.uploadBatchState,
|
|
120
|
+
cancelUpload: R.cancelUpload,
|
|
121
|
+
cancelUploadFile: R.cancelUploadFile,
|
|
122
|
+
clearUploadBatch: R.clearUploadBatch,
|
|
123
|
+
onCreateFolder: z.onCreateFolder,
|
|
124
|
+
onCreateFolderValidate: q,
|
|
125
|
+
isCreatingFolder: z.isCreatingFolder,
|
|
126
|
+
onDownloadFiles: z.onDownloadFiles,
|
|
127
|
+
isDownloading: z.isDownloading,
|
|
128
|
+
onDeleteFiles: z.onDeleteFiles,
|
|
129
|
+
isDeleting: z.isDeleting,
|
|
130
|
+
onRenameValidate: J,
|
|
131
|
+
onMoveToFiles: z.onMoveToFiles,
|
|
132
|
+
isRenaming: z.isRenaming,
|
|
133
|
+
onCopyFiles: z.onCopyFiles,
|
|
134
|
+
isCopying: z.isCopying,
|
|
135
|
+
isMoving: z.isMoving,
|
|
136
|
+
cancelCopyMove: z.cancelCopyMove,
|
|
137
|
+
uploadEnabled: U,
|
|
138
|
+
isNewButtonDisabled: !U,
|
|
139
|
+
disabledNewButtonTooltip: N,
|
|
140
|
+
visibleColumns: W,
|
|
141
|
+
dateLocale: M,
|
|
142
|
+
dateOptions: r,
|
|
143
|
+
actionLabels: G,
|
|
144
|
+
sharedWithMeIds: L.sharedWithMeIds,
|
|
145
|
+
sharedByMePaths: L.sharedByMePaths,
|
|
146
|
+
onUnshareFiles: B.onUnshareFiles,
|
|
147
|
+
isUnsharing: B.isUnsharing,
|
|
148
|
+
onRemoveFilesAccess: B.onRemoveFilesAccess,
|
|
149
|
+
isRemovingAccess: B.isRemovingAccess,
|
|
150
|
+
fileMetadata: V.fileMetadata,
|
|
151
|
+
isFileMetadataLoading: V.isFileMetadataLoading,
|
|
152
|
+
onGetInfo: V.onGetInfo,
|
|
153
|
+
clearMetadata: V.clearMetadata,
|
|
154
|
+
isAnyOperationInProgress: K
|
|
147
155
|
};
|
|
148
156
|
};
|
|
149
157
|
//#endregion
|
|
150
|
-
export {
|
|
158
|
+
export { b as useDialFileManager };
|
|
@@ -1,70 +1,76 @@
|
|
|
1
|
-
import { FileManagerNotificationReason as e } from "../dial-file-manager.types.js";
|
|
2
|
-
import { resolveDialFileApiPath as
|
|
3
|
-
import { useCallback as
|
|
4
|
-
import { NotificationVariant as
|
|
1
|
+
import { FileManagerNotificationReason as e, FileOperationKind as t } from "../dial-file-manager.types.js";
|
|
2
|
+
import { resolveDialFileApiPath as n } from "../resolve-dial-file-api-path.js";
|
|
3
|
+
import { useCallback as r, useState as i } from "react";
|
|
4
|
+
import { NotificationVariant as a } from "@epam/ai-dial-ui-kit";
|
|
5
5
|
//#region src/files/useDialFileSharing/useDialFileSharing.ts
|
|
6
|
-
var
|
|
7
|
-
let [
|
|
6
|
+
var o = ({ filesApi: o, bucket: s, rootLabel: c, bumpRetry: l, onNotification: u, onOperationSuccess: d, removeSharedRootItems: f }) => {
|
|
7
|
+
let [p, m] = i(!1), [h, g] = i(!1);
|
|
8
8
|
return {
|
|
9
|
-
isUnsharing:
|
|
10
|
-
isRemovingAccess:
|
|
11
|
-
onUnshareFiles:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
let
|
|
9
|
+
isUnsharing: p,
|
|
10
|
+
isRemovingAccess: h,
|
|
11
|
+
onUnshareFiles: r((r) => {
|
|
12
|
+
r.length !== 0 && (async () => {
|
|
13
|
+
m(!0);
|
|
14
|
+
let i = r.map((e) => {
|
|
15
|
+
let t = e.bucket ?? s;
|
|
16
16
|
return {
|
|
17
|
-
bucket:
|
|
18
|
-
path:
|
|
17
|
+
bucket: t,
|
|
18
|
+
path: n(e, t, c)
|
|
19
19
|
};
|
|
20
20
|
});
|
|
21
21
|
try {
|
|
22
|
-
await
|
|
22
|
+
await o.discardShared(i), f?.(r.map((e) => e.name)), d?.({
|
|
23
|
+
kind: t.FilesUnshared,
|
|
24
|
+
name: r[0].name,
|
|
25
|
+
count: r.length
|
|
26
|
+
}), l();
|
|
23
27
|
} catch {
|
|
24
|
-
|
|
25
|
-
variant:
|
|
28
|
+
u?.({
|
|
29
|
+
variant: a.Error,
|
|
26
30
|
reason: e.UnshareFailed
|
|
27
31
|
});
|
|
28
32
|
} finally {
|
|
29
|
-
|
|
33
|
+
m(!1);
|
|
30
34
|
}
|
|
31
35
|
})();
|
|
32
36
|
}, [
|
|
33
|
-
o,
|
|
34
37
|
s,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
c,
|
|
39
|
+
u,
|
|
40
|
+
d,
|
|
41
|
+
f,
|
|
42
|
+
o,
|
|
43
|
+
l
|
|
38
44
|
]),
|
|
39
|
-
onRemoveFilesAccess:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
let r =
|
|
43
|
-
let
|
|
45
|
+
onRemoveFilesAccess: r((t) => {
|
|
46
|
+
t.length !== 0 && (async () => {
|
|
47
|
+
g(!0);
|
|
48
|
+
let r = t.map((e) => {
|
|
49
|
+
let t = e.bucket ?? s;
|
|
44
50
|
return {
|
|
45
|
-
bucket:
|
|
46
|
-
path:
|
|
51
|
+
bucket: t,
|
|
52
|
+
path: n(e, t, c)
|
|
47
53
|
};
|
|
48
54
|
});
|
|
49
55
|
try {
|
|
50
|
-
await
|
|
56
|
+
await o.revokeAccess(r), l();
|
|
51
57
|
} catch {
|
|
52
|
-
|
|
53
|
-
variant:
|
|
58
|
+
u?.({
|
|
59
|
+
variant: a.Error,
|
|
54
60
|
reason: e.RemoveAccessFailed
|
|
55
61
|
});
|
|
56
62
|
} finally {
|
|
57
|
-
|
|
63
|
+
g(!1);
|
|
58
64
|
}
|
|
59
65
|
})();
|
|
60
66
|
}, [
|
|
61
|
-
o,
|
|
62
67
|
s,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
c,
|
|
69
|
+
u,
|
|
70
|
+
o,
|
|
71
|
+
l
|
|
66
72
|
])
|
|
67
73
|
};
|
|
68
74
|
};
|
|
69
75
|
//#endregion
|
|
70
|
-
export {
|
|
76
|
+
export { o as useDialFileSharing };
|
package/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ import { CatalogItemDetailsFetchResult } from '@epam/ai-dial-catalog';
|
|
|
20
20
|
import { CatalogItemLimits } from '@epam/ai-dial-catalog';
|
|
21
21
|
import { CatalogItemOverview } from '@epam/ai-dial-catalog';
|
|
22
22
|
import { CatalogItemTabData } from '@epam/ai-dial-catalog';
|
|
23
|
+
import { CatalogTabCreateMenu } from '@epam/ai-dial-catalog';
|
|
23
24
|
import { ChangeEvent } from 'react';
|
|
24
25
|
import { Conversation } from '@epam/ai-dial-chat-shared';
|
|
25
26
|
import { ConversationListItemDto } from '@epam/ai-dial-chat-api-client';
|
|
@@ -817,9 +818,11 @@ declare interface CodeCanvasContent {
|
|
|
817
818
|
language?: string;
|
|
818
819
|
}
|
|
819
820
|
|
|
820
|
-
export declare const
|
|
821
|
+
export declare const COLUMNS_MY_FILES: FileManagerColumnKey[];
|
|
821
822
|
|
|
822
|
-
export declare const
|
|
823
|
+
export declare const COLUMNS_ORGANIZATION: FileManagerColumnKey[];
|
|
824
|
+
|
|
825
|
+
export declare const COLUMNS_SHARED: FileManagerColumnKey[];
|
|
823
826
|
|
|
824
827
|
/**
|
|
825
828
|
* Composes the "Add locale" popup's entries into the write-payload shape:
|
|
@@ -1740,7 +1743,9 @@ export declare enum FileOperationKind {
|
|
|
1740
1743
|
FilesMoved = "filesMoved",
|
|
1741
1744
|
/** A copy whose every item landed in its own source folder (Duplicate). */
|
|
1742
1745
|
FileDuplicated = "fileDuplicated",
|
|
1743
|
-
FilesDuplicated = "filesDuplicated"
|
|
1746
|
+
FilesDuplicated = "filesDuplicated",
|
|
1747
|
+
/** One or more shared-with-me items were removed from the Shared tab. */
|
|
1748
|
+
FilesUnshared = "filesUnshared"
|
|
1744
1749
|
}
|
|
1745
1750
|
|
|
1746
1751
|
/**
|
|
@@ -4925,6 +4930,8 @@ export declare interface UseCatalogEditNavigationResult {
|
|
|
4925
4930
|
createOptions: DropdownItem[];
|
|
4926
4931
|
/** The Create menu's search field state, or `undefined` when no runner option is offered. */
|
|
4927
4932
|
createSearch: CatalogCreateSearch | undefined;
|
|
4933
|
+
/** The Create menu narrowed to each entity type; models have no entry since they cannot be created. */
|
|
4934
|
+
createMenuByType: Partial<Record<CatalogEntityType, CatalogTabCreateMenu>>;
|
|
4928
4935
|
}
|
|
4929
4936
|
|
|
4930
4937
|
/**
|
|
@@ -5516,6 +5523,11 @@ export declare interface UseDialFileListingResult {
|
|
|
5516
5523
|
mergeCreatedFolder: (parentApiPath: string, created: CreateFolderResponseDto, inheritedPermissions?: string[]) => void;
|
|
5517
5524
|
/** Forces the listing effect to re-fetch the currently browsed folder. */
|
|
5518
5525
|
bumpRetry: () => void;
|
|
5526
|
+
/**
|
|
5527
|
+
* Drops the named root rows from the Shared tab's cached listing, so an
|
|
5528
|
+
* unshared item disappears at once instead of waiting for the refetch.
|
|
5529
|
+
*/
|
|
5530
|
+
removeSharedRootItems: (names: string[]) => void;
|
|
5519
5531
|
}
|
|
5520
5532
|
|
|
5521
5533
|
/**
|
|
@@ -5837,7 +5849,7 @@ export declare interface UseDialFileMutationsResult {
|
|
|
5837
5849
|
* shared retry counter after each mutation settles rather than holding its
|
|
5838
5850
|
* own cache copy.
|
|
5839
5851
|
*/
|
|
5840
|
-
export declare const useDialFileSharing: ({ filesApi, bucket, rootLabel, bumpRetry, onNotification, }: UseDialFileSharingOptions) => UseDialFileSharingResult;
|
|
5852
|
+
export declare const useDialFileSharing: ({ filesApi, bucket, rootLabel, bumpRetry, onNotification, onOperationSuccess, removeSharedRootItems, }: UseDialFileSharingOptions) => UseDialFileSharingResult;
|
|
5841
5853
|
|
|
5842
5854
|
/** Options accepted by `useDialFileSharing`. */
|
|
5843
5855
|
export declare interface UseDialFileSharingOptions {
|
|
@@ -5851,6 +5863,10 @@ export declare interface UseDialFileSharingOptions {
|
|
|
5851
5863
|
bumpRetry: () => void;
|
|
5852
5864
|
/** Called when a sharing mutation fails and should surface a toast notification. */
|
|
5853
5865
|
onNotification?: (notification: FileManagerNotification) => void;
|
|
5866
|
+
/** Called with a structured event once an unshare succeeds, so the host can show its success toast. */
|
|
5867
|
+
onOperationSuccess?: (event: FileOperationSuccessEvent) => void;
|
|
5868
|
+
/** Removes the unshared root rows from the cached Shared listing ahead of the refetch. */
|
|
5869
|
+
removeSharedRootItems?: (names: string[]) => void;
|
|
5854
5870
|
}
|
|
5855
5871
|
|
|
5856
5872
|
/** Values returned by `useDialFileSharing`. */
|
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 {
|
|
109
|
-
import { buildSharedItemVirtualPath as
|
|
110
|
-
import { resolveDialFileApiPath as
|
|
111
|
-
import { prepareCopyItems as
|
|
112
|
-
import { buildFromCache as
|
|
113
|
-
import { createFilesApiClient as
|
|
114
|
-
import { createUploadFileWithProgress as
|
|
115
|
-
import { openAnnotationAttachment as
|
|
116
|
-
import { annotationToOoxmlCanvasContent as
|
|
117
|
-
import { getUrlFileName as
|
|
118
|
-
import { annotationToDisplayAttachment as
|
|
119
|
-
import { dialFileToAttachment as
|
|
120
|
-
import { DownloadDestinationType as
|
|
121
|
-
import { prepareDownloadDestination as
|
|
122
|
-
import { deriveActionProfile as
|
|
123
|
-
import { useDialFileListing as
|
|
124
|
-
import { useDialFileMetadata as
|
|
125
|
-
import { useDialFileMutations as
|
|
126
|
-
import { useDialFileSharing as
|
|
127
|
-
import { useDialFileUploadBatch as
|
|
128
|
-
import { useDialFileManager as
|
|
129
|
-
import { useDialFileManagerSections as
|
|
130
|
-
import { useDialFileManagerTabConfig as
|
|
131
|
-
import { useFileAttachmentPicker as
|
|
132
|
-
import { getBrowserTimezone as
|
|
133
|
-
import { isValidAbsoluteUrl as
|
|
134
|
-
import { buildExternalServiceScopeId as
|
|
135
|
-
import { useChatSettingsFormConfig as
|
|
136
|
-
import { usePageFileDrag as
|
|
137
|
-
import { useViewportWidth as
|
|
138
|
-
import { usePanelMaxWidth as
|
|
139
|
-
import { useShareLink as
|
|
140
|
-
import { useToolsMenu as
|
|
141
|
-
import { USAGE_DATA_I18N_KEYS as
|
|
142
|
-
import { USAGE_MODEL_LIMITS_I18N_KEYS as
|
|
143
|
-
import { useUsageData as
|
|
144
|
-
import { McpAppResourceFetchError as
|
|
145
|
-
import { useMcpAppTools as
|
|
146
|
-
import { useMcpAppHostContext as
|
|
147
|
-
import { useMcpAppHostAdapter as
|
|
148
|
-
import { useOpenMcpAppCanvas as
|
|
149
|
-
import { useGridEditingScroll as
|
|
150
|
-
export { x as AttachmentValidationErrorReason, 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.
|
|
4
|
+
"version": "1.2.0-rc.2",
|
|
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.
|
|
114
|
+
"@epam/ai-dial-chat-api-client": "1.2.0-rc.2",
|
|
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.
|
|
124
|
-
"@epam/ai-dial-attachment-input": "1.2.0-rc.
|
|
125
|
-
"@epam/ai-dial-catalog": "1.2.0-rc.
|
|
126
|
-
"@epam/ai-dial-chat-overlay": "1.2.0-rc.
|
|
127
|
-
"@epam/ai-dial-chat-shared": "1.2.0-rc.
|
|
128
|
-
"@epam/ai-dial-mcp-apps": "1.2.0-rc.
|
|
129
|
-
"@epam/ai-dial-publish-panel": "1.2.0-rc.
|
|
130
|
-
"@epam/ai-dial-quotations": "1.2.0-rc.
|
|
123
|
+
"@epam/ai-dial-attachment-canvas": "1.2.0-rc.2",
|
|
124
|
+
"@epam/ai-dial-attachment-input": "1.2.0-rc.2",
|
|
125
|
+
"@epam/ai-dial-catalog": "1.2.0-rc.2",
|
|
126
|
+
"@epam/ai-dial-chat-overlay": "1.2.0-rc.2",
|
|
127
|
+
"@epam/ai-dial-chat-shared": "1.2.0-rc.2",
|
|
128
|
+
"@epam/ai-dial-mcp-apps": "1.2.0-rc.2",
|
|
129
|
+
"@epam/ai-dial-publish-panel": "1.2.0-rc.2",
|
|
130
|
+
"@epam/ai-dial-quotations": "1.2.0-rc.2",
|
|
131
131
|
"@epam/ai-dial-react-file-manager": "^0.3.0",
|
|
132
|
-
"@epam/ai-dial-scheduled-tasks": "1.2.0-rc.
|
|
133
|
-
"@epam/ai-dial-share": "1.2.0-rc.
|
|
134
|
-
"@epam/ai-dial-skill-editor": "1.2.0-rc.
|
|
135
|
-
"@epam/ai-dial-source-panel": "1.2.0-rc.
|
|
136
|
-
"@epam/ai-dial-ui-kit": "^0.15.
|
|
137
|
-
"@epam/ai-dial-usage-dashboard": "1.2.0-rc.
|
|
132
|
+
"@epam/ai-dial-scheduled-tasks": "1.2.0-rc.2",
|
|
133
|
+
"@epam/ai-dial-share": "1.2.0-rc.2",
|
|
134
|
+
"@epam/ai-dial-skill-editor": "1.2.0-rc.2",
|
|
135
|
+
"@epam/ai-dial-source-panel": "1.2.0-rc.2",
|
|
136
|
+
"@epam/ai-dial-ui-kit": "^0.15.1",
|
|
137
|
+
"@epam/ai-dial-usage-dashboard": "1.2.0-rc.2",
|
|
138
138
|
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
139
139
|
"@epam/pdf-highlighter-kit": "^0.0.19",
|
|
140
140
|
"@mcp-ui/client": "^7.1.1"
|