veryfront 0.1.706 → 0.1.709
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/esm/deno.js +1 -1
- package/esm/src/cache/backends/disk.d.ts.map +1 -1
- package/esm/src/cache/backends/disk.js +13 -2
- package/esm/src/cache/module-cache.d.ts.map +1 -1
- package/esm/src/cache/module-cache.js +15 -5
- package/esm/src/proxy/oauth-client.d.ts +5 -0
- package/esm/src/proxy/oauth-client.d.ts.map +1 -1
- package/esm/src/proxy/oauth-client.js +12 -4
- package/esm/src/proxy/token-manager.d.ts +0 -1
- package/esm/src/proxy/token-manager.d.ts.map +1 -1
- package/esm/src/proxy/token-manager.js +2 -7
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disk.d.ts","sourceRoot":"","sources":["../../../../src/src/cache/backends/disk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0BhD,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAA6B;gBAEnC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAKhD,OAAO,CAAC,QAAQ;YAIF,SAAS;IAKjB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"disk.d.ts","sourceRoot":"","sources":["../../../../src/src/cache/backends/disk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0BhD,qBAAa,gBAAiB,YAAW,YAAY;IACnD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAA6B;gBAEnC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAKhD,OAAO,CAAC,QAAQ;YAIF,SAAS;IAKjB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwCrD"}
|
|
@@ -41,7 +41,12 @@ export class DiskCacheBackend {
|
|
|
41
41
|
if (envelope.key !== key)
|
|
42
42
|
return null;
|
|
43
43
|
if (envelope.expiresAt != null && Date.now() > envelope.expiresAt) {
|
|
44
|
-
this.del(key).catch(() => {
|
|
44
|
+
this.del(key).catch((cleanupError) => {
|
|
45
|
+
logger.debug("[DiskCache] Expired entry cleanup failed", {
|
|
46
|
+
key: key.slice(-60),
|
|
47
|
+
error: cleanupError,
|
|
48
|
+
});
|
|
49
|
+
});
|
|
45
50
|
return null;
|
|
46
51
|
}
|
|
47
52
|
return envelope.value;
|
|
@@ -74,7 +79,13 @@ export class DiskCacheBackend {
|
|
|
74
79
|
await rename(tmpPath, filePath);
|
|
75
80
|
}
|
|
76
81
|
catch (error) {
|
|
77
|
-
await unlink(tmpPath).catch(() => {
|
|
82
|
+
await unlink(tmpPath).catch((cleanupError) => {
|
|
83
|
+
logger.debug("[DiskCache] Temp file cleanup failed", {
|
|
84
|
+
key: key.slice(-60),
|
|
85
|
+
tmpPath,
|
|
86
|
+
error: cleanupError,
|
|
87
|
+
});
|
|
88
|
+
});
|
|
78
89
|
throw error;
|
|
79
90
|
}
|
|
80
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-cache.d.ts","sourceRoot":"","sources":["../../../src/src/cache/module-cache.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAenD,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IACzD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC7E;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAqDD,wBAAgB,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzD;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,cAAc,IAAI,cAAc,CAE/C;
|
|
1
|
+
{"version":3,"file":"module-cache.d.ts","sourceRoot":"","sources":["../../../src/src/cache/module-cache.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAenD,MAAM,WAAW,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IACzD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC7E;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAqDD,wBAAgB,cAAc,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzD;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,cAAc,IAAI,cAAc,CAE/C;AA0GD,wBAAgB,mBAAmB,IAAI,gBAAgB,CAatD;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgBpE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAM1C"}
|
|
@@ -59,6 +59,16 @@ export function createEsmCache() {
|
|
|
59
59
|
function createMapInterface(cache) {
|
|
60
60
|
return new LRUBackedMap(cache);
|
|
61
61
|
}
|
|
62
|
+
function toMapIterator(source) {
|
|
63
|
+
if (typeof Iterator !== "undefined") {
|
|
64
|
+
return Iterator.from(source);
|
|
65
|
+
}
|
|
66
|
+
const snapshot = new Map();
|
|
67
|
+
for (const value of source) {
|
|
68
|
+
snapshot.set(snapshot.size, value);
|
|
69
|
+
}
|
|
70
|
+
return snapshot.values();
|
|
71
|
+
}
|
|
62
72
|
class LRUBackedMap {
|
|
63
73
|
cache;
|
|
64
74
|
[Symbol.toStringTag] = "Map";
|
|
@@ -100,29 +110,29 @@ class LRUBackedMap {
|
|
|
100
110
|
return this.cache.size;
|
|
101
111
|
}
|
|
102
112
|
keys() {
|
|
103
|
-
return this.cache.keys();
|
|
113
|
+
return toMapIterator(this.cache.keys());
|
|
104
114
|
}
|
|
105
115
|
values() {
|
|
106
116
|
const keysIter = this.cache.keys();
|
|
107
117
|
const cacheRef = this.cache;
|
|
108
|
-
return (function* () {
|
|
118
|
+
return toMapIterator((function* () {
|
|
109
119
|
for (const key of keysIter) {
|
|
110
120
|
const value = cacheRef.get(key);
|
|
111
121
|
if (value !== undefined)
|
|
112
122
|
yield value;
|
|
113
123
|
}
|
|
114
|
-
})();
|
|
124
|
+
})());
|
|
115
125
|
}
|
|
116
126
|
entries() {
|
|
117
127
|
const keysIter = this.cache.keys();
|
|
118
128
|
const cacheRef = this.cache;
|
|
119
|
-
return (function* () {
|
|
129
|
+
return toMapIterator((function* () {
|
|
120
130
|
for (const key of keysIter) {
|
|
121
131
|
const value = cacheRef.get(key);
|
|
122
132
|
if (value !== undefined)
|
|
123
133
|
yield [key, value];
|
|
124
134
|
}
|
|
125
|
-
})();
|
|
135
|
+
})());
|
|
126
136
|
}
|
|
127
137
|
forEach(callback, thisArg) {
|
|
128
138
|
for (const [key, value] of this.entries()) {
|
|
@@ -3,6 +3,11 @@ export interface TokenResponse {
|
|
|
3
3
|
token_type: "Bearer";
|
|
4
4
|
expires_in?: number;
|
|
5
5
|
}
|
|
6
|
+
export declare class OAuthTokenRequestError extends Error {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly responseText: string;
|
|
9
|
+
constructor(status: number, responseText: string);
|
|
10
|
+
}
|
|
6
11
|
interface OAuthTokenConfig {
|
|
7
12
|
apiBaseUrl: string;
|
|
8
13
|
apiClientId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/oauth-client.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/oauth-client.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAE7C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM;gBADpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM;CAKhC;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,CAAC,CA8DxB"}
|
|
@@ -3,8 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as dntShim from "../../_dnt.shims.js";
|
|
5
5
|
import { injectContext, ProxySpanNames, withSpan } from "./tracing.js";
|
|
6
|
-
import {
|
|
6
|
+
import { TIMEOUT_ERROR } from "../errors/index.js";
|
|
7
7
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
8
|
+
export class OAuthTokenRequestError extends Error {
|
|
9
|
+
status;
|
|
10
|
+
responseText;
|
|
11
|
+
constructor(status, responseText) {
|
|
12
|
+
super(`OAuth token request failed: ${status} - ${responseText}`);
|
|
13
|
+
this.status = status;
|
|
14
|
+
this.responseText = responseText;
|
|
15
|
+
this.name = "OAuthTokenRequestError";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
8
18
|
export async function fetchOAuthToken(config) {
|
|
9
19
|
return withSpan(ProxySpanNames.OAUTH_TOKEN_REQUEST, async () => {
|
|
10
20
|
const url = `${config.apiBaseUrl}/auth/token`;
|
|
@@ -37,9 +47,7 @@ export async function fetchOAuthToken(config) {
|
|
|
37
47
|
return response.json();
|
|
38
48
|
}
|
|
39
49
|
const errorText = await response.text().catch(() => "Unknown error");
|
|
40
|
-
throw
|
|
41
|
-
detail: `OAuth token request failed: ${response.status} - ${errorText}`,
|
|
42
|
-
});
|
|
50
|
+
throw new OAuthTokenRequestError(response.status, errorText);
|
|
43
51
|
}
|
|
44
52
|
catch (error) {
|
|
45
53
|
if (error instanceof Error && error.name === "AbortError") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/token-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAKpE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAalD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,aAAa,CAAS;gBAGpB,MAAM,EAAE,WAAW,EAC3B,OAAO,GAAE,mBAAwB;IAM7B,QAAQ,CACZ,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IA4CZ,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,QAAQ,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAkDhC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/token-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAmB,MAAM,kBAAkB,CAAC;AAKpE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;AAalD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAY;IAOrB,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,aAAa,CAAS;gBAGpB,MAAM,EAAE,WAAW,EAC3B,OAAO,GAAE,mBAAwB;IAM7B,QAAQ,CACZ,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IA4CZ,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,QAAQ,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAkDhC,OAAO,CAAC,kBAAkB;CAe3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchOAuthToken } from "./oauth-client.js";
|
|
1
|
+
import { fetchOAuthToken, OAuthTokenRequestError } from "./oauth-client.js";
|
|
2
2
|
import { MemoryCache } from "./cache/memory-cache.js";
|
|
3
3
|
import { ProxySpanNames, withSpan } from "./tracing.js";
|
|
4
4
|
import { CACHE_ERROR } from "../errors/index.js";
|
|
@@ -92,7 +92,7 @@ export class TokenManager {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
catch (error) {
|
|
95
|
-
const status =
|
|
95
|
+
const status = error instanceof OAuthTokenRequestError ? error.status : null;
|
|
96
96
|
if (status === 400 || status === 404) {
|
|
97
97
|
const projectKey = projectSlug || customDomain;
|
|
98
98
|
const cacheKey = this.getCacheKey(scope, projectKey);
|
|
@@ -118,11 +118,6 @@ export class TokenManager {
|
|
|
118
118
|
});
|
|
119
119
|
return response.access_token;
|
|
120
120
|
}
|
|
121
|
-
parseStatusFromError(error) {
|
|
122
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
123
|
-
const match = message.match(/failed: (\d+)/);
|
|
124
|
-
return match ? Number(match[1]) : null;
|
|
125
|
-
}
|
|
126
121
|
calculateExpiresAt(response) {
|
|
127
122
|
if (response.expires_in)
|
|
128
123
|
return Date.now() + response.expires_in * 1000;
|