@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,23 +1,26 @@
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 ee, nativeNotify as f } from "../../utils/nativeBridge.js";
8
- import { EmptyState as p } from "../components/EmptyState.js";
9
- import { FormField as m, Input as h, Textarea as g } from "../components/Input.js";
10
- import { useRetrievalProfiles as _ } from "../hooks/useRetrievalProfiles.js";
11
- import { usePolicies as v } from "../hooks/usePolicies.js";
12
- import { useCreateSkill as y, useDeleteSkill as b, useSkill as x, useUpdateSkill as te } from "../hooks/useSkills.js";
13
- import { jsonBoolean as S, toUnion as C } from "../utils/unions.js";
14
- import { usePromptTemplates as ne } from "../hooks/usePromptTemplates.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 ee } from "../components/Badge.js";
10
+ import { isNative as f, nativeImpact as te, nativeNotify as p } from "../../utils/nativeBridge.js";
11
+ import { EmptyState as m } from "../components/EmptyState.js";
12
+ import { FormField as h, Input as g, Textarea as _ } from "../components/Input.js";
13
+ import { useRetrievalProfiles as v } from "../hooks/useRetrievalProfiles.js";
14
+ import { usePolicies as y } from "../hooks/usePolicies.js";
15
+ import { useCreateSkill as ne, useDeleteSkill as re, useSkill as ie, useUpdateSkill as ae } from "../hooks/useSkills.js";
16
+ import { jsonBoolean as b, toUnion as x } from "../utils/unions.js";
17
+ import { usePromptTemplates as oe } from "../hooks/usePromptTemplates.js";
15
18
  import "../hooks/index.js";
16
- import { useState as w } from "react";
17
- import { PagePurpose as re } from "@burdenoff/fe-libs/ui";
18
- import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
19
- import { Link as O, useParams as ie } from "react-router";
20
- import { ArrowLeft as ae, CheckCircle as oe, Database as k, Edit as A, ExternalLink as j, FileText as M, Save as N, Settings as se, Shield as P, Trash2 as ce, Wrench as F, XCircle as I, Zap as L } from "lucide-react";
19
+ import { useState as S } from "react";
20
+ import { PagePurpose as C } from "@burdenoff/fe-libs/ui";
21
+ import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
22
+ import { Link as D, useParams as se } from "react-router";
23
+ import { ArrowLeft as ce, CheckCircle as O, Database as k, Edit as A, ExternalLink as j, FileText as M, Save as N, Settings as le, Shield as P, Trash2 as ue, Wrench as F, XCircle as I, Zap as L } from "lucide-react";
21
24
  import { toast as R } from "sonner";
22
25
  //#region src/botlit/pages/SkillDetailPage.tsx
23
26
  var z = [
@@ -25,7 +28,7 @@ var z = [
25
28
  "WORKSPACE",
26
29
  "PUBLIC"
27
30
  ], B = ({ isNew: B }) => {
28
- let { skillId: V } = ie(), { navigateTo: H, getPath: U } = e(), { data: W, loading: G } = x(B ? void 0 : V), { data: K } = ne(), { data: le } = v(), { data: q } = _(), { create: ue, loading: de } = y(), { update: fe, loading: pe } = te(), { remove: me, loading: he } = b(), [J, Y] = w(!1), [ge, X] = w(!1), [Z, Q] = w({
31
+ let { skillId: V } = se(), { navigateTo: H, getPath: U } = e(), { data: W, loading: de } = ie(B ? void 0 : V), { data: G } = oe(), { data: fe } = y(), { data: K } = v(), { create: q, loading: pe } = ne(), { update: me, loading: he } = ae(), { remove: ge, loading: _e } = re(), [J, Y] = S(!1), [ve, X] = S(!1), [Z, Q] = S({
29
32
  name: "",
30
33
  description: "",
31
34
  visibility: "PRIVATE",
@@ -37,14 +40,14 @@ var z = [
37
40
  requiresTools: !1,
38
41
  requiresKnowledge: !1,
39
42
  requiresA2A: !1
40
- }), _e = async () => {
43
+ }), ye = async () => {
41
44
  if (Z.name) try {
42
- await ve();
45
+ await be();
43
46
  } catch (e) {
44
47
  R.error(e instanceof Error ? e.message : "Failed to create skill");
45
48
  }
46
- }, ve = async () => {
47
- await ue({
49
+ }, be = async () => {
50
+ await q({
48
51
  name: Z.name,
49
52
  description: Z.description,
50
53
  visibility: Z.visibility,
@@ -59,14 +62,14 @@ var z = [
59
62
  requiresA2A: Z.requiresA2A
60
63
  }
61
64
  }), R.success(`Skill "${Z.name}" created`), H("skills");
62
- }, ye = async () => {
65
+ }, xe = async () => {
63
66
  if (!(!V || !Z.name)) try {
64
- await be();
67
+ await Se();
65
68
  } catch (e) {
66
69
  R.error(e instanceof Error ? e.message : "Failed to update skill");
67
70
  }
68
- }, be = async () => {
69
- V && (await fe({
71
+ }, Se = async () => {
72
+ V && (await me({
70
73
  skillId: V,
71
74
  input: {
72
75
  name: Z.name,
@@ -84,54 +87,54 @@ var z = [
84
87
  }
85
88
  }
86
89
  }), R.success("Skill updated"), Y(!1));
87
- }, xe = async () => {
90
+ }, Ce = async () => {
88
91
  if (V) try {
89
- await me(V), d() && f("success"), R.success("Skill deleted"), H("skills");
92
+ await ge(V), f() && p("success"), R.success("Skill deleted"), H("skills");
90
93
  } catch (e) {
91
- d() && f("error"), R.error(e instanceof Error ? e.message : "Failed to delete skill");
94
+ f() && p("error"), R.error(e instanceof Error ? e.message : "Failed to delete skill");
92
95
  }
93
- }, Se = () => {
96
+ }, we = () => {
94
97
  W && (Q({
95
98
  name: W.name,
96
99
  description: W.description || "",
97
- visibility: C(W.visibility, z, "PRIVATE"),
100
+ visibility: x(W.visibility, z, "PRIVATE"),
98
101
  promptTemplateId: W.promptTemplateId || "",
99
102
  toolPolicyId: W.toolPolicyId || "",
100
103
  retrievalProfileId: W.retrievalProfileId || "",
101
104
  toolPackDeps: W.toolPackDeps.join(", "),
102
105
  recommendedPolicies: W.recommendedPolicies.join(", "),
103
- requiresTools: S(W.capabilityFlags, "requiresTools"),
104
- requiresKnowledge: S(W.capabilityFlags, "requiresKnowledge"),
105
- requiresA2A: S(W.capabilityFlags, "requiresA2A")
106
+ requiresTools: b(W.capabilityFlags, "requiresTools"),
107
+ requiresKnowledge: b(W.capabilityFlags, "requiresKnowledge"),
108
+ requiresA2A: b(W.capabilityFlags, "requiresA2A")
106
109
  }), Y(!0));
107
- }, Ce = le?.filter((e) => e.type === "TOOL") || [];
108
- if (B) return /* @__PURE__ */ E(n, {
110
+ }, Te = fe?.filter((e) => e.type === "TOOL") || [];
111
+ if (B) return /* @__PURE__ */ T(i, {
109
112
  title: "Create Skill",
110
113
  description: "Bundle prompts, tools, and policies into a reusable skill",
111
- actions: /* @__PURE__ */ D("div", {
114
+ actions: /* @__PURE__ */ E("div", {
112
115
  className: "flex gap-2",
113
- children: [/* @__PURE__ */ E(c, {
116
+ children: [/* @__PURE__ */ T(a, {
114
117
  variant: "outline",
115
118
  onClick: () => H("skills"),
116
119
  children: "Cancel"
117
- }), /* @__PURE__ */ E(c, {
118
- leftIcon: /* @__PURE__ */ E(N, { size: 16 }),
119
- onClick: _e,
120
- isLoading: de,
120
+ }), /* @__PURE__ */ T(a, {
121
+ leftIcon: /* @__PURE__ */ T(N, { size: 16 }),
122
+ onClick: ye,
123
+ isLoading: pe,
121
124
  disabled: !Z.name,
122
125
  children: "Create"
123
126
  })]
124
127
  }),
125
- children: /* @__PURE__ */ D("div", {
128
+ children: /* @__PURE__ */ E("div", {
126
129
  className: "max-w-2xl space-y-6",
127
130
  children: [
128
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ E(s, { children: "Basic Information" }) }), /* @__PURE__ */ D(i, {
131
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ T(u, { children: "Basic Information" }) }), /* @__PURE__ */ E(s, {
129
132
  className: "space-y-4",
130
133
  children: [
131
- /* @__PURE__ */ E(m, {
134
+ /* @__PURE__ */ T(h, {
132
135
  label: "Skill Name",
133
136
  required: !0,
134
- children: /* @__PURE__ */ E(h, {
137
+ children: /* @__PURE__ */ T(g, {
135
138
  placeholder: "e.g., Code Review Skill",
136
139
  value: Z.name,
137
140
  onChange: (e) => Q({
@@ -140,9 +143,9 @@ var z = [
140
143
  })
141
144
  })
142
145
  }),
143
- /* @__PURE__ */ E(m, {
146
+ /* @__PURE__ */ T(h, {
144
147
  label: "Description",
145
- children: /* @__PURE__ */ E(g, {
148
+ children: /* @__PURE__ */ T(_, {
146
149
  placeholder: "What does this skill enable agents to do?",
147
150
  value: Z.description,
148
151
  onChange: (e) => Q({
@@ -152,9 +155,9 @@ var z = [
152
155
  rows: 3
153
156
  })
154
157
  }),
155
- /* @__PURE__ */ E(m, {
158
+ /* @__PURE__ */ T(h, {
156
159
  label: "Visibility",
157
- children: /* @__PURE__ */ D("select", {
160
+ children: /* @__PURE__ */ E("select", {
158
161
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
159
162
  value: Z.visibility,
160
163
  onChange: (e) => Q({
@@ -162,15 +165,15 @@ var z = [
162
165
  visibility: e.target.value
163
166
  }),
164
167
  children: [
165
- /* @__PURE__ */ E("option", {
168
+ /* @__PURE__ */ T("option", {
166
169
  value: "PRIVATE",
167
170
  children: "Private"
168
171
  }),
169
- /* @__PURE__ */ E("option", {
172
+ /* @__PURE__ */ T("option", {
170
173
  value: "WORKSPACE",
171
174
  children: "Workspace"
172
175
  }),
173
- /* @__PURE__ */ E("option", {
176
+ /* @__PURE__ */ T("option", {
174
177
  value: "PUBLIC",
175
178
  children: "Public"
176
179
  })
@@ -179,22 +182,22 @@ var z = [
179
182
  })
180
183
  ]
181
184
  })] }),
182
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ D(o, { children: [/* @__PURE__ */ D(s, {
185
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(l, { children: [/* @__PURE__ */ E(u, {
183
186
  className: "flex items-center gap-2",
184
- children: [/* @__PURE__ */ E(M, { size: 18 }), "Prompt Template"]
185
- }), /* @__PURE__ */ E(a, { children: "Associate a prompt template with this skill" })] }), /* @__PURE__ */ E(i, { children: /* @__PURE__ */ E(m, {
187
+ children: [/* @__PURE__ */ T(M, { size: 18 }), "Prompt Template"]
188
+ }), /* @__PURE__ */ T(c, { children: "Associate a prompt template with this skill" })] }), /* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(h, {
186
189
  label: "Prompt Template",
187
- children: /* @__PURE__ */ D("select", {
190
+ children: /* @__PURE__ */ E("select", {
188
191
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
189
192
  value: Z.promptTemplateId,
190
193
  onChange: (e) => Q({
191
194
  ...Z,
192
195
  promptTemplateId: e.target.value
193
196
  }),
194
- children: [/* @__PURE__ */ E("option", {
197
+ children: [/* @__PURE__ */ T("option", {
195
198
  value: "",
196
199
  children: "None"
197
- }), K?.map((e) => /* @__PURE__ */ D("option", {
200
+ }), G?.map((e) => /* @__PURE__ */ E("option", {
198
201
  value: e.id,
199
202
  children: [
200
203
  e.name,
@@ -205,32 +208,32 @@ var z = [
205
208
  }, e.id))]
206
209
  })
207
210
  }) })] }),
208
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ D(o, { children: [/* @__PURE__ */ D(s, {
211
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(l, { children: [/* @__PURE__ */ E(u, {
209
212
  className: "flex items-center gap-2",
210
- children: [/* @__PURE__ */ E(F, { size: 18 }), "Tools Configuration"]
211
- }), /* @__PURE__ */ E(a, { children: "Configure tool access for this skill" })] }), /* @__PURE__ */ D(i, {
213
+ children: [/* @__PURE__ */ T(F, { size: 18 }), "Tools Configuration"]
214
+ }), /* @__PURE__ */ T(c, { children: "Configure tool access for this skill" })] }), /* @__PURE__ */ E(s, {
212
215
  className: "space-y-4",
213
- children: [/* @__PURE__ */ E(m, {
216
+ children: [/* @__PURE__ */ T(h, {
214
217
  label: "Tool Policy",
215
- children: /* @__PURE__ */ D("select", {
218
+ children: /* @__PURE__ */ E("select", {
216
219
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
217
220
  value: Z.toolPolicyId,
218
221
  onChange: (e) => Q({
219
222
  ...Z,
220
223
  toolPolicyId: e.target.value
221
224
  }),
222
- children: [/* @__PURE__ */ E("option", {
225
+ children: [/* @__PURE__ */ T("option", {
223
226
  value: "",
224
227
  children: "None"
225
- }), Ce.map((e) => /* @__PURE__ */ E("option", {
228
+ }), Te.map((e) => /* @__PURE__ */ T("option", {
226
229
  value: e.id,
227
230
  children: e.name
228
231
  }, e.id))]
229
232
  })
230
- }), /* @__PURE__ */ E(m, {
233
+ }), /* @__PURE__ */ T(h, {
231
234
  label: "Tool Pack Dependencies",
232
235
  description: "Comma-separated package slugs",
233
- children: /* @__PURE__ */ E(h, {
236
+ children: /* @__PURE__ */ T(g, {
234
237
  placeholder: "e.g., @botlit/github-tools, @botlit/web-browser",
235
238
  value: Z.toolPackDeps,
236
239
  onChange: (e) => Q({
@@ -240,36 +243,36 @@ var z = [
240
243
  })
241
244
  })]
242
245
  })] }),
243
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ D(o, { children: [/* @__PURE__ */ D(s, {
246
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(l, { children: [/* @__PURE__ */ E(u, {
244
247
  className: "flex items-center gap-2",
245
- children: [/* @__PURE__ */ E(k, { size: 18 }), "Knowledge Configuration"]
246
- }), /* @__PURE__ */ E(a, { children: "Configure knowledge retrieval for this skill" })] }), /* @__PURE__ */ E(i, { children: /* @__PURE__ */ E(m, {
248
+ children: [/* @__PURE__ */ T(k, { size: 18 }), "Knowledge Configuration"]
249
+ }), /* @__PURE__ */ T(c, { children: "Configure knowledge retrieval for this skill" })] }), /* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(h, {
247
250
  label: "Retrieval Profile",
248
- children: /* @__PURE__ */ D("select", {
251
+ children: /* @__PURE__ */ E("select", {
249
252
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
250
253
  value: Z.retrievalProfileId,
251
254
  onChange: (e) => Q({
252
255
  ...Z,
253
256
  retrievalProfileId: e.target.value
254
257
  }),
255
- children: [/* @__PURE__ */ E("option", {
258
+ children: [/* @__PURE__ */ T("option", {
256
259
  value: "",
257
260
  children: "None"
258
- }), q?.map((e) => /* @__PURE__ */ E("option", {
261
+ }), K?.map((e) => /* @__PURE__ */ T("option", {
259
262
  value: e.id,
260
263
  children: e.name
261
264
  }, e.id))]
262
265
  })
263
266
  }) })] }),
264
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
267
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
265
268
  className: "flex items-center gap-2",
266
- children: [/* @__PURE__ */ E(P, { size: 18 }), "Policies & Capabilities"]
267
- }) }), /* @__PURE__ */ D(i, {
269
+ children: [/* @__PURE__ */ T(P, { size: 18 }), "Policies & Capabilities"]
270
+ }) }), /* @__PURE__ */ E(s, {
268
271
  className: "space-y-4",
269
- children: [/* @__PURE__ */ E(m, {
272
+ children: [/* @__PURE__ */ T(h, {
270
273
  label: "Recommended Policies",
271
274
  description: "Comma-separated policy IDs",
272
- children: /* @__PURE__ */ E(h, {
275
+ children: /* @__PURE__ */ T(g, {
273
276
  placeholder: "e.g., content-policy-1, budget-policy-1",
274
277
  value: Z.recommendedPolicies,
275
278
  onChange: (e) => Q({
@@ -277,17 +280,17 @@ var z = [
277
280
  recommendedPolicies: e.target.value
278
281
  })
279
282
  })
280
- }), /* @__PURE__ */ D("div", {
283
+ }), /* @__PURE__ */ E("div", {
281
284
  className: "space-y-2",
282
- children: [/* @__PURE__ */ E("p", {
285
+ children: [/* @__PURE__ */ T("p", {
283
286
  className: "text-sm font-medium",
284
287
  children: "Capability Requirements"
285
- }), /* @__PURE__ */ D("div", {
288
+ }), /* @__PURE__ */ E("div", {
286
289
  className: "flex flex-wrap gap-4",
287
290
  children: [
288
- /* @__PURE__ */ D("label", {
291
+ /* @__PURE__ */ E("label", {
289
292
  className: "flex items-center gap-2",
290
- children: [/* @__PURE__ */ E("input", {
293
+ children: [/* @__PURE__ */ T("input", {
291
294
  type: "checkbox",
292
295
  checked: Z.requiresTools,
293
296
  onChange: (e) => Q({
@@ -295,14 +298,14 @@ var z = [
295
298
  requiresTools: e.target.checked
296
299
  }),
297
300
  className: "h-4 w-4"
298
- }), /* @__PURE__ */ E("span", {
301
+ }), /* @__PURE__ */ T("span", {
299
302
  className: "text-sm",
300
303
  children: "Requires Tools"
301
304
  })]
302
305
  }),
303
- /* @__PURE__ */ D("label", {
306
+ /* @__PURE__ */ E("label", {
304
307
  className: "flex items-center gap-2",
305
- children: [/* @__PURE__ */ E("input", {
308
+ children: [/* @__PURE__ */ T("input", {
306
309
  type: "checkbox",
307
310
  checked: Z.requiresKnowledge,
308
311
  onChange: (e) => Q({
@@ -310,14 +313,14 @@ var z = [
310
313
  requiresKnowledge: e.target.checked
311
314
  }),
312
315
  className: "h-4 w-4"
313
- }), /* @__PURE__ */ E("span", {
316
+ }), /* @__PURE__ */ T("span", {
314
317
  className: "text-sm",
315
318
  children: "Requires Knowledge"
316
319
  })]
317
320
  }),
318
- /* @__PURE__ */ D("label", {
321
+ /* @__PURE__ */ E("label", {
319
322
  className: "flex items-center gap-2",
320
- children: [/* @__PURE__ */ E("input", {
323
+ children: [/* @__PURE__ */ T("input", {
321
324
  type: "checkbox",
322
325
  checked: Z.requiresA2A,
323
326
  onChange: (e) => Q({
@@ -325,7 +328,7 @@ var z = [
325
328
  requiresA2A: e.target.checked
326
329
  }),
327
330
  className: "h-4 w-4"
328
- }), /* @__PURE__ */ E("span", {
331
+ }), /* @__PURE__ */ T("span", {
329
332
  className: "text-sm",
330
333
  children: "Requires A2A"
331
334
  })]
@@ -337,117 +340,123 @@ var z = [
337
340
  ]
338
341
  })
339
342
  });
340
- if (G) return /* @__PURE__ */ E(n, {
343
+ if (de) return /* @__PURE__ */ T(i, {
341
344
  title: "Loading...",
342
- children: /* @__PURE__ */ E("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
345
+ children: /* @__PURE__ */ T("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
343
346
  });
344
- if (!W) return /* @__PURE__ */ E(n, {
347
+ if (!W) return /* @__PURE__ */ T(i, {
345
348
  title: "Skill Not Found",
346
- children: /* @__PURE__ */ E(p, {
349
+ children: /* @__PURE__ */ T(m, {
347
350
  illustration: "empty-generic",
348
351
  title: "Skill Not Found",
349
352
  description: "This skill doesn't exist.",
350
- action: /* @__PURE__ */ E(c, {
353
+ action: /* @__PURE__ */ T(a, {
351
354
  onClick: () => H("skills"),
352
355
  children: "Back to Skills"
353
356
  })
354
357
  })
355
358
  });
356
- let $ = ({ label: e, enabled: t }) => /* @__PURE__ */ D("div", {
359
+ let $ = ({ label: e, enabled: t }) => /* @__PURE__ */ E("div", {
357
360
  className: "flex items-center gap-2",
358
- children: [t ? /* @__PURE__ */ E(oe, { className: "h-4 w-4 text-green-500" }) : /* @__PURE__ */ E(I, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E("span", {
361
+ children: [t ? /* @__PURE__ */ T(O, { className: "h-4 w-4 text-green-500" }) : /* @__PURE__ */ T(I, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
359
362
  className: t ? "text-text-primary" : "text-text-secondary",
360
363
  children: e
361
364
  })]
362
365
  });
363
- return /* @__PURE__ */ E(n, {
364
- title: /* @__PURE__ */ D("div", {
366
+ return /* @__PURE__ */ T(i, {
367
+ title: /* @__PURE__ */ E("div", {
365
368
  className: "flex items-center gap-3",
366
369
  children: [
367
- /* @__PURE__ */ E(c, {
370
+ /* @__PURE__ */ T(a, {
368
371
  variant: "ghost",
369
372
  size: "icon",
370
373
  onClick: () => H("skills"),
371
- children: /* @__PURE__ */ E(ae, { size: 20 })
374
+ children: /* @__PURE__ */ T(ce, { size: 20 })
372
375
  }),
373
- /* @__PURE__ */ E("div", {
376
+ /* @__PURE__ */ T("div", {
374
377
  className: "p-2 rounded-lg bg-action-primary-bg/10",
375
- children: /* @__PURE__ */ E(L, { className: "h-6 w-6 text-primary" })
378
+ children: /* @__PURE__ */ T(L, { className: "h-6 w-6 text-primary" })
376
379
  }),
377
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ D("div", {
380
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ E("div", {
378
381
  className: "flex items-center gap-2",
379
- children: [/* @__PURE__ */ E("span", { children: W.name }), /* @__PURE__ */ E(u, { status: W.status })]
380
- }), /* @__PURE__ */ E("p", {
382
+ children: [/* @__PURE__ */ T("span", { children: W.name }), /* @__PURE__ */ T(ee, { status: W.status })]
383
+ }), /* @__PURE__ */ T("p", {
381
384
  className: "text-sm font-normal text-text-secondary",
382
385
  children: W.description
383
386
  })] })
384
387
  ]
385
388
  }),
386
- actions: /* @__PURE__ */ E("div", {
389
+ actions: /* @__PURE__ */ T("div", {
387
390
  className: "flex gap-2",
388
- children: J ? /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(c, {
391
+ children: J ? /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ T(a, {
389
392
  variant: "outline",
390
393
  onClick: () => Y(!1),
391
394
  children: "Cancel"
392
- }), /* @__PURE__ */ E(c, {
393
- leftIcon: /* @__PURE__ */ E(N, { size: 16 }),
394
- onClick: ye,
395
- isLoading: pe,
395
+ }), /* @__PURE__ */ T(a, {
396
+ leftIcon: /* @__PURE__ */ T(N, { size: 16 }),
397
+ onClick: xe,
398
+ isLoading: he,
396
399
  disabled: !Z.name,
397
400
  children: "Save Changes"
398
- })] }) : /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(c, {
399
- variant: "outline",
400
- leftIcon: /* @__PURE__ */ E(A, { size: 16 }),
401
- onClick: Se,
402
- children: "Edit"
403
- }), ge ? /* @__PURE__ */ D("div", {
401
+ })] }) : /* @__PURE__ */ E(w, { children: [/* @__PURE__ */ T(r, {
402
+ permission: n.SKILL_UPDATE,
403
+ children: /* @__PURE__ */ T(a, {
404
+ variant: "outline",
405
+ leftIcon: /* @__PURE__ */ T(A, { size: 16 }),
406
+ onClick: we,
407
+ children: "Edit"
408
+ })
409
+ }), ve ? /* @__PURE__ */ E("div", {
404
410
  className: "flex gap-2",
405
- children: [/* @__PURE__ */ E(c, {
411
+ children: [/* @__PURE__ */ T(a, {
406
412
  variant: "outline",
407
413
  size: "sm",
408
414
  onClick: () => X(!1),
409
415
  children: "Cancel"
410
- }), /* @__PURE__ */ E(c, {
416
+ }), /* @__PURE__ */ T(a, {
411
417
  variant: "destructive",
412
418
  size: "sm",
413
419
  onClick: () => {
414
- ee("medium"), xe();
420
+ te("medium"), Ce();
415
421
  },
416
- isLoading: he,
422
+ isLoading: _e,
417
423
  children: "Confirm Delete"
418
424
  })]
419
- }) : /* @__PURE__ */ E(c, {
420
- variant: "destructive",
421
- leftIcon: /* @__PURE__ */ E(ce, { size: 16 }),
422
- onClick: () => X(!0),
423
- children: "Delete"
425
+ }) : /* @__PURE__ */ T(r, {
426
+ permission: n.SKILL_DELETE,
427
+ children: /* @__PURE__ */ T(a, {
428
+ variant: "destructive",
429
+ leftIcon: /* @__PURE__ */ T(ue, { size: 16 }),
430
+ onClick: () => X(!0),
431
+ children: "Delete"
432
+ })
424
433
  })] })
425
434
  }),
426
- children: /* @__PURE__ */ D("div", {
435
+ children: /* @__PURE__ */ E("div", {
427
436
  className: "space-y-6",
428
437
  children: [
429
- /* @__PURE__ */ E(re, {
430
- icon: /* @__PURE__ */ E(L, { size: 18 }),
438
+ /* @__PURE__ */ T(C, {
439
+ icon: /* @__PURE__ */ T(L, { size: 18 }),
431
440
  children: "This skill bundles a prompt, a set of tools and a knowledge profile into one reusable capability. Review what it includes and the policies it recommends, then attach it to any agent to grant all of those abilities at once — keeping your agents consistent without re-wiring the same pieces every time."
432
441
  }),
433
- J && /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ E(s, { children: "Edit Skill" }) }), /* @__PURE__ */ D(i, {
442
+ J && /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ T(u, { children: "Edit Skill" }) }), /* @__PURE__ */ E(s, {
434
443
  className: "space-y-4",
435
444
  children: [
436
- /* @__PURE__ */ D("div", {
445
+ /* @__PURE__ */ E("div", {
437
446
  className: "grid grid-cols-2 gap-4",
438
- children: [/* @__PURE__ */ E(m, {
447
+ children: [/* @__PURE__ */ T(h, {
439
448
  label: "Skill Name",
440
449
  required: !0,
441
- children: /* @__PURE__ */ E(h, {
450
+ children: /* @__PURE__ */ T(g, {
442
451
  value: Z.name,
443
452
  onChange: (e) => Q({
444
453
  ...Z,
445
454
  name: e.target.value
446
455
  })
447
456
  })
448
- }), /* @__PURE__ */ E(m, {
457
+ }), /* @__PURE__ */ T(h, {
449
458
  label: "Visibility",
450
- children: /* @__PURE__ */ D("select", {
459
+ children: /* @__PURE__ */ E("select", {
451
460
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
452
461
  value: Z.visibility,
453
462
  onChange: (e) => Q({
@@ -455,15 +464,15 @@ var z = [
455
464
  visibility: e.target.value
456
465
  }),
457
466
  children: [
458
- /* @__PURE__ */ E("option", {
467
+ /* @__PURE__ */ T("option", {
459
468
  value: "PRIVATE",
460
469
  children: "Private"
461
470
  }),
462
- /* @__PURE__ */ E("option", {
471
+ /* @__PURE__ */ T("option", {
463
472
  value: "WORKSPACE",
464
473
  children: "Workspace"
465
474
  }),
466
- /* @__PURE__ */ E("option", {
475
+ /* @__PURE__ */ T("option", {
467
476
  value: "PUBLIC",
468
477
  children: "Public"
469
478
  })
@@ -471,9 +480,9 @@ var z = [
471
480
  })
472
481
  })]
473
482
  }),
474
- /* @__PURE__ */ E(m, {
483
+ /* @__PURE__ */ T(h, {
475
484
  label: "Description",
476
- children: /* @__PURE__ */ E(g, {
485
+ children: /* @__PURE__ */ T(_, {
477
486
  value: Z.description,
478
487
  onChange: (e) => Q({
479
488
  ...Z,
@@ -482,48 +491,48 @@ var z = [
482
491
  rows: 2
483
492
  })
484
493
  }),
485
- /* @__PURE__ */ D("div", {
494
+ /* @__PURE__ */ E("div", {
486
495
  className: "grid grid-cols-2 gap-4",
487
- children: [/* @__PURE__ */ E(m, {
496
+ children: [/* @__PURE__ */ T(h, {
488
497
  label: "Prompt Template",
489
- children: /* @__PURE__ */ D("select", {
498
+ children: /* @__PURE__ */ E("select", {
490
499
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
491
500
  value: Z.promptTemplateId,
492
501
  onChange: (e) => Q({
493
502
  ...Z,
494
503
  promptTemplateId: e.target.value
495
504
  }),
496
- children: [/* @__PURE__ */ E("option", {
505
+ children: [/* @__PURE__ */ T("option", {
497
506
  value: "",
498
507
  children: "None"
499
- }), K?.map((e) => /* @__PURE__ */ E("option", {
508
+ }), G?.map((e) => /* @__PURE__ */ T("option", {
500
509
  value: e.id,
501
510
  children: e.name
502
511
  }, e.id))]
503
512
  })
504
- }), /* @__PURE__ */ E(m, {
513
+ }), /* @__PURE__ */ T(h, {
505
514
  label: "Retrieval Profile",
506
- children: /* @__PURE__ */ D("select", {
515
+ children: /* @__PURE__ */ E("select", {
507
516
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
508
517
  value: Z.retrievalProfileId,
509
518
  onChange: (e) => Q({
510
519
  ...Z,
511
520
  retrievalProfileId: e.target.value
512
521
  }),
513
- children: [/* @__PURE__ */ E("option", {
522
+ children: [/* @__PURE__ */ T("option", {
514
523
  value: "",
515
524
  children: "None"
516
- }), q?.map((e) => /* @__PURE__ */ E("option", {
525
+ }), K?.map((e) => /* @__PURE__ */ T("option", {
517
526
  value: e.id,
518
527
  children: e.name
519
528
  }, e.id))]
520
529
  })
521
530
  })]
522
531
  }),
523
- /* @__PURE__ */ E(m, {
532
+ /* @__PURE__ */ T(h, {
524
533
  label: "Tool Pack Dependencies",
525
534
  description: "Comma-separated",
526
- children: /* @__PURE__ */ E(h, {
535
+ children: /* @__PURE__ */ T(g, {
527
536
  value: Z.toolPackDeps,
528
537
  onChange: (e) => Q({
529
538
  ...Z,
@@ -532,12 +541,12 @@ var z = [
532
541
  placeholder: "e.g., @botlit/github-tools, @botlit/web-browser"
533
542
  })
534
543
  }),
535
- /* @__PURE__ */ D("div", {
544
+ /* @__PURE__ */ E("div", {
536
545
  className: "flex gap-4",
537
546
  children: [
538
- /* @__PURE__ */ D("label", {
547
+ /* @__PURE__ */ E("label", {
539
548
  className: "flex items-center gap-2",
540
- children: [/* @__PURE__ */ E("input", {
549
+ children: [/* @__PURE__ */ T("input", {
541
550
  type: "checkbox",
542
551
  checked: Z.requiresTools,
543
552
  onChange: (e) => Q({
@@ -545,14 +554,14 @@ var z = [
545
554
  requiresTools: e.target.checked
546
555
  }),
547
556
  className: "h-4 w-4"
548
- }), /* @__PURE__ */ E("span", {
557
+ }), /* @__PURE__ */ T("span", {
549
558
  className: "text-sm",
550
559
  children: "Requires Tools"
551
560
  })]
552
561
  }),
553
- /* @__PURE__ */ D("label", {
562
+ /* @__PURE__ */ E("label", {
554
563
  className: "flex items-center gap-2",
555
- children: [/* @__PURE__ */ E("input", {
564
+ children: [/* @__PURE__ */ T("input", {
556
565
  type: "checkbox",
557
566
  checked: Z.requiresKnowledge,
558
567
  onChange: (e) => Q({
@@ -560,14 +569,14 @@ var z = [
560
569
  requiresKnowledge: e.target.checked
561
570
  }),
562
571
  className: "h-4 w-4"
563
- }), /* @__PURE__ */ E("span", {
572
+ }), /* @__PURE__ */ T("span", {
564
573
  className: "text-sm",
565
574
  children: "Requires Knowledge"
566
575
  })]
567
576
  }),
568
- /* @__PURE__ */ D("label", {
577
+ /* @__PURE__ */ E("label", {
569
578
  className: "flex items-center gap-2",
570
- children: [/* @__PURE__ */ E("input", {
579
+ children: [/* @__PURE__ */ T("input", {
571
580
  type: "checkbox",
572
581
  checked: Z.requiresA2A,
573
582
  onChange: (e) => Q({
@@ -575,7 +584,7 @@ var z = [
575
584
  requiresA2A: e.target.checked
576
585
  }),
577
586
  className: "h-4 w-4"
578
- }), /* @__PURE__ */ E("span", {
587
+ }), /* @__PURE__ */ T("span", {
579
588
  className: "text-sm",
580
589
  children: "Requires A2A"
581
590
  })]
@@ -584,184 +593,184 @@ var z = [
584
593
  })
585
594
  ]
586
595
  })] }),
587
- /* @__PURE__ */ D("div", {
596
+ /* @__PURE__ */ E("div", {
588
597
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
589
598
  children: [
590
- /* @__PURE__ */ E(r, {
599
+ /* @__PURE__ */ T(o, {
591
600
  treatment: "glass",
592
601
  glow: !0,
593
- children: /* @__PURE__ */ D(i, {
602
+ children: /* @__PURE__ */ E(s, {
594
603
  className: "pt-6 text-center",
595
604
  children: [
596
- /* @__PURE__ */ E("div", {
605
+ /* @__PURE__ */ T("div", {
597
606
  className: "p-3 rounded-full bg-action-primary-bg/10 w-fit mx-auto mb-2",
598
- children: /* @__PURE__ */ E(L, { className: "h-5 w-5 text-primary" })
607
+ children: /* @__PURE__ */ T(L, { className: "h-5 w-5 text-primary" })
599
608
  }),
600
- /* @__PURE__ */ E("p", {
609
+ /* @__PURE__ */ T("p", {
601
610
  className: "text-lg font-bold capitalize",
602
611
  children: W.visibility.toLowerCase()
603
612
  }),
604
- /* @__PURE__ */ E("p", {
613
+ /* @__PURE__ */ T("p", {
605
614
  className: "text-sm text-text-secondary",
606
615
  children: "Visibility"
607
616
  })
608
617
  ]
609
618
  })
610
619
  }),
611
- /* @__PURE__ */ E(r, { children: /* @__PURE__ */ D(i, {
620
+ /* @__PURE__ */ T(o, { children: /* @__PURE__ */ E(s, {
612
621
  className: "pt-6 text-center",
613
- children: [/* @__PURE__ */ E("p", {
622
+ children: [/* @__PURE__ */ T("p", {
614
623
  className: "text-3xl font-bold text-text-primary",
615
624
  children: W.toolPackDeps.length
616
- }), /* @__PURE__ */ E("p", {
625
+ }), /* @__PURE__ */ T("p", {
617
626
  className: "text-sm text-text-secondary",
618
627
  children: "Tool Packs"
619
628
  })]
620
629
  }) }),
621
- /* @__PURE__ */ E(r, { children: /* @__PURE__ */ D(i, {
630
+ /* @__PURE__ */ T(o, { children: /* @__PURE__ */ E(s, {
622
631
  className: "pt-6 text-center",
623
- children: [/* @__PURE__ */ E("p", {
632
+ children: [/* @__PURE__ */ T("p", {
624
633
  className: "text-3xl font-bold text-text-primary",
625
634
  children: W.recommendedPolicies.length
626
- }), /* @__PURE__ */ E("p", {
635
+ }), /* @__PURE__ */ T("p", {
627
636
  className: "text-sm text-text-secondary",
628
637
  children: "Policies"
629
638
  })]
630
639
  }) }),
631
- /* @__PURE__ */ E(r, { children: /* @__PURE__ */ D(i, {
640
+ /* @__PURE__ */ T(o, { children: /* @__PURE__ */ E(s, {
632
641
  className: "pt-6 text-center",
633
- children: [/* @__PURE__ */ E("p", {
642
+ children: [/* @__PURE__ */ T("p", {
634
643
  className: "text-3xl font-bold text-text-primary",
635
644
  children: W.revision
636
- }), /* @__PURE__ */ E("p", {
645
+ }), /* @__PURE__ */ T("p", {
637
646
  className: "text-sm text-text-secondary",
638
647
  children: "Revision"
639
648
  })]
640
649
  }) })
641
650
  ]
642
651
  }),
643
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ D(o, { children: [/* @__PURE__ */ E(s, { children: "Capability Requirements" }), /* @__PURE__ */ E(a, { children: "What this skill requires from agents" })] }), /* @__PURE__ */ E(i, { children: /* @__PURE__ */ D("div", {
652
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ E(l, { children: [/* @__PURE__ */ T(u, { children: "Capability Requirements" }), /* @__PURE__ */ T(c, { children: "What this skill requires from agents" })] }), /* @__PURE__ */ T(s, { children: /* @__PURE__ */ E("div", {
644
653
  className: "flex gap-8",
645
654
  children: [
646
- /* @__PURE__ */ E($, {
655
+ /* @__PURE__ */ T($, {
647
656
  label: "Tools",
648
- enabled: S(W.capabilityFlags, "requiresTools")
657
+ enabled: b(W.capabilityFlags, "requiresTools")
649
658
  }),
650
- /* @__PURE__ */ E($, {
659
+ /* @__PURE__ */ T($, {
651
660
  label: "Knowledge",
652
- enabled: S(W.capabilityFlags, "requiresKnowledge")
661
+ enabled: b(W.capabilityFlags, "requiresKnowledge")
653
662
  }),
654
- /* @__PURE__ */ E($, {
663
+ /* @__PURE__ */ T($, {
655
664
  label: "A2A",
656
- enabled: S(W.capabilityFlags, "requiresA2A")
665
+ enabled: b(W.capabilityFlags, "requiresA2A")
657
666
  })
658
667
  ]
659
668
  }) })] }),
660
- /* @__PURE__ */ D("div", {
669
+ /* @__PURE__ */ E("div", {
661
670
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
662
- children: [/* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
671
+ children: [/* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
663
672
  className: "flex items-center gap-2",
664
- children: [/* @__PURE__ */ E(M, { size: 18 }), "Prompt Template"]
665
- }) }), /* @__PURE__ */ E(i, { children: W.promptTemplateId ? /* @__PURE__ */ E("div", {
673
+ children: [/* @__PURE__ */ T(M, { size: 18 }), "Prompt Template"]
674
+ }) }), /* @__PURE__ */ T(s, { children: W.promptTemplateId ? /* @__PURE__ */ T("div", {
666
675
  className: "p-4 bg-bg-sunken rounded-lg",
667
- children: /* @__PURE__ */ D("div", {
676
+ children: /* @__PURE__ */ E("div", {
668
677
  className: "flex items-center justify-between",
669
- children: [/* @__PURE__ */ E("span", {
678
+ children: [/* @__PURE__ */ T("span", {
670
679
  className: "font-medium",
671
680
  children: W.promptTemplateId
672
- }), /* @__PURE__ */ E(O, {
681
+ }), /* @__PURE__ */ T(D, {
673
682
  to: U(`prompt-templates/${W.promptTemplateId}`),
674
- children: /* @__PURE__ */ E(c, {
683
+ children: /* @__PURE__ */ T(a, {
675
684
  variant: "ghost",
676
685
  size: "sm",
677
- children: /* @__PURE__ */ E(j, { size: 14 })
686
+ children: /* @__PURE__ */ T(j, { size: 14 })
678
687
  })
679
688
  })]
680
689
  })
681
- }) : /* @__PURE__ */ E("p", {
690
+ }) : /* @__PURE__ */ T("p", {
682
691
  className: "text-text-secondary",
683
692
  children: "No prompt template associated"
684
- }) })] }), /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
693
+ }) })] }), /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
685
694
  className: "flex items-center gap-2",
686
- children: [/* @__PURE__ */ E(k, { size: 18 }), "Retrieval Profile"]
687
- }) }), /* @__PURE__ */ E(i, { children: W.retrievalProfileId ? /* @__PURE__ */ E("div", {
695
+ children: [/* @__PURE__ */ T(k, { size: 18 }), "Retrieval Profile"]
696
+ }) }), /* @__PURE__ */ T(s, { children: W.retrievalProfileId ? /* @__PURE__ */ T("div", {
688
697
  className: "p-4 bg-bg-sunken rounded-lg",
689
- children: /* @__PURE__ */ D("div", {
698
+ children: /* @__PURE__ */ E("div", {
690
699
  className: "flex items-center justify-between",
691
- children: [/* @__PURE__ */ E("span", {
700
+ children: [/* @__PURE__ */ T("span", {
692
701
  className: "font-medium",
693
702
  children: W.retrievalProfileId
694
- }), /* @__PURE__ */ E(O, {
703
+ }), /* @__PURE__ */ T(D, {
695
704
  to: U(`retrieval-profiles/${W.retrievalProfileId}`),
696
- children: /* @__PURE__ */ E(c, {
705
+ children: /* @__PURE__ */ T(a, {
697
706
  variant: "ghost",
698
707
  size: "sm",
699
- children: /* @__PURE__ */ E(j, { size: 14 })
708
+ children: /* @__PURE__ */ T(j, { size: 14 })
700
709
  })
701
710
  })]
702
711
  })
703
- }) : /* @__PURE__ */ E("p", {
712
+ }) : /* @__PURE__ */ T("p", {
704
713
  className: "text-text-secondary",
705
714
  children: "No retrieval profile associated"
706
715
  }) })] })]
707
716
  }),
708
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
717
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
709
718
  className: "flex items-center gap-2",
710
- children: [/* @__PURE__ */ E(F, { size: 18 }), "Tool Pack Dependencies"]
711
- }) }), /* @__PURE__ */ E(i, { children: W.toolPackDeps.length > 0 ? /* @__PURE__ */ E("div", {
719
+ children: [/* @__PURE__ */ T(F, { size: 18 }), "Tool Pack Dependencies"]
720
+ }) }), /* @__PURE__ */ T(s, { children: W.toolPackDeps.length > 0 ? /* @__PURE__ */ T("div", {
712
721
  className: "flex flex-wrap gap-2",
713
- children: W.toolPackDeps.map((e) => /* @__PURE__ */ E(l, {
722
+ children: W.toolPackDeps.map((e) => /* @__PURE__ */ T(d, {
714
723
  variant: "secondary",
715
724
  className: "font-mono",
716
725
  children: e
717
726
  }, e))
718
- }) : /* @__PURE__ */ E("p", {
727
+ }) : /* @__PURE__ */ T("p", {
719
728
  className: "text-text-secondary",
720
729
  children: "No tool pack dependencies"
721
730
  }) })] }),
722
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
731
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
723
732
  className: "flex items-center gap-2",
724
- children: [/* @__PURE__ */ E(P, { size: 18 }), "Recommended Policies"]
725
- }) }), /* @__PURE__ */ E(i, { children: W.recommendedPolicies.length > 0 ? /* @__PURE__ */ E("div", {
733
+ children: [/* @__PURE__ */ T(P, { size: 18 }), "Recommended Policies"]
734
+ }) }), /* @__PURE__ */ T(s, { children: W.recommendedPolicies.length > 0 ? /* @__PURE__ */ T("div", {
726
735
  className: "flex flex-wrap gap-2",
727
- children: W.recommendedPolicies.map((e) => /* @__PURE__ */ E(l, {
736
+ children: W.recommendedPolicies.map((e) => /* @__PURE__ */ T(d, {
728
737
  variant: "outline",
729
738
  children: e
730
739
  }, e))
731
- }) : /* @__PURE__ */ E("p", {
740
+ }) : /* @__PURE__ */ T("p", {
732
741
  className: "text-text-secondary",
733
742
  children: "No recommended policies"
734
743
  }) })] }),
735
- /* @__PURE__ */ D(r, { children: [/* @__PURE__ */ E(o, { children: /* @__PURE__ */ D(s, {
744
+ /* @__PURE__ */ E(o, { children: [/* @__PURE__ */ T(l, { children: /* @__PURE__ */ E(u, {
736
745
  className: "flex items-center gap-2",
737
- children: [/* @__PURE__ */ E(se, { size: 18 }), "Metadata"]
738
- }) }), /* @__PURE__ */ E(i, { children: /* @__PURE__ */ D("div", {
746
+ children: [/* @__PURE__ */ T(le, { size: 18 }), "Metadata"]
747
+ }) }), /* @__PURE__ */ T(s, { children: /* @__PURE__ */ E("div", {
739
748
  className: "grid grid-cols-2 md:grid-cols-4 gap-6 text-sm",
740
749
  children: [
741
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
750
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
742
751
  className: "text-text-secondary",
743
752
  children: "Created"
744
- }), /* @__PURE__ */ E("p", {
753
+ }), /* @__PURE__ */ T("p", {
745
754
  className: "font-medium",
746
755
  children: t(W.createdAt)
747
756
  })] }),
748
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
757
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
749
758
  className: "text-text-secondary",
750
759
  children: "Updated"
751
- }), /* @__PURE__ */ E("p", {
760
+ }), /* @__PURE__ */ T("p", {
752
761
  className: "font-medium",
753
762
  children: t(W.updatedAt)
754
763
  })] }),
755
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
764
+ /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
756
765
  className: "text-text-secondary",
757
766
  children: "Tags"
758
- }), /* @__PURE__ */ E("div", {
767
+ }), /* @__PURE__ */ T("div", {
759
768
  className: "flex gap-1",
760
- children: W.tags.length > 0 ? W.tags.map((e) => /* @__PURE__ */ E(l, {
769
+ children: W.tags.length > 0 ? W.tags.map((e) => /* @__PURE__ */ T(d, {
761
770
  variant: "secondary",
762
771
  className: "text-xs",
763
772
  children: e
764
- }, e)) : /* @__PURE__ */ E("span", {
773
+ }, e)) : /* @__PURE__ */ T("span", {
765
774
  className: "text-text-secondary",
766
775
  children: "None"
767
776
  })