@epam/ai-dial-chat-hooks 1.3.0-dev.296 → 1.3.0-dev.305

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 (58) hide show
  1. package/catalog/application-credentials.d.ts.map +1 -1
  2. package/catalog/application-credentials.js +20 -25
  3. package/catalog/use-publish-history.d.ts +19 -0
  4. package/catalog/use-publish-history.d.ts.map +1 -0
  5. package/catalog/use-publish-history.js +25 -0
  6. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -1
  7. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +72 -77
  8. package/catalog.js +19 -18
  9. package/conversation/conversation-data-source.d.ts +47 -0
  10. package/conversation/conversation-data-source.d.ts.map +1 -0
  11. package/conversation/conversation-data-source.js +11 -0
  12. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -1
  13. package/conversation/useConversationExport/useConversationExport.js +76 -84
  14. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -1
  15. package/conversation/useConversationScroll/useConversationScroll.js +64 -63
  16. package/conversation.js +33 -32
  17. package/entry-points/catalog.d.ts +1 -0
  18. package/entry-points/catalog.d.ts.map +1 -1
  19. package/entry-points/conversation.d.ts +1 -0
  20. package/entry-points/conversation.d.ts.map +1 -1
  21. package/entry-points/project.d.ts +5 -0
  22. package/entry-points/project.d.ts.map +1 -1
  23. package/external-services/useExternalServiceLogin.d.ts +3 -13
  24. package/external-services/useExternalServiceLogin.d.ts.map +1 -1
  25. package/external-services/useExternalServiceLogin.js +49 -58
  26. package/index.d.ts +7 -0
  27. package/index.d.ts.map +1 -1
  28. package/index.js +189 -182
  29. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -1
  30. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +42 -39
  31. package/oauth/authorize-url.d.ts +7 -1
  32. package/oauth/authorize-url.d.ts.map +1 -1
  33. package/oauth/authorize-url.js +13 -3
  34. package/oauth/models.d.ts +25 -0
  35. package/oauth/models.d.ts.map +1 -1
  36. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
  37. package/oauth/useToolsetLogin/useToolsetLogin.js +45 -56
  38. package/oauth.js +7 -7
  39. package/package.json +17 -17
  40. package/project/create-project-chat.d.ts +34 -0
  41. package/project/create-project-chat.d.ts.map +1 -0
  42. package/project/create-project-chat.js +27 -0
  43. package/project/project-conversation-data-source.d.ts +36 -0
  44. package/project/project-conversation-data-source.d.ts.map +1 -0
  45. package/project/project-conversation-data-source.js +67 -0
  46. package/project/project-file-preview.d.ts +28 -0
  47. package/project/project-file-preview.d.ts.map +1 -0
  48. package/project/project-file-preview.js +20 -0
  49. package/project/use-project-draft.d.ts +46 -0
  50. package/project/use-project-draft.d.ts.map +1 -0
  51. package/project/use-project-draft.js +54 -0
  52. package/project/use-project-file-preview.d.ts +42 -0
  53. package/project/use-project-file-preview.d.ts.map +1 -0
  54. package/project/use-project-file-preview.js +46 -0
  55. package/project.js +15 -10
  56. package/shared/sleep.d.ts +3 -0
  57. package/shared/sleep.d.ts.map +1 -0
  58. package/shared/sleep.js +13 -0
@@ -2,45 +2,37 @@ import { collectAttachmentRefs as e } from "../conversation-transfer/attachment-
2
2
  import { ConversationExportMode as t, ConversationTransferWarningCode as n, ExportFileNameKind as r } from "../conversation-transfer/types.js";
3
3
  import { EXPORT_APP_NAME as i, buildExportEnvelope as a, buildExportFileName as o, serializeExportEnvelope as s, stripConversationAttachments as c } from "../conversation-transfer/export-conversation.js";
4
4
  import { resolveDialFileBucketAndPath as l } from "../conversation-transfer/dial-file-resolve.js";
5
- import { runWithConcurrency as u } from "../conversation-transfer/async.js";
6
- import { ConversationTransferKind as d, ConversationTransferPhase as f, buildTransferProgress as p } from "../conversation-transfer/progress.js";
7
- import { useConversationTransferQueue as m } from "../conversation-transfer/queue.js";
8
- import { buildDialArchive as h } from "../conversation-transfer/zip-export.js";
9
- import { ResponseError as g } from "@epam/ai-dial-chat-api-client";
10
- import { ConversationTransferErrorCode as _, ConversationTransferSubjectKind as v, ConversationTransferUnitKind as y, triggerBlobDownload as b } from "@epam/ai-dial-chat-shared";
11
- import { useCallback as x } from "react";
5
+ import { sleep as u } from "../../shared/sleep.js";
6
+ import { runWithConcurrency as d } from "../conversation-transfer/async.js";
7
+ import { ConversationTransferKind as f, ConversationTransferPhase as p, buildTransferProgress as m } from "../conversation-transfer/progress.js";
8
+ import { useConversationTransferQueue as h } from "../conversation-transfer/queue.js";
9
+ import { buildDialArchive as g } from "../conversation-transfer/zip-export.js";
10
+ import { ResponseError as _ } from "@epam/ai-dial-chat-api-client";
11
+ import { ConversationTransferErrorCode as v, ConversationTransferSubjectKind as y, ConversationTransferUnitKind as b, triggerBlobDownload as x } from "@epam/ai-dial-chat-shared";
12
+ import { useCallback as S } from "react";
12
13
  //#region src/conversation/useConversationExport/useConversationExport.ts
13
- var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g && e.response.status === w, O = (e, t) => {
14
+ var C = 5, w = 536870912, T = 429, E = 5, D = 2e3, O = (e) => e instanceof _ && e.response.status === T, k = (e, t) => {
14
15
  let n = Number(e.response.headers.get("Retry-After"));
15
- return Number.isFinite(n) && n > 0 ? n * 1e3 : E * t;
16
- }, k = (e, t) => new Promise((n) => {
17
- if (t.aborted) {
18
- n();
19
- return;
20
- }
21
- let r = setTimeout(n, e);
22
- t.addEventListener("abort", () => {
23
- clearTimeout(r), n();
24
- }, { once: !0 });
25
- }), A = async (e, t, n) => {
16
+ return Number.isFinite(n) && n > 0 ? n * 1e3 : D * t;
17
+ }, A = async (e, t, n) => {
26
18
  for (let r = 1;; r += 1) try {
27
19
  return await e.getConversation({ path: t }, { signal: n });
28
20
  } catch (e) {
29
- if (n.aborted || !D(e) || r >= T) throw e;
30
- await k(O(e, r), n);
21
+ if (n.aborted || !O(e) || r >= E) throw e;
22
+ await u(k(e, r), n);
31
23
  }
32
- }, j = (e) => !e.sharedWithMe && !e.publishedWithMe, M = (e) => e instanceof RangeError, N = (e) => e === t.WithoutAttachments ? d.ExportSingle : d.ExportSingleWithAttachments, P = ({ conversationsApi: g, filesApi: w, normalizeConversationPath: T, classifyTransferError: E = () => ({}), resolveErrorTraceId: D = async () => void 0, maxArchiveBytes: O = C, onSuccess: k, onWarning: P, onError: F }) => {
33
- let I = m(), L = x(async (e, t, n) => {
24
+ }, j = (e) => !e.sharedWithMe && !e.publishedWithMe, M = (e) => e instanceof RangeError, N = (e) => e === t.WithoutAttachments ? f.ExportSingle : f.ExportSingleWithAttachments, P = ({ conversationsApi: u, filesApi: _, normalizeConversationPath: T, classifyTransferError: E = () => ({}), resolveErrorTraceId: D = async () => void 0, maxArchiveBytes: O = w, onSuccess: k, onWarning: P, onError: F }) => {
25
+ let I = h(), L = S(async (e, t, n) => {
34
26
  let r = !1, i = !1, a = 0, o = () => {
35
27
  a += 1, n(a, e.length);
36
28
  };
37
29
  return {
38
- entries: await u(e, S, async (e) => {
30
+ entries: await d(e, C, async (e) => {
39
31
  if (t.aborted || i) return;
40
32
  let n = l(e.fileId);
41
33
  if (!n) r = !0, o();
42
34
  else try {
43
- let e = await w.downloadFileRaw({
35
+ let e = await _.downloadFileRaw({
44
36
  bucket: n.bucket,
45
37
  path: n.path
46
38
  }, { signal: t }), r = new Uint8Array(await e.raw.arrayBuffer());
@@ -61,88 +53,88 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
61
53
  anySkipped: !t.aborted && !i && r,
62
54
  isUnauthorized: !t.aborted && i
63
55
  };
64
- }, [E, w]), R = x(async (r, i, o, l, u, d) => {
65
- let m = N(l), v;
56
+ }, [E, _]), R = S(async (r, i, o, l, d, f) => {
57
+ let h = N(l), _;
66
58
  try {
67
- v = await A(g, T(i), d);
59
+ _ = await A(u, T(i), f);
68
60
  } catch (e) {
69
- if (d.aborted) return;
61
+ if (f.aborted) return;
70
62
  if (E(e).isUnauthorized) F?.({
71
63
  jobId: r,
72
- code: _.Unauthorized
73
- }), I.failJob(r, _.Unauthorized);
64
+ code: v.Unauthorized
65
+ }), I.failJob(r, v.Unauthorized);
74
66
  else {
75
67
  let t = await D(e);
76
68
  F?.({
77
69
  jobId: r,
78
- code: _.Unknown,
70
+ code: v.Unknown,
79
71
  titles: [o],
80
72
  traceId: t
81
- }), I.failJob(r, _.Unknown);
73
+ }), I.failJob(r, v.Unknown);
82
74
  }
83
75
  console.error("Failed to fetch conversation for export", e);
84
76
  return;
85
77
  }
86
- if (!d.aborted) {
87
- I.setJobProgress(r, p({
88
- kind: m,
89
- phase: f.Prepare
78
+ if (!f.aborted) {
79
+ I.setJobProgress(r, m({
80
+ kind: h,
81
+ phase: p.Prepare
90
82
  }));
91
83
  try {
92
84
  if (l === t.WithoutAttachments) {
93
- let e = a([c(v)], []), t = s(e);
94
- b(t, u), k?.({
85
+ let e = a([c(_)], []), t = s(e);
86
+ x(t, d), k?.({
95
87
  jobId: r,
96
88
  titles: [o]
97
89
  }), I.succeedJob(r);
98
90
  return;
99
91
  }
100
- let i = e(v), { entries: g, anySkipped: x, isUnauthorized: S } = await L(i, d, (e, t) => {
101
- I.setJobProgress(r, p({
102
- kind: m,
103
- phase: f.Transfer,
92
+ let i = e(_), { entries: u, anySkipped: y, isUnauthorized: S } = await L(i, f, (e, t) => {
93
+ I.setJobProgress(r, m({
94
+ kind: h,
95
+ phase: p.Transfer,
104
96
  completed: e,
105
97
  total: t
106
98
  }, {
107
99
  completed: e,
108
100
  total: t,
109
- kind: y.Attachment
101
+ kind: b.Attachment
110
102
  }));
111
103
  });
112
- if (d.aborted) return;
104
+ if (f.aborted) return;
113
105
  if (S) {
114
106
  F?.({
115
107
  jobId: r,
116
- code: _.Unauthorized
117
- }), I.failJob(r, _.Unauthorized);
108
+ code: v.Unauthorized
109
+ }), I.failJob(r, v.Unauthorized);
118
110
  return;
119
111
  }
120
- I.setJobProgress(r, p({
121
- kind: m,
122
- phase: f.Transfer,
112
+ I.setJobProgress(r, m({
113
+ kind: h,
114
+ phase: p.Transfer,
123
115
  completed: i.length,
124
116
  total: i.length
125
117
  }));
126
- let C = g.reduce((e, t) => e + t.data.byteLength, 0);
118
+ let C = u.reduce((e, t) => e + t.data.byteLength, 0);
127
119
  if (C > O) {
128
120
  F?.({
129
121
  jobId: r,
130
- code: _.FileTooLarge,
122
+ code: v.FileTooLarge,
131
123
  titles: [o]
132
- }), I.failJob(r, _.FileTooLarge), console.error(`Refused to build an export archive of ${C} bytes: over the ${O}-byte limit`);
124
+ }), I.failJob(r, v.FileTooLarge), console.error(`Refused to build an export archive of ${C} bytes: over the ${O}-byte limit`);
133
125
  return;
134
126
  }
135
- let w = a([v], []), { blob: T, skippedPaths: E } = h(w, g), D = x || E.length > 0;
127
+ let w = a([_], []), { blob: T, skippedPaths: E } = g(w, u), D = y || E.length > 0;
136
128
  D && P?.({
137
129
  jobId: r,
138
130
  code: n.AttachmentSkipped
139
- }), b(T, u), k?.({
131
+ }), x(T, d), k?.({
140
132
  jobId: r,
141
133
  titles: [o]
142
134
  }), D ? I.warnJob(r, n.AttachmentSkipped) : I.succeedJob(r);
143
135
  } catch (e) {
144
- if (d.aborted) return;
145
- let t = M(e) ? _.FileTooLarge : _.Unknown, n = await D(e);
136
+ if (f.aborted) return;
137
+ let t = M(e) ? v.FileTooLarge : v.Unknown, n = await D(e);
146
138
  F?.({
147
139
  jobId: r,
148
140
  code: t,
@@ -153,7 +145,7 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
153
145
  }
154
146
  }, [
155
147
  E,
156
- g,
148
+ u,
157
149
  L,
158
150
  O,
159
151
  T,
@@ -162,32 +154,32 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
162
154
  P,
163
155
  I,
164
156
  D
165
- ]), z = x((e, n, a) => {
157
+ ]), z = S((e, n, a) => {
166
158
  let s = o(a === t.WithoutAttachments ? r.SingleConversation : r.SingleConversationWithAttachments, i), c = I.addJob({
167
- kind: v.Single,
159
+ kind: y.Single,
168
160
  title: n
169
161
  }, s);
170
162
  return I.startJob(c, (t) => R(c, e, n, a, s, t));
171
- }, [I, R]), B = x(async (e, t, n) => {
172
- let r = d.ExportAll, i = [], o;
163
+ }, [I, R]), B = S(async (e, t, n) => {
164
+ let r = f.ExportAll, i = [], o;
173
165
  do {
174
166
  if (n.aborted) return;
175
167
  let t;
176
168
  try {
177
- t = await g.listConversations({ nextToken: o }, { signal: n });
169
+ t = await u.listConversations({ nextToken: o }, { signal: n });
178
170
  } catch (t) {
179
171
  if (n.aborted) return;
180
172
  if (E(t).isUnauthorized) F?.({
181
173
  jobId: e,
182
- code: _.Unauthorized
183
- }), I.failJob(e, _.Unauthorized);
174
+ code: v.Unauthorized
175
+ }), I.failJob(e, v.Unauthorized);
184
176
  else {
185
177
  let n = await D(t);
186
178
  F?.({
187
179
  jobId: e,
188
- code: _.Unknown,
180
+ code: v.Unknown,
189
181
  traceId: n
190
- }), I.failJob(e, _.Unknown);
182
+ }), I.failJob(e, v.Unknown);
191
183
  }
192
184
  console.error("Failed to list conversations for export", t);
193
185
  return;
@@ -197,15 +189,15 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
197
189
  title: e.title
198
190
  }))), o = t.nextToken;
199
191
  } while (o);
200
- I.setJobProgress(e, p({
192
+ I.setJobProgress(e, m({
201
193
  kind: r,
202
- phase: f.Prepare
194
+ phase: p.Prepare
203
195
  }));
204
196
  let l = [];
205
197
  for (let t of i) {
206
198
  if (n.aborted) return;
207
199
  try {
208
- let e = await A(g, T(t.id), n);
200
+ let e = await A(u, T(t.id), n);
209
201
  l.push(e);
210
202
  } catch (r) {
211
203
  if (n.aborted) return;
@@ -213,15 +205,15 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
213
205
  if (i.isUnauthorized) {
214
206
  F?.({
215
207
  jobId: e,
216
- code: _.Unauthorized
217
- }), I.failJob(e, _.Unauthorized);
208
+ code: v.Unauthorized
209
+ }), I.failJob(e, v.Unauthorized);
218
210
  return;
219
211
  }
220
212
  if (i.isNotFound) {
221
213
  let n = await D(r);
222
214
  F?.({
223
215
  jobId: e,
224
- code: _.NotFound,
216
+ code: v.NotFound,
225
217
  titles: [t.title],
226
218
  traceId: n
227
219
  }), console.error("Skipped a conversation during export-all: not found", r);
@@ -230,28 +222,28 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
230
222
  let a = await D(r);
231
223
  F?.({
232
224
  jobId: e,
233
- code: _.Unknown,
225
+ code: v.Unknown,
234
226
  traceId: a
235
- }), I.failJob(e, _.Unknown), console.error("Aborted export-all: failed to fetch conversation", r);
227
+ }), I.failJob(e, v.Unknown), console.error("Aborted export-all: failed to fetch conversation", r);
236
228
  return;
237
229
  } finally {
238
- I.setJobProgress(e, p({
230
+ I.setJobProgress(e, m({
239
231
  kind: r,
240
- phase: f.Transfer,
232
+ phase: p.Transfer,
241
233
  completed: l.length,
242
234
  total: i.length
243
235
  }, {
244
236
  completed: l.length,
245
237
  total: i.length,
246
- kind: y.Conversation
238
+ kind: b.Conversation
247
239
  }));
248
240
  }
249
241
  }
250
242
  if (!n.aborted) try {
251
243
  let n = a(l.map(c), []), r = s(n);
252
- b(r, t), k?.({ jobId: e }), I.succeedJob(e);
244
+ x(r, t), k?.({ jobId: e }), I.succeedJob(e);
253
245
  } catch (t) {
254
- let n = M(t) ? _.FileTooLarge : _.Unknown, r = await D(t);
246
+ let n = M(t) ? v.FileTooLarge : v.Unknown, r = await D(t);
255
247
  F?.({
256
248
  jobId: e,
257
249
  code: n,
@@ -260,14 +252,14 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
260
252
  }
261
253
  }, [
262
254
  E,
263
- g,
255
+ u,
264
256
  T,
265
257
  F,
266
258
  k,
267
259
  I,
268
260
  D
269
- ]), V = x(() => {
270
- let e = o(r.AllConversationsHistory, i), t = I.addJob({ kind: v.All }, e);
261
+ ]), V = S(() => {
262
+ let e = o(r.AllConversationsHistory, i), t = I.addJob({ kind: y.All }, e);
271
263
  return I.startJob(t, (n) => B(t, e, n));
272
264
  }, [I, B]);
273
265
  return {
@@ -281,4 +273,4 @@ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof g &&
281
273
  };
282
274
  };
283
275
  //#endregion
284
- export { C as DEFAULT_MAX_ARCHIVE_BYTES, P as useConversationExport };
276
+ export { w as DEFAULT_MAX_ARCHIVE_BYTES, P as useConversationExport };
@@ -1 +1 @@
1
- {"version":3,"file":"useConversationScroll.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationScroll/useConversationScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,+HAA+H;AAC/H,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,kDAItC,2BAA2B,CAAC,CAAC,CAAC,KAAG,2BAwTnC,CAAC"}
1
+ {"version":3,"file":"useConversationScroll.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationScroll/useConversationScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,+HAA+H;AAC/H,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,kDAItC,2BAA2B,CAAC,CAAC,CAAC,KAAG,2BAmVnC,CAAC"}
@@ -1,121 +1,122 @@
1
1
  import { useCallback as e, useEffect as t, useLayoutEffect as n, useRef as r, useState as i } from "react";
2
2
  //#region src/conversation/useConversationScroll/useConversationScroll.ts
3
3
  var a = 80, o = 1, s = ({ messages: s, isAssistantTyping: c, conversationId: l }) => {
4
- let [u, d] = i(!1), f = r(null), p = r(null), m = r(null), h = r(!1), g = r(!1), _ = r(null), v = r(!0), y = r(/* @__PURE__ */ new Map()), b = e((e, t) => {
5
- t ? y.current.set(e, t) : y.current.delete(e);
6
- }, []), x = r(null), S = e((e) => {
7
- x.current = e;
8
- }, []), C = e((e, t) => {
4
+ let [u, d] = i(!1), f = r(null), p = r(null), m = r(null), h = r(!1), g = r(!1), _ = r(null), v = r(!0), y = r(!1), b = r(0), x = r(/* @__PURE__ */ new Map()), S = e((e, t) => {
5
+ t ? x.current.set(e, t) : x.current.delete(e);
6
+ }, []), C = r(null), w = e((e) => {
7
+ C.current = e;
8
+ }, []), T = e((e, t) => {
9
9
  let n = f.current;
10
10
  n && n.scrollTo({
11
11
  top: e,
12
12
  behavior: t ? "instant" : "smooth"
13
13
  });
14
- }, []), w = e(() => {
14
+ }, []), E = e(() => {
15
15
  m.current && (m.current.style.height = "0px"), h.current = !1, g.current = !1, _.current = null;
16
- }, []), T = e(() => {
16
+ }, []), D = e(() => {
17
17
  let e = f.current, t = p.current;
18
18
  if (!e || !t) return null;
19
19
  let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
20
20
  return e.scrollTop + (r.bottom - n.top) - e.clientHeight;
21
- }, []), E = e((e = !1) => {
22
- let t = T();
23
- t != null && C(Math.max(t, 0), e);
24
- }, [C, T]), D = e(() => {
21
+ }, []), O = e((e = !1) => {
22
+ let t = D();
23
+ t != null && T(Math.max(t, 0), e);
24
+ }, [T, D]), k = e(() => {
25
25
  let e = f.current, t = p.current;
26
26
  if (!e || !t) return null;
27
27
  let n = e.getBoundingClientRect();
28
28
  return t.getBoundingClientRect().bottom - n.top - e.clientHeight;
29
- }, []), O = e(() => {
29
+ }, []), A = e(() => {
30
30
  if (!g.current) return;
31
- let e = D();
32
- e == null || e < -1 || w();
33
- }, [w, D]), k = e((e) => {
34
- let t = f.current, n = y.current.get(e);
31
+ let e = k();
32
+ e == null || e < -1 || E();
33
+ }, [E, k]), j = e((e) => {
34
+ let t = f.current, n = x.current.get(e);
35
35
  if (!t || !n) return null;
36
36
  let r = t.getBoundingClientRect(), i = n.getBoundingClientRect(), a = t.scrollTop + (i.top - r.top);
37
37
  return Math.max(a, 0);
38
- }, []), A = e((e, t = !1) => {
39
- let n = k(e);
40
- n != null && C(n, t);
41
- }, [k, C]), j = e(() => {
42
- let e = T();
38
+ }, []), M = e((e, t = !1) => {
39
+ let n = j(e);
40
+ n != null && T(n, t);
41
+ }, [j, T]), N = e(() => {
42
+ let e = D();
43
43
  return e == null ? null : Math.max(e, 0);
44
- }, [T]), M = e(() => {
44
+ }, [D]), P = e(() => {
45
45
  if (!h.current) return null;
46
- let e = _.current, t = j();
46
+ let e = _.current, t = N();
47
47
  return e == null || t == null ? null : Math.max(e, t);
48
- }, [j]), N = e(() => {
49
- let e = f.current, t = M();
48
+ }, [N]), F = e(() => {
49
+ let e = f.current, t = P();
50
50
  e && t != null && e.scrollTop > t + o && (e.scrollTop = t);
51
- }, [M]), P = e((e) => {
52
- let t = m.current, n = j();
51
+ }, [P]), I = e((e) => {
52
+ let t = m.current, n = N();
53
53
  if (!t || n == null) return;
54
54
  let r = Math.max(e - n, 0);
55
55
  t.style.height = `${r}px`, h.current = r > 0, g.current = !1, _.current = r > 0 ? e : null;
56
- }, [j]), F = e((e) => {
57
- let t = k(e);
58
- t != null && (P(t), A(e, !1));
56
+ }, [N]), L = e((e) => {
57
+ let t = j(e);
58
+ t != null && (I(t), M(e, !1));
59
59
  }, [
60
- P,
61
- k,
62
- A
63
- ]), I = e(() => {
64
- let e = D();
60
+ I,
61
+ j,
62
+ M
63
+ ]), R = e(() => {
64
+ let e = k();
65
65
  if (e == null) return;
66
66
  let t = e < a;
67
67
  v.current = t, d(!t);
68
- }, [D]), L = r(s.length), R = r(null);
68
+ }, [k]), z = r(s.length), B = r(null);
69
69
  n(() => {
70
- let e = s.length !== L.current, t = l !== R.current, n = () => {
71
- L.current = s.length, R.current = l;
70
+ let e = s.length !== z.current, t = l !== B.current, n = () => {
71
+ z.current = s.length, B.current = l;
72
72
  };
73
- t && w();
74
- let r = x.current;
75
- r != null && y.current.has(r) ? (x.current = null, F(r), n()) : c || ((e || t) && E(!1), n());
73
+ t && (E(), y.current = !1);
74
+ let r = C.current;
75
+ r != null && x.current.has(r) ? (C.current = null, y.current = !1, L(r), n()) : c ? y.current = !1 : ((e || t) && (y.current = !0, O(!1)), n());
76
76
  }, [
77
77
  s,
78
78
  c,
79
79
  l,
80
- E,
81
- F,
82
- w
80
+ O,
81
+ L,
82
+ E
83
83
  ]), n(() => {
84
- !c && h.current && (g.current = !0, O());
85
- }, [c, O]);
86
- let z = e(() => {
87
- N(), O(), I();
84
+ !c && h.current && (g.current = !0, A());
85
+ }, [c, A]);
86
+ let V = e(() => {
87
+ let e = f.current;
88
+ e && (e.scrollTop < b.current - o && (y.current = !1), b.current = e.scrollTop), F(), A(), R();
88
89
  }, [
89
- N,
90
- O,
91
- I
90
+ F,
91
+ A,
92
+ R
92
93
  ]);
93
94
  return t(() => {
94
95
  let e = f.current;
95
- if (e) return e.addEventListener("scroll", z, { passive: !0 }), () => e.removeEventListener("scroll", z);
96
- }, [z]), t(() => {
96
+ if (e) return e.addEventListener("scroll", V, { passive: !0 }), () => e.removeEventListener("scroll", V);
97
+ }, [V]), t(() => {
97
98
  let e = p.current;
98
99
  if (!e) return;
99
100
  let t = new ResizeObserver(() => {
100
- let e = v.current && !h.current;
101
- N(), e && E(!0), O(), I();
101
+ let e = (v.current || y.current) && !h.current;
102
+ F(), e && O(!0), A(), R();
102
103
  });
103
104
  return t.observe(e), () => t.disconnect();
104
105
  }, [
105
- N,
106
- O,
107
- I,
108
- E
106
+ F,
107
+ A,
108
+ R,
109
+ O
109
110
  ]), {
110
111
  containerRef: f,
111
112
  contentRef: p,
112
113
  spacerRef: m,
113
- setMessageRef: b,
114
+ setMessageRef: S,
114
115
  isScrollButtonVisible: u,
115
116
  scrollToBottom: e(() => {
116
- E(!1);
117
- }, [E]),
118
- armAnchor: S
117
+ O(!1);
118
+ }, [O]),
119
+ armAnchor: w
119
120
  };
120
121
  };
121
122
  //#endregion
package/conversation.js CHANGED
@@ -10,35 +10,36 @@ import { getEffectiveDeploymentIds as w, getFormSchemaToolSyncKey as T, getLastD
10
10
  import { getQuickAppConversationStarters as N } from "./conversation/quick-app-conversation-starters.js";
11
11
  import { mapStages as P, toStage as F } from "./conversation/stage.js";
12
12
  import { getStarterPopulateText as I, getStartersFromSchema as L } from "./conversation/starter-option.js";
13
- import { deriveConversationRowActionState as R } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
14
- import { useActiveConversationSync as z } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
15
- import { useAsyncConfirmDialog as B } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
16
- import { useConversationComposerDraft as V } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
17
- import { useConversationLookupMaps as H } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
18
- import { getConversationSource as U, useConversationPanelItems as W } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
19
- import { useImportFilePicker as G } from "./conversation/useImportFilePicker/useImportFilePicker.js";
20
- import { useMessageSelectionReply as K } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
21
- import { useAttachmentUpload as q } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
22
- import { AudioTranscriptionError as J, AudioTranscriptionErrorReason as Y } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
23
- import { UploadMimeTypePolicy as X, useTranscribeAudio as Z } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
24
- import { attachmentToDto as Q, attachmentsToDtos as $ } from "./conversation/useConversationHandlers/attachment-to-dto.js";
25
- import { createMessagePair as ee } from "./conversation/useConversationHandlers/message-factory.js";
26
- import { hasActiveToolConfig as te, isAnswerIncomplete as ne, isMessageChanged as re, shouldRerunGenerationOnEdit as ie } from "./conversation/useConversationHandlers/message-utils.js";
27
- import { getStarterConversationText as ae, getStarterDisplayText as oe, getStarterSubmitText as se } from "./conversation/useConversationHandlers/starter-option.js";
28
- import { getConversationPath as ce } from "./conversation/useConversationStream/conversation-path.js";
29
- import { useConversationHandlers as le } from "./conversation/useConversationHandlers/useConversationHandlers.js";
30
- import { applyChunkToMessages as ue, mergeStages as de } from "./conversation/useConversationStream/apply-chunk.js";
31
- import { isAwaitingGenerationResume as fe } from "./conversation/useConversationStream/generation-resume.js";
32
- import { useConversationStream as pe } from "./conversation/useConversationStream/useConversationStream.js";
33
- import { DEFAULT_CHAT_SETTINGS as me, useChatSettingsFormConfig as he } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
34
- import { useToolsMenu as ge } from "./useToolsMenu/useToolsMenu.js";
35
- import { applyActiveScheduledTaskRun as _e, collapseScheduledTaskConversations as ve, getScheduledTaskRunGroupKey as ye, groupScheduledTaskConversations as be, isScheduledTaskRunCollapsible as xe } from "./conversation/scheduled-task-grouping.js";
36
- import { useConversationDiscovery as Se } from "./conversation/useConversationDiscovery/useConversationDiscovery.js";
37
- import { EntityPreselectionOutcome as Ce, EntityPreselectionSource as we, useEntityPreselection as Te } from "./conversation/useEntityPreselection/useEntityPreselection.js";
38
- import { ClientGenerationStatus as Ee, createGenerationRegistry as De } from "./conversation/generation-registry.js";
39
- import { ConversationTitleRequestEnd as Oe, useConversationTitleEnrichmentController as ke } from "./conversation/useConversationTitleEnrichmentController.js";
40
- import { CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES as Ae, CONVERSATION_TITLE_STREAM_MAX_IDS as je, CONVERSATION_TITLE_STREAM_MAX_ID_BYTES as Me, ConversationTitleStreamProtocolError as Ne, createSseFrameDecoder as Pe, isConversationTitleStreamUnsupported as Fe, parseConversationTitleStreamEvent as Ie, readConversationTitleStream as Le } from "./conversation/conversation-title-stream.js";
41
- import { useVisibleConversationIdsReporter as Re } from "./conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js";
42
- import { isTotalDeletionFailure as ze, resolveConversationPinChange as Be } from "./conversation/conversation-list.js";
43
- import { useDeploymentChangeTracking as Ve } from "./conversation/useDeploymentChangeTracking.js";
44
- export { J as AudioTranscriptionError, Y as AudioTranscriptionErrorReason, Ae as CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES, je as CONVERSATION_TITLE_STREAM_MAX_IDS, Me as CONVERSATION_TITLE_STREAM_MAX_ID_BYTES, Ee as ClientGenerationStatus, Oe as ConversationTitleRequestEnd, Ne as ConversationTitleStreamProtocolError, me as DEFAULT_CHAT_SETTINGS, s as DEFAULT_GENERATION_CONFLICT_MESSAGE, c as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, l as DEFAULT_STREAM_IDLE_TIMEOUT_MS, Ce as EntityPreselectionOutcome, we as EntityPreselectionSource, u as GenerationConflictError, d as GenerationPersistenceError, f as StopCompletionError, p as StreamInterruptedError, m as StreamUpstreamError, X as UploadMimeTypePolicy, _e as applyActiveScheduledTaskRun, ue as applyChunkToMessages, Q as attachmentToDto, $ as attachmentsToDtos, e as buildAnnouncementSignature, ve as collapseScheduledTaskConversations, h as createChatStreamApi, C as createDeploymentChangedMessage, De as createGenerationRegistry, a as createMemoryConversationDraftStore, ee as createMessagePair, Pe as createSseFrameDecoder, o as createWebStorageConversationDraftStore, R as deriveConversationRowActionState, y as findDeploymentForConversationId, _ as formatAppVersion, ce as getConversationPath, U as getConversationSource, w as getEffectiveDeploymentIds, T as getFormSchemaToolSyncKey, E as getLastDeploymentId, D as getLastUserMessageToolConfiguration, O as getLatestToolConfiguration, b as getModelIdCandidatesFromConversationId, x as getModelIdFromConversationId, N as getQuickAppConversationStarters, ye as getScheduledTaskRunGroupKey, ae as getStarterConversationText, oe as getStarterDisplayText, I as getStarterPopulateText, se as getStarterSubmitText, L as getStartersFromSchema, S as getTimeOfDayGreeting, k as getToolConfigurationFromFormSchema, be as groupScheduledTaskConversations, te as hasActiveToolConfig, t as hasAnnouncementContent, n as hasStructuredAnnouncement, ne as isAnswerIncomplete, fe as isAwaitingGenerationResume, Fe as isConversationTitleStreamUnsupported, re as isMessageChanged, A as isMessageStreaming, xe as isScheduledTaskRunCollapsible, ze as isTotalDeletionFailure, P as mapStages, de as mergeStages, j as messageHasStages, M as normalizeResponseFormat, Ie as parseConversationTitleStreamEvent, Le as readConversationTitleStream, Be as resolveConversationPinChange, r as sanitizeAnnouncementHtml, i as sanitizeAnnouncementMessageHtml, v as sanitizeFooterHtml, ie as shouldRerunGenerationOnEdit, g as shouldWatchForDisplayNameUpdate, F as toStage, z as useActiveConversationSync, B as useAsyncConfirmDialog, q as useAttachmentUpload, he as useChatSettingsFormConfig, V as useConversationComposerDraft, Se as useConversationDiscovery, le as useConversationHandlers, H as useConversationLookupMaps, W as useConversationPanelItems, pe as useConversationStream, ke as useConversationTitleEnrichmentController, Ve as useDeploymentChangeTracking, Te as useEntityPreselection, G as useImportFilePicker, K as useMessageSelectionReply, ge as useToolsMenu, Z as useTranscribeAudio, Re as useVisibleConversationIdsReporter };
13
+ import { NO_CONVERSATION_LIST_SYNC as R } from "./conversation/conversation-data-source.js";
14
+ import { deriveConversationRowActionState as z } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
15
+ import { useActiveConversationSync as B } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
16
+ import { useAsyncConfirmDialog as V } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
17
+ import { useConversationComposerDraft as H } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
18
+ import { useConversationLookupMaps as U } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
19
+ import { getConversationSource as W, useConversationPanelItems as G } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
20
+ import { useImportFilePicker as K } from "./conversation/useImportFilePicker/useImportFilePicker.js";
21
+ import { useMessageSelectionReply as q } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
22
+ import { useAttachmentUpload as J } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
23
+ import { AudioTranscriptionError as Y, AudioTranscriptionErrorReason as X } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
24
+ import { UploadMimeTypePolicy as Z, useTranscribeAudio as Q } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
25
+ import { attachmentToDto as $, attachmentsToDtos as ee } from "./conversation/useConversationHandlers/attachment-to-dto.js";
26
+ import { createMessagePair as te } from "./conversation/useConversationHandlers/message-factory.js";
27
+ import { hasActiveToolConfig as ne, isAnswerIncomplete as re, isMessageChanged as ie, shouldRerunGenerationOnEdit as ae } from "./conversation/useConversationHandlers/message-utils.js";
28
+ import { getStarterConversationText as oe, getStarterDisplayText as se, getStarterSubmitText as ce } from "./conversation/useConversationHandlers/starter-option.js";
29
+ import { getConversationPath as le } from "./conversation/useConversationStream/conversation-path.js";
30
+ import { useConversationHandlers as ue } from "./conversation/useConversationHandlers/useConversationHandlers.js";
31
+ import { applyChunkToMessages as de, mergeStages as fe } from "./conversation/useConversationStream/apply-chunk.js";
32
+ import { isAwaitingGenerationResume as pe } from "./conversation/useConversationStream/generation-resume.js";
33
+ import { useConversationStream as me } from "./conversation/useConversationStream/useConversationStream.js";
34
+ import { DEFAULT_CHAT_SETTINGS as he, useChatSettingsFormConfig as ge } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
35
+ import { useToolsMenu as _e } from "./useToolsMenu/useToolsMenu.js";
36
+ import { applyActiveScheduledTaskRun as ve, collapseScheduledTaskConversations as ye, getScheduledTaskRunGroupKey as be, groupScheduledTaskConversations as xe, isScheduledTaskRunCollapsible as Se } from "./conversation/scheduled-task-grouping.js";
37
+ import { useConversationDiscovery as Ce } from "./conversation/useConversationDiscovery/useConversationDiscovery.js";
38
+ import { EntityPreselectionOutcome as we, EntityPreselectionSource as Te, useEntityPreselection as Ee } from "./conversation/useEntityPreselection/useEntityPreselection.js";
39
+ import { ClientGenerationStatus as De, createGenerationRegistry as Oe } from "./conversation/generation-registry.js";
40
+ import { ConversationTitleRequestEnd as ke, useConversationTitleEnrichmentController as Ae } from "./conversation/useConversationTitleEnrichmentController.js";
41
+ import { CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES as je, CONVERSATION_TITLE_STREAM_MAX_IDS as Me, CONVERSATION_TITLE_STREAM_MAX_ID_BYTES as Ne, ConversationTitleStreamProtocolError as Pe, createSseFrameDecoder as Fe, isConversationTitleStreamUnsupported as Ie, parseConversationTitleStreamEvent as Le, readConversationTitleStream as Re } from "./conversation/conversation-title-stream.js";
42
+ import { useVisibleConversationIdsReporter as ze } from "./conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js";
43
+ import { isTotalDeletionFailure as Be, resolveConversationPinChange as Ve } from "./conversation/conversation-list.js";
44
+ import { useDeploymentChangeTracking as He } from "./conversation/useDeploymentChangeTracking.js";
45
+ export { Y as AudioTranscriptionError, X as AudioTranscriptionErrorReason, je as CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES, Me as CONVERSATION_TITLE_STREAM_MAX_IDS, Ne as CONVERSATION_TITLE_STREAM_MAX_ID_BYTES, De as ClientGenerationStatus, ke as ConversationTitleRequestEnd, Pe as ConversationTitleStreamProtocolError, he as DEFAULT_CHAT_SETTINGS, s as DEFAULT_GENERATION_CONFLICT_MESSAGE, c as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, l as DEFAULT_STREAM_IDLE_TIMEOUT_MS, we as EntityPreselectionOutcome, Te as EntityPreselectionSource, u as GenerationConflictError, d as GenerationPersistenceError, R as NO_CONVERSATION_LIST_SYNC, f as StopCompletionError, p as StreamInterruptedError, m as StreamUpstreamError, Z as UploadMimeTypePolicy, ve as applyActiveScheduledTaskRun, de as applyChunkToMessages, $ as attachmentToDto, ee as attachmentsToDtos, e as buildAnnouncementSignature, ye as collapseScheduledTaskConversations, h as createChatStreamApi, C as createDeploymentChangedMessage, Oe as createGenerationRegistry, a as createMemoryConversationDraftStore, te as createMessagePair, Fe as createSseFrameDecoder, o as createWebStorageConversationDraftStore, z as deriveConversationRowActionState, y as findDeploymentForConversationId, _ as formatAppVersion, le as getConversationPath, W as getConversationSource, w as getEffectiveDeploymentIds, T as getFormSchemaToolSyncKey, E as getLastDeploymentId, D as getLastUserMessageToolConfiguration, O as getLatestToolConfiguration, b as getModelIdCandidatesFromConversationId, x as getModelIdFromConversationId, N as getQuickAppConversationStarters, be as getScheduledTaskRunGroupKey, oe as getStarterConversationText, se as getStarterDisplayText, I as getStarterPopulateText, ce as getStarterSubmitText, L as getStartersFromSchema, S as getTimeOfDayGreeting, k as getToolConfigurationFromFormSchema, xe as groupScheduledTaskConversations, ne as hasActiveToolConfig, t as hasAnnouncementContent, n as hasStructuredAnnouncement, re as isAnswerIncomplete, pe as isAwaitingGenerationResume, Ie as isConversationTitleStreamUnsupported, ie as isMessageChanged, A as isMessageStreaming, Se as isScheduledTaskRunCollapsible, Be as isTotalDeletionFailure, P as mapStages, fe as mergeStages, j as messageHasStages, M as normalizeResponseFormat, Le as parseConversationTitleStreamEvent, Re as readConversationTitleStream, Ve as resolveConversationPinChange, r as sanitizeAnnouncementHtml, i as sanitizeAnnouncementMessageHtml, v as sanitizeFooterHtml, ae as shouldRerunGenerationOnEdit, g as shouldWatchForDisplayNameUpdate, F as toStage, B as useActiveConversationSync, V as useAsyncConfirmDialog, J as useAttachmentUpload, ge as useChatSettingsFormConfig, H as useConversationComposerDraft, Ce as useConversationDiscovery, ue as useConversationHandlers, U as useConversationLookupMaps, G as useConversationPanelItems, me as useConversationStream, Ae as useConversationTitleEnrichmentController, He as useDeploymentChangeTracking, Ee as useEntityPreselection, K as useImportFilePicker, q as useMessageSelectionReply, _e as useToolsMenu, Q as useTranscribeAudio, ze as useVisibleConversationIdsReporter };
@@ -10,6 +10,7 @@ export * from '../catalog/map-prompt-to-catalog-item';
10
10
  export * from '../catalog/map-skill-to-catalog-item';
11
11
  export * from '../catalog/mcp-endpoint-url';
12
12
  export * from '../catalog/publish';
13
+ export * from '../catalog/use-publish-history';
13
14
  export * from '../catalog/catalog-derivations';
14
15
  export * from '../catalog/catalog-entity-kind';
15
16
  export * from '../catalog/favorite-entity-type';
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/entry-points/catalog.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8DAA8D,CAAC;AAC7E,cAAc,sDAAsD,CAAC;AACrE,cAAc,kCAAkC,CAAC;AACjD,cAAc,sEAAsE,CAAC;AACrF,cAAc,oCAAoC,CAAC;AACnD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8DAA8D,CAAC;AAC7E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/entry-points/catalog.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8DAA8D,CAAC;AAC7E,cAAc,sDAAsD,CAAC;AACrE,cAAc,kCAAkC,CAAC;AACjD,cAAc,sEAAsE,CAAC;AACrF,cAAc,oCAAoC,CAAC;AACnD,cAAc,gEAAgE,CAAC;AAC/E,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8DAA8D,CAAC;AAC7E,cAAc,8DAA8D,CAAC;AAC7E,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
@@ -42,4 +42,5 @@ export * from '../conversation/conversation-title-stream';
42
42
  export * from '../conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter';
43
43
  export * from '../conversation/conversation-list';
44
44
  export * from '../conversation/useDeploymentChangeTracking';
45
+ export * from '../conversation/conversation-data-source';
45
46
  //# sourceMappingURL=conversation.d.ts.map