@symbo.ls/sdk 3.1.2 → 3.2.3

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 (65) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/config/environment.js +5 -21
  3. package/dist/cjs/index.js +6 -26
  4. package/dist/cjs/services/AIService.js +3 -3
  5. package/dist/cjs/services/CollabService.js +420 -0
  6. package/dist/cjs/services/CoreService.js +651 -107
  7. package/dist/cjs/services/SocketService.js +207 -59
  8. package/dist/cjs/services/index.js +5 -13
  9. package/dist/cjs/state/RootStateManager.js +86 -0
  10. package/dist/cjs/state/rootEventBus.js +65 -0
  11. package/dist/cjs/utils/CollabClient.js +157 -0
  12. package/dist/cjs/utils/TokenManager.js +62 -27
  13. package/dist/cjs/utils/jsonDiff.js +103 -0
  14. package/dist/cjs/utils/services.js +129 -88
  15. package/dist/cjs/utils/symstoryClient.js +5 -5
  16. package/dist/esm/config/environment.js +5 -21
  17. package/dist/esm/index.js +20459 -9286
  18. package/dist/esm/services/AIService.js +3 -3
  19. package/dist/esm/services/BasedService.js +5 -21
  20. package/dist/esm/services/CollabService.js +18028 -0
  21. package/dist/esm/services/CoreService.js +718 -155
  22. package/dist/esm/services/SocketService.js +323 -58
  23. package/dist/esm/services/SymstoryService.js +10 -26
  24. package/dist/esm/services/index.js +20305 -9158
  25. package/dist/esm/state/RootStateManager.js +102 -0
  26. package/dist/esm/state/rootEventBus.js +47 -0
  27. package/dist/esm/utils/CollabClient.js +17483 -0
  28. package/dist/esm/utils/TokenManager.js +62 -27
  29. package/dist/esm/utils/jsonDiff.js +6096 -0
  30. package/dist/esm/utils/services.js +129 -88
  31. package/dist/esm/utils/symstoryClient.js +10 -26
  32. package/dist/node/config/environment.js +5 -21
  33. package/dist/node/index.js +10 -34
  34. package/dist/node/services/AIService.js +3 -3
  35. package/dist/node/services/CollabService.js +401 -0
  36. package/dist/node/services/CoreService.js +651 -107
  37. package/dist/node/services/SocketService.js +197 -59
  38. package/dist/node/services/index.js +5 -13
  39. package/dist/node/state/RootStateManager.js +57 -0
  40. package/dist/node/state/rootEventBus.js +46 -0
  41. package/dist/node/utils/CollabClient.js +128 -0
  42. package/dist/node/utils/TokenManager.js +62 -27
  43. package/dist/node/utils/jsonDiff.js +74 -0
  44. package/dist/node/utils/services.js +129 -88
  45. package/dist/node/utils/symstoryClient.js +5 -5
  46. package/package.json +12 -6
  47. package/src/config/environment.js +5 -19
  48. package/src/index.js +9 -31
  49. package/src/services/AIService.js +3 -3
  50. package/src/services/BasedService.js +1 -0
  51. package/src/services/CollabService.js +491 -0
  52. package/src/services/CoreService.js +715 -110
  53. package/src/services/SocketService.js +227 -59
  54. package/src/services/index.js +6 -13
  55. package/src/state/RootStateManager.js +71 -0
  56. package/src/state/rootEventBus.js +48 -0
  57. package/src/utils/CollabClient.js +161 -0
  58. package/src/utils/TokenManager.js +68 -30
  59. package/src/utils/jsonDiff.js +109 -0
  60. package/src/utils/services.js +140 -88
  61. package/src/utils/symstoryClient.js +5 -5
  62. package/dist/cjs/services/SocketIOService.js +0 -307
  63. package/dist/esm/services/SocketIOService.js +0 -470
  64. package/dist/node/services/SocketIOService.js +0 -278
  65. package/src/services/SocketIOService.js +0 -334
@@ -153,7 +153,28 @@ class TokenManager {
153
153
  return true;
154
154
  }
155
155
  const now = Date.now();
156
- return now < this.tokens.expiresAt - this.config.refreshBuffer;
156
+ const isValid = now < this.tokens.expiresAt - this.config.refreshBuffer;
157
+ if (!isValid) {
158
+ console.log("[TokenManager] Access token is expired or near expiry:", {
159
+ now: new Date(now).toISOString(),
160
+ expiresAt: new Date(this.tokens.expiresAt).toISOString(),
161
+ refreshBuffer: this.config.refreshBuffer
162
+ });
163
+ }
164
+ return isValid;
165
+ }
166
+ /**
167
+ * Check if access token exists and is not expired (without refresh buffer)
168
+ */
169
+ isAccessTokenActuallyValid() {
170
+ if (!this.tokens.accessToken) {
171
+ return false;
172
+ }
173
+ if (!this.tokens.expiresAt) {
174
+ return true;
175
+ }
176
+ const now = Date.now();
177
+ return now < this.tokens.expiresAt;
157
178
  }
158
179
  /**
159
180
  * Check if tokens exist (regardless of expiry)
@@ -279,40 +300,54 @@ class TokenManager {
279
300
  * Save tokens to storage
280
301
  */
281
302
  saveTokens() {
282
- const { storage } = this;
283
- const keys = this.storageKeys;
284
- if (this.tokens.accessToken) {
285
- storage.setItem(keys.accessToken, this.tokens.accessToken);
286
- }
287
- if (this.tokens.refreshToken) {
288
- storage.setItem(keys.refreshToken, this.tokens.refreshToken);
289
- }
290
- if (this.tokens.expiresAt) {
291
- storage.setItem(keys.expiresAt, this.tokens.expiresAt.toString());
292
- }
293
- if (this.tokens.expiresIn) {
294
- storage.setItem(keys.expiresIn, this.tokens.expiresIn.toString());
303
+ try {
304
+ const { storage } = this;
305
+ const keys = this.storageKeys;
306
+ if (this.tokens.accessToken) {
307
+ storage.setItem(keys.accessToken, this.tokens.accessToken);
308
+ }
309
+ if (this.tokens.refreshToken) {
310
+ storage.setItem(keys.refreshToken, this.tokens.refreshToken);
311
+ }
312
+ if (this.tokens.expiresAt) {
313
+ storage.setItem(keys.expiresAt, this.tokens.expiresAt.toString());
314
+ }
315
+ if (this.tokens.expiresIn) {
316
+ storage.setItem(keys.expiresIn, this.tokens.expiresIn.toString());
317
+ }
318
+ } catch (error) {
319
+ console.error("[TokenManager] Error saving tokens to storage:", error);
295
320
  }
296
321
  }
297
322
  /**
298
323
  * Load tokens from storage
299
324
  */
300
325
  loadTokens() {
301
- const { storage } = this;
302
- const keys = this.storageKeys;
303
- const accessToken = storage.getItem(keys.accessToken);
304
- const refreshToken = storage.getItem(keys.refreshToken);
305
- const expiresAt = storage.getItem(keys.expiresAt);
306
- const expiresIn = storage.getItem(keys.expiresIn);
307
- if (accessToken) {
326
+ try {
327
+ const { storage } = this;
328
+ const keys = this.storageKeys;
329
+ const accessToken = storage.getItem(keys.accessToken);
330
+ const refreshToken = storage.getItem(keys.refreshToken);
331
+ const expiresAt = storage.getItem(keys.expiresAt);
332
+ const expiresIn = storage.getItem(keys.expiresIn);
333
+ if (accessToken) {
334
+ this.tokens = {
335
+ accessToken,
336
+ refreshToken,
337
+ expiresAt: expiresAt ? parseInt(expiresAt, 10) : null,
338
+ expiresIn: expiresIn ? parseInt(expiresIn, 10) : null,
339
+ tokenType: "Bearer"
340
+ };
341
+ this.scheduleRefresh();
342
+ }
343
+ } catch (error) {
344
+ console.error("[TokenManager] Error loading tokens from storage:", error);
308
345
  this.tokens = {
309
- accessToken,
310
- refreshToken,
311
- expiresAt: expiresAt ? parseInt(expiresAt, 10) : null,
312
- expiresIn: expiresIn ? parseInt(expiresIn, 10) : null,
313
- tokenType: "Bearer"
346
+ accessToken: null,
347
+ refreshToken: null,
348
+ expiresAt: null,
349
+ expiresIn: null
314
350
  };
315
- this.scheduleRefresh();
316
351
  }
317
352
  }
318
353
  /**
@@ -0,0 +1,103 @@
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 jsonDiff_exports = {};
29
+ __export(jsonDiff_exports, {
30
+ applyOpsToJson: () => applyOpsToJson,
31
+ diffJson: () => diffJson
32
+ });
33
+ module.exports = __toCommonJS(jsonDiff_exports);
34
+ var Y = __toESM(require("yjs"), 1);
35
+ function isPlainObject(o) {
36
+ return o && typeof o === "object" && !Array.isArray(o);
37
+ }
38
+ function deepEqual(a, b) {
39
+ try {
40
+ return JSON.stringify(a) === JSON.stringify(b);
41
+ } catch (err) {
42
+ console.warn("deepEqual error", err);
43
+ return false;
44
+ }
45
+ }
46
+ function getRootMap(ydoc) {
47
+ return ydoc.getMap("root");
48
+ }
49
+ function diffJson(prev, next, prefix = []) {
50
+ const ops = [];
51
+ const _prefix = Array.isArray(prefix) ? prefix : [];
52
+ for (const key in prev) {
53
+ if (Object.hasOwn(prev, key) && !(key in next)) {
54
+ ops.push({ action: "del", path: [..._prefix, key] });
55
+ }
56
+ }
57
+ for (const key in next) {
58
+ if (Object.hasOwn(next, key)) {
59
+ const pVal = prev == null ? void 0 : prev[key];
60
+ const nVal = next[key];
61
+ if (isPlainObject(pVal) && isPlainObject(nVal)) {
62
+ ops.push(...diffJson(pVal, nVal, [..._prefix, key]));
63
+ } else if (!deepEqual(pVal, nVal)) {
64
+ ops.push({ action: "set", path: [..._prefix, key], value: nVal });
65
+ }
66
+ }
67
+ }
68
+ return ops;
69
+ }
70
+ function applyOpsToJson(ops, ydoc) {
71
+ if (!ydoc || !Array.isArray(ops) || !ops.length) {
72
+ return;
73
+ }
74
+ ydoc.transact(() => {
75
+ const root = getRootMap(ydoc);
76
+ ops.forEach((op) => {
77
+ const { action, path = [], value } = op || {};
78
+ if (!path.length) {
79
+ return;
80
+ }
81
+ let target = root;
82
+ for (let i = 0; i < path.length - 1; i++) {
83
+ const key = path[i];
84
+ let next = target.get(key);
85
+ if (!(next instanceof Y.Map)) {
86
+ const fresh = new Y.Map();
87
+ if (isPlainObject(next)) {
88
+ Object.entries(next).forEach(([k, v]) => fresh.set(k, v));
89
+ }
90
+ target.set(key, fresh);
91
+ next = fresh;
92
+ }
93
+ target = next;
94
+ }
95
+ const last = path[path.length - 1];
96
+ if (action === "set") {
97
+ target.set(last, value);
98
+ } else if (action === "del") {
99
+ target.delete(last);
100
+ }
101
+ });
102
+ }, "remote");
103
+ }
@@ -41,92 +41,133 @@ const SERVICE_METHODS = {
41
41
  updateProjectTier: "auth",
42
42
  subscribeToAuthChanges: "auth",
43
43
  getStoredAuthState: "core",
44
- // AI service methods
45
- prompt: "ai",
46
- // Based service methods
47
- query: "based",
48
- setProject: "based",
49
- setUser: "based",
50
- setUserForced: "based",
51
- subscribe: "based",
52
- call: "based",
53
- getProject: "based",
54
- getProjectByKey: "based",
55
- createProject: "based",
56
- fetchUser: "based",
57
- fetchProject: "based",
58
- setBucket: "based",
59
- getUser: "based",
60
- getUserByEmail: "based",
61
- setProjectDomains: "based",
62
- checkProjectKeyAvailability: "based",
63
- removeProject: "based",
64
- getAvailableLibraries: "based",
65
- addProjectLibraries: "based",
66
- removeProjectLibraries: "based",
67
- getProjectLibraries: "based",
68
- checkout: "based",
69
- uploadFile: "based",
70
- updateProjectIcon: "based",
71
- updateProject: "based",
72
- updateProjectSettings: "based",
73
- updateProjectComponents: "based",
74
- updateProjectName: "based",
75
- updateProjectPackage: "based",
76
- createDnsRecord: "based",
77
- getDnsRecord: "based",
78
- removeDnsRecord: "based",
79
- createStorageBucket: "based",
80
- getStorageBucket: "based",
81
- removeStorageBucket: "based",
82
- requestPasswordChange: "based",
83
- confirmPasswordChange: "based",
84
- updateUserProfile: "based",
85
- duplicateProject: "based",
86
- listPlans: "based",
87
- subscribeToPlan: "based",
88
- getSubscriptionDetails: "based",
89
- checkSubscriptionStatus: "based",
90
- upgradeSubscription: "based",
91
- downgradeSubscription: "based",
92
- cancelSubscription: "based",
93
- reactivateSubscription: "based",
94
- generateInvoice: "based",
95
- getUsageReport: "based",
96
- inviteAccountOwner: "based",
97
- acceptOwnerInvitation: "based",
98
- removeAccountOwner: "based",
99
- checkResourceLimit: "based",
100
- checkFeatureAccess: "based",
101
- getUserFeatures: "based",
102
- getAvailableFeatures: "based",
103
- listFeatureFlags: "based",
104
- updateFeatureFlag: "based",
105
- removeFeatureFlag: "based",
106
- batchUpdateFeatureFlags: "based",
107
- updatePlanDetails: "based",
108
- updatePlanStatus: "based",
109
- // Symstory service methods
110
- set: "symstory",
111
- getData: "symstory",
112
- updateData: "symstory",
113
- getBranches: "symstory",
114
- editBranch: "symstory",
115
- restoreVersion: "symstory",
116
- getItem: "symstory",
117
- addItem: "symstory",
118
- addMultipleItems: "symstory",
119
- updateItem: "symstory",
120
- deleteItem: "symstory",
121
- switchVersion: "symstory",
122
- switchBranch: "symstory",
123
- undo: "symstory",
124
- redo: "symstory",
125
- publish: "symstory",
126
- getChanges: "symstory",
127
- // Socket service methods
128
- send: "socket",
129
- subscribeChannel: "socket",
130
- connect: "socket",
131
- reconnect: "socket"
44
+ // Collab service methods
45
+ connect: "collab",
46
+ disconnect: "collab",
47
+ isConnected: "collab",
48
+ updateData: "collab",
49
+ addItem: "collab",
50
+ addMultipleItems: "collab",
51
+ updateItem: "collab",
52
+ deleteItem: "collab",
53
+ undo: "collab",
54
+ redo: "collab",
55
+ checkpoint: "collab",
56
+ // Realtime collaboration helper methods
57
+ sendCursor: "collab",
58
+ sendPresence: "collab",
59
+ toggleLive: "collab",
60
+ // Core service methods (new - replaces most based/auth functionality)
61
+ // Auth methods
62
+ register: "core",
63
+ login: "core",
64
+ logout: "core",
65
+ refreshToken: "core",
66
+ googleAuth: "core",
67
+ googleAuthCallback: "core",
68
+ githubAuth: "core",
69
+ requestPasswordReset: "core",
70
+ confirmPasswordReset: "core",
71
+ confirmRegistration: "core",
72
+ requestPasswordChange: "core",
73
+ confirmPasswordChange: "core",
74
+ getMe: "core",
75
+ // User methods
76
+ getUserProfile: "core",
77
+ updateUserProfile: "core",
78
+ getUserProjects: "core",
79
+ getUser: "core",
80
+ getUserByEmail: "core",
81
+ // Project methods
82
+ createProject: "core",
83
+ getProjects: "core",
84
+ getProject: "core",
85
+ getProjectByKey: "core",
86
+ getPublicProject: "core",
87
+ listPublicProjects: "core",
88
+ listProjects: "core",
89
+ updateProject: "core",
90
+ updateProjectComponents: "core",
91
+ updateProjectSettings: "core",
92
+ updateProjectName: "core",
93
+ updateProjectPackage: "core",
94
+ duplicateProject: "core",
95
+ removeProject: "core",
96
+ checkProjectKeyAvailability: "core",
97
+ // Project member methods
98
+ getProjectMembers: "core",
99
+ inviteMember: "core",
100
+ acceptInvite: "core",
101
+ updateMemberRole: "core",
102
+ removeMember: "core",
103
+ // Project library methods
104
+ getAvailableLibraries: "core",
105
+ getProjectLibraries: "core",
106
+ addProjectLibraries: "core",
107
+ removeProjectLibraries: "core",
108
+ // File methods
109
+ uploadFile: "core",
110
+ updateProjectIcon: "core",
111
+ // Payment methods
112
+ checkout: "core",
113
+ getSubscriptionStatus: "core",
114
+ // DNS methods
115
+ createDnsRecord: "core",
116
+ getDnsRecord: "core",
117
+ removeDnsRecord: "core",
118
+ setProjectDomains: "core",
119
+ // Utility methods
120
+ getHealthStatus: "core",
121
+ getTokenDebugInfo: "core",
122
+ // Project Data methods (Symstory replacement)
123
+ applyProjectChanges: "core",
124
+ getProjectData: "core",
125
+ getProjectVersions: "core",
126
+ restoreProjectVersion: "core",
127
+ updateProjectItem: "core",
128
+ deleteProjectItem: "core",
129
+ setProjectValue: "core",
130
+ addProjectItems: "core",
131
+ getProjectItemByPath: "core",
132
+ // Pull Request methods
133
+ createPullRequest: "core",
134
+ listPullRequests: "core",
135
+ getPullRequest: "core",
136
+ reviewPullRequest: "core",
137
+ addPullRequestComment: "core",
138
+ mergePullRequest: "core",
139
+ getPullRequestDiff: "core",
140
+ createPullRequestWithValidation: "core",
141
+ approvePullRequest: "core",
142
+ requestPullRequestChanges: "core",
143
+ getOpenPullRequests: "core",
144
+ getClosedPullRequests: "core",
145
+ getMergedPullRequests: "core",
146
+ isPullRequestMergeable: "core",
147
+ getPullRequestStatusSummary: "core",
148
+ // Branch Management methods
149
+ listBranches: "core",
150
+ createBranch: "core",
151
+ deleteBranch: "core",
152
+ renameBranch: "core",
153
+ getBranchChanges: "core",
154
+ mergeBranch: "core",
155
+ resetBranch: "core",
156
+ publishVersion: "core",
157
+ createBranchWithValidation: "core",
158
+ branchExists: "core",
159
+ previewMerge: "core",
160
+ commitMerge: "core",
161
+ createFeatureBranch: "core",
162
+ createHotfixBranch: "core",
163
+ getBranchStatus: "core",
164
+ deleteBranchSafely: "core",
165
+ // Admin methods
166
+ getAdminUsers: "core",
167
+ assignProjectsToUser: "core",
168
+ searchAdminUsers: "core",
169
+ getAdminUsersByEmails: "core",
170
+ getAdminUsersByIds: "core",
171
+ assignSpecificProjectsToUser: "core",
172
+ assignAllProjectsToUser: "core"
132
173
  };
@@ -32,7 +32,7 @@ __export(symstoryClient_exports, {
32
32
  module.exports = __toCommonJS(symstoryClient_exports);
33
33
  var import_environment = __toESM(require("../config/environment.js"), 1);
34
34
  const DEFAULT_OPTIONS = {
35
- baseUrl: import_environment.default.baseUrl
35
+ apiUrl: import_environment.default.apiUrl
36
36
  };
37
37
  class SymstoryClient {
38
38
  /**
@@ -59,7 +59,7 @@ class SymstoryClient {
59
59
  * @returns {Promise<any>} - The response data.
60
60
  */
61
61
  async request(path = "", options = {}) {
62
- const url = `${this.options.baseUrl}/symstory/${this.appKey}${path}`;
62
+ const url = `${this.options.apiUrl}/symstory/${this.appKey}${path}`;
63
63
  const response = await fetch(url, {
64
64
  ...options,
65
65
  headers: { ...this.headers, ...options.headers }
@@ -213,7 +213,7 @@ class SymstoryClient {
213
213
  * @param {string} [options.branch='main'] - The branch name. (Only if version number is provided)
214
214
  * @returns {Promise<any>} - The response data.
215
215
  */
216
- publishVersion(version, { branch = "main" } = {}) {
216
+ publishVersion(version) {
217
217
  return this.request("/publish", {
218
218
  method: "POST",
219
219
  body: JSON.stringify({ version })
@@ -229,11 +229,11 @@ class SymstoryClient {
229
229
  */
230
230
  getChanges({ versionId, versionValue, branch } = {}) {
231
231
  return this.request(
232
- "/changes?" + new URLSearchParams({
232
+ `/changes?${new URLSearchParams({
233
233
  ...versionId ? { versionId } : {},
234
234
  ...versionValue ? { versionValue } : {},
235
235
  ...branch ? { branch } : {}
236
- }).toString(),
236
+ }).toString()}`,
237
237
  {}
238
238
  );
239
239
  }
@@ -14,12 +14,8 @@ var CONFIG = {
14
14
  // Environment-specific configurations
15
15
  local: {
16
16
  // local
17
- baseUrl: "http://localhost:8080",
18
- // For symstory api
19
17
  socketUrl: "http://localhost:8080",
20
18
  // For socket api
21
- routerUrl: "http://localhost:8080",
22
- // For router api
23
19
  apiUrl: "http://localhost:8080",
24
20
  // For server api
25
21
  basedEnv: "development",
@@ -37,29 +33,25 @@ var CONFIG = {
37
33
  }
38
34
  },
39
35
  development: {
40
- baseUrl: "https://dev.api.symbols.app",
41
36
  socketUrl: "https://dev.api.symbols.app",
42
- routerUrl: "https://dev.api.symbols.app",
43
37
  apiUrl: "https://dev.api.symbols.app",
44
- basedEnv: "development",
45
- basedProject: "platform-v2-sm",
46
- basedOrg: "symbols",
47
38
  githubClientId: "Ov23liHxyWFBxS8f1gnF"
48
39
  },
49
40
  testing: {
50
- baseUrl: "https://test.api.symbols.app",
51
41
  socketUrl: "https://test.api.symbols.app",
52
- routerUrl: "https://test.api.symbols.app",
53
42
  apiUrl: "https://test.api.symbols.app",
54
43
  basedEnv: "testing",
55
44
  basedProject: "platform-v2-sm",
56
45
  basedOrg: "symbols",
57
46
  githubClientId: "Ov23liHxyWFBxS8f1gnF"
58
47
  },
48
+ upcoming: {
49
+ socketUrl: "https://upcoming.api.symbols.app",
50
+ apiUrl: "https://upcoming.api.symbols.app",
51
+ githubClientId: "Ov23liWF7NvdZ056RV5J"
52
+ },
59
53
  staging: {
60
- baseUrl: "https://staging.api.symbols.app",
61
54
  socketUrl: "https://staging.api.symbols.app",
62
- routerUrl: "https://staging.api.symbols.app",
63
55
  apiUrl: "https://staging.api.symbols.app",
64
56
  basedEnv: "staging",
65
57
  basedProject: "platform-v2-sm",
@@ -67,9 +59,7 @@ var CONFIG = {
67
59
  githubClientId: "Ov23ligwZDQVD0VfuWNa"
68
60
  },
69
61
  production: {
70
- baseUrl: "https://api.symbols.app",
71
62
  socketUrl: "https://api.symbols.app",
72
- routerUrl: "https://api.symbols.app",
73
63
  apiUrl: "https://api.symbols.app",
74
64
  basedEnv: "production",
75
65
  basedProject: "platform-v2-sm",
@@ -90,9 +80,7 @@ var getConfig = () => {
90
80
  const envConfig = { ...CONFIG.common, ...CONFIG[env] };
91
81
  const finalConfig = {
92
82
  ...envConfig,
93
- baseUrl: process.env.SYMBOLS_APP_BASE_URL || envConfig.baseUrl,
94
83
  socketUrl: process.env.SYMBOLS_APP_SOCKET_URL || envConfig.socketUrl,
95
- routerUrl: process.env.SYMBOLS_APP_ROUTER_URL || envConfig.routerUrl,
96
84
  apiUrl: process.env.SYMBOLS_APP_API_URL || envConfig.apiUrl,
97
85
  basedEnv: process.env.SYMBOLS_APP_BASED_ENV || envConfig.basedEnv,
98
86
  basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
@@ -105,12 +93,8 @@ var getConfig = () => {
105
93
  // Store all environment variables for potential future use
106
94
  };
107
95
  const requiredFields = [
108
- "baseUrl",
109
96
  "socketUrl",
110
97
  "apiUrl",
111
- "basedEnv",
112
- "basedProject",
113
- "basedOrg",
114
98
  "githubClientId",
115
99
  "googleClientId"
116
100
  ];