@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
|
|
@@ -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
|
|
@@ -725,7 +692,7 @@ var BranchService = class extends BaseService {
|
|
|
725
692
|
}
|
|
726
693
|
throw new Error(response.message);
|
|
727
694
|
} catch (error) {
|
|
728
|
-
throw new Error(`Failed to list branches: ${error.message}
|
|
695
|
+
throw new Error(`Failed to list branches: ${error.message}`);
|
|
729
696
|
}
|
|
730
697
|
}
|
|
731
698
|
/**
|
|
@@ -751,7 +718,7 @@ var BranchService = class extends BaseService {
|
|
|
751
718
|
}
|
|
752
719
|
throw new Error(response.message);
|
|
753
720
|
} catch (error) {
|
|
754
|
-
throw new Error(`Failed to create branch: ${error.message}
|
|
721
|
+
throw new Error(`Failed to create branch: ${error.message}`);
|
|
755
722
|
}
|
|
756
723
|
}
|
|
757
724
|
/**
|
|
@@ -781,7 +748,7 @@ var BranchService = class extends BaseService {
|
|
|
781
748
|
}
|
|
782
749
|
throw new Error(response.message);
|
|
783
750
|
} catch (error) {
|
|
784
|
-
throw new Error(`Failed to delete branch: ${error.message}
|
|
751
|
+
throw new Error(`Failed to delete branch: ${error.message}`);
|
|
785
752
|
}
|
|
786
753
|
}
|
|
787
754
|
/**
|
|
@@ -817,7 +784,7 @@ var BranchService = class extends BaseService {
|
|
|
817
784
|
}
|
|
818
785
|
throw new Error(response.message);
|
|
819
786
|
} catch (error) {
|
|
820
|
-
throw new Error(`Failed to rename branch: ${error.message}
|
|
787
|
+
throw new Error(`Failed to rename branch: ${error.message}`);
|
|
821
788
|
}
|
|
822
789
|
}
|
|
823
790
|
/**
|
|
@@ -856,7 +823,7 @@ var BranchService = class extends BaseService {
|
|
|
856
823
|
}
|
|
857
824
|
throw new Error(response.message);
|
|
858
825
|
} catch (error) {
|
|
859
|
-
throw new Error(`Failed to get branch changes: ${error.message}
|
|
826
|
+
throw new Error(`Failed to get branch changes: ${error.message}`);
|
|
860
827
|
}
|
|
861
828
|
}
|
|
862
829
|
/**
|
|
@@ -903,7 +870,7 @@ var BranchService = class extends BaseService {
|
|
|
903
870
|
if (error.message.includes("conflicts") || error.message.includes("409")) {
|
|
904
871
|
throw new Error(`Merge conflicts detected: ${error.message}`);
|
|
905
872
|
}
|
|
906
|
-
throw new Error(`Failed to merge branch: ${error.message}
|
|
873
|
+
throw new Error(`Failed to merge branch: ${error.message}`);
|
|
907
874
|
}
|
|
908
875
|
}
|
|
909
876
|
/**
|
|
@@ -932,7 +899,7 @@ var BranchService = class extends BaseService {
|
|
|
932
899
|
}
|
|
933
900
|
throw new Error(response.message);
|
|
934
901
|
} catch (error) {
|
|
935
|
-
throw new Error(`Failed to reset branch: ${error.message}
|
|
902
|
+
throw new Error(`Failed to reset branch: ${error.message}`);
|
|
936
903
|
}
|
|
937
904
|
}
|
|
938
905
|
/**
|
|
@@ -958,7 +925,7 @@ var BranchService = class extends BaseService {
|
|
|
958
925
|
}
|
|
959
926
|
throw new Error(response.message);
|
|
960
927
|
} catch (error) {
|
|
961
|
-
throw new Error(`Failed to publish version: ${error.message}
|
|
928
|
+
throw new Error(`Failed to publish version: ${error.message}`);
|
|
962
929
|
}
|
|
963
930
|
}
|
|
964
931
|
// ==================== BRANCH HELPER METHODS ====================
|
|
@@ -990,7 +957,7 @@ var BranchService = class extends BaseService {
|
|
|
990
957
|
const branches = await this.listBranches(projectId);
|
|
991
958
|
return ((_a = branches == null ? void 0 : branches.data) == null ? void 0 : _a.includes(branchName)) || false;
|
|
992
959
|
} catch (error) {
|
|
993
|
-
throw new Error(`Failed to check if branch exists: ${error.message}
|
|
960
|
+
throw new Error(`Failed to check if branch exists: ${error.message}`);
|
|
994
961
|
}
|
|
995
962
|
}
|
|
996
963
|
/**
|
|
@@ -1060,7 +1027,7 @@ var BranchService = class extends BaseService {
|
|
|
1060
1027
|
canRename: exists && branchName !== "main"
|
|
1061
1028
|
};
|
|
1062
1029
|
} catch (error) {
|
|
1063
|
-
throw new Error(`Failed to get branch status: ${error.message}
|
|
1030
|
+
throw new Error(`Failed to get branch status: ${error.message}`);
|
|
1064
1031
|
}
|
|
1065
1032
|
}
|
|
1066
1033
|
/**
|