@epam/ai-dial-chat-hooks 1.3.0-rc.0 → 1.4.0-dev.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"usePublishFolders.d.ts","sourceRoot":"","sources":["../../../src/catalog/usePublishFolders/usePublishFolders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAgBrC,gHAAgH;AAChH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,EAAE,KAAG,OAClB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,OAAO,EACnB,WAAW,MAAM,KAChB,MAAM,EAAE,GAAG,SAUb,CAAC;AAyBF,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9E;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/D;AAED,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,uDAAuD;IACvD,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,gDAAgD;IAChD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACpD;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;;;;OAIG;IACH,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,GAAI,0EAI/B,uBAAuB,KAAG,uBA+G5B,CAAC"}
1
+ {"version":3,"file":"usePublishFolders.d.ts","sourceRoot":"","sources":["../../../src/catalog/usePublishFolders/usePublishFolders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAgBrC,gHAAgH;AAChH,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,EAAE,KAAG,OAClB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,OAAO,EACnB,WAAW,MAAM,KAChB,MAAM,EAAE,GAAG,SAUb,CAAC;AAyBF,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9E;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/D;AAED,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC,qEAAqE;IACrE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,uDAAuD;IACvD,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,iEAAiE;IACjE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,gDAAgD;IAChD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACpD;;;;;;;;;;OAUG;IACH,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E;;;;OAIG;IACH,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,GAAI,0EAI/B,uBAAuB,KAAG,uBAsH5B,CAAC"}
@@ -64,7 +64,7 @@ var c = "Production", l = 50, u = (e) => !e.includes(c), d = (e, t) => {
64
64
  ]),
65
65
  expandedPaths: h,
66
66
  loadedPaths: x,
67
- loadingPaths: _,
67
+ loadingPaths: r(() => new Set([..._].map((e) => e.replace(/\/$/, ""))), [_]),
68
68
  onExpandedPathsChange: C,
69
69
  onCreatePublishFolder: w,
70
70
  rememberPublishFolder: T,
@@ -1 +1 @@
1
- {"version":3,"file":"useResourceSavePanel.d.ts","sourceRoot":"","sources":["../../../src/catalog/useResourceSavePanel/useResourceSavePanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAML,KAAK,wBAAwB,EAG7B,KAAK,gCAAgC,EACtC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAGL,wBAAwB,EAGxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGtF,4GAA4G;AAC5G,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,eAAe,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,mDAAmD;IACnD,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,mDAAmD;AACnD,MAAM,WAAW,0BAA0B;IACzC,wGAAwG;IACxG,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3E,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,+DAA+D;IAC/D,aAAa,EAAE,IAAI,CACjB,gBAAgB,EAChB,sBAAsB,GAAG,iBAAiB,CAC3C,CAAC;IACF,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB;IACvB,MAAM,EAAE,0BAA0B,CAAC;IACnC,0FAA0F;IAC1F,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC3E;AAED,kIAAkI;AAClI,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,gCAAgC,EAC9B,UAAU,GACV,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,OAAO,GACP,aAAa,GACb,qBAAqB,GACrB,gBAAgB,GAChB,SAAS,GACT,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,gBAAgB,CACnB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,wDAAwD;IACxD,UAAU,EAAE,2BAA2B,CAAC;IACxC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,kLAalC,0BAA0B,KAAG,0BA+R/B,CAAC"}
1
+ {"version":3,"file":"useResourceSavePanel.d.ts","sourceRoot":"","sources":["../../../src/catalog/useResourceSavePanel/useResourceSavePanel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAML,KAAK,wBAAwB,EAG7B,KAAK,gCAAgC,EACtC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAGL,wBAAwB,EAGxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAGtF,4GAA4G;AAC5G,MAAM,WAAW,0BAA0B;IACzC,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,+FAA+F;IAC/F,eAAe,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,mDAAmD;IACnD,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED,mDAAmD;AACnD,MAAM,WAAW,0BAA0B;IACzC,wGAAwG;IACxG,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3E,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,+DAA+D;IAC/D,aAAa,EAAE,IAAI,CACjB,gBAAgB,EAChB,sBAAsB,GAAG,iBAAiB,CAC3C,CAAC;IACF,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB;IACvB,MAAM,EAAE,0BAA0B,CAAC;IACnC,0FAA0F;IAC1F,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC3E;AAED,kIAAkI;AAClI,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,gCAAgC,EAC9B,UAAU,GACV,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,OAAO,GACP,aAAa,GACb,qBAAqB,GACrB,gBAAgB,GAChB,SAAS,GACT,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,gBAAgB,CACnB,CAAC;AAEF,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,wDAAwD;IACxD,UAAU,EAAE,2BAA2B,CAAC;IACxC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,kLAalC,0BAA0B,KAAG,0BAuR/B,CAAC"}
@@ -5,90 +5,90 @@ import { ResourceSaveVersionError as r, SaveDestinationRoot as i, createPublishS
5
5
  import { useCallback as a, useEffect as ne, useMemo as o, useRef as re, useState as s } from "react";
6
6
  import { SaveVersionMode as c, toFolderPathKey as ie } from "@epam/ai-dial-publish-panel";
7
7
  //#region src/catalog/useResourceSavePanel/useResourceSavePanel.ts
8
- var ae = (e) => new Set([...e].map((e) => e.replace(/\/$/, ""))), l = ({ isOpen: l, adapter: u, resourceId: d, currentFolderPath: f, currentVersion: p, versionPattern: m, listPersonalFolders: oe, organizationFolders: h, publishClient: g, ruleSourceOptions: _, labels: v, onSaved: y }) => {
8
+ var l = ({ isOpen: l, adapter: u, resourceId: d, currentFolderPath: f, currentVersion: p, versionPattern: m, listPersonalFolders: ae, organizationFolders: h, publishClient: g, ruleSourceOptions: _, labels: v, onSaved: y }) => {
9
9
  let b = t({
10
- listFolders: oe,
10
+ listFolders: ae,
11
11
  isEnabled: l
12
- }), { getPublishRules: se } = g, x = o(() => ee(g), [g]), S = o(() => ({
12
+ }), { getPublishRules: x } = g, S = o(() => ee(g), [g]), C = o(() => ({
13
13
  rootKey: i.Personal,
14
14
  path: f
15
- }), [f]), [C, w] = s(S), [T, ce] = s(c.Keep), [E, D] = s(""), [O, k] = s(!1), [A, j] = s(), [le, M] = s(!1), [ue, N] = s(), [P, F] = s([]), [I, L] = s(!1), [R, z] = s(!1), B = re(void 0), de = a((e) => {
15
+ }), [f]), [w, T] = s(C), [E, D] = s(c.Keep), [O, oe] = s(""), [k, A] = s(!1), [j, M] = s(), [se, N] = s(!1), [ce, P] = s(), [F, I] = s([]), [L, R] = s(!1), [z, B] = s(!1), V = re(void 0), le = a((e) => {
16
16
  if (e?.rootKey !== i.Organization) return;
17
17
  let t = ie(e.path);
18
- t !== B.current && (B.current = t, F([]), z(!1), L(!0), (async () => {
18
+ t !== V.current && (V.current = t, I([]), B(!1), R(!0), (async () => {
19
19
  try {
20
- let n = await se(e.path.join("/"));
21
- B.current === t && F(n);
20
+ let n = await x(e.path.join("/"));
21
+ V.current === t && I(n);
22
22
  } catch {
23
- B.current === t && z(!0);
23
+ V.current === t && B(!0);
24
24
  } finally {
25
- B.current === t && L(!1);
25
+ V.current === t && R(!1);
26
26
  }
27
27
  })());
28
- }, [se]);
28
+ }, [x]);
29
29
  ne(() => {
30
- l && (B.current = void 0, F([]), L(!1), z(!1), w(S), ce(c.Keep), D(""), k(!1), j(void 0), N(void 0));
30
+ l && (V.current = void 0, I([]), R(!1), B(!1), T(C), D(c.Keep), oe(""), A(!1), M(void 0), P(void 0));
31
31
  }, [l]);
32
- let V = u.isVersioned && T === c.New, H = E.trim(), U = o(() => {
33
- if (V) {
34
- if (!m.test(H)) return r.Invalid;
35
- if (H === p) return r.Unchanged;
36
- if (H === A) return r.Exists;
32
+ let H = u.isVersioned && E === c.New, U = O.trim(), W = o(() => {
33
+ if (H) {
34
+ if (!m.test(U)) return r.Invalid;
35
+ if (U === p) return r.Unchanged;
36
+ if (U === j) return r.Exists;
37
37
  }
38
38
  }, [
39
- V,
40
- m,
41
39
  H,
40
+ m,
41
+ U,
42
42
  p,
43
- A
44
- ]), W = C.rootKey === i.Organization && (I || R), G = a((e) => {
45
- D(e), N(void 0);
46
- }, []), K = a(() => k(!0), []), q = h?.rememberPublishFolder, { saveError: J } = v, Y = a(async () => {
47
- if (k(!0), U || W) return;
48
- M(!0), N(void 0);
43
+ j
44
+ ]), G = w.rootKey === i.Organization && (L || z), K = a((e) => {
45
+ oe(e), P(void 0);
46
+ }, []), q = a(() => A(!0), []), J = h?.rememberPublishFolder, { saveError: Y } = v, X = a(async () => {
47
+ if (A(!0), W || G) return;
48
+ N(!0), P(void 0);
49
49
  let t = {
50
50
  resourceId: d,
51
51
  currentFolderPath: f,
52
52
  currentVersion: p,
53
- destination: C,
54
- versionMode: T,
55
- newVersion: H,
56
- rules: P
53
+ destination: w,
54
+ versionMode: E,
55
+ newVersion: U,
56
+ rules: F
57
57
  };
58
58
  try {
59
- let e = await te(u, t, x);
60
- e.isPublished && q?.(C.path), y(e, t);
59
+ let e = await te(u, t, S);
60
+ e.isPublished && J?.(w.path), y(e, t);
61
61
  } catch (t) {
62
62
  if (t instanceof n) {
63
- N(t.message);
63
+ P(t.message);
64
64
  return;
65
65
  }
66
66
  let { message: r, status: i } = await e(t);
67
- if (V && i === 409) {
68
- j(H);
67
+ if (H && i === 409) {
68
+ M(U);
69
69
  return;
70
70
  }
71
- N(r ?? J);
71
+ P(r ?? Y);
72
72
  } finally {
73
- M(!1);
73
+ N(!1);
74
74
  }
75
75
  }, [
76
76
  u,
77
77
  f,
78
78
  p,
79
- C,
80
- V,
81
- W,
79
+ w,
80
+ H,
81
+ G,
82
82
  y,
83
- x,
84
- q,
85
- d,
86
- P,
83
+ S,
87
84
  J,
88
- H,
89
- T,
90
- U
91
- ]), fe = a(() => void Y(), [Y]), X = o(() => h ? ae(h.loadingPaths) : void 0, [h]), { personalRoot: Z, organizationRoot: Q } = v, pe = o(() => {
85
+ d,
86
+ F,
87
+ Y,
88
+ U,
89
+ E,
90
+ W
91
+ ]), ue = a(() => void X(), [X]), { personalRoot: Z, organizationRoot: Q } = v, de = o(() => {
92
92
  let e = {
93
93
  key: i.Personal,
94
94
  label: Z,
@@ -103,70 +103,69 @@ var ae = (e) => new Set([...e].map((e) => e.replace(/\/$/, ""))), l = ({ isOpen:
103
103
  items: h.folderItems,
104
104
  expandedPaths: h.expandedPaths,
105
105
  onExpandedPathsChange: h.onExpandedPathsChange,
106
- loadingPaths: X,
106
+ loadingPaths: h.loadingPaths,
107
107
  hasAccessRules: !0
108
108
  }] : [e];
109
109
  }, [
110
110
  h,
111
- X,
112
111
  Q,
113
112
  b.expandedPaths,
114
113
  b.folderItems,
115
114
  b.loadingPaths,
116
115
  b.onExpandedPathsChange,
117
116
  Z
118
- ]), { onCreateFolder: $ } = b, me = h?.onCreatePublishFolder, he = a(async (e, t, n) => {
119
- e === i.Organization ? await me?.(t, n) : await $(t, n);
120
- }, [$, me]), { getVersionError: ge } = v, _e = o(() => u.isVersioned && p != null ? {
121
- versionMode: T,
122
- onVersionModeChange: ce,
117
+ ]), { onCreateFolder: $ } = b, fe = h?.onCreatePublishFolder, pe = a(async (e, t, n) => {
118
+ e === i.Organization ? await fe?.(t, n) : await $(t, n);
119
+ }, [$, fe]), { getVersionError: me } = v, he = o(() => u.isVersioned && p != null ? {
120
+ versionMode: E,
121
+ onVersionModeChange: D,
123
122
  currentVersion: p,
124
- newVersion: E,
125
- onNewVersionChange: G,
126
- onNewVersionBlur: K,
127
- newVersionError: O && U ? ge(U, H) : void 0
123
+ newVersion: O,
124
+ onNewVersionChange: K,
125
+ onNewVersionBlur: q,
126
+ newVersionError: k && W ? me(W, U) : void 0
128
127
  } : void 0, [
129
128
  u.isVersioned,
130
129
  p,
131
- ge,
130
+ me,
131
+ k,
132
+ q,
132
133
  O,
133
134
  K,
134
- E,
135
- G,
136
- H,
137
135
  U,
138
- T
139
- ]), { accessRules: ve } = v, ye = o(() => ({
140
- rules: P,
141
- onRulesChange: F,
136
+ W,
137
+ E
138
+ ]), { accessRules: ge } = v, _e = o(() => ({
139
+ rules: F,
140
+ onRulesChange: I,
142
141
  sourceOptions: _,
143
- isLoading: I,
144
- hasLoadError: R,
145
- labels: ve
142
+ isLoading: L,
143
+ hasLoadError: z,
144
+ labels: ge
146
145
  }), [
147
- ve,
148
- R,
149
- I,
146
+ ge,
147
+ z,
148
+ L,
150
149
  _,
151
- P
150
+ F
152
151
  ]);
153
152
  return {
154
153
  panelProps: {
155
- onSubmit: fe,
156
- isSubmitDisabled: V && !!U || W,
157
- isSubmitting: le,
158
- submitError: ue,
159
- roots: pe,
160
- destination: C,
161
- onDestinationChange: w,
162
- onCreateFolder: he,
163
- version: _e,
164
- accessRules: ye,
165
- onPendingDestinationChange: de,
154
+ onSubmit: ue,
155
+ isSubmitDisabled: H && !!W || G,
156
+ isSubmitting: se,
157
+ submitError: ce,
158
+ roots: de,
159
+ destination: w,
160
+ onDestinationChange: T,
161
+ onCreateFolder: pe,
162
+ version: he,
163
+ accessRules: _e,
164
+ onPendingDestinationChange: le,
166
165
  foldersError: b.hasError ? v.foldersLoadError : void 0,
167
166
  onRetryFolders: b.retry
168
167
  },
169
- submit: Y
168
+ submit: X
170
169
  };
171
170
  };
172
171
  //#endregion
@@ -26,7 +26,7 @@ export declare class GenerationPersistenceError extends Error {
26
26
  constructor(status?: number, terminalMarker?: GenerationPersistenceTerminalMarker);
27
27
  }
28
28
  /** Fallback text of a {@link GenerationConflictError} when no message is supplied. */
29
- export declare const DEFAULT_GENERATION_CONFLICT_MESSAGE = "A response is already being generated in this conversation. Wait for it to finish or stop it before sending another message.";
29
+ export declare const DEFAULT_GENERATION_CONFLICT_MESSAGE = "A response is already being generated in this conversation. Wait for it to finish before sending another message.";
30
30
  /**
31
31
  * Reported through `onError` when the backend rejects a completion because
32
32
  * another generation is already active on the same conversation — what a
@@ -1 +1 @@
1
- {"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
6
6
  constructor(e, t) {
7
7
  super(n), this.name = "GenerationPersistenceError", this.status = e, this.terminalMarker = t;
8
8
  }
9
- }, a = "A response is already being generated in this conversation. Wait for it to finish or stop it before sending another message.", o = class extends Error {
9
+ }, a = "A response is already being generated in this conversation. Wait for it to finish before sending another message.", o = class extends Error {
10
10
  constructor(e = a) {
11
11
  super(e), this.name = "GenerationConflictError";
12
12
  }
@@ -17,6 +17,14 @@ export declare const hasGeneratedPayload: (message: Message) => boolean;
17
17
  * anywhere, e.g. before a model-changed status message.
18
18
  */
19
19
  export declare const findPendingBackgroundMessageIndex: (conversation: Conversation) => number;
20
+ /**
21
+ * Index of the conversation's message whose `foregroundGeneration` marker is still live
22
+ * at `now` (its `expiresAt` is later), or -1. A live marker means the answer is being
23
+ * generated in another tab, on another device, or by another participant.
24
+ * @param conversation - conversation to inspect
25
+ * @param now - the client's clock, epoch ms
26
+ */
27
+ export declare const findLiveForegroundMessageIndex: (conversation: Conversation, now?: number) => number;
20
28
  /**
21
29
  * True when the conversation has a pending background message, or its last
22
30
  * message is an unresolved assistant placeholder: the backend only persists a
@@ -1 +1 @@
1
- {"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"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"}
@@ -9,165 +9,169 @@ import { BackgroundGenerationStatus as c, MessageRole as l } from "@epam/ai-dial
9
9
  var u = (e) => {
10
10
  let t = e.custom_content;
11
11
  return !!e.content || e.responseId != null || !!t?.attachments?.length || !!t?.stages?.length || !!t?.annotations?.length || !!t?.form_schema || t?.state != null;
12
- }, d = (e) => e.messages.findIndex((e) => e.backgroundGeneration?.status === c.Pending), f = (e) => {
13
- if (d(e) !== -1) return !0;
12
+ }, d = (e) => e.messages.findIndex((e) => e.backgroundGeneration?.status === c.Pending), f = (e, t = Date.now()) => e.messages.findIndex((e) => e.foregroundGeneration != null && t < e.foregroundGeneration.expiresAt), p = (e) => {
13
+ if (d(e) !== -1 || f(e) !== -1) return !0;
14
14
  let t = e.messages[e.messages.length - 1];
15
15
  return !!t && t.role === l.Assistant && !u(t) && t.streamErrorMessage == null && !t.wasStoppedByUser;
16
- }, p = 3e5, m = "awaiting-resume", h = [
16
+ }, m = 3e5, h = "awaiting-resume", g = [
17
17
  1e3,
18
18
  2e3,
19
19
  4e3,
20
20
  8e3,
21
21
  16e3
22
- ], g = (e) => new Promise((t) => {
22
+ ], _ = (e) => new Promise((t) => {
23
23
  let n = typeof window < "u", r = () => {
24
24
  clearTimeout(i), n && window.removeEventListener("online", r), t();
25
25
  }, i = setTimeout(r, e);
26
26
  n && window.addEventListener("online", r);
27
- }), _ = async (e, t, n) => {
28
- for (let r = 0; r <= h.length; r++) {
27
+ }), v = async (e, t, n) => {
28
+ for (let r = 0; r <= g.length; r++) {
29
29
  if (t()) return null;
30
30
  try {
31
31
  let t = await e();
32
32
  if (!n?.(t)) return t;
33
33
  } catch {}
34
- if (r === h.length) return null;
35
- await g(h[r]);
34
+ if (r === g.length) return null;
35
+ await _(g[r]);
36
36
  }
37
37
  return null;
38
- }, v = ({ transport: c, setConversation: l, conversationRef: h, resumingPathsRef: g, bufferedGenerationsRef: _, addStreamingPath: v, removeStreamingPath: y, isPathDisplayed: b, generationPersistenceErrorMessage: x = n, generationInterruptedMessage: S = t, frameScheduler: C, stoppedGenerationIdsRef: w, rememberResumedGenerationId: T, forgetResumedGenerationId: E, onReloadError: D, onReloadSuccess: O }) => (t, n, k = {}) => {
39
- if (!f(n)) {
40
- k.onSettled?.();
38
+ }, y = ({ transport: c, setConversation: l, conversationRef: g, resumingPathsRef: _, bufferedGenerationsRef: v, addStreamingPath: y, removeStreamingPath: b, isPathDisplayed: x, generationPersistenceErrorMessage: S = n, generationInterruptedMessage: C = t, frameScheduler: w, stoppedGenerationIdsRef: T, rememberResumedGenerationId: E, forgetResumedGenerationId: D, onReloadError: O, onReloadSuccess: k }) => (t, n, A = {}) => {
39
+ if (!p(n)) {
40
+ A.onSettled?.();
41
41
  return;
42
42
  }
43
- let A = a(t);
44
- if (!k.skipDedupe && g.current.has(A)) return;
45
- g.current.add(A), v(A);
46
- let j = d(n), M = j !== -1, N = M ? j : n.messages.length - 1, P = {
47
- generationId: m,
48
- messageIndex: N,
49
- message: k.seedMessage ?? n.messages[N]
43
+ let j = a(t);
44
+ if (!A.skipDedupe && _.current.has(j)) return;
45
+ _.current.add(j), y(j);
46
+ let M = d(n), N = M !== -1, P = N ? -1 : f(n), F = n.messages.length - 1;
47
+ N ? F = M : P !== -1 && (F = P);
48
+ let I = {
49
+ generationId: h,
50
+ messageIndex: F,
51
+ message: A.seedMessage ?? n.messages[F]
50
52
  };
51
- _.current.set(A, P);
52
- let F = () => _.current.get(A) === P, I = M ? n.messages[N].backgroundGeneration?.generationId : void 0, L, R = () => {
53
- let e = I ?? L;
54
- return e != null && (w?.current.has(e) ?? !1);
55
- }, z = (e) => {
56
- k.trackAttachGenerationId && !M && e != null && F() && (L = e, T?.(A, e));
57
- }, B = () => {
58
- if (L == null) return;
59
- let e = L;
60
- L = void 0, w?.current.delete(e), E?.(A, e);
61
- }, V = (e) => !!k.shouldMarkOrphanedAsInterrupted && !M && !!e && e.messages.length - 1 === N && d(e) === -1 && f(e) && !u(P.message), H = () => {
62
- P.message = {
63
- ...P.message,
64
- streamErrorMessage: S
53
+ v.current.set(j, I);
54
+ let L = () => v.current.get(j) === I, R = N ? n.messages[F].backgroundGeneration?.generationId : void 0, z, B = () => {
55
+ let e = R ?? z;
56
+ return e != null && (T?.current.has(e) ?? !1);
57
+ }, V = (e) => {
58
+ A.trackAttachGenerationId && !N && e != null && L() && (z = e, E?.(j, e));
59
+ }, H = () => {
60
+ if (z == null) return;
61
+ let e = z;
62
+ z = void 0, T?.current.delete(e), D?.(j, e);
63
+ };
64
+ P !== -1 && V(n.messages[P].foregroundGeneration?.generationId);
65
+ let U = (e) => !!A.shouldMarkOrphanedAsInterrupted && !N && !!e && e.messages.length - 1 === F && d(e) === -1 && f(e) === -1 && p(e) && !u(I.message), W = () => {
66
+ I.message = {
67
+ ...I.message,
68
+ streamErrorMessage: C
65
69
  };
66
- }, U = () => {
67
- F() && (H(), g.current.delete(A), y(A), B(), b(A) && l((e) => {
68
- if (!e || !F() || !b(A)) return e;
69
- let t = s(e, P);
70
- return h.current = t, t;
70
+ }, G = () => {
71
+ L() && (W(), _.current.delete(j), b(j), H(), x(j) && l((e) => {
72
+ if (!e || !L() || !x(j)) return e;
73
+ let t = s(e, I);
74
+ return g.current = t, t;
71
75
  }));
72
- }, W = (e, t = !1) => {
73
- if (C?.flush(A), I != null && w?.current.delete(I), B(), !F()) return;
74
- g.current.delete(A), y(A);
75
- let n = !M && e && e.messages.length - 1 === N && f(e) && u(P.message);
76
- if (t || n) P.message = {
77
- ...P.message,
78
- streamErrorMessage: x
79
- }, b(A) && l((e) => {
80
- if (!e || !F() || !b(A)) return e;
81
- let t = s(e, P);
82
- return h.current = t, t;
76
+ }, K = (e, t = !1) => {
77
+ if (w?.flush(j), R != null && T?.current.delete(R), H(), !L()) return;
78
+ _.current.delete(j), b(j);
79
+ let n = !N && e && e.messages.length - 1 === F && p(e) && u(I.message);
80
+ if (t || n) I.message = {
81
+ ...I.message,
82
+ streamErrorMessage: S
83
+ }, x(j) && l((e) => {
84
+ if (!e || !L() || !x(j)) return e;
85
+ let t = s(e, I);
86
+ return g.current = t, t;
83
87
  });
84
- else if (_.current.delete(A), e && b(A)) {
85
- let t = V(e);
86
- t && H();
87
- let n = t ? s(e, P) : e;
88
- l(n), h.current = n;
88
+ else if (v.current.delete(j), e && x(j)) {
89
+ let t = U(e);
90
+ t && W();
91
+ let n = t ? s(e, I) : e;
92
+ l(n), g.current = n;
89
93
  }
90
- }, G = async () => {
91
- if (F()) try {
94
+ }, q = async () => {
95
+ if (L()) try {
92
96
  let n = await c.getConversation(e(t));
93
- if (!F()) return;
94
- O?.(A), W(n);
97
+ if (!L()) return;
98
+ k?.(j), K(n);
95
99
  } catch {
96
- if (!F()) return;
97
- C?.flush(A), g.current.delete(A), y(A), I != null && w?.current.delete(I), B(), D?.(A, G, F);
100
+ if (!L()) return;
101
+ w?.flush(j), _.current.delete(j), b(j), R != null && T?.current.delete(R), H(), O?.(j, q, L);
98
102
  }
99
- }, K = (e) => {
100
- C?.cancel(A), F() && (P.message = e, b(A) && l((e) => {
101
- if (!e || !F() || !b(A)) return e;
102
- let t = s(e, P);
103
- return h.current = t, t;
103
+ }, J = (e) => {
104
+ w?.cancel(j), L() && (I.message = e, x(j) && l((e) => {
105
+ if (!e || !L() || !x(j)) return e;
106
+ let t = s(e, I);
107
+ return g.current = t, t;
104
108
  }));
105
- }, q = () => l((e) => {
106
- if (!e || !F() || !b(A)) return e;
107
- let t = s(e, P);
108
- return h.current = t, t;
109
- }), J = (e) => {
110
- if (!F() || R()) return;
111
- let t = o([P.message], 0, e);
112
- t && (P.message = t[0]), b(A) && (C ? C.schedule(A, q) : q());
113
- }, Y = async () => {
109
+ }, Y = () => l((e) => {
110
+ if (!e || !L() || !x(j)) return e;
111
+ let t = s(e, I);
112
+ return g.current = t, t;
113
+ }), X = (e) => {
114
+ if (!L() || B()) return;
115
+ let t = o([I.message], 0, e);
116
+ t && (I.message = t[0]), x(j) && (w ? w.schedule(j, Y) : Y());
117
+ }, Z = async () => {
114
118
  let n = new AbortController(), r;
115
119
  try {
116
- r = await c.watchConversation(A, n.signal);
120
+ r = await c.watchConversation(j, n.signal);
117
121
  } catch {
118
- await G();
122
+ await q();
119
123
  return;
120
124
  }
121
125
  try {
122
126
  let i = await c.getConversation(e(t));
123
- if (!f(i)) {
124
- n.abort(), r.cancel().catch(() => void 0), W(i);
127
+ if (!p(i)) {
128
+ n.abort(), r.cancel().catch(() => void 0), K(i);
125
129
  return;
126
130
  }
127
- V(i) && U();
131
+ U(i) && G();
128
132
  } catch {}
129
133
  let a = !1, o = window.setTimeout(() => {
130
134
  n.abort();
131
- }, p);
135
+ }, m);
132
136
  try {
133
137
  await i(r, async (n) => {
134
138
  if (n?.action !== "UPDATE") return !1;
135
139
  try {
136
140
  let n = await c.getConversation(e(t));
137
- if (!f(n)) return W(n), a = !0, !0;
141
+ if (!p(n)) return K(n), a = !0, !0;
138
142
  } catch {}
139
143
  return !1;
140
144
  });
141
145
  } finally {
142
146
  clearTimeout(o);
143
147
  }
144
- a || await G();
145
- }, X = async () => {
148
+ a || await q();
149
+ }, Q = async () => {
146
150
  let e = new AbortController(), t;
147
151
  try {
148
- t = await c.attachToGeneration(A, e.signal);
152
+ t = await c.attachToGeneration(j, e.signal);
149
153
  } catch {
150
154
  return !1;
151
155
  }
152
156
  let n = !1, a = !1;
153
157
  return await i(t, (e) => {
154
- if (!F()) return !0;
158
+ if (!L()) return !0;
155
159
  switch (e.type) {
156
- case "snapshot": return z(e.generationId), K(e.message), !1;
157
- case "chunk": return J(e.chunk), !1;
160
+ case "snapshot": return V(e.generationId), J(e.message), !1;
161
+ case "chunk": return X(e.chunk), !1;
158
162
  case "done":
159
163
  case "error":
160
164
  case "stopped": return a = e.type === "error" && e.errorType === r.type, n = !0, !0;
161
165
  }
162
- }), n ? (a ? W(void 0, !0) : await G(), !0) : (B(), !F());
166
+ }), n ? (a ? K(void 0, !0) : await q(), !0) : (H(), !L());
163
167
  };
164
168
  (async () => {
165
169
  try {
166
- await X() || await Y();
170
+ await Q() || await Z();
167
171
  } finally {
168
- k.onSettled?.();
172
+ A.onSettled?.();
169
173
  }
170
174
  })();
171
175
  };
172
176
  //#endregion
173
- export { h as RECOVERY_REFETCH_DELAYS_MS, v as createResumeIfAwaitingGeneration, _ as fetchConversationForRecovery, d as findPendingBackgroundMessageIndex, u as hasGeneratedPayload, f as isAwaitingGenerationResume };
177
+ export { g as RECOVERY_REFETCH_DELAYS_MS, y as createResumeIfAwaitingGeneration, v as fetchConversationForRecovery, f as findLiveForegroundMessageIndex, d as findPendingBackgroundMessageIndex, u as hasGeneratedPayload, p as isAwaitingGenerationResume };
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.3.0-rc.0",
4
+ "version": "1.4.0-dev.12",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -131,7 +131,7 @@
131
131
  }
132
132
  },
133
133
  "dependencies": {
134
- "@epam/ai-dial-chat-api-client": "1.3.0-rc.0",
134
+ "@epam/ai-dial-chat-api-client": "1.4.0-dev.12",
135
135
  "dompurify": "3.4.17",
136
136
  "fflate": "^0.8.3",
137
137
  "lru-cache": "^10.4.3",
@@ -140,23 +140,23 @@
140
140
  },
141
141
  "peerDependencies": {
142
142
  "react": "^19.2.8",
143
- "@epam/ai-dial-attachment-canvas": "1.3.0-rc.0",
144
- "@epam/ai-dial-attachment-input": "1.3.0-rc.0",
145
- "@epam/ai-dial-catalog": "1.3.0-rc.0",
146
- "@epam/ai-dial-chat-overlay": "1.3.0-rc.0",
147
- "@epam/ai-dial-chat-shared": "1.3.0-rc.0",
148
- "@epam/ai-dial-conversation-input": "1.3.0-rc.0",
149
- "@epam/ai-dial-mcp-apps": "1.3.0-rc.0",
150
- "@epam/ai-dial-projects": "1.3.0-rc.0",
151
- "@epam/ai-dial-publish-panel": "1.3.0-rc.0",
152
- "@epam/ai-dial-quotations": "1.3.0-rc.0",
143
+ "@epam/ai-dial-attachment-canvas": "1.4.0-dev.12",
144
+ "@epam/ai-dial-attachment-input": "1.4.0-dev.12",
145
+ "@epam/ai-dial-catalog": "1.4.0-dev.12",
146
+ "@epam/ai-dial-chat-overlay": "1.4.0-dev.12",
147
+ "@epam/ai-dial-chat-shared": "1.4.0-dev.12",
148
+ "@epam/ai-dial-conversation-input": "1.4.0-dev.12",
149
+ "@epam/ai-dial-mcp-apps": "1.4.0-dev.12",
150
+ "@epam/ai-dial-projects": "1.4.0-dev.12",
151
+ "@epam/ai-dial-publish-panel": "1.4.0-dev.12",
152
+ "@epam/ai-dial-quotations": "1.4.0-dev.12",
153
153
  "@epam/ai-dial-react-file-manager": "^0.4.1",
154
- "@epam/ai-dial-scheduled-tasks": "1.3.0-rc.0",
155
- "@epam/ai-dial-share": "1.3.0-rc.0",
156
- "@epam/ai-dial-skill-editor": "1.3.0-rc.0",
157
- "@epam/ai-dial-source-panel": "1.3.0-rc.0",
154
+ "@epam/ai-dial-scheduled-tasks": "1.4.0-dev.12",
155
+ "@epam/ai-dial-share": "1.4.0-dev.12",
156
+ "@epam/ai-dial-skill-editor": "1.4.0-dev.12",
157
+ "@epam/ai-dial-source-panel": "1.4.0-dev.12",
158
158
  "@epam/ai-dial-ui-kit": "^0.16.0",
159
- "@epam/ai-dial-usage-dashboard": "1.3.0-rc.0",
159
+ "@epam/ai-dial-usage-dashboard": "1.4.0-dev.12",
160
160
  "@modelcontextprotocol/sdk": "^1.32.2",
161
161
  "@epam/pdf-highlighter-kit": "^0.0.21"
162
162
  },