@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.
- package/CHANGELOG.md +74 -0
- package/README.md +1 -1
- package/dist/component-policy.d.ts +25 -1
- package/dist/component-policy.d.ts.map +1 -1
- package/dist/component-policy.js +60 -4
- package/dist/component-policy.js.map +1 -1
- package/dist/components/access-control.d.ts.map +1 -1
- package/dist/components/access-control.js +73 -7
- package/dist/components/access-control.js.map +1 -1
- package/dist/components/api-keys-manager.d.ts +7 -0
- package/dist/components/api-keys-manager.d.ts.map +1 -0
- package/dist/components/api-keys-manager.js +238 -0
- package/dist/components/api-keys-manager.js.map +1 -0
- package/dist/components/audit-log-table.d.ts.map +1 -1
- package/dist/components/audit-log-table.js +24 -3
- package/dist/components/audit-log-table.js.map +1 -1
- package/dist/components/bill-preview-card.d.ts +6 -7
- package/dist/components/bill-preview-card.d.ts.map +1 -1
- package/dist/components/bill-preview-card.js +93 -24
- package/dist/components/bill-preview-card.js.map +1 -1
- package/dist/components/billing.d.ts.map +1 -1
- package/dist/components/billing.js +9 -2
- package/dist/components/billing.js.map +1 -1
- package/dist/components/cancel-subscription.d.ts +4 -6
- package/dist/components/cancel-subscription.d.ts.map +1 -1
- package/dist/components/cancel-subscription.js +113 -40
- package/dist/components/cancel-subscription.js.map +1 -1
- package/dist/components/component-access-panel.d.ts.map +1 -1
- package/dist/components/component-access-panel.js +10 -3
- package/dist/components/component-access-panel.js.map +1 -1
- package/dist/components/environment-banner.d.ts +4 -0
- package/dist/components/environment-banner.d.ts.map +1 -0
- package/dist/components/environment-banner.js +37 -0
- package/dist/components/environment-banner.js.map +1 -0
- package/dist/components/index.d.ts +17 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +16 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/keys.d.ts.map +1 -1
- package/dist/components/keys.js +7 -1
- package/dist/components/keys.js.map +1 -1
- package/dist/components/legal-consent-gate.d.ts.map +1 -1
- package/dist/components/legal-consent-gate.js +11 -2
- package/dist/components/legal-consent-gate.js.map +1 -1
- package/dist/components/legal-index.d.ts +14 -0
- package/dist/components/legal-index.d.ts.map +1 -0
- package/dist/components/legal-index.js +19 -0
- package/dist/components/legal-index.js.map +1 -0
- package/dist/components/notification-preferences.d.ts +7 -0
- package/dist/components/notification-preferences.d.ts.map +1 -0
- package/dist/components/notification-preferences.js +119 -0
- package/dist/components/notification-preferences.js.map +1 -0
- package/dist/components/onboarding-plan-rail.d.ts +22 -0
- package/dist/components/onboarding-plan-rail.d.ts.map +1 -0
- package/dist/components/onboarding-plan-rail.js +103 -0
- package/dist/components/onboarding-plan-rail.js.map +1 -0
- package/dist/components/org-switcher.d.ts +11 -6
- package/dist/components/org-switcher.d.ts.map +1 -1
- package/dist/components/org-switcher.js +88 -22
- package/dist/components/org-switcher.js.map +1 -1
- package/dist/components/payment-required-gate.d.ts.map +1 -1
- package/dist/components/payment-required-gate.js +13 -5
- package/dist/components/payment-required-gate.js.map +1 -1
- package/dist/components/permission-gate.d.ts.map +1 -1
- package/dist/components/permission-gate.js +26 -10
- package/dist/components/permission-gate.js.map +1 -1
- package/dist/components/plans-table.d.ts +13 -1
- package/dist/components/plans-table.d.ts.map +1 -1
- package/dist/components/plans-table.js +16 -6
- package/dist/components/plans-table.js.map +1 -1
- package/dist/components/pricing-plan-card.d.ts +11 -0
- package/dist/components/pricing-plan-card.d.ts.map +1 -0
- package/dist/components/pricing-plan-card.js +15 -0
- package/dist/components/pricing-plan-card.js.map +1 -0
- package/dist/components/subscriber-status.d.ts +11 -0
- package/dist/components/subscriber-status.d.ts.map +1 -0
- package/dist/components/subscriber-status.js +39 -0
- package/dist/components/subscriber-status.js.map +1 -0
- package/dist/components/team.d.ts +92 -0
- package/dist/components/team.d.ts.map +1 -0
- package/dist/components/team.js +104 -0
- package/dist/components/team.js.map +1 -0
- package/dist/components/upgrade-prompt.d.ts +23 -4
- package/dist/components/upgrade-prompt.d.ts.map +1 -1
- package/dist/components/upgrade-prompt.js +30 -16
- package/dist/components/upgrade-prompt.js.map +1 -1
- package/dist/components/usage-limits.d.ts +1 -1
- package/dist/components/usage-limits.d.ts.map +1 -1
- package/dist/components/usage-limits.js +26 -3
- package/dist/components/usage-limits.js.map +1 -1
- package/dist/components/usage-surfaces.d.ts +61 -0
- package/dist/components/usage-surfaces.d.ts.map +1 -0
- package/dist/components/usage-surfaces.js +108 -0
- package/dist/components/usage-surfaces.js.map +1 -0
- package/dist/format/catalog-display.d.ts +8 -1
- package/dist/format/catalog-display.d.ts.map +1 -1
- package/dist/format/catalog-display.js +28 -8
- package/dist/format/catalog-display.js.map +1 -1
- package/dist/format/index.d.ts +2 -1
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +5 -1
- package/dist/format/index.js.map +1 -1
- package/dist/format/subscriber-lifecycle.d.ts +35 -0
- package/dist/format/subscriber-lifecycle.d.ts.map +1 -0
- package/dist/format/subscriber-lifecycle.js +139 -0
- package/dist/format/subscriber-lifecycle.js.map +1 -0
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/react/hooks.d.ts +13 -0
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/hooks.js +19 -0
- package/dist/react/hooks.js.map +1 -1
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/resources/usage.d.ts +1 -0
- package/dist/resources/usage.d.ts.map +1 -1
- package/dist/resources/usage.js +23 -6
- package/dist/resources/usage.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- 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.
|
|
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,
|
|
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"}
|
package/dist/component-policy.js
CHANGED
|
@@ -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
|
-
|
|
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 ??
|
|
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
|
|
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":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,gEAAgE;AAChE,+DAA+D;AAC/D,2EAA2E;AAC3E,6DAA6D;AAC7D,6EAA6E;AAC7E,qCAAqC;AACrC,gEAAgE;AAChE,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,mEAAmE;AACnE,8CAA8C;AAC9C,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,iEAAiE;AACjE,EAAE;AACF,4EAA4E;AAC5E,4BAA4B;AAC5B,8EAA8E;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAGhE;oEACoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;CACA,CAAC;AAIX,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAUD;;wCAEwC;AACxC,MAAM,CAAC,MAAM,0BAA0B,GAEnC;IACF,WAAW,EAAE;QACX,UAAU,EAAE,mBAAmB;QAC/B,uEAAuE;QACvE,oEAAoE;QACpE,sDAAsD;QACtD,eAAe,EAAE,0BAA0B;KAC5C;IACD,UAAU,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;IACxC,cAAc,EAAE;QACd,UAAU,EAAE,aAAa;QACzB,uEAAuE;QACvE,qEAAqE;QACrE,eAAe,EAAE,eAAe;KACjC;IACD,eAAe,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE;IAC/C,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACjC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACzD,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;IAC3C,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE;IAC5E,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"component-policy.js","sourceRoot":"","sources":["../src/component-policy.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,gEAAgE;AAChE,+DAA+D;AAC/D,2EAA2E;AAC3E,6DAA6D;AAC7D,6EAA6E;AAC7E,qCAAqC;AACrC,gEAAgE;AAChE,wDAAwD;AACxD,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,mEAAmE;AACnE,8CAA8C;AAC9C,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,iEAAiE;AACjE,EAAE;AACF,4EAA4E;AAC5E,4BAA4B;AAC5B,8EAA8E;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAGhE;oEACoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;CACA,CAAC;AAIX,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAUD;;wCAEwC;AACxC,MAAM,CAAC,MAAM,0BAA0B,GAEnC;IACF,WAAW,EAAE;QACX,UAAU,EAAE,mBAAmB;QAC/B,uEAAuE;QACvE,oEAAoE;QACpE,sDAAsD;QACtD,eAAe,EAAE,0BAA0B;KAC5C;IACD,UAAU,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;IACxC,cAAc,EAAE;QACd,UAAU,EAAE,aAAa;QACzB,uEAAuE;QACvE,qEAAqE;QACrE,eAAe,EAAE,eAAe;KACjC;IACD,eAAe,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE;IAC/C,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACjC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACzD,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;IAC3C,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE;IAC5E,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACpD,YAAY,EAAE;QACZ,UAAU,EAAE,kBAAkB;QAC9B,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,eAAe,EAAE,oBAAoB;KACtC;IACD,wBAAwB,EAAE;QACxB,mEAAmE;QACnE,wEAAwE;QACxE,oEAAoE;QACpE,wBAAwB;QACxB,UAAU,EAAE,mBAAmB;QAC/B,eAAe,EAAE,mBAAmB;KACrC;IACD,iBAAiB,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE;CACvD,CAAC;AAEF;;;2DAG2D;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,cAAc,CAAC,CAAC;AAE7E;;+BAE+B;AAC/B,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,0BAA0B,CAAC,WAAW,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC;AACrE,CAAC;AAED;gFACgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW;IACX,gBAAgB;IAChB,YAAY;CACJ,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,uBAAuB,CAAC,EAAU;IAChD,OAAQ,wBAA8C,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CACrB,WAAmB;IAEnB,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACzC,0BAA0B,EAC1B,WAAW,CACZ;QACC,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;oCAEoC;AACpC,MAAM,CAAC,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AAE7E,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAAC,EAAU;IAC7C,OAAO,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AAqBD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAmC;IACnE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC;IAC5B,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,EAAE,uEAAuE,CACjG,CAAC;IACJ,CAAC;IACD,IACE,YAAY,CAAC,QAAQ,KAAK,SAAS;QACnC,CAAC,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,sBAAsB,EAAE,yBAAyB,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CACnF,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,wBAAwB;IACtC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAgCD;mCACmC;AACnC,SAAS,cAAc,CAAC,WAAmB;IACzC,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,EAAE,UAAU,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,QAAqD;IAErD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACpE,uEAAuE;QACvE,OAAO;YACL,WAAW;YACX,UAAU,EAAE,IAAI;YAChB,mBAAmB,EAAE,EAAE;YACvB,eAAe,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,QAAQ;YACvD,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,SAAS;YACzB,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAE5C,qEAAqE;IACrE,qEAAqE;IACrE,MAAM,cAAc,GAClB,CAAC,SAAS;QACV,OAAO,EAAE,kBAAkB,IAAI,IAAI;QACnC,OAAO,CAAC,YAAY,EAAE,cAAc,IAAI,OAAO,EAAE,cAAc,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU;YACzB,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,UAAU;YACnB,GAAG,OAAO,OAAO,CAAC,CAAC;IAEvB,MAAM,eAAe,GACnB,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChE,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,iBAAiB,GACrB,YAAY,EAAE,QAAQ;QACtB,eAAe;QACf,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,cAAc,GAClB,YAAY,EAAE,QAAQ,KAAK,SAAS;QAClC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,eAAe,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC;IAClB,0EAA0E;IAC1E,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,QAAQ,GACZ,SAAS;QACT,CAAC,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,UAAU,CAAC;QACnE,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,iBAAiB,CAAC;IACxB,MAAM,oBAAoB,GAAG,cAAc;QACzC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,GAAG,CAAC,CAAC,SAAS,IAAI,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClE,OAAO,EAAE,UAAU,IAAI,IAAI;gBACzB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;gBACtB,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;IACN,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CACpD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAChD,CAAC;IACF,MAAM,mBAAmB,GAAG,oBAAoB;SAC7C,MAAM,CAAC,4BAA4B,CAAC;SACpC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;IACrE,4DAA4D;IAC5D,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,aAAa,GACjB,CAAC,cAAc;QACf,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,eAAe,EACb,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,eAAe;YACxB,GAAG,OAAO,QAAQ;QACpB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAC7C,uEAAuE;QACvE,wEAAwE;QACxE,0DAA0D;QAC1D,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;QAC1D,cAAc;QACd,SAAS;QACT,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
220
|
-
|
|
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
|
|
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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"}
|