@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
@@ -1,115 +1,123 @@
1
1
  import { useTr as e } from "../../shared/hooks/useTr.js";
2
2
  import { useBotlit as t } from "../providers/BotlitProvider.js";
3
- import { useAgent as n, useDeleteAgent as r, useUpdateAgent as i } from "../hooks/useAgents.js";
4
- import { cn as a } from "../utils/cn.js";
5
- import { formatRelativeTime as o } from "../utils/formatters.js";
6
- import { PageLayout as s } from "../components/PageLayout.js";
7
- import { Card as c, CardContent as l, CardDescription as u, CardHeader as d, CardTitle as f } from "../components/Card.js";
8
- import { Button as p } from "../components/Button.js";
9
- import { Badge as m, StatusBadge as h } from "../components/Badge.js";
10
- import { EmptyState as ee } from "../components/EmptyState.js";
11
- import { VersionHistoryPanel as te } from "../components/VersionHistoryPanel.js";
12
- import { useState as ne } from "react";
13
- import { GlassCard as re, NextSteps as g, PagePurpose as _ } from "@burdenoff/fe-libs/ui";
14
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
15
- import { useParams as b } from "react-router";
16
- import { ArrowLeft as ie, BarChart3 as ae, BookOpen as x, Brain as S, Edit as C, FileText as w, History as T, MessageSquare as E, Play as D, Settings as O, Share2 as k, Shield as A, Trash2 as oe, Wrench as j } from "lucide-react";
3
+ import { useAgent as ee, useDeleteAgent as te, useUpdateAgent as ne } from "../hooks/useAgents.js";
4
+ import { cn as n } from "../utils/cn.js";
5
+ import { formatRelativeTime as r } from "../utils/formatters.js";
6
+ import { PageLayout as i } from "../components/PageLayout.js";
7
+ import { Card as a, CardContent as o, CardDescription as s, CardHeader as c, CardTitle as l } from "../components/Card.js";
8
+ import { Button as u } from "../components/Button.js";
9
+ import { Badge as d, StatusBadge as f } from "../components/Badge.js";
10
+ import { EmptyState as re } from "../components/EmptyState.js";
11
+ import { VersionHistoryPanel as ie } from "../components/VersionHistoryPanel.js";
12
+ import { AssistantRuntimeSetupPanel as p } from "../components/AssistantRuntimeSetupPanel.js";
13
+ import { AssistantChannelPanel as m } from "../components/AssistantChannelPanel.js";
14
+ import { AssistantWebsitePanel as h } from "../components/AssistantWebsitePanel.js";
15
+ import { useState as g } from "react";
16
+ import { GlassCard as _, NextSteps as v, PagePurpose as ae } from "@burdenoff/fe-libs/ui";
17
+ import { jsx as y, jsxs as b } from "react/jsx-runtime";
18
+ import { useParams as oe } from "react-router";
19
+ import { ArrowLeft as x, BarChart3 as S, BookOpen as C, Brain as w, Edit as se, FileText as T, History as ce, MessageSquare as E, Play as D, Settings as O, Share2 as k, Shield as A, Trash2 as le, Wrench as j } from "lucide-react";
17
20
  import { toast as M } from "sonner";
18
21
  //#region src/botlit/pages/AgentDetailPage.tsx
19
22
  var N = () => {
20
- let N = e(), { agentId: P } = b(), { navigateTo: F } = t(), { data: I, loading: L, refetch: R } = n(P), [z, B] = i(), [V, H] = r(), [U, W] = ne("overview");
21
- if (L) return /* @__PURE__ */ v(s, {
23
+ let N = e(), { agentId: P } = oe(), { navigateTo: F } = t(), { data: I, loading: L, refetch: R } = ee(P), [z, B] = ne(), [V, H] = te(), [U, W] = g("overview");
24
+ if (L) return /* @__PURE__ */ y(i, {
22
25
  title: N("botlit.common.loading", "Loading..."),
23
- children: /* @__PURE__ */ v("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
26
+ children: /* @__PURE__ */ y("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
24
27
  });
25
- if (!I) return /* @__PURE__ */ v(s, {
28
+ if (!I) return /* @__PURE__ */ y(i, {
26
29
  title: N("botlit.agentDetail.notFound.title", "Agent Not Found"),
27
- children: /* @__PURE__ */ v(ee, {
30
+ children: /* @__PURE__ */ y(re, {
28
31
  illustration: "empty-agents",
29
32
  title: N("botlit.agentDetail.notFound.title", "Agent Not Found"),
30
33
  description: N("botlit.agentDetail.notFound.description", "The agent you're looking for doesn't exist."),
31
- action: /* @__PURE__ */ v(p, {
34
+ action: /* @__PURE__ */ y(u, {
32
35
  onClick: () => F("agents"),
33
36
  children: N("botlit.agentDetail.notFound.backAction", "Back to Agents")
34
37
  })
35
38
  })
36
39
  });
37
- let G = I.systemPrompt || "", K = I.llmModelId || "", se = I.temperature, ce = I.maxTokens, q = I.mcpConnectionIds ?? [], J = I.knowledgeBaseIds ?? [], Y = I.workflowIds ?? [], X = I.capabilities ?? [], Z = I.tagIds ?? [], Q = I.maxConcurrentExecutions || 10, $ = I.metadata ?? null, le = [
40
+ let G = I.systemPrompt || "", K = I.llmModelId || "", ue = I.temperature, de = I.maxTokens, q = I.mcpConnectionIds ?? [], J = I.knowledgeBaseIds ?? [], Y = I.workflowIds ?? [], X = I.capabilities ?? [], Z = I.tagIds ?? [], Q = I.maxConcurrentExecutions || 10, $ = I.metadata ?? null, fe = [
41
+ {
42
+ id: "assistant",
43
+ label: "Assistant setup",
44
+ icon: /* @__PURE__ */ y(O, { size: 16 })
45
+ },
38
46
  {
39
47
  id: "overview",
40
48
  label: N("botlit.agentDetail.tabs.overview", "Overview"),
41
- icon: /* @__PURE__ */ v(ae, { size: 16 })
49
+ icon: /* @__PURE__ */ y(S, { size: 16 })
42
50
  },
43
51
  {
44
52
  id: "prompt",
45
53
  label: N("botlit.agentDetail.tabs.prompt", "Prompt"),
46
- icon: /* @__PURE__ */ v(w, { size: 16 })
54
+ icon: /* @__PURE__ */ y(T, { size: 16 })
47
55
  },
48
56
  {
49
57
  id: "llm",
50
58
  label: N("botlit.agentDetail.tabs.llmConfig", "LLM Config"),
51
- icon: /* @__PURE__ */ v(S, { size: 16 })
59
+ icon: /* @__PURE__ */ y(w, { size: 16 })
52
60
  },
53
61
  {
54
62
  id: "tools",
55
63
  label: N("botlit.agentDetail.tabs.tools", "Tools"),
56
- icon: /* @__PURE__ */ v(j, { size: 16 })
64
+ icon: /* @__PURE__ */ y(j, { size: 16 })
57
65
  },
58
66
  {
59
67
  id: "knowledge",
60
68
  label: N("botlit.agentDetail.tabs.knowledge", "Knowledge"),
61
- icon: /* @__PURE__ */ v(x, { size: 16 })
69
+ icon: /* @__PURE__ */ y(C, { size: 16 })
62
70
  },
63
71
  {
64
72
  id: "guardrails",
65
73
  label: N("botlit.agentDetail.tabs.guardrails", "Guardrails"),
66
- icon: /* @__PURE__ */ v(A, { size: 16 })
74
+ icon: /* @__PURE__ */ y(A, { size: 16 })
67
75
  },
68
76
  {
69
77
  id: "a2a",
70
78
  label: N("botlit.agentDetail.tabs.a2a", "A2A"),
71
- icon: /* @__PURE__ */ v(k, { size: 16 })
79
+ icon: /* @__PURE__ */ y(k, { size: 16 })
72
80
  },
73
81
  {
74
82
  id: "versions",
75
83
  label: N("botlit.agentDetail.tabs.versions", "Versions"),
76
- icon: /* @__PURE__ */ v(T, { size: 16 })
84
+ icon: /* @__PURE__ */ y(ce, { size: 16 })
77
85
  }
78
86
  ];
79
- return /* @__PURE__ */ v(s, {
80
- title: /* @__PURE__ */ y("div", {
87
+ return /* @__PURE__ */ y(i, {
88
+ title: /* @__PURE__ */ b("div", {
81
89
  className: "flex items-center gap-3",
82
90
  children: [
83
- /* @__PURE__ */ v(p, {
91
+ /* @__PURE__ */ y(u, {
84
92
  variant: "ghost",
85
93
  size: "icon",
86
94
  onClick: () => F("agents"),
87
- children: /* @__PURE__ */ v(ie, { size: 20 })
95
+ children: /* @__PURE__ */ y(x, { size: 20 })
88
96
  }),
89
- /* @__PURE__ */ v("span", {
97
+ /* @__PURE__ */ y("span", {
90
98
  className: "text-3xl",
91
99
  children: "🤖"
92
100
  }),
93
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ y("div", {
101
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("div", {
94
102
  className: "flex items-center gap-2",
95
103
  children: [
96
- /* @__PURE__ */ v("span", { children: I.name }),
97
- /* @__PURE__ */ v(h, { status: I.status }),
98
- /* @__PURE__ */ v(m, {
104
+ /* @__PURE__ */ y("span", { children: I.name }),
105
+ /* @__PURE__ */ y(f, { status: I.status }),
106
+ /* @__PURE__ */ y(d, {
99
107
  variant: "outline",
100
108
  children: I.slug
101
109
  })
102
110
  ]
103
- }), /* @__PURE__ */ v("p", {
111
+ }), /* @__PURE__ */ y("p", {
104
112
  className: "text-sm font-normal text-text-secondary",
105
113
  children: I.description
106
114
  })] })
107
115
  ]
108
116
  }),
109
- actions: /* @__PURE__ */ y("div", {
117
+ actions: /* @__PURE__ */ b("div", {
110
118
  className: "flex gap-2",
111
119
  children: [
112
- I.status === "DRAFT" || I.status === "ARCHIVED" ? /* @__PURE__ */ v(p, {
120
+ I.status === "DRAFT" || I.status === "ARCHIVED" ? /* @__PURE__ */ y(u, {
113
121
  variant: "default",
114
122
  isLoading: B.loading,
115
123
  onClick: async () => {
@@ -124,7 +132,7 @@ var N = () => {
124
132
  }
125
133
  },
126
134
  children: N("botlit.agentDetail.actions.activate", "Activate")
127
- }) : /* @__PURE__ */ v(p, {
135
+ }) : /* @__PURE__ */ y(u, {
128
136
  variant: "outline",
129
137
  isLoading: B.loading,
130
138
  onClick: async () => {
@@ -140,20 +148,20 @@ var N = () => {
140
148
  },
141
149
  children: N("botlit.agentDetail.actions.deactivate", "Deactivate")
142
150
  }),
143
- /* @__PURE__ */ v(p, {
151
+ /* @__PURE__ */ y(u, {
144
152
  variant: "outline",
145
- leftIcon: /* @__PURE__ */ v(C, { size: 16 }),
153
+ leftIcon: /* @__PURE__ */ y(se, { size: 16 }),
146
154
  onClick: () => F(`agents/${P}/edit`),
147
155
  children: N("botlit.agentDetail.actions.editAgent", "Edit Agent")
148
156
  }),
149
- /* @__PURE__ */ v(p, {
150
- leftIcon: /* @__PURE__ */ v(D, { size: 16 }),
157
+ /* @__PURE__ */ y(u, {
158
+ leftIcon: /* @__PURE__ */ y(D, { size: 16 }),
151
159
  onClick: () => F(`chat/${P}`),
152
160
  children: N("botlit.agentDetail.actions.testAgent", "Test Agent")
153
161
  }),
154
- /* @__PURE__ */ v(p, {
162
+ /* @__PURE__ */ y(u, {
155
163
  variant: "destructive",
156
- leftIcon: /* @__PURE__ */ v(oe, { size: 16 }),
164
+ leftIcon: /* @__PURE__ */ y(le, { size: 16 }),
157
165
  isLoading: H.loading,
158
166
  onClick: async () => {
159
167
  if (P && confirm(`${N("botlit.agentDetail.delete.confirmPrefix", "Are you sure you want to delete")} "${I.name}"? ${N("botlit.agentDetail.delete.confirmSuffix", "This action cannot be undone.")}`)) try {
@@ -166,163 +174,177 @@ var N = () => {
166
174
  })
167
175
  ]
168
176
  }),
169
- children: /* @__PURE__ */ y("div", {
177
+ children: /* @__PURE__ */ b("div", {
170
178
  className: "space-y-6",
171
179
  children: [
172
- /* @__PURE__ */ v(_, {
173
- icon: /* @__PURE__ */ v(S, { size: 18 }),
180
+ U === "assistant" && P && /* @__PURE__ */ b("div", {
181
+ className: "space-y-5",
182
+ children: [
183
+ /* @__PURE__ */ y(p, {
184
+ agentId: P,
185
+ onConfigured: () => void R()
186
+ }),
187
+ /* @__PURE__ */ y(h, {
188
+ agentId: P,
189
+ knowledgeBaseIds: J
190
+ }),
191
+ /* @__PURE__ */ y(m, { agentId: P })
192
+ ]
193
+ }),
194
+ /* @__PURE__ */ y(ae, {
195
+ icon: /* @__PURE__ */ y(w, { size: 18 }),
174
196
  children: N("botlit.agentDetail.purpose", "This is the full configuration for a single agent — its prompt, model settings, the tools and knowledge it can use, its guardrails and how it talks to other agents. Use the tabs to inspect or change any part, and test the agent in chat to confirm it behaves the way you expect before going live.")
175
197
  }),
176
- /* @__PURE__ */ v("div", {
198
+ /* @__PURE__ */ y("div", {
177
199
  className: "flex gap-1 border-b border-border-subtle overflow-x-auto",
178
- children: le.map((e) => /* @__PURE__ */ y("button", {
200
+ children: fe.map((e) => /* @__PURE__ */ b("button", {
179
201
  onClick: () => W(e.id),
180
- className: a("flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors whitespace-nowrap", U === e.id ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary"),
202
+ className: n("flex items-center gap-2 px-4 py-2 text-sm font-medium border-b-2 transition-colors whitespace-nowrap", U === e.id ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary"),
181
203
  children: [e.icon, e.label]
182
204
  }, e.id))
183
205
  }),
184
- U === "overview" && /* @__PURE__ */ y("div", {
206
+ U === "overview" && /* @__PURE__ */ b("div", {
185
207
  className: "space-y-6",
186
- children: [/* @__PURE__ */ v(g, {
208
+ children: [/* @__PURE__ */ y(v, {
187
209
  storageKey: `botlit-agent-${P}`,
188
210
  steps: [
189
211
  {
190
212
  id: "test",
191
213
  label: N("botlit.agentDetail.nextSteps.test", "Test the agent in chat"),
192
214
  description: N("botlit.agentDetail.nextSteps.testDesc", "Send it a few real prompts to see how it responds."),
193
- icon: /* @__PURE__ */ v(D, { size: 16 }),
215
+ icon: /* @__PURE__ */ y(D, { size: 16 }),
194
216
  onClick: () => F(`chat/${P}`)
195
217
  },
196
218
  {
197
219
  id: "prompt",
198
220
  label: N("botlit.agentDetail.nextSteps.prompt", "Refine the system prompt"),
199
221
  description: N("botlit.agentDetail.nextSteps.promptDesc", "Tune its instructions and behaviour."),
200
- icon: /* @__PURE__ */ v(w, { size: 16 }),
222
+ icon: /* @__PURE__ */ y(T, { size: 16 }),
201
223
  onClick: () => W("prompt")
202
224
  },
203
225
  {
204
226
  id: "tools",
205
227
  label: N("botlit.agentDetail.nextSteps.tools", "Connect tools & knowledge"),
206
228
  description: N("botlit.agentDetail.nextSteps.toolsDesc", "Give it MCP tools and knowledge bases to work with."),
207
- icon: /* @__PURE__ */ v(j, { size: 16 }),
229
+ icon: /* @__PURE__ */ y(j, { size: 16 }),
208
230
  onClick: () => W("tools")
209
231
  },
210
232
  {
211
233
  id: "activate",
212
234
  label: N("botlit.agentDetail.nextSteps.activate", "Activate and attach to a bot"),
213
235
  description: N("botlit.agentDetail.nextSteps.activateDesc", "Put it live so a bot can route conversations to it."),
214
- icon: /* @__PURE__ */ v(k, { size: 16 }),
236
+ icon: /* @__PURE__ */ y(k, { size: 16 }),
215
237
  onClick: () => F(`agents/${P}/edit`),
216
238
  done: I.status === "ACTIVE"
217
239
  }
218
240
  ]
219
- }), /* @__PURE__ */ y("div", {
241
+ }), /* @__PURE__ */ b("div", {
220
242
  className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
221
243
  children: [
222
- /* @__PURE__ */ y(c, {
244
+ /* @__PURE__ */ b(a, {
223
245
  className: "lg:col-span-1",
224
- children: [/* @__PURE__ */ v(d, { children: /* @__PURE__ */ v(f, { children: "Details" }) }), /* @__PURE__ */ y(l, {
246
+ children: [/* @__PURE__ */ y(c, { children: /* @__PURE__ */ y(l, { children: "Details" }) }), /* @__PURE__ */ b(o, {
225
247
  className: "space-y-4",
226
248
  children: [
227
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
249
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
228
250
  className: "text-sm text-text-secondary",
229
251
  children: "Status"
230
- }), /* @__PURE__ */ v(h, { status: I.status })] }),
231
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
252
+ }), /* @__PURE__ */ y(f, { status: I.status })] }),
253
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
232
254
  className: "text-sm text-text-secondary",
233
255
  children: "Type"
234
- }), /* @__PURE__ */ v(m, {
256
+ }), /* @__PURE__ */ y(d, {
235
257
  variant: "outline",
236
258
  children: I.type
237
259
  })] }),
238
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
260
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
239
261
  className: "text-sm text-text-secondary",
240
262
  children: "Visibility"
241
- }), /* @__PURE__ */ v(m, {
263
+ }), /* @__PURE__ */ y(d, {
242
264
  variant: "outline",
243
265
  children: I.visibility
244
266
  })] }),
245
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
267
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
246
268
  className: "text-sm text-text-secondary",
247
269
  children: "LLM Model"
248
- }), /* @__PURE__ */ v("p", {
270
+ }), /* @__PURE__ */ y("p", {
249
271
  className: "font-medium font-mono text-sm",
250
272
  children: K || "Not configured"
251
273
  })] }),
252
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
274
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
253
275
  className: "text-sm text-text-secondary",
254
276
  children: "MCP Connections"
255
- }), /* @__PURE__ */ y("p", {
277
+ }), /* @__PURE__ */ b("p", {
256
278
  className: "font-medium",
257
279
  children: [q.length, " servers"]
258
280
  })] }),
259
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
281
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
260
282
  className: "text-sm text-text-secondary",
261
283
  children: "Knowledge Bases"
262
- }), /* @__PURE__ */ y("p", {
284
+ }), /* @__PURE__ */ b("p", {
263
285
  className: "font-medium",
264
286
  children: [J.length, " KBs"]
265
287
  })] }),
266
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
288
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
267
289
  className: "text-sm text-text-secondary",
268
290
  children: "Max Concurrent"
269
- }), /* @__PURE__ */ v("p", {
291
+ }), /* @__PURE__ */ y("p", {
270
292
  className: "font-medium",
271
293
  children: Q
272
294
  })] }),
273
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
295
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
274
296
  className: "text-sm text-text-secondary",
275
297
  children: "Executions"
276
- }), /* @__PURE__ */ v("p", {
298
+ }), /* @__PURE__ */ y("p", {
277
299
  className: "font-medium",
278
300
  children: I.executionCount ?? 0
279
301
  })] }),
280
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
302
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
281
303
  className: "text-sm text-text-secondary",
282
304
  children: "Created"
283
- }), /* @__PURE__ */ v("p", {
305
+ }), /* @__PURE__ */ y("p", {
284
306
  className: "font-medium",
285
- children: o(I.createdAt)
307
+ children: r(I.createdAt)
286
308
  })] }),
287
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
309
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
288
310
  className: "text-sm text-text-secondary",
289
311
  children: "Updated"
290
- }), /* @__PURE__ */ v("p", {
312
+ }), /* @__PURE__ */ y("p", {
291
313
  className: "font-medium",
292
- children: o(I.updatedAt)
314
+ children: r(I.updatedAt)
293
315
  })] })
294
316
  ]
295
317
  })]
296
318
  }),
297
- /* @__PURE__ */ y(re, {
319
+ /* @__PURE__ */ b(_, {
298
320
  treatment: "glass",
299
321
  glow: !0,
300
322
  className: "lg:col-span-2 p-6",
301
- children: [/* @__PURE__ */ v("h3", {
323
+ children: [/* @__PURE__ */ y("h3", {
302
324
  className: "mb-4 text-lg font-semibold tracking-tight text-text-primary",
303
325
  children: N("botlit.agentDetail.capabilities.title", "Capabilities")
304
- }), /* @__PURE__ */ v("div", { children: X.length > 0 ? /* @__PURE__ */ v("div", {
326
+ }), /* @__PURE__ */ y("div", { children: X.length > 0 ? /* @__PURE__ */ y("div", {
305
327
  className: "grid grid-cols-2 md:grid-cols-3 gap-4",
306
- children: X.map((e) => /* @__PURE__ */ y("div", {
328
+ children: X.map((e) => /* @__PURE__ */ b("div", {
307
329
  className: "p-3 rounded-lg border border-green-500 bg-green-500/10",
308
- children: [/* @__PURE__ */ v("p", {
330
+ children: [/* @__PURE__ */ y("p", {
309
331
  className: "font-medium",
310
332
  children: e
311
- }), /* @__PURE__ */ v(m, {
333
+ }), /* @__PURE__ */ y(d, {
312
334
  variant: "success",
313
335
  children: N("botlit.agentDetail.capabilities.enabled", "Enabled")
314
336
  })]
315
337
  }, e))
316
- }) : /* @__PURE__ */ v("p", {
338
+ }) : /* @__PURE__ */ y("p", {
317
339
  className: "text-text-secondary",
318
340
  children: N("botlit.agentDetail.capabilities.empty", "No capabilities configured")
319
341
  }) })]
320
342
  }),
321
- Z.length > 0 && /* @__PURE__ */ y(c, {
343
+ Z.length > 0 && /* @__PURE__ */ b(a, {
322
344
  className: "lg:col-span-3",
323
- children: [/* @__PURE__ */ v(d, { children: /* @__PURE__ */ v(f, { children: N("botlit.agentDetail.tags.title", "Tags") }) }), /* @__PURE__ */ v(l, { children: /* @__PURE__ */ v("div", {
345
+ children: [/* @__PURE__ */ y(c, { children: /* @__PURE__ */ y(l, { children: N("botlit.agentDetail.tags.title", "Tags") }) }), /* @__PURE__ */ y(o, { children: /* @__PURE__ */ y("div", {
324
346
  className: "flex flex-wrap gap-2",
325
- children: Z.map((e) => /* @__PURE__ */ v(m, {
347
+ children: Z.map((e) => /* @__PURE__ */ y(d, {
326
348
  variant: "outline",
327
349
  children: e
328
350
  }, e))
@@ -331,174 +353,174 @@ var N = () => {
331
353
  ]
332
354
  })]
333
355
  }),
334
- U === "prompt" && /* @__PURE__ */ v("div", {
356
+ U === "prompt" && /* @__PURE__ */ y("div", {
335
357
  className: "space-y-6",
336
- children: /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ y(d, { children: [/* @__PURE__ */ y(f, {
358
+ children: /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b(c, { children: [/* @__PURE__ */ b(l, {
337
359
  className: "flex items-center gap-2",
338
- children: [/* @__PURE__ */ v(w, { size: 18 }), N("botlit.agentDetail.prompt.title", "System Prompt")]
339
- }), /* @__PURE__ */ v(u, { children: N("botlit.agentDetail.prompt.description", "The system prompt that defines this agent's behavior") })] }), /* @__PURE__ */ v(l, {
360
+ children: [/* @__PURE__ */ y(T, { size: 18 }), N("botlit.agentDetail.prompt.title", "System Prompt")]
361
+ }), /* @__PURE__ */ y(s, { children: N("botlit.agentDetail.prompt.description", "The system prompt that defines this agent's behavior") })] }), /* @__PURE__ */ y(o, {
340
362
  className: "space-y-4",
341
- children: G ? /* @__PURE__ */ v("pre", {
363
+ children: G ? /* @__PURE__ */ y("pre", {
342
364
  className: "p-4 bg-bg-sunken rounded-lg text-sm whitespace-pre-wrap font-mono",
343
365
  children: G
344
- }) : /* @__PURE__ */ v("p", {
366
+ }) : /* @__PURE__ */ y("p", {
345
367
  className: "text-text-secondary",
346
368
  children: N("botlit.agentDetail.prompt.empty", "No system prompt configured")
347
369
  })
348
370
  })] })
349
371
  }),
350
- U === "llm" && /* @__PURE__ */ y("div", {
372
+ U === "llm" && /* @__PURE__ */ b("div", {
351
373
  className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
352
- children: [/* @__PURE__ */ y(c, { children: [/* @__PURE__ */ v(d, { children: /* @__PURE__ */ y(f, {
374
+ children: [/* @__PURE__ */ b(a, { children: [/* @__PURE__ */ y(c, { children: /* @__PURE__ */ b(l, {
353
375
  className: "flex items-center gap-2",
354
- children: [/* @__PURE__ */ v(S, { size: 18 }), N("botlit.agentDetail.llm.title", "Model Configuration")]
355
- }) }), /* @__PURE__ */ y(l, {
376
+ children: [/* @__PURE__ */ y(w, { size: 18 }), N("botlit.agentDetail.llm.title", "Model Configuration")]
377
+ }) }), /* @__PURE__ */ b(o, {
356
378
  className: "space-y-4",
357
379
  children: [
358
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
380
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
359
381
  className: "text-sm text-text-secondary",
360
382
  children: "LLM Model ID"
361
- }), /* @__PURE__ */ v("p", {
383
+ }), /* @__PURE__ */ y("p", {
362
384
  className: "font-medium font-mono",
363
385
  children: K || "Not configured"
364
386
  })] }),
365
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
387
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
366
388
  className: "text-sm text-text-secondary",
367
389
  children: "Temperature"
368
- }), /* @__PURE__ */ v("p", {
390
+ }), /* @__PURE__ */ y("p", {
369
391
  className: "font-medium",
370
- children: se ?? "Default"
392
+ children: ue ?? "Default"
371
393
  })] }),
372
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
394
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
373
395
  className: "text-sm text-text-secondary",
374
396
  children: "Max Tokens"
375
- }), /* @__PURE__ */ v("p", {
397
+ }), /* @__PURE__ */ y("p", {
376
398
  className: "font-medium",
377
- children: ce ?? "Default"
399
+ children: de ?? "Default"
378
400
  })] })
379
401
  ]
380
- })] }), /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ v(d, { children: /* @__PURE__ */ y(f, {
402
+ })] }), /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ y(c, { children: /* @__PURE__ */ b(l, {
381
403
  className: "flex items-center gap-2",
382
- children: [/* @__PURE__ */ v(E, { size: 18 }), N("botlit.agentDetail.executionLimits.title", "Execution Limits")]
383
- }) }), /* @__PURE__ */ y(l, {
404
+ children: [/* @__PURE__ */ y(E, { size: 18 }), N("botlit.agentDetail.executionLimits.title", "Execution Limits")]
405
+ }) }), /* @__PURE__ */ b(o, {
384
406
  className: "space-y-4",
385
407
  children: [
386
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
408
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
387
409
  className: "text-sm text-text-secondary",
388
410
  children: "Max Concurrent Executions"
389
- }), /* @__PURE__ */ v("p", {
411
+ }), /* @__PURE__ */ y("p", {
390
412
  className: "font-medium",
391
413
  children: Q
392
414
  })] }),
393
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
415
+ /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
394
416
  className: "text-sm text-text-secondary",
395
417
  children: "Total Executions"
396
- }), /* @__PURE__ */ v("p", {
418
+ }), /* @__PURE__ */ y("p", {
397
419
  className: "font-medium",
398
420
  children: I.executionCount ?? 0
399
421
  })] }),
400
- I.lastExecutedAt && /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
422
+ I.lastExecutedAt && /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
401
423
  className: "text-sm text-text-secondary",
402
424
  children: "Last Executed"
403
- }), /* @__PURE__ */ v("p", {
425
+ }), /* @__PURE__ */ y("p", {
404
426
  className: "font-medium",
405
- children: o(I.lastExecutedAt)
427
+ children: r(I.lastExecutedAt)
406
428
  })] })
407
429
  ]
408
430
  })] })]
409
431
  }),
410
- U === "tools" && /* @__PURE__ */ y("div", {
432
+ U === "tools" && /* @__PURE__ */ b("div", {
411
433
  className: "space-y-6",
412
- children: [/* @__PURE__ */ y(c, { children: [/* @__PURE__ */ y(d, { children: [/* @__PURE__ */ y(f, {
434
+ children: [/* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b(c, { children: [/* @__PURE__ */ b(l, {
413
435
  className: "flex items-center gap-2",
414
- children: [/* @__PURE__ */ v(j, { size: 18 }), "MCP Server Connections"]
415
- }), /* @__PURE__ */ v(u, { children: "Connected MCP servers providing tools" })] }), /* @__PURE__ */ v(l, { children: q.length > 0 ? /* @__PURE__ */ v("div", {
436
+ children: [/* @__PURE__ */ y(j, { size: 18 }), "MCP Server Connections"]
437
+ }), /* @__PURE__ */ y(s, { children: "Connected MCP servers providing tools" })] }), /* @__PURE__ */ y(o, { children: q.length > 0 ? /* @__PURE__ */ y("div", {
416
438
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
417
- children: q.map((e) => /* @__PURE__ */ y("div", {
439
+ children: q.map((e) => /* @__PURE__ */ b("div", {
418
440
  className: "flex items-center gap-3 p-4 border border-border-subtle rounded-lg",
419
- children: [/* @__PURE__ */ v("div", {
441
+ children: [/* @__PURE__ */ y("div", {
420
442
  className: "p-2 bg-action-primary-bg/10 rounded-lg",
421
- children: /* @__PURE__ */ v(j, {
443
+ children: /* @__PURE__ */ y(j, {
422
444
  size: 18,
423
445
  className: "text-primary"
424
446
  })
425
- }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("p", {
447
+ }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
426
448
  className: "font-medium",
427
449
  children: "MCP Server"
428
- }), /* @__PURE__ */ v("p", {
450
+ }), /* @__PURE__ */ y("p", {
429
451
  className: "text-sm text-text-secondary font-mono",
430
452
  children: e
431
453
  })] })]
432
454
  }, e))
433
- }) : /* @__PURE__ */ v("p", {
455
+ }) : /* @__PURE__ */ y("p", {
434
456
  className: "text-text-secondary",
435
457
  children: "No MCP servers connected"
436
- }) })] }), Y.length > 0 && /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ v(d, { children: /* @__PURE__ */ y(f, {
458
+ }) })] }), Y.length > 0 && /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ y(c, { children: /* @__PURE__ */ b(l, {
437
459
  className: "flex items-center gap-2",
438
- children: [/* @__PURE__ */ v(O, { size: 18 }), "Workflows"]
439
- }) }), /* @__PURE__ */ v(l, { children: /* @__PURE__ */ v("div", {
460
+ children: [/* @__PURE__ */ y(O, { size: 18 }), "Workflows"]
461
+ }) }), /* @__PURE__ */ y(o, { children: /* @__PURE__ */ y("div", {
440
462
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
441
- children: Y.map((e) => /* @__PURE__ */ v("div", {
463
+ children: Y.map((e) => /* @__PURE__ */ y("div", {
442
464
  className: "p-4 border border-border-subtle rounded-lg",
443
- children: /* @__PURE__ */ v("p", {
465
+ children: /* @__PURE__ */ y("p", {
444
466
  className: "font-mono text-sm",
445
467
  children: e
446
468
  })
447
469
  }, e))
448
470
  }) })] })]
449
471
  }),
450
- U === "knowledge" && /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ y(d, { children: [/* @__PURE__ */ y(f, {
472
+ U === "knowledge" && /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b(c, { children: [/* @__PURE__ */ b(l, {
451
473
  className: "flex items-center gap-2",
452
- children: [/* @__PURE__ */ v(x, { size: 18 }), "Knowledge Bases"]
453
- }), /* @__PURE__ */ v(u, { children: "Connected knowledge bases for RAG" })] }), /* @__PURE__ */ v(l, { children: J.length > 0 ? /* @__PURE__ */ v("div", {
474
+ children: [/* @__PURE__ */ y(C, { size: 18 }), "Knowledge Bases"]
475
+ }), /* @__PURE__ */ y(s, { children: "Connected knowledge bases for RAG" })] }), /* @__PURE__ */ y(o, { children: J.length > 0 ? /* @__PURE__ */ y("div", {
454
476
  className: "space-y-4",
455
- children: J.map((e, t) => /* @__PURE__ */ y("div", {
477
+ children: J.map((e, t) => /* @__PURE__ */ b("div", {
456
478
  className: "p-4 border border-border-subtle rounded-lg space-y-2",
457
- children: [/* @__PURE__ */ y("div", {
479
+ children: [/* @__PURE__ */ b("div", {
458
480
  className: "flex items-center justify-between",
459
- children: [/* @__PURE__ */ v("p", {
481
+ children: [/* @__PURE__ */ y("p", {
460
482
  className: "font-medium",
461
483
  children: "Knowledge Base"
462
- }), /* @__PURE__ */ y(m, {
484
+ }), /* @__PURE__ */ b(d, {
463
485
  variant: "outline",
464
486
  children: ["#", t + 1]
465
487
  })]
466
- }), /* @__PURE__ */ v("p", {
488
+ }), /* @__PURE__ */ y("p", {
467
489
  className: "font-mono text-sm",
468
490
  children: e
469
491
  })]
470
492
  }, t))
471
- }) : /* @__PURE__ */ v("p", {
493
+ }) : /* @__PURE__ */ y("p", {
472
494
  className: "text-text-secondary",
473
495
  children: "No knowledge bases connected"
474
496
  }) })] }),
475
- U === "guardrails" && /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ y(d, { children: [/* @__PURE__ */ y(f, {
497
+ U === "guardrails" && /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b(c, { children: [/* @__PURE__ */ b(l, {
476
498
  className: "flex items-center gap-2",
477
- children: [/* @__PURE__ */ v(A, { size: 18 }), "Guardrails & Policies"]
478
- }), /* @__PURE__ */ v(u, { children: "Security and policy configurations" })] }), /* @__PURE__ */ v(l, { children: $ ? /* @__PURE__ */ v("div", {
499
+ children: [/* @__PURE__ */ y(A, { size: 18 }), "Guardrails & Policies"]
500
+ }), /* @__PURE__ */ y(s, { children: "Security and policy configurations" })] }), /* @__PURE__ */ y(o, { children: $ ? /* @__PURE__ */ y("div", {
479
501
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
480
- children: Object.entries($).filter(([e, t]) => t).map(([e, t]) => /* @__PURE__ */ y("div", {
502
+ children: Object.entries($).filter(([e, t]) => t).map(([e, t]) => /* @__PURE__ */ b("div", {
481
503
  className: "p-4 border border-border-subtle rounded-lg",
482
- children: [/* @__PURE__ */ v("p", {
504
+ children: [/* @__PURE__ */ y("p", {
483
505
  className: "text-sm text-text-secondary capitalize",
484
506
  children: e.replace("Id", "").replace(/([A-Z])/g, " $1").trim()
485
- }), /* @__PURE__ */ v("p", {
507
+ }), /* @__PURE__ */ y("p", {
486
508
  className: "font-mono text-sm",
487
509
  children: String(t)
488
510
  })]
489
511
  }, e))
490
- }) : /* @__PURE__ */ v("p", {
512
+ }) : /* @__PURE__ */ y("p", {
491
513
  className: "text-text-secondary",
492
514
  children: "No policy bindings configured"
493
515
  }) })] }),
494
- U === "a2a" && /* @__PURE__ */ y(c, { children: [/* @__PURE__ */ y(d, { children: [/* @__PURE__ */ y(f, {
516
+ U === "a2a" && /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b(c, { children: [/* @__PURE__ */ b(l, {
495
517
  className: "flex items-center gap-2",
496
- children: [/* @__PURE__ */ v(k, { size: 18 }), "A2A Configuration"]
497
- }), /* @__PURE__ */ v(u, { children: "Agent-to-Agent communication settings" })] }), /* @__PURE__ */ v(l, { children: /* @__PURE__ */ v("p", {
518
+ children: [/* @__PURE__ */ y(k, { size: 18 }), "A2A Configuration"]
519
+ }), /* @__PURE__ */ y(s, { children: "Agent-to-Agent communication settings" })] }), /* @__PURE__ */ y(o, { children: /* @__PURE__ */ y("p", {
498
520
  className: "text-text-secondary",
499
521
  children: "A2A is not enabled for this agent"
500
522
  }) })] }),
501
- U === "versions" && P && /* @__PURE__ */ v(te, {
523
+ U === "versions" && P && /* @__PURE__ */ y(ie, {
502
524
  agentId: P,
503
525
  draftVersionId: I.draftVersionId,
504
526
  currentVersionId: I.currentVersionId,