@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,25 +1,28 @@
1
1
  import { useBotlit as e } from "../providers/BotlitProvider.js";
2
2
  import { useBots as t } from "../hooks/useBots.js";
3
3
  import { formatRelativeTime as n } from "../utils/formatters.js";
4
- import { PageLayout as r } from "../components/PageLayout.js";
5
- import { Card as i, CardContent as a, CardDescription as o, CardHeader as s, CardTitle as c } from "../components/Card.js";
6
- import { Button as l } from "../components/Button.js";
7
- import { Badge as u, StatusBadge as ee } from "../components/Badge.js";
4
+ import { BOTMANOR_PERMISSIONS as r } from "../permissions/botmanorPermissions.js";
5
+ import { BotmanorPermissionGate as i } from "../permissions/useBotmanorPermissions.js";
6
+ import { PageLayout as a } from "../components/PageLayout.js";
7
+ import { Button as o } from "../components/Button.js";
8
+ import "../permissions/index.js";
9
+ import { Card as s, CardContent as c, CardDescription as l, CardHeader as u, CardTitle as d } from "../components/Card.js";
10
+ import { Badge as f, StatusBadge as ee } from "../components/Badge.js";
8
11
  import { isNative as te, nativeImpact as ne, nativeNotify as re } from "../../utils/nativeBridge.js";
9
- import { EmptyState as d } from "../components/EmptyState.js";
10
- import { FormField as f, Input as p, Textarea as m } from "../components/Input.js";
11
- import { WIDGET_METADATA_KEY as ie, readWidgetConfig as h, routeMetadataString as g, useChannelConnector as ae, useChannelRoutes as oe, useCreateChannelConnector as se, useCreateChannelRoute as ce, useDeleteChannelConnector as le, useUpdateChannelConnector as ue } from "../hooks/useChannels.js";
12
- import { toUnion as _ } from "../utils/unions.js";
13
- import { useInitiateSlackConnect as de, useLinkIntegrationConnection as fe, useMyUserPlatformConnection as pe, useRevokeSlackConnection as me, useToggleSlackNotifications as he } from "../hooks/useUserPlatformConnection.js";
12
+ import { EmptyState as ie } from "../components/EmptyState.js";
13
+ import { FormField as p, Input as m, Textarea as h } from "../components/Input.js";
14
+ import { WIDGET_METADATA_KEY as ae, readWidgetConfig as g, routeMetadataString as _, useChannelConnector as oe, useChannelRoutes as se, useCreateChannelConnector as ce, useCreateChannelRoute as le, useDeleteChannelConnector as ue, useUpdateChannelConnector as de } from "../hooks/useChannels.js";
15
+ import { toUnion as v } from "../utils/unions.js";
16
+ import { useInitiateSlackConnect as fe, useLinkIntegrationConnection as pe, useMyUserPlatformConnection as me, useRevokeSlackConnection as he, useToggleSlackNotifications as ge } from "../hooks/useUserPlatformConnection.js";
14
17
  import "../hooks/index.js";
15
- import { useEffect as ge, useRef as _e, useState as v } from "react";
16
- import { GlassCard as ve, NextSteps as ye, PagePurpose as be } from "@burdenoff/fe-libs/ui";
17
- import { Fragment as xe, jsx as y, jsxs as b } from "react/jsx-runtime";
18
- import { useParams as Se, useSearchParams as Ce } from "react-router";
19
- import { ArrowLeft as we, Bell as Te, BellOff as Ee, CheckCircle2 as De, Edit as Oe, ExternalLink as ke, Globe as x, Hash as S, Loader2 as Ae, MessageSquare as C, Palette as je, Plus as w, Radio as T, Save as E, Settings as D, Shield as Me, Slack as O, Trash2 as Ne, Unlink as Pe, X as k } from "lucide-react";
20
- import { toast as A } from "sonner";
18
+ import { useEffect as _e, useRef as ve, useState as y } from "react";
19
+ import { GlassCard as ye, NextSteps as be, PagePurpose as xe } from "@burdenoff/fe-libs/ui";
20
+ import { Fragment as Se, jsx as b, jsxs as x } from "react/jsx-runtime";
21
+ import { useParams as Ce, useSearchParams as we } from "react-router";
22
+ import { ArrowLeft as Te, Bell as Ee, BellOff as De, CheckCircle2 as Oe, Edit as ke, ExternalLink as Ae, Globe as S, Hash as C, Loader2 as w, MessageSquare as T, Palette as E, Plus as D, Radio as O, Save as k, Settings as A, Shield as je, Slack as j, Trash2 as Me, Unlink as Ne, X as M } from "lucide-react";
23
+ import { toast as N } from "sonner";
21
24
  //#region src/botlit/pages/ChannelDetailPage.tsx
22
- var j = [
25
+ var P = [
23
26
  "WEB_WIDGET",
24
27
  "SLACK",
25
28
  "TEAMS",
@@ -27,107 +30,107 @@ var j = [
27
30
  "WHATSAPP",
28
31
  "WEBHOOK",
29
32
  "CUSTOM"
30
- ], Fe = [
33
+ ], Pe = [
31
34
  "PRIVATE",
32
35
  "WORKSPACE",
33
36
  "PUBLIC"
34
37
  ];
35
- function M(e) {
38
+ function Fe(e) {
36
39
  return e.split(",").map((e) => e.trim()).filter(Boolean);
37
40
  }
38
- var N = ({ type: e }) => {
41
+ var Ie = ({ type: e }) => {
39
42
  switch (e) {
40
- case "SLACK": return /* @__PURE__ */ y(S, { size: 18 });
41
- case "WEB_WIDGET": return /* @__PURE__ */ y(x, { size: 18 });
42
- case "TEAMS": return /* @__PURE__ */ y(C, { size: 18 });
43
- default: return /* @__PURE__ */ y(T, { size: 18 });
43
+ case "SLACK": return /* @__PURE__ */ b(C, { size: 18 });
44
+ case "WEB_WIDGET": return /* @__PURE__ */ b(S, { size: 18 });
45
+ case "TEAMS": return /* @__PURE__ */ b(T, { size: 18 });
46
+ default: return /* @__PURE__ */ b(O, { size: 18 });
44
47
  }
45
- }, P = ({ isNew: x }) => {
46
- let { connectorId: S } = Se(), { navigateTo: P } = e(), [F, I] = Ce(), { data: L, loading: Ie } = ae(x ? void 0 : S), { data: Le, refetch: Re } = oe(S), { data: R } = t(), [ze, Be] = se(), [Ve, He] = ue(), [Ue, We] = le(), [Ge, Ke] = ce(), z = L?.type === "SLACK" && L?.credentialsRefId ? L.credentialsRefId : void 0, { data: B, loading: qe, refetch: V } = pe(z), { initiate: Je } = de(), { link: Ye, loading: Xe } = fe(), { toggle: Ze, loading: Qe } = he(), { revoke: $e, loading: et } = me(), [tt, H] = v(null), nt = _e(!1);
47
- ge(() => {
48
- if (nt.current) return;
49
- let e = F.get("integrationConnectionId"), t = F.get("channelId");
48
+ }, F = ({ isNew: S }) => {
49
+ let { connectorId: C } = Ce(), { navigateTo: F } = e(), [I, Le] = we(), { data: L, loading: Re } = oe(S ? void 0 : C), { data: ze, refetch: Be } = se(C), { data: Ve } = t(), [He, Ue] = ce(), [We, Ge] = de(), [Ke, qe] = ue(), [Je, Ye] = le(), R = L?.type === "SLACK" && L?.credentialsRefId ? L.credentialsRefId : void 0, { data: z, loading: Xe, refetch: B } = me(R), { initiate: Ze } = fe(), { link: Qe, loading: $e } = pe(), { toggle: et, loading: tt } = ge(), { revoke: nt, loading: rt } = he(), [it, V] = y(null), at = ve(!1);
50
+ _e(() => {
51
+ if (at.current) return;
52
+ let e = I.get("integrationConnectionId"), t = I.get("channelId");
50
53
  if (!e || !t) return;
51
- nt.current = !0;
52
- let n = new URLSearchParams(F);
53
- n.delete("integrationConnectionId"), n.delete("channelId"), I(n, { replace: !0 }), H(null), Ye(e, t).then((e) => {
54
- e ? V() : H("Failed to link Slack connection. Please try again.");
54
+ at.current = !0;
55
+ let n = new URLSearchParams(I);
56
+ n.delete("integrationConnectionId"), n.delete("channelId"), Le(n, { replace: !0 }), V(null), Qe(e, t).then((e) => {
57
+ e ? B() : V("Failed to link Slack connection. Please try again.");
55
58
  });
56
59
  }, [
57
- F,
58
60
  I,
59
- Ye,
60
- V
61
+ Le,
62
+ Qe,
63
+ B
61
64
  ]);
62
- let rt = () => {
63
- z && Je(z, `${window.location.origin}${window.location.pathname}`);
64
- }, it = async () => {
65
- B && await Ze(B.id, !B.notificationsEnabled) && await V();
66
- }, at = async () => {
67
- B && await $e(B.id) && await V();
68
- }, [ot, U] = v(!1), [st, ct] = v(!1), [lt, W] = v(!1), [G, K] = v({
65
+ let ot = () => {
66
+ R && Ze(R, `${window.location.origin}${window.location.pathname}`);
67
+ }, st = async () => {
68
+ z && await et(z.id, !z.notificationsEnabled) && await B();
69
+ }, ct = async () => {
70
+ z && await nt(z.id) && await B();
71
+ }, [H, U] = y(!1), [lt, ut] = y(!1), [dt, W] = y(!1), [G, K] = y({
69
72
  locationId: "",
70
73
  locationName: "",
71
74
  botId: ""
72
- }), [q, J] = v({
75
+ }), [q, J] = y({
73
76
  name: "",
74
77
  description: "",
75
78
  type: "WEB_WIDGET",
76
79
  visibility: "PRIVATE",
77
80
  credentialsRefId: ""
78
- }), [Y, X] = v({
81
+ }), [Y, X] = y({
79
82
  allowedOrigins: "",
80
83
  primaryColor: "#3b82f6",
81
84
  fontFamily: "Inter, sans-serif",
82
85
  starterPrompts: ""
83
- }), ut = () => {
84
- if (q.type === "WEB_WIDGET") return { [ie]: {
85
- allowedOrigins: M(Y.allowedOrigins),
86
+ }), ft = () => {
87
+ if (q.type === "WEB_WIDGET") return { [ae]: {
88
+ allowedOrigins: Fe(Y.allowedOrigins),
86
89
  primaryColor: Y.primaryColor,
87
90
  fontFamily: Y.fontFamily,
88
- starterPrompts: M(Y.starterPrompts)
91
+ starterPrompts: Fe(Y.starterPrompts)
89
92
  } };
90
- }, dt = async () => {
93
+ }, pt = async () => {
91
94
  if (q.name) try {
92
- let e = await ze({
95
+ let e = await He({
93
96
  name: q.name,
94
97
  type: q.type,
95
98
  description: q.description || void 0,
96
99
  visibility: q.visibility,
97
100
  credentialsRefId: q.credentialsRefId || void 0,
98
- metadata: ut()
101
+ metadata: ft()
99
102
  });
100
- A.success(`Channel "${e.name}" created`), P(`channels/${e.id}`);
103
+ N.success(`Channel "${e.name}" created`), F(`channels/${e.id}`);
101
104
  } catch (e) {
102
- A.error(e instanceof Error ? e.message : "Failed to create channel connector");
105
+ N.error(e instanceof Error ? e.message : "Failed to create channel connector");
103
106
  }
104
- }, ft = async () => {
105
- if (!(!S || !q.name)) try {
106
- await Ve({
107
- connectorId: S,
107
+ }, mt = async () => {
108
+ if (!(!C || !q.name)) try {
109
+ await We({
110
+ connectorId: C,
108
111
  input: {
109
112
  name: q.name,
110
113
  description: q.description || void 0,
111
114
  visibility: q.visibility,
112
115
  credentialsRefId: q.credentialsRefId || void 0,
113
- metadata: ut()
116
+ metadata: ft()
114
117
  }
115
- }), A.success("Channel updated"), U(!1);
118
+ }), N.success("Channel updated"), U(!1);
116
119
  } catch (e) {
117
- A.error(e instanceof Error ? e.message : "Failed to update channel connector");
120
+ N.error(e instanceof Error ? e.message : "Failed to update channel connector");
118
121
  }
119
- }, pt = async () => {
120
- if (S) try {
121
- await Ue(S), te() && re("success"), P("channels");
122
+ }, ht = async () => {
123
+ if (C) try {
124
+ await Ke(C), te() && re("success"), F("channels");
122
125
  } catch (e) {
123
126
  throw te() && re("error"), e;
124
127
  }
125
- }, mt = async () => {
126
- if (!S || !G.locationId || !G.botId) return;
127
- let e = R?.find((e) => e.id === G.botId);
128
+ }, gt = async () => {
129
+ if (!C || !G.locationId || !G.botId) return;
130
+ let e = Ve?.find((e) => e.id === G.botId);
128
131
  try {
129
- await Ge({
130
- connectorId: S,
132
+ await Je({
133
+ connectorId: C,
131
134
  locationId: G.locationId,
132
135
  appId: G.botId,
133
136
  metadata: {
@@ -136,24 +139,24 @@ var N = ({ type: e }) => {
136
139
  }
137
140
  });
138
141
  } catch (e) {
139
- A.error(e instanceof Error ? e.message : "Failed to create route");
142
+ N.error(e instanceof Error ? e.message : "Failed to create route");
140
143
  return;
141
144
  }
142
- A.success("Route created"), Re(), K({
145
+ N.success("Route created"), Be(), K({
143
146
  locationId: "",
144
147
  locationName: "",
145
148
  botId: ""
146
149
  }), W(!1);
147
- }, ht = () => {
150
+ }, _t = () => {
148
151
  if (!L) return;
149
152
  J({
150
153
  name: L.name,
151
154
  description: L.description || "",
152
- type: _(L.type, j, "CUSTOM"),
153
- visibility: _(L.visibility, Fe, "PRIVATE"),
155
+ type: v(L.type, P, "CUSTOM"),
156
+ visibility: v(L.visibility, Pe, "PRIVATE"),
154
157
  credentialsRefId: L.credentialsRefId || ""
155
158
  });
156
- let e = h(L);
159
+ let e = g(L);
157
160
  e && X({
158
161
  allowedOrigins: e.allowedOrigins.join(", "),
159
162
  primaryColor: e.primaryColor,
@@ -161,32 +164,32 @@ var N = ({ type: e }) => {
161
164
  starterPrompts: e.starterPrompts.join(", ")
162
165
  }), U(!0);
163
166
  };
164
- if (x) return /* @__PURE__ */ y(r, {
167
+ if (S) return /* @__PURE__ */ b(a, {
165
168
  title: "Create Channel Connector",
166
169
  description: "Set up a new channel for your AI agents",
167
- actions: /* @__PURE__ */ b("div", {
170
+ actions: /* @__PURE__ */ x("div", {
168
171
  className: "flex gap-2",
169
- children: [/* @__PURE__ */ y(l, {
172
+ children: [/* @__PURE__ */ b(o, {
170
173
  variant: "outline",
171
- onClick: () => P("channels"),
174
+ onClick: () => F("channels"),
172
175
  children: "Cancel"
173
- }), /* @__PURE__ */ y(l, {
174
- leftIcon: /* @__PURE__ */ y(E, { size: 16 }),
175
- onClick: dt,
176
- isLoading: Be.loading || He.loading,
176
+ }), /* @__PURE__ */ b(o, {
177
+ leftIcon: /* @__PURE__ */ b(k, { size: 16 }),
178
+ onClick: pt,
179
+ isLoading: Ue.loading || Ge.loading,
177
180
  disabled: !q.name,
178
181
  children: "Create"
179
182
  })]
180
183
  }),
181
- children: /* @__PURE__ */ b("div", {
184
+ children: /* @__PURE__ */ x("div", {
182
185
  className: "max-w-2xl space-y-6",
183
- children: [/* @__PURE__ */ b(i, { children: [/* @__PURE__ */ y(s, { children: /* @__PURE__ */ y(c, { children: "Basic Information" }) }), /* @__PURE__ */ b(a, {
186
+ children: [/* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ b(d, { children: "Basic Information" }) }), /* @__PURE__ */ x(c, {
184
187
  className: "space-y-4",
185
188
  children: [
186
- /* @__PURE__ */ y(f, {
189
+ /* @__PURE__ */ b(p, {
187
190
  label: "Connector Name",
188
191
  required: !0,
189
- children: /* @__PURE__ */ y(p, {
192
+ children: /* @__PURE__ */ b(m, {
190
193
  placeholder: "e.g., Production Web Widget",
191
194
  value: q.name,
192
195
  onChange: (e) => J({
@@ -195,9 +198,9 @@ var N = ({ type: e }) => {
195
198
  })
196
199
  })
197
200
  }),
198
- /* @__PURE__ */ y(f, {
201
+ /* @__PURE__ */ b(p, {
199
202
  label: "Description",
200
- children: /* @__PURE__ */ y(m, {
203
+ children: /* @__PURE__ */ b(h, {
201
204
  placeholder: "What is this channel connector for?",
202
205
  value: q.description,
203
206
  onChange: (e) => J({
@@ -207,12 +210,12 @@ var N = ({ type: e }) => {
207
210
  rows: 3
208
211
  })
209
212
  }),
210
- /* @__PURE__ */ b("div", {
213
+ /* @__PURE__ */ x("div", {
211
214
  className: "grid grid-cols-2 gap-4",
212
- children: [/* @__PURE__ */ y(f, {
215
+ children: [/* @__PURE__ */ b(p, {
213
216
  label: "Channel Type",
214
217
  required: !0,
215
- children: /* @__PURE__ */ b("select", {
218
+ children: /* @__PURE__ */ x("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: q.type,
218
221
  onChange: (e) => J({
@@ -220,39 +223,39 @@ var N = ({ type: e }) => {
220
223
  type: e.target.value
221
224
  }),
222
225
  children: [
223
- /* @__PURE__ */ y("option", {
226
+ /* @__PURE__ */ b("option", {
224
227
  value: "WEB_WIDGET",
225
228
  children: "Web Widget"
226
229
  }),
227
- /* @__PURE__ */ y("option", {
230
+ /* @__PURE__ */ b("option", {
228
231
  value: "SLACK",
229
232
  children: "Slack"
230
233
  }),
231
- /* @__PURE__ */ y("option", {
234
+ /* @__PURE__ */ b("option", {
232
235
  value: "TEAMS",
233
236
  children: "Microsoft Teams"
234
237
  }),
235
- /* @__PURE__ */ y("option", {
238
+ /* @__PURE__ */ b("option", {
236
239
  value: "DISCORD",
237
240
  children: "Discord"
238
241
  }),
239
- /* @__PURE__ */ y("option", {
242
+ /* @__PURE__ */ b("option", {
240
243
  value: "WHATSAPP",
241
244
  children: "WhatsApp"
242
245
  }),
243
- /* @__PURE__ */ y("option", {
246
+ /* @__PURE__ */ b("option", {
244
247
  value: "WEBHOOK",
245
248
  children: "Webhook"
246
249
  }),
247
- /* @__PURE__ */ y("option", {
250
+ /* @__PURE__ */ b("option", {
248
251
  value: "CUSTOM",
249
252
  children: "Custom"
250
253
  })
251
254
  ]
252
255
  })
253
- }), /* @__PURE__ */ y(f, {
256
+ }), /* @__PURE__ */ b(p, {
254
257
  label: "Visibility",
255
- children: /* @__PURE__ */ b("select", {
258
+ children: /* @__PURE__ */ x("select", {
256
259
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
257
260
  value: q.visibility,
258
261
  onChange: (e) => J({
@@ -260,15 +263,15 @@ var N = ({ type: e }) => {
260
263
  visibility: e.target.value
261
264
  }),
262
265
  children: [
263
- /* @__PURE__ */ y("option", {
266
+ /* @__PURE__ */ b("option", {
264
267
  value: "PRIVATE",
265
268
  children: "Private"
266
269
  }),
267
- /* @__PURE__ */ y("option", {
270
+ /* @__PURE__ */ b("option", {
268
271
  value: "WORKSPACE",
269
272
  children: "Workspace"
270
273
  }),
271
- /* @__PURE__ */ y("option", {
274
+ /* @__PURE__ */ b("option", {
272
275
  value: "PUBLIC",
273
276
  children: "Public"
274
277
  })
@@ -276,9 +279,9 @@ var N = ({ type: e }) => {
276
279
  })
277
280
  })]
278
281
  }),
279
- q.type !== "WEB_WIDGET" && /* @__PURE__ */ y(f, {
282
+ q.type !== "WEB_WIDGET" && /* @__PURE__ */ b(p, {
280
283
  label: "Credentials Reference",
281
- children: /* @__PURE__ */ y(p, {
284
+ children: /* @__PURE__ */ b(m, {
282
285
  placeholder: "e.g., secret-slack-token",
283
286
  value: q.credentialsRefId,
284
287
  onChange: (e) => J({
@@ -288,16 +291,16 @@ var N = ({ type: e }) => {
288
291
  })
289
292
  })
290
293
  ]
291
- })] }), q.type === "WEB_WIDGET" && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ y(s, { children: /* @__PURE__ */ b(c, {
294
+ })] }), q.type === "WEB_WIDGET" && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ x(d, {
292
295
  className: "flex items-center gap-2",
293
- children: [/* @__PURE__ */ y(je, { size: 18 }), "Widget Configuration"]
294
- }) }), /* @__PURE__ */ b(a, {
296
+ children: [/* @__PURE__ */ b(E, { size: 18 }), "Widget Configuration"]
297
+ }) }), /* @__PURE__ */ x(c, {
295
298
  className: "space-y-4",
296
299
  children: [
297
- /* @__PURE__ */ y(f, {
300
+ /* @__PURE__ */ b(p, {
298
301
  label: "Allowed Origins",
299
302
  description: "Comma-separated list of domains",
300
- children: /* @__PURE__ */ y(p, {
303
+ children: /* @__PURE__ */ b(m, {
301
304
  placeholder: "e.g., https://example.com, https://app.example.com",
302
305
  value: Y.allowedOrigins,
303
306
  onChange: (e) => X({
@@ -306,13 +309,13 @@ var N = ({ type: e }) => {
306
309
  })
307
310
  })
308
311
  }),
309
- /* @__PURE__ */ b("div", {
312
+ /* @__PURE__ */ x("div", {
310
313
  className: "grid grid-cols-2 gap-4",
311
- children: [/* @__PURE__ */ y(f, {
314
+ children: [/* @__PURE__ */ b(p, {
312
315
  label: "Primary Color",
313
- children: /* @__PURE__ */ b("div", {
316
+ children: /* @__PURE__ */ x("div", {
314
317
  className: "flex gap-2",
315
- children: [/* @__PURE__ */ y("input", {
318
+ children: [/* @__PURE__ */ b("input", {
316
319
  type: "color",
317
320
  value: Y.primaryColor,
318
321
  onChange: (e) => X({
@@ -320,7 +323,7 @@ var N = ({ type: e }) => {
320
323
  primaryColor: e.target.value
321
324
  }),
322
325
  className: "h-10 w-16 rounded border border-border-default"
323
- }), /* @__PURE__ */ y(p, {
326
+ }), /* @__PURE__ */ b(m, {
324
327
  value: Y.primaryColor,
325
328
  onChange: (e) => X({
326
329
  ...Y,
@@ -328,9 +331,9 @@ var N = ({ type: e }) => {
328
331
  })
329
332
  })]
330
333
  })
331
- }), /* @__PURE__ */ y(f, {
334
+ }), /* @__PURE__ */ b(p, {
332
335
  label: "Font Family",
333
- children: /* @__PURE__ */ y(p, {
336
+ children: /* @__PURE__ */ b(m, {
334
337
  value: Y.fontFamily,
335
338
  onChange: (e) => X({
336
339
  ...Y,
@@ -339,10 +342,10 @@ var N = ({ type: e }) => {
339
342
  })
340
343
  })]
341
344
  }),
342
- /* @__PURE__ */ y(f, {
345
+ /* @__PURE__ */ b(p, {
343
346
  label: "Starter Prompts",
344
347
  description: "One per line",
345
- children: /* @__PURE__ */ y(m, {
348
+ children: /* @__PURE__ */ b(h, {
346
349
  placeholder: "What can you help me with?",
347
350
  value: Y.starterPrompts,
348
351
  onChange: (e) => X({
@@ -356,105 +359,114 @@ var N = ({ type: e }) => {
356
359
  })] })]
357
360
  })
358
361
  });
359
- if (Ie) return /* @__PURE__ */ y(r, {
362
+ if (Re) return /* @__PURE__ */ b(a, {
360
363
  title: "Loading...",
361
- children: /* @__PURE__ */ y("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
364
+ children: /* @__PURE__ */ b("div", { className: "h-96 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" })
362
365
  });
363
- if (!L) return /* @__PURE__ */ y(r, {
366
+ if (!L) return /* @__PURE__ */ b(a, {
364
367
  title: "Connector Not Found",
365
- children: /* @__PURE__ */ y(d, {
368
+ children: /* @__PURE__ */ b(ie, {
366
369
  illustration: "empty-notifications",
367
370
  title: "Connector Not Found",
368
371
  description: "This channel connector doesn't exist.",
369
- action: /* @__PURE__ */ y(l, {
370
- onClick: () => P("channels"),
372
+ action: /* @__PURE__ */ b(o, {
373
+ onClick: () => F("channels"),
371
374
  children: "Back to Channels"
372
375
  })
373
376
  })
374
377
  });
375
- let Z = Le?.filter((e) => e.connectorId === L.id) || [], Q = _(L.type, j, "CUSTOM"), $ = h(L);
376
- return /* @__PURE__ */ y(r, {
377
- title: /* @__PURE__ */ b("div", {
378
+ let Z = ze?.filter((e) => e.connectorId === L.id) || [], Q = v(L.type, P, "CUSTOM"), $ = g(L);
379
+ return /* @__PURE__ */ b(a, {
380
+ title: /* @__PURE__ */ x("div", {
378
381
  className: "flex items-center gap-3",
379
382
  children: [
380
- /* @__PURE__ */ y(l, {
383
+ /* @__PURE__ */ b(o, {
381
384
  variant: "ghost",
382
385
  size: "icon",
383
- onClick: () => P("channels"),
384
- children: /* @__PURE__ */ y(we, { size: 20 })
386
+ onClick: () => F("channels"),
387
+ children: /* @__PURE__ */ b(Te, { size: 20 })
385
388
  }),
386
- /* @__PURE__ */ y("div", {
389
+ /* @__PURE__ */ b("div", {
387
390
  className: "p-2 rounded-lg bg-action-primary-bg/10",
388
- children: /* @__PURE__ */ y(N, { type: Q })
391
+ children: /* @__PURE__ */ b(Ie, { type: Q })
389
392
  }),
390
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("div", {
393
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
391
394
  className: "flex items-center gap-2",
392
- children: [/* @__PURE__ */ y("span", { children: L.name }), /* @__PURE__ */ y(ee, { status: L.status })]
393
- }), /* @__PURE__ */ y("p", {
395
+ children: [/* @__PURE__ */ b("span", { children: L.name }), /* @__PURE__ */ b(ee, { status: L.status })]
396
+ }), /* @__PURE__ */ b("p", {
394
397
  className: "text-sm font-normal text-text-secondary",
395
398
  children: L.description
396
399
  })] })
397
400
  ]
398
401
  }),
399
- actions: /* @__PURE__ */ b("div", {
402
+ actions: /* @__PURE__ */ x("div", {
400
403
  className: "flex gap-2",
401
- children: [/* @__PURE__ */ y(l, {
402
- variant: "outline",
403
- leftIcon: /* @__PURE__ */ y(w, { size: 16 }),
404
- onClick: () => W(!0),
405
- children: "Add Route"
406
- }), ot ? /* @__PURE__ */ b(xe, { children: [/* @__PURE__ */ y(l, {
404
+ children: [/* @__PURE__ */ b(i, {
405
+ permission: r.CHANNEL_CREATE,
406
+ children: /* @__PURE__ */ b(o, {
407
+ variant: "outline",
408
+ leftIcon: /* @__PURE__ */ b(D, { size: 16 }),
409
+ onClick: () => W(!0),
410
+ children: "Add Route"
411
+ })
412
+ }), H ? /* @__PURE__ */ x(Se, { children: [/* @__PURE__ */ b(o, {
407
413
  variant: "outline",
408
414
  onClick: () => U(!1),
409
415
  children: "Cancel"
410
- }), /* @__PURE__ */ y(l, {
411
- leftIcon: /* @__PURE__ */ y(E, { size: 16 }),
412
- onClick: ft,
413
- isLoading: He.loading,
416
+ }), /* @__PURE__ */ b(o, {
417
+ leftIcon: /* @__PURE__ */ b(k, { size: 16 }),
418
+ onClick: mt,
419
+ isLoading: Ge.loading,
414
420
  children: "Save"
415
- })] }) : /* @__PURE__ */ b(xe, { children: [/* @__PURE__ */ y(l, {
416
- variant: "outline",
417
- leftIcon: /* @__PURE__ */ y(Oe, { size: 16 }),
418
- onClick: ht,
419
- children: "Edit"
420
- }), st ? /* @__PURE__ */ b("div", {
421
+ })] }) : /* @__PURE__ */ x(Se, { children: [/* @__PURE__ */ b(i, {
422
+ permission: r.CHANNEL_UPDATE,
423
+ children: /* @__PURE__ */ b(o, {
424
+ variant: "outline",
425
+ leftIcon: /* @__PURE__ */ b(ke, { size: 16 }),
426
+ onClick: _t,
427
+ children: "Edit"
428
+ })
429
+ }), lt ? /* @__PURE__ */ x("div", {
421
430
  className: "flex gap-2",
422
- children: [/* @__PURE__ */ y(l, {
431
+ children: [/* @__PURE__ */ b(o, {
423
432
  variant: "outline",
424
433
  size: "sm",
425
- onClick: () => ct(!1),
434
+ onClick: () => ut(!1),
426
435
  children: "Cancel"
427
- }), /* @__PURE__ */ y(l, {
436
+ }), /* @__PURE__ */ b(o, {
428
437
  variant: "destructive",
429
438
  size: "sm",
430
439
  onClick: () => {
431
- ne("medium"), pt();
440
+ ne("medium"), ht();
432
441
  },
433
- isLoading: We.loading,
442
+ isLoading: qe.loading,
434
443
  children: "Confirm"
435
444
  })]
436
- }) : /* @__PURE__ */ y(l, {
437
- variant: "destructive",
438
- leftIcon: /* @__PURE__ */ y(Ne, { size: 16 }),
439
- onClick: () => ct(!0),
440
- children: "Delete"
445
+ }) : /* @__PURE__ */ b(i, {
446
+ permission: r.CHANNEL_DELETE,
447
+ children: /* @__PURE__ */ b(o, {
448
+ variant: "destructive",
449
+ leftIcon: /* @__PURE__ */ b(Me, { size: 16 }),
450
+ onClick: () => ut(!0),
451
+ children: "Delete"
452
+ })
441
453
  })] })]
442
454
  }),
443
- children: /* @__PURE__ */ b("div", {
455
+ children: /* @__PURE__ */ x("div", {
444
456
  className: "space-y-6",
445
457
  children: [
446
- /* @__PURE__ */ y(be, {
447
- icon: /* @__PURE__ */ y(T, { size: 18 }),
458
+ /* @__PURE__ */ b(xe, {
459
+ icon: /* @__PURE__ */ b(O, { size: 18 }),
448
460
  children: "This connector links BotManor to one messaging platform. From here you add routes — each mapping a specific location on the channel (a Slack channel, a widget, a number) to the bot that should answer there — tweak the connector’s settings, and manage its connection. Set up at least one route so messages on this channel reach a bot."
449
461
  }),
450
- /* @__PURE__ */ y(ye, {
462
+ /* @__PURE__ */ b(be, {
451
463
  storageKey: `botlit-channel-${L.id}`,
452
464
  steps: [
453
465
  {
454
466
  id: "route",
455
467
  label: "Add a route",
456
468
  description: "Point an incoming location on this channel at one of your bots.",
457
- icon: /* @__PURE__ */ y(w, { size: 16 }),
469
+ icon: /* @__PURE__ */ b(D, { size: 16 }),
458
470
  onClick: () => W(!0),
459
471
  done: Z.length > 0
460
472
  },
@@ -462,35 +474,35 @@ var N = ({ type: e }) => {
462
474
  id: "edit",
463
475
  label: "Review connector settings",
464
476
  description: "Confirm the name, visibility and channel-specific configuration.",
465
- icon: /* @__PURE__ */ y(D, { size: 16 }),
466
- onClick: ht
477
+ icon: /* @__PURE__ */ b(A, { size: 16 }),
478
+ onClick: _t
467
479
  },
468
480
  {
469
481
  id: "bots",
470
482
  label: "Check your bots",
471
483
  description: "Make sure the bot you are routing to is active and configured.",
472
- icon: /* @__PURE__ */ y(C, { size: 16 }),
473
- onClick: () => P("bots")
484
+ icon: /* @__PURE__ */ b(T, { size: 16 }),
485
+ onClick: () => F("bots")
474
486
  }
475
487
  ]
476
488
  }),
477
- lt && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ b(s, {
489
+ dt && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, {
478
490
  className: "flex flex-row items-center justify-between",
479
- children: [/* @__PURE__ */ y(c, { children: "Add Route" }), /* @__PURE__ */ y(l, {
491
+ children: [/* @__PURE__ */ b(d, { children: "Add Route" }), /* @__PURE__ */ b(o, {
480
492
  variant: "ghost",
481
493
  size: "icon",
482
494
  onClick: () => W(!1),
483
- children: /* @__PURE__ */ y(k, { size: 16 })
495
+ children: /* @__PURE__ */ b(M, { size: 16 })
484
496
  })]
485
- }), /* @__PURE__ */ b(a, {
497
+ }), /* @__PURE__ */ x(c, {
486
498
  className: "space-y-4",
487
499
  children: [
488
- /* @__PURE__ */ b("div", {
500
+ /* @__PURE__ */ x("div", {
489
501
  className: "grid grid-cols-2 gap-4",
490
- children: [/* @__PURE__ */ y(f, {
502
+ children: [/* @__PURE__ */ b(p, {
491
503
  label: "Location ID",
492
504
  required: !0,
493
- children: /* @__PURE__ */ y(p, {
505
+ children: /* @__PURE__ */ b(m, {
494
506
  placeholder: "e.g., #general or channel ID",
495
507
  value: G.locationId,
496
508
  onChange: (e) => K({
@@ -498,9 +510,9 @@ var N = ({ type: e }) => {
498
510
  locationId: e.target.value
499
511
  })
500
512
  })
501
- }), /* @__PURE__ */ y(f, {
513
+ }), /* @__PURE__ */ b(p, {
502
514
  label: "Location Name",
503
- children: /* @__PURE__ */ y(p, {
515
+ children: /* @__PURE__ */ b(m, {
504
516
  placeholder: "Friendly name (optional)",
505
517
  value: G.locationName,
506
518
  onChange: (e) => K({
@@ -510,47 +522,47 @@ var N = ({ type: e }) => {
510
522
  })
511
523
  })]
512
524
  }),
513
- /* @__PURE__ */ y(f, {
525
+ /* @__PURE__ */ b(p, {
514
526
  label: "Connect to Bot",
515
527
  required: !0,
516
- children: /* @__PURE__ */ b("select", {
528
+ children: /* @__PURE__ */ x("select", {
517
529
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
518
530
  value: G.botId,
519
531
  onChange: (e) => K({
520
532
  ...G,
521
533
  botId: e.target.value
522
534
  }),
523
- children: [/* @__PURE__ */ y("option", {
535
+ children: [/* @__PURE__ */ b("option", {
524
536
  value: "",
525
537
  children: "Select a bot..."
526
- }), R?.map((e) => /* @__PURE__ */ y("option", {
538
+ }), Ve?.map((e) => /* @__PURE__ */ b("option", {
527
539
  value: e.id,
528
540
  children: e.name
529
541
  }, e.id))]
530
542
  })
531
543
  }),
532
- /* @__PURE__ */ b("div", {
544
+ /* @__PURE__ */ x("div", {
533
545
  className: "flex justify-end gap-2",
534
- children: [/* @__PURE__ */ y(l, {
546
+ children: [/* @__PURE__ */ b(o, {
535
547
  variant: "outline",
536
548
  onClick: () => W(!1),
537
549
  children: "Cancel"
538
- }), /* @__PURE__ */ y(l, {
539
- onClick: mt,
540
- isLoading: Ke.loading,
550
+ }), /* @__PURE__ */ b(o, {
551
+ onClick: gt,
552
+ isLoading: Ye.loading,
541
553
  disabled: !G.locationId || !G.botId,
542
554
  children: "Add Route"
543
555
  })]
544
556
  })
545
557
  ]
546
558
  })] }),
547
- ot && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ y(s, { children: /* @__PURE__ */ y(c, { children: "Edit Channel" }) }), /* @__PURE__ */ b(a, {
559
+ H && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ b(d, { children: "Edit Channel" }) }), /* @__PURE__ */ x(c, {
548
560
  className: "space-y-4",
549
561
  children: [
550
- /* @__PURE__ */ y(f, {
562
+ /* @__PURE__ */ b(p, {
551
563
  label: "Connector Name",
552
564
  required: !0,
553
- children: /* @__PURE__ */ y(p, {
565
+ children: /* @__PURE__ */ b(m, {
554
566
  value: q.name,
555
567
  onChange: (e) => J({
556
568
  ...q,
@@ -558,9 +570,9 @@ var N = ({ type: e }) => {
558
570
  })
559
571
  })
560
572
  }),
561
- /* @__PURE__ */ y(f, {
573
+ /* @__PURE__ */ b(p, {
562
574
  label: "Description",
563
- children: /* @__PURE__ */ y(m, {
575
+ children: /* @__PURE__ */ b(h, {
564
576
  value: q.description,
565
577
  onChange: (e) => J({
566
578
  ...q,
@@ -569,9 +581,9 @@ var N = ({ type: e }) => {
569
581
  rows: 2
570
582
  })
571
583
  }),
572
- /* @__PURE__ */ y(f, {
584
+ /* @__PURE__ */ b(p, {
573
585
  label: "Visibility",
574
- children: /* @__PURE__ */ b("select", {
586
+ children: /* @__PURE__ */ x("select", {
575
587
  className: "flex h-10 w-full rounded-md border border-border-default bg-bg-surface px-3 py-2 text-sm",
576
588
  value: q.visibility,
577
589
  onChange: (e) => J({
@@ -579,15 +591,15 @@ var N = ({ type: e }) => {
579
591
  visibility: e.target.value
580
592
  }),
581
593
  children: [
582
- /* @__PURE__ */ y("option", {
594
+ /* @__PURE__ */ b("option", {
583
595
  value: "PRIVATE",
584
596
  children: "Private"
585
597
  }),
586
- /* @__PURE__ */ y("option", {
598
+ /* @__PURE__ */ b("option", {
587
599
  value: "WORKSPACE",
588
600
  children: "Workspace"
589
601
  }),
590
- /* @__PURE__ */ y("option", {
602
+ /* @__PURE__ */ b("option", {
591
603
  value: "PUBLIC",
592
604
  children: "Public"
593
605
  })
@@ -596,222 +608,228 @@ var N = ({ type: e }) => {
596
608
  })
597
609
  ]
598
610
  })] }),
599
- /* @__PURE__ */ b("div", {
611
+ /* @__PURE__ */ x("div", {
600
612
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
601
613
  children: [
602
- /* @__PURE__ */ y(i, { children: /* @__PURE__ */ b(a, {
614
+ /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
603
615
  className: "pt-6 text-center",
604
616
  children: [
605
- /* @__PURE__ */ y("div", {
617
+ /* @__PURE__ */ b("div", {
606
618
  className: "p-3 rounded-full bg-action-primary-bg/10 w-fit mx-auto mb-2",
607
- children: /* @__PURE__ */ y(N, { type: Q })
619
+ children: /* @__PURE__ */ b(Ie, { type: Q })
608
620
  }),
609
- /* @__PURE__ */ y("p", {
621
+ /* @__PURE__ */ b("p", {
610
622
  className: "text-lg font-bold capitalize",
611
623
  children: L.type.toLowerCase().replace("_", " ")
612
624
  }),
613
- /* @__PURE__ */ y("p", {
625
+ /* @__PURE__ */ b("p", {
614
626
  className: "text-sm text-text-secondary",
615
627
  children: "Channel Type"
616
628
  })
617
629
  ]
618
630
  }) }),
619
- /* @__PURE__ */ b(ve, {
631
+ /* @__PURE__ */ x(ye, {
620
632
  treatment: "glass",
621
633
  glow: !0,
622
634
  className: "p-6 text-center",
623
- children: [/* @__PURE__ */ y("p", {
635
+ children: [/* @__PURE__ */ b("p", {
624
636
  className: "text-3xl font-bold tabular-nums text-text-primary",
625
637
  children: Z.length
626
- }), /* @__PURE__ */ y("p", {
638
+ }), /* @__PURE__ */ b("p", {
627
639
  className: "text-sm text-text-secondary",
628
640
  children: "Active Routes"
629
641
  })]
630
642
  }),
631
- /* @__PURE__ */ y(i, { children: /* @__PURE__ */ b(a, {
643
+ /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
632
644
  className: "pt-6 text-center",
633
- children: [/* @__PURE__ */ y("p", {
645
+ children: [/* @__PURE__ */ b("p", {
634
646
  className: "text-3xl font-bold text-text-primary capitalize",
635
647
  children: L.visibility.toLowerCase()
636
- }), /* @__PURE__ */ y("p", {
648
+ }), /* @__PURE__ */ b("p", {
637
649
  className: "text-sm text-text-secondary",
638
650
  children: "Visibility"
639
651
  })]
640
652
  }) }),
641
- /* @__PURE__ */ y(i, { children: /* @__PURE__ */ b(a, {
653
+ /* @__PURE__ */ b(s, { children: /* @__PURE__ */ x(c, {
642
654
  className: "pt-6 text-center",
643
- children: [/* @__PURE__ */ y("p", {
655
+ children: [/* @__PURE__ */ b("p", {
644
656
  className: "text-3xl font-bold text-text-primary",
645
657
  children: L.revision
646
- }), /* @__PURE__ */ y("p", {
658
+ }), /* @__PURE__ */ b("p", {
647
659
  className: "text-sm text-text-secondary",
648
660
  children: "Revision"
649
661
  })]
650
662
  }) })
651
663
  ]
652
664
  }),
653
- $ && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ y(s, { children: /* @__PURE__ */ b(c, {
665
+ $ && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ x(d, {
654
666
  className: "flex items-center gap-2",
655
- children: [/* @__PURE__ */ y(je, { size: 18 }), "Widget Configuration"]
656
- }) }), /* @__PURE__ */ b(a, { children: [/* @__PURE__ */ b("div", {
667
+ children: [/* @__PURE__ */ b(E, { size: 18 }), "Widget Configuration"]
668
+ }) }), /* @__PURE__ */ x(c, { children: [/* @__PURE__ */ x("div", {
657
669
  className: "grid grid-cols-2 md:grid-cols-3 gap-6",
658
670
  children: [
659
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
671
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
660
672
  className: "text-sm text-text-secondary",
661
673
  children: "Allowed Origins"
662
- }), $.allowedOrigins.length > 0 ? /* @__PURE__ */ y("div", {
674
+ }), $.allowedOrigins.length > 0 ? /* @__PURE__ */ b("div", {
663
675
  className: "flex flex-wrap gap-1 mt-1",
664
- children: $.allowedOrigins.map((e) => /* @__PURE__ */ y(u, {
676
+ children: $.allowedOrigins.map((e) => /* @__PURE__ */ b(f, {
665
677
  variant: "outline",
666
678
  className: "font-mono text-xs",
667
679
  children: e
668
680
  }, e))
669
- }) : /* @__PURE__ */ y("p", {
681
+ }) : /* @__PURE__ */ b("p", {
670
682
  className: "font-medium",
671
683
  children: "Any origin"
672
684
  })] }),
673
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
685
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
674
686
  className: "text-sm text-text-secondary",
675
687
  children: "Theme"
676
- }), /* @__PURE__ */ b("div", {
688
+ }), /* @__PURE__ */ x("div", {
677
689
  className: "flex items-center gap-2 mt-1",
678
- children: [/* @__PURE__ */ y("div", {
690
+ children: [/* @__PURE__ */ b("div", {
679
691
  className: "w-6 h-6 rounded border border-border-subtle",
680
692
  style: { backgroundColor: $.primaryColor }
681
- }), /* @__PURE__ */ y("span", {
693
+ }), /* @__PURE__ */ b("span", {
682
694
  className: "font-mono text-sm",
683
695
  children: $.primaryColor
684
696
  })]
685
697
  })] }),
686
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
698
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
687
699
  className: "text-sm text-text-secondary",
688
700
  children: "Font Family"
689
- }), /* @__PURE__ */ y("p", {
701
+ }), /* @__PURE__ */ b("p", {
690
702
  className: "font-medium",
691
703
  children: $.fontFamily
692
704
  })] })
693
705
  ]
694
- }), $.starterPrompts.length > 0 && /* @__PURE__ */ b("div", {
706
+ }), $.starterPrompts.length > 0 && /* @__PURE__ */ x("div", {
695
707
  className: "mt-4 pt-4 border-t border-border-subtle",
696
- children: [/* @__PURE__ */ y("p", {
708
+ children: [/* @__PURE__ */ b("p", {
697
709
  className: "text-sm text-text-secondary mb-2",
698
710
  children: "Starter Prompts"
699
- }), /* @__PURE__ */ y("div", {
711
+ }), /* @__PURE__ */ b("div", {
700
712
  className: "flex flex-wrap gap-2",
701
- children: $.starterPrompts.map((e, t) => /* @__PURE__ */ y(u, {
713
+ children: $.starterPrompts.map((e, t) => /* @__PURE__ */ b(f, {
702
714
  variant: "secondary",
703
715
  children: e
704
716
  }, t))
705
717
  })]
706
718
  })] })] }),
707
- /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ b(s, {
719
+ /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, {
708
720
  className: "flex flex-row items-center justify-between",
709
- children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y(c, { children: "Routes" }), /* @__PURE__ */ y(o, { children: "Routes connect this channel to your bots" })] }), /* @__PURE__ */ y(l, {
710
- variant: "outline",
711
- size: "sm",
712
- leftIcon: /* @__PURE__ */ y(w, { size: 14 }),
713
- onClick: () => W(!0),
714
- children: "Add Route"
721
+ children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b(d, { children: "Routes" }), /* @__PURE__ */ b(l, { children: "Routes connect this channel to your bots" })] }), /* @__PURE__ */ b(i, {
722
+ permission: r.CHANNEL_CREATE,
723
+ children: /* @__PURE__ */ b(o, {
724
+ variant: "outline",
725
+ size: "sm",
726
+ leftIcon: /* @__PURE__ */ b(D, { size: 14 }),
727
+ onClick: () => W(!0),
728
+ children: "Add Route"
729
+ })
715
730
  })]
716
- }), /* @__PURE__ */ y(a, { children: Z.length > 0 ? /* @__PURE__ */ y("div", {
731
+ }), /* @__PURE__ */ b(c, { children: Z.length > 0 ? /* @__PURE__ */ b("div", {
717
732
  className: "space-y-3",
718
- children: Z.map((e) => /* @__PURE__ */ b("div", {
733
+ children: Z.map((e) => /* @__PURE__ */ x("div", {
719
734
  className: "flex items-center justify-between p-4 border border-border-subtle rounded-lg",
720
- children: [/* @__PURE__ */ b("div", {
735
+ children: [/* @__PURE__ */ x("div", {
721
736
  className: "flex items-center gap-4",
722
- children: [/* @__PURE__ */ y("div", {
737
+ children: [/* @__PURE__ */ b("div", {
723
738
  className: "p-2 rounded-lg bg-bg-sunken",
724
- children: /* @__PURE__ */ y(C, {
739
+ children: /* @__PURE__ */ b(T, {
725
740
  size: 18,
726
741
  className: "text-text-secondary"
727
742
  })
728
- }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
743
+ }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
729
744
  className: "font-medium",
730
- children: g(e, "locationName") ?? e.locationId
731
- }), /* @__PURE__ */ b("p", {
745
+ children: _(e, "locationName") ?? e.locationId
746
+ }), /* @__PURE__ */ x("p", {
732
747
  className: "text-sm text-text-secondary",
733
- children: ["Connected to: ", g(e, "appName") ?? e.appId]
748
+ children: ["Connected to: ", _(e, "appName") ?? e.appId]
734
749
  })] })]
735
- }), /* @__PURE__ */ b("div", {
750
+ }), /* @__PURE__ */ x("div", {
736
751
  className: "flex items-center gap-2",
737
- children: [/* @__PURE__ */ b(u, {
752
+ children: [/* @__PURE__ */ x(f, {
738
753
  variant: "outline",
739
754
  children: ["Rev ", e.revision]
740
- }), /* @__PURE__ */ y(l, {
755
+ }), /* @__PURE__ */ b(o, {
741
756
  variant: "ghost",
742
757
  size: "sm",
743
- children: /* @__PURE__ */ y(ke, { size: 14 })
758
+ children: /* @__PURE__ */ b(Ae, { size: 14 })
744
759
  })]
745
760
  })]
746
761
  }, e.id))
747
- }) : /* @__PURE__ */ y(d, {
762
+ }) : /* @__PURE__ */ b(ie, {
748
763
  illustration: "empty-data",
749
764
  title: "No routes configured",
750
765
  description: "Add a route to connect this channel to a bot.",
751
- action: /* @__PURE__ */ y(l, {
752
- leftIcon: /* @__PURE__ */ y(w, { size: 16 }),
753
- onClick: () => W(!0),
754
- children: "Add Route"
766
+ action: /* @__PURE__ */ b(i, {
767
+ permission: r.CHANNEL_CREATE,
768
+ children: /* @__PURE__ */ b(o, {
769
+ leftIcon: /* @__PURE__ */ b(D, { size: 16 }),
770
+ onClick: () => W(!0),
771
+ children: "Add Route"
772
+ })
755
773
  })
756
774
  }) })] }),
757
- L.type === "SLACK" && L.credentialsRefId && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ b(s, { children: [/* @__PURE__ */ b(c, {
775
+ L.type === "SLACK" && L.credentialsRefId && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
758
776
  className: "flex items-center gap-2",
759
- children: [/* @__PURE__ */ y(O, { size: 18 }), "Your Slack Account"]
760
- }), /* @__PURE__ */ y(o, { children: "Connect your personal Slack account to receive direct messages from this bot" })] }), /* @__PURE__ */ b(a, { children: [tt && /* @__PURE__ */ b("div", {
777
+ children: [/* @__PURE__ */ b(j, { size: 18 }), "Your Slack Account"]
778
+ }), /* @__PURE__ */ b(l, { children: "Connect your personal Slack account to receive direct messages from this bot" })] }), /* @__PURE__ */ x(c, { children: [it && /* @__PURE__ */ x("div", {
761
779
  className: "mb-4 flex items-start gap-2 rounded-lg border border-status-error-border/40 bg-status-error-bg/10 px-3 py-2 text-sm text-status-error-text",
762
- children: [/* @__PURE__ */ y("span", { children: tt }), /* @__PURE__ */ y("button", {
763
- onClick: () => H(null),
780
+ children: [/* @__PURE__ */ b("span", { children: it }), /* @__PURE__ */ b("button", {
781
+ onClick: () => V(null),
764
782
  className: "ml-auto cursor-pointer text-status-error-text/70 hover:text-status-error-text",
765
- children: /* @__PURE__ */ y(k, { size: 14 })
783
+ children: /* @__PURE__ */ b(M, { size: 14 })
766
784
  })]
767
- }), Xe ? /* @__PURE__ */ b("div", {
785
+ }), $e ? /* @__PURE__ */ x("div", {
768
786
  className: "flex items-center gap-2 py-4 text-text-secondary",
769
- children: [/* @__PURE__ */ y(Ae, {
787
+ children: [/* @__PURE__ */ b(w, {
770
788
  size: 16,
771
789
  className: "animate-spin"
772
- }), /* @__PURE__ */ y("span", {
790
+ }), /* @__PURE__ */ b("span", {
773
791
  className: "text-sm",
774
792
  children: "Linking Slack connection..."
775
793
  })]
776
- }) : qe ? /* @__PURE__ */ b("div", {
794
+ }) : Xe ? /* @__PURE__ */ x("div", {
777
795
  className: "flex items-center gap-2 py-4 text-text-secondary",
778
- children: [/* @__PURE__ */ y(Ae, {
796
+ children: [/* @__PURE__ */ b(w, {
779
797
  size: 16,
780
798
  className: "animate-spin"
781
- }), /* @__PURE__ */ y("span", {
799
+ }), /* @__PURE__ */ b("span", {
782
800
  className: "text-sm",
783
801
  children: "Checking connection..."
784
802
  })]
785
- }) : B && B.dmAllowed ? /* @__PURE__ */ b("div", {
803
+ }) : z && z.dmAllowed ? /* @__PURE__ */ x("div", {
786
804
  className: "space-y-4",
787
805
  children: [
788
- /* @__PURE__ */ b("div", {
806
+ /* @__PURE__ */ x("div", {
789
807
  className: "flex items-center gap-3 p-3 rounded-lg bg-bg-sunken",
790
808
  children: [
791
- /* @__PURE__ */ y(De, {
809
+ /* @__PURE__ */ b(Oe, {
792
810
  size: 20,
793
811
  className: "text-green-600 shrink-0"
794
812
  }),
795
- /* @__PURE__ */ b("div", {
813
+ /* @__PURE__ */ x("div", {
796
814
  className: "min-w-0 flex-1",
797
815
  children: [
798
- /* @__PURE__ */ y("p", {
816
+ /* @__PURE__ */ b("p", {
799
817
  className: "font-medium text-sm",
800
- children: B.externalDisplayName || B.externalUsername || B.externalUserId
818
+ children: z.externalDisplayName || z.externalUsername || z.externalUserId
801
819
  }),
802
- B.externalUsername && B.externalDisplayName && /* @__PURE__ */ b("p", {
820
+ z.externalUsername && z.externalDisplayName && /* @__PURE__ */ x("p", {
803
821
  className: "text-xs text-text-secondary",
804
- children: ["@", B.externalUsername]
822
+ children: ["@", z.externalUsername]
805
823
  }),
806
- B.connectedAt && /* @__PURE__ */ b("p", {
824
+ z.connectedAt && /* @__PURE__ */ x("p", {
807
825
  className: "text-xs text-text-secondary",
808
- children: ["Connected ", new Date(B.connectedAt).toLocaleDateString()]
826
+ children: ["Connected ", new Date(z.connectedAt).toLocaleDateString()]
809
827
  })
810
828
  ]
811
829
  }),
812
- /* @__PURE__ */ y("div", {
830
+ /* @__PURE__ */ b("div", {
813
831
  className: "flex items-center gap-1",
814
- children: B.isTokenExpired && /* @__PURE__ */ y(u, {
832
+ children: z.isTokenExpired && /* @__PURE__ */ b(f, {
815
833
  variant: "outline",
816
834
  className: "text-xs text-amber-600 border-amber-400",
817
835
  children: "Token expired"
@@ -819,126 +837,126 @@ var N = ({ type: e }) => {
819
837
  })
820
838
  ]
821
839
  }),
822
- /* @__PURE__ */ b("div", {
840
+ /* @__PURE__ */ x("div", {
823
841
  className: "flex items-center justify-between p-3 border border-border-subtle rounded-lg",
824
- children: [/* @__PURE__ */ b("div", {
842
+ children: [/* @__PURE__ */ x("div", {
825
843
  className: "flex items-center gap-2",
826
- children: [B.notificationsEnabled ? /* @__PURE__ */ y(Te, {
844
+ children: [z.notificationsEnabled ? /* @__PURE__ */ b(Ee, {
827
845
  size: 16,
828
846
  className: "text-primary"
829
- }) : /* @__PURE__ */ y(Ee, {
847
+ }) : /* @__PURE__ */ b(De, {
830
848
  size: 16,
831
849
  className: "text-text-secondary"
832
- }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
850
+ }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
833
851
  className: "text-sm font-medium",
834
852
  children: "DM Notifications"
835
- }), /* @__PURE__ */ y("p", {
853
+ }), /* @__PURE__ */ b("p", {
836
854
  className: "text-xs text-text-secondary",
837
- children: B.notificationsEnabled ? "You will receive bot DMs" : "DM notifications are paused"
855
+ children: z.notificationsEnabled ? "You will receive bot DMs" : "DM notifications are paused"
838
856
  })] })]
839
- }), /* @__PURE__ */ y(l, {
857
+ }), /* @__PURE__ */ b(o, {
840
858
  variant: "outline",
841
859
  size: "sm",
842
- onClick: it,
843
- isLoading: Qe,
844
- children: B.notificationsEnabled ? "Disable" : "Enable"
860
+ onClick: st,
861
+ isLoading: tt,
862
+ children: z.notificationsEnabled ? "Disable" : "Enable"
845
863
  })]
846
864
  }),
847
- /* @__PURE__ */ b("div", {
865
+ /* @__PURE__ */ x("div", {
848
866
  className: "flex gap-2 justify-end pt-2",
849
- children: [B.isTokenExpired && /* @__PURE__ */ y(l, {
867
+ children: [z.isTokenExpired && /* @__PURE__ */ b(o, {
850
868
  variant: "outline",
851
869
  size: "sm",
852
- leftIcon: /* @__PURE__ */ y(O, { size: 14 }),
853
- onClick: rt,
870
+ leftIcon: /* @__PURE__ */ b(j, { size: 14 }),
871
+ onClick: ot,
854
872
  children: "Reconnect"
855
- }), /* @__PURE__ */ y(l, {
873
+ }), /* @__PURE__ */ b(o, {
856
874
  variant: "destructive",
857
875
  size: "sm",
858
- leftIcon: /* @__PURE__ */ y(Pe, { size: 14 }),
859
- onClick: at,
860
- isLoading: et,
876
+ leftIcon: /* @__PURE__ */ b(Ne, { size: 14 }),
877
+ onClick: ct,
878
+ isLoading: rt,
861
879
  children: "Disconnect"
862
880
  })]
863
881
  })
864
882
  ]
865
- }) : /* @__PURE__ */ b("div", {
883
+ }) : /* @__PURE__ */ x("div", {
866
884
  className: "flex flex-col items-center gap-4 py-8 text-center",
867
885
  children: [
868
- /* @__PURE__ */ y("div", {
886
+ /* @__PURE__ */ b("div", {
869
887
  className: "p-4 rounded-full bg-bg-sunken",
870
- children: /* @__PURE__ */ y(O, {
888
+ children: /* @__PURE__ */ b(j, {
871
889
  size: 32,
872
890
  className: "text-text-secondary"
873
891
  })
874
892
  }),
875
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
893
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
876
894
  className: "font-medium",
877
895
  children: "No personal account connected"
878
- }), /* @__PURE__ */ y("p", {
896
+ }), /* @__PURE__ */ b("p", {
879
897
  className: "text-sm text-text-secondary mt-1",
880
898
  children: "Connect your Slack account so the bot can send you direct messages"
881
899
  })] }),
882
- /* @__PURE__ */ y(l, {
883
- leftIcon: /* @__PURE__ */ y(O, { size: 16 }),
884
- onClick: rt,
900
+ /* @__PURE__ */ b(o, {
901
+ leftIcon: /* @__PURE__ */ b(j, { size: 16 }),
902
+ onClick: ot,
885
903
  children: "Connect with Slack"
886
904
  })
887
905
  ]
888
906
  })] })] }),
889
- L.defaultPolicyBindings && /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ b(s, { children: [/* @__PURE__ */ b(c, {
907
+ L.defaultPolicyBindings && /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ x(u, { children: [/* @__PURE__ */ x(d, {
890
908
  className: "flex items-center gap-2",
891
- children: [/* @__PURE__ */ y(Me, { size: 18 }), "Default Policy Bindings"]
892
- }), /* @__PURE__ */ y(o, { children: "Default policies applied to all routes on this connector" })] }), /* @__PURE__ */ y(a, { children: /* @__PURE__ */ y("div", {
909
+ children: [/* @__PURE__ */ b(je, { size: 18 }), "Default Policy Bindings"]
910
+ }), /* @__PURE__ */ b(l, { children: "Default policies applied to all routes on this connector" })] }), /* @__PURE__ */ b(c, { children: /* @__PURE__ */ b("div", {
893
911
  className: "grid grid-cols-2 md:grid-cols-4 gap-4",
894
- children: Object.entries(L.defaultPolicyBindings).map(([e, t]) => t ? /* @__PURE__ */ b("div", {
912
+ children: Object.entries(L.defaultPolicyBindings).map(([e, t]) => t ? /* @__PURE__ */ x("div", {
895
913
  className: "p-3 bg-bg-sunken rounded-lg",
896
- children: [/* @__PURE__ */ y("p", {
914
+ children: [/* @__PURE__ */ b("p", {
897
915
  className: "text-xs text-text-secondary capitalize",
898
916
  children: e.replace("PolicyId", "").replace(/([A-Z])/g, " $1")
899
- }), /* @__PURE__ */ y("p", {
917
+ }), /* @__PURE__ */ b("p", {
900
918
  className: "font-medium text-sm truncate",
901
919
  children: String(t)
902
920
  })]
903
921
  }, e) : null)
904
922
  }) })] }),
905
- /* @__PURE__ */ b(i, { children: [/* @__PURE__ */ y(s, { children: /* @__PURE__ */ b(c, {
923
+ /* @__PURE__ */ x(s, { children: [/* @__PURE__ */ b(u, { children: /* @__PURE__ */ x(d, {
906
924
  className: "flex items-center gap-2",
907
- children: [/* @__PURE__ */ y(D, { size: 18 }), "Metadata"]
908
- }) }), /* @__PURE__ */ y(a, { children: /* @__PURE__ */ b("div", {
925
+ children: [/* @__PURE__ */ b(A, { size: 18 }), "Metadata"]
926
+ }) }), /* @__PURE__ */ b(c, { children: /* @__PURE__ */ x("div", {
909
927
  className: "grid grid-cols-2 md:grid-cols-4 gap-6 text-sm",
910
928
  children: [
911
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
929
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
912
930
  className: "text-text-secondary",
913
931
  children: "Created"
914
- }), /* @__PURE__ */ y("p", {
932
+ }), /* @__PURE__ */ b("p", {
915
933
  className: "font-medium",
916
934
  children: n(L.createdAt)
917
935
  })] }),
918
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
936
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
919
937
  className: "text-text-secondary",
920
938
  children: "Updated"
921
- }), /* @__PURE__ */ y("p", {
939
+ }), /* @__PURE__ */ b("p", {
922
940
  className: "font-medium",
923
941
  children: n(L.updatedAt)
924
942
  })] }),
925
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
943
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
926
944
  className: "text-text-secondary",
927
945
  children: "Credentials"
928
- }), /* @__PURE__ */ y("p", {
946
+ }), /* @__PURE__ */ b("p", {
929
947
  className: "font-medium",
930
948
  children: L.credentialsRefId || "Not configured"
931
949
  })] }),
932
- /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
950
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
933
951
  className: "text-text-secondary",
934
952
  children: "Tags"
935
- }), /* @__PURE__ */ y("div", {
953
+ }), /* @__PURE__ */ b("div", {
936
954
  className: "flex gap-1",
937
- children: L.tags.length > 0 ? L.tags.map((e) => /* @__PURE__ */ y(u, {
955
+ children: L.tags.length > 0 ? L.tags.map((e) => /* @__PURE__ */ b(f, {
938
956
  variant: "secondary",
939
957
  className: "text-xs",
940
958
  children: e
941
- }, e)) : /* @__PURE__ */ y("span", {
959
+ }, e)) : /* @__PURE__ */ b("span", {
942
960
  className: "text-text-secondary",
943
961
  children: "None"
944
962
  })
@@ -950,6 +968,6 @@ var N = ({ type: e }) => {
950
968
  });
951
969
  };
952
970
  //#endregion
953
- export { P as ChannelDetailPage };
971
+ export { F as ChannelDetailPage };
954
972
 
955
973
  //# sourceMappingURL=ChannelDetailPage.js.map