@fusebase/fusebase-gate-sdk 2.3.23 → 2.3.25

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.
@@ -5,7 +5,7 @@
5
5
  * Domain: org-users
6
6
  */
7
7
  import type { Client } from "../runtime/transport";
8
- import type { orgIdInPathRequired, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserListResponseContract } from "../types";
8
+ import type { ClientAccountScheduledDeletionRequestContract, ClientAccountScheduledDeletionResponseContract, orgIdInPathRequired, OrgMemberIdInPathRequired, OrgMemberRemoveResponseContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserListResponseContract, WorkspaceMemberIdInPathRequired, WorkspaceMemberRemoveResponseContract } from "../types";
9
9
  export declare class OrgUsersApi {
10
10
  private client;
11
11
  constructor(client: Client);
@@ -30,4 +30,48 @@ export declare class OrgUsersApi {
30
30
  };
31
31
  headers?: Record<string, string>;
32
32
  }): Promise<OrgUserListResponseContract>;
33
+ /**
34
+ * Remove organization member
35
+ * Removes an organization member by org-service orgMember.globalId. Removing an org member also lets org-service clean up workspace and group memberships for that org. Requires org.members.write and org access.
36
+ */
37
+ removeOrgMember(params: {
38
+ path: {
39
+ orgId: orgIdInPathRequired;
40
+ orgMemberId: OrgMemberIdInPathRequired;
41
+ };
42
+ headers?: Record<string, string>;
43
+ }): Promise<OrgMemberRemoveResponseContract>;
44
+ /**
45
+ * Remove portal member
46
+ * Removes a portal member by the underlying workspaceMember.globalId. Portal membership is currently represented by workspace membership. Requires org.members.write and org access.
47
+ */
48
+ removePortalMember(params: {
49
+ path: {
50
+ orgId: orgIdInPathRequired;
51
+ workspaceMemberId: WorkspaceMemberIdInPathRequired;
52
+ };
53
+ headers?: Record<string, string>;
54
+ }): Promise<WorkspaceMemberRemoveResponseContract>;
55
+ /**
56
+ * Remove workspace member
57
+ * Removes a workspace member by org-service workspaceMember.globalId. Requires org.members.write and org access.
58
+ */
59
+ removeWorkspaceMember(params: {
60
+ path: {
61
+ orgId: orgIdInPathRequired;
62
+ workspaceMemberId: WorkspaceMemberIdInPathRequired;
63
+ };
64
+ headers?: Record<string, string>;
65
+ }): Promise<WorkspaceMemberRemoveResponseContract>;
66
+ /**
67
+ * Schedule client account deletion
68
+ * Schedules delayed deletion for a user account only when the target user has the Client role in this organization. Gate validates the org role and user-service performs the delayed account deletion. Requires org.members.write and org access.
69
+ */
70
+ scheduleClientAccountDeletion(params: {
71
+ path: {
72
+ orgId: orgIdInPathRequired;
73
+ };
74
+ headers?: Record<string, string>;
75
+ body: ClientAccountScheduledDeletionRequestContract;
76
+ }): Promise<ClientAccountScheduledDeletionResponseContract>;
33
77
  }
@@ -40,5 +40,62 @@ class OrgUsersApi {
40
40
  expectedContentType: "application/json",
41
41
  });
42
42
  }
43
+ /**
44
+ * Remove organization member
45
+ * Removes an organization member by org-service orgMember.globalId. Removing an org member also lets org-service clean up workspace and group memberships for that org. Requires org.members.write and org access.
46
+ */
47
+ async removeOrgMember(params) {
48
+ return this.client.request({
49
+ method: "DELETE",
50
+ path: "/:orgId/users/members/:orgMemberId",
51
+ pathParams: params.path,
52
+ headers: params.headers,
53
+ opId: "removeOrgMember",
54
+ expectedContentType: "application/json",
55
+ });
56
+ }
57
+ /**
58
+ * Remove portal member
59
+ * Removes a portal member by the underlying workspaceMember.globalId. Portal membership is currently represented by workspace membership. Requires org.members.write and org access.
60
+ */
61
+ async removePortalMember(params) {
62
+ return this.client.request({
63
+ method: "DELETE",
64
+ path: "/:orgId/users/portal-members/:workspaceMemberId",
65
+ pathParams: params.path,
66
+ headers: params.headers,
67
+ opId: "removePortalMember",
68
+ expectedContentType: "application/json",
69
+ });
70
+ }
71
+ /**
72
+ * Remove workspace member
73
+ * Removes a workspace member by org-service workspaceMember.globalId. Requires org.members.write and org access.
74
+ */
75
+ async removeWorkspaceMember(params) {
76
+ return this.client.request({
77
+ method: "DELETE",
78
+ path: "/:orgId/users/workspace-members/:workspaceMemberId",
79
+ pathParams: params.path,
80
+ headers: params.headers,
81
+ opId: "removeWorkspaceMember",
82
+ expectedContentType: "application/json",
83
+ });
84
+ }
85
+ /**
86
+ * Schedule client account deletion
87
+ * Schedules delayed deletion for a user account only when the target user has the Client role in this organization. Gate validates the org role and user-service performs the delayed account deletion. Requires org.members.write and org access.
88
+ */
89
+ async scheduleClientAccountDeletion(params) {
90
+ return this.client.request({
91
+ method: "POST",
92
+ path: "/:orgId/users/client-account/scheduled-deletion",
93
+ pathParams: params.path,
94
+ headers: params.headers,
95
+ body: params.body,
96
+ opId: "scheduleClientAccountDeletion",
97
+ expectedContentType: "application/json",
98
+ });
99
+ }
43
100
  }
44
101
  exports.OrgUsersApi = OrgUsersApi;
@@ -17,7 +17,7 @@ export * from "./mcp-manager/mcp-manager";
17
17
  export type { MeAuthContract, MeOrgGroupContract, MeResponseContract, MeScopeContract, MeUserContract } from "./me/me";
18
18
  export * from "./note/note";
19
19
  export * from "./org-group/org-group";
20
- export type { CreateWorkspaceRequestContract, OrgInviteContract, OrgMagicLinkContract, OrgPortalContract, OrgPortalListResponseContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserContract, OrgUserListResponseContract, OrgWorkspaceContract, OrgWorkspaceInviteContract, OrgWorkspaceListResponseContract, OrgWorkspaceMemberContract } from "./org-user/org-user";
20
+ export type { ClientAccountScheduledDeletionRequestContract, ClientAccountScheduledDeletionResponseContract, CreateWorkspaceRequestContract, OrgInviteContract, OrgMagicLinkContract, OrgMemberIdInPathRequired, OrgMemberRemoveResponseContract, OrgPortalContract, OrgPortalListResponseContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserContract, OrgUserListResponseContract, OrgWorkspaceContract, OrgWorkspaceInviteContract, OrgWorkspaceListResponseContract, OrgWorkspaceMemberContract, WorkspaceMemberIdInPathRequired, WorkspaceMemberRemoveResponseContract } from "./org-user/org-user";
21
21
  export * from "./orgs/orgs";
22
22
  export type { VerifyPortalFeatureContextTokenRequestContract, VerifyPortalFeatureContextTokenResponseContract } from "./portal-feature-context/portal-feature-context";
23
23
  export type { AddPortalAppPageRequestContract, AddPortalAppPageResponseContract, AddPortalBlockRequestContract, AddPortalBlockResponseContract, AddPortalNoteBlockRequestContract, AddPortalNoteBlockResponseContract, BulkInviteResultItemContract, BulkInviteToPortalRequestContract, BulkInviteToPortalResponseContract, BulkPortalInvitationContract, CreatePortalFolderRequestContract, CreatePortalFolderResponseContract, CreatePortalPageWithNoteRequestContract, CreatePortalPageWithNoteResponseContract, CreatePortalRequestContract, CreatePortalResponseContract, DuplicatePortalItemRequestContract, DuplicatePortalItemResponseContract, DuplicatePortalRequestContract, InvitePortalManagerRequestContract, InvitePortalManagerResponseContract, InviteToPortalRequestContract, InviteToPortalResponseContract, ListPortalContentResponseContract, PortalContentItemContract, PortalDetailContract, UpdatePortalAccessRequestContract, UpdatePortalAccessResponseContract, UpdatePortalCustomCodeRequestContract, UpdatePortalCustomCodeResponseContract, globalIdInPathRequired } from "./portals/portals";
@@ -6,6 +6,8 @@ export interface OrgUserContract {
6
6
  username?: string | null;
7
7
  role: string;
8
8
  }
9
+ export type OrgMemberIdInPathRequired = string;
10
+ export type WorkspaceMemberIdInPathRequired = string;
9
11
  export interface OrgUserListResponseContract {
10
12
  users: OrgUserContract[];
11
13
  }
@@ -141,3 +143,25 @@ export interface OrgUserAddResponseContract {
141
143
  workspaceMember?: OrgWorkspaceMemberContract;
142
144
  magicLink?: OrgMagicLinkContract;
143
145
  }
146
+ export interface OrgMemberRemoveResponseContract {
147
+ ok: true;
148
+ orgMemberId: string;
149
+ }
150
+ export interface WorkspaceMemberRemoveResponseContract {
151
+ ok: true;
152
+ workspaceMemberId: string;
153
+ }
154
+ export interface ClientAccountScheduledDeletionRequestContract {
155
+ /**
156
+ * Target Fusebase user id. Gate only allows scheduling when this user has
157
+ * the Client role in the requested org.
158
+ */
159
+ userId: number;
160
+ }
161
+ export interface ClientAccountScheduledDeletionResponseContract {
162
+ ok: true;
163
+ userId: number;
164
+ orgId: string;
165
+ deletionRequestedAt?: number | null;
166
+ deleteAfter?: number | null;
167
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusebase/fusebase-gate-sdk",
3
- "version": "2.3.23",
3
+ "version": "2.3.25",
4
4
  "description": "TypeScript SDK for Fusebase Gate APIs - Generated from contract introspection",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -2,8 +2,49 @@
2
2
 
3
3
  - Current ref: `HEAD`
4
4
  - Previous tag: `v2.3.23`
5
- - Generated at: 2026-07-01T15:06:26.403Z
5
+ - Generated at: 2026-07-02T10:14:06.616Z
6
6
 
7
7
  ## Included Drafts
8
8
 
9
- - None
9
+ - `docs/release-notes/2026-07-02-member-removal-client-deletion.md` - Member removal and client deletion scheduling
10
+
11
+ ## Summary
12
+
13
+ ### Member removal and client deletion scheduling
14
+
15
+ Gate now exposes member-removal operations for organization, workspace, and portal membership, plus delayed Client account deletion scheduling.
16
+
17
+
18
+ ## API / SDK Changes
19
+
20
+ ### Member removal and client deletion scheduling
21
+
22
+ - Added `removeOrgMember`.
23
+ - Added `removeWorkspaceMember`.
24
+ - Added `removePortalMember`.
25
+ - Added `scheduleClientAccountDeletion`, which schedules delayed deletion only for Client-role org members.
26
+
27
+
28
+ ## Consumer Impact
29
+
30
+ ### Member removal and client deletion scheduling
31
+
32
+ Consumers can remove org members by `orgMember.globalId`, remove workspace/portal members by `workspaceMember.globalId`, and schedule Client account deletion by numeric user id in the org context.
33
+
34
+
35
+ ## Verification
36
+
37
+ ### Member removal and client deletion scheduling
38
+
39
+ - `npm test -- --runTestsByPath tests/unit/org-users-controller.test.ts`
40
+ - `npm run build:sdk`
41
+ - `npm run build`
42
+ - `npm run mcp:skills:generate`
43
+ - `npm run mcp:skills:validate`
44
+
45
+
46
+ ## Follow-ups
47
+
48
+ ### Member removal and client deletion scheduling
49
+
50
+ - None.
@@ -0,0 +1,9 @@
1
+ # Release Notes 2.3.25
2
+
3
+ - Current ref: `HEAD`
4
+ - Previous tag: `v2.3.25`
5
+ - Generated at: 2026-07-03T08:48:10.927Z
6
+
7
+ ## Included Drafts
8
+
9
+ - None
@@ -1,8 +1,8 @@
1
- # Release Notes 2.3.23
1
+ # Release Notes 2.3.25
2
2
 
3
3
  - Current ref: `HEAD`
4
- - Previous tag: `v2.3.23`
5
- - Generated at: 2026-07-01T15:06:26.403Z
4
+ - Previous tag: `v2.3.25`
5
+ - Generated at: 2026-07-03T08:48:10.927Z
6
6
 
7
7
  ## Included Drafts
8
8
 
@@ -1,9 +0,0 @@
1
- # Release Notes 2.3.20-sdk.0
2
-
3
- - Current ref: `HEAD`
4
- - Previous tag: `v2.3.19`
5
- - Generated at: 2026-07-01T13:17:31.441Z
6
-
7
- ## Included Drafts
8
-
9
- - None