@superblocksteam/vite-plugin-file-sync 2.0.154-next.0 → 2.0.154
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-token-utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/scoped-token-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scoped-token-utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/scoped-token-utils.ts"],"names":[],"mappings":"AA+EA;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,EACnC,aAAa,EACb,kBAAkB,EAClB,GAAG,GACJ,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CA+ElB"}
|
|
@@ -5,6 +5,9 @@ const tokenCache = new Map();
|
|
|
5
5
|
const MAX_CACHE_SIZE = 100; // Maximum number of tokens to cache
|
|
6
6
|
// Track last access time for LRU eviction
|
|
7
7
|
const lastAccessTime = new Map();
|
|
8
|
+
function isRecord(value) {
|
|
9
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
10
|
+
}
|
|
8
11
|
/**
|
|
9
12
|
* Parses a JWT token to extract the expiration time
|
|
10
13
|
* @param token - The JWT token string
|
|
@@ -15,7 +18,7 @@ function getTokenExpiration(token) {
|
|
|
15
18
|
const parts = token.split(".");
|
|
16
19
|
if (parts.length === 3 && parts[1]) {
|
|
17
20
|
const payload = JSON.parse(Buffer.from(parts[1], "base64").toString());
|
|
18
|
-
if (payload.exp) {
|
|
21
|
+
if (isRecord(payload) && typeof payload.exp === "number") {
|
|
19
22
|
// Convert from seconds to milliseconds
|
|
20
23
|
return payload.exp * 1000;
|
|
21
24
|
}
|
|
@@ -66,20 +69,21 @@ function enforceCacheSizeLimit() {
|
|
|
66
69
|
* @returns A promise that resolves to the scoped token
|
|
67
70
|
*/
|
|
68
71
|
export async function getScopedToken({ applicationId, superblocksBaseUrl, jwt, }) {
|
|
72
|
+
const cacheKey = applicationId;
|
|
69
73
|
// First, check if we have a valid cached token
|
|
70
|
-
const cached = tokenCache.get(
|
|
74
|
+
const cached = tokenCache.get(cacheKey);
|
|
71
75
|
if (cached && isTokenValid(cached.expiresAt)) {
|
|
72
76
|
// Update last access time
|
|
73
|
-
lastAccessTime.set(
|
|
77
|
+
lastAccessTime.set(cacheKey, Date.now());
|
|
74
78
|
return cached.token;
|
|
75
79
|
}
|
|
76
80
|
// Remove expired token if present
|
|
77
81
|
if (cached) {
|
|
78
|
-
tokenCache.delete(
|
|
79
|
-
lastAccessTime.delete(
|
|
82
|
+
tokenCache.delete(cacheKey);
|
|
83
|
+
lastAccessTime.delete(cacheKey);
|
|
80
84
|
}
|
|
81
85
|
// Check if there's already a pending request for this application
|
|
82
|
-
const pendingRequest = pendingTokenRequests.get(
|
|
86
|
+
const pendingRequest = pendingTokenRequests.get(cacheKey);
|
|
83
87
|
if (pendingRequest) {
|
|
84
88
|
return pendingRequest;
|
|
85
89
|
}
|
|
@@ -104,16 +108,18 @@ export async function getScopedToken({ applicationId, superblocksBaseUrl, jwt, }
|
|
|
104
108
|
.catch(() => "Unable to read error response");
|
|
105
109
|
throw new Error(`Failed to get scoped token: ${tokenResponse.status} ${tokenResponse.statusText} - ${errorText}`);
|
|
106
110
|
}
|
|
107
|
-
const tokenData =
|
|
108
|
-
if (!tokenData
|
|
111
|
+
const tokenData = await tokenResponse.json();
|
|
112
|
+
if (!isRecord(tokenData) ||
|
|
113
|
+
typeof tokenData.access_token !== "string" ||
|
|
114
|
+
tokenData.access_token.length === 0) {
|
|
109
115
|
throw new Error("Failed to get scoped token");
|
|
110
116
|
}
|
|
111
117
|
const token = tokenData.access_token;
|
|
112
118
|
// Cache the token with its expiration time
|
|
113
119
|
const expiresAt = getTokenExpiration(token);
|
|
114
120
|
if (expiresAt) {
|
|
115
|
-
tokenCache.set(
|
|
116
|
-
lastAccessTime.set(
|
|
121
|
+
tokenCache.set(cacheKey, { token, expiresAt });
|
|
122
|
+
lastAccessTime.set(cacheKey, Date.now());
|
|
117
123
|
// Enforce cache size limit
|
|
118
124
|
enforceCacheSizeLimit();
|
|
119
125
|
}
|
|
@@ -121,11 +127,11 @@ export async function getScopedToken({ applicationId, superblocksBaseUrl, jwt, }
|
|
|
121
127
|
}
|
|
122
128
|
finally {
|
|
123
129
|
// Remove from cache once the request completes (success or failure)
|
|
124
|
-
pendingTokenRequests.delete(
|
|
130
|
+
pendingTokenRequests.delete(cacheKey);
|
|
125
131
|
}
|
|
126
132
|
})();
|
|
127
133
|
// Cache the promise so concurrent calls can share it
|
|
128
|
-
pendingTokenRequests.set(
|
|
134
|
+
pendingTokenRequests.set(cacheKey, tokenPromise);
|
|
129
135
|
return tokenPromise;
|
|
130
136
|
}
|
|
131
137
|
//# sourceMappingURL=scoped-token-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-token-utils.js","sourceRoot":"","sources":["../../../src/ai-service/util/scoped-token-utils.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA2B,CAAC;AAQhE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;AAElD,qCAAqC;AACrC,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,oCAAoC;AAEhE,0CAA0C;AAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"scoped-token-utils.js","sourceRoot":"","sources":["../../../src/ai-service/util/scoped-token-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/vite-plugin-file-sync",
|
|
3
|
-
"version": "2.0.154
|
|
3
|
+
"version": "2.0.154",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"vite-plugin"
|
|
6
6
|
],
|
|
@@ -118,13 +118,13 @@
|
|
|
118
118
|
"yaml": "^2.8.3",
|
|
119
119
|
"yauzl": "^3.2.0",
|
|
120
120
|
"zod": "3.25.76",
|
|
121
|
-
"@superblocksteam/ai-service-templates": "2.0.154
|
|
122
|
-
"@superblocksteam/clark": "2.0.154
|
|
123
|
-
"@superblocksteam/library-shared": "2.0.154
|
|
124
|
-
"@superblocksteam/
|
|
125
|
-
"@superblocksteam/
|
|
126
|
-
"@superblocksteam/telemetry": "2.0.154
|
|
127
|
-
"@superblocksteam/util": "2.0.154
|
|
121
|
+
"@superblocksteam/ai-service-templates": "2.0.154",
|
|
122
|
+
"@superblocksteam/clark": "2.0.154",
|
|
123
|
+
"@superblocksteam/library-shared": "2.0.154",
|
|
124
|
+
"@superblocksteam/shared": "0.9607.3",
|
|
125
|
+
"@superblocksteam/sdk-api": "2.0.154",
|
|
126
|
+
"@superblocksteam/telemetry": "2.0.154",
|
|
127
|
+
"@superblocksteam/util": "2.0.154"
|
|
128
128
|
},
|
|
129
129
|
"devDependencies": {
|
|
130
130
|
"@dotenvx/dotenvx": "^1.59.1",
|