@stapel/workspaces-react 0.7.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 (41) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/api/generated/schema.d.ts +390 -3
  3. package/dist/api/generated/schema.d.ts.map +1 -1
  4. package/dist/api/types.d.ts +84 -2
  5. package/dist/api/types.d.ts.map +1 -1
  6. package/dist/api/workspacesApi.d.ts +33 -1
  7. package/dist/api/workspacesApi.d.ts.map +1 -1
  8. package/dist/api/workspacesApi.js +19 -0
  9. package/dist/api/workspacesApi.js.map +1 -1
  10. package/dist/index.d.ts +7 -5
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/model/mutations.d.ts +85 -1
  15. package/dist/model/mutations.d.ts.map +1 -1
  16. package/dist/model/mutations.js +151 -0
  17. package/dist/model/mutations.js.map +1 -1
  18. package/dist/model/queries.d.ts +72 -2
  19. package/dist/model/queries.d.ts.map +1 -1
  20. package/dist/model/queries.js +90 -1
  21. package/dist/model/queries.js.map +1 -1
  22. package/dist/model/queryKeys.d.ts +10 -1
  23. package/dist/model/queryKeys.d.ts.map +1 -1
  24. package/dist/model/queryKeys.js +19 -0
  25. package/dist/model/queryKeys.js.map +1 -1
  26. package/dist/model/stepUp.d.ts +25 -0
  27. package/dist/model/stepUp.d.ts.map +1 -0
  28. package/dist/model/stepUp.js +79 -0
  29. package/dist/model/stepUp.js.map +1 -0
  30. package/llms.txt +11 -2
  31. package/manifest.json +123 -2
  32. package/package.json +4 -4
  33. package/src/analytics/generated/events.json +1 -1
  34. package/src/api/generated/schema.ts +390 -3
  35. package/src/api/types.ts +93 -2
  36. package/src/api/workspacesApi.ts +87 -0
  37. package/src/index.ts +29 -2
  38. package/src/model/mutations.ts +192 -0
  39. package/src/model/queries.ts +132 -2
  40. package/src/model/queryKeys.ts +35 -1
  41. package/src/model/stepUp.ts +96 -0
@@ -9,9 +9,12 @@
9
9
  * openapi-typescript under-describe the runtime, apply a small documented
10
10
  * correction (see auth-react `api/types.ts` for the three canonical patterns).
11
11
  */
12
- import type { components } from "./generated/schema.js";
12
+ import type { components, operations } from "./generated/schema.js";
13
13
  /** The generated schema table — the one source of truth for wire shapes. */
14
14
  export type Schemas = components["schemas"];
15
+ /** The generated operation table — the source of truth for QUERY parameters
16
+ * (drf-spectacular declares them per-operation, not as a component schema). */
17
+ export type Operations = operations;
15
18
  /** One workspace — identity, storage, my role, member count (GET/POST/PATCH). */
16
19
  export type Workspace = Schemas["WorkspaceResponse"];
17
20
  /** GET / 200 body — the caller's workspaces (memberships). */
@@ -30,8 +33,21 @@ export type MemberInvite = Schemas["MemberInviteRequest"];
30
33
  export type MemberInviteResult = Schemas["MemberInviteResponse"];
31
34
  /** PATCH /{id}/members/{userId} request body — the new role. */
32
35
  export type MemberRoleUpdate = Schemas["PatchedMemberUpdateRequest"];
33
- /** One pending/accepted invitation (a row of {@link MemberInviteResult}). */
36
+ /** One pending/accepted invitation (a row of {@link MemberInviteResult}, and
37
+ * a row of the admin's invitation table — GET /{id}/invitations). The invite
38
+ * TOKEN is deliberately absent from this shape: it is a bearer credential
39
+ * that only ever leaves the backend inside the invitation email. */
34
40
  export type Invitation = Schemas["InvitationResponse"];
41
+ /** GET /{id}/invitations 200 body — an anchor-paginated page of {@link Invitation}s. */
42
+ export type InvitationPage = Schemas["PaginatedInvitationResponseList"];
43
+ /** POST /{id}/members/{userId}/password/reset request body — an optional
44
+ * admin-chosen password, the first-login demands to raise, and an audit note. */
45
+ export type MemberPasswordReset = Schemas["MemberPasswordResetRequest"];
46
+ /** POST /{id}/members/{userId}/password/reset 200 body. `generated_password`
47
+ * is a ONE-SHOT credential (present only when the request omitted `password`)
48
+ * — see {@link "../model/mutations.js".useResetMemberPassword}, which keeps it
49
+ * out of the query cache. */
50
+ export type MemberPasswordResetResult = Schemas["MemberPasswordResetResponse"];
35
51
  /** POST /invitations/accept request body — the token from the email link. */
36
52
  export type InvitationAccept = Schemas["InvitationAcceptRequest"];
37
53
  /** GET /invitations/{token} 200 body — the public (AllowAny) preview the
@@ -79,4 +95,70 @@ export interface MembersParams {
79
95
  /** Case-insensitive substring filter matched against a member's email or display name. */
80
96
  readonly search?: string;
81
97
  }
98
+ /**
99
+ * Which invitations GET /{id}/invitations returns. Taken VERBATIM from the
100
+ * generated operation table (not re-typed by hand): `pending` (the backend
101
+ * default) — live, seat-reserving invitations, i.e. who has not accepted yet;
102
+ * `never_accepted` — those plus declined / revoked / expired; `all` — the full
103
+ * history, accepted rows included.
104
+ */
105
+ export type InvitationStatusFilter = NonNullable<NonNullable<Operations["workspaces_api_v1_invitations_list"]["parameters"]["query"]>["status"]>;
106
+ /**
107
+ * Anchor-pagination query for GET /{id}/invitations (core `AnchorPagination`,
108
+ * the same shape as {@link MembersParams} plus the `status` filter). All
109
+ * optional: no params fetches the newest page of PENDING invitations
110
+ * (default limit 100, max 500).
111
+ *
112
+ * ANCHOR, not page numbers: a page is addressed by the opaque `next_anchor`
113
+ * of the page before it. There is no "page 3" to jump to and no offset to
114
+ * skew when an invitation is revoked mid-scroll.
115
+ */
116
+ export interface InvitationsParams {
117
+ /** Anchor value to paginate from (exclusive) — a page's `next_anchor`. */
118
+ readonly anchor?: string;
119
+ /** Pagination direction relative to `anchor`. */
120
+ readonly direction?: "next" | "prev" | "center";
121
+ /** Page size (default 100, max 500). */
122
+ readonly limit?: number;
123
+ /** Case-insensitive substring filter on the invited email address. */
124
+ readonly search?: string;
125
+ /** Which invitations to return (default `pending`). */
126
+ readonly status?: InvitationStatusFilter;
127
+ }
128
+ /**
129
+ * One first-login demand an organization may raise on an account it admits
130
+ * (`settings.security.provisioned_user_policies`, backend dto
131
+ * `PROVISIONED_USER_POLICIES`). INDEPENDENT checkboxes, not alternatives — an
132
+ * org may demand both. NOT GENERATED: the security block lives inside the
133
+ * free-form `Workspace.settings` JSON, so drf-spectacular types it as an
134
+ * untyped object; the backend serializer validates exactly these two values.
135
+ */
136
+ export type ProvisionedUserPolicy = "password_change" | "mfa_enroll";
137
+ /**
138
+ * Typed shape of `Workspace.settings.security` (backend dto
139
+ * `WorkspaceSecuritySettings`, org-program §C3). A documented correction for
140
+ * the same reason as {@link WorkspaceRole}: the block is stored inside the
141
+ * free-form settings JSON (no schema migration on the backend), so the
142
+ * generated types say `object` and this is the canon of the known keys.
143
+ * Unknown keys are preserved verbatim by the backend — hence the index
144
+ * signature, and hence why the update hook MERGES rather than replaces.
145
+ */
146
+ export interface WorkspaceSecuritySettings {
147
+ /** Whether membership requires a strong second factor. Turning it on
148
+ * sweeps current members and suspends those without one (reason `no_mfa`). */
149
+ readonly require_mfa?: boolean;
150
+ /**
151
+ * First-login steps demanded of accounts the org admits — a LIST since
152
+ * stapel-workspaces 0.13.0 (#90). The pre-0.13 singular
153
+ * `provisioned_user_policy` string is still read by the backend for old
154
+ * rows, but this pair only ever WRITES the list: a client that keeps
155
+ * writing the singular spelling silently caps the org at one demand.
156
+ */
157
+ readonly provisioned_user_policies?: readonly ProvisionedUserPolicy[];
158
+ /** Derived, read-only: whether the org actually set the policies (as
159
+ * opposed to inheriting the `password_change` default). Never sent. */
160
+ readonly policies_configured?: boolean;
161
+ /** Extra keys pass through the backend verbatim (client extension). */
162
+ readonly [extra: string]: unknown;
163
+ }
82
164
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAI5C,iFAAiF;AACjF,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACrD,8DAA8D;AAC9D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAC7D,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAChE,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AACvE,0EAA0E;AAC1E,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/C,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAChE,4EAA4E;AAC5E,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC1D,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACjE,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACrE,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACvD,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAClE;gFACgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACrE;8EAC8E;AAC9E,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AACjE;;4CAE4C;AAC5C,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC/C,0EAA0E;AAC1E,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAInD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { StapelClient } from "@stapel/core";
2
- import type { Member, MemberInvite, MemberInviteResult, MemberPage, MemberRoleUpdate, MembersParams, InvitationAccept, InvitationClaim, InvitationPreview, RoleList, Workspace, WorkspaceCreate, WorkspaceList, WorkspaceUpdate } from "./types.js";
2
+ import type { Invitation, InvitationPage, InvitationsParams, Member, MemberInvite, MemberInviteResult, MemberPage, MemberPasswordReset, MemberPasswordResetResult, MemberRoleUpdate, MembersParams, InvitationAccept, InvitationClaim, InvitationPreview, RoleList, Workspace, WorkspaceCreate, WorkspaceList, WorkspaceUpdate } from "./types.js";
3
3
  /**
4
4
  * The pair's typed operation surface — one method per stapel-workspaces endpoint
5
5
  * a signed-in browser client may call, bound to the injected {@link StapelClient}
@@ -36,6 +36,38 @@ export interface WorkspacesApi {
36
36
  updateMemberRole(workspaceId: string, userId: string, patch: MemberRoleUpdate): Promise<Member>;
37
37
  /** Remove a member from a workspace (admin+; the last owner is protected). */
38
38
  removeMember(workspaceId: string, userId: string): Promise<void>;
39
+ /**
40
+ * Reset a member's password on the organization's order (stapel-workspaces
41
+ * ≥0.14.0, #110). Capability `members.password.reset`, declared **high** —
42
+ * the backend wraps it in `requires_verification(scope="sensitive")`, so an
43
+ * ambient cookie is not enough and a step-up (or factor ENROLLMENT) 403 is
44
+ * the normal first answer. A missing/wrong target answers one
45
+ * byte-identical 404 (never an existence oracle).
46
+ *
47
+ * `generated_password` in the reply is a ONE-SHOT credential: present only
48
+ * when the request omitted `password`, never re-fetchable, never logged.
49
+ */
50
+ resetMemberPassword(workspaceId: string, userId: string, body?: MemberPasswordReset): Promise<MemberPasswordResetResult>;
51
+ /**
52
+ * The workspace's invitations — the admin's "who has not accepted yet"
53
+ * table (capability `members.invite`). An ANCHOR-paginated page, filtered
54
+ * by `status` (default `pending`) and `search` (invited email). The invite
55
+ * token is never in the response.
56
+ */
57
+ listInvitations(workspaceId: string, params?: InvitationsParams): Promise<InvitationPage>;
58
+ /**
59
+ * Withdraw a live invitation — the workspace's terminal "no", the mirror of
60
+ * the invitee's decline (the two stay distinguishable in `status` forever).
61
+ * Only a `pending` one is revocable; the reply is the updated row.
62
+ */
63
+ revokeInvitation(workspaceId: string, invitationId: string): Promise<Invitation>;
64
+ /**
65
+ * Send the invitation email again. Accepts an EXPIRED invitation on purpose
66
+ * (a dead TTL is the commonest reason to resend) and refuses the three
67
+ * terminal states. Rotates the token and restarts the TTL — every earlier
68
+ * link stops working — so the reply is the updated row, not the old one.
69
+ */
70
+ resendInvitation(workspaceId: string, invitationId: string): Promise<Invitation>;
39
71
  /** Accept an invitation by its token — returns the caller's new membership. */
40
72
  acceptInvitation(body: InvitationAccept): Promise<Member>;
41
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspacesApi.d.ts","sourceRoot":"","sources":["../../src/api/workspacesApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AAqBpB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,6EAA6E;IAC7E,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACzC,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,wDAAwD;IACxD,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,sEAAsE;IACtE,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,4CAA4C;IAC5C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,iEAAiE;IACjE,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,mEAAmE;IACnE,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,mEAAmE;IACnE,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,8EAA8E;IAC9E,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,+EAA+E;IAC/E,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAI1D;;;;OAIG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE;;;;;;;;OAQG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzD;iFAC6E;IAC7E,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIhD;6EACyE;IACzE,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CA+EvE"}
1
+ {"version":3,"file":"workspacesApi.d.ts","sourceRoot":"","sources":["../../src/api/workspacesApi.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,25 @@ export function createWorkspacesApi(client) {
38
38
  inviteMembers: (workspaceId, body) => client.post(`/${encodeURIComponent(workspaceId)}/members/invite`, body, mutating()),
39
39
  updateMemberRole: (workspaceId, userId, patch) => client.patch(`/${encodeURIComponent(workspaceId)}/members/${encodeURIComponent(userId)}`, patch, mutating()),
40
40
  removeMember: (workspaceId, userId) => client.delete(`/${encodeURIComponent(workspaceId)}/members/${encodeURIComponent(userId)}`, mutating()),
41
+ resetMemberPassword: (workspaceId, userId, body) => client.post(`/${encodeURIComponent(workspaceId)}/members/${encodeURIComponent(userId)}/password/reset`, (body ?? {}), mutating()),
42
+ listInvitations: (workspaceId, params) => {
43
+ const query = {};
44
+ if (params?.anchor !== undefined)
45
+ query.anchor = params.anchor;
46
+ if (params?.direction !== undefined)
47
+ query.direction = params.direction;
48
+ if (params?.limit !== undefined)
49
+ query.limit = params.limit;
50
+ if (params?.search !== undefined)
51
+ query.search = params.search;
52
+ if (params?.status !== undefined)
53
+ query.status = params.status;
54
+ return client.get(`/${encodeURIComponent(workspaceId)}/invitations`, {
55
+ query,
56
+ });
57
+ },
58
+ revokeInvitation: (workspaceId, invitationId) => client.post(`/${encodeURIComponent(workspaceId)}/invitations/${encodeURIComponent(invitationId)}/revoke`, undefined, mutating()),
59
+ resendInvitation: (workspaceId, invitationId) => client.post(`/${encodeURIComponent(workspaceId)}/invitations/${encodeURIComponent(invitationId)}/resend`, undefined, mutating()),
41
60
  acceptInvitation: (body) => client.post("/invitations/accept", body, mutating()),
42
61
  getInvitationPreview: (token) => client.get(`/invitations/${encodeURIComponent(token)}`),
43
62
  claimInvitation: (token) => client.post(`/invitations/${encodeURIComponent(token)}/claim`, undefined, mutating()),
@@ -1 +1 @@
1
- {"version":3,"file":"workspacesApi.js","sourceRoot":"","sources":["../../src/api/workspacesApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspacesApi.js","sourceRoot":"","sources":["../../src/api/workspacesApi.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,MAAM,YAAY,GAA2B;IAC3C,kBAAkB,EAAE,gBAAgB;CACrC,CAAC;AAEF,SAAS,QAAQ,CACf,OAAuD;IAEvD,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;KAClD,CAAC;AACJ,CAAC;AAuID,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO;QACL,MAAM;QAEN,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAErC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CACxB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAA8B,EAAE,QAAQ,EAAE,CAAC;QAE9D,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QAEnD,eAAe,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CACtC,MAAM,CAAC,KAAK,CACV,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,EACrC,KAA+B,EAC/B,QAAQ,EAAE,CACX;QAEH,eAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC;QAElE,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,KAAK,GAAoC,EAAE,CAAC;YAClD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/D,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACxE,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5D,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAAE;gBAC/D,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,aAAa,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CACT,IAAI,kBAAkB,CAAC,WAAW,CAAC,iBAAiB,EACpD,IAA2B,EAC3B,QAAQ,EAAE,CACX;QAEH,gBAAgB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAC/C,MAAM,CAAC,KAAK,CACV,IAAI,kBAAkB,CAAC,WAAW,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC3E,KAAgC,EAChC,QAAQ,EAAE,CACX;QAEH,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,MAAM,CACX,IAAI,kBAAkB,CAAC,WAAW,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC3E,QAAQ,EAAE,CACX;QAEH,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CACjD,MAAM,CAAC,IAAI,CACT,IAAI,kBAAkB,CAAC,WAAW,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,iBAAiB,EAC1F,CAAC,IAAI,IAAI,EAAE,CAA+B,EAC1C,QAAQ,EAAE,CACX;QAEH,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;YACvC,MAAM,KAAK,GAAoC,EAAE,CAAC;YAClD,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/D,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACxE,IAAI,MAAM,EAAE,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5D,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/D,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,WAAW,CAAC,cAAc,EAAE;gBACnE,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,gBAAgB,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CACT,IAAI,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAC5F,SAAS,EACT,QAAQ,EAAE,CACX;QAEH,gBAAgB,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CACT,IAAI,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,CAAC,SAAS,EAC5F,SAAS,EACT,QAAQ,EAAE,CACX;QAEH,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,IAA+B,EAC/B,QAAQ,EAAE,CACX;QAEH,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAEzD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CACT,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EACjD,SAAS,EACT,QAAQ,EAAE,CACX;QAEH,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3B,MAAM,CAAC,IAAI,CACT,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,UAAU,EACnD,SAAS,EACT,QAAQ,EAAE,CACX;QAEH,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;KACtC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -22,13 +22,15 @@ export { createWorkspacesRuntime } from "./model/runtime.js";
22
22
  export type { WorkspacesRuntime, CreateWorkspacesRuntimeOptions, } from "./model/runtime.js";
23
23
  export { WorkspacesRuntimeContext, useWorkspacesRuntime, useWorkspacesApi, useWorkspacesAnalytics, } from "./model/context.js";
24
24
  export { workspacesQueryKeys } from "./model/queryKeys.js";
25
- export { useWorkspaces, useWorkspace, useMembers, useRoles, useInvitationPreview, useCapabilities, } from "./model/queries.js";
26
- export type { CapabilitiesResult } from "./model/queries.js";
25
+ export { useWorkspaces, useWorkspace, useMembers, useInvitations, useInfiniteInvitations, useRoles, useInvitationPreview, useCapabilities, useCapabilityGate, } from "./model/queries.js";
26
+ export type { CapabilitiesResult, CapabilityGate } from "./model/queries.js";
27
27
  export { capabilityMatches, hasCapability } from "./model/capabilities.js";
28
+ export { BUILTIN_CAPABILITY_LEVELS, SENSITIVE_SCOPE, capabilityLevel, readVerificationEnrollment, } from "./model/stepUp.js";
29
+ export type { CapabilityLevel, VerificationEnrollment, } from "./model/stepUp.js";
28
30
  export { maskEmail, emailMatchesMask } from "./model/emailMask.js";
29
- export { useCreateWorkspace, useUpdateWorkspace, useDeleteWorkspace, useInviteMembers, useUpdateMemberRole, useRemoveMember, useAcceptInvitation, useClaimInvitation, useDeclineInvitation, } from "./model/mutations.js";
30
- export type { MemberRoleChange } from "./model/mutations.js";
31
- export type { Workspace as WorkspaceData, WorkspaceList as WorkspaceListData, WorkspaceCreate, WorkspaceUpdate, Member as MemberData, MemberPage as MemberListData, MembersParams, MemberInvite, MemberInviteResult, MemberRoleUpdate, Invitation, InvitationAccept, InvitationPreview, InvitationClaim, RoleInfo, RoleList, WorkspaceRole, WorkspaceKind, } from "./api/types.js";
31
+ export { useCreateWorkspace, useUpdateWorkspace, useDeleteWorkspace, useInviteMembers, useUpdateMemberRole, useRemoveMember, useAcceptInvitation, useClaimInvitation, useDeclineInvitation, useRevokeInvitation, useResendInvitation, useResetMemberPassword, useUpdateSecuritySettings, } from "./model/mutations.js";
32
+ export type { MemberRoleChange, MemberPasswordResetVars, } from "./model/mutations.js";
33
+ export type { Workspace as WorkspaceData, WorkspaceList as WorkspaceListData, WorkspaceCreate, WorkspaceUpdate, Member as MemberData, MemberPage as MemberListData, MembersParams, MemberInvite, MemberInviteResult, MemberRoleUpdate, Invitation, InvitationPage as InvitationListData, InvitationsParams, InvitationStatusFilter, InvitationAccept, InvitationPreview, InvitationClaim, MemberPasswordReset, MemberPasswordResetResult, ProvisionedUserPolicy, WorkspaceSecuritySettings, RoleInfo, RoleList, WorkspaceRole, WorkspaceKind, } from "./api/types.js";
32
34
  export { WorkspacesProvider } from "./headless/WorkspacesProvider.js";
33
35
  export { WorkspaceList } from "./headless/WorkspaceList.js";
34
36
  export type { WorkspaceListBag } from "./headless/WorkspaceList.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -22,12 +22,13 @@ export { createWorkspacesRuntime } from "./model/runtime.js";
22
22
  export { WorkspacesRuntimeContext, useWorkspacesRuntime, useWorkspacesApi, useWorkspacesAnalytics, } from "./model/context.js";
23
23
  export { workspacesQueryKeys } from "./model/queryKeys.js";
24
24
  // ── model (read hooks) ───────────────────────────────────────────────────────
25
- export { useWorkspaces, useWorkspace, useMembers, useRoles, useInvitationPreview, useCapabilities, } from "./model/queries.js";
25
+ export { useWorkspaces, useWorkspace, useMembers, useInvitations, useInfiniteInvitations, useRoles, useInvitationPreview, useCapabilities, useCapabilityGate, } from "./model/queries.js";
26
26
  // ── model (capability matcher + email-mask ports — backend-synced utils) ─────
27
27
  export { capabilityMatches, hasCapability } from "./model/capabilities.js";
28
+ export { BUILTIN_CAPABILITY_LEVELS, SENSITIVE_SCOPE, capabilityLevel, readVerificationEnrollment, } from "./model/stepUp.js";
28
29
  export { maskEmail, emailMatchesMask } from "./model/emailMask.js";
29
30
  // ── model (write hooks) ──────────────────────────────────────────────────────
30
- export { useCreateWorkspace, useUpdateWorkspace, useDeleteWorkspace, useInviteMembers, useUpdateMemberRole, useRemoveMember, useAcceptInvitation, useClaimInvitation, useDeclineInvitation, } from "./model/mutations.js";
31
+ export { useCreateWorkspace, useUpdateWorkspace, useDeleteWorkspace, useInviteMembers, useUpdateMemberRole, useRemoveMember, useAcceptInvitation, useClaimInvitation, useDeclineInvitation, useRevokeInvitation, useResendInvitation, useResetMemberPassword, useUpdateSecuritySettings, } from "./model/mutations.js";
31
32
  // ── headless (renderless components) ─────────────────────────────────────────
32
33
  export { WorkspacesProvider } from "./headless/WorkspacesProvider.js";
33
34
  export { WorkspaceList } from "./headless/WorkspaceList.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOtE,gFAAgF;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAyB9B,gFAAgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,gFAAgF;AAChF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,gFAAgF;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOtE,gFAAgF;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAG5B,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,eAAe,EACf,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAmC9B,gFAAgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,gFAAgF;AAChF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,gFAAgF;AAChF,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { UseMutationResult } from "@tanstack/react-query";
2
2
  import type { StapelApiError } from "@stapel/core";
3
- import type { Member, MemberInvite, MemberInviteResult, InvitationAccept, InvitationClaim, Workspace, WorkspaceCreate, WorkspaceUpdate } from "../api/types.js";
3
+ import type { Invitation, Member, MemberInvite, MemberInviteResult, MemberPasswordReset, MemberPasswordResetResult, InvitationAccept, InvitationClaim, Workspace, WorkspaceCreate, WorkspaceSecuritySettings, WorkspaceUpdate } from "../api/types.js";
4
4
  /**
5
5
  * Write hooks (frontend-standard §2 — "мутации с инвалидацией"). Each mutation
6
6
  * invalidates exactly the server state it can move. Membership and ownership are
@@ -49,6 +49,90 @@ export declare function useUpdateMemberRole(workspaceId: string): UseMutationRes
49
49
  * variable is the member's `userId`. Refreshes the member list.
50
50
  */
51
51
  export declare function useRemoveMember(workspaceId: string): UseMutationResult<void, StapelApiError, string>;
52
+ /**
53
+ * Withdraw a live invitation (POST /{id}/invitations/{invitationId}/revoke,
54
+ * #109). The variable is the invitation id; the reply is the UPDATED row, so
55
+ * it is written straight into the page cache the table reads — a revoke is
56
+ * the mirror of the invitee's decline and both must stay distinguishable in
57
+ * `status`, which a blind refetch-and-hope would blur. Only a `pending`
58
+ * invitation is revocable: the backend answers
59
+ * `error.400.invitation_already_used` / `_revoked` / `_expired` otherwise
60
+ * (each its own key, not a shrug). Also refreshes the member list — the seat
61
+ * the invitation reserved is freed on commit.
62
+ */
63
+ export declare function useRevokeInvitation(workspaceId: string): UseMutationResult<Invitation, StapelApiError, string>;
64
+ /**
65
+ * Send the invitation email again (POST /{id}/invitations/{invitationId}/resend,
66
+ * #109). The variable is the invitation id.
67
+ *
68
+ * This is NOT an idempotent "poke": the backend rotates the token and
69
+ * restarts the TTL, so every earlier link — including the one already in the
70
+ * invitee's inbox — stops working, and the row's `expires_at` moves. Hence
71
+ * the invalidation: a table still showing the old expiry would be lying about
72
+ * a live credential. An EXPIRED invitation is accepted on purpose (a dead TTL
73
+ * is the commonest reason to resend); reviving it re-reserves a seat, so a
74
+ * plan ceiling can answer 402 here.
75
+ */
76
+ export declare function useResendInvitation(workspaceId: string): UseMutationResult<Invitation, StapelApiError, string>;
77
+ /** The variable for {@link useResetMemberPassword}: whose password, and the
78
+ * (optional) body — omit `password` to have the server generate one. */
79
+ export interface MemberPasswordResetVars {
80
+ readonly userId: string;
81
+ readonly body?: MemberPasswordReset;
82
+ }
83
+ /**
84
+ * Reset a member's password on the organization's order
85
+ * (POST /{id}/members/{userId}/password/reset, #110).
86
+ *
87
+ * **Step-up before the button.** Capability `members.password.reset` is
88
+ * declared `high`, so the backend wraps the endpoint in
89
+ * `requires_verification(scope="sensitive")`. Ask
90
+ * {@link "./queries.js".useCapabilityGate}(workspaceId,
91
+ * "members.password.reset") BEFORE offering the affordance: it answers both
92
+ * "may this caller" and "will a step-up be demanded". A step-up CHALLENGE is
93
+ * then driven by core's client and replayed transparently; the one case that
94
+ * is not transparent is the ENROLLMENT demand (the caller holds no factor to
95
+ * challenge) — read it off `error` with
96
+ * {@link "./stepUp.js".readVerificationEnrollment} and route to enrollment.
97
+ *
98
+ * **The one-shot credential.** `generated_password` comes back exactly once,
99
+ * only when the request omitted `password`, and can never be re-fetched. It
100
+ * is therefore deliberately kept OUT of the query cache: nothing here writes
101
+ * the response with `setQueryData`, and `gcTime: 0` drops the mutation result
102
+ * the moment the screen showing it unmounts. Writing it to a query would
103
+ * mean writing a live credential into every devtools panel AND into
104
+ * `localStorage`, because core's query runtime persists the whole per-user
105
+ * query cache (`createStapelQueryClient`). Hand it to the member out of band.
106
+ *
107
+ * Refreshes the member list (the reset moves the member's first-login state);
108
+ * a target that is not a resettable member of THIS workspace answers one
109
+ * byte-identical 404, never an existence oracle.
110
+ */
111
+ export declare function useResetMemberPassword(workspaceId: string): UseMutationResult<MemberPasswordResetResult, StapelApiError, MemberPasswordResetVars>;
112
+ /**
113
+ * Update a workspace's SECURITY settings (the `security` block of
114
+ * `PATCH /{id}`, org-program §C3) — `require_mfa` and the first-login
115
+ * `provisioned_user_policies`.
116
+ *
117
+ * Separate from {@link useUpdateWorkspace} because the backend treats this
118
+ * block as a different endpoint in all but the URL: an extra capability
119
+ * (`workspace.security.manage`, declared `high`) plus a step-up on the same
120
+ * `sensitive` scope as the password reset, and turning `require_mfa` on
121
+ * sweeps the current members. See {@link useResetMemberPassword} for how to
122
+ * wire that in front of the control.
123
+ *
124
+ * `provisioned_user_policies` is a LIST since stapel-workspaces 0.13.0 (#90)
125
+ * — independent checkboxes, not alternatives. An explicit `[]` is a
126
+ * deliberate, auditable choice ("demand nothing"), so it is sent as such and
127
+ * never dropped as "empty means unset".
128
+ *
129
+ * MERGES, because the backend does not: `PATCH` assigns `settings` wholesale
130
+ * (`ws.settings = data.settings`), so sending a bare `{security: …}` would
131
+ * silently drop every other key the workspace holds. The merge reads the
132
+ * workspace fresh rather than trusting the detail cache — a stale snapshot
133
+ * here would resurrect settings somebody else has since removed.
134
+ */
135
+ export declare function useUpdateSecuritySettings(workspaceId: string): UseMutationResult<Workspace, StapelApiError, WorkspaceSecuritySettings>;
52
136
  /**
53
137
  * Accept an invitation by its token — the caller joins the workspace. A dead
54
138
  * token surfaces a localizable `StapelApiError` (`error.400.invitation_expired`
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/model/mutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,eAAe,EACf,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;;;GAWG;AAEH,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,SAAS,EACT,cAAc,EACd,eAAe,CAChB,CAaA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,CAiB/D;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,IAAI,EACJ,cAAc,EACd,MAAM,CACP,CAeA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,kBAAkB,EAAE,cAAc,EAAE,YAAY,CAAC,CAgBrE;AAED;;;;gDAIgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAa7D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAYjD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CACtD,MAAM,EACN,cAAc,EACd,gBAAgB,CACjB,CAgBA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,eAAe,EACf,cAAc,EACd,MAAM,CACP,CAMA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CACvD,IAAI,EACJ,cAAc,EACd,MAAM,CACP,CAYA"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/model/mutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,UAAU,EACV,MAAM,EACN,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,eAAe,EACf,yBAAyB,EACzB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAIzB;;;;;;;;;;;GAWG;AAEH,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,SAAS,EACT,cAAc,EACd,eAAe,CAChB,CAaA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,CAiB/D;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,IAAI,EACJ,cAAc,EACd,MAAM,CACP,CAeA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,kBAAkB,EAAE,cAAc,EAAE,YAAY,CAAC,CAgBrE;AAED;;;;gDAIgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAa7D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAYjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAgBvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAavD;AAED;wEACwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAClB,yBAAyB,EACzB,cAAc,EACd,uBAAuB,CACxB,CAoBA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,GAClB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAsCzE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CACtD,MAAM,EACN,cAAc,EACd,gBAAgB,CACjB,CAgBA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CACrD,eAAe,EACf,cAAc,EACd,MAAM,CACP,CAMA;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CACvD,IAAI,EACJ,cAAc,EACd,MAAM,CACP,CAYA"}
@@ -116,6 +116,157 @@ export function useRemoveMember(workspaceId) {
116
116
  };
117
117
  return useMutation(options);
118
118
  }
119
+ /**
120
+ * Withdraw a live invitation (POST /{id}/invitations/{invitationId}/revoke,
121
+ * #109). The variable is the invitation id; the reply is the UPDATED row, so
122
+ * it is written straight into the page cache the table reads — a revoke is
123
+ * the mirror of the invitee's decline and both must stay distinguishable in
124
+ * `status`, which a blind refetch-and-hope would blur. Only a `pending`
125
+ * invitation is revocable: the backend answers
126
+ * `error.400.invitation_already_used` / `_revoked` / `_expired` otherwise
127
+ * (each its own key, not a shrug). Also refreshes the member list — the seat
128
+ * the invitation reserved is freed on commit.
129
+ */
130
+ export function useRevokeInvitation(workspaceId) {
131
+ const api = useWorkspacesApi();
132
+ const queryClient = useQueryClient();
133
+ const options = {
134
+ mutationFn: (invitationId) => api.revokeInvitation(workspaceId, invitationId),
135
+ onSuccess: () => {
136
+ void queryClient.invalidateQueries({
137
+ queryKey: workspacesQueryKeys.invitations(workspaceId),
138
+ });
139
+ void queryClient.invalidateQueries({
140
+ queryKey: workspacesQueryKeys.members(workspaceId),
141
+ });
142
+ },
143
+ };
144
+ return useMutation(options);
145
+ }
146
+ /**
147
+ * Send the invitation email again (POST /{id}/invitations/{invitationId}/resend,
148
+ * #109). The variable is the invitation id.
149
+ *
150
+ * This is NOT an idempotent "poke": the backend rotates the token and
151
+ * restarts the TTL, so every earlier link — including the one already in the
152
+ * invitee's inbox — stops working, and the row's `expires_at` moves. Hence
153
+ * the invalidation: a table still showing the old expiry would be lying about
154
+ * a live credential. An EXPIRED invitation is accepted on purpose (a dead TTL
155
+ * is the commonest reason to resend); reviving it re-reserves a seat, so a
156
+ * plan ceiling can answer 402 here.
157
+ */
158
+ export function useResendInvitation(workspaceId) {
159
+ const api = useWorkspacesApi();
160
+ const queryClient = useQueryClient();
161
+ const options = {
162
+ mutationFn: (invitationId) => api.resendInvitation(workspaceId, invitationId),
163
+ onSuccess: () => {
164
+ void queryClient.invalidateQueries({
165
+ queryKey: workspacesQueryKeys.invitations(workspaceId),
166
+ });
167
+ },
168
+ };
169
+ return useMutation(options);
170
+ }
171
+ /**
172
+ * Reset a member's password on the organization's order
173
+ * (POST /{id}/members/{userId}/password/reset, #110).
174
+ *
175
+ * **Step-up before the button.** Capability `members.password.reset` is
176
+ * declared `high`, so the backend wraps the endpoint in
177
+ * `requires_verification(scope="sensitive")`. Ask
178
+ * {@link "./queries.js".useCapabilityGate}(workspaceId,
179
+ * "members.password.reset") BEFORE offering the affordance: it answers both
180
+ * "may this caller" and "will a step-up be demanded". A step-up CHALLENGE is
181
+ * then driven by core's client and replayed transparently; the one case that
182
+ * is not transparent is the ENROLLMENT demand (the caller holds no factor to
183
+ * challenge) — read it off `error` with
184
+ * {@link "./stepUp.js".readVerificationEnrollment} and route to enrollment.
185
+ *
186
+ * **The one-shot credential.** `generated_password` comes back exactly once,
187
+ * only when the request omitted `password`, and can never be re-fetched. It
188
+ * is therefore deliberately kept OUT of the query cache: nothing here writes
189
+ * the response with `setQueryData`, and `gcTime: 0` drops the mutation result
190
+ * the moment the screen showing it unmounts. Writing it to a query would
191
+ * mean writing a live credential into every devtools panel AND into
192
+ * `localStorage`, because core's query runtime persists the whole per-user
193
+ * query cache (`createStapelQueryClient`). Hand it to the member out of band.
194
+ *
195
+ * Refreshes the member list (the reset moves the member's first-login state);
196
+ * a target that is not a resettable member of THIS workspace answers one
197
+ * byte-identical 404, never an existence oracle.
198
+ */
199
+ export function useResetMemberPassword(workspaceId) {
200
+ const api = useWorkspacesApi();
201
+ const queryClient = useQueryClient();
202
+ const options = {
203
+ mutationFn: ({ userId, body }) => api.resetMemberPassword(workspaceId, userId, body),
204
+ // The result carries a live credential: never retained past the screen
205
+ // that displays it, and never persisted.
206
+ gcTime: 0,
207
+ onSuccess: () => {
208
+ void queryClient.invalidateQueries({
209
+ queryKey: workspacesQueryKeys.members(workspaceId),
210
+ });
211
+ },
212
+ };
213
+ return useMutation(options);
214
+ }
215
+ /**
216
+ * Update a workspace's SECURITY settings (the `security` block of
217
+ * `PATCH /{id}`, org-program §C3) — `require_mfa` and the first-login
218
+ * `provisioned_user_policies`.
219
+ *
220
+ * Separate from {@link useUpdateWorkspace} because the backend treats this
221
+ * block as a different endpoint in all but the URL: an extra capability
222
+ * (`workspace.security.manage`, declared `high`) plus a step-up on the same
223
+ * `sensitive` scope as the password reset, and turning `require_mfa` on
224
+ * sweeps the current members. See {@link useResetMemberPassword} for how to
225
+ * wire that in front of the control.
226
+ *
227
+ * `provisioned_user_policies` is a LIST since stapel-workspaces 0.13.0 (#90)
228
+ * — independent checkboxes, not alternatives. An explicit `[]` is a
229
+ * deliberate, auditable choice ("demand nothing"), so it is sent as such and
230
+ * never dropped as "empty means unset".
231
+ *
232
+ * MERGES, because the backend does not: `PATCH` assigns `settings` wholesale
233
+ * (`ws.settings = data.settings`), so sending a bare `{security: …}` would
234
+ * silently drop every other key the workspace holds. The merge reads the
235
+ * workspace fresh rather than trusting the detail cache — a stale snapshot
236
+ * here would resurrect settings somebody else has since removed.
237
+ */
238
+ export function useUpdateSecuritySettings(workspaceId) {
239
+ const api = useWorkspacesApi();
240
+ const queryClient = useQueryClient();
241
+ const options = {
242
+ mutationFn: async (patch) => {
243
+ const current = await api.getWorkspace(workspaceId);
244
+ const settings = (current.settings ?? {});
245
+ const security = (settings["security"] ?? {});
246
+ // `policies_configured` is derived and read-only on the wire — never
247
+ // sent back, whatever a caller spread into the patch.
248
+ const { policies_configured: _derived, ...writable } = {
249
+ ...security,
250
+ ...patch,
251
+ };
252
+ return api.updateWorkspace(workspaceId, {
253
+ settings: { ...settings, security: writable },
254
+ });
255
+ },
256
+ onSuccess: (updated) => {
257
+ queryClient.setQueryData(workspacesQueryKeys.detail(workspaceId), updated);
258
+ void queryClient.invalidateQueries({
259
+ queryKey: workspacesQueryKeys.list(),
260
+ });
261
+ // require_mfa ON suspends members without a strong factor; OFF lifts
262
+ // those suspensions. Either way the roster just moved.
263
+ void queryClient.invalidateQueries({
264
+ queryKey: workspacesQueryKeys.members(workspaceId),
265
+ });
266
+ },
267
+ };
268
+ return useMutation(options);
269
+ }
119
270
  /**
120
271
  * Accept an invitation by its token — the caller joins the workspace. A dead
121
272
  * token surfaces a localizable `StapelApiError` (`error.400.invitation_expired`
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/model/mutations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/model/mutations.ts"],"names":[],"mappings":"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"}