@vosjs/studio-core 0.27.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 +51 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -417,6 +417,47 @@ interface RecordingMeta {
|
|
|
417
417
|
* has no script and carries none.
|
|
418
418
|
*/
|
|
419
419
|
steps?: StepSpan[];
|
|
420
|
+
/**
|
|
421
|
+
* The recorder did not land where it was asked: a sign-in, an identity
|
|
422
|
+
* provider, a 401/403, or a redirect to somewhere else. Present only when
|
|
423
|
+
* the take was recorded ANYWAY, so whoever reads it later (a digest, an
|
|
424
|
+
* agent cutting the footage) knows the picture may be the wrong page.
|
|
425
|
+
* `asked`/`landed` are origin + path, never a query or hash.
|
|
426
|
+
*/
|
|
427
|
+
wall?: {
|
|
428
|
+
kind: 'status' | 'idp' | 'signin' | 'redirect';
|
|
429
|
+
asked: string;
|
|
430
|
+
landed: string;
|
|
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
|
+
}[];
|
|
420
461
|
}
|
|
421
462
|
/**
|
|
422
463
|
* A span's tie to an actions.json step: metadata for `vos plan
|
|
@@ -3001,6 +3042,16 @@ interface DigestTakeFacts {
|
|
|
3001
3042
|
hasSystemAudio: boolean;
|
|
3002
3043
|
hasCursor: boolean;
|
|
3003
3044
|
windowFocusedFrac: number | null;
|
|
3045
|
+
/**
|
|
3046
|
+
* The recorder did not land where it was asked (a sign-in, a redirect) and
|
|
3047
|
+
* the take was recorded anyway: the footage may be the wrong page. null
|
|
3048
|
+
* when it landed where it was asked, or the recorder does not check.
|
|
3049
|
+
*/
|
|
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']>;
|
|
3004
3055
|
}
|
|
3005
3056
|
interface Digest {
|
|
3006
3057
|
digestVersion: number;
|
package/dist/index.js
CHANGED
|
@@ -8708,7 +8708,10 @@ function buildDigest(input) {
|
|
|
8708
8708
|
hasMic: Boolean(doc.source.micKey) || meta.hasMic === true,
|
|
8709
8709
|
hasSystemAudio: meta.hasAudio === true,
|
|
8710
8710
|
hasCursor: doc.source.cursor.length > 0,
|
|
8711
|
-
windowFocusedFrac: meta.windowFocusedFrac ?? null
|
|
8711
|
+
windowFocusedFrac: meta.windowFocusedFrac ?? null,
|
|
8712
|
+
wall: meta.wall ?? null,
|
|
8713
|
+
exposures: meta.exposures ?? [],
|
|
8714
|
+
masks: meta.masks ?? []
|
|
8712
8715
|
},
|
|
8713
8716
|
units: {
|
|
8714
8717
|
source: "seconds of footage",
|