@epam/ai-dial-chat-hooks 1.1.0-dev.431 → 1.1.0-dev.433

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.
@@ -4,7 +4,7 @@ import { parseSkillResourceUrl as n } from "../../skill/skill-types.js";
4
4
  import { CatalogEntityType as r } from "@epam/ai-dial-chat-shared";
5
5
  import { useCallback as i, useMemo as a } from "react";
6
6
  //#region src/catalog/useCatalogEditNavigation/useCatalogEditNavigation.ts
7
- var o = ({ deployments: o, isCustomAppsEnabled: s, isSchemaAppsEnabled: c, isHideCustomAppCreationEnabled: l, isToolsetsEnabled: u, isPromptsEnabled: d, quickAppSchemaId: f, urls: p, onNavigate: m, deletePrompt: h, deleteToolset: g, deleteSkill: _, deleteApplication: v, refetchPrompts: y, refetchToolsets: b, refetchSkills: x, refetchDeployments: S, onDeleteSuccess: C, labels: w, onNotify: T, triggerSkillArchivePicker: E }) => ({
7
+ var o = ({ deployments: o, isCustomAppsEnabled: s, isSchemaAppsEnabled: c, isHideCustomAppCreationEnabled: l, isToolsetsEnabled: u, isPromptsEnabled: d, quickAppSchemaId: f, urls: p, onNavigate: m, deletePrompt: h, deleteToolset: g, deleteSkill: _, deleteApplication: v, refetchPrompts: y, refetchToolsets: b, refetchSkills: x, refetchDeployments: S, onDeleteSuccess: C, labels: w, onNotify: T, onSkillUploadClick: E }) => ({
8
8
  handleEdit: i((e) => {
9
9
  if (e.type === r.Prompt) {
10
10
  m(p.buildPromptEditUrl(e.id));
@@ -3,99 +3,58 @@ import { mapDeploymentLimitsDtoToCatalogLimits as t } from "./map-deployment-lim
3
3
  import { mapDeploymentDetailsDtoToEntityDetails as n, mapEntityDetailsToCatalogDetails as r, mapToolsetCredentials as i } from "./map-entity-details-to-catalog.js";
4
4
  import { parsePromptResourceUrl as a } from "../prompt/prompt-resource.js";
5
5
  import { buildPromptOverview as o, isOrganisationPromptItem as s } from "./map-prompt-to-catalog-item.js";
6
- import { SKILL_MANIFEST_FILE as c } from "../skill/skill.js";
7
- import { parseSkillResourceUrl as l } from "../skill/skill-types.js";
8
- import { buildSkillContentTree as u, buildSkillOverview as d, readSkillFileBytes as f, readSkillManifest as p, resolveSkillFileDownloadPath as m, resolveSkillManifestFileId as h } from "./map-skill-to-catalog-item.js";
9
- import { buildConnectApi as g, resolveMcpResourceKind as _ } from "./mcp-endpoint-url.js";
10
- import { parseSkillManifestDocument as v } from "../skill/skill-manifest.js";
11
- import { CatalogEntityType as y } from "@epam/ai-dial-chat-shared";
12
- import { useCallback as b, useRef as x } from "react";
6
+ import { buildConnectApi as c, resolveMcpResourceKind as l } from "./mcp-endpoint-url.js";
7
+ import { useSkillItemDetails as u } from "./useSkillItemDetails.js";
8
+ import { CatalogEntityType as d } from "@epam/ai-dial-chat-shared";
9
+ import { useCallback as f } from "react";
13
10
  //#region src/catalog/useCatalogItemDetails.ts
14
- var S = (e) => (t) => {
11
+ var p = (e) => (t) => {
15
12
  if (!s(t)) return e.getPrompt(t.id);
16
13
  let n = a(t.id);
17
14
  return e.getPublicPrompt(n?.path ?? t.id);
18
- }, C = ({ api: a, skills: s, isAdmin: C, dialCoreExternalUrl: w, skillOverviewLabels: T, promptOverviewLabels: E, deploymentLimitsLabels: D }) => {
19
- let O = x(null);
15
+ }, m = ({ api: a, skills: s, isAdmin: m, dialCoreExternalUrl: h, skillOverviewLabels: g, promptOverviewLabels: _, deploymentLimitsLabels: v }) => {
16
+ let { onFetchSkillDetails: y, onLoadContentFile: b, onLoadSkillDetailsFile: x } = u({
17
+ api: a,
18
+ skills: s,
19
+ skillOverviewLabels: g
20
+ });
20
21
  return {
21
- onFetchDetails: b(async (f) => {
22
- if (f.type === y.Prompt) try {
23
- let e = await S(a)(f);
22
+ onFetchDetails: f(async (s) => {
23
+ if (s.type === d.Prompt) try {
24
+ let e = await p(a)(s);
24
25
  return {
25
26
  promptContent: { content: e.content },
26
- overview: o(e, E)
27
+ overview: o(e, _)
27
28
  };
28
29
  } catch {
29
30
  return;
30
31
  }
31
- if (f.type === y.Skill) {
32
- let e = l(f.id);
33
- if (e == null) return;
34
- let { bucket: t, path: n } = e;
35
- O.current = e;
36
- let [r, i] = await Promise.allSettled([a.downloadSkillFile(t, n, c).then(p), a.listSkillFiles({
37
- bucket: t,
38
- path: n,
39
- filePath: "",
40
- recursive: !0
41
- })]), o = r.status === "fulfilled" && r.value != null ? v(r.value) : void 0, m = s.find((e) => e.url === f.id), g = i.status === "fulfilled" ? d(m, i.value.items, o?.about, T) : void 0, _ = i.status === "fulfilled" ? u(i.value.items, n) : [], y = i.status === "fulfilled" ? h(i.value.items, n) : c;
42
- return o == null && g == null ? void 0 : {
43
- ...o == null ? {} : { promptContent: {
44
- content: o.body,
45
- ...o.description == null ? {} : { description: o.description },
46
- files: _,
47
- selectedFileId: y
48
- } },
49
- ...g == null ? {} : { overview: g }
50
- };
51
- }
32
+ if (s.type === d.Skill) return y(s);
52
33
  try {
53
- let o = f.type === y.Model ? a.getDeploymentLimits(f.id).catch(() => void 0) : Promise.resolve(void 0), [s, c] = await Promise.all([a.getDeploymentDetails(f.id), o]), l = n(s), u = r(l), d = _(f.type, f.supportsMcp), p = l.type === "MODEL" || l.type === "AGENT" ? e(w ?? "", f.id, {
54
- hasChatCompletion: l.data.capabilities?.hasChatCompletion,
55
- hasResponsesApi: l.data.capabilities?.hasResponsesApi
34
+ let o = s.type === d.Model ? a.getDeploymentLimits(s.id).catch(() => void 0) : Promise.resolve(void 0), [u, f] = await Promise.all([a.getDeploymentDetails(s.id), o]), p = n(u), g = r(p), _ = l(s.type, s.supportsMcp), y = p.type === "MODEL" || p.type === "AGENT" ? e(h ?? "", s.id, {
35
+ hasChatCompletion: p.data.capabilities?.hasChatCompletion,
36
+ hasResponsesApi: p.data.capabilities?.hasResponsesApi
56
37
  }) : void 0;
57
38
  return {
58
- ...u,
59
- api: d == null ? p ?? u.api : g(w ?? "", f.id, d),
60
- limits: t(c, D),
61
- credentials: l.type === "TOOLSET" ? i(f.id, l.data, C) : void 0
39
+ ...g,
40
+ api: _ == null ? y ?? g.api : c(h ?? "", s.id, _),
41
+ limits: t(f, v),
42
+ credentials: p.type === "TOOLSET" ? i(s.id, p.data, m) : void 0
62
43
  };
63
44
  } catch {
64
45
  return;
65
46
  }
66
47
  }, [
67
48
  a,
68
- C,
69
- D,
70
- w,
71
- s,
72
- E,
73
- T
49
+ m,
50
+ v,
51
+ h,
52
+ _,
53
+ y
74
54
  ]),
75
- onLoadContentFile: b(async (e) => {
76
- let t = O.current;
77
- if (t == null) return;
78
- let n = m(e, t.path);
79
- if (n == null) return;
80
- let r = await p(await a.downloadSkillFile(t.bucket, t.path, n));
81
- if (r != null) return n === "SKILL.md" ? v(r).body : r;
82
- }, [a]),
83
- onLoadSkillDetailsFile: b(async (e) => {
84
- let t = O.current;
85
- if (t == null) throw Error("No skill details are open");
86
- let n = m(e, t.path);
87
- if (n == null) throw Error("A folder cannot be previewed");
88
- let r = await a.downloadSkillFile(t.bucket, t.path, n);
89
- if (!r.ok) throw Object.assign(/* @__PURE__ */ Error(`File preview failed with status ${r.status}`), { status: r.status });
90
- let i = await f(r);
91
- if (i == null) throw Error("File exceeds the preview size limit");
92
- let o = r.headers.get("content-type")?.split(";")[0].trim() || void 0;
93
- return {
94
- bytes: i,
95
- mimeType: o === "application/octet-stream" ? void 0 : o
96
- };
97
- }, [a])
55
+ onLoadContentFile: b,
56
+ onLoadSkillDetailsFile: x
98
57
  };
99
58
  };
100
59
  //#endregion
101
- export { C as useCatalogItemDetails };
60
+ export { m as useCatalogItemDetails };
@@ -0,0 +1,59 @@
1
+ import { SkillSource as e } from "../../skill/skill-types.js";
2
+ import { mapSkillToCatalogItem as t } from "../map-skill-to-catalog-item.js";
3
+ import { useSkillItemDetails as n } from "../useSkillItemDetails.js";
4
+ import { useEffect as r, useMemo as i, useState as a } from "react";
5
+ //#region src/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.ts
6
+ var o = ({ api: o, skills: s, sharedWithMe: c, publicSkills: l, skillId: u, folderLabels: d, skillOverviewLabels: f, favoriteIds: p }) => {
7
+ let m = i(() => [
8
+ ...s,
9
+ ...c ?? [],
10
+ ...l ?? []
11
+ ], [
12
+ s,
13
+ c,
14
+ l
15
+ ]), { onFetchSkillDetails: h, onLoadSkillDetailsFile: g } = n({
16
+ api: o,
17
+ skills: m,
18
+ skillOverviewLabels: f
19
+ }), _ = i(() => m.find((e) => e.url === u) ?? null, [m, u]), v = i(() => s.some((e) => e.url === u) ? e.Personal : c?.some((e) => e.url === u) ? e.SharedWithMe : e.Public, [
20
+ s,
21
+ c,
22
+ u
23
+ ]), y = i(() => _ == null ? null : t(_, {
24
+ folderLabels: d,
25
+ source: v,
26
+ favoriteIds: p
27
+ }), [
28
+ _,
29
+ v,
30
+ d,
31
+ p
32
+ ]), [b, x] = a(null), [S, C] = a(!1);
33
+ return r(() => {
34
+ if (y == null) return;
35
+ C(!0), x(null);
36
+ let e = !1;
37
+ return h(y).then((t) => {
38
+ e || (x(t ?? null), C(!1));
39
+ }), () => {
40
+ e = !0;
41
+ };
42
+ }, [y?.id]), {
43
+ detailsPanelItem: i(() => {
44
+ if (y == null) return null;
45
+ if (b == null) return y;
46
+ let { credentials: e, ...t } = b;
47
+ return {
48
+ ...y,
49
+ details: t,
50
+ credentials: e ?? y.credentials
51
+ };
52
+ }, [y, b]),
53
+ isDetailsLoading: S,
54
+ isStarred: y != null && p.has(y.id),
55
+ onLoadSkillDetailsFile: g
56
+ };
57
+ };
58
+ //#endregion
59
+ export { o as useSkillDetailsPanelData };
@@ -0,0 +1,72 @@
1
+ import { SKILL_MANIFEST_FILE as e } from "../skill/skill.js";
2
+ import { parseSkillResourceUrl as t } from "../skill/skill-types.js";
3
+ import { buildSkillContentTree as n, buildSkillOverview as r, readSkillFileBytes as i, readSkillManifest as a, resolveSkillFileDownloadPath as o, resolveSkillManifestFileId as s } from "./map-skill-to-catalog-item.js";
4
+ import { parseSkillManifestDocument as c } from "../skill/skill-manifest.js";
5
+ import { useCallback as l, useRef as u } from "react";
6
+ //#region src/catalog/useSkillItemDetails.ts
7
+ var d = async (n, r) => {
8
+ let i = t(r);
9
+ if (i == null) return null;
10
+ try {
11
+ let t = await n.downloadSkillFile(i.bucket, i.path, e);
12
+ if (!t.ok) return null;
13
+ let r = await a(t);
14
+ return r == null ? null : c(r).description ?? null;
15
+ } catch {
16
+ return null;
17
+ }
18
+ }, f = ({ api: d, skills: f, skillOverviewLabels: p }) => {
19
+ let m = u(null);
20
+ return {
21
+ onFetchSkillDetails: l(async (i) => {
22
+ let o = t(i.id);
23
+ if (o == null) return;
24
+ let { bucket: l, path: u } = o;
25
+ m.current = o;
26
+ let [h, g] = await Promise.allSettled([d.downloadSkillFile(l, u, e).then(a), d.listSkillFiles({
27
+ bucket: l,
28
+ path: u,
29
+ filePath: "",
30
+ recursive: !0
31
+ })]), _ = h.status === "fulfilled" && h.value != null ? c(h.value) : void 0, v = f.find((e) => e.url === i.id), y = g.status === "fulfilled" ? r(v, g.value.items, _?.about, p) : void 0, b = g.status === "fulfilled" ? n(g.value.items, u) : [], x = g.status === "fulfilled" ? s(g.value.items, u) : e;
32
+ if (!(_ == null && y == null)) return {
33
+ ..._ == null ? {} : { promptContent: {
34
+ content: _.body,
35
+ ..._.description == null ? {} : { description: _.description },
36
+ files: b,
37
+ selectedFileId: x
38
+ } },
39
+ ...y == null ? {} : { overview: y }
40
+ };
41
+ }, [
42
+ d,
43
+ f,
44
+ p
45
+ ]),
46
+ onLoadContentFile: l(async (e) => {
47
+ let t = m.current;
48
+ if (t == null) return;
49
+ let n = o(e, t.path);
50
+ if (n == null) return;
51
+ let r = await a(await d.downloadSkillFile(t.bucket, t.path, n));
52
+ if (r != null) return n === "SKILL.md" ? c(r).body : r;
53
+ }, [d]),
54
+ onLoadSkillDetailsFile: l(async (e) => {
55
+ let t = m.current;
56
+ if (t == null) throw Error("No skill details are open");
57
+ let n = o(e, t.path);
58
+ if (n == null) throw Error("A folder cannot be previewed");
59
+ let r = await d.downloadSkillFile(t.bucket, t.path, n);
60
+ if (!r.ok) throw Object.assign(/* @__PURE__ */ Error(`File preview failed with status ${r.status}`), { status: r.status });
61
+ let a = await i(r);
62
+ if (a == null) throw Error("File exceeds the preview size limit");
63
+ let s = r.headers.get("content-type")?.split(";")[0].trim() || void 0;
64
+ return {
65
+ bytes: a,
66
+ mimeType: s === "application/octet-stream" ? void 0 : s
67
+ };
68
+ }, [d])
69
+ };
70
+ };
71
+ //#endregion
72
+ export { d as fetchSkillDescription, f as useSkillItemDetails };
package/catalog.d.ts CHANGED
@@ -139,7 +139,7 @@ export declare const buildSkillOverview: (skill: SkillMetadataItemDto | undefine
139
139
  export declare const buildToolsetMcpUrl: (baseUrl: string, id: string) => string;
140
140
 
141
141
  /** Injected API port for catalog item detail fetching. Mirrors exact server-api wrapper signatures. */
142
- export declare interface CatalogDetailsApi {
142
+ export declare interface CatalogDetailsApi extends SkillDetailsApi {
143
143
  /** Fetches deployment-level details for a model, agent, toolset, or application. */
144
144
  getDeploymentDetails(deploymentId: string): Promise<DeploymentDetailsDto>;
145
145
  /** Fetches rate-limit data for a deployment. */
@@ -148,17 +148,6 @@ export declare interface CatalogDetailsApi {
148
148
  getPrompt(id: string): Promise<PromptResponseDto>;
149
149
  /** Fetches a public (organisation) prompt by its bucket-relative path. */
150
150
  getPublicPrompt(path: string): Promise<PromptResponseDto>;
151
- /** Downloads a raw skill file, returning the raw fetch `Response`. */
152
- downloadSkillFile(bucket: string, path: string, filePath: string, signal?: AbortSignal): Promise<Response>;
153
- /** Lists files inside a skill package. */
154
- listSkillFiles(params: {
155
- bucket: string;
156
- filePath: string;
157
- path?: string;
158
- token?: string;
159
- limit?: number;
160
- recursive?: boolean;
161
- }, signal?: AbortSignal): Promise<SkillFileListResponseDto>;
162
151
  }
163
152
 
164
153
  /** Localized copy `useCatalogEditNavigation` needs for the Create menu and delete errors. */
@@ -349,6 +338,15 @@ export declare interface FavoritesPayload {
349
338
  skills: string[];
350
339
  }
351
340
 
341
+ /**
342
+ * Fetches a skill's manifest description for its listing tooltip. Returns
343
+ * `null` when the skill id is unparseable, the manifest is unreadable, or the
344
+ * request fails — callers treat all three as "no description", silently.
345
+ * Dropped once DIAL Core's skill listing carries `description` (planned
346
+ * upstream change), which also removes the per-skill download it performs.
347
+ */
348
+ export declare const fetchSkillDescription: (api: Pick<SkillDetailsApi, "downloadSkillFile">, skillId: string) => Promise<string | null>;
349
+
352
350
  /**
353
351
  * Filters catalog items to those whose type is in `visibleTypes`.
354
352
  * Call only when selector mode is active; otherwise pass through the original array.
@@ -736,6 +734,21 @@ declare interface SkillAboutDetails {
736
734
  skillPrompt?: string;
737
735
  }
738
736
 
737
+ /** Injected API port for skill detail fetching. Mirrors exact server-api wrapper signatures. */
738
+ export declare interface SkillDetailsApi {
739
+ /** Downloads a raw skill file, returning the raw fetch `Response`. */
740
+ downloadSkillFile(bucket: string, path: string, filePath: string, signal?: AbortSignal): Promise<Response>;
741
+ /** Lists files inside a skill package. */
742
+ listSkillFiles(params: {
743
+ bucket: string;
744
+ filePath: string;
745
+ path?: string;
746
+ token?: string;
747
+ limit?: number;
748
+ recursive?: boolean;
749
+ }, signal?: AbortSignal): Promise<SkillFileListResponseDto>;
750
+ }
751
+
739
752
  /** A skill's parsed manifest details. */
740
753
  export declare interface SkillEntityDetails {
741
754
  about?: SkillAboutDetails;
@@ -882,7 +895,7 @@ export declare const toPublishRuleDto: (rule: PublicationRule) => PublishRuleDto
882
895
  * item through the endpoint its type owns and refetching/notifying on
883
896
  * completion, and building the Create dropdown's options.
884
897
  */
885
- export declare const useCatalogEditNavigation: ({ deployments, isCustomAppsEnabled, isSchemaAppsEnabled, isHideCustomAppCreationEnabled, isToolsetsEnabled, isPromptsEnabled, quickAppSchemaId, urls, onNavigate, deletePrompt, deleteToolset, deleteSkill, deleteApplication, refetchPrompts, refetchToolsets, refetchSkills, refetchDeployments, onDeleteSuccess, labels, onNotify, triggerSkillArchivePicker, }: UseCatalogEditNavigationParams) => UseCatalogEditNavigationResult;
898
+ export declare const useCatalogEditNavigation: ({ deployments, isCustomAppsEnabled, isSchemaAppsEnabled, isHideCustomAppCreationEnabled, isToolsetsEnabled, isPromptsEnabled, quickAppSchemaId, urls, onNavigate, deletePrompt, deleteToolset, deleteSkill, deleteApplication, refetchPrompts, refetchToolsets, refetchSkills, refetchDeployments, onDeleteSuccess, labels, onNotify, onSkillUploadClick, }: UseCatalogEditNavigationParams) => UseCatalogEditNavigationResult;
886
899
 
887
900
  /** Parameters accepted by {@link useCatalogEditNavigation}. */
888
901
  export declare interface UseCatalogEditNavigationParams {
@@ -916,8 +929,8 @@ export declare interface UseCatalogEditNavigationParams {
916
929
  labels: CatalogEditNavigationLabels;
917
930
  /** Called to surface a host notification when a delete fails. */
918
931
  onNotify: (notification: CatalogEditNavigationNotification) => void;
919
- /** Opens the file picker used to upload a skill archive from the Create menu. */
920
- triggerSkillArchivePicker: () => void;
932
+ /** Called when the Create menu's Skill Upload option is picked. */
933
+ onSkillUploadClick: () => void;
921
934
  }
922
935
 
923
936
  /** Return value of {@link useCatalogEditNavigation}. */
@@ -1111,6 +1124,56 @@ export declare interface UsePublishFoldersResult {
1111
1124
  hasPublishWriteAccess: (folderPath: string[]) => boolean;
1112
1125
  }
1113
1126
 
1127
+ /**
1128
+ * Headless data pipeline behind a skill details side panel: resolves the
1129
+ * selected skill from the listings, maps it to a catalog item with its
1130
+ * ownership flags and folder prefix, fetches its details with cancellation,
1131
+ * and merges the fetch result into the item.
1132
+ */
1133
+ export declare const useSkillDetailsPanelData: ({ api, skills, sharedWithMe, publicSkills, skillId, folderLabels, skillOverviewLabels, favoriteIds, }: UseSkillDetailsPanelDataOptions) => UseSkillDetailsPanelDataResult;
1134
+
1135
+ /** Options accepted by `useSkillDetailsPanelData`. */
1136
+ export declare interface UseSkillDetailsPanelDataOptions {
1137
+ /** Configured API adapter used for all network calls. */
1138
+ api: SkillDetailsApi;
1139
+ /** The user's own skills. */
1140
+ skills: SkillMetadataItemDto[];
1141
+ /** Skills shared with the user. */
1142
+ sharedWithMe?: SkillMetadataItemDto[];
1143
+ /** Public skills. */
1144
+ publicSkills?: SkillMetadataItemDto[];
1145
+ /**
1146
+ * Resource URL (`skills/{bucket}/{path}`) of the skill whose details are
1147
+ * shown; `null` when the panel is closed, which resolves no item.
1148
+ */
1149
+ skillId: string | null;
1150
+ /** Personal/Shared/Public folder labels for the mapped item's folder path. */
1151
+ folderLabels: DeploymentFolderLabels;
1152
+ /** Labels for the skill overview section headers. */
1153
+ skillOverviewLabels: SkillOverviewLabels;
1154
+ /** Favorited resource ids, keyed by skill resource URL. */
1155
+ favoriteIds: ReadonlySet<string>;
1156
+ }
1157
+
1158
+ /** Returned by `useSkillDetailsPanelData`. */
1159
+ export declare interface UseSkillDetailsPanelDataResult {
1160
+ /**
1161
+ * The selected skill as a catalog item with its fetched details merged in;
1162
+ * `null` while no skill is selected or the skill is not in the listings.
1163
+ */
1164
+ detailsPanelItem: CatalogItem | null;
1165
+ /** Whether the details fetch for the current item is in flight. */
1166
+ isDetailsLoading: boolean;
1167
+ /** Whether the resolved skill is currently favorited. */
1168
+ isStarred: boolean;
1169
+ /**
1170
+ * Downloads and returns preview bytes for a file inside the open skill's
1171
+ * package. Throws on HTTP errors, unparseable ids, and size-limit
1172
+ * violations.
1173
+ */
1174
+ onLoadSkillDetailsFile(fileId: string): Promise<SkillFileContent>;
1175
+ }
1176
+
1114
1177
  /**
1115
1178
  * Headless hook that manages the skill-file preview loading lifecycle.
1116
1179
  * Starts a new load on mount and whenever `fileId` changes; classifies errors
@@ -1143,4 +1206,45 @@ export declare interface UseSkillFilePreviewResult {
1143
1206
  error: SkillPreviewErrorKind | null;
1144
1207
  }
1145
1208
 
1209
+ /**
1210
+ * Headless hook that encapsulates skill detail fetching: manifest download and
1211
+ * parse, package file listing, overview construction, and in-package file
1212
+ * loads. `useCatalogItemDetails` delegates its skill branch here; hosts that
1213
+ * only surface skill details consume this hook directly, without the
1214
+ * deployment and prompt ports the full catalog pipeline requires.
1215
+ */
1216
+ export declare const useSkillItemDetails: ({ api, skills, skillOverviewLabels, }: UseSkillItemDetailsOptions) => UseSkillItemDetailsResult;
1217
+
1218
+ /** Options accepted by `useSkillItemDetails`. */
1219
+ export declare interface UseSkillItemDetailsOptions {
1220
+ /** Configured API adapter used for all network calls. */
1221
+ api: SkillDetailsApi;
1222
+ /**
1223
+ * Combined array of all skills visible to this user
1224
+ * (personal + shared + public) for overview metadata lookup.
1225
+ */
1226
+ skills: SkillMetadataItemDto[];
1227
+ /** Labels for skill overview section headers. */
1228
+ skillOverviewLabels: SkillOverviewLabels;
1229
+ }
1230
+
1231
+ /** Returned callbacks from `useSkillItemDetails`. All callbacks are stable for stable inputs. */
1232
+ export declare interface UseSkillItemDetailsResult {
1233
+ /**
1234
+ * Fetches full detail data for a skill catalog item.
1235
+ * Returns `undefined` on failure (error handled by caller).
1236
+ */
1237
+ onFetchSkillDetails(item: CatalogItem): Promise<CatalogItemDetailsFetchResult | undefined>;
1238
+ /**
1239
+ * Loads the text content of a file inside the currently open skill's package.
1240
+ * Returns `undefined` when the file cannot be read or is a directory.
1241
+ */
1242
+ onLoadContentFile(fileId: string): Promise<string | undefined>;
1243
+ /**
1244
+ * Downloads and returns preview bytes for a file inside the currently open skill's package.
1245
+ * Throws on HTTP errors, unparseable ids, and size-limit violations.
1246
+ */
1247
+ onLoadSkillDetailsFile(fileId: string): Promise<SkillFileContent>;
1248
+ }
1249
+
1146
1250
  export { }
package/catalog.js CHANGED
@@ -14,9 +14,11 @@ import { getPublicCatalogEntityFolderPath as R, isPublicCatalogEntityId as z, ma
14
14
  import { deriveAvailableTabIds as U, deriveFavoriteItems as W, filterCatalogItemsBySelector as G, filterHiddenOwnedItems as K, reconcileFilterTopics as q } from "./catalog/catalog-derivations.js";
15
15
  import { CatalogPrimaryActionType as J, resolveCatalogPrimaryAction as Y } from "./catalog/catalog-primary-action.js";
16
16
  import { useCatalogEditNavigation as X } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
17
- import { useCatalogItemDetails as Z } from "./catalog/useCatalogItemDetails.js";
18
- import { useCatalogToolsetCredentials as Q } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
19
- import { FavoriteEntityType as $, useFavoriteEntitiesState as ee } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
20
- import { usePublishFolders as te } from "./catalog/usePublishFolders/usePublishFolders.js";
21
- import { SkillPreviewErrorKind as ne, useSkillFilePreview as re } from "./skill/useSkillFilePreview.js";
22
- export { s as AuthenticationType, J as CatalogPrimaryActionType, $ as FavoriteEntityType, N as McpResourceKind, b as PUBLIC_SKILL_BUCKET, x as SKILL_LISTING_MAX_PAGES, S as SKILL_LISTING_PAGE_SIZE, C as SKILL_MANIFEST_MAX_BYTES, ne as SkillPreviewErrorKind, w as SkillSource, P as buildApplicationMcpUrl, n as buildChatCompletionsUrl, F as buildConnectApi, r as buildDeploymentConnectApi, _ as buildPromptOverview, i as buildResponsesUrl, E as buildSkillContentTree, D as buildSkillOverview, I as buildToolsetMcpUrl, e as createPublishApiClient, U as deriveAvailableTabIds, W as deriveFavoriteItems, a as encodeDeploymentId, G as filterCatalogItemsBySelector, K as filterHiddenOwnedItems, o as findDeploymentByIdOrReference, R as getPublicCatalogEntityFolderPath, v as isOrganisationPromptItem, z as isPublicCatalogEntityId, u as mapDeploymentDetailsDtoToEntityDetails, c as mapDeploymentLimitsDtoToCatalogLimits, l as mapDeploymentLimitsToInput, p as mapDeploymentToCatalogItem, m as mapDeploymentToolsetCredentials, d as mapEntityDetailsToCatalogDetails, y as mapPromptToCatalogItem, B as mapPublishConversationResultDto, V as mapPublishHistoryEntryDto, O as mapSkillToCatalogItem, f as mapToolsetCredentials, h as mapToolsetToCatalogItem, T as parseSkillResourceUrl, k as readSkillFileBytes, A as readSkillManifest, q as reconcileFilterTopics, Y as resolveCatalogPrimaryAction, g as resolveDeploymentFolder, L as resolveMcpResourceKind, j as resolveSkillFileDownloadPath, M as resolveSkillManifestFileId, H as toPublishEntityType, t as toPublishRuleDto, X as useCatalogEditNavigation, Z as useCatalogItemDetails, Q as useCatalogToolsetCredentials, ee as useFavoriteEntitiesState, te as usePublishFolders, re as useSkillFilePreview };
17
+ import { fetchSkillDescription as Z, useSkillItemDetails as Q } from "./catalog/useSkillItemDetails.js";
18
+ import { useCatalogItemDetails as $ } from "./catalog/useCatalogItemDetails.js";
19
+ import { useCatalogToolsetCredentials as ee } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
20
+ import { useSkillDetailsPanelData as te } from "./catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js";
21
+ import { FavoriteEntityType as ne, useFavoriteEntitiesState as re } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
22
+ import { usePublishFolders as ie } from "./catalog/usePublishFolders/usePublishFolders.js";
23
+ import { SkillPreviewErrorKind as ae, useSkillFilePreview as oe } from "./skill/useSkillFilePreview.js";
24
+ export { s as AuthenticationType, J as CatalogPrimaryActionType, ne as FavoriteEntityType, N as McpResourceKind, b as PUBLIC_SKILL_BUCKET, x as SKILL_LISTING_MAX_PAGES, S as SKILL_LISTING_PAGE_SIZE, C as SKILL_MANIFEST_MAX_BYTES, ae as SkillPreviewErrorKind, w as SkillSource, P as buildApplicationMcpUrl, n as buildChatCompletionsUrl, F as buildConnectApi, r as buildDeploymentConnectApi, _ as buildPromptOverview, i as buildResponsesUrl, E as buildSkillContentTree, D as buildSkillOverview, I as buildToolsetMcpUrl, e as createPublishApiClient, U as deriveAvailableTabIds, W as deriveFavoriteItems, a as encodeDeploymentId, Z as fetchSkillDescription, G as filterCatalogItemsBySelector, K as filterHiddenOwnedItems, o as findDeploymentByIdOrReference, R as getPublicCatalogEntityFolderPath, v as isOrganisationPromptItem, z as isPublicCatalogEntityId, u as mapDeploymentDetailsDtoToEntityDetails, c as mapDeploymentLimitsDtoToCatalogLimits, l as mapDeploymentLimitsToInput, p as mapDeploymentToCatalogItem, m as mapDeploymentToolsetCredentials, d as mapEntityDetailsToCatalogDetails, y as mapPromptToCatalogItem, B as mapPublishConversationResultDto, V as mapPublishHistoryEntryDto, O as mapSkillToCatalogItem, f as mapToolsetCredentials, h as mapToolsetToCatalogItem, T as parseSkillResourceUrl, k as readSkillFileBytes, A as readSkillManifest, q as reconcileFilterTopics, Y as resolveCatalogPrimaryAction, g as resolveDeploymentFolder, L as resolveMcpResourceKind, j as resolveSkillFileDownloadPath, M as resolveSkillManifestFileId, H as toPublishEntityType, t as toPublishRuleDto, X as useCatalogEditNavigation, $ as useCatalogItemDetails, ee as useCatalogToolsetCredentials, re as useFavoriteEntitiesState, ie as usePublishFolders, te as useSkillDetailsPanelData, oe as useSkillFilePreview, Q as useSkillItemDetails };
package/index.d.ts CHANGED
@@ -511,7 +511,7 @@ kind: McpDeploymentKind,
511
511
  ) => Promise<CallToolResult>;
512
512
 
513
513
  /** Injected API port for catalog item detail fetching. Mirrors exact server-api wrapper signatures. */
514
- export declare interface CatalogDetailsApi {
514
+ export declare interface CatalogDetailsApi extends SkillDetailsApi {
515
515
  /** Fetches deployment-level details for a model, agent, toolset, or application. */
516
516
  getDeploymentDetails(deploymentId: string): Promise<DeploymentDetailsDto>;
517
517
  /** Fetches rate-limit data for a deployment. */
@@ -520,17 +520,6 @@ export declare interface CatalogDetailsApi {
520
520
  getPrompt(id: string): Promise<PromptResponseDto>;
521
521
  /** Fetches a public (organisation) prompt by its bucket-relative path. */
522
522
  getPublicPrompt(path: string): Promise<PromptResponseDto>;
523
- /** Downloads a raw skill file, returning the raw fetch `Response`. */
524
- downloadSkillFile(bucket: string, path: string, filePath: string, signal?: AbortSignal): Promise<Response>;
525
- /** Lists files inside a skill package. */
526
- listSkillFiles(params: {
527
- bucket: string;
528
- filePath: string;
529
- path?: string;
530
- token?: string;
531
- limit?: number;
532
- recursive?: boolean;
533
- }, signal?: AbortSignal): Promise<SkillFileListResponseDto>;
534
523
  }
535
524
 
536
525
  /** Localized copy `useCatalogEditNavigation` needs for the Create menu and delete errors. */
@@ -1355,6 +1344,15 @@ toolsetId: string,
1355
1344
  resourceUri: string,
1356
1345
  ) => Promise<string>;
1357
1346
 
1347
+ /**
1348
+ * Fetches a skill's manifest description for its listing tooltip. Returns
1349
+ * `null` when the skill id is unparseable, the manifest is unreadable, or the
1350
+ * request fails — callers treat all three as "no description", silently.
1351
+ * Dropped once DIAL Core's skill listing carries `description` (planned
1352
+ * upstream change), which also removes the per-skill download it performs.
1353
+ */
1354
+ export declare const fetchSkillDescription: (api: Pick<SkillDetailsApi, "downloadSkillFile">, skillId: string) => Promise<string | null>;
1355
+
1358
1356
  /**
1359
1357
  * Structured toast event emitted by file-manager hooks. `reason` carries a
1360
1358
  * library-owned identifier the host translates; `message` is an optional
@@ -2982,6 +2980,21 @@ export declare interface SkillAboutDetails {
2982
2980
  skillPrompt?: string;
2983
2981
  }
2984
2982
 
2983
+ /** Injected API port for skill detail fetching. Mirrors exact server-api wrapper signatures. */
2984
+ export declare interface SkillDetailsApi {
2985
+ /** Downloads a raw skill file, returning the raw fetch `Response`. */
2986
+ downloadSkillFile(bucket: string, path: string, filePath: string, signal?: AbortSignal): Promise<Response>;
2987
+ /** Lists files inside a skill package. */
2988
+ listSkillFiles(params: {
2989
+ bucket: string;
2990
+ filePath: string;
2991
+ path?: string;
2992
+ token?: string;
2993
+ limit?: number;
2994
+ recursive?: boolean;
2995
+ }, signal?: AbortSignal): Promise<SkillFileListResponseDto>;
2996
+ }
2997
+
2985
2998
  /** Already-configured DIAL Core download operations `useSkillEditorLoad` needs. */
2986
2999
  export declare interface SkillEditorLoadClient {
2987
3000
  /** Downloads the whole-skill ZIP archive. */
@@ -3743,7 +3756,7 @@ export declare interface UseAttachmentValidationResult {
3743
3756
  * item through the endpoint its type owns and refetching/notifying on
3744
3757
  * completion, and building the Create dropdown's options.
3745
3758
  */
3746
- export declare const useCatalogEditNavigation: ({ deployments, isCustomAppsEnabled, isSchemaAppsEnabled, isHideCustomAppCreationEnabled, isToolsetsEnabled, isPromptsEnabled, quickAppSchemaId, urls, onNavigate, deletePrompt, deleteToolset, deleteSkill, deleteApplication, refetchPrompts, refetchToolsets, refetchSkills, refetchDeployments, onDeleteSuccess, labels, onNotify, triggerSkillArchivePicker, }: UseCatalogEditNavigationParams) => UseCatalogEditNavigationResult;
3759
+ export declare const useCatalogEditNavigation: ({ deployments, isCustomAppsEnabled, isSchemaAppsEnabled, isHideCustomAppCreationEnabled, isToolsetsEnabled, isPromptsEnabled, quickAppSchemaId, urls, onNavigate, deletePrompt, deleteToolset, deleteSkill, deleteApplication, refetchPrompts, refetchToolsets, refetchSkills, refetchDeployments, onDeleteSuccess, labels, onNotify, onSkillUploadClick, }: UseCatalogEditNavigationParams) => UseCatalogEditNavigationResult;
3747
3760
 
3748
3761
  /** Parameters accepted by {@link useCatalogEditNavigation}. */
3749
3762
  export declare interface UseCatalogEditNavigationParams {
@@ -3777,8 +3790,8 @@ export declare interface UseCatalogEditNavigationParams {
3777
3790
  labels: CatalogEditNavigationLabels;
3778
3791
  /** Called to surface a host notification when a delete fails. */
3779
3792
  onNotify: (notification: CatalogEditNavigationNotification) => void;
3780
- /** Opens the file picker used to upload a skill archive from the Create menu. */
3781
- triggerSkillArchivePicker: () => void;
3793
+ /** Called when the Create menu's Skill Upload option is picked. */
3794
+ onSkillUploadClick: () => void;
3782
3795
  }
3783
3796
 
3784
3797
  /** Return value of {@link useCatalogEditNavigation}. */
@@ -5039,6 +5052,56 @@ export declare interface UseShareRecipientsCountResult {
5039
5052
  invalidateRecipientsCount: (itemId: string) => void;
5040
5053
  }
5041
5054
 
5055
+ /**
5056
+ * Headless data pipeline behind a skill details side panel: resolves the
5057
+ * selected skill from the listings, maps it to a catalog item with its
5058
+ * ownership flags and folder prefix, fetches its details with cancellation,
5059
+ * and merges the fetch result into the item.
5060
+ */
5061
+ export declare const useSkillDetailsPanelData: ({ api, skills, sharedWithMe, publicSkills, skillId, folderLabels, skillOverviewLabels, favoriteIds, }: UseSkillDetailsPanelDataOptions) => UseSkillDetailsPanelDataResult;
5062
+
5063
+ /** Options accepted by `useSkillDetailsPanelData`. */
5064
+ export declare interface UseSkillDetailsPanelDataOptions {
5065
+ /** Configured API adapter used for all network calls. */
5066
+ api: SkillDetailsApi;
5067
+ /** The user's own skills. */
5068
+ skills: SkillMetadataItemDto[];
5069
+ /** Skills shared with the user. */
5070
+ sharedWithMe?: SkillMetadataItemDto[];
5071
+ /** Public skills. */
5072
+ publicSkills?: SkillMetadataItemDto[];
5073
+ /**
5074
+ * Resource URL (`skills/{bucket}/{path}`) of the skill whose details are
5075
+ * shown; `null` when the panel is closed, which resolves no item.
5076
+ */
5077
+ skillId: string | null;
5078
+ /** Personal/Shared/Public folder labels for the mapped item's folder path. */
5079
+ folderLabels: DeploymentFolderLabels;
5080
+ /** Labels for the skill overview section headers. */
5081
+ skillOverviewLabels: SkillOverviewLabels;
5082
+ /** Favorited resource ids, keyed by skill resource URL. */
5083
+ favoriteIds: ReadonlySet<string>;
5084
+ }
5085
+
5086
+ /** Returned by `useSkillDetailsPanelData`. */
5087
+ export declare interface UseSkillDetailsPanelDataResult {
5088
+ /**
5089
+ * The selected skill as a catalog item with its fetched details merged in;
5090
+ * `null` while no skill is selected or the skill is not in the listings.
5091
+ */
5092
+ detailsPanelItem: CatalogItem | null;
5093
+ /** Whether the details fetch for the current item is in flight. */
5094
+ isDetailsLoading: boolean;
5095
+ /** Whether the resolved skill is currently favorited. */
5096
+ isStarred: boolean;
5097
+ /**
5098
+ * Downloads and returns preview bytes for a file inside the open skill's
5099
+ * package. Throws on HTTP errors, unparseable ids, and size-limit
5100
+ * violations.
5101
+ */
5102
+ onLoadSkillDetailsFile(fileId: string): Promise<SkillFileContent>;
5103
+ }
5104
+
5042
5105
  /**
5043
5106
  * Owns the edit-mode skill download/unpack/parse flow: the in-memory
5044
5107
  * supporting-file map, the loaded manifest values and frontmatter, the
@@ -5214,6 +5277,47 @@ export declare interface UseSkillFilePreviewResult {
5214
5277
  error: SkillPreviewErrorKind | null;
5215
5278
  }
5216
5279
 
5280
+ /**
5281
+ * Headless hook that encapsulates skill detail fetching: manifest download and
5282
+ * parse, package file listing, overview construction, and in-package file
5283
+ * loads. `useCatalogItemDetails` delegates its skill branch here; hosts that
5284
+ * only surface skill details consume this hook directly, without the
5285
+ * deployment and prompt ports the full catalog pipeline requires.
5286
+ */
5287
+ export declare const useSkillItemDetails: ({ api, skills, skillOverviewLabels, }: UseSkillItemDetailsOptions) => UseSkillItemDetailsResult;
5288
+
5289
+ /** Options accepted by `useSkillItemDetails`. */
5290
+ export declare interface UseSkillItemDetailsOptions {
5291
+ /** Configured API adapter used for all network calls. */
5292
+ api: SkillDetailsApi;
5293
+ /**
5294
+ * Combined array of all skills visible to this user
5295
+ * (personal + shared + public) for overview metadata lookup.
5296
+ */
5297
+ skills: SkillMetadataItemDto[];
5298
+ /** Labels for skill overview section headers. */
5299
+ skillOverviewLabels: SkillOverviewLabels;
5300
+ }
5301
+
5302
+ /** Returned callbacks from `useSkillItemDetails`. All callbacks are stable for stable inputs. */
5303
+ export declare interface UseSkillItemDetailsResult {
5304
+ /**
5305
+ * Fetches full detail data for a skill catalog item.
5306
+ * Returns `undefined` on failure (error handled by caller).
5307
+ */
5308
+ onFetchSkillDetails(item: CatalogItem): Promise<CatalogItemDetailsFetchResult | undefined>;
5309
+ /**
5310
+ * Loads the text content of a file inside the currently open skill's package.
5311
+ * Returns `undefined` when the file cannot be read or is a directory.
5312
+ */
5313
+ onLoadContentFile(fileId: string): Promise<string | undefined>;
5314
+ /**
5315
+ * Downloads and returns preview bytes for a file inside the currently open skill's package.
5316
+ * Throws on HTTP errors, unparseable ids, and size-limit violations.
5317
+ */
5318
+ onLoadSkillDetailsFile(fileId: string): Promise<SkillFileContent>;
5319
+ }
5320
+
5217
5321
  /**
5218
5322
  * Fetches all skill namespaces with a gated single request: clears state
5219
5323
  * immediately when `enabled` is false, defers the fetch until `ready` is true,
package/index.js CHANGED
@@ -32,103 +32,105 @@ import { deriveAvailableTabIds as Ke, deriveFavoriteItems as qe, filterCatalogIt
32
32
  import { CatalogPrimaryActionType as Ze, resolveCatalogPrimaryAction as Qe } from "./catalog/catalog-primary-action.js";
33
33
  import { useCatalogEditNavigation as $e } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
34
34
  import { parseSkillManifestDocument as et } from "./skill/skill-manifest.js";
35
- import { useCatalogItemDetails as tt } from "./catalog/useCatalogItemDetails.js";
36
- import { OAuthResourceKind as nt, TOOLSET_REDIRECT_STATE_KEY as rt, ToolsetAuthStatus as it, ToolsetAuthTypes as at, ToolsetCredentialsLevel as ot, ToolsetOAuthCallbackQuery as st, ToolsetOAuthChannelControlType as ct, ToolsetOAuthFailureReason as lt, ToolsetOAuthInitiationResultType as ut, ToolsetOAuthResultType as dt, WithLogin as ft } from "./oauth/types.js";
37
- import { emitToolsetLoginSuccess as pt, subscribeToolsetLoginSuccess as mt } from "./shared/toolset-login-events.js";
38
- import { getToolsetOAuthChannelName as ht, waitForToolsetOAuthResult as gt } from "./oauth/handshake.js";
39
- import { buildToolsetAuthorizeUrl as _t, getToolsetRedirectUri as vt } from "./oauth/authorize-url.js";
40
- import { initiateOAuthLogin as yt, navigateToolsetOAuthPopup as bt, openToolsetOAuthPopup as xt } from "./oauth/popup.js";
41
- import { ToolsetLoginOutcomeType as St, useToolsetLogin as Ct } from "./oauth/useToolsetLogin/useToolsetLogin.js";
42
- import { useCatalogToolsetCredentials as wt } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
43
- import { FavoriteEntityType as Tt, useFavoriteEntitiesState as Et } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
44
- import { usePublishFolders as Dt } from "./catalog/usePublishFolders/usePublishFolders.js";
45
- import { buildAnnouncementSignature as Ot, hasAnnouncementContent as kt, hasStructuredAnnouncement as At, sanitizeAnnouncementHtml as jt, sanitizeAnnouncementMessageHtml as Mt } from "./conversation/announcement-message.js";
46
- import { createChatStreamApi as Nt } from "./conversation/create-chat-stream-api.js";
47
- import { shouldWatchForDisplayNameUpdate as Pt } from "./conversation/display-name-watch.js";
48
- import { formatAppVersion as Ft, sanitizeFooterHtml as It } from "./conversation/footer-message.js";
49
- import { getModelIdFromConversationId as Lt } from "./conversation/get-model-id-from-conversation-id.js";
50
- import { getTimeOfDayGreeting as Rt } from "./conversation/greeting.js";
51
- import { createDeploymentChangedMessage as zt } from "./conversation/message-factory.js";
52
- import { getLastDeploymentId as Bt, getLastUserMessageToolConfiguration as Vt, isMessageStreaming as Ht, messageHasStages as Ut, normalizeResponseFormat as Wt } from "./conversation/message-utils.js";
53
- import { toOverlayMessages as Gt } from "./conversation/overlay-messages.js";
54
- import { getQuickAppConversationStarters as Kt } from "./conversation/quick-app-conversation-starters.js";
55
- import { getStarterPopulateText as qt, getStartersFromSchema as Jt } from "./conversation/starter-option.js";
56
- import { useOAuthCallbackCompletion as Yt } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
57
- import { buildPromptExportEnvelope as Xt, buildPromptExportFileName as Zt, serializePromptExport as Qt } from "./prompt/export-prompt.js";
58
- import { PROMPT_CONTENT_MAX_LENGTH as $t, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as en, PROMPT_DESCRIPTION_MAX_LENGTH as tn, PROMPT_NAME_MAX_LENGTH as nn, PromptFieldError as rn, buildPromptPath as an, getRemainingCharacters as on, validatePromptContent as sn, validatePromptDescription as cn, validatePromptName as ln } from "./prompt/prompt.js";
59
- import { usePromptsState as un } from "./prompt/usePromptsState/usePromptsState.js";
60
- import { UnsupportedTriggerReason as dn } from "./scheduled-task/scheduled-task-mapping.js";
61
- import { apSchedulerDayToJsDay as fn, jsDayToApSchedulerDay as pn } from "./shared/cron-weekday.js";
62
- import { mapFormValuesToCreateBody as mn, mapFormValuesToUpdateBody as hn, mapScheduledTaskDtoToFormValues as gn } from "./scheduled-task/scheduled-task-trigger.js";
63
- import { validateSkillFileBatch as _n } from "./skill/skill-file-batch-validation.js";
64
- import { skillFileToAttachment as vn } from "./skill/skill-file-preview.js";
65
- import { SkillEditorLoadState as yn, useSkillEditorLoad as bn } from "./skill/useSkillEditorLoad.js";
66
- import { useSkillEditorSubmit as xn } from "./skill/useSkillEditorSubmit.js";
67
- import { useSkillFileActions as Sn } from "./skill/useSkillFileActions.js";
68
- import { SkillPreviewErrorKind as Cn, useSkillFilePreview as wn } from "./skill/useSkillFilePreview.js";
69
- import { useSkillsState as Tn } from "./skill/useSkillsState/useSkillsState.js";
70
- import { RecipientsCountStatus as En, useShareRecipientsCount as Dn } from "./useShareRecipientsCount/useShareRecipientsCount.js";
71
- import { deriveConversationRowActionState as On } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
72
- import { useActiveConversationSync as kn } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
73
- import { useAsyncConfirmDialog as An } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
74
- import { useConversationLookupMaps as jn } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
75
- import { getConversationSource as Mn, useConversationPanelItems as Nn } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
76
- import { useImportFilePicker as Pn } from "./conversation/useImportFilePicker/useImportFilePicker.js";
77
- import { useAttachmentUpload as Fn } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
78
- import { AudioTranscriptionError as In, AudioTranscriptionErrorReason as Ln } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
79
- import { useTranscribeAudio as Rn } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
80
- import { DEFAULT_MAX_ARCHIVE_BYTES as zn, useConversationExport as Bn } from "./conversation/useConversationExport/useConversationExport.js";
81
- import { attachmentToDto as Vn, attachmentsToDtos as Hn } from "./conversation/useConversationHandlers/attachment-to-dto.js";
82
- import { createMessagePair as Un } from "./conversation/useConversationHandlers/message-factory.js";
83
- import { hasActiveToolConfig as Wn, isMessageChanged as Gn } from "./conversation/useConversationHandlers/message-utils.js";
84
- import { getStarterConversationText as Kn, getStarterSubmitText as qn } from "./conversation/useConversationHandlers/starter-option.js";
85
- import { getConversationPath as Jn } from "./conversation/useConversationStream/conversation-path.js";
86
- import { useConversationHandlers as Yn } from "./conversation/useConversationHandlers/useConversationHandlers.js";
87
- import { useConversationImport as Xn } from "./conversation/useConversationImport/useConversationImport.js";
88
- import { useConversationScroll as Zn } from "./conversation/useConversationScroll/useConversationScroll.js";
89
- import { isAwaitingGenerationResume as Qn } from "./conversation/useConversationStream/generation-resume.js";
90
- import { useConversationStream as $n } from "./conversation/useConversationStream/useConversationStream.js";
91
- import { useConversationSources as er } from "./conversation-sources/useConversationSources/useConversationSources.js";
92
- import { DialFilesApiUploadMode as tr } from "./files/dial-files-api.js";
93
- import { FileManagerNotificationReason as nr, FileNameValidationErrorReason as rr, FileOperationKind as ir } from "./files/dial-file-manager.types.js";
94
- import { COLUMNS_WITHOUT_AUTHOR as ar, COLUMNS_WITH_AUTHOR as or, CORE_PERMISSION_MAP as sr, DATE_OPTIONS as cr, PATH_SEPARATOR_REGEXP as lr, RESERVED_MARKER_NAME as ur, UPLOAD_CONCURRENCY as dr } from "./files/dial-file-manager.model.js";
95
- import { DialFileManagerActionProfile as fr, DialFileManagerVariant as pr, deriveActionProfile as mr } from "./files/file-manager-variant.js";
96
- import { buildSharedItemVirtualPath as hr, dialCorePathToRelative as gr, findDialFileByPath as _r, findFolderByVirtualPath as vr, formatOperationFolderName as yr, getVirtualPathName as br, hasDialFileWritePermission as xr, hasForbiddenNameSymbols as Sr, isCopyMoveDuplicateAllowed as Cr, isShareActionsAllowed as wr, normalizeVirtualPath as Tr, parseNewFolderVirtualPath as Er, resolveOwnerCoords as Dr } from "./files/dial-file-manager-path.util.js";
97
- import { getParentFolderPath as Or, resolveDialFileApiPath as kr, virtualPathToApiPath as Ar } from "./files/resolve-dial-file-api-path.js";
98
- import { prepareCopyItems as jr, prepareMoveRenameItems as Mr } from "./files/dial-file-manager-copy-move.util.js";
99
- import { buildFromCache as Nr, fetchByTab as Pr, fetchForSearch as Fr, findFirstSuccessfulCopyMoveItem as Ir, mapCorePermissions as Lr, mapFileMetadataToDialFile as Rr, mapSearchItem as zr, mergeCreatedFolderIntoCache as Br, updateEntry as Vr } from "./files/dial-file-manager-mapping.util.js";
100
- import { createFilesApiClient as Hr } from "./files/create-files-api.js";
101
- import { createUploadFileWithProgress as Ur } from "./files/create-upload-file-with-progress.js";
102
- import { openAnnotationAttachment as Wr } from "./files/annotation.js";
103
- import { annotationToPdfCanvasContent as Gr, clearAttachmentCache as Kr, hasAttachmentTextSource as qr, referenceAttachmentToPdfCanvasContent as Jr, resolveCodeCanvasContent as Yr, resolveHtmlCanvasContent as Xr, resolveImageCanvasContent as Zr, resolveJsonCanvasContent as Qr, resolveMarkdownCanvasContent as $r, resolveOoxmlCanvasContent as ei, resolvePdfCanvasContent as ti, resolveTextCanvasContent as ni, resolveVisualizerCanvasContent as ri } from "./files/attachment-canvas.js";
104
- import { getUrlFileName as ii, isExternalSourcePreviewable as ai, resolveExternalSourceContentType as oi } from "./files/source-content.js";
105
- import { annotationToDisplayAttachment as si, attachmentDtoToDisplayAttachment as ci, attachmentDtosToDisplayAttachments as li } from "./files/attachment-dto-to-display.js";
106
- import { dialFileToAttachment as ui, dialFilesToAttachments as di, dialFolderPathToAttachment as fi } from "./files/dial-file-to-attachment.js";
107
- import { DownloadDestinationType as pi } from "./files/download-destination.js";
108
- import { prepareDownloadDestination as mi } from "./files/prepare-download-destination.js";
109
- import { sanitizeFileName as hi, splitFileNameExtension as gi, trimFileNameToByteLimit as _i } from "./files/file-name.js";
110
- import { useDialFileListing as vi } from "./files/useDialFileListing/useDialFileListing.js";
111
- import { useDialFileMetadata as yi } from "./files/useDialFileMetadata/useDialFileMetadata.js";
112
- import { useDialFileMutations as bi } from "./files/useDialFileMutations/useDialFileMutations.js";
113
- import { useDialFileSharing as xi } from "./files/useDialFileSharing/useDialFileSharing.js";
114
- import { useDialFileUploadBatch as Si } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
115
- import { useDialFileManager as Ci } from "./files/useDialFileManager/useDialFileManager.js";
116
- import { useDialFileManagerTabConfig as wi } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
117
- import { isCustomAppSchema as Ti, isQuickAppSchema as Ei } from "./shared/application-schema.js";
118
- import { getBrowserTimezone as Di } from "./shared/browser-timezone.js";
119
- import { isValidAbsoluteUrl as Oi, isValidFeaturesData as ki, parseFeaturesData as Ai } from "./shared/custom-apps.js";
120
- import { buildExternalServiceScopeId as ji, getExternalServiceFallbackName as Mi, parseExternalServiceUrl as Ni } from "./shared/external-services.js";
121
- import { useChatSettingsFormConfig as Pi } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
122
- import { usePageFileDrag as Fi } from "./usePageFileDrag/usePageFileDrag.js";
123
- import { useViewportWidth as Ii } from "./useViewportWidth/useViewportWidth.js";
124
- import { usePanelMaxWidth as Li } from "./usePanelMaxWidth/usePanelMaxWidth.js";
125
- import { useShareLink as Ri } from "./useShareLink/useShareLink.js";
126
- import { useToolsMenu as zi } from "./useToolsMenu/useToolsMenu.js";
127
- import { useUsageData as Bi } from "./usage/useUsageData/useUsageData.js";
128
- import { McpAppResourceFetchError as Vi, createMcpAppsApiClient as Hi } from "./mcp-apps/mcp-apps-api-client.js";
129
- import { useMcpAppTools as Ui } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
130
- import { useMcpAppHostContext as Wi } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
131
- import { useMcpAppHostAdapter as Gi } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
132
- import { useOpenMcpAppCanvas as Ki } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
133
- import { useGridEditingScroll as qi } from "@epam/ai-dial-chat-shared";
134
- export { b as AttachmentValidationErrorReason, In as AudioTranscriptionError, Ln as AudioTranscriptionErrorReason, L as AuthenticationType, ar as COLUMNS_WITHOUT_AUTHOR, or as COLUMNS_WITH_AUTHOR, sr as CORE_PERMISSION_MAP, Ze as CatalogPrimaryActionType, w as ConversationExportMode, T as ConversationTransferErrorCode, E as ConversationTransferWarningCode, cr as DATE_OPTIONS, zn as DEFAULT_MAX_ARCHIVE_BYTES, fr as DialFileManagerActionProfile, pr as DialFileManagerVariant, tr as DialFilesApiUploadMode, pi as DownloadDestinationType, O as EXPORT_APP_NAME, D as ExportFileNameKind, Tt as FavoriteEntityType, nr as FileManagerNotificationReason, rr as FileNameValidationErrorReason, ir as FileOperationKind, Vi as McpAppResourceFetchError, Ie as McpResourceKind, nt as OAuthResourceKind, lr as PATH_SEPARATOR_REGEXP, $t as PROMPT_CONTENT_MAX_LENGTH, en as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, tn as PROMPT_DESCRIPTION_MAX_LENGTH, nn as PROMPT_NAME_MAX_LENGTH, Ce as PUBLIC_SKILL_BUCKET, rn as PromptFieldError, ie as PromptSource, ur as RESERVED_MARKER_NAME, En as RecipientsCountStatus, le as SKILL_FILE_UPLOAD_MAX_BYTES, we as SKILL_LISTING_MAX_PAGES, Te as SKILL_LISTING_PAGE_SIZE, ue as SKILL_MANIFEST_FILE, Ee as SKILL_MANIFEST_MAX_BYTES, de as SKILL_UPLOAD_MAX_FILES, fe as SKILL_UPLOAD_MAX_TOTAL_BYTES, yn as SkillEditorLoadState, Cn as SkillPreviewErrorKind, De as SkillSource, rt as TOOLSET_REDIRECT_STATE_KEY, it as ToolsetAuthStatus, at as ToolsetAuthTypes, ot as ToolsetCredentialsLevel, St as ToolsetLoginOutcomeType, st as ToolsetOAuthCallbackQuery, ct as ToolsetOAuthChannelControlType, lt as ToolsetOAuthFailureReason, ut as ToolsetOAuthInitiationResultType, dt as ToolsetOAuthResultType, dr as UPLOAD_CONCURRENCY, dn as UnsupportedTriggerReason, ft as WithLogin, si as annotationToDisplayAttachment, Gr as annotationToPdfCanvasContent, fn as apSchedulerDayToJsDay, U as appendLocaleCode, ci as attachmentDtoToDisplayAttachment, li as attachmentDtosToDisplayAttachments, Vn as attachmentToDto, Hn as attachmentsToDtos, W as buildAdditionalLocaleOptions, Ot as buildAnnouncementSignature, Le as buildApplicationMcpUrl, M as buildChatCompletionsUrl, Re as buildConnectApi, N as buildDeploymentConnectApi, ji as buildExternalServiceScopeId, Nr as buildFromCache, Xt as buildPromptExportEnvelope, Zt as buildPromptExportFileName, oe as buildPromptOverview, an as buildPromptPath, P as buildResponsesUrl, hr as buildSharedItemVirtualPath, ke as buildSkillContentTree, pe as buildSkillFilesPayload, me as buildSkillManifest, he as buildSkillManifestForSubmit, ge as buildSkillManifestFromFrontmatter, Ae as buildSkillOverview, _t as buildToolsetAuthorizeUrl, ze as buildToolsetMcpUrl, Kr as clearAttachmentCache, G as composeLocalePayload, Nt as createChatStreamApi, i as createCsrfMiddleware, zt as createDeploymentChangedMessage, Hr as createFilesApiClient, Hi as createMcpAppsApiClient, Un as createMessagePair, A as createPublishApiClient, a as createUnauthorizedMiddleware, Ur as createUploadFileWithProgress, B as decodeToolsetId, K as decomposeLocalizedFields, mr as deriveActionProfile, Ke as deriveAvailableTabIds, On as deriveConversationRowActionState, qe as deriveFavoriteItems, gr as dialCorePathToRelative, ui as dialFileToAttachment, di as dialFilesToAttachments, fi as dialFolderPathToAttachment, p as downloadAttachment, pt as emitToolsetLoginSuccess, F as encodeDeploymentId, V as encodeToolsetId, Pr as fetchByTab, Fr as fetchForSearch, Je as filterCatalogItemsBySelector, Ye as filterHiddenOwnedItems, I as findDeploymentByIdOrReference, _r as findDialFileByPath, Ir as findFirstSuccessfulCopyMoveItem, vr as findFolderByVirtualPath, Ft as formatAppVersion, Y as formatCalendarDate, S as formatDateYM, C as formatDateYMD, yr as formatOperationFolderName, k as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Di as getBrowserTimezone, Jn as getConversationPath, Mn as getConversationSource, Mi as getExternalServiceFallbackName, Bt as getLastDeploymentId, Vt as getLastUserMessageToolConfiguration, Lt as getModelIdFromConversationId, Or as getParentFolderPath, Ve as getPublicCatalogEntityFolderPath, Kt as getQuickAppConversationStarters, on as getRemainingCharacters, Kn as getStarterConversationText, qt as getStarterPopulateText, qn as getStarterSubmitText, Jt as getStartersFromSchema, Rt as getTimeOfDayGreeting, ht as getToolsetOAuthChannelName, vt as getToolsetRedirectUri, ii as getUrlFileName, br as getVirtualPathName, Wn as hasActiveToolConfig, kt as hasAnnouncementContent, qr as hasAttachmentTextSource, xr as hasDialFileWritePermission, Sr as hasForbiddenNameSymbols, At as hasStructuredAnnouncement, o as includesIgnoreCase, yt as initiateOAuthLogin, Qn as isAwaitingGenerationResume, r as isConversationNotFoundError, Cr as isCopyMoveDuplicateAllowed, Ti as isCustomAppSchema, g as isDialFileAcceptType, u as isDialFileId, m as isDownloadableAttachment, ai as isExternalSourcePreviewable, Gn as isMessageChanged, Ht as isMessageStreaming, se as isOrganisationPromptItem, He as isPublicCatalogEntityId, H as isPublicToolsetId, Ei as isQuickAppSchema, wr as isShareActionsAllowed, Oi as isValidAbsoluteUrl, ki as isValidFeaturesData, _e as isValidSkillRelativePath, pn as jsDayToApSchedulerDay, Lr as mapCorePermissions, Z as mapDeploymentDetailsDtoToEntityDetails, R as mapDeploymentLimitsDtoToCatalogLimits, z as mapDeploymentLimitsToInput, ee as mapDeploymentToCatalogItem, te as mapDeploymentToolsetCredentials, Q as mapEntityDetailsToCatalogDetails, Rr as mapFileMetadataToDialFile, mn as mapFormValuesToCreateBody, hn as mapFormValuesToUpdateBody, ce as mapPromptToCatalogItem, Ue as mapPublishConversationResultDto, We as mapPublishHistoryEntryDto, gn as mapScheduledTaskDtoToFormValues, zr as mapSearchItem, je as mapSkillToCatalogItem, $ as mapToolsetCredentials, ne as mapToolsetToCatalogItem, Br as mergeCreatedFolderIntoCache, Ut as messageHasStages, _ as mimeTypesToAttachmentExtensionLabels, v as mimeTypesToDialFileAcceptTypes, y as mimeTypesToFileAccept, ve as nameFromPath, bt as navigateToolsetOAuthPopup, Wt as normalizeResponseFormat, ye as normalizeSkillName, Tr as normalizeVirtualPath, Wr as openAnnotationAttachment, xt as openToolsetOAuthPopup, X as padTwoDigits, Ni as parseExternalServiceUrl, Ai as parseFeaturesData, Er as parseNewFolderVirtualPath, ae as parsePromptResourceUrl, be as parseSkillManifest, et as parseSkillManifestDocument, Oe as parseSkillResourceUrl, jr as prepareCopyItems, mi as prepareDownloadDestination, Mr as prepareMoveRenameItems, Me as readSkillFileBytes, Ne as readSkillManifest, Xe as reconcileFilterTopics, Jr as referenceAttachmentToPdfCanvasContent, Qe as resolveCatalogPrimaryAction, Yr as resolveCodeCanvasContent, re as resolveDeploymentFolder, kr as resolveDialFileApiPath, d as resolveDialFileBucketAndPath, oi as resolveExternalSourceContentType, Xr as resolveHtmlCanvasContent, Zr as resolveImageCanvasContent, Qr as resolveJsonCanvasContent, q as resolveLocalizedText, $r as resolveMarkdownCanvasContent, Be as resolveMcpResourceKind, ei as resolveOoxmlCanvasContent, Dr as resolveOwnerCoords, ti as resolvePdfCanvasContent, f as resolveRelativeDialFilePath, Pe as resolveSkillFileDownloadPath, Fe as resolveSkillManifestFileId, ni as resolveTextCanvasContent, ri as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, jt as sanitizeAnnouncementHtml, Mt as sanitizeAnnouncementMessageHtml, hi as sanitizeFileName, It as sanitizeFooterHtml, Qt as serializePromptExport, Pt as shouldWatchForDisplayNameUpdate, xe as skillFileBytesToBlob, vn as skillFileToAttachment, gi as splitFileNameExtension, l as stripSurroundingSlashes, mt as subscribeToolsetLoginSuccess, J as toBaseLocale, Gt as toOverlayMessages, Ge as toPublishEntityType, j as toPublishRuleDto, _i as trimFileNameToByteLimit, Se as unpackSkillArchive, Vr as updateEntry, kn as useActiveConversationSync, An as useAsyncConfirmDialog, h as useAttachmentAction, Fn as useAttachmentUpload, x as useAttachmentValidation, $e as useCatalogEditNavigation, tt as useCatalogItemDetails, wt as useCatalogToolsetCredentials, Pi as useChatSettingsFormConfig, Bn as useConversationExport, Yn as useConversationHandlers, Xn as useConversationImport, jn as useConversationLookupMaps, Nn as useConversationPanelItems, Zn as useConversationScroll, er as useConversationSources, $n as useConversationStream, vi as useDialFileListing, Ci as useDialFileManager, wi as useDialFileManagerTabConfig, yi as useDialFileMetadata, bi as useDialFileMutations, xi as useDialFileSharing, Si as useDialFileUploadBatch, Et as useFavoriteEntitiesState, qi as useGridEditingScroll, Pn as useImportFilePicker, Gi as useMcpAppHostAdapter, Wi as useMcpAppHostContext, Ui as useMcpAppTools, Yt as useOAuthCallbackCompletion, Ki as useOpenMcpAppCanvas, Fi as usePageFileDrag, Li as usePanelMaxWidth, un as usePromptsState, Dt as usePublishFolders, Ri as useShareLink, Dn as useShareRecipientsCount, bn as useSkillEditorLoad, xn as useSkillEditorSubmit, Sn as useSkillFileActions, wn as useSkillFilePreview, Tn as useSkillsState, zi as useToolsMenu, Ct as useToolsetLogin, Rn as useTranscribeAudio, Bi as useUsageData, Ii as useViewportWidth, sn as validatePromptContent, cn as validatePromptDescription, ln as validatePromptName, _n as validateSkillFileBatch, Ar as virtualPathToApiPath, gt as waitForToolsetOAuthResult };
35
+ import { fetchSkillDescription as tt, useSkillItemDetails as nt } from "./catalog/useSkillItemDetails.js";
36
+ import { useCatalogItemDetails as rt } from "./catalog/useCatalogItemDetails.js";
37
+ import { OAuthResourceKind as it, TOOLSET_REDIRECT_STATE_KEY as at, ToolsetAuthStatus as ot, ToolsetAuthTypes as st, ToolsetCredentialsLevel as ct, ToolsetOAuthCallbackQuery as lt, ToolsetOAuthChannelControlType as ut, ToolsetOAuthFailureReason as dt, ToolsetOAuthInitiationResultType as ft, ToolsetOAuthResultType as pt, WithLogin as mt } from "./oauth/types.js";
38
+ import { emitToolsetLoginSuccess as ht, subscribeToolsetLoginSuccess as gt } from "./shared/toolset-login-events.js";
39
+ import { getToolsetOAuthChannelName as _t, waitForToolsetOAuthResult as vt } from "./oauth/handshake.js";
40
+ import { buildToolsetAuthorizeUrl as yt, getToolsetRedirectUri as bt } from "./oauth/authorize-url.js";
41
+ import { initiateOAuthLogin as xt, navigateToolsetOAuthPopup as St, openToolsetOAuthPopup as Ct } from "./oauth/popup.js";
42
+ import { ToolsetLoginOutcomeType as wt, useToolsetLogin as Tt } from "./oauth/useToolsetLogin/useToolsetLogin.js";
43
+ import { useCatalogToolsetCredentials as Et } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
44
+ import { useSkillDetailsPanelData as Dt } from "./catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js";
45
+ import { FavoriteEntityType as Ot, useFavoriteEntitiesState as kt } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
46
+ import { usePublishFolders as At } from "./catalog/usePublishFolders/usePublishFolders.js";
47
+ import { buildAnnouncementSignature as jt, hasAnnouncementContent as Mt, hasStructuredAnnouncement as Nt, sanitizeAnnouncementHtml as Pt, sanitizeAnnouncementMessageHtml as Ft } from "./conversation/announcement-message.js";
48
+ import { createChatStreamApi as It } from "./conversation/create-chat-stream-api.js";
49
+ import { shouldWatchForDisplayNameUpdate as Lt } from "./conversation/display-name-watch.js";
50
+ import { formatAppVersion as Rt, sanitizeFooterHtml as zt } from "./conversation/footer-message.js";
51
+ import { getModelIdFromConversationId as Bt } from "./conversation/get-model-id-from-conversation-id.js";
52
+ import { getTimeOfDayGreeting as Vt } from "./conversation/greeting.js";
53
+ import { createDeploymentChangedMessage as Ht } from "./conversation/message-factory.js";
54
+ import { getLastDeploymentId as Ut, getLastUserMessageToolConfiguration as Wt, isMessageStreaming as Gt, messageHasStages as Kt, normalizeResponseFormat as qt } from "./conversation/message-utils.js";
55
+ import { toOverlayMessages as Jt } from "./conversation/overlay-messages.js";
56
+ import { getQuickAppConversationStarters as Yt } from "./conversation/quick-app-conversation-starters.js";
57
+ import { getStarterPopulateText as Xt, getStartersFromSchema as Zt } from "./conversation/starter-option.js";
58
+ import { useOAuthCallbackCompletion as Qt } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
59
+ import { buildPromptExportEnvelope as $t, buildPromptExportFileName as en, serializePromptExport as tn } from "./prompt/export-prompt.js";
60
+ import { PROMPT_CONTENT_MAX_LENGTH as nn, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as rn, PROMPT_DESCRIPTION_MAX_LENGTH as an, PROMPT_NAME_MAX_LENGTH as on, PromptFieldError as sn, buildPromptPath as cn, getRemainingCharacters as ln, validatePromptContent as un, validatePromptDescription as dn, validatePromptName as fn } from "./prompt/prompt.js";
61
+ import { usePromptsState as pn } from "./prompt/usePromptsState/usePromptsState.js";
62
+ import { UnsupportedTriggerReason as mn } from "./scheduled-task/scheduled-task-mapping.js";
63
+ import { apSchedulerDayToJsDay as hn, jsDayToApSchedulerDay as gn } from "./shared/cron-weekday.js";
64
+ import { mapFormValuesToCreateBody as _n, mapFormValuesToUpdateBody as vn, mapScheduledTaskDtoToFormValues as yn } from "./scheduled-task/scheduled-task-trigger.js";
65
+ import { validateSkillFileBatch as bn } from "./skill/skill-file-batch-validation.js";
66
+ import { skillFileToAttachment as xn } from "./skill/skill-file-preview.js";
67
+ import { SkillEditorLoadState as Sn, useSkillEditorLoad as Cn } from "./skill/useSkillEditorLoad.js";
68
+ import { useSkillEditorSubmit as wn } from "./skill/useSkillEditorSubmit.js";
69
+ import { useSkillFileActions as Tn } from "./skill/useSkillFileActions.js";
70
+ import { SkillPreviewErrorKind as En, useSkillFilePreview as Dn } from "./skill/useSkillFilePreview.js";
71
+ import { useSkillsState as On } from "./skill/useSkillsState/useSkillsState.js";
72
+ import { RecipientsCountStatus as kn, useShareRecipientsCount as An } from "./useShareRecipientsCount/useShareRecipientsCount.js";
73
+ import { deriveConversationRowActionState as jn } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
74
+ import { useActiveConversationSync as Mn } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
75
+ import { useAsyncConfirmDialog as Nn } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
76
+ import { useConversationLookupMaps as Pn } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
77
+ import { getConversationSource as Fn, useConversationPanelItems as In } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
78
+ import { useImportFilePicker as Ln } from "./conversation/useImportFilePicker/useImportFilePicker.js";
79
+ import { useAttachmentUpload as Rn } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
80
+ import { AudioTranscriptionError as zn, AudioTranscriptionErrorReason as Bn } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
81
+ import { useTranscribeAudio as Vn } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
82
+ import { DEFAULT_MAX_ARCHIVE_BYTES as Hn, useConversationExport as Un } from "./conversation/useConversationExport/useConversationExport.js";
83
+ import { attachmentToDto as Wn, attachmentsToDtos as Gn } from "./conversation/useConversationHandlers/attachment-to-dto.js";
84
+ import { createMessagePair as Kn } from "./conversation/useConversationHandlers/message-factory.js";
85
+ import { hasActiveToolConfig as qn, isMessageChanged as Jn } from "./conversation/useConversationHandlers/message-utils.js";
86
+ import { getStarterConversationText as Yn, getStarterSubmitText as Xn } from "./conversation/useConversationHandlers/starter-option.js";
87
+ import { getConversationPath as Zn } from "./conversation/useConversationStream/conversation-path.js";
88
+ import { useConversationHandlers as Qn } from "./conversation/useConversationHandlers/useConversationHandlers.js";
89
+ import { useConversationImport as $n } from "./conversation/useConversationImport/useConversationImport.js";
90
+ import { useConversationScroll as er } from "./conversation/useConversationScroll/useConversationScroll.js";
91
+ import { isAwaitingGenerationResume as tr } from "./conversation/useConversationStream/generation-resume.js";
92
+ import { useConversationStream as nr } from "./conversation/useConversationStream/useConversationStream.js";
93
+ import { useConversationSources as rr } from "./conversation-sources/useConversationSources/useConversationSources.js";
94
+ import { DialFilesApiUploadMode as ir } from "./files/dial-files-api.js";
95
+ import { FileManagerNotificationReason as ar, FileNameValidationErrorReason as or, FileOperationKind as sr } from "./files/dial-file-manager.types.js";
96
+ import { COLUMNS_WITHOUT_AUTHOR as cr, COLUMNS_WITH_AUTHOR as lr, CORE_PERMISSION_MAP as ur, DATE_OPTIONS as dr, PATH_SEPARATOR_REGEXP as fr, RESERVED_MARKER_NAME as pr, UPLOAD_CONCURRENCY as mr } from "./files/dial-file-manager.model.js";
97
+ import { DialFileManagerActionProfile as hr, DialFileManagerVariant as gr, deriveActionProfile as _r } from "./files/file-manager-variant.js";
98
+ import { buildSharedItemVirtualPath as vr, dialCorePathToRelative as yr, findDialFileByPath as br, findFolderByVirtualPath as xr, formatOperationFolderName as Sr, getVirtualPathName as Cr, hasDialFileWritePermission as wr, hasForbiddenNameSymbols as Tr, isCopyMoveDuplicateAllowed as Er, isShareActionsAllowed as Dr, normalizeVirtualPath as Or, parseNewFolderVirtualPath as kr, resolveOwnerCoords as Ar } from "./files/dial-file-manager-path.util.js";
99
+ import { getParentFolderPath as jr, resolveDialFileApiPath as Mr, virtualPathToApiPath as Nr } from "./files/resolve-dial-file-api-path.js";
100
+ import { prepareCopyItems as Pr, prepareMoveRenameItems as Fr } from "./files/dial-file-manager-copy-move.util.js";
101
+ import { buildFromCache as Ir, fetchByTab as Lr, fetchForSearch as Rr, findFirstSuccessfulCopyMoveItem as zr, mapCorePermissions as Br, mapFileMetadataToDialFile as Vr, mapSearchItem as Hr, mergeCreatedFolderIntoCache as Ur, updateEntry as Wr } from "./files/dial-file-manager-mapping.util.js";
102
+ import { createFilesApiClient as Gr } from "./files/create-files-api.js";
103
+ import { createUploadFileWithProgress as Kr } from "./files/create-upload-file-with-progress.js";
104
+ import { openAnnotationAttachment as qr } from "./files/annotation.js";
105
+ import { annotationToPdfCanvasContent as Jr, clearAttachmentCache as Yr, hasAttachmentTextSource as Xr, referenceAttachmentToPdfCanvasContent as Zr, resolveCodeCanvasContent as Qr, resolveHtmlCanvasContent as $r, resolveImageCanvasContent as ei, resolveJsonCanvasContent as ti, resolveMarkdownCanvasContent as ni, resolveOoxmlCanvasContent as ri, resolvePdfCanvasContent as ii, resolveTextCanvasContent as ai, resolveVisualizerCanvasContent as oi } from "./files/attachment-canvas.js";
106
+ import { getUrlFileName as si, isExternalSourcePreviewable as ci, resolveExternalSourceContentType as li } from "./files/source-content.js";
107
+ import { annotationToDisplayAttachment as ui, attachmentDtoToDisplayAttachment as di, attachmentDtosToDisplayAttachments as fi } from "./files/attachment-dto-to-display.js";
108
+ import { dialFileToAttachment as pi, dialFilesToAttachments as mi, dialFolderPathToAttachment as hi } from "./files/dial-file-to-attachment.js";
109
+ import { DownloadDestinationType as gi } from "./files/download-destination.js";
110
+ import { prepareDownloadDestination as _i } from "./files/prepare-download-destination.js";
111
+ import { sanitizeFileName as vi, splitFileNameExtension as yi, trimFileNameToByteLimit as bi } from "./files/file-name.js";
112
+ import { useDialFileListing as xi } from "./files/useDialFileListing/useDialFileListing.js";
113
+ import { useDialFileMetadata as Si } from "./files/useDialFileMetadata/useDialFileMetadata.js";
114
+ import { useDialFileMutations as Ci } from "./files/useDialFileMutations/useDialFileMutations.js";
115
+ import { useDialFileSharing as wi } from "./files/useDialFileSharing/useDialFileSharing.js";
116
+ import { useDialFileUploadBatch as Ti } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
117
+ import { useDialFileManager as Ei } from "./files/useDialFileManager/useDialFileManager.js";
118
+ import { useDialFileManagerTabConfig as Di } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
119
+ import { isCustomAppSchema as Oi, isQuickAppSchema as ki } from "./shared/application-schema.js";
120
+ import { getBrowserTimezone as Ai } from "./shared/browser-timezone.js";
121
+ import { isValidAbsoluteUrl as ji, isValidFeaturesData as Mi, parseFeaturesData as Ni } from "./shared/custom-apps.js";
122
+ import { buildExternalServiceScopeId as Pi, getExternalServiceFallbackName as Fi, parseExternalServiceUrl as Ii } from "./shared/external-services.js";
123
+ import { useChatSettingsFormConfig as Li } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
124
+ import { usePageFileDrag as Ri } from "./usePageFileDrag/usePageFileDrag.js";
125
+ import { useViewportWidth as zi } from "./useViewportWidth/useViewportWidth.js";
126
+ import { usePanelMaxWidth as Bi } from "./usePanelMaxWidth/usePanelMaxWidth.js";
127
+ import { useShareLink as Vi } from "./useShareLink/useShareLink.js";
128
+ import { useToolsMenu as Hi } from "./useToolsMenu/useToolsMenu.js";
129
+ import { useUsageData as Ui } from "./usage/useUsageData/useUsageData.js";
130
+ import { McpAppResourceFetchError as Wi, createMcpAppsApiClient as Gi } from "./mcp-apps/mcp-apps-api-client.js";
131
+ import { useMcpAppTools as Ki } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
132
+ import { useMcpAppHostContext as qi } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
133
+ import { useMcpAppHostAdapter as Ji } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
134
+ import { useOpenMcpAppCanvas as Yi } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
135
+ import { useGridEditingScroll as Xi } from "@epam/ai-dial-chat-shared";
136
+ export { b as AttachmentValidationErrorReason, zn as AudioTranscriptionError, Bn as AudioTranscriptionErrorReason, L as AuthenticationType, cr as COLUMNS_WITHOUT_AUTHOR, lr as COLUMNS_WITH_AUTHOR, ur as CORE_PERMISSION_MAP, Ze as CatalogPrimaryActionType, w as ConversationExportMode, T as ConversationTransferErrorCode, E as ConversationTransferWarningCode, dr as DATE_OPTIONS, Hn as DEFAULT_MAX_ARCHIVE_BYTES, hr as DialFileManagerActionProfile, gr as DialFileManagerVariant, ir as DialFilesApiUploadMode, gi as DownloadDestinationType, O as EXPORT_APP_NAME, D as ExportFileNameKind, Ot as FavoriteEntityType, ar as FileManagerNotificationReason, or as FileNameValidationErrorReason, sr as FileOperationKind, Wi as McpAppResourceFetchError, Ie as McpResourceKind, it as OAuthResourceKind, fr as PATH_SEPARATOR_REGEXP, nn as PROMPT_CONTENT_MAX_LENGTH, rn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, an as PROMPT_DESCRIPTION_MAX_LENGTH, on as PROMPT_NAME_MAX_LENGTH, Ce as PUBLIC_SKILL_BUCKET, sn as PromptFieldError, ie as PromptSource, pr as RESERVED_MARKER_NAME, kn as RecipientsCountStatus, le as SKILL_FILE_UPLOAD_MAX_BYTES, we as SKILL_LISTING_MAX_PAGES, Te as SKILL_LISTING_PAGE_SIZE, ue as SKILL_MANIFEST_FILE, Ee as SKILL_MANIFEST_MAX_BYTES, de as SKILL_UPLOAD_MAX_FILES, fe as SKILL_UPLOAD_MAX_TOTAL_BYTES, Sn as SkillEditorLoadState, En as SkillPreviewErrorKind, De as SkillSource, at as TOOLSET_REDIRECT_STATE_KEY, ot as ToolsetAuthStatus, st as ToolsetAuthTypes, ct as ToolsetCredentialsLevel, wt as ToolsetLoginOutcomeType, lt as ToolsetOAuthCallbackQuery, ut as ToolsetOAuthChannelControlType, dt as ToolsetOAuthFailureReason, ft as ToolsetOAuthInitiationResultType, pt as ToolsetOAuthResultType, mr as UPLOAD_CONCURRENCY, mn as UnsupportedTriggerReason, mt as WithLogin, ui as annotationToDisplayAttachment, Jr as annotationToPdfCanvasContent, hn as apSchedulerDayToJsDay, U as appendLocaleCode, di as attachmentDtoToDisplayAttachment, fi as attachmentDtosToDisplayAttachments, Wn as attachmentToDto, Gn as attachmentsToDtos, W as buildAdditionalLocaleOptions, jt as buildAnnouncementSignature, Le as buildApplicationMcpUrl, M as buildChatCompletionsUrl, Re as buildConnectApi, N as buildDeploymentConnectApi, Pi as buildExternalServiceScopeId, Ir as buildFromCache, $t as buildPromptExportEnvelope, en as buildPromptExportFileName, oe as buildPromptOverview, cn as buildPromptPath, P as buildResponsesUrl, vr as buildSharedItemVirtualPath, ke as buildSkillContentTree, pe as buildSkillFilesPayload, me as buildSkillManifest, he as buildSkillManifestForSubmit, ge as buildSkillManifestFromFrontmatter, Ae as buildSkillOverview, yt as buildToolsetAuthorizeUrl, ze as buildToolsetMcpUrl, Yr as clearAttachmentCache, G as composeLocalePayload, It as createChatStreamApi, i as createCsrfMiddleware, Ht as createDeploymentChangedMessage, Gr as createFilesApiClient, Gi as createMcpAppsApiClient, Kn as createMessagePair, A as createPublishApiClient, a as createUnauthorizedMiddleware, Kr as createUploadFileWithProgress, B as decodeToolsetId, K as decomposeLocalizedFields, _r as deriveActionProfile, Ke as deriveAvailableTabIds, jn as deriveConversationRowActionState, qe as deriveFavoriteItems, yr as dialCorePathToRelative, pi as dialFileToAttachment, mi as dialFilesToAttachments, hi as dialFolderPathToAttachment, p as downloadAttachment, ht as emitToolsetLoginSuccess, F as encodeDeploymentId, V as encodeToolsetId, Lr as fetchByTab, Rr as fetchForSearch, tt as fetchSkillDescription, Je as filterCatalogItemsBySelector, Ye as filterHiddenOwnedItems, I as findDeploymentByIdOrReference, br as findDialFileByPath, zr as findFirstSuccessfulCopyMoveItem, xr as findFolderByVirtualPath, Rt as formatAppVersion, Y as formatCalendarDate, S as formatDateYM, C as formatDateYMD, Sr as formatOperationFolderName, k as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Ai as getBrowserTimezone, Zn as getConversationPath, Fn as getConversationSource, Fi as getExternalServiceFallbackName, Ut as getLastDeploymentId, Wt as getLastUserMessageToolConfiguration, Bt as getModelIdFromConversationId, jr as getParentFolderPath, Ve as getPublicCatalogEntityFolderPath, Yt as getQuickAppConversationStarters, ln as getRemainingCharacters, Yn as getStarterConversationText, Xt as getStarterPopulateText, Xn as getStarterSubmitText, Zt as getStartersFromSchema, Vt as getTimeOfDayGreeting, _t as getToolsetOAuthChannelName, bt as getToolsetRedirectUri, si as getUrlFileName, Cr as getVirtualPathName, qn as hasActiveToolConfig, Mt as hasAnnouncementContent, Xr as hasAttachmentTextSource, wr as hasDialFileWritePermission, Tr as hasForbiddenNameSymbols, Nt as hasStructuredAnnouncement, o as includesIgnoreCase, xt as initiateOAuthLogin, tr as isAwaitingGenerationResume, r as isConversationNotFoundError, Er as isCopyMoveDuplicateAllowed, Oi as isCustomAppSchema, g as isDialFileAcceptType, u as isDialFileId, m as isDownloadableAttachment, ci as isExternalSourcePreviewable, Jn as isMessageChanged, Gt as isMessageStreaming, se as isOrganisationPromptItem, He as isPublicCatalogEntityId, H as isPublicToolsetId, ki as isQuickAppSchema, Dr as isShareActionsAllowed, ji as isValidAbsoluteUrl, Mi as isValidFeaturesData, _e as isValidSkillRelativePath, gn as jsDayToApSchedulerDay, Br as mapCorePermissions, Z as mapDeploymentDetailsDtoToEntityDetails, R as mapDeploymentLimitsDtoToCatalogLimits, z as mapDeploymentLimitsToInput, ee as mapDeploymentToCatalogItem, te as mapDeploymentToolsetCredentials, Q as mapEntityDetailsToCatalogDetails, Vr as mapFileMetadataToDialFile, _n as mapFormValuesToCreateBody, vn as mapFormValuesToUpdateBody, ce as mapPromptToCatalogItem, Ue as mapPublishConversationResultDto, We as mapPublishHistoryEntryDto, yn as mapScheduledTaskDtoToFormValues, Hr as mapSearchItem, je as mapSkillToCatalogItem, $ as mapToolsetCredentials, ne as mapToolsetToCatalogItem, Ur as mergeCreatedFolderIntoCache, Kt as messageHasStages, _ as mimeTypesToAttachmentExtensionLabels, v as mimeTypesToDialFileAcceptTypes, y as mimeTypesToFileAccept, ve as nameFromPath, St as navigateToolsetOAuthPopup, qt as normalizeResponseFormat, ye as normalizeSkillName, Or as normalizeVirtualPath, qr as openAnnotationAttachment, Ct as openToolsetOAuthPopup, X as padTwoDigits, Ii as parseExternalServiceUrl, Ni as parseFeaturesData, kr as parseNewFolderVirtualPath, ae as parsePromptResourceUrl, be as parseSkillManifest, et as parseSkillManifestDocument, Oe as parseSkillResourceUrl, Pr as prepareCopyItems, _i as prepareDownloadDestination, Fr as prepareMoveRenameItems, Me as readSkillFileBytes, Ne as readSkillManifest, Xe as reconcileFilterTopics, Zr as referenceAttachmentToPdfCanvasContent, Qe as resolveCatalogPrimaryAction, Qr as resolveCodeCanvasContent, re as resolveDeploymentFolder, Mr as resolveDialFileApiPath, d as resolveDialFileBucketAndPath, li as resolveExternalSourceContentType, $r as resolveHtmlCanvasContent, ei as resolveImageCanvasContent, ti as resolveJsonCanvasContent, q as resolveLocalizedText, ni as resolveMarkdownCanvasContent, Be as resolveMcpResourceKind, ri as resolveOoxmlCanvasContent, Ar as resolveOwnerCoords, ii as resolvePdfCanvasContent, f as resolveRelativeDialFilePath, Pe as resolveSkillFileDownloadPath, Fe as resolveSkillManifestFileId, ai as resolveTextCanvasContent, oi as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Pt as sanitizeAnnouncementHtml, Ft as sanitizeAnnouncementMessageHtml, vi as sanitizeFileName, zt as sanitizeFooterHtml, tn as serializePromptExport, Lt as shouldWatchForDisplayNameUpdate, xe as skillFileBytesToBlob, xn as skillFileToAttachment, yi as splitFileNameExtension, l as stripSurroundingSlashes, gt as subscribeToolsetLoginSuccess, J as toBaseLocale, Jt as toOverlayMessages, Ge as toPublishEntityType, j as toPublishRuleDto, bi as trimFileNameToByteLimit, Se as unpackSkillArchive, Wr as updateEntry, Mn as useActiveConversationSync, Nn as useAsyncConfirmDialog, h as useAttachmentAction, Rn as useAttachmentUpload, x as useAttachmentValidation, $e as useCatalogEditNavigation, rt as useCatalogItemDetails, Et as useCatalogToolsetCredentials, Li as useChatSettingsFormConfig, Un as useConversationExport, Qn as useConversationHandlers, $n as useConversationImport, Pn as useConversationLookupMaps, In as useConversationPanelItems, er as useConversationScroll, rr as useConversationSources, nr as useConversationStream, xi as useDialFileListing, Ei as useDialFileManager, Di as useDialFileManagerTabConfig, Si as useDialFileMetadata, Ci as useDialFileMutations, wi as useDialFileSharing, Ti as useDialFileUploadBatch, kt as useFavoriteEntitiesState, Xi as useGridEditingScroll, Ln as useImportFilePicker, Ji as useMcpAppHostAdapter, qi as useMcpAppHostContext, Ki as useMcpAppTools, Qt as useOAuthCallbackCompletion, Yi as useOpenMcpAppCanvas, Ri as usePageFileDrag, Bi as usePanelMaxWidth, pn as usePromptsState, At as usePublishFolders, Vi as useShareLink, An as useShareRecipientsCount, Dt as useSkillDetailsPanelData, Cn as useSkillEditorLoad, wn as useSkillEditorSubmit, Tn as useSkillFileActions, Dn as useSkillFilePreview, nt as useSkillItemDetails, On as useSkillsState, Hi as useToolsMenu, Tt as useToolsetLogin, Vn as useTranscribeAudio, Ui as useUsageData, zi as useViewportWidth, un as validatePromptContent, dn as validatePromptDescription, fn as validatePromptName, bn as validateSkillFileBatch, Nr as virtualPathToApiPath, vt as waitForToolsetOAuthResult };
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.1.0-dev.431",
4
+ "version": "1.1.0-dev.433",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -104,21 +104,21 @@
104
104
  },
105
105
  "peerDependencies": {
106
106
  "react": "^19.2.6",
107
- "@epam/ai-dial-attachment-canvas": "1.1.0-dev.431",
108
- "@epam/ai-dial-attachment-input": "1.1.0-dev.431",
109
- "@epam/ai-dial-catalog": "1.1.0-dev.431",
110
- "@epam/ai-dial-chat-api-client": "1.1.0-dev.431",
111
- "@epam/ai-dial-chat-overlay": "1.1.0-dev.431",
112
- "@epam/ai-dial-chat-shared": "1.1.0-dev.431",
113
- "@epam/ai-dial-deployment-creation-form": "1.1.0-dev.431",
114
- "@epam/ai-dial-mcp-apps": "1.1.0-dev.431",
115
- "@epam/ai-dial-publish-panel": "1.1.0-dev.431",
116
- "@epam/ai-dial-quotations": "1.1.0-dev.431",
107
+ "@epam/ai-dial-attachment-canvas": "1.1.0-dev.433",
108
+ "@epam/ai-dial-attachment-input": "1.1.0-dev.433",
109
+ "@epam/ai-dial-catalog": "1.1.0-dev.433",
110
+ "@epam/ai-dial-chat-api-client": "1.1.0-dev.433",
111
+ "@epam/ai-dial-chat-overlay": "1.1.0-dev.433",
112
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.433",
113
+ "@epam/ai-dial-deployment-creation-form": "1.1.0-dev.433",
114
+ "@epam/ai-dial-mcp-apps": "1.1.0-dev.433",
115
+ "@epam/ai-dial-publish-panel": "1.1.0-dev.433",
116
+ "@epam/ai-dial-quotations": "1.1.0-dev.433",
117
117
  "@epam/ai-dial-react-file-manager": "*",
118
- "@epam/ai-dial-scheduled-tasks": "1.1.0-dev.431",
119
- "@epam/ai-dial-share": "1.1.0-dev.431",
120
- "@epam/ai-dial-skill-editor": "1.1.0-dev.431",
121
- "@epam/ai-dial-source-panel": "1.1.0-dev.431",
118
+ "@epam/ai-dial-scheduled-tasks": "1.1.0-dev.433",
119
+ "@epam/ai-dial-share": "1.1.0-dev.433",
120
+ "@epam/ai-dial-skill-editor": "1.1.0-dev.433",
121
+ "@epam/ai-dial-source-panel": "1.1.0-dev.433",
122
122
  "@epam/ai-dial-ui-kit": "*",
123
123
  "@modelcontextprotocol/sdk": "^1.27.1",
124
124
  "@epam/pdf-highlighter-kit": ">=0.0.14",