@epam/ai-dial-chat-hooks 1.3.0-dev.256 → 1.3.0-dev.260
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/catalog-entity-kind.d.ts +31 -0
- package/catalog/catalog-entity-kind.d.ts.map +1 -0
- package/catalog/catalog-entity-kind.js +21 -0
- package/catalog.js +12 -11
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -1
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
- package/conversation/useConversationStream/generation-resume.js +57 -85
- package/conversation/useDeploymentChangeTracking.d.ts.map +1 -1
- package/conversation-sources/stage-citations.d.ts +9 -0
- package/conversation-sources/stage-citations.d.ts.map +1 -0
- package/conversation-sources/stage-citations.js +8 -0
- package/conversation-sources.js +3 -1
- package/entry-points/catalog.d.ts +1 -0
- package/entry-points/catalog.d.ts.map +1 -1
- package/entry-points/conversation-sources.d.ts +1 -0
- package/entry-points/conversation-sources.d.ts.map +1 -1
- package/entry-points/scheduled-tasks.d.ts +1 -0
- package/entry-points/scheduled-tasks.d.ts.map +1 -1
- package/entry-points/skills-state.d.ts +1 -0
- package/entry-points/skills-state.d.ts.map +1 -1
- package/entry-points/utils.d.ts +2 -0
- package/entry-points/utils.d.ts.map +1 -1
- package/external-services/useExternalServiceLogin.d.ts +6 -0
- package/external-services/useExternalServiceLogin.d.ts.map +1 -1
- package/external-services/useExternalServiceLogin.js +14 -12
- package/external-services.js +1 -1
- package/file-manager.js +22 -22
- package/files/create-upload-file-with-progress.d.ts +17 -0
- package/files/create-upload-file-with-progress.d.ts.map +1 -1
- package/files/create-upload-file-with-progress.js +34 -26
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -1
- package/index.js +165 -159
- package/package.json +17 -17
- package/project/project-events.d.ts +14 -0
- package/project/project-events.d.ts.map +1 -0
- package/project/project-events.js +24 -0
- package/project/projects-api-client.d.ts +8 -1
- package/project/projects-api-client.d.ts.map +1 -1
- package/project/projects-api-client.js +5 -0
- package/project/use-projects.d.ts +12 -4
- package/project/use-projects.d.ts.map +1 -1
- package/project/use-projects.js +92 -27
- package/scheduled-task/scheduled-task-next-occurrence.d.ts +9 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -1
- package/scheduled-tasks.js +6 -5
- package/shared/client-channel.d.ts +53 -0
- package/shared/client-channel.d.ts.map +1 -0
- package/shared/client-channel.js +6 -0
- package/shared/read-sse-events.d.ts +10 -0
- package/shared/read-sse-events.d.ts.map +1 -0
- package/shared/read-sse-events.js +33 -0
- package/shared/theme-colors.d.ts +16 -0
- package/shared/theme-colors.d.ts.map +1 -0
- package/shared/theme-colors.js +14 -0
- package/skill/skill-lookup.d.ts +20 -0
- package/skill/skill-lookup.d.ts.map +1 -0
- package/skill/skill-lookup.js +12 -0
- package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -1
- package/skills-state.js +3 -1
- package/usage/map-user-usage-to-model-limits.d.ts.map +1 -1
- package/utils.js +6 -4
|
@@ -75,6 +75,11 @@ export interface ProjectsConfiguredClient {
|
|
|
75
75
|
path: string;
|
|
76
76
|
};
|
|
77
77
|
}, options?: RequestInit) => Promise<RawApiResponse>;
|
|
78
|
+
watchProjectsRaw: (request: {
|
|
79
|
+
watchProjectsBodyDto: {
|
|
80
|
+
ids: string[];
|
|
81
|
+
};
|
|
82
|
+
}, options?: RequestInit) => Promise<RawApiResponse>;
|
|
78
83
|
}
|
|
79
84
|
/** Text fields of a project create or edit request. */
|
|
80
85
|
export interface ProjectFields {
|
|
@@ -136,6 +141,8 @@ export interface ProjectsApiClient {
|
|
|
136
141
|
renameProjectConversation: (conversationId: string, newTitle: string) => Promise<RenameConversationResponseDto>;
|
|
137
142
|
deleteProjectConversation: (conversationId: string) => Promise<void>;
|
|
138
143
|
attachToProjectGeneration: (projectId: string, path: string, signal?: AbortSignal) => Promise<ReadableStream<Uint8Array>>;
|
|
144
|
+
/** Opens the SSE stream of changes to the given projects; a host without it gets no live updates. */
|
|
145
|
+
watchProjects?: (ids: string[], signal?: AbortSignal) => Promise<ReadableStream<Uint8Array>>;
|
|
139
146
|
}
|
|
140
147
|
/**
|
|
141
148
|
* Splits a project conversation id `projects/{bucket}/{projectPath…}/conversations/{name}`
|
|
@@ -152,6 +159,6 @@ export declare const buildCreateConversationDto: ({ firstMessage, deploymentId,
|
|
|
152
159
|
* File names travel as JSON fields, positionally paired with `files`,
|
|
153
160
|
* because the BFF never trusts a multipart part's own filename.
|
|
154
161
|
*/
|
|
155
|
-
export declare const createProjectsApiClient: (client: ProjectsConfiguredClient) => ProjectsApiClient
|
|
162
|
+
export declare const createProjectsApiClient: (client: ProjectsConfiguredClient) => Required<ProjectsApiClient>;
|
|
156
163
|
export {};
|
|
157
164
|
//# sourceMappingURL=projects-api-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,11 @@ var e = (e) => {
|
|
|
75
75
|
}, ...n(i));
|
|
76
76
|
if (!a.body) throw Error("Attach endpoint returned no response body");
|
|
77
77
|
return a.body;
|
|
78
|
+
},
|
|
79
|
+
watchProjects: async (t, r) => {
|
|
80
|
+
let { raw: i } = await e.watchProjectsRaw({ watchProjectsBodyDto: { ids: t } }, ...n(r));
|
|
81
|
+
if (!i.body) throw Error("Watch endpoint returned no response body");
|
|
82
|
+
return i.body;
|
|
78
83
|
}
|
|
79
84
|
});
|
|
80
85
|
//#endregion
|
|
@@ -2,14 +2,22 @@ import { ProjectItem, ProjectSource } from '@epam/ai-dial-projects';
|
|
|
2
2
|
import { ProjectsApiClient } from './projects-api-client';
|
|
3
3
|
/**
|
|
4
4
|
* Loads the projects the session user can see, mapped to the Projects lib's
|
|
5
|
-
* cards
|
|
6
|
-
* token, so an enabled page is
|
|
7
|
-
* request is aborted on unmount or
|
|
5
|
+
* cards, and keeps them current while mounted. Loading is derived from
|
|
6
|
+
* whether a result answers the current reload token, so an enabled page is
|
|
7
|
+
* loading from its very first render. The request is aborted on unmount or
|
|
8
|
+
* when `enabled` turns false.
|
|
9
|
+
*
|
|
10
|
+
* When the client offers `watchProjects`, a successful load opens one watch
|
|
11
|
+
* stream for the listed projects: an update moves a card's `updatedAt`
|
|
12
|
+
* forward and a delete removes it. A stream that drops is reopened with a
|
|
13
|
+
* bounded backoff and followed by a silent reload, so changes made during
|
|
14
|
+
* the gap are not lost; a watch that cannot be opened at all is not retried
|
|
15
|
+
* for the rest of the visit.
|
|
8
16
|
*
|
|
9
17
|
* @param client - Configured project requests, from `createProjectsApiClient`; it must be referentially stable, because a new object reloads.
|
|
10
18
|
* @param enabled - Whether the page is enabled; no request is sent while `false`.
|
|
11
19
|
*/
|
|
12
|
-
export declare const useProjects: (client: Pick<ProjectsApiClient, "listProjects">, enabled: boolean) => {
|
|
20
|
+
export declare const useProjects: (client: Pick<ProjectsApiClient, "listProjects" | "watchProjects">, enabled: boolean) => {
|
|
13
21
|
projects: ProjectItem[];
|
|
14
22
|
incompleteSources: ProjectSource[];
|
|
15
23
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-projects.d.ts","sourceRoot":"","sources":["../../src/project/use-projects.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-projects.d.ts","sourceRoot":"","sources":["../../src/project/use-projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAuC/D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,eAAe,CAAC,EACjE,SAAS,OAAO;;;;;;CAoIjB,CAAC"}
|
package/project/use-projects.js
CHANGED
|
@@ -1,46 +1,111 @@
|
|
|
1
1
|
import { mapProjectDtoToItem as e, mapProjectSource as t } from "./project-mapping.js";
|
|
2
|
-
import {
|
|
2
|
+
import { readSseEvents as n } from "../shared/read-sse-events.js";
|
|
3
|
+
import { applyProjectEvent as r, parseProjectWatchEvent as i } from "./project-events.js";
|
|
4
|
+
import { useCallback as a, useEffect as o, useRef as s, useState as c } from "react";
|
|
3
5
|
//#region src/project/use-projects.ts
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
var l = 1e3, u = [
|
|
7
|
+
1e3,
|
|
8
|
+
2e3,
|
|
9
|
+
4e3,
|
|
10
|
+
8e3,
|
|
11
|
+
16e3
|
|
12
|
+
], d = "\n", f = ({ items: n, incompleteSources: r }, i) => {
|
|
13
|
+
let a = n.map(e);
|
|
14
|
+
return {
|
|
15
|
+
reloadToken: i,
|
|
16
|
+
projects: a,
|
|
17
|
+
incompleteSources: r.map(t),
|
|
18
|
+
hasError: !1,
|
|
19
|
+
watchKey: a.slice(0, l).map(({ id: e }) => e).sort().join(d)
|
|
20
|
+
};
|
|
21
|
+
}, p = (e, t) => {
|
|
22
|
+
let [l, p] = c(0), [m, h] = c(), g = s(!1), _ = s(void 0);
|
|
23
|
+
o(() => {
|
|
24
|
+
if (!t) return;
|
|
8
25
|
let n = new AbortController();
|
|
9
26
|
return (async () => {
|
|
10
27
|
try {
|
|
11
|
-
let
|
|
28
|
+
let t = await e.listProjects(n.signal);
|
|
12
29
|
if (n.signal.aborted) return;
|
|
13
|
-
|
|
14
|
-
reloadToken: s,
|
|
15
|
-
projects: r.map(e),
|
|
16
|
-
incompleteSources: i.map(t),
|
|
17
|
-
hasError: !1
|
|
18
|
-
});
|
|
30
|
+
h(f(t, l));
|
|
19
31
|
} catch {
|
|
20
32
|
if (n.signal.aborted) return;
|
|
21
|
-
|
|
22
|
-
reloadToken:
|
|
33
|
+
h({
|
|
34
|
+
reloadToken: l,
|
|
23
35
|
projects: [],
|
|
24
36
|
incompleteSources: [],
|
|
25
|
-
hasError: !0
|
|
37
|
+
hasError: !0,
|
|
38
|
+
watchKey: ""
|
|
26
39
|
});
|
|
27
40
|
}
|
|
28
41
|
})(), () => n.abort();
|
|
29
42
|
}, [
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
43
|
+
e,
|
|
44
|
+
t,
|
|
45
|
+
l
|
|
46
|
+
]);
|
|
47
|
+
let v = a(async () => {
|
|
48
|
+
_.current?.abort();
|
|
49
|
+
let t = new AbortController();
|
|
50
|
+
_.current = t;
|
|
51
|
+
try {
|
|
52
|
+
let n = await e.listProjects(t.signal);
|
|
53
|
+
if (t.signal.aborted) return;
|
|
54
|
+
h((e) => e == null || e.hasError ? e : f(n, e.reloadToken));
|
|
55
|
+
} catch {}
|
|
56
|
+
}, [e]);
|
|
57
|
+
o(() => () => _.current?.abort(), []);
|
|
58
|
+
let y = m?.reloadToken === l ? m : void 0, b = t ? y?.watchKey ?? "" : "", { watchProjects: x } = e;
|
|
59
|
+
o(() => {
|
|
60
|
+
if (x == null || b === "" || g.current) return;
|
|
61
|
+
let e = b.split(d), t = new AbortController(), a, o = (e) => {
|
|
62
|
+
let n = i(e);
|
|
63
|
+
return n != null && h((e) => {
|
|
64
|
+
if (e == null) return e;
|
|
65
|
+
let t = r(e.projects, n);
|
|
66
|
+
return t === e.projects ? e : {
|
|
67
|
+
...e,
|
|
68
|
+
projects: t
|
|
69
|
+
};
|
|
70
|
+
}), t.signal.aborted;
|
|
71
|
+
}, s = async (r, i) => {
|
|
72
|
+
let a;
|
|
73
|
+
try {
|
|
74
|
+
a = await x(e, t.signal);
|
|
75
|
+
} catch {
|
|
76
|
+
if (t.signal.aborted) return;
|
|
77
|
+
if (!i) {
|
|
78
|
+
g.current = !0;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
c(r + 1);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
i && v(), await n(a, o), !t.signal.aborted && c(0);
|
|
85
|
+
}, c = (e) => {
|
|
86
|
+
let t = u[e];
|
|
87
|
+
t == null ? g.current = !0 : a = setTimeout(() => {
|
|
88
|
+
s(e, !0);
|
|
89
|
+
}, t);
|
|
90
|
+
};
|
|
91
|
+
return s(0, !1), () => {
|
|
92
|
+
t.abort(), clearTimeout(a);
|
|
93
|
+
};
|
|
94
|
+
}, [
|
|
95
|
+
x,
|
|
96
|
+
b,
|
|
97
|
+
v
|
|
33
98
|
]);
|
|
34
|
-
let
|
|
35
|
-
|
|
36
|
-
}, [])
|
|
99
|
+
let S = a(() => {
|
|
100
|
+
p((e) => e + 1);
|
|
101
|
+
}, []);
|
|
37
102
|
return {
|
|
38
|
-
projects:
|
|
39
|
-
incompleteSources:
|
|
40
|
-
isLoading:
|
|
41
|
-
hasError:
|
|
42
|
-
retry:
|
|
103
|
+
projects: y?.projects ?? [],
|
|
104
|
+
incompleteSources: y?.incompleteSources ?? [],
|
|
105
|
+
isLoading: t && y == null,
|
|
106
|
+
hasError: y?.hasError ?? !1,
|
|
107
|
+
retry: S
|
|
43
108
|
};
|
|
44
109
|
};
|
|
45
110
|
//#endregion
|
|
46
|
-
export {
|
|
111
|
+
export { p as useProjects };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScheduleCronDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the next UTC time at which a cron trigger with a fixed
|
|
4
|
+
* `hour`/`minute` fires, honouring its `day_of_week` (Weekly) or `day`
|
|
5
|
+
* (Monthly) constraint. Returns `undefined` when the fields are not plain
|
|
6
|
+
* values this helper can evaluate.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getNextCronOccurrence: (cron: ScheduleCronDto, from?: Date) => Date | undefined;
|
|
9
|
+
//# sourceMappingURL=scheduled-task-next-occurrence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduled-task-next-occurrence.d.ts","sourceRoot":"","sources":["../../src/scheduled-task/scheduled-task-next-occurrence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA2BrE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,eAAe,EACrB,OAAM,IAAiB,KACtB,IAAI,GAAG,SA4BT,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/scheduled-task/scheduled-task-next-occurrence.ts
|
|
2
|
+
var e = "last", t = /^\d+$/, n = (t, n, r) => {
|
|
3
|
+
if (n != null) return (Number(n) + 1) % 7 === t.getUTCDay();
|
|
4
|
+
if (r === e) {
|
|
5
|
+
let e = new Date(t);
|
|
6
|
+
return e.setUTCDate(t.getUTCDate() + 1), e.getUTCDate() === 1;
|
|
7
|
+
}
|
|
8
|
+
return r == null || Number(r) === t.getUTCDate();
|
|
9
|
+
}, r = (r, i = /* @__PURE__ */ new Date()) => {
|
|
10
|
+
let { hour: a, minute: o, day_of_week: s, day: c } = r.fields;
|
|
11
|
+
if (!a || !o || !t.test(a) || !t.test(o) || s != null && !/^[0-6]$/.test(s) || c != null && c !== e && !t.test(c)) return;
|
|
12
|
+
let l = new Date(i);
|
|
13
|
+
l.setUTCHours(Number(a), Number(o), 0, 0);
|
|
14
|
+
for (let e = 0; e <= 366; e++) {
|
|
15
|
+
if (l > i && n(l, s, c)) return l;
|
|
16
|
+
l.setUTCDate(l.getUTCDate() + 1);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { r as getNextCronOccurrence };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useActiveScheduledTaskDetails.d.ts","sourceRoot":"","sources":["../../src/scheduled-task/useActiveScheduledTaskDetails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"useActiveScheduledTaskDetails.d.ts","sourceRoot":"","sources":["../../src/scheduled-task/useActiveScheduledTaskDetails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,6CAA6C;AAC7C,MAAM,MAAM,yBAAyB,GAAG,CACtC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/B,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,SAAS,EAAE,8BAA8B,CAAC;IAC1C,8CAA8C;IAC9C,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9B,8CAA8C;IAC9C,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,uDAAuD;IACvD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AACD,uFAAuF;AACvF,eAAO,MAAM,6BAA6B,GACxC,YAAY,MAAM,GAAG,SAAS,EAC9B,SAAS,yBAAyB,KACjC,0BAyDF,CAAC"}
|
package/scheduled-tasks.js
CHANGED
|
@@ -5,8 +5,9 @@ import { prepareScheduledTaskCreateBody as o, prepareScheduledTaskUpdateBody as
|
|
|
5
5
|
import { createScheduledTasksApiClient as c } from "./scheduled-task/scheduled-tasks-api-client.js";
|
|
6
6
|
import { useScheduledTasks as l } from "./scheduled-task/use-scheduled-tasks.js";
|
|
7
7
|
import { mergeRunsById as u, useScheduledTaskRuns as d } from "./scheduled-task/use-scheduled-task-runs.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
8
|
+
import { getNextCronOccurrence as f } from "./scheduled-task/scheduled-task-next-occurrence.js";
|
|
9
|
+
import { checkScheduledTaskAuthSessionError as p } from "./scheduled-task/check-scheduled-task-auth-session-error.js";
|
|
10
|
+
import { useScheduledTaskSkillDisplayNames as m } from "./scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js";
|
|
11
|
+
import { ActiveScheduledTaskDetailState as h, ActiveScheduledTaskStatus as g, resolveActiveScheduledTask as _ } from "./scheduled-task/active-scheduled-task.js";
|
|
12
|
+
import { useActiveScheduledTaskDetails as v } from "./scheduled-task/useActiveScheduledTaskDetails.js";
|
|
13
|
+
export { h as ActiveScheduledTaskDetailState, g as ActiveScheduledTaskStatus, t as ScheduledTaskTriggerDescriptionKind, e as UnsupportedTriggerReason, p as checkScheduledTaskAuthSessionError, c as createScheduledTasksApiClient, n as describeScheduledTaskTrigger, f as getNextCronOccurrence, r as mapFormValuesToCreateBody, i as mapFormValuesToUpdateBody, a as mapScheduledTaskDtoToFormValues, u as mergeRunsById, o as prepareScheduledTaskCreateBody, s as prepareScheduledTaskUpdateBody, _ as resolveActiveScheduledTask, v as useActiveScheduledTaskDetails, d as useScheduledTaskRuns, m as useScheduledTaskSkillDisplayNames, l as useScheduledTasks };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** A DIAL Core client-channel RPC request event, as framed on the `subscribe` SSE stream. */
|
|
2
|
+
export interface ClientChannelRpcRequest {
|
|
3
|
+
/** RPC correlation id the host answers with. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** RPC method name, e.g. `TOOLSET_SIGNIN_METHOD`. */
|
|
6
|
+
method: string;
|
|
7
|
+
/** Method-specific parameters. */
|
|
8
|
+
params?: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
/** Method name for a mid-completion toolset sign-in interrupt. */
|
|
11
|
+
export declare const TOOLSET_SIGNIN_METHOD = "toolset/signin";
|
|
12
|
+
/** Method name for a mid-completion application external-service sign-in interrupt. */
|
|
13
|
+
export declare const EXTERNAL_SERVICE_SIGNIN_METHOD = "external-service/signin";
|
|
14
|
+
/** Kind of sign-in a pending client-channel event asks for. */
|
|
15
|
+
export declare enum PendingSigninEventKind {
|
|
16
|
+
/** A `toolset/signin` request. */
|
|
17
|
+
Toolset = "toolset",
|
|
18
|
+
/** An `external-service/signin` request. */
|
|
19
|
+
ExternalService = "external-service"
|
|
20
|
+
}
|
|
21
|
+
/** A pending `toolset/signin` event awaiting a login/decline resolution. */
|
|
22
|
+
export interface PendingToolsetSigninEvent {
|
|
23
|
+
/** Discriminant. */
|
|
24
|
+
kind: PendingSigninEventKind.Toolset;
|
|
25
|
+
/** RPC correlation id — every login/decline action resolves exactly this id. */
|
|
26
|
+
id: string;
|
|
27
|
+
/** Id of the toolset to sign in to. */
|
|
28
|
+
toolsetId: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A pending `external-service/signin` event awaiting a login/decline
|
|
32
|
+
* resolution. The underlying RPC event's `params.url` is shaped
|
|
33
|
+
* `applications/{bucket}/{app}/external_services/{name}` (parsed by
|
|
34
|
+
* `parseExternalServiceUrl`): `appId` is the application's own resource id
|
|
35
|
+
* (used to fetch its details for display metadata), `serviceName` keys the
|
|
36
|
+
* application's `external_services` map for this specific dependency's
|
|
37
|
+
* `displayName`/`authSettings`, and is also required (rejoined with `appId`
|
|
38
|
+
* via `buildExternalServiceScopeId`) as the exact scope id DIAL Core expects
|
|
39
|
+
* for sign-in/sign-out.
|
|
40
|
+
*/
|
|
41
|
+
export interface PendingExternalServiceSigninEvent {
|
|
42
|
+
/** Discriminant. */
|
|
43
|
+
kind: PendingSigninEventKind.ExternalService;
|
|
44
|
+
/** RPC correlation id — every login/decline action resolves exactly this id. */
|
|
45
|
+
id: string;
|
|
46
|
+
/** Resource id of the application that depends on the service. */
|
|
47
|
+
appId: string;
|
|
48
|
+
/** Key of the service in the application's `external_services` map. */
|
|
49
|
+
serviceName: string;
|
|
50
|
+
}
|
|
51
|
+
/** A pending sign-in event of either kind. */
|
|
52
|
+
export type PendingSigninEvent = PendingToolsetSigninEvent | PendingExternalServiceSigninEvent;
|
|
53
|
+
//# sourceMappingURL=client-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-channel.d.ts","sourceRoot":"","sources":["../../src/shared/client-channel.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,uFAAuF;AACvF,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE,+DAA+D;AAC/D,oBAAY,sBAAsB;IAChC,kCAAkC;IAClC,OAAO,YAAY;IACnB,4CAA4C;IAC5C,eAAe,qBAAqB;CACrC;AAED,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,oBAAoB;IACpB,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACrC,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iCAAiC;IAChD,oBAAoB;IACpB,IAAI,EAAE,sBAAsB,CAAC,eAAe,CAAC;IAC7C,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,MAAM,kBAAkB,GAC5B,yBAAyB,GAAG,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/shared/client-channel.ts
|
|
2
|
+
var e = "toolset/signin", t = "external-service/signin", n = /* @__PURE__ */ function(e) {
|
|
3
|
+
return e.Toolset = "toolset", e.ExternalService = "external-service", e;
|
|
4
|
+
}({});
|
|
5
|
+
//#endregion
|
|
6
|
+
export { t as EXTERNAL_SERVICE_SIGNIN_METHOD, n as PendingSigninEventKind, e as TOOLSET_SIGNIN_METHOD };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads a newline-delimited SSE stream, JSON-decoding each `data:` line and
|
|
3
|
+
* passing it to `onEvent`. Stops reading — and always releases the reader —
|
|
4
|
+
* as soon as `onEvent` returns `true`, when the stream ends, or when
|
|
5
|
+
* `reader.read()` rejects (a network error, or the caller aborting the
|
|
6
|
+
* stream's own `AbortSignal`, e.g. on timeout). Malformed lines and
|
|
7
|
+
* non-`data:` lines (comments, keepalives) are skipped silently.
|
|
8
|
+
*/
|
|
9
|
+
export declare const readSseEvents: <TEvent>(stream: ReadableStream<Uint8Array>, onEvent: (event: TEvent) => Promise<boolean> | boolean) => Promise<void>;
|
|
10
|
+
//# sourceMappingURL=read-sse-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-sse-events.d.ts","sourceRoot":"","sources":["../../src/shared/read-sse-events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAU,MAAM,EACxC,QAAQ,cAAc,CAAC,UAAU,CAAC,EAClC,SAAS,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,KACrD,OAAO,CAAC,IAAI,CAyCd,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/shared/read-sse-events.ts
|
|
2
|
+
var e = async (e, t) => {
|
|
3
|
+
let n = e.getReader(), r = new TextDecoder(), i = "";
|
|
4
|
+
try {
|
|
5
|
+
for (;;) {
|
|
6
|
+
let { done: e, value: a } = await n.read();
|
|
7
|
+
if (e) break;
|
|
8
|
+
i += r.decode(a, { stream: !0 });
|
|
9
|
+
let o = i.split("\n");
|
|
10
|
+
i = o.pop() ?? "";
|
|
11
|
+
let s = !1;
|
|
12
|
+
for (let e of o) {
|
|
13
|
+
let n = e.trim();
|
|
14
|
+
if (!n.startsWith("data:")) continue;
|
|
15
|
+
let r = n.slice(5).trim(), i;
|
|
16
|
+
try {
|
|
17
|
+
i = JSON.parse(r);
|
|
18
|
+
} catch {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (await t(i)) {
|
|
22
|
+
s = !0;
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (s) break;
|
|
27
|
+
}
|
|
28
|
+
} catch {} finally {
|
|
29
|
+
n.releaseLock();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { e as readSseEvents };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Colour scheme the operating system reports through `prefers-color-scheme`. */
|
|
2
|
+
export declare enum ColorScheme {
|
|
3
|
+
/** The OS asks for a dark scheme. */
|
|
4
|
+
Dark = "dark",
|
|
5
|
+
/** The OS asks for a light scheme, or states no preference. */
|
|
6
|
+
Light = "light"
|
|
7
|
+
}
|
|
8
|
+
/** Returns the colour scheme the OS currently prefers. */
|
|
9
|
+
export declare const getOsPreferredTheme: () => ColorScheme;
|
|
10
|
+
/**
|
|
11
|
+
* Writes `colors` to `element` as `--<key>` custom properties after removing
|
|
12
|
+
* the ones the previous call wrote to that element. Without `colors` it only
|
|
13
|
+
* removes them; properties it never wrote are left alone.
|
|
14
|
+
*/
|
|
15
|
+
export declare const applyThemeColors: (element: HTMLElement, colors?: Readonly<Record<string, string>>) => void;
|
|
16
|
+
//# sourceMappingURL=theme-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-colors.d.ts","sourceRoot":"","sources":["../../src/shared/theme-colors.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,oBAAY,WAAW;IACrB,qCAAqC;IACrC,IAAI,SAAS;IACb,+DAA+D;IAC/D,KAAK,UAAU;CAChB;AAED,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,QAAO,WAGhB,CAAC;AAWxB;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,WAAW,EACpB,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACxC,IAkBF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/shared/theme-colors.ts
|
|
2
|
+
var e = /* @__PURE__ */ function(e) {
|
|
3
|
+
return e.Dark = "dark", e.Light = "light", e;
|
|
4
|
+
}({}), t = () => window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light", n = /* @__PURE__ */ new WeakMap(), r = (e, t) => {
|
|
5
|
+
let r = n.get(e);
|
|
6
|
+
if (r && (r.forEach((t) => e.style.removeProperty(t)), n.delete(e)), !t) return;
|
|
7
|
+
let i = Object.entries(t).map(([t, n]) => {
|
|
8
|
+
let r = `--${t}`;
|
|
9
|
+
return e.style.setProperty(r, n), r;
|
|
10
|
+
});
|
|
11
|
+
i.length > 0 && n.set(e, i);
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { e as ColorScheme, r as applyThemeColors, t as getOsPreferredTheme };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SkillMetadataItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
/** Skill listings a URL is looked up in, as a host's skills state exposes them. */
|
|
3
|
+
export interface SkillListingPools {
|
|
4
|
+
/** Skills the user owns. */
|
|
5
|
+
skills: SkillMetadataItemDto[];
|
|
6
|
+
/** Skills shared with the user. */
|
|
7
|
+
sharedWithMe?: SkillMetadataItemDto[];
|
|
8
|
+
/** Organisation-published skills. */
|
|
9
|
+
publicSkills?: SkillMetadataItemDto[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Finds the listed skill a resource URL names, across the personal, shared and
|
|
13
|
+
* organisation listings. Both sides are compared per-segment normalized, so a
|
|
14
|
+
* URL that arrives decoded (e.g. read from a query string) still matches the
|
|
15
|
+
* percent-encoded `url` DIAL Core lists.
|
|
16
|
+
* @param pools - the skill listings to search
|
|
17
|
+
* @param url - `skills/{bucket}/{path}` resource URL, encoded or decoded
|
|
18
|
+
*/
|
|
19
|
+
export declare const findSkillByUrl: ({ skills, sharedWithMe, publicSkills }: SkillListingPools, url: string) => SkillMetadataItemDto | undefined;
|
|
20
|
+
//# sourceMappingURL=skill-lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-lookup.d.ts","sourceRoot":"","sources":["../../src/skill/skill-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,mCAAmC;IACnC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC,qCAAqC;IACrC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,wCAAwC,iBAAiB,EACzD,KAAK,MAAM,KACV,oBAAoB,GAAG,SAKzB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { normalizeDeploymentId as e } from "../catalog/deployment-id.js";
|
|
2
|
+
//#region src/skill/skill-lookup.ts
|
|
3
|
+
var t = ({ skills: t, sharedWithMe: n, publicSkills: r }, i) => {
|
|
4
|
+
let a = e(i);
|
|
5
|
+
return [
|
|
6
|
+
...t,
|
|
7
|
+
...n ?? [],
|
|
8
|
+
...r ?? []
|
|
9
|
+
].find((t) => e(t.url) === a);
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { t as findSkillByUrl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkillFilePreviewSyncController.d.ts","sourceRoot":"","sources":["../../src/skill-editor/useSkillFilePreviewSyncController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"useSkillFilePreviewSyncController.d.ts","sourceRoot":"","sources":["../../src/skill-editor/useSkillFilePreviewSyncController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAErC,uDAAuD;AACvD,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AACD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,0DAA0D;IAC1D,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;IAChD,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,MAAM,OAAO,CAAC;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,CACpB,UAAU,EAAE,iBAAiB,EAC7B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,OAAO,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,yCAAyC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AACD,qFAAqF;AACrF,eAAO,MAAM,iCAAiC,GAAI,sKAY/C,2BAA2B;;;CA0F7B,CAAC"}
|
package/skills-state.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import { findSkillByUrl as e } from "./skill/skill-lookup.js";
|
|
2
|
+
import { useSkillsState as t } from "./skill/useSkillsState/useSkillsState.js";
|
|
3
|
+
export { e as findSkillByUrl, t as useSkillsState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-user-usage-to-model-limits.d.ts","sourceRoot":"","sources":["../../src/usage/map-user-usage-to-model-limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAIV,wBAAwB,EACxB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAMvC,
|
|
1
|
+
{"version":3,"file":"map-user-usage-to-model-limits.d.ts","sourceRoot":"","sources":["../../src/usage/map-user-usage-to-model-limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAIV,wBAAwB,EACxB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,kEAAkE;AAClE,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAE5E,oFAAoF;AACpF,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AAE1E,2EAA2E;AAC3E,KAAK,kBAAkB,GAAG,CACxB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,EACxD,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;AAmBZ;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;IACvC,oEAAoE;;IAEpE,oEAAoE;;IAEpE,oEAAoE;;IAEpE,yFAAyF;;IAEzF,qFAAqF;;IAErF,iDAAiD;;IAEjD,kEAAkE;;IAElE,oEAAoE;;IAEpE,wGAAwG;;IAExG,sEAAsE;;IAEtE,sHAAsH;;IAEtH,oEAAoE;;IAEpE,8EAA8E;;IAE9E,sFAAsF;;CAE9E,CAAC;AA6HX;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,GAC/C,OAAO,yBAAyB,GAAG,SAAS,EAC5C,cAAc,MAAM,EACpB,GAAG,SAAS,EACZ,kBAAiB,eAA6B,KAC7C,wBAsBD,CAAC;AAkMH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,yBAAyB,GAAG,SAAS,EAC5C,iBAAiB,iBAAiB,EAAE,EACpC,cAAc,MAAM,EACpB,GAAG,SAAS,EACZ,gBAAgB,cAAc,EAC9B,oBAAoB,kBAAkB,KACrC,aAAa,EAgIf,CAAC"}
|
package/utils.js
CHANGED
|
@@ -13,7 +13,9 @@ import { apSchedulerDayToJsDay as R, jsDayToApSchedulerDay as z } from "./shared
|
|
|
13
13
|
import { getBrowserTimezone as B } from "./shared/browser-timezone.js";
|
|
14
14
|
import { isValidAbsoluteUrl as V, isValidFeaturesData as H, parseFeaturesData as U } from "./shared/custom-apps.js";
|
|
15
15
|
import { buildExternalServiceScopeId as W, getExternalServiceFallbackName as G, parseExternalServiceUrl as K } from "./shared/external-services.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
|
|
16
|
+
import { EXTERNAL_SERVICE_SIGNIN_METHOD as q, PendingSigninEventKind as J, TOOLSET_SIGNIN_METHOD as Y } from "./shared/client-channel.js";
|
|
17
|
+
import { ColorScheme as X, applyThemeColors as Z, getOsPreferredTheme as Q } from "./shared/theme-colors.js";
|
|
18
|
+
import { useUsageData as $ } from "./usage/useUsageData/useUsageData.js";
|
|
19
|
+
import { triggerBrowserDownload as ee } from "./files/browser-download.js";
|
|
20
|
+
import { usePersistedState as te } from "./shared/usePersistedState/usePersistedState.js";
|
|
21
|
+
export { X as ColorScheme, q as EXTERNAL_SERVICE_SIGNIN_METHOD, D as PROMPT_CONTENT_MAX_LENGTH, O as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, k as PROMPT_DESCRIPTION_MAX_LENGTH, A as PROMPT_NAME_MAX_LENGTH, J as PendingSigninEventKind, j as PromptFieldError, y as PromptSource, Y as TOOLSET_SIGNIN_METHOD, R as apSchedulerDayToJsDay, d as appendLocaleCode, Z as applyThemeColors, f as buildAdditionalLocaleOptions, W as buildExternalServiceScopeId, w as buildPromptExportEnvelope, T as buildPromptExportFileName, M as buildPromptPath, p as composeLocalePayload, i as createCsrfMiddleware, a as createUnauthorizedMiddleware, m as decomposeLocalizedFields, _ as formatCalendarDate, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, B as getBrowserTimezone, G as getExternalServiceFallbackName, Q as getOsPreferredTheme, N as getRemainingCharacters, x as getRunnerSchemas, o as includesIgnoreCase, r as isConversationNotFoundError, S as isCustomAppSchema, C as isQuickAppSchema, V as isValidAbsoluteUrl, H as isValidFeaturesData, z as jsDayToApSchedulerDay, v as padTwoDigits, K as parseExternalServiceUrl, U as parseFeaturesData, b as parsePromptResourceUrl, h as resolveLocalizedText, s as safeDecodeURI, c as safeDecodeURIComponent, E as serializePromptExport, l as stripSurroundingSlashes, u as stripTrailingSlashes, g as toBaseLocale, ee as triggerBrowserDownload, te as usePersistedState, L as usePromptsState, $ as useUsageData, P as validatePromptContent, F as validatePromptDescription, I as validatePromptName };
|