@symbo.ls/sdk 2.32.0 → 2.32.2
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.
- package/dist/cjs/config/environment.js +8 -43
- package/dist/cjs/index.js +4 -12
- package/dist/cjs/services/AdminService.js +4 -4
- package/dist/cjs/services/AuthService.js +149 -36
- package/dist/cjs/services/BaseService.js +18 -5
- package/dist/cjs/services/BranchService.js +10 -10
- package/dist/cjs/services/CollabService.js +18 -114
- package/dist/cjs/services/CoreService.js +19 -19
- package/dist/cjs/services/DnsService.js +4 -4
- package/dist/cjs/services/FileService.js +2 -2
- package/dist/cjs/services/PaymentService.js +2 -2
- package/dist/cjs/services/PlanService.js +12 -12
- package/dist/cjs/services/ProjectService.js +34 -39
- package/dist/cjs/services/PullRequestService.js +7 -7
- package/dist/cjs/services/SubscriptionService.js +14 -14
- package/dist/cjs/services/index.js +0 -4
- package/dist/cjs/utils/TokenManager.js +5 -16
- package/dist/cjs/utils/services.js +1 -14
- package/dist/esm/config/environment.js +8 -43
- package/dist/esm/index.js +300 -907
- package/dist/esm/services/AdminService.js +35 -68
- package/dist/esm/services/AuthService.js +168 -100
- package/dist/esm/services/BaseService.js +31 -64
- package/dist/esm/services/BranchService.js +41 -74
- package/dist/esm/services/CollabService.js +50 -452
- package/dist/esm/services/CoreService.js +50 -83
- package/dist/esm/services/DnsService.js +35 -68
- package/dist/esm/services/FileService.js +33 -66
- package/dist/esm/services/PaymentService.js +33 -66
- package/dist/esm/services/PlanService.js +43 -76
- package/dist/esm/services/ProjectService.js +65 -375
- package/dist/esm/services/PullRequestService.js +38 -71
- package/dist/esm/services/SubscriptionService.js +45 -78
- package/dist/esm/services/index.js +295 -884
- package/dist/esm/utils/CollabClient.js +8 -43
- package/dist/esm/utils/TokenManager.js +5 -16
- package/dist/esm/utils/services.js +1 -14
- package/dist/node/config/environment.js +8 -43
- package/dist/node/index.js +5 -14
- package/dist/node/services/AdminService.js +4 -4
- package/dist/node/services/AuthService.js +139 -36
- package/dist/node/services/BaseService.js +18 -5
- package/dist/node/services/BranchService.js +10 -10
- package/dist/node/services/CollabService.js +19 -115
- package/dist/node/services/CoreService.js +19 -19
- package/dist/node/services/DnsService.js +4 -4
- package/dist/node/services/FileService.js +2 -2
- package/dist/node/services/PaymentService.js +2 -2
- package/dist/node/services/PlanService.js +12 -12
- package/dist/node/services/ProjectService.js +34 -39
- package/dist/node/services/PullRequestService.js +7 -7
- package/dist/node/services/SubscriptionService.js +14 -14
- package/dist/node/services/index.js +0 -4
- package/dist/node/utils/TokenManager.js +5 -16
- package/dist/node/utils/services.js +1 -14
- package/package.json +6 -7
- package/src/config/environment.js +9 -48
- package/src/index.js +22 -38
- package/src/services/AdminService.js +4 -4
- package/src/services/AuthService.js +175 -42
- package/src/services/BaseService.js +24 -7
- package/src/services/BranchService.js +10 -10
- package/src/services/CollabService.js +19 -142
- package/src/services/CoreService.js +19 -19
- package/src/services/DnsService.js +4 -4
- package/src/services/FileService.js +2 -2
- package/src/services/PaymentService.js +2 -2
- package/src/services/PlanService.js +12 -12
- package/src/services/ProjectService.js +34 -41
- package/src/services/PullRequestService.js +7 -7
- package/src/services/SubscriptionService.js +14 -14
- package/src/services/index.js +1 -6
- package/src/utils/TokenManager.js +5 -19
- package/src/utils/services.js +1 -15
- package/dist/cjs/services/ScreenshotService.js +0 -304
- package/dist/cjs/utils/ordering.js +0 -295
- package/dist/esm/services/ScreenshotService.js +0 -992
- package/dist/esm/utils/ordering.js +0 -277
- package/dist/node/services/ScreenshotService.js +0 -285
- package/dist/node/utils/ordering.js +0 -276
- package/src/services/ScreenshotService.js +0 -258
- package/src/utils/ordering.js +0 -240
|
@@ -28,28 +28,18 @@ var CONFIG = {
|
|
|
28
28
|
// For based api
|
|
29
29
|
basedOrg: "symbols",
|
|
30
30
|
// For based api
|
|
31
|
-
githubClientId: "
|
|
31
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF",
|
|
32
32
|
// For github api
|
|
33
33
|
// Environment-specific feature toggles (override common)
|
|
34
34
|
features: {
|
|
35
35
|
betaFeatures: true
|
|
36
36
|
// Enable beta features in local dev
|
|
37
|
-
}
|
|
38
|
-
typesenseCollectionName: "docs",
|
|
39
|
-
typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
|
|
40
|
-
typesenseHost: "localhost",
|
|
41
|
-
typesensePort: "8108",
|
|
42
|
-
typesenseProtocol: "http"
|
|
37
|
+
}
|
|
43
38
|
},
|
|
44
39
|
development: {
|
|
45
40
|
socketUrl: "https://dev.api.symbols.app",
|
|
46
41
|
apiUrl: "https://dev.api.symbols.app",
|
|
47
|
-
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
48
|
-
typesenseCollectionName: "docs",
|
|
49
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
50
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
51
|
-
typesensePort: "443",
|
|
52
|
-
typesenseProtocol: "https"
|
|
42
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
53
43
|
},
|
|
54
44
|
testing: {
|
|
55
45
|
socketUrl: "https://test.api.symbols.app",
|
|
@@ -57,22 +47,12 @@ var CONFIG = {
|
|
|
57
47
|
basedEnv: "testing",
|
|
58
48
|
basedProject: "platform-v2-sm",
|
|
59
49
|
basedOrg: "symbols",
|
|
60
|
-
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
61
|
-
typesenseCollectionName: "docs",
|
|
62
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
63
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
64
|
-
typesensePort: "443",
|
|
65
|
-
typesenseProtocol: "https"
|
|
50
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
66
51
|
},
|
|
67
52
|
upcoming: {
|
|
68
53
|
socketUrl: "https://upcoming.api.symbols.app",
|
|
69
54
|
apiUrl: "https://upcoming.api.symbols.app",
|
|
70
|
-
githubClientId: "Ov23liWF7NvdZ056RV5J"
|
|
71
|
-
typesenseCollectionName: "docs",
|
|
72
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
73
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
74
|
-
typesensePort: "443",
|
|
75
|
-
typesenseProtocol: "https"
|
|
55
|
+
githubClientId: "Ov23liWF7NvdZ056RV5J"
|
|
76
56
|
},
|
|
77
57
|
staging: {
|
|
78
58
|
socketUrl: "https://staging.api.symbols.app",
|
|
@@ -80,12 +60,7 @@ var CONFIG = {
|
|
|
80
60
|
basedEnv: "staging",
|
|
81
61
|
basedProject: "platform-v2-sm",
|
|
82
62
|
basedOrg: "symbols",
|
|
83
|
-
githubClientId: "Ov23ligwZDQVD0VfuWNa"
|
|
84
|
-
typesenseCollectionName: "docs",
|
|
85
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
86
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
87
|
-
typesensePort: "443",
|
|
88
|
-
typesenseProtocol: "https"
|
|
63
|
+
githubClientId: "Ov23ligwZDQVD0VfuWNa"
|
|
89
64
|
},
|
|
90
65
|
production: {
|
|
91
66
|
socketUrl: "https://api.symbols.app",
|
|
@@ -93,12 +68,7 @@ var CONFIG = {
|
|
|
93
68
|
basedEnv: "production",
|
|
94
69
|
basedProject: "platform-v2-sm",
|
|
95
70
|
basedOrg: "symbols",
|
|
96
|
-
githubClientId: "Ov23liFAlOEIXtX3dBtR"
|
|
97
|
-
typesenseCollectionName: "docs",
|
|
98
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
99
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
100
|
-
typesensePort: "443",
|
|
101
|
-
typesenseProtocol: "https"
|
|
71
|
+
githubClientId: "Ov23liFAlOEIXtX3dBtR"
|
|
102
72
|
}
|
|
103
73
|
};
|
|
104
74
|
var getEnvironment = () => {
|
|
@@ -120,11 +90,6 @@ var getConfig = () => {
|
|
|
120
90
|
basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
|
|
121
91
|
basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
|
|
122
92
|
githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
|
|
123
|
-
typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
|
|
124
|
-
typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
|
|
125
|
-
typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
|
|
126
|
-
typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
|
|
127
|
-
typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
|
|
128
93
|
isDevelopment: isDevelopment(env),
|
|
129
94
|
isTesting: env === "testing",
|
|
130
95
|
isStaging: env === "staging",
|
|
@@ -144,7 +109,7 @@ var getConfig = () => {
|
|
|
144
109
|
);
|
|
145
110
|
}
|
|
146
111
|
if (finalConfig.isDevelopment) {
|
|
147
|
-
console.
|
|
112
|
+
console.log(
|
|
148
113
|
"environment in SDK:",
|
|
149
114
|
env || process.env.NODE_ENV || process.env.NODE_ENV
|
|
150
115
|
);
|
|
@@ -183,7 +148,7 @@ var TokenManager = class {
|
|
|
183
148
|
});
|
|
184
149
|
this.config = {
|
|
185
150
|
storagePrefix: "symbols_",
|
|
186
|
-
storageType: typeof window === "undefined" || process.env.NODE_ENV === "test"
|
|
151
|
+
storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" ? "memory" : "localStorage",
|
|
187
152
|
// 'localStorage' | 'sessionStorage' | 'memory'
|
|
188
153
|
refreshBuffer: 60 * 1e3,
|
|
189
154
|
// Refresh 1 minute before expiry
|
|
@@ -223,26 +188,15 @@ var TokenManager = class {
|
|
|
223
188
|
if (typeof window === "undefined") {
|
|
224
189
|
return this._memoryStorage;
|
|
225
190
|
}
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
const storage = provider();
|
|
229
|
-
const testKey = `${this.config.storagePrefix}__tm_test__`;
|
|
230
|
-
storage.setItem(testKey, "1");
|
|
231
|
-
storage.removeItem(testKey);
|
|
232
|
-
return storage;
|
|
233
|
-
} catch {
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
const localStorageInstance = safeGetStorage(() => window.localStorage);
|
|
238
|
-
const sessionStorageInstance = safeGetStorage(() => window.sessionStorage);
|
|
191
|
+
const hasLocalStorage = typeof window.localStorage !== "undefined";
|
|
192
|
+
const hasSessionStorage = typeof window.sessionStorage !== "undefined";
|
|
239
193
|
switch (this.config.storageType) {
|
|
240
194
|
case "sessionStorage":
|
|
241
|
-
return
|
|
195
|
+
return hasSessionStorage ? window.sessionStorage : this._memoryStorage;
|
|
242
196
|
case "memory":
|
|
243
197
|
return this._memoryStorage;
|
|
244
198
|
default:
|
|
245
|
-
return
|
|
199
|
+
return hasLocalStorage ? window.localStorage : this._memoryStorage;
|
|
246
200
|
}
|
|
247
201
|
}
|
|
248
202
|
/**
|
|
@@ -581,10 +535,20 @@ var BaseService = class {
|
|
|
581
535
|
}
|
|
582
536
|
this._tokenManager = getTokenManager({
|
|
583
537
|
apiUrl: this._apiUrl,
|
|
538
|
+
onTokenRefresh: (tokens) => {
|
|
539
|
+
this.updateContext({ authToken: tokens.accessToken });
|
|
540
|
+
},
|
|
541
|
+
onTokenExpired: () => {
|
|
542
|
+
this.updateContext({ authToken: null });
|
|
543
|
+
},
|
|
584
544
|
onTokenError: (error) => {
|
|
585
545
|
console.error("Token management error:", error);
|
|
586
546
|
}
|
|
587
547
|
});
|
|
548
|
+
const { authToken } = this._context;
|
|
549
|
+
if (authToken && !this._tokenManager.hasTokens()) {
|
|
550
|
+
this._tokenManager.setTokens({ access_token: authToken });
|
|
551
|
+
}
|
|
588
552
|
this._setReady();
|
|
589
553
|
} catch (error) {
|
|
590
554
|
this._setError(error);
|
|
@@ -593,9 +557,7 @@ var BaseService = class {
|
|
|
593
557
|
}
|
|
594
558
|
// Update context
|
|
595
559
|
updateContext(context) {
|
|
596
|
-
|
|
597
|
-
Object.assign(this._context, context);
|
|
598
|
-
}
|
|
560
|
+
this._context = { ...this._context, ...context };
|
|
599
561
|
}
|
|
600
562
|
// Get service status
|
|
601
563
|
getStatus() {
|
|
@@ -650,6 +612,11 @@ var BaseService = class {
|
|
|
650
612
|
error
|
|
651
613
|
);
|
|
652
614
|
}
|
|
615
|
+
} else if (this._requiresInit(options.methodName)) {
|
|
616
|
+
const { authToken } = this._context;
|
|
617
|
+
if (authToken) {
|
|
618
|
+
defaultHeaders.Authorization = `Bearer ${authToken}`;
|
|
619
|
+
}
|
|
653
620
|
}
|
|
654
621
|
try {
|
|
655
622
|
const response = await fetch(url, {
|
|
@@ -667,11 +634,11 @@ var BaseService = class {
|
|
|
667
634
|
error = await response.json();
|
|
668
635
|
} catch {
|
|
669
636
|
}
|
|
670
|
-
throw new Error(error.message || error.error || "Request failed"
|
|
637
|
+
throw new Error(error.message || error.error || "Request failed");
|
|
671
638
|
}
|
|
672
639
|
return response.status === 204 ? null : response.json();
|
|
673
640
|
} catch (error) {
|
|
674
|
-
throw new Error(`Request failed: ${error.message}
|
|
641
|
+
throw new Error(`Request failed: ${error.message}`);
|
|
675
642
|
}
|
|
676
643
|
}
|
|
677
644
|
// Helper method to determine if a method requires initialization
|
|
@@ -732,7 +699,7 @@ var PullRequestService = class extends BaseService {
|
|
|
732
699
|
}
|
|
733
700
|
throw new Error(response.message);
|
|
734
701
|
} catch (error) {
|
|
735
|
-
throw new Error(`Failed to create pull request: ${error.message}
|
|
702
|
+
throw new Error(`Failed to create pull request: ${error.message}`);
|
|
736
703
|
}
|
|
737
704
|
}
|
|
738
705
|
/**
|
|
@@ -768,7 +735,7 @@ var PullRequestService = class extends BaseService {
|
|
|
768
735
|
}
|
|
769
736
|
throw new Error(response.message);
|
|
770
737
|
} catch (error) {
|
|
771
|
-
throw new Error(`Failed to list pull requests: ${error.message}
|
|
738
|
+
throw new Error(`Failed to list pull requests: ${error.message}`);
|
|
772
739
|
}
|
|
773
740
|
}
|
|
774
741
|
/**
|
|
@@ -795,7 +762,7 @@ var PullRequestService = class extends BaseService {
|
|
|
795
762
|
}
|
|
796
763
|
throw new Error(response.message);
|
|
797
764
|
} catch (error) {
|
|
798
|
-
throw new Error(`Failed to get pull request: ${error.message}
|
|
765
|
+
throw new Error(`Failed to get pull request: ${error.message}`);
|
|
799
766
|
}
|
|
800
767
|
}
|
|
801
768
|
/**
|
|
@@ -829,7 +796,7 @@ var PullRequestService = class extends BaseService {
|
|
|
829
796
|
}
|
|
830
797
|
throw new Error(response.message);
|
|
831
798
|
} catch (error) {
|
|
832
|
-
throw new Error(`Failed to review pull request: ${error.message}
|
|
799
|
+
throw new Error(`Failed to review pull request: ${error.message}`);
|
|
833
800
|
}
|
|
834
801
|
}
|
|
835
802
|
/**
|
|
@@ -860,7 +827,7 @@ var PullRequestService = class extends BaseService {
|
|
|
860
827
|
}
|
|
861
828
|
throw new Error(response.message);
|
|
862
829
|
} catch (error) {
|
|
863
|
-
throw new Error(`Failed to add pull request comment: ${error.message}
|
|
830
|
+
throw new Error(`Failed to add pull request comment: ${error.message}`);
|
|
864
831
|
}
|
|
865
832
|
}
|
|
866
833
|
/**
|
|
@@ -890,7 +857,7 @@ var PullRequestService = class extends BaseService {
|
|
|
890
857
|
if (error.message.includes("conflicts") || error.message.includes("409")) {
|
|
891
858
|
throw new Error(`Pull request has merge conflicts: ${error.message}`);
|
|
892
859
|
}
|
|
893
|
-
throw new Error(`Failed to merge pull request: ${error.message}
|
|
860
|
+
throw new Error(`Failed to merge pull request: ${error.message}`);
|
|
894
861
|
}
|
|
895
862
|
}
|
|
896
863
|
/**
|
|
@@ -917,7 +884,7 @@ var PullRequestService = class extends BaseService {
|
|
|
917
884
|
}
|
|
918
885
|
throw new Error(response.message);
|
|
919
886
|
} catch (error) {
|
|
920
|
-
throw new Error(`Failed to get pull request diff: ${error.message}
|
|
887
|
+
throw new Error(`Failed to get pull request diff: ${error.message}`);
|
|
921
888
|
}
|
|
922
889
|
}
|
|
923
890
|
// ==================== PULL REQUEST HELPER METHODS ====================
|
|
@@ -28,28 +28,18 @@ var CONFIG = {
|
|
|
28
28
|
// For based api
|
|
29
29
|
basedOrg: "symbols",
|
|
30
30
|
// For based api
|
|
31
|
-
githubClientId: "
|
|
31
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF",
|
|
32
32
|
// For github api
|
|
33
33
|
// Environment-specific feature toggles (override common)
|
|
34
34
|
features: {
|
|
35
35
|
betaFeatures: true
|
|
36
36
|
// Enable beta features in local dev
|
|
37
|
-
}
|
|
38
|
-
typesenseCollectionName: "docs",
|
|
39
|
-
typesenseApiKey: "vZya3L2zpq8L6iI5WWMUZJZABvT63VDb",
|
|
40
|
-
typesenseHost: "localhost",
|
|
41
|
-
typesensePort: "8108",
|
|
42
|
-
typesenseProtocol: "http"
|
|
37
|
+
}
|
|
43
38
|
},
|
|
44
39
|
development: {
|
|
45
40
|
socketUrl: "https://dev.api.symbols.app",
|
|
46
41
|
apiUrl: "https://dev.api.symbols.app",
|
|
47
|
-
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
48
|
-
typesenseCollectionName: "docs",
|
|
49
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
50
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
51
|
-
typesensePort: "443",
|
|
52
|
-
typesenseProtocol: "https"
|
|
42
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
53
43
|
},
|
|
54
44
|
testing: {
|
|
55
45
|
socketUrl: "https://test.api.symbols.app",
|
|
@@ -57,22 +47,12 @@ var CONFIG = {
|
|
|
57
47
|
basedEnv: "testing",
|
|
58
48
|
basedProject: "platform-v2-sm",
|
|
59
49
|
basedOrg: "symbols",
|
|
60
|
-
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
61
|
-
typesenseCollectionName: "docs",
|
|
62
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
63
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
64
|
-
typesensePort: "443",
|
|
65
|
-
typesenseProtocol: "https"
|
|
50
|
+
githubClientId: "Ov23liHxyWFBxS8f1gnF"
|
|
66
51
|
},
|
|
67
52
|
upcoming: {
|
|
68
53
|
socketUrl: "https://upcoming.api.symbols.app",
|
|
69
54
|
apiUrl: "https://upcoming.api.symbols.app",
|
|
70
|
-
githubClientId: "Ov23liWF7NvdZ056RV5J"
|
|
71
|
-
typesenseCollectionName: "docs",
|
|
72
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
73
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
74
|
-
typesensePort: "443",
|
|
75
|
-
typesenseProtocol: "https"
|
|
55
|
+
githubClientId: "Ov23liWF7NvdZ056RV5J"
|
|
76
56
|
},
|
|
77
57
|
staging: {
|
|
78
58
|
socketUrl: "https://staging.api.symbols.app",
|
|
@@ -80,12 +60,7 @@ var CONFIG = {
|
|
|
80
60
|
basedEnv: "staging",
|
|
81
61
|
basedProject: "platform-v2-sm",
|
|
82
62
|
basedOrg: "symbols",
|
|
83
|
-
githubClientId: "Ov23ligwZDQVD0VfuWNa"
|
|
84
|
-
typesenseCollectionName: "docs",
|
|
85
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
86
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
87
|
-
typesensePort: "443",
|
|
88
|
-
typesenseProtocol: "https"
|
|
63
|
+
githubClientId: "Ov23ligwZDQVD0VfuWNa"
|
|
89
64
|
},
|
|
90
65
|
production: {
|
|
91
66
|
socketUrl: "https://api.symbols.app",
|
|
@@ -93,12 +68,7 @@ var CONFIG = {
|
|
|
93
68
|
basedEnv: "production",
|
|
94
69
|
basedProject: "platform-v2-sm",
|
|
95
70
|
basedOrg: "symbols",
|
|
96
|
-
githubClientId: "Ov23liFAlOEIXtX3dBtR"
|
|
97
|
-
typesenseCollectionName: "docs",
|
|
98
|
-
typesenseApiKey: "awmcVpbWqZi9IUgmvslp1C5LKDU8tMjA",
|
|
99
|
-
typesenseHost: "tl2qpnwxev4cjm36p-1.a1.typesense.net",
|
|
100
|
-
typesensePort: "443",
|
|
101
|
-
typesenseProtocol: "https"
|
|
71
|
+
githubClientId: "Ov23liFAlOEIXtX3dBtR"
|
|
102
72
|
}
|
|
103
73
|
};
|
|
104
74
|
var getEnvironment = () => {
|
|
@@ -120,11 +90,6 @@ var getConfig = () => {
|
|
|
120
90
|
basedProject: process.env.SYMBOLS_APP_BASED_PROJECT || envConfig.basedProject,
|
|
121
91
|
basedOrg: process.env.SYMBOLS_APP_BASED_ORG || envConfig.basedOrg,
|
|
122
92
|
githubClientId: process.env.SYMBOLS_APP_GITHUB_CLIENT_ID || envConfig.githubClientId,
|
|
123
|
-
typesenseCollectionName: process.env.TYPESENSE_COLLECTION_NAME || envConfig.typesenseCollectionName,
|
|
124
|
-
typesenseApiKey: process.env.TYPESENSE_API_KEY || envConfig.typesenseApiKey,
|
|
125
|
-
typesenseHost: process.env.TYPESENSE_HOST || envConfig.typesenseHost,
|
|
126
|
-
typesensePort: process.env.TYPESENSE_PORT || envConfig.typesensePort,
|
|
127
|
-
typesenseProtocol: process.env.TYPESENSE_PROTOCOL || envConfig.typesenseProtocol,
|
|
128
93
|
isDevelopment: isDevelopment(env),
|
|
129
94
|
isTesting: env === "testing",
|
|
130
95
|
isStaging: env === "staging",
|
|
@@ -144,7 +109,7 @@ var getConfig = () => {
|
|
|
144
109
|
);
|
|
145
110
|
}
|
|
146
111
|
if (finalConfig.isDevelopment) {
|
|
147
|
-
console.
|
|
112
|
+
console.log(
|
|
148
113
|
"environment in SDK:",
|
|
149
114
|
env || process.env.NODE_ENV || process.env.NODE_ENV
|
|
150
115
|
);
|
|
@@ -183,7 +148,7 @@ var TokenManager = class {
|
|
|
183
148
|
});
|
|
184
149
|
this.config = {
|
|
185
150
|
storagePrefix: "symbols_",
|
|
186
|
-
storageType: typeof window === "undefined" || process.env.NODE_ENV === "test"
|
|
151
|
+
storageType: typeof window === "undefined" || process.env.NODE_ENV === "test" ? "memory" : "localStorage",
|
|
187
152
|
// 'localStorage' | 'sessionStorage' | 'memory'
|
|
188
153
|
refreshBuffer: 60 * 1e3,
|
|
189
154
|
// Refresh 1 minute before expiry
|
|
@@ -223,26 +188,15 @@ var TokenManager = class {
|
|
|
223
188
|
if (typeof window === "undefined") {
|
|
224
189
|
return this._memoryStorage;
|
|
225
190
|
}
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
const storage = provider();
|
|
229
|
-
const testKey = `${this.config.storagePrefix}__tm_test__`;
|
|
230
|
-
storage.setItem(testKey, "1");
|
|
231
|
-
storage.removeItem(testKey);
|
|
232
|
-
return storage;
|
|
233
|
-
} catch {
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
const localStorageInstance = safeGetStorage(() => window.localStorage);
|
|
238
|
-
const sessionStorageInstance = safeGetStorage(() => window.sessionStorage);
|
|
191
|
+
const hasLocalStorage = typeof window.localStorage !== "undefined";
|
|
192
|
+
const hasSessionStorage = typeof window.sessionStorage !== "undefined";
|
|
239
193
|
switch (this.config.storageType) {
|
|
240
194
|
case "sessionStorage":
|
|
241
|
-
return
|
|
195
|
+
return hasSessionStorage ? window.sessionStorage : this._memoryStorage;
|
|
242
196
|
case "memory":
|
|
243
197
|
return this._memoryStorage;
|
|
244
198
|
default:
|
|
245
|
-
return
|
|
199
|
+
return hasLocalStorage ? window.localStorage : this._memoryStorage;
|
|
246
200
|
}
|
|
247
201
|
}
|
|
248
202
|
/**
|
|
@@ -581,10 +535,20 @@ var BaseService = class {
|
|
|
581
535
|
}
|
|
582
536
|
this._tokenManager = getTokenManager({
|
|
583
537
|
apiUrl: this._apiUrl,
|
|
538
|
+
onTokenRefresh: (tokens) => {
|
|
539
|
+
this.updateContext({ authToken: tokens.accessToken });
|
|
540
|
+
},
|
|
541
|
+
onTokenExpired: () => {
|
|
542
|
+
this.updateContext({ authToken: null });
|
|
543
|
+
},
|
|
584
544
|
onTokenError: (error) => {
|
|
585
545
|
console.error("Token management error:", error);
|
|
586
546
|
}
|
|
587
547
|
});
|
|
548
|
+
const { authToken } = this._context;
|
|
549
|
+
if (authToken && !this._tokenManager.hasTokens()) {
|
|
550
|
+
this._tokenManager.setTokens({ access_token: authToken });
|
|
551
|
+
}
|
|
588
552
|
this._setReady();
|
|
589
553
|
} catch (error) {
|
|
590
554
|
this._setError(error);
|
|
@@ -593,9 +557,7 @@ var BaseService = class {
|
|
|
593
557
|
}
|
|
594
558
|
// Update context
|
|
595
559
|
updateContext(context) {
|
|
596
|
-
|
|
597
|
-
Object.assign(this._context, context);
|
|
598
|
-
}
|
|
560
|
+
this._context = { ...this._context, ...context };
|
|
599
561
|
}
|
|
600
562
|
// Get service status
|
|
601
563
|
getStatus() {
|
|
@@ -650,6 +612,11 @@ var BaseService = class {
|
|
|
650
612
|
error
|
|
651
613
|
);
|
|
652
614
|
}
|
|
615
|
+
} else if (this._requiresInit(options.methodName)) {
|
|
616
|
+
const { authToken } = this._context;
|
|
617
|
+
if (authToken) {
|
|
618
|
+
defaultHeaders.Authorization = `Bearer ${authToken}`;
|
|
619
|
+
}
|
|
653
620
|
}
|
|
654
621
|
try {
|
|
655
622
|
const response = await fetch(url, {
|
|
@@ -667,11 +634,11 @@ var BaseService = class {
|
|
|
667
634
|
error = await response.json();
|
|
668
635
|
} catch {
|
|
669
636
|
}
|
|
670
|
-
throw new Error(error.message || error.error || "Request failed"
|
|
637
|
+
throw new Error(error.message || error.error || "Request failed");
|
|
671
638
|
}
|
|
672
639
|
return response.status === 204 ? null : response.json();
|
|
673
640
|
} catch (error) {
|
|
674
|
-
throw new Error(`Request failed: ${error.message}
|
|
641
|
+
throw new Error(`Request failed: ${error.message}`);
|
|
675
642
|
}
|
|
676
643
|
}
|
|
677
644
|
// Helper method to determine if a method requires initialization
|
|
@@ -740,7 +707,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
740
707
|
}
|
|
741
708
|
throw new Error(response.message);
|
|
742
709
|
} catch (error) {
|
|
743
|
-
throw new Error(`Failed to create subscription: ${error.message}
|
|
710
|
+
throw new Error(`Failed to create subscription: ${error.message}`);
|
|
744
711
|
}
|
|
745
712
|
}
|
|
746
713
|
/**
|
|
@@ -761,7 +728,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
761
728
|
}
|
|
762
729
|
throw new Error(response.message);
|
|
763
730
|
} catch (error) {
|
|
764
|
-
throw new Error(`Failed to get project subscription status: ${error.message}
|
|
731
|
+
throw new Error(`Failed to get project subscription status: ${error.message}`);
|
|
765
732
|
}
|
|
766
733
|
}
|
|
767
734
|
/**
|
|
@@ -782,7 +749,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
782
749
|
}
|
|
783
750
|
throw new Error(response.message);
|
|
784
751
|
} catch (error) {
|
|
785
|
-
throw new Error(`Failed to get subscription usage: ${error.message}
|
|
752
|
+
throw new Error(`Failed to get subscription usage: ${error.message}`);
|
|
786
753
|
}
|
|
787
754
|
}
|
|
788
755
|
/**
|
|
@@ -803,7 +770,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
803
770
|
}
|
|
804
771
|
throw new Error(response.message);
|
|
805
772
|
} catch (error) {
|
|
806
|
-
throw new Error(`Failed to cancel subscription: ${error.message}
|
|
773
|
+
throw new Error(`Failed to cancel subscription: ${error.message}`);
|
|
807
774
|
}
|
|
808
775
|
}
|
|
809
776
|
/**
|
|
@@ -840,7 +807,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
840
807
|
}
|
|
841
808
|
throw new Error(response.message);
|
|
842
809
|
} catch (error) {
|
|
843
|
-
throw new Error(`Failed to list invoices: ${error.message}
|
|
810
|
+
throw new Error(`Failed to list invoices: ${error.message}`);
|
|
844
811
|
}
|
|
845
812
|
}
|
|
846
813
|
/**
|
|
@@ -867,7 +834,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
867
834
|
}
|
|
868
835
|
throw new Error(response.message);
|
|
869
836
|
} catch (error) {
|
|
870
|
-
throw new Error(`Failed to get portal URL: ${error.message}
|
|
837
|
+
throw new Error(`Failed to get portal URL: ${error.message}`);
|
|
871
838
|
}
|
|
872
839
|
}
|
|
873
840
|
// ==================== SUBSCRIPTION HELPER METHODS ====================
|
|
@@ -902,7 +869,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
902
869
|
const status = await this.getProjectStatus(projectId);
|
|
903
870
|
return status.hasSubscription === true;
|
|
904
871
|
} catch (error) {
|
|
905
|
-
throw new Error(`Failed to check subscription status: ${error.message}
|
|
872
|
+
throw new Error(`Failed to check subscription status: ${error.message}`);
|
|
906
873
|
}
|
|
907
874
|
}
|
|
908
875
|
/**
|
|
@@ -916,7 +883,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
916
883
|
}
|
|
917
884
|
return status.subscription;
|
|
918
885
|
} catch (error) {
|
|
919
|
-
throw new Error(`Failed to get project subscription: ${error.message}
|
|
886
|
+
throw new Error(`Failed to get project subscription: ${error.message}`);
|
|
920
887
|
}
|
|
921
888
|
}
|
|
922
889
|
/**
|
|
@@ -930,7 +897,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
930
897
|
}
|
|
931
898
|
return status.usage;
|
|
932
899
|
} catch (error) {
|
|
933
|
-
throw new Error(`Failed to get project usage: ${error.message}
|
|
900
|
+
throw new Error(`Failed to get project usage: ${error.message}`);
|
|
934
901
|
}
|
|
935
902
|
}
|
|
936
903
|
/**
|
|
@@ -944,7 +911,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
944
911
|
pagination: result.pagination || {}
|
|
945
912
|
};
|
|
946
913
|
} catch (error) {
|
|
947
|
-
throw new Error(`Failed to get invoices with pagination: ${error.message}
|
|
914
|
+
throw new Error(`Failed to get invoices with pagination: ${error.message}`);
|
|
948
915
|
}
|
|
949
916
|
}
|
|
950
917
|
/**
|
|
@@ -955,7 +922,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
955
922
|
const usage = await this.getUsage(subscriptionId);
|
|
956
923
|
return usage && usage.subscription && usage.subscription.status === "active";
|
|
957
924
|
} catch (error) {
|
|
958
|
-
throw new Error(`Failed to check subscription status: ${error.message}
|
|
925
|
+
throw new Error(`Failed to check subscription status: ${error.message}`);
|
|
959
926
|
}
|
|
960
927
|
}
|
|
961
928
|
/**
|
|
@@ -966,7 +933,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
966
933
|
const usage = await this.getUsage(subscriptionId);
|
|
967
934
|
return usage.limits || {};
|
|
968
935
|
} catch (error) {
|
|
969
|
-
throw new Error(`Failed to get subscription limits: ${error.message}
|
|
936
|
+
throw new Error(`Failed to get subscription limits: ${error.message}`);
|
|
970
937
|
}
|
|
971
938
|
}
|
|
972
939
|
/**
|
|
@@ -1002,7 +969,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
1002
969
|
}
|
|
1003
970
|
throw new Error(response.message);
|
|
1004
971
|
} catch (error) {
|
|
1005
|
-
throw new Error(`Failed to change subscription: ${error.message}
|
|
972
|
+
throw new Error(`Failed to change subscription: ${error.message}`);
|
|
1006
973
|
}
|
|
1007
974
|
}
|
|
1008
975
|
/**
|
|
@@ -1030,7 +997,7 @@ var SubscriptionService = class extends BaseService {
|
|
|
1030
997
|
}
|
|
1031
998
|
throw new Error(response.message);
|
|
1032
999
|
} catch (error) {
|
|
1033
|
-
throw new Error(`Failed to downgrade subscription: ${error.message}
|
|
1000
|
+
throw new Error(`Failed to downgrade subscription: ${error.message}`);
|
|
1034
1001
|
}
|
|
1035
1002
|
}
|
|
1036
1003
|
/**
|