humanish 0.91.0 → 0.92.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/chrome-cdp-probe.d.ts +5 -3
- package/dist/chrome-cdp-probe.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +10 -4
- package/dist/cua-actor-lab.js +19 -8
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/device-presets.d.ts +4 -4
- package/dist/device-presets.js +8 -10
- package/dist/device-presets.js.map +1 -1
- package/dist/init-templates.js +11 -8
- package/dist/init-templates.js.map +1 -1
- package/dist/lab-config.d.ts +2 -1
- package/dist/lab-config.js.map +1 -1
- package/dist/observer-app.html +6 -6
- package/dist/run-index.js +2 -2
- package/dist/run-index.js.map +1 -1
- package/dist/shared-world-lab.js +1 -0
- package/dist/shared-world-lab.js.map +1 -1
- package/dist/stats.d.ts +9 -2
- package/dist/stats.js +38 -15
- package/dist/stats.js.map +1 -1
- package/dist/study-analysis-job.d.ts +8 -0
- package/dist/study-analysis-job.js +17 -0
- package/dist/study-analysis-job.js.map +1 -1
- package/dist/study-analysis-service.js +10 -3
- package/dist/study-analysis-service.js.map +1 -1
- package/dist/study-analysis-sharing.js +1 -1
- package/dist/study-analysis-sharing.js.map +1 -1
- package/dist/study-analysis-store.d.ts +14 -1
- package/dist/study-analysis-store.js +114 -3
- package/dist/study-analysis-store.js.map +1 -1
- package/dist/study-analysis-validation.d.ts +12 -0
- package/dist/study-analysis-validation.js +4 -0
- package/dist/study-analysis-validation.js.map +1 -1
- package/dist/study-costs.d.ts +27 -0
- package/dist/study-costs.js +108 -0
- package/dist/study-costs.js.map +1 -0
- package/dist/tui-app.js +20 -20
- package/docs/contracts/run-bundle.md +4 -0
- package/docs/contracts/schemas.md +2 -1
- package/docs/contracts/study-analysis.md +32 -0
- package/docs/contracts/study-costs.md +69 -0
- package/docs/goals/current.md +4 -4
- package/docs/ramp/README.md +9 -1
- package/docs/release/0.91.1-study-review-polish.md +28 -0
- package/docs/release/0.92.0-grid-playback.md +22 -0
- package/package.json +1 -1
|
@@ -10,12 +10,14 @@ export interface ChromeCdpProbeArgs {
|
|
|
10
10
|
/** The pinned page target id from the launch-time geometry capture. */
|
|
11
11
|
targetId?: string;
|
|
12
12
|
/**
|
|
13
|
-
* "pinned" (default): the launch-time target, for
|
|
14
|
-
*
|
|
13
|
+
* "pinned" (default): the launch-time target, for launch geometry and emulation attribution.
|
|
14
|
+
* "active": the tab the participant is driving NOW — Chrome's /json lists page
|
|
15
15
|
* targets most-recently-focused first. The state observer must follow the participant: a
|
|
16
16
|
* verification link that opens in a NEW tab left a pinned observer reading the old tab forever,
|
|
17
17
|
* so the observed URL never changed again and stopWhen/task criteria went blind (a live run's
|
|
18
|
-
* funnel read reach-dashboard 0/2 under a screenshot OF the dashboard).
|
|
18
|
+
* funnel read reach-dashboard 0/2 under a screenshot OF the dashboard). Final geometry follows
|
|
19
|
+
* this target too: a closed launch tab is unavailable, and a background tab may report stale
|
|
20
|
+
* layout dimensions or zero outer bounds after navigation.
|
|
19
21
|
*/
|
|
20
22
|
prefer?: ChromeCdpPagePreference;
|
|
21
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chrome-cdp-probe.js","sourceRoot":"","sources":["../src/chrome-cdp-probe.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,EAAE;AACF,iGAAiG;AACjG,8FAA8F;AAC9F,8FAA8F;AAC9F,kGAAkG;AAClG,0FAA0F;AAC1F,kGAAkG;AAClG,gGAAgG;AAChG,mGAAmG;AACnG,oDAAoD;AACpD,EAAE;AACF,kGAAkG;AAClG,4FAA4F;AAC5F,EAAE;AACF,8EAA8E;AAC9E,kGAAkG;AAClG,gGAAgG;AAChG,iEAAiE;
|
|
1
|
+
{"version":3,"file":"chrome-cdp-probe.js","sourceRoot":"","sources":["../src/chrome-cdp-probe.ts"],"names":[],"mappings":"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"}
|
package/dist/cua-actor-lab.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { type E2BDesktopModule, type E2BDesktopSandbox } from "./e2b-desktop-lau
|
|
|
12
12
|
import { type DetachedTimers } from "./e2b-detached.js";
|
|
13
13
|
import { type DevicePreset } from "./device-presets.js";
|
|
14
14
|
import { type LabActorLane, type LabCommsEmail, type LabCommsRecipient, type LabConfig, type LabDesktopBrowser, type LabSubjectServe, type LabSubjectState, type LabDesktopMedia } from "./lab-config.js";
|
|
15
|
-
import { type ChromeMobileEmulationRequest } from "./chrome-cdp-probe.js";
|
|
15
|
+
import { type ChromeCdpPagePreference, type ChromeMobileEmulationRequest } from "./chrome-cdp-probe.js";
|
|
16
16
|
import { type ResolvedPersona } from "./persona.js";
|
|
17
17
|
import { type LabTask } from "./tasks.js";
|
|
18
18
|
import { renderObserver, type ObserverResult } from "./observer.js";
|
|
@@ -760,10 +760,14 @@ drift?: {
|
|
|
760
760
|
* Read the running browser's actual outer-window bounds and CSS layout viewport through the
|
|
761
761
|
* already-enabled local Chrome DevTools endpoint. The returned values come from `window.*` in
|
|
762
762
|
* the target page; requested E2B resolution is deliberately not an input to this function.
|
|
763
|
-
*
|
|
764
|
-
*
|
|
763
|
+
* Missing channels report their reason via `onUnavailable`, so the geometry warning can name
|
|
764
|
+
* the cause (a dead CDP endpoint, no python3) instead of only the symptom. Returns `undefined`
|
|
765
|
+
* only when neither channel could be measured.
|
|
766
|
+
* Outer bounds and CSS dimensions are independent channels: a background page can report zero
|
|
767
|
+
* outer dimensions while still reporting a CSS viewport. Final captures follow the active tab;
|
|
768
|
+
* launch captures and emulation attribution keep the pinned target.
|
|
765
769
|
*/
|
|
766
|
-
export declare function makeChromeDesktopGeometryObserver(desktop: E2BDesktopSandbox, requestTimeoutMs: number, endpoint: ChromeCdpEndpoint, targetId?: string, onUnavailable?: (reason: string) => void): () => Promise<(Pick<RunDesktopGeometry, "browserWindow" | "viewport"> & {
|
|
770
|
+
export declare function makeChromeDesktopGeometryObserver(desktop: E2BDesktopSandbox, requestTimeoutMs: number, endpoint: ChromeCdpEndpoint, targetId?: string, onUnavailable?: (reason: string) => void, prefer?: ChromeCdpPagePreference): () => Promise<(Pick<RunDesktopGeometry, "browserWindow" | "viewport"> & {
|
|
767
771
|
targetId?: string;
|
|
768
772
|
}) | undefined>;
|
|
769
773
|
/** The user agent a mobile-emulated lane presents unless the lab sets its own. */
|
|
@@ -786,6 +790,8 @@ export declare function captureDesktopBrowserGeometry(args: {
|
|
|
786
790
|
browserFamily: DesktopBrowserFamily;
|
|
787
791
|
launchIdentity?: DesktopBrowserLaunchIdentity;
|
|
788
792
|
browserTargetId?: string;
|
|
793
|
+
/** Launch captures stay pinned; final captures follow the participant's current page. */
|
|
794
|
+
pagePreference?: ChromeCdpPagePreference;
|
|
789
795
|
browserWindowId?: string;
|
|
790
796
|
laneId: string;
|
|
791
797
|
/** Runtime-only lane target URL (attributes the CDP page); never persisted by this capture. */
|
package/dist/cua-actor-lab.js
CHANGED
|
@@ -1015,12 +1015,16 @@ drift) {
|
|
|
1015
1015
|
* Read the running browser's actual outer-window bounds and CSS layout viewport through the
|
|
1016
1016
|
* already-enabled local Chrome DevTools endpoint. The returned values come from `window.*` in
|
|
1017
1017
|
* the target page; requested E2B resolution is deliberately not an input to this function.
|
|
1018
|
-
*
|
|
1019
|
-
*
|
|
1018
|
+
* Missing channels report their reason via `onUnavailable`, so the geometry warning can name
|
|
1019
|
+
* the cause (a dead CDP endpoint, no python3) instead of only the symptom. Returns `undefined`
|
|
1020
|
+
* only when neither channel could be measured.
|
|
1021
|
+
* Outer bounds and CSS dimensions are independent channels: a background page can report zero
|
|
1022
|
+
* outer dimensions while still reporting a CSS viewport. Final captures follow the active tab;
|
|
1023
|
+
* launch captures and emulation attribution keep the pinned target.
|
|
1020
1024
|
*/
|
|
1021
|
-
export function makeChromeDesktopGeometryObserver(desktop, requestTimeoutMs, endpoint, targetId, onUnavailable) {
|
|
1025
|
+
export function makeChromeDesktopGeometryObserver(desktop, requestTimeoutMs, endpoint, targetId, onUnavailable, prefer = "pinned") {
|
|
1022
1026
|
return async () => {
|
|
1023
|
-
const result = await desktop.commands.run(chromeCdpProbeCommand({ ...endpoint, ...(targetId === undefined ? {} : { targetId }), prefer
|
|
1027
|
+
const result = await desktop.commands.run(chromeCdpProbeCommand({ ...endpoint, ...(targetId === undefined ? {} : { targetId }), prefer, mode: "geometry" }), { requestTimeoutMs, timeoutMs: 5_000 });
|
|
1024
1028
|
if (result.exitCode !== undefined && result.exitCode !== 0) {
|
|
1025
1029
|
onUnavailable?.(`probe exited ${result.exitCode}: ${tailOf(result.stderr ?? result.stdout ?? "")}`);
|
|
1026
1030
|
return undefined;
|
|
@@ -1030,13 +1034,19 @@ export function makeChromeDesktopGeometryObserver(desktop, requestTimeoutMs, end
|
|
|
1030
1034
|
onUnavailable?.(parsed.unavailable);
|
|
1031
1035
|
return undefined;
|
|
1032
1036
|
}
|
|
1033
|
-
|
|
1037
|
+
const browserWindow = isMeasuredRect(parsed.browserWindow) ? { ...parsed.browserWindow, source: "cdp" } : undefined;
|
|
1038
|
+
const viewport = isMeasuredViewport(parsed.viewport) ? { ...parsed.viewport, source: "cdp" } : undefined;
|
|
1039
|
+
if (browserWindow === undefined && viewport === undefined) {
|
|
1034
1040
|
onUnavailable?.("the page reported no usable window or viewport dimensions");
|
|
1035
1041
|
return undefined;
|
|
1036
1042
|
}
|
|
1043
|
+
if (browserWindow === undefined)
|
|
1044
|
+
onUnavailable?.("the page reported no usable outer-window dimensions");
|
|
1045
|
+
if (viewport === undefined)
|
|
1046
|
+
onUnavailable?.("the page reported no usable CSS viewport dimensions");
|
|
1037
1047
|
return {
|
|
1038
|
-
browserWindow: {
|
|
1039
|
-
viewport: {
|
|
1048
|
+
...(browserWindow === undefined ? {} : { browserWindow }),
|
|
1049
|
+
...(viewport === undefined ? {} : { viewport }),
|
|
1040
1050
|
...(parsed.targetId === undefined ? {} : { targetId: parsed.targetId })
|
|
1041
1051
|
};
|
|
1042
1052
|
};
|
|
@@ -1272,7 +1282,7 @@ export async function captureDesktopBrowserGeometry(args) {
|
|
|
1272
1282
|
targetUrl: args.targetUrl
|
|
1273
1283
|
}, args.browserTargetId, (reason) => {
|
|
1274
1284
|
cdpUnavailable = reason;
|
|
1275
|
-
})().catch((error) => {
|
|
1285
|
+
}, args.pagePreference ?? "pinned")().catch((error) => {
|
|
1276
1286
|
cdpUnavailable = toErrorMessage(error);
|
|
1277
1287
|
return undefined;
|
|
1278
1288
|
})
|
|
@@ -2208,6 +2218,7 @@ export async function runCuaLane(spec, deps) {
|
|
|
2208
2218
|
targetUrl,
|
|
2209
2219
|
requestedScreen: spec.resolution,
|
|
2210
2220
|
requestTimeoutMs: deps.requestTimeoutMs,
|
|
2221
|
+
pagePreference: "active",
|
|
2211
2222
|
resize: false
|
|
2212
2223
|
}).catch((error) => ({
|
|
2213
2224
|
warnings: [`Final browser geometry measurement failed for lane ${spec.laneId}: ${redactText(deps.scrubKnownValues(toErrorMessage(error)))}`]
|