@stapel/workspaces-react 0.6.0 → 0.8.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 (105) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/api/generated/schema.d.ts +774 -7
  3. package/dist/api/generated/schema.d.ts.map +1 -1
  4. package/dist/api/types.d.ts +104 -7
  5. package/dist/api/types.d.ts.map +1 -1
  6. package/dist/api/workspacesApi.d.ts +55 -1
  7. package/dist/api/workspacesApi.d.ts.map +1 -1
  8. package/dist/api/workspacesApi.js +23 -0
  9. package/dist/api/workspacesApi.js.map +1 -1
  10. package/dist/default/InviteAcceptPage.d.ts +28 -0
  11. package/dist/default/InviteAcceptPage.d.ts.map +1 -0
  12. package/dist/default/InviteAcceptPage.js +141 -0
  13. package/dist/default/InviteAcceptPage.js.map +1 -0
  14. package/dist/default/MembersManager.d.ts +4 -4
  15. package/dist/default/MembersManager.d.ts.map +1 -1
  16. package/dist/default/MembersManager.js +61 -56
  17. package/dist/default/MembersManager.js.map +1 -1
  18. package/dist/default/index.d.ts +2 -0
  19. package/dist/default/index.d.ts.map +1 -1
  20. package/dist/default/index.js +1 -0
  21. package/dist/default/index.js.map +1 -1
  22. package/dist/flows/inviteAcceptFlow.d.ts +155 -0
  23. package/dist/flows/inviteAcceptFlow.d.ts.map +1 -0
  24. package/dist/flows/inviteAcceptFlow.js +126 -0
  25. package/dist/flows/inviteAcceptFlow.js.map +1 -0
  26. package/dist/headless/Can.d.ts +40 -0
  27. package/dist/headless/Can.d.ts.map +1 -0
  28. package/dist/headless/Can.js +30 -0
  29. package/dist/headless/Can.js.map +1 -0
  30. package/dist/headless/InviteAcceptFlow.d.ts +44 -0
  31. package/dist/headless/InviteAcceptFlow.d.ts.map +1 -0
  32. package/dist/headless/InviteAcceptFlow.js +67 -0
  33. package/dist/headless/InviteAcceptFlow.js.map +1 -0
  34. package/dist/headless/RoleSelect.d.ts +41 -0
  35. package/dist/headless/RoleSelect.d.ts.map +1 -0
  36. package/dist/headless/RoleSelect.js +34 -0
  37. package/dist/headless/RoleSelect.js.map +1 -0
  38. package/dist/i18n/generated/errors.gen.d.ts +48 -0
  39. package/dist/i18n/generated/errors.gen.d.ts.map +1 -1
  40. package/dist/i18n/generated/errors.gen.js +24 -0
  41. package/dist/i18n/generated/errors.gen.js.map +1 -1
  42. package/dist/i18n/generated/errors.ru.gen.d.ts.map +1 -1
  43. package/dist/i18n/generated/errors.ru.gen.js +8 -0
  44. package/dist/i18n/generated/errors.ru.gen.js.map +1 -1
  45. package/dist/i18n/keys.d.ts +28 -0
  46. package/dist/i18n/keys.d.ts.map +1 -1
  47. package/dist/i18n/keys.js +64 -0
  48. package/dist/i18n/keys.js.map +1 -1
  49. package/dist/i18n/ru.d.ts.map +1 -1
  50. package/dist/i18n/ru.js +30 -0
  51. package/dist/i18n/ru.js.map +1 -1
  52. package/dist/index.d.ts +17 -4
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +10 -2
  55. package/dist/index.js.map +1 -1
  56. package/dist/model/capabilities.d.ts +21 -0
  57. package/dist/model/capabilities.d.ts.map +1 -0
  58. package/dist/model/capabilities.js +32 -0
  59. package/dist/model/capabilities.js.map +1 -0
  60. package/dist/model/emailMask.d.ts +22 -0
  61. package/dist/model/emailMask.d.ts.map +1 -0
  62. package/dist/model/emailMask.js +36 -0
  63. package/dist/model/emailMask.js.map +1 -0
  64. package/dist/model/mutations.d.ts +107 -3
  65. package/dist/model/mutations.d.ts.map +1 -1
  66. package/dist/model/mutations.js +190 -1
  67. package/dist/model/mutations.js.map +1 -1
  68. package/dist/model/queries.d.ts +108 -2
  69. package/dist/model/queries.d.ts.map +1 -1
  70. package/dist/model/queries.js +139 -1
  71. package/dist/model/queries.js.map +1 -1
  72. package/dist/model/queryKeys.d.ts +12 -1
  73. package/dist/model/queryKeys.d.ts.map +1 -1
  74. package/dist/model/queryKeys.js +25 -0
  75. package/dist/model/queryKeys.js.map +1 -1
  76. package/dist/model/stepUp.d.ts +25 -0
  77. package/dist/model/stepUp.d.ts.map +1 -0
  78. package/dist/model/stepUp.js +79 -0
  79. package/dist/model/stepUp.js.map +1 -0
  80. package/llms.txt +49 -15
  81. package/manifest.json +346 -3
  82. package/package.json +5 -5
  83. package/src/analytics/generated/events.json +1 -1
  84. package/src/api/generated/schema.ts +774 -7
  85. package/src/api/types.ts +113 -7
  86. package/src/api/workspacesApi.ts +137 -0
  87. package/src/default/InviteAcceptPage.tsx +373 -0
  88. package/src/default/MembersManager.tsx +155 -145
  89. package/src/default/index.ts +2 -0
  90. package/src/flows/inviteAcceptFlow.ts +289 -0
  91. package/src/headless/Can.tsx +49 -0
  92. package/src/headless/InviteAcceptFlow.tsx +105 -0
  93. package/src/headless/RoleSelect.tsx +58 -0
  94. package/src/i18n/generated/errors.gen.ts +24 -0
  95. package/src/i18n/generated/errors.json +62 -0
  96. package/src/i18n/generated/errors.ru.gen.ts +8 -0
  97. package/src/i18n/keys.ts +68 -0
  98. package/src/i18n/ru.ts +34 -0
  99. package/src/index.ts +54 -1
  100. package/src/model/capabilities.ts +37 -0
  101. package/src/model/emailMask.ts +37 -0
  102. package/src/model/mutations.ts +248 -4
  103. package/src/model/queries.ts +205 -2
  104. package/src/model/queryKeys.ts +45 -1
  105. package/src/model/stepUp.ts +96 -0
@@ -0,0 +1,67 @@
1
+ import { useEffect, useMemo } from "react";
2
+ import { useFlow } from "@stapel/core";
3
+ import { createInviteAcceptFlow } from "../flows/inviteAcceptFlow.js";
4
+ import { useWorkspacesAnalytics, useWorkspacesApi } from "../model/context.js";
5
+ /**
6
+ * Headless `/invite/{token}` journey (org-program §B4) — the flow machine
7
+ * (`flows/inviteAcceptFlow.ts`, see ITS doc for the full state graph and the
8
+ * grant_token hand-off seam) wired to this pair's runtime. Renderless: every
9
+ * screen (accept modal, wrong-account, the login and initial-setup SLOTS) is
10
+ * the host's; the default `InviteAcceptPage` is the reference skin.
11
+ *
12
+ * The pair knows nothing about auth: pass the signed-in email (or null) as
13
+ * `sessionEmail`, and connect `onLoginGrant` to auth-react's
14
+ * `exchangeLoginGrant` yourself — then call `grantExchanged()`.
15
+ */
16
+ export function InviteAcceptFlow(props) {
17
+ const api = useWorkspacesApi();
18
+ const analytics = useWorkspacesAnalytics();
19
+ const sessionEmail = props.sessionEmail ?? null;
20
+ const { token, onLoginGrant, onAccepted, onDeclined } = props;
21
+ const flow = useMemo(() => createInviteAcceptFlow({
22
+ api,
23
+ analytics,
24
+ token,
25
+ ...(onLoginGrant !== undefined ? { onLoginGrant } : {}),
26
+ ...(onAccepted !== undefined ? { onAccepted } : {}),
27
+ ...(onDeclined !== undefined ? { onDeclined } : {}),
28
+ }), [api, analytics, token, onLoginGrant, onAccepted, onDeclined]);
29
+ const state = useFlow(flow.machine);
30
+ // Initial load — once per flow instance (a new token remounts the memo).
31
+ useEffect(() => {
32
+ if (flow.machine.getState().step === "idle") {
33
+ void flow.load(sessionEmail);
34
+ }
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- sessionEmail is read once at load time by design; later session changes re-route via the dedicated effect below, not a re-load
36
+ }, [flow]);
37
+ // Auto hand-off: the host's login slot signed the user in while we were
38
+ // parked in `loginRequired`/`wrongAccount` — re-route without requiring the
39
+ // host to call `sessionEstablished` manually.
40
+ useEffect(() => {
41
+ if (sessionEmail === null || sessionEmail === "")
42
+ return;
43
+ const step = flow.machine.getState().step;
44
+ if (step === "loginRequired" || step === "wrongAccount") {
45
+ flow.sessionEstablished(sessionEmail);
46
+ }
47
+ }, [flow, sessionEmail, state.step]);
48
+ return props.children({
49
+ state,
50
+ claim: () => {
51
+ void flow.claim();
52
+ },
53
+ sessionEstablished: flow.sessionEstablished,
54
+ grantExchanged: flow.grantExchanged,
55
+ completeBasicData: flow.completeBasicData,
56
+ accept: () => {
57
+ void flow.accept();
58
+ },
59
+ decline: () => {
60
+ void flow.decline();
61
+ },
62
+ reload: () => {
63
+ void flow.load(sessionEmail);
64
+ },
65
+ });
66
+ }
67
+ //# sourceMappingURL=InviteAcceptFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InviteAcceptFlow.js","sourceRoot":"","sources":["../../src/headless/InviteAcceptFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqB/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAUhC;IACC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CACH,sBAAsB,CAAC;QACrB,GAAG;QACH,SAAS;QACT,KAAK;QACL,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC,EACJ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAC9D,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpC,yEAAyE;IACzE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5C,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;QACD,yLAAyL;IAC3L,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,wEAAwE;IACxE,4EAA4E;IAC5E,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,EAAE;YAAE,OAAO;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC1C,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACxD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACpB,KAAK;QACL,KAAK,EAAE,GAAG,EAAE;YACV,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,MAAM,EAAE,GAAG,EAAE;YACX,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { ReactNode } from "react";
2
+ import type { StapelApiError } from "@stapel/core";
3
+ import type { RoleInfo } from "../api/types.js";
4
+ /** Render-prop bag for {@link RoleSelect}. */
5
+ export interface RoleSelectBag {
6
+ /** The effective registry (GET /roles): builtin four + the deployment's
7
+ * overlay, rank-descending. Empty while loading. */
8
+ readonly roles: readonly RoleInfo[];
9
+ /**
10
+ * Display label for a role key: the i18n key `workspaces.role.<key>` when
11
+ * the current locale's merged bundle carries it (the pair ships the builtin
12
+ * four; a client bundle merges its own — e.g. `workspaces.role.secretary`),
13
+ * else the RAW role key. The raw-name fallback is deliberate: a
14
+ * deployment-defined role without a translation must still be pickable,
15
+ * never render as a dotted i18n key.
16
+ */
17
+ labelFor(role: string): string;
18
+ readonly isLoading: boolean;
19
+ readonly isError: boolean;
20
+ readonly error: StapelApiError | null;
21
+ }
22
+ /**
23
+ * Headless role picker over the effective role registry (org-program §A2) —
24
+ * the component that lets role UI stop hardcoding the builtin four. Bring
25
+ * your own `<Select>`:
26
+ *
27
+ * ```tsx
28
+ * <RoleSelect>
29
+ * {({ roles, labelFor }) => (
30
+ * <Select options={roles.map((r) => ({ value: r.role, label: labelFor(r.role) }))} />
31
+ * )}
32
+ * </RoleSelect>
33
+ * ```
34
+ *
35
+ * `owner` is in the registry too — filter it out where "only an owner grants
36
+ * owner" applies (the backend enforces regardless).
37
+ */
38
+ export declare function RoleSelect(props: {
39
+ children: (bag: RoleSelectBag) => ReactNode;
40
+ }): ReactNode;
41
+ //# sourceMappingURL=RoleSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleSelect.d.ts","sourceRoot":"","sources":["../../src/headless/RoleSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B;wDACoD;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAChC,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,SAAS,CAAC;CAC7C,GAAG,SAAS,CAcZ"}
@@ -0,0 +1,34 @@
1
+ import { useI18n } from "@stapel/core";
2
+ import { useRoles } from "../model/queries.js";
3
+ /**
4
+ * Headless role picker over the effective role registry (org-program §A2) —
5
+ * the component that lets role UI stop hardcoding the builtin four. Bring
6
+ * your own `<Select>`:
7
+ *
8
+ * ```tsx
9
+ * <RoleSelect>
10
+ * {({ roles, labelFor }) => (
11
+ * <Select options={roles.map((r) => ({ value: r.role, label: labelFor(r.role) }))} />
12
+ * )}
13
+ * </RoleSelect>
14
+ * ```
15
+ *
16
+ * `owner` is in the registry too — filter it out where "only an owner grants
17
+ * owner" applies (the backend enforces regardless).
18
+ */
19
+ export function RoleSelect(props) {
20
+ const query = useRoles();
21
+ const i18n = useI18n();
22
+ // Raw bundle lookup, NOT `t()`: `t` falls back to the key itself, which is
23
+ // exactly the wrong fallback here (a deployment role without a translation
24
+ // must show its raw name, not `workspaces.role.secretary`).
25
+ const bundle = i18n.getBundle();
26
+ return props.children({
27
+ roles: query.data ?? [],
28
+ labelFor: (role) => bundle[`workspaces.role.${role}`] ?? role,
29
+ isLoading: query.isLoading,
30
+ isError: query.isError,
31
+ error: query.error ?? null,
32
+ });
33
+ }
34
+ //# sourceMappingURL=RoleSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleSelect.js","sourceRoot":"","sources":["../../src/headless/RoleSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqB/C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,UAAU,CAAC,KAE1B;IACC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,2EAA2E;IAC3E,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,IAAI,IAAI;QAC7D,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -124,6 +124,12 @@ export declare const WORKSPACES_ERRORS: {
124
124
  readonly remediation: "fix_input";
125
125
  readonly en: "Invalid advertisement ID";
126
126
  };
127
+ readonly "error.400.invalid_provision_username": {
128
+ readonly status: 400;
129
+ readonly params: readonly [];
130
+ readonly remediation: "fix_input";
131
+ readonly en: "Invalid username for a provisioned account";
132
+ };
127
133
  readonly "error.400.invalid_role": {
128
134
  readonly status: 400;
129
135
  readonly params: readonly [];
@@ -136,6 +142,12 @@ export declare const WORKSPACES_ERRORS: {
136
142
  readonly remediation: "fix_input";
137
143
  readonly en: "Invitation has already been used";
138
144
  };
145
+ readonly "error.400.invitation_declined": {
146
+ readonly status: 400;
147
+ readonly params: readonly [];
148
+ readonly remediation: "contact_support";
149
+ readonly en: "Invitation has been declined";
150
+ };
139
151
  readonly "error.400.invitation_expired": {
140
152
  readonly status: 400;
141
153
  readonly params: readonly [];
@@ -178,6 +190,18 @@ export declare const WORKSPACES_ERRORS: {
178
190
  readonly remediation: "reauthenticate";
179
191
  readonly en: "Authentication required";
180
192
  };
193
+ readonly "error.402.entitlement_required": {
194
+ readonly status: 402;
195
+ readonly params: readonly [];
196
+ readonly remediation: "fix_input";
197
+ readonly en: "The workspace owner's plan does not include this feature";
198
+ };
199
+ readonly "error.402.member_limit_reached": {
200
+ readonly status: 402;
201
+ readonly params: readonly ["limit"];
202
+ readonly remediation: "fix_input";
203
+ readonly en: "The workspace member limit ({limit}) has been reached";
204
+ };
181
205
  readonly "error.402.payment_required": {
182
206
  readonly status: 402;
183
207
  readonly params: readonly [];
@@ -202,6 +226,18 @@ export declare const WORKSPACES_ERRORS: {
202
226
  readonly remediation: "fix_input";
203
227
  readonly en: "The last owner cannot be removed; transfer ownership first";
204
228
  };
229
+ readonly "error.403.membership_suspended": {
230
+ readonly status: 403;
231
+ readonly params: readonly ["reason"];
232
+ readonly remediation: "fix_input";
233
+ readonly en: "Your membership in this workspace is suspended ({reason})";
234
+ };
235
+ readonly "error.403.missing_capability": {
236
+ readonly status: 403;
237
+ readonly params: readonly ["capability"];
238
+ readonly remediation: "contact_support";
239
+ readonly en: "Your role does not include the {capability} capability in this workspace";
240
+ };
205
241
  readonly "error.403.network_blocked": {
206
242
  readonly status: 403;
207
243
  readonly params: readonly [];
@@ -280,6 +316,12 @@ export declare const WORKSPACES_ERRORS: {
280
316
  readonly remediation: "fix_input";
281
317
  readonly en: "Resource already exists";
282
318
  };
319
+ readonly "error.409.email_already_registered": {
320
+ readonly status: 409;
321
+ readonly params: readonly [];
322
+ readonly remediation: "reauthenticate";
323
+ readonly en: "An account with this email already exists — log in instead";
324
+ };
283
325
  readonly "error.410.gone": {
284
326
  readonly status: 410;
285
327
  readonly params: readonly [];
@@ -334,6 +376,12 @@ export declare const WORKSPACES_ERRORS: {
334
376
  readonly remediation: "contact_support";
335
377
  readonly en: "Something went wrong";
336
378
  };
379
+ readonly "error.503.auth_unavailable": {
380
+ readonly status: 503;
381
+ readonly params: readonly [];
382
+ readonly remediation: "wait_and_retry";
383
+ readonly en: "The authentication service is unavailable; try again later";
384
+ };
337
385
  };
338
386
  export type WorkspacesErrorCode = keyof typeof WORKSPACES_ERRORS;
339
387
  /** Every backend error code this module can surface, sorted. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.gen.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated/errors.gen.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,KAAK,CAAC;AAEV,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDpB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAEjE,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAqDhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAqDvE,CAAC"}
1
+ {"version":3,"file":"errors.gen.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated/errors.gen.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,KAAK,CAAC;AAEV,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DpB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAEjE,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EA6DhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CA6DvE,CAAC"}
@@ -24,8 +24,10 @@ export const WORKSPACES_ERRORS = {
24
24
  "error.400.field.required": { status: 400, params: ["field"], remediation: "fix_input", en: "{field} is required" },
25
25
  "error.400.field.unique": { status: 400, params: ["field"], remediation: "fix_input", en: "{field} must be unique" },
26
26
  "error.400.invalid_ad_id": { status: 400, params: [], remediation: "fix_input", en: "Invalid advertisement ID" },
27
+ "error.400.invalid_provision_username": { status: 400, params: [], remediation: "fix_input", en: "Invalid username for a provisioned account" },
27
28
  "error.400.invalid_role": { status: 400, params: [], remediation: "fix_input", en: "Invalid role" },
28
29
  "error.400.invitation_already_used": { status: 400, params: [], remediation: "fix_input", en: "Invitation has already been used" },
30
+ "error.400.invitation_declined": { status: 400, params: [], remediation: "contact_support", en: "Invitation has been declined" },
29
31
  "error.400.invitation_expired": { status: 400, params: [], remediation: "contact_support", en: "Invitation has expired" },
30
32
  "error.400.invitation_revoked": { status: 400, params: [], remediation: "contact_support", en: "Invitation has been revoked" },
31
33
  "error.400.validation_error": { status: 400, params: [], remediation: "fix_input", en: "Validation error" },
@@ -33,10 +35,14 @@ export const WORKSPACES_ERRORS = {
33
35
  "error.400.verification_invalid_factor": { status: 400, params: [], remediation: "verify", en: "This verification factor is not available" },
34
36
  "error.400.workspace_slug_taken": { status: 400, params: [], remediation: "fix_input", en: "Workspace slug is already taken" },
35
37
  "error.401.unauthorized": { status: 401, params: [], remediation: "reauthenticate", en: "Authentication required" },
38
+ "error.402.entitlement_required": { status: 402, params: [], remediation: "fix_input", en: "The workspace owner's plan does not include this feature" },
39
+ "error.402.member_limit_reached": { status: 402, params: ["limit"], remediation: "fix_input", en: "The workspace member limit ({limit}) has been reached" },
36
40
  "error.402.payment_required": { status: 402, params: [], remediation: "retry", en: "Payment required" },
37
41
  "error.403.forbidden": { status: 403, params: [], remediation: "retry", en: "You do not have permission to perform this action" },
38
42
  "error.403.forbidden_workspace": { status: 403, params: [], remediation: "contact_support", en: "You do not have access to this workspace" },
39
43
  "error.403.last_owner_cannot_be_removed": { status: 403, params: [], remediation: "fix_input", en: "The last owner cannot be removed; transfer ownership first" },
44
+ "error.403.membership_suspended": { status: 403, params: ["reason"], remediation: "fix_input", en: "Your membership in this workspace is suspended ({reason})" },
45
+ "error.403.missing_capability": { status: 403, params: ["capability"], remediation: "contact_support", en: "Your role does not include the {capability} capability in this workspace" },
40
46
  "error.403.network_blocked": { status: 403, params: [], remediation: "contact_support", en: "Requests from this network are not allowed" },
41
47
  "error.403.verification_enrollment_required": { status: 403, params: [], remediation: "verify", en: "Verification factor enrollment required" },
42
48
  "error.403.verification_required": { status: 403, params: [], remediation: "verify", en: "Additional verification required" },
@@ -50,6 +56,7 @@ export const WORKSPACES_ERRORS = {
50
56
  "error.406.not_acceptable": { status: 406, params: [], remediation: "retry", en: "Not acceptable" },
51
57
  "error.408.request_timeout": { status: 408, params: [], remediation: "retry", en: "Request timeout" },
52
58
  "error.409.conflict": { status: 409, params: [], remediation: "fix_input", en: "Resource already exists" },
59
+ "error.409.email_already_registered": { status: 409, params: [], remediation: "reauthenticate", en: "An account with this email already exists — log in instead" },
53
60
  "error.410.gone": { status: 410, params: [], remediation: "retry", en: "Resource has been permanently removed" },
54
61
  "error.413.payload_too_large": { status: 413, params: [], remediation: "retry", en: "Request body is too large" },
55
62
  "error.415.unsupported_media_type": { status: 415, params: [], remediation: "retry", en: "Unsupported media type" },
@@ -59,6 +66,7 @@ export const WORKSPACES_ERRORS = {
59
66
  "error.429.rate_limit": { status: 429, params: ["retry_after_minutes"], remediation: "wait_and_retry", en: "Too many attempts. Try again in {retry_after_minutes} minutes." },
60
67
  "error.429.too_many_requests": { status: 429, params: [], remediation: "wait_and_retry", en: "Too many requests. Please try again later." },
61
68
  "error.500.internal": { status: 500, params: [], remediation: "contact_support", en: "Something went wrong" },
69
+ "error.503.auth_unavailable": { status: 503, params: [], remediation: "wait_and_retry", en: "The authentication service is unavailable; try again later" },
62
70
  };
63
71
  /** Every backend error code this module can surface, sorted. */
64
72
  export const WORKSPACES_ERROR_CODES = [
@@ -79,8 +87,10 @@ export const WORKSPACES_ERROR_CODES = [
79
87
  "error.400.field.required",
80
88
  "error.400.field.unique",
81
89
  "error.400.invalid_ad_id",
90
+ "error.400.invalid_provision_username",
82
91
  "error.400.invalid_role",
83
92
  "error.400.invitation_already_used",
93
+ "error.400.invitation_declined",
84
94
  "error.400.invitation_expired",
85
95
  "error.400.invitation_revoked",
86
96
  "error.400.validation_error",
@@ -88,10 +98,14 @@ export const WORKSPACES_ERROR_CODES = [
88
98
  "error.400.verification_invalid_factor",
89
99
  "error.400.workspace_slug_taken",
90
100
  "error.401.unauthorized",
101
+ "error.402.entitlement_required",
102
+ "error.402.member_limit_reached",
91
103
  "error.402.payment_required",
92
104
  "error.403.forbidden",
93
105
  "error.403.forbidden_workspace",
94
106
  "error.403.last_owner_cannot_be_removed",
107
+ "error.403.membership_suspended",
108
+ "error.403.missing_capability",
95
109
  "error.403.network_blocked",
96
110
  "error.403.verification_enrollment_required",
97
111
  "error.403.verification_required",
@@ -105,6 +119,7 @@ export const WORKSPACES_ERROR_CODES = [
105
119
  "error.406.not_acceptable",
106
120
  "error.408.request_timeout",
107
121
  "error.409.conflict",
122
+ "error.409.email_already_registered",
108
123
  "error.410.gone",
109
124
  "error.413.payload_too_large",
110
125
  "error.415.unsupported_media_type",
@@ -114,6 +129,7 @@ export const WORKSPACES_ERROR_CODES = [
114
129
  "error.429.rate_limit",
115
130
  "error.429.too_many_requests",
116
131
  "error.500.internal",
132
+ "error.503.auth_unavailable",
117
133
  ];
118
134
  /**
119
135
  * English fallback bundle — one string per backend key, so a `StapelApiError.code`
@@ -138,8 +154,10 @@ export const workspacesErrorBundleEn = {
138
154
  "error.400.field.required": "{field} is required",
139
155
  "error.400.field.unique": "{field} must be unique",
140
156
  "error.400.invalid_ad_id": "Invalid advertisement ID",
157
+ "error.400.invalid_provision_username": "Invalid username for a provisioned account",
141
158
  "error.400.invalid_role": "Invalid role",
142
159
  "error.400.invitation_already_used": "Invitation has already been used",
160
+ "error.400.invitation_declined": "Invitation has been declined",
143
161
  "error.400.invitation_expired": "Invitation has expired",
144
162
  "error.400.invitation_revoked": "Invitation has been revoked",
145
163
  "error.400.validation_error": "Validation error",
@@ -147,10 +165,14 @@ export const workspacesErrorBundleEn = {
147
165
  "error.400.verification_invalid_factor": "This verification factor is not available",
148
166
  "error.400.workspace_slug_taken": "Workspace slug is already taken",
149
167
  "error.401.unauthorized": "Authentication required",
168
+ "error.402.entitlement_required": "The workspace owner's plan does not include this feature",
169
+ "error.402.member_limit_reached": "The workspace member limit ({limit}) has been reached",
150
170
  "error.402.payment_required": "Payment required",
151
171
  "error.403.forbidden": "You do not have permission to perform this action",
152
172
  "error.403.forbidden_workspace": "You do not have access to this workspace",
153
173
  "error.403.last_owner_cannot_be_removed": "The last owner cannot be removed; transfer ownership first",
174
+ "error.403.membership_suspended": "Your membership in this workspace is suspended ({reason})",
175
+ "error.403.missing_capability": "Your role does not include the {capability} capability in this workspace",
154
176
  "error.403.network_blocked": "Requests from this network are not allowed",
155
177
  "error.403.verification_enrollment_required": "Verification factor enrollment required",
156
178
  "error.403.verification_required": "Additional verification required",
@@ -164,6 +186,7 @@ export const workspacesErrorBundleEn = {
164
186
  "error.406.not_acceptable": "Not acceptable",
165
187
  "error.408.request_timeout": "Request timeout",
166
188
  "error.409.conflict": "Resource already exists",
189
+ "error.409.email_already_registered": "An account with this email already exists — log in instead",
167
190
  "error.410.gone": "Resource has been permanently removed",
168
191
  "error.413.payload_too_large": "Request body is too large",
169
192
  "error.415.unsupported_media_type": "Unsupported media type",
@@ -173,5 +196,6 @@ export const workspacesErrorBundleEn = {
173
196
  "error.429.rate_limit": "Too many attempts. Try again in {retry_after_minutes} minutes.",
174
197
  "error.429.too_many_requests": "Too many requests. Please try again later.",
175
198
  "error.500.internal": "Something went wrong",
199
+ "error.503.auth_unavailable": "The authentication service is unavailable; try again later",
176
200
  };
177
201
  //# sourceMappingURL=errors.gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.gen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.ru.gen.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAqDvE,CAAC"}
1
+ {"version":3,"file":"errors.ru.gen.d.ts","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CA6DvE,CAAC"}
@@ -22,8 +22,10 @@ export const workspacesErrorBundleRu = {
22
22
  "error.400.field.required": "Поле «{field}» обязательно",
23
23
  "error.400.field.unique": "Значение поля «{field}» должно быть уникальным",
24
24
  "error.400.invalid_ad_id": "Недопустимый идентификатор объявления",
25
+ "error.400.invalid_provision_username": "Недопустимое имя пользователя для создаваемого аккаунта",
25
26
  "error.400.invalid_role": "Недопустимая роль",
26
27
  "error.400.invitation_already_used": "Приглашение уже было использовано",
28
+ "error.400.invitation_declined": "Приглашение было отклонено",
27
29
  "error.400.invitation_expired": "Срок действия приглашения истёк",
28
30
  "error.400.invitation_revoked": "Приглашение было отозвано",
29
31
  "error.400.validation_error": "Ошибка валидации",
@@ -31,10 +33,14 @@ export const workspacesErrorBundleRu = {
31
33
  "error.400.verification_invalid_factor": "Этот способ подтверждения недоступен",
32
34
  "error.400.workspace_slug_taken": "Slug рабочего пространства уже занят",
33
35
  "error.401.unauthorized": "Требуется аутентификация",
36
+ "error.402.entitlement_required": "Тариф владельца рабочего пространства не включает эту возможность",
37
+ "error.402.member_limit_reached": "Достигнут лимит участников рабочего пространства ({limit})",
34
38
  "error.402.payment_required": "Требуется оплата",
35
39
  "error.403.forbidden": "У вас нет прав для выполнения этого действия",
36
40
  "error.403.forbidden_workspace": "У вас нет доступа к этому рабочему пространству",
37
41
  "error.403.last_owner_cannot_be_removed": "Нельзя удалить последнего владельца; сначала передайте права владения",
42
+ "error.403.membership_suspended": "Ваше членство в этом рабочем пространстве приостановлено ({reason})",
43
+ "error.403.missing_capability": "Ваша роль не включает право {capability} в этом рабочем пространстве",
38
44
  "error.403.network_blocked": "Запросы из этой сети не разрешены.",
39
45
  "error.403.verification_enrollment_required": "Требуется регистрация фактора подтверждения.",
40
46
  "error.403.verification_required": "Требуется дополнительная проверка",
@@ -48,6 +54,7 @@ export const workspacesErrorBundleRu = {
48
54
  "error.406.not_acceptable": "Недопустимый формат ответа",
49
55
  "error.408.request_timeout": "Время ожидания запроса истекло",
50
56
  "error.409.conflict": "Ресурс уже существует",
57
+ "error.409.email_already_registered": "Аккаунт с этим email уже существует — войдите в него",
51
58
  "error.410.gone": "Ресурс был безвозвратно удалён",
52
59
  "error.413.payload_too_large": "Тело запроса слишком большое",
53
60
  "error.415.unsupported_media_type": "Неподдерживаемый тип данных",
@@ -57,5 +64,6 @@ export const workspacesErrorBundleRu = {
57
64
  "error.429.rate_limit": "Слишком много попыток. Повторите попытку через {retry_after_minutes} мин.",
58
65
  "error.429.too_many_requests": "Слишком много запросов. Пожалуйста, повторите попытку позже.",
59
66
  "error.500.internal": "Что-то пошло не так",
67
+ "error.503.auth_unavailable": "Сервис аутентификации недоступен; повторите попытку позже",
60
68
  };
61
69
  //# sourceMappingURL=errors.ru.gen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.ru.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,oCAAoC,EAAE,kEAAkE;IACxG,uBAAuB,EAAE,qBAAqB;IAC9C,2BAA2B,EAAE,6DAA6D;IAC1F,4BAA4B,EAAE,wBAAwB;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,qCAAqC;IAC9D,gCAAgC,EAAE,yBAAyB;IAC3D,yBAAyB,EAAE,+CAA+C;IAC1E,gCAAgC,EAAE,yCAAyC;IAC3E,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,sBAAsB,EAAE,mCAAmC;IAC3D,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,gDAAgD;IAC1E,yBAAyB,EAAE,uCAAuC;IAClE,wBAAwB,EAAE,mBAAmB;IAC7C,mCAAmC,EAAE,mCAAmC;IACxE,8BAA8B,EAAE,iCAAiC;IACjE,8BAA8B,EAAE,2BAA2B;IAC3D,4BAA4B,EAAE,kBAAkB;IAChD,+BAA+B,EAAE,sBAAsB;IACvD,uCAAuC,EAAE,sCAAsC;IAC/E,gCAAgC,EAAE,sCAAsC;IACxE,wBAAwB,EAAE,0BAA0B;IACpD,4BAA4B,EAAE,kBAAkB;IAChD,qBAAqB,EAAE,8CAA8C;IACrE,+BAA+B,EAAE,iDAAiD;IAClF,wCAAwC,EAAE,uEAAuE;IACjH,2BAA2B,EAAE,oCAAoC;IACjE,4CAA4C,EAAE,8CAA8C;IAC5F,iCAAiC,EAAE,mCAAmC;IACtE,wBAAwB,EAAE,uBAAuB;IACjD,gCAAgC,EAAE,wBAAwB;IAC1D,4BAA4B,EAAE,gDAAgD;IAC9E,qBAAqB,EAAE,8BAA8B;IACrD,4CAA4C,EAAE,6CAA6C;IAC3F,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,mBAAmB;IACnD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,gCAAgC;IAC7D,oBAAoB,EAAE,uBAAuB;IAC7C,gBAAgB,EAAE,gCAAgC;IAClD,6BAA6B,EAAE,8BAA8B;IAC7D,kCAAkC,EAAE,6BAA6B;IACjE,gCAAgC,EAAE,sCAAsC;IACxE,kBAAkB,EAAE,qBAAqB;IACzC,+BAA+B,EAAE,+DAA+D;IAChG,sBAAsB,EAAE,2EAA2E;IACnG,6BAA6B,EAAE,8DAA8D;IAC7F,oBAAoB,EAAE,qBAAqB;CAC5C,CAAC"}
1
+ {"version":3,"file":"errors.ru.gen.js","sourceRoot":"","sources":["../../../src/i18n/generated/errors.ru.gen.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwC;IAC1E,oCAAoC,EAAE,kEAAkE;IACxG,uBAAuB,EAAE,qBAAqB;IAC9C,2BAA2B,EAAE,6DAA6D;IAC1F,4BAA4B,EAAE,wBAAwB;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,qCAAqC;IAC9D,gCAAgC,EAAE,yBAAyB;IAC3D,yBAAyB,EAAE,+CAA+C;IAC1E,gCAAgC,EAAE,yCAAyC;IAC3E,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,4BAA4B,EAAE,gEAAgE;IAC9F,2BAA2B,EAAE,2DAA2D;IACxF,sBAAsB,EAAE,mCAAmC;IAC3D,0BAA0B,EAAE,4BAA4B;IACxD,wBAAwB,EAAE,gDAAgD;IAC1E,yBAAyB,EAAE,uCAAuC;IAClE,sCAAsC,EAAE,yDAAyD;IACjG,wBAAwB,EAAE,mBAAmB;IAC7C,mCAAmC,EAAE,mCAAmC;IACxE,+BAA+B,EAAE,4BAA4B;IAC7D,8BAA8B,EAAE,iCAAiC;IACjE,8BAA8B,EAAE,2BAA2B;IAC3D,4BAA4B,EAAE,kBAAkB;IAChD,+BAA+B,EAAE,sBAAsB;IACvD,uCAAuC,EAAE,sCAAsC;IAC/E,gCAAgC,EAAE,sCAAsC;IACxE,wBAAwB,EAAE,0BAA0B;IACpD,gCAAgC,EAAE,mEAAmE;IACrG,gCAAgC,EAAE,4DAA4D;IAC9F,4BAA4B,EAAE,kBAAkB;IAChD,qBAAqB,EAAE,8CAA8C;IACrE,+BAA+B,EAAE,iDAAiD;IAClF,wCAAwC,EAAE,uEAAuE;IACjH,gCAAgC,EAAE,qEAAqE;IACvG,8BAA8B,EAAE,sEAAsE;IACtG,2BAA2B,EAAE,oCAAoC;IACjE,4CAA4C,EAAE,8CAA8C;IAC5F,iCAAiC,EAAE,mCAAmC;IACtE,wBAAwB,EAAE,uBAAuB;IACjD,gCAAgC,EAAE,wBAAwB;IAC1D,4BAA4B,EAAE,gDAAgD;IAC9E,qBAAqB,EAAE,8BAA8B;IACrD,4CAA4C,EAAE,6CAA6C;IAC3F,+BAA+B,EAAE,iCAAiC;IAClE,8BAA8B,EAAE,mBAAmB;IACnD,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,gCAAgC;IAC7D,oBAAoB,EAAE,uBAAuB;IAC7C,oCAAoC,EAAE,sDAAsD;IAC5F,gBAAgB,EAAE,gCAAgC;IAClD,6BAA6B,EAAE,8BAA8B;IAC7D,kCAAkC,EAAE,6BAA6B;IACjE,gCAAgC,EAAE,sCAAsC;IACxE,kBAAkB,EAAE,qBAAqB;IACzC,+BAA+B,EAAE,+DAA+D;IAChG,sBAAsB,EAAE,2EAA2E;IACnG,6BAA6B,EAAE,8DAA8D;IAC7F,oBAAoB,EAAE,qBAAqB;IAC3C,4BAA4B,EAAE,2DAA2D;CAC1F,CAAC"}
@@ -43,6 +43,34 @@ export declare const WORKSPACES_I18N_KEYS: {
43
43
  readonly roleAdmin: "workspaces.members.role.admin";
44
44
  readonly roleMember: "workspaces.members.role.member";
45
45
  readonly roleViewer: "workspaces.members.role.viewer";
46
+ readonly roleLabelOwner: "workspaces.role.owner";
47
+ readonly roleLabelAdmin: "workspaces.role.admin";
48
+ readonly roleLabelMember: "workspaces.role.member";
49
+ readonly roleLabelViewer: "workspaces.role.viewer";
50
+ readonly inviteLoading: "workspaces.invite.loading";
51
+ readonly inviteAcceptTitle: "workspaces.invite.acceptTitle";
52
+ readonly inviteRoleLine: "workspaces.invite.roleLine";
53
+ readonly inviteEmailLine: "workspaces.invite.emailLine";
54
+ readonly inviteJoinCta: "workspaces.invite.joinCta";
55
+ readonly inviteDeclineCta: "workspaces.invite.declineCta";
56
+ readonly inviteAccepted: "workspaces.invite.accepted";
57
+ readonly inviteDeclined: "workspaces.invite.declined";
58
+ readonly inviteUnavailableExpired: "workspaces.invite.unavailable.expired";
59
+ readonly inviteUnavailableRevoked: "workspaces.invite.unavailable.revoked";
60
+ readonly inviteUnavailableAccepted: "workspaces.invite.unavailable.accepted";
61
+ readonly inviteUnavailableDeclined: "workspaces.invite.unavailable.declined";
62
+ readonly inviteWrongAccount: "workspaces.invite.wrongAccount";
63
+ readonly inviteWrongAccountHint: "workspaces.invite.wrongAccountHint";
64
+ readonly inviteSwitchAccountCta: "workspaces.invite.switchAccountCta";
65
+ readonly inviteLoginTitle: "workspaces.invite.loginTitle";
66
+ readonly inviteNewUserHint: "workspaces.invite.newUserHint";
67
+ readonly inviteCreateAccountCta: "workspaces.invite.createAccountCta";
68
+ readonly inviteClaiming: "workspaces.invite.claiming";
69
+ readonly inviteExchanging: "workspaces.invite.exchanging";
70
+ readonly inviteExchangeFailed: "workspaces.invite.exchangeFailed";
71
+ readonly inviteRetryCta: "workspaces.invite.retryCta";
72
+ readonly inviteBasicDataTitle: "workspaces.invite.basicDataTitle";
73
+ readonly inviteBasicDataContinueCta: "workspaces.invite.basicDataContinueCta";
46
74
  };
47
75
  export type WorkspacesI18nKey = (typeof WORKSPACES_I18N_KEYS)[keyof typeof WORKSPACES_I18N_KEYS];
48
76
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAuCpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAO,GAAG,IAAI,CAE9E"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAyEpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAO,GAAG,IAAI,CAE9E"}
package/dist/i18n/keys.js CHANGED
@@ -48,6 +48,40 @@ export const WORKSPACES_I18N_KEYS = {
48
48
  roleAdmin: "workspaces.members.role.admin",
49
49
  roleMember: "workspaces.members.role.member",
50
50
  roleViewer: "workspaces.members.role.viewer",
51
+ // Role registry labels (org-program §A2) — the `workspaces.role.<key>`
52
+ // namespace RoleSelect resolves labels in: the pair ships the builtin four;
53
+ // a client bundle merges its own (`workspaces.role.secretary`, …) and
54
+ // RoleSelect falls back to the RAW role key when a label is missing.
55
+ roleLabelOwner: "workspaces.role.owner",
56
+ roleLabelAdmin: "workspaces.role.admin",
57
+ roleLabelMember: "workspaces.role.member",
58
+ roleLabelViewer: "workspaces.role.viewer",
59
+ // Invite accept flow (org-program §B4 — InviteAcceptFlow headless +
60
+ // InviteAcceptPage default skin), one key per flow screen.
61
+ inviteLoading: "workspaces.invite.loading",
62
+ inviteAcceptTitle: "workspaces.invite.acceptTitle",
63
+ inviteRoleLine: "workspaces.invite.roleLine",
64
+ inviteEmailLine: "workspaces.invite.emailLine",
65
+ inviteJoinCta: "workspaces.invite.joinCta",
66
+ inviteDeclineCta: "workspaces.invite.declineCta",
67
+ inviteAccepted: "workspaces.invite.accepted",
68
+ inviteDeclined: "workspaces.invite.declined",
69
+ inviteUnavailableExpired: "workspaces.invite.unavailable.expired",
70
+ inviteUnavailableRevoked: "workspaces.invite.unavailable.revoked",
71
+ inviteUnavailableAccepted: "workspaces.invite.unavailable.accepted",
72
+ inviteUnavailableDeclined: "workspaces.invite.unavailable.declined",
73
+ inviteWrongAccount: "workspaces.invite.wrongAccount",
74
+ inviteWrongAccountHint: "workspaces.invite.wrongAccountHint",
75
+ inviteSwitchAccountCta: "workspaces.invite.switchAccountCta",
76
+ inviteLoginTitle: "workspaces.invite.loginTitle",
77
+ inviteNewUserHint: "workspaces.invite.newUserHint",
78
+ inviteCreateAccountCta: "workspaces.invite.createAccountCta",
79
+ inviteClaiming: "workspaces.invite.claiming",
80
+ inviteExchanging: "workspaces.invite.exchanging",
81
+ inviteExchangeFailed: "workspaces.invite.exchangeFailed",
82
+ inviteRetryCta: "workspaces.invite.retryCta",
83
+ inviteBasicDataTitle: "workspaces.invite.basicDataTitle",
84
+ inviteBasicDataContinueCta: "workspaces.invite.basicDataContinueCta",
51
85
  };
52
86
  /**
53
87
  * English fallback bundle for workspaces-react UI keys + backend error codes.
@@ -94,6 +128,36 @@ export const workspacesI18nBundleEn = {
94
128
  "workspaces.members.role.admin": "Admin",
95
129
  "workspaces.members.role.member": "Member",
96
130
  "workspaces.members.role.viewer": "Viewer",
131
+ // Role registry labels (builtin four; clients merge their own roles)
132
+ "workspaces.role.owner": "Owner",
133
+ "workspaces.role.admin": "Admin",
134
+ "workspaces.role.member": "Member",
135
+ "workspaces.role.viewer": "Viewer",
136
+ // Invite accept flow (org-program §B4)
137
+ "workspaces.invite.loading": "Loading invitation…",
138
+ "workspaces.invite.acceptTitle": "Join {workspace}",
139
+ "workspaces.invite.roleLine": "You've been invited as {role}.",
140
+ "workspaces.invite.emailLine": "Invitation for {email}",
141
+ "workspaces.invite.joinCta": "Join workspace",
142
+ "workspaces.invite.declineCta": "Decline",
143
+ "workspaces.invite.accepted": "You've joined {workspace}.",
144
+ "workspaces.invite.declined": "Invitation declined.",
145
+ "workspaces.invite.unavailable.expired": "This invitation has expired. Ask for a new one.",
146
+ "workspaces.invite.unavailable.revoked": "This invitation was revoked.",
147
+ "workspaces.invite.unavailable.accepted": "This invitation has already been used.",
148
+ "workspaces.invite.unavailable.declined": "This invitation was declined.",
149
+ "workspaces.invite.wrongAccount": "This invitation is for a different account",
150
+ "workspaces.invite.wrongAccountHint": "You're signed in as {email}, but the invitation was sent to {invited}. Switch accounts to continue.",
151
+ "workspaces.invite.switchAccountCta": "Switch account",
152
+ "workspaces.invite.loginTitle": "Sign in to accept the invitation",
153
+ "workspaces.invite.newUserHint": "We'll create a verified account for {email} — no password or email confirmation needed.",
154
+ "workspaces.invite.createAccountCta": "Create account and continue",
155
+ "workspaces.invite.claiming": "Creating your account…",
156
+ "workspaces.invite.exchanging": "Signing you in…",
157
+ "workspaces.invite.exchangeFailed": "Couldn't finish signing you in.",
158
+ "workspaces.invite.retryCta": "Try again",
159
+ "workspaces.invite.basicDataTitle": "Set up your profile",
160
+ "workspaces.invite.basicDataContinueCta": "Continue",
97
161
  };
98
162
  /**
99
163
  * Register workspaces-react's key bundle into a core i18n engine (call once at
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/i18n/keys.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAuCpC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGjE"}
1
+ {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../src/i18n/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAyEpC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGjE"}