@epam/ai-dial-chat-hooks 1.3.0-dev.118 → 1.3.0-dev.126
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/api-error/api-error.js +2 -2
- package/api-transport/create-unauthorized-middleware.js +4 -1
- package/attachment/useAttachmentAction/useAttachmentAction.js +5 -8
- package/catalog/map-entity-details-to-catalog.js +1 -1
- package/catalog/map-skill-to-catalog-item.js +1 -5
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
- package/catalog/usePublishFolders/usePublishFolders.js +1 -1
- package/catalog/useSkillItemDetails.js +3 -3
- package/conversation/conversation-draft/conversation-draft-store.js +40 -40
- package/conversation/conversation-transfer/import-conversation.js +7 -8
- package/conversation/conversation-transfer/progress.js +1 -1
- package/conversation/conversation-transfer/zip-export.js +1 -7
- package/conversation/conversation-transfer/zip-import.js +1 -1
- package/conversation/create-chat-stream-api.js +1 -5
- package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +1 -5
- package/conversation/useConversationExport/useConversationExport.js +11 -12
- package/conversation/useConversationHandlers/message-utils.js +2 -2
- package/conversation/useConversationHandlers/useConversationHandlers.js +2 -2
- package/conversation/useConversationImport/useConversationImport.js +24 -24
- package/conversation/useConversationScroll/useConversationScroll.js +2 -6
- package/conversation/useConversationStream/conversation-path.js +2 -2
- package/conversation/useConversationStream/frame-scheduler.js +17 -17
- package/conversation/useConversationStream/generation-resume.js +11 -21
- package/conversation/useConversationStream/useConversationStream.js +39 -60
- package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
- package/conversation-overlay.js +1 -2
- package/conversation-sources.js +1 -2
- package/file-manager-canvas.js +1 -2
- package/files/attachment-types.js +1 -1
- package/files/create-upload-file-with-progress.js +5 -12
- package/files/dial-file-manager-mapping.util.js +7 -7
- package/files/dial-file-to-attachment.js +3 -3
- package/files/source-content.js +1 -1
- package/files/useDialFileListing/useDialFileListing.js +46 -61
- package/files/useDialFileManagerSections/useDialFileManagerSections.js +70 -86
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
- package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +1 -1
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
- package/mcp-apps/useMcpAppTools/useMcpAppTools.js +3 -6
- package/oauth/authorize-url.js +1 -1
- package/oauth/handshake.js +3 -10
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +2 -5
- package/oauth/useToolsetLogin/useToolsetLogin.js +2 -1
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +1 -1
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +13 -13
- package/package.json +16 -16
- package/scheduled-task/scheduled-task-description.js +1 -1
- package/scheduled-task/scheduled-task-trigger.js +1 -1
- package/scheduled-task/use-scheduled-task-runs.js +6 -18
- package/scheduled-task/use-scheduled-tasks.js +1 -1
- package/scroll-anchoring.js +1 -2
- package/shared/application-schema.js +3 -3
- package/shared/cron-day-of-month.js +10 -10
- package/shared/locale.js +2 -2
- package/skill/skill-file-batch-validation.js +18 -17
- package/skill/skill-types.js +1 -1
- package/skill/skill.js +12 -15
- package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
- package/skill/useSkillEditorSubmit.js +1 -5
- package/skills-state.js +1 -2
- package/source-content.js +1 -2
- package/usage/useUsageLimitBanner/useUsageLimitBanner.js +1 -1
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +1 -1
- package/usePageFileDrag/usePageFileDrag.js +3 -3
|
@@ -9,24 +9,25 @@ var o = async (o, s) => {
|
|
|
9
9
|
for (let s of o) {
|
|
10
10
|
let { id: o, file: c, path: l } = s, u, p = i.SupportingFile;
|
|
11
11
|
if (l.toLowerCase() === "skill.md" && l !== "SKILL.md") u = d.manifestCasingInvalid;
|
|
12
|
-
else if (l === "SKILL.md")
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
else if (l === "SKILL.md") {
|
|
13
|
+
if (p = i.Manifest, b += 1, c.size > 1048576) u = d.fileTooLarge(r(e));
|
|
14
|
+
else try {
|
|
15
|
+
let e = await c.text();
|
|
16
|
+
if (e.includes("�")) u = d.manifestInvalidUtf8;
|
|
17
|
+
else {
|
|
18
|
+
let { frontmatter: t, instructions: r } = n(e), i = typeof t.name == "string" ? t.name : "", a = typeof t.description == "string" ? t.description : "";
|
|
19
|
+
!i.trim() || !a.trim() ? u = d.manifestInvalidFrontmatter : b === 1 && (v = {
|
|
20
|
+
candidateId: o,
|
|
21
|
+
name: i,
|
|
22
|
+
description: a,
|
|
23
|
+
frontmatter: t,
|
|
24
|
+
instructions: r
|
|
25
|
+
}, y = c.size);
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
u = d.manifestInvalidFrontmatter;
|
|
25
29
|
}
|
|
26
|
-
}
|
|
27
|
-
u = d.manifestInvalidFrontmatter;
|
|
28
|
-
}
|
|
29
|
-
else l ? t(l) ? m.has(l) || (h.get(l) ?? 0) > 1 ? u = d.pathDuplicate : c.size > 1048576 && (u = d.fileTooLarge(r(e))) : u = d.pathInvalid : u = d.required;
|
|
30
|
+
} else l ? t(l) ? m.has(l) || (h.get(l) ?? 0) > 1 ? u = d.pathDuplicate : c.size > 1048576 && (u = d.fileTooLarge(r(e))) : u = d.pathInvalid : u = d.required;
|
|
30
31
|
!u && p === i.SupportingFile && (_.add(l), g += c.size), f.push({
|
|
31
32
|
candidateId: o,
|
|
32
33
|
status: u ? a.Invalid : a.Valid,
|
package/skill/skill-types.js
CHANGED
|
@@ -2,7 +2,7 @@ import { PUBLIC_BUCKET as e } from "@epam/ai-dial-chat-shared";
|
|
|
2
2
|
//#region src/skill/skill-types.ts
|
|
3
3
|
var t = /* @__PURE__ */ function(e) {
|
|
4
4
|
return e.Personal = "personal", e.SharedWithMe = "sharedWithMe", e.Public = "public", e;
|
|
5
|
-
}({}), n = e, r = "skills/", i =
|
|
5
|
+
}({}), n = e, r = "skills/", i = 262144, a = 1e3, o = 10, s = (e) => {
|
|
6
6
|
if (!e.startsWith(r)) return null;
|
|
7
7
|
let t = e.slice(7), n = t.indexOf("/");
|
|
8
8
|
if (n <= 0) return null;
|
package/skill/skill.js
CHANGED
|
@@ -3,11 +3,11 @@ import { SkillFileNodeKind as a } from "@epam/ai-dial-skill-editor";
|
|
|
3
3
|
import { unzipSync as o } from "fflate";
|
|
4
4
|
import { parse as s, stringify as c } from "yaml";
|
|
5
5
|
//#region src/skill/skill.ts
|
|
6
|
-
var l = "SKILL.md", u = 1048576, d = 16777216, f = 100, p = r, m = `/${p}`, h = (e) => e.endsWith(m) && e.length > m.length, g = (e) => e.slice(0, -m.length), _ = new Set([
|
|
6
|
+
var l = "SKILL.md", u = 1048576, d = 16777216, f = 100, p = r, m = `/${p}`, h = (e) => e.endsWith(m) && e.length > m.length, g = (e) => e.slice(0, -m.length), _ = /* @__PURE__ */ new Set([
|
|
7
7
|
".dial-resource",
|
|
8
8
|
".dial-folder",
|
|
9
9
|
p
|
|
10
|
-
]), v = new Set(["files", "v"]), y = /^[a-zA-Z]:/, b = /[\x00-\x1f]/, x = (e) => {
|
|
10
|
+
]), v = /* @__PURE__ */ new Set(["files", "v"]), y = /^[a-zA-Z]:/, b = /[\x00-\x1f]/, x = (e) => {
|
|
11
11
|
if (e === "" || e.startsWith("/") || y.test(e) || e.includes("\\") || b.test(e)) return !1;
|
|
12
12
|
let t = e.split("/");
|
|
13
13
|
return !(t.some((e) => e === "" || e === "." || e === "..") || t.some((e) => _.has(e)) || v.has(t[0]));
|
|
@@ -25,11 +25,14 @@ var l = "SKILL.md", u = 1048576, d = 16777216, f = 100, p = r, m = `/${p}`, h =
|
|
|
25
25
|
}, T = ({ name: e, description: t, instructions: n }) => `---\n${c({
|
|
26
26
|
name: e,
|
|
27
27
|
description: t
|
|
28
|
-
}).trimEnd()}\n---\n\n${n}`, E = (e, t, n, r) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
}).trimEnd()}\n---\n\n${n}`, E = (e, t, n, r) => {
|
|
29
|
+
let i = {
|
|
30
|
+
...e,
|
|
31
|
+
name: t,
|
|
32
|
+
description: n
|
|
33
|
+
};
|
|
34
|
+
return `---\n${c(i).trimEnd()}\n---\n\n${r}`;
|
|
35
|
+
}, D = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/, O = /^---[ \t]*$/, k = (e) => {
|
|
33
36
|
let t = e.replace(/^\uFEFF/, "").replace(/\r\n/g, "\n").split("\n"), n = t.findIndex((e) => e.trim() !== "");
|
|
34
37
|
return n === -1 || !O.test(t[n]) ? !1 : t.some((e, t) => t > n && O.test(e));
|
|
35
38
|
}, A = (e) => {
|
|
@@ -44,13 +47,7 @@ var l = "SKILL.md", u = 1048576, d = 16777216, f = 100, p = r, m = `/${p}`, h =
|
|
|
44
47
|
let t = o(e), n = t[l];
|
|
45
48
|
if (n == null) throw Error(`Skill archive is missing a root ${l} file`);
|
|
46
49
|
let r = /* @__PURE__ */ new Map(), i = [];
|
|
47
|
-
for (let [e, n] of Object.entries(t))
|
|
48
|
-
if (h(e)) {
|
|
49
|
-
i.push(g(e));
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
e !== p && r.set(e, n);
|
|
53
|
-
}
|
|
50
|
+
for (let [e, n] of Object.entries(t)) e === "SKILL.md" || e.endsWith("/") || (h(e) ? i.push(g(e)) : e !== p && r.set(e, n));
|
|
54
51
|
return {
|
|
55
52
|
manifestText: new TextDecoder().decode(n),
|
|
56
53
|
files: r,
|
|
@@ -67,7 +64,7 @@ var l = "SKILL.md", u = 1048576, d = 16777216, f = 100, p = r, m = `/${p}`, h =
|
|
|
67
64
|
let n = e.filter((e) => e.kind === a.File), r = e.filter((t) => t.kind === a.Folder && !e.some((e) => e.path.startsWith(`${t.path}/`))).map((e) => `${e.path}${m}`);
|
|
68
65
|
return {
|
|
69
66
|
filePaths: [...n.map((e) => e.path), ...r],
|
|
70
|
-
files: [...n.map((e) => N(t.get(e.path)?.bytes ?? new Uint8Array())), ...r.map(() => new Blob([]))]
|
|
67
|
+
files: [...n.map((e) => N(t.get(e.path)?.bytes ?? /* @__PURE__ */ new Uint8Array())), ...r.map(() => new Blob([]))]
|
|
71
68
|
};
|
|
72
69
|
};
|
|
73
70
|
//#endregion
|
|
@@ -51,13 +51,7 @@ var a = "SKILL.md", o = /* @__PURE__ */ function(e) {
|
|
|
51
51
|
b.current || (h("error"), y(void 0), _("unsupportedFilename"));
|
|
52
52
|
}, []), T = t((e) => {
|
|
53
53
|
let t = e[0];
|
|
54
|
-
|
|
55
|
-
if (u(t.name, d)) {
|
|
56
|
-
w();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
_(void 0), x(t);
|
|
60
|
-
}
|
|
54
|
+
t && !b.current && (u(t.name, d) ? w() : (_(void 0), x(t)));
|
|
61
55
|
}, [
|
|
62
56
|
d,
|
|
63
57
|
w,
|
|
@@ -127,11 +127,7 @@ var p = (e, t) => JSON.stringify({
|
|
|
127
127
|
e.name.trim() || (t.name = T.required), e.description.trim() || (t.description = T.required), e.instructions.trim() ? c(e.instructions) && (t.instructions = T.instructionsFrontmatter) : t.instructions = T.required;
|
|
128
128
|
let r = a(e);
|
|
129
129
|
for (let e of Object.keys(r)) t[e] ??= T.tooLong(n[e]);
|
|
130
|
-
|
|
131
|
-
k(t);
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
k({}), j(void 0), N(!1), F(void 0), z.current = e, h ? await H(e) : await V(e);
|
|
130
|
+
Object.keys(t).length > 0 ? k(t) : (k({}), j(void 0), N(!1), F(void 0), z.current = e, h ? await H(e) : await V(e));
|
|
135
131
|
}, [
|
|
136
132
|
I,
|
|
137
133
|
m,
|
package/skills-state.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { e as useSkillsState };
|
|
1
|
+
export { useSkillsState } from "./skill/useSkillsState/useSkillsState.js";
|
package/source-content.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { e as getUrlFileName, t as isExternalSourcePreviewable, n as resolveExternalSourceContentType };
|
|
1
|
+
export { getUrlFileName, isExternalSourcePreviewable, resolveExternalSourceContentType } from "./files/source-content.js";
|
|
@@ -34,7 +34,7 @@ var l = {
|
|
|
34
34
|
refresh: _
|
|
35
35
|
});
|
|
36
36
|
let b = s(() => t(h, f), [h, f]), x = s(() => {
|
|
37
|
-
if (
|
|
37
|
+
if (b != null && e) return {
|
|
38
38
|
dismissalKey: `${e}:${b.period}:${b.severity}`,
|
|
39
39
|
limitText: m(u[b.severity][b.period], { percent: b.usedPercent }),
|
|
40
40
|
reset: n(b.resetsAt, b.period, p, m)
|
|
@@ -9,7 +9,7 @@ var n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
|
9
9
|
return {
|
|
10
10
|
isDismissed: e((e) => r.has(e), [r]),
|
|
11
11
|
dismiss: e((e) => {
|
|
12
|
-
n.has(e) || i(new Set([...n, e]));
|
|
12
|
+
n.has(e) || i(/* @__PURE__ */ new Set([...n, e]));
|
|
13
13
|
}, [])
|
|
14
14
|
};
|
|
15
15
|
}, c = () => {
|
|
@@ -10,13 +10,13 @@ var a = (a = !0, o = !0) => {
|
|
|
10
10
|
}, [l]);
|
|
11
11
|
return t(() => {
|
|
12
12
|
let e = (e) => !!e.dataTransfer?.types.includes("Files"), t = (t) => {
|
|
13
|
-
|
|
13
|
+
p.current && e(t) && (d.current += 1, c(!0));
|
|
14
14
|
}, n = (t) => {
|
|
15
|
-
|
|
15
|
+
p.current && e(t) && (--d.current, d.current <= 0 && (d.current = 0, c(!1)));
|
|
16
16
|
}, r = (t) => {
|
|
17
17
|
e(t) && (t.preventDefault(), p.current);
|
|
18
18
|
}, i = (t) => {
|
|
19
|
-
if (
|
|
19
|
+
if (e(t) && p.current && (t.preventDefault(), d.current = 0, c(!1), f.current)) {
|
|
20
20
|
let e = Array.from(t.dataTransfer?.files ?? []);
|
|
21
21
|
e.length > 0 && u((t) => [...t, ...e]);
|
|
22
22
|
}
|