@symbo.ls/sdk 3.1.2 → 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 (187) hide show
  1. package/README.md +143 -2
  2. package/dist/cjs/config/environment.js +98 -30
  3. package/dist/cjs/index.js +144 -24
  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 +743 -0
  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 +64 -16
  23. package/dist/cjs/state/RootStateManager.js +65 -0
  24. package/dist/cjs/state/rootEventBus.js +74 -0
  25. package/dist/cjs/utils/CollabClient.js +223 -0
  26. package/dist/cjs/utils/TokenManager.js +78 -30
  27. package/dist/cjs/utils/changePreprocessor.js +199 -0
  28. package/dist/cjs/utils/jsonDiff.js +145 -0
  29. package/dist/cjs/utils/ordering.js +309 -0
  30. package/dist/cjs/utils/services.js +301 -103
  31. package/dist/cjs/utils/validation.js +0 -3
  32. package/dist/esm/config/environment.js +98 -30
  33. package/dist/esm/index.js +49505 -8718
  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 +26895 -0
  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 +49062 -8569
  53. package/dist/esm/state/RootStateManager.js +90 -0
  54. package/dist/esm/state/rootEventBus.js +56 -0
  55. package/dist/esm/utils/CollabClient.js +18889 -0
  56. package/dist/esm/utils/TokenManager.js +78 -30
  57. package/dist/esm/utils/changePreprocessor.js +542 -0
  58. package/dist/esm/utils/jsonDiff.js +7011 -0
  59. package/dist/esm/utils/ordering.js +291 -0
  60. package/dist/esm/utils/services.js +301 -103
  61. package/dist/esm/utils/validation.js +116 -50
  62. package/dist/node/config/environment.js +98 -30
  63. package/dist/node/index.js +175 -32
  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 +724 -0
  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 +64 -16
  83. package/dist/node/state/RootStateManager.js +36 -0
  84. package/dist/node/state/rootEventBus.js +55 -0
  85. package/dist/node/utils/CollabClient.js +194 -0
  86. package/dist/node/utils/TokenManager.js +78 -30
  87. package/dist/node/utils/changePreprocessor.js +180 -0
  88. package/dist/node/utils/jsonDiff.js +116 -0
  89. package/dist/node/utils/ordering.js +290 -0
  90. package/dist/node/utils/services.js +301 -103
  91. package/dist/node/utils/validation.js +0 -3
  92. package/package.json +39 -21
  93. package/src/config/environment.js +99 -28
  94. package/src/index.js +181 -36
  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 +900 -0
  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 +80 -13
  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 +76 -0
  148. package/src/state/rootEventBus.js +67 -0
  149. package/src/utils/CollabClient.js +248 -0
  150. package/src/utils/TokenManager.js +88 -33
  151. package/src/utils/changePreprocessor.js +239 -0
  152. package/src/utils/jsonDiff.js +144 -0
  153. package/src/utils/ordering.js +271 -0
  154. package/src/utils/services.js +326 -107
  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 -1751
  159. package/dist/cjs/services/SocketIOService.js +0 -307
  160. package/dist/cjs/services/SocketService.js +0 -161
  161. package/dist/cjs/services/SymstoryService.js +0 -571
  162. package/dist/cjs/utils/basedQuerys.js +0 -181
  163. package/dist/cjs/utils/symstoryClient.js +0 -259
  164. package/dist/esm/services/AIService.js +0 -185
  165. package/dist/esm/services/BasedService.js +0 -5278
  166. package/dist/esm/services/CoreService.js +0 -2264
  167. package/dist/esm/services/SocketIOService.js +0 -470
  168. package/dist/esm/services/SocketService.js +0 -191
  169. package/dist/esm/services/SymstoryService.js +0 -7041
  170. package/dist/esm/utils/basedQuerys.js +0 -163
  171. package/dist/esm/utils/symstoryClient.js +0 -370
  172. package/dist/node/services/AIService.js +0 -136
  173. package/dist/node/services/BasedService.js +0 -1156
  174. package/dist/node/services/CoreService.js +0 -1722
  175. package/dist/node/services/SocketIOService.js +0 -278
  176. package/dist/node/services/SocketService.js +0 -142
  177. package/dist/node/services/SymstoryService.js +0 -542
  178. package/dist/node/utils/basedQuerys.js +0 -162
  179. package/dist/node/utils/symstoryClient.js +0 -230
  180. package/src/services/AIService.js +0 -150
  181. package/src/services/BasedService.js +0 -1301
  182. package/src/services/CoreService.js +0 -1943
  183. package/src/services/SocketIOService.js +0 -334
  184. package/src/services/SocketService.js +0 -168
  185. package/src/services/SymstoryService.js +0 -649
  186. package/src/utils/basedQuerys.js +0 -164
  187. package/src/utils/symstoryClient.js +0 -252
@@ -1,114 +1,333 @@
1
1
  export const SERVICE_METHODS = {
2
- // Auth service methods (legacy - keeping for backward compatibility)
3
- auth: 'auth',
4
- login: 'auth',
2
+ hasPermission: 'auth',
3
+ hasGlobalPermission: 'auth',
4
+
5
+ // Collab service methods
6
+ connect: 'collab',
7
+ disconnect: 'collab',
8
+ isConnected: 'collab',
9
+ updateData: 'collab',
10
+ addItem: 'collab',
11
+ addMultipleItems: 'collab',
12
+ updateItem: 'collab',
13
+ deleteItem: 'collab',
14
+ undo: 'collab',
15
+ redo: 'collab',
16
+ checkpoint: 'collab',
17
+
18
+ // Realtime collaboration helper methods
19
+ sendCursor: 'collab',
20
+ sendPresence: 'collab',
21
+ toggleLive: 'collab',
22
+
23
+ // Core service methods (new - replaces most based/auth functionality)
24
+ // Auth methods
25
+ getStoredAuthState: 'auth',
26
+ getAuthToken: 'auth',
5
27
  register: 'auth',
28
+ login: 'auth',
29
+ logout: 'auth',
30
+ refreshToken: 'auth',
6
31
  googleAuth: 'auth',
7
32
  googleAuthCallback: 'auth',
8
33
  githubAuth: 'auth',
34
+ requestPasswordReset: 'auth',
35
+ confirmPasswordReset: 'auth',
9
36
  confirmRegistration: 'auth',
10
- logout: 'auth',
11
- updateUserRole: 'auth',
12
- hasPermission: 'auth',
13
- 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
-
23
- // AI service methods
24
- prompt: 'ai',
25
-
26
- // Based service methods
27
- query: 'based',
28
- setProject: 'based',
29
- setUser: 'based',
30
- setUserForced: 'based',
31
- subscribe: 'based',
32
- call: 'based',
33
- getProject: 'based',
34
- getProjectByKey: 'based',
35
- createProject: 'based',
36
- fetchUser: 'based',
37
- fetchProject: 'based',
38
- setBucket: 'based',
39
- getUser: 'based',
40
- getUserByEmail: 'based',
41
- setProjectDomains: 'based',
42
- checkProjectKeyAvailability: 'based',
43
- removeProject: 'based',
44
- getAvailableLibraries: 'based',
45
- addProjectLibraries: 'based',
46
- removeProjectLibraries: 'based',
47
- getProjectLibraries: 'based',
48
- checkout: 'based',
49
- uploadFile: 'based',
50
- updateProjectIcon: 'based',
51
- updateProject: 'based',
52
- updateProjectSettings: 'based',
53
- updateProjectComponents: 'based',
54
- updateProjectName: 'based',
55
- updateProjectPackage: 'based',
56
- createDnsRecord: 'based',
57
- getDnsRecord: 'based',
58
- removeDnsRecord: 'based',
59
- createStorageBucket: 'based',
60
- getStorageBucket: 'based',
61
- removeStorageBucket: 'based',
62
- requestPasswordChange: 'based',
63
- confirmPasswordChange: 'based',
64
- updateUserProfile: 'based',
65
- duplicateProject: 'based',
66
- listPlans: 'based',
67
- subscribeToPlan: 'based',
68
- getSubscriptionDetails: 'based',
69
- checkSubscriptionStatus: 'based',
70
- upgradeSubscription: 'based',
71
- downgradeSubscription: 'based',
72
- cancelSubscription: 'based',
73
- reactivateSubscription: 'based',
74
- generateInvoice: 'based',
75
- getUsageReport: 'based',
76
- inviteAccountOwner: 'based',
77
- acceptOwnerInvitation: 'based',
78
- removeAccountOwner: 'based',
79
- checkResourceLimit: 'based',
80
- checkFeatureAccess: 'based',
81
- getUserFeatures: 'based',
82
- getAvailableFeatures: 'based',
83
- listFeatureFlags: 'based',
84
- updateFeatureFlag: 'based',
85
- removeFeatureFlag: 'based',
86
- batchUpdateFeatureFlags: 'based',
87
- updatePlanDetails: 'based',
88
- updatePlanStatus: 'based',
89
-
90
- // Symstory service methods
91
- set: 'symstory',
92
- getData: 'symstory',
93
- updateData: 'symstory',
94
- getBranches: 'symstory',
95
- editBranch: 'symstory',
96
- restoreVersion: 'symstory',
97
- getItem: 'symstory',
98
- addItem: 'symstory',
99
- addMultipleItems: 'symstory',
100
- updateItem: 'symstory',
101
- deleteItem: 'symstory',
102
- switchVersion: 'symstory',
103
- switchBranch: 'symstory',
104
- undo: 'symstory',
105
- redo: 'symstory',
106
- publish: 'symstory',
107
- getChanges: 'symstory',
108
-
109
- // Socket service methods
110
- send: 'socket',
111
- subscribeChannel: 'socket',
112
- connect: 'socket',
113
- reconnect: 'socket'
37
+ requestPasswordChange: 'auth',
38
+ confirmPasswordChange: 'auth',
39
+ getMe: 'auth',
40
+ getTokenDebugInfo: 'auth',
41
+
42
+ getMyProjectRoleByKey: 'auth',
43
+ getProjectRoleWithFallback: 'auth',
44
+ getProjectRoleByKeyWithFallback: 'auth',
45
+
46
+ // User methods
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'
114
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
- baseUrl: "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 = ["baseUrl", "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.baseUrl, 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
- }