@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 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.1279-rc.24617",
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.1279-rc.24617";
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":"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"}
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":"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"}
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;AAyMrC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,MAAM,CAiDR;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;AA8MrC;;;;;;;;;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;AAwVD;;;;;;;;;;;;;;;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"}
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.length >= 3 &&
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 cursor + 2 < path.length &&
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[0] = 0;
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 redactValue(value, depth, seen, mode, budget) {
386
- if (budget.remainingNodes <= 0) {
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
- if (arrayClassification) {
408
- if (depth >= MAX_DEPTH || apply(setHas, seen, [value]))
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
- apply(setAdd, seen, [value]);
411
- try {
412
- const arrayValue = value;
413
- const length = arrayValue.length;
414
- if (!numberIsInteger(length) || length < 0 || length > MAX_CONTAINER_ENTRIES) {
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
- const redacted = mode === "compatible" ? new Array(length) : [];
418
- for (let index = 0; index < length; index++) {
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
- // Accessors can throw before a serializer is callable. Never inspect the
458
- // raw object after that because its eventual serialization is unknown.
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
- if (typeof toJSON === "function") {
462
- apply(setAdd, seen, [value]);
463
- try {
464
- const serialized = apply(toJSON, value, []);
465
- if (mode === "serialization") {
466
- return redactValue(serialized, depth + 1, seen, mode, budget);
467
- }
468
- if (typeof serialized === "string") {
469
- const sanitized = sanitizeUrlCredentials(serialized);
470
- return sanitized === serialized ? value : sanitized;
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
- catch {
481
- // A throwing toJSON must never let the raw object (whose own keys we
482
- // skipped) through: fail closed.
483
- return REDACTED;
432
+ if (typeof serialized === "string") {
433
+ const sanitized = sanitizeUrlCredentials(serialized);
434
+ return sanitized === serialized ? value : sanitized;
484
435
  }
485
- finally {
486
- apply(setDelete, seen, [value]);
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 redactAssignmentValue(input, start) {
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 = () => wrapperQuote ? `${wrapperQuote}${REDACTED}${wrapperQuoteClosed ? wrapperQuote : ""}` : REDACTED;
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
- for (let index = scanStart; index < input.length;) {
692
- const character = input[index];
693
- if (quote) {
694
- if (character === "\\") {
695
- index += 2;
696
- continue;
697
- }
698
- if (character === quote) {
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
- index++;
707
- continue;
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
- for (let index = 0; index < SENSITIVE_KEY_PATTERNS.length; index++) {
800
- if (candidate === SENSITIVE_KEY_PATTERNS[index])
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,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.1279-rc.24617";
2
+ export declare const VERSION = "0.1.1280";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -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,sBAAsB,CAAC"}
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"}
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.1279-rc.24617";
4
+ export const VERSION = "0.1.1280";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veryfront/ext-content-mdx",
3
- "version": "0.1.1279-rc.24617",
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.1279-rc.24617",
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.1279-rc.24617"
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": "b4bf1941c44ae6a7bed951f71ba8b1aed658a86b"
95
+ "gitHead": "dcbac8c3d1bb827e3db208b8bd9682e3d4121ae4"
96
96
  }