@veryfront/ext-content-mdx 0.1.1279-rc.24617 → 0.1.1280
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.d.ts +1 -0
- package/esm/deno.js +2 -1
- package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
- package/esm/src/platform/compat/http/pinned-fetch.d.ts.map +1 -1
- package/esm/src/platform/compat/process/env.d.ts +1 -1
- package/esm/src/platform/compat/process/env.d.ts.map +1 -1
- package/esm/src/platform/compat/process/env.js +5 -0
- package/esm/src/utils/logger/redact.d.ts.map +1 -1
- package/esm/src/utils/logger/redact.js +217 -165
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.d.ts.map +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +4 -4
package/esm/deno.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ declare namespace _default {
|
|
|
29
29
|
"./mdx": string;
|
|
30
30
|
"./agent": string;
|
|
31
31
|
"./agent/pause-checkpoint": string;
|
|
32
|
+
"./runtime/managed-recovery-snapshot": string;
|
|
32
33
|
"./agent/executor-runtime": string;
|
|
33
34
|
"./agent/managed-broker": string;
|
|
34
35
|
"./agent/trusted-broker": string;
|
package/esm/deno.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1280",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"nodeModulesDir": "auto",
|
|
6
6
|
"minimumDependencyAge": {
|
|
@@ -100,6 +100,7 @@ export default {
|
|
|
100
100
|
"./mdx": "./src/mdx/index.ts",
|
|
101
101
|
"./agent": "./src/agent/index.ts",
|
|
102
102
|
"./agent/pause-checkpoint": "./src/agent/pause-checkpoint.ts",
|
|
103
|
+
"./runtime/managed-recovery-snapshot": "./src/runtime/managed-recovery-snapshot.ts",
|
|
103
104
|
"./agent/executor-runtime": "./src/agent/hosted/executor-runtime-entrypoint.ts",
|
|
104
105
|
"./agent/managed-broker": "./src/agent/service/managed-broker.ts",
|
|
105
106
|
"./agent/trusted-broker": "./src/agent/service/trusted-managed-broker.ts",
|
|
@@ -49,7 +49,7 @@ export declare function assertNodeRequestMembersUnchanged(intrinsics: NodeTransp
|
|
|
49
49
|
* Client identity for guarded egress, standing in for the runtime-supplied
|
|
50
50
|
* `user-agent` (`node`, `Deno/x.y.z`) that this transport cannot inherit.
|
|
51
51
|
*/
|
|
52
|
-
export declare const DEFAULT_OUTBOUND_USER_AGENT = "veryfront/0.1.
|
|
52
|
+
export declare const DEFAULT_OUTBOUND_USER_AGENT = "veryfront/0.1.1280";
|
|
53
53
|
export interface PinnedFetchTlsOptions {
|
|
54
54
|
/**
|
|
55
55
|
* Complete trusted CA set for this connection. Passing this replaces the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pinned-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/pinned-fetch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,KAAK,EAEL,aAAa,EACb,eAAe,EAEhB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAkB,MAAM,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuC5C,KAAK,cAAc,GAAG,cAAc,WAAW,CAAC,CAAC;AACjD,KAAK,eAAe,GAAG,cAAc,YAAY,CAAC,CAAC;AACnD,KAAK,aAAa,GAAG,cAAc,UAAU,CAAC,CAAC;AAC/C,KAAK,aAAa,GAAG,cAAc,UAAU,CAAC,CAAC;AAC/C,KAAK,cAAc,GAAG,cAAc,WAAW,CAAC,CAAC;AACjD,KAAK,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAErD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,OAAO,QAAQ,CAAC;IACvC,QAAQ,CAAC,4BAA4B,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAChE,QAAQ,CAAC,wBAAwB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,QAAQ,CAAC,8BAA8B,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,2BAA2B,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxE,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,6BAA6B,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACjE,QAAQ,CAAC,yCAAyC,EAAE,CAClD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,KAClB,MAAM,CAAC;IACZ,QAAQ,CAAC,qBAAqB,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACtD,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9D,QAAQ,CAAC,qBAAqB,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChE,QAAQ,CAAC,8BAA8B,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAClF,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,EAAE,CAAC;CAC/C;AA4MD,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC;CACnE;AA+ED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAG3F;AAqQD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"pinned-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/http/pinned-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,7 @@ export declare function getHostApiOriginExcludingEnvFile(key: string): string |
|
|
|
68
68
|
export declare function captureHostApiOrigin(key: string): void;
|
|
69
69
|
/** @internal Forget captured API origins. Only effective in captured test processes. */
|
|
70
70
|
export declare function resetHostApiOriginSnapshot(): void;
|
|
71
|
-
declare const HOST_BOOT_ENV_KEYS: readonly ["OAUTH_PUBLIC_KEY", "SERVICE_ACCOUNT_VERYFRONT_SERVER_ID", "CHANNEL_DISPATCH_SIGNING_PUBLIC_KEY", "VERYFRONT_PUBLIC_API_BASE_URL", "VERYFRONT_API_URL", "VERYFRONT_API_BASE_URL"];
|
|
71
|
+
declare const HOST_BOOT_ENV_KEYS: readonly ["VERYFRONT_MANAGED_RECOVERY_ENABLED", "VERYFRONT_MANAGED_RECOVERY_DIRECTORY", "VERYFRONT_MANAGED_RECOVERY_SOURCE_PROJECT_ID", "VERYFRONT_MANAGED_RECOVERY_SOURCE_ENVIRONMENT_ID", "VERYFRONT_MANAGED_RECOVERY_SOURCE_RELEASE_ID", "OAUTH_PUBLIC_KEY", "SERVICE_ACCOUNT_VERYFRONT_SERVER_ID", "CHANNEL_DISPATCH_SIGNING_PUBLIC_KEY", "VERYFRONT_PUBLIC_API_BASE_URL", "VERYFRONT_API_URL", "VERYFRONT_API_BASE_URL"];
|
|
72
72
|
type HostBootEnvKey = typeof HOST_BOOT_ENV_KEYS[number];
|
|
73
73
|
/**
|
|
74
74
|
* Read host identity or API routing as the host process started with it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/process/env.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AA0EpE,wFAAwF;AACxF,wBAAgB,yBAAyB,IAAI,IAAI,CAMhD;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAElD;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CASzD;AAED,oFAAoF;AACpF,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAqB1D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC,CAAC;AAoBF,oDAAoD;AACpD,wBAAgB,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4B5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAK9D;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO1D;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ1E;AAaD;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOhF;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wFAAwF;AACxF,wBAAgB,0BAA0B,IAAI,IAAI,CAGjD;AAwCD,QAAA,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../../src/src/platform/compat/process/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -310,6 +310,11 @@ function readHostProcessEnv(key) {
|
|
|
310
310
|
// Captured while this module loads, before a project env file is loaded or
|
|
311
311
|
// project code runs, so neither can replace operator identity or credential routing.
|
|
312
312
|
const HOST_BOOT_ENV_KEYS = [
|
|
313
|
+
"VERYFRONT_MANAGED_RECOVERY_ENABLED",
|
|
314
|
+
"VERYFRONT_MANAGED_RECOVERY_DIRECTORY",
|
|
315
|
+
"VERYFRONT_MANAGED_RECOVERY_SOURCE_PROJECT_ID",
|
|
316
|
+
"VERYFRONT_MANAGED_RECOVERY_SOURCE_ENVIRONMENT_ID",
|
|
317
|
+
"VERYFRONT_MANAGED_RECOVERY_SOURCE_RELEASE_ID",
|
|
313
318
|
"OAUTH_PUBLIC_KEY",
|
|
314
319
|
"SERVICE_ACCOUNT_VERYFRONT_SERVER_ID",
|
|
315
320
|
"CHANNEL_DISPATCH_SIGNING_PUBLIC_KEY",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,QAAQ,eAAe,CAAC;AA6NrC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAsCR;AAwDD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAwBnD;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,aAAa,EAAE,GACf;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAoPrC;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAKtE;AAuXD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAyG5D;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA+BxD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,EAC5E,KAAK,EAAE,CAAC,GAAG,CAAC,CAOb"}
|
|
@@ -149,6 +149,20 @@ function splitIdentifierTokens(value) {
|
|
|
149
149
|
}
|
|
150
150
|
return tokens;
|
|
151
151
|
}
|
|
152
|
+
function hasFilePathScheme(path) {
|
|
153
|
+
return path.length >= 5 &&
|
|
154
|
+
(stringCodeUnitAt(path, 0) | ASCII_LOWERCASE_OFFSET) === 102 &&
|
|
155
|
+
(stringCodeUnitAt(path, 1) | ASCII_LOWERCASE_OFFSET) === 105 &&
|
|
156
|
+
(stringCodeUnitAt(path, 2) | ASCII_LOWERCASE_OFFSET) === 108 &&
|
|
157
|
+
(stringCodeUnitAt(path, 3) | ASCII_LOWERCASE_OFFSET) === 101 &&
|
|
158
|
+
stringCodeUnitAt(path, 4) === COLON_CODE_UNIT;
|
|
159
|
+
}
|
|
160
|
+
function hasWindowsDriveAt(path, cursor) {
|
|
161
|
+
return cursor + 2 < path.length &&
|
|
162
|
+
isAsciiLetterCodeUnit(stringCodeUnitAt(path, cursor)) &&
|
|
163
|
+
stringCodeUnitAt(path, cursor + 1) === COLON_CODE_UNIT &&
|
|
164
|
+
isPathSeparatorCodeUnit(stringCodeUnitAt(path, cursor + 2));
|
|
165
|
+
}
|
|
152
166
|
function isWindowsPath(path) {
|
|
153
167
|
if (path.length >= 2) {
|
|
154
168
|
const first = stringCodeUnitAt(path, 0);
|
|
@@ -156,18 +170,9 @@ function isWindowsPath(path) {
|
|
|
156
170
|
if (isPathSeparatorCodeUnit(first) && isPathSeparatorCodeUnit(second))
|
|
157
171
|
return true;
|
|
158
172
|
}
|
|
159
|
-
if (path
|
|
160
|
-
isAsciiLetterCodeUnit(stringCodeUnitAt(path, 0)) &&
|
|
161
|
-
stringCodeUnitAt(path, 1) === COLON_CODE_UNIT &&
|
|
162
|
-
isPathSeparatorCodeUnit(stringCodeUnitAt(path, 2))) {
|
|
173
|
+
if (hasWindowsDriveAt(path, 0))
|
|
163
174
|
return true;
|
|
164
|
-
|
|
165
|
-
const hasFileScheme = path.length >= 5 &&
|
|
166
|
-
(stringCodeUnitAt(path, 0) | ASCII_LOWERCASE_OFFSET) === 102 &&
|
|
167
|
-
(stringCodeUnitAt(path, 1) | ASCII_LOWERCASE_OFFSET) === 105 &&
|
|
168
|
-
(stringCodeUnitAt(path, 2) | ASCII_LOWERCASE_OFFSET) === 108 &&
|
|
169
|
-
(stringCodeUnitAt(path, 3) | ASCII_LOWERCASE_OFFSET) === 101 &&
|
|
170
|
-
stringCodeUnitAt(path, 4) === COLON_CODE_UNIT;
|
|
175
|
+
const hasFileScheme = hasFilePathScheme(path);
|
|
171
176
|
if (!hasFileScheme)
|
|
172
177
|
return false;
|
|
173
178
|
let cursor = 5;
|
|
@@ -183,10 +188,7 @@ function isWindowsPath(path) {
|
|
|
183
188
|
}
|
|
184
189
|
while (cursor < path.length && isPathSeparatorCodeUnit(stringCodeUnitAt(path, cursor)))
|
|
185
190
|
cursor++;
|
|
186
|
-
return
|
|
187
|
-
isAsciiLetterCodeUnit(stringCodeUnitAt(path, cursor)) &&
|
|
188
|
-
stringCodeUnitAt(path, cursor + 1) === COLON_CODE_UNIT &&
|
|
189
|
-
isPathSeparatorCodeUnit(stringCodeUnitAt(path, cursor + 2));
|
|
191
|
+
return hasWindowsDriveAt(path, cursor);
|
|
190
192
|
}
|
|
191
193
|
function normalizePathCodeUnit(codeUnit, foldAsciiCase) {
|
|
192
194
|
if (isPathSeparatorCodeUnit(codeUnit))
|
|
@@ -197,6 +199,22 @@ function normalizePathCodeUnit(codeUnit, foldAsciiCase) {
|
|
|
197
199
|
? codeUnit + ASCII_LOWERCASE_OFFSET
|
|
198
200
|
: codeUnit;
|
|
199
201
|
}
|
|
202
|
+
function fillPathPrefixTable(pattern, prefixTable, patternLength) {
|
|
203
|
+
prefixTable[0] = 0;
|
|
204
|
+
for (let index = 1, prefixLength = 0; index < patternLength;) {
|
|
205
|
+
if (pattern[index] === pattern[prefixLength]) {
|
|
206
|
+
prefixTable[index] = ++prefixLength;
|
|
207
|
+
index++;
|
|
208
|
+
}
|
|
209
|
+
else if (prefixLength > 0) {
|
|
210
|
+
prefixLength = prefixTable[prefixLength - 1];
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
prefixTable[index] = 0;
|
|
214
|
+
index++;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
200
218
|
/**
|
|
201
219
|
* Replace every non-overlapping occurrence of a trusted path in untrusted text.
|
|
202
220
|
*
|
|
@@ -216,20 +234,7 @@ export function redactPathFromText(input, path, replacement) {
|
|
|
216
234
|
for (let index = 0; index < patternLength; index++) {
|
|
217
235
|
pattern[index] = normalizePathCodeUnit(stringCodeUnitAt(path, index), foldAsciiCase);
|
|
218
236
|
}
|
|
219
|
-
prefixTable
|
|
220
|
-
for (let index = 1, prefixLength = 0; index < patternLength;) {
|
|
221
|
-
if (pattern[index] === pattern[prefixLength]) {
|
|
222
|
-
prefixTable[index] = ++prefixLength;
|
|
223
|
-
index++;
|
|
224
|
-
}
|
|
225
|
-
else if (prefixLength > 0) {
|
|
226
|
-
prefixLength = prefixTable[prefixLength - 1];
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
prefixTable[index] = 0;
|
|
230
|
-
index++;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
237
|
+
fillPathPrefixTable(pattern, prefixTable, patternLength);
|
|
233
238
|
let result = "";
|
|
234
239
|
let copyStart = 0;
|
|
235
240
|
let matchLength = 0;
|
|
@@ -382,110 +387,70 @@ function readSerializationHook(value) {
|
|
|
382
387
|
}
|
|
383
388
|
return undefined;
|
|
384
389
|
}
|
|
385
|
-
function
|
|
386
|
-
if (
|
|
387
|
-
budget.exhausted = true;
|
|
388
|
-
return REDACTED;
|
|
389
|
-
}
|
|
390
|
-
budget.remainingNodes--;
|
|
391
|
-
if (typeof value === "string")
|
|
392
|
-
return sanitizeUrlCredentials(value);
|
|
393
|
-
if (typeof value === "bigint") {
|
|
394
|
-
return mode === "serialization" ? apply(bigIntToString, value, []) : value;
|
|
395
|
-
}
|
|
396
|
-
if (typeof value === "number") {
|
|
397
|
-
return mode === "serialization" && !numberIsFinite(value) ? null : value;
|
|
398
|
-
}
|
|
399
|
-
if (typeof value === "boolean" || value === null)
|
|
400
|
-
return value;
|
|
401
|
-
if (typeof value === "undefined" || typeof value === "function" || typeof value === "symbol") {
|
|
402
|
-
return mode === "serialization" ? REDACTED : value;
|
|
403
|
-
}
|
|
404
|
-
const arrayClassification = classifyArray(value);
|
|
405
|
-
if (arrayClassification === null)
|
|
390
|
+
function redactArrayValue(value, depth, seen, mode, budget) {
|
|
391
|
+
if (depth >= MAX_DEPTH || apply(setHas, seen, [value]))
|
|
406
392
|
return REDACTED;
|
|
407
|
-
|
|
408
|
-
|
|
393
|
+
apply(setAdd, seen, [value]);
|
|
394
|
+
try {
|
|
395
|
+
const arrayValue = value;
|
|
396
|
+
const length = arrayValue.length;
|
|
397
|
+
if (!numberIsInteger(length) || length < 0 || length > MAX_CONTAINER_ENTRIES) {
|
|
409
398
|
return REDACTED;
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
399
|
+
}
|
|
400
|
+
const redacted = mode === "compatible" ? new Array(length) : [];
|
|
401
|
+
for (let index = 0; index < length; index++) {
|
|
402
|
+
if (mode === "compatible" && !(index in arrayValue))
|
|
403
|
+
continue;
|
|
404
|
+
const item = redactValue(arrayValue[index], depth + 1, seen, mode, budget);
|
|
405
|
+
if (budget.exhausted)
|
|
415
406
|
return REDACTED;
|
|
407
|
+
if (mode === "compatible") {
|
|
408
|
+
redacted[index] = item;
|
|
416
409
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
if (mode === "compatible" && !(index in arrayValue))
|
|
420
|
-
continue;
|
|
421
|
-
const item = redactValue(arrayValue[index], depth + 1, seen, mode, budget);
|
|
422
|
-
if (budget.exhausted)
|
|
423
|
-
return REDACTED;
|
|
424
|
-
if (mode === "compatible") {
|
|
425
|
-
redacted[index] = item;
|
|
426
|
-
}
|
|
427
|
-
else {
|
|
428
|
-
apply(arrayPush, redacted, [item]);
|
|
429
|
-
}
|
|
410
|
+
else {
|
|
411
|
+
apply(arrayPush, redacted, [item]);
|
|
430
412
|
}
|
|
431
|
-
return redacted;
|
|
432
|
-
}
|
|
433
|
-
catch {
|
|
434
|
-
// Array indices can be accessors or proxy traps. A failed read makes the
|
|
435
|
-
// serialized contents unknowable, so the complete array fails closed.
|
|
436
|
-
return REDACTED;
|
|
437
|
-
}
|
|
438
|
-
finally {
|
|
439
|
-
apply(setDelete, seen, [value]);
|
|
440
413
|
}
|
|
441
|
-
|
|
442
|
-
// Objects defining `toJSON` (Date, URL, custom serializers) are serialized
|
|
443
|
-
// by `JSON.stringify` via the *return value* of `toJSON`, not their own
|
|
444
|
-
// enumerable keys. A key-based pass over the object's own properties would
|
|
445
|
-
// therefore miss credentials smuggled through `toJSON`, e.g.
|
|
446
|
-
// `{ toJSON: () => ({ apiKey: "sk-..." }) }` (CODEX P2). When `toJSON`
|
|
447
|
-
// returns an object, array, or scalar, the serialization API redacts *that*
|
|
448
|
-
// snapshot. The compatibility API keeps scalar serializers such as Date and
|
|
449
|
-
// URL intact, preserving the established generic return contract.
|
|
450
|
-
if (depth >= MAX_DEPTH || apply(setHas, seen, [value]))
|
|
451
|
-
return REDACTED;
|
|
452
|
-
let toJSON;
|
|
453
|
-
try {
|
|
454
|
-
toJSON = readSerializationHook(value);
|
|
414
|
+
return redacted;
|
|
455
415
|
}
|
|
456
416
|
catch {
|
|
457
|
-
//
|
|
458
|
-
//
|
|
417
|
+
// Array indices can be accessors or proxy traps. A failed read makes the
|
|
418
|
+
// serialized contents unknowable, so the complete array fails closed.
|
|
459
419
|
return REDACTED;
|
|
460
420
|
}
|
|
461
|
-
|
|
462
|
-
apply(
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
}
|
|
472
|
-
if (serialized !== null && typeof serialized === "object") {
|
|
473
|
-
if (classifyArray(serialized) === null)
|
|
474
|
-
return REDACTED;
|
|
475
|
-
return redactValue(serialized, depth + 1, seen, mode, budget);
|
|
476
|
-
}
|
|
477
|
-
// Other scalar results serialize safely as-is in compatibility mode.
|
|
478
|
-
return value;
|
|
421
|
+
finally {
|
|
422
|
+
apply(setDelete, seen, [value]);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
function redactSerializationHookValue(value, toJSON, depth, seen, mode, budget) {
|
|
426
|
+
apply(setAdd, seen, [value]);
|
|
427
|
+
try {
|
|
428
|
+
const serialized = apply(toJSON, value, []);
|
|
429
|
+
if (mode === "serialization") {
|
|
430
|
+
return redactValue(serialized, depth + 1, seen, mode, budget);
|
|
479
431
|
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
return REDACTED;
|
|
432
|
+
if (typeof serialized === "string") {
|
|
433
|
+
const sanitized = sanitizeUrlCredentials(serialized);
|
|
434
|
+
return sanitized === serialized ? value : sanitized;
|
|
484
435
|
}
|
|
485
|
-
|
|
486
|
-
|
|
436
|
+
if (serialized !== null && typeof serialized === "object") {
|
|
437
|
+
if (classifyArray(serialized) === null)
|
|
438
|
+
return REDACTED;
|
|
439
|
+
return redactValue(serialized, depth + 1, seen, mode, budget);
|
|
487
440
|
}
|
|
441
|
+
// Other scalar results serialize safely as-is in compatibility mode.
|
|
442
|
+
return value;
|
|
488
443
|
}
|
|
444
|
+
catch {
|
|
445
|
+
// A throwing toJSON must never let the raw object (whose own keys we
|
|
446
|
+
// skipped) through: fail closed.
|
|
447
|
+
return REDACTED;
|
|
448
|
+
}
|
|
449
|
+
finally {
|
|
450
|
+
apply(setDelete, seen, [value]);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
function redactObjectProperties(value, depth, seen, mode, budget) {
|
|
489
454
|
apply(setAdd, seen, [value]);
|
|
490
455
|
try {
|
|
491
456
|
const out = {};
|
|
@@ -532,6 +497,60 @@ function redactValue(value, depth, seen, mode, budget) {
|
|
|
532
497
|
apply(setDelete, seen, [value]);
|
|
533
498
|
}
|
|
534
499
|
}
|
|
500
|
+
function redactScalarValue(value, mode) {
|
|
501
|
+
switch (typeof value) {
|
|
502
|
+
case "string":
|
|
503
|
+
return sanitizeUrlCredentials(value);
|
|
504
|
+
case "bigint":
|
|
505
|
+
return mode === "serialization" ? apply(bigIntToString, value, []) : value;
|
|
506
|
+
case "number":
|
|
507
|
+
return mode === "serialization" && !numberIsFinite(value) ? null : value;
|
|
508
|
+
case "undefined":
|
|
509
|
+
case "function":
|
|
510
|
+
case "symbol":
|
|
511
|
+
return mode === "serialization" ? REDACTED : value;
|
|
512
|
+
default:
|
|
513
|
+
return value;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
function redactValue(value, depth, seen, mode, budget) {
|
|
517
|
+
if (budget.remainingNodes <= 0) {
|
|
518
|
+
budget.exhausted = true;
|
|
519
|
+
return REDACTED;
|
|
520
|
+
}
|
|
521
|
+
budget.remainingNodes--;
|
|
522
|
+
if (value === null || typeof value !== "object")
|
|
523
|
+
return redactScalarValue(value, mode);
|
|
524
|
+
const arrayClassification = classifyArray(value);
|
|
525
|
+
if (arrayClassification === null)
|
|
526
|
+
return REDACTED;
|
|
527
|
+
if (arrayClassification) {
|
|
528
|
+
return redactArrayValue(value, depth, seen, mode, budget);
|
|
529
|
+
}
|
|
530
|
+
// Objects defining `toJSON` (Date, URL, custom serializers) are serialized
|
|
531
|
+
// by `JSON.stringify` via the *return value* of `toJSON`, not their own
|
|
532
|
+
// enumerable keys. A key-based pass over the object's own properties would
|
|
533
|
+
// therefore miss credentials smuggled through `toJSON`, e.g.
|
|
534
|
+
// `{ toJSON: () => ({ apiKey: "sk-..." }) }` (CODEX P2). When `toJSON`
|
|
535
|
+
// returns an object, array, or scalar, the serialization API redacts *that*
|
|
536
|
+
// snapshot. The compatibility API keeps scalar serializers such as Date and
|
|
537
|
+
// URL intact, preserving the established generic return contract.
|
|
538
|
+
if (depth >= MAX_DEPTH || apply(setHas, seen, [value]))
|
|
539
|
+
return REDACTED;
|
|
540
|
+
let toJSON;
|
|
541
|
+
try {
|
|
542
|
+
toJSON = readSerializationHook(value);
|
|
543
|
+
}
|
|
544
|
+
catch {
|
|
545
|
+
// Accessors can throw before a serializer is callable. Never inspect the
|
|
546
|
+
// raw object after that because its eventual serialization is unknown.
|
|
547
|
+
return REDACTED;
|
|
548
|
+
}
|
|
549
|
+
if (typeof toJSON === "function") {
|
|
550
|
+
return redactSerializationHookValue(value, toJSON, depth, seen, mode, budget);
|
|
551
|
+
}
|
|
552
|
+
return redactObjectProperties(value, depth, seen, mode, budget);
|
|
553
|
+
}
|
|
535
554
|
/**
|
|
536
555
|
* Returns a redacted copy of `context` while preserving the established source
|
|
537
556
|
* and runtime value shapes. Any property whose key is {@link isSensitiveKey}
|
|
@@ -665,9 +684,8 @@ function assignmentValueEndsAt(input, start) {
|
|
|
665
684
|
const boundaryEnd = skipAssignmentBoundaryCharacters(input, start);
|
|
666
685
|
return boundaryEnd >= input.length || assignmentStartsAt(input, boundaryEnd);
|
|
667
686
|
}
|
|
668
|
-
function
|
|
687
|
+
function assignmentScanStart(input, start) {
|
|
669
688
|
let scanStart = start;
|
|
670
|
-
let preserveValueQuote = true;
|
|
671
689
|
if (apply(stringStartsWith, input, [REDACTED, start])) {
|
|
672
690
|
const markerEnd = start + REDACTED.length;
|
|
673
691
|
if (assignmentValueEndsAt(input, markerEnd)) {
|
|
@@ -677,69 +695,98 @@ function redactAssignmentValue(input, start) {
|
|
|
677
695
|
};
|
|
678
696
|
}
|
|
679
697
|
scanStart = markerEnd;
|
|
680
|
-
preserveValueQuote = false;
|
|
681
698
|
}
|
|
699
|
+
return scanStart;
|
|
700
|
+
}
|
|
701
|
+
function redactAssignmentValue(input, start) {
|
|
702
|
+
const initial = assignmentScanStart(input, start);
|
|
703
|
+
if (typeof initial !== "number")
|
|
704
|
+
return initial;
|
|
705
|
+
const scanStart = initial;
|
|
706
|
+
const preserveValueQuote = scanStart === start;
|
|
682
707
|
const wrapperQuote = preserveValueQuote &&
|
|
683
708
|
(input[scanStart] === `"` || input[scanStart] === "'" || input[scanStart] === "`")
|
|
684
709
|
? input[scanStart]
|
|
685
710
|
: "";
|
|
686
711
|
let wrapperQuoteClosed = false;
|
|
687
|
-
const replacement = () =>
|
|
712
|
+
const replacement = () => {
|
|
713
|
+
if (!wrapperQuote)
|
|
714
|
+
return REDACTED;
|
|
715
|
+
return `${wrapperQuote}${REDACTED}${wrapperQuoteClosed ? wrapperQuote : ""}`;
|
|
716
|
+
};
|
|
688
717
|
const expectedClosings = [];
|
|
689
718
|
let quote = "";
|
|
690
719
|
let quoteStart = -1;
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
if (quoteStart === scanStart && expectedClosings.length === 0) {
|
|
700
|
-
wrapperQuoteClosed = true;
|
|
701
|
-
return { end: index + 1, replacement: replacement() };
|
|
702
|
-
}
|
|
703
|
-
quote = "";
|
|
704
|
-
quoteStart = -1;
|
|
720
|
+
const consumeQuotedCharacter = (index, character) => {
|
|
721
|
+
if (character === "\\") {
|
|
722
|
+
return index + 2;
|
|
723
|
+
}
|
|
724
|
+
if (character === quote) {
|
|
725
|
+
if (quoteStart === scanStart && expectedClosings.length === 0) {
|
|
726
|
+
wrapperQuoteClosed = true;
|
|
727
|
+
return { end: index + 1, replacement: replacement() };
|
|
705
728
|
}
|
|
706
|
-
|
|
707
|
-
|
|
729
|
+
quote = "";
|
|
730
|
+
quoteStart = -1;
|
|
731
|
+
}
|
|
732
|
+
return index + 1;
|
|
733
|
+
};
|
|
734
|
+
const consumeContainerClosing = (index, character) => {
|
|
735
|
+
if (expectedClosings[expectedClosings.length - 1] !== character) {
|
|
736
|
+
return { end: input.length, replacement: replacement() };
|
|
737
|
+
}
|
|
738
|
+
apply(arrayPop, expectedClosings, []);
|
|
739
|
+
index++;
|
|
740
|
+
if (expectedClosings.length === 0 &&
|
|
741
|
+
assignmentValueEndsAt(input, index)) {
|
|
742
|
+
return { end: index, replacement: replacement() };
|
|
708
743
|
}
|
|
744
|
+
return index;
|
|
745
|
+
};
|
|
746
|
+
const consumeOpeningCharacter = (index, character) => {
|
|
709
747
|
if (character === `"` || character === "'" || character === "`") {
|
|
710
748
|
quote = character;
|
|
711
749
|
quoteStart = index;
|
|
712
|
-
index
|
|
713
|
-
continue;
|
|
750
|
+
return index + 1;
|
|
714
751
|
}
|
|
715
752
|
if (character === "{" || character === "[") {
|
|
716
753
|
apply(arrayPush, expectedClosings, [character === "{" ? "}" : "]"]);
|
|
717
|
-
index
|
|
718
|
-
continue;
|
|
719
|
-
}
|
|
720
|
-
if (expectedClosings.length > 0 &&
|
|
721
|
-
(character === "}" || character === "]")) {
|
|
722
|
-
if (expectedClosings[expectedClosings.length - 1] !== character) {
|
|
723
|
-
return { end: input.length, replacement: replacement() };
|
|
724
|
-
}
|
|
725
|
-
apply(arrayPop, expectedClosings, []);
|
|
726
|
-
index++;
|
|
727
|
-
if (expectedClosings.length === 0 &&
|
|
728
|
-
assignmentValueEndsAt(input, index)) {
|
|
729
|
-
return { end: index, replacement: replacement() };
|
|
730
|
-
}
|
|
731
|
-
continue;
|
|
732
|
-
}
|
|
733
|
-
if (expectedClosings.length > 0 ||
|
|
734
|
-
!isAssignmentBoundaryCharacter(character)) {
|
|
735
|
-
index++;
|
|
736
|
-
continue;
|
|
754
|
+
return index + 1;
|
|
737
755
|
}
|
|
756
|
+
return undefined;
|
|
757
|
+
};
|
|
758
|
+
const consumeBoundary = (index) => {
|
|
738
759
|
const boundaryStart = index;
|
|
739
760
|
index = skipAssignmentBoundaryCharacters(input, index);
|
|
740
761
|
if (index >= input.length || assignmentStartsAt(input, index)) {
|
|
741
762
|
return { end: boundaryStart, replacement: replacement() };
|
|
742
763
|
}
|
|
764
|
+
return index;
|
|
765
|
+
};
|
|
766
|
+
const consumeUnquotedCharacter = (index, character) => {
|
|
767
|
+
const openingEnd = consumeOpeningCharacter(index, character);
|
|
768
|
+
if (openingEnd !== undefined)
|
|
769
|
+
return openingEnd;
|
|
770
|
+
if (expectedClosings.length > 0 && (character === "}" || character === "]")) {
|
|
771
|
+
return consumeContainerClosing(index, character);
|
|
772
|
+
}
|
|
773
|
+
if (expectedClosings.length > 0 || !isAssignmentBoundaryCharacter(character))
|
|
774
|
+
return index + 1;
|
|
775
|
+
return consumeBoundary(index);
|
|
776
|
+
};
|
|
777
|
+
for (let index = scanStart; index < input.length;) {
|
|
778
|
+
const character = input[index];
|
|
779
|
+
if (quote) {
|
|
780
|
+
const next = consumeQuotedCharacter(index, character);
|
|
781
|
+
if (typeof next !== "number")
|
|
782
|
+
return next;
|
|
783
|
+
index = next;
|
|
784
|
+
continue;
|
|
785
|
+
}
|
|
786
|
+
const next = consumeUnquotedCharacter(index, character);
|
|
787
|
+
if (typeof next !== "number")
|
|
788
|
+
return next;
|
|
789
|
+
index = next;
|
|
743
790
|
}
|
|
744
791
|
return { end: input.length, replacement: replacement() };
|
|
745
792
|
}
|
|
@@ -772,6 +819,13 @@ function redactCredentialAssignments(input, prefixPattern, keyGroup, urlParamete
|
|
|
772
819
|
}
|
|
773
820
|
return cursor === 0 ? input : result + sliceString(input, cursor);
|
|
774
821
|
}
|
|
822
|
+
function matchesSensitiveKeyPattern(candidate) {
|
|
823
|
+
for (let index = 0; index < SENSITIVE_KEY_PATTERNS.length; index++) {
|
|
824
|
+
if (candidate === SENSITIVE_KEY_PATTERNS[index])
|
|
825
|
+
return true;
|
|
826
|
+
}
|
|
827
|
+
return false;
|
|
828
|
+
}
|
|
775
829
|
/**
|
|
776
830
|
* Classify free-text assignment keys without applying the structured-key
|
|
777
831
|
* substring policy to ordinary words. Identifier and camel-case boundaries
|
|
@@ -796,10 +850,8 @@ function isSensitiveAssignmentKey(key) {
|
|
|
796
850
|
if (token.length === 0)
|
|
797
851
|
continue;
|
|
798
852
|
candidate += token;
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
return true;
|
|
802
|
-
}
|
|
853
|
+
if (matchesSensitiveKeyPattern(candidate))
|
|
854
|
+
return true;
|
|
803
855
|
}
|
|
804
856
|
}
|
|
805
857
|
return tokens.length === 1 && tokens[0] === "auth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-constant.d.ts","sourceRoot":"","sources":["../../../src/src/utils/version-constant.ts"],"names":[],"mappings":"AAEA,4BAA4B;AAC5B,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version-constant.d.ts","sourceRoot":"","sources":["../../../src/src/utils/version-constant.ts"],"names":[],"mappings":"AAEA,4BAA4B;AAC5B,eAAO,MAAM,OAAO,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veryfront/ext-content-mdx",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1280",
|
|
4
4
|
"description": "Veryfront first-party extension package for ext-content-mdx",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"veryfront",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"@types/hast": "3.0.3",
|
|
54
54
|
"@types/mdast": "4.0.3",
|
|
55
55
|
"@types/unist": "3.0.2",
|
|
56
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
56
|
+
"@veryfront/ext-parser-babel": "0.1.1280",
|
|
57
57
|
"acorn": "8.17.0",
|
|
58
58
|
"acorn-jsx": "5.3.2",
|
|
59
59
|
"github-slugger": "2.0.0",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"vfile": "6.0.3"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
|
-
"veryfront": "^0.1.
|
|
85
|
+
"veryfront": "^0.1.1280"
|
|
86
86
|
},
|
|
87
87
|
"type": "module",
|
|
88
88
|
"types": "./esm/extensions/ext-content-mdx/src/index.d.ts",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
"NOTICE",
|
|
93
93
|
"README.md"
|
|
94
94
|
],
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "dcbac8c3d1bb827e3db208b8bd9682e3d4121ae4"
|
|
96
96
|
}
|