@burdenoff/microfe-channel 2026.527.1 → 2026.530.2

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 (25) hide show
  1. package/dist/channel/ChannelRoutes.js +5 -5
  2. package/dist/channel/ChannelRoutes.js.map +1 -1
  3. package/dist/channel/constants/permissions.js +3 -0
  4. package/dist/channel/constants/permissions.js.map +1 -1
  5. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js +227 -221
  6. package/dist/channel/modules/channels/pages/ChannelDashboardPage.js.map +1 -1
  7. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js +392 -391
  8. package/dist/channel/modules/channels/pages/ChannelDetailsPage.js.map +1 -1
  9. package/dist/channel/modules/channels/pages/ChannelUsersPage.js +1 -1
  10. package/dist/channel/modules/channels/pages/ChannelUsersPage.js.map +1 -1
  11. package/dist/channel/modules/channels/pages/ChannelsListPage.js +216 -212
  12. package/dist/channel/modules/channels/pages/ChannelsListPage.js.map +1 -1
  13. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js +99 -98
  14. package/dist/channel/modules/channels/pages/ConnectionDetailsPage.js.map +1 -1
  15. package/dist/channel/modules/channels/pages/ConnectionsListPage.js +129 -126
  16. package/dist/channel/modules/channels/pages/ConnectionsListPage.js.map +1 -1
  17. package/dist/channel/modules/channels/pages/CreateChannelPage.js +40 -50
  18. package/dist/channel/modules/channels/pages/CreateChannelPage.js.map +1 -1
  19. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js +1 -1
  20. package/dist/channel/modules/channels/pages/DeliveryHistoryPage.js.map +1 -1
  21. package/dist/channel/modules/channels/pages/WebhookEventsPage.js +1 -1
  22. package/dist/channel/modules/channels/pages/WebhookEventsPage.js.map +1 -1
  23. package/dist/channel/pages/ChannelLandingPage.js +50 -34
  24. package/dist/channel/pages/ChannelLandingPage.js.map +1 -1
  25. package/package.json +2 -2
@@ -12,8 +12,8 @@ import { ChannelSettingsPage as u } from "./modules/channels/pages/ChannelSettin
12
12
  import { DeliveryHistoryPage as d } from "./modules/channels/pages/DeliveryHistoryPage.js";
13
13
  import { WebhookEventsPage as f } from "./modules/channels/pages/WebhookEventsPage.js";
14
14
  import { ChannelUsersPage as p } from "./modules/channels/pages/ChannelUsersPage.js";
15
- import { ChannelLandingPage as m } from "./pages/ChannelLandingPage.js";
16
- import { FeatureNotEnabled as h } from "./components/FeatureNotEnabled.js";
15
+ import { FeatureNotEnabled as m } from "./components/FeatureNotEnabled.js";
16
+ import { ChannelLandingPage as h } from "./pages/ChannelLandingPage.js";
17
17
  import { Navigate as g, Route as _, Routes as v } from "react-router-dom";
18
18
  import { jsx as y, jsxs as b } from "react/jsx-runtime";
19
19
  import { FeatureGate as x } from "@burdenoff/fe-libs/shared/feature-flags";
@@ -21,8 +21,8 @@ import { FeatureGate as x } from "@burdenoff/fe-libs/shared/feature-flags";
21
21
  function S(e, t) {
22
22
  return /* @__PURE__ */ y(x, {
23
23
  flag: e,
24
- defaultValue: !1,
25
- fallback: /* @__PURE__ */ y(h, { flag: e }),
24
+ defaultValue: !0,
25
+ fallback: /* @__PURE__ */ y(m, { flag: e }),
26
26
  children: t
27
27
  });
28
28
  }
@@ -30,7 +30,7 @@ function C() {
30
30
  return /* @__PURE__ */ b(v, { children: [
31
31
  /* @__PURE__ */ y(_, {
32
32
  index: !0,
33
- element: S("channels.dashboard", /* @__PURE__ */ y(m, {}))
33
+ element: S("channels.dashboard", /* @__PURE__ */ y(h, {}))
34
34
  }),
35
35
  /* @__PURE__ */ y(_, {
36
36
  path: "dashboard",
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelRoutes.js","names":[],"sources":["../../src/channel/ChannelRoutes.tsx"],"sourcesContent":["import { Navigate, Route, Routes } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { ChannelDashboardPage } from './modules/channels/pages/ChannelDashboardPage';\nimport { ChannelsListPage } from './modules/channels/pages/ChannelsListPage';\nimport { ChannelDetailsPage } from './modules/channels/pages/ChannelDetailsPage';\nimport { CreateChannelPage } from './modules/channels/pages/CreateChannelPage';\nimport { EditChannelPage } from './modules/channels/pages/EditChannelPage';\nimport { SendMessagePage } from './modules/channels/pages/SendMessagePage';\nimport { ConnectionsListPage } from './modules/channels/pages/ConnectionsListPage';\nimport { ConnectionDetailsPage } from './modules/channels/pages/ConnectionDetailsPage';\nimport { CreateConnectionPage } from './modules/channels/pages/CreateConnectionPage';\nimport { EditConnectionPage } from './modules/channels/pages/EditConnectionPage';\nimport { ChannelSettingsPage } from './modules/channels/pages/ChannelSettingsPage';\nimport { DeliveryHistoryPage } from './modules/channels/pages/DeliveryHistoryPage';\nimport { WebhookEventsPage } from './modules/channels/pages/WebhookEventsPage';\nimport { ChannelUsersPage } from './modules/channels/pages/ChannelUsersPage';\nimport { ChannelLandingPage } from './pages/ChannelLandingPage';\nimport { FeatureNotEnabled } from './components/FeatureNotEnabled';\nimport type { ReactNode } from 'react';\n\n/**\n * Wraps a route element in a FeatureGate. Unknown / absent flags default to\n * disabled (defaultValue=false) so a not-yet-rolled-out flag is treated as\n * off — the user sees a soft \"Feature not enabled\" panel, not a 500.\n */\nfunction gated(flag: string, element: ReactNode): ReactNode {\n return (\n <FeatureGate flag={flag} defaultValue={false} fallback={<FeatureNotEnabled flag={flag} />}>\n {element}\n </FeatureGate>\n );\n}\n\n/**\n * Internal router for the Channel microfrontend.\n *\n * The shell mounts this at /channels/* so all paths here are relative to /channels/.\n * Every concrete route is wrapped with a FeatureGate so individual surfaces can\n * be rolled out or kill-switched independently. Flag names follow\n * `channels.<route-name>` (see vibecontrols-channel-stability tracker).\n */\nexport function ChannelRoutes() {\n return (\n <Routes>\n {/* Tabbed landing — gated under the dashboard flag */}\n <Route index element={gated('channels.dashboard', <ChannelLandingPage />)} />\n\n {/* Dashboard */}\n <Route path=\"dashboard\" element={gated('channels.dashboard', <ChannelDashboardPage />)} />\n\n {/* Channel CRUD — flat under /channels/ */}\n <Route path=\"list\" element={gated('channels.list', <ChannelsListPage />)} />\n <Route path=\"create\" element={gated('channels.create', <CreateChannelPage />)} />\n <Route path=\":channelId\" element={gated('channels.detail', <ChannelDetailsPage />)} />\n <Route path=\":channelId/edit\" element={gated('channels.edit', <EditChannelPage />)} />\n <Route\n path=\":channelId/deliveries\"\n element={gated('channels.deliveries', <DeliveryHistoryPage />)}\n />\n <Route\n path=\":channelId/webhooks\"\n element={gated('channels.webhooks', <WebhookEventsPage />)}\n />\n <Route path=\":channelId/users\" element={gated('channels.users', <ChannelUsersPage />)} />\n\n {/* Connections */}\n <Route\n path=\"connections\"\n element={gated('channels.connections.list', <ConnectionsListPage />)}\n />\n <Route\n path=\"connections/create\"\n element={gated('channels.connections.create', <CreateConnectionPage />)}\n />\n <Route\n path=\"connections/:connectionId\"\n element={gated('channels.connections.detail', <ConnectionDetailsPage />)}\n />\n <Route\n path=\"connections/:connectionId/edit\"\n element={gated('channels.connections.edit', <EditConnectionPage />)}\n />\n\n {/* Send Message */}\n <Route path=\"send\" element={gated('channels.send', <SendMessagePage />)} />\n\n {/* Settings */}\n <Route path=\"settings\" element={gated('channels.settings', <ChannelSettingsPage />)} />\n\n {/* Catch-all → dashboard */}\n <Route path=\"*\" element={<Navigate to=\"dashboard\" replace />} />\n </Routes>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,EAAM,GAAc,GAA+B;AAC1D,QACE,kBAAC,GAAD;EAAmB;EAAM,cAAc;EAAO,UAAU,kBAAC,GAAD,EAAyB,SAAQ,CAAA;YACtF;EACW,CAAA;;AAYlB,SAAgB,IAAgB;AAC9B,QACE,kBAAC,GAAD,EAAA,UAAA;EAEE,kBAAC,GAAD;GAAO,OAAA;GAAM,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EAG7E,kBAAC,GAAD;GAAO,MAAK;GAAY,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAwB,CAAA,CAAC;GAAI,CAAA;EAG1F,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAC5E,kBAAC,GAAD;GAAO,MAAK;GAAS,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAAI,CAAA;EACjF,kBAAC,GAAD;GAAO,MAAK;GAAa,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GAAO,MAAK;GAAkB,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,uBAAuB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAC9D,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAC1D,CAAA;EACF,kBAAC,GAAD;GAAO,MAAK;GAAmB,SAAS,EAAM,kBAAkB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAGzF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAuB,CAAA,CAAC;GACpE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAwB,CAAA,CAAC;GACvE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAyB,CAAA,CAAC;GACxE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAsB,CAAA,CAAC;GACnE,CAAA;EAGF,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EAG3E,kBAAC,GAAD;GAAO,MAAK;GAAW,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAAI,CAAA;EAGvF,kBAAC,GAAD;GAAO,MAAK;GAAI,SAAS,kBAAC,GAAD;IAAU,IAAG;IAAY,SAAA;IAAU,CAAA;GAAI,CAAA;EACzD,EAAA,CAAA"}
1
+ {"version":3,"file":"ChannelRoutes.js","names":[],"sources":["../../src/channel/ChannelRoutes.tsx"],"sourcesContent":["import { Navigate, Route, Routes } from 'react-router-dom';\nimport { FeatureGate } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { ChannelDashboardPage } from './modules/channels/pages/ChannelDashboardPage';\nimport { ChannelsListPage } from './modules/channels/pages/ChannelsListPage';\nimport { ChannelDetailsPage } from './modules/channels/pages/ChannelDetailsPage';\nimport { CreateChannelPage } from './modules/channels/pages/CreateChannelPage';\nimport { EditChannelPage } from './modules/channels/pages/EditChannelPage';\nimport { SendMessagePage } from './modules/channels/pages/SendMessagePage';\nimport { ConnectionsListPage } from './modules/channels/pages/ConnectionsListPage';\nimport { ConnectionDetailsPage } from './modules/channels/pages/ConnectionDetailsPage';\nimport { CreateConnectionPage } from './modules/channels/pages/CreateConnectionPage';\nimport { EditConnectionPage } from './modules/channels/pages/EditConnectionPage';\nimport { ChannelSettingsPage } from './modules/channels/pages/ChannelSettingsPage';\nimport { DeliveryHistoryPage } from './modules/channels/pages/DeliveryHistoryPage';\nimport { WebhookEventsPage } from './modules/channels/pages/WebhookEventsPage';\nimport { ChannelUsersPage } from './modules/channels/pages/ChannelUsersPage';\nimport { ChannelLandingPage } from './pages/ChannelLandingPage';\nimport { FeatureNotEnabled } from './components/FeatureNotEnabled';\nimport type { ReactNode } from 'react';\n\n/**\n * Wraps a route element in a FeatureGate. The channel module is shipped & stable\n * and now lives in the admin shell, and every `channels.*` flag is seeded ON in\n * global-tenant-svc — so absent flags default to ENABLED (defaultValue=true) to\n * match the backend and avoid a hard \"Feature not enabled\" lockout when the\n * evaluations map hasn't loaded (no-workspace / pre-bootstrap / fetch error).\n * An explicit `channels.<x> = false` still acts as a kill-switch (flag value wins).\n */\nfunction gated(flag: string, element: ReactNode): ReactNode {\n return (\n <FeatureGate flag={flag} defaultValue={true} fallback={<FeatureNotEnabled flag={flag} />}>\n {element}\n </FeatureGate>\n );\n}\n\n/**\n * Internal router for the Channel microfrontend.\n *\n * The shell mounts this at /channels/* so all paths here are relative to /channels/.\n * Every concrete route is wrapped with a FeatureGate so individual surfaces can\n * be rolled out or kill-switched independently. Flag names follow\n * `channels.<route-name>` (see vibecontrols-channel-stability tracker).\n */\nexport function ChannelRoutes() {\n return (\n <Routes>\n {/* Tabbed landing — gated under the dashboard flag */}\n <Route index element={gated('channels.dashboard', <ChannelLandingPage />)} />\n\n {/* Dashboard */}\n <Route path=\"dashboard\" element={gated('channels.dashboard', <ChannelDashboardPage />)} />\n\n {/* Channel CRUD — flat under /channels/ */}\n <Route path=\"list\" element={gated('channels.list', <ChannelsListPage />)} />\n <Route path=\"create\" element={gated('channels.create', <CreateChannelPage />)} />\n <Route path=\":channelId\" element={gated('channels.detail', <ChannelDetailsPage />)} />\n <Route path=\":channelId/edit\" element={gated('channels.edit', <EditChannelPage />)} />\n <Route\n path=\":channelId/deliveries\"\n element={gated('channels.deliveries', <DeliveryHistoryPage />)}\n />\n <Route\n path=\":channelId/webhooks\"\n element={gated('channels.webhooks', <WebhookEventsPage />)}\n />\n <Route path=\":channelId/users\" element={gated('channels.users', <ChannelUsersPage />)} />\n\n {/* Connections */}\n <Route\n path=\"connections\"\n element={gated('channels.connections.list', <ConnectionsListPage />)}\n />\n <Route\n path=\"connections/create\"\n element={gated('channels.connections.create', <CreateConnectionPage />)}\n />\n <Route\n path=\"connections/:connectionId\"\n element={gated('channels.connections.detail', <ConnectionDetailsPage />)}\n />\n <Route\n path=\"connections/:connectionId/edit\"\n element={gated('channels.connections.edit', <EditConnectionPage />)}\n />\n\n {/* Send Message */}\n <Route path=\"send\" element={gated('channels.send', <SendMessagePage />)} />\n\n {/* Settings */}\n <Route path=\"settings\" element={gated('channels.settings', <ChannelSettingsPage />)} />\n\n {/* Catch-all → dashboard */}\n <Route path=\"*\" element={<Navigate to=\"dashboard\" replace />} />\n </Routes>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,SAAS,EAAM,GAAc,GAA+B;AAC1D,QACE,kBAAC,GAAD;EAAmB;EAAM,cAAc;EAAM,UAAU,kBAAC,GAAD,EAAyB,SAAQ,CAAA;YACrF;EACW,CAAA;;AAYlB,SAAgB,IAAgB;AAC9B,QACE,kBAAC,GAAD,EAAA,UAAA;EAEE,kBAAC,GAAD;GAAO,OAAA;GAAM,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EAG7E,kBAAC,GAAD;GAAO,MAAK;GAAY,SAAS,EAAM,sBAAsB,kBAAC,GAAD,EAAwB,CAAA,CAAC;GAAI,CAAA;EAG1F,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAC5E,kBAAC,GAAD;GAAO,MAAK;GAAS,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAAI,CAAA;EACjF,kBAAC,GAAD;GAAO,MAAK;GAAa,SAAS,EAAM,mBAAmB,kBAAC,GAAD,EAAsB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GAAO,MAAK;GAAkB,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EACtF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,uBAAuB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAC9D,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAqB,CAAA,CAAC;GAC1D,CAAA;EACF,kBAAC,GAAD;GAAO,MAAK;GAAmB,SAAS,EAAM,kBAAkB,kBAAC,GAAD,EAAoB,CAAA,CAAC;GAAI,CAAA;EAGzF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAuB,CAAA,CAAC;GACpE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAwB,CAAA,CAAC;GACvE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,+BAA+B,kBAAC,GAAD,EAAyB,CAAA,CAAC;GACxE,CAAA;EACF,kBAAC,GAAD;GACE,MAAK;GACL,SAAS,EAAM,6BAA6B,kBAAC,GAAD,EAAsB,CAAA,CAAC;GACnE,CAAA;EAGF,kBAAC,GAAD;GAAO,MAAK;GAAO,SAAS,EAAM,iBAAiB,kBAAC,GAAD,EAAmB,CAAA,CAAC;GAAI,CAAA;EAG3E,kBAAC,GAAD;GAAO,MAAK;GAAW,SAAS,EAAM,qBAAqB,kBAAC,GAAD,EAAuB,CAAA,CAAC;GAAI,CAAA;EAGvF,kBAAC,GAAD;GAAO,MAAK;GAAI,SAAS,kBAAC,GAAD;IAAU,IAAG;IAAY,SAAA;IAAU,CAAA;GAAI,CAAA;EACzD,EAAA,CAAA"}
@@ -7,6 +7,9 @@ var e = {
7
7
  CHANNEL_ARCHIVE: "channel:archive",
8
8
  CHANNEL_EXECUTE: "channel:execute",
9
9
  CHANNEL_EXPORT: "channel:export",
10
+ CHANNEL_DELIVERY_EXPORT: "channel-delivery:export",
11
+ CHANNEL_WEBHOOK_EXPORT: "channel-webhook:export",
12
+ CHANNEL_USER_EXPORT: "channel-user:export",
10
13
  CHANNEL_ADMIN: "channel:update",
11
14
  CHANNEL_CONNECTION_READ: "channel-connection:read",
12
15
  CHANNEL_CONNECTION_CREATE: "channel-connection:create",
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","names":[],"sources":["../../../src/channel/constants/permissions.ts"],"sourcesContent":["/**\n * RBAC permission constants for the Channel microfrontend.\n * Mirrors the @rbac directives in global-channel-svc.\n */\n\nexport const CHANNEL_PERMISSIONS = {\n // channel resource\n CHANNEL_READ: 'channel:read',\n CHANNEL_CREATE: 'channel:create',\n CHANNEL_UPDATE: 'channel:update',\n CHANNEL_DELETE: 'channel:delete',\n CHANNEL_ARCHIVE: 'channel:archive',\n CHANNEL_EXECUTE: 'channel:execute',\n CHANNEL_EXPORT: 'channel:export',\n /** Admin-level permission — required for export operations. */\n CHANNEL_ADMIN: 'channel:update',\n\n // channel-connection resource\n CHANNEL_CONNECTION_READ: 'channel-connection:read',\n CHANNEL_CONNECTION_CREATE: 'channel-connection:create',\n CHANNEL_CONNECTION_UPDATE: 'channel-connection:update',\n CHANNEL_CONNECTION_DELETE: 'channel-connection:delete',\n\n // channel-delivery resource\n CHANNEL_DELIVERY_READ: 'channel-delivery:read',\n CHANNEL_DELIVERY_SEND: 'channel-delivery:send',\n CHANNEL_DELIVERY_EXECUTE: 'channel-delivery:execute',\n CHANNEL_DELIVERY_DELETE: 'channel-delivery:delete',\n\n // channel-webhook resource\n CHANNEL_WEBHOOK_READ: 'channel-webhook:read',\n CHANNEL_WEBHOOK_EXECUTE: 'channel-webhook:execute',\n CHANNEL_WEBHOOK_UPDATE: 'channel-webhook:update',\n\n // user-platform-connection resource\n USER_PLATFORM_CONNECTION_READ: 'user-platform-connection:read',\n USER_PLATFORM_CONNECTION_CREATE: 'user-platform-connection:create',\n USER_PLATFORM_CONNECTION_UPDATE: 'user-platform-connection:update',\n USER_PLATFORM_CONNECTION_DELETE: 'user-platform-connection:delete',\n} as const;\n\nexport type ChannelPermission = (typeof CHANNEL_PERMISSIONS)[keyof typeof CHANNEL_PERMISSIONS];\n"],"mappings":";AAKA,IAAa,IAAsB;CAEjC,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,iBAAiB;CACjB,gBAAgB;CAEhB,eAAe;CAGf,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAG3B,uBAAuB;CACvB,uBAAuB;CACvB,0BAA0B;CAC1B,yBAAyB;CAGzB,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;CAGxB,+BAA+B;CAC/B,iCAAiC;CACjC,iCAAiC;CACjC,iCAAiC;CAClC"}
1
+ {"version":3,"file":"permissions.js","names":[],"sources":["../../../src/channel/constants/permissions.ts"],"sourcesContent":["/**\n * RBAC permission constants for the Channel microfrontend.\n * Mirrors the @rbac directives in global-channel-svc.\n */\n\nexport const CHANNEL_PERMISSIONS = {\n // channel resource\n CHANNEL_READ: 'channel:read',\n CHANNEL_CREATE: 'channel:create',\n CHANNEL_UPDATE: 'channel:update',\n CHANNEL_DELETE: 'channel:delete',\n CHANNEL_ARCHIVE: 'channel:archive',\n CHANNEL_EXECUTE: 'channel:execute',\n /** Per-resource CSV export permissions — match the backend @rbac(action:\"export\", resource:...). */\n CHANNEL_EXPORT: 'channel:export',\n CHANNEL_DELIVERY_EXPORT: 'channel-delivery:export',\n CHANNEL_WEBHOOK_EXPORT: 'channel-webhook:export',\n CHANNEL_USER_EXPORT: 'channel-user:export',\n /** @deprecated alias of channel:update — do NOT use for export gating (use the *_EXPORT perms). */\n CHANNEL_ADMIN: 'channel:update',\n\n // channel-connection resource\n CHANNEL_CONNECTION_READ: 'channel-connection:read',\n CHANNEL_CONNECTION_CREATE: 'channel-connection:create',\n CHANNEL_CONNECTION_UPDATE: 'channel-connection:update',\n CHANNEL_CONNECTION_DELETE: 'channel-connection:delete',\n\n // channel-delivery resource\n CHANNEL_DELIVERY_READ: 'channel-delivery:read',\n CHANNEL_DELIVERY_SEND: 'channel-delivery:send',\n CHANNEL_DELIVERY_EXECUTE: 'channel-delivery:execute',\n CHANNEL_DELIVERY_DELETE: 'channel-delivery:delete',\n\n // channel-webhook resource\n CHANNEL_WEBHOOK_READ: 'channel-webhook:read',\n CHANNEL_WEBHOOK_EXECUTE: 'channel-webhook:execute',\n CHANNEL_WEBHOOK_UPDATE: 'channel-webhook:update',\n\n // user-platform-connection resource\n USER_PLATFORM_CONNECTION_READ: 'user-platform-connection:read',\n USER_PLATFORM_CONNECTION_CREATE: 'user-platform-connection:create',\n USER_PLATFORM_CONNECTION_UPDATE: 'user-platform-connection:update',\n USER_PLATFORM_CONNECTION_DELETE: 'user-platform-connection:delete',\n} as const;\n\nexport type ChannelPermission = (typeof CHANNEL_PERMISSIONS)[keyof typeof CHANNEL_PERMISSIONS];\n"],"mappings":";AAKA,IAAa,IAAsB;CAEjC,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,iBAAiB;CAEjB,gBAAgB;CAChB,yBAAyB;CACzB,wBAAwB;CACxB,qBAAqB;CAErB,eAAe;CAGf,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,2BAA2B;CAG3B,uBAAuB;CACvB,uBAAuB;CACvB,0BAA0B;CAC1B,yBAAyB;CAGzB,sBAAsB;CACtB,yBAAyB;CACzB,wBAAwB;CAGxB,+BAA+B;CAC/B,iCAAiC;CACjC,iCAAiC;CACjC,iCAAiC;CAClC"}