@bubblelab/bubble-core 0.1.283 → 0.1.285

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 (86) hide show
  1. package/dist/bubble-bundle.d.ts +45 -25
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +3 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubble-trigger/index.d.ts +2 -0
  6. package/dist/bubble-trigger/index.d.ts.map +1 -0
  7. package/dist/bubble-trigger/index.js +2 -0
  8. package/dist/bubble-trigger/index.js.map +1 -0
  9. package/dist/bubble-trigger/types.d.ts +87 -0
  10. package/dist/bubble-trigger/types.d.ts.map +1 -0
  11. package/dist/bubble-trigger/types.js +14 -0
  12. package/dist/bubble-trigger/types.js.map +1 -0
  13. package/dist/bubbles/service-bubble/clerk/clerk.d.ts +690 -0
  14. package/dist/bubbles/service-bubble/clerk/clerk.d.ts.map +1 -0
  15. package/dist/bubbles/service-bubble/clerk/clerk.js +573 -0
  16. package/dist/bubbles/service-bubble/clerk/clerk.js.map +1 -0
  17. package/dist/bubbles/service-bubble/clerk/clerk.schema.d.ts +653 -0
  18. package/dist/bubbles/service-bubble/clerk/clerk.schema.d.ts.map +1 -0
  19. package/dist/bubbles/service-bubble/clerk/clerk.schema.js +444 -0
  20. package/dist/bubbles/service-bubble/clerk/clerk.schema.js.map +1 -0
  21. package/dist/bubbles/service-bubble/clerk/index.d.ts +3 -0
  22. package/dist/bubbles/service-bubble/clerk/index.d.ts.map +1 -0
  23. package/dist/bubbles/service-bubble/clerk/index.js +3 -0
  24. package/dist/bubbles/service-bubble/clerk/index.js.map +1 -0
  25. package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
  26. package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
  27. package/dist/bubbles/service-bubble/google-sheets.js +904 -0
  28. package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
  29. package/dist/bubbles/service-bubble/looker/index.d.ts +3 -0
  30. package/dist/bubbles/service-bubble/looker/index.d.ts.map +1 -0
  31. package/dist/bubbles/service-bubble/looker/index.js +3 -0
  32. package/dist/bubbles/service-bubble/looker/index.js.map +1 -0
  33. package/dist/bubbles/service-bubble/looker/looker.d.ts +768 -0
  34. package/dist/bubbles/service-bubble/looker/looker.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/looker/looker.js +319 -0
  36. package/dist/bubbles/service-bubble/looker/looker.js.map +1 -0
  37. package/dist/bubbles/service-bubble/looker/looker.schema.d.ts +735 -0
  38. package/dist/bubbles/service-bubble/looker/looker.schema.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/looker/looker.schema.js +264 -0
  40. package/dist/bubbles/service-bubble/looker/looker.schema.js.map +1 -0
  41. package/dist/bubbles/service-bubble/pylon/index.d.ts +3 -0
  42. package/dist/bubbles/service-bubble/pylon/index.d.ts.map +1 -0
  43. package/dist/bubbles/service-bubble/pylon/index.js +3 -0
  44. package/dist/bubbles/service-bubble/pylon/index.js.map +1 -0
  45. package/dist/bubbles/service-bubble/pylon/pylon.d.ts +435 -0
  46. package/dist/bubbles/service-bubble/pylon/pylon.d.ts.map +1 -0
  47. package/dist/bubbles/service-bubble/pylon/pylon.js +375 -0
  48. package/dist/bubbles/service-bubble/pylon/pylon.js.map +1 -0
  49. package/dist/bubbles/service-bubble/pylon/pylon.schema.d.ts +408 -0
  50. package/dist/bubbles/service-bubble/pylon/pylon.schema.d.ts.map +1 -0
  51. package/dist/bubbles/service-bubble/pylon/pylon.schema.js +249 -0
  52. package/dist/bubbles/service-bubble/pylon/pylon.schema.js.map +1 -0
  53. package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
  54. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
  55. package/dist/bubbles/service-bubble/slack.js +1536 -0
  56. package/dist/bubbles/service-bubble/slack.js.map +1 -0
  57. package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.d.ts +3 -0
  58. package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.d.ts.map +1 -0
  59. package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.js +3 -0
  60. package/dist/bubbles/tool-bubble/linkedin-connection-tool/index.js.map +1 -0
  61. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts +160 -0
  62. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.d.ts.map +1 -0
  63. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js +706 -0
  64. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.js.map +1 -0
  65. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts +93 -0
  66. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.d.ts.map +1 -0
  67. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.js +50 -0
  68. package/dist/bubbles/tool-bubble/linkedin-connection-tool/linkedin-connection-tool.schema.js.map +1 -0
  69. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts +114 -0
  70. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.d.ts.map +1 -0
  71. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js +777 -0
  72. package/dist/bubbles/workflow-bubble/bubbleflow-generator.workflow.js.map +1 -0
  73. package/dist/bubbles.json +1337 -2
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/types/ai-models.d.ts +4 -0
  79. package/dist/types/ai-models.d.ts.map +1 -0
  80. package/dist/types/ai-models.js +16 -0
  81. package/dist/types/ai-models.js.map +1 -0
  82. package/dist/utils/param-helper.d.ts +2 -0
  83. package/dist/utils/param-helper.d.ts.map +1 -0
  84. package/dist/utils/param-helper.js +5 -0
  85. package/dist/utils/param-helper.js.map +1 -0
  86. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/clerk/clerk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAI3B,qBAAa,WAAW,CACtB,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAC7C,SAAQ,aAAa,CACrB,CAAC,EACD,OAAO,CAAC,WAAW,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CACpD;IACC,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAG,OAAO,CAAU;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqB;IAC3C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAqB;IACjD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,uEACsC;IACtE,MAAM,CAAC,QAAQ,CAAC,eAAe,scAS7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;gBAG9B,MAAM,GAAE,CAEF,EACN,OAAO,CAAC,EAAE,aAAa;IAKzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;YASlC,gBAAgB;IAiEjB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;cAoB/B,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YAoHjD,SAAS;YAmCT,OAAO;YAuBP,UAAU;YAmCV,UAAU;YAgCV,UAAU;YAeV,OAAO;YAwBP,SAAS;YA0BT,iBAAiB;YA8BjB,eAAe;YAuBf,kBAAkB;YAiClB,kBAAkB;YAiClB,kBAAkB;YAelB,2BAA2B;YAqC3B,eAAe;YA8Bf,gBAAgB;YA8BhB,gBAAgB;YAiBhB,YAAY;YAgCZ,aAAa;YAiBb,mBAAmB;YAuBnB,2BAA2B;CAwB1C"}
@@ -0,0 +1,573 @@
1
+ import { CredentialType } from '@bubblelab/shared-schemas';
2
+ import { ServiceBubble } from '../../../types/service-bubble-class.js';
3
+ import { ClerkParamsSchema, ClerkResultSchema, } from './clerk.schema.js';
4
+ const CLERK_API_BASE = 'https://api.clerk.com/v1';
5
+ export class ClerkBubble extends ServiceBubble {
6
+ static service = 'clerk';
7
+ static authType = 'apikey';
8
+ static bubbleName = 'clerk';
9
+ static type = 'service';
10
+ static schema = ClerkParamsSchema;
11
+ static resultSchema = ClerkResultSchema;
12
+ static shortDescription = 'Clerk integration for user management, organizations, and billing';
13
+ static longDescription = `
14
+ Integrate with Clerk to manage users, organizations, invitations, sessions, and billing.
15
+ Supported operations:
16
+ - Users: List, get, create, update, delete, ban, unban
17
+ - Organizations: List, get, create, update, delete, list memberships
18
+ - Invitations: List, create, revoke
19
+ - Sessions: List, revoke
20
+ - Billing: Get user/organization subscription status
21
+ Authentication: OAuth 2.0 or Secret Key (Bearer token)
22
+ `;
23
+ static alias = 'clerk';
24
+ constructor(params = {
25
+ operation: 'list_users',
26
+ }, context) {
27
+ super(params, context);
28
+ }
29
+ chooseCredential() {
30
+ const params = this.params;
31
+ const credentials = params.credentials;
32
+ if (!credentials || typeof credentials !== 'object') {
33
+ return undefined;
34
+ }
35
+ return credentials[CredentialType.CLERK_CRED];
36
+ }
37
+ async makeClerkRequest(path, options = {}) {
38
+ const token = this.chooseCredential();
39
+ if (!token) {
40
+ return { ok: false, error: 'Clerk credential not found' };
41
+ }
42
+ const { method = 'GET', body, queryParams } = options;
43
+ let url = `${CLERK_API_BASE}${path}`;
44
+ if (queryParams) {
45
+ const params = new URLSearchParams(queryParams);
46
+ url += `?${params.toString()}`;
47
+ }
48
+ const headers = {
49
+ Authorization: `Bearer ${token}`,
50
+ 'Content-Type': 'application/json',
51
+ };
52
+ try {
53
+ const fetchOptions = { method, headers };
54
+ if (body && method !== 'GET') {
55
+ fetchOptions.body = JSON.stringify(body);
56
+ }
57
+ const response = await fetch(url, fetchOptions);
58
+ const text = await response.text();
59
+ if (!response.ok) {
60
+ let errorMessage = `Clerk API error (${response.status})`;
61
+ try {
62
+ const errorData = JSON.parse(text);
63
+ errorMessage =
64
+ errorData.errors?.[0]?.long_message ||
65
+ errorData.errors?.[0]?.message ||
66
+ errorData.message ||
67
+ errorMessage;
68
+ }
69
+ catch {
70
+ if (text)
71
+ errorMessage += `: ${text.slice(0, 200)}`;
72
+ }
73
+ return { ok: false, error: errorMessage };
74
+ }
75
+ if (!text || text.trim() === '') {
76
+ return { ok: true };
77
+ }
78
+ const data = JSON.parse(text);
79
+ return { ok: true, data };
80
+ }
81
+ catch (error) {
82
+ return {
83
+ ok: false,
84
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
85
+ };
86
+ }
87
+ }
88
+ async testCredential() {
89
+ const token = this.chooseCredential();
90
+ if (!token) {
91
+ throw new Error('Clerk credentials are required');
92
+ }
93
+ const response = await fetch(`${CLERK_API_BASE}/users?limit=1`, {
94
+ method: 'GET',
95
+ headers: {
96
+ Authorization: `Bearer ${token}`,
97
+ 'Content-Type': 'application/json',
98
+ },
99
+ });
100
+ if (!response.ok) {
101
+ const text = await response.text();
102
+ throw new Error(`Clerk API error (${response.status}): ${text}`);
103
+ }
104
+ return true;
105
+ }
106
+ async performAction(context) {
107
+ void context;
108
+ const params = this.params;
109
+ const { operation } = params;
110
+ try {
111
+ switch (operation) {
112
+ // Users
113
+ case 'list_users':
114
+ return (await this.listUsers(params));
115
+ case 'get_user':
116
+ return (await this.getUser(params));
117
+ case 'create_user':
118
+ return (await this.createUser(params));
119
+ case 'update_user':
120
+ return (await this.updateUser(params));
121
+ case 'delete_user':
122
+ return (await this.deleteUser(params));
123
+ case 'ban_user':
124
+ return (await this.banUser(params));
125
+ case 'unban_user':
126
+ return (await this.unbanUser(params));
127
+ // Organizations
128
+ case 'list_organizations':
129
+ return (await this.listOrganizations(params));
130
+ case 'get_organization':
131
+ return (await this.getOrganization(params));
132
+ case 'create_organization':
133
+ return (await this.createOrganization(params));
134
+ case 'update_organization':
135
+ return (await this.updateOrganization(params));
136
+ case 'delete_organization':
137
+ return (await this.deleteOrganization(params));
138
+ case 'list_organization_memberships':
139
+ return (await this.listOrganizationMemberships(params));
140
+ // Invitations
141
+ case 'list_invitations':
142
+ return (await this.listInvitations(params));
143
+ case 'create_invitation':
144
+ return (await this.createInvitation(params));
145
+ case 'revoke_invitation':
146
+ return (await this.revokeInvitation(params));
147
+ // Sessions
148
+ case 'list_sessions':
149
+ return (await this.listSessions(params));
150
+ case 'revoke_session':
151
+ return (await this.revokeSession(params));
152
+ // Billing
153
+ case 'get_user_subscription':
154
+ return (await this.getUserSubscription(params));
155
+ case 'get_organization_subscription':
156
+ return (await this.getOrganizationSubscription(params));
157
+ default:
158
+ throw new Error(`Unknown operation: ${operation}`);
159
+ }
160
+ }
161
+ catch (error) {
162
+ return {
163
+ operation,
164
+ success: false,
165
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
166
+ };
167
+ }
168
+ }
169
+ // ========================== Users ==========================
170
+ async listUsers(params) {
171
+ const queryParams = {
172
+ limit: String(params.limit),
173
+ offset: String(params.offset),
174
+ };
175
+ if (params.order_by)
176
+ queryParams.order_by = params.order_by;
177
+ if (params.query)
178
+ queryParams.query = params.query;
179
+ if (params.email_address) {
180
+ for (const email of params.email_address) {
181
+ queryParams[`email_address[]`] = email;
182
+ }
183
+ }
184
+ const result = await this.makeClerkRequest('/users', { queryParams });
185
+ if (!result.ok) {
186
+ return {
187
+ operation: 'list_users',
188
+ success: false,
189
+ error: result.error || 'Failed to list users',
190
+ };
191
+ }
192
+ const data = result.data;
193
+ return {
194
+ operation: 'list_users',
195
+ users: data || [],
196
+ total_count: Array.isArray(data) ? data.length : 0,
197
+ success: true,
198
+ error: '',
199
+ };
200
+ }
201
+ async getUser(params) {
202
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}`);
203
+ if (!result.ok) {
204
+ return {
205
+ operation: 'get_user',
206
+ success: false,
207
+ error: result.error || 'Failed to get user',
208
+ };
209
+ }
210
+ return {
211
+ operation: 'get_user',
212
+ user: result.data,
213
+ success: true,
214
+ error: '',
215
+ };
216
+ }
217
+ async createUser(params) {
218
+ const body = {
219
+ email_address: params.email_address,
220
+ };
221
+ if (params.first_name)
222
+ body.first_name = params.first_name;
223
+ if (params.last_name)
224
+ body.last_name = params.last_name;
225
+ if (params.username)
226
+ body.username = params.username;
227
+ if (params.password)
228
+ body.password = params.password;
229
+ if (params.public_metadata)
230
+ body.public_metadata = params.public_metadata;
231
+ if (params.private_metadata)
232
+ body.private_metadata = params.private_metadata;
233
+ const result = await this.makeClerkRequest('/users', {
234
+ method: 'POST',
235
+ body,
236
+ });
237
+ if (!result.ok) {
238
+ return {
239
+ operation: 'create_user',
240
+ success: false,
241
+ error: result.error || 'Failed to create user',
242
+ };
243
+ }
244
+ return {
245
+ operation: 'create_user',
246
+ user: result.data,
247
+ success: true,
248
+ error: '',
249
+ };
250
+ }
251
+ async updateUser(params) {
252
+ const body = {};
253
+ if (params.first_name !== undefined)
254
+ body.first_name = params.first_name;
255
+ if (params.last_name !== undefined)
256
+ body.last_name = params.last_name;
257
+ if (params.username !== undefined)
258
+ body.username = params.username;
259
+ if (params.public_metadata)
260
+ body.public_metadata = params.public_metadata;
261
+ if (params.private_metadata)
262
+ body.private_metadata = params.private_metadata;
263
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}`, { method: 'PATCH', body });
264
+ if (!result.ok) {
265
+ return {
266
+ operation: 'update_user',
267
+ success: false,
268
+ error: result.error || 'Failed to update user',
269
+ };
270
+ }
271
+ return {
272
+ operation: 'update_user',
273
+ user: result.data,
274
+ success: true,
275
+ error: '',
276
+ };
277
+ }
278
+ async deleteUser(params) {
279
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}`, { method: 'DELETE' });
280
+ return {
281
+ operation: 'delete_user',
282
+ success: result.ok,
283
+ error: result.ok ? '' : result.error || 'Failed to delete user',
284
+ };
285
+ }
286
+ async banUser(params) {
287
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}/ban`, { method: 'POST' });
288
+ if (!result.ok) {
289
+ return {
290
+ operation: 'ban_user',
291
+ success: false,
292
+ error: result.error || 'Failed to ban user',
293
+ };
294
+ }
295
+ return {
296
+ operation: 'ban_user',
297
+ user: result.data,
298
+ success: true,
299
+ error: '',
300
+ };
301
+ }
302
+ async unbanUser(params) {
303
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}/unban`, { method: 'POST' });
304
+ if (!result.ok) {
305
+ return {
306
+ operation: 'unban_user',
307
+ success: false,
308
+ error: result.error || 'Failed to unban user',
309
+ };
310
+ }
311
+ return {
312
+ operation: 'unban_user',
313
+ user: result.data,
314
+ success: true,
315
+ error: '',
316
+ };
317
+ }
318
+ // ========================== Organizations ==========================
319
+ async listOrganizations(params) {
320
+ const result = await this.makeClerkRequest('/organizations', {
321
+ queryParams: {
322
+ limit: String(params.limit),
323
+ offset: String(params.offset),
324
+ },
325
+ });
326
+ if (!result.ok) {
327
+ return {
328
+ operation: 'list_organizations',
329
+ success: false,
330
+ error: result.error || 'Failed to list organizations',
331
+ };
332
+ }
333
+ const responseData = result.data;
334
+ return {
335
+ operation: 'list_organizations',
336
+ organizations: responseData?.data || [],
337
+ total_count: responseData?.total_count,
338
+ success: true,
339
+ error: '',
340
+ };
341
+ }
342
+ async getOrganization(params) {
343
+ const result = await this.makeClerkRequest(`/organizations/${encodeURIComponent(params.organization_id)}`);
344
+ if (!result.ok) {
345
+ return {
346
+ operation: 'get_organization',
347
+ success: false,
348
+ error: result.error || 'Failed to get organization',
349
+ };
350
+ }
351
+ return {
352
+ operation: 'get_organization',
353
+ organization: result.data,
354
+ success: true,
355
+ error: '',
356
+ };
357
+ }
358
+ async createOrganization(params) {
359
+ const body = { name: params.name };
360
+ if (params.slug)
361
+ body.slug = params.slug;
362
+ if (params.created_by)
363
+ body.created_by = params.created_by;
364
+ if (params.public_metadata)
365
+ body.public_metadata = params.public_metadata;
366
+ if (params.private_metadata)
367
+ body.private_metadata = params.private_metadata;
368
+ if (params.max_allowed_memberships !== undefined)
369
+ body.max_allowed_memberships = params.max_allowed_memberships;
370
+ const result = await this.makeClerkRequest('/organizations', {
371
+ method: 'POST',
372
+ body,
373
+ });
374
+ if (!result.ok) {
375
+ return {
376
+ operation: 'create_organization',
377
+ success: false,
378
+ error: result.error || 'Failed to create organization',
379
+ };
380
+ }
381
+ return {
382
+ operation: 'create_organization',
383
+ organization: result.data,
384
+ success: true,
385
+ error: '',
386
+ };
387
+ }
388
+ async updateOrganization(params) {
389
+ const body = {};
390
+ if (params.name !== undefined)
391
+ body.name = params.name;
392
+ if (params.slug !== undefined)
393
+ body.slug = params.slug;
394
+ if (params.public_metadata)
395
+ body.public_metadata = params.public_metadata;
396
+ if (params.private_metadata)
397
+ body.private_metadata = params.private_metadata;
398
+ if (params.max_allowed_memberships !== undefined)
399
+ body.max_allowed_memberships = params.max_allowed_memberships;
400
+ const result = await this.makeClerkRequest(`/organizations/${encodeURIComponent(params.organization_id)}`, { method: 'PATCH', body });
401
+ if (!result.ok) {
402
+ return {
403
+ operation: 'update_organization',
404
+ success: false,
405
+ error: result.error || 'Failed to update organization',
406
+ };
407
+ }
408
+ return {
409
+ operation: 'update_organization',
410
+ organization: result.data,
411
+ success: true,
412
+ error: '',
413
+ };
414
+ }
415
+ async deleteOrganization(params) {
416
+ const result = await this.makeClerkRequest(`/organizations/${encodeURIComponent(params.organization_id)}`, { method: 'DELETE' });
417
+ return {
418
+ operation: 'delete_organization',
419
+ success: result.ok,
420
+ error: result.ok ? '' : result.error || 'Failed to delete organization',
421
+ };
422
+ }
423
+ async listOrganizationMemberships(params) {
424
+ const result = await this.makeClerkRequest(`/organizations/${encodeURIComponent(params.organization_id)}/memberships`, {
425
+ queryParams: {
426
+ limit: String(params.limit),
427
+ offset: String(params.offset),
428
+ },
429
+ });
430
+ if (!result.ok) {
431
+ return {
432
+ operation: 'list_organization_memberships',
433
+ success: false,
434
+ error: result.error || 'Failed to list memberships',
435
+ };
436
+ }
437
+ const responseData = result.data;
438
+ return {
439
+ operation: 'list_organization_memberships',
440
+ memberships: responseData?.data || [],
441
+ total_count: responseData?.total_count,
442
+ success: true,
443
+ error: '',
444
+ };
445
+ }
446
+ // ========================== Invitations ==========================
447
+ async listInvitations(params) {
448
+ const result = await this.makeClerkRequest('/invitations', {
449
+ queryParams: {
450
+ limit: String(params.limit),
451
+ offset: String(params.offset),
452
+ },
453
+ });
454
+ if (!result.ok) {
455
+ return {
456
+ operation: 'list_invitations',
457
+ success: false,
458
+ error: result.error || 'Failed to list invitations',
459
+ };
460
+ }
461
+ const responseData = result.data;
462
+ return {
463
+ operation: 'list_invitations',
464
+ invitations: responseData?.data || [],
465
+ total_count: responseData?.total_count,
466
+ success: true,
467
+ error: '',
468
+ };
469
+ }
470
+ async createInvitation(params) {
471
+ const body = {
472
+ email_address: params.email_address,
473
+ };
474
+ if (params.redirect_url)
475
+ body.redirect_url = params.redirect_url;
476
+ if (params.public_metadata)
477
+ body.public_metadata = params.public_metadata;
478
+ const result = await this.makeClerkRequest('/invitations', {
479
+ method: 'POST',
480
+ body,
481
+ });
482
+ if (!result.ok) {
483
+ return {
484
+ operation: 'create_invitation',
485
+ success: false,
486
+ error: result.error || 'Failed to create invitation',
487
+ };
488
+ }
489
+ return {
490
+ operation: 'create_invitation',
491
+ invitation: result.data,
492
+ success: true,
493
+ error: '',
494
+ };
495
+ }
496
+ async revokeInvitation(params) {
497
+ const result = await this.makeClerkRequest(`/invitations/${encodeURIComponent(params.invitation_id)}/revoke`, { method: 'POST' });
498
+ return {
499
+ operation: 'revoke_invitation',
500
+ success: result.ok,
501
+ error: result.ok ? '' : result.error || 'Failed to revoke invitation',
502
+ };
503
+ }
504
+ // ========================== Sessions ==========================
505
+ async listSessions(params) {
506
+ const queryParams = {
507
+ limit: String(params.limit),
508
+ offset: String(params.offset),
509
+ };
510
+ if (params.user_id)
511
+ queryParams.user_id = params.user_id;
512
+ if (params.status)
513
+ queryParams.status = params.status;
514
+ const result = await this.makeClerkRequest('/sessions', { queryParams });
515
+ if (!result.ok) {
516
+ return {
517
+ operation: 'list_sessions',
518
+ success: false,
519
+ error: result.error || 'Failed to list sessions',
520
+ };
521
+ }
522
+ const responseData = result.data;
523
+ return {
524
+ operation: 'list_sessions',
525
+ sessions: responseData?.data || [],
526
+ total_count: responseData?.total_count,
527
+ success: true,
528
+ error: '',
529
+ };
530
+ }
531
+ async revokeSession(params) {
532
+ const result = await this.makeClerkRequest(`/sessions/${encodeURIComponent(params.session_id)}/revoke`, { method: 'POST' });
533
+ return {
534
+ operation: 'revoke_session',
535
+ success: result.ok,
536
+ error: result.ok ? '' : result.error || 'Failed to revoke session',
537
+ };
538
+ }
539
+ // ========================== Billing ==========================
540
+ async getUserSubscription(params) {
541
+ const result = await this.makeClerkRequest(`/users/${encodeURIComponent(params.user_id)}/billing/subscription`);
542
+ if (!result.ok) {
543
+ return {
544
+ operation: 'get_user_subscription',
545
+ success: false,
546
+ error: result.error || 'Failed to get user subscription',
547
+ };
548
+ }
549
+ return {
550
+ operation: 'get_user_subscription',
551
+ subscription: result.data,
552
+ success: true,
553
+ error: '',
554
+ };
555
+ }
556
+ async getOrganizationSubscription(params) {
557
+ const result = await this.makeClerkRequest(`/organizations/${encodeURIComponent(params.organization_id)}/billing/subscription`);
558
+ if (!result.ok) {
559
+ return {
560
+ operation: 'get_organization_subscription',
561
+ success: false,
562
+ error: result.error || 'Failed to get organization subscription',
563
+ };
564
+ }
565
+ return {
566
+ operation: 'get_organization_subscription',
567
+ subscription: result.data,
568
+ success: true,
569
+ error: '',
570
+ };
571
+ }
572
+ }
573
+ //# sourceMappingURL=clerk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clerk.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/clerk/clerk.ts"],"names":[],"mappings":"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"}