@symbo.ls/sdk 2.34.4 → 2.34.7

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 (49) hide show
  1. package/dist/cjs/index.js +24 -0
  2. package/dist/cjs/services/BranchService.js +4 -4
  3. package/dist/cjs/services/IntegrationService.js +538 -0
  4. package/dist/cjs/services/MetricsService.js +62 -0
  5. package/dist/cjs/services/PaymentService.js +1 -1
  6. package/dist/cjs/services/PullRequestService.js +8 -6
  7. package/dist/cjs/services/WaitlistService.js +148 -0
  8. package/dist/cjs/services/index.js +13 -1
  9. package/dist/cjs/utils/services.js +26 -1
  10. package/dist/esm/index.js +751 -12
  11. package/dist/esm/services/BranchService.js +4 -4
  12. package/dist/esm/services/IntegrationService.js +1319 -0
  13. package/dist/esm/services/MetricsService.js +843 -0
  14. package/dist/esm/services/PaymentService.js +1 -1
  15. package/dist/esm/services/PullRequestService.js +8 -6
  16. package/dist/esm/services/WaitlistService.js +929 -0
  17. package/dist/esm/services/index.js +708 -12
  18. package/dist/esm/utils/services.js +26 -1
  19. package/dist/node/index.js +32 -2
  20. package/dist/node/services/BranchService.js +4 -4
  21. package/dist/node/services/IntegrationService.js +519 -0
  22. package/dist/node/services/MetricsService.js +43 -0
  23. package/dist/node/services/PaymentService.js +1 -1
  24. package/dist/node/services/PullRequestService.js +8 -6
  25. package/dist/node/services/WaitlistService.js +129 -0
  26. package/dist/node/services/index.js +13 -1
  27. package/dist/node/utils/services.js +26 -1
  28. package/package.json +8 -7
  29. package/src/index.js +40 -13
  30. package/src/services/BranchService.js +5 -5
  31. package/src/services/IntegrationService.js +548 -0
  32. package/src/services/MetricsService.js +40 -0
  33. package/src/services/PaymentService.js +1 -1
  34. package/src/services/PullRequestService.js +6 -6
  35. package/src/services/WaitlistService.js +130 -0
  36. package/src/services/index.js +16 -2
  37. package/src/services/tests/FileService/createFileFormData.test.js +74 -0
  38. package/src/services/tests/FileService/getFileUrl.test.js +69 -0
  39. package/src/services/tests/FileService/updateProjectIcon.test.js +109 -0
  40. package/src/services/tests/FileService/uploadDocument.test.js +36 -0
  41. package/src/services/tests/FileService/uploadFile.test.js +78 -0
  42. package/src/services/tests/FileService/uploadFileWithValidation.test.js +114 -0
  43. package/src/services/tests/FileService/uploadImage.test.js +36 -0
  44. package/src/services/tests/FileService/uploadMultipleFiles.test.js +111 -0
  45. package/src/services/tests/FileService/validateFile.test.js +63 -0
  46. package/src/services/tests/PlanService/getActivePlans.test.js +0 -2
  47. package/src/services/tests/PlanService/getPlanByKey.test.js +109 -0
  48. package/src/services/tests/PlanService/getPlansByPriceRange.test.js +109 -0
  49. package/src/utils/services.js +29 -1
@@ -204,7 +204,7 @@ class PullRequestService extends import_BaseService.BaseService {
204
204
  throw new Error(response.message);
205
205
  } catch (error) {
206
206
  if (error.message.includes("conflicts") || error.message.includes("409")) {
207
- throw new Error(`Pull request has merge conflicts: ${error.message}`);
207
+ throw new Error(`Pull request has merge conflicts: ${error.message}`, { cause: error });
208
208
  }
209
209
  throw new Error(`Failed to merge pull request: ${error.message}`, { cause: error });
210
210
  }
@@ -321,7 +321,8 @@ class PullRequestService extends import_BaseService.BaseService {
321
321
  return ((_a = prData == null ? void 0 : prData.data) == null ? void 0 : _a.canMerge) || false;
322
322
  } catch (error) {
323
323
  throw new Error(
324
- `Failed to check pull request mergeability: ${error.message}`
324
+ `Failed to check pull request mergeability: ${error.message}`,
325
+ { cause: error }
325
326
  );
326
327
  }
327
328
  }
@@ -347,7 +348,8 @@ class PullRequestService extends import_BaseService.BaseService {
347
348
  };
348
349
  } catch (error) {
349
350
  throw new Error(
350
- `Failed to get pull request status summary: ${error.message}`
351
+ `Failed to get pull request status summary: ${error.message}`,
352
+ { cause: error }
351
353
  );
352
354
  }
353
355
  }
@@ -441,7 +443,7 @@ class PullRequestService extends import_BaseService.BaseService {
441
443
  });
442
444
  return stats;
443
445
  } catch (error) {
444
- throw new Error(`Failed to get pull request stats: ${error.message}`);
446
+ throw new Error(`Failed to get pull request stats: ${error.message}`, { cause: error });
445
447
  }
446
448
  }
447
449
  /**
@@ -468,7 +470,7 @@ class PullRequestService extends import_BaseService.BaseService {
468
470
  }
469
471
  throw new Error(response.message);
470
472
  } catch (error) {
471
- throw new Error(`Failed to close pull request: ${error.message}`);
473
+ throw new Error(`Failed to close pull request: ${error.message}`, { cause: error });
472
474
  }
473
475
  }
474
476
  /**
@@ -495,7 +497,7 @@ class PullRequestService extends import_BaseService.BaseService {
495
497
  }
496
498
  throw new Error(response.message);
497
499
  } catch (error) {
498
- throw new Error(`Failed to reopen pull request: ${error.message}`);
500
+ throw new Error(`Failed to reopen pull request: ${error.message}`, { cause: error });
499
501
  }
500
502
  }
501
503
  }
@@ -0,0 +1,148 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var WaitlistService_exports = {};
19
+ __export(WaitlistService_exports, {
20
+ WaitlistService: () => WaitlistService
21
+ });
22
+ module.exports = __toCommonJS(WaitlistService_exports);
23
+ var import_BaseService = require("./BaseService.js");
24
+ class WaitlistService extends import_BaseService.BaseService {
25
+ // ==================== WAITLIST METHODS ====================
26
+ /**
27
+ * Join a waitlist campaign (public).
28
+ *
29
+ * Mirrors: POST /waitlist (WaitlistController.join)
30
+ */
31
+ async joinWaitlist(data = {}) {
32
+ this._requireReady("joinWaitlist");
33
+ if (!data || typeof data !== "object") {
34
+ throw new Error("Waitlist join payload is required");
35
+ }
36
+ if (!data.email) {
37
+ throw new Error("Email is required");
38
+ }
39
+ try {
40
+ const response = await this._request("/waitlist", {
41
+ method: "POST",
42
+ body: JSON.stringify(data),
43
+ methodName: "joinWaitlist"
44
+ });
45
+ if (response.success) {
46
+ return response.data;
47
+ }
48
+ throw new Error(response.message);
49
+ } catch (error) {
50
+ throw new Error(`Failed to join waitlist: ${error.message}`, { cause: error });
51
+ }
52
+ }
53
+ /**
54
+ * List waitlist entries (admin).
55
+ *
56
+ * Mirrors: GET /waitlist (WaitlistController.list)
57
+ */
58
+ async listWaitlistEntries(options = {}) {
59
+ this._requireReady("listWaitlistEntries");
60
+ const {
61
+ campaignKey,
62
+ status,
63
+ search,
64
+ page,
65
+ limit
66
+ } = options || {};
67
+ const queryParams = new URLSearchParams();
68
+ if (campaignKey != null) {
69
+ queryParams.append("campaignKey", String(campaignKey));
70
+ }
71
+ if (status != null) {
72
+ queryParams.append("status", String(status));
73
+ }
74
+ if (search != null) {
75
+ queryParams.append("search", String(search));
76
+ }
77
+ if (page != null) {
78
+ queryParams.append("page", String(page));
79
+ }
80
+ if (limit != null) {
81
+ queryParams.append("limit", String(limit));
82
+ }
83
+ const queryString = queryParams.toString();
84
+ const url = `/waitlist${queryString ? `?${queryString}` : ""}`;
85
+ try {
86
+ const response = await this._request(url, {
87
+ method: "GET",
88
+ methodName: "listWaitlistEntries"
89
+ });
90
+ if (response.success) {
91
+ return response.data;
92
+ }
93
+ throw new Error(response.message);
94
+ } catch (error) {
95
+ throw new Error(`Failed to list waitlist entries: ${error.message}`, { cause: error });
96
+ }
97
+ }
98
+ /**
99
+ * Update a waitlist entry (admin).
100
+ *
101
+ * Mirrors: PATCH /waitlist/:id (WaitlistController.update)
102
+ */
103
+ async updateWaitlistEntry(id, update = {}) {
104
+ this._requireReady("updateWaitlistEntry");
105
+ if (!id) {
106
+ throw new Error("Waitlist entry ID is required");
107
+ }
108
+ if (!update || typeof update !== "object") {
109
+ throw new Error("Update payload is required");
110
+ }
111
+ try {
112
+ const response = await this._request(`/waitlist/${id}`, {
113
+ method: "PATCH",
114
+ body: JSON.stringify(update),
115
+ methodName: "updateWaitlistEntry"
116
+ });
117
+ if (response.success) {
118
+ return response.data;
119
+ }
120
+ throw new Error(response.message);
121
+ } catch (error) {
122
+ throw new Error(`Failed to update waitlist entry: ${error.message}`, { cause: error });
123
+ }
124
+ }
125
+ /**
126
+ * Send an invitation email for a waitlist entry (admin).
127
+ *
128
+ * Mirrors: POST /waitlist/:id/invite (WaitlistController.invite)
129
+ */
130
+ async inviteWaitlistEntry(id) {
131
+ this._requireReady("inviteWaitlistEntry");
132
+ if (!id) {
133
+ throw new Error("Waitlist entry ID is required");
134
+ }
135
+ try {
136
+ const response = await this._request(`/waitlist/${id}/invite`, {
137
+ method: "POST",
138
+ methodName: "inviteWaitlistEntry"
139
+ });
140
+ if (response.success) {
141
+ return response.data;
142
+ }
143
+ throw new Error(response.message);
144
+ } catch (error) {
145
+ throw new Error(`Failed to invite waitlist entry: ${error.message}`, { cause: error });
146
+ }
147
+ }
148
+ }
@@ -23,6 +23,8 @@ __export(services_exports, {
23
23
  CollabService: () => import_CollabService.CollabService,
24
24
  DnsService: () => import_DnsService.DnsService,
25
25
  FileService: () => import_FileService.FileService,
26
+ IntegrationService: () => import_IntegrationService.IntegrationService,
27
+ MetricsService: () => import_MetricsService.MetricsService,
26
28
  PaymentService: () => import_PaymentService.PaymentService,
27
29
  PlanService: () => import_PlanService.PlanService,
28
30
  ProjectService: () => import_ProjectService.ProjectService,
@@ -30,19 +32,23 @@ __export(services_exports, {
30
32
  ScreenshotService: () => import_ScreenshotService.ScreenshotService,
31
33
  SubscriptionService: () => import_SubscriptionService.SubscriptionService,
32
34
  TrackingService: () => import_TrackingService.TrackingService,
35
+ WaitlistService: () => import_WaitlistService.WaitlistService,
33
36
  createAdminService: () => createAdminService,
34
37
  createAuthService: () => createAuthService,
35
38
  createBranchService: () => createBranchService,
36
39
  createCollabService: () => createCollabService,
37
40
  createDnsService: () => createDnsService,
38
41
  createFileService: () => createFileService,
42
+ createIntegrationService: () => createIntegrationService,
43
+ createMetricsService: () => createMetricsService,
39
44
  createPaymentService: () => createPaymentService,
40
45
  createPlanService: () => createPlanService,
41
46
  createProjectService: () => createProjectService,
42
47
  createPullRequestService: () => createPullRequestService,
43
48
  createScreenshotService: () => createScreenshotService,
44
49
  createSubscriptionService: () => createSubscriptionService,
45
- createTrackingService: () => createTrackingService
50
+ createTrackingService: () => createTrackingService,
51
+ createWaitlistService: () => createWaitlistService
46
52
  });
47
53
  module.exports = __toCommonJS(services_exports);
48
54
  var import_AuthService = require("./AuthService.js");
@@ -58,6 +64,9 @@ var import_PullRequestService = require("./PullRequestService.js");
58
64
  var import_AdminService = require("./AdminService.js");
59
65
  var import_ScreenshotService = require("./ScreenshotService.js");
60
66
  var import_TrackingService = require("./TrackingService.js");
67
+ var import_WaitlistService = require("./WaitlistService.js");
68
+ var import_MetricsService = require("./MetricsService.js");
69
+ var import_IntegrationService = require("./IntegrationService.js");
61
70
  const createService = (ServiceClass, config) => new ServiceClass(config);
62
71
  const createAuthService = (config) => createService(import_AuthService.AuthService, config);
63
72
  const createCollabService = (config) => createService(import_CollabService.CollabService, config);
@@ -72,3 +81,6 @@ const createPullRequestService = (config) => createService(import_PullRequestSer
72
81
  const createAdminService = (config) => createService(import_AdminService.AdminService, config);
73
82
  const createScreenshotService = (config) => createService(import_ScreenshotService.ScreenshotService, config);
74
83
  const createTrackingService = (config) => createService(import_TrackingService.TrackingService, config);
84
+ const createWaitlistService = (config) => createService(import_WaitlistService.WaitlistService, config);
85
+ const createMetricsService = (config) => createService(import_MetricsService.MetricsService, config);
86
+ const createIntegrationService = (config) => createService(import_IntegrationService.IntegrationService, config);
@@ -294,5 +294,30 @@ const SERVICE_METHODS = {
294
294
  flushQueue: "tracking",
295
295
  getClient: "tracking",
296
296
  isEnabled: "tracking",
297
- isInitialized: "tracking"
297
+ isInitialized: "tracking",
298
+ // Waitlist methods
299
+ joinWaitlist: "waitlist",
300
+ listWaitlistEntries: "waitlist",
301
+ updateWaitlistEntry: "waitlist",
302
+ inviteWaitlistEntry: "waitlist",
303
+ // Metrics methods
304
+ getContributions: "metrics",
305
+ // Integration methods
306
+ integrationWhoami: "integration",
307
+ listIntegrations: "integration",
308
+ createIntegration: "integration",
309
+ updateIntegration: "integration",
310
+ createIntegrationApiKey: "integration",
311
+ listIntegrationApiKeys: "integration",
312
+ revokeIntegrationApiKey: "integration",
313
+ createIntegrationWebhook: "integration",
314
+ listIntegrationWebhooks: "integration",
315
+ updateIntegrationWebhook: "integration",
316
+ deleteIntegrationWebhook: "integration",
317
+ listIntegrationWebhookDeliveries: "integration",
318
+ replayIntegrationWebhookDelivery: "integration",
319
+ listGitHubConnectors: "integration",
320
+ createGitHubConnector: "integration",
321
+ updateGitHubConnector: "integration",
322
+ deleteGitHubConnector: "integration"
298
323
  };