@epam/ai-dial-chat-hooks 1.2.0-dev.2 → 1.2.0-dev.21
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/map-skill-to-catalog-item.js +2 -2
- package/catalog/useSkillItemDetails.js +2 -4
- package/catalog.d.ts +18 -0
- package/catalog.js +14 -14
- package/conversation/announcement-message.js +16 -5
- package/conversation/useAttachmentUpload/useAttachmentUpload.js +12 -5
- package/conversation/useConversationHandlers/useConversationHandlers.js +13 -17
- package/conversation/useConversationStream/useConversationStream.js +5 -1
- package/conversation/useTranscribeAudio/transcription-retry.js +5 -4
- package/conversation.d.ts +33 -4
- package/file-manager.d.ts +7 -5
- package/files/attachment-canvas.js +11 -12
- package/index.d.ts +58 -9
- package/index.js +109 -109
- package/package.json +15 -15
|
@@ -115,9 +115,9 @@ var c = {
|
|
|
115
115
|
if (Number.isFinite(t) && t > 262144) return null;
|
|
116
116
|
let n = await e.arrayBuffer();
|
|
117
117
|
return n.byteLength > 262144 ? null : new Uint8Array(n);
|
|
118
|
-
}, S = async (e) => {
|
|
118
|
+
}, S = async (e) => new Uint8Array(await e.arrayBuffer()), C = async (e) => {
|
|
119
119
|
let t = await x(e);
|
|
120
120
|
return t == null ? null : new TextDecoder().decode(t);
|
|
121
121
|
};
|
|
122
122
|
//#endregion
|
|
123
|
-
export { b as buildSkillContentTree, _ as buildSkillOverview, u as mapSkillToCatalogItem, x as readSkillFileBytes, S as readSkillManifest, g as resolveSkillFileDownloadPath, m as resolveSkillManifestFileId };
|
|
123
|
+
export { b as buildSkillContentTree, _ as buildSkillOverview, u as mapSkillToCatalogItem, x as readSkillFileBytes, S as readSkillFilePreviewBytes, C as readSkillManifest, g as resolveSkillFileDownloadPath, m as resolveSkillManifestFileId };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SKILL_MANIFEST_FILE as e } from "../skill/skill.js";
|
|
2
2
|
import { parseSkillResourceUrl as t } from "../skill/skill-types.js";
|
|
3
|
-
import { buildSkillContentTree as n, buildSkillOverview as r,
|
|
3
|
+
import { buildSkillContentTree as n, buildSkillOverview as r, readSkillFilePreviewBytes as i, readSkillManifest as a, resolveSkillFileDownloadPath as o, resolveSkillManifestFileId as s } from "./map-skill-to-catalog-item.js";
|
|
4
4
|
import { parseSkillManifestDocument as c } from "../skill/skill-manifest.js";
|
|
5
5
|
import { useCallback as l, useRef as u } from "react";
|
|
6
6
|
//#region src/catalog/useSkillItemDetails.ts
|
|
@@ -47,9 +47,7 @@ var d = ({ api: d, skills: f, skillOverviewLabels: p }) => {
|
|
|
47
47
|
if (n == null) throw Error("A folder cannot be previewed");
|
|
48
48
|
let r = await d.downloadSkillFile(t.bucket, t.path, n);
|
|
49
49
|
if (!r.ok) throw Object.assign(/* @__PURE__ */ Error(`File preview failed with status ${r.status}`), { status: r.status });
|
|
50
|
-
let a = await i(r);
|
|
51
|
-
if (a == null) throw Error("File exceeds the preview size limit");
|
|
52
|
-
let s = r.headers.get("content-type")?.split(";")[0].trim() || void 0;
|
|
50
|
+
let a = await i(r), s = r.headers.get("content-type")?.split(";")[0].trim() || void 0;
|
|
53
51
|
return {
|
|
54
52
|
bytes: a,
|
|
55
53
|
mimeType: s === "application/octet-stream" ? void 0 : s
|
package/catalog.d.ts
CHANGED
|
@@ -652,6 +652,24 @@ export declare interface PublishApiClient {
|
|
|
652
652
|
*/
|
|
653
653
|
export declare const readSkillFileBytes: (response: Response) => Promise<Uint8Array | null>;
|
|
654
654
|
|
|
655
|
+
/**
|
|
656
|
+
* Reads a skill file response as raw bytes with no size ceiling, for the
|
|
657
|
+
* supporting-file **preview** path.
|
|
658
|
+
*
|
|
659
|
+
* Previews are user-initiated, one file at a time, and a realistic binary
|
|
660
|
+
* (a PDF, an image) routinely exceeds `SKILL_MANIFEST_MAX_BYTES` — a cap
|
|
661
|
+
* sized for `SKILL.md` frontmatter, not for binaries — so applying that cap
|
|
662
|
+
* here rejected virtually every real PDF before it was ever decoded. This
|
|
663
|
+
* reader therefore never returns `null`: file size is not a failure class on
|
|
664
|
+
* the preview path.
|
|
665
|
+
*
|
|
666
|
+
* `readSkillFileBytes` and `readSkillManifest` keep their
|
|
667
|
+
* `SKILL_MANIFEST_MAX_BYTES` ceiling, because they feed the manifest parse
|
|
668
|
+
* and the textual Content-tab read, where an oversized body must never be
|
|
669
|
+
* decoded into a string.
|
|
670
|
+
*/
|
|
671
|
+
export declare const readSkillFilePreviewBytes: (response: Response) => Promise<Uint8Array>;
|
|
672
|
+
|
|
655
673
|
/**
|
|
656
674
|
* Reads a skill manifest response as text, or `null` when the body is larger
|
|
657
675
|
* than `SKILL_MANIFEST_MAX_BYTES`. The size is checked before decoding, so an
|
package/catalog.js
CHANGED
|
@@ -8,17 +8,17 @@ import { mapDeploymentDetailsDtoToEntityDetails as u, mapEntityDetailsToCatalogD
|
|
|
8
8
|
import { mapDeploymentToCatalogItem as p, mapDeploymentToolsetCredentials as m, mapToolsetToCatalogItem as h, resolveDeploymentFolder as g } from "./catalog/map-deployment-to-catalog-item.js";
|
|
9
9
|
import { buildPromptOverview as _, isOrganisationPromptItem as v, mapPromptToCatalogItem as y } from "./catalog/map-prompt-to-catalog-item.js";
|
|
10
10
|
import { PUBLIC_SKILL_BUCKET as b, SKILL_LISTING_MAX_PAGES as x, SKILL_LISTING_PAGE_SIZE as S, SKILL_MANIFEST_MAX_BYTES as C, SkillSource as w, parseSkillResourceUrl as T } from "./skill/skill-types.js";
|
|
11
|
-
import { buildSkillContentTree as E, buildSkillOverview as D, mapSkillToCatalogItem as O, readSkillFileBytes as k,
|
|
12
|
-
import { McpResourceKind as
|
|
13
|
-
import { getPublicCatalogEntityFolderPath as
|
|
14
|
-
import { deriveAvailableTabIds as
|
|
15
|
-
import { CatalogPrimaryActionType as
|
|
16
|
-
import { useCatalogEditNavigation as
|
|
17
|
-
import { useSkillItemDetails as
|
|
18
|
-
import { useCatalogItemDetails as
|
|
19
|
-
import { useCatalogToolsetCredentials as
|
|
20
|
-
import { useSkillDetailsPanelData as
|
|
21
|
-
import { FavoriteEntityType as
|
|
22
|
-
import { usePublishFolders as
|
|
23
|
-
import { SkillPreviewErrorKind as
|
|
24
|
-
export { s as AuthenticationType,
|
|
11
|
+
import { buildSkillContentTree as E, buildSkillOverview as D, mapSkillToCatalogItem as O, readSkillFileBytes as k, readSkillFilePreviewBytes as A, readSkillManifest as j, resolveSkillFileDownloadPath as M, resolveSkillManifestFileId as N } from "./catalog/map-skill-to-catalog-item.js";
|
|
12
|
+
import { McpResourceKind as P, buildApplicationMcpUrl as F, buildConnectApi as I, buildToolsetMcpUrl as L, resolveMcpResourceKind as R } from "./catalog/mcp-endpoint-url.js";
|
|
13
|
+
import { getPublicCatalogEntityFolderPath as z, isPublicCatalogEntityId as B, mapPublishConversationResultDto as V, mapPublishHistoryEntryDto as H, toPublishEntityType as U } from "./catalog/publish.js";
|
|
14
|
+
import { deriveAvailableTabIds as W, deriveFavoriteItems as G, filterCatalogItemsBySelector as K, filterHiddenOwnedItems as q, reconcileFilterTopics as J } from "./catalog/catalog-derivations.js";
|
|
15
|
+
import { CatalogPrimaryActionType as Y, resolveCatalogPrimaryAction as X } from "./catalog/catalog-primary-action.js";
|
|
16
|
+
import { useCatalogEditNavigation as Z } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
|
|
17
|
+
import { 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, Y as CatalogPrimaryActionType, ne as FavoriteEntityType, P 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, F as buildApplicationMcpUrl, n as buildChatCompletionsUrl, I as buildConnectApi, r as buildDeploymentConnectApi, _ as buildPromptOverview, i as buildResponsesUrl, E as buildSkillContentTree, D as buildSkillOverview, L as buildToolsetMcpUrl, e as createPublishApiClient, W as deriveAvailableTabIds, G as deriveFavoriteItems, a as encodeDeploymentId, K as filterCatalogItemsBySelector, q as filterHiddenOwnedItems, o as findDeploymentByIdOrReference, z as getPublicCatalogEntityFolderPath, v as isOrganisationPromptItem, B as isPublicCatalogEntityId, u as mapDeploymentDetailsDtoToEntityDetails, c as mapDeploymentLimitsDtoToCatalogLimits, l as mapDeploymentLimitsToInput, p as mapDeploymentToCatalogItem, m as mapDeploymentToolsetCredentials, d as mapEntityDetailsToCatalogDetails, y as mapPromptToCatalogItem, V as mapPublishConversationResultDto, H as mapPublishHistoryEntryDto, O as mapSkillToCatalogItem, f as mapToolsetCredentials, h as mapToolsetToCatalogItem, T as parseSkillResourceUrl, k as readSkillFileBytes, A as readSkillFilePreviewBytes, j as readSkillManifest, J as reconcileFilterTopics, X as resolveCatalogPrimaryAction, g as resolveDeploymentFolder, R as resolveMcpResourceKind, M as resolveSkillFileDownloadPath, N as resolveSkillManifestFileId, U as toPublishEntityType, t as toPublishRuleDto, Z as useCatalogEditNavigation, $ as useCatalogItemDetails, ee as useCatalogToolsetCredentials, re as useFavoriteEntitiesState, ie as usePublishFolders, te as useSkillDetailsPanelData, oe as useSkillFilePreview, Q as useSkillItemDetails };
|
|
@@ -34,9 +34,20 @@ var t = {
|
|
|
34
34
|
e.addHook("afterSanitizeAttributes", (e) => {
|
|
35
35
|
e.tagName === "A" && e.getAttribute("target") === "_blank" && e.setAttribute("rel", "noopener noreferrer");
|
|
36
36
|
});
|
|
37
|
-
var r = (n) => e.sanitize(n, t), i = (t) => e.sanitize(t, n), a = (e) => typeof e == "string" && e.length > 0, o = ({ title: e, description: t }) => a(e) || a(t), s = (e) => o(e) || a(e.html), c = (e) =>
|
|
38
|
-
title: e.title
|
|
39
|
-
description: e.description ?? ""
|
|
40
|
-
|
|
37
|
+
var r = (n) => e.sanitize(n, t), i = (t) => e.sanitize(t, n), a = (e) => typeof e == "string" && e.length > 0, o = ({ title: e, description: t }) => a(e) || a(t), s = (e) => o(e) || a(e.html), c = (e) => e.map((e) => ({
|
|
38
|
+
title: e.title,
|
|
39
|
+
description: e.description ?? "",
|
|
40
|
+
link: e.link ? {
|
|
41
|
+
label: e.link.label,
|
|
42
|
+
href: e.link.href
|
|
43
|
+
} : null
|
|
44
|
+
})), l = (e) => {
|
|
45
|
+
if (!o(e)) return e.html ?? "";
|
|
46
|
+
let t = {
|
|
47
|
+
title: e.title ?? "",
|
|
48
|
+
description: e.description ?? ""
|
|
49
|
+
}, n = e.items ?? [];
|
|
50
|
+
return n.length > 0 && (t.items = c(n)), JSON.stringify(t);
|
|
51
|
+
};
|
|
41
52
|
//#endregion
|
|
42
|
-
export {
|
|
53
|
+
export { l as buildAnnouncementSignature, s as hasAnnouncementContent, o as hasStructuredAnnouncement, r as sanitizeAnnouncementHtml, i as sanitizeAnnouncementMessageHtml };
|
|
@@ -26,9 +26,16 @@ var o = 700, s = 5, c = (e) => t(e.split("/").filter(Boolean).pop() ?? "file").r
|
|
|
26
26
|
})).url,
|
|
27
27
|
name: a.fileName
|
|
28
28
|
};
|
|
29
|
-
} catch (
|
|
30
|
-
if (l(
|
|
29
|
+
} catch (c) {
|
|
30
|
+
if (l(c)) {
|
|
31
31
|
if (i.markTaken(a.fileName), o < s) {
|
|
32
|
+
if (t.listFiles) try {
|
|
33
|
+
let e = await t.listFiles({
|
|
34
|
+
bucket: u,
|
|
35
|
+
path: a.path.slice(0, a.path.lastIndexOf("/"))
|
|
36
|
+
});
|
|
37
|
+
for (let t of e.items) i.markTaken(t.name);
|
|
38
|
+
} catch {}
|
|
32
39
|
a = i.allocate(n);
|
|
33
40
|
continue;
|
|
34
41
|
}
|
|
@@ -38,10 +45,10 @@ var o = 700, s = 5, c = (e) => t(e.split("/").filter(Boolean).pop() ?? "file").r
|
|
|
38
45
|
let e = p.current.splice(0);
|
|
39
46
|
d?.(e), m.current = null;
|
|
40
47
|
}, f);
|
|
41
|
-
let
|
|
42
|
-
throw
|
|
48
|
+
let t = c instanceof Error ? c : /* @__PURE__ */ Error("Network upload failed");
|
|
49
|
+
throw t.errorReason = r.Network, t;
|
|
43
50
|
}
|
|
44
|
-
throw
|
|
51
|
+
throw c;
|
|
45
52
|
}
|
|
46
53
|
}, [
|
|
47
54
|
u,
|
|
@@ -44,23 +44,19 @@ var p = ({ conversation: p, conversationId: m, bucket: h, isStreaming: g, startS
|
|
|
44
44
|
if (g || !m || !p || e === -1 || p.messages[e]?.role !== c.Assistant) return;
|
|
45
45
|
let t = p.messages[e - 1];
|
|
46
46
|
if (!t || t.role !== c.User) return;
|
|
47
|
-
let n = C()
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
messages: [...t.messages.slice(0, e), r]
|
|
61
|
-
};
|
|
62
|
-
return y.current = i, i;
|
|
63
|
-
}), A((t) => new Set([...t].filter((t) => t < e))), _(m, t.content, e, n, t.custom_content, l(), f.Regenerate);
|
|
47
|
+
let n = C(), r = {
|
|
48
|
+
...p.messages[e],
|
|
49
|
+
content: "",
|
|
50
|
+
custom_content: void 0,
|
|
51
|
+
wasStoppedByUser: void 0,
|
|
52
|
+
stoppedWithoutContent: void 0,
|
|
53
|
+
streamErrorMessage: void 0,
|
|
54
|
+
deploymentId: n
|
|
55
|
+
}, i = {
|
|
56
|
+
...p,
|
|
57
|
+
messages: [...p.messages.slice(0, e), r]
|
|
58
|
+
};
|
|
59
|
+
y.current = i, v(i), A((t) => new Set([...t].filter((t) => t < e))), _(m, t.content, e, n, t.custom_content, l(), f.Regenerate);
|
|
64
60
|
}, [
|
|
65
61
|
p,
|
|
66
62
|
m,
|
|
@@ -86,7 +86,11 @@ var m = 2e4, h = ({ conversationId: h, state: { setConversation: g, conversation
|
|
|
86
86
|
};
|
|
87
87
|
(async () => {
|
|
88
88
|
try {
|
|
89
|
-
let e = x?.channelId ?? await x?.waitForChannel(m) ?? void 0;
|
|
89
|
+
let e = x?.channelId ?? await x?.waitForChannel(m) ?? void 0, t = N.current.has(h);
|
|
90
|
+
if (D.signal.aborted || E() || t) {
|
|
91
|
+
M.current.get(C)?.generationId === h && M.current.delete(C), E() || R(C), k.current === h && (k.current = null, A.current = null, O(null)), b(C, h), x?.notifyGenerationSettled?.(), t ? N.current.delete(h) : E() || S?.notifyGenerationEnd?.();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
90
94
|
v.streamCompletion(C, o, l, F, u, h, f, T, e);
|
|
91
95
|
} catch (e) {
|
|
92
96
|
F.onError(e instanceof Error ? e : Error(String(e)));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AudioTranscriptionError as e, AudioTranscriptionErrorReason as t } from "./audio-transcription-error.js";
|
|
2
2
|
//#region src/conversation/useTranscribeAudio/transcription-retry.ts
|
|
3
|
-
var n = 2, r =
|
|
3
|
+
var n = 2, r = 6e3, i = (e, t) => (t.throwIfAborted(), new Promise((n, r) => {
|
|
4
4
|
let i = () => {
|
|
5
5
|
clearTimeout(a), r(t.reason);
|
|
6
6
|
}, a = setTimeout(() => {
|
|
@@ -28,9 +28,10 @@ var n = 2, r = 9e4, i = (e, t) => (t.throwIfAborted(), new Promise((n, r) => {
|
|
|
28
28
|
503,
|
|
29
29
|
504
|
|
30
30
|
].includes(u.status)) throw o;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
c
|
|
31
|
+
if ([429, 503].includes(u.status)) throw new e(t.Busy);
|
|
32
|
+
let d = Math.max(1e3, a(u.headers.get("retry-after")) ?? 2e3 * 2 ** l);
|
|
33
|
+
if (l >= n || c + d > r) throw new e(t.Busy);
|
|
34
|
+
c += d, await i(d, s);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
};
|
package/conversation.d.ts
CHANGED
|
@@ -36,6 +36,26 @@ export declare interface AnnouncementContent {
|
|
|
36
36
|
title: string | null;
|
|
37
37
|
description: string | null;
|
|
38
38
|
html: string | null;
|
|
39
|
+
/** Entries of the popover the banner opens. */
|
|
40
|
+
items?: readonly AnnouncementListItem[];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** One entry of the announcements popover behind the banner's `+N` pill. */
|
|
44
|
+
export declare interface AnnouncementListItem {
|
|
45
|
+
/** Plain-text heading of the entry. */
|
|
46
|
+
title: string;
|
|
47
|
+
/** Supporting copy of the entry, sanitized before it is rendered. */
|
|
48
|
+
description?: string | null;
|
|
49
|
+
/** Optional call to action shown at the end of the entry. */
|
|
50
|
+
link?: AnnouncementListItemLink | null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** A link rendered as the call to action of an announcements-popover entry. */
|
|
54
|
+
export declare interface AnnouncementListItemLink {
|
|
55
|
+
/** Visible text of the call to action. */
|
|
56
|
+
label: string;
|
|
57
|
+
/** Absolute `http`/`https` target the call to action opens. */
|
|
58
|
+
href: string;
|
|
39
59
|
}
|
|
40
60
|
|
|
41
61
|
/** State and controls returned by `useAsyncConfirmDialog`. */
|
|
@@ -95,7 +115,7 @@ export declare enum AudioTranscriptionErrorReason {
|
|
|
95
115
|
Unavailable = "unavailable",
|
|
96
116
|
/** The recording exceeds the caller's configured size limit. */
|
|
97
117
|
TooLarge = "tooLarge",
|
|
98
|
-
/**
|
|
118
|
+
/** Recognition is rate-limited, unavailable, or exhausted short gateway retries. */
|
|
99
119
|
Busy = "busy",
|
|
100
120
|
/** Recognition failed for any other reason. */
|
|
101
121
|
Failed = "failed"
|
|
@@ -107,9 +127,18 @@ export declare enum AudioTranscriptionErrorReason {
|
|
|
107
127
|
* hidden only while the current announcement produces the same signature, so
|
|
108
128
|
* editing any part of it brings the banner back with no version counter.
|
|
109
129
|
*
|
|
130
|
+
* Every piece of content the banner surface renders feeds the signature — the
|
|
131
|
+
* title, the description, and the popover entries behind the pill, which live
|
|
132
|
+
* inside the banner and are hidden along with it. Publishing a new entry in
|
|
133
|
+
* that list therefore invalidates an earlier dismissal on its own, even when
|
|
134
|
+
* the banner line itself is untouched.
|
|
135
|
+
*
|
|
110
136
|
* A legacy-only announcement returns the raw HTML string — byte-identical to
|
|
111
137
|
* what shipped before the structured fields existed — so dismissals recorded
|
|
112
|
-
* by older builds keep working without a storage migration.
|
|
138
|
+
* by older builds keep working without a storage migration. `items` is left
|
|
139
|
+
* out of the payload entirely when the list is empty for the same reason: a
|
|
140
|
+
* deployment that never configured the popover keeps matching the signatures
|
|
141
|
+
* its users already have stored.
|
|
113
142
|
*/
|
|
114
143
|
export declare const buildAnnouncementSignature: (content: AnnouncementContent) => string;
|
|
115
144
|
|
|
@@ -699,8 +728,8 @@ export declare const useAttachmentUpload: ({ filesApi, bucket, onNetworkError, d
|
|
|
699
728
|
|
|
700
729
|
/** Parameters for {@link useAttachmentUpload}. */
|
|
701
730
|
export declare interface UseAttachmentUploadParams {
|
|
702
|
-
/** Already-configured
|
|
703
|
-
filesApi: Pick<FilesApi, 'uploadFile'
|
|
731
|
+
/** Already-configured client; optional listing skips stored names after a conflict. */
|
|
732
|
+
filesApi: Pick<FilesApi, 'uploadFile'> & Partial<Pick<FilesApi, 'listFiles'>>;
|
|
704
733
|
/** DIAL Core bucket the file is uploaded into. */
|
|
705
734
|
bucket: string | undefined;
|
|
706
735
|
/** Called with batched filenames after a burst of network-error upload failures. */
|
package/file-manager.d.ts
CHANGED
|
@@ -699,7 +699,7 @@ declare interface OoxmlDocxHighlightLocation {
|
|
|
699
699
|
text: string;
|
|
700
700
|
}
|
|
701
701
|
|
|
702
|
-
/** Supported document formats rendered by the
|
|
702
|
+
/** Supported document formats rendered by the installed `@silurus/ooxml` runtime. */
|
|
703
703
|
declare enum OoxmlFileType {
|
|
704
704
|
Docx = 'docx',
|
|
705
705
|
Xlsx = 'xlsx',
|
|
@@ -880,10 +880,12 @@ export declare const resolveHtmlCanvasContent: (attachment: DisplayAttachment, r
|
|
|
880
880
|
|
|
881
881
|
/**
|
|
882
882
|
* Resolves an image canvas content payload from a DisplayAttachment without
|
|
883
|
-
* fetching — returns
|
|
884
|
-
*
|
|
885
|
-
*
|
|
886
|
-
*
|
|
883
|
+
* fetching — returns a local blob URL or the BFF download URL directly so the
|
|
884
|
+
* browser cache can be shared with the conversation view's `<img>` element.
|
|
885
|
+
* A local `File` with bytes takes precedence over the DIAL download URL; a
|
|
886
|
+
* 0-byte `File` (the file-manager placeholder) does not. Error detection is
|
|
887
|
+
* delegated to `<img onError>` in the canvas renderer. Returns `null` if no
|
|
888
|
+
* URL source is available.
|
|
887
889
|
*/
|
|
888
890
|
export declare const resolveImageCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => ImageCanvasContent | null;
|
|
889
891
|
|
|
@@ -69,14 +69,14 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
69
69
|
if (t.url != null && e(t.url)) return E(t.url);
|
|
70
70
|
if (t.referenceUrl != null && e(t.referenceUrl)) return E(t.referenceUrl);
|
|
71
71
|
}, O = async (e, t) => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
let
|
|
76
|
-
return URL.createObjectURL(
|
|
72
|
+
let n = "file" in e ? e.file : void 0, r = n != null && n.size === 0, i = n != null && !r ? void 0 : t.resolveDialUrl(e);
|
|
73
|
+
if (n != null && i == null) return URL.createObjectURL(n);
|
|
74
|
+
if (i != null) try {
|
|
75
|
+
let n = await w(i, D(e) ?? "", t);
|
|
76
|
+
return URL.createObjectURL(n);
|
|
77
77
|
} catch (e) {
|
|
78
78
|
let t = e.status;
|
|
79
|
-
return t == null ? y(
|
|
79
|
+
return t == null ? y(i) : v(t, i);
|
|
80
80
|
}
|
|
81
81
|
if (e.previewUrl != null) return e.previewUrl;
|
|
82
82
|
if (e.data != null) return g(e.data, e.contentType);
|
|
@@ -91,12 +91,11 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
91
91
|
}
|
|
92
92
|
if ("file" in e) return e.file.text();
|
|
93
93
|
}, A = (e, t) => e.data != null || t.resolveDialUrl(e) != null || "file" in e, j = (e, n) => {
|
|
94
|
-
|
|
94
|
+
let r = "file" in e ? e.file : void 0, i = r != null && r.size === 0, a = r != null && !i ? void 0 : n.resolveDialUrl(e);
|
|
95
|
+
return r != null && a == null ? {
|
|
95
96
|
type: t.Image,
|
|
96
|
-
url: URL.createObjectURL(
|
|
97
|
-
}
|
|
98
|
-
let r = n.resolveDialUrl(e);
|
|
99
|
-
return r == null ? e.previewUrl == null ? e.data == null ? null : {
|
|
97
|
+
url: URL.createObjectURL(r)
|
|
98
|
+
} : a == null ? e.previewUrl == null ? e.data == null ? null : {
|
|
100
99
|
type: t.Image,
|
|
101
100
|
url: g(e.data, e.contentType)
|
|
102
101
|
} : {
|
|
@@ -104,7 +103,7 @@ var g = (e, t) => URL.createObjectURL(s(e, t)), _ = (e) => {
|
|
|
104
103
|
url: e.previewUrl
|
|
105
104
|
} : {
|
|
106
105
|
type: t.Image,
|
|
107
|
-
url:
|
|
106
|
+
url: a
|
|
108
107
|
};
|
|
109
108
|
}, M = async (e, n) => {
|
|
110
109
|
let r = await k(e, n);
|
package/index.d.ts
CHANGED
|
@@ -212,6 +212,26 @@ export declare interface AnnouncementContent {
|
|
|
212
212
|
title: string | null;
|
|
213
213
|
description: string | null;
|
|
214
214
|
html: string | null;
|
|
215
|
+
/** Entries of the popover the banner opens. */
|
|
216
|
+
items?: readonly AnnouncementListItem[];
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** One entry of the announcements popover behind the banner's `+N` pill. */
|
|
220
|
+
export declare interface AnnouncementListItem {
|
|
221
|
+
/** Plain-text heading of the entry. */
|
|
222
|
+
title: string;
|
|
223
|
+
/** Supporting copy of the entry, sanitized before it is rendered. */
|
|
224
|
+
description?: string | null;
|
|
225
|
+
/** Optional call to action shown at the end of the entry. */
|
|
226
|
+
link?: AnnouncementListItemLink | null;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/** A link rendered as the call to action of an announcements-popover entry. */
|
|
230
|
+
export declare interface AnnouncementListItemLink {
|
|
231
|
+
/** Visible text of the call to action. */
|
|
232
|
+
label: string;
|
|
233
|
+
/** Absolute `http`/`https` target the call to action opens. */
|
|
234
|
+
href: string;
|
|
215
235
|
}
|
|
216
236
|
|
|
217
237
|
/** Normalized shape returned by {@link getApiErrorDetails}. */
|
|
@@ -353,7 +373,7 @@ export declare enum AudioTranscriptionErrorReason {
|
|
|
353
373
|
Unavailable = "unavailable",
|
|
354
374
|
/** The recording exceeds the caller's configured size limit. */
|
|
355
375
|
TooLarge = "tooLarge",
|
|
356
|
-
/**
|
|
376
|
+
/** Recognition is rate-limited, unavailable, or exhausted short gateway retries. */
|
|
357
377
|
Busy = "busy",
|
|
358
378
|
/** Recognition failed for any other reason. */
|
|
359
379
|
Failed = "failed"
|
|
@@ -379,9 +399,18 @@ export declare const buildAdditionalLocaleOptions: (additionalLocaleCodes: strin
|
|
|
379
399
|
* hidden only while the current announcement produces the same signature, so
|
|
380
400
|
* editing any part of it brings the banner back with no version counter.
|
|
381
401
|
*
|
|
402
|
+
* Every piece of content the banner surface renders feeds the signature — the
|
|
403
|
+
* title, the description, and the popover entries behind the pill, which live
|
|
404
|
+
* inside the banner and are hidden along with it. Publishing a new entry in
|
|
405
|
+
* that list therefore invalidates an earlier dismissal on its own, even when
|
|
406
|
+
* the banner line itself is untouched.
|
|
407
|
+
*
|
|
382
408
|
* A legacy-only announcement returns the raw HTML string — byte-identical to
|
|
383
409
|
* what shipped before the structured fields existed — so dismissals recorded
|
|
384
|
-
* by older builds keep working without a storage migration.
|
|
410
|
+
* by older builds keep working without a storage migration. `items` is left
|
|
411
|
+
* out of the payload entirely when the list is empty for the same reason: a
|
|
412
|
+
* deployment that never configured the popover keeps matching the signatures
|
|
413
|
+
* its users already have stored.
|
|
385
414
|
*/
|
|
386
415
|
export declare const buildAnnouncementSignature: (content: AnnouncementContent) => string;
|
|
387
416
|
|
|
@@ -2515,7 +2544,7 @@ declare interface OoxmlDocxHighlightLocation {
|
|
|
2515
2544
|
text: string;
|
|
2516
2545
|
}
|
|
2517
2546
|
|
|
2518
|
-
/** Supported document formats rendered by the
|
|
2547
|
+
/** Supported document formats rendered by the installed `@silurus/ooxml` runtime. */
|
|
2519
2548
|
declare enum OoxmlFileType {
|
|
2520
2549
|
Docx = 'docx',
|
|
2521
2550
|
Xlsx = 'xlsx',
|
|
@@ -2827,6 +2856,24 @@ export declare interface QuickAppSchemaLike {
|
|
|
2827
2856
|
*/
|
|
2828
2857
|
export declare const readSkillFileBytes: (response: Response) => Promise<Uint8Array | null>;
|
|
2829
2858
|
|
|
2859
|
+
/**
|
|
2860
|
+
* Reads a skill file response as raw bytes with no size ceiling, for the
|
|
2861
|
+
* supporting-file **preview** path.
|
|
2862
|
+
*
|
|
2863
|
+
* Previews are user-initiated, one file at a time, and a realistic binary
|
|
2864
|
+
* (a PDF, an image) routinely exceeds `SKILL_MANIFEST_MAX_BYTES` — a cap
|
|
2865
|
+
* sized for `SKILL.md` frontmatter, not for binaries — so applying that cap
|
|
2866
|
+
* here rejected virtually every real PDF before it was ever decoded. This
|
|
2867
|
+
* reader therefore never returns `null`: file size is not a failure class on
|
|
2868
|
+
* the preview path.
|
|
2869
|
+
*
|
|
2870
|
+
* `readSkillFileBytes` and `readSkillManifest` keep their
|
|
2871
|
+
* `SKILL_MANIFEST_MAX_BYTES` ceiling, because they feed the manifest parse
|
|
2872
|
+
* and the textual Content-tab read, where an oversized body must never be
|
|
2873
|
+
* decoded into a string.
|
|
2874
|
+
*/
|
|
2875
|
+
export declare const readSkillFilePreviewBytes: (response: Response) => Promise<Uint8Array>;
|
|
2876
|
+
|
|
2830
2877
|
/**
|
|
2831
2878
|
* Reads a skill manifest response as text, or `null` when the body is larger
|
|
2832
2879
|
* than `SKILL_MANIFEST_MAX_BYTES`. The size is checked before decoding, so an
|
|
@@ -2937,10 +2984,12 @@ export declare const resolveHtmlCanvasContent: (attachment: DisplayAttachment, r
|
|
|
2937
2984
|
|
|
2938
2985
|
/**
|
|
2939
2986
|
* Resolves an image canvas content payload from a DisplayAttachment without
|
|
2940
|
-
* fetching — returns
|
|
2941
|
-
*
|
|
2942
|
-
*
|
|
2943
|
-
*
|
|
2987
|
+
* fetching — returns a local blob URL or the BFF download URL directly so the
|
|
2988
|
+
* browser cache can be shared with the conversation view's `<img>` element.
|
|
2989
|
+
* A local `File` with bytes takes precedence over the DIAL download URL; a
|
|
2990
|
+
* 0-byte `File` (the file-manager placeholder) does not. Error detection is
|
|
2991
|
+
* delegated to `<img onError>` in the canvas renderer. Returns `null` if no
|
|
2992
|
+
* URL source is available.
|
|
2944
2993
|
*/
|
|
2945
2994
|
export declare const resolveImageCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => ImageCanvasContent | null;
|
|
2946
2995
|
|
|
@@ -3862,8 +3911,8 @@ export declare const useAttachmentUpload: ({ filesApi, bucket, onNetworkError, d
|
|
|
3862
3911
|
|
|
3863
3912
|
/** Parameters for {@link useAttachmentUpload}. */
|
|
3864
3913
|
export declare interface UseAttachmentUploadParams {
|
|
3865
|
-
/** Already-configured
|
|
3866
|
-
filesApi: Pick<FilesApi, 'uploadFile'
|
|
3914
|
+
/** Already-configured client; optional listing skips stored names after a conflict. */
|
|
3915
|
+
filesApi: Pick<FilesApi, 'uploadFile'> & Partial<Pick<FilesApi, 'listFiles'>>;
|
|
3867
3916
|
/** DIAL Core bucket the file is uploaded into. */
|
|
3868
3917
|
bucket: string | undefined;
|
|
3869
3918
|
/** Called with batched filenames after a burst of network-error upload failures. */
|
package/index.js
CHANGED
|
@@ -25,112 +25,112 @@ import { PromptSource as ae, parsePromptResourceUrl as oe } from "./prompt/promp
|
|
|
25
25
|
import { buildPromptOverview as se, isOrganisationPromptItem as ce, mapPromptToCatalogItem as le } from "./catalog/map-prompt-to-catalog-item.js";
|
|
26
26
|
import { SKILL_FILE_UPLOAD_MAX_BYTES as ue, SKILL_MANIFEST_FILE as de, SKILL_UPLOAD_MAX_FILES as fe, SKILL_UPLOAD_MAX_TOTAL_BYTES as pe, buildSkillFilesPayload as me, buildSkillManifest as he, buildSkillManifestForSubmit as ge, buildSkillManifestFromFrontmatter as _e, isValidSkillRelativePath as ve, nameFromPath as ye, normalizeSkillName as be, parseSkillManifest as xe, skillFileBytesToBlob as Se, unpackSkillArchive as Ce } from "./skill/skill.js";
|
|
27
27
|
import { PUBLIC_SKILL_BUCKET as we, SKILL_LISTING_MAX_PAGES as Te, SKILL_LISTING_PAGE_SIZE as Ee, SKILL_MANIFEST_MAX_BYTES as De, SkillSource as Oe, parseSkillResourceUrl as ke } from "./skill/skill-types.js";
|
|
28
|
-
import { buildSkillContentTree as Ae, buildSkillOverview as je, mapSkillToCatalogItem as Me, readSkillFileBytes as Ne,
|
|
29
|
-
import { McpResourceKind as
|
|
30
|
-
import { getPublicCatalogEntityFolderPath as
|
|
31
|
-
import { deriveAvailableTabIds as
|
|
32
|
-
import { CatalogPrimaryActionType as
|
|
33
|
-
import { useCatalogEditNavigation as
|
|
34
|
-
import { parseSkillManifestDocument as
|
|
35
|
-
import { useSkillItemDetails as
|
|
36
|
-
import { useCatalogItemDetails as
|
|
37
|
-
import { OAuthResourceKind as
|
|
38
|
-
import { emitToolsetLoginSuccess as
|
|
39
|
-
import { getToolsetOAuthChannelName as
|
|
40
|
-
import { buildToolsetAuthorizeUrl as
|
|
41
|
-
import { initiateOAuthLogin as
|
|
42
|
-
import { ToolsetLoginOutcomeType as
|
|
43
|
-
import { useCatalogToolsetCredentials as
|
|
44
|
-
import { useSkillDetailsPanelData as
|
|
45
|
-
import { FavoriteEntityType as
|
|
46
|
-
import { usePublishFolders as
|
|
47
|
-
import { buildAnnouncementSignature as
|
|
48
|
-
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as
|
|
49
|
-
import { shouldWatchForDisplayNameUpdate as
|
|
50
|
-
import { formatAppVersion as
|
|
51
|
-
import { getModelIdFromConversationId as
|
|
52
|
-
import { getTimeOfDayGreeting as
|
|
53
|
-
import { createDeploymentChangedMessage as
|
|
54
|
-
import { getLastDeploymentId as
|
|
55
|
-
import { toOverlayMessages as
|
|
56
|
-
import { getQuickAppConversationStarters as
|
|
57
|
-
import { getStarterPopulateText as
|
|
58
|
-
import { useOAuthCallbackCompletion as
|
|
59
|
-
import { buildPromptExportEnvelope as
|
|
60
|
-
import { PROMPT_CONTENT_MAX_LENGTH as
|
|
61
|
-
import { usePromptsState as
|
|
62
|
-
import { UnsupportedTriggerReason as
|
|
63
|
-
import { apSchedulerDayToJsDay as
|
|
64
|
-
import { mapFormValuesToCreateBody as
|
|
65
|
-
import { validateSkillFileBatch as
|
|
66
|
-
import { skillFileToAttachment as
|
|
67
|
-
import { SkillEditorLoadState as
|
|
68
|
-
import { useSkillEditorSubmit as
|
|
69
|
-
import { useSkillFileActions as
|
|
70
|
-
import { SkillPreviewErrorKind as
|
|
71
|
-
import { useSkillsState as
|
|
72
|
-
import { RecipientsCountStatus as
|
|
73
|
-
import { deriveConversationRowActionState as
|
|
74
|
-
import { useActiveConversationSync as
|
|
75
|
-
import { useAsyncConfirmDialog as
|
|
76
|
-
import { useConversationLookupMaps as
|
|
77
|
-
import { getConversationSource as
|
|
78
|
-
import { useImportFilePicker as
|
|
79
|
-
import { sanitizeFileName as
|
|
80
|
-
import { useAttachmentUpload as
|
|
81
|
-
import { AudioTranscriptionError as
|
|
82
|
-
import { useTranscribeAudio as
|
|
83
|
-
import { DEFAULT_MAX_ARCHIVE_BYTES as
|
|
84
|
-
import { attachmentToDto as
|
|
85
|
-
import { createMessagePair as
|
|
86
|
-
import { hasActiveToolConfig as
|
|
87
|
-
import { getStarterConversationText as
|
|
88
|
-
import { getConversationPath as
|
|
89
|
-
import { useConversationHandlers as
|
|
90
|
-
import { useConversationImport as
|
|
91
|
-
import { useConversationScroll as
|
|
92
|
-
import { isAwaitingGenerationResume as
|
|
93
|
-
import { useConversationStream as
|
|
94
|
-
import { useConversationSources as
|
|
95
|
-
import { DialFilesApiUploadMode as
|
|
96
|
-
import { FileManagerNotificationReason as
|
|
97
|
-
import { COLUMNS_WITHOUT_AUTHOR as
|
|
98
|
-
import { DialFileManagerActionProfile as
|
|
99
|
-
import { buildSharedItemVirtualPath as
|
|
100
|
-
import { getParentFolderPath as
|
|
101
|
-
import { prepareCopyItems as
|
|
102
|
-
import { buildFromCache as
|
|
103
|
-
import { createFilesApiClient as
|
|
104
|
-
import { createUploadFileWithProgress as
|
|
105
|
-
import { openAnnotationAttachment as
|
|
106
|
-
import { annotationToOoxmlCanvasContent as
|
|
107
|
-
import { getUrlFileName as
|
|
108
|
-
import { annotationToDisplayAttachment as
|
|
109
|
-
import { dialFileToAttachment as
|
|
110
|
-
import { DownloadDestinationType as
|
|
111
|
-
import { prepareDownloadDestination as
|
|
112
|
-
import { useDialFileListing as
|
|
113
|
-
import { useDialFileMetadata as
|
|
114
|
-
import { useDialFileMutations as
|
|
115
|
-
import { useDialFileSharing as
|
|
116
|
-
import { useDialFileUploadBatch as
|
|
117
|
-
import { useDialFileManager as
|
|
118
|
-
import { useDialFileManagerTabConfig as
|
|
119
|
-
import { isCustomAppSchema as
|
|
120
|
-
import { getBrowserTimezone as
|
|
121
|
-
import { isValidAbsoluteUrl as
|
|
122
|
-
import { buildExternalServiceScopeId as
|
|
123
|
-
import { useChatSettingsFormConfig as
|
|
124
|
-
import { usePageFileDrag as
|
|
125
|
-
import { useViewportWidth as
|
|
126
|
-
import { usePanelMaxWidth as
|
|
127
|
-
import { useShareLink as
|
|
128
|
-
import { useToolsMenu as
|
|
129
|
-
import { useUsageData as
|
|
130
|
-
import { McpAppResourceFetchError as
|
|
131
|
-
import { useMcpAppTools as
|
|
132
|
-
import { useMcpAppHostContext as
|
|
133
|
-
import { useMcpAppHostAdapter as
|
|
134
|
-
import { useOpenMcpAppCanvas as
|
|
135
|
-
import { useGridEditingScroll as
|
|
136
|
-
export { x as AttachmentValidationErrorReason,
|
|
28
|
+
import { buildSkillContentTree as Ae, buildSkillOverview as je, mapSkillToCatalogItem as Me, readSkillFileBytes as Ne, readSkillFilePreviewBytes as Pe, readSkillManifest as Fe, resolveSkillFileDownloadPath as Ie, resolveSkillManifestFileId as Le } from "./catalog/map-skill-to-catalog-item.js";
|
|
29
|
+
import { McpResourceKind as Re, buildApplicationMcpUrl as ze, buildConnectApi as Be, buildToolsetMcpUrl as Ve, resolveMcpResourceKind as He } from "./catalog/mcp-endpoint-url.js";
|
|
30
|
+
import { getPublicCatalogEntityFolderPath as Ue, isPublicCatalogEntityId as We, mapPublishConversationResultDto as Ge, mapPublishHistoryEntryDto as Ke, toPublishEntityType as qe } from "./catalog/publish.js";
|
|
31
|
+
import { deriveAvailableTabIds as Je, deriveFavoriteItems as Ye, filterCatalogItemsBySelector as Xe, filterHiddenOwnedItems as Ze, reconcileFilterTopics as Qe } from "./catalog/catalog-derivations.js";
|
|
32
|
+
import { CatalogPrimaryActionType as $e, resolveCatalogPrimaryAction as et } from "./catalog/catalog-primary-action.js";
|
|
33
|
+
import { useCatalogEditNavigation as tt } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
|
|
34
|
+
import { parseSkillManifestDocument as nt } from "./skill/skill-manifest.js";
|
|
35
|
+
import { useSkillItemDetails as rt } from "./catalog/useSkillItemDetails.js";
|
|
36
|
+
import { useCatalogItemDetails as it } from "./catalog/useCatalogItemDetails.js";
|
|
37
|
+
import { OAuthResourceKind as at, TOOLSET_REDIRECT_STATE_KEY as ot, ToolsetAuthStatus as st, ToolsetAuthTypes as ct, ToolsetCredentialsLevel as lt, ToolsetOAuthCallbackQuery as ut, ToolsetOAuthChannelControlType as dt, ToolsetOAuthFailureReason as ft, ToolsetOAuthInitiationResultType as pt, ToolsetOAuthResultType as mt, WithLogin as ht } from "./oauth/types.js";
|
|
38
|
+
import { emitToolsetLoginSuccess as gt, subscribeToolsetLoginSuccess as _t } from "./shared/toolset-login-events.js";
|
|
39
|
+
import { getToolsetOAuthChannelName as vt, waitForToolsetOAuthResult as yt } from "./oauth/handshake.js";
|
|
40
|
+
import { buildToolsetAuthorizeUrl as bt, getToolsetRedirectUri as xt } from "./oauth/authorize-url.js";
|
|
41
|
+
import { initiateOAuthLogin as St, navigateToolsetOAuthPopup as Ct, openToolsetOAuthPopup as wt } from "./oauth/popup.js";
|
|
42
|
+
import { ToolsetLoginOutcomeType as Tt, useToolsetLogin as Et } from "./oauth/useToolsetLogin/useToolsetLogin.js";
|
|
43
|
+
import { useCatalogToolsetCredentials as Dt } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
|
|
44
|
+
import { useSkillDetailsPanelData as Ot } from "./catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js";
|
|
45
|
+
import { FavoriteEntityType as kt, useFavoriteEntitiesState as At } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
|
|
46
|
+
import { usePublishFolders as jt } from "./catalog/usePublishFolders/usePublishFolders.js";
|
|
47
|
+
import { buildAnnouncementSignature as Mt, hasAnnouncementContent as Nt, hasStructuredAnnouncement as Pt, sanitizeAnnouncementHtml as Ft, sanitizeAnnouncementMessageHtml as It } from "./conversation/announcement-message.js";
|
|
48
|
+
import { DEFAULT_GENERATION_CONFLICT_MESSAGE as Lt, GenerationConflictError as Rt, createChatStreamApi as zt } from "./conversation/create-chat-stream-api.js";
|
|
49
|
+
import { shouldWatchForDisplayNameUpdate as Bt } from "./conversation/display-name-watch.js";
|
|
50
|
+
import { formatAppVersion as Vt, sanitizeFooterHtml as Ht } from "./conversation/footer-message.js";
|
|
51
|
+
import { getModelIdFromConversationId as Ut } from "./conversation/get-model-id-from-conversation-id.js";
|
|
52
|
+
import { getTimeOfDayGreeting as Wt } from "./conversation/greeting.js";
|
|
53
|
+
import { createDeploymentChangedMessage as Gt } from "./conversation/message-factory.js";
|
|
54
|
+
import { getLastDeploymentId as Kt, getLastUserMessageToolConfiguration as qt, isMessageStreaming as Jt, messageHasStages as Yt, normalizeResponseFormat as Xt } from "./conversation/message-utils.js";
|
|
55
|
+
import { toOverlayMessages as Zt } from "./conversation/overlay-messages.js";
|
|
56
|
+
import { getQuickAppConversationStarters as Qt } from "./conversation/quick-app-conversation-starters.js";
|
|
57
|
+
import { getStarterPopulateText as $t, getStartersFromSchema as en } from "./conversation/starter-option.js";
|
|
58
|
+
import { useOAuthCallbackCompletion as tn } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
|
|
59
|
+
import { buildPromptExportEnvelope as nn, buildPromptExportFileName as rn, serializePromptExport as an } from "./prompt/export-prompt.js";
|
|
60
|
+
import { PROMPT_CONTENT_MAX_LENGTH as on, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as sn, PROMPT_DESCRIPTION_MAX_LENGTH as cn, PROMPT_NAME_MAX_LENGTH as ln, PromptFieldError as un, buildPromptPath as dn, getRemainingCharacters as fn, validatePromptContent as pn, validatePromptDescription as mn, validatePromptName as hn } from "./prompt/prompt.js";
|
|
61
|
+
import { usePromptsState as gn } from "./prompt/usePromptsState/usePromptsState.js";
|
|
62
|
+
import { UnsupportedTriggerReason as _n } from "./scheduled-task/scheduled-task-mapping.js";
|
|
63
|
+
import { apSchedulerDayToJsDay as vn, jsDayToApSchedulerDay as yn } from "./shared/cron-weekday.js";
|
|
64
|
+
import { mapFormValuesToCreateBody as bn, mapFormValuesToUpdateBody as xn, mapScheduledTaskDtoToFormValues as Sn } from "./scheduled-task/scheduled-task-trigger.js";
|
|
65
|
+
import { validateSkillFileBatch as Cn } from "./skill/skill-file-batch-validation.js";
|
|
66
|
+
import { skillFileToAttachment as wn } from "./skill/skill-file-preview.js";
|
|
67
|
+
import { SkillEditorLoadState as Tn, useSkillEditorLoad as En } from "./skill/useSkillEditorLoad.js";
|
|
68
|
+
import { useSkillEditorSubmit as Dn } from "./skill/useSkillEditorSubmit.js";
|
|
69
|
+
import { useSkillFileActions as On } from "./skill/useSkillFileActions.js";
|
|
70
|
+
import { SkillPreviewErrorKind as kn, useSkillFilePreview as An } from "./skill/useSkillFilePreview.js";
|
|
71
|
+
import { useSkillsState as jn } from "./skill/useSkillsState/useSkillsState.js";
|
|
72
|
+
import { RecipientsCountStatus as Mn, useShareRecipientsCount as Nn } from "./useShareRecipientsCount/useShareRecipientsCount.js";
|
|
73
|
+
import { deriveConversationRowActionState as Pn } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
|
|
74
|
+
import { useActiveConversationSync as Fn } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
|
|
75
|
+
import { useAsyncConfirmDialog as In } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
|
|
76
|
+
import { useConversationLookupMaps as Ln } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
|
|
77
|
+
import { getConversationSource as Rn, useConversationPanelItems as zn } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
|
|
78
|
+
import { useImportFilePicker as Bn } from "./conversation/useImportFilePicker/useImportFilePicker.js";
|
|
79
|
+
import { sanitizeFileName as Vn, splitFileNameExtension as Hn, trimFileNameToByteLimit as Un } from "./files/file-name.js";
|
|
80
|
+
import { useAttachmentUpload as Wn } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
|
|
81
|
+
import { AudioTranscriptionError as Gn, AudioTranscriptionErrorReason as Kn } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
|
|
82
|
+
import { useTranscribeAudio as qn } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
|
|
83
|
+
import { DEFAULT_MAX_ARCHIVE_BYTES as Jn, useConversationExport as Yn } from "./conversation/useConversationExport/useConversationExport.js";
|
|
84
|
+
import { attachmentToDto as Xn, attachmentsToDtos as Zn } from "./conversation/useConversationHandlers/attachment-to-dto.js";
|
|
85
|
+
import { createMessagePair as Qn } from "./conversation/useConversationHandlers/message-factory.js";
|
|
86
|
+
import { hasActiveToolConfig as $n, isAnswerIncomplete as er, isMessageChanged as tr, shouldRerunGenerationOnEdit as nr } from "./conversation/useConversationHandlers/message-utils.js";
|
|
87
|
+
import { getStarterConversationText as rr, getStarterDisplayText as ir, getStarterSubmitText as ar } from "./conversation/useConversationHandlers/starter-option.js";
|
|
88
|
+
import { getConversationPath as or } from "./conversation/useConversationStream/conversation-path.js";
|
|
89
|
+
import { useConversationHandlers as sr } from "./conversation/useConversationHandlers/useConversationHandlers.js";
|
|
90
|
+
import { useConversationImport as cr } from "./conversation/useConversationImport/useConversationImport.js";
|
|
91
|
+
import { useConversationScroll as lr } from "./conversation/useConversationScroll/useConversationScroll.js";
|
|
92
|
+
import { isAwaitingGenerationResume as ur } from "./conversation/useConversationStream/generation-resume.js";
|
|
93
|
+
import { useConversationStream as dr } from "./conversation/useConversationStream/useConversationStream.js";
|
|
94
|
+
import { useConversationSources as fr } from "./conversation-sources/useConversationSources/useConversationSources.js";
|
|
95
|
+
import { DialFilesApiUploadMode as pr } from "./files/dial-files-api.js";
|
|
96
|
+
import { FileManagerNotificationReason as mr, FileNameValidationErrorReason as hr, FileOperationKind as gr } from "./files/dial-file-manager.types.js";
|
|
97
|
+
import { COLUMNS_WITHOUT_AUTHOR as _r, COLUMNS_WITH_AUTHOR as vr, CORE_PERMISSION_MAP as yr, DATE_OPTIONS as br, PATH_SEPARATOR_REGEXP as xr, RESERVED_MARKER_NAME as Sr, UPLOAD_CONCURRENCY as Cr } from "./files/dial-file-manager.model.js";
|
|
98
|
+
import { DialFileManagerActionProfile as wr, DialFileManagerVariant as Tr, deriveActionProfile as Er } from "./files/file-manager-variant.js";
|
|
99
|
+
import { buildSharedItemVirtualPath as Dr, dialCorePathToRelative as Or, findDialFileByPath as kr, findFolderByVirtualPath as Ar, formatOperationFolderName as jr, getVirtualPathName as Mr, hasDialFileWritePermission as Nr, hasForbiddenNameSymbols as Pr, isCopyMoveDuplicateAllowed as Fr, isShareActionsAllowed as Ir, normalizeVirtualPath as Lr, parseNewFolderVirtualPath as Rr, resolveOwnerCoords as zr } from "./files/dial-file-manager-path.util.js";
|
|
100
|
+
import { getParentFolderPath as Br, resolveDialFileApiPath as Vr, virtualPathToApiPath as Hr } from "./files/resolve-dial-file-api-path.js";
|
|
101
|
+
import { prepareCopyItems as Ur, prepareMoveRenameItems as Wr } from "./files/dial-file-manager-copy-move.util.js";
|
|
102
|
+
import { buildFromCache as Gr, fetchByTab as Kr, fetchForSearch as qr, findFirstSuccessfulCopyMoveItem as Jr, mapCorePermissions as Yr, mapFileMetadataToDialFile as Xr, mapSearchItem as Zr, mergeCreatedFolderIntoCache as Qr, updateEntry as $r } from "./files/dial-file-manager-mapping.util.js";
|
|
103
|
+
import { createFilesApiClient as ei } from "./files/create-files-api.js";
|
|
104
|
+
import { createUploadFileWithProgress as ti } from "./files/create-upload-file-with-progress.js";
|
|
105
|
+
import { openAnnotationAttachment as ni } from "./files/annotation.js";
|
|
106
|
+
import { annotationToOoxmlCanvasContent as ri, annotationToPdfCanvasContent as ii, clearAttachmentCache as ai, hasAttachmentTextSource as oi, referenceAttachmentToPdfCanvasContent as si, resolveCodeCanvasContent as ci, resolveHtmlCanvasContent as li, resolveImageCanvasContent as ui, resolveJsonCanvasContent as di, resolveMarkdownCanvasContent as fi, resolveOoxmlCanvasContent as pi, resolvePdfCanvasContent as mi, resolveTextCanvasContent as hi, resolveVisualizerCanvasContent as gi } from "./files/attachment-canvas.js";
|
|
107
|
+
import { getUrlFileName as _i, isExternalSourcePreviewable as vi, resolveExternalSourceContentType as yi } from "./files/source-content.js";
|
|
108
|
+
import { annotationToDisplayAttachment as bi, attachmentDtoToDisplayAttachment as xi, attachmentDtosToDisplayAttachments as Si } from "./files/attachment-dto-to-display.js";
|
|
109
|
+
import { dialFileToAttachment as Ci, dialFilesToAttachments as wi, dialFolderPathToAttachment as Ti } from "./files/dial-file-to-attachment.js";
|
|
110
|
+
import { DownloadDestinationType as Ei } from "./files/download-destination.js";
|
|
111
|
+
import { prepareDownloadDestination as Di } from "./files/prepare-download-destination.js";
|
|
112
|
+
import { useDialFileListing as Oi } from "./files/useDialFileListing/useDialFileListing.js";
|
|
113
|
+
import { useDialFileMetadata as ki } from "./files/useDialFileMetadata/useDialFileMetadata.js";
|
|
114
|
+
import { useDialFileMutations as Ai } from "./files/useDialFileMutations/useDialFileMutations.js";
|
|
115
|
+
import { useDialFileSharing as ji } from "./files/useDialFileSharing/useDialFileSharing.js";
|
|
116
|
+
import { useDialFileUploadBatch as Mi } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
|
|
117
|
+
import { useDialFileManager as Ni } from "./files/useDialFileManager/useDialFileManager.js";
|
|
118
|
+
import { useDialFileManagerTabConfig as Pi } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
|
|
119
|
+
import { isCustomAppSchema as Fi, isQuickAppSchema as Ii } from "./shared/application-schema.js";
|
|
120
|
+
import { getBrowserTimezone as Li } from "./shared/browser-timezone.js";
|
|
121
|
+
import { isValidAbsoluteUrl as Ri, isValidFeaturesData as zi, parseFeaturesData as Bi } from "./shared/custom-apps.js";
|
|
122
|
+
import { buildExternalServiceScopeId as Vi, getExternalServiceFallbackName as Hi, parseExternalServiceUrl as Ui } from "./shared/external-services.js";
|
|
123
|
+
import { useChatSettingsFormConfig as Wi } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
|
|
124
|
+
import { usePageFileDrag as Gi } from "./usePageFileDrag/usePageFileDrag.js";
|
|
125
|
+
import { useViewportWidth as Ki } from "./useViewportWidth/useViewportWidth.js";
|
|
126
|
+
import { usePanelMaxWidth as qi } from "./usePanelMaxWidth/usePanelMaxWidth.js";
|
|
127
|
+
import { useShareLink as Ji } from "./useShareLink/useShareLink.js";
|
|
128
|
+
import { useToolsMenu as Yi } from "./useToolsMenu/useToolsMenu.js";
|
|
129
|
+
import { useUsageData as Xi } from "./usage/useUsageData/useUsageData.js";
|
|
130
|
+
import { McpAppResourceFetchError as Zi, createMcpAppsApiClient as Qi } from "./mcp-apps/mcp-apps-api-client.js";
|
|
131
|
+
import { useMcpAppTools as $i } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
|
|
132
|
+
import { useMcpAppHostContext as ea } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
|
|
133
|
+
import { useMcpAppHostAdapter as ta } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
|
|
134
|
+
import { useOpenMcpAppCanvas as na } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
|
|
135
|
+
import { useGridEditingScroll as ra } from "@epam/ai-dial-chat-shared";
|
|
136
|
+
export { x as AttachmentValidationErrorReason, Gn as AudioTranscriptionError, Kn as AudioTranscriptionErrorReason, R as AuthenticationType, _r as COLUMNS_WITHOUT_AUTHOR, vr as COLUMNS_WITH_AUTHOR, yr as CORE_PERMISSION_MAP, $e as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, br as DATE_OPTIONS, Lt as DEFAULT_GENERATION_CONFLICT_MESSAGE, Jn as DEFAULT_MAX_ARCHIVE_BYTES, wr as DialFileManagerActionProfile, Tr as DialFileManagerVariant, pr as DialFilesApiUploadMode, Ei as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, kt as FavoriteEntityType, mr as FileManagerNotificationReason, hr as FileNameValidationErrorReason, gr as FileOperationKind, Rt as GenerationConflictError, Zi as McpAppResourceFetchError, Re as McpResourceKind, at as OAuthResourceKind, xr as PATH_SEPARATOR_REGEXP, on as PROMPT_CONTENT_MAX_LENGTH, sn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, cn as PROMPT_DESCRIPTION_MAX_LENGTH, ln as PROMPT_NAME_MAX_LENGTH, we as PUBLIC_SKILL_BUCKET, un as PromptFieldError, ae as PromptSource, Sr as RESERVED_MARKER_NAME, Mn as RecipientsCountStatus, ue as SKILL_FILE_UPLOAD_MAX_BYTES, Te as SKILL_LISTING_MAX_PAGES, Ee as SKILL_LISTING_PAGE_SIZE, de as SKILL_MANIFEST_FILE, De as SKILL_MANIFEST_MAX_BYTES, fe as SKILL_UPLOAD_MAX_FILES, pe as SKILL_UPLOAD_MAX_TOTAL_BYTES, Tn as SkillEditorLoadState, kn as SkillPreviewErrorKind, Oe as SkillSource, ot as TOOLSET_REDIRECT_STATE_KEY, st as ToolsetAuthStatus, ct as ToolsetAuthTypes, lt as ToolsetCredentialsLevel, Tt as ToolsetLoginOutcomeType, ut as ToolsetOAuthCallbackQuery, dt as ToolsetOAuthChannelControlType, ft as ToolsetOAuthFailureReason, pt as ToolsetOAuthInitiationResultType, mt as ToolsetOAuthResultType, Cr as UPLOAD_CONCURRENCY, _n as UnsupportedTriggerReason, ht as WithLogin, bi as annotationToDisplayAttachment, ri as annotationToOoxmlCanvasContent, ii as annotationToPdfCanvasContent, vn as apSchedulerDayToJsDay, W as appendLocaleCode, xi as attachmentDtoToDisplayAttachment, Si as attachmentDtosToDisplayAttachments, Xn as attachmentToDto, Zn as attachmentsToDtos, G as buildAdditionalLocaleOptions, Mt as buildAnnouncementSignature, ze as buildApplicationMcpUrl, N as buildChatCompletionsUrl, Be as buildConnectApi, P as buildDeploymentConnectApi, Vi as buildExternalServiceScopeId, Gr as buildFromCache, nn as buildPromptExportEnvelope, rn as buildPromptExportFileName, se as buildPromptOverview, dn as buildPromptPath, F as buildResponsesUrl, Dr as buildSharedItemVirtualPath, Ae as buildSkillContentTree, me as buildSkillFilesPayload, he as buildSkillManifest, ge as buildSkillManifestForSubmit, _e as buildSkillManifestFromFrontmatter, je as buildSkillOverview, bt as buildToolsetAuthorizeUrl, Ve as buildToolsetMcpUrl, ai as clearAttachmentCache, K as composeLocalePayload, zt as createChatStreamApi, i as createCsrfMiddleware, Gt as createDeploymentChangedMessage, ei as createFilesApiClient, Qi as createMcpAppsApiClient, Qn as createMessagePair, j as createPublishApiClient, a as createUnauthorizedMiddleware, ti as createUploadFileWithProgress, V as decodeToolsetId, q as decomposeLocalizedFields, Er as deriveActionProfile, Je as deriveAvailableTabIds, Pn as deriveConversationRowActionState, Ye as deriveFavoriteItems, Or as dialCorePathToRelative, Ci as dialFileToAttachment, wi as dialFilesToAttachments, Ti as dialFolderPathToAttachment, m as downloadAttachment, gt as emitToolsetLoginSuccess, I as encodeDeploymentId, H as encodeToolsetId, Kr as fetchByTab, qr as fetchForSearch, Xe as filterCatalogItemsBySelector, Ze as filterHiddenOwnedItems, L as findDeploymentByIdOrReference, kr as findDialFileByPath, Jr as findFirstSuccessfulCopyMoveItem, Ar as findFolderByVirtualPath, Vt as formatAppVersion, X as formatCalendarDate, C as formatDateYM, w as formatDateYMD, jr as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, Li as getBrowserTimezone, or as getConversationPath, Rn as getConversationSource, Hi as getExternalServiceFallbackName, Kt as getLastDeploymentId, qt as getLastUserMessageToolConfiguration, Ut as getModelIdFromConversationId, Br as getParentFolderPath, Ue as getPublicCatalogEntityFolderPath, Qt as getQuickAppConversationStarters, fn as getRemainingCharacters, rr as getStarterConversationText, ir as getStarterDisplayText, $t as getStarterPopulateText, ar as getStarterSubmitText, en as getStartersFromSchema, Wt as getTimeOfDayGreeting, vt as getToolsetOAuthChannelName, xt as getToolsetRedirectUri, _i as getUrlFileName, Mr as getVirtualPathName, $n as hasActiveToolConfig, Nt as hasAnnouncementContent, oi as hasAttachmentTextSource, Nr as hasDialFileWritePermission, Pr as hasForbiddenNameSymbols, Pt as hasStructuredAnnouncement, o as includesIgnoreCase, St as initiateOAuthLogin, er as isAnswerIncomplete, ur as isAwaitingGenerationResume, r as isConversationNotFoundError, Fr as isCopyMoveDuplicateAllowed, Fi as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, vi as isExternalSourcePreviewable, tr as isMessageChanged, Jt as isMessageStreaming, ce as isOrganisationPromptItem, We as isPublicCatalogEntityId, U as isPublicToolsetId, Ii as isQuickAppSchema, Ir as isShareActionsAllowed, Ri as isValidAbsoluteUrl, zi as isValidFeaturesData, ve as isValidSkillRelativePath, yn as jsDayToApSchedulerDay, Yr as mapCorePermissions, Q as mapDeploymentDetailsDtoToEntityDetails, z as mapDeploymentLimitsDtoToCatalogLimits, B as mapDeploymentLimitsToInput, te as mapDeploymentToCatalogItem, ne as mapDeploymentToolsetCredentials, $ as mapEntityDetailsToCatalogDetails, Xr as mapFileMetadataToDialFile, bn as mapFormValuesToCreateBody, xn as mapFormValuesToUpdateBody, le as mapPromptToCatalogItem, Ge as mapPublishConversationResultDto, Ke as mapPublishHistoryEntryDto, Sn as mapScheduledTaskDtoToFormValues, Zr as mapSearchItem, Me as mapSkillToCatalogItem, ee as mapToolsetCredentials, re as mapToolsetToCatalogItem, Qr as mergeCreatedFolderIntoCache, Yt as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, ye as nameFromPath, Ct as navigateToolsetOAuthPopup, Xt as normalizeResponseFormat, be as normalizeSkillName, Lr as normalizeVirtualPath, ni as openAnnotationAttachment, wt as openToolsetOAuthPopup, Z as padTwoDigits, Ui as parseExternalServiceUrl, Bi as parseFeaturesData, Rr as parseNewFolderVirtualPath, oe as parsePromptResourceUrl, xe as parseSkillManifest, nt as parseSkillManifestDocument, ke as parseSkillResourceUrl, Ur as prepareCopyItems, Di as prepareDownloadDestination, Wr as prepareMoveRenameItems, Ne as readSkillFileBytes, Pe as readSkillFilePreviewBytes, Fe as readSkillManifest, Qe as reconcileFilterTopics, si as referenceAttachmentToPdfCanvasContent, et as resolveCatalogPrimaryAction, ci as resolveCodeCanvasContent, ie as resolveDeploymentFolder, Vr as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, yi as resolveExternalSourceContentType, li as resolveHtmlCanvasContent, ui as resolveImageCanvasContent, di as resolveJsonCanvasContent, J as resolveLocalizedText, fi as resolveMarkdownCanvasContent, He as resolveMcpResourceKind, pi as resolveOoxmlCanvasContent, zr as resolveOwnerCoords, mi as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Ie as resolveSkillFileDownloadPath, Le as resolveSkillManifestFileId, hi as resolveTextCanvasContent, gi as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Ft as sanitizeAnnouncementHtml, It as sanitizeAnnouncementMessageHtml, Vn as sanitizeFileName, Ht as sanitizeFooterHtml, an as serializePromptExport, nr as shouldRerunGenerationOnEdit, Bt as shouldWatchForDisplayNameUpdate, Se as skillFileBytesToBlob, wn as skillFileToAttachment, Hn as splitFileNameExtension, l as stripSurroundingSlashes, u as stripTrailingSlashes, _t as subscribeToolsetLoginSuccess, Y as toBaseLocale, Zt as toOverlayMessages, qe as toPublishEntityType, M as toPublishRuleDto, Un as trimFileNameToByteLimit, Ce as unpackSkillArchive, $r as updateEntry, Fn as useActiveConversationSync, In as useAsyncConfirmDialog, g as useAttachmentAction, Wn as useAttachmentUpload, S as useAttachmentValidation, tt as useCatalogEditNavigation, it as useCatalogItemDetails, Dt as useCatalogToolsetCredentials, Wi as useChatSettingsFormConfig, Yn as useConversationExport, sr as useConversationHandlers, cr as useConversationImport, Ln as useConversationLookupMaps, zn as useConversationPanelItems, lr as useConversationScroll, fr as useConversationSources, dr as useConversationStream, Oi as useDialFileListing, Ni as useDialFileManager, Pi as useDialFileManagerTabConfig, ki as useDialFileMetadata, Ai as useDialFileMutations, ji as useDialFileSharing, Mi as useDialFileUploadBatch, At as useFavoriteEntitiesState, ra as useGridEditingScroll, Bn as useImportFilePicker, ta as useMcpAppHostAdapter, ea as useMcpAppHostContext, $i as useMcpAppTools, tn as useOAuthCallbackCompletion, na as useOpenMcpAppCanvas, Gi as usePageFileDrag, qi as usePanelMaxWidth, gn as usePromptsState, jt as usePublishFolders, Ji as useShareLink, Nn as useShareRecipientsCount, Ot as useSkillDetailsPanelData, En as useSkillEditorLoad, Dn as useSkillEditorSubmit, On as useSkillFileActions, An as useSkillFilePreview, rt as useSkillItemDetails, jn as useSkillsState, Yi as useToolsMenu, Et as useToolsetLogin, qn as useTranscribeAudio, Xi as useUsageData, Ki as useViewportWidth, pn as validatePromptContent, mn as validatePromptDescription, hn as validatePromptName, Cn as validateSkillFileBatch, Hr as virtualPathToApiPath, yt 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.2.0-dev.
|
|
4
|
+
"version": "1.2.0-dev.21",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./index.js",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"dependencies": {
|
|
99
|
-
"@epam/ai-dial-chat-api-client": "1.2.0-dev.
|
|
99
|
+
"@epam/ai-dial-chat-api-client": "1.2.0-dev.21",
|
|
100
100
|
"dompurify": "3.4.15",
|
|
101
101
|
"fflate": "^0.8.3",
|
|
102
102
|
"lru-cache": "^10.4.3",
|
|
@@ -105,20 +105,20 @@
|
|
|
105
105
|
},
|
|
106
106
|
"peerDependencies": {
|
|
107
107
|
"react": "^19.2.8",
|
|
108
|
-
"@epam/ai-dial-attachment-canvas": "1.2.0-dev.
|
|
109
|
-
"@epam/ai-dial-attachment-input": "1.2.0-dev.
|
|
110
|
-
"@epam/ai-dial-builder-form": "1.2.0-dev.
|
|
111
|
-
"@epam/ai-dial-catalog": "1.2.0-dev.
|
|
112
|
-
"@epam/ai-dial-chat-overlay": "1.2.0-dev.
|
|
113
|
-
"@epam/ai-dial-chat-shared": "1.2.0-dev.
|
|
114
|
-
"@epam/ai-dial-mcp-apps": "1.2.0-dev.
|
|
115
|
-
"@epam/ai-dial-publish-panel": "1.2.0-dev.
|
|
116
|
-
"@epam/ai-dial-quotations": "1.2.0-dev.
|
|
108
|
+
"@epam/ai-dial-attachment-canvas": "1.2.0-dev.21",
|
|
109
|
+
"@epam/ai-dial-attachment-input": "1.2.0-dev.21",
|
|
110
|
+
"@epam/ai-dial-builder-form": "1.2.0-dev.21",
|
|
111
|
+
"@epam/ai-dial-catalog": "1.2.0-dev.21",
|
|
112
|
+
"@epam/ai-dial-chat-overlay": "1.2.0-dev.21",
|
|
113
|
+
"@epam/ai-dial-chat-shared": "1.2.0-dev.21",
|
|
114
|
+
"@epam/ai-dial-mcp-apps": "1.2.0-dev.21",
|
|
115
|
+
"@epam/ai-dial-publish-panel": "1.2.0-dev.21",
|
|
116
|
+
"@epam/ai-dial-quotations": "1.2.0-dev.21",
|
|
117
117
|
"@epam/ai-dial-react-file-manager": "^0.2.0",
|
|
118
|
-
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.
|
|
119
|
-
"@epam/ai-dial-share": "1.2.0-dev.
|
|
120
|
-
"@epam/ai-dial-skill-editor": "1.2.0-dev.
|
|
121
|
-
"@epam/ai-dial-source-panel": "1.2.0-dev.
|
|
118
|
+
"@epam/ai-dial-scheduled-tasks": "1.2.0-dev.21",
|
|
119
|
+
"@epam/ai-dial-share": "1.2.0-dev.21",
|
|
120
|
+
"@epam/ai-dial-skill-editor": "1.2.0-dev.21",
|
|
121
|
+
"@epam/ai-dial-source-panel": "1.2.0-dev.21",
|
|
122
122
|
"@epam/ai-dial-ui-kit": "^0.14.2",
|
|
123
123
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
124
124
|
"@epam/pdf-highlighter-kit": "^0.0.19",
|