@symbo.ls/sdk 3.2.3 → 3.2.6

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 (183) hide show
  1. package/README.md +141 -0
  2. package/dist/cjs/config/environment.js +94 -10
  3. package/dist/cjs/index.js +152 -12
  4. package/dist/cjs/services/AdminService.js +351 -0
  5. package/dist/cjs/services/AuthService.js +738 -305
  6. package/dist/cjs/services/BaseService.js +158 -6
  7. package/dist/cjs/services/BranchService.js +484 -0
  8. package/dist/cjs/services/CollabService.js +439 -116
  9. package/dist/cjs/services/DnsService.js +340 -0
  10. package/dist/cjs/services/FeatureFlagService.js +175 -0
  11. package/dist/cjs/services/FileService.js +201 -0
  12. package/dist/cjs/services/IntegrationService.js +538 -0
  13. package/dist/cjs/services/MetricsService.js +62 -0
  14. package/dist/cjs/services/PaymentService.js +271 -0
  15. package/dist/cjs/services/PlanService.js +426 -0
  16. package/dist/cjs/services/ProjectService.js +1207 -0
  17. package/dist/cjs/services/PullRequestService.js +503 -0
  18. package/dist/cjs/services/ScreenshotService.js +304 -0
  19. package/dist/cjs/services/SubscriptionService.js +396 -0
  20. package/dist/cjs/services/TrackingService.js +661 -0
  21. package/dist/cjs/services/WaitlistService.js +148 -0
  22. package/dist/cjs/services/index.js +60 -4
  23. package/dist/cjs/state/RootStateManager.js +2 -23
  24. package/dist/cjs/state/rootEventBus.js +9 -0
  25. package/dist/cjs/utils/CollabClient.js +78 -12
  26. package/dist/cjs/utils/TokenManager.js +16 -3
  27. package/dist/cjs/utils/changePreprocessor.js +199 -0
  28. package/dist/cjs/utils/jsonDiff.js +46 -4
  29. package/dist/cjs/utils/ordering.js +309 -0
  30. package/dist/cjs/utils/services.js +285 -128
  31. package/dist/cjs/utils/validation.js +0 -3
  32. package/dist/esm/config/environment.js +94 -10
  33. package/dist/esm/index.js +47862 -18248
  34. package/dist/esm/services/AdminService.js +1132 -0
  35. package/dist/esm/services/AuthService.js +1493 -386
  36. package/dist/esm/services/BaseService.js +757 -6
  37. package/dist/esm/services/BranchService.js +1265 -0
  38. package/dist/esm/services/CollabService.js +24956 -16089
  39. package/dist/esm/services/DnsService.js +1121 -0
  40. package/dist/esm/services/FeatureFlagService.js +956 -0
  41. package/dist/esm/services/FileService.js +982 -0
  42. package/dist/esm/services/IntegrationService.js +1319 -0
  43. package/dist/esm/services/MetricsService.js +843 -0
  44. package/dist/esm/services/PaymentService.js +1052 -0
  45. package/dist/esm/services/PlanService.js +1207 -0
  46. package/dist/esm/services/ProjectService.js +2526 -0
  47. package/dist/esm/services/PullRequestService.js +1284 -0
  48. package/dist/esm/services/ScreenshotService.js +1085 -0
  49. package/dist/esm/services/SubscriptionService.js +1177 -0
  50. package/dist/esm/services/TrackingService.js +18454 -0
  51. package/dist/esm/services/WaitlistService.js +929 -0
  52. package/dist/esm/services/index.js +47373 -18027
  53. package/dist/esm/state/RootStateManager.js +11 -23
  54. package/dist/esm/state/rootEventBus.js +9 -0
  55. package/dist/esm/utils/CollabClient.js +17526 -16120
  56. package/dist/esm/utils/TokenManager.js +16 -3
  57. package/dist/esm/utils/changePreprocessor.js +542 -0
  58. package/dist/esm/utils/jsonDiff.js +958 -43
  59. package/dist/esm/utils/ordering.js +291 -0
  60. package/dist/esm/utils/services.js +285 -128
  61. package/dist/esm/utils/validation.js +116 -50
  62. package/dist/node/config/environment.js +94 -10
  63. package/dist/node/index.js +183 -16
  64. package/dist/node/services/AdminService.js +332 -0
  65. package/dist/node/services/AuthService.js +742 -310
  66. package/dist/node/services/BaseService.js +148 -6
  67. package/dist/node/services/BranchService.js +465 -0
  68. package/dist/node/services/CollabService.js +439 -116
  69. package/dist/node/services/DnsService.js +321 -0
  70. package/dist/node/services/FeatureFlagService.js +156 -0
  71. package/dist/node/services/FileService.js +182 -0
  72. package/dist/node/services/IntegrationService.js +519 -0
  73. package/dist/node/services/MetricsService.js +43 -0
  74. package/dist/node/services/PaymentService.js +252 -0
  75. package/dist/node/services/PlanService.js +407 -0
  76. package/dist/node/services/ProjectService.js +1188 -0
  77. package/dist/node/services/PullRequestService.js +484 -0
  78. package/dist/node/services/ScreenshotService.js +285 -0
  79. package/dist/node/services/SubscriptionService.js +377 -0
  80. package/dist/node/services/TrackingService.js +632 -0
  81. package/dist/node/services/WaitlistService.js +129 -0
  82. package/dist/node/services/index.js +60 -4
  83. package/dist/node/state/RootStateManager.js +2 -23
  84. package/dist/node/state/rootEventBus.js +9 -0
  85. package/dist/node/utils/CollabClient.js +77 -11
  86. package/dist/node/utils/TokenManager.js +16 -3
  87. package/dist/node/utils/changePreprocessor.js +180 -0
  88. package/dist/node/utils/jsonDiff.js +46 -4
  89. package/dist/node/utils/ordering.js +290 -0
  90. package/dist/node/utils/services.js +285 -128
  91. package/dist/node/utils/validation.js +0 -3
  92. package/package.json +30 -18
  93. package/src/config/environment.js +95 -10
  94. package/src/index.js +190 -23
  95. package/src/services/AdminService.js +374 -0
  96. package/src/services/AuthService.js +874 -328
  97. package/src/services/BaseService.js +166 -6
  98. package/src/services/BranchService.js +536 -0
  99. package/src/services/CollabService.js +557 -148
  100. package/src/services/DnsService.js +366 -0
  101. package/src/services/FeatureFlagService.js +174 -0
  102. package/src/services/FileService.js +213 -0
  103. package/src/services/IntegrationService.js +548 -0
  104. package/src/services/MetricsService.js +40 -0
  105. package/src/services/PaymentService.js +287 -0
  106. package/src/services/PlanService.js +468 -0
  107. package/src/services/ProjectService.js +1366 -0
  108. package/src/services/PullRequestService.js +537 -0
  109. package/src/services/ScreenshotService.js +258 -0
  110. package/src/services/SubscriptionService.js +425 -0
  111. package/src/services/TrackingService.js +853 -0
  112. package/src/services/WaitlistService.js +130 -0
  113. package/src/services/index.js +79 -5
  114. package/src/services/tests/BranchService/createBranch.test.js +153 -0
  115. package/src/services/tests/BranchService/deleteBranch.test.js +173 -0
  116. package/src/services/tests/BranchService/getBranchChanges.test.js +146 -0
  117. package/src/services/tests/BranchService/listBranches.test.js +87 -0
  118. package/src/services/tests/BranchService/mergeBranch.test.js +210 -0
  119. package/src/services/tests/BranchService/publishVersion.test.js +183 -0
  120. package/src/services/tests/BranchService/renameBranch.test.js +240 -0
  121. package/src/services/tests/BranchService/resetBranch.test.js +152 -0
  122. package/src/services/tests/FeatureFlagService/adminFeatureFlags.test.js +67 -0
  123. package/src/services/tests/FeatureFlagService/getFeatureFlags.test.js +75 -0
  124. package/src/services/tests/FileService/createFileFormData.test.js +74 -0
  125. package/src/services/tests/FileService/getFileUrl.test.js +69 -0
  126. package/src/services/tests/FileService/updateProjectIcon.test.js +109 -0
  127. package/src/services/tests/FileService/uploadDocument.test.js +36 -0
  128. package/src/services/tests/FileService/uploadFile.test.js +78 -0
  129. package/src/services/tests/FileService/uploadFileWithValidation.test.js +114 -0
  130. package/src/services/tests/FileService/uploadImage.test.js +36 -0
  131. package/src/services/tests/FileService/uploadMultipleFiles.test.js +111 -0
  132. package/src/services/tests/FileService/validateFile.test.js +63 -0
  133. package/src/services/tests/PlanService/createPlan.test.js +104 -0
  134. package/src/services/tests/PlanService/createPlanWithValidation.test.js +523 -0
  135. package/src/services/tests/PlanService/deletePlan.test.js +92 -0
  136. package/src/services/tests/PlanService/getActivePlans.test.js +123 -0
  137. package/src/services/tests/PlanService/getAdminPlans.test.js +84 -0
  138. package/src/services/tests/PlanService/getPlan.test.js +50 -0
  139. package/src/services/tests/PlanService/getPlanByKey.test.js +109 -0
  140. package/src/services/tests/PlanService/getPlanWithValidation.test.js +85 -0
  141. package/src/services/tests/PlanService/getPlans.test.js +53 -0
  142. package/src/services/tests/PlanService/getPlansByPriceRange.test.js +109 -0
  143. package/src/services/tests/PlanService/getPlansWithValidation.test.js +48 -0
  144. package/src/services/tests/PlanService/initializePlans.test.js +75 -0
  145. package/src/services/tests/PlanService/updatePlan.test.js +111 -0
  146. package/src/services/tests/PlanService/updatePlanWithValidation.test.js +556 -0
  147. package/src/state/RootStateManager.js +37 -32
  148. package/src/state/rootEventBus.js +19 -0
  149. package/src/utils/CollabClient.js +99 -12
  150. package/src/utils/TokenManager.js +20 -3
  151. package/src/utils/changePreprocessor.js +239 -0
  152. package/src/utils/jsonDiff.js +40 -5
  153. package/src/utils/ordering.js +271 -0
  154. package/src/utils/services.js +306 -139
  155. package/src/utils/validation.js +0 -3
  156. package/dist/cjs/services/AIService.js +0 -155
  157. package/dist/cjs/services/BasedService.js +0 -1185
  158. package/dist/cjs/services/CoreService.js +0 -2295
  159. package/dist/cjs/services/SocketService.js +0 -309
  160. package/dist/cjs/services/SymstoryService.js +0 -571
  161. package/dist/cjs/utils/basedQuerys.js +0 -181
  162. package/dist/cjs/utils/symstoryClient.js +0 -259
  163. package/dist/esm/services/AIService.js +0 -185
  164. package/dist/esm/services/BasedService.js +0 -5262
  165. package/dist/esm/services/CoreService.js +0 -2827
  166. package/dist/esm/services/SocketService.js +0 -456
  167. package/dist/esm/services/SymstoryService.js +0 -7025
  168. package/dist/esm/utils/basedQuerys.js +0 -163
  169. package/dist/esm/utils/symstoryClient.js +0 -354
  170. package/dist/node/services/AIService.js +0 -136
  171. package/dist/node/services/BasedService.js +0 -1156
  172. package/dist/node/services/CoreService.js +0 -2266
  173. package/dist/node/services/SocketService.js +0 -280
  174. package/dist/node/services/SymstoryService.js +0 -542
  175. package/dist/node/utils/basedQuerys.js +0 -162
  176. package/dist/node/utils/symstoryClient.js +0 -230
  177. package/src/services/AIService.js +0 -150
  178. package/src/services/BasedService.js +0 -1302
  179. package/src/services/CoreService.js +0 -2548
  180. package/src/services/SocketService.js +0 -336
  181. package/src/services/SymstoryService.js +0 -649
  182. package/src/utils/basedQuerys.js +0 -164
  183. package/src/utils/symstoryClient.js +0 -252
@@ -1,24 +1,6 @@
1
1
  export const SERVICE_METHODS = {
2
- // Auth service methods (legacy - keeping for backward compatibility)
3
- auth: 'auth',
4
- login: 'auth',
5
- register: 'auth',
6
- googleAuth: 'auth',
7
- googleAuthCallback: 'auth',
8
- githubAuth: 'auth',
9
- confirmRegistration: 'auth',
10
- logout: 'auth',
11
- updateUserRole: 'auth',
12
2
  hasPermission: 'auth',
13
3
  hasGlobalPermission: 'auth',
14
- getProjectMembers: 'auth',
15
- inviteMember: 'auth',
16
- acceptInvite: 'auth',
17
- updateMemberRole: 'auth',
18
- removeMember: 'auth',
19
- updateProjectTier: 'auth',
20
- subscribeToAuthChanges: 'auth',
21
- getStoredAuthState: 'core',
22
4
 
23
5
  // Collab service methods
24
6
  connect: 'collab',
@@ -40,127 +22,312 @@ export const SERVICE_METHODS = {
40
22
 
41
23
  // Core service methods (new - replaces most based/auth functionality)
42
24
  // Auth methods
43
- register: 'core',
44
- login: 'core',
45
- logout: 'core',
46
- refreshToken: 'core',
47
- googleAuth: 'core',
48
- googleAuthCallback: 'core',
49
- githubAuth: 'core',
50
- requestPasswordReset: 'core',
51
- confirmPasswordReset: 'core',
52
- confirmRegistration: 'core',
53
- requestPasswordChange: 'core',
54
- confirmPasswordChange: 'core',
55
- getMe: 'core',
25
+ getStoredAuthState: 'auth',
26
+ getAuthToken: 'auth',
27
+ register: 'auth',
28
+ login: 'auth',
29
+ logout: 'auth',
30
+ refreshToken: 'auth',
31
+ googleAuth: 'auth',
32
+ googleAuthCallback: 'auth',
33
+ githubAuth: 'auth',
34
+ requestPasswordReset: 'auth',
35
+ confirmPasswordReset: 'auth',
36
+ confirmRegistration: 'auth',
37
+ requestPasswordChange: 'auth',
38
+ confirmPasswordChange: 'auth',
39
+ getMe: 'auth',
40
+ getTokenDebugInfo: 'auth',
41
+
42
+ getMyProjectRoleByKey: 'auth',
43
+ getProjectRoleWithFallback: 'auth',
44
+ getProjectRoleByKeyWithFallback: 'auth',
56
45
 
57
46
  // User methods
58
- getUserProfile: 'core',
59
- updateUserProfile: 'core',
60
- getUserProjects: 'core',
61
- getUser: 'core',
62
- getUserByEmail: 'core',
63
-
64
- // Project methods
65
- createProject: 'core',
66
- getProjects: 'core',
67
- getProject: 'core',
68
- getProjectByKey: 'core',
69
- getPublicProject: 'core',
70
- listPublicProjects: 'core',
71
- listProjects: 'core',
72
- updateProject: 'core',
73
- updateProjectComponents: 'core',
74
- updateProjectSettings: 'core',
75
- updateProjectName: 'core',
76
- updateProjectPackage: 'core',
77
- duplicateProject: 'core',
78
- removeProject: 'core',
79
- checkProjectKeyAvailability: 'core',
80
-
81
- // Project member methods
82
- getProjectMembers: 'core',
83
- inviteMember: 'core',
84
- acceptInvite: 'core',
85
- updateMemberRole: 'core',
86
- removeMember: 'core',
87
-
88
- // Project library methods
89
- getAvailableLibraries: 'core',
90
- getProjectLibraries: 'core',
91
- addProjectLibraries: 'core',
92
- removeProjectLibraries: 'core',
93
-
94
- // File methods
95
- uploadFile: 'core',
96
- updateProjectIcon: 'core',
97
-
98
- // Payment methods
99
- checkout: 'core',
100
- getSubscriptionStatus: 'core',
101
-
102
- // DNS methods
103
- createDnsRecord: 'core',
104
- getDnsRecord: 'core',
105
- removeDnsRecord: 'core',
106
- setProjectDomains: 'core',
107
-
108
- // Utility methods
109
- getHealthStatus: 'core',
110
- getTokenDebugInfo: 'core',
111
-
112
- // Project Data methods (Symstory replacement)
113
- applyProjectChanges: 'core',
114
- getProjectData: 'core',
115
- getProjectVersions: 'core',
116
- restoreProjectVersion: 'core',
117
- updateProjectItem: 'core',
118
- deleteProjectItem: 'core',
119
- setProjectValue: 'core',
120
- addProjectItems: 'core',
121
- getProjectItemByPath: 'core',
122
-
123
- // Pull Request methods
124
- createPullRequest: 'core',
125
- listPullRequests: 'core',
126
- getPullRequest: 'core',
127
- reviewPullRequest: 'core',
128
- addPullRequestComment: 'core',
129
- mergePullRequest: 'core',
130
- getPullRequestDiff: 'core',
131
- createPullRequestWithValidation: 'core',
132
- approvePullRequest: 'core',
133
- requestPullRequestChanges: 'core',
134
- getOpenPullRequests: 'core',
135
- getClosedPullRequests: 'core',
136
- getMergedPullRequests: 'core',
137
- isPullRequestMergeable: 'core',
138
- getPullRequestStatusSummary: 'core',
139
-
140
- // Branch Management methods
141
- listBranches: 'core',
142
- createBranch: 'core',
143
- deleteBranch: 'core',
144
- renameBranch: 'core',
145
- getBranchChanges: 'core',
146
- mergeBranch: 'core',
147
- resetBranch: 'core',
148
- publishVersion: 'core',
149
- createBranchWithValidation: 'core',
150
- branchExists: 'core',
151
- previewMerge: 'core',
152
- commitMerge: 'core',
153
- createFeatureBranch: 'core',
154
- createHotfixBranch: 'core',
155
- getBranchStatus: 'core',
156
- deleteBranchSafely: 'core',
157
-
158
- // Admin methods
159
- getAdminUsers: 'core',
160
- assignProjectsToUser: 'core',
161
- searchAdminUsers: 'core',
162
- getAdminUsersByEmails: 'core',
163
- getAdminUsersByIds: 'core',
164
- assignSpecificProjectsToUser: 'core',
165
- assignAllProjectsToUser: 'core'
47
+ getUserProfile: 'auth',
48
+ updateUserProfile: 'auth',
49
+ getUserProjects: 'auth',
50
+ getUser: 'auth',
51
+ getUserByEmail: 'auth',
52
+
53
+ // Project methods (moved to project service)
54
+ createProject: 'project',
55
+ getProjects: 'project',
56
+ getProject: 'project',
57
+ getProjectByKey: 'project',
58
+ getProjectDataByKey: 'project',
59
+ getPublicProject: 'project',
60
+ listPublicProjects: 'project',
61
+ listProjects: 'project',
62
+ updateProject: 'project',
63
+ updateProjectComponents: 'project',
64
+ updateProjectSettings: 'project',
65
+ updateProjectName: 'project',
66
+ updateProjectPackage: 'project',
67
+ duplicateProject: 'project',
68
+ removeProject: 'project',
69
+ checkProjectKeyAvailability: 'project',
70
+ getProjectRolePermissionsConfig: 'project',
71
+ updateProjectRolePermissionsConfig: 'project',
72
+ listEnvironments: 'project',
73
+ activateMultipleEnvironments: 'project',
74
+ upsertEnvironment: 'project',
75
+ updateEnvironment: 'project',
76
+ publishToEnvironment: 'project',
77
+ deleteEnvironment: 'project',
78
+ promoteEnvironment: 'project',
79
+
80
+ // Project member methods (moved to project service)
81
+ getProjectMembers: 'project',
82
+ inviteMember: 'project',
83
+ acceptInvite: 'project',
84
+ createMagicInviteLink: 'project',
85
+ updateMemberRole: 'project',
86
+ removeMember: 'project',
87
+
88
+ // Project library methods (moved to project service)
89
+ getAvailableLibraries: 'project',
90
+ getProjectLibraries: 'project',
91
+ addProjectLibraries: 'project',
92
+ removeProjectLibraries: 'project',
93
+
94
+ // Project data methods (moved to project service)
95
+ applyProjectChanges: 'project',
96
+ getProjectData: 'project',
97
+ getProjectVersions: 'project',
98
+ restoreProjectVersion: 'project',
99
+ updateProjectItem: 'project',
100
+ deleteProjectItem: 'project',
101
+ setProjectValue: 'project',
102
+ addProjectItems: 'project',
103
+ getProjectItemByPath: 'project',
104
+ setProjectAccess: 'project',
105
+ setProjectVisibility: 'project',
106
+
107
+ // Favorite project methods (moved to project service)
108
+ getFavoriteProjects: 'project',
109
+ addFavoriteProject: 'project',
110
+ removeFavoriteProject: 'project',
111
+
112
+ // Recent project methods (moved to project service)
113
+ getRecentProjects: 'project',
114
+
115
+ // Plan methods (moved to plan service)
116
+ getPlans: 'plan',
117
+ getPlan: 'plan',
118
+ getAdminPlans: 'plan',
119
+ createPlan: 'plan',
120
+ updatePlan: 'plan',
121
+ deletePlan: 'plan',
122
+ initializePlans: 'plan',
123
+ getPlansWithValidation: 'plan',
124
+ getPlanWithValidation: 'plan',
125
+ createPlanWithValidation: 'plan',
126
+ updatePlanWithValidation: 'plan',
127
+ getActivePlans: 'plan',
128
+ getPlansByPriceRange: 'plan',
129
+ getPlanByKey: 'plan',
130
+ getPlansWithPricing: 'plan',
131
+
132
+ // Subscription methods (moved to subscription service)
133
+ createSubscription: 'subscription',
134
+ getProjectStatus: 'subscription',
135
+ getUsage: 'subscription',
136
+ cancelSubscription: 'subscription',
137
+ listInvoices: 'subscription',
138
+ getPortalUrl: 'subscription',
139
+ createSubscriptionWithValidation: 'subscription',
140
+ hasActiveSubscription: 'subscription',
141
+ getProjectSubscription: 'subscription',
142
+ getProjectUsage: 'subscription',
143
+ getInvoicesWithPagination: 'subscription',
144
+ isSubscriptionActive: 'subscription',
145
+ getSubscriptionLimits: 'subscription',
146
+ changeSubscription: 'subscription',
147
+ downgrade: 'subscription',
148
+ changeSubscriptionWithValidation: 'subscription',
149
+ downgradeWithValidation: 'subscription',
150
+
151
+ // File methods (moved to file service)
152
+ uploadFile: 'file',
153
+ updateProjectIcon: 'file',
154
+ uploadFileWithValidation: 'file',
155
+ uploadImage: 'file',
156
+ uploadDocument: 'file',
157
+ getFileUrl: 'file',
158
+ validateFile: 'file',
159
+ createFileFormData: 'file',
160
+ uploadMultipleFiles: 'file',
161
+
162
+ // Payment methods (Use subscription service instead)
163
+ checkout: 'payment',
164
+ getSubscriptionStatus: 'payment',
165
+ checkoutWithValidation: 'payment',
166
+ getSubscriptionStatusWithValidation: 'payment',
167
+ getSubscriptionDetails: 'payment',
168
+ checkoutForPlan: 'payment',
169
+ checkoutForTeam: 'payment',
170
+ validateSubscriptionStatus: 'payment',
171
+ formatSubscriptionAmount: 'payment',
172
+ getSubscriptionSummary: 'payment',
173
+
174
+ // DNS methods (moved to dns service)
175
+ createDnsRecord: 'dns',
176
+ getDnsRecord: 'dns',
177
+ removeDnsRecord: 'dns',
178
+ getCustomHost: 'dns',
179
+ addProjectCustomDomains: 'dns',
180
+ validateDomain: 'dns',
181
+ createDnsRecordWithValidation: 'dns',
182
+ getDnsRecordWithValidation: 'dns',
183
+ removeDnsRecordWithValidation: 'dns',
184
+ addProjectCustomDomainsWithValidation: 'dns',
185
+ isDomainAvailable: 'dns',
186
+ getDomainStatus: 'dns',
187
+ verifyDomainOwnership: 'dns',
188
+ getProjectDomains: 'dns',
189
+ removeProjectCustomDomain: 'dns',
190
+ formatDomain: 'dns',
191
+ extractDomainFromUrl: 'dns',
192
+
193
+ // Branch Management methods (moved to branch service)
194
+ listBranches: 'branch',
195
+ createBranch: 'branch',
196
+ deleteBranch: 'branch',
197
+ renameBranch: 'branch',
198
+ getBranchChanges: 'branch',
199
+ mergeBranch: 'branch',
200
+ resetBranch: 'branch',
201
+ publishVersion: 'branch',
202
+ createBranchWithValidation: 'branch',
203
+ branchExists: 'branch',
204
+ previewMerge: 'branch',
205
+ commitMerge: 'branch',
206
+ createFeatureBranch: 'branch',
207
+ createHotfixBranch: 'branch',
208
+ getBranchStatus: 'branch',
209
+ deleteBranchSafely: 'branch',
210
+ getBranchesWithStatus: 'branch',
211
+ validateBranchName: 'branch',
212
+ sanitizeBranchName: 'branch',
213
+
214
+ // Pull Request methods (moved to pullRequest service)
215
+ createPullRequest: 'pullRequest',
216
+ listPullRequests: 'pullRequest',
217
+ getPullRequest: 'pullRequest',
218
+ reviewPullRequest: 'pullRequest',
219
+ addPullRequestComment: 'pullRequest',
220
+ mergePullRequest: 'pullRequest',
221
+ getPullRequestDiff: 'pullRequest',
222
+ createPullRequestWithValidation: 'pullRequest',
223
+ approvePullRequest: 'pullRequest',
224
+ requestPullRequestChanges: 'pullRequest',
225
+ getOpenPullRequests: 'pullRequest',
226
+ getClosedPullRequests: 'pullRequest',
227
+ getMergedPullRequests: 'pullRequest',
228
+ isPullRequestMergeable: 'pullRequest',
229
+ getPullRequestStatusSummary: 'pullRequest',
230
+ validatePullRequestData: 'pullRequest',
231
+ validateReviewData: 'pullRequest',
232
+ getPullRequestStats: 'pullRequest',
233
+ closePullRequest: 'pullRequest',
234
+ reopenPullRequest: 'pullRequest',
235
+
236
+ // Admin methods (moved to admin service)
237
+ getAdminUsers: 'admin',
238
+ assignProjectsToUser: 'admin',
239
+ updateUser: 'admin',
240
+ searchAdminUsers: 'admin',
241
+ getAdminUsersByEmails: 'admin',
242
+ getAdminUsersByIds: 'admin',
243
+ assignSpecificProjectsToUser: 'admin',
244
+ assignAllProjectsToUser: 'admin',
245
+ validateUserData: 'admin',
246
+ updateUserWithValidation: 'admin',
247
+ getUserStats: 'admin',
248
+ bulkUpdateUsers: 'admin',
249
+ getUsersByRole: 'admin',
250
+ getUsersByStatus: 'admin',
251
+ activateUser: 'admin',
252
+ deactivateUser: 'admin',
253
+ suspendUser: 'admin',
254
+ promoteToAdmin: 'admin',
255
+ demoteFromAdmin: 'admin',
256
+
257
+ // Screenshot methods
258
+ createScreenshotProject: 'screenshot',
259
+ getProjectScreenshots: 'screenshot',
260
+ reprocessProjectScreenshots: 'screenshot',
261
+ recreateProjectScreenshots: 'screenshot',
262
+ deleteProjectScreenshots: 'screenshot',
263
+ getThumbnailCandidate: 'screenshot',
264
+ updateProjectThumbnail: 'screenshot',
265
+ getPageScreenshot: 'screenshot',
266
+ getComponentScreenshot: 'screenshot',
267
+ getScreenshotByKey: 'screenshot',
268
+ getQueueStatistics: 'screenshot',
269
+ refreshThumbnail: 'screenshot',
270
+
271
+ // Tracking methods
272
+ configureTracking: 'tracking',
273
+ trackEvent: 'tracking',
274
+ trackError: 'tracking',
275
+ captureException: 'tracking',
276
+ logMessage: 'tracking',
277
+ logDebug: 'tracking',
278
+ logInfo: 'tracking',
279
+ logWarning: 'tracking',
280
+ logWarn: 'tracking',
281
+ logErrorMessage: 'tracking',
282
+ logError: 'tracking',
283
+ addBreadcrumb: 'tracking',
284
+ trackMeasurement: 'tracking',
285
+ trackView: 'tracking',
286
+ setUser: 'tracking',
287
+ clearUser: 'tracking',
288
+ setSession: 'tracking',
289
+ clearSession: 'tracking',
290
+ setGlobalAttributes: 'tracking',
291
+ setGlobalAttribute: 'tracking',
292
+ removeGlobalAttribute: 'tracking',
293
+ flushQueue: 'tracking',
294
+ getClient: 'tracking',
295
+ isEnabled: 'tracking',
296
+ isInitialized: 'tracking',
297
+
298
+ // Waitlist methods
299
+ joinWaitlist: 'waitlist',
300
+ listWaitlistEntries: 'waitlist',
301
+ updateWaitlistEntry: 'waitlist',
302
+ inviteWaitlistEntry: 'waitlist',
303
+
304
+ // Metrics methods
305
+ getContributions: 'metrics',
306
+
307
+ // Integration methods
308
+ integrationWhoami: 'integration',
309
+ listIntegrations: 'integration',
310
+ createIntegration: 'integration',
311
+ updateIntegration: 'integration',
312
+ createIntegrationApiKey: 'integration',
313
+ listIntegrationApiKeys: 'integration',
314
+ revokeIntegrationApiKey: 'integration',
315
+ createIntegrationWebhook: 'integration',
316
+ listIntegrationWebhooks: 'integration',
317
+ updateIntegrationWebhook: 'integration',
318
+ deleteIntegrationWebhook: 'integration',
319
+ listIntegrationWebhookDeliveries: 'integration',
320
+ replayIntegrationWebhookDelivery: 'integration',
321
+ listGitHubConnectors: 'integration',
322
+ createGitHubConnector: 'integration',
323
+ updateGitHubConnector: 'integration',
324
+ deleteGitHubConnector: 'integration',
325
+
326
+ // Feature flag methods (system-level + experiments)
327
+ getFeatureFlags: 'featureFlag',
328
+ getFeatureFlag: 'featureFlag',
329
+ getAdminFeatureFlags: 'featureFlag',
330
+ createFeatureFlag: 'featureFlag',
331
+ updateFeatureFlag: 'featureFlag',
332
+ archiveFeatureFlag: 'featureFlag'
166
333
  }
@@ -185,9 +185,6 @@ export const validateParams = {
185
185
  if (!data.key) {
186
186
  throw new Error('Data must contain a key property')
187
187
  }
188
- if (!data.value) {
189
- throw new Error('Data must contain a value property')
190
- }
191
188
 
192
189
  // Check key against reserved keywords for code-related types
193
190
  if (CODE_TYPES.includes(type)) {
@@ -1,155 +0,0 @@
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 AIService_exports = {};
19
- __export(AIService_exports, {
20
- AIService: () => AIService
21
- });
22
- module.exports = __toCommonJS(AIService_exports);
23
- var import_BaseService = require("./BaseService.js");
24
- class AIService extends import_BaseService.BaseService {
25
- constructor(config) {
26
- super(config);
27
- this._client = null;
28
- this._initialized = false;
29
- this._defaultConfig = {
30
- apiUrl: "https://api.openai.com/v1/engines/text-curie/completions",
31
- temperature: 0,
32
- maxTokens: 2e3,
33
- headers: {
34
- "Content-Type": "application/json"
35
- }
36
- };
37
- }
38
- init() {
39
- try {
40
- const { appKey, authToken } = this._context;
41
- this._info = {
42
- config: {
43
- appKey: appKey ? `${appKey.substr(0, 4)}...${appKey.substr(-4)}` : "",
44
- hasToken: Boolean(authToken)
45
- }
46
- };
47
- this._initialized = true;
48
- this._setReady();
49
- } catch (error) {
50
- this._setError(error);
51
- throw error;
52
- }
53
- }
54
- // Helper to check if method requires initialization
55
- _requiresInit(methodName) {
56
- const noInitMethods = /* @__PURE__ */ new Set(["getConfig", "validateConfig"]);
57
- return !noInitMethods.has(methodName);
58
- }
59
- // Override _requireReady to be more flexible
60
- _requireReady(methodName) {
61
- if (this._requiresInit(methodName) && !this._initialized) {
62
- throw new Error("AI service not initialized");
63
- }
64
- }
65
- // Configuration methods
66
- getConfig() {
67
- var _a;
68
- return {
69
- ...this._defaultConfig,
70
- ...(_a = this._context.ai) == null ? void 0 : _a.config
71
- };
72
- }
73
- validateConfig(config = {}) {
74
- const requiredFields = ["apiUrl", "temperature", "maxTokens"];
75
- const missingFields = requiredFields.filter((field) => !config[field]);
76
- if (missingFields.length > 0) {
77
- throw new Error(
78
- `Missing required configuration fields: ${missingFields.join(", ")}`
79
- );
80
- }
81
- return true;
82
- }
83
- // AI Methods
84
- async prompt(query, opts = {}) {
85
- var _a;
86
- this._requireReady("prompt");
87
- try {
88
- const config = this.getConfig();
89
- const options = {
90
- method: "POST",
91
- headers: {
92
- ...config.headers,
93
- Authorization: `Bearer ${(_a = this._context.ai) == null ? void 0 : _a.authToken}`
94
- },
95
- body: JSON.stringify({
96
- prompt: query,
97
- temperature: opts.temperature || config.temperature,
98
- max_tokens: opts.maxTokens || config.maxTokens,
99
- ...opts
100
- })
101
- };
102
- const response = await this._request(config.apiUrl, options);
103
- return response;
104
- } catch (error) {
105
- throw new Error(`AI prompt failed: ${error.message}`);
106
- }
107
- }
108
- // Helper methods
109
- async _request(url, options = {}) {
110
- try {
111
- const response = await fetch(url, {
112
- ...options,
113
- headers: {
114
- ...this._defaultConfig.headers,
115
- ...options.headers
116
- }
117
- });
118
- if (!response.ok) {
119
- const error = await response.json();
120
- throw new Error(error.message || "Request failed");
121
- }
122
- return response.status === 204 ? null : response.json();
123
- } catch (error) {
124
- throw new Error(`Request failed: ${error.message}`);
125
- }
126
- }
127
- // Context update methods
128
- updateAuth(authToken) {
129
- this.updateContext({
130
- ai: {
131
- ...this._context.ai,
132
- authToken
133
- }
134
- });
135
- }
136
- updateConfig(config) {
137
- var _a;
138
- this.validateConfig(config);
139
- this.updateContext({
140
- ai: {
141
- ...this._context.ai,
142
- config: {
143
- ...(_a = this._context.ai) == null ? void 0 : _a.config,
144
- ...config
145
- }
146
- }
147
- });
148
- }
149
- // Cleanup
150
- destroy() {
151
- this._client = null;
152
- this._initialized = false;
153
- this._setReady(false);
154
- }
155
- }