@burdenoff/microfe-botmanor 2026.1027.2 → 2026.1027.3

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 (80) hide show
  1. package/dist/botlit/BotlitRoutes.js +142 -132
  2. package/dist/botlit/BotlitRoutes.js.map +1 -1
  3. package/dist/botlit/components/AgentApprovalPanel.js +144 -126
  4. package/dist/botlit/components/AgentApprovalPanel.js.map +1 -1
  5. package/dist/botlit/components/ModelRegistrationPanel.js +4 -4
  6. package/dist/botlit/components/VersionHistoryPanel.js +92 -83
  7. package/dist/botlit/components/VersionHistoryPanel.js.map +1 -1
  8. package/dist/botlit/pages/A2AAgentDetailPage.js +212 -203
  9. package/dist/botlit/pages/A2AAgentDetailPage.js.map +1 -1
  10. package/dist/botlit/pages/A2ARegistryPage.js +129 -117
  11. package/dist/botlit/pages/A2ARegistryPage.js.map +1 -1
  12. package/dist/botlit/pages/AgentApprovalsPage.js +122 -110
  13. package/dist/botlit/pages/AgentApprovalsPage.js.map +1 -1
  14. package/dist/botlit/pages/AgentBuilderPage.js +18 -18
  15. package/dist/botlit/pages/AgentDetailPage.js +298 -273
  16. package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
  17. package/dist/botlit/pages/AgentsListPage.js +145 -121
  18. package/dist/botlit/pages/AgentsListPage.js.map +1 -1
  19. package/dist/botlit/pages/BotChannelsTab.js +238 -226
  20. package/dist/botlit/pages/BotChannelsTab.js.map +1 -1
  21. package/dist/botlit/pages/BotDetailPage.js +307 -288
  22. package/dist/botlit/pages/BotDetailPage.js.map +1 -1
  23. package/dist/botlit/pages/BotWorkflowTab.js +125 -116
  24. package/dist/botlit/pages/BotWorkflowTab.js.map +1 -1
  25. package/dist/botlit/pages/BotsListPage.js +159 -144
  26. package/dist/botlit/pages/BotsListPage.js.map +1 -1
  27. package/dist/botlit/pages/BucketsPage.js +279 -258
  28. package/dist/botlit/pages/BucketsPage.js.map +1 -1
  29. package/dist/botlit/pages/ChannelDetailPage.js +346 -328
  30. package/dist/botlit/pages/ChannelDetailPage.js.map +1 -1
  31. package/dist/botlit/pages/ChannelRoutesPage.js +10 -10
  32. package/dist/botlit/pages/ChannelsPage.js +163 -148
  33. package/dist/botlit/pages/ChannelsPage.js.map +1 -1
  34. package/dist/botlit/pages/DashboardPage.js +129 -114
  35. package/dist/botlit/pages/DashboardPage.js.map +1 -1
  36. package/dist/botlit/pages/ExecutionDetailPage.js +145 -139
  37. package/dist/botlit/pages/ExecutionDetailPage.js.map +1 -1
  38. package/dist/botlit/pages/ExecutionsPage.js +14 -14
  39. package/dist/botlit/pages/InstalledPackagesPage.js +245 -227
  40. package/dist/botlit/pages/InstalledPackagesPage.js.map +1 -1
  41. package/dist/botlit/pages/KnowledgeBaseDetailPage.js +168 -156
  42. package/dist/botlit/pages/KnowledgeBaseDetailPage.js.map +1 -1
  43. package/dist/botlit/pages/KnowledgeBasesPage.js +91 -79
  44. package/dist/botlit/pages/KnowledgeBasesPage.js.map +1 -1
  45. package/dist/botlit/pages/MCPServerDetailPage.js +200 -188
  46. package/dist/botlit/pages/MCPServerDetailPage.js.map +1 -1
  47. package/dist/botlit/pages/MCPServersPage.js +170 -155
  48. package/dist/botlit/pages/MCPServersPage.js.map +1 -1
  49. package/dist/botlit/pages/PoliciesPage.js +113 -104
  50. package/dist/botlit/pages/PoliciesPage.js.map +1 -1
  51. package/dist/botlit/pages/PolicyDetailPage.js +145 -133
  52. package/dist/botlit/pages/PolicyDetailPage.js.map +1 -1
  53. package/dist/botlit/pages/PromptStudioPage.js +106 -97
  54. package/dist/botlit/pages/PromptStudioPage.js.map +1 -1
  55. package/dist/botlit/pages/PromptTemplateDetailPage.js +359 -347
  56. package/dist/botlit/pages/PromptTemplateDetailPage.js.map +1 -1
  57. package/dist/botlit/pages/PromptTemplatesPage.js +127 -112
  58. package/dist/botlit/pages/PromptTemplatesPage.js.map +1 -1
  59. package/dist/botlit/pages/RetrievalProfileDetailPage.js +219 -210
  60. package/dist/botlit/pages/RetrievalProfileDetailPage.js.map +1 -1
  61. package/dist/botlit/pages/RetrievalProfilesPage.js +112 -103
  62. package/dist/botlit/pages/RetrievalProfilesPage.js.map +1 -1
  63. package/dist/botlit/pages/SettingsPage.js +264 -252
  64. package/dist/botlit/pages/SettingsPage.js.map +1 -1
  65. package/dist/botlit/pages/SkillDetailPage.js +235 -226
  66. package/dist/botlit/pages/SkillDetailPage.js.map +1 -1
  67. package/dist/botlit/pages/SkillsPage.js +115 -106
  68. package/dist/botlit/pages/SkillsPage.js.map +1 -1
  69. package/dist/botlit/pages/StorePackageDetailPage.js +194 -188
  70. package/dist/botlit/pages/StorePackageDetailPage.js.map +1 -1
  71. package/dist/botlit/pages/StorePage.js +161 -155
  72. package/dist/botlit/pages/StorePage.js.map +1 -1
  73. package/dist/botlit/permissions/PermissionRequired.js +45 -0
  74. package/dist/botlit/permissions/PermissionRequired.js.map +1 -0
  75. package/dist/botlit/permissions/botmanorPermissions.js +72 -0
  76. package/dist/botlit/permissions/botmanorPermissions.js.map +1 -0
  77. package/dist/botlit/permissions/index.js +3 -0
  78. package/dist/botlit/permissions/useBotmanorPermissions.js +19 -0
  79. package/dist/botlit/permissions/useBotmanorPermissions.js.map +1 -0
  80. package/package.json +1 -1
@@ -1,21 +1,24 @@
1
1
  import { useBotlit as e } from "../providers/BotlitProvider.js";
2
2
  import { formatRelativeTime as t } from "../utils/formatters.js";
3
- import { PageLayout as n } from "../components/PageLayout.js";
4
- import { Card as r, CardContent as i, CardDescription as a, CardHeader as o, CardTitle as s } from "../components/Card.js";
5
- import { Button as c } from "../components/Button.js";
6
- import { Badge as l, StatusBadge as u } from "../components/Badge.js";
7
- import { isNative as d, nativeImpact as f, nativeNotify as p } from "../../utils/nativeBridge.js";
8
- import { EmptyState as m } from "../components/EmptyState.js";
3
+ import { BOTMANOR_PERMISSIONS as n } from "../permissions/botmanorPermissions.js";
4
+ import { BotmanorPermissionGate as r } from "../permissions/useBotmanorPermissions.js";
5
+ import { PageLayout as i } from "../components/PageLayout.js";
6
+ import { Button as a } from "../components/Button.js";
7
+ import "../permissions/index.js";
8
+ import { Card as o, CardContent as s, CardDescription as c, CardHeader as l, CardTitle as u } from "../components/Card.js";
9
+ import { Badge as d, StatusBadge as f } from "../components/Badge.js";
10
+ import { isNative as p, nativeImpact as ee, nativeNotify as m } from "../../utils/nativeBridge.js";
11
+ import { EmptyState as te } from "../components/EmptyState.js";
9
12
  import { FormField as h, Input as g, Textarea as _ } from "../components/Input.js";
10
- import { useCreateRetrievalProfile as v, useDeleteRetrievalProfile as y, useRetrievalProfile as b, useUpdateRetrievalProfile as ee } from "../hooks/useRetrievalProfiles.js";
11
- import { useEffect as x, useState as S } from "react";
12
- import { PagePurpose as C } from "@burdenoff/fe-libs/ui";
13
- import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
14
- import { useParams as te } from "react-router";
15
- import { ArrowLeft as ne, CheckSquare as re, Edit as D, FileText as O, Search as k, Settings as A, Target as j, Trash2 as ie } from "lucide-react";
16
- import { toast as M } from "sonner";
13
+ import { useCreateRetrievalProfile as v, useDeleteRetrievalProfile as y, useRetrievalProfile as b, useUpdateRetrievalProfile as x } from "../hooks/useRetrievalProfiles.js";
14
+ import { useEffect as S, useState as C } from "react";
15
+ import { PagePurpose as w } from "@burdenoff/fe-libs/ui";
16
+ import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
17
+ import { useParams as ne } from "react-router";
18
+ import { ArrowLeft as O, CheckSquare as k, Edit as A, FileText as j, Search as M, Settings as N, Target as re, Trash2 as ie } from "lucide-react";
19
+ import { toast as P } from "sonner";
17
20
  //#region src/botlit/pages/RetrievalProfileDetailPage.tsx
18
- var N = {
21
+ var F = {
19
22
  name: "",
20
23
  description: "",
21
24
  strategyMode: "HYBRID",
@@ -30,36 +33,36 @@ var N = {
30
33
  citationFormat: "[{index}]",
31
34
  minRelevanceScore: .7,
32
35
  noAnswerIfBelowThreshold: !0
33
- }, P = [
36
+ }, I = [
34
37
  "VECTOR",
35
38
  "HYBRID",
36
39
  "BM25_ONLY"
37
40
  ];
38
- function F(e) {
41
+ function L(e) {
39
42
  return e === "ON" ? "ON" : "OFF";
40
43
  }
41
- function I(e) {
42
- return P.includes(e) ? e : "HYBRID";
44
+ function R(e) {
45
+ return I.includes(e) ? e : "HYBRID";
43
46
  }
44
- function L(e) {
47
+ function z(e) {
45
48
  return {
46
49
  name: e.name,
47
50
  description: e.description ?? "",
48
- strategyMode: I(e.strategyMode),
51
+ strategyMode: R(e.strategyMode),
49
52
  topK: e.topK,
50
- reranker: F(e.reranker),
51
- queryRewrite: F(e.queryRewrite),
52
- multiHop: F(e.multiHop),
53
+ reranker: L(e.reranker),
54
+ queryRewrite: L(e.queryRewrite),
55
+ multiHop: L(e.multiHop),
53
56
  citationsRequired: e.citationsRequired,
54
57
  showSources: e.showSources,
55
58
  minSources: e.minSources,
56
59
  snippetMaxChars: e.snippetMaxChars,
57
- citationFormat: e.citationFormat ?? N.citationFormat,
58
- minRelevanceScore: e.minRelevanceScore ?? N.minRelevanceScore,
60
+ citationFormat: e.citationFormat ?? F.citationFormat,
61
+ minRelevanceScore: e.minRelevanceScore ?? F.minRelevanceScore,
59
62
  noAnswerIfBelowThreshold: e.noAnswerIfBelowThreshold
60
63
  };
61
64
  }
62
- function R(e) {
65
+ function B(e) {
63
66
  return {
64
67
  name: e.name.trim(),
65
68
  description: e.description.trim() || null,
@@ -77,138 +80,144 @@ function R(e) {
77
80
  noAnswerIfBelowThreshold: e.noAnswerIfBelowThreshold
78
81
  };
79
82
  }
80
- function z(e, t) {
83
+ function V(e, t) {
81
84
  let n = Number(e);
82
85
  return e.trim() !== "" && Number.isFinite(n) ? n : t;
83
86
  }
84
- var B = ({ isNew: I = !1 }) => {
85
- let { profileId: B } = te(), { navigateTo: V } = e(), { data: H, loading: U, refetch: W } = b(I ? void 0 : B), { create: G, loading: K } = v(), { update: q, loading: J } = ee(), { remove: ae, loading: oe } = y(), [Y, X] = S(I), [se, Z] = S(!1), [Q, $] = S(N);
86
- if (x(() => {
87
- H && !I && $(L(H));
88
- }, [H, I]), U && !I) return /* @__PURE__ */ T(n, {
87
+ var H = ({ isNew: R = !1 }) => {
88
+ let { profileId: H } = ne(), { navigateTo: U } = e(), { data: W, loading: G, refetch: K } = b(R ? void 0 : H), { create: q, loading: J } = v(), { update: ae, loading: oe } = x(), { remove: se, loading: ce } = y(), [Y, X] = C(R), [le, Z] = C(!1), [Q, $] = C(F);
89
+ if (S(() => {
90
+ W && !R && $(z(W));
91
+ }, [W, R]), G && !R) return /* @__PURE__ */ E(i, {
89
92
  title: "Loading...",
90
- children: /* @__PURE__ */ T("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
93
+ children: /* @__PURE__ */ E("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
91
94
  });
92
- if (!H && !I) return /* @__PURE__ */ T(n, {
95
+ if (!W && !R) return /* @__PURE__ */ E(i, {
93
96
  title: "Profile Not Found",
94
- children: /* @__PURE__ */ T(m, {
97
+ children: /* @__PURE__ */ E(te, {
95
98
  illustration: "empty-files",
96
99
  title: "Profile Not Found",
97
100
  description: "The retrieval profile doesn't exist.",
98
- action: /* @__PURE__ */ T(c, {
99
- onClick: () => V("retrieval-profiles"),
101
+ action: /* @__PURE__ */ E(a, {
102
+ onClick: () => U("retrieval-profiles"),
100
103
  children: "Back to Profiles"
101
104
  })
102
105
  })
103
106
  });
104
- let ce = async () => {
107
+ let ue = async () => {
105
108
  if (!Q.name.trim()) {
106
- M.error("Name is required");
109
+ P.error("Name is required");
107
110
  return;
108
111
  }
109
112
  try {
110
- if (I) {
111
- let e = await G(R(Q));
112
- M.success(`Profile "${e.name}" created`), V(`retrieval-profiles/${e.id}`);
113
+ if (R) {
114
+ let e = await q(B(Q));
115
+ P.success(`Profile "${e.name}" created`), U(`retrieval-profiles/${e.id}`);
113
116
  return;
114
117
  }
115
- if (!B) return;
116
- await q({
117
- profileId: B,
118
- input: R(Q)
119
- }), await W(), M.success("Retrieval profile updated"), X(!1);
118
+ if (!H) return;
119
+ await ae({
120
+ profileId: H,
121
+ input: B(Q)
122
+ }), await K(), P.success("Retrieval profile updated"), X(!1);
120
123
  } catch (e) {
121
- M.error(e instanceof Error ? e.message : "Failed to save retrieval profile");
124
+ P.error(e instanceof Error ? e.message : "Failed to save retrieval profile");
122
125
  }
123
- }, le = async () => {
124
- if (B) try {
125
- await ae(B), d() && p("success"), M.success("Retrieval profile deleted"), V("retrieval-profiles");
126
+ }, de = async () => {
127
+ if (H) try {
128
+ await se(H), p() && m("success"), P.success("Retrieval profile deleted"), U("retrieval-profiles");
126
129
  } catch (e) {
127
- d() && p("error"), M.error(e instanceof Error ? e.message : "Failed to delete retrieval profile");
130
+ p() && m("error"), P.error(e instanceof Error ? e.message : "Failed to delete retrieval profile");
128
131
  }
129
132
  };
130
- return /* @__PURE__ */ T(n, {
131
- title: /* @__PURE__ */ E("div", {
133
+ return /* @__PURE__ */ E(i, {
134
+ title: /* @__PURE__ */ D("div", {
132
135
  className: "flex items-center gap-3",
133
136
  children: [
134
- /* @__PURE__ */ T(c, {
137
+ /* @__PURE__ */ E(a, {
135
138
  variant: "ghost",
136
139
  size: "icon",
137
- onClick: () => V("retrieval-profiles"),
138
- children: /* @__PURE__ */ T(ne, { size: 20 })
140
+ onClick: () => U("retrieval-profiles"),
141
+ children: /* @__PURE__ */ E(O, { size: 20 })
139
142
  }),
140
- /* @__PURE__ */ T(k, {
143
+ /* @__PURE__ */ E(M, {
141
144
  size: 24,
142
145
  className: "text-primary"
143
146
  }),
144
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ E("div", {
147
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ D("div", {
145
148
  className: "flex items-center gap-2",
146
- children: [/* @__PURE__ */ T("span", { children: I ? "New Retrieval Profile" : H?.name }), !I && H && /* @__PURE__ */ T(u, { status: H.status })]
147
- }), !I && H?.description && /* @__PURE__ */ T("p", {
149
+ children: [/* @__PURE__ */ E("span", { children: R ? "New Retrieval Profile" : W?.name }), !R && W && /* @__PURE__ */ E(f, { status: W.status })]
150
+ }), !R && W?.description && /* @__PURE__ */ E("p", {
148
151
  className: "text-sm font-normal text-text-secondary",
149
- children: H.description
152
+ children: W.description
150
153
  })] })
151
154
  ]
152
155
  }),
153
- actions: /* @__PURE__ */ T("div", {
156
+ actions: /* @__PURE__ */ E("div", {
154
157
  className: "flex gap-2",
155
- children: Y ? /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ T(c, {
158
+ children: Y ? /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(a, {
156
159
  variant: "outline",
157
160
  onClick: () => {
158
- if (I) {
159
- V("retrieval-profiles");
161
+ if (R) {
162
+ U("retrieval-profiles");
160
163
  return;
161
164
  }
162
- H && $(L(H)), X(!1);
165
+ W && $(z(W)), X(!1);
163
166
  },
164
167
  children: "Cancel"
165
- }), /* @__PURE__ */ T(c, {
166
- onClick: ce,
167
- isLoading: K || J,
168
- children: I ? "Create Profile" : "Save Changes"
169
- })] }) : /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ T(c, {
170
- variant: "outline",
171
- leftIcon: /* @__PURE__ */ T(D, { size: 16 }),
172
- onClick: () => {
173
- H && $(L(H)), X(!0);
174
- },
175
- children: "Edit"
176
- }), se ? /* @__PURE__ */ E("div", {
168
+ }), /* @__PURE__ */ E(a, {
169
+ onClick: ue,
170
+ isLoading: J || oe,
171
+ children: R ? "Create Profile" : "Save Changes"
172
+ })] }) : /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(r, {
173
+ permission: n.RETRIEVAL_PROFILE_UPDATE,
174
+ children: /* @__PURE__ */ E(a, {
175
+ variant: "outline",
176
+ leftIcon: /* @__PURE__ */ E(A, { size: 16 }),
177
+ onClick: () => {
178
+ W && $(z(W)), X(!0);
179
+ },
180
+ children: "Edit"
181
+ })
182
+ }), le ? /* @__PURE__ */ D("div", {
177
183
  className: "flex gap-2",
178
- children: [/* @__PURE__ */ T(c, {
184
+ children: [/* @__PURE__ */ E(a, {
179
185
  variant: "outline",
180
186
  size: "sm",
181
187
  onClick: () => Z(!1),
182
188
  children: "Cancel"
183
- }), /* @__PURE__ */ T(c, {
189
+ }), /* @__PURE__ */ E(a, {
184
190
  variant: "destructive",
185
191
  size: "sm",
186
192
  onClick: () => {
187
- f("medium"), le();
193
+ ee("medium"), de();
188
194
  },
189
- isLoading: oe,
195
+ isLoading: ce,
190
196
  children: "Confirm Delete"
191
197
  })]
192
- }) : /* @__PURE__ */ T(c, {
193
- variant: "destructive",
194
- leftIcon: /* @__PURE__ */ T(ie, { size: 16 }),
195
- onClick: () => Z(!0),
196
- children: "Delete"
198
+ }) : /* @__PURE__ */ E(r, {
199
+ permission: n.RETRIEVAL_PROFILE_DELETE,
200
+ children: /* @__PURE__ */ E(a, {
201
+ variant: "destructive",
202
+ leftIcon: /* @__PURE__ */ E(ie, { size: 16 }),
203
+ onClick: () => Z(!0),
204
+ children: "Delete"
205
+ })
197
206
  })] })
198
207
  }),
199
- children: /* @__PURE__ */ E("div", {
208
+ children: /* @__PURE__ */ D("div", {
200
209
  className: "space-y-6",
201
210
  children: [
202
- /* @__PURE__ */ T(C, {
203
- icon: /* @__PURE__ */ T(A, { size: 18 }),
211
+ /* @__PURE__ */ E(w, {
212
+ icon: /* @__PURE__ */ E(N, { size: 18 }),
204
213
  children: "This profile defines exactly how an agent searches your knowledge — the retrieval mode, how many results to pull, whether to rerank them and whether to rewrite the query first. Adjust the strategy here to dial in the balance between answer accuracy and speed, then attach the profile to the agents that should use it."
205
214
  }),
206
- Y ? /* @__PURE__ */ E(r, { children: [/* @__PURE__ */ T(o, { children: /* @__PURE__ */ T(s, { children: "Basic Information" }) }), /* @__PURE__ */ E(i, {
215
+ Y ? /* @__PURE__ */ D(o, { children: [/* @__PURE__ */ E(l, { children: /* @__PURE__ */ E(u, { children: "Basic Information" }) }), /* @__PURE__ */ D(s, {
207
216
  className: "space-y-4",
208
- children: [/* @__PURE__ */ T(h, {
217
+ children: [/* @__PURE__ */ E(h, {
209
218
  label: "Name",
210
219
  required: !0,
211
- children: /* @__PURE__ */ T(g, {
220
+ children: /* @__PURE__ */ E(g, {
212
221
  value: Q.name,
213
222
  onChange: (e) => $({
214
223
  ...Q,
@@ -216,9 +225,9 @@ var B = ({ isNew: I = !1 }) => {
216
225
  }),
217
226
  placeholder: "e.g., Default Hybrid Search"
218
227
  })
219
- }), /* @__PURE__ */ T(h, {
228
+ }), /* @__PURE__ */ E(h, {
220
229
  label: "Description",
221
- children: /* @__PURE__ */ T(_, {
230
+ children: /* @__PURE__ */ E(_, {
222
231
  value: Q.description,
223
232
  onChange: (e) => $({
224
233
  ...Q,
@@ -229,22 +238,22 @@ var B = ({ isNew: I = !1 }) => {
229
238
  })
230
239
  })]
231
240
  })] }) : null,
232
- /* @__PURE__ */ E(r, {
241
+ /* @__PURE__ */ D(o, {
233
242
  treatment: "glass",
234
243
  glow: !0,
235
- children: [/* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(s, {
244
+ children: [/* @__PURE__ */ D(l, { children: [/* @__PURE__ */ D(u, {
236
245
  className: "flex items-center gap-2",
237
- children: [/* @__PURE__ */ T(A, { size: 18 }), "Retrieval Strategy"]
238
- }), /* @__PURE__ */ T(a, { children: "How documents are searched and ranked" })] }), /* @__PURE__ */ T(i, {
246
+ children: [/* @__PURE__ */ E(N, { size: 18 }), "Retrieval Strategy"]
247
+ }), /* @__PURE__ */ E(c, { children: "How documents are searched and ranked" })] }), /* @__PURE__ */ E(s, {
239
248
  className: "space-y-4",
240
- children: Y ? /* @__PURE__ */ E(w, { children: [
241
- /* @__PURE__ */ T(h, {
249
+ children: Y ? /* @__PURE__ */ D(T, { children: [
250
+ /* @__PURE__ */ E(h, {
242
251
  label: "Retrieval Mode",
243
- children: /* @__PURE__ */ T("div", {
252
+ children: /* @__PURE__ */ E("div", {
244
253
  className: "flex gap-4",
245
- children: P.map((e) => /* @__PURE__ */ E("label", {
254
+ children: I.map((e) => /* @__PURE__ */ D("label", {
246
255
  className: "flex items-center gap-2",
247
- children: [/* @__PURE__ */ T("input", {
256
+ children: [/* @__PURE__ */ E("input", {
248
257
  type: "radio",
249
258
  name: "strategyMode",
250
259
  checked: Q.strategyMode === e,
@@ -252,174 +261,174 @@ var B = ({ isNew: I = !1 }) => {
252
261
  ...Q,
253
262
  strategyMode: e
254
263
  })
255
- }), /* @__PURE__ */ T("span", {
264
+ }), /* @__PURE__ */ E("span", {
256
265
  className: "capitalize",
257
266
  children: e.replace("_", " ")
258
267
  })]
259
268
  }, e))
260
269
  })
261
270
  }),
262
- /* @__PURE__ */ E("div", {
271
+ /* @__PURE__ */ D("div", {
263
272
  className: "grid grid-cols-2 gap-4",
264
- children: [/* @__PURE__ */ T(h, {
273
+ children: [/* @__PURE__ */ E(h, {
265
274
  label: "Top K Results",
266
- children: /* @__PURE__ */ T(g, {
275
+ children: /* @__PURE__ */ E(g, {
267
276
  type: "number",
268
277
  value: Q.topK,
269
278
  onChange: (e) => $({
270
279
  ...Q,
271
- topK: z(e.target.value, N.topK)
280
+ topK: V(e.target.value, F.topK)
272
281
  })
273
282
  })
274
- }), /* @__PURE__ */ T(h, {
283
+ }), /* @__PURE__ */ E(h, {
275
284
  label: "Reranker",
276
- children: /* @__PURE__ */ E("select", {
285
+ children: /* @__PURE__ */ D("select", {
277
286
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
278
287
  value: Q.reranker,
279
288
  onChange: (e) => $({
280
289
  ...Q,
281
- reranker: F(e.target.value)
290
+ reranker: L(e.target.value)
282
291
  }),
283
- children: [/* @__PURE__ */ T("option", {
292
+ children: [/* @__PURE__ */ E("option", {
284
293
  value: "OFF",
285
294
  children: "Disabled"
286
- }), /* @__PURE__ */ T("option", {
295
+ }), /* @__PURE__ */ E("option", {
287
296
  value: "ON",
288
297
  children: "Enabled"
289
298
  })]
290
299
  })
291
300
  })]
292
301
  }),
293
- /* @__PURE__ */ E("div", {
302
+ /* @__PURE__ */ D("div", {
294
303
  className: "grid grid-cols-2 gap-4",
295
- children: [/* @__PURE__ */ T(h, {
304
+ children: [/* @__PURE__ */ E(h, {
296
305
  label: "Query Rewrite",
297
- children: /* @__PURE__ */ E("select", {
306
+ children: /* @__PURE__ */ D("select", {
298
307
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
299
308
  value: Q.queryRewrite,
300
309
  onChange: (e) => $({
301
310
  ...Q,
302
- queryRewrite: F(e.target.value)
311
+ queryRewrite: L(e.target.value)
303
312
  }),
304
- children: [/* @__PURE__ */ T("option", {
313
+ children: [/* @__PURE__ */ E("option", {
305
314
  value: "OFF",
306
315
  children: "Disabled"
307
- }), /* @__PURE__ */ T("option", {
316
+ }), /* @__PURE__ */ E("option", {
308
317
  value: "ON",
309
318
  children: "Enabled"
310
319
  })]
311
320
  })
312
- }), /* @__PURE__ */ T(h, {
321
+ }), /* @__PURE__ */ E(h, {
313
322
  label: "Multi-Hop",
314
- children: /* @__PURE__ */ E("select", {
323
+ children: /* @__PURE__ */ D("select", {
315
324
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
316
325
  value: Q.multiHop,
317
326
  onChange: (e) => $({
318
327
  ...Q,
319
- multiHop: F(e.target.value)
328
+ multiHop: L(e.target.value)
320
329
  }),
321
- children: [/* @__PURE__ */ T("option", {
330
+ children: [/* @__PURE__ */ E("option", {
322
331
  value: "OFF",
323
332
  children: "Disabled"
324
- }), /* @__PURE__ */ T("option", {
333
+ }), /* @__PURE__ */ E("option", {
325
334
  value: "ON",
326
335
  children: "Enabled"
327
336
  })]
328
337
  })
329
338
  })]
330
339
  })
331
- ] }) : /* @__PURE__ */ E("div", {
340
+ ] }) : /* @__PURE__ */ D("div", {
332
341
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
333
342
  children: [
334
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
343
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
335
344
  className: "text-sm text-text-secondary",
336
345
  children: "Mode"
337
- }), /* @__PURE__ */ T(l, {
346
+ }), /* @__PURE__ */ E(d, {
338
347
  variant: "outline",
339
- children: H?.strategyMode
348
+ children: W?.strategyMode
340
349
  })] }),
341
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
350
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
342
351
  className: "text-sm text-text-secondary",
343
352
  children: "Top K"
344
- }), /* @__PURE__ */ T("p", {
353
+ }), /* @__PURE__ */ E("p", {
345
354
  className: "font-medium",
346
- children: H?.topK
355
+ children: W?.topK
347
356
  })] }),
348
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
357
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
349
358
  className: "text-sm text-text-secondary",
350
359
  children: "Reranker"
351
- }), /* @__PURE__ */ T(l, {
352
- variant: H?.reranker === "ON" ? "success" : "secondary",
353
- children: H?.reranker
360
+ }), /* @__PURE__ */ E(d, {
361
+ variant: W?.reranker === "ON" ? "success" : "secondary",
362
+ children: W?.reranker
354
363
  })] }),
355
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
364
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
356
365
  className: "text-sm text-text-secondary",
357
366
  children: "Query Rewrite"
358
- }), /* @__PURE__ */ T(l, {
359
- variant: H?.queryRewrite === "ON" ? "success" : "secondary",
360
- children: H?.queryRewrite
367
+ }), /* @__PURE__ */ E(d, {
368
+ variant: W?.queryRewrite === "ON" ? "success" : "secondary",
369
+ children: W?.queryRewrite
361
370
  })] })
362
371
  ]
363
372
  })
364
373
  })]
365
374
  }),
366
- /* @__PURE__ */ E(r, { children: [/* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(s, {
375
+ /* @__PURE__ */ D(o, { children: [/* @__PURE__ */ D(l, { children: [/* @__PURE__ */ D(u, {
367
376
  className: "flex items-center gap-2",
368
- children: [/* @__PURE__ */ T(O, { size: 18 }), "Grounding & Citations"]
369
- }), /* @__PURE__ */ T(a, { children: "How sources are cited in responses" })] }), /* @__PURE__ */ T(i, {
377
+ children: [/* @__PURE__ */ E(j, { size: 18 }), "Grounding & Citations"]
378
+ }), /* @__PURE__ */ E(c, { children: "How sources are cited in responses" })] }), /* @__PURE__ */ E(s, {
370
379
  className: "space-y-4",
371
- children: Y ? /* @__PURE__ */ E(w, { children: [
372
- /* @__PURE__ */ E("div", {
380
+ children: Y ? /* @__PURE__ */ D(T, { children: [
381
+ /* @__PURE__ */ D("div", {
373
382
  className: "flex items-center gap-4",
374
- children: [/* @__PURE__ */ E("label", {
383
+ children: [/* @__PURE__ */ D("label", {
375
384
  className: "flex items-center gap-2",
376
- children: [/* @__PURE__ */ T("input", {
385
+ children: [/* @__PURE__ */ E("input", {
377
386
  type: "checkbox",
378
387
  checked: Q.citationsRequired,
379
388
  onChange: (e) => $({
380
389
  ...Q,
381
390
  citationsRequired: e.target.checked
382
391
  })
383
- }), /* @__PURE__ */ T("span", { children: "Citations Required" })]
384
- }), /* @__PURE__ */ E("label", {
392
+ }), /* @__PURE__ */ E("span", { children: "Citations Required" })]
393
+ }), /* @__PURE__ */ D("label", {
385
394
  className: "flex items-center gap-2",
386
- children: [/* @__PURE__ */ T("input", {
395
+ children: [/* @__PURE__ */ E("input", {
387
396
  type: "checkbox",
388
397
  checked: Q.showSources,
389
398
  onChange: (e) => $({
390
399
  ...Q,
391
400
  showSources: e.target.checked
392
401
  })
393
- }), /* @__PURE__ */ T("span", { children: "Show Sources" })]
402
+ }), /* @__PURE__ */ E("span", { children: "Show Sources" })]
394
403
  })]
395
404
  }),
396
- /* @__PURE__ */ E("div", {
405
+ /* @__PURE__ */ D("div", {
397
406
  className: "grid grid-cols-2 gap-4",
398
- children: [/* @__PURE__ */ T(h, {
407
+ children: [/* @__PURE__ */ E(h, {
399
408
  label: "Min Sources",
400
- children: /* @__PURE__ */ T(g, {
409
+ children: /* @__PURE__ */ E(g, {
401
410
  type: "number",
402
411
  value: Q.minSources,
403
412
  onChange: (e) => $({
404
413
  ...Q,
405
- minSources: z(e.target.value, N.minSources)
414
+ minSources: V(e.target.value, F.minSources)
406
415
  })
407
416
  })
408
- }), /* @__PURE__ */ T(h, {
417
+ }), /* @__PURE__ */ E(h, {
409
418
  label: "Max Snippet Chars",
410
- children: /* @__PURE__ */ T(g, {
419
+ children: /* @__PURE__ */ E(g, {
411
420
  type: "number",
412
421
  value: Q.snippetMaxChars,
413
422
  onChange: (e) => $({
414
423
  ...Q,
415
- snippetMaxChars: z(e.target.value, N.snippetMaxChars)
424
+ snippetMaxChars: V(e.target.value, F.snippetMaxChars)
416
425
  })
417
426
  })
418
427
  })]
419
428
  }),
420
- /* @__PURE__ */ T(h, {
429
+ /* @__PURE__ */ E(h, {
421
430
  label: "Citation Format Template",
422
- children: /* @__PURE__ */ T(g, {
431
+ children: /* @__PURE__ */ E(g, {
423
432
  value: Q.citationFormat,
424
433
  onChange: (e) => $({
425
434
  ...Q,
@@ -428,50 +437,50 @@ var B = ({ isNew: I = !1 }) => {
428
437
  placeholder: "[{index}]"
429
438
  })
430
439
  })
431
- ] }) : /* @__PURE__ */ E("div", {
440
+ ] }) : /* @__PURE__ */ D("div", {
432
441
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
433
442
  children: [
434
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
443
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
435
444
  className: "text-sm text-text-secondary",
436
445
  children: "Citations Required"
437
- }), /* @__PURE__ */ T(l, {
438
- variant: H?.citationsRequired ? "success" : "secondary",
439
- children: H?.citationsRequired ? "Yes" : "No"
446
+ }), /* @__PURE__ */ E(d, {
447
+ variant: W?.citationsRequired ? "success" : "secondary",
448
+ children: W?.citationsRequired ? "Yes" : "No"
440
449
  })] }),
441
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
450
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
442
451
  className: "text-sm text-text-secondary",
443
452
  children: "Min Sources"
444
- }), /* @__PURE__ */ T("p", {
453
+ }), /* @__PURE__ */ E("p", {
445
454
  className: "font-medium",
446
- children: H?.minSources
455
+ children: W?.minSources
447
456
  })] }),
448
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
457
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
449
458
  className: "text-sm text-text-secondary",
450
459
  children: "Max Snippet"
451
- }), /* @__PURE__ */ E("p", {
460
+ }), /* @__PURE__ */ D("p", {
452
461
  className: "font-medium",
453
- children: [H?.snippetMaxChars, " chars"]
462
+ children: [W?.snippetMaxChars, " chars"]
454
463
  })] }),
455
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
464
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
456
465
  className: "text-sm text-text-secondary",
457
466
  children: "Citation Format"
458
- }), /* @__PURE__ */ T("code", {
467
+ }), /* @__PURE__ */ E("code", {
459
468
  className: "text-sm",
460
- children: H?.citationFormat ?? "—"
469
+ children: W?.citationFormat ?? "—"
461
470
  })] })
462
471
  ]
463
472
  })
464
473
  })] }),
465
- /* @__PURE__ */ E(r, { children: [/* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(s, {
474
+ /* @__PURE__ */ D(o, { children: [/* @__PURE__ */ D(l, { children: [/* @__PURE__ */ D(u, {
466
475
  className: "flex items-center gap-2",
467
- children: [/* @__PURE__ */ T(j, { size: 18 }), "Relevance Thresholds"]
468
- }), /* @__PURE__ */ T(a, { children: "Minimum quality requirements for results" })] }), /* @__PURE__ */ T(i, {
476
+ children: [/* @__PURE__ */ E(re, { size: 18 }), "Relevance Thresholds"]
477
+ }), /* @__PURE__ */ E(c, { children: "Minimum quality requirements for results" })] }), /* @__PURE__ */ E(s, {
469
478
  className: "space-y-4",
470
- children: Y ? /* @__PURE__ */ E("div", {
479
+ children: Y ? /* @__PURE__ */ D("div", {
471
480
  className: "grid grid-cols-2 gap-4",
472
- children: [/* @__PURE__ */ T(h, {
481
+ children: [/* @__PURE__ */ E(h, {
473
482
  label: "Min Relevance Score (0-1)",
474
- children: /* @__PURE__ */ T(g, {
483
+ children: /* @__PURE__ */ E(g, {
475
484
  type: "number",
476
485
  step: "0.1",
477
486
  min: "0",
@@ -479,73 +488,73 @@ var B = ({ isNew: I = !1 }) => {
479
488
  value: Q.minRelevanceScore,
480
489
  onChange: (e) => $({
481
490
  ...Q,
482
- minRelevanceScore: z(e.target.value, N.minRelevanceScore)
491
+ minRelevanceScore: V(e.target.value, F.minRelevanceScore)
483
492
  })
484
493
  })
485
- }), /* @__PURE__ */ T("div", {
494
+ }), /* @__PURE__ */ E("div", {
486
495
  className: "flex items-center",
487
- children: /* @__PURE__ */ E("label", {
496
+ children: /* @__PURE__ */ D("label", {
488
497
  className: "flex items-center gap-2",
489
- children: [/* @__PURE__ */ T("input", {
498
+ children: [/* @__PURE__ */ E("input", {
490
499
  type: "checkbox",
491
500
  checked: Q.noAnswerIfBelowThreshold,
492
501
  onChange: (e) => $({
493
502
  ...Q,
494
503
  noAnswerIfBelowThreshold: e.target.checked
495
504
  })
496
- }), /* @__PURE__ */ T("span", { children: "No Answer if Below Threshold" })]
505
+ }), /* @__PURE__ */ E("span", { children: "No Answer if Below Threshold" })]
497
506
  })
498
507
  })]
499
- }) : /* @__PURE__ */ E("div", {
508
+ }) : /* @__PURE__ */ D("div", {
500
509
  className: "grid grid-cols-2 gap-4",
501
- children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
510
+ children: [/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
502
511
  className: "text-sm text-text-secondary",
503
512
  children: "Min Relevance Score"
504
- }), /* @__PURE__ */ T("p", {
513
+ }), /* @__PURE__ */ E("p", {
505
514
  className: "font-medium",
506
- children: H?.minRelevanceScore ?? "Not set"
507
- })] }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
515
+ children: W?.minRelevanceScore ?? "Not set"
516
+ })] }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
508
517
  className: "text-sm text-text-secondary",
509
518
  children: "No Answer Below Threshold"
510
- }), /* @__PURE__ */ T(l, {
511
- variant: H?.noAnswerIfBelowThreshold ? "warning" : "secondary",
512
- children: H?.noAnswerIfBelowThreshold ? "Yes" : "No"
519
+ }), /* @__PURE__ */ E(d, {
520
+ variant: W?.noAnswerIfBelowThreshold ? "warning" : "secondary",
521
+ children: W?.noAnswerIfBelowThreshold ? "Yes" : "No"
513
522
  })] })]
514
523
  })
515
524
  })] }),
516
- !I && H && /* @__PURE__ */ E(r, { children: [/* @__PURE__ */ T(o, { children: /* @__PURE__ */ E(s, {
525
+ !R && W && /* @__PURE__ */ D(o, { children: [/* @__PURE__ */ E(l, { children: /* @__PURE__ */ D(u, {
517
526
  className: "flex items-center gap-2",
518
- children: [/* @__PURE__ */ T(re, { size: 18 }), "Metadata"]
519
- }) }), /* @__PURE__ */ T(i, { children: /* @__PURE__ */ E("div", {
527
+ children: [/* @__PURE__ */ E(k, { size: 18 }), "Metadata"]
528
+ }) }), /* @__PURE__ */ E(s, { children: /* @__PURE__ */ D("div", {
520
529
  className: "grid grid-cols-2 md:grid-cols-4 gap-4 text-sm",
521
530
  children: [
522
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
531
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
523
532
  className: "text-text-secondary",
524
533
  children: "Created"
525
- }), /* @__PURE__ */ T("p", {
534
+ }), /* @__PURE__ */ E("p", {
526
535
  className: "font-medium",
527
- children: t(H.createdAt)
536
+ children: t(W.createdAt)
528
537
  })] }),
529
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
538
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
530
539
  className: "text-text-secondary",
531
540
  children: "Updated"
532
- }), /* @__PURE__ */ T("p", {
541
+ }), /* @__PURE__ */ E("p", {
533
542
  className: "font-medium",
534
- children: t(H.updatedAt)
543
+ children: t(W.updatedAt)
535
544
  })] }),
536
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
545
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
537
546
  className: "text-text-secondary",
538
547
  children: "Revision"
539
- }), /* @__PURE__ */ T("p", {
548
+ }), /* @__PURE__ */ E("p", {
540
549
  className: "font-medium",
541
- children: H.revision
550
+ children: W.revision
542
551
  })] }),
543
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
552
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
544
553
  className: "text-text-secondary",
545
554
  children: "Visibility"
546
- }), /* @__PURE__ */ T(l, {
555
+ }), /* @__PURE__ */ E(d, {
547
556
  variant: "outline",
548
- children: H.visibility
557
+ children: W.visibility
549
558
  })] })
550
559
  ]
551
560
  }) })] })
@@ -554,6 +563,6 @@ var B = ({ isNew: I = !1 }) => {
554
563
  });
555
564
  };
556
565
  //#endregion
557
- export { B as RetrievalProfileDetailPage };
566
+ export { H as RetrievalProfileDetailPage };
558
567
 
559
568
  //# sourceMappingURL=RetrievalProfileDetailPage.js.map