@farthershore/farthershore-js 0.27.0 → 0.29.0

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 (127) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +1 -1
  3. package/dist/component-policy.d.ts +25 -1
  4. package/dist/component-policy.d.ts.map +1 -1
  5. package/dist/component-policy.js +60 -4
  6. package/dist/component-policy.js.map +1 -1
  7. package/dist/components/access-control.d.ts.map +1 -1
  8. package/dist/components/access-control.js +73 -7
  9. package/dist/components/access-control.js.map +1 -1
  10. package/dist/components/api-keys-manager.d.ts +7 -0
  11. package/dist/components/api-keys-manager.d.ts.map +1 -0
  12. package/dist/components/api-keys-manager.js +238 -0
  13. package/dist/components/api-keys-manager.js.map +1 -0
  14. package/dist/components/audit-log-table.d.ts.map +1 -1
  15. package/dist/components/audit-log-table.js +24 -3
  16. package/dist/components/audit-log-table.js.map +1 -1
  17. package/dist/components/bill-preview-card.d.ts +6 -7
  18. package/dist/components/bill-preview-card.d.ts.map +1 -1
  19. package/dist/components/bill-preview-card.js +93 -24
  20. package/dist/components/bill-preview-card.js.map +1 -1
  21. package/dist/components/billing.d.ts.map +1 -1
  22. package/dist/components/billing.js +9 -2
  23. package/dist/components/billing.js.map +1 -1
  24. package/dist/components/cancel-subscription.d.ts +4 -6
  25. package/dist/components/cancel-subscription.d.ts.map +1 -1
  26. package/dist/components/cancel-subscription.js +113 -40
  27. package/dist/components/cancel-subscription.js.map +1 -1
  28. package/dist/components/component-access-panel.d.ts.map +1 -1
  29. package/dist/components/component-access-panel.js +10 -3
  30. package/dist/components/component-access-panel.js.map +1 -1
  31. package/dist/components/environment-banner.d.ts +4 -0
  32. package/dist/components/environment-banner.d.ts.map +1 -0
  33. package/dist/components/environment-banner.js +37 -0
  34. package/dist/components/environment-banner.js.map +1 -0
  35. package/dist/components/index.d.ts +17 -2
  36. package/dist/components/index.d.ts.map +1 -1
  37. package/dist/components/index.js +16 -1
  38. package/dist/components/index.js.map +1 -1
  39. package/dist/components/keys.d.ts.map +1 -1
  40. package/dist/components/keys.js +7 -1
  41. package/dist/components/keys.js.map +1 -1
  42. package/dist/components/legal-consent-gate.d.ts.map +1 -1
  43. package/dist/components/legal-consent-gate.js +11 -2
  44. package/dist/components/legal-consent-gate.js.map +1 -1
  45. package/dist/components/legal-index.d.ts +14 -0
  46. package/dist/components/legal-index.d.ts.map +1 -0
  47. package/dist/components/legal-index.js +19 -0
  48. package/dist/components/legal-index.js.map +1 -0
  49. package/dist/components/notification-preferences.d.ts +7 -0
  50. package/dist/components/notification-preferences.d.ts.map +1 -0
  51. package/dist/components/notification-preferences.js +119 -0
  52. package/dist/components/notification-preferences.js.map +1 -0
  53. package/dist/components/onboarding-plan-rail.d.ts +22 -0
  54. package/dist/components/onboarding-plan-rail.d.ts.map +1 -0
  55. package/dist/components/onboarding-plan-rail.js +103 -0
  56. package/dist/components/onboarding-plan-rail.js.map +1 -0
  57. package/dist/components/org-switcher.d.ts +11 -6
  58. package/dist/components/org-switcher.d.ts.map +1 -1
  59. package/dist/components/org-switcher.js +88 -22
  60. package/dist/components/org-switcher.js.map +1 -1
  61. package/dist/components/payment-required-gate.d.ts.map +1 -1
  62. package/dist/components/payment-required-gate.js +13 -5
  63. package/dist/components/payment-required-gate.js.map +1 -1
  64. package/dist/components/permission-gate.d.ts.map +1 -1
  65. package/dist/components/permission-gate.js +26 -10
  66. package/dist/components/permission-gate.js.map +1 -1
  67. package/dist/components/plans-table.d.ts +13 -1
  68. package/dist/components/plans-table.d.ts.map +1 -1
  69. package/dist/components/plans-table.js +16 -6
  70. package/dist/components/plans-table.js.map +1 -1
  71. package/dist/components/pricing-plan-card.d.ts +11 -0
  72. package/dist/components/pricing-plan-card.d.ts.map +1 -0
  73. package/dist/components/pricing-plan-card.js +15 -0
  74. package/dist/components/pricing-plan-card.js.map +1 -0
  75. package/dist/components/subscriber-status.d.ts +11 -0
  76. package/dist/components/subscriber-status.d.ts.map +1 -0
  77. package/dist/components/subscriber-status.js +39 -0
  78. package/dist/components/subscriber-status.js.map +1 -0
  79. package/dist/components/team.d.ts +92 -0
  80. package/dist/components/team.d.ts.map +1 -0
  81. package/dist/components/team.js +104 -0
  82. package/dist/components/team.js.map +1 -0
  83. package/dist/components/upgrade-prompt.d.ts +23 -4
  84. package/dist/components/upgrade-prompt.d.ts.map +1 -1
  85. package/dist/components/upgrade-prompt.js +30 -16
  86. package/dist/components/upgrade-prompt.js.map +1 -1
  87. package/dist/components/usage-limits.d.ts +1 -1
  88. package/dist/components/usage-limits.d.ts.map +1 -1
  89. package/dist/components/usage-limits.js +26 -3
  90. package/dist/components/usage-limits.js.map +1 -1
  91. package/dist/components/usage-surfaces.d.ts +61 -0
  92. package/dist/components/usage-surfaces.d.ts.map +1 -0
  93. package/dist/components/usage-surfaces.js +108 -0
  94. package/dist/components/usage-surfaces.js.map +1 -0
  95. package/dist/format/catalog-display.d.ts +8 -1
  96. package/dist/format/catalog-display.d.ts.map +1 -1
  97. package/dist/format/catalog-display.js +28 -8
  98. package/dist/format/catalog-display.js.map +1 -1
  99. package/dist/format/index.d.ts +2 -1
  100. package/dist/format/index.d.ts.map +1 -1
  101. package/dist/format/index.js +5 -1
  102. package/dist/format/index.js.map +1 -1
  103. package/dist/format/subscriber-lifecycle.d.ts +35 -0
  104. package/dist/format/subscriber-lifecycle.d.ts.map +1 -0
  105. package/dist/format/subscriber-lifecycle.js +139 -0
  106. package/dist/format/subscriber-lifecycle.js.map +1 -0
  107. package/dist/generated/version.d.ts +2 -2
  108. package/dist/generated/version.js +2 -2
  109. package/dist/index.d.ts +2 -1
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +4 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/react/hooks.d.ts +13 -0
  114. package/dist/react/hooks.d.ts.map +1 -1
  115. package/dist/react/hooks.js +19 -0
  116. package/dist/react/hooks.js.map +1 -1
  117. package/dist/react/index.d.ts +1 -1
  118. package/dist/react/index.d.ts.map +1 -1
  119. package/dist/react/index.js +1 -1
  120. package/dist/react/index.js.map +1 -1
  121. package/dist/resources/usage.d.ts +1 -0
  122. package/dist/resources/usage.d.ts.map +1 -1
  123. package/dist/resources/usage.js +23 -6
  124. package/dist/resources/usage.js.map +1 -1
  125. package/dist/types.d.ts +8 -0
  126. package/dist/types.d.ts.map +1 -1
  127. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,80 @@
3
3
  All notable changes to `@farthershore/farthershore-js` are documented here.
4
4
  This project adheres to Semantic Versioning (pre-1.0: minors may break).
5
5
 
6
+ ## [Unreleased]
7
+
8
+ ## [0.29.0] - 2026-09-09
9
+
10
+ ### Added — read the usage summary without the recent-activity feed
11
+
12
+ `GET /portal/.../me/usage` returns the quota summary (a Postgres aggregate)
13
+ and the recent-activity feed (an R2 SQL scan of the event archive) together,
14
+ so the fast number could not render until the slow scan finished. A surface
15
+ that only shows the counter can now skip the scan:
16
+
17
+ - `usage.summary()` sends `events=false` and no longer pays for the feed.
18
+ - `usage.snapshot(range, { includeEvents: false })` does the same while
19
+ keeping the snapshot shape.
20
+ - New `useUsageSummary()` hook — `useUsage()` is unchanged and still returns
21
+ both in one request, which is right for a surface that renders the events.
22
+ - The two variants use DISTINCT read-cache keys; the responses differ (one
23
+ carries `items`), so a shared key would hand an events table a body that
24
+ never had any.
25
+
26
+ ### Added — `FsUsageSummary` accepts `pending`
27
+
28
+ An empty `summary` used to render as a confident `0 / 10,000` at `0% used`
29
+ while the read was in flight — a wrong number rather than a loading state.
30
+ Pass `pending` to show a loading line instead. Defaults to `false`, so
31
+ existing callers are unaffected.
32
+
33
+ Requires a Core that understands `?events=false`. Against an older Core the
34
+ parameter is ignored and the feed comes back as before: slower, never wrong.
35
+
36
+ ## [0.28.0] - 2026-09-03
37
+
38
+ ### Changed — `FsUsageLimits` is now render-gated on `usage_limit:read` (BREAKING)
39
+
40
+ `FsUsageLimits` joined the managed component map as `usage_limits` and is
41
+ wrapped in `withGate`: a viewer WITHOUT `usage_limit:read` no longer mounts
42
+ the component (previously it mounted anywhere and attempted the load, then
43
+ surfaced the API error). A consumer mounting it outside an already-gated
44
+ route now sees the resolved deny rendering (`AccessDenied` by default, or
45
+ nothing/disabled per the org's configured mode) instead of the old
46
+ error-loading card. The three mutating controls keep their own
47
+ per-control `usePermissionAction` gates. Additionally, a viewer whose
48
+ policy resolves a MOUNTING deny mode (`readOnly` / `disable`) but who
49
+ cannot read the backing data renders `AccessDenied` — the panel's list
50
+ fetch requires `usage_limit:read` server-side, so a mounted-but-unfetchable
51
+ view would be an error card, not a read-only view.
52
+
53
+ ### Changed — unconfigured component denies render an AccessDenied panel (BREAKING, visual)
54
+
55
+ The default gate mode for a component with NO configured mode (no builder
56
+ `registerComponent` gateMode, no subscriber-org override) is now **per-key**
57
+ via the new `defaultGateModeFor(componentKey)`: `"denied"` for most
58
+ components, `"hide"` only for the security-sensitive set (`audit_log`,
59
+ `api_keys_panel`, `team_panel`), whose existence is the confidential fact.
60
+ Previously every unconfigured deny was `"hide"`, which made a permission miss
61
+ look like a rendering bug.
62
+
63
+ What changes visually: an embedded data component (`UsageCard`,
64
+ `BillingSummary`, a `withGate`-wrapped custom component, …) shown to a member
65
+ without its permission now renders the explicit "you don't have access" panel
66
+ instead of vanishing. The dev-portal template's component-backed route gates
67
+ stop forcing `mode="denied"` and follow the resolver instead: most denied
68
+ route visits still render the AccessDenied panel (now via the per-key
69
+ default), but the SENSITIVE routes (`/dashboard/keys`, `/audit-log`) render
70
+ NOTHING for a denied member unless the org configured a mode — their
71
+ existence is the confidential fact, and the old forced mode leaked it. A
72
+ bare `<PermissionGate permission="…">` (no `component`) still defaults to
73
+ `hide` — hiding an affordance a member cannot use stays correct.
74
+
75
+ Also: `SENSITIVE_COMPONENT_KEYS`, `isSensitiveComponentKey`, and
76
+ `defaultGateModeFor` are exported publicly, and `registerComponent` /
77
+ `unregisterComponent` / `ComponentRegistration` are re-exported from
78
+ `@farthershore/farthershore-js/components`.
79
+
6
80
  ## [0.27.0] - 2026-08-31
7
81
 
8
82
  ### Removed — subscriber-facing "move to latest plan" (BREAKING)
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  The **Farther Shore Frontend SDK** — the browser + React integration layer for
4
4
  your product's subscriber portal.
5
5
 
6
- > **Status: `0.27.0` (pre-1.0).** A MINOR bump may include breaking changes;
6
+ > **Status: `0.29.0` (pre-1.0).** A MINOR bump may include breaking changes;
7
7
  > patches are additive. Pin the version you build against and read
8
8
  > [`CHANGELOG.md`](./CHANGELOG.md) before upgrading.
9
9
 
@@ -16,12 +16,31 @@ export interface ComponentPermissionDefault {
16
16
  * (parity-tested in test/component-policy-parity.test.ts — the shipped SDK
17
17
  * bundle must stay contracts-free). */
18
18
  export declare const MANAGED_COMPONENT_DEFAULTS: Readonly<Record<string, ComponentPermissionDefault>>;
19
+ /** FAITHFUL COPY of contracts `DATA_FLOOR_COMPONENT_KEYS` (parity-tested):
20
+ * the managed default permission is a DATA floor — the panel's fetch is
21
+ * server-gated on it regardless of a subscriber-org re-gate, so it stays an
22
+ * AND requirement alongside any override (Codex #473). */
23
+ export declare const DATA_FLOOR_COMPONENT_KEYS: readonly string[];
24
+ /** The managed data-floor permission for `componentId`, or null when the id
25
+ * carries none — the AND requirement its server-gated fetch imposes
26
+ * regardless of overrides. */
27
+ export declare function dataFloorPermissionFor(componentId: string): string | null;
19
28
  /** FAITHFUL COPY of contracts/evolution `SENSITIVE_COMPONENT_KEYS`.
20
29
  * The SDK cannot import contracts at runtime, so parity is pinned in test/. */
21
30
  export declare const SENSITIVE_COMPONENT_KEYS: readonly ["audit_log", "api_keys_panel", "team_panel"];
31
+ /**
32
+ * FAITHFUL COPY of contracts `defaultGateModeFor` (Subscriber-RBAC R5) — the
33
+ * gate mode used when NOTHING configured one. Non-sensitive components render
34
+ * an explicit AccessDenied (`"denied"`) instead of silently vanishing; the
35
+ * sensitive set keeps `"hide"` (their existence is the confidential fact).
36
+ * Parity is pinned in test/component-policy-parity.test.ts.
37
+ */
38
+ export declare function defaultGateModeFor(componentId: string): "hide" | "denied";
22
39
  /** True iff `id` names a confidentiality-sensitive managed component. */
23
40
  export declare function isSensitiveComponentKey(id: string): boolean;
24
- /** Faithful copy of the contracts `CUSTOM_COMPONENT_KEY_PATTERN`. */
41
+ /** Faithful copy of the contracts `CUSTOM_COMPONENT_KEY_PATTERN` — the slug
42
+ * budget matches the custom-subject grammar (≤32) so the derived permission
43
+ * subject is always declarable. */
25
44
  export declare const CUSTOM_COMPONENT_KEY_PATTERN: RegExp;
26
45
  /** True iff `id` is a well-formed builder-custom component key. */
27
46
  export declare function isCustomComponentKey(id: string): boolean;
@@ -62,6 +81,11 @@ export interface ResolvedComponentPolicy {
62
81
  writePermission: string;
63
82
  /** How the component renders when the viewer lacks `permission`. */
64
83
  gateMode: ComponentGateMode;
84
+ /** Where `gateMode` came from: an explicit host registration, a
85
+ * subscriber-org overlay, or the platform default. Hosts that wrap a
86
+ * component-gated surface (e.g. a route) must not force their own mode
87
+ * when the source is not `"default"` — the configured choice wins. */
88
+ gateModeSource: "registration" | "overlay" | "default";
65
89
  /** Renders ungated (explicit flag only). */
66
90
  presentational: boolean;
67
91
  /** Whether the id is one of the contracts-owned sensitive components. */
@@ -1 +1 @@
1
- {"version":3,"file":"component-policy.d.ts","sourceRoot":"","sources":["../src/component-policy.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;oEACoE;AACpE,eAAO,MAAM,oBAAoB,oDAKvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAE3E;AAED;0CAC0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,IAAI,CAAC;CACvB;AAED;;wCAEwC;AACxC,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAsB3C,CAAC;AAEF;gFACgF;AAChF,eAAO,MAAM,wBAAwB,wDAI3B,CAAC;AAEX,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3D;AAaD,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,QAAmC,CAAC;AAE7E,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAExD;AAMD,MAAM,WAAW,qBAAqB;IACpC;wCACoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX;sBACkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAgB3E;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAMD,qDAAqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;4EACwE;IACxE,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,4CAA4C;IAC5C,cAAc,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB;yDACqD;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAiBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,SAAS,wBAAwB,EAAE,GAAG,IAAI,GACpD,uBAAuB,CAqFzB"}
1
+ {"version":3,"file":"component-policy.d.ts","sourceRoot":"","sources":["../src/component-policy.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;oEACoE;AACpE,eAAO,MAAM,oBAAoB,oDAKvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,iBAAiB,CAE3E;AAED;0CAC0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,IAAI,CAAC;CACvB;AAED;;wCAEwC;AACxC,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC/C,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAwC3C,CAAC;AAEF;;;2DAG2D;AAC3D,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAqB,CAAC;AAE7E;;+BAE+B;AAC/B,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED;gFACgF;AAChF,eAAO,MAAM,wBAAwB,wDAI3B,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAEzE;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3D;AAaD;;oCAEoC;AACpC,eAAO,MAAM,4BAA4B,QAAmC,CAAC;AAE7E,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAExD;AAMD,MAAM,WAAW,qBAAqB;IACpC;wCACoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX;sBACkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAgB3E;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAMD,qDAAqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;4EACwE;IACxE,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;2EAGuE;IACvE,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,4CAA4C;IAC5C,cAAc,EAAE,OAAO,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAC;IACnB;yDACqD;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAiBD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,SAAS,wBAAwB,EAAE,GAAG,IAAI,GACpD,uBAAuB,CAoGzB"}
@@ -62,7 +62,38 @@ export const MANAGED_COMPONENT_DEFAULTS = {
62
62
  audit_log: { permission: "audit_log:read" },
63
63
  team_panel: { permission: "team:read", writePermission: "team:manage_rbac" },
64
64
  markdown: { permission: null, presentational: true },
65
+ usage_limits: {
66
+ permission: "usage_limit:read",
67
+ // Primary mutating verb (create); update/delete controls gate on their
68
+ // own concrete verbs at the call site (per-control > panel default —
69
+ // the api_keys_panel pattern). NOT sensitive: a member reading the
70
+ // limits set on them is a product feature, and the destructive verb
71
+ // (usage_limit:delete) is already escalatory / grant-by-exact-name.
72
+ writePermission: "usage_limit:create",
73
+ },
74
+ notification_preferences: {
75
+ // notification:read is the concrete self-scoped inbox verb, and it
76
+ // includes updating the current member's OWN channel opt-outs — reading
77
+ // and muting your own notifications are one capability, so read and
78
+ // write share the verb.
79
+ permission: "notification:read",
80
+ writePermission: "notification:read",
81
+ },
82
+ subscriber_status: { permission: "subscription:read" },
65
83
  };
84
+ /** FAITHFUL COPY of contracts `DATA_FLOOR_COMPONENT_KEYS` (parity-tested):
85
+ * the managed default permission is a DATA floor — the panel's fetch is
86
+ * server-gated on it regardless of a subscriber-org re-gate, so it stays an
87
+ * AND requirement alongside any override (Codex #473). */
88
+ export const DATA_FLOOR_COMPONENT_KEYS = ["usage_limits"];
89
+ /** The managed data-floor permission for `componentId`, or null when the id
90
+ * carries none — the AND requirement its server-gated fetch imposes
91
+ * regardless of overrides. */
92
+ export function dataFloorPermissionFor(componentId) {
93
+ if (!DATA_FLOOR_COMPONENT_KEYS.includes(componentId))
94
+ return null;
95
+ return MANAGED_COMPONENT_DEFAULTS[componentId]?.permission ?? null;
96
+ }
66
97
  /** FAITHFUL COPY of contracts/evolution `SENSITIVE_COMPONENT_KEYS`.
67
98
  * The SDK cannot import contracts at runtime, so parity is pinned in test/. */
68
99
  export const SENSITIVE_COMPONENT_KEYS = [
@@ -70,6 +101,16 @@ export const SENSITIVE_COMPONENT_KEYS = [
70
101
  "api_keys_panel",
71
102
  "team_panel",
72
103
  ];
104
+ /**
105
+ * FAITHFUL COPY of contracts `defaultGateModeFor` (Subscriber-RBAC R5) — the
106
+ * gate mode used when NOTHING configured one. Non-sensitive components render
107
+ * an explicit AccessDenied (`"denied"`) instead of silently vanishing; the
108
+ * sensitive set keeps `"hide"` (their existence is the confidential fact).
109
+ * Parity is pinned in test/component-policy-parity.test.ts.
110
+ */
111
+ export function defaultGateModeFor(componentId) {
112
+ return isSensitiveComponentKey(componentId) ? "hide" : "denied";
113
+ }
73
114
  /** True iff `id` names a confidentiality-sensitive managed component. */
74
115
  export function isSensitiveComponentKey(id) {
75
116
  return SENSITIVE_COMPONENT_KEYS.includes(id);
@@ -79,8 +120,10 @@ function managedDefault(componentId) {
79
120
  ? MANAGED_COMPONENT_DEFAULTS[componentId]
80
121
  : undefined;
81
122
  }
82
- /** Faithful copy of the contracts `CUSTOM_COMPONENT_KEY_PATTERN`. */
83
- export const CUSTOM_COMPONENT_KEY_PATTERN = /^custom:[a-z][a-z0-9_-]{1,47}$/;
123
+ /** Faithful copy of the contracts `CUSTOM_COMPONENT_KEY_PATTERN` — the slug
124
+ * budget matches the custom-subject grammar (≤32) so the derived permission
125
+ * subject is always declarable. */
126
+ export const CUSTOM_COMPONENT_KEY_PATTERN = /^custom:[a-z][a-z0-9_-]{1,31}$/;
84
127
  /** True iff `id` is a well-formed builder-custom component key. */
85
128
  export function isCustomComponentKey(id) {
86
129
  return CUSTOM_COMPONENT_KEY_PATTERN.test(id);
@@ -148,6 +191,7 @@ export function resolveComponentPolicy(componentId, overlays) {
148
191
  requiredPermissions: [],
149
192
  writePermission: `${derivedSubject(componentId)}:write`,
150
193
  gateMode: "denied",
194
+ gateModeSource: "default",
151
195
  presentational: false,
152
196
  sensitive: false,
153
197
  unknown: true,
@@ -169,7 +213,14 @@ export function resolveComponentPolicy(componentId, overlays) {
169
213
  const overlayGateMode = overlay?.gateMode != null && isComponentGateMode(overlay.gateMode)
170
214
  ? overlay.gateMode
171
215
  : undefined;
172
- const requestedGateMode = registration?.gateMode ?? overlayGateMode ?? "hide";
216
+ const requestedGateMode = registration?.gateMode ??
217
+ overlayGateMode ??
218
+ defaultGateModeFor(componentId);
219
+ const gateModeSource = registration?.gateMode !== undefined
220
+ ? "registration"
221
+ : overlayGateMode !== undefined
222
+ ? "overlay"
223
+ : "default";
173
224
  // `disable` and `readOnly` mount denied children. A sensitive component's
174
225
  // managed hide default is a confidentiality floor, so only non-mounting
175
226
  // deny modes may survive an overlay/registration.
@@ -180,7 +231,8 @@ export function resolveComponentPolicy(componentId, overlays) {
180
231
  const permissionCandidates = presentational
181
232
  ? []
182
233
  : [
183
- ...(sensitive && managed?.permission != null
234
+ ...((sensitive || DATA_FLOOR_COMPONENT_KEYS.includes(componentId)) &&
235
+ managed?.permission != null
184
236
  ? [managed.permission]
185
237
  : []),
186
238
  ...(permission != null ? [permission] : []),
@@ -202,6 +254,10 @@ export function resolveComponentPolicy(componentId, overlays) {
202
254
  managed?.writePermission ??
203
255
  `${subject}:write`,
204
256
  gateMode: denyByDefault ? "denied" : gateMode,
257
+ // A denyByDefault (malformed policy) forces "denied" regardless of the
258
+ // configured mode, so the source degrades to "default" — a wrapper must
259
+ // not treat a broken configuration as an explicit choice.
260
+ gateModeSource: denyByDefault ? "default" : gateModeSource,
205
261
  presentational,
206
262
  sensitive,
207
263
  unknown: denyByDefault,
@@ -1 +1 @@
1
- {"version":3,"file":"component-policy.js","sourceRoot":"","sources":["../src/component-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-policy.js","sourceRoot":"","sources":["../src/component-policy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/components/access-control.tsx"],"names":[],"mappings":"AA8CA;;8DAE8D;AAC9D,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAiEzD,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;6EAGyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;oDACgD;IAChD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,SAAS,EACT,cAAc,GACf,GAAE,iBAAsB,sCA2XxB;AAID,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;+DAC2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;uDAEmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,KAAsB,EACtB,aAAa,GACd,GAAE,kBAAuB,+BA0PzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;sCAEkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;0DACsD;IACtD,cAAc,CAAC,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,SAAiB,EACjB,cAAmB,GACpB,GAAE,oBAAyB,sCAgM3B;AAID,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;iEAC6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,UAAU,GACX,GAAE,mBAAwB,+BA+D1B;AAID,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,GAAE,oBAAyB,sCAqJvE;AAID,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,SAAiB,GAClB,GAAE,0BAA+B,sCAoGjC;AAID,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;wDAGoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,SAAS,GACV,GAAE,oBAAyB,+BAyC3B"}
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../src/components/access-control.tsx"],"names":[],"mappings":"AA8CA;;8DAE8D;AAC9D,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AAyEzD,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;6EAGyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;oDACgD;IAChD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,SAAS,EACT,cAAc,GACf,GAAE,iBAAsB,sCAuexB;AAID,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;+DAC2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;uDAEmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,KAAsB,EACtB,aAAa,GACd,GAAE,kBAAuB,+BA0PzB;AAMD,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;sCAEkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;0DACsD;IACtD,cAAc,CAAC,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,SAAiB,EACjB,cAAmB,GACpB,GAAE,oBAAyB,sCAgM3B;AAID,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;iEAC6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,UAAU,GACX,GAAE,mBAAwB,+BA+D1B;AAID,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,GAAE,oBAAyB,sCAqJvE;AAID,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,SAAiB,GAClB,GAAE,0BAA+B,sCAoGjC;AAID,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;wDAGoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,SAAS,GACV,GAAE,oBAAyB,+BAyC3B"}
@@ -75,6 +75,8 @@ function draftFromRole(role) {
75
75
  name: role.name,
76
76
  permissions: new Set(role.permissions.filter((p) => p !== "*")),
77
77
  fullAccess: role.permissions.includes("*"),
78
+ isAccountRole: role.kind === "ACCOUNT",
79
+ vocabulary: role.vocabulary,
78
80
  };
79
81
  }
80
82
  function draftPermissions(draft) {
@@ -90,12 +92,24 @@ function draftPermissions(draft) {
90
92
  export function FsRoleEditor({ className, canManage, onRolesChanged, } = {}) {
91
93
  const fs = useFartherShore();
92
94
  const auth = useOptionalFsAuth();
93
- const resolvedCanManage = canManage ?? auth?.hasPermission(MANAGE_RBAC_PERMISSION) ?? false;
95
+ // The /me claim is PRODUCT-plane (ACCOUNT rows deliberately excluded), so
96
+ // an ADMIN whose team:manage_rbac comes from account_admin has no claim —
97
+ // yet every read this editor performs is server-gated on that very
98
+ // permission. A successful load IS the live subscriber-plane capability
99
+ // check, so it backs the affordance (Codex #472 round 23). An explicit
100
+ // canManage prop still overrides.
101
+ const [serverCanManage, setServerCanManage] = useState(false);
102
+ const resolvedCanManage = canManage ??
103
+ ((auth?.hasPermission(MANAGE_RBAC_PERMISSION) ?? false) || serverCanManage);
94
104
  const [status, setStatus] = useState("loading");
95
105
  const [settings, setSettings] = useState({ enabled: false });
96
106
  const [roles, setRoles] = useState([]);
97
107
  const [catalog, setCatalog] = useState([]);
98
108
  const [draft, setDraft] = useState(null);
109
+ // ACCOUNT rows enforce for every business, product Managed-RBAC or not —
110
+ // when the settings/catalog surface is product-gated the editor degrades
111
+ // to an account-only view instead of hiding (Codex #472 round 14).
112
+ const [accountOnly, setAccountOnly] = useState(false);
99
113
  const [busy, setBusy] = useState(false);
100
114
  const [error, setError] = useState(null);
101
115
  const loadAll = useCallback(async () => {
@@ -111,10 +125,40 @@ export function FsRoleEditor({ className, canManage, onRolesChanged, } = {}) {
111
125
  setSettings(s);
112
126
  setCatalog(entries);
113
127
  setRoles(roleList);
128
+ // A remount-free client swap (different product) must not inherit a
129
+ // previous account-only degradation (Codex #472 round 19).
130
+ setAccountOnly(false);
131
+ // The settings/catalog/roles reads are server-gated on
132
+ // team:manage_rbac — reaching here proves the live capability.
133
+ setServerCanManage(true);
114
134
  setStatus("ready");
115
135
  }
116
136
  catch (err) {
117
137
  const code = apiErrorCode(err);
138
+ if (code === "RBAC_NOT_ENABLED_BY_PRODUCT") {
139
+ // The role LIST stays reachable: ACCOUNT rows are live enforcement
140
+ // for every business, so surface them in an account-only editor
141
+ // (no enable toggle, no default role, no create/delete).
142
+ try {
143
+ const roleList = await fs.rbac.roles.list();
144
+ const accountRows = roleList.filter((role) => role.kind === "ACCOUNT");
145
+ if (accountRows.length > 0) {
146
+ setSettings({ enabled: false });
147
+ setCatalog([]);
148
+ setRoles(accountRows);
149
+ setAccountOnly(true);
150
+ // The role list is server-gated on team:manage_rbac too.
151
+ setServerCanManage(true);
152
+ setStatus("ready");
153
+ return;
154
+ }
155
+ }
156
+ catch {
157
+ // fall through to hidden
158
+ }
159
+ setStatus("hidden");
160
+ return;
161
+ }
118
162
  if ((code && RBAC_HIDDEN_CODES.has(code)) ||
119
163
  (err instanceof FartherShoreApiError && err.status === 403)) {
120
164
  setStatus("hidden");
@@ -156,6 +200,12 @@ export function FsRoleEditor({ className, canManage, onRolesChanged, } = {}) {
156
200
  permissions: draftPermissions(draft),
157
201
  });
158
202
  }
203
+ else if (draft.isAccountRole) {
204
+ // ACCOUNT rows: permissions only — a rename is refused server-side.
205
+ await fs.rbac.roles.update(draft.roleKey, {
206
+ permissions: draftPermissions(draft),
207
+ });
208
+ }
159
209
  else {
160
210
  await fs.rbac.roles.update(draft.roleKey, {
161
211
  name: draft.name.trim(),
@@ -212,22 +262,38 @@ export function FsRoleEditor({ className, canManage, onRolesChanged, } = {}) {
212
262
  if (status === "error") {
213
263
  return (_jsx("section", { className: cx("fs-card", className), children: _jsx("p", { className: "fs-error", children: "Access control settings could not be loaded. Refresh to retry." }) }));
214
264
  }
265
+ // ACCOUNT rows are live enforcement whether or not the org's product-role
266
+ // toggle is on — they stay listed and editable with enforcement OFF, while
267
+ // the product-role machinery (default picker, create, CUSTOM rows) shows
268
+ // only when the toggle is ON (Codex #472 rounds 14+17).
269
+ const showFullEditor = settings.enabled && !accountOnly;
270
+ const visibleRoles = showFullEditor
271
+ ? roles
272
+ : roles.filter((role) => role.kind === "ACCOUNT");
215
273
  const draftValid = draft !== null &&
216
274
  draft.name.trim().length > 0 &&
217
275
  (draft.mode === "edit" ||
218
276
  /^[a-z0-9][a-z0-9_-]{0,63}$/.test(draft.roleKey)) &&
219
- (draft.fullAccess || draft.permissions.size > 0);
220
- return (_jsxs("section", { className: cx("fs-card", "fs-rbac", className), "aria-busy": busy, children: [_jsxs("div", { className: "fs-card__head", children: [_jsxs("div", { children: [_jsx("h3", { className: "fs-card__title", children: "Access control" }), _jsx("p", { className: "fs-card__note fs-muted", children: "Role-based access for this subscription's members. Roles limit which product routes a member's API access can call \u2014 enforced at the gateway, configured here." })] }), resolvedCanManage && (_jsx("button", { type: "button", className: cx("fs-btn fs-btn--sm", settings.enabled ? "fs-btn--outline" : "fs-btn--cta"), disabled: busy, onClick: () => void putSettings({
277
+ // ACCOUNT rows may be narrowed to NOTHING — the PATCH path accepts
278
+ // permissions: [] (Codex #472 round 17); a CUSTOM role still needs at
279
+ // least one grant (or the "*" claim) to mean anything.
280
+ (draft.fullAccess ||
281
+ draft.isAccountRole === true ||
282
+ draft.permissions.size > 0);
283
+ return (_jsxs("section", { className: cx("fs-card", "fs-rbac", className), "aria-busy": busy, children: [_jsxs("div", { className: "fs-card__head", children: [_jsxs("div", { children: [_jsx("h3", { className: "fs-card__title", children: "Access control" }), _jsx("p", { className: "fs-card__note fs-muted", children: "Role-based access for this subscription's members. Roles limit which product routes a member's API access can call \u2014 enforced at the gateway, configured here." })] }), resolvedCanManage && !accountOnly && (_jsx("button", { type: "button", className: cx("fs-btn fs-btn--sm", settings.enabled ? "fs-btn--outline" : "fs-btn--cta"), disabled: busy, onClick: () => void putSettings({
221
284
  enabled: !settings.enabled,
222
285
  defaultRoleKey: settings.defaultRoleKey ?? null,
223
- }), children: settings.enabled ? "Disable" : "Enable role-based access" }))] }), error && (_jsx("p", { className: "fs-error fs-card__note", "aria-live": "polite", children: error })), settings.enabled && (_jsxs("div", { className: "fs-rbac__body", children: [_jsxs("div", { className: "fs-rbac__block", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-default", children: "Default role for unassigned members" }), _jsxs("select", { id: "fs-rbac-default", className: "fs-select", value: settings.defaultRoleKey ?? "", disabled: !resolvedCanManage || busy, onChange: (e) => void putSettings({
286
+ }), children: settings.enabled ? "Disable" : "Enable role-based access" }))] }), error && (_jsx("p", { className: "fs-error fs-card__note", "aria-live": "polite", children: error })), (settings.enabled || visibleRoles.length > 0) && (_jsxs("div", { className: "fs-rbac__body", children: [showFullEditor && (_jsxs("div", { className: "fs-rbac__block", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-default", children: "Default role for unassigned members" }), _jsxs("select", { id: "fs-rbac-default", className: "fs-select", value: settings.defaultRoleKey ?? "", disabled: !resolvedCanManage || busy, onChange: (e) => void putSettings({
224
287
  enabled: true,
225
288
  defaultRoleKey: e.target.value || null,
226
- }), children: [_jsx("option", { value: "", children: "No default (unassigned members locked out)" }), roles.map((role) => (_jsx("option", { value: role.roleKey, children: role.name }, role.roleKey)))] })] }), _jsxs("div", { className: "fs-rbac__block", children: [_jsxs("div", { className: "fs-card__head", children: [_jsx("h4", { className: "fs-rbac__subtitle", children: "Roles" }), resolvedCanManage && !draft && (_jsx("button", { type: "button", className: "fs-btn fs-btn--outline fs-btn--sm", disabled: busy, onClick: () => setDraft(emptyDraft()), children: "New role" }))] }), roles.length === 0 ? (_jsx("p", { className: "fs-muted", children: "No roles yet." })) : (_jsx("ul", { className: "fs-rows", children: roles.map((role) => (_jsxs("li", { className: "fs-row", children: [_jsxs("span", { className: "fs-row__main", children: [role.name, " ", _jsx("code", { className: "fs-code-inline", children: role.roleKey }), _jsx("span", { className: "fs-muted fs-row__label", children: role.permissions.includes("*")
289
+ }), children: [_jsx("option", { value: "", children: "No default (unassigned members locked out)" }), roles
290
+ .filter((role) => role.kind !== "ACCOUNT")
291
+ .map((role) => (_jsx("option", { value: role.roleKey, children: role.name }, role.roleKey)))] })] })), _jsxs("div", { className: "fs-rbac__block", children: [_jsxs("div", { className: "fs-card__head", children: [_jsx("h4", { className: "fs-rbac__subtitle", children: "Roles" }), resolvedCanManage && !draft && showFullEditor && (_jsx("button", { type: "button", className: "fs-btn fs-btn--outline fs-btn--sm", disabled: busy, onClick: () => setDraft(emptyDraft()), children: "New role" }))] }), visibleRoles.length === 0 ? (_jsx("p", { className: "fs-muted", children: "No roles yet." })) : (_jsx("ul", { className: "fs-rows", children: visibleRoles.map((role) => (_jsxs("li", { className: "fs-row", children: [_jsxs("span", { className: "fs-row__main", children: [role.name, " ", _jsx("code", { className: "fs-code-inline", children: role.roleKey }), _jsx("span", { className: "fs-muted fs-row__label", children: role.permissions.includes("*")
227
292
  ? "Full access"
228
- : role.permissions.join(", ") || "—" })] }), role.roleKey === "owner" ? (_jsx("span", { className: "fs-muted fs-row__label", children: "Owner \u2014 always full access, not editable" })) : (resolvedCanManage && (_jsxs("span", { className: "fs-row__actions", children: [_jsx("button", { type: "button", className: "fs-btn fs-btn--outline fs-btn--sm", disabled: busy, onClick: () => setDraft(draftFromRole(role)), children: "Edit" }), _jsx("button", { type: "button", className: "fs-linkbtn fs-linkbtn--danger", disabled: busy, onClick: () => void deleteRole(role.roleKey), children: "Delete" })] })))] }, role.roleKey))) }))] }), resolvedCanManage && draft && (_jsxs("div", { className: "fs-rbac__block fs-rbac__editor", children: [_jsx("h4", { className: "fs-rbac__subtitle", children: draft.mode === "create"
293
+ : role.permissions.join(", ") || "—" })] }), role.roleKey === "owner" ? (_jsx("span", { className: "fs-muted fs-row__label", children: "Owner \u2014 always full access, not editable" })) : (resolvedCanManage && (_jsxs("span", { className: "fs-row__actions", children: [role.kind === "ACCOUNT" && (_jsx("span", { className: "fs-muted fs-row__label", children: "Account role" })), _jsx("button", { type: "button", className: "fs-btn fs-btn--outline fs-btn--sm", disabled: busy, onClick: () => setDraft(draftFromRole(role)), children: "Edit" }), role.kind !== "ACCOUNT" && (_jsx("button", { type: "button", className: "fs-linkbtn fs-linkbtn--danger", disabled: busy, onClick: () => void deleteRole(role.roleKey), children: "Delete" }))] })))] }, role.roleKey))) }))] }), resolvedCanManage && draft && (_jsxs("div", { className: "fs-rbac__block fs-rbac__editor", children: [_jsx("h4", { className: "fs-rbac__subtitle", children: draft.mode === "create"
229
294
  ? "New role"
230
- : `Edit role: ${draft.roleKey}` }), _jsxs("div", { className: "fs-card__actions", children: [draft.mode === "create" && (_jsxs("div", { className: "fs-rbac__field", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-rolekey", children: "Role key" }), _jsx("input", { id: "fs-rbac-rolekey", className: "fs-input", placeholder: "e.g. analyst", value: draft.roleKey, onChange: (e) => setDraft({ ...draft, roleKey: e.target.value }) }), _jsx("p", { className: "fs-muted", children: "Lowercase letters, digits, hyphens, underscores." })] })), _jsxs("div", { className: "fs-rbac__field", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-name", children: "Display name" }), _jsx("input", { id: "fs-rbac-name", className: "fs-input", placeholder: "e.g. Analyst", value: draft.name, onChange: (e) => setDraft({ ...draft, name: e.target.value }) })] })] }), _jsxs("label", { className: "fs-rbac__fullaccess", children: [_jsx("input", { type: "checkbox", checked: draft.fullAccess, onChange: (e) => setDraft({ ...draft, fullAccess: e.target.checked }) }), " ", "Full access (every route, including future ones)"] }), !draft.fullAccess &&
295
+ : `Edit role: ${draft.roleKey}` }), _jsxs("div", { className: "fs-card__actions", children: [draft.mode === "create" && (_jsxs("div", { className: "fs-rbac__field", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-rolekey", children: "Role key" }), _jsx("input", { id: "fs-rbac-rolekey", className: "fs-input", placeholder: "e.g. analyst", value: draft.roleKey, onChange: (e) => setDraft({ ...draft, roleKey: e.target.value }) }), _jsx("p", { className: "fs-muted", children: "Lowercase letters, digits, hyphens, underscores." })] })), _jsxs("div", { className: "fs-rbac__field", children: [_jsx("label", { className: "fs-label", htmlFor: "fs-rbac-name", children: "Display name" }), _jsx("input", { id: "fs-rbac-name", className: "fs-input", placeholder: "e.g. Analyst", value: draft.name, disabled: draft.isAccountRole, onChange: (e) => setDraft({ ...draft, name: e.target.value }) }), draft.isAccountRole && (_jsx("p", { className: "fs-muted", children: "Account roles keep their name \u2014 only their permissions can be narrowed or restored." }))] })] }), !draft.isAccountRole && (_jsxs("label", { className: "fs-rbac__fullaccess", children: [_jsx("input", { type: "checkbox", checked: draft.fullAccess, onChange: (e) => setDraft({ ...draft, fullAccess: e.target.checked }) }), " ", "Full access (every route, including future ones)"] })), draft.isAccountRole && (_jsxs("fieldset", { className: "fs-rbac__group", children: [_jsx("legend", { className: "fs-label", children: "Account permissions" }), (draft.vocabulary ?? [...draft.permissions].sort()).map((permission) => (_jsxs("label", { className: "fs-rbac__perm", children: [_jsx("input", { type: "checkbox", checked: draft.permissions.has(permission), onChange: () => toggleDraftPermission(permission) }), " ", permission] }, permission)))] })), !draft.fullAccess &&
296
+ !draft.isAccountRole &&
231
297
  catalog.map((entry) => (_jsxs("fieldset", { className: "fs-keygrant__group", children: [_jsx("legend", { className: "fs-keygrant__legend", children: entry.title ?? entry.subject }), _jsx("div", { className: "fs-keygrant__opts", children: entry.permissions.map((permission) => (_jsxs("label", { className: "fs-keygrant__opt", children: [_jsx("input", { type: "checkbox", checked: draft.permissions.has(permission), onChange: () => toggleDraftPermission(permission) }), " ", _jsx("span", { className: "fs-code-inline", children: permission })] }, permission))) })] }, entry.subject))), _jsxs("div", { className: "fs-card__actions", children: [_jsx("button", { type: "button", className: "fs-btn fs-btn--cta fs-btn--sm", disabled: busy || !draftValid, onClick: () => void saveDraft(), children: busy
232
298
  ? "Saving…"
233
299
  : draft.mode === "create"
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/components/access-control.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../src/components/access-control.tsx"],"names":[],"mappings":"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"}