@plolink/sdk 0.0.4

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 (76) hide show
  1. package/README.md +259 -0
  2. package/dist/chunk-4H4RACSE.js +335 -0
  3. package/dist/chunk-4H4RACSE.js.map +1 -0
  4. package/dist/chunk-IHAAKFEJ.js +219 -0
  5. package/dist/chunk-IHAAKFEJ.js.map +1 -0
  6. package/dist/chunk-JR4HYYQI.cjs +221 -0
  7. package/dist/chunk-JR4HYYQI.cjs.map +1 -0
  8. package/dist/chunk-MD4O7FWT.js +46 -0
  9. package/dist/chunk-MD4O7FWT.js.map +1 -0
  10. package/dist/chunk-NS3DJP2O.cjs +349 -0
  11. package/dist/chunk-NS3DJP2O.cjs.map +1 -0
  12. package/dist/chunk-Y3UJVC2L.cjs +48 -0
  13. package/dist/chunk-Y3UJVC2L.cjs.map +1 -0
  14. package/dist/client-CAjIQKPm.d.cts +193 -0
  15. package/dist/client-CwNikk7i.d.ts +193 -0
  16. package/dist/common/index.cjs +65 -0
  17. package/dist/common/index.cjs.map +1 -0
  18. package/dist/common/index.d.cts +422 -0
  19. package/dist/common/index.d.ts +422 -0
  20. package/dist/common/index.js +4 -0
  21. package/dist/common/index.js.map +1 -0
  22. package/dist/core-77EbLgbp.d.cts +97 -0
  23. package/dist/core-77EbLgbp.d.ts +97 -0
  24. package/dist/index.cjs +350 -0
  25. package/dist/index.cjs.map +1 -0
  26. package/dist/index.d.cts +98 -0
  27. package/dist/index.d.ts +98 -0
  28. package/dist/index.js +306 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/modules/agent/index.cjs +21 -0
  31. package/dist/modules/agent/index.cjs.map +1 -0
  32. package/dist/modules/agent/index.d.cts +71 -0
  33. package/dist/modules/agent/index.d.ts +71 -0
  34. package/dist/modules/agent/index.js +19 -0
  35. package/dist/modules/agent/index.js.map +1 -0
  36. package/dist/modules/billing/index.cjs +413 -0
  37. package/dist/modules/billing/index.cjs.map +1 -0
  38. package/dist/modules/billing/index.d.cts +538 -0
  39. package/dist/modules/billing/index.d.ts +538 -0
  40. package/dist/modules/billing/index.js +411 -0
  41. package/dist/modules/billing/index.js.map +1 -0
  42. package/dist/modules/chat/index.cjs +20 -0
  43. package/dist/modules/chat/index.cjs.map +1 -0
  44. package/dist/modules/chat/index.d.cts +68 -0
  45. package/dist/modules/chat/index.d.ts +68 -0
  46. package/dist/modules/chat/index.js +18 -0
  47. package/dist/modules/chat/index.js.map +1 -0
  48. package/dist/modules/psych/index.cjs +20 -0
  49. package/dist/modules/psych/index.cjs.map +1 -0
  50. package/dist/modules/psych/index.d.cts +69 -0
  51. package/dist/modules/psych/index.d.ts +69 -0
  52. package/dist/modules/psych/index.js +18 -0
  53. package/dist/modules/psych/index.js.map +1 -0
  54. package/dist/modules/rbac/index.cjs +197 -0
  55. package/dist/modules/rbac/index.cjs.map +1 -0
  56. package/dist/modules/rbac/index.d.cts +293 -0
  57. package/dist/modules/rbac/index.d.ts +293 -0
  58. package/dist/modules/rbac/index.js +195 -0
  59. package/dist/modules/rbac/index.js.map +1 -0
  60. package/dist/modules/team/index.cjs +54 -0
  61. package/dist/modules/team/index.cjs.map +1 -0
  62. package/dist/modules/team/index.d.cts +91 -0
  63. package/dist/modules/team/index.d.ts +91 -0
  64. package/dist/modules/team/index.js +52 -0
  65. package/dist/modules/team/index.js.map +1 -0
  66. package/dist/modules/virtual-account/index.cjs +293 -0
  67. package/dist/modules/virtual-account/index.cjs.map +1 -0
  68. package/dist/modules/virtual-account/index.d.cts +366 -0
  69. package/dist/modules/virtual-account/index.d.ts +366 -0
  70. package/dist/modules/virtual-account/index.js +291 -0
  71. package/dist/modules/virtual-account/index.js.map +1 -0
  72. package/dist/poller-BlIRbwL4.d.cts +201 -0
  73. package/dist/poller-DWKZjuSw.d.ts +201 -0
  74. package/dist/shared-6ZepUSPW.d.cts +31 -0
  75. package/dist/shared-6ZepUSPW.d.ts +31 -0
  76. package/package.json +96 -0
@@ -0,0 +1,293 @@
1
+ import { P as PlolinkClient } from '../../client-CAjIQKPm.cjs';
2
+ import { S as ScopeType, R as RoleType, A as AssignRoleParams } from '../../shared-6ZepUSPW.cjs';
3
+ import '../../core-77EbLgbp.cjs';
4
+ import 'axios';
5
+
6
+ /**
7
+ * RBAC 模块类型
8
+ */
9
+
10
+ /**
11
+ * 权限点定义项
12
+ */
13
+ interface PermissionDefinitionItem {
14
+ code: string;
15
+ name: string;
16
+ description: string;
17
+ }
18
+ /**
19
+ * 按模块分组的权限点定义
20
+ */
21
+ type PermissionDefinitionsByModule = Record<string, PermissionDefinitionItem[]>;
22
+ /**
23
+ * 系统角色定义(来自后端硬编码 definitions)
24
+ */
25
+ interface SystemRoleDefinitionItem {
26
+ code: string;
27
+ name: string;
28
+ description: string;
29
+ permissions: string[];
30
+ defaultScopeType: ScopeType;
31
+ }
32
+ /**
33
+ * GET /api/v1/permissions 响应(data 部分)
34
+ */
35
+ interface PermissionDefinitionsResponse {
36
+ permissions: PermissionDefinitionsByModule;
37
+ systemRoles: SystemRoleDefinitionItem[];
38
+ }
39
+ /**
40
+ * 团队自定义角色信息
41
+ */
42
+ interface CustomRoleInfo {
43
+ id: string;
44
+ name: string;
45
+ code: string;
46
+ teamId: string;
47
+ permissions: string[];
48
+ createdAt: string;
49
+ updatedAt: string;
50
+ deletedAt?: string | null;
51
+ version?: number;
52
+ }
53
+ /**
54
+ * 团队角色列表中的系统角色项
55
+ */
56
+ interface SystemRoleListItem extends SystemRoleDefinitionItem {
57
+ type: 'SYSTEM';
58
+ isSystem: true;
59
+ membersCount: number;
60
+ }
61
+ /**
62
+ * 团队角色列表中的自定义角色项
63
+ */
64
+ interface CustomRoleListItem extends CustomRoleInfo {
65
+ type: 'CUSTOM';
66
+ isSystem: false;
67
+ membersCount: number;
68
+ }
69
+ /**
70
+ * GET /api/v1/teams/:teamId/roles 响应(data 部分)
71
+ */
72
+ interface TeamRolesResponse {
73
+ systemRoles: SystemRoleListItem[];
74
+ customRoles: CustomRoleListItem[];
75
+ }
76
+ /**
77
+ * 创建自定义角色参数
78
+ */
79
+ interface CreateCustomRoleParams {
80
+ name: string;
81
+ code: string;
82
+ permissions: string[];
83
+ }
84
+ /**
85
+ * 更新自定义角色参数
86
+ *
87
+ * @description
88
+ * 后端约束:code 创建后不可修改,但接口层仍可能接受该字段并在服务端拒绝。
89
+ */
90
+ interface UpdateCustomRoleParams {
91
+ name?: string;
92
+ code?: string;
93
+ permissions?: string[];
94
+ }
95
+ /**
96
+ * 删除角色结果
97
+ */
98
+ interface DeleteRoleResult {
99
+ success: true;
100
+ }
101
+ /**
102
+ * 角色详情中的成员使用情况
103
+ */
104
+ interface RoleMemberUsageItem {
105
+ memberRoleId: string;
106
+ memberId: string;
107
+ userId: string;
108
+ scopeType: ScopeType;
109
+ scopeValue: Record<string, unknown> | null;
110
+ joinedAt?: string | null;
111
+ }
112
+ /**
113
+ * 系统角色详情(GET /api/v1/teams/:teamId/roles/:roleId 返回的 data)
114
+ */
115
+ interface SystemRoleDetail {
116
+ code: string;
117
+ name: string;
118
+ description: string;
119
+ permissions: string[];
120
+ type: 'SYSTEM';
121
+ isSystem: true;
122
+ memberCount: number;
123
+ members: RoleMemberUsageItem[];
124
+ }
125
+ /**
126
+ * 自定义角色详情(GET /api/v1/teams/:teamId/roles/:roleId 返回的 data)
127
+ */
128
+ interface CustomRoleDetail {
129
+ id: string;
130
+ code: string;
131
+ name: string;
132
+ permissions: string[];
133
+ type: 'CUSTOM';
134
+ isSystem: false;
135
+ memberCount: number;
136
+ members: RoleMemberUsageItem[];
137
+ createdAt: string;
138
+ updatedAt: string;
139
+ }
140
+ /**
141
+ * 角色详情(系统/自定义联合类型)
142
+ */
143
+ type TeamRoleDetail = SystemRoleDetail | CustomRoleDetail;
144
+ /**
145
+ * 成员角色列表项(GET /api/v1/teams/:teamId/members/:memberId/roles 返回的 data)
146
+ */
147
+ interface MemberRoleListItem {
148
+ memberRoleId: string;
149
+ roleType: RoleType;
150
+ roleCode?: string | null;
151
+ roleId?: string | null;
152
+ roleName: string;
153
+ roleDescription?: string;
154
+ permissions: string[];
155
+ scopeType: ScopeType;
156
+ scopeValue: Record<string, unknown> | null;
157
+ createdAt: string;
158
+ }
159
+ /**
160
+ * 成员角色记录(POST/PUT/talent 等接口直接返回 memberRole)
161
+ */
162
+ interface MemberRoleRecord {
163
+ id: string;
164
+ memberId: string;
165
+ roleType: RoleType;
166
+ roleCode: string | null;
167
+ roleId: string | null;
168
+ scopeType: ScopeType;
169
+ scopeValue: Record<string, unknown> | null;
170
+ createdAt: string;
171
+ updatedAt: string;
172
+ deletedAt?: string | null;
173
+ role?: CustomRoleInfo | null;
174
+ }
175
+ /**
176
+ * 更新成员角色数据范围参数
177
+ */
178
+ interface UpdateMemberRoleScopeParams {
179
+ scopeType: ScopeType;
180
+ scopeValue?: Record<string, unknown>;
181
+ }
182
+ /**
183
+ * 快捷授权人才模块参数
184
+ */
185
+ interface QuickGrantTalentAccessParams {
186
+ companyIds?: string[];
187
+ roleCode?: 'SUB_UNIT_VIEWER' | 'SUB_UNIT_MANAGER';
188
+ }
189
+
190
+ /**
191
+ * RBAC 模块 (Rbac)
192
+ *
193
+ * @description
194
+ * 提供权限点、角色、成员角色分配等能力封装,覆盖后端 `docs/api/rbac.md` 中的核心接口:
195
+ * - 获取权限点定义 + 系统角色定义
196
+ * - 团队角色管理(系统角色列表 + 自定义角色 CRUD)
197
+ * - 成员角色管理(查询/分配/更新数据范围/移除)
198
+ * - 人才模块快捷授权(SUB_UNIT_VIEWER / SUB_UNIT_MANAGER)
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * import { PlolinkClient } from '@plolink/sdk';
203
+ * import { Team } from '@plolink/sdk/team';
204
+ * import { Rbac } from '@plolink/sdk/rbac';
205
+ * import { VirtualAccount } from '@plolink/sdk/virtual-account';
206
+ *
207
+ * const client = new PlolinkClient({ token: 'session-or-apikey' });
208
+ * const virtualAccount = new VirtualAccount(client);
209
+ * const team = new Team(client);
210
+ * const rbac = new Rbac(client);
211
+ *
212
+ * const created = await virtualAccount.createVirtualAccount({
213
+ * mode: 'EXISTING_TEAM',
214
+ * teamId: 'team-123',
215
+ * virtualAccountName: 'Bot'
216
+ * });
217
+ *
218
+ * const members = await team.listTeamMembers(created.virtualAccount.virtualAccountTeamId);
219
+ * const memberId = team.getMemberIdByUserId(members, created.virtualAccount.id);
220
+ *
221
+ * await rbac.assignMemberRole(created.virtualAccount.virtualAccountTeamId, memberId, {
222
+ * roleType: 'SYSTEM',
223
+ * roleCode: 'SUB_UNIT_VIEWER',
224
+ * scopeType: 'TEAM'
225
+ * });
226
+ * ```
227
+ *
228
+ * @module rbac
229
+ */
230
+
231
+ declare class Rbac {
232
+ private client;
233
+ constructor(client: PlolinkClient);
234
+ /**
235
+ * 获取所有权限点定义 + 系统角色定义
236
+ * GET /api/v1/permissions
237
+ */
238
+ getPermissionDefinitions(): Promise<PermissionDefinitionsResponse>;
239
+ /**
240
+ * 列出团队角色(系统角色 + 自定义角色)
241
+ * GET /api/v1/teams/:teamId/roles
242
+ */
243
+ listTeamRoles(teamId: string): Promise<TeamRolesResponse>;
244
+ /**
245
+ * 创建自定义角色
246
+ * POST /api/v1/teams/:teamId/roles
247
+ */
248
+ createCustomRole(teamId: string, params: CreateCustomRoleParams): Promise<CustomRoleInfo>;
249
+ /**
250
+ * 更新自定义角色
251
+ * PUT /api/v1/teams/:teamId/roles/:roleId
252
+ */
253
+ updateCustomRole(teamId: string, roleId: string, params: UpdateCustomRoleParams): Promise<CustomRoleInfo>;
254
+ /**
255
+ * 删除自定义角色
256
+ * DELETE /api/v1/teams/:teamId/roles/:roleId?force=true
257
+ */
258
+ deleteCustomRole(teamId: string, roleId: string, options?: {
259
+ force?: boolean;
260
+ }): Promise<DeleteRoleResult>;
261
+ /**
262
+ * 获取角色详情(系统角色或自定义角色)
263
+ * GET /api/v1/teams/:teamId/roles/:roleId
264
+ */
265
+ getRoleDetail(teamId: string, roleId: string): Promise<TeamRoleDetail>;
266
+ /**
267
+ * 获取成员的所有角色(带角色信息与权限)
268
+ * GET /api/v1/teams/:teamId/members/:memberId/roles
269
+ */
270
+ listMemberRoles(teamId: string, memberId: string): Promise<MemberRoleListItem[]>;
271
+ /**
272
+ * 为成员分配角色(系统/自定义)及数据范围
273
+ * POST /api/v1/teams/:teamId/members/:memberId/roles
274
+ */
275
+ assignMemberRole(teamId: string, memberId: string, params: AssignRoleParams): Promise<MemberRoleRecord>;
276
+ /**
277
+ * 更新成员角色的数据范围
278
+ * PUT /api/v1/teams/:teamId/members/:memberId/roles/:memberRoleId
279
+ */
280
+ updateMemberRoleScope(teamId: string, memberId: string, memberRoleId: string, params: UpdateMemberRoleScopeParams): Promise<MemberRoleRecord>;
281
+ /**
282
+ * 移除成员角色
283
+ * DELETE /api/v1/teams/:teamId/members/:memberId/roles/:memberRoleId
284
+ */
285
+ removeMemberRole(teamId: string, memberId: string, memberRoleId: string): Promise<DeleteRoleResult>;
286
+ /**
287
+ * 快捷授权人才模块(公司访问范围)
288
+ * POST /api/v1/teams/:teamId/members/:memberId/roles/talent
289
+ */
290
+ quickGrantTalentAccess(teamId: string, memberId: string, params?: QuickGrantTalentAccessParams): Promise<MemberRoleRecord>;
291
+ }
292
+
293
+ export { AssignRoleParams, type CreateCustomRoleParams, type CustomRoleInfo, type DeleteRoleResult, type MemberRoleListItem, type MemberRoleRecord, type PermissionDefinitionsResponse, type QuickGrantTalentAccessParams, Rbac, RoleType, ScopeType, type TeamRoleDetail, type TeamRolesResponse, type UpdateCustomRoleParams, type UpdateMemberRoleScopeParams };
@@ -0,0 +1,293 @@
1
+ import { P as PlolinkClient } from '../../client-CwNikk7i.js';
2
+ import { S as ScopeType, R as RoleType, A as AssignRoleParams } from '../../shared-6ZepUSPW.js';
3
+ import '../../core-77EbLgbp.js';
4
+ import 'axios';
5
+
6
+ /**
7
+ * RBAC 模块类型
8
+ */
9
+
10
+ /**
11
+ * 权限点定义项
12
+ */
13
+ interface PermissionDefinitionItem {
14
+ code: string;
15
+ name: string;
16
+ description: string;
17
+ }
18
+ /**
19
+ * 按模块分组的权限点定义
20
+ */
21
+ type PermissionDefinitionsByModule = Record<string, PermissionDefinitionItem[]>;
22
+ /**
23
+ * 系统角色定义(来自后端硬编码 definitions)
24
+ */
25
+ interface SystemRoleDefinitionItem {
26
+ code: string;
27
+ name: string;
28
+ description: string;
29
+ permissions: string[];
30
+ defaultScopeType: ScopeType;
31
+ }
32
+ /**
33
+ * GET /api/v1/permissions 响应(data 部分)
34
+ */
35
+ interface PermissionDefinitionsResponse {
36
+ permissions: PermissionDefinitionsByModule;
37
+ systemRoles: SystemRoleDefinitionItem[];
38
+ }
39
+ /**
40
+ * 团队自定义角色信息
41
+ */
42
+ interface CustomRoleInfo {
43
+ id: string;
44
+ name: string;
45
+ code: string;
46
+ teamId: string;
47
+ permissions: string[];
48
+ createdAt: string;
49
+ updatedAt: string;
50
+ deletedAt?: string | null;
51
+ version?: number;
52
+ }
53
+ /**
54
+ * 团队角色列表中的系统角色项
55
+ */
56
+ interface SystemRoleListItem extends SystemRoleDefinitionItem {
57
+ type: 'SYSTEM';
58
+ isSystem: true;
59
+ membersCount: number;
60
+ }
61
+ /**
62
+ * 团队角色列表中的自定义角色项
63
+ */
64
+ interface CustomRoleListItem extends CustomRoleInfo {
65
+ type: 'CUSTOM';
66
+ isSystem: false;
67
+ membersCount: number;
68
+ }
69
+ /**
70
+ * GET /api/v1/teams/:teamId/roles 响应(data 部分)
71
+ */
72
+ interface TeamRolesResponse {
73
+ systemRoles: SystemRoleListItem[];
74
+ customRoles: CustomRoleListItem[];
75
+ }
76
+ /**
77
+ * 创建自定义角色参数
78
+ */
79
+ interface CreateCustomRoleParams {
80
+ name: string;
81
+ code: string;
82
+ permissions: string[];
83
+ }
84
+ /**
85
+ * 更新自定义角色参数
86
+ *
87
+ * @description
88
+ * 后端约束:code 创建后不可修改,但接口层仍可能接受该字段并在服务端拒绝。
89
+ */
90
+ interface UpdateCustomRoleParams {
91
+ name?: string;
92
+ code?: string;
93
+ permissions?: string[];
94
+ }
95
+ /**
96
+ * 删除角色结果
97
+ */
98
+ interface DeleteRoleResult {
99
+ success: true;
100
+ }
101
+ /**
102
+ * 角色详情中的成员使用情况
103
+ */
104
+ interface RoleMemberUsageItem {
105
+ memberRoleId: string;
106
+ memberId: string;
107
+ userId: string;
108
+ scopeType: ScopeType;
109
+ scopeValue: Record<string, unknown> | null;
110
+ joinedAt?: string | null;
111
+ }
112
+ /**
113
+ * 系统角色详情(GET /api/v1/teams/:teamId/roles/:roleId 返回的 data)
114
+ */
115
+ interface SystemRoleDetail {
116
+ code: string;
117
+ name: string;
118
+ description: string;
119
+ permissions: string[];
120
+ type: 'SYSTEM';
121
+ isSystem: true;
122
+ memberCount: number;
123
+ members: RoleMemberUsageItem[];
124
+ }
125
+ /**
126
+ * 自定义角色详情(GET /api/v1/teams/:teamId/roles/:roleId 返回的 data)
127
+ */
128
+ interface CustomRoleDetail {
129
+ id: string;
130
+ code: string;
131
+ name: string;
132
+ permissions: string[];
133
+ type: 'CUSTOM';
134
+ isSystem: false;
135
+ memberCount: number;
136
+ members: RoleMemberUsageItem[];
137
+ createdAt: string;
138
+ updatedAt: string;
139
+ }
140
+ /**
141
+ * 角色详情(系统/自定义联合类型)
142
+ */
143
+ type TeamRoleDetail = SystemRoleDetail | CustomRoleDetail;
144
+ /**
145
+ * 成员角色列表项(GET /api/v1/teams/:teamId/members/:memberId/roles 返回的 data)
146
+ */
147
+ interface MemberRoleListItem {
148
+ memberRoleId: string;
149
+ roleType: RoleType;
150
+ roleCode?: string | null;
151
+ roleId?: string | null;
152
+ roleName: string;
153
+ roleDescription?: string;
154
+ permissions: string[];
155
+ scopeType: ScopeType;
156
+ scopeValue: Record<string, unknown> | null;
157
+ createdAt: string;
158
+ }
159
+ /**
160
+ * 成员角色记录(POST/PUT/talent 等接口直接返回 memberRole)
161
+ */
162
+ interface MemberRoleRecord {
163
+ id: string;
164
+ memberId: string;
165
+ roleType: RoleType;
166
+ roleCode: string | null;
167
+ roleId: string | null;
168
+ scopeType: ScopeType;
169
+ scopeValue: Record<string, unknown> | null;
170
+ createdAt: string;
171
+ updatedAt: string;
172
+ deletedAt?: string | null;
173
+ role?: CustomRoleInfo | null;
174
+ }
175
+ /**
176
+ * 更新成员角色数据范围参数
177
+ */
178
+ interface UpdateMemberRoleScopeParams {
179
+ scopeType: ScopeType;
180
+ scopeValue?: Record<string, unknown>;
181
+ }
182
+ /**
183
+ * 快捷授权人才模块参数
184
+ */
185
+ interface QuickGrantTalentAccessParams {
186
+ companyIds?: string[];
187
+ roleCode?: 'SUB_UNIT_VIEWER' | 'SUB_UNIT_MANAGER';
188
+ }
189
+
190
+ /**
191
+ * RBAC 模块 (Rbac)
192
+ *
193
+ * @description
194
+ * 提供权限点、角色、成员角色分配等能力封装,覆盖后端 `docs/api/rbac.md` 中的核心接口:
195
+ * - 获取权限点定义 + 系统角色定义
196
+ * - 团队角色管理(系统角色列表 + 自定义角色 CRUD)
197
+ * - 成员角色管理(查询/分配/更新数据范围/移除)
198
+ * - 人才模块快捷授权(SUB_UNIT_VIEWER / SUB_UNIT_MANAGER)
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * import { PlolinkClient } from '@plolink/sdk';
203
+ * import { Team } from '@plolink/sdk/team';
204
+ * import { Rbac } from '@plolink/sdk/rbac';
205
+ * import { VirtualAccount } from '@plolink/sdk/virtual-account';
206
+ *
207
+ * const client = new PlolinkClient({ token: 'session-or-apikey' });
208
+ * const virtualAccount = new VirtualAccount(client);
209
+ * const team = new Team(client);
210
+ * const rbac = new Rbac(client);
211
+ *
212
+ * const created = await virtualAccount.createVirtualAccount({
213
+ * mode: 'EXISTING_TEAM',
214
+ * teamId: 'team-123',
215
+ * virtualAccountName: 'Bot'
216
+ * });
217
+ *
218
+ * const members = await team.listTeamMembers(created.virtualAccount.virtualAccountTeamId);
219
+ * const memberId = team.getMemberIdByUserId(members, created.virtualAccount.id);
220
+ *
221
+ * await rbac.assignMemberRole(created.virtualAccount.virtualAccountTeamId, memberId, {
222
+ * roleType: 'SYSTEM',
223
+ * roleCode: 'SUB_UNIT_VIEWER',
224
+ * scopeType: 'TEAM'
225
+ * });
226
+ * ```
227
+ *
228
+ * @module rbac
229
+ */
230
+
231
+ declare class Rbac {
232
+ private client;
233
+ constructor(client: PlolinkClient);
234
+ /**
235
+ * 获取所有权限点定义 + 系统角色定义
236
+ * GET /api/v1/permissions
237
+ */
238
+ getPermissionDefinitions(): Promise<PermissionDefinitionsResponse>;
239
+ /**
240
+ * 列出团队角色(系统角色 + 自定义角色)
241
+ * GET /api/v1/teams/:teamId/roles
242
+ */
243
+ listTeamRoles(teamId: string): Promise<TeamRolesResponse>;
244
+ /**
245
+ * 创建自定义角色
246
+ * POST /api/v1/teams/:teamId/roles
247
+ */
248
+ createCustomRole(teamId: string, params: CreateCustomRoleParams): Promise<CustomRoleInfo>;
249
+ /**
250
+ * 更新自定义角色
251
+ * PUT /api/v1/teams/:teamId/roles/:roleId
252
+ */
253
+ updateCustomRole(teamId: string, roleId: string, params: UpdateCustomRoleParams): Promise<CustomRoleInfo>;
254
+ /**
255
+ * 删除自定义角色
256
+ * DELETE /api/v1/teams/:teamId/roles/:roleId?force=true
257
+ */
258
+ deleteCustomRole(teamId: string, roleId: string, options?: {
259
+ force?: boolean;
260
+ }): Promise<DeleteRoleResult>;
261
+ /**
262
+ * 获取角色详情(系统角色或自定义角色)
263
+ * GET /api/v1/teams/:teamId/roles/:roleId
264
+ */
265
+ getRoleDetail(teamId: string, roleId: string): Promise<TeamRoleDetail>;
266
+ /**
267
+ * 获取成员的所有角色(带角色信息与权限)
268
+ * GET /api/v1/teams/:teamId/members/:memberId/roles
269
+ */
270
+ listMemberRoles(teamId: string, memberId: string): Promise<MemberRoleListItem[]>;
271
+ /**
272
+ * 为成员分配角色(系统/自定义)及数据范围
273
+ * POST /api/v1/teams/:teamId/members/:memberId/roles
274
+ */
275
+ assignMemberRole(teamId: string, memberId: string, params: AssignRoleParams): Promise<MemberRoleRecord>;
276
+ /**
277
+ * 更新成员角色的数据范围
278
+ * PUT /api/v1/teams/:teamId/members/:memberId/roles/:memberRoleId
279
+ */
280
+ updateMemberRoleScope(teamId: string, memberId: string, memberRoleId: string, params: UpdateMemberRoleScopeParams): Promise<MemberRoleRecord>;
281
+ /**
282
+ * 移除成员角色
283
+ * DELETE /api/v1/teams/:teamId/members/:memberId/roles/:memberRoleId
284
+ */
285
+ removeMemberRole(teamId: string, memberId: string, memberRoleId: string): Promise<DeleteRoleResult>;
286
+ /**
287
+ * 快捷授权人才模块(公司访问范围)
288
+ * POST /api/v1/teams/:teamId/members/:memberId/roles/talent
289
+ */
290
+ quickGrantTalentAccess(teamId: string, memberId: string, params?: QuickGrantTalentAccessParams): Promise<MemberRoleRecord>;
291
+ }
292
+
293
+ export { AssignRoleParams, type CreateCustomRoleParams, type CustomRoleInfo, type DeleteRoleResult, type MemberRoleListItem, type MemberRoleRecord, type PermissionDefinitionsResponse, type QuickGrantTalentAccessParams, Rbac, RoleType, ScopeType, type TeamRoleDetail, type TeamRolesResponse, type UpdateCustomRoleParams, type UpdateMemberRoleScopeParams };