@vosjs/studio-core 0.28.0 → 0.29.0

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/index.d.ts CHANGED
@@ -429,6 +429,35 @@ interface RecordingMeta {
429
429
  asked: string;
430
430
  landed: string;
431
431
  };
432
+ /**
433
+ * Sensitive-looking text the recorder saw IN the frame: an email address,
434
+ * something shaped like a key, a card number. The KIND and the place, never
435
+ * the string. Each is listed once, at the first step it was visible
436
+ * (`step` -1 = as the page opened); `seen` counts the scans that saw it.
437
+ * `rect` is viewport CSS px. Absent on a recorder that does not look.
438
+ */
439
+ exposures?: {
440
+ step: number;
441
+ kind: 'email' | 'key' | 'card' | 'card-tail';
442
+ selector: string;
443
+ rect: {
444
+ x: number;
445
+ y: number;
446
+ w: number;
447
+ h: number;
448
+ };
449
+ seen: number;
450
+ }[];
451
+ /**
452
+ * What the script asked the recorder to hide before the camera rolled, and
453
+ * how many elements each selector reached. `hits: 0` is a mask that hid
454
+ * nothing, so whatever it was for may be showing.
455
+ */
456
+ masks?: {
457
+ selector: string;
458
+ as: 'blur' | 'text';
459
+ hits: number;
460
+ }[];
432
461
  }
433
462
  /**
434
463
  * A span's tie to an actions.json step: metadata for `vos plan
@@ -3019,6 +3048,10 @@ interface DigestTakeFacts {
3019
3048
  * when it landed where it was asked, or the recorder does not check.
3020
3049
  */
3021
3050
  wall: RecordingMeta['wall'] | null;
3051
+ /** Sensitive-looking text the recorder saw in the frame (kind + place, never the string). */
3052
+ exposures: NonNullable<RecordingMeta['exposures']>;
3053
+ /** Masks the script asked for, with how many elements each reached. */
3054
+ masks: NonNullable<RecordingMeta['masks']>;
3022
3055
  }
3023
3056
  interface Digest {
3024
3057
  digestVersion: number;
package/dist/index.js CHANGED
@@ -8709,7 +8709,9 @@ function buildDigest(input) {
8709
8709
  hasSystemAudio: meta.hasAudio === true,
8710
8710
  hasCursor: doc.source.cursor.length > 0,
8711
8711
  windowFocusedFrac: meta.windowFocusedFrac ?? null,
8712
- wall: meta.wall ?? null
8712
+ wall: meta.wall ?? null,
8713
+ exposures: meta.exposures ?? [],
8714
+ masks: meta.masks ?? []
8713
8715
  },
8714
8716
  units: {
8715
8717
  source: "seconds of footage",