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.
- package/README.md +4 -1
- package/dist/automatic-analysis-config.d.ts +15 -5
- package/dist/automatic-analysis-config.js +25 -4
- package/dist/automatic-analysis-config.js.map +1 -1
- package/dist/automatic-study-analysis.js +4 -2
- package/dist/automatic-study-analysis.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +18 -286
- package/dist/cua-actor-lab.js +151 -1955
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/cua-desktop-lane.d.ts +35 -0
- package/dist/cua-desktop-lane.js +13 -0
- package/dist/cua-desktop-lane.js.map +1 -0
- package/dist/desktop-session.d.ts +41 -0
- package/dist/desktop-session.js +44 -0
- package/dist/desktop-session.js.map +1 -0
- package/dist/doctor-lab.d.ts +6 -1
- package/dist/doctor-lab.js +17 -3
- package/dist/doctor-lab.js.map +1 -1
- package/dist/e2b-cua-desktop.d.ts +3 -0
- package/dist/e2b-cua-desktop.js +675 -0
- package/dist/e2b-cua-desktop.js.map +1 -0
- package/dist/e2b-cua-provisioning.d.ts +311 -0
- package/dist/e2b-cua-provisioning.js +1213 -0
- package/dist/e2b-cua-provisioning.js.map +1 -0
- package/dist/e2b-desktop-session.d.ts +7 -0
- package/dist/e2b-desktop-session.js +29 -0
- package/dist/e2b-desktop-session.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/lab-summary.d.ts +3 -1
- package/dist/local-agent-cli.js +1 -1
- package/dist/local-agent-cli.js.map +1 -1
- package/dist/observer-app.html +2 -2
- package/dist/program.js +24 -9
- package/dist/program.js.map +1 -1
- package/dist/restricted-codex-analysis.d.ts +15 -0
- package/dist/restricted-codex-analysis.js +13 -0
- package/dist/restricted-codex-analysis.js.map +1 -0
- package/dist/restricted-codex-policy.d.ts +56 -0
- package/dist/restricted-codex-policy.js +151 -0
- package/dist/restricted-codex-policy.js.map +1 -0
- package/dist/restricted-codex-session.d.ts +19 -0
- package/dist/restricted-codex-session.js +419 -0
- package/dist/restricted-codex-session.js.map +1 -0
- package/dist/restricted-codex-transport.d.ts +58 -0
- package/dist/restricted-codex-transport.js +233 -0
- package/dist/restricted-codex-transport.js.map +1 -0
- package/dist/run.d.ts +1 -1
- package/dist/run.js +1 -1
- package/dist/run.js.map +1 -1
- package/dist/study-analysis-codex-config.d.ts +11 -0
- package/dist/study-analysis-codex-config.js +34 -0
- package/dist/study-analysis-codex-config.js.map +1 -0
- package/dist/study-analysis-engine.d.ts +6 -3
- package/dist/study-analysis-engine.js +19 -10
- package/dist/study-analysis-engine.js.map +1 -1
- package/dist/study-analysis-job.d.ts +1 -0
- package/dist/study-analysis-job.js +1 -1
- package/dist/study-analysis-job.js.map +1 -1
- package/dist/study-analysis-provider.d.ts +4 -2
- package/dist/study-analysis-provider.js +1 -1
- package/dist/study-analysis-provider.js.map +1 -1
- package/dist/study-analysis-service.d.ts +3 -0
- package/dist/study-analysis-service.js +24 -6
- package/dist/study-analysis-service.js.map +1 -1
- package/dist/study-analysis-validation.d.ts +29 -5
- package/dist/study-analysis-validation.js +23 -10
- package/dist/study-analysis-validation.js.map +1 -1
- package/dist/study-analysis.d.ts +27 -2
- package/dist/tui-app.js +102 -102
- package/docs/architecture/desktop-sessions.md +80 -0
- package/docs/architecture/restricted-codex-analysis.md +89 -0
- package/docs/contracts/run-bundle.md +7 -4
- package/docs/contracts/schemas.md +1 -1
- package/docs/contracts/study-analysis.md +44 -2
- package/docs/goals/current.md +4 -4
- package/docs/product/automatic-analysis.md +24 -3
- package/docs/ramp/README.md +11 -1
- package/docs/release/0.96.1-browser-navigation.md +22 -0
- package/docs/release/0.97.0-codex-account-analysis.md +45 -0
- package/package.json +1 -1
- 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;
|