humanish 0.96.0 → 0.97.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.
Files changed (81) hide show
  1. package/README.md +4 -1
  2. package/dist/automatic-analysis-config.d.ts +15 -5
  3. package/dist/automatic-analysis-config.js +25 -4
  4. package/dist/automatic-analysis-config.js.map +1 -1
  5. package/dist/automatic-study-analysis.js +4 -2
  6. package/dist/automatic-study-analysis.js.map +1 -1
  7. package/dist/cua-actor-lab.d.ts +18 -286
  8. package/dist/cua-actor-lab.js +151 -1955
  9. package/dist/cua-actor-lab.js.map +1 -1
  10. package/dist/cua-desktop-lane.d.ts +35 -0
  11. package/dist/cua-desktop-lane.js +13 -0
  12. package/dist/cua-desktop-lane.js.map +1 -0
  13. package/dist/desktop-session.d.ts +41 -0
  14. package/dist/desktop-session.js +44 -0
  15. package/dist/desktop-session.js.map +1 -0
  16. package/dist/doctor-lab.d.ts +6 -1
  17. package/dist/doctor-lab.js +17 -3
  18. package/dist/doctor-lab.js.map +1 -1
  19. package/dist/e2b-cua-desktop.d.ts +3 -0
  20. package/dist/e2b-cua-desktop.js +675 -0
  21. package/dist/e2b-cua-desktop.js.map +1 -0
  22. package/dist/e2b-cua-provisioning.d.ts +311 -0
  23. package/dist/e2b-cua-provisioning.js +1213 -0
  24. package/dist/e2b-cua-provisioning.js.map +1 -0
  25. package/dist/e2b-desktop-session.d.ts +7 -0
  26. package/dist/e2b-desktop-session.js +29 -0
  27. package/dist/e2b-desktop-session.js.map +1 -0
  28. package/dist/index.d.ts +1 -1
  29. package/dist/lab-summary.d.ts +3 -1
  30. package/dist/local-agent-cli.js +1 -1
  31. package/dist/local-agent-cli.js.map +1 -1
  32. package/dist/observer-app.html +2 -2
  33. package/dist/program.js +24 -9
  34. package/dist/program.js.map +1 -1
  35. package/dist/restricted-codex-analysis.d.ts +15 -0
  36. package/dist/restricted-codex-analysis.js +13 -0
  37. package/dist/restricted-codex-analysis.js.map +1 -0
  38. package/dist/restricted-codex-policy.d.ts +56 -0
  39. package/dist/restricted-codex-policy.js +151 -0
  40. package/dist/restricted-codex-policy.js.map +1 -0
  41. package/dist/restricted-codex-session.d.ts +19 -0
  42. package/dist/restricted-codex-session.js +419 -0
  43. package/dist/restricted-codex-session.js.map +1 -0
  44. package/dist/restricted-codex-transport.d.ts +58 -0
  45. package/dist/restricted-codex-transport.js +233 -0
  46. package/dist/restricted-codex-transport.js.map +1 -0
  47. package/dist/run.d.ts +1 -1
  48. package/dist/run.js +1 -1
  49. package/dist/run.js.map +1 -1
  50. package/dist/study-analysis-codex-config.d.ts +11 -0
  51. package/dist/study-analysis-codex-config.js +34 -0
  52. package/dist/study-analysis-codex-config.js.map +1 -0
  53. package/dist/study-analysis-engine.d.ts +6 -3
  54. package/dist/study-analysis-engine.js +19 -10
  55. package/dist/study-analysis-engine.js.map +1 -1
  56. package/dist/study-analysis-job.d.ts +1 -0
  57. package/dist/study-analysis-job.js +1 -1
  58. package/dist/study-analysis-job.js.map +1 -1
  59. package/dist/study-analysis-provider.d.ts +4 -2
  60. package/dist/study-analysis-provider.js +1 -1
  61. package/dist/study-analysis-provider.js.map +1 -1
  62. package/dist/study-analysis-service.d.ts +3 -0
  63. package/dist/study-analysis-service.js +24 -6
  64. package/dist/study-analysis-service.js.map +1 -1
  65. package/dist/study-analysis-validation.d.ts +29 -5
  66. package/dist/study-analysis-validation.js +23 -10
  67. package/dist/study-analysis-validation.js.map +1 -1
  68. package/dist/study-analysis.d.ts +27 -2
  69. package/dist/tui-app.js +102 -102
  70. package/docs/architecture/desktop-sessions.md +80 -0
  71. package/docs/architecture/restricted-codex-analysis.md +89 -0
  72. package/docs/contracts/run-bundle.md +7 -4
  73. package/docs/contracts/schemas.md +1 -1
  74. package/docs/contracts/study-analysis.md +44 -2
  75. package/docs/goals/current.md +4 -4
  76. package/docs/product/automatic-analysis.md +24 -3
  77. package/docs/ramp/README.md +11 -1
  78. package/docs/release/0.96.1-browser-navigation.md +22 -0
  79. package/docs/release/0.97.0-codex-account-analysis.md +45 -0
  80. package/package.json +1 -1
  81. package/skills/humanish/SKILL.md +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2b-cua-desktop.js","sourceRoot":"","sources":["../src/e2b-cua-desktop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,311 @@
1
+ import { type ChromeCdpPagePreference, type ChromeMobileEmulationRequest } from "./chrome-cdp-probe.js";
2
+ import { type DevicePreset } from "./device-presets.js";
3
+ import { type E2BDesktopSandbox } from "./e2b-desktop-launch.js";
4
+ import { type DetachedTimers } from "./e2b-detached.js";
5
+ import { type LabDesktopBrowser, type LabDesktopMedia, type LabSubjectServe, type LabSubjectState } from "./lab-config.js";
6
+ import { type RunDesktopGeometry, type RunSubjectStateStepRecord } from "./run.js";
7
+ export declare const CUA_ACTOR_LAB_PROVIDER_METADATA: {
8
+ readonly mode: "cua-actor-lab";
9
+ readonly tool: "humanish";
10
+ };
11
+ export declare const BROWSER_SETTLE_MS = 8000;
12
+ export interface DesktopBrowserEvidence {
13
+ requested: LabDesktopBrowser;
14
+ resolved?: string;
15
+ /** Synthetic media devices the browser was launched with (#509), and how permission is answered. */
16
+ media?: DesktopMediaEvidence;
17
+ }
18
+ export interface DesktopMediaEvidence {
19
+ camera?: {
20
+ source: "synthetic" | "file";
21
+ file: string;
22
+ };
23
+ permission: "prompt" | "granted";
24
+ flags: string[];
25
+ }
26
+ /** Where a lane's synthetic camera feed lives inside the sandbox: a tmpfs the sandbox user can
27
+ * write, and a path that contains neither /tmp/ nor /home/, which the public-safety scan reads
28
+ * as an operator's local path (this one is the harness's own and belongs in the bundle). */
29
+ export declare const SANDBOX_MEDIA_DIR = "/dev/shm/humanish-media";
30
+ export declare const SANDBOX_CAMERA_PATH = "/dev/shm/humanish-media/camera.y4m";
31
+ /** The synthetic feed: ffmpeg's test pattern, 640x480 at 10 fps, six seconds (about 28 MB of
32
+ * raw Y4M on the tmpfs), looped by Chrome's fake capture device. */
33
+ export declare const SYNTHETIC_CAMERA_COMMAND = "mkdir -p /dev/shm/humanish-media && ffmpeg -y -loglevel error -f lavfi -i testsrc=size=640x480:rate=10 -t 6 -pix_fmt yuv420p /dev/shm/humanish-media/camera.y4m";
34
+ /**
35
+ * Put the declared camera feed in the sandbox and return the Chromium flags that present it as a
36
+ * capture device (#509). Fails CLOSED: a feed that cannot be produced (no ffmpeg on the image, an
37
+ * unreadable host file) is named before the browser launches, because a participant told it has
38
+ * a camera and finds none reports the instrument's gap as the product's.
39
+ */
40
+ export declare function prepareDesktopMedia(desktop: E2BDesktopSandbox, media: LabDesktopMedia, permission: "prompt" | "granted", cwd: string, requestTimeoutMs: number, readHostFile?: (absolutePath: string) => Promise<Buffer>): Promise<DesktopMediaEvidence>;
41
+ export type DesktopBrowserFamily = "chromium" | "firefox" | "unknown";
42
+ /** Runtime-only identity for the exact browser process started by this lane. */
43
+ export interface DesktopBrowserLaunchIdentity {
44
+ processId: string;
45
+ profileDir: string;
46
+ targetUrl: string;
47
+ cdpPort?: number;
48
+ }
49
+ /** Runtime-only launch result. `evidence` preserves the existing public persistence policy. */
50
+ export interface DesktopBrowserLaunchResult {
51
+ family: DesktopBrowserFamily;
52
+ identity?: DesktopBrowserLaunchIdentity;
53
+ evidence?: DesktopBrowserEvidence;
54
+ }
55
+ export declare const SUBJECT_DIR = "/home/user/subject";
56
+ export declare const DEFAULT_STATE_STEP_TIMEOUT_MS: number;
57
+ /**
58
+ * One phase-boundary event from the shared subject provisioning pipeline (clone or local-tree
59
+ * route): started/completed pairs at each named boundary, never per poll tick (the detached
60
+ * primitive in e2b-detached.ts already polls every 1.5-3s internally; only the boundary itself
61
+ * is surfaced here). Message text is public-safe by construction: no URLs beyond the existing
62
+ * publicAppUrl convention, no paths, no command text. Completed events carry `ok` and
63
+ * `durationMs`; started events (and the fire-and-forget `subject.serve.started`) carry neither.
64
+ */
65
+ export interface SubjectPhaseEvent {
66
+ at: string;
67
+ type: string;
68
+ ok?: boolean;
69
+ durationMs?: number;
70
+ message: string;
71
+ }
72
+ /** Mid-run inbox-surface render cadence (ms). Coarse enough that the per-tick `cat` + file writes stay
73
+ * cheap; fine enough that a verification email is visible seconds after the app sends it. */
74
+ export declare const INBOX_SURFACE_CADENCE_MS = 2500;
75
+ /**
76
+ * The DECLARED preset to record alongside the rendered screen, or undefined when the preset
77
+ * rendered faithfully.
78
+ *
79
+ * `desktopGeometry.screen.verified` compares the FLOORED number with itself, so on its own a
80
+ * floored run is indistinguishable from a faithful one: a reader sees requested 500 / verified 500
81
+ * and concludes a 500-wide screen was asked for. Recording the declared preset is what makes
82
+ * "the preset width did not render" legible in the bundle.
83
+ */
84
+ export declare function declaredScreenForRender(preset: DevicePreset, presetName: string, rendered: readonly [number, number]): {
85
+ width: number;
86
+ height: number;
87
+ preset: string;
88
+ } | undefined;
89
+ /** Default phase-boundary sink (stderr): one line per event, prefixed with the lane id ONLY
90
+ * when laneCount > 1. Single-lane emission is unconditional: total single-lane silence for the
91
+ * whole clone/install/build/ready boot is the bug this event stream exists to close.
92
+ * Overridable via CuaActorLabHooks.onPhase so deterministic tests capture instead of writing to
93
+ * the real stderr. */
94
+ export declare function defaultSubjectPhaseSink(event: SubjectPhaseEvent, ctx: {
95
+ laneId: string;
96
+ laneCount: number;
97
+ }): void;
98
+ /**
99
+ * Verify the desktop screen geometry IN-SANDBOX (the per-lane device claim is checked, never
100
+ * assumed). A parseable mismatch fails closed. Unavailable/unparseable evidence is returned as
101
+ * an explicit warning: the lane may still run, but its bundle records only the requested screen
102
+ * and never upgrades that request into a verified measurement.
103
+ */
104
+ export declare function inspectDesktopScreenGeometry(args: {
105
+ desktop: E2BDesktopSandbox;
106
+ laneId: string;
107
+ requestedScreen: readonly [number, number];
108
+ requestTimeoutMs: number;
109
+ }): Promise<{
110
+ verified?: RunDesktopGeometry["screen"]["verified"];
111
+ error?: string;
112
+ warning?: string;
113
+ }>;
114
+ /**
115
+ * Build the xdotool command that makes a browser window fill the desktop.
116
+ * Exported (pure) for contract tests. A window manager can ignore Chrome's
117
+ * --window-size, so xdotool is the robust path: move the window to the origin,
118
+ * then size it to the exact desktop resolution so Observer screenshots carry no
119
+ * dead margin around the browser.
120
+ */
121
+ export declare function buildFillDesktopWindowCommand(windowId: string, width: number, height: number): string;
122
+ export declare function openDesktopBrowserTarget(desktop: E2BDesktopSandbox, targetUrl: string, requestTimeoutMs: number, browserPreference: LabDesktopBrowser | undefined,
123
+ /** Launch-time flags that make mobile fidelity (#221) hold across every tab: the user agent and
124
+ * touch events are browser-wide here, where the CDP holder covers only the launch page. */
125
+ extraChromiumFlags?: readonly string[]): Promise<DesktopBrowserLaunchResult>;
126
+ export declare function desktopBrowserFamily(value: string | undefined): DesktopBrowserFamily;
127
+ /**
128
+ * Runtime-only CDP endpoint attribution for the exact chromium this lane launched. Port
129
+ * resolution at OBSERVE time: the cached launch-time `cdpPort` wins; absent that, the observer
130
+ * probe re-reads `profileDir`'s DevToolsActivePort marker (a slow cold start can publish it
131
+ * AFTER the launch-time poll gave up); absent both it falls back to the legacy fixed 9222,
132
+ * where a dead endpoint degrades into an honest warning that names the cause.
133
+ */
134
+ export interface ChromeCdpEndpoint {
135
+ cdpPort?: number;
136
+ /** The launched profile dir; lets observers re-read DevToolsActivePort at observe time. */
137
+ profileDir?: string;
138
+ /** The URL this lane opened; attributes the CDP page when no target id is pinned yet. */
139
+ targetUrl: string;
140
+ }
141
+ /**
142
+ * The URL / title / page-text / scroll observer behind stopWhen and task criteria. One probe per
143
+ * observation, run on the sandbox's python3 (see chrome-cdp-probe.ts for why not node: #514).
144
+ *
145
+ * "active": follow the participant to whatever tab they are driving now — never pin the state
146
+ * observer to the launch tab (a verification link that opened in a NEW tab left a pinned observer
147
+ * reading the old tab forever).
148
+ *
149
+ * `onUnavailable` fires ONCE, on the first probe that could not read the page, with the reason.
150
+ * The observer still degrades to `{}` for the loop; the callback is how a lane says out loud that
151
+ * url/text criteria are not being measured, instead of letting the funnel report 0/N (#514).
152
+ */
153
+ export declare function makeChromeBrowserStateObserver(desktop: E2BDesktopSandbox, requestTimeoutMs: number, endpoint: ChromeCdpEndpoint, targetId?: string, onUnavailable?: (reason: string) => void,
154
+ /**
155
+ * Mobile emulation on later tabs (#623): the holder attaches to every page target Chrome opens
156
+ * after the launch page, so a tab the participant opens later should lay out at the phone width
157
+ * too. The first observation on each new target reads that page's OWN report; a target that
158
+ * reports the requested width is recorded through `onCovered`, and one that does not (or cannot
159
+ * be read) fires `onDrift` once, so a phone-labelled lane that spent part of its session at
160
+ * desktop layout says so with the number the page gave.
161
+ */
162
+ drift?: {
163
+ emulatedTargetId: string;
164
+ expectedWidth: number;
165
+ expectTouch?: boolean;
166
+ onDrift: (reason: string) => void;
167
+ onCovered?: (targetId: string, read: {
168
+ innerWidth: number;
169
+ devicePixelRatio: number;
170
+ maxTouchPoints: number;
171
+ }) => void;
172
+ }): () => Promise<{
173
+ url?: string;
174
+ title?: string;
175
+ text?: string;
176
+ scrollY?: number;
177
+ }>;
178
+ /**
179
+ * Read the running browser's actual outer-window bounds and CSS layout viewport through the
180
+ * already-enabled local Chrome DevTools endpoint. The returned values come from `window.*` in
181
+ * the target page; requested E2B resolution is deliberately not an input to this function.
182
+ * Missing channels report their reason via `onUnavailable`, so the geometry warning can name
183
+ * the cause (a dead CDP endpoint, no python3) instead of only the symptom. Returns `undefined`
184
+ * only when neither channel could be measured.
185
+ * Outer bounds and CSS dimensions are independent channels: a background page can report zero
186
+ * outer dimensions while still reporting a CSS viewport. Final captures follow the active tab;
187
+ * launch captures and emulation attribution keep the pinned target.
188
+ */
189
+ export declare function makeChromeDesktopGeometryObserver(desktop: E2BDesktopSandbox, requestTimeoutMs: number, endpoint: ChromeCdpEndpoint, targetId?: string, onUnavailable?: (reason: string) => void, prefer?: ChromeCdpPagePreference): () => Promise<(Pick<RunDesktopGeometry, "browserWindow" | "viewport"> & {
190
+ targetId?: string;
191
+ }) | undefined>;
192
+ /** The user agent a mobile-emulated lane presents unless the lab sets its own. */
193
+ export declare const DEFAULT_MOBILE_USER_AGENT = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1";
194
+ /**
195
+ * Apply mobile emulation (#221) to the lane's launch page and read back what the page reports.
196
+ * Fails CLOSED: a request that cannot be applied throws, because a desktop run labelled mobile is
197
+ * the over-trust this feature exists to prevent. A read-back that cannot be taken is a warning
198
+ * (the emulation was applied; only the proof is missing).
199
+ */
200
+ export declare function applyMobileEmulation(desktop: E2BDesktopSandbox, requestTimeoutMs: number, endpoint: ChromeCdpEndpoint, targetId: string | undefined, request: ChromeMobileEmulationRequest): Promise<{
201
+ fidelity: NonNullable<RunDesktopGeometry["fidelity"]>;
202
+ warnings: string[];
203
+ targetId?: string;
204
+ holderName: string;
205
+ }>;
206
+ /** Root-relative physical client bounds from xwininfo's C-locale stats. */
207
+ export declare function parseXwininfoGeometry(output: string): RunDesktopGeometry["browserWindow"] | undefined;
208
+ /** Shared hosted-browser geometry capture used by per-lane and sequential shared-world routes. */
209
+ export declare function captureDesktopBrowserGeometry(args: {
210
+ desktop: E2BDesktopSandbox;
211
+ browserFamily: DesktopBrowserFamily;
212
+ launchIdentity?: DesktopBrowserLaunchIdentity;
213
+ browserTargetId?: string;
214
+ /** Launch captures stay pinned; final captures follow the participant's current page. */
215
+ pagePreference?: ChromeCdpPagePreference;
216
+ browserWindowId?: string;
217
+ laneId: string;
218
+ /** Runtime-only lane target URL (attributes the CDP page); never persisted by this capture. */
219
+ targetUrl: string;
220
+ requestedScreen: readonly [number, number];
221
+ requestTimeoutMs: number;
222
+ resize?: boolean;
223
+ }): Promise<{
224
+ /** Known physical clipping (or unverified repair of it); startup must stop before actions. */
225
+ unusable?: string;
226
+ browserWindowId?: string;
227
+ browserTargetId?: string;
228
+ browserWindow?: RunDesktopGeometry["browserWindow"];
229
+ viewport?: RunDesktopGeometry["viewport"];
230
+ warnings: string[];
231
+ }>;
232
+ /**
233
+ * Prepare a CLI study's runtime and, only when declared, its product (#495, #515).
234
+ *
235
+ * The install runs UNKEYED and before the session starts, for the same reason the clone route
236
+ * provisions its subject first: what is being studied begins when the participant looks at the
237
+ * screen. Omitting install deliberately studies product installation; Node/npm remain a
238
+ * harness prerequisite so the participant can follow the product's public npm instructions.
239
+ */
240
+ export declare function provisionDesktopCli(desktop: E2BDesktopSandbox, args: {
241
+ product: string;
242
+ install?: string;
243
+ requestTimeoutMs: number;
244
+ scrub: (value: string) => string;
245
+ onPhase?: (event: SubjectPhaseEvent) => void;
246
+ }): Promise<void>;
247
+ /**
248
+ * Open a terminal window on the desktop.
249
+ *
250
+ * The stock template is XFCE and ships xfce4-terminal (also aliased x-terminal-emulator), verified
251
+ * live before this route was built. `x-terminal-emulator` is tried first so a template that swaps
252
+ * the emulator still works; a desktop with neither is a template problem and fails closed rather
253
+ * than handing a participant an empty screen and calling it a study.
254
+ */
255
+ export declare function openDesktopTerminal(desktop: E2BDesktopSandbox, requestTimeoutMs: number, workdir: string | undefined): Promise<void>;
256
+ export declare function startDesktopStream(desktop: E2BDesktopSandbox, browserWindowId: string | undefined): Promise<void>;
257
+ /**
258
+ * Provision a clone subject inside the sandbox: clone → the shared serve pipeline
259
+ * (install → state(before-build) → build → state(before-start) → start → readiness
260
+ * probe → state(after-ready)). Returns the latest subject HEAD after successful
261
+ * provisioning. Throws (with a capped log tail for the caller to redact) on any failing step:
262
+ * the lab persists that as a failed-evidence bundle.
263
+ *
264
+ * Auth: when GITHUB_TOKEN is among the declared subject env names, the clone authenticates
265
+ * via an Authorization header computed IN-SANDBOX from the provisioned env: the token never
266
+ * appears in the script text, the process argv beyond the transient git call, the clone URL,
267
+ * or .git/config.
268
+ */
269
+ export declare function provisionCloneSubject(desktop: E2BDesktopSandbox, args: {
270
+ repo: string;
271
+ depth: number;
272
+ serve: LabSubjectServe;
273
+ /** Declared subject state (seed steps; external declaration is provenance-only). */
274
+ state?: LabSubjectState;
275
+ hasGithubToken: boolean;
276
+ requestTimeoutMs: number;
277
+ /** Literal scrubber for known provisioned values, applied to log tails PRE-truncation. */
278
+ scrub: (text: string) => string;
279
+ /** Called the moment the cloned commit resolves, so provenance survives later failures. */
280
+ onCommit?: (commit: string) => void;
281
+ /** Called the moment each state step finishes (mirrors onCommit), success or failure. */
282
+ onStateStep?: (record: RunSubjectStateStepRecord) => void;
283
+ /** Called at each phase boundary (started/completed): clone, install, build, serve start,
284
+ * ready, and each subject.state seed-step group. */
285
+ onPhase?: (event: SubjectPhaseEvent) => void;
286
+ } & DetachedTimers): Promise<string | undefined>;
287
+ /**
288
+ * Provision a local-tree subject inside the sandbox: upload the once-per-run packed archive
289
+ * (identical bytes across every fan-out lane) → extract it into SUBJECT_DIR → the
290
+ * same shared serve pipeline provisionCloneSubject uses. Unlike the clone route there is no
291
+ * in-sandbox git refresh: the archive excludes .git entirely (see source-archive.ts), so
292
+ * subject identity is the host-side LocalTreeArchive captured at pack time, never anything
293
+ * resolved in-sandbox.
294
+ */
295
+ export declare function provisionLocalTreeSubject(desktop: E2BDesktopSandbox, args: {
296
+ /** The once-per-run packed archive bytes (shared byte-identically across every lane). */
297
+ archiveBuffer: ArrayBuffer;
298
+ serve: LabSubjectServe;
299
+ /** Declared subject state (seed steps; external declaration is provenance-only). */
300
+ state?: LabSubjectState;
301
+ requestTimeoutMs: number;
302
+ /** Literal scrubber for known provisioned values, applied to log tails PRE-truncation. */
303
+ scrub: (text: string) => string;
304
+ /** Called the moment each state step finishes, success or failure. */
305
+ onStateStep?: (record: RunSubjectStateStepRecord) => void;
306
+ /** Called at each phase boundary (started/completed): upload, extract, install, build,
307
+ * serve start, ready, and each subject.state seed-step group. */
308
+ onPhase?: (event: SubjectPhaseEvent) => void;
309
+ } & DetachedTimers): Promise<void>;
310
+ /** sha256 hex of the exact command string, first 16 chars (the promptDigest convention). */
311
+ export declare function commandDigestOf(command: string): string;