@epam/ai-dial-chat-hooks 1.3.0-dev.282 → 1.3.0-dev.289

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.
Files changed (75) hide show
  1. package/api-error/api-error.d.ts +2 -0
  2. package/api-error/api-error.d.ts.map +1 -1
  3. package/api-error/api-error.js +31 -23
  4. package/catalog/map-skill-to-catalog-item.js +19 -19
  5. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +2 -4
  6. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -1
  7. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +94 -112
  8. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
  9. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
  10. package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
  11. package/catalog/usePublishFolders/usePublishFolders.d.ts +8 -0
  12. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -1
  13. package/catalog/usePublishFolders/usePublishFolders.js +32 -29
  14. package/catalog.js +11 -10
  15. package/conversation/conversation-title-stream.d.ts +33 -0
  16. package/conversation/conversation-title-stream.d.ts.map +1 -0
  17. package/conversation/conversation-title-stream.js +103 -0
  18. package/conversation/useConversationExport/useConversationExport.js +46 -46
  19. package/conversation/useConversationHandlers/useConversationHandlers.js +39 -39
  20. package/conversation/useConversationStream/useConversationStream.js +93 -93
  21. package/conversation.js +5 -4
  22. package/entry-points/catalog.d.ts +1 -0
  23. package/entry-points/catalog.d.ts.map +1 -1
  24. package/entry-points/conversation.d.ts +1 -0
  25. package/entry-points/conversation.d.ts.map +1 -1
  26. package/entry-points/project.d.ts +3 -0
  27. package/entry-points/project.d.ts.map +1 -1
  28. package/files/dial-file-manager-copy-move.util.js +16 -16
  29. package/files/dial-file-manager-mapping.util.js +17 -17
  30. package/files/useDialFileListing/useDialFileListing.js +113 -113
  31. package/files/useDialFileMutations/useDialFileMutations.js +47 -47
  32. package/index.d.ts +5 -0
  33. package/index.d.ts.map +1 -1
  34. package/index.js +213 -208
  35. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +7 -1
  36. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
  37. package/oauth/useToolsetLogin/useToolsetLogin.js +40 -21
  38. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +10 -10
  39. package/package.json +18 -18
  40. package/project/project-events.d.ts +2 -2
  41. package/project/project-events.d.ts.map +1 -1
  42. package/project/project-events.js +3 -2
  43. package/project/project-mapping.js +12 -12
  44. package/project/project-refresh.d.ts +12 -0
  45. package/project/project-refresh.d.ts.map +1 -0
  46. package/project/project-refresh.js +6 -0
  47. package/project/project-watch-stream.d.ts +26 -0
  48. package/project/project-watch-stream.d.ts.map +1 -0
  49. package/project/project-watch-stream.js +39 -0
  50. package/project/projects-api-client.d.ts +6 -0
  51. package/project/projects-api-client.d.ts.map +1 -1
  52. package/project/projects-api-client.js +1 -0
  53. package/project/use-project-actions.js +12 -12
  54. package/project/use-project-conversations.d.ts +8 -6
  55. package/project/use-project-conversations.d.ts.map +1 -1
  56. package/project/use-project-conversations.js +129 -56
  57. package/project/use-project-watch.d.ts +24 -0
  58. package/project/use-project-watch.d.ts.map +1 -0
  59. package/project/use-project-watch.js +41 -0
  60. package/project/use-project.d.ts +4 -1
  61. package/project/use-project.d.ts.map +1 -1
  62. package/project/use-project.js +47 -22
  63. package/project/use-projects.d.ts.map +1 -1
  64. package/project/use-projects.js +49 -68
  65. package/project.js +8 -5
  66. package/prompt/prompt.d.ts +11 -0
  67. package/prompt/prompt.d.ts.map +1 -1
  68. package/prompt/prompt.js +7 -3
  69. package/scheduled-task/use-scheduled-task-runs.js +13 -13
  70. package/shared/serialized-writer.d.ts +10 -0
  71. package/shared/serialized-writer.d.ts.map +1 -0
  72. package/shared/serialized-writer.js +35 -0
  73. package/usage/map-user-usage-to-model-limits.js +21 -21
  74. package/useShareLink/useShareLink.js +18 -18
  75. package/utils.js +21 -21
@@ -1,5 +1,5 @@
1
- import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
- import { ScheduledTaskRunDtoStatusEnum as i } from "@epam/ai-dial-chat-api-client";
1
+ import { ScheduledTaskRunDtoStatusEnum as e } from "@epam/ai-dial-chat-api-client";
2
+ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
3
3
  //#region src/scheduled-task/use-scheduled-task-runs.ts
4
4
  var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
5
5
  if (e <= c) {
@@ -21,10 +21,10 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
21
21
  return !t || JSON.stringify(t) !== JSON.stringify(e);
22
22
  });
23
23
  }, f = (c, { scheduleId: f, enabled: p = !0, pageSize: m = 10, nextRunTime: h, pollWhileActive: g = !1 }) => {
24
- let [_, v] = r([]), [y, b] = r(p), [x, S] = r(!1), [C, w] = r(null), [T, E] = r(null), [D, O] = r(!1), [k, A] = r(0), j = n(0), M = n(0), N = n(!1), P = n(null), F = n(_), I = n(y), L = n(x), R = n(null), z = n(0), B = n(null), V = n(!1);
24
+ let [_, v] = i([]), [y, b] = i(p), [x, S] = i(!1), [C, w] = i(null), [T, E] = i(null), [D, O] = i(!1), [k, A] = i(0), j = r(0), M = r(0), N = r(!1), P = r(null), F = r(_), I = r(y), L = r(x), R = r(null), z = r(0), B = r(null), V = r(!1);
25
25
  F.current = _, I.current = y, L.current = x;
26
- let H = g || _.some((e) => e.status === i.InProgress);
27
- t(() => {
26
+ let H = g || _.some((t) => t.status === e.InProgress);
27
+ n(() => {
28
28
  let e = ++j.current, t = new AbortController();
29
29
  P.current?.abort(), P.current = null, R.current?.abort(), R.current = null, N.current = !1, z.current = 0, B.current = null, V.current = !1, S(!1), w(null), E(null), v([]), O(!1), M.current = 0;
30
30
  let n = () => {
@@ -54,7 +54,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
54
54
  k,
55
55
  f
56
56
  ]);
57
- let U = e(() => {
57
+ let U = t(() => {
58
58
  if (!p || !f || !D || y || N.current) return;
59
59
  N.current = !0;
60
60
  let e = new AbortController();
@@ -87,7 +87,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
87
87
  y,
88
88
  m,
89
89
  f
90
- ]), W = e(async () => {
90
+ ]), W = t(async () => {
91
91
  if (I.current || L.current) return "skipped";
92
92
  let e = j.current, t = new AbortController();
93
93
  R.current?.abort(), R.current = t;
@@ -110,10 +110,10 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
110
110
  c,
111
111
  f,
112
112
  m
113
- ]), G = e(() => {
113
+ ]), G = t(() => {
114
114
  document.visibilityState === "visible" ? W() : V.current = !0;
115
115
  }, [W]);
116
- return t(() => {
116
+ return n(() => {
117
117
  if (!p || !f || !H) return;
118
118
  z.current = 0;
119
119
  let e = setInterval(() => {
@@ -130,7 +130,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
130
130
  f,
131
131
  H,
132
132
  W
133
- ]), t(() => {
133
+ ]), n(() => {
134
134
  if (!p || !f || !h) return;
135
135
  let e = new Date(h).getTime();
136
136
  if (!(Number.isNaN(e) || e <= Date.now())) return l(e - Date.now() + s, () => {
@@ -141,7 +141,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
141
141
  f,
142
142
  h,
143
143
  G
144
- ]), t(() => {
144
+ ]), n(() => {
145
145
  if (!p || !f) return;
146
146
  let e = () => {
147
147
  document.visibilityState === "visible" && V.current && (async () => {
@@ -155,7 +155,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
155
155
  p,
156
156
  f,
157
157
  W
158
- ]), t(() => {
158
+ ]), n(() => {
159
159
  if (!p || !f || !h || y || x) return;
160
160
  let e = new Date(h).getTime();
161
161
  Number.isNaN(e) || e > Date.now() || B.current !== h && (B.current = h, G());
@@ -175,7 +175,7 @@ var a = 15e3, o = 48, s = 5e3, c = 2147483647, l = (e, t) => {
175
175
  hasMore: D,
176
176
  loadMore: U,
177
177
  retryLoadMore: U,
178
- refetch: e(() => A((e) => e + 1), [])
178
+ refetch: t(() => A((e) => e + 1), [])
179
179
  };
180
180
  };
181
181
  //#endregion
@@ -0,0 +1,10 @@
1
+ /** A write queue that runs one write at a time, in call order, and never queues a key twice. */
2
+ export interface SerializedKeyedWriter {
3
+ /** Queues a write for `key`, or joins the one already queued; settles when that write ran or was dropped. */
4
+ enqueue: (key: string) => Promise<void>;
5
+ /** Drops the write queued for `key` if it has not started; its promise resolves without writing. */
6
+ drop: (key: string) => void;
7
+ }
8
+ /** Returns a {@link SerializedKeyedWriter} over `write`; a failed write rejects only its own callers. */
9
+ export declare const createSerializedKeyedWriter: (write: (key: string) => Promise<void>) => SerializedKeyedWriter;
10
+ //# sourceMappingURL=serialized-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized-writer.d.ts","sourceRoot":"","sources":["../../src/shared/serialized-writer.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,WAAW,qBAAqB;IACpC,6GAA6G;IAC7G,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,oGAAoG;IACpG,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAQD,yGAAyG;AACzG,eAAO,MAAM,2BAA2B,GACtC,OAAO,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KACpC,qBAuCF,CAAC"}
@@ -0,0 +1,35 @@
1
+ //#region src/shared/serialized-writer.ts
2
+ var e = (e) => {
3
+ let t = /* @__PURE__ */ new Map(), n = Promise.resolve();
4
+ return {
5
+ enqueue: (r) => {
6
+ let i = t.get(r);
7
+ if (i) return i.promise;
8
+ let a, o, s = new Promise((e, t) => {
9
+ a = e, o = t;
10
+ }), c = {
11
+ promise: s,
12
+ resolve: a,
13
+ reject: o
14
+ };
15
+ t.set(r, c);
16
+ let l = n;
17
+ return n = (async () => {
18
+ if (await l, t.get(r) !== c) c.resolve();
19
+ else {
20
+ t.delete(r);
21
+ try {
22
+ await e(r), c.resolve();
23
+ } catch (e) {
24
+ c.reject(e);
25
+ }
26
+ }
27
+ })(), s;
28
+ },
29
+ drop: (e) => {
30
+ t.delete(e);
31
+ }
32
+ };
33
+ };
34
+ //#endregion
35
+ export { e as createSerializedKeyedWriter };
@@ -1,6 +1,6 @@
1
1
  import { normalizeDeploymentId as e } from "../catalog/deployment-id.js";
2
- import { formatCost as t } from "@epam/ai-dial-chat-shared";
3
- import { DeploymentItemDtoTypeEnum as n } from "@epam/ai-dial-chat-api-client";
2
+ import { DeploymentItemDtoTypeEnum as t } from "@epam/ai-dial-chat-api-client";
3
+ import { formatCost as n } from "@epam/ai-dial-chat-shared";
4
4
  import { ModelLimitMetricKind as r, ModelLimitStatus as i } from "@epam/ai-dial-usage-dashboard";
5
5
  //#region src/usage/map-user-usage-to-model-limits.ts
6
6
  var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
@@ -95,9 +95,9 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
95
95
  percent: Math.round(m)
96
96
  })
97
97
  };
98
- }, x = (e, n) => {
99
- if (!f(e)) return y(n);
100
- let i = Math.max(0, e.used), o = n(l.spentLabel, { amount: t(i) });
98
+ }, x = (e, t) => {
99
+ if (!f(e)) return y(t);
100
+ let i = Math.max(0, e.used), o = t(l.spentLabel, { amount: n(i) });
101
101
  if (e.total >= a) return {
102
102
  kind: r.Unlimited,
103
103
  usedLabel: o,
@@ -107,12 +107,12 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
107
107
  return {
108
108
  kind: r.Finite,
109
109
  usedLabel: o,
110
- totalLabel: t(s),
110
+ totalLabel: n(s),
111
111
  usedPercent: c,
112
112
  status: p(c),
113
- ariaLabel: n(l.progressAriaLabel, {
114
- used: t(i),
115
- total: t(s),
113
+ ariaLabel: t(l.progressAriaLabel, {
114
+ used: n(i),
115
+ total: n(s),
116
116
  percent: Math.round(c)
117
117
  })
118
118
  };
@@ -135,31 +135,31 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
135
135
  supportingLabel: n(l.includesCalledModelsLabel)
136
136
  } : i
137
137
  };
138
- }, E = (e) => e.some((e) => f(e) && e.used > 0), D = (t, r, i, a, o, s) => {
139
- let c = t?.deployments;
138
+ }, E = (e) => e.some((e) => f(e) && e.used > 0), D = (n, r, i, a, o, s) => {
139
+ let c = n?.deployments;
140
140
  if (c == null) return [];
141
- let d = new Map(r.filter((e) => e.type === n.Model || e.type === n.Application).map((t) => [e(t.id), t])), f = v(t, i, a);
142
- return Object.keys(c).map((t) => {
143
- let r = d.get(e(t)), p = r == null ? t : s(r.displayName, i) || r.id, m = c[t], h = o(r?.iconUrl);
144
- if (r?.type === n.Application) {
145
- let e = T(m, u.day, a), n = T(m, u.week, a), i = T(m, u.month, a);
141
+ let d = new Map(r.filter((e) => e.type === t.Model || e.type === t.Application).map((t) => [e(t.id), t])), f = v(n, i, a);
142
+ return Object.keys(c).map((n) => {
143
+ let r = d.get(e(n)), p = r == null ? n : s(r.displayName, i) || r.id, m = c[n], h = o(r?.iconUrl);
144
+ if (r?.type === t.Application) {
145
+ let e = T(m, u.day, a), t = T(m, u.week, a), i = T(m, u.month, a);
146
146
  return {
147
147
  row: {
148
- id: t,
148
+ id: n,
149
149
  name: p,
150
150
  version: r.displayVersion,
151
151
  avatarSrc: h,
152
152
  typeLabel: a(l.applicationTypeLabel),
153
153
  day: e,
154
- week: n,
154
+ week: t,
155
155
  month: i,
156
156
  status: w([
157
157
  e.tokens,
158
- n.tokens,
158
+ t.tokens,
159
159
  i.tokens
160
160
  ], [
161
161
  e.cost,
162
- n.cost,
162
+ t.cost,
163
163
  i.cost
164
164
  ], [
165
165
  f.day.status,
@@ -173,7 +173,7 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
173
173
  let g = S(m, u.day, f.day.status, a), _ = S(m, u.week, f.week.status, a), v = S(m, u.month, f.month.status, a), y = Object.values(u).flatMap(({ cost: e, tokens: t }) => [m[e], m[t]]);
174
174
  return {
175
175
  row: {
176
- id: t,
176
+ id: n,
177
177
  name: p,
178
178
  version: r?.displayVersion,
179
179
  avatarSrc: h,
@@ -1,42 +1,42 @@
1
- import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
- import { ShareLinkResponseDtoAccessEnum as i } from "@epam/ai-dial-chat-api-client";
1
+ import { ShareLinkResponseDtoAccessEnum as e } from "@epam/ai-dial-chat-api-client";
2
+ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
3
3
  import { ShareLinkAccess as a } from "@epam/ai-dial-share";
4
4
  //#region src/useShareLink/useShareLink.ts
5
- var o = (e) => e.map((e) => e === i.Edit ? a.Edit : a.View), s = (e, t) => {
5
+ var o = (t) => t.map((t) => t === e.Edit ? a.Edit : a.View), s = (e, t) => {
6
6
  let n = new URL(e, t);
7
7
  return `${t}${n.pathname}${n.search}${n.hash}`;
8
- }, c = (i, c, l = window.location.origin) => {
9
- let [u, d] = r(), [f, p] = r(!0), [m, h] = r(null), g = n(0), _ = e(async (e = [a.View]) => {
10
- let t = ++g.current;
8
+ }, c = (e, c, l = window.location.origin) => {
9
+ let [u, d] = i(), [f, p] = i(!0), [m, h] = i(null), g = r(0), _ = t(async (t = [a.View]) => {
10
+ let n = ++g.current;
11
11
  p(!0), h(null);
12
12
  try {
13
- let n = await i.createShareLink({ createShareLinkDto: {
13
+ let r = await e.createShareLink({ createShareLinkDto: {
14
14
  itemId: c,
15
- access: e
15
+ access: t
16
16
  } });
17
- g.current === t && d({
18
- url: s(n.url, l),
19
- expiresInDays: n.expiresInDays,
20
- expiresInHours: n.expiresInHours,
21
- access: o(n.access)
17
+ g.current === n && d({
18
+ url: s(r.url, l),
19
+ expiresInDays: r.expiresInDays,
20
+ expiresInHours: r.expiresInHours,
21
+ access: o(r.access)
22
22
  });
23
23
  } catch (e) {
24
- g.current === t && h(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to create share link"));
24
+ g.current === n && h(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to create share link"));
25
25
  } finally {
26
- g.current === t && p(!1);
26
+ g.current === n && p(!1);
27
27
  }
28
28
  }, [
29
29
  c,
30
30
  l,
31
- i
31
+ e
32
32
  ]);
33
- return t(() => {
33
+ return n(() => {
34
34
  d(void 0), _();
35
35
  }, [c, _]), {
36
36
  data: u,
37
37
  isLoading: f,
38
38
  error: m,
39
- setAccess: e((e) => {
39
+ setAccess: t((e) => {
40
40
  _(e);
41
41
  }, [_])
42
42
  };
package/utils.js CHANGED
@@ -1,21 +1,21 @@
1
- import { getApiErrorDetails as e, getApiErrorMessage as t, getApiErrorStatus as n, isConversationNotFoundError as r } from "./api-error/api-error.js";
2
- import { createCsrfMiddleware as i } from "./api-transport/create-csrf-middleware.js";
3
- import { createUnauthorizedMiddleware as a } from "./api-transport/create-unauthorized-middleware.js";
4
- import { includesIgnoreCase as o, safeDecodeURI as s, safeDecodeURIComponent as c, stripSurroundingSlashes as l, stripTrailingSlashes as u } from "./shared/string-utils.js";
5
- import { appendLocaleCode as d, buildAdditionalLocaleOptions as f, composeLocalePayload as p, decomposeLocalizedFields as m, resolveLocalizedText as h, toBaseLocale as g } from "./shared/locale.js";
6
- import { formatCalendarDate as _, padTwoDigits as v } from "./shared/formatting.js";
7
- import { PromptSource as y, parsePromptResourceUrl as b } from "./prompt/prompt-resource.js";
8
- import { getRunnerSchemas as x, isCustomAppSchema as S, isQuickAppSchema as C } from "./shared/application-schema.js";
9
- import { buildExternalServiceScopeId as w, getExternalServiceFallbackName as T, parseExternalServiceUrl as E } from "./shared/external-services.js";
10
- import { buildPromptExportEnvelope as D, buildPromptExportFileName as O, serializePromptExport as k } from "./prompt/export-prompt.js";
11
- import { PROMPT_CONTENT_MAX_LENGTH as A, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as j, PROMPT_DESCRIPTION_MAX_LENGTH as M, PROMPT_NAME_MAX_LENGTH as N, PromptFieldError as P, buildPromptPath as F, getRemainingCharacters as I, validatePromptContent as L, validatePromptDescription as R, validatePromptName as z } from "./prompt/prompt.js";
12
- import { usePromptsState as B } from "./prompt/usePromptsState/usePromptsState.js";
13
- import { apSchedulerDayToJsDay as V, jsDayToApSchedulerDay as H } from "./shared/cron-weekday.js";
14
- import { getBrowserTimezone as U } from "./shared/browser-timezone.js";
15
- import { isValidAbsoluteUrl as W, isValidFeaturesData as G, parseFeaturesData as K } from "./shared/custom-apps.js";
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, A as PROMPT_CONTENT_MAX_LENGTH, j as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, M as PROMPT_DESCRIPTION_MAX_LENGTH, N as PROMPT_NAME_MAX_LENGTH, J as PendingSigninEventKind, P as PromptFieldError, y as PromptSource, Y as TOOLSET_SIGNIN_METHOD, V as apSchedulerDayToJsDay, d as appendLocaleCode, Z as applyThemeColors, f as buildAdditionalLocaleOptions, w as buildExternalServiceScopeId, D as buildPromptExportEnvelope, O as buildPromptExportFileName, F 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, U as getBrowserTimezone, T as getExternalServiceFallbackName, Q as getOsPreferredTheme, I as getRemainingCharacters, x as getRunnerSchemas, o as includesIgnoreCase, r as isConversationNotFoundError, S as isCustomAppSchema, C as isQuickAppSchema, W as isValidAbsoluteUrl, G as isValidFeaturesData, H as jsDayToApSchedulerDay, v as padTwoDigits, E as parseExternalServiceUrl, K as parseFeaturesData, b as parsePromptResourceUrl, h as resolveLocalizedText, s as safeDecodeURI, c as safeDecodeURIComponent, k as serializePromptExport, l as stripSurroundingSlashes, u as stripTrailingSlashes, g as toBaseLocale, ee as triggerBrowserDownload, te as usePersistedState, B as usePromptsState, $ as useUsageData, L as validatePromptContent, R as validatePromptDescription, z as validatePromptName };
1
+ import { getAcceptInvitationErrorItemName as e, getApiErrorDetails as t, getApiErrorMessage as n, getApiErrorStatus as r, isConversationNotFoundError as i } from "./api-error/api-error.js";
2
+ import { createCsrfMiddleware as a } from "./api-transport/create-csrf-middleware.js";
3
+ import { createUnauthorizedMiddleware as o } from "./api-transport/create-unauthorized-middleware.js";
4
+ import { includesIgnoreCase as s, safeDecodeURI as c, safeDecodeURIComponent as l, stripSurroundingSlashes as u, stripTrailingSlashes as d } from "./shared/string-utils.js";
5
+ import { appendLocaleCode as f, buildAdditionalLocaleOptions as p, composeLocalePayload as m, decomposeLocalizedFields as h, resolveLocalizedText as g, toBaseLocale as _ } from "./shared/locale.js";
6
+ import { formatCalendarDate as v, padTwoDigits as y } from "./shared/formatting.js";
7
+ import { PromptSource as b, parsePromptResourceUrl as x } from "./prompt/prompt-resource.js";
8
+ import { getRunnerSchemas as S, isCustomAppSchema as C, isQuickAppSchema as w } from "./shared/application-schema.js";
9
+ import { buildExternalServiceScopeId as T, getExternalServiceFallbackName as E, parseExternalServiceUrl as D } from "./shared/external-services.js";
10
+ import { buildPromptExportEnvelope as O, buildPromptExportFileName as k, serializePromptExport as A } from "./prompt/export-prompt.js";
11
+ import { PROMPT_CONTENT_MAX_LENGTH as j, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as M, PROMPT_DESCRIPTION_MAX_LENGTH as N, PROMPT_FIELD_VALIDATORS as P, PROMPT_NAME_MAX_LENGTH as F, PromptFieldError as I, buildPromptPath as L, getRemainingCharacters as R, validatePromptContent as z, validatePromptDescription as B, validatePromptName as V } from "./prompt/prompt.js";
12
+ import { usePromptsState as H } from "./prompt/usePromptsState/usePromptsState.js";
13
+ import { apSchedulerDayToJsDay as U, jsDayToApSchedulerDay as W } from "./shared/cron-weekday.js";
14
+ import { getBrowserTimezone as G } from "./shared/browser-timezone.js";
15
+ import { isValidAbsoluteUrl as K, isValidFeaturesData as q, parseFeaturesData as J } from "./shared/custom-apps.js";
16
+ import { EXTERNAL_SERVICE_SIGNIN_METHOD as Y, PendingSigninEventKind as X, TOOLSET_SIGNIN_METHOD as Z } from "./shared/client-channel.js";
17
+ import { ColorScheme as Q, applyThemeColors as $, getOsPreferredTheme as ee } from "./shared/theme-colors.js";
18
+ import { useUsageData as te } from "./usage/useUsageData/useUsageData.js";
19
+ import { triggerBrowserDownload as ne } from "./files/browser-download.js";
20
+ import { usePersistedState as re } from "./shared/usePersistedState/usePersistedState.js";
21
+ export { Q as ColorScheme, Y as EXTERNAL_SERVICE_SIGNIN_METHOD, j as PROMPT_CONTENT_MAX_LENGTH, M as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, N as PROMPT_DESCRIPTION_MAX_LENGTH, P as PROMPT_FIELD_VALIDATORS, F as PROMPT_NAME_MAX_LENGTH, X as PendingSigninEventKind, I as PromptFieldError, b as PromptSource, Z as TOOLSET_SIGNIN_METHOD, U as apSchedulerDayToJsDay, f as appendLocaleCode, $ as applyThemeColors, p as buildAdditionalLocaleOptions, T as buildExternalServiceScopeId, O as buildPromptExportEnvelope, k as buildPromptExportFileName, L as buildPromptPath, m as composeLocalePayload, a as createCsrfMiddleware, o as createUnauthorizedMiddleware, h as decomposeLocalizedFields, v as formatCalendarDate, e as getAcceptInvitationErrorItemName, t as getApiErrorDetails, n as getApiErrorMessage, r as getApiErrorStatus, G as getBrowserTimezone, E as getExternalServiceFallbackName, ee as getOsPreferredTheme, R as getRemainingCharacters, S as getRunnerSchemas, s as includesIgnoreCase, i as isConversationNotFoundError, C as isCustomAppSchema, w as isQuickAppSchema, K as isValidAbsoluteUrl, q as isValidFeaturesData, W as jsDayToApSchedulerDay, y as padTwoDigits, D as parseExternalServiceUrl, J as parseFeaturesData, x as parsePromptResourceUrl, g as resolveLocalizedText, c as safeDecodeURI, l as safeDecodeURIComponent, A as serializePromptExport, u as stripSurroundingSlashes, d as stripTrailingSlashes, _ as toBaseLocale, ne as triggerBrowserDownload, re as usePersistedState, H as usePromptsState, te as useUsageData, z as validatePromptContent, B as validatePromptDescription, V as validatePromptName };