humanish 0.105.0 → 0.106.1
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/AGENTS.md +91 -94
- package/ARCHITECTURE.md +146 -0
- package/CHANGELOG.md +512 -0
- package/CONTEXT.md +51 -0
- package/CONTRIBUTING.md +113 -9
- package/README.md +213 -124
- package/SECURITY.md +1 -1
- package/TELEMETRY.md +112 -0
- package/dist/actors/affordance.d.ts +56 -0
- package/dist/actors/affordance.js +155 -0
- package/dist/actors/agent-session.js +42 -0
- package/dist/actors/codex/app-server-actor-trace.d.ts +11 -0
- package/dist/actors/codex/app-server-actor-trace.js +211 -0
- package/dist/actors/codex/app-server-client.d.ts +39 -0
- package/dist/actors/codex/app-server-client.js +116 -0
- package/dist/actors/codex/app-server-trace.d.ts +154 -0
- package/dist/actors/codex/app-server-trace.js +424 -0
- package/dist/actors/codex/app-server-ui.d.ts +40 -0
- package/dist/actors/codex/app-server-ui.js +328 -0
- package/dist/actors/codex/app-server.d.ts +44 -0
- package/dist/actors/codex/app-server.js +268 -0
- package/dist/actors/codex/qualified-versions.d.ts +45 -0
- package/dist/actors/codex/qualified-versions.js +87 -0
- package/dist/actors/codex/restricted-executable.d.ts +17 -0
- package/dist/actors/codex/restricted-executable.js +147 -0
- package/dist/actors/codex/restricted-launch.d.ts +116 -0
- package/dist/actors/codex/restricted-launch.js +222 -0
- package/dist/actors/codex/restricted-participant-policy.d.ts +46 -0
- package/dist/actors/codex/restricted-participant-policy.js +82 -0
- package/dist/actors/codex/restricted-participant.d.ts +20 -0
- package/dist/actors/codex/restricted-participant.js +432 -0
- package/dist/actors/codex/restricted-policy.d.ts +70 -0
- package/dist/actors/codex/restricted-policy.js +326 -0
- package/dist/actors/codex/restricted-session.d.ts +65 -0
- package/dist/actors/codex/restricted-session.js +432 -0
- package/dist/actors/codex/restricted-transport.d.ts +73 -0
- package/dist/actors/codex/restricted-transport.js +335 -0
- package/dist/actors/codex/restricted-turn.d.ts +62 -0
- package/dist/actors/codex/restricted-turn.js +284 -0
- package/dist/actors/computer-use/actor.d.ts +77 -0
- package/dist/actors/computer-use/actor.js +78 -0
- package/dist/actors/computer-use/admission-limit.d.ts +12 -0
- package/dist/actors/computer-use/admission-limit.js +19 -0
- package/dist/actors/computer-use/executor-error.js +48 -0
- package/dist/actors/computer-use/loop/actions.d.ts +26 -0
- package/dist/actors/computer-use/loop/actions.js +245 -0
- package/dist/actors/computer-use/loop/backstop.d.ts +42 -0
- package/dist/actors/computer-use/loop/backstop.js +202 -0
- package/dist/actors/computer-use/loop/debrief.d.ts +19 -0
- package/dist/actors/computer-use/loop/debrief.js +164 -0
- package/dist/actors/computer-use/loop/ending.d.ts +86 -0
- package/dist/actors/computer-use/loop/ending.js +316 -0
- package/dist/actors/computer-use/loop/observation.d.ts +55 -0
- package/dist/actors/computer-use/loop/observation.js +246 -0
- package/dist/actors/computer-use/loop/output-limit.d.ts +11 -0
- package/dist/actors/computer-use/loop/output-limit.js +21 -0
- package/dist/actors/computer-use/loop/provider-call.d.ts +19 -0
- package/dist/actors/computer-use/loop/provider-call.js +208 -0
- package/dist/actors/computer-use/loop/race.d.ts +34 -0
- package/dist/actors/computer-use/loop/race.js +79 -0
- package/dist/actors/computer-use/loop/session.d.ts +77 -0
- package/dist/actors/computer-use/loop/session.js +135 -0
- package/dist/actors/computer-use/loop/spend.d.ts +30 -0
- package/dist/actors/computer-use/loop/spend.js +85 -0
- package/dist/actors/computer-use/loop/trace.d.ts +35 -0
- package/dist/actors/computer-use/loop/trace.js +140 -0
- package/dist/actors/computer-use/loop/types.d.ts +404 -0
- package/dist/actors/computer-use/loop/types.js +1 -0
- package/dist/actors/computer-use/loop/usage.d.ts +102 -0
- package/dist/actors/computer-use/loop/usage.js +355 -0
- package/dist/actors/computer-use/loop.d.ts +11 -0
- package/dist/actors/computer-use/loop.js +248 -0
- package/dist/actors/computer-use/openai-provider.d.ts +107 -0
- package/dist/actors/computer-use/openai-provider.js +472 -0
- package/dist/actors/computer-use/openai-requests.d.ts +35 -0
- package/dist/actors/computer-use/openai-requests.js +74 -0
- package/dist/actors/computer-use/openai-wire.d.ts +67 -0
- package/dist/actors/computer-use/openai-wire.js +365 -0
- package/dist/actors/computer-use/provider-error.d.ts +27 -0
- package/dist/actors/computer-use/provider-error.js +86 -0
- package/dist/actors/computer-use/speech.js +6 -0
- package/dist/actors/contract.d.ts +315 -0
- package/dist/actors/contract.js +207 -0
- package/dist/actors/goal-source.js +38 -0
- package/dist/actors/local-agent/claude-session.d.ts +43 -0
- package/dist/actors/local-agent/claude-session.js +370 -0
- package/dist/actors/local-agent/cli.d.ts +115 -0
- package/dist/actors/local-agent/cli.js +413 -0
- package/dist/actors/local-agent/readiness.d.ts +31 -0
- package/dist/actors/local-agent/readiness.js +45 -0
- package/dist/actors/openai-endpoint.d.ts +2 -0
- package/dist/actors/openai-endpoint.js +2 -0
- package/dist/actors/output-token-limit.js +4 -0
- package/dist/actors/reasoning-effort.js +33 -0
- package/dist/actors/registry.d.ts +59 -0
- package/dist/actors/registry.js +89 -0
- package/dist/actors/scripted-browser/actor.d.ts +49 -0
- package/dist/actors/scripted-browser/actor.js +428 -0
- package/dist/actors/scripted-browser/browser-command.d.ts +1 -0
- package/dist/actors/scripted-browser/browser-command.js +48 -0
- package/dist/actors/scripted-browser/journey.d.ts +9 -0
- package/dist/actors/scripted-browser/journey.js +171 -0
- package/dist/actors/scripted-browser/steps.d.ts +60 -0
- package/dist/actors/scripted-browser/steps.js +384 -0
- package/dist/actors/scripted-browser/types.d.ts +135 -0
- package/dist/actors/scripted-browser/types.js +26 -0
- package/dist/actors/stop-cause.d.ts +9 -0
- package/dist/actors/stop-cause.js +42 -0
- package/dist/actors/stop-conditions.d.ts +40 -0
- package/dist/actors/stop-conditions.js +65 -0
- package/dist/analysis/automatic-completion.d.ts +38 -0
- package/dist/analysis/automatic-completion.js +90 -0
- package/dist/analysis/automatic-config.d.ts +41 -0
- package/dist/analysis/automatic-config.js +135 -0
- package/dist/analysis/automatic.d.ts +17 -0
- package/dist/analysis/automatic.js +279 -0
- package/dist/analysis/codex-config.d.ts +8 -0
- package/dist/analysis/codex-config.js +69 -0
- package/dist/analysis/evidence-sources.d.ts +23 -0
- package/dist/analysis/evidence-sources.js +251 -0
- package/dist/analysis/evidence.d.ts +18 -0
- package/dist/analysis/evidence.js +482 -0
- package/dist/analysis/execute.d.ts +52 -0
- package/dist/analysis/execute.js +504 -0
- package/dist/analysis/image-tokens.d.ts +1 -0
- package/dist/analysis/image-tokens.js +41 -0
- package/dist/analysis/job.d.ts +97 -0
- package/dist/analysis/job.js +311 -0
- package/dist/analysis/load.d.ts +3 -0
- package/dist/analysis/load.js +11 -0
- package/dist/analysis/provider.d.ts +57 -0
- package/dist/analysis/provider.js +227 -0
- package/dist/analysis/restricted-codex.d.ts +19 -0
- package/dist/analysis/restricted-codex.js +23 -0
- package/dist/analysis/service.d.ts +72 -0
- package/dist/analysis/service.js +399 -0
- package/dist/analysis/sharing.d.ts +11 -0
- package/dist/analysis/sharing.js +44 -0
- package/dist/analysis/store-executions.d.ts +27 -0
- package/dist/analysis/store-executions.js +224 -0
- package/dist/analysis/store.d.ts +31 -0
- package/dist/analysis/store.js +315 -0
- package/dist/analysis/types.d.ts +217 -0
- package/dist/analysis/types.js +12 -0
- package/dist/analysis/validation.d.ts +225 -0
- package/dist/analysis/validation.js +562 -0
- package/dist/browser-control/client.d.ts +18 -0
- package/dist/browser-control/client.js +239 -0
- package/dist/browser-control/dispatcher.d.ts +19 -0
- package/dist/browser-control/dispatcher.js +221 -0
- package/dist/browser-control/protocol.d.ts +492 -0
- package/dist/browser-control/protocol.js +360 -0
- package/dist/browser-control/recording-transfer.d.ts +3 -0
- package/dist/browser-control/recording-transfer.js +48 -0
- package/dist/browser-control/transport.d.ts +27 -0
- package/dist/browser-control/transport.js +189 -0
- package/dist/cli/commands/analysis-signals.d.ts +7 -0
- package/dist/cli/commands/analysis-signals.js +25 -0
- package/dist/cli/commands/analyze.d.ts +3 -0
- package/dist/cli/commands/analyze.js +212 -0
- package/dist/cli/commands/codex.d.ts +3 -0
- package/dist/cli/commands/codex.js +145 -0
- package/dist/cli/commands/comms.d.ts +3 -0
- package/dist/cli/commands/comms.js +225 -0
- package/dist/cli/commands/feedback.d.ts +3 -0
- package/dist/cli/commands/feedback.js +138 -0
- package/dist/cli/commands/lab-format.d.ts +8 -0
- package/dist/cli/commands/lab-format.js +105 -0
- package/dist/cli/commands/lab-route-computer-use.d.ts +20 -0
- package/dist/cli/commands/lab-route-computer-use.js +251 -0
- package/dist/cli/commands/lab-route-open.d.ts +27 -0
- package/dist/cli/commands/lab-route-open.js +37 -0
- package/dist/cli/commands/lab-route-preview.d.ts +20 -0
- package/dist/cli/commands/lab-route-preview.js +74 -0
- package/dist/cli/commands/lab-route-run.d.ts +17 -0
- package/dist/cli/commands/lab-route-run.js +31 -0
- package/dist/cli/commands/lab-route-scripted.d.ts +19 -0
- package/dist/cli/commands/lab-route-scripted.js +50 -0
- package/dist/cli/commands/lab-route-shared-world.d.ts +20 -0
- package/dist/cli/commands/lab-route-shared-world.js +135 -0
- package/dist/cli/commands/lab-route-terminal.d.ts +19 -0
- package/dist/cli/commands/lab-route-terminal.js +49 -0
- package/dist/cli/commands/lab-run.d.ts +9 -0
- package/dist/cli/commands/lab-run.js +166 -0
- package/dist/cli/commands/lab-scorer.d.ts +30 -0
- package/dist/cli/commands/lab-scorer.js +17 -0
- package/dist/cli/commands/lab.d.ts +3 -0
- package/dist/cli/commands/lab.js +193 -0
- package/dist/cli/commands/observe.d.ts +4 -0
- package/dist/cli/commands/observe.js +345 -0
- package/dist/cli/commands/runs.d.ts +11 -0
- package/dist/cli/commands/runs.js +314 -0
- package/dist/cli/commands/setup.d.ts +11 -0
- package/dist/cli/commands/setup.js +325 -0
- package/dist/cli/commands/tui.d.ts +32 -0
- package/dist/cli/commands/tui.js +305 -0
- package/dist/cli/commands/watch.d.ts +3 -0
- package/dist/cli/commands/watch.js +245 -0
- package/dist/cli/doctor.d.ts +39 -0
- package/dist/cli/doctor.js +263 -0
- package/dist/cli/first-run-path.d.ts +67 -0
- package/dist/cli/first-run-path.js +150 -0
- package/dist/cli/io.d.ts +85 -0
- package/dist/cli/io.js +232 -0
- package/dist/cli/observer-follow.d.ts +56 -0
- package/dist/cli/observer-follow.js +160 -0
- package/dist/cli/orientation.d.ts +30 -0
- package/dist/cli/orientation.js +114 -0
- package/dist/cli/program.d.ts +15 -0
- package/dist/cli/program.js +338 -0
- package/dist/cli/secret-prompt.js +39 -0
- package/dist/cli/telemetry.js +351 -0
- package/dist/cli.js +2 -4
- package/dist/comms/agentmail.d.ts +29 -0
- package/dist/comms/agentmail.js +568 -0
- package/dist/comms/capture-surface.d.ts +54 -0
- package/dist/comms/capture-surface.js +468 -0
- package/dist/comms/catch-host.d.ts +52 -0
- package/dist/comms/catch-host.js +192 -0
- package/dist/comms/connections.d.ts +20 -0
- package/dist/comms/connections.js +116 -0
- package/dist/comms/email-catch.d.ts +49 -0
- package/dist/comms/email-catch.js +236 -0
- package/dist/comms/extract.d.ts +7 -0
- package/dist/comms/extract.js +65 -0
- package/dist/comms/fake-inbox.d.ts +39 -0
- package/dist/comms/fake-inbox.js +136 -0
- package/dist/comms/images.d.ts +7 -0
- package/dist/comms/images.js +53 -0
- package/dist/comms/lease-store.d.ts +91 -0
- package/dist/comms/lease-store.js +600 -0
- package/dist/comms/providers.d.ts +30 -0
- package/dist/comms/providers.js +24 -0
- package/dist/comms/receiving-common.d.ts +17 -0
- package/dist/comms/receiving-common.js +82 -0
- package/dist/comms/receiving-evidence.d.ts +4 -0
- package/dist/comms/receiving-evidence.js +59 -0
- package/dist/comms/receiving-recovery.d.ts +22 -0
- package/dist/comms/receiving-recovery.js +100 -0
- package/dist/comms/receiving-render.d.ts +16 -0
- package/dist/comms/receiving-render.js +409 -0
- package/dist/comms/receiving-runtime.d.ts +41 -0
- package/dist/comms/receiving-runtime.js +66 -0
- package/dist/comms/receiving-surface.d.ts +8 -0
- package/dist/comms/receiving-surface.js +156 -0
- package/dist/comms/receiving-types.d.ts +122 -0
- package/dist/comms/receiving-types.js +3 -0
- package/dist/comms/receiving.d.ts +33 -0
- package/dist/comms/receiving.js +508 -0
- package/dist/comms/sandbox-catch-script.d.ts +16 -0
- package/dist/comms/sandbox-catch-script.js +331 -0
- package/dist/comms/sandbox-catch.d.ts +214 -0
- package/dist/comms/sandbox-catch.js +451 -0
- package/dist/comms/setup.d.ts +65 -0
- package/dist/comms/setup.js +259 -0
- package/dist/comms/thread-evidence.d.ts +28 -0
- package/dist/comms/thread-evidence.js +30 -0
- package/dist/comms/types.d.ts +76 -0
- package/dist/comms/types.js +8 -0
- package/dist/deprecated.d.ts +90 -0
- package/dist/deprecated.js +106 -0
- package/dist/evidence/browser-hygiene.js +42 -0
- package/dist/evidence/desktop-recorder.d.ts +39 -0
- package/dist/evidence/desktop-recorder.js +340 -0
- package/dist/evidence/desktop-recording-artifact.d.ts +5 -0
- package/dist/evidence/desktop-recording-artifact.js +53 -0
- package/dist/evidence/desktop-recording-types.d.ts +27 -0
- package/dist/evidence/desktop-recording-types.js +16 -0
- package/dist/evidence/encoded-text.d.ts +27 -0
- package/dist/evidence/encoded-text.js +243 -0
- package/dist/evidence/frame-signature.d.ts +17 -0
- package/dist/evidence/frame-signature.js +111 -0
- package/dist/evidence/image.d.ts +24 -0
- package/dist/evidence/image.js +170 -0
- package/dist/evidence/plain-text.d.ts +8 -0
- package/dist/evidence/plain-text.js +16 -0
- package/dist/evidence/redaction.d.ts +110 -0
- package/dist/evidence/redaction.js +329 -0
- package/dist/feedback/draft.d.ts +58 -0
- package/dist/feedback/draft.js +309 -0
- package/dist/feedback/export-bundle.d.ts +6 -0
- package/dist/feedback/export-bundle.js +585 -0
- package/dist/feedback/export.d.ts +50 -0
- package/dist/feedback/export.js +392 -0
- package/dist/feedback/feedback.d.ts +37 -0
- package/dist/feedback/feedback.js +282 -0
- package/dist/feedback/proof.d.ts +8 -0
- package/dist/feedback/proof.js +56 -0
- package/dist/guest/bootstrap.d.ts +55 -0
- package/dist/guest/bootstrap.js +348 -0
- package/dist/guest/browser-tools.d.ts +8 -0
- package/dist/guest/browser-tools.js +72 -0
- package/dist/guest/chromium-text.d.ts +62 -0
- package/dist/guest/chromium-text.js +386 -0
- package/dist/guest/desktop-executor.d.ts +57 -0
- package/dist/guest/desktop-executor.js +256 -0
- package/dist/guest/desktop-keys.d.ts +8 -0
- package/dist/guest/desktop-keys.js +89 -0
- package/dist/guest/desktop-media.d.ts +70 -0
- package/dist/guest/desktop-media.js +385 -0
- package/dist/guest/desktop-native.d.ts +14 -0
- package/dist/guest/desktop-native.js +156 -0
- package/dist/guest/media-config.d.ts +15 -0
- package/dist/guest/media-config.js +16 -0
- package/dist/guest/runtime-desktop.d.ts +45 -0
- package/dist/guest/runtime-desktop.js +420 -0
- package/dist/guest/runtime-processes.d.ts +28 -0
- package/dist/guest/runtime-processes.js +94 -0
- package/dist/guest/runtime.d.ts +31 -0
- package/dist/guest/runtime.js +124 -0
- package/dist/guest-media-worker.js +184 -48
- package/dist/guest-runtime-main.js +23 -10
- package/dist/guest-runtime-revision.js +1 -1
- package/dist/index.d.ts +32 -83
- package/dist/index.js +21 -42
- package/dist/keys/env-file.d.ts +15 -0
- package/dist/keys/env-file.js +109 -0
- package/dist/keys/key-resolution.d.ts +58 -0
- package/dist/keys/key-resolution.js +389 -0
- package/dist/lab/adapter-extension.d.ts +75 -0
- package/dist/lab/adapter-extension.js +253 -0
- package/dist/lab/adapter-scorer-loader.d.ts +43 -0
- package/dist/lab/adapter-scorer-loader.js +130 -0
- package/dist/lab/bag-overrides.d.ts +18 -0
- package/dist/lab/bag-overrides.js +121 -0
- package/dist/lab/composition-rules.d.ts +7 -0
- package/dist/lab/composition-rules.js +292 -0
- package/dist/lab/config.d.ts +7 -0
- package/dist/lab/config.js +208 -0
- package/dist/lab/device-presets.d.ts +97 -0
- package/dist/lab/device-presets.js +87 -0
- package/dist/lab/discover.d.ts +65 -0
- package/dist/lab/discover.js +422 -0
- package/dist/lab/doctor.d.ts +39 -0
- package/dist/lab/doctor.js +233 -0
- package/dist/lab/init-paths.d.ts +5 -0
- package/dist/lab/init-paths.js +89 -0
- package/dist/lab/init-plan.d.ts +20 -0
- package/dist/lab/init-plan.js +163 -0
- package/dist/lab/init-templates.d.ts +28 -0
- package/dist/lab/init-templates.js +416 -0
- package/dist/lab/init.d.ts +39 -0
- package/dist/lab/init.js +287 -0
- package/dist/lab/keys.d.ts +2 -0
- package/dist/lab/keys.js +264 -0
- package/dist/lab/parse/actors.d.ts +14 -0
- package/dist/lab/parse/actors.js +453 -0
- package/dist/lab/parse/comms.d.ts +12 -0
- package/dist/lab/parse/comms.js +246 -0
- package/dist/lab/parse/execution.d.ts +19 -0
- package/dist/lab/parse/execution.js +356 -0
- package/dist/lab/parse/subject-state.d.ts +30 -0
- package/dist/lab/parse/subject-state.js +179 -0
- package/dist/lab/parse/subject.d.ts +9 -0
- package/dist/lab/parse/subject.js +420 -0
- package/dist/lab/parse/values.d.ts +17 -0
- package/dist/lab/parse/values.js +65 -0
- package/dist/lab/participant-assignment.d.ts +12 -0
- package/dist/lab/participant-assignment.js +19 -0
- package/dist/lab/persona-resolve.d.ts +39 -0
- package/dist/lab/persona-resolve.js +118 -0
- package/dist/lab/persona.d.ts +39 -0
- package/dist/lab/persona.js +192 -0
- package/dist/lab/plan-base.d.ts +30 -0
- package/dist/lab/plan-base.js +126 -0
- package/dist/lab/plan-participants.d.ts +81 -0
- package/dist/lab/plan-participants.js +92 -0
- package/dist/lab/plan-types.d.ts +277 -0
- package/dist/lab/plan-types.js +5 -0
- package/dist/lab/plan.d.ts +27 -0
- package/dist/lab/plan.js +156 -0
- package/dist/lab/preflight-probes.d.ts +3 -0
- package/dist/lab/preflight-probes.js +312 -0
- package/dist/lab/preflight-result.d.ts +7 -0
- package/dist/lab/preflight-result.js +43 -0
- package/dist/lab/preflight.d.ts +95 -0
- package/dist/lab/preflight.js +117 -0
- package/dist/lab/route-inputs.d.ts +17 -0
- package/dist/lab/route-inputs.js +95 -0
- package/dist/lab/routing.d.ts +81 -0
- package/dist/lab/routing.js +214 -0
- package/dist/lab/run-lab-events.d.ts +69 -0
- package/dist/lab/run-lab-events.js +95 -0
- package/dist/lab/run-lab-options.d.ts +82 -0
- package/dist/lab/run-lab-options.js +399 -0
- package/dist/lab/summary.d.ts +60 -0
- package/dist/lab/summary.js +168 -0
- package/dist/lab/tasks.d.ts +91 -0
- package/dist/lab/tasks.js +139 -0
- package/dist/lab/types.d.ts +813 -0
- package/dist/lab/types.js +6 -0
- package/dist/lab/validation.d.ts +67 -0
- package/dist/lab/validation.js +387 -0
- package/dist/lab/warnings.d.ts +2 -0
- package/dist/lab/warnings.js +338 -0
- package/dist/observer/artifact.d.ts +23 -0
- package/dist/observer/artifact.js +235 -0
- package/dist/observer/data.d.ts +115 -0
- package/dist/observer/data.js +258 -0
- package/dist/observer/exposure.d.ts +64 -0
- package/dist/observer/exposure.js +143 -0
- package/dist/observer/http.js +50 -0
- package/dist/observer/library.js +190 -0
- package/dist/observer/listen.js +85 -0
- package/dist/observer/live.d.ts +9 -0
- package/dist/observer/live.js +25 -0
- package/dist/observer/pinned-files.d.ts +30 -0
- package/dist/observer/pinned-files.js +160 -0
- package/dist/observer/render.d.ts +69 -0
- package/dist/observer/render.js +350 -0
- package/dist/observer/run-inventory.d.ts +35 -0
- package/dist/observer/run-inventory.js +95 -0
- package/dist/observer/run-routes.d.ts +37 -0
- package/dist/observer/run-routes.js +373 -0
- package/dist/observer/serve.d.ts +97 -0
- package/dist/observer/serve.js +305 -0
- package/dist/observer/static.js +369 -0
- package/dist/observer/tunnel.js +112 -0
- package/dist/observer-app.html +9 -20
- package/dist/routes/computer-use/bundle-parts.d.ts +50 -0
- package/dist/routes/computer-use/bundle-parts.js +177 -0
- package/dist/routes/computer-use/bundle.d.ts +56 -0
- package/dist/routes/computer-use/bundle.js +184 -0
- package/dist/routes/computer-use/diagnostics.d.ts +38 -0
- package/dist/routes/computer-use/diagnostics.js +94 -0
- package/dist/routes/computer-use/e2b-desktop/comms.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/comms.js +225 -0
- package/dist/routes/computer-use/e2b-desktop/desktop.d.ts +3 -0
- package/dist/routes/computer-use/e2b-desktop/desktop.js +91 -0
- package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/fidelity.js +156 -0
- package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +18 -0
- package/dist/routes/computer-use/e2b-desktop/prepare.js +198 -0
- package/dist/routes/computer-use/e2b-desktop/start.d.ts +14 -0
- package/dist/routes/computer-use/e2b-desktop/start.js +193 -0
- package/dist/routes/computer-use/e2b-desktop/state.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/state.js +69 -0
- package/dist/routes/computer-use/e2b-desktop/teardown.d.ts +6 -0
- package/dist/routes/computer-use/e2b-desktop/teardown.js +152 -0
- package/dist/routes/computer-use/external-comms.d.ts +20 -0
- package/dist/routes/computer-use/external-comms.js +55 -0
- package/dist/routes/computer-use/fanout-bundle.d.ts +11 -0
- package/dist/routes/computer-use/fanout-bundle.js +274 -0
- package/dist/routes/computer-use/fanout-lanes.d.ts +15 -0
- package/dist/routes/computer-use/fanout-lanes.js +302 -0
- package/dist/routes/computer-use/in-process-desktop.d.ts +17 -0
- package/dist/routes/computer-use/in-process-desktop.js +40 -0
- package/dist/routes/computer-use/lanes.d.ts +35 -0
- package/dist/routes/computer-use/lanes.js +321 -0
- package/dist/routes/computer-use/legacy-lane-spec.d.ts +62 -0
- package/dist/routes/computer-use/legacy-lane-spec.js +39 -0
- package/dist/routes/computer-use/live-flush.d.ts +42 -0
- package/dist/routes/computer-use/live-flush.js +154 -0
- package/dist/routes/computer-use/local-tree-pack.d.ts +27 -0
- package/dist/routes/computer-use/local-tree-pack.js +47 -0
- package/dist/routes/computer-use/local-vm.d.ts +20 -0
- package/dist/routes/computer-use/local-vm.js +218 -0
- package/dist/routes/computer-use/participant-desktop.d.ts +63 -0
- package/dist/routes/computer-use/participant-desktop.js +33 -0
- package/dist/routes/computer-use/participant-facts.d.ts +6 -0
- package/dist/routes/computer-use/participant-facts.js +22 -0
- package/dist/routes/computer-use/participant-model.d.ts +30 -0
- package/dist/routes/computer-use/participant-model.js +223 -0
- package/dist/routes/computer-use/participant-prompt.d.ts +53 -0
- package/dist/routes/computer-use/participant-prompt.js +87 -0
- package/dist/routes/computer-use/participant-runs.d.ts +67 -0
- package/dist/routes/computer-use/participant-runs.js +255 -0
- package/dist/routes/computer-use/plan.d.ts +56 -0
- package/dist/routes/computer-use/plan.js +310 -0
- package/dist/routes/computer-use/preflight.d.ts +23 -0
- package/dist/routes/computer-use/preflight.js +89 -0
- package/dist/routes/computer-use/rerun-selection.d.ts +19 -0
- package/dist/routes/computer-use/rerun-selection.js +121 -0
- package/dist/routes/computer-use/result.d.ts +7 -0
- package/dist/routes/computer-use/result.js +292 -0
- package/dist/routes/computer-use/route.d.ts +33 -0
- package/dist/routes/computer-use/route.js +145 -0
- package/dist/routes/computer-use/run-lanes.d.ts +59 -0
- package/dist/routes/computer-use/run-lanes.js +135 -0
- package/dist/routes/computer-use/self-report.d.ts +21 -0
- package/dist/routes/computer-use/self-report.js +231 -0
- package/dist/routes/computer-use/setup.d.ts +133 -0
- package/dist/routes/computer-use/setup.js +359 -0
- package/dist/routes/computer-use/single-bundle.d.ts +97 -0
- package/dist/routes/computer-use/single-bundle.js +393 -0
- package/dist/routes/computer-use/subject-projection.d.ts +51 -0
- package/dist/routes/computer-use/subject-projection.js +159 -0
- package/dist/routes/computer-use/types.d.ts +538 -0
- package/dist/routes/computer-use/types.js +36 -0
- package/dist/routes/preview.d.ts +13 -0
- package/dist/routes/preview.js +36 -0
- package/dist/routes/scripted/bundle.d.ts +47 -0
- package/dist/routes/scripted/bundle.js +195 -0
- package/dist/routes/scripted/plan.d.ts +30 -0
- package/dist/routes/scripted/plan.js +95 -0
- package/dist/routes/scripted/result.d.ts +48 -0
- package/dist/routes/scripted/result.js +176 -0
- package/dist/routes/scripted/route.d.ts +28 -0
- package/dist/routes/scripted/route.js +218 -0
- package/dist/routes/scripted/scenario.d.ts +21 -0
- package/dist/routes/scripted/scenario.js +102 -0
- package/dist/routes/scripted/session-result.d.ts +8 -0
- package/dist/routes/scripted/session-result.js +60 -0
- package/dist/routes/scripted/setup.d.ts +45 -0
- package/dist/routes/scripted/setup.js +126 -0
- package/dist/routes/scripted/subject.d.ts +49 -0
- package/dist/routes/scripted/subject.js +157 -0
- package/dist/routes/scripted/surface-records.d.ts +26 -0
- package/dist/routes/scripted/surface-records.js +88 -0
- package/dist/routes/scripted/surface-sessions.d.ts +13 -0
- package/dist/routes/scripted/surface-sessions.js +40 -0
- package/dist/routes/scripted/types.d.ts +88 -0
- package/dist/routes/scripted/types.js +3 -0
- package/dist/routes/shared-world/bundle.d.ts +20 -0
- package/dist/routes/shared-world/bundle.js +446 -0
- package/dist/routes/shared-world/checkpoints.d.ts +25 -0
- package/dist/routes/shared-world/checkpoints.js +46 -0
- package/dist/routes/shared-world/comms.d.ts +68 -0
- package/dist/routes/shared-world/comms.js +176 -0
- package/dist/routes/shared-world/external-public.d.ts +21 -0
- package/dist/routes/shared-world/external-public.js +130 -0
- package/dist/routes/shared-world/handoff.d.ts +62 -0
- package/dist/routes/shared-world/handoff.js +348 -0
- package/dist/routes/shared-world/lobby-code.d.ts +25 -0
- package/dist/routes/shared-world/lobby-code.js +152 -0
- package/dist/routes/shared-world/plan.d.ts +27 -0
- package/dist/routes/shared-world/plan.js +174 -0
- package/dist/routes/shared-world/provenance.d.ts +27 -0
- package/dist/routes/shared-world/provenance.js +65 -0
- package/dist/routes/shared-world/provisioned.d.ts +57 -0
- package/dist/routes/shared-world/provisioned.js +506 -0
- package/dist/routes/shared-world/result.d.ts +18 -0
- package/dist/routes/shared-world/result.js +327 -0
- package/dist/routes/shared-world/route.d.ts +21 -0
- package/dist/routes/shared-world/route.js +277 -0
- package/dist/routes/shared-world/seat-records.d.ts +20 -0
- package/dist/routes/shared-world/seat-records.js +213 -0
- package/dist/routes/shared-world/seats.d.ts +38 -0
- package/dist/routes/shared-world/seats.js +208 -0
- package/dist/routes/shared-world/setup.d.ts +48 -0
- package/dist/routes/shared-world/setup.js +200 -0
- package/dist/routes/shared-world/types.d.ts +354 -0
- package/dist/routes/shared-world/types.js +29 -0
- package/dist/routes/terminal/adapter.d.ts +37 -0
- package/dist/routes/terminal/adapter.js +201 -0
- package/dist/routes/terminal/bundle.d.ts +79 -0
- package/dist/routes/terminal/bundle.js +305 -0
- package/dist/routes/terminal/credentials.d.ts +34 -0
- package/dist/routes/terminal/credentials.js +102 -0
- package/dist/routes/terminal/dry-run.d.ts +24 -0
- package/dist/routes/terminal/dry-run.js +157 -0
- package/dist/routes/terminal/encoding.js +79 -0
- package/dist/routes/terminal/ledger.d.ts +49 -0
- package/dist/routes/terminal/ledger.js +170 -0
- package/dist/routes/terminal/lifetime.d.ts +10 -0
- package/dist/routes/terminal/lifetime.js +22 -0
- package/dist/routes/terminal/live-finish.d.ts +31 -0
- package/dist/routes/terminal/live-finish.js +215 -0
- package/dist/routes/terminal/live-sandbox.d.ts +70 -0
- package/dist/routes/terminal/live-sandbox.js +456 -0
- package/dist/routes/terminal/persona.d.ts +20 -0
- package/dist/routes/terminal/persona.js +34 -0
- package/dist/routes/terminal/plan.d.ts +21 -0
- package/dist/routes/terminal/plan.js +115 -0
- package/dist/routes/terminal/recorder.d.ts +23 -0
- package/dist/routes/terminal/recorder.js +77 -0
- package/dist/routes/terminal/result.d.ts +47 -0
- package/dist/routes/terminal/result.js +114 -0
- package/dist/routes/terminal/route.d.ts +23 -0
- package/dist/routes/terminal/route.js +170 -0
- package/dist/routes/terminal/runtime-auth.d.ts +12 -0
- package/dist/routes/terminal/runtime-auth.js +23 -0
- package/dist/routes/terminal/runtime.d.ts +14 -0
- package/dist/routes/terminal/runtime.js +47 -0
- package/dist/routes/terminal/sandbox.d.ts +37 -0
- package/dist/routes/terminal/sandbox.js +123 -0
- package/dist/routes/terminal/session.d.ts +25 -0
- package/dist/routes/terminal/session.js +199 -0
- package/dist/routes/terminal/token-usage.d.ts +15 -0
- package/dist/routes/terminal/token-usage.js +93 -0
- package/dist/routes/terminal/trace.d.ts +40 -0
- package/dist/routes/terminal/trace.js +172 -0
- package/dist/routes/terminal/types.d.ts +342 -0
- package/dist/routes/terminal/types.js +31 -0
- package/dist/run/bundle-shape.d.ts +7 -0
- package/dist/run/bundle-shape.js +369 -0
- package/dist/run/bundle.d.ts +547 -0
- package/dist/run/bundle.js +44 -0
- package/dist/run/concurrency.js +24 -0
- package/dist/run/contained-output.d.ts +50 -0
- package/dist/run/contained-output.js +351 -0
- package/dist/run/cost-summary.d.ts +28 -0
- package/dist/run/cost-summary.js +213 -0
- package/dist/run/costs.js +140 -0
- package/dist/run/detail.d.ts +62 -0
- package/dist/run/detail.js +139 -0
- package/dist/run/dry-run-inputs.d.ts +9 -0
- package/dist/run/dry-run-inputs.js +90 -0
- package/dist/run/dry-run.d.ts +6 -0
- package/dist/run/dry-run.js +362 -0
- package/dist/run/feedback-shape.d.ts +7 -0
- package/dist/run/feedback-shape.js +89 -0
- package/dist/run/git-state.d.ts +35 -0
- package/dist/run/git-state.js +316 -0
- package/dist/run/git-workspace.d.ts +32 -0
- package/dist/run/git-workspace.js +450 -0
- package/dist/run/judge.d.ts +210 -0
- package/dist/run/judge.js +240 -0
- package/dist/run/locate.d.ts +22 -0
- package/dist/run/locate.js +122 -0
- package/dist/run/outcomes.d.ts +31 -0
- package/dist/run/outcomes.js +210 -0
- package/dist/run/participant-records.d.ts +28 -0
- package/dist/run/participant-records.js +63 -0
- package/dist/run/participant.d.ts +29 -0
- package/dist/run/participant.js +12 -0
- package/dist/run/paths.d.ts +79 -0
- package/dist/run/paths.js +356 -0
- package/dist/run/preflight-receipts.d.ts +46 -0
- package/dist/run/preflight-receipts.js +173 -0
- package/dist/run/pricing.d.ts +124 -0
- package/dist/run/pricing.js +298 -0
- package/dist/run/project.d.ts +8 -0
- package/dist/run/project.js +103 -0
- package/dist/run/projection.d.ts +184 -0
- package/dist/run/projection.js +356 -0
- package/dist/run/reclaim.d.ts +41 -0
- package/dist/run/reclaim.js +193 -0
- package/dist/run/results.d.ts +88 -0
- package/dist/run/results.js +3 -0
- package/dist/run/run-index.d.ts +107 -0
- package/dist/run/run-index.js +243 -0
- package/dist/run/run.d.ts +103 -0
- package/dist/run/run.js +199 -0
- package/dist/run/sandbox-receipts.d.ts +31 -0
- package/dist/run/sandbox-receipts.js +49 -0
- package/dist/run/shared-world-evidence.d.ts +220 -0
- package/dist/run/shared-world-evidence.js +49 -0
- package/dist/run/shared-world-shape.d.ts +26 -0
- package/dist/run/shared-world-shape.js +181 -0
- package/dist/run/stats.d.ts +82 -0
- package/dist/run/stats.js +258 -0
- package/dist/run/status.d.ts +111 -0
- package/dist/run/status.js +176 -0
- package/dist/run/stored-runs.d.ts +38 -0
- package/dist/run/stored-runs.js +273 -0
- package/dist/run/stream-shape.d.ts +4 -0
- package/dist/run/stream-shape.js +160 -0
- package/dist/run/streams.d.ts +257 -0
- package/dist/run/streams.js +12 -0
- package/dist/run/study-files.d.ts +35 -0
- package/dist/run/study-files.js +164 -0
- package/dist/run/terminal-contract.d.ts +25 -0
- package/dist/run/terminal-contract.js +47 -0
- package/dist/run/text.d.ts +2 -0
- package/dist/run/text.js +4 -0
- package/dist/run/transient-comms-secrets.js +72 -0
- package/dist/run/type-guards.d.ts +6 -0
- package/dist/run/type-guards.js +18 -0
- package/dist/run-lab.d.ts +110 -0
- package/dist/run-lab.js +148 -0
- package/dist/subject/clone.d.ts +37 -0
- package/dist/subject/clone.js +62 -0
- package/dist/subject/desktop-cli.d.ts +17 -0
- package/dist/subject/desktop-cli.js +51 -0
- package/dist/subject/local-tree-archive.d.ts +82 -0
- package/dist/subject/local-tree-archive.js +431 -0
- package/dist/subject/local-tree.d.ts +28 -0
- package/dist/subject/local-tree.js +58 -0
- package/dist/subject/node-bootstrap.d.ts +12 -0
- package/dist/subject/node-bootstrap.js +66 -0
- package/dist/subject/runtime.d.ts +13 -0
- package/dist/subject/runtime.js +50 -0
- package/dist/subject/serve.d.ts +39 -0
- package/dist/subject/serve.js +249 -0
- package/dist/subject/state.d.ts +23 -0
- package/dist/subject/state.js +58 -0
- package/dist/subject/steps.d.ts +37 -0
- package/dist/subject/steps.js +39 -0
- package/dist/substrates/command-failure.d.ts +23 -0
- package/dist/substrates/command-failure.js +45 -0
- package/dist/substrates/desktop-session.d.ts +43 -0
- package/dist/substrates/desktop-session.js +59 -0
- package/dist/substrates/detached.d.ts +55 -0
- package/dist/substrates/detached.js +139 -0
- package/dist/substrates/e2b/cdp-probe.d.ts +99 -0
- package/dist/substrates/e2b/cdp-probe.js +556 -0
- package/dist/substrates/e2b/desktop-browser.d.ts +81 -0
- package/dist/substrates/e2b/desktop-browser.js +410 -0
- package/dist/substrates/e2b/desktop-cdp.d.ts +77 -0
- package/dist/substrates/e2b/desktop-cdp.js +211 -0
- package/dist/substrates/e2b/desktop-executor.d.ts +92 -0
- package/dist/substrates/e2b/desktop-executor.js +302 -0
- package/dist/substrates/e2b/desktop-geometry.d.ts +83 -0
- package/dist/substrates/e2b/desktop-geometry.js +331 -0
- package/dist/substrates/e2b/desktop-media.d.ts +29 -0
- package/dist/substrates/e2b/desktop-media.js +151 -0
- package/dist/substrates/e2b/desktop-recording.d.ts +18 -0
- package/dist/substrates/e2b/desktop-recording.js +238 -0
- package/dist/substrates/e2b/desktop-resources.d.ts +11 -0
- package/dist/substrates/e2b/desktop-resources.js +35 -0
- package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +15 -0
- package/dist/substrates/e2b/desktop-screenshot-cleanup.js +66 -0
- package/dist/substrates/e2b/lifetime.d.ts +12 -0
- package/dist/substrates/e2b/lifetime.js +18 -0
- package/dist/substrates/e2b/sandbox.d.ts +104 -0
- package/dist/substrates/e2b/sandbox.js +216 -0
- package/dist/substrates/e2b/sdk.d.ts +205 -0
- package/dist/substrates/e2b/sdk.js +189 -0
- package/dist/substrates/e2b/shell.d.ts +10 -0
- package/dist/substrates/e2b/shell.js +61 -0
- package/dist/substrates/local/captured-inbox.d.ts +6 -0
- package/dist/substrates/local/captured-inbox.js +87 -0
- package/dist/substrates/local/firecracker-desktop.d.ts +25 -0
- package/dist/substrates/local/firecracker-desktop.js +315 -0
- package/dist/substrates/local/runtime-config.d.ts +6 -0
- package/dist/substrates/local/runtime-config.js +91 -0
- package/dist/substrates/local/runtime-host.d.ts +30 -0
- package/dist/substrates/local/runtime-host.js +143 -0
- package/dist/substrates/local/runtime-release.d.ts +5 -0
- package/dist/substrates/local/runtime-release.js +32 -0
- package/dist/substrates/local/runtime-ssh.d.ts +9 -0
- package/dist/substrates/local/runtime-ssh.js +129 -0
- package/dist/substrates/local/runtime.d.ts +25 -0
- package/dist/substrates/local/runtime.js +190 -0
- package/dist/substrates/shell.d.ts +44 -0
- package/dist/substrates/shell.js +22 -0
- package/dist/tui/actions.d.ts +39 -0
- package/dist/tui/actions.js +203 -0
- package/dist/tui/contract.d.ts +144 -0
- package/dist/tui/contract.js +52 -0
- package/dist/tui/launch.js +172 -0
- package/dist/tui/project.d.ts +10 -0
- package/dist/tui/project.js +17 -0
- package/dist/tui-app.js +125 -125
- package/dist/verify/actor.d.ts +27 -0
- package/dist/verify/actor.js +292 -0
- package/dist/verify/artifacts.d.ts +47 -0
- package/dist/verify/artifacts.js +373 -0
- package/dist/verify/costs.d.ts +30 -0
- package/dist/verify/costs.js +129 -0
- package/dist/verify/liveness.d.ts +7 -0
- package/dist/verify/liveness.js +72 -0
- package/dist/verify/rerun.d.ts +3 -0
- package/dist/verify/rerun.js +46 -0
- package/dist/verify/shared-world-concurrent.d.ts +11 -0
- package/dist/verify/shared-world-concurrent.js +346 -0
- package/dist/verify/shared-world.d.ts +8 -0
- package/dist/verify/shared-world.js +295 -0
- package/dist/verify/subject.d.ts +17 -0
- package/dist/verify/subject.js +123 -0
- package/dist/verify/verify.d.ts +34 -0
- package/dist/verify/verify.js +333 -0
- package/docs/README.md +67 -0
- package/docs/architecture/actor-contract.md +215 -174
- package/docs/architecture/browser-control.md +51 -37
- package/docs/architecture/comms-inbox.md +8 -8
- package/docs/architecture/desktop-recording.md +2 -2
- package/docs/architecture/desktop-sessions.md +33 -21
- package/docs/architecture/external-public-shared-world.md +80 -64
- package/docs/architecture/github-feedback-loop.md +40 -27
- package/docs/architecture/guest-desktop.md +22 -10
- package/docs/architecture/local-browser-runtime.md +30 -21
- package/docs/architecture/observer-review.md +9 -9
- package/docs/architecture/observer.md +53 -57
- package/docs/architecture/participant-media.md +3 -3
- package/docs/architecture/project-layout.md +33 -137
- package/docs/architecture/real-email-receiving.md +7 -6
- package/docs/architecture/restricted-codex-analysis.md +213 -25
- package/docs/architecture/serve.md +89 -87
- package/docs/architecture/state-driven-executor.md +79 -64
- package/docs/architecture/task-protocol-support.md +18 -18
- package/docs/architecture/terminal-product-lane.md +92 -86
- package/docs/contracts/adapter-admission.md +8 -4
- package/docs/contracts/adapter-fixtures.md +6 -6
- package/docs/contracts/core.md +22 -24
- package/docs/contracts/feedback.md +33 -23
- package/docs/contracts/policy.md +28 -31
- package/docs/contracts/run-bundle.md +168 -82
- package/docs/contracts/schemas.md +563 -379
- package/docs/contracts/study-analysis.md +2 -2
- package/docs/contracts/study-costs.md +12 -12
- package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +36 -0
- package/docs/decisions/0002-observer-is-one-self-contained-file.md +30 -0
- package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +35 -0
- package/docs/decisions/0004-participant-desktops-stay-in-the-route.md +31 -0
- package/docs/decisions/README.md +16 -0
- package/docs/goals/current.md +22 -50
- package/docs/principles/actor-fidelity.md +37 -40
- package/docs/principles/engineering.md +81 -0
- package/docs/principles/invariants-and-defaults.md +48 -45
- package/docs/principles/self-driving-harness.md +11 -10
- package/docs/principles/three-roles.md +12 -13
- package/docs/product/automatic-analysis.md +39 -9
- package/docs/product/lobby-trivia-3player-external-public.md +14 -13
- package/docs/product/open-source-install-experience.md +34 -38
- package/docs/ramp/README.md +91 -218
- package/docs/release/open-source-readiness.md +5 -2
- package/docs/release/public-readiness-standard.md +1 -1
- package/examples/README.md +11 -0
- package/examples/participant/README.md +80 -0
- package/examples/participant/app.mjs +55 -0
- package/examples/participant/run.mjs +116 -0
- package/examples/scorer/README.md +29 -0
- package/examples/scorer/run.mjs +63 -0
- package/examples/scorer/scorer.mjs +20 -0
- package/package.json +61 -57
- package/skills/humanish/SKILL.md +72 -60
- package/skills/humanish/agents/openai.yaml +2 -2
- package/dist/actor-contract.d.ts +0 -296
- package/dist/actor-contract.js +0 -340
- package/dist/actor-contract.js.map +0 -1
- package/dist/actor-goal-source.js +0 -32
- package/dist/actor-goal-source.js.map +0 -1
- package/dist/actor-registry.d.ts +0 -77
- package/dist/actor-registry.js +0 -106
- package/dist/actor-registry.js.map +0 -1
- package/dist/actor-stop-cause.d.ts +0 -9
- package/dist/actor-stop-cause.js +0 -42
- package/dist/actor-stop-cause.js.map +0 -1
- package/dist/adapter-extension.d.ts +0 -76
- package/dist/adapter-extension.js +0 -273
- package/dist/adapter-extension.js.map +0 -1
- package/dist/adapter-scorer-loader.d.ts +0 -42
- package/dist/adapter-scorer-loader.js +0 -129
- package/dist/adapter-scorer-loader.js.map +0 -1
- package/dist/affordance.d.ts +0 -53
- package/dist/affordance.js +0 -145
- package/dist/affordance.js.map +0 -1
- package/dist/agent-session.js +0 -43
- package/dist/agent-session.js.map +0 -1
- package/dist/argv.d.ts +0 -1
- package/dist/argv.js +0 -8
- package/dist/argv.js.map +0 -1
- package/dist/artifact-reference.d.ts +0 -22
- package/dist/artifact-reference.js +0 -47
- package/dist/artifact-reference.js.map +0 -1
- package/dist/automatic-analysis-completion.d.ts +0 -25
- package/dist/automatic-analysis-completion.js +0 -56
- package/dist/automatic-analysis-completion.js.map +0 -1
- package/dist/automatic-analysis-config.d.ts +0 -38
- package/dist/automatic-analysis-config.js +0 -68
- package/dist/automatic-analysis-config.js.map +0 -1
- package/dist/automatic-study-analysis.d.ts +0 -17
- package/dist/automatic-study-analysis.js +0 -195
- package/dist/automatic-study-analysis.js.map +0 -1
- package/dist/browser-control-client.d.ts +0 -18
- package/dist/browser-control-client.js +0 -176
- package/dist/browser-control-client.js.map +0 -1
- package/dist/browser-control-dispatcher.d.ts +0 -19
- package/dist/browser-control-dispatcher.js +0 -147
- package/dist/browser-control-dispatcher.js.map +0 -1
- package/dist/browser-control-protocol.d.ts +0 -472
- package/dist/browser-control-protocol.js +0 -185
- package/dist/browser-control-protocol.js.map +0 -1
- package/dist/browser-control-recording-transfer.d.ts +0 -4
- package/dist/browser-control-recording-transfer.js +0 -42
- package/dist/browser-control-recording-transfer.js.map +0 -1
- package/dist/browser-control-transport.d.ts +0 -27
- package/dist/browser-control-transport.js +0 -177
- package/dist/browser-control-transport.js.map +0 -1
- package/dist/browser-evidence-hygiene.js +0 -43
- package/dist/browser-evidence-hygiene.js.map +0 -1
- package/dist/chrome-cdp-probe.d.ts +0 -97
- package/dist/chrome-cdp-probe.js +0 -536
- package/dist/chrome-cdp-probe.js.map +0 -1
- package/dist/claude-agent-sdk.d.ts +0 -94
- package/dist/claude-agent-sdk.js +0 -367
- package/dist/claude-agent-sdk.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/codex-app-server-ui.d.ts +0 -39
- package/dist/codex-app-server-ui.js +0 -357
- package/dist/codex-app-server-ui.js.map +0 -1
- package/dist/codex-app-server.d.ts +0 -144
- package/dist/codex-app-server.js +0 -754
- package/dist/codex-app-server.js.map +0 -1
- package/dist/command-failure.d.ts +0 -43
- package/dist/command-failure.js +0 -73
- package/dist/command-failure.js.map +0 -1
- package/dist/comms-agentmail.d.ts +0 -25
- package/dist/comms-agentmail.js +0 -418
- package/dist/comms-agentmail.js.map +0 -1
- package/dist/comms-catch-host.d.ts +0 -52
- package/dist/comms-catch-host.js +0 -178
- package/dist/comms-catch-host.js.map +0 -1
- package/dist/comms-connections.d.ts +0 -52
- package/dist/comms-connections.js +0 -123
- package/dist/comms-connections.js.map +0 -1
- package/dist/comms-email-catch.d.ts +0 -54
- package/dist/comms-email-catch.js +0 -212
- package/dist/comms-email-catch.js.map +0 -1
- package/dist/comms-evidence.d.ts +0 -27
- package/dist/comms-evidence.js +0 -31
- package/dist/comms-evidence.js.map +0 -1
- package/dist/comms-fake-inbox.d.ts +0 -45
- package/dist/comms-fake-inbox.js +0 -184
- package/dist/comms-fake-inbox.js.map +0 -1
- package/dist/comms-images.d.ts +0 -7
- package/dist/comms-images.js +0 -39
- package/dist/comms-images.js.map +0 -1
- package/dist/comms-inbox.d.ts +0 -66
- package/dist/comms-inbox.js +0 -389
- package/dist/comms-inbox.js.map +0 -1
- package/dist/comms-lease-store.d.ts +0 -91
- package/dist/comms-lease-store.js +0 -495
- package/dist/comms-lease-store.js.map +0 -1
- package/dist/comms-receiving-evidence.d.ts +0 -46
- package/dist/comms-receiving-evidence.js +0 -35
- package/dist/comms-receiving-evidence.js.map +0 -1
- package/dist/comms-receiving-inbox.d.ts +0 -16
- package/dist/comms-receiving-inbox.js +0 -410
- package/dist/comms-receiving-inbox.js.map +0 -1
- package/dist/comms-receiving-runtime.d.ts +0 -25
- package/dist/comms-receiving-runtime.js +0 -45
- package/dist/comms-receiving-runtime.js.map +0 -1
- package/dist/comms-receiving-types.d.ts +0 -98
- package/dist/comms-receiving-types.js +0 -2
- package/dist/comms-receiving-types.js.map +0 -1
- package/dist/comms-receiving.d.ts +0 -58
- package/dist/comms-receiving.js +0 -554
- package/dist/comms-receiving.js.map +0 -1
- package/dist/comms-sandbox-catch.d.ts +0 -229
- package/dist/comms-sandbox-catch.js +0 -737
- package/dist/comms-sandbox-catch.js.map +0 -1
- package/dist/comms-setup.d.ts +0 -40
- package/dist/comms-setup.js +0 -121
- package/dist/comms-setup.js.map +0 -1
- package/dist/comms-types.d.ts +0 -72
- package/dist/comms-types.js +0 -10
- package/dist/comms-types.js.map +0 -1
- package/dist/computer-use-actor.d.ts +0 -76
- package/dist/computer-use-actor.js +0 -68
- package/dist/computer-use-actor.js.map +0 -1
- package/dist/computer-use.d.ts +0 -429
- package/dist/computer-use.js +0 -1751
- package/dist/computer-use.js.map +0 -1
- package/dist/concurrency.js +0 -27
- package/dist/concurrency.js.map +0 -1
- package/dist/concurrent-shared-world-lab.d.ts +0 -186
- package/dist/concurrent-shared-world-lab.js +0 -2181
- package/dist/concurrent-shared-world-lab.js.map +0 -1
- package/dist/core/git-state.d.ts +0 -33
- package/dist/core/git-state.js +0 -277
- package/dist/core/git-state.js.map +0 -1
- package/dist/core/git-workspace.d.ts +0 -31
- package/dist/core/git-workspace.js +0 -447
- package/dist/core/git-workspace.js.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.js +0 -3
- package/dist/core/index.js.map +0 -1
- package/dist/core/run-primitives.d.ts +0 -66
- package/dist/core/run-primitives.js +0 -120
- package/dist/core/run-primitives.js.map +0 -1
- package/dist/cua-actor-lab.d.ts +0 -855
- package/dist/cua-actor-lab.js +0 -3543
- package/dist/cua-actor-lab.js.map +0 -1
- package/dist/cua-admission-limit.d.ts +0 -12
- package/dist/cua-admission-limit.js +0 -20
- package/dist/cua-admission-limit.js.map +0 -1
- package/dist/cua-desktop-lane.d.ts +0 -35
- package/dist/cua-desktop-lane.js +0 -13
- package/dist/cua-desktop-lane.js.map +0 -1
- package/dist/cua-diagnostics.d.ts +0 -38
- package/dist/cua-diagnostics.js +0 -68
- package/dist/cua-diagnostics.js.map +0 -1
- package/dist/cua-executor-error.js +0 -48
- package/dist/cua-executor-error.js.map +0 -1
- package/dist/cua-provider-error.d.ts +0 -16
- package/dist/cua-provider-error.js +0 -35
- package/dist/cua-provider-error.js.map +0 -1
- package/dist/cua-speech.js +0 -2
- package/dist/cua-speech.js.map +0 -1
- package/dist/desktop-recorder.d.ts +0 -39
- package/dist/desktop-recorder.js +0 -226
- package/dist/desktop-recorder.js.map +0 -1
- package/dist/desktop-recording-artifact.d.ts +0 -5
- package/dist/desktop-recording-artifact.js +0 -54
- package/dist/desktop-recording-artifact.js.map +0 -1
- package/dist/desktop-recording-types.d.ts +0 -24
- package/dist/desktop-recording-types.js +0 -14
- package/dist/desktop-recording-types.js.map +0 -1
- package/dist/desktop-session.d.ts +0 -41
- package/dist/desktop-session.js +0 -47
- package/dist/desktop-session.js.map +0 -1
- package/dist/device-presets.d.ts +0 -67
- package/dist/device-presets.js +0 -55
- package/dist/device-presets.js.map +0 -1
- package/dist/doctor-lab.d.ts +0 -38
- package/dist/doctor-lab.js +0 -126
- package/dist/doctor-lab.js.map +0 -1
- package/dist/e2b-cua-desktop.d.ts +0 -3
- package/dist/e2b-cua-desktop.js +0 -708
- package/dist/e2b-cua-desktop.js.map +0 -1
- package/dist/e2b-cua-provisioning.d.ts +0 -314
- package/dist/e2b-cua-provisioning.js +0 -1219
- package/dist/e2b-cua-provisioning.js.map +0 -1
- package/dist/e2b-desktop-executor.d.ts +0 -101
- package/dist/e2b-desktop-executor.js +0 -297
- package/dist/e2b-desktop-executor.js.map +0 -1
- package/dist/e2b-desktop-launch.d.ts +0 -243
- package/dist/e2b-desktop-launch.js +0 -234
- package/dist/e2b-desktop-launch.js.map +0 -1
- package/dist/e2b-desktop-media.d.ts +0 -14
- package/dist/e2b-desktop-media.js +0 -58
- package/dist/e2b-desktop-media.js.map +0 -1
- package/dist/e2b-desktop-recording.d.ts +0 -16
- package/dist/e2b-desktop-recording.js +0 -162
- package/dist/e2b-desktop-recording.js.map +0 -1
- package/dist/e2b-desktop-resources.d.ts +0 -11
- package/dist/e2b-desktop-resources.js +0 -33
- package/dist/e2b-desktop-resources.js.map +0 -1
- package/dist/e2b-desktop-screenshot-cleanup.d.ts +0 -15
- package/dist/e2b-desktop-screenshot-cleanup.js +0 -67
- package/dist/e2b-desktop-screenshot-cleanup.js.map +0 -1
- package/dist/e2b-desktop-session.d.ts +0 -7
- package/dist/e2b-desktop-session.js +0 -29
- package/dist/e2b-desktop-session.js.map +0 -1
- package/dist/e2b-detached.d.ts +0 -53
- package/dist/e2b-detached.js +0 -130
- package/dist/e2b-detached.js.map +0 -1
- package/dist/e2b-terminal-lab.d.ts +0 -383
- package/dist/e2b-terminal-lab.js +0 -2000
- package/dist/e2b-terminal-lab.js.map +0 -1
- package/dist/env-file.d.ts +0 -14
- package/dist/env-file.js +0 -108
- package/dist/env-file.js.map +0 -1
- package/dist/export-bundle.d.ts +0 -7
- package/dist/export-bundle.js +0 -441
- package/dist/export-bundle.js.map +0 -1
- package/dist/export.d.ts +0 -49
- package/dist/export.js +0 -308
- package/dist/export.js.map +0 -1
- package/dist/feedback-proof.d.ts +0 -8
- package/dist/feedback-proof.js +0 -44
- package/dist/feedback-proof.js.map +0 -1
- package/dist/feedback.d.ts +0 -76
- package/dist/feedback.js +0 -496
- package/dist/feedback.js.map +0 -1
- package/dist/first-run-path.d.ts +0 -55
- package/dist/first-run-path.js +0 -136
- package/dist/first-run-path.js.map +0 -1
- package/dist/frame-signature.d.ts +0 -24
- package/dist/frame-signature.js +0 -128
- package/dist/frame-signature.js.map +0 -1
- package/dist/guest-bootstrap.d.ts +0 -55
- package/dist/guest-bootstrap.js +0 -285
- package/dist/guest-bootstrap.js.map +0 -1
- package/dist/guest-browser-tools.d.ts +0 -8
- package/dist/guest-browser-tools.js +0 -66
- package/dist/guest-browser-tools.js.map +0 -1
- package/dist/guest-chromium-text.d.ts +0 -27
- package/dist/guest-chromium-text.js +0 -281
- package/dist/guest-chromium-text.js.map +0 -1
- package/dist/guest-desktop-executor.d.ts +0 -22
- package/dist/guest-desktop-executor.js +0 -178
- package/dist/guest-desktop-executor.js.map +0 -1
- package/dist/guest-desktop-media.d.ts +0 -33
- package/dist/guest-desktop-media.js +0 -281
- package/dist/guest-desktop-media.js.map +0 -1
- package/dist/guest-desktop-native.d.ts +0 -14
- package/dist/guest-desktop-native.js +0 -131
- package/dist/guest-desktop-native.js.map +0 -1
- package/dist/guest-media-config.d.ts +0 -15
- package/dist/guest-media-config.js +0 -8
- package/dist/guest-media-config.js.map +0 -1
- package/dist/guest-media-worker.js.map +0 -1
- package/dist/guest-runtime-desktop.d.ts +0 -42
- package/dist/guest-runtime-desktop.js +0 -314
- package/dist/guest-runtime-desktop.js.map +0 -1
- package/dist/guest-runtime-main.js.map +0 -1
- package/dist/guest-runtime-revision.js.map +0 -1
- package/dist/guest-runtime.d.ts +0 -31
- package/dist/guest-runtime.js +0 -99
- package/dist/guest-runtime.js.map +0 -1
- package/dist/image-evidence.d.ts +0 -2
- package/dist/image-evidence.js +0 -47
- package/dist/image-evidence.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init-templates.d.ts +0 -25
- package/dist/init-templates.js +0 -541
- package/dist/init-templates.js.map +0 -1
- package/dist/init.d.ts +0 -38
- package/dist/init.js +0 -532
- package/dist/init.js.map +0 -1
- package/dist/key-resolution.d.ts +0 -67
- package/dist/key-resolution.js +0 -375
- package/dist/key-resolution.js.map +0 -1
- package/dist/lab-app-runner.d.ts +0 -78
- package/dist/lab-app-runner.js +0 -403
- package/dist/lab-app-runner.js.map +0 -1
- package/dist/lab-config.d.ts +0 -968
- package/dist/lab-config.js +0 -2714
- package/dist/lab-config.js.map +0 -1
- package/dist/lab-engine.d.ts +0 -97
- package/dist/lab-engine.js +0 -285
- package/dist/lab-engine.js.map +0 -1
- package/dist/lab-preflight.d.ts +0 -70
- package/dist/lab-preflight.js +0 -388
- package/dist/lab-preflight.js.map +0 -1
- package/dist/lab-summary.d.ts +0 -57
- package/dist/lab-summary.js +0 -126
- package/dist/lab-summary.js.map +0 -1
- package/dist/labs.d.ts +0 -66
- package/dist/labs.js +0 -401
- package/dist/labs.js.map +0 -1
- package/dist/listen.js +0 -84
- package/dist/listen.js.map +0 -1
- package/dist/local-agent-claude-session.d.ts +0 -45
- package/dist/local-agent-claude-session.js +0 -203
- package/dist/local-agent-claude-session.js.map +0 -1
- package/dist/local-agent-cli.d.ts +0 -121
- package/dist/local-agent-cli.js +0 -427
- package/dist/local-agent-cli.js.map +0 -1
- package/dist/local-captured-inbox.d.ts +0 -6
- package/dist/local-captured-inbox.js +0 -65
- package/dist/local-captured-inbox.js.map +0 -1
- package/dist/local-firecracker-desktop.d.ts +0 -23
- package/dist/local-firecracker-desktop.js +0 -191
- package/dist/local-firecracker-desktop.js.map +0 -1
- package/dist/local-firecracker-study.d.ts +0 -9
- package/dist/local-firecracker-study.js +0 -135
- package/dist/local-firecracker-study.js.map +0 -1
- package/dist/local-runtime-config.d.ts +0 -6
- package/dist/local-runtime-config.js +0 -60
- package/dist/local-runtime-config.js.map +0 -1
- package/dist/local-runtime-host.d.ts +0 -31
- package/dist/local-runtime-host.js +0 -128
- package/dist/local-runtime-host.js.map +0 -1
- package/dist/local-runtime-release.d.ts +0 -7
- package/dist/local-runtime-release.js +0 -33
- package/dist/local-runtime-release.js.map +0 -1
- package/dist/local-runtime-ssh.d.ts +0 -27
- package/dist/local-runtime-ssh.js +0 -91
- package/dist/local-runtime-ssh.js.map +0 -1
- package/dist/local-runtime.d.ts +0 -25
- package/dist/local-runtime.js +0 -133
- package/dist/local-runtime.js.map +0 -1
- package/dist/observer-data.d.ts +0 -114
- package/dist/observer-data.js +0 -224
- package/dist/observer-data.js.map +0 -1
- package/dist/observer-library.js +0 -191
- package/dist/observer-library.js.map +0 -1
- package/dist/observer-serve.d.ts +0 -99
- package/dist/observer-serve.js +0 -284
- package/dist/observer-serve.js.map +0 -1
- package/dist/observer-static.js +0 -357
- package/dist/observer-static.js.map +0 -1
- package/dist/observer.d.ts +0 -118
- package/dist/observer.js +0 -947
- package/dist/observer.js.map +0 -1
- package/dist/openai-responses-cu.d.ts +0 -158
- package/dist/openai-responses-cu.js +0 -714
- package/dist/openai-responses-cu.js.map +0 -1
- package/dist/orientation.d.ts +0 -29
- package/dist/orientation.js +0 -95
- package/dist/orientation.js.map +0 -1
- package/dist/oss-lab.d.ts +0 -55
- package/dist/oss-lab.js +0 -344
- package/dist/oss-lab.js.map +0 -1
- package/dist/oss-meta-lab-scoring.d.ts +0 -15
- package/dist/oss-meta-lab-scoring.js +0 -145
- package/dist/oss-meta-lab-scoring.js.map +0 -1
- package/dist/oss-meta-lab.d.ts +0 -287
- package/dist/oss-meta-lab.js +0 -4551
- package/dist/oss-meta-lab.js.map +0 -1
- package/dist/oss-remote-telemetry.d.ts +0 -77
- package/dist/oss-remote-telemetry.js +0 -403
- package/dist/oss-remote-telemetry.js.map +0 -1
- package/dist/output-token-limit.js +0 -5
- package/dist/output-token-limit.js.map +0 -1
- package/dist/participant-assignment.d.ts +0 -12
- package/dist/participant-assignment.js +0 -15
- package/dist/participant-assignment.js.map +0 -1
- package/dist/persona-resolve.d.ts +0 -44
- package/dist/persona-resolve.js +0 -99
- package/dist/persona-resolve.js.map +0 -1
- package/dist/persona.d.ts +0 -39
- package/dist/persona.js +0 -144
- package/dist/persona.js.map +0 -1
- package/dist/pi-agent-core.d.ts +0 -77
- package/dist/pi-agent-core.js +0 -207
- package/dist/pi-agent-core.js.map +0 -1
- package/dist/pricing.d.ts +0 -145
- package/dist/pricing.js +0 -277
- package/dist/pricing.js.map +0 -1
- package/dist/program.d.ts +0 -96
- package/dist/program.js +0 -4030
- package/dist/program.js.map +0 -1
- package/dist/reasoning-effort.js +0 -26
- package/dist/reasoning-effort.js.map +0 -1
- package/dist/reclaim.d.ts +0 -31
- package/dist/reclaim.js +0 -90
- package/dist/reclaim.js.map +0 -1
- package/dist/redaction.d.ts +0 -90
- package/dist/redaction.js +0 -294
- package/dist/redaction.js.map +0 -1
- package/dist/restricted-codex-analysis.d.ts +0 -15
- package/dist/restricted-codex-analysis.js +0 -13
- package/dist/restricted-codex-analysis.js.map +0 -1
- package/dist/restricted-codex-participant-policy.d.ts +0 -44
- package/dist/restricted-codex-participant-policy.js +0 -43
- package/dist/restricted-codex-participant-policy.js.map +0 -1
- package/dist/restricted-codex-participant-run.d.ts +0 -20
- package/dist/restricted-codex-participant-run.js +0 -79
- package/dist/restricted-codex-participant-run.js.map +0 -1
- package/dist/restricted-codex-participant.d.ts +0 -20
- package/dist/restricted-codex-participant.js +0 -250
- package/dist/restricted-codex-participant.js.map +0 -1
- package/dist/restricted-codex-policy.d.ts +0 -64
- package/dist/restricted-codex-policy.js +0 -176
- package/dist/restricted-codex-policy.js.map +0 -1
- package/dist/restricted-codex-session.d.ts +0 -44
- package/dist/restricted-codex-session.js +0 -657
- package/dist/restricted-codex-session.js.map +0 -1
- package/dist/restricted-codex-transport.d.ts +0 -69
- package/dist/restricted-codex-transport.js +0 -296
- package/dist/restricted-codex-transport.js.map +0 -1
- package/dist/run-detail.d.ts +0 -61
- package/dist/run-detail.js +0 -137
- package/dist/run-detail.js.map +0 -1
- package/dist/run-index.d.ts +0 -71
- package/dist/run-index.js +0 -206
- package/dist/run-index.js.map +0 -1
- package/dist/run-narration-secrets.js +0 -68
- package/dist/run-narration-secrets.js.map +0 -1
- package/dist/run-paths.d.ts +0 -56
- package/dist/run-paths.js +0 -355
- package/dist/run-paths.js.map +0 -1
- package/dist/run-projection.d.ts +0 -186
- package/dist/run-projection.js +0 -350
- package/dist/run-projection.js.map +0 -1
- package/dist/run-status.d.ts +0 -139
- package/dist/run-status.js +0 -218
- package/dist/run-status.js.map +0 -1
- package/dist/run.d.ts +0 -1255
- package/dist/run.js +0 -5949
- package/dist/run.js.map +0 -1
- package/dist/sandbox-receipts.d.ts +0 -19
- package/dist/sandbox-receipts.js +0 -51
- package/dist/sandbox-receipts.js.map +0 -1
- package/dist/screenshot-image.d.ts +0 -11
- package/dist/screenshot-image.js +0 -26
- package/dist/screenshot-image.js.map +0 -1
- package/dist/scripted-browser-actor.d.ts +0 -297
- package/dist/scripted-browser-actor.js +0 -1399
- package/dist/scripted-browser-actor.js.map +0 -1
- package/dist/scripted-browser-lab.d.ts +0 -121
- package/dist/scripted-browser-lab.js +0 -852
- package/dist/scripted-browser-lab.js.map +0 -1
- package/dist/secret-prompt.js +0 -36
- package/dist/secret-prompt.js.map +0 -1
- package/dist/selected-output-paths.d.ts +0 -52
- package/dist/selected-output-paths.js +0 -366
- package/dist/selected-output-paths.js.map +0 -1
- package/dist/serve-exposure.d.ts +0 -62
- package/dist/serve-exposure.js +0 -129
- package/dist/serve-exposure.js.map +0 -1
- package/dist/serve-http.js +0 -45
- package/dist/serve-http.js.map +0 -1
- package/dist/serve-tunnel.js +0 -113
- package/dist/serve-tunnel.js.map +0 -1
- package/dist/shared-world-lab.d.ts +0 -269
- package/dist/shared-world-lab.js +0 -1424
- package/dist/shared-world-lab.js.map +0 -1
- package/dist/source-archive.d.ts +0 -82
- package/dist/source-archive.js +0 -408
- package/dist/source-archive.js.map +0 -1
- package/dist/stats.d.ts +0 -82
- package/dist/stats.js +0 -219
- package/dist/stats.js.map +0 -1
- package/dist/stop-conditions.d.ts +0 -39
- package/dist/stop-conditions.js +0 -66
- package/dist/stop-conditions.js.map +0 -1
- package/dist/study-analysis-codex-config.d.ts +0 -11
- package/dist/study-analysis-codex-config.js +0 -34
- package/dist/study-analysis-codex-config.js.map +0 -1
- package/dist/study-analysis-engine.d.ts +0 -47
- package/dist/study-analysis-engine.js +0 -327
- package/dist/study-analysis-engine.js.map +0 -1
- package/dist/study-analysis-evidence.d.ts +0 -27
- package/dist/study-analysis-evidence.js +0 -660
- package/dist/study-analysis-evidence.js.map +0 -1
- package/dist/study-analysis-job.d.ts +0 -97
- package/dist/study-analysis-job.js +0 -214
- package/dist/study-analysis-job.js.map +0 -1
- package/dist/study-analysis-provider.d.ts +0 -40
- package/dist/study-analysis-provider.js +0 -170
- package/dist/study-analysis-provider.js.map +0 -1
- package/dist/study-analysis-service.d.ts +0 -59
- package/dist/study-analysis-service.js +0 -257
- package/dist/study-analysis-service.js.map +0 -1
- package/dist/study-analysis-sharing.d.ts +0 -11
- package/dist/study-analysis-sharing.js +0 -35
- package/dist/study-analysis-sharing.js.map +0 -1
- package/dist/study-analysis-store.d.ts +0 -47
- package/dist/study-analysis-store.js +0 -493
- package/dist/study-analysis-store.js.map +0 -1
- package/dist/study-analysis-validation.d.ts +0 -618
- package/dist/study-analysis-validation.js +0 -384
- package/dist/study-analysis-validation.js.map +0 -1
- package/dist/study-analysis.d.ts +0 -206
- package/dist/study-analysis.js +0 -4
- package/dist/study-analysis.js.map +0 -1
- package/dist/study-costs.js +0 -114
- package/dist/study-costs.js.map +0 -1
- package/dist/subject-runtime.d.ts +0 -23
- package/dist/subject-runtime.js +0 -70
- package/dist/subject-runtime.js.map +0 -1
- package/dist/tasks.d.ts +0 -90
- package/dist/tasks.js +0 -144
- package/dist/tasks.js.map +0 -1
- package/dist/telemetry.js +0 -324
- package/dist/telemetry.js.map +0 -1
- package/dist/terminal-agent-actor.d.ts +0 -41
- package/dist/terminal-agent-actor.js +0 -25
- package/dist/terminal-agent-actor.js.map +0 -1
- package/dist/terminal-encoding.js +0 -80
- package/dist/terminal-encoding.js.map +0 -1
- package/dist/terminal-node-bootstrap.d.ts +0 -4
- package/dist/terminal-node-bootstrap.js +0 -58
- package/dist/terminal-node-bootstrap.js.map +0 -1
- package/dist/terminal-participant-activity.d.ts +0 -6
- package/dist/terminal-participant-activity.js +0 -34
- package/dist/terminal-participant-activity.js.map +0 -1
- package/dist/terminal-runtime-auth.d.ts +0 -13
- package/dist/terminal-runtime-auth.js +0 -24
- package/dist/terminal-runtime-auth.js.map +0 -1
- package/dist/terminal-runtime.d.ts +0 -16
- package/dist/terminal-runtime.js +0 -42
- package/dist/terminal-runtime.js.map +0 -1
- package/dist/terminal-token-usage.d.ts +0 -15
- package/dist/terminal-token-usage.js +0 -94
- package/dist/terminal-token-usage.js.map +0 -1
- package/dist/tui-actions.d.ts +0 -39
- package/dist/tui-actions.js +0 -178
- package/dist/tui-actions.js.map +0 -1
- package/dist/tui-contract.d.ts +0 -141
- package/dist/tui-contract.js +0 -54
- package/dist/tui-contract.js.map +0 -1
- package/dist/tui-launch.js +0 -167
- package/dist/tui-launch.js.map +0 -1
- package/dist/tui-project.d.ts +0 -9
- package/dist/tui-project.js +0 -18
- package/dist/tui-project.js.map +0 -1
- package/docs/architecture/examples/state-driven-local-app/README.md +0 -80
- package/docs/architecture/examples/state-driven-local-app/app.mjs +0 -48
- package/docs/architecture/examples/state-driven-local-app/runner.mjs +0 -105
- package/docs/architecture/local-codex-tui-actor.md +0 -213
- package/docs/architecture/oss-lab-poc.md +0 -250
- package/docs/architecture/runtime-broker-core.md +0 -30
- package/docs/release/0.100.0-local-setup.md +0 -31
- package/docs/release/0.100.1-participant-continuity.md +0 -20
- package/docs/release/0.101.0-codex-ui-tools.md +0 -28
- package/docs/release/0.102.0-participant-media.md +0 -43
- package/docs/release/0.103.0-desktop-recording.md +0 -29
- package/docs/release/0.103.1-analysis-capture-allocation.md +0 -18
- package/docs/release/0.103.2-analysis-ending-context.md +0 -21
- package/docs/release/0.104.0-local-captured-inboxes.md +0 -29
- package/docs/release/0.104.1-recording-startup.md +0 -24
- package/docs/release/0.104.2-recording-timestamps.md +0 -32
- package/docs/release/0.104.3-local-smtp-catch.md +0 -15
- package/docs/release/0.105.0-participant-backgrounds.md +0 -50
- package/docs/release/0.20.0-external-public-shared-world.md +0 -43
- package/docs/release/0.84.0-redacted-evidence.md +0 -42
- package/docs/release/0.84.1-portable-feedback.md +0 -20
- package/docs/release/0.85.0-observer-review.md +0 -56
- package/docs/release/0.85.1-observer-continuity.md +0 -20
- package/docs/release/0.86.0-participant-evidence.md +0 -50
- package/docs/release/0.86.1-task-preflight-saved-recordings.md +0 -40
- package/docs/release/0.87.0-participant-endings-and-phone-review.md +0 -64
- package/docs/release/0.88.0-study-diagnostics.md +0 -43
- package/docs/release/0.88.1-completion-evidence-and-local-app.md +0 -79
- package/docs/release/0.88.2-sequential-study-budgets.md +0 -57
- package/docs/release/0.89.0-study-findings.md +0 -79
- package/docs/release/0.89.1-analysis-finished-notice.md +0 -24
- package/docs/release/0.90.0-automatic-analysis.md +0 -21
- package/docs/release/0.91.0-analysis-quality-and-defaults.md +0 -33
- package/docs/release/0.91.1-study-review-polish.md +0 -28
- package/docs/release/0.92.0-grid-playback.md +0 -22
- package/docs/release/0.93.0-global-playback.md +0 -26
- package/docs/release/0.93.1-observer-review-controls.md +0 -24
- package/docs/release/0.94.0-reliability.md +0 -48
- package/docs/release/0.95.0-connections-setup.md +0 -38
- package/docs/release/0.96.0-real-email-receiving.md +0 -47
- package/docs/release/0.96.1-browser-navigation.md +0 -22
- package/docs/release/0.97.0-codex-account-analysis.md +0 -45
- package/docs/release/0.98.0-local-browser-studies.md +0 -31
- package/docs/release/0.99.0-local-browser-mac.md +0 -34
- package/docs/release/0.99.1-action-recovery.md +0 -19
- /package/dist/{agent-session.d.ts → actors/agent-session.d.ts} +0 -0
- /package/dist/{cua-executor-error.d.ts → actors/computer-use/executor-error.d.ts} +0 -0
- /package/dist/{cua-speech.d.ts → actors/computer-use/speech.d.ts} +0 -0
- /package/dist/{actor-goal-source.d.ts → actors/goal-source.d.ts} +0 -0
- /package/dist/{output-token-limit.d.ts → actors/output-token-limit.d.ts} +0 -0
- /package/dist/{reasoning-effort.d.ts → actors/reasoning-effort.d.ts} +0 -0
- /package/dist/{secret-prompt.d.ts → cli/secret-prompt.d.ts} +0 -0
- /package/dist/{telemetry.d.ts → cli/telemetry.d.ts} +0 -0
- /package/dist/{browser-evidence-hygiene.d.ts → evidence/browser-hygiene.d.ts} +0 -0
- /package/dist/{serve-http.d.ts → observer/http.d.ts} +0 -0
- /package/dist/{observer-library.d.ts → observer/library.d.ts} +0 -0
- /package/dist/{listen.d.ts → observer/listen.d.ts} +0 -0
- /package/dist/{observer-static.d.ts → observer/static.d.ts} +0 -0
- /package/dist/{serve-tunnel.d.ts → observer/tunnel.d.ts} +0 -0
- /package/dist/{terminal-encoding.d.ts → routes/terminal/encoding.d.ts} +0 -0
- /package/dist/{concurrency.d.ts → run/concurrency.d.ts} +0 -0
- /package/dist/{study-costs.d.ts → run/costs.d.ts} +0 -0
- /package/dist/{run-narration-secrets.d.ts → run/transient-comms-secrets.d.ts} +0 -0
- /package/dist/{tui-launch.d.ts → tui/launch.d.ts} +0 -0
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
import type { Verdict } from "../../run/judge.js";
|
|
2
|
+
import type { RunDesktopRecording } from "../../evidence/desktop-recording-types.js";
|
|
3
|
+
import type { CuaExecutor, CuaLiveMetadata, CuaLoopResult, CuaProvider } from "../../actors/computer-use/loop.js";
|
|
4
|
+
import type { CommsReceivingRun } from "../../comms/receiving.js";
|
|
5
|
+
import { type ParticipantDesktop } from "./participant-desktop.js";
|
|
6
|
+
import type { SubjectPhaseEvent } from "../../subject/steps.js";
|
|
7
|
+
import type { DesktopBrowserEvidence } from "../../substrates/e2b/desktop-browser.js";
|
|
8
|
+
import { type AutomaticAnalysisHooks, type AutomaticAnalysisResult } from "../../analysis/automatic-completion.js";
|
|
9
|
+
import { type CuaDiagnostics } from "./diagnostics.js";
|
|
10
|
+
import type { ActorCompletionReason, ActorStatus, ActorStopCause, ActorTokenUsage, ActorTraceItem } from "../../actors/contract.js";
|
|
11
|
+
import { type CuaActorDescriptor } from "../../actors/registry.js";
|
|
12
|
+
import { type BrowserLabAdapterHooks } from "../../lab/adapter-extension.js";
|
|
13
|
+
import type { CuaActorSessionOptions } from "../../actors/computer-use/actor.js";
|
|
14
|
+
import { type E2BDesktopModule, type E2BDesktopSandbox } from "../../substrates/e2b/sdk.js";
|
|
15
|
+
import { type DesktopResourceObservation } from "../../substrates/e2b/desktop-resources.js";
|
|
16
|
+
import { type DetachedTimers } from "../../substrates/detached.js";
|
|
17
|
+
import type { Brain, ComputerUsePlan } from "../../lab/plan-types.js";
|
|
18
|
+
import { type LabCommsEmail, type LabConfig, type LabSubjectServe } from "../../lab/types.js";
|
|
19
|
+
import { renderObserver, type ObserverResult } from "../../observer/render.js";
|
|
20
|
+
import { type RunLabProvenance } from "../../run/status.js";
|
|
21
|
+
import { type RunBundle, type RunRerunLineage, type RunScorerProvenance, type RunSubjectProvenance, type RunSubjectStateStepRecord } from "../../run/bundle.js";
|
|
22
|
+
import { type RunDesktopGeometry } from "../../run/streams.js";
|
|
23
|
+
import { type PreparedOutputRoot } from "../../run/contained-output.js";
|
|
24
|
+
import { type LocalTreeArchive } from "../../subject/local-tree-archive.js";
|
|
25
|
+
import type { ComputerUseParticipant, SharedWorldParticipant } from "../../lab/plan-participants.js";
|
|
26
|
+
import type { ResolvedParticipant } from "../../run/participant.js";
|
|
27
|
+
import type { CuaLaneSpec } from "./legacy-lane-spec.js";
|
|
28
|
+
export declare const CUA_ACTOR_LAB_SCHEMA = "humanish.cua-lab-result.v2";
|
|
29
|
+
export declare const CUA_FANOUT_STRATEGY: "per-lane-worlds";
|
|
30
|
+
export declare const CUA_MAX_CONCURRENCY_ENV = "HUMANISH_CUA_MAX_CONCURRENCY";
|
|
31
|
+
export declare const DEFAULT_APP_URL_SESSION_TIMEOUT_MS: number;
|
|
32
|
+
export declare const MIN_DERIVED_SESSION_TIMEOUT_MS: number;
|
|
33
|
+
/**
|
|
34
|
+
* Library-level hooks. `prepareDesktop` runs after sandbox creation and before subject
|
|
35
|
+
* provisioning / browser launch — library callers use it for extra in-sandbox setup beyond
|
|
36
|
+
* what `subject.serve` declares (or to provision an app-url subject entirely). The rest are
|
|
37
|
+
* DI seams so CI drives the full path with fakes at zero network/zero spend.
|
|
38
|
+
*/
|
|
39
|
+
export interface CuaActorLabHooks extends BrowserLabAdapterHooks {
|
|
40
|
+
/**
|
|
41
|
+
* Runs after sandbox creation and before subject provisioning / browser launch. Widened
|
|
42
|
+
* back-compatibly with per-lane context so a library caller can provision the right app-url
|
|
43
|
+
* subject per lane (a one-arg `(desktop) => …` still satisfies the type). Called once per lane.
|
|
44
|
+
*/
|
|
45
|
+
prepareDesktop?: (desktop: E2BDesktopSandbox, lane: {
|
|
46
|
+
laneId: string;
|
|
47
|
+
laneIndex: number;
|
|
48
|
+
laneCount: number;
|
|
49
|
+
}) => Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Pre-flight hook: receives the resolved lane plan BEFORE any sandbox or provider call (dry-run
|
|
52
|
+
* AND live). The engine also prints the plan to stderr; this seam lets tests assert it without
|
|
53
|
+
* scraping stderr. Identical plan in dry-run, marked $0.
|
|
54
|
+
*/
|
|
55
|
+
onPreflight?: (plan: CuaParticipantPlan) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Live subject-provisioning phase sink: one call per started/completed boundary (clone,
|
|
58
|
+
* upload/extract, install, build, serve start, ready, and each subject.state seed-step
|
|
59
|
+
* group). Defaults to one stderr line per event, prefixed with the lane id when laneCount > 1
|
|
60
|
+
* (single-lane emission is unconditional: single-lane silence for the whole boot is the bug
|
|
61
|
+
* this event stream closes). Override in tests to capture instead of writing to real stderr.
|
|
62
|
+
*/
|
|
63
|
+
onPhase?: (event: SubjectPhaseEvent, ctx: {
|
|
64
|
+
laneId: string;
|
|
65
|
+
laneIndex: number;
|
|
66
|
+
laneCount: number;
|
|
67
|
+
}) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Runtime-only live desktop stream callback. The URL carries an auth key and must never be
|
|
70
|
+
* persisted into run artifacts; callers use it to hydrate an attached Observer server.
|
|
71
|
+
*/
|
|
72
|
+
onRuntimeStreamReady?: (stream: {
|
|
73
|
+
laneId: string;
|
|
74
|
+
sandboxId: string;
|
|
75
|
+
simId: string;
|
|
76
|
+
streamId: string;
|
|
77
|
+
url: string;
|
|
78
|
+
}) => Promise<void> | void;
|
|
79
|
+
/** Fired when a lane's sandbox is gone (finished or torn down): the live stream URL is now a
|
|
80
|
+
* dead noVNC page, so the watch overlay must stop serving it and let the tile fall back to
|
|
81
|
+
* recorded evidence (#357). Fired only for lanes whose onRuntimeStreamReady fired. */
|
|
82
|
+
onRuntimeStreamEnded?: (stream: {
|
|
83
|
+
laneId: string;
|
|
84
|
+
simId: string;
|
|
85
|
+
streamId: string;
|
|
86
|
+
}) => Promise<void> | void;
|
|
87
|
+
loadDesktopModule?: () => Promise<E2BDesktopModule>;
|
|
88
|
+
runSession?: (options: CuaActorSessionOptions) => Promise<CuaLoopResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Supply a custom executor (e.g. a window.* JS-contract bridge over an already-running local
|
|
91
|
+
* dev server). When present (with `buildProvider`), `runCuaActorLab` takes the IN-PROCESS
|
|
92
|
+
* branch: it NEVER loads the E2B module, creates a sandbox, runs prepareDesktop, provisions a
|
|
93
|
+
* clone, opens a browser, or starts a stream — so `result.sandbox` is omitted, the verifiable
|
|
94
|
+
* "no E2B SDK call" proof. The whole bundle/Observer/redaction composition below the session
|
|
95
|
+
* call is desktop-agnostic and runs unchanged. Receives the resolved config, the
|
|
96
|
+
* registry-resolved descriptor, and the entry appUrl.
|
|
97
|
+
*/
|
|
98
|
+
buildExecutor?: (ctx: {
|
|
99
|
+
config: LabConfig;
|
|
100
|
+
actor: CuaActorDescriptor;
|
|
101
|
+
appUrl: string;
|
|
102
|
+
}) => Promise<CuaExecutor>;
|
|
103
|
+
/**
|
|
104
|
+
* Supply a custom provider (a "brain" reasoning over app STATE). REQUIRED alongside
|
|
105
|
+
* `buildExecutor` — the default OpenAI provider is vision-based (requiresFrame) and would fail
|
|
106
|
+
* closed against a state-only executor that returns no screenshot. (`buildProvider` ALONE is
|
|
107
|
+
* allowed — that is just a model swap on the normal E2B route.)
|
|
108
|
+
*/
|
|
109
|
+
buildProvider?: (ctx: {
|
|
110
|
+
config: LabConfig;
|
|
111
|
+
actor: CuaActorDescriptor;
|
|
112
|
+
lane: CuaLaneSpec;
|
|
113
|
+
/** How many participants the run has. */
|
|
114
|
+
laneCount: number;
|
|
115
|
+
executor: CuaExecutor;
|
|
116
|
+
}) => Promise<CuaProvider>;
|
|
117
|
+
/**
|
|
118
|
+
* Substitute desktop ownership while retaining the shared participant and evidence loop.
|
|
119
|
+
* @deprecated No replacement: a run's desktop is E2B, the local VM or in process. This goes in
|
|
120
|
+
* the next minor.
|
|
121
|
+
*/
|
|
122
|
+
createDesktopLane?: (spec: CuaLaneSpec, warnings: string[], artifactRoot: PreparedOutputRoot) => ParticipantDesktop;
|
|
123
|
+
env?: Record<string, string | undefined>;
|
|
124
|
+
renderObserverFn?: typeof renderObserver;
|
|
125
|
+
/** Injected clock (ms) for the host-side E2B desktop create->teardown span measurement that
|
|
126
|
+
* feeds the desktop-minute cost estimate. Defaults to Date.now; tests inject a frozen/stepped
|
|
127
|
+
* clock so the desktop-minute line is deterministic. */
|
|
128
|
+
now?: () => number;
|
|
129
|
+
/** Injected clock/sleep for the detached-step polling (tests only). */
|
|
130
|
+
detachedTimers?: DetachedTimers;
|
|
131
|
+
/**
|
|
132
|
+
* Local-tree packing DI seam (tests only, no npm dependency needed to exercise the route):
|
|
133
|
+
* defaults to createLocalTreeArchive(root, opts) plus a host-side read of the produced
|
|
134
|
+
* archive file into an ArrayBuffer. Called ONCE per run, before lane fan-out, on the live
|
|
135
|
+
* local-tree route; the result (archive metadata + bytes) is shared byte-identically across
|
|
136
|
+
* every fan-out lane, so one archiveSha256 describes every lane's packed content.
|
|
137
|
+
*/
|
|
138
|
+
packLocalTree?: (args: {
|
|
139
|
+
root: string;
|
|
140
|
+
extraExclude?: string[];
|
|
141
|
+
maxArchiveBytes?: number;
|
|
142
|
+
}) => Promise<{
|
|
143
|
+
archive: LocalTreeArchive;
|
|
144
|
+
buffer: ArrayBuffer;
|
|
145
|
+
}>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* What a computer-use run takes besides its plan and config. The count override and rerun go to
|
|
149
|
+
* participant building with the config.
|
|
150
|
+
*/
|
|
151
|
+
export type ComputerUseRunInput = Omit<RunCuaActorLabOptions, "config" | "dryRun" | "lab">;
|
|
152
|
+
export interface RunCuaActorLabOptions {
|
|
153
|
+
automaticAnalysis?: AutomaticAnalysisHooks;
|
|
154
|
+
cwd: string;
|
|
155
|
+
config: LabConfig;
|
|
156
|
+
/** Which manifest produced this run (#455); threaded into the run's status record + bundle. */
|
|
157
|
+
lab?: RunLabProvenance;
|
|
158
|
+
/** Resolved upstream (scenario.mode + CLI override); defaults safe (dry-run). */
|
|
159
|
+
dryRun: boolean;
|
|
160
|
+
open?: boolean;
|
|
161
|
+
runId?: string;
|
|
162
|
+
/** CLI `--count` override for the homogeneous fan-out lane count (ignored when a `lanes`
|
|
163
|
+
* roster is declared — a roster's length is authoritative). */
|
|
164
|
+
countOverride?: number;
|
|
165
|
+
/** Explicitly create a new run containing failed or selected lanes from a prior fan-out run. */
|
|
166
|
+
rerun?: {
|
|
167
|
+
sourceRunId: string;
|
|
168
|
+
laneIds?: string[];
|
|
169
|
+
};
|
|
170
|
+
hooks?: CuaActorLabHooks;
|
|
171
|
+
onObserverReady?: (observer: ObserverResult & {
|
|
172
|
+
ok: true;
|
|
173
|
+
}) => Promise<void> | void;
|
|
174
|
+
/** Present only when the browser-route scorer hooks were CONFIG-DECLARED and loaded by the CLI
|
|
175
|
+
* (#316); core-stamped onto the bundle as evidence. Absent for library callers. */
|
|
176
|
+
scorerProvenance?: RunScorerProvenance;
|
|
177
|
+
}
|
|
178
|
+
/** A lane's row in the pre-flight plan: identity + the device/persona it will drive. The prompt
|
|
179
|
+
* text never leaks — only a sha256-16 digest of the composed instructions. */
|
|
180
|
+
export interface CuaParticipantPlanEntry {
|
|
181
|
+
id: string;
|
|
182
|
+
actorType?: string;
|
|
183
|
+
surface?: string;
|
|
184
|
+
caseGroup?: string;
|
|
185
|
+
/** 1-based display index. */
|
|
186
|
+
index: number;
|
|
187
|
+
persona: string;
|
|
188
|
+
device: string;
|
|
189
|
+
/** Requested E2B/X screen resolution. This is not the measured browser CSS viewport. */
|
|
190
|
+
resolution: [number, number];
|
|
191
|
+
instructionDigest: string;
|
|
192
|
+
/** The declared reasoning effort for this lane, when the lab declared one. The plan line is what
|
|
193
|
+
* you read BEFORE spending money, so a declared per-lane difference has to be visible there. */
|
|
194
|
+
reasoningEffort?: string;
|
|
195
|
+
maxOutputTokens?: number;
|
|
196
|
+
/** Present only when a lane overrides subject.appUrl; digest avoids leaking preview hosts in plan logs. */
|
|
197
|
+
targetDigest?: string;
|
|
198
|
+
}
|
|
199
|
+
/** The pre-flight spend/lane plan (pure; printed to stderr + recorded as a bundle event before
|
|
200
|
+
* any sandbox or provider call; identical in dry-run, marked $0). */
|
|
201
|
+
export interface CuaParticipantPlan {
|
|
202
|
+
strategy: typeof CUA_FANOUT_STRATEGY;
|
|
203
|
+
laneCount: number;
|
|
204
|
+
/** Effective in-flight bound (defaults to laneCount — all seats live; a declared
|
|
205
|
+
* execution.concurrency is a cap; the env override may only LOWER it). */
|
|
206
|
+
concurrency: number;
|
|
207
|
+
/** Present when the env override lowered the bound below the config's value — recorded so the
|
|
208
|
+
* plan never silently disagrees with the manifest. */
|
|
209
|
+
envLoweredConcurrencyFrom?: number;
|
|
210
|
+
/** ceil(laneCount / concurrency). */
|
|
211
|
+
waves: number;
|
|
212
|
+
/** Per-lane session wall-clock budget (execution.timeoutMs); there is no run-level wall clock. */
|
|
213
|
+
perLaneSessionBudgetMs: number;
|
|
214
|
+
/** Worst-case TOTAL sandbox-minutes across all lanes (each lane's full sandbox deadline). */
|
|
215
|
+
worstCaseSandboxMinutes: number;
|
|
216
|
+
/** True for a dry-run plan (no spend); the same table appears live. */
|
|
217
|
+
dryRun: boolean;
|
|
218
|
+
lanes: CuaParticipantPlanEntry[];
|
|
219
|
+
}
|
|
220
|
+
/** One lane's outcome in the result projection. ALWAYS present in `result.lanes` (length 1 at
|
|
221
|
+
* N=1). A `blocked` lane is one the pipeline-gate / fail-fast skipped before it ran. */
|
|
222
|
+
export interface CuaParticipantResult {
|
|
223
|
+
id: string;
|
|
224
|
+
actorType?: string;
|
|
225
|
+
surface?: string;
|
|
226
|
+
caseGroup?: string;
|
|
227
|
+
index: number;
|
|
228
|
+
persona: string;
|
|
229
|
+
device: string;
|
|
230
|
+
/** Requested E2B/X screen resolution. See the run stream's desktopGeometry for measurements. */
|
|
231
|
+
resolution: [number, number];
|
|
232
|
+
/** Terminal lane status; "blocked" = skipped (gate/fail-fast); "contract_proof_only" = dry-run. */
|
|
233
|
+
status: ActorStatus | "blocked" | "contract_proof_only";
|
|
234
|
+
ok: boolean;
|
|
235
|
+
session?: {
|
|
236
|
+
status: ActorStatus;
|
|
237
|
+
completionReason: ActorCompletionReason;
|
|
238
|
+
/** Recorded control cause; absent on older or naturally completed sessions. */
|
|
239
|
+
stopCause?: ActorStopCause;
|
|
240
|
+
reason: string;
|
|
241
|
+
screenshots: number;
|
|
242
|
+
};
|
|
243
|
+
sandbox?: {
|
|
244
|
+
sandboxId: string;
|
|
245
|
+
killed: boolean;
|
|
246
|
+
streamUrlPresent: boolean;
|
|
247
|
+
};
|
|
248
|
+
subject: CuaSubjectProjection;
|
|
249
|
+
diagnostics?: CuaDiagnostics;
|
|
250
|
+
/** Set when the lane was skipped (pinned reason string). */
|
|
251
|
+
skippedReason?: string;
|
|
252
|
+
error?: {
|
|
253
|
+
code: CuaActorLabErrorCode;
|
|
254
|
+
message: string;
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/** Aggregate counts across lanes. */
|
|
258
|
+
export interface CuaParticipantSummary {
|
|
259
|
+
strategy: typeof CUA_FANOUT_STRATEGY;
|
|
260
|
+
total: number;
|
|
261
|
+
/** Lanes whose own verdict is ok (terminal, engaged, no harness error). */
|
|
262
|
+
passed: number;
|
|
263
|
+
/** Lanes skipped by the pipeline gate / fail-fast. */
|
|
264
|
+
skipped: number;
|
|
265
|
+
/** Lanes that ended in a harness error. */
|
|
266
|
+
harnessErrors: number;
|
|
267
|
+
/** Lanes that returned goal_satisfied with zero engagement (hollow). */
|
|
268
|
+
hollow: number;
|
|
269
|
+
concurrency: number;
|
|
270
|
+
waves: number;
|
|
271
|
+
}
|
|
272
|
+
export type CuaActorLabErrorCode = "HUMANISH_LAB_ANALYSIS_INVALID" | "HUMANISH_LAB_TASKS_UNSUPPORTED" | "HUMANISH_LAB_OPTION_CONFLICT" | "HUMANISH_LAB_OPTION_UNSUPPORTED" | "HUMANISH_CUA_LAB_FAILED" | "HUMANISH_CUA_LAB_KEYS_MISSING" | "HUMANISH_CUA_LAB_AGENT_MISSING" | "HUMANISH_CUA_LAB_AGENT_SIGNIN_REQUIRED" | "HUMANISH_CUA_LAB_SUBJECT_ENV_MISSING" | "HUMANISH_CUA_LAB_ACTOR_UNSUPPORTED" | "HUMANISH_CUA_LAB_SUBJECT_INVALID" | "HUMANISH_CUA_LAB_SUBJECT_UNSAFE" | "HUMANISH_CUA_LAB_EXECUTOR_NO_PROVIDER" | "HUMANISH_CUA_LAB_LOCAL_APP_NO_EXECUTOR" | "HUMANISH_CUA_LAB_LOCAL_DESKTOP_MISSING" | "HUMANISH_CUA_LAB_FANOUT_INVALID" | "HUMANISH_CUA_LAB_RERUN_INVALID" | "HUMANISH_CUA_LAB_DEVICE_GEOMETRY" | "HUMANISH_RUN_ID_IN_USE" | "HUMANISH_CUA_LAB_UNPRICED_CAP" | "HUMANISH_CUA_LAB_COMMS_CATCH_UNREACHABLE" | "HUMANISH_WATCH_ALLOW_REQUIRES_OAUTH" | "HUMANISH_WATCH_OAUTH_REQUIRES_TUNNEL" | "HUMANISH_WATCH_OPTION_CONFLICT" | "HUMANISH_WATCH_TUNNEL_REQUIRES_EXPOSE" | "HUMANISH_WATCH_EXPOSE_REQUIRES_EDGE_AUTH" | "HUMANISH_WATCH_EXPOSE_REQUIRES_LIVE_FOLLOW" | "HUMANISH_WATCH_SAFE_NOT_APPLICABLE" | "HUMANISH_SERVE_TUNNEL_NOT_FOUND" | "HUMANISH_SERVE_TUNNEL_START_FAILED";
|
|
273
|
+
/** Subject provenance projection (invariant 5): what the actor actually drove. */
|
|
274
|
+
export interface CuaSubjectProjection {
|
|
275
|
+
source: "app-url" | "clone" | "local-tree";
|
|
276
|
+
/** Clone-route only: the (possibly redacted) owner/repo slug. */
|
|
277
|
+
repo?: string;
|
|
278
|
+
/** Cloned commit SHA (clone route) or host-side HEAD at pack time (local-tree route, when
|
|
279
|
+
* the packed root was a git work tree). */
|
|
280
|
+
commit?: string;
|
|
281
|
+
/** Local-tree-route only: 64-hex sha256 over the sorted packed-entries list: the content
|
|
282
|
+
* pin for a tree that cannot be commit-pinned. Absent on dry-run (nothing was packed). */
|
|
283
|
+
archiveSha256?: string;
|
|
284
|
+
/** Local-tree-route only: host-side porcelain status at pack time (true when the working
|
|
285
|
+
* tree had uncommitted changes). Absent when the packed root was not a git work tree. */
|
|
286
|
+
dirty?: boolean;
|
|
287
|
+
/** Declared env NAMES provisioned for the subject (values never surface anywhere). */
|
|
288
|
+
envNames?: string[];
|
|
289
|
+
/** The subject's state story (seeded digests / UNPINNED external / declared-not-run /
|
|
290
|
+
* undeclared): the same block the run bundle records. */
|
|
291
|
+
state: RunSubjectProvenance["state"];
|
|
292
|
+
}
|
|
293
|
+
/** The provisioned-route-only shape threaded through as buildSingleParticipantBundle's
|
|
294
|
+
* subjectProvenance arg (clone or local-tree; an app-url subject stays undeclared, which that
|
|
295
|
+
* builder's own default branch already handles without this type). */
|
|
296
|
+
export type CuaSubjectProvenanceArg = {
|
|
297
|
+
source: "clone";
|
|
298
|
+
repo: string;
|
|
299
|
+
commit?: string;
|
|
300
|
+
envNames: string[];
|
|
301
|
+
state: RunSubjectProvenance["state"];
|
|
302
|
+
} | {
|
|
303
|
+
source: "local-tree";
|
|
304
|
+
archiveSha256?: string;
|
|
305
|
+
commit?: string;
|
|
306
|
+
dirty?: boolean;
|
|
307
|
+
envNames: string[];
|
|
308
|
+
state: RunSubjectProvenance["state"];
|
|
309
|
+
};
|
|
310
|
+
export interface CuaActorLabResult extends AutomaticAnalysisResult {
|
|
311
|
+
schema: typeof CUA_ACTOR_LAB_SCHEMA;
|
|
312
|
+
/** True when the Observer verified the bundle, all live lanes passed credibility checks
|
|
313
|
+
* (or this is a dry-run), and no declared adapter/scorer verdict failed. */
|
|
314
|
+
ok: boolean;
|
|
315
|
+
cwd: string;
|
|
316
|
+
labId: string;
|
|
317
|
+
/** The registry-resolved actor id that ran (or would run) the session. */
|
|
318
|
+
actor: string;
|
|
319
|
+
appUrl: string;
|
|
320
|
+
dryRun: boolean;
|
|
321
|
+
runId: string;
|
|
322
|
+
session?: {
|
|
323
|
+
status: ActorStatus;
|
|
324
|
+
completionReason: ActorCompletionReason;
|
|
325
|
+
/** Recorded control cause; absent on older or naturally completed sessions. */
|
|
326
|
+
stopCause?: ActorStopCause;
|
|
327
|
+
reason: string;
|
|
328
|
+
screenshots: number;
|
|
329
|
+
};
|
|
330
|
+
sandbox?: {
|
|
331
|
+
sandboxId: string;
|
|
332
|
+
killed: boolean;
|
|
333
|
+
/** The stream URL itself (carries an auth key) is runtime-only and is deliberately NOT
|
|
334
|
+
* surfaced on the result — the sandbox is already dead by the time the result exists. */
|
|
335
|
+
streamUrlPresent: boolean;
|
|
336
|
+
};
|
|
337
|
+
/** Subject provenance (invariant 5): what the actor actually drove. At N>1 this is the
|
|
338
|
+
* unanimity-gated aggregate (top-level `commit` only when every lane resolved the same one). */
|
|
339
|
+
subject?: CuaSubjectProjection;
|
|
340
|
+
/** The pre-flight lane plan (present once lanes resolve; absent on early validation errors). */
|
|
341
|
+
plan?: CuaParticipantPlan;
|
|
342
|
+
/** Per-lane results — ALWAYS present once lanes resolve (length 1 at N=1). */
|
|
343
|
+
lanes?: CuaParticipantResult[];
|
|
344
|
+
/** Aggregate lane counts. */
|
|
345
|
+
laneSummary?: CuaParticipantSummary;
|
|
346
|
+
/** Present when this run explicitly re-executes selected lanes from a prior CUA fan-out run. */
|
|
347
|
+
rerun?: RunRerunLineage;
|
|
348
|
+
observer?: ObserverResult;
|
|
349
|
+
diagnostics?: CuaDiagnostics;
|
|
350
|
+
warnings: string[];
|
|
351
|
+
error?: {
|
|
352
|
+
code: CuaActorLabErrorCode;
|
|
353
|
+
message: string;
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* What a computer-use lane or a shared-world seat runs: the resolved participant, plus where its
|
|
358
|
+
* evidence goes and any backstop override its route sets. The public projections are
|
|
359
|
+
* CuaParticipantPlanEntry and CuaParticipantResult.
|
|
360
|
+
*/
|
|
361
|
+
export interface DesktopParticipantRun extends ResolvedParticipant<ComputerUseParticipant | SharedWorldParticipant> {
|
|
362
|
+
/** "" for one participant (screenshots/<name>); the participant id for more
|
|
363
|
+
* (screenshots/<id>/<name>). */
|
|
364
|
+
readonly screenshotDir: string;
|
|
365
|
+
/** "actor.json" for one participant; "actors/<streamId>.json" for more. */
|
|
366
|
+
readonly traceArtifactPath: string;
|
|
367
|
+
/**
|
|
368
|
+
* Overrides of the CUA idle and no-progress backstops, for a participant whose job includes a
|
|
369
|
+
* long legitimate wait (a shared-world host in the waiting room, a follower before the game
|
|
370
|
+
* starts). Absent means the loop defaults.
|
|
371
|
+
*/
|
|
372
|
+
readonly backstop?: {
|
|
373
|
+
readonly idleSteps?: number;
|
|
374
|
+
readonly noProgressSteps?: number;
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
export interface ParticipantRunsAndPlan {
|
|
378
|
+
runs: DesktopParticipantRun[];
|
|
379
|
+
participantPlan: CuaParticipantPlan;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* The STUDY's shared spend ledger (#299): one counter across every lane. Each lane notes its own
|
|
383
|
+
* latest running MODEL-spend estimate (monotone per lane — an estimate can only grow) and reads
|
|
384
|
+
* back the run total; the loop stops the lane the moment the total crosses the study budget.
|
|
385
|
+
* Estimated model spend only: desktop-minutes ride the cost summary, not this ledger.
|
|
386
|
+
*/
|
|
387
|
+
export interface CuaRunBudget {
|
|
388
|
+
maxTotalUsd: number;
|
|
389
|
+
/** Record this lane's latest running estimate (null = unpriceable, ignored) and return the
|
|
390
|
+
* run's current total across all lanes. */
|
|
391
|
+
note(participantId: string, estimateUsd: number | null): number;
|
|
392
|
+
}
|
|
393
|
+
/** Shared deps every lane runner needs (resolved once in the engine). */
|
|
394
|
+
export interface CuaParticipantDeps {
|
|
395
|
+
/** Internal ready-desktop seam. The factory must not allocate; prepare owns that work. */
|
|
396
|
+
createDesktop?: (spec: DesktopParticipantRun, warnings: string[], artifactRoot: PreparedOutputRoot) => ParticipantDesktop;
|
|
397
|
+
config: LabConfig;
|
|
398
|
+
descriptor: CuaActorDescriptor;
|
|
399
|
+
appUrl: string;
|
|
400
|
+
/** The plan's brain: the model and, for a local agent, which signed-in CLI drives the participant. */
|
|
401
|
+
brain: Brain;
|
|
402
|
+
cloneRoute: boolean;
|
|
403
|
+
/** desktop-cli (#495): a CLI studied at a desktop. Nothing is cloned and no browser is opened. */
|
|
404
|
+
desktopCliRoute?: boolean;
|
|
405
|
+
/** Optional so out-of-scope callers building CuaParticipantDeps directly (other engines reusing
|
|
406
|
+
* runCuaParticipant) do not need to know about the local-tree route; undefined behaves as false. */
|
|
407
|
+
localTreeRoute?: boolean;
|
|
408
|
+
serve?: LabSubjectServe;
|
|
409
|
+
subjectRepo?: string;
|
|
410
|
+
subjectEnvNames: string[];
|
|
411
|
+
hasGithubToken: boolean;
|
|
412
|
+
/** Local-tree route only: the once-per-run packed archive bytes, shared byte-identically
|
|
413
|
+
* across every fan-out lane's upload step. Absent on dry-run and every other route. */
|
|
414
|
+
localTreeArchiveBuffer?: ArrayBuffer;
|
|
415
|
+
env: Record<string, string | undefined>;
|
|
416
|
+
openaiApiKey: string;
|
|
417
|
+
e2bApiKey: string;
|
|
418
|
+
requestTimeoutMs: number;
|
|
419
|
+
sandboxMs: number;
|
|
420
|
+
timeoutMs: number;
|
|
421
|
+
participantCount: number;
|
|
422
|
+
artifactRoot: PreparedOutputRoot;
|
|
423
|
+
/** The lab's resolution directory: relative paths in the config (a camera .y4m) resolve here. */
|
|
424
|
+
labCwd: string;
|
|
425
|
+
redactScreenshots: boolean;
|
|
426
|
+
scrubKnownValues: (text: string) => string;
|
|
427
|
+
receiving?: CommsReceivingRun;
|
|
428
|
+
runSession: (options: CuaActorSessionOptions) => Promise<CuaLoopResult>;
|
|
429
|
+
/** The study's shared spend ledger, present exactly when execution.caps.maxTotalUsd is set on a
|
|
430
|
+
* live run (#299). Preflight already refused the cap on an unpriced model. */
|
|
431
|
+
runBudget?: CuaRunBudget;
|
|
432
|
+
/** Adopter-hosted comms plane (#380): present on the app-url route when comms.email.external is
|
|
433
|
+
* declared. Carries the parsed comms block (recipients drive the per-lane inbox instruction)
|
|
434
|
+
* and the inbox URL the persona opens. The drain runs once at run level, not per lane. */
|
|
435
|
+
externalComms?: {
|
|
436
|
+
email: LabCommsEmail;
|
|
437
|
+
inboxUrl: string;
|
|
438
|
+
};
|
|
439
|
+
/** Injected clock (ms). Used to measure the host-side E2B desktop create->teardown span so the
|
|
440
|
+
* desktop-minute cost estimate is deterministic in tests. Defaults to Date.now. */
|
|
441
|
+
now: () => number;
|
|
442
|
+
hooks: CuaActorLabHooks;
|
|
443
|
+
/** Lane-0 only: signal the pipeline gate after provisioning succeeds (true) or fails (false). */
|
|
444
|
+
signalProvisioned?: (ok: boolean) => void;
|
|
445
|
+
/**
|
|
446
|
+
* How a PARSEABLE requested-vs-verified screen mismatch is treated. Default ("fail-closed"):
|
|
447
|
+
* the lane's device claim is falsified, so the lane fails with DEVICE_GEOMETRY (the
|
|
448
|
+
* single-lane/fan-out contract). "record-evidence" (the concurrent shared-world route):
|
|
449
|
+
* requested and verified stay recorded as separate facts plus an explicit warning, and the
|
|
450
|
+
* lane keeps running, so one seat's screen drift cannot abort a live multi-actor world.
|
|
451
|
+
*/
|
|
452
|
+
screenMismatchPolicy?: "fail-closed" | "record-evidence";
|
|
453
|
+
/**
|
|
454
|
+
* RUNTIME-ONLY observed-URL callback (#164 handoff crux): threaded into the lane's session so the
|
|
455
|
+
* orchestrator watches this seat's live location.href mid-run. Never persisted (see
|
|
456
|
+
* CuaLoopOptions.onObservedUrl). The concurrent shared-world barrier passes a host-seat latch here
|
|
457
|
+
* to extract a /lobby/CODE; on ordinary routes it is undefined (no-op).
|
|
458
|
+
*/
|
|
459
|
+
onObservedUrl?: (url: string | undefined) => void;
|
|
460
|
+
/** RUNTIME-ONLY per-turn narration callback; see CuaLoopOptions.onMessage. The concurrent
|
|
461
|
+
* shared-world barrier passes a host-seat message scanner here to latch the lobby code. */
|
|
462
|
+
onMessage?: (text: string) => void;
|
|
463
|
+
/** RUNTIME-ONLY per-turn raw-frame callback; see CuaLoopOptions.onScreenshot. The concurrent
|
|
464
|
+
* shared-world barrier passes a host-seat vision reader here to latch the lobby code off-screen. */
|
|
465
|
+
onScreenshot?: (frame: Buffer) => void;
|
|
466
|
+
/** Per-turn trace snapshot from a participant's loop (#441), keyed by participant. The live path
|
|
467
|
+
* wires the incremental in-progress flush here so the attached Observer's timeline grows mid-run. */
|
|
468
|
+
onTrace?: (participantId: string, items: readonly ActorTraceItem[], usage?: ActorTokenUsage, metadata?: CuaLiveMetadata) => void;
|
|
469
|
+
}
|
|
470
|
+
/** One lane's end-to-end run outcome (internal; projected into CuaParticipantResult + the bundle). */
|
|
471
|
+
export interface ParticipantRunOutcome {
|
|
472
|
+
spec: DesktopParticipantRun;
|
|
473
|
+
session?: CuaLoopResult;
|
|
474
|
+
/** The harness failed before the session reached a terminal status. */
|
|
475
|
+
sessionError?: string;
|
|
476
|
+
/** The model provider's cleanup is unconfirmed after the session. An execution failure only:
|
|
477
|
+
* it does not change how the participant's session ended. */
|
|
478
|
+
providerCleanupError?: string;
|
|
479
|
+
sandboxId?: string;
|
|
480
|
+
/** Host-side E2B desktop create->teardown span (ms). An APPROXIMATION of E2B's server-side
|
|
481
|
+
* billed lifetime (server-side kill-on-timeout can extend it) — so the derived dollar figure is
|
|
482
|
+
* doubly an estimate. Absent on the in-process route (no sandbox) and on dry-run. */
|
|
483
|
+
desktopDurationMs?: number;
|
|
484
|
+
desktopResources?: DesktopResourceObservation;
|
|
485
|
+
killed: boolean;
|
|
486
|
+
streamUrlPresent: boolean;
|
|
487
|
+
screenshots: string[];
|
|
488
|
+
subjectCommit?: string;
|
|
489
|
+
desktopBrowser?: DesktopBrowserEvidence;
|
|
490
|
+
/** Requested + measured desktop/browser geometry. Viewport is absent when measurement failed. */
|
|
491
|
+
desktopGeometry?: RunDesktopGeometry;
|
|
492
|
+
recording?: RunDesktopRecording;
|
|
493
|
+
stateStepRecords: RunSubjectStateStepRecord[];
|
|
494
|
+
/** Completed subject-phase records (clone/upload/extract/install/build/ready/state groups),
|
|
495
|
+
* folded into bundle.events at build time. Empty on the in-process route (no provisioning). */
|
|
496
|
+
phaseRecords: SubjectPhaseEvent[];
|
|
497
|
+
warnings: string[];
|
|
498
|
+
/** Set when the lane was skipped by the pipeline gate / fail-fast (a pinned reason). */
|
|
499
|
+
skippedReason?: string;
|
|
500
|
+
noEngagement: boolean;
|
|
501
|
+
selfReportedBlocker: boolean;
|
|
502
|
+
/** The inclusive friction read (#453): blocker-shaped narration incl. self-resolved arcs.
|
|
503
|
+
* Feeds the participants tally and feedback candidates; never the lane verdict. Optional so
|
|
504
|
+
* external outcome constructors (shared-world, test fakes) stay valid; absent counts as false. */
|
|
505
|
+
reportedFriction?: boolean;
|
|
506
|
+
harnessError: boolean;
|
|
507
|
+
failureCode?: CuaActorLabErrorCode;
|
|
508
|
+
/** Relative run-dir path of the digest-only comms-thread evidence artifact this lane wrote
|
|
509
|
+
* (humanish.comms-thread.v1), when a comms lab captured mail into its in-sandbox catch. Registered
|
|
510
|
+
* in the lane's stream artifacts. Absent when no comms lab ran or nothing was captured. */
|
|
511
|
+
commsArtifactPath?: string;
|
|
512
|
+
}
|
|
513
|
+
/** What buildCuaFanoutBundle projects into a fan-out run bundle. */
|
|
514
|
+
export interface CuaFanoutBundleArgs {
|
|
515
|
+
/** The run's verdict, from the judge. */
|
|
516
|
+
verdict: Verdict;
|
|
517
|
+
/** Lab provenance for the bundle's own `lab` field (#455). */
|
|
518
|
+
lab?: RunLabProvenance;
|
|
519
|
+
specs: DesktopParticipantRun[];
|
|
520
|
+
outcomes?: ParticipantRunOutcome[];
|
|
521
|
+
subjects: CuaSubjectProjection[];
|
|
522
|
+
aggregateSubject: CuaSubjectProjection;
|
|
523
|
+
descriptor: CuaActorDescriptor;
|
|
524
|
+
appUrl: string;
|
|
525
|
+
createdAt: string;
|
|
526
|
+
dryRun: boolean;
|
|
527
|
+
plan: ComputerUsePlan;
|
|
528
|
+
runId: string;
|
|
529
|
+
source: RunBundle["source"];
|
|
530
|
+
participantPlan: CuaParticipantPlan;
|
|
531
|
+
rerun?: RunRerunLineage;
|
|
532
|
+
failFastReason?: string;
|
|
533
|
+
cloneRoute: boolean;
|
|
534
|
+
localTreeRoute?: boolean;
|
|
535
|
+
publicRepo?: string;
|
|
536
|
+
subjectEnvNames: string[];
|
|
537
|
+
inProgress?: boolean;
|
|
538
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {} from "./participant-desktop.js";
|
|
2
|
+
import {} from "../../analysis/automatic-completion.js";
|
|
3
|
+
import {} from "./diagnostics.js";
|
|
4
|
+
import {} from "../../actors/registry.js";
|
|
5
|
+
import {} from "../../lab/adapter-extension.js";
|
|
6
|
+
import {} from "../../substrates/e2b/sdk.js";
|
|
7
|
+
import {} from "../../substrates/e2b/desktop-resources.js";
|
|
8
|
+
import {} from "../../substrates/detached.js";
|
|
9
|
+
import {} from "../../lab/types.js";
|
|
10
|
+
import { renderObserver } from "../../observer/render.js";
|
|
11
|
+
import {} from "../../run/status.js";
|
|
12
|
+
import {} from "../../run/bundle.js";
|
|
13
|
+
import {} from "../../run/streams.js";
|
|
14
|
+
import {} from "../../run/contained-output.js";
|
|
15
|
+
import {} from "../../subject/local-tree-archive.js";
|
|
16
|
+
export const CUA_ACTOR_LAB_SCHEMA = "humanish.cua-lab-result.v2";
|
|
17
|
+
// The only fan-out topology this slice ships: N lanes = N independent E2B desktop sandboxes,
|
|
18
|
+
// each its own world (clone/serve + subject.state per lane). Shared-world is layer 7 (#164).
|
|
19
|
+
export const CUA_FANOUT_STRATEGY = "per-lane-worlds";
|
|
20
|
+
// Env override that may only LOWER the effective concurrency (never raise concurrent paid
|
|
21
|
+
// desktops — invariant 3). Read names-only into a local; the value never persists.
|
|
22
|
+
export const CUA_MAX_CONCURRENCY_ENV = "HUMANISH_CUA_MAX_CONCURRENCY";
|
|
23
|
+
// The DEFAULT session budget, sized so a study can FINISH (docs/principles/three-roles.md: a
|
|
24
|
+
// session ends because the participant is done, not because a timer fired — the time-box is a
|
|
25
|
+
// session-level cap a researcher sets generously; spend protection is the dollar caps' job).
|
|
26
|
+
// The old 300s default ended real signup studies mid-flow: observed studies run 16-40 turns at
|
|
27
|
+
// ~5-6s per turn BEFORE any email wait, so five minutes was the biggest single source of
|
|
28
|
+
// budget_reached endings that read as participant failures.
|
|
29
|
+
//
|
|
30
|
+
// App-url and in-process routes default to 30 minutes. Provisioned routes (clone/local-tree)
|
|
31
|
+
// default to whatever the 1-hour sandbox cap leaves after provisioning, declared state seeding,
|
|
32
|
+
// and the teardown buffer — 20 minutes on a stateless clone — floored at the old five minutes so
|
|
33
|
+
// a state-heavy lab still gets a session at all. An EXPLICIT execution.timeoutMs is never
|
|
34
|
+
// adjusted: when it cannot be provisioned, the plan-time cap refusal shows the arithmetic.
|
|
35
|
+
export const DEFAULT_APP_URL_SESSION_TIMEOUT_MS = 30 * 60_000;
|
|
36
|
+
export const MIN_DERIVED_SESSION_TIMEOUT_MS = 5 * 60_000;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AdmittedPlan, RunLabOptions } from "../run-lab.js";
|
|
2
|
+
import type { LabPlan, PlanRefusal } from "../lab/plan-types.js";
|
|
3
|
+
import type { RunResult } from "../run/results.js";
|
|
4
|
+
type PreviewPlan = Extract<LabPlan, {
|
|
5
|
+
readonly route: "preview";
|
|
6
|
+
}>;
|
|
7
|
+
/** A refused preview's result. */
|
|
8
|
+
export declare function previewLabRefusal(cwd: string, refusal: Extract<PlanRefusal, {
|
|
9
|
+
readonly route: "preview";
|
|
10
|
+
}>): RunResult;
|
|
11
|
+
/** runLab's step for a preview plan: it has no local checks and takes no scorer, so it returns its run. */
|
|
12
|
+
export declare function admitPreviewPlan(plan: PreviewPlan, input: Pick<RunLabOptions, "cwd" | "runId" | "open">): AdmittedPlan<"preview">;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// The preview route: a lab whose subject is this repo runs the synthetic dry run. planLab decides
|
|
2
|
+
// the sim count and refuses what a synthetic run would ignore; runPreviewPlan does the rest.
|
|
3
|
+
import { runDryRun } from "../run/dry-run.js";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
/** A refused preview's result. */
|
|
6
|
+
export function previewLabRefusal(cwd, refusal) {
|
|
7
|
+
return {
|
|
8
|
+
schema: "humanish.run-result.v1",
|
|
9
|
+
ok: false,
|
|
10
|
+
cwd: path.resolve(cwd),
|
|
11
|
+
warnings: [],
|
|
12
|
+
error: { code: refusal.code, message: refusal.message },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** runLab's step for a preview plan: it has no local checks and takes no scorer, so it returns its run. */
|
|
16
|
+
export function admitPreviewPlan(plan, input) {
|
|
17
|
+
return {
|
|
18
|
+
ok: true,
|
|
19
|
+
run: async () => ({
|
|
20
|
+
route: "preview",
|
|
21
|
+
backend: "synthetic",
|
|
22
|
+
result: await runPreviewPlan(plan, input),
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/** Run a preview plan: the synthetic dry run with the planned sim count. */
|
|
27
|
+
function runPreviewPlan(plan, input) {
|
|
28
|
+
return runDryRun({
|
|
29
|
+
...(plan.lab === undefined ? {} : { lab: plan.lab }),
|
|
30
|
+
cwd: input.cwd,
|
|
31
|
+
dryRun: true,
|
|
32
|
+
simCount: plan.participantCount,
|
|
33
|
+
...(input.runId === undefined ? {} : { runId: input.runId }),
|
|
34
|
+
...(input.open === undefined ? {} : { observer: { open: input.open } }),
|
|
35
|
+
});
|
|
36
|
+
}
|