@symbo.ls/sdk 3.2.3 → 3.2.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 (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,309 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
- var SocketService_exports = {};
29
- __export(SocketService_exports, {
30
- SocketService: () => SocketService
31
- });
32
- module.exports = __toCommonJS(SocketService_exports);
33
- var import_client = require("@symbo.ls/socket/client.js");
34
- var import_BaseService = require("./BaseService.js");
35
- var utils = __toESM(require("@domql/utils"), 1);
36
- var import_router = require("@symbo.ls/router");
37
- var import_environment = __toESM(require("../config/environment.js"), 1);
38
- const { deepStringify, deepDestringify, isString } = utils.default || utils;
39
- class SocketService extends import_BaseService.BaseService {
40
- constructor(config) {
41
- super(config);
42
- this._socket = null;
43
- this._reconnectAttempts = 0;
44
- this._maxReconnectAttempts = (config == null ? void 0 : config.maxReconnectAttempts) || 5;
45
- this._reconnectDelay = (config == null ? void 0 : config.reconnectDelay) || 1e3;
46
- this._handlers = /* @__PURE__ */ new Map();
47
- this._sessionId = Math.random();
48
- this._ignoreSync = [
49
- "userId",
50
- "username",
51
- "usersName",
52
- "email",
53
- "projects",
54
- "feedbacks",
55
- "userRoles",
56
- "loading",
57
- "appKey",
58
- "projectName",
59
- "followingUser",
60
- "activeProject",
61
- "user",
62
- "sessionId",
63
- "clients"
64
- ];
65
- }
66
- init() {
67
- try {
68
- const { _context, _options } = this;
69
- const socketUrl = import_environment.default.socketUrl || _options.socketUrl;
70
- if (!socketUrl) {
71
- throw new Error("Socket URL is required");
72
- }
73
- this._info = {
74
- config: {
75
- url: socketUrl,
76
- hasToken: Boolean(_context.authToken),
77
- status: "initializing"
78
- }
79
- };
80
- this._setReady();
81
- } catch (error) {
82
- this._setError(error);
83
- throw error;
84
- }
85
- }
86
- connect() {
87
- var _a, _b, _c, _d, _e, _f, _g;
88
- try {
89
- if (this._socket && ["connected", "connecting"].includes((_b = (_a = this._info) == null ? void 0 : _a.config) == null ? void 0 : _b.status)) {
90
- console.warn(
91
- "Socket connection already exists:",
92
- (_d = (_c = this._info) == null ? void 0 : _c.config) == null ? void 0 : _d.status
93
- );
94
- return true;
95
- }
96
- const { _context } = this;
97
- if (!_context.appKey) {
98
- throw new Error("App key is required");
99
- }
100
- this._updateStatus("connecting");
101
- const config = {
102
- source: "platform",
103
- userId: (_e = _context.user) == null ? void 0 : _e.id,
104
- socketUrl: this._info.config.url,
105
- location: window.location.host,
106
- // onConnect: () => {
107
- // console.log('waz')
108
- // },
109
- onChange: this._handleMessage.bind(this),
110
- sessionId: this._sessionId,
111
- usersName: (_f = _context.user) == null ? void 0 : _f.name,
112
- route: window.location.pathname,
113
- onDisconnect: this._handleDisconnect.bind(this)
114
- };
115
- if (this._socket) {
116
- this.destroy();
117
- }
118
- this._socket = (0, import_client.connect)(_context.appKey, config);
119
- this._updateStatus("connected");
120
- if (import_environment.default.isDevelopment) {
121
- console.log("Socket connection established:", {
122
- appKey: _context.appKey,
123
- userId: (_g = _context.user) == null ? void 0 : _g.id,
124
- sessionId: this._sessionId,
125
- url: this._info.config.url
126
- });
127
- }
128
- return true;
129
- } catch (error) {
130
- this._updateStatus("failed");
131
- console.error("Socket connection failed:", error);
132
- throw new Error(`Socket connection failed: ${error.message}`);
133
- }
134
- }
135
- send(type, data, opts = {}) {
136
- var _a, _b;
137
- this._requireReady();
138
- if (!this._socket) {
139
- throw new Error("Socket is not connected");
140
- }
141
- const payload = {
142
- sessionId: this._sessionId,
143
- userId: (_a = this._context.user) == null ? void 0 : _a.id,
144
- usersName: (_b = this._context.user) == null ? void 0 : _b.name,
145
- ...data
146
- };
147
- import_client.send.call(
148
- this._socket,
149
- type,
150
- opts.useDeepStringify ? deepStringify(payload) : payload
151
- );
152
- }
153
- _handleMessage(event, data) {
154
- try {
155
- const d = isString(data) ? deepDestringify(JSON.parse(data)) : data;
156
- if (this._sessionId === d.sessionId) {
157
- return;
158
- }
159
- const handlers = this._handlers.get(event);
160
- if (handlers) {
161
- handlers.forEach((handler) => handler(d));
162
- }
163
- switch (event) {
164
- case "change":
165
- this._handleChangeEvent(d);
166
- break;
167
- case "clients":
168
- this._handleClientsEvent(d);
169
- break;
170
- case "route":
171
- this._handleRouteEvent(d);
172
- break;
173
- default:
174
- break;
175
- }
176
- } catch (error) {
177
- this._setError(new Error(`Failed to handle message: ${error.message}`));
178
- }
179
- }
180
- _handleChangeEvent(data) {
181
- const { type, changes, version } = data;
182
- if (version) {
183
- this._context.state.version = version;
184
- }
185
- if (changes) {
186
- window.requestAnimationFrame(async () => {
187
- await this._context.state.setPathCollection(changes, {
188
- preventReplace: type === "canvas",
189
- preventUpdate: true,
190
- fromSocket: true,
191
- userId: data.userId,
192
- changes
193
- });
194
- });
195
- }
196
- }
197
- _handleClientsEvent(data) {
198
- const { root } = this._context.state;
199
- root.replace(
200
- { clients: data },
201
- {
202
- fromSocket: true,
203
- preventUpdate: true
204
- }
205
- );
206
- }
207
- _handleRouteEvent(data) {
208
- const { element } = this._context;
209
- const { state } = this._context;
210
- if (data.userId && data.type === "routeChanged") {
211
- const isModalOpen = this.getWindow("modal");
212
- const isFollowing = state.followingUser === data.userId;
213
- const isRouteSyncEnabled = element.getUserSettings("presentMode") && data.userId === state.userId;
214
- if ((isFollowing || isRouteSyncEnabled) && !isModalOpen) {
215
- (0, import_router.router)(
216
- data.route,
217
- element.__ref.root,
218
- {},
219
- {
220
- fromSocket: true,
221
- updateStateOptions: {
222
- fromSocket: true,
223
- preventStateUpdateListener: 1
224
- // !isModalRoute(data.route, element)
225
- }
226
- }
227
- );
228
- }
229
- } else if (data.reload) {
230
- window.location.reload();
231
- } else if (data.route && data.type === "routeForced") {
232
- (0, import_router.router)(
233
- data.route,
234
- element.__ref.root,
235
- {},
236
- {
237
- fromSocket: true,
238
- updateStateOptions: {
239
- fromSocket: true
240
- }
241
- }
242
- );
243
- } else if (data.componentKey) {
244
- if (!element.getData("components")[data.componentKey]) {
245
- return;
246
- }
247
- element.activateSelected(data.componentKey);
248
- }
249
- }
250
- _handleDisconnect() {
251
- this._updateStatus("disconnected");
252
- this._handleReconnect();
253
- }
254
- _handleReconnect() {
255
- if (this._reconnectAttempts < this._maxReconnectAttempts) {
256
- this._reconnectAttempts++;
257
- this._updateStatus("reconnecting");
258
- setTimeout(() => {
259
- try {
260
- const connected = this.connect();
261
- if (connected) {
262
- this._reconnectAttempts = 0;
263
- } else {
264
- this._handleReconnect();
265
- }
266
- } catch (error) {
267
- console.error("Reconnection failed:", error);
268
- this._handleReconnect();
269
- }
270
- }, this._reconnectDelay * this._reconnectAttempts);
271
- } else {
272
- this._updateStatus("failed");
273
- this._setError(new Error("Max reconnection attempts reached"));
274
- }
275
- }
276
- _updateStatus(status) {
277
- this._info = {
278
- ...this._info,
279
- config: {
280
- ...this._info.config,
281
- status
282
- }
283
- };
284
- }
285
- destroy() {
286
- if (this._socket) {
287
- import_client.disconnect.call(this._socket);
288
- this._socket = null;
289
- }
290
- this._handlers.clear();
291
- this._setReady(false);
292
- }
293
- reconnect() {
294
- this.destroy();
295
- this.connect();
296
- }
297
- _checkRequiredContext() {
298
- var _a, _b;
299
- return Boolean(
300
- ((_a = this._context) == null ? void 0 : _a.appKey) && ((_b = this._context) == null ? void 0 : _b.authToken) && this._socket
301
- );
302
- }
303
- isReady() {
304
- if (this._checkRequiredContext()) {
305
- this._setReady(true);
306
- }
307
- return this._ready;
308
- }
309
- }