@burdenoff/microfe-botmanor 2026.927.2 → 2026.1006.1

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 (28) hide show
  1. package/dist/botlit/components/AssistantChannelPanel.js +109 -0
  2. package/dist/botlit/components/AssistantChannelPanel.js.map +1 -0
  3. package/dist/botlit/components/AssistantRuntimeSetupPanel.js +76 -0
  4. package/dist/botlit/components/AssistantRuntimeSetupPanel.js.map +1 -0
  5. package/dist/botlit/components/AssistantWebsitePanel.js +196 -0
  6. package/dist/botlit/components/AssistantWebsitePanel.js.map +1 -0
  7. package/dist/botlit/components/KnowledgeSourceImportPanel.js +135 -0
  8. package/dist/botlit/components/KnowledgeSourceImportPanel.js.map +1 -0
  9. package/dist/botlit/hooks/useAssistantChannels.js +76 -0
  10. package/dist/botlit/hooks/useAssistantChannels.js.map +1 -0
  11. package/dist/botlit/hooks/useAssistantRuntimeSetup.js +112 -0
  12. package/dist/botlit/hooks/useAssistantRuntimeSetup.js.map +1 -0
  13. package/dist/botlit/hooks/useAssistantWebsites.js +85 -0
  14. package/dist/botlit/hooks/useAssistantWebsites.js.map +1 -0
  15. package/dist/botlit/hooks/useExecutions.js.map +1 -1
  16. package/dist/botlit/hooks/useKnowledgeSourceImports.js +86 -0
  17. package/dist/botlit/hooks/useKnowledgeSourceImports.js.map +1 -0
  18. package/dist/botlit/pages/AgentDetailPage.js +180 -158
  19. package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
  20. package/dist/botlit/pages/ChatPage.js +58 -238
  21. package/dist/botlit/pages/ChatPage.js.map +1 -1
  22. package/dist/botlit/pages/KnowledgeBaseDetailPage.js +162 -160
  23. package/dist/botlit/pages/KnowledgeBaseDetailPage.js.map +1 -1
  24. package/dist/generated/global-types.js.map +1 -1
  25. package/dist/generated/wspace-operations.js +2 -2
  26. package/dist/generated/wspace-operations.js.map +1 -1
  27. package/dist/generated/wspace-types.js.map +1 -1
  28. package/package.json +3 -3
@@ -7,18 +7,19 @@ import { Button as f } from "../components/Button.js";
7
7
  import { StatusBadge as p } from "../components/Badge.js";
8
8
  import { EmptyState as m } from "../components/EmptyState.js";
9
9
  import { FormField as h, Input as g, Textarea as _ } from "../components/Input.js";
10
- import { useEffect as te, useState as v } from "react";
11
- import { GlassCard as ne, PagePurpose as re } from "@burdenoff/fe-libs/ui";
12
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
13
- import { useParams as S } from "react-router";
14
- import { ArrowLeft as C, Boxes as w, Database as T, FileText as E, Layers as D, RefreshCw as O, Save as k, Settings as A } from "lucide-react";
15
- import { toast as j } from "sonner";
10
+ import { KnowledgeSourceImportPanel as te } from "../components/KnowledgeSourceImportPanel.js";
11
+ import { useEffect as ne, useState as v } from "react";
12
+ import { GlassCard as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
13
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
14
+ import { useParams as w } from "react-router";
15
+ import { ArrowLeft as T, Boxes as E, Database as D, FileText as O, Layers as k, RefreshCw as re, Save as A, Settings as j } from "lucide-react";
16
+ import { toast as M } from "sonner";
16
17
  //#region src/botlit/pages/KnowledgeBaseDetailPage.tsx
17
18
  var ie = [
18
19
  "RECURSIVE",
19
20
  "FIXED",
20
21
  "SENTENCE"
21
- ], M = [
22
+ ], N = [
22
23
  {
23
24
  id: "text-embedding-3-small",
24
25
  label: "OpenAI text-embedding-3-small",
@@ -34,16 +35,16 @@ var ie = [
34
35
  label: "OpenAI text-embedding-ada-002",
35
36
  dimensions: 1536
36
37
  }
37
- ], N = {
38
+ ], P = {
38
39
  name: "",
39
40
  description: "",
40
- embeddingModel: M[0].id,
41
- embeddingDimensions: M[0].dimensions,
41
+ embeddingModel: N[0].id,
42
+ embeddingDimensions: N[0].dimensions,
42
43
  chunkingStrategy: "RECURSIVE",
43
44
  chunkSize: 512,
44
45
  chunkOverlap: 50
45
46
  };
46
- function P(e) {
47
+ function F(e) {
47
48
  return {
48
49
  name: e.name,
49
50
  description: e.description ?? "",
@@ -54,22 +55,22 @@ function P(e) {
54
55
  chunkOverlap: e.chunkOverlap
55
56
  };
56
57
  }
57
- function F(e, t) {
58
+ function I(e, t) {
58
59
  let n = Number(e);
59
60
  return e.trim() !== "" && Number.isFinite(n) ? n : t;
60
61
  }
61
- var I = ({ isNew: I }) => {
62
- let { kbId: L } = S(), { navigateTo: R } = e(), { data: z, loading: B, refetch: V } = n(I ? void 0 : L), { data: H } = r(I ? void 0 : L), [U, W] = t(), [G, K] = ee(), [q, J] = i(), [Y, X] = v(!1), [Z, Q] = v(N);
63
- te(() => {
64
- z && !I && Q(P(z));
65
- }, [z, I]);
66
- let ae = async () => {
62
+ var L = ({ isNew: L }) => {
63
+ let { kbId: R } = w(), { navigateTo: z } = e(), { data: B, loading: V, refetch: H } = n(L ? void 0 : R), { data: U } = r(L ? void 0 : R), [W, G] = t(), [K, q] = ee(), [J, ae] = i(), [Y, X] = v(!1), [Z, Q] = v(P);
64
+ ne(() => {
65
+ B && !L && Q(F(B));
66
+ }, [B, L]);
67
+ let oe = async () => {
67
68
  if (!Z.name.trim()) {
68
- j.error("Name is required");
69
+ M.error("Name is required");
69
70
  return;
70
71
  }
71
72
  try {
72
- let e = await U({
73
+ let e = await W({
73
74
  name: Z.name.trim(),
74
75
  description: Z.description.trim() || null,
75
76
  embeddingModel: Z.embeddingModel,
@@ -78,18 +79,18 @@ var I = ({ isNew: I }) => {
78
79
  chunkSize: Z.chunkSize,
79
80
  chunkOverlap: Z.chunkOverlap
80
81
  });
81
- j.success(`Knowledge base "${e.name}" created`), R(`knowledge/${e.id}`);
82
+ M.success(`Knowledge base "${e.name}" created`), z(`knowledge/${e.id}`);
82
83
  } catch (e) {
83
- j.error(e instanceof Error ? e.message : "Failed to create knowledge base");
84
+ M.error(e instanceof Error ? e.message : "Failed to create knowledge base");
84
85
  }
85
- }, oe = async () => {
86
- if (!L || !Z.name.trim()) {
87
- j.error("Name is required");
86
+ }, se = async () => {
87
+ if (!R || !Z.name.trim()) {
88
+ M.error("Name is required");
88
89
  return;
89
90
  }
90
91
  try {
91
- await G({
92
- kbId: L,
92
+ await K({
93
+ kbId: R,
93
94
  input: {
94
95
  name: Z.name.trim(),
95
96
  description: Z.description.trim() || null,
@@ -97,21 +98,21 @@ var I = ({ isNew: I }) => {
97
98
  chunkSize: Z.chunkSize,
98
99
  chunkOverlap: Z.chunkOverlap
99
100
  }
100
- }), await V(), j.success("Knowledge base updated"), X(!1);
101
+ }), await H(), M.success("Knowledge base updated"), X(!1);
101
102
  } catch (e) {
102
- j.error(e instanceof Error ? e.message : "Failed to update knowledge base");
103
+ M.error(e instanceof Error ? e.message : "Failed to update knowledge base");
103
104
  }
104
- }, se = async () => {
105
- if (L) try {
106
- await q(L), await V(), j.success("Re-indexing started");
105
+ }, ce = async () => {
106
+ if (R) try {
107
+ await J(R), await H(), M.success("Re-indexing started");
107
108
  } catch (e) {
108
- j.error(e instanceof Error ? e.message : "Failed to rebuild the index");
109
+ M.error(e instanceof Error ? e.message : "Failed to rebuild the index");
109
110
  }
110
- }, $ = (e) => /* @__PURE__ */ x(y, { children: [
111
- /* @__PURE__ */ b(h, {
111
+ }, $ = (e) => /* @__PURE__ */ C(x, { children: [
112
+ /* @__PURE__ */ S(h, {
112
113
  label: "Name",
113
114
  required: !0,
114
- children: /* @__PURE__ */ b(g, {
115
+ children: /* @__PURE__ */ S(g, {
115
116
  placeholder: "e.g., Product Documentation",
116
117
  value: Z.name,
117
118
  onChange: (e) => Q({
@@ -120,9 +121,9 @@ var I = ({ isNew: I }) => {
120
121
  })
121
122
  })
122
123
  }),
123
- /* @__PURE__ */ b(h, {
124
+ /* @__PURE__ */ S(h, {
124
125
  label: "Description",
125
- children: /* @__PURE__ */ b(_, {
126
+ children: /* @__PURE__ */ S(_, {
126
127
  placeholder: "What kind of knowledge will this store?",
127
128
  value: Z.description,
128
129
  onChange: (e) => Q({
@@ -132,21 +133,21 @@ var I = ({ isNew: I }) => {
132
133
  rows: 3
133
134
  })
134
135
  }),
135
- e && /* @__PURE__ */ b(h, {
136
+ e && /* @__PURE__ */ S(h, {
136
137
  label: "Embedding Model",
137
138
  required: !0,
138
- children: /* @__PURE__ */ b("select", {
139
+ children: /* @__PURE__ */ S("select", {
139
140
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
140
141
  value: Z.embeddingModel,
141
142
  onChange: (e) => {
142
- let t = M.find((t) => t.id === e.target.value);
143
+ let t = N.find((t) => t.id === e.target.value);
143
144
  Q({
144
145
  ...Z,
145
146
  embeddingModel: e.target.value,
146
147
  embeddingDimensions: t?.dimensions ?? Z.embeddingDimensions
147
148
  });
148
149
  },
149
- children: M.map((e) => /* @__PURE__ */ x("option", {
150
+ children: N.map((e) => /* @__PURE__ */ C("option", {
150
151
  value: e.id,
151
152
  children: [
152
153
  e.label,
@@ -157,253 +158,254 @@ var I = ({ isNew: I }) => {
157
158
  }, e.id))
158
159
  })
159
160
  }),
160
- /* @__PURE__ */ x("div", {
161
+ /* @__PURE__ */ C("div", {
161
162
  className: "grid grid-cols-3 gap-4",
162
163
  children: [
163
- /* @__PURE__ */ b(h, {
164
+ /* @__PURE__ */ S(h, {
164
165
  label: "Chunking Strategy",
165
- children: /* @__PURE__ */ b("select", {
166
+ children: /* @__PURE__ */ S("select", {
166
167
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
167
168
  value: Z.chunkingStrategy,
168
169
  onChange: (e) => Q({
169
170
  ...Z,
170
171
  chunkingStrategy: e.target.value
171
172
  }),
172
- children: ie.map((e) => /* @__PURE__ */ b("option", {
173
+ children: ie.map((e) => /* @__PURE__ */ S("option", {
173
174
  value: e,
174
175
  children: e
175
176
  }, e))
176
177
  })
177
178
  }),
178
- /* @__PURE__ */ b(h, {
179
+ /* @__PURE__ */ S(h, {
179
180
  label: "Chunk Size",
180
- children: /* @__PURE__ */ b(g, {
181
+ children: /* @__PURE__ */ S(g, {
181
182
  type: "number",
182
183
  value: Z.chunkSize,
183
184
  onChange: (e) => Q({
184
185
  ...Z,
185
- chunkSize: F(e.target.value, N.chunkSize)
186
+ chunkSize: I(e.target.value, P.chunkSize)
186
187
  })
187
188
  })
188
189
  }),
189
- /* @__PURE__ */ b(h, {
190
+ /* @__PURE__ */ S(h, {
190
191
  label: "Chunk Overlap",
191
- children: /* @__PURE__ */ b(g, {
192
+ children: /* @__PURE__ */ S(g, {
192
193
  type: "number",
193
194
  value: Z.chunkOverlap,
194
195
  onChange: (e) => Q({
195
196
  ...Z,
196
- chunkOverlap: F(e.target.value, N.chunkOverlap)
197
+ chunkOverlap: I(e.target.value, P.chunkOverlap)
197
198
  })
198
199
  })
199
200
  })
200
201
  ]
201
202
  })
202
203
  ] });
203
- return I ? /* @__PURE__ */ b(o, {
204
+ return L ? /* @__PURE__ */ S(o, {
204
205
  title: "Create Knowledge Base",
205
206
  description: "Set up an embedding index your agents can retrieve from",
206
- actions: /* @__PURE__ */ x("div", {
207
+ actions: /* @__PURE__ */ C("div", {
207
208
  className: "flex gap-2",
208
- children: [/* @__PURE__ */ b(f, {
209
+ children: [/* @__PURE__ */ S(f, {
209
210
  variant: "outline",
210
- onClick: () => R("knowledge"),
211
+ onClick: () => z("knowledge"),
211
212
  children: "Cancel"
212
- }), /* @__PURE__ */ b(f, {
213
- leftIcon: /* @__PURE__ */ b(k, { size: 16 }),
214
- onClick: ae,
215
- isLoading: W.loading,
213
+ }), /* @__PURE__ */ S(f, {
214
+ leftIcon: /* @__PURE__ */ S(A, { size: 16 }),
215
+ onClick: oe,
216
+ isLoading: G.loading,
216
217
  disabled: !Z.name.trim(),
217
218
  children: "Create"
218
219
  })]
219
220
  }),
220
- children: /* @__PURE__ */ b("div", {
221
+ children: /* @__PURE__ */ S("div", {
221
222
  className: "max-w-3xl space-y-6",
222
- children: /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ b(d, { children: "Index Configuration" }), /* @__PURE__ */ b(l, { children: "The embedding model and its vector width are fixed once documents are indexed." })] }), /* @__PURE__ */ b(c, {
223
+ children: /* @__PURE__ */ C(s, { children: [/* @__PURE__ */ C(u, { children: [/* @__PURE__ */ S(d, { children: "Index Configuration" }), /* @__PURE__ */ S(l, { children: "The embedding model and its vector width are fixed once documents are indexed." })] }), /* @__PURE__ */ S(c, {
223
224
  className: "space-y-4",
224
225
  children: $(!0)
225
226
  })] })
226
227
  })
227
- }) : B ? /* @__PURE__ */ b(o, {
228
+ }) : V ? /* @__PURE__ */ S(o, {
228
229
  title: "Loading...",
229
- children: /* @__PURE__ */ b("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
230
- }) : z ? /* @__PURE__ */ b(o, {
231
- title: /* @__PURE__ */ x("div", {
230
+ children: /* @__PURE__ */ S("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
231
+ }) : B ? /* @__PURE__ */ S(o, {
232
+ title: /* @__PURE__ */ C("div", {
232
233
  className: "flex items-center gap-3",
233
- children: [/* @__PURE__ */ b(f, {
234
+ children: [/* @__PURE__ */ S(f, {
234
235
  variant: "ghost",
235
236
  size: "icon",
236
- onClick: () => R("knowledge"),
237
- children: /* @__PURE__ */ b(C, { size: 20 })
238
- }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
237
+ onClick: () => z("knowledge"),
238
+ children: /* @__PURE__ */ S(T, { size: 20 })
239
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("div", {
239
240
  className: "flex items-center gap-2",
240
- children: [/* @__PURE__ */ b("span", { children: z.name }), /* @__PURE__ */ b(p, { status: z.indexStatus })]
241
- }), z.description && /* @__PURE__ */ b("p", {
241
+ children: [/* @__PURE__ */ S("span", { children: B.name }), /* @__PURE__ */ S(p, { status: B.indexStatus })]
242
+ }), B.description && /* @__PURE__ */ S("p", {
242
243
  className: "text-sm font-normal text-text-secondary",
243
- children: z.description
244
+ children: B.description
244
245
  })] })]
245
246
  }),
246
- actions: /* @__PURE__ */ x("div", {
247
+ actions: /* @__PURE__ */ C("div", {
247
248
  className: "flex gap-2",
248
- children: [/* @__PURE__ */ b(f, {
249
+ children: [/* @__PURE__ */ S(f, {
249
250
  variant: "outline",
250
- leftIcon: /* @__PURE__ */ b(O, { size: 16 }),
251
- onClick: se,
252
- isLoading: J.loading,
251
+ leftIcon: /* @__PURE__ */ S(re, { size: 16 }),
252
+ onClick: ce,
253
+ isLoading: ae.loading,
253
254
  children: "Rebuild Index"
254
- }), Y ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(f, {
255
+ }), Y ? /* @__PURE__ */ C(x, { children: [/* @__PURE__ */ S(f, {
255
256
  variant: "outline",
256
257
  onClick: () => {
257
- Q(P(z)), X(!1);
258
+ Q(F(B)), X(!1);
258
259
  },
259
260
  children: "Cancel"
260
- }), /* @__PURE__ */ b(f, {
261
- leftIcon: /* @__PURE__ */ b(k, { size: 16 }),
262
- onClick: oe,
263
- isLoading: K.loading,
261
+ }), /* @__PURE__ */ S(f, {
262
+ leftIcon: /* @__PURE__ */ S(A, { size: 16 }),
263
+ onClick: se,
264
+ isLoading: q.loading,
264
265
  children: "Save"
265
- })] }) : /* @__PURE__ */ b(f, {
266
- leftIcon: /* @__PURE__ */ b(A, { size: 16 }),
266
+ })] }) : /* @__PURE__ */ S(f, {
267
+ leftIcon: /* @__PURE__ */ S(j, { size: 16 }),
267
268
  onClick: () => X(!0),
268
269
  children: "Configure"
269
270
  })]
270
271
  }),
271
- children: /* @__PURE__ */ x("div", {
272
+ children: /* @__PURE__ */ C("div", {
272
273
  className: "space-y-6",
273
274
  children: [
274
- /* @__PURE__ */ b(re, {
275
- icon: /* @__PURE__ */ b(T, { size: 18 }),
275
+ /* @__PURE__ */ S(b, {
276
+ icon: /* @__PURE__ */ S(D, { size: 18 }),
276
277
  children: "This knowledge base is one searchable library your agents can draw on. Review how its documents are chunked and indexed, rebuild the index when content changes, and confirm it is healthy — so agents retrieve accurate, up-to-date passages and can cite them in their answers."
277
278
  }),
278
- /* @__PURE__ */ x("div", {
279
+ /* @__PURE__ */ C("div", {
279
280
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
280
281
  children: [
281
- /* @__PURE__ */ x(ne, {
282
+ /* @__PURE__ */ C(y, {
282
283
  treatment: "glass",
283
284
  glow: !0,
284
285
  className: "p-6 text-center",
285
286
  children: [
286
- /* @__PURE__ */ b("div", {
287
+ /* @__PURE__ */ S("div", {
287
288
  className: "p-3 rounded-full bg-action-primary-bg/10 w-fit mx-auto mb-2",
288
- children: /* @__PURE__ */ b(T, { className: "h-5 w-5 text-primary" })
289
+ children: /* @__PURE__ */ S(D, { className: "h-5 w-5 text-primary" })
289
290
  }),
290
- /* @__PURE__ */ b("p", {
291
+ /* @__PURE__ */ S("p", {
291
292
  className: "text-lg font-bold text-text-primary capitalize",
292
- children: z.indexStatus.toLowerCase()
293
+ children: B.indexStatus.toLowerCase()
293
294
  }),
294
- /* @__PURE__ */ b("p", {
295
+ /* @__PURE__ */ S("p", {
295
296
  className: "text-sm text-text-secondary",
296
297
  children: "Index Status"
297
298
  })
298
299
  ]
299
300
  }),
300
- /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
301
+ /* @__PURE__ */ S(s, { children: /* @__PURE__ */ C(c, {
301
302
  className: "pt-6 text-center",
302
- children: [/* @__PURE__ */ b("p", {
303
+ children: [/* @__PURE__ */ S("p", {
303
304
  className: "text-3xl font-bold text-text-primary",
304
- children: z.totalDocuments
305
- }), /* @__PURE__ */ b("p", {
305
+ children: B.totalDocuments
306
+ }), /* @__PURE__ */ S("p", {
306
307
  className: "text-sm text-text-secondary",
307
308
  children: "Documents"
308
309
  })]
309
310
  }) }),
310
- /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
311
+ /* @__PURE__ */ S(s, { children: /* @__PURE__ */ C(c, {
311
312
  className: "pt-6 text-center",
312
- children: [/* @__PURE__ */ b("p", {
313
+ children: [/* @__PURE__ */ S("p", {
313
314
  className: "text-3xl font-bold text-text-primary",
314
- children: z.totalChunks
315
- }), /* @__PURE__ */ b("p", {
315
+ children: B.totalChunks
316
+ }), /* @__PURE__ */ S("p", {
316
317
  className: "text-sm text-text-secondary",
317
318
  children: "Chunks"
318
319
  })]
319
320
  }) }),
320
- /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
321
+ /* @__PURE__ */ S(s, { children: /* @__PURE__ */ C(c, {
321
322
  className: "pt-6 text-center",
322
- children: [/* @__PURE__ */ b("p", {
323
+ children: [/* @__PURE__ */ S("p", {
323
324
  className: "text-3xl font-bold text-text-primary",
324
- children: z.vectorCount
325
- }), /* @__PURE__ */ b("p", {
325
+ children: B.vectorCount
326
+ }), /* @__PURE__ */ S("p", {
326
327
  className: "text-sm text-text-secondary",
327
328
  children: "Vectors"
328
329
  })]
329
330
  }) })
330
331
  ]
331
332
  }),
332
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
333
+ /* @__PURE__ */ C(s, { children: [/* @__PURE__ */ C(u, { children: [/* @__PURE__ */ C(d, {
333
334
  className: "flex items-center gap-2",
334
- children: [/* @__PURE__ */ b(D, { size: 18 }), "Index Configuration"]
335
- }), /* @__PURE__ */ b(l, { children: "How documents are embedded and split before they are indexed" })] }), /* @__PURE__ */ b(c, {
335
+ children: [/* @__PURE__ */ S(k, { size: 18 }), "Index Configuration"]
336
+ }), /* @__PURE__ */ S(l, { children: "How documents are embedded and split before they are indexed" })] }), /* @__PURE__ */ S(c, {
336
337
  className: "space-y-4",
337
- children: Y ? $(!1) : /* @__PURE__ */ x("div", {
338
+ children: Y ? $(!1) : /* @__PURE__ */ C("div", {
338
339
  className: "grid grid-cols-2 md:grid-cols-3 gap-6",
339
340
  children: [
340
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
341
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
341
342
  className: "text-sm text-text-secondary",
342
343
  children: "Embedding Model"
343
- }), /* @__PURE__ */ b("p", {
344
+ }), /* @__PURE__ */ S("p", {
344
345
  className: "font-medium font-mono text-sm",
345
- children: z.embeddingModel
346
+ children: B.embeddingModel
346
347
  })] }),
347
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
348
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
348
349
  className: "text-sm text-text-secondary",
349
350
  children: "Dimensions"
350
- }), /* @__PURE__ */ b("p", {
351
+ }), /* @__PURE__ */ S("p", {
351
352
  className: "font-medium",
352
- children: z.embeddingDimensions
353
+ children: B.embeddingDimensions
353
354
  })] }),
354
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
355
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
355
356
  className: "text-sm text-text-secondary",
356
357
  children: "Chunking Strategy"
357
- }), /* @__PURE__ */ b("p", {
358
+ }), /* @__PURE__ */ S("p", {
358
359
  className: "font-medium",
359
- children: z.chunkingStrategy
360
+ children: B.chunkingStrategy
360
361
  })] }),
361
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
362
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
362
363
  className: "text-sm text-text-secondary",
363
364
  children: "Chunk Size"
364
- }), /* @__PURE__ */ b("p", {
365
+ }), /* @__PURE__ */ S("p", {
365
366
  className: "font-medium",
366
- children: z.chunkSize
367
+ children: B.chunkSize
367
368
  })] }),
368
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
369
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
369
370
  className: "text-sm text-text-secondary",
370
371
  children: "Chunk Overlap"
371
- }), /* @__PURE__ */ b("p", {
372
+ }), /* @__PURE__ */ S("p", {
372
373
  className: "font-medium",
373
- children: z.chunkOverlap
374
+ children: B.chunkOverlap
374
375
  })] }),
375
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
376
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
376
377
  className: "text-sm text-text-secondary",
377
378
  children: "Last Indexed"
378
- }), /* @__PURE__ */ b("p", {
379
+ }), /* @__PURE__ */ S("p", {
379
380
  className: "font-medium",
380
- children: z.lastIndexedAt ? a(z.lastIndexedAt) : "Never"
381
+ children: B.lastIndexedAt ? a(B.lastIndexedAt) : "Never"
381
382
  })] })
382
383
  ]
383
384
  })
384
385
  })] }),
385
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
386
+ !L && R && /* @__PURE__ */ S(te, { knowledgeBaseId: R }),
387
+ /* @__PURE__ */ C(s, { children: [/* @__PURE__ */ C(u, { children: [/* @__PURE__ */ C(d, {
386
388
  className: "flex items-center gap-2",
387
389
  children: [
388
- /* @__PURE__ */ b(E, { size: 18 }),
390
+ /* @__PURE__ */ S(O, { size: 18 }),
389
391
  "Documents (",
390
- H.length,
392
+ U.length,
391
393
  ")"
392
394
  ]
393
- }), /* @__PURE__ */ b(l, { children: "Source documents indexed into this knowledge base" })] }), /* @__PURE__ */ b(c, {
395
+ }), /* @__PURE__ */ S(l, { children: "Source documents indexed into this knowledge base" })] }), /* @__PURE__ */ S(c, {
394
396
  className: "p-0",
395
- children: H.length > 0 ? /* @__PURE__ */ b("div", {
397
+ children: U.length > 0 ? /* @__PURE__ */ S("div", {
396
398
  className: "divide-y divide-border-subtle",
397
- children: H.map((e) => /* @__PURE__ */ x("div", {
399
+ children: U.map((e) => /* @__PURE__ */ C("div", {
398
400
  className: "flex items-center justify-between gap-4 p-4",
399
- children: [/* @__PURE__ */ x("div", {
401
+ children: [/* @__PURE__ */ C("div", {
400
402
  className: "min-w-0",
401
403
  children: [
402
- /* @__PURE__ */ b("p", {
404
+ /* @__PURE__ */ S("p", {
403
405
  className: "font-medium truncate",
404
406
  children: e.title
405
407
  }),
406
- /* @__PURE__ */ x("p", {
408
+ /* @__PURE__ */ C("p", {
407
409
  className: "text-sm text-text-secondary",
408
410
  children: [
409
411
  e.chunkCount,
@@ -411,63 +413,63 @@ var I = ({ isNew: I }) => {
411
413
  a(e.addedAt)
412
414
  ]
413
415
  }),
414
- e.processingError && /* @__PURE__ */ b("p", {
416
+ e.processingError && /* @__PURE__ */ S("p", {
415
417
  className: "mt-1 text-sm text-status-error-text",
416
418
  children: e.processingError
417
419
  })
418
420
  ]
419
- }), /* @__PURE__ */ b(p, { status: e.status })]
421
+ }), /* @__PURE__ */ S(p, { status: e.status })]
420
422
  }, e.id))
421
- }) : /* @__PURE__ */ x("div", {
423
+ }) : /* @__PURE__ */ C("div", {
422
424
  className: "p-8 text-center text-text-secondary",
423
- children: [/* @__PURE__ */ b(w, { className: "h-8 w-8 mx-auto mb-2 opacity-50" }), /* @__PURE__ */ b("p", { children: "No documents indexed yet" })]
425
+ children: [/* @__PURE__ */ S(E, { className: "h-8 w-8 mx-auto mb-2 opacity-50" }), /* @__PURE__ */ S("p", { children: "No documents indexed yet" })]
424
426
  })
425
427
  })] }),
426
- /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ x(d, {
428
+ /* @__PURE__ */ C(s, { children: [/* @__PURE__ */ S(u, { children: /* @__PURE__ */ C(d, {
427
429
  className: "flex items-center gap-2",
428
- children: [/* @__PURE__ */ b(A, { size: 18 }), "Metadata"]
429
- }) }), /* @__PURE__ */ b(c, { children: /* @__PURE__ */ x("div", {
430
+ children: [/* @__PURE__ */ S(j, { size: 18 }), "Metadata"]
431
+ }) }), /* @__PURE__ */ S(c, { children: /* @__PURE__ */ C("div", {
430
432
  className: "grid grid-cols-2 md:grid-cols-3 gap-6 text-sm",
431
433
  children: [
432
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
434
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
433
435
  className: "text-text-secondary",
434
436
  children: "Created"
435
- }), /* @__PURE__ */ b("p", {
437
+ }), /* @__PURE__ */ S("p", {
436
438
  className: "font-medium",
437
- children: a(z.createdAt)
439
+ children: a(B.createdAt)
438
440
  })] }),
439
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
441
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
440
442
  className: "text-text-secondary",
441
443
  children: "Updated"
442
- }), /* @__PURE__ */ b("p", {
444
+ }), /* @__PURE__ */ S("p", {
443
445
  className: "font-medium",
444
- children: a(z.updatedAt)
446
+ children: a(B.updatedAt)
445
447
  })] }),
446
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
448
+ /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
447
449
  className: "text-text-secondary",
448
450
  children: "Last Indexed"
449
- }), /* @__PURE__ */ b("p", {
451
+ }), /* @__PURE__ */ S("p", {
450
452
  className: "font-medium",
451
- children: z.lastIndexedAt ? a(z.lastIndexedAt) : "—"
453
+ children: B.lastIndexedAt ? a(B.lastIndexedAt) : "—"
452
454
  })] })
453
455
  ]
454
456
  }) })] })
455
457
  ]
456
458
  })
457
- }) : /* @__PURE__ */ b(o, {
459
+ }) : /* @__PURE__ */ S(o, {
458
460
  title: "Knowledge Base Not Found",
459
- children: /* @__PURE__ */ b(m, {
461
+ children: /* @__PURE__ */ S(m, {
460
462
  illustration: "empty-files",
461
463
  title: "Knowledge Base Not Found",
462
464
  description: "This knowledge base doesn't exist.",
463
- action: /* @__PURE__ */ b(f, {
464
- onClick: () => R("knowledge"),
465
+ action: /* @__PURE__ */ S(f, {
466
+ onClick: () => z("knowledge"),
465
467
  children: "Back to Knowledge Bases"
466
468
  })
467
469
  })
468
470
  });
469
471
  };
470
472
  //#endregion
471
- export { I as KnowledgeBaseDetailPage };
473
+ export { L as KnowledgeBaseDetailPage };
472
474
 
473
475
  //# sourceMappingURL=KnowledgeBaseDetailPage.js.map