@epam/ai-dial-chat-hooks 1.3.0-dev.326 → 1.3.0-dev.331

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 (76) hide show
  1. package/catalog/resource-folder.d.ts +8 -0
  2. package/catalog/resource-folder.d.ts.map +1 -0
  3. package/catalog/resource-folder.js +13 -0
  4. package/catalog/resource-save-adapter.d.ts +36 -0
  5. package/catalog/resource-save-adapter.d.ts.map +1 -0
  6. package/catalog/resource-save-adapter.js +4 -0
  7. package/catalog/resource-save-adapters.d.ts +93 -0
  8. package/catalog/resource-save-adapters.d.ts.map +1 -0
  9. package/catalog/resource-save-adapters.js +116 -0
  10. package/catalog/resource-save.d.ts +76 -0
  11. package/catalog/resource-save.d.ts.map +1 -0
  12. package/catalog/resource-save.js +52 -0
  13. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts +57 -0
  14. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts.map +1 -0
  15. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.js +67 -0
  16. package/catalog/useResourceFolders/useResourceFolders.d.ts +33 -0
  17. package/catalog/useResourceFolders/useResourceFolders.d.ts.map +1 -0
  18. package/catalog/useResourceFolders/useResourceFolders.js +58 -0
  19. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts +64 -0
  20. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts.map +1 -0
  21. package/catalog/useResourceSavePanel/useResourceSavePanel.js +173 -0
  22. package/catalog.js +11 -4
  23. package/entry-points/catalog.d.ts +6 -0
  24. package/entry-points/catalog.d.ts.map +1 -1
  25. package/entry-points/external-services.d.ts +4 -0
  26. package/entry-points/external-services.d.ts.map +1 -1
  27. package/entry-points/oauth.d.ts +1 -0
  28. package/entry-points/oauth.d.ts.map +1 -1
  29. package/entry-points/sharing.d.ts +4 -0
  30. package/entry-points/sharing.d.ts.map +1 -1
  31. package/external-services.js +5 -1
  32. package/index.d.ts +15 -0
  33. package/index.d.ts.map +1 -1
  34. package/index.js +183 -169
  35. package/oauth/callback-exchange.d.ts +49 -0
  36. package/oauth/callback-exchange.d.ts.map +1 -0
  37. package/oauth/callback-exchange.js +29 -0
  38. package/oauth.js +3 -2
  39. package/package.json +17 -17
  40. package/scheduled-task/scheduled-task-description.d.ts +2 -3
  41. package/scheduled-task/scheduled-task-description.d.ts.map +1 -1
  42. package/scheduled-task/scheduled-task-description.js +26 -26
  43. package/scheduled-task/scheduled-task-display.d.ts +1 -3
  44. package/scheduled-task/scheduled-task-display.d.ts.map +1 -1
  45. package/scheduled-task/scheduled-task-display.js +16 -17
  46. package/scheduled-task/scheduled-task-next-occurrence.d.ts +3 -3
  47. package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -1
  48. package/scheduled-task/scheduled-task-next-occurrence.js +2 -2
  49. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -1
  50. package/scheduled-task/scheduled-task-trigger.js +67 -70
  51. package/share-invitation/models.d.ts +46 -0
  52. package/share-invitation/models.d.ts.map +1 -0
  53. package/share-invitation/share-invitation-error.d.ts +6 -0
  54. package/share-invitation/share-invitation-error.d.ts.map +1 -0
  55. package/share-invitation/share-invitation-error.js +37 -0
  56. package/share-invitation/types.d.ts +10 -0
  57. package/share-invitation/types.d.ts.map +1 -0
  58. package/share-invitation/types.js +6 -0
  59. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts +9 -0
  60. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts.map +1 -0
  61. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js +26 -0
  62. package/sharing.js +5 -2
  63. package/signin-interrupt/models.d.ts +48 -0
  64. package/signin-interrupt/models.d.ts.map +1 -0
  65. package/signin-interrupt/signin-row-info.d.ts +10 -0
  66. package/signin-interrupt/signin-row-info.d.ts.map +1 -0
  67. package/signin-interrupt/signin-row-info.js +21 -0
  68. package/signin-interrupt/types.d.ts +28 -0
  69. package/signin-interrupt/types.d.ts.map +1 -0
  70. package/signin-interrupt/types.js +10 -0
  71. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts +52 -0
  72. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts.map +1 -0
  73. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.js +270 -0
  74. package/skill/useSkillEditorSubmit.d.ts +13 -1
  75. package/skill/useSkillEditorSubmit.d.ts.map +1 -1
  76. package/skill/useSkillEditorSubmit.js +158 -79
@@ -1,6 +1,7 @@
1
1
  import { SkillUploadResponseDto } from '@epam/ai-dial-chat-api-client';
2
2
  import { SkillEditorErrors, SkillEditorValues, SkillFileTreeNode } from '@epam/ai-dial-skill-editor';
3
3
  import { NotificationVariant } from '@epam/ai-dial-ui-kit';
4
+ import { ResourceSaveAdapter } from '../catalog/resource-save-adapter';
4
5
  import { SkillFileContent } from './skill-file-preview';
5
6
  type SubmitPhase = 'idle' | 'submitting' | 'success' | 'failure';
6
7
  /** Already-configured DIAL Core write operations `useSkillEditorSubmit` needs. */
@@ -9,6 +10,10 @@ export interface SkillEditorSubmitClient {
9
10
  createSkill: (bucket: string, path: string, skillManifest: string, filePaths: string[], files: Blob[]) => Promise<SkillUploadResponseDto>;
10
11
  /** Updates an existing skill, sending `ifMatch` as the concurrency guard. */
11
12
  updateSkill: (bucket: string, path: string, skillManifest: string, filePaths: string[], files: Blob[], ifMatch: string) => Promise<SkillUploadResponseDto>;
13
+ /** Moves one of the caller's skills into `folderPath` (plain text, `''` for the root); needed by the Save panel flow. */
14
+ moveSkill?: (path: string, folderPath: string) => Promise<{
15
+ id: string;
16
+ }>;
12
17
  }
13
18
  /** Localized messages `useSkillEditorSubmit` needs. */
14
19
  export interface SkillEditorSubmitMessages {
@@ -88,6 +93,13 @@ export interface UseSkillEditorSubmitParams {
88
93
  onNavigate: (url: string) => void;
89
94
  /** Called to surface a host notification (success toast or unexpected-error toast). */
90
95
  onNotify: (notification: SkillEditorSubmitNotification) => void;
96
+ /**
97
+ * Hands a validated submit to the host's Save panel instead of writing it:
98
+ * the adapter creates the skill in the chosen folder, or saves it in place
99
+ * and moves it. Its failures carry already-translated messages. The hook
100
+ * then shows no notification and does not navigate; the panel owns both.
101
+ */
102
+ onSaveRequest?: (adapter: ResourceSaveAdapter, values: SkillEditorValues) => void;
91
103
  }
92
104
  /** Return value of {@link useSkillEditorSubmit}. */
93
105
  export interface UseSkillEditorSubmitResult {
@@ -122,6 +134,6 @@ export interface UseSkillEditorSubmitResult {
122
134
  * `client.createSkill`/`client.updateSkill`, and mapping the resulting
123
135
  * success/error/conflict outcomes to presentable state.
124
136
  */
125
- export declare const useSkillEditorSubmit: ({ bucket, isEditMode, files, filesContentRef, contentRevisions, frontmatterRef, loadedPathRef, etagRef, returnUrl, getCreateReturnUrl, refetchSkills, client, messages, onNavigate, onNotify, }: UseSkillEditorSubmitParams) => UseSkillEditorSubmitResult;
137
+ export declare const useSkillEditorSubmit: ({ bucket, isEditMode, files, filesContentRef, contentRevisions, frontmatterRef, loadedPathRef, etagRef, returnUrl, getCreateReturnUrl, refetchSkills, client, messages, onNavigate, onNotify, onSaveRequest, }: UseSkillEditorSubmitParams) => UseSkillEditorSubmitResult;
126
138
  export {};
127
139
  //# sourceMappingURL=useSkillEditorSubmit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSkillEditorSubmit.d.ts","sourceRoot":"","sources":["../../src/skill/useSkillEditorSubmit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSkillEditorSubmit.d.ts","sourceRoot":"","sources":["../../src/skill/useSkillEditorSubmit.ts"],"names":[],"mappings":"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"}
@@ -1,157 +1,236 @@
1
1
  import { getApiErrorDetails as e, getApiErrorStatus as t } from "../api-error/api-error.js";
2
2
  import { SKILL_TEXT_FIELD_MAX_LENGTHS as n, buildSkillFilesPayload as r, buildSkillManifestForSubmit as i, getSkillFieldLengthViolations as a, isValidSkillRelativePath as o, normalizeSkillName as s, startsWithFrontmatterBlock as c } from "./skill.js";
3
- import { useCallback as l, useRef as u, useState as d } from "react";
4
- import { NotificationVariant as f } from "@epam/ai-dial-ui-kit";
3
+ import { ResourceSaveError as l } from "../catalog/resource-save-adapter.js";
4
+ import { useCallback as u, useRef as d, useState as f } from "react";
5
+ import { NotificationVariant as p } from "@epam/ai-dial-ui-kit";
5
6
  //#region src/skill/useSkillEditorSubmit.ts
6
- var p = (e, t, n) => JSON.stringify({
7
+ var m = (e, t, n) => JSON.stringify({
7
8
  values: e,
8
9
  files: [...t].sort((e, t) => e.path.localeCompare(t.path)),
9
10
  contentRevisions: Object.entries(n).sort(([e], [t]) => e.localeCompare(t))
10
- }), m = {}, h = ({ bucket: h, isEditMode: g, files: _, filesContentRef: v, contentRevisions: y = m, frontmatterRef: b, loadedPathRef: x, etagRef: S, returnUrl: C, getCreateReturnUrl: w, refetchSkills: T, client: E, messages: D, onNavigate: O, onNotify: k }) => {
11
- let [A, j] = d({}), [M, N] = d(), [P, F] = d(!1), [I, L] = d(), [R, z] = d("idle"), B = u(null), V = u(null), H = l(async (n) => {
11
+ }), h = {}, g = ({ bucket: g, isEditMode: _, files: v, filesContentRef: y, contentRevisions: b = h, frontmatterRef: x, loadedPathRef: S, etagRef: C, returnUrl: w, getCreateReturnUrl: T, refetchSkills: E, client: D, messages: O, onNavigate: k, onNotify: A, onSaveRequest: j }) => {
12
+ let [M, N] = f({}), [P, F] = f(), [I, L] = f(!1), [R, z] = f(), [B, V] = f("idle"), H = d(null), U = d(null), W = u(async (n) => {
12
13
  switch (t(n)) {
13
14
  case 409:
14
- j({ name: D.nameConflict });
15
+ N({ name: O.nameConflict });
15
16
  return;
16
17
  case 412:
17
- j({ name: D.nameConflict });
18
+ N({ name: O.nameConflict });
18
19
  return;
19
20
  case 413:
20
- N(D.archiveTooLarge);
21
+ F(O.archiveTooLarge);
21
22
  return;
22
23
  case 503:
23
- N(D.serviceUnavailable), F(!0);
24
+ F(O.serviceUnavailable), L(!0);
24
25
  return;
25
26
  case 400: {
26
27
  let { message: t } = await e(n);
27
- N(t ?? D.pathInvalid);
28
+ F(t ?? O.pathInvalid);
28
29
  return;
29
30
  }
30
31
  default: {
31
32
  let { traceId: t } = await e(n);
32
- N(D.saveError), k({
33
- variant: f.Error,
34
- message: D.saveError,
33
+ F(O.saveError), A({
34
+ variant: p.Error,
35
+ message: O.saveError,
35
36
  requestId: t
36
37
  });
37
38
  }
38
39
  }
39
- }, [D, k]), U = l(async (e) => {
40
+ }, [O, A]), G = u(async (e) => {
40
41
  let t = s(e.name);
41
42
  if (!t || !o(t)) {
42
- j({ name: D.nameInvalid });
43
+ N({ name: O.nameInvalid });
43
44
  return;
44
45
  }
45
- let n = p(e, _, y), a = B.current, c = a != null && a.fingerprint === n, l = t, u, d, m;
46
- c ? {skillManifest: u, filePaths: d, files: m} = a : (u = i(b.current, t, e.description, e.instructions), {filePaths: d, files: m} = r(_, v.current)), z("submitting"), B.current = {
46
+ let n = m(e, v, b), a = H.current, c = a != null && a.fingerprint === n, l = t, u, d, f;
47
+ c ? {skillManifest: u, filePaths: d, files: f} = a : (u = i(x.current, t, e.description, e.instructions), {filePaths: d, files: f} = r(v, y.current)), V("submitting"), H.current = {
47
48
  fingerprint: n,
48
- bucket: h,
49
+ bucket: g,
49
50
  path: l,
50
51
  skillManifest: u,
51
52
  filePaths: d,
52
- files: m
53
+ files: f
53
54
  };
54
55
  try {
55
- await E.createSkill(h, l, u, d, m), await T(), z("success"), k({
56
- variant: f.Success,
57
- title: D.saveSuccessTitle,
58
- message: D.createSuccess(t)
59
- }), O(w?.(l) ?? C);
56
+ await D.createSkill(g, l, u, d, f), await E(), V("success"), A({
57
+ variant: p.Success,
58
+ title: O.saveSuccessTitle,
59
+ message: O.createSuccess(t)
60
+ }), k(T?.(l) ?? w);
60
61
  } catch (e) {
61
- z("failure"), await H(e);
62
+ V("failure"), await W(e);
62
63
  }
63
64
  }, [
64
- h,
65
- _,
65
+ g,
66
66
  v,
67
67
  y,
68
68
  b,
69
+ x,
70
+ O,
69
71
  D,
70
- E,
72
+ A,
71
73
  k,
72
- O,
73
- C,
74
74
  w,
75
75
  T,
76
- H
77
- ]), W = l(async (e) => {
78
- let n = x.current, a = S.current;
76
+ E,
77
+ W
78
+ ]), K = u(async (e) => {
79
+ let n = S.current, a = C.current;
79
80
  if (!n || !a) {
80
- N(D.saveError);
81
+ F(O.saveError);
81
82
  return;
82
83
  }
83
- let o = i(b.current, e.name, e.description, e.instructions), { filePaths: s, files: c } = r(_, v.current);
84
- z("submitting");
84
+ let o = i(x.current, e.name, e.description, e.instructions), { filePaths: s, files: c } = r(v, y.current);
85
+ V("submitting");
85
86
  try {
86
- S.current = (await E.updateSkill(h, n, o, s, c, a)).etag ?? a, await T(), z("success"), k({
87
- variant: f.Success,
88
- title: D.updateSuccessTitle,
89
- message: D.updateSuccess(e.name)
90
- }), O(C);
87
+ C.current = (await D.updateSkill(g, n, o, s, c, a)).etag ?? a, await E(), V("success"), A({
88
+ variant: p.Success,
89
+ title: O.updateSuccessTitle,
90
+ message: O.updateSuccess(e.name)
91
+ }), k(w);
91
92
  } catch (e) {
92
- if (z("failure"), t(e) === 412) {
93
- L({ message: D.conflictMessage });
93
+ if (V("failure"), t(e) === 412) {
94
+ z({ message: O.conflictMessage });
94
95
  return;
95
96
  }
96
- await H(e);
97
+ await W(e);
97
98
  }
98
99
  }, [
99
- h,
100
- _,
100
+ g,
101
101
  v,
102
- b,
102
+ y,
103
103
  x,
104
104
  S,
105
+ C,
106
+ O,
105
107
  D,
106
- E,
108
+ A,
107
109
  k,
108
- O,
110
+ w,
111
+ E,
112
+ W
113
+ ]), q = u(async (n, r) => {
114
+ let i = t(n);
115
+ if (i === 412 && r) return z({ message: O.conflictMessage }), new l(O.conflictMessage);
116
+ if (i === 409 || i === 412) return new l(O.nameConflict);
117
+ if (i === 413) return new l(O.archiveTooLarge);
118
+ if (i === 503) return new l(O.serviceUnavailable);
119
+ if (i === 400) {
120
+ let { message: t } = await e(n);
121
+ return new l(t ?? O.pathInvalid);
122
+ }
123
+ return new l(O.saveError);
124
+ }, [O]), J = u((e) => {
125
+ let t = g, { filePaths: n, files: a } = r(v, y.current);
126
+ if (!_) {
127
+ let r = s(e.name);
128
+ if (!r || !o(r)) {
129
+ N({ name: O.nameInvalid });
130
+ return;
131
+ }
132
+ let c = i(x.current, r, e.description, e.instructions);
133
+ return {
134
+ publishEntityType: "skill",
135
+ isVersioned: !1,
136
+ createIn: async (e) => {
137
+ let i = [...e, r].join("/");
138
+ try {
139
+ await D.createSkill(t, i, c, n, a);
140
+ } catch (e) {
141
+ throw await q(e, !1);
142
+ }
143
+ return await E().catch(() => void 0), { id: `skills/${t}/${i}` };
144
+ }
145
+ };
146
+ }
147
+ let c = S.current, u = C.current;
148
+ if (!c || !u) {
149
+ F(O.saveError);
150
+ return;
151
+ }
152
+ let d = i(x.current, e.name, e.description, e.instructions);
153
+ return {
154
+ publishEntityType: "skill",
155
+ isVersioned: !1,
156
+ saveInPlace: async () => {
157
+ try {
158
+ C.current = (await D.updateSkill(t, c, d, n, a, C.current ?? u)).etag ?? u;
159
+ } catch (e) {
160
+ throw await q(e, !0);
161
+ }
162
+ return await E().catch(() => void 0), { id: `skills/${t}/${c}` };
163
+ },
164
+ move: async (e, t) => {
165
+ if (!D.moveSkill) throw new l(O.saveError);
166
+ try {
167
+ return await D.moveSkill(c, t.join("/"));
168
+ } catch (e) {
169
+ throw await q(e, !1);
170
+ }
171
+ }
172
+ };
173
+ }, [
174
+ g,
175
+ D,
109
176
  C,
110
- T,
111
- H
112
- ]), G = l((e) => {
177
+ v,
178
+ y,
179
+ x,
180
+ _,
181
+ S,
182
+ O,
183
+ E,
184
+ q
185
+ ]), Y = u((e) => {
113
186
  let t = c(e.instructions), r = a(e);
114
- j((e) => {
187
+ N((e) => {
115
188
  let i = { ...e };
116
189
  for (let e of Object.keys(n)) {
117
- let t = D.tooLong(n[e]);
190
+ let t = O.tooLong(n[e]);
118
191
  r[e] ? i[e] = t : i[e] === t && delete i[e];
119
192
  }
120
193
  if (!r.instructions) {
121
- let e = i.instructions === D.instructionsFrontmatter;
122
- t && !e ? i.instructions = D.instructionsFrontmatter : !t && e && delete i.instructions;
194
+ let e = i.instructions === O.instructionsFrontmatter;
195
+ t && !e ? i.instructions = O.instructionsFrontmatter : !t && e && delete i.instructions;
123
196
  }
124
197
  return Object.keys(i).length === Object.keys(e).length && Object.keys(i).every((t) => i[t] === e[t]) ? e : i;
125
198
  });
126
- }, [D]), K = l(async (e) => {
127
- if (R === "submitting" || !h) return;
199
+ }, [O]), X = u(async (e) => {
200
+ if (B === "submitting" || !g) return;
128
201
  let t = {};
129
- e.name.trim() || (t.name = D.required), e.description.trim() || (t.description = D.required), e.instructions.trim() ? c(e.instructions) && (t.instructions = D.instructionsFrontmatter) : t.instructions = D.required;
202
+ e.name.trim() || (t.name = O.required), e.description.trim() || (t.description = O.required), e.instructions.trim() ? c(e.instructions) && (t.instructions = O.instructionsFrontmatter) : t.instructions = O.required;
130
203
  let r = a(e);
131
- for (let e of Object.keys(r)) t[e] ??= D.tooLong(n[e]);
132
- Object.keys(t).length > 0 ? j(t) : (j({}), N(void 0), F(!1), L(void 0), V.current = e, g ? await W(e) : await U(e));
204
+ for (let e of Object.keys(r)) t[e] ??= O.tooLong(n[e]);
205
+ if (Object.keys(t).length > 0) N(t);
206
+ else if (N({}), F(void 0), L(!1), z(void 0), U.current = e, j) {
207
+ let t = J(e);
208
+ t && j(t, e);
209
+ } else _ ? await K(e) : await G(e);
133
210
  }, [
134
- R,
135
- h,
136
- D,
211
+ B,
137
212
  g,
138
- W,
139
- U
213
+ O,
214
+ _,
215
+ j,
216
+ J,
217
+ K,
218
+ G
140
219
  ]);
141
220
  return {
142
- phase: R,
143
- errors: A,
144
- submitError: M,
145
- isSubmitErrorRetryable: P,
146
- retrySubmit: l(() => {
147
- let e = V.current;
148
- e != null && K(e);
149
- }, [K]),
150
- conflict: I,
151
- clearConflict: () => L(void 0),
152
- handleSubmit: K,
153
- handleValuesChange: G
221
+ phase: B,
222
+ errors: M,
223
+ submitError: P,
224
+ isSubmitErrorRetryable: I,
225
+ retrySubmit: u(() => {
226
+ let e = U.current;
227
+ e != null && X(e);
228
+ }, [X]),
229
+ conflict: R,
230
+ clearConflict: () => z(void 0),
231
+ handleSubmit: X,
232
+ handleValuesChange: Y
154
233
  };
155
234
  };
156
235
  //#endregion
157
- export { h as useSkillEditorSubmit };
236
+ export { g as useSkillEditorSubmit };