humanish 0.104.3 → 0.106.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +89 -94
- package/ARCHITECTURE.md +146 -0
- package/CHANGELOG.md +502 -0
- package/CONTEXT.md +51 -0
- package/CONTRIBUTING.md +111 -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 +201 -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 +5 -0
- package/dist/lab/composition-rules.js +283 -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 +24 -0
- package/dist/lab/plan-base.js +113 -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 +269 -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 +222 -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 +308 -0
- package/dist/routes/computer-use/preflight.d.ts +26 -0
- package/dist/routes/computer-use/preflight.js +85 -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 +136 -0
- package/dist/routes/computer-use/setup.js +371 -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 +539 -0
- package/dist/routes/computer-use/types.js +37 -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 +156 -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 +505 -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 +69 -0
- package/dist/routes/terminal/live-sandbox.js +452 -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 +35 -0
- package/dist/routes/terminal/sandbox.js +126 -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 +183 -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 +41 -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 +102 -0
- package/dist/substrates/e2b/sandbox.js +202 -0
- package/dist/substrates/e2b/sdk.d.ts +194 -0
- package/dist/substrates/e2b/sdk.js +168 -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 +211 -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 +594 -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 -46
- package/docs/principles/actor-fidelity.md +51 -63
- 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 -213
- 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 +112 -83
- package/skills/humanish/agents/openai.yaml +2 -2
- package/dist/actor-contract.d.ts +0 -288
- 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 -1749
- 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 -2179
- 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 -3545
- 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 -395
- package/dist/e2b-terminal-lab.js +0 -2041
- 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 -542
- 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 -59
- package/dist/labs.js +0 -385
- 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 -109
- package/dist/persona-resolve.js.map +0 -1
- package/dist/persona.d.ts +0 -35
- package/dist/persona.js +0 -141
- 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 -4029
- 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 -5947
- 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 -1422
- 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.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,39 @@
|
|
|
1
|
+
import type { LabSubjectServe, LabSubjectState } from "../lab/types.js";
|
|
2
|
+
import type { RunSubjectStateStepRecord } from "../run/bundle.js";
|
|
3
|
+
import { type DetachedTimers } from "../substrates/detached.js";
|
|
4
|
+
import type { Shell } from "../substrates/shell.js";
|
|
5
|
+
import { type SubjectPhaseEvent } from "./steps.js";
|
|
6
|
+
/**
|
|
7
|
+
* The longest runSubjectServePipeline can take with these budgets: the Node bootstrap and install
|
|
8
|
+
* with their one retry, the package-manager step, every seed step, the build and the readiness
|
|
9
|
+
* wait. Detached-step polling adds seconds on top.
|
|
10
|
+
*/
|
|
11
|
+
export declare function serveProvisioningBudgetMs(serve: LabSubjectServe, state: LabSubjectState | undefined): number;
|
|
12
|
+
/**
|
|
13
|
+
* The provisioning pipeline the clone and local-tree routes share once SUBJECT_DIR is populated
|
|
14
|
+
* (by git clone, or by upload and extract): install, state before-build, build, state
|
|
15
|
+
* before-start, detached start, readiness probe, state after-ready.
|
|
16
|
+
*
|
|
17
|
+
* State steps run through the same detached primitive as serve steps (both are author-trusted)
|
|
18
|
+
* under the reserved `subject-state-<name>` label prefix, so a step name can never collide with
|
|
19
|
+
* subject-clone, subject-extract, install, build or start. after-ready steps complete before the
|
|
20
|
+
* caller opens the browser: the participant never drives a half-seeded subject, and seeding never
|
|
21
|
+
* eats the session budget.
|
|
22
|
+
*/
|
|
23
|
+
export declare function runSubjectServePipeline(shell: Shell, args: {
|
|
24
|
+
serve: LabSubjectServe;
|
|
25
|
+
/** Declared subject state (seed steps; external declaration is provenance-only). */
|
|
26
|
+
state?: LabSubjectState;
|
|
27
|
+
requestTimeoutMs: number;
|
|
28
|
+
/** Literal scrubber for known provisioned values, applied to log tails PRE-truncation. */
|
|
29
|
+
scrub: (text: string) => string;
|
|
30
|
+
/** Called the moment each state step finishes, success or failure. */
|
|
31
|
+
onStateStep?: (record: RunSubjectStateStepRecord) => void;
|
|
32
|
+
/** Called at each phase boundary (started/completed): install, build, serve start, ready,
|
|
33
|
+
* and each subject.state seed-step group (one pair per group, never per step). */
|
|
34
|
+
onPhase?: (event: SubjectPhaseEvent) => void;
|
|
35
|
+
/** Called after every phase completes. The clone route re-resolves HEAD here; the
|
|
36
|
+
* local-tree route omits this entirely (identity is the host-side archive digest, never
|
|
37
|
+
* an in-sandbox git refresh, because the archive excludes .git). */
|
|
38
|
+
onPhaseComplete?: () => Promise<void>;
|
|
39
|
+
} & DetachedTimers): Promise<void>;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
// The serve pipeline the clone and local-tree subjects share once their source is in place.
|
|
2
|
+
import { failureTail } from "../evidence/redaction.js";
|
|
3
|
+
import { NODE_BOOTSTRAP_COMMAND, NODE_BOOTSTRAP_TIMEOUT_MS } from "./node-bootstrap.js";
|
|
4
|
+
import { corepackCommandFor, needsNodeRuntime } from "./runtime.js";
|
|
5
|
+
import { detachedTimersOf, probeUrl, readDetachedLog, runDetachedStep, startDetachedProcess, } from "../substrates/detached.js";
|
|
6
|
+
import { DEFAULT_STATE_STEP_TIMEOUT_MS, runStateSteps } from "./state.js";
|
|
7
|
+
import { emitPhaseCompleted, emitPhaseStarted, INSTALL_TIMEOUT_MS, isoNow, SUBJECT_DIR, } from "./steps.js";
|
|
8
|
+
const BUILD_TIMEOUT_MS = 10 * 60_000;
|
|
9
|
+
const DEFAULT_READY_TIMEOUT_MS = 180_000;
|
|
10
|
+
/**
|
|
11
|
+
* Run a provisioning step and, when it fails with an exit code, run it once more (#602): a
|
|
12
|
+
* transient network error inside `npm install` is the common case. A timeout is not retried: its
|
|
13
|
+
* budget is already spent, and a second wait would double it. The retry runs under its own step
|
|
14
|
+
* name so both logs stay.
|
|
15
|
+
*/
|
|
16
|
+
async function runProvisioningStepWithOneRetry(shell, args) {
|
|
17
|
+
const first = await runDetachedStep(shell, {
|
|
18
|
+
name: args.name,
|
|
19
|
+
command: args.command,
|
|
20
|
+
cwd: args.cwd,
|
|
21
|
+
timeoutMs: args.timeoutMs,
|
|
22
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
23
|
+
...args.timers,
|
|
24
|
+
});
|
|
25
|
+
if (first.ok || first.timedOut)
|
|
26
|
+
return { ...first, attempts: 1 };
|
|
27
|
+
const retryStartedAt = args.now();
|
|
28
|
+
emitPhaseStarted(args.onPhase, args.now, args.retryPhase, `${args.retryMessage} (first attempt exited ${first.exitCode ?? "null"}; retrying once)`);
|
|
29
|
+
const second = await runDetachedStep(shell, {
|
|
30
|
+
name: `${args.name}-retry`,
|
|
31
|
+
command: args.command,
|
|
32
|
+
cwd: args.cwd,
|
|
33
|
+
timeoutMs: args.timeoutMs,
|
|
34
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
35
|
+
...args.timers,
|
|
36
|
+
});
|
|
37
|
+
emitPhaseCompleted(args.onPhase, args.now, retryStartedAt, args.retryPhase, second.ok, second.ok
|
|
38
|
+
? `${args.retryMessage}: succeeded on the second attempt`
|
|
39
|
+
: `${args.retryMessage}: failed twice`);
|
|
40
|
+
return {
|
|
41
|
+
...second,
|
|
42
|
+
attempts: 2,
|
|
43
|
+
...(first.exitCode === undefined ? {} : { firstExitCode: first.exitCode }),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The longest runSubjectServePipeline can take with these budgets: the Node bootstrap and install
|
|
48
|
+
* with their one retry, the package-manager step, every seed step, the build and the readiness
|
|
49
|
+
* wait. Detached-step polling adds seconds on top.
|
|
50
|
+
*/
|
|
51
|
+
export function serveProvisioningBudgetMs(serve, state) {
|
|
52
|
+
const installMs = serve.installTimeoutMs ?? INSTALL_TIMEOUT_MS;
|
|
53
|
+
const commands = [serve.install, serve.build, serve.start];
|
|
54
|
+
const runtimeMs = needsNodeRuntime(commands)
|
|
55
|
+
? 2 * NODE_BOOTSTRAP_TIMEOUT_MS + (corepackCommandFor(commands) === undefined ? 0 : installMs)
|
|
56
|
+
: 0;
|
|
57
|
+
const seedMs = (state?.seed ?? []).reduce((sum, step) => sum + (step.timeoutMs ?? DEFAULT_STATE_STEP_TIMEOUT_MS), 0);
|
|
58
|
+
return (runtimeMs +
|
|
59
|
+
(serve.install === undefined ? 0 : 2 * installMs) +
|
|
60
|
+
seedMs +
|
|
61
|
+
(serve.build === undefined ? 0 : (serve.buildTimeoutMs ?? BUILD_TIMEOUT_MS)) +
|
|
62
|
+
(serve.readyTimeoutMs ?? DEFAULT_READY_TIMEOUT_MS));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The provisioning pipeline the clone and local-tree routes share once SUBJECT_DIR is populated
|
|
66
|
+
* (by git clone, or by upload and extract): install, state before-build, build, state
|
|
67
|
+
* before-start, detached start, readiness probe, state after-ready.
|
|
68
|
+
*
|
|
69
|
+
* State steps run through the same detached primitive as serve steps (both are author-trusted)
|
|
70
|
+
* under the reserved `subject-state-<name>` label prefix, so a step name can never collide with
|
|
71
|
+
* subject-clone, subject-extract, install, build or start. after-ready steps complete before the
|
|
72
|
+
* caller opens the browser: the participant never drives a half-seeded subject, and seeding never
|
|
73
|
+
* eats the session budget.
|
|
74
|
+
*/
|
|
75
|
+
export async function runSubjectServePipeline(shell, args) {
|
|
76
|
+
const timers = detachedTimersOf(args);
|
|
77
|
+
const now = args.now ?? Date.now;
|
|
78
|
+
const refresh = args.onPhaseComplete ?? (() => Promise.resolve());
|
|
79
|
+
const runState = (when) => runStateSteps(shell, when, {
|
|
80
|
+
...(args.state === undefined ? {} : { state: args.state }),
|
|
81
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
82
|
+
scrub: args.scrub,
|
|
83
|
+
...(args.onStateStep === undefined ? {} : { onStateStep: args.onStateStep }),
|
|
84
|
+
...(args.onPhase === undefined ? {} : { onPhase: args.onPhase }),
|
|
85
|
+
now,
|
|
86
|
+
timers,
|
|
87
|
+
});
|
|
88
|
+
const step = {
|
|
89
|
+
shell,
|
|
90
|
+
serve: args.serve,
|
|
91
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
92
|
+
scrub: args.scrub,
|
|
93
|
+
onPhase: args.onPhase,
|
|
94
|
+
timers,
|
|
95
|
+
now,
|
|
96
|
+
};
|
|
97
|
+
await provideNodeRuntime(step);
|
|
98
|
+
if (args.serve.install) {
|
|
99
|
+
await installSubject(step, args.serve.install);
|
|
100
|
+
await refresh();
|
|
101
|
+
}
|
|
102
|
+
// before-build: after install, before build (builds that read seeded state, e.g. SSG).
|
|
103
|
+
// When no build is declared this simply precedes start: equivalent to before-start.
|
|
104
|
+
await runState("before-build");
|
|
105
|
+
await refresh();
|
|
106
|
+
if (args.serve.build) {
|
|
107
|
+
await buildSubject(step, args.serve.build);
|
|
108
|
+
await refresh();
|
|
109
|
+
}
|
|
110
|
+
// before-start (the default phase): migrations, SQL/file fixtures, an in-sandbox DB server
|
|
111
|
+
// (`sudo service postgresql start && pg_isready` is a bounded step; the daemon it forks is
|
|
112
|
+
// reclaimed by the sandbox lifecycle like everything else).
|
|
113
|
+
await runState("before-start");
|
|
114
|
+
await refresh();
|
|
115
|
+
await startSubject(step);
|
|
116
|
+
await waitForSubjectReady(step);
|
|
117
|
+
// after-ready: fixture loading through the RUNNING app (loopback curl from in-sandbox:
|
|
118
|
+
// steps are author-trusted provisioning, not actors, so no new URL policy surface). These
|
|
119
|
+
// complete before the caller opens the browser and the session timer starts.
|
|
120
|
+
await runState("after-ready");
|
|
121
|
+
await refresh();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Provide the runtime the pipeline needs before running it (#371). The stock desktop template
|
|
125
|
+
* ships python3 and curl but no Node. Probe first, so a template that ships its own Node pays
|
|
126
|
+
* nothing.
|
|
127
|
+
*/
|
|
128
|
+
async function provideNodeRuntime(step) {
|
|
129
|
+
const { shell, now } = step;
|
|
130
|
+
const serveCommands = [step.serve.install, step.serve.build, step.serve.start];
|
|
131
|
+
if (!needsNodeRuntime(serveCommands))
|
|
132
|
+
return;
|
|
133
|
+
const runtimeStartedAt = now();
|
|
134
|
+
emitPhaseStarted(step.onPhase, now, "runtime", "providing the Node runtime the serve pipeline needs");
|
|
135
|
+
const bootstrap = await runProvisioningStepWithOneRetry(shell, {
|
|
136
|
+
name: "subject-runtime-node",
|
|
137
|
+
command: NODE_BOOTSTRAP_COMMAND,
|
|
138
|
+
cwd: SUBJECT_DIR,
|
|
139
|
+
timeoutMs: NODE_BOOTSTRAP_TIMEOUT_MS,
|
|
140
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
141
|
+
timers: step.timers,
|
|
142
|
+
retryPhase: "runtime-retry",
|
|
143
|
+
retryMessage: "Node runtime bootstrap",
|
|
144
|
+
onPhase: step.onPhase,
|
|
145
|
+
now,
|
|
146
|
+
});
|
|
147
|
+
let ok = bootstrap.ok;
|
|
148
|
+
const corepack = ok ? corepackCommandFor(serveCommands) : undefined;
|
|
149
|
+
if (corepack) {
|
|
150
|
+
const pm = await runDetachedStep(shell, {
|
|
151
|
+
name: "subject-runtime-pm",
|
|
152
|
+
command: corepack,
|
|
153
|
+
cwd: SUBJECT_DIR,
|
|
154
|
+
timeoutMs: step.serve.installTimeoutMs ?? INSTALL_TIMEOUT_MS,
|
|
155
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
156
|
+
...step.timers,
|
|
157
|
+
});
|
|
158
|
+
ok = pm.ok;
|
|
159
|
+
}
|
|
160
|
+
emitPhaseCompleted(step.onPhase, now, runtimeStartedAt, "runtime", ok, ok ? "Node runtime ready" : "could not provide a Node runtime");
|
|
161
|
+
if (!ok) {
|
|
162
|
+
throw new Error(`the subject's serve pipeline needs a Node runtime and this desktop template has none, and bootstrapping one failed${bootstrap.attempts === 2 ? " twice" : ""}: ${failureTail(step.scrub(bootstrap.logTail))}. Use execution.desktop.template with an image that ships Node, or change serve.install to a runtime the template provides.`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/** serve.install, retried once on a non-zero exit. */
|
|
166
|
+
async function installSubject(step, command) {
|
|
167
|
+
const { now } = step;
|
|
168
|
+
const installStartedAt = now();
|
|
169
|
+
emitPhaseStarted(step.onPhase, now, "install", "installing subject dependencies");
|
|
170
|
+
const install = await runProvisioningStepWithOneRetry(step.shell, {
|
|
171
|
+
name: "subject-install",
|
|
172
|
+
command,
|
|
173
|
+
cwd: SUBJECT_DIR,
|
|
174
|
+
timeoutMs: step.serve.installTimeoutMs ?? INSTALL_TIMEOUT_MS,
|
|
175
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
176
|
+
timers: step.timers,
|
|
177
|
+
retryPhase: "install-retry",
|
|
178
|
+
retryMessage: "subject install",
|
|
179
|
+
onPhase: step.onPhase,
|
|
180
|
+
now,
|
|
181
|
+
});
|
|
182
|
+
emitPhaseCompleted(step.onPhase, now, installStartedAt, "install", install.ok, install.ok
|
|
183
|
+
? install.attempts === 2
|
|
184
|
+
? "subject dependencies installed (on the second attempt)"
|
|
185
|
+
: "subject dependencies installed"
|
|
186
|
+
: install.attempts === 2
|
|
187
|
+
? "subject install failed twice"
|
|
188
|
+
: "subject install failed");
|
|
189
|
+
if (!install.ok) {
|
|
190
|
+
// Lead with the line a person can act on; npm's own trace follows it (#602).
|
|
191
|
+
const headline = install.timedOut
|
|
192
|
+
? `subject install timed out after ${step.serve.installTimeoutMs ?? INSTALL_TIMEOUT_MS}ms`
|
|
193
|
+
: install.attempts === 2
|
|
194
|
+
? `subject install failed twice (exit ${install.firstExitCode ?? "null"}, then exit ${install.exitCode ?? "null"}); the sandbox could not complete serve.install`
|
|
195
|
+
: `subject install failed (exit ${install.exitCode ?? "null"})`;
|
|
196
|
+
throw new Error(`${headline}: ${failureTail(step.scrub(install.logTail))}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/** serve.build, once. */
|
|
200
|
+
async function buildSubject(step, command) {
|
|
201
|
+
const { now } = step;
|
|
202
|
+
const buildStartedAt = now();
|
|
203
|
+
emitPhaseStarted(step.onPhase, now, "build", "building subject");
|
|
204
|
+
const build = await runDetachedStep(step.shell, {
|
|
205
|
+
name: "subject-build",
|
|
206
|
+
command,
|
|
207
|
+
cwd: SUBJECT_DIR,
|
|
208
|
+
timeoutMs: step.serve.buildTimeoutMs ?? BUILD_TIMEOUT_MS,
|
|
209
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
210
|
+
...step.timers,
|
|
211
|
+
});
|
|
212
|
+
emitPhaseCompleted(step.onPhase, now, buildStartedAt, "build", build.ok, build.ok ? "subject build complete" : "subject build failed");
|
|
213
|
+
if (!build.ok) {
|
|
214
|
+
throw new Error(`subject build ${build.timedOut ? "timed out" : `failed (exit ${build.exitCode})`}: ${failureTail(step.scrub(build.logTail))}`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/** serve.start as a detached process that keeps running. */
|
|
218
|
+
async function startSubject(step) {
|
|
219
|
+
await startDetachedProcess(step.shell, {
|
|
220
|
+
name: "subject-start",
|
|
221
|
+
command: step.serve.start,
|
|
222
|
+
cwd: SUBJECT_DIR,
|
|
223
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
224
|
+
});
|
|
225
|
+
// Fire-and-forget: startDetachedProcess never waits for the long-lived server to exit, so
|
|
226
|
+
// there is no matching completed event here (no ok/durationMs to report yet); readiness is
|
|
227
|
+
// the next boundary.
|
|
228
|
+
step.onPhase?.({
|
|
229
|
+
at: isoNow(step.now),
|
|
230
|
+
type: "cua-lab.subject.serve.started",
|
|
231
|
+
message: "subject server launched (detached)",
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
/** Probe serve.url until it answers; on timeout, report the start log's tail. */
|
|
235
|
+
async function waitForSubjectReady(step) {
|
|
236
|
+
const { now } = step;
|
|
237
|
+
const readyStartedAt = now();
|
|
238
|
+
emitPhaseStarted(step.onPhase, now, "ready", "waiting for subject to become ready");
|
|
239
|
+
const ready = await probeUrl(step.shell, step.serve.url, {
|
|
240
|
+
timeoutMs: step.serve.readyTimeoutMs ?? DEFAULT_READY_TIMEOUT_MS,
|
|
241
|
+
requestTimeoutMs: step.requestTimeoutMs,
|
|
242
|
+
...step.timers,
|
|
243
|
+
});
|
|
244
|
+
emitPhaseCompleted(step.onPhase, now, readyStartedAt, "ready", ready, ready ? "subject is ready" : "subject did not become ready in time");
|
|
245
|
+
if (!ready) {
|
|
246
|
+
const startLog = await readDetachedLog(step.shell, "subject-start", step.requestTimeoutMs).catch(() => "");
|
|
247
|
+
throw new Error(`subject did not answer at ${step.serve.url} within ${step.serve.readyTimeoutMs ?? DEFAULT_READY_TIMEOUT_MS}ms; server log tail: ${failureTail(step.scrub(startLog))}`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { LabStateStepWhen, LabSubjectState } from "../lab/types.js";
|
|
2
|
+
import type { RunSubjectStateStepRecord } from "../run/bundle.js";
|
|
3
|
+
import { type DetachedTimers } from "../substrates/detached.js";
|
|
4
|
+
import type { Shell } from "../substrates/shell.js";
|
|
5
|
+
import { type SubjectPhaseEvent } from "./steps.js";
|
|
6
|
+
export declare const DEFAULT_STATE_STEP_TIMEOUT_MS: number;
|
|
7
|
+
/** sha256 hex of the exact command string, first 16 chars (the promptDigest convention). */
|
|
8
|
+
export declare function commandDigestOf(command: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Run the declared seed steps for one phase of the serve pipeline, as detached steps named
|
|
11
|
+
* `subject-state-<name>` so a step can never collide with a serve step. Each step's record goes
|
|
12
|
+
* to `onStateStep` as it finishes; the first failure throws with its scrubbed log tail.
|
|
13
|
+
*/
|
|
14
|
+
export declare function runStateSteps(shell: Shell, when: LabStateStepWhen, args: {
|
|
15
|
+
state?: LabSubjectState;
|
|
16
|
+
requestTimeoutMs: number;
|
|
17
|
+
/** Literal scrubber for known provisioned values, applied to log tails PRE-truncation. */
|
|
18
|
+
scrub: (text: string) => string;
|
|
19
|
+
onStateStep?: (record: RunSubjectStateStepRecord) => void;
|
|
20
|
+
onPhase?: (event: SubjectPhaseEvent) => void;
|
|
21
|
+
now: () => number;
|
|
22
|
+
timers: DetachedTimers;
|
|
23
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { digestText } from "../evidence/redaction.js";
|
|
2
|
+
import { failureTail } from "../evidence/redaction.js";
|
|
3
|
+
import { runDetachedStep } from "../substrates/detached.js";
|
|
4
|
+
import { emitPhaseCompleted, emitPhaseStarted, SUBJECT_DIR, } from "./steps.js";
|
|
5
|
+
// Per-step budget for subject.state seed steps; each step's declared (or default) budget is
|
|
6
|
+
// also summed into the default sandbox deadline so seeding never eats the session's room.
|
|
7
|
+
export const DEFAULT_STATE_STEP_TIMEOUT_MS = 5 * 60_000;
|
|
8
|
+
/** sha256 hex of the exact command string, first 16 chars (the promptDigest convention). */
|
|
9
|
+
export function commandDigestOf(command) {
|
|
10
|
+
return digestText(command, 16);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Run the declared seed steps for one phase of the serve pipeline, as detached steps named
|
|
14
|
+
* `subject-state-<name>` so a step can never collide with a serve step. Each step's record goes
|
|
15
|
+
* to `onStateStep` as it finishes; the first failure throws with its scrubbed log tail.
|
|
16
|
+
*/
|
|
17
|
+
export async function runStateSteps(shell, when, args) {
|
|
18
|
+
const { now, timers } = args;
|
|
19
|
+
const stateSteps = args.state?.seed ?? [];
|
|
20
|
+
const steps = stateSteps.filter((step) => (step.when ?? "before-start") === when);
|
|
21
|
+
if (steps.length === 0) {
|
|
22
|
+
// No declared steps for this group: no boundary to report (avoids empty-group noise on
|
|
23
|
+
// every run, since before-build/before-start/after-ready are always called).
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const groupStartedAt = now();
|
|
27
|
+
emitPhaseStarted(args.onPhase, now, `state.${when}`, `running subject state seed steps (${when})`);
|
|
28
|
+
for (const step of steps) {
|
|
29
|
+
const stepTimeoutMs = step.timeoutMs ?? DEFAULT_STATE_STEP_TIMEOUT_MS;
|
|
30
|
+
const startedAt = now();
|
|
31
|
+
const result = await runDetachedStep(shell, {
|
|
32
|
+
name: `subject-state-${step.name}`,
|
|
33
|
+
command: step.command,
|
|
34
|
+
cwd: SUBJECT_DIR,
|
|
35
|
+
timeoutMs: stepTimeoutMs,
|
|
36
|
+
requestTimeoutMs: args.requestTimeoutMs,
|
|
37
|
+
...timers,
|
|
38
|
+
});
|
|
39
|
+
args.onStateStep?.({
|
|
40
|
+
name: step.name,
|
|
41
|
+
when,
|
|
42
|
+
// Digest only (sha256-16): the command text never persists: the lab YAML in the
|
|
43
|
+
// consumer's repo is the plaintext source of truth.
|
|
44
|
+
commandDigest: commandDigestOf(step.command),
|
|
45
|
+
ok: result.ok,
|
|
46
|
+
...(result.exitCode === undefined ? {} : { exitCode: result.exitCode }),
|
|
47
|
+
...(result.timedOut ? { timedOut: true } : {}),
|
|
48
|
+
durationMs: Math.max(0, now() - startedAt),
|
|
49
|
+
});
|
|
50
|
+
if (!result.ok) {
|
|
51
|
+
emitPhaseCompleted(args.onPhase, now, groupStartedAt, `state.${when}`, false, `subject state seed steps failed (${when})`);
|
|
52
|
+
// Fail closed with the scrub-before-truncate tail chain: literal scrub of every provisioned
|
|
53
|
+
// value before truncation, then pattern redaction and the cap in failureTail.
|
|
54
|
+
throw new Error(`subject state step "${step.name}" ${result.timedOut ? `timed out after ${stepTimeoutMs}ms` : `failed (exit ${result.exitCode})`}: ${failureTail(args.scrub(result.logTail))}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
emitPhaseCompleted(args.onPhase, now, groupStartedAt, `state.${when}`, true, `subject state seed steps complete (${when})`);
|
|
58
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const SUBJECT_DIR = "/home/user/subject";
|
|
2
|
+
/** Budget for putting the subject's source on the machine: a clone, or an archive extract. */
|
|
3
|
+
export declare const SOURCE_TIMEOUT_MS: number;
|
|
4
|
+
export declare const INSTALL_TIMEOUT_MS: number;
|
|
5
|
+
/**
|
|
6
|
+
* One phase-boundary event from the shared subject provisioning pipeline (clone or local-tree
|
|
7
|
+
* route): started/completed pairs at each named boundary, never per poll tick (the detached
|
|
8
|
+
* primitive in src/substrates/detached.ts already polls every 1.5-3s internally; only the
|
|
9
|
+
* boundary itself is surfaced here). Message text is public-safe by construction: no URLs beyond
|
|
10
|
+
* the existing publicAppUrl convention, no paths, no command text. Completed events carry `ok`
|
|
11
|
+
* and `durationMs`; started events (and the fire-and-forget `subject.serve.started`) carry
|
|
12
|
+
* neither.
|
|
13
|
+
*/
|
|
14
|
+
export interface SubjectPhaseEvent {
|
|
15
|
+
at: string;
|
|
16
|
+
type: string;
|
|
17
|
+
ok?: boolean;
|
|
18
|
+
durationMs?: number;
|
|
19
|
+
message: string;
|
|
20
|
+
}
|
|
21
|
+
/** ISO timestamp from an injectable clock (tests freeze `now` for deterministic durationMs). */
|
|
22
|
+
export declare function isoNow(now: () => number): string;
|
|
23
|
+
/** Emit a phase-started event (no ok/durationMs: those belong to the matching completed event). */
|
|
24
|
+
export declare function emitPhaseStarted(onPhase: ((event: SubjectPhaseEvent) => void) | undefined, now: () => number, phase: string, message: string): void;
|
|
25
|
+
/** Emit the matching phase-completed event: always carries ok and durationMs (>= 0). */
|
|
26
|
+
export declare function emitPhaseCompleted(onPhase: ((event: SubjectPhaseEvent) => void) | undefined, now: () => number, startedAt: number, phase: string, ok: boolean, message: string): void;
|
|
27
|
+
/** Default phase-boundary sink (stderr): one line per event, prefixed with the lane id ONLY
|
|
28
|
+
* when laneCount > 1. Single-lane emission is unconditional: total single-lane silence for the
|
|
29
|
+
* whole clone/install/build/ready boot is the bug this event stream exists to close.
|
|
30
|
+
* Overridable via CuaActorLabHooks.onPhase so deterministic tests capture instead of writing to
|
|
31
|
+
* the real stderr. */
|
|
32
|
+
export declare function defaultSubjectPhaseSink(event: SubjectPhaseEvent, ctx: {
|
|
33
|
+
laneId: string;
|
|
34
|
+
laneCount: number;
|
|
35
|
+
}): void;
|
|
36
|
+
/** The shared-world subject's phase line: one shared plane, so no lane prefix. */
|
|
37
|
+
export declare function defaultSharedWorldPhaseSink(event: SubjectPhaseEvent): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// What every subject provisioner shares: where the subject lives on the machine, the step
|
|
2
|
+
// budgets, and the started/completed phase events each step reports.
|
|
3
|
+
export const SUBJECT_DIR = "/home/user/subject";
|
|
4
|
+
/** Budget for putting the subject's source on the machine: a clone, or an archive extract. */
|
|
5
|
+
export const SOURCE_TIMEOUT_MS = 5 * 60_000;
|
|
6
|
+
export const INSTALL_TIMEOUT_MS = 10 * 60_000;
|
|
7
|
+
/** ISO timestamp from an injectable clock (tests freeze `now` for deterministic durationMs). */
|
|
8
|
+
export function isoNow(now) {
|
|
9
|
+
return new Date(now()).toISOString();
|
|
10
|
+
}
|
|
11
|
+
/** Emit a phase-started event (no ok/durationMs: those belong to the matching completed event). */
|
|
12
|
+
export function emitPhaseStarted(onPhase, now, phase, message) {
|
|
13
|
+
onPhase?.({ at: isoNow(now), type: `cua-lab.subject.${phase}.started`, message });
|
|
14
|
+
}
|
|
15
|
+
/** Emit the matching phase-completed event: always carries ok and durationMs (>= 0). */
|
|
16
|
+
export function emitPhaseCompleted(onPhase, now, startedAt, phase, ok, message) {
|
|
17
|
+
onPhase?.({
|
|
18
|
+
at: isoNow(now),
|
|
19
|
+
type: `cua-lab.subject.${phase}.completed`,
|
|
20
|
+
ok,
|
|
21
|
+
durationMs: Math.max(0, now() - startedAt),
|
|
22
|
+
message,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/** Default phase-boundary sink (stderr): one line per event, prefixed with the lane id ONLY
|
|
26
|
+
* when laneCount > 1. Single-lane emission is unconditional: total single-lane silence for the
|
|
27
|
+
* whole clone/install/build/ready boot is the bug this event stream exists to close.
|
|
28
|
+
* Overridable via CuaActorLabHooks.onPhase so deterministic tests capture instead of writing to
|
|
29
|
+
* the real stderr. */
|
|
30
|
+
export function defaultSubjectPhaseSink(event, ctx) {
|
|
31
|
+
const durationSuffix = event.durationMs === undefined ? "" : ` (${event.durationMs}ms)`;
|
|
32
|
+
const prefix = ctx.laneCount > 1 ? `humanish cua [${ctx.laneId}]` : "humanish cua";
|
|
33
|
+
process.stderr.write(`${prefix}: ${event.message}${durationSuffix}\n`);
|
|
34
|
+
}
|
|
35
|
+
/** The shared-world subject's phase line: one shared plane, so no lane prefix. */
|
|
36
|
+
export function defaultSharedWorldPhaseSink(event) {
|
|
37
|
+
const durationSuffix = event.durationMs === undefined ? "" : ` (${event.durationMs}ms)`;
|
|
38
|
+
process.stderr.write(`humanish shared-world (concurrent): ${event.message}${durationSuffix}\n`);
|
|
39
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* True when `error` is (structurally) the @e2b/desktop CommandExitError: a
|
|
3
|
+
* non-zero substrate command exit that the real Sandbox surfaces as a THROW.
|
|
4
|
+
* Matches either the SDK class name (`name === "CommandExitError"`) or any object
|
|
5
|
+
* carrying a numeric `exitCode` (the same field `commandFailureInfo` reads, so a
|
|
6
|
+
* structural fake is covered without importing the SDK class).
|
|
7
|
+
*
|
|
8
|
+
* Deliberately conservative — it is the RECOVERABILITY predicate the CUA loop uses
|
|
9
|
+
* to skip a single failed desktop action instead of ending the whole run: it must
|
|
10
|
+
* NOT match a deadline/abort control-flow signal (those subclass Error without a
|
|
11
|
+
* name override or an exitCode) or a generic Error with no exit signal, so only a
|
|
12
|
+
* genuine substrate-command failure is treated as recoverable.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isCommandExitError(error: unknown): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Recover the exit code + a sanitized stderr/stdout tail from a command failure.
|
|
17
|
+
* The real @e2b/desktop CommandExitError exposes exitCode/stderr/stdout/error;
|
|
18
|
+
* these are read structurally so the caller does not depend on the SDK class.
|
|
19
|
+
*/
|
|
20
|
+
export declare function commandFailureInfo(error: unknown): {
|
|
21
|
+
exitCode?: number;
|
|
22
|
+
stderrTail: string;
|
|
23
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Shared handling for @e2b/desktop command failures.
|
|
2
|
+
//
|
|
3
|
+
// The SDK's `commands.run` throws a CommandExitError on any non-zero exit (e2b 2.49.0:
|
|
4
|
+
// CommandHandle.wait), so a caller that reads `result.exitCode` after a raw call never sees a
|
|
5
|
+
// failure. Desktop code runs commands through e2bShell (src/substrates/e2b/shell.ts), which turns
|
|
6
|
+
// that throw into a result. These helpers recover the exit code and a sanitized output tail from
|
|
7
|
+
// the throw for the callers that still meet it directly, such as the desktop executor.
|
|
8
|
+
//
|
|
9
|
+
// Public-safety: only the substrate's own output (stderr/stdout/error/message) is
|
|
10
|
+
// read here; caller-supplied text (e.g. typed input) must never be passed to the
|
|
11
|
+
// failing command as an argument, so it cannot appear in these fields.
|
|
12
|
+
import { tailOf } from "./shell.js";
|
|
13
|
+
/**
|
|
14
|
+
* True when `error` is (structurally) the @e2b/desktop CommandExitError: a
|
|
15
|
+
* non-zero substrate command exit that the real Sandbox surfaces as a THROW.
|
|
16
|
+
* Matches either the SDK class name (`name === "CommandExitError"`) or any object
|
|
17
|
+
* carrying a numeric `exitCode` (the same field `commandFailureInfo` reads, so a
|
|
18
|
+
* structural fake is covered without importing the SDK class).
|
|
19
|
+
*
|
|
20
|
+
* Deliberately conservative — it is the RECOVERABILITY predicate the CUA loop uses
|
|
21
|
+
* to skip a single failed desktop action instead of ending the whole run: it must
|
|
22
|
+
* NOT match a deadline/abort control-flow signal (those subclass Error without a
|
|
23
|
+
* name override or an exitCode) or a generic Error with no exit signal, so only a
|
|
24
|
+
* genuine substrate-command failure is treated as recoverable.
|
|
25
|
+
*/
|
|
26
|
+
export function isCommandExitError(error) {
|
|
27
|
+
if (error === null || typeof error !== "object")
|
|
28
|
+
return false;
|
|
29
|
+
const e = error;
|
|
30
|
+
return e.name === "CommandExitError" || typeof e.exitCode === "number";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Recover the exit code + a sanitized stderr/stdout tail from a command failure.
|
|
34
|
+
* The real @e2b/desktop CommandExitError exposes exitCode/stderr/stdout/error;
|
|
35
|
+
* these are read structurally so the caller does not depend on the SDK class.
|
|
36
|
+
*/
|
|
37
|
+
export function commandFailureInfo(error) {
|
|
38
|
+
const e = (error ?? {});
|
|
39
|
+
const exitCode = typeof e.exitCode === "number" ? e.exitCode : undefined;
|
|
40
|
+
const str = (value) => typeof value === "string" && value.length > 0 ? value : undefined;
|
|
41
|
+
const source = str(e.stderr) ?? str(e.stdout) ?? str(e.error) ?? str(e.message);
|
|
42
|
+
return exitCode === undefined
|
|
43
|
+
? { stderrTail: tailOf(source) }
|
|
44
|
+
: { exitCode, stderrTail: tailOf(source) };
|
|
45
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CuaExecutor } from "../actors/computer-use/loop.js";
|
|
2
|
+
/** Internal lifecycle contract. Provider IDs are evidence, not permission to acquire a handle. */
|
|
3
|
+
export type DesktopReleaseResult = {
|
|
4
|
+
status: "released";
|
|
5
|
+
reason: "terminated" | "already_gone";
|
|
6
|
+
} | {
|
|
7
|
+
status: "retained";
|
|
8
|
+
reason: "debug";
|
|
9
|
+
} | {
|
|
10
|
+
status: "unconfirmed";
|
|
11
|
+
reason: "release_unavailable" | "invalid_result" | "release_failed";
|
|
12
|
+
error?: unknown;
|
|
13
|
+
};
|
|
14
|
+
export interface DesktopSession {
|
|
15
|
+
readonly resourceId: string;
|
|
16
|
+
readonly executor: CuaExecutor;
|
|
17
|
+
close(options?: {
|
|
18
|
+
retainForDebug?: boolean;
|
|
19
|
+
}): Promise<DesktopReleaseResult>;
|
|
20
|
+
}
|
|
21
|
+
export interface OwnedDesktopAllocation {
|
|
22
|
+
readonly resourceId: string;
|
|
23
|
+
/** Bind after adapter-specific provisioning, once per allocation. */
|
|
24
|
+
open(executor: CuaExecutor): DesktopSession;
|
|
25
|
+
/** Also available before open, so a provisioning failure cannot lose its cleanup handle. */
|
|
26
|
+
close(options?: {
|
|
27
|
+
retainForDebug?: boolean;
|
|
28
|
+
}): Promise<DesktopReleaseResult>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Wrap an already-acquired resource. The adapter supplies release authority as a closure;
|
|
32
|
+
* this layer never reconstructs it from a saved ID or enumerates provider resources.
|
|
33
|
+
* Closing immediately rejects new actions, including when release is unconfirmed. An
|
|
34
|
+
* in-flight backend operation may reject as the resource stops; close does not wait for it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function ownDesktopAllocation(options: {
|
|
37
|
+
resourceId: string;
|
|
38
|
+
release: () => Promise<Exclude<DesktopReleaseResult, {
|
|
39
|
+
status: "retained";
|
|
40
|
+
}>>;
|
|
41
|
+
}): OwnedDesktopAllocation;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { CuaExecutorError } from "../actors/computer-use/executor-error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Wrap an already-acquired resource. The adapter supplies release authority as a closure;
|
|
4
|
+
* this layer never reconstructs it from a saved ID or enumerates provider resources.
|
|
5
|
+
* Closing immediately rejects new actions, including when release is unconfirmed. An
|
|
6
|
+
* in-flight backend operation may reject as the resource stops; close does not wait for it.
|
|
7
|
+
*/
|
|
8
|
+
export function ownDesktopAllocation(options) {
|
|
9
|
+
const resourceId = options.resourceId;
|
|
10
|
+
const release = options.release;
|
|
11
|
+
let opened = false;
|
|
12
|
+
let closing;
|
|
13
|
+
const assertOpen = () => {
|
|
14
|
+
if (closing !== undefined)
|
|
15
|
+
throw new CuaExecutorError("executor_closed", "not_dispatched");
|
|
16
|
+
};
|
|
17
|
+
const close = (policy = {}) => {
|
|
18
|
+
// Install the promise before invoking release: concurrent/reentrant callers share it.
|
|
19
|
+
closing ??=
|
|
20
|
+
policy.retainForDebug === true
|
|
21
|
+
? Promise.resolve({ status: "retained", reason: "debug" })
|
|
22
|
+
: Promise.resolve()
|
|
23
|
+
.then(release)
|
|
24
|
+
.catch((error) => ({
|
|
25
|
+
status: "unconfirmed",
|
|
26
|
+
reason: "release_failed",
|
|
27
|
+
error,
|
|
28
|
+
}));
|
|
29
|
+
return closing;
|
|
30
|
+
};
|
|
31
|
+
return Object.freeze({
|
|
32
|
+
resourceId,
|
|
33
|
+
close,
|
|
34
|
+
open(executor) {
|
|
35
|
+
assertOpen();
|
|
36
|
+
if (opened)
|
|
37
|
+
throw new Error("Desktop allocation already has a participant session.");
|
|
38
|
+
opened = true;
|
|
39
|
+
return Object.freeze({
|
|
40
|
+
resourceId,
|
|
41
|
+
close,
|
|
42
|
+
executor: {
|
|
43
|
+
...(executor.stallRecovery === "fail_closed"
|
|
44
|
+
? { stallRecovery: "fail_closed" }
|
|
45
|
+
: {}),
|
|
46
|
+
...(executor.speechEnabled === true ? { speechEnabled: true } : {}),
|
|
47
|
+
observe: async () => {
|
|
48
|
+
assertOpen();
|
|
49
|
+
return executor.observe();
|
|
50
|
+
},
|
|
51
|
+
execute: async (action, signal) => {
|
|
52
|
+
assertOpen();
|
|
53
|
+
return executor.execute(action, signal);
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|