humanish 0.105.0 → 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 +563 -379
- package/docs/contracts/study-analysis.md +2 -2
- package/docs/contracts/study-costs.md +12 -12
- package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +36 -0
- package/docs/decisions/0002-observer-is-one-self-contained-file.md +30 -0
- package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +35 -0
- package/docs/decisions/0004-participant-desktops-stay-in-the-route.md +31 -0
- package/docs/decisions/README.md +16 -0
- package/docs/goals/current.md +22 -50
- package/docs/principles/actor-fidelity.md +37 -40
- package/docs/principles/engineering.md +81 -0
- package/docs/principles/invariants-and-defaults.md +48 -45
- package/docs/principles/self-driving-harness.md +11 -10
- package/docs/principles/three-roles.md +12 -13
- package/docs/product/automatic-analysis.md +39 -9
- package/docs/product/lobby-trivia-3player-external-public.md +14 -13
- package/docs/product/open-source-install-experience.md +34 -38
- package/docs/ramp/README.md +91 -218
- package/docs/release/open-source-readiness.md +5 -2
- package/docs/release/public-readiness-standard.md +1 -1
- package/examples/README.md +11 -0
- package/examples/participant/README.md +80 -0
- package/examples/participant/app.mjs +55 -0
- package/examples/participant/run.mjs +116 -0
- package/examples/scorer/README.md +29 -0
- package/examples/scorer/run.mjs +63 -0
- package/examples/scorer/scorer.mjs +20 -0
- package/package.json +61 -57
- package/skills/humanish/SKILL.md +72 -60
- package/skills/humanish/agents/openai.yaml +2 -2
- package/dist/actor-contract.d.ts +0 -296
- package/dist/actor-contract.js +0 -340
- package/dist/actor-contract.js.map +0 -1
- package/dist/actor-goal-source.js +0 -32
- package/dist/actor-goal-source.js.map +0 -1
- package/dist/actor-registry.d.ts +0 -77
- package/dist/actor-registry.js +0 -106
- package/dist/actor-registry.js.map +0 -1
- package/dist/actor-stop-cause.d.ts +0 -9
- package/dist/actor-stop-cause.js +0 -42
- package/dist/actor-stop-cause.js.map +0 -1
- package/dist/adapter-extension.d.ts +0 -76
- package/dist/adapter-extension.js +0 -273
- package/dist/adapter-extension.js.map +0 -1
- package/dist/adapter-scorer-loader.d.ts +0 -42
- package/dist/adapter-scorer-loader.js +0 -129
- package/dist/adapter-scorer-loader.js.map +0 -1
- package/dist/affordance.d.ts +0 -53
- package/dist/affordance.js +0 -145
- package/dist/affordance.js.map +0 -1
- package/dist/agent-session.js +0 -43
- package/dist/agent-session.js.map +0 -1
- package/dist/argv.d.ts +0 -1
- package/dist/argv.js +0 -8
- package/dist/argv.js.map +0 -1
- package/dist/artifact-reference.d.ts +0 -22
- package/dist/artifact-reference.js +0 -47
- package/dist/artifact-reference.js.map +0 -1
- package/dist/automatic-analysis-completion.d.ts +0 -25
- package/dist/automatic-analysis-completion.js +0 -56
- package/dist/automatic-analysis-completion.js.map +0 -1
- package/dist/automatic-analysis-config.d.ts +0 -38
- package/dist/automatic-analysis-config.js +0 -68
- package/dist/automatic-analysis-config.js.map +0 -1
- package/dist/automatic-study-analysis.d.ts +0 -17
- package/dist/automatic-study-analysis.js +0 -195
- package/dist/automatic-study-analysis.js.map +0 -1
- package/dist/browser-control-client.d.ts +0 -18
- package/dist/browser-control-client.js +0 -176
- package/dist/browser-control-client.js.map +0 -1
- package/dist/browser-control-dispatcher.d.ts +0 -19
- package/dist/browser-control-dispatcher.js +0 -147
- package/dist/browser-control-dispatcher.js.map +0 -1
- package/dist/browser-control-protocol.d.ts +0 -472
- package/dist/browser-control-protocol.js +0 -185
- package/dist/browser-control-protocol.js.map +0 -1
- package/dist/browser-control-recording-transfer.d.ts +0 -4
- package/dist/browser-control-recording-transfer.js +0 -42
- package/dist/browser-control-recording-transfer.js.map +0 -1
- package/dist/browser-control-transport.d.ts +0 -27
- package/dist/browser-control-transport.js +0 -177
- package/dist/browser-control-transport.js.map +0 -1
- package/dist/browser-evidence-hygiene.js +0 -43
- package/dist/browser-evidence-hygiene.js.map +0 -1
- package/dist/chrome-cdp-probe.d.ts +0 -97
- package/dist/chrome-cdp-probe.js +0 -536
- package/dist/chrome-cdp-probe.js.map +0 -1
- package/dist/claude-agent-sdk.d.ts +0 -94
- package/dist/claude-agent-sdk.js +0 -367
- package/dist/claude-agent-sdk.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/codex-app-server-ui.d.ts +0 -39
- package/dist/codex-app-server-ui.js +0 -357
- package/dist/codex-app-server-ui.js.map +0 -1
- package/dist/codex-app-server.d.ts +0 -144
- package/dist/codex-app-server.js +0 -754
- package/dist/codex-app-server.js.map +0 -1
- package/dist/command-failure.d.ts +0 -43
- package/dist/command-failure.js +0 -73
- package/dist/command-failure.js.map +0 -1
- package/dist/comms-agentmail.d.ts +0 -25
- package/dist/comms-agentmail.js +0 -418
- package/dist/comms-agentmail.js.map +0 -1
- package/dist/comms-catch-host.d.ts +0 -52
- package/dist/comms-catch-host.js +0 -178
- package/dist/comms-catch-host.js.map +0 -1
- package/dist/comms-connections.d.ts +0 -52
- package/dist/comms-connections.js +0 -123
- package/dist/comms-connections.js.map +0 -1
- package/dist/comms-email-catch.d.ts +0 -54
- package/dist/comms-email-catch.js +0 -212
- package/dist/comms-email-catch.js.map +0 -1
- package/dist/comms-evidence.d.ts +0 -27
- package/dist/comms-evidence.js +0 -31
- package/dist/comms-evidence.js.map +0 -1
- package/dist/comms-fake-inbox.d.ts +0 -45
- package/dist/comms-fake-inbox.js +0 -184
- package/dist/comms-fake-inbox.js.map +0 -1
- package/dist/comms-images.d.ts +0 -7
- package/dist/comms-images.js +0 -39
- package/dist/comms-images.js.map +0 -1
- package/dist/comms-inbox.d.ts +0 -66
- package/dist/comms-inbox.js +0 -389
- package/dist/comms-inbox.js.map +0 -1
- package/dist/comms-lease-store.d.ts +0 -91
- package/dist/comms-lease-store.js +0 -495
- package/dist/comms-lease-store.js.map +0 -1
- package/dist/comms-receiving-evidence.d.ts +0 -46
- package/dist/comms-receiving-evidence.js +0 -35
- package/dist/comms-receiving-evidence.js.map +0 -1
- package/dist/comms-receiving-inbox.d.ts +0 -16
- package/dist/comms-receiving-inbox.js +0 -410
- package/dist/comms-receiving-inbox.js.map +0 -1
- package/dist/comms-receiving-runtime.d.ts +0 -25
- package/dist/comms-receiving-runtime.js +0 -45
- package/dist/comms-receiving-runtime.js.map +0 -1
- package/dist/comms-receiving-types.d.ts +0 -98
- package/dist/comms-receiving-types.js +0 -2
- package/dist/comms-receiving-types.js.map +0 -1
- package/dist/comms-receiving.d.ts +0 -58
- package/dist/comms-receiving.js +0 -554
- package/dist/comms-receiving.js.map +0 -1
- package/dist/comms-sandbox-catch.d.ts +0 -229
- package/dist/comms-sandbox-catch.js +0 -737
- package/dist/comms-sandbox-catch.js.map +0 -1
- package/dist/comms-setup.d.ts +0 -40
- package/dist/comms-setup.js +0 -121
- package/dist/comms-setup.js.map +0 -1
- package/dist/comms-types.d.ts +0 -72
- package/dist/comms-types.js +0 -10
- package/dist/comms-types.js.map +0 -1
- package/dist/computer-use-actor.d.ts +0 -76
- package/dist/computer-use-actor.js +0 -68
- package/dist/computer-use-actor.js.map +0 -1
- package/dist/computer-use.d.ts +0 -429
- package/dist/computer-use.js +0 -1751
- package/dist/computer-use.js.map +0 -1
- package/dist/concurrency.js +0 -27
- package/dist/concurrency.js.map +0 -1
- package/dist/concurrent-shared-world-lab.d.ts +0 -186
- package/dist/concurrent-shared-world-lab.js +0 -2181
- package/dist/concurrent-shared-world-lab.js.map +0 -1
- package/dist/core/git-state.d.ts +0 -33
- package/dist/core/git-state.js +0 -277
- package/dist/core/git-state.js.map +0 -1
- package/dist/core/git-workspace.d.ts +0 -31
- package/dist/core/git-workspace.js +0 -447
- package/dist/core/git-workspace.js.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.js +0 -3
- package/dist/core/index.js.map +0 -1
- package/dist/core/run-primitives.d.ts +0 -66
- package/dist/core/run-primitives.js +0 -120
- package/dist/core/run-primitives.js.map +0 -1
- package/dist/cua-actor-lab.d.ts +0 -855
- package/dist/cua-actor-lab.js +0 -3543
- package/dist/cua-actor-lab.js.map +0 -1
- package/dist/cua-admission-limit.d.ts +0 -12
- package/dist/cua-admission-limit.js +0 -20
- package/dist/cua-admission-limit.js.map +0 -1
- package/dist/cua-desktop-lane.d.ts +0 -35
- package/dist/cua-desktop-lane.js +0 -13
- package/dist/cua-desktop-lane.js.map +0 -1
- package/dist/cua-diagnostics.d.ts +0 -38
- package/dist/cua-diagnostics.js +0 -68
- package/dist/cua-diagnostics.js.map +0 -1
- package/dist/cua-executor-error.js +0 -48
- package/dist/cua-executor-error.js.map +0 -1
- package/dist/cua-provider-error.d.ts +0 -16
- package/dist/cua-provider-error.js +0 -35
- package/dist/cua-provider-error.js.map +0 -1
- package/dist/cua-speech.js +0 -2
- package/dist/cua-speech.js.map +0 -1
- package/dist/desktop-recorder.d.ts +0 -39
- package/dist/desktop-recorder.js +0 -226
- package/dist/desktop-recorder.js.map +0 -1
- package/dist/desktop-recording-artifact.d.ts +0 -5
- package/dist/desktop-recording-artifact.js +0 -54
- package/dist/desktop-recording-artifact.js.map +0 -1
- package/dist/desktop-recording-types.d.ts +0 -24
- package/dist/desktop-recording-types.js +0 -14
- package/dist/desktop-recording-types.js.map +0 -1
- package/dist/desktop-session.d.ts +0 -41
- package/dist/desktop-session.js +0 -47
- package/dist/desktop-session.js.map +0 -1
- package/dist/device-presets.d.ts +0 -67
- package/dist/device-presets.js +0 -55
- package/dist/device-presets.js.map +0 -1
- package/dist/doctor-lab.d.ts +0 -38
- package/dist/doctor-lab.js +0 -126
- package/dist/doctor-lab.js.map +0 -1
- package/dist/e2b-cua-desktop.d.ts +0 -3
- package/dist/e2b-cua-desktop.js +0 -708
- package/dist/e2b-cua-desktop.js.map +0 -1
- package/dist/e2b-cua-provisioning.d.ts +0 -314
- package/dist/e2b-cua-provisioning.js +0 -1219
- package/dist/e2b-cua-provisioning.js.map +0 -1
- package/dist/e2b-desktop-executor.d.ts +0 -101
- package/dist/e2b-desktop-executor.js +0 -297
- package/dist/e2b-desktop-executor.js.map +0 -1
- package/dist/e2b-desktop-launch.d.ts +0 -243
- package/dist/e2b-desktop-launch.js +0 -234
- package/dist/e2b-desktop-launch.js.map +0 -1
- package/dist/e2b-desktop-media.d.ts +0 -14
- package/dist/e2b-desktop-media.js +0 -58
- package/dist/e2b-desktop-media.js.map +0 -1
- package/dist/e2b-desktop-recording.d.ts +0 -16
- package/dist/e2b-desktop-recording.js +0 -162
- package/dist/e2b-desktop-recording.js.map +0 -1
- package/dist/e2b-desktop-resources.d.ts +0 -11
- package/dist/e2b-desktop-resources.js +0 -33
- package/dist/e2b-desktop-resources.js.map +0 -1
- package/dist/e2b-desktop-screenshot-cleanup.d.ts +0 -15
- package/dist/e2b-desktop-screenshot-cleanup.js +0 -67
- package/dist/e2b-desktop-screenshot-cleanup.js.map +0 -1
- package/dist/e2b-desktop-session.d.ts +0 -7
- package/dist/e2b-desktop-session.js +0 -29
- package/dist/e2b-desktop-session.js.map +0 -1
- package/dist/e2b-detached.d.ts +0 -53
- package/dist/e2b-detached.js +0 -130
- package/dist/e2b-detached.js.map +0 -1
- package/dist/e2b-terminal-lab.d.ts +0 -383
- package/dist/e2b-terminal-lab.js +0 -2000
- package/dist/e2b-terminal-lab.js.map +0 -1
- package/dist/env-file.d.ts +0 -14
- package/dist/env-file.js +0 -108
- package/dist/env-file.js.map +0 -1
- package/dist/export-bundle.d.ts +0 -7
- package/dist/export-bundle.js +0 -441
- package/dist/export-bundle.js.map +0 -1
- package/dist/export.d.ts +0 -49
- package/dist/export.js +0 -308
- package/dist/export.js.map +0 -1
- package/dist/feedback-proof.d.ts +0 -8
- package/dist/feedback-proof.js +0 -44
- package/dist/feedback-proof.js.map +0 -1
- package/dist/feedback.d.ts +0 -76
- package/dist/feedback.js +0 -496
- package/dist/feedback.js.map +0 -1
- package/dist/first-run-path.d.ts +0 -55
- package/dist/first-run-path.js +0 -136
- package/dist/first-run-path.js.map +0 -1
- package/dist/frame-signature.d.ts +0 -24
- package/dist/frame-signature.js +0 -128
- package/dist/frame-signature.js.map +0 -1
- package/dist/guest-bootstrap.d.ts +0 -55
- package/dist/guest-bootstrap.js +0 -285
- package/dist/guest-bootstrap.js.map +0 -1
- package/dist/guest-browser-tools.d.ts +0 -8
- package/dist/guest-browser-tools.js +0 -66
- package/dist/guest-browser-tools.js.map +0 -1
- package/dist/guest-chromium-text.d.ts +0 -27
- package/dist/guest-chromium-text.js +0 -281
- package/dist/guest-chromium-text.js.map +0 -1
- package/dist/guest-desktop-executor.d.ts +0 -22
- package/dist/guest-desktop-executor.js +0 -178
- package/dist/guest-desktop-executor.js.map +0 -1
- package/dist/guest-desktop-media.d.ts +0 -33
- package/dist/guest-desktop-media.js +0 -281
- package/dist/guest-desktop-media.js.map +0 -1
- package/dist/guest-desktop-native.d.ts +0 -14
- package/dist/guest-desktop-native.js +0 -131
- package/dist/guest-desktop-native.js.map +0 -1
- package/dist/guest-media-config.d.ts +0 -15
- package/dist/guest-media-config.js +0 -8
- package/dist/guest-media-config.js.map +0 -1
- package/dist/guest-media-worker.js.map +0 -1
- package/dist/guest-runtime-desktop.d.ts +0 -42
- package/dist/guest-runtime-desktop.js +0 -314
- package/dist/guest-runtime-desktop.js.map +0 -1
- package/dist/guest-runtime-main.js.map +0 -1
- package/dist/guest-runtime-revision.js.map +0 -1
- package/dist/guest-runtime.d.ts +0 -31
- package/dist/guest-runtime.js +0 -99
- package/dist/guest-runtime.js.map +0 -1
- package/dist/image-evidence.d.ts +0 -2
- package/dist/image-evidence.js +0 -47
- package/dist/image-evidence.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init-templates.d.ts +0 -25
- package/dist/init-templates.js +0 -541
- package/dist/init-templates.js.map +0 -1
- package/dist/init.d.ts +0 -38
- package/dist/init.js +0 -532
- package/dist/init.js.map +0 -1
- package/dist/key-resolution.d.ts +0 -67
- package/dist/key-resolution.js +0 -375
- package/dist/key-resolution.js.map +0 -1
- package/dist/lab-app-runner.d.ts +0 -78
- package/dist/lab-app-runner.js +0 -403
- package/dist/lab-app-runner.js.map +0 -1
- package/dist/lab-config.d.ts +0 -968
- package/dist/lab-config.js +0 -2714
- package/dist/lab-config.js.map +0 -1
- package/dist/lab-engine.d.ts +0 -97
- package/dist/lab-engine.js +0 -285
- package/dist/lab-engine.js.map +0 -1
- package/dist/lab-preflight.d.ts +0 -70
- package/dist/lab-preflight.js +0 -388
- package/dist/lab-preflight.js.map +0 -1
- package/dist/lab-summary.d.ts +0 -57
- package/dist/lab-summary.js +0 -126
- package/dist/lab-summary.js.map +0 -1
- package/dist/labs.d.ts +0 -66
- package/dist/labs.js +0 -401
- package/dist/labs.js.map +0 -1
- package/dist/listen.js +0 -84
- package/dist/listen.js.map +0 -1
- package/dist/local-agent-claude-session.d.ts +0 -45
- package/dist/local-agent-claude-session.js +0 -203
- package/dist/local-agent-claude-session.js.map +0 -1
- package/dist/local-agent-cli.d.ts +0 -121
- package/dist/local-agent-cli.js +0 -427
- package/dist/local-agent-cli.js.map +0 -1
- package/dist/local-captured-inbox.d.ts +0 -6
- package/dist/local-captured-inbox.js +0 -65
- package/dist/local-captured-inbox.js.map +0 -1
- package/dist/local-firecracker-desktop.d.ts +0 -23
- package/dist/local-firecracker-desktop.js +0 -191
- package/dist/local-firecracker-desktop.js.map +0 -1
- package/dist/local-firecracker-study.d.ts +0 -9
- package/dist/local-firecracker-study.js +0 -135
- package/dist/local-firecracker-study.js.map +0 -1
- package/dist/local-runtime-config.d.ts +0 -6
- package/dist/local-runtime-config.js +0 -60
- package/dist/local-runtime-config.js.map +0 -1
- package/dist/local-runtime-host.d.ts +0 -31
- package/dist/local-runtime-host.js +0 -128
- package/dist/local-runtime-host.js.map +0 -1
- package/dist/local-runtime-release.d.ts +0 -7
- package/dist/local-runtime-release.js +0 -33
- package/dist/local-runtime-release.js.map +0 -1
- package/dist/local-runtime-ssh.d.ts +0 -27
- package/dist/local-runtime-ssh.js +0 -91
- package/dist/local-runtime-ssh.js.map +0 -1
- package/dist/local-runtime.d.ts +0 -25
- package/dist/local-runtime.js +0 -133
- package/dist/local-runtime.js.map +0 -1
- package/dist/observer-data.d.ts +0 -114
- package/dist/observer-data.js +0 -224
- package/dist/observer-data.js.map +0 -1
- package/dist/observer-library.js +0 -191
- package/dist/observer-library.js.map +0 -1
- package/dist/observer-serve.d.ts +0 -99
- package/dist/observer-serve.js +0 -284
- package/dist/observer-serve.js.map +0 -1
- package/dist/observer-static.js +0 -357
- package/dist/observer-static.js.map +0 -1
- package/dist/observer.d.ts +0 -118
- package/dist/observer.js +0 -947
- package/dist/observer.js.map +0 -1
- package/dist/openai-responses-cu.d.ts +0 -158
- package/dist/openai-responses-cu.js +0 -714
- package/dist/openai-responses-cu.js.map +0 -1
- package/dist/orientation.d.ts +0 -29
- package/dist/orientation.js +0 -95
- package/dist/orientation.js.map +0 -1
- package/dist/oss-lab.d.ts +0 -55
- package/dist/oss-lab.js +0 -344
- package/dist/oss-lab.js.map +0 -1
- package/dist/oss-meta-lab-scoring.d.ts +0 -15
- package/dist/oss-meta-lab-scoring.js +0 -145
- package/dist/oss-meta-lab-scoring.js.map +0 -1
- package/dist/oss-meta-lab.d.ts +0 -287
- package/dist/oss-meta-lab.js +0 -4551
- package/dist/oss-meta-lab.js.map +0 -1
- package/dist/oss-remote-telemetry.d.ts +0 -77
- package/dist/oss-remote-telemetry.js +0 -403
- package/dist/oss-remote-telemetry.js.map +0 -1
- package/dist/output-token-limit.js +0 -5
- package/dist/output-token-limit.js.map +0 -1
- package/dist/participant-assignment.d.ts +0 -12
- package/dist/participant-assignment.js +0 -15
- package/dist/participant-assignment.js.map +0 -1
- package/dist/persona-resolve.d.ts +0 -44
- package/dist/persona-resolve.js +0 -99
- package/dist/persona-resolve.js.map +0 -1
- package/dist/persona.d.ts +0 -39
- package/dist/persona.js +0 -144
- package/dist/persona.js.map +0 -1
- package/dist/pi-agent-core.d.ts +0 -77
- package/dist/pi-agent-core.js +0 -207
- package/dist/pi-agent-core.js.map +0 -1
- package/dist/pricing.d.ts +0 -145
- package/dist/pricing.js +0 -277
- package/dist/pricing.js.map +0 -1
- package/dist/program.d.ts +0 -96
- package/dist/program.js +0 -4030
- package/dist/program.js.map +0 -1
- package/dist/reasoning-effort.js +0 -26
- package/dist/reasoning-effort.js.map +0 -1
- package/dist/reclaim.d.ts +0 -31
- package/dist/reclaim.js +0 -90
- package/dist/reclaim.js.map +0 -1
- package/dist/redaction.d.ts +0 -90
- package/dist/redaction.js +0 -294
- package/dist/redaction.js.map +0 -1
- package/dist/restricted-codex-analysis.d.ts +0 -15
- package/dist/restricted-codex-analysis.js +0 -13
- package/dist/restricted-codex-analysis.js.map +0 -1
- package/dist/restricted-codex-participant-policy.d.ts +0 -44
- package/dist/restricted-codex-participant-policy.js +0 -43
- package/dist/restricted-codex-participant-policy.js.map +0 -1
- package/dist/restricted-codex-participant-run.d.ts +0 -20
- package/dist/restricted-codex-participant-run.js +0 -79
- package/dist/restricted-codex-participant-run.js.map +0 -1
- package/dist/restricted-codex-participant.d.ts +0 -20
- package/dist/restricted-codex-participant.js +0 -250
- package/dist/restricted-codex-participant.js.map +0 -1
- package/dist/restricted-codex-policy.d.ts +0 -64
- package/dist/restricted-codex-policy.js +0 -176
- package/dist/restricted-codex-policy.js.map +0 -1
- package/dist/restricted-codex-session.d.ts +0 -44
- package/dist/restricted-codex-session.js +0 -657
- package/dist/restricted-codex-session.js.map +0 -1
- package/dist/restricted-codex-transport.d.ts +0 -69
- package/dist/restricted-codex-transport.js +0 -296
- package/dist/restricted-codex-transport.js.map +0 -1
- package/dist/run-detail.d.ts +0 -61
- package/dist/run-detail.js +0 -137
- package/dist/run-detail.js.map +0 -1
- package/dist/run-index.d.ts +0 -71
- package/dist/run-index.js +0 -206
- package/dist/run-index.js.map +0 -1
- package/dist/run-narration-secrets.js +0 -68
- package/dist/run-narration-secrets.js.map +0 -1
- package/dist/run-paths.d.ts +0 -56
- package/dist/run-paths.js +0 -355
- package/dist/run-paths.js.map +0 -1
- package/dist/run-projection.d.ts +0 -186
- package/dist/run-projection.js +0 -350
- package/dist/run-projection.js.map +0 -1
- package/dist/run-status.d.ts +0 -139
- package/dist/run-status.js +0 -218
- package/dist/run-status.js.map +0 -1
- package/dist/run.d.ts +0 -1255
- package/dist/run.js +0 -5949
- package/dist/run.js.map +0 -1
- package/dist/sandbox-receipts.d.ts +0 -19
- package/dist/sandbox-receipts.js +0 -51
- package/dist/sandbox-receipts.js.map +0 -1
- package/dist/screenshot-image.d.ts +0 -11
- package/dist/screenshot-image.js +0 -26
- package/dist/screenshot-image.js.map +0 -1
- package/dist/scripted-browser-actor.d.ts +0 -297
- package/dist/scripted-browser-actor.js +0 -1399
- package/dist/scripted-browser-actor.js.map +0 -1
- package/dist/scripted-browser-lab.d.ts +0 -121
- package/dist/scripted-browser-lab.js +0 -852
- package/dist/scripted-browser-lab.js.map +0 -1
- package/dist/secret-prompt.js +0 -36
- package/dist/secret-prompt.js.map +0 -1
- package/dist/selected-output-paths.d.ts +0 -52
- package/dist/selected-output-paths.js +0 -366
- package/dist/selected-output-paths.js.map +0 -1
- package/dist/serve-exposure.d.ts +0 -62
- package/dist/serve-exposure.js +0 -129
- package/dist/serve-exposure.js.map +0 -1
- package/dist/serve-http.js +0 -45
- package/dist/serve-http.js.map +0 -1
- package/dist/serve-tunnel.js +0 -113
- package/dist/serve-tunnel.js.map +0 -1
- package/dist/shared-world-lab.d.ts +0 -269
- package/dist/shared-world-lab.js +0 -1424
- package/dist/shared-world-lab.js.map +0 -1
- package/dist/source-archive.d.ts +0 -82
- package/dist/source-archive.js +0 -408
- package/dist/source-archive.js.map +0 -1
- package/dist/stats.d.ts +0 -82
- package/dist/stats.js +0 -219
- package/dist/stats.js.map +0 -1
- package/dist/stop-conditions.d.ts +0 -39
- package/dist/stop-conditions.js +0 -66
- package/dist/stop-conditions.js.map +0 -1
- package/dist/study-analysis-codex-config.d.ts +0 -11
- package/dist/study-analysis-codex-config.js +0 -34
- package/dist/study-analysis-codex-config.js.map +0 -1
- package/dist/study-analysis-engine.d.ts +0 -47
- package/dist/study-analysis-engine.js +0 -327
- package/dist/study-analysis-engine.js.map +0 -1
- package/dist/study-analysis-evidence.d.ts +0 -27
- package/dist/study-analysis-evidence.js +0 -660
- package/dist/study-analysis-evidence.js.map +0 -1
- package/dist/study-analysis-job.d.ts +0 -97
- package/dist/study-analysis-job.js +0 -214
- package/dist/study-analysis-job.js.map +0 -1
- package/dist/study-analysis-provider.d.ts +0 -40
- package/dist/study-analysis-provider.js +0 -170
- package/dist/study-analysis-provider.js.map +0 -1
- package/dist/study-analysis-service.d.ts +0 -59
- package/dist/study-analysis-service.js +0 -257
- package/dist/study-analysis-service.js.map +0 -1
- package/dist/study-analysis-sharing.d.ts +0 -11
- package/dist/study-analysis-sharing.js +0 -35
- package/dist/study-analysis-sharing.js.map +0 -1
- package/dist/study-analysis-store.d.ts +0 -47
- package/dist/study-analysis-store.js +0 -493
- package/dist/study-analysis-store.js.map +0 -1
- package/dist/study-analysis-validation.d.ts +0 -618
- package/dist/study-analysis-validation.js +0 -384
- package/dist/study-analysis-validation.js.map +0 -1
- package/dist/study-analysis.d.ts +0 -206
- package/dist/study-analysis.js +0 -4
- package/dist/study-analysis.js.map +0 -1
- package/dist/study-costs.js +0 -114
- package/dist/study-costs.js.map +0 -1
- package/dist/subject-runtime.d.ts +0 -23
- package/dist/subject-runtime.js +0 -70
- package/dist/subject-runtime.js.map +0 -1
- package/dist/tasks.d.ts +0 -90
- package/dist/tasks.js +0 -144
- package/dist/tasks.js.map +0 -1
- package/dist/telemetry.js +0 -324
- package/dist/telemetry.js.map +0 -1
- package/dist/terminal-agent-actor.d.ts +0 -41
- package/dist/terminal-agent-actor.js +0 -25
- package/dist/terminal-agent-actor.js.map +0 -1
- package/dist/terminal-encoding.js +0 -80
- package/dist/terminal-encoding.js.map +0 -1
- package/dist/terminal-node-bootstrap.d.ts +0 -4
- package/dist/terminal-node-bootstrap.js +0 -58
- package/dist/terminal-node-bootstrap.js.map +0 -1
- package/dist/terminal-participant-activity.d.ts +0 -6
- package/dist/terminal-participant-activity.js +0 -34
- package/dist/terminal-participant-activity.js.map +0 -1
- package/dist/terminal-runtime-auth.d.ts +0 -13
- package/dist/terminal-runtime-auth.js +0 -24
- package/dist/terminal-runtime-auth.js.map +0 -1
- package/dist/terminal-runtime.d.ts +0 -16
- package/dist/terminal-runtime.js +0 -42
- package/dist/terminal-runtime.js.map +0 -1
- package/dist/terminal-token-usage.d.ts +0 -15
- package/dist/terminal-token-usage.js +0 -94
- package/dist/terminal-token-usage.js.map +0 -1
- package/dist/tui-actions.d.ts +0 -39
- package/dist/tui-actions.js +0 -178
- package/dist/tui-actions.js.map +0 -1
- package/dist/tui-contract.d.ts +0 -141
- package/dist/tui-contract.js +0 -54
- package/dist/tui-contract.js.map +0 -1
- package/dist/tui-launch.js +0 -167
- package/dist/tui-launch.js.map +0 -1
- package/dist/tui-project.d.ts +0 -9
- package/dist/tui-project.js +0 -18
- package/dist/tui-project.js.map +0 -1
- package/docs/architecture/examples/state-driven-local-app/README.md +0 -80
- package/docs/architecture/examples/state-driven-local-app/app.mjs +0 -48
- package/docs/architecture/examples/state-driven-local-app/runner.mjs +0 -105
- package/docs/architecture/local-codex-tui-actor.md +0 -213
- package/docs/architecture/oss-lab-poc.md +0 -250
- package/docs/architecture/runtime-broker-core.md +0 -30
- package/docs/release/0.100.0-local-setup.md +0 -31
- package/docs/release/0.100.1-participant-continuity.md +0 -20
- package/docs/release/0.101.0-codex-ui-tools.md +0 -28
- package/docs/release/0.102.0-participant-media.md +0 -43
- package/docs/release/0.103.0-desktop-recording.md +0 -29
- package/docs/release/0.103.1-analysis-capture-allocation.md +0 -18
- package/docs/release/0.103.2-analysis-ending-context.md +0 -21
- package/docs/release/0.104.0-local-captured-inboxes.md +0 -29
- package/docs/release/0.104.1-recording-startup.md +0 -24
- package/docs/release/0.104.2-recording-timestamps.md +0 -32
- package/docs/release/0.104.3-local-smtp-catch.md +0 -15
- package/docs/release/0.105.0-participant-backgrounds.md +0 -50
- package/docs/release/0.20.0-external-public-shared-world.md +0 -43
- package/docs/release/0.84.0-redacted-evidence.md +0 -42
- package/docs/release/0.84.1-portable-feedback.md +0 -20
- package/docs/release/0.85.0-observer-review.md +0 -56
- package/docs/release/0.85.1-observer-continuity.md +0 -20
- package/docs/release/0.86.0-participant-evidence.md +0 -50
- package/docs/release/0.86.1-task-preflight-saved-recordings.md +0 -40
- package/docs/release/0.87.0-participant-endings-and-phone-review.md +0 -64
- package/docs/release/0.88.0-study-diagnostics.md +0 -43
- package/docs/release/0.88.1-completion-evidence-and-local-app.md +0 -79
- package/docs/release/0.88.2-sequential-study-budgets.md +0 -57
- package/docs/release/0.89.0-study-findings.md +0 -79
- package/docs/release/0.89.1-analysis-finished-notice.md +0 -24
- package/docs/release/0.90.0-automatic-analysis.md +0 -21
- package/docs/release/0.91.0-analysis-quality-and-defaults.md +0 -33
- package/docs/release/0.91.1-study-review-polish.md +0 -28
- package/docs/release/0.92.0-grid-playback.md +0 -22
- package/docs/release/0.93.0-global-playback.md +0 -26
- package/docs/release/0.93.1-observer-review-controls.md +0 -24
- package/docs/release/0.94.0-reliability.md +0 -48
- package/docs/release/0.95.0-connections-setup.md +0 -38
- package/docs/release/0.96.0-real-email-receiving.md +0 -47
- package/docs/release/0.96.1-browser-navigation.md +0 -22
- package/docs/release/0.97.0-codex-account-analysis.md +0 -45
- package/docs/release/0.98.0-local-browser-studies.md +0 -31
- package/docs/release/0.99.0-local-browser-mac.md +0 -34
- package/docs/release/0.99.1-action-recovery.md +0 -19
- /package/dist/{agent-session.d.ts → actors/agent-session.d.ts} +0 -0
- /package/dist/{cua-executor-error.d.ts → actors/computer-use/executor-error.d.ts} +0 -0
- /package/dist/{cua-speech.d.ts → actors/computer-use/speech.d.ts} +0 -0
- /package/dist/{actor-goal-source.d.ts → actors/goal-source.d.ts} +0 -0
- /package/dist/{output-token-limit.d.ts → actors/output-token-limit.d.ts} +0 -0
- /package/dist/{reasoning-effort.d.ts → actors/reasoning-effort.d.ts} +0 -0
- /package/dist/{secret-prompt.d.ts → cli/secret-prompt.d.ts} +0 -0
- /package/dist/{telemetry.d.ts → cli/telemetry.d.ts} +0 -0
- /package/dist/{browser-evidence-hygiene.d.ts → evidence/browser-hygiene.d.ts} +0 -0
- /package/dist/{serve-http.d.ts → observer/http.d.ts} +0 -0
- /package/dist/{observer-library.d.ts → observer/library.d.ts} +0 -0
- /package/dist/{listen.d.ts → observer/listen.d.ts} +0 -0
- /package/dist/{observer-static.d.ts → observer/static.d.ts} +0 -0
- /package/dist/{serve-tunnel.d.ts → observer/tunnel.d.ts} +0 -0
- /package/dist/{terminal-encoding.d.ts → routes/terminal/encoding.d.ts} +0 -0
- /package/dist/{concurrency.d.ts → run/concurrency.d.ts} +0 -0
- /package/dist/{study-costs.d.ts → run/costs.d.ts} +0 -0
- /package/dist/{run-narration-secrets.d.ts → run/transient-comms-secrets.d.ts} +0 -0
- /package/dist/{tui-launch.d.ts → tui/launch.d.ts} +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
// E2B sandbox acquisition and release. Every route that allocates an E2B sandbox calls this module,
|
|
2
|
+
// so each allocation runs the same steps in the same order: create, one retry on a transient
|
|
3
|
+
// provider error, capture of the exact id and kill authority, and a provider-qualified receipt in
|
|
4
|
+
// the run directory before the caller gets the handle. The desktop startup guard
|
|
5
|
+
// (guardDesktopSandboxCreate) is installed by loadE2BDesktopModule, so a create whose desktop
|
|
6
|
+
// startup fails has already reclaimed its handle when the error reaches the retry here.
|
|
7
|
+
import { redactText, toErrorMessage } from "../../evidence/redaction.js";
|
|
8
|
+
import { appendSandboxReceipt } from "../../run/sandbox-receipts.js";
|
|
9
|
+
import { ownDesktopAllocation, } from "../desktop-session.js";
|
|
10
|
+
import { E2BDesktopStartupError, isSandboxNotFoundError, } from "./sdk.js";
|
|
11
|
+
/** A desktop sandbox, on the stock `desktop` template or a named one. */
|
|
12
|
+
export function acquireE2BDesktopSandbox(request) {
|
|
13
|
+
return acquire(request, request.template);
|
|
14
|
+
}
|
|
15
|
+
/** The terminal route's shell sandbox. It always runs on the stock template. */
|
|
16
|
+
export function acquireE2BShellSandbox(request) {
|
|
17
|
+
return acquire(request, undefined);
|
|
18
|
+
}
|
|
19
|
+
async function acquire(request, template) {
|
|
20
|
+
const { module, options } = request;
|
|
21
|
+
// Without a template the SDK's one-argument create chooses its stock desktop template.
|
|
22
|
+
const sandbox = await withOneRetryOnTransientE2BError(() => template === undefined
|
|
23
|
+
? module.Sandbox.create(options)
|
|
24
|
+
: module.Sandbox.create(template, options), request.retry);
|
|
25
|
+
const allocation = ownE2BSandbox(module, sandbox.sandboxId);
|
|
26
|
+
try {
|
|
27
|
+
if (request.receipt !== null) {
|
|
28
|
+
const { root, participantId, now = Date.now } = request.receipt;
|
|
29
|
+
// Best effort by contract: a failed write leaves the TTL as the only backstop and never
|
|
30
|
+
// fails the lane.
|
|
31
|
+
await appendSandboxReceipt(root, {
|
|
32
|
+
at: new Date(now()).toISOString(),
|
|
33
|
+
laneId: participantId,
|
|
34
|
+
provider: "e2b",
|
|
35
|
+
sandboxId: allocation.resourceId,
|
|
36
|
+
...(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs }),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
// The caller never receives this sandbox, so release it here. A throwing or invalid injected
|
|
42
|
+
// clock is the known case.
|
|
43
|
+
await allocation.close();
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
return { sandbox, allocation };
|
|
47
|
+
}
|
|
48
|
+
/** The provider's kill method bound to its class, or undefined when the SDK has none. */
|
|
49
|
+
function boundKill(module) {
|
|
50
|
+
return typeof module.Sandbox.kill === "function"
|
|
51
|
+
? module.Sandbox.kill.bind(module.Sandbox)
|
|
52
|
+
: undefined;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Kill one sandbox by exact id and read the answer in the release vocabulary both callers share.
|
|
56
|
+
* The SDK resolves false for an id it no longer knows (a 404), and a SandboxNotFoundError,
|
|
57
|
+
* recognized by type, means the same. Every other throw is unconfirmed, whatever its message
|
|
58
|
+
* says: the SDK answers a 404 with false before it throws, so "not found" or "404" in a thrown
|
|
59
|
+
* message comes from some other failure, such as a trace id. Never list the account.
|
|
60
|
+
*/
|
|
61
|
+
async function killById(kill, sandboxId, options) {
|
|
62
|
+
if (kill === undefined)
|
|
63
|
+
return { status: "unconfirmed", reason: "release_unavailable" };
|
|
64
|
+
try {
|
|
65
|
+
const result = await kill(sandboxId, options);
|
|
66
|
+
if (result === true)
|
|
67
|
+
return { status: "released", reason: "terminated" };
|
|
68
|
+
if (result === false)
|
|
69
|
+
return { status: "released", reason: "already_gone" };
|
|
70
|
+
return { status: "unconfirmed", reason: "invalid_result" };
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
if (isSandboxNotFoundError(error))
|
|
74
|
+
return { status: "released", reason: "already_gone" };
|
|
75
|
+
return { status: "unconfirmed", reason: "release_failed", error };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function ownE2BSandbox(module, resourceId) {
|
|
79
|
+
// Bind the provider method now, before any hook can replace it on the shared module.
|
|
80
|
+
const kill = boundKill(module);
|
|
81
|
+
return ownDesktopAllocation({
|
|
82
|
+
resourceId,
|
|
83
|
+
release: () => killById(kill, resourceId, { requestTimeoutMs: 60_000 }),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Read a release result the same way on every route. `label` names the sandbox in the warning
|
|
88
|
+
* ("Sandbox", "Subject sandbox"). `costSpan` adds that desktop cost uses the observed span when
|
|
89
|
+
* the sandbox was already gone, for routes that price its minutes. A retained sandbox is the
|
|
90
|
+
* caller's to describe.
|
|
91
|
+
*/
|
|
92
|
+
export function readE2BRelease(result, options) {
|
|
93
|
+
const { label, scrub } = options;
|
|
94
|
+
if (result.status === "retained")
|
|
95
|
+
return { released: false };
|
|
96
|
+
if (result.status === "released") {
|
|
97
|
+
if (result.reason === "terminated")
|
|
98
|
+
return { released: true };
|
|
99
|
+
return {
|
|
100
|
+
released: true,
|
|
101
|
+
warning: `${label} was already absent when cleanup ran; its exact termination time is unknown.${options.costSpan ? " Desktop cost uses the observed acquisition-to-cleanup span." : ""}`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
switch (result.reason) {
|
|
105
|
+
case "release_unavailable":
|
|
106
|
+
return {
|
|
107
|
+
released: false,
|
|
108
|
+
warning: `Installed @e2b/desktop SDK does not expose Sandbox.kill; server-side kill-on-timeout will reclaim the ${label.toLowerCase()}.`,
|
|
109
|
+
};
|
|
110
|
+
case "release_failed":
|
|
111
|
+
return {
|
|
112
|
+
released: false,
|
|
113
|
+
warning: `${label} teardown failed (server-side kill-on-timeout will reclaim it): ${redactText(scrub(toErrorMessage(result.error)))}`,
|
|
114
|
+
};
|
|
115
|
+
case "invalid_result":
|
|
116
|
+
return {
|
|
117
|
+
released: false,
|
|
118
|
+
warning: `${label} teardown returned an unexpected result; release is unconfirmed and server-side kill-on-timeout remains the backstop.`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Kill one sandbox by its exact recorded id, for reclaim, and map the shared release result onto
|
|
124
|
+
* reclaim's persisted outcome. It never lists the account.
|
|
125
|
+
*/
|
|
126
|
+
export async function destroyE2BSandbox(module, sandboxId, options) {
|
|
127
|
+
const released = await killById(boundKill(module), sandboxId, options);
|
|
128
|
+
if (released.status === "released")
|
|
129
|
+
return { state: released.reason === "terminated" ? "killed" : "already-gone" };
|
|
130
|
+
switch (released.reason) {
|
|
131
|
+
case "release_unavailable":
|
|
132
|
+
return {
|
|
133
|
+
state: "kill-failed",
|
|
134
|
+
detail: "installed @e2b/desktop SDK does not expose Sandbox.kill; server-side kill-on-timeout will reclaim the sandbox",
|
|
135
|
+
};
|
|
136
|
+
case "invalid_result":
|
|
137
|
+
return {
|
|
138
|
+
state: "kill-failed",
|
|
139
|
+
detail: "Sandbox.kill returned neither true nor false, so the kill is unconfirmed",
|
|
140
|
+
};
|
|
141
|
+
case "release_failed":
|
|
142
|
+
return { state: "kill-failed", detail: redactText(toErrorMessage(released.error)) };
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/** Versioned public template built by runtime/browser-media/e2b-template.mjs. */
|
|
146
|
+
export const E2B_SPEECH_TEMPLATE = "7409n13kr83f7g7abx5g";
|
|
147
|
+
/** The desktop template a lab asks for; undefined selects the SDK default. */
|
|
148
|
+
export function e2bDesktopTemplate(config) {
|
|
149
|
+
if (config.execution?.target === "local")
|
|
150
|
+
return undefined;
|
|
151
|
+
return (config.execution?.desktop?.template ??
|
|
152
|
+
(config.execution?.desktop?.media?.microphone?.source === "speech"
|
|
153
|
+
? E2B_SPEECH_TEMPLATE
|
|
154
|
+
: undefined));
|
|
155
|
+
}
|
|
156
|
+
/** Wall-clock pause before the single retry; envd routing settles within a few seconds. */
|
|
157
|
+
export const TRANSIENT_RETRY_DELAY_MS = 3_000;
|
|
158
|
+
/**
|
|
159
|
+
* The provider errors worth one retry, by the message the SDK throws. Each is a gap that clears
|
|
160
|
+
* within seconds of sandbox creation:
|
|
161
|
+
*
|
|
162
|
+
* - `12: [unimplemented] HTTP 404` and `[unavailable]`: the sandbox exists but its envd is not
|
|
163
|
+
* routable yet, so the first request (the desktop SDK's Xvfb start) hits the proxy instead.
|
|
164
|
+
* - `Cannot read properties of undefined (reading 'envdVersion')` / `Response data is missing`:
|
|
165
|
+
* the create API answered without a body.
|
|
166
|
+
* - `Expected to receive information about written file`: a file write the envd accepted without
|
|
167
|
+
* describing, the same routing gap seen from the upload side.
|
|
168
|
+
* - transport resets (`fetch failed`, `ECONNRESET`, `socket hang up`, 502/503/504).
|
|
169
|
+
*
|
|
170
|
+
* NOT retried: timeouts (the budget is spent), auth (401/403), quota and rate limits (429: a burst
|
|
171
|
+
* that hit the limit should be spaced, not repeated), and anything that names the request as wrong.
|
|
172
|
+
*/
|
|
173
|
+
export function isTransientE2BError(error) {
|
|
174
|
+
if (error instanceof E2BDesktopStartupError && error.cleanup === "unconfirmed")
|
|
175
|
+
return false;
|
|
176
|
+
const message = error instanceof Error ? `${error.name}: ${error.message}` : String(error ?? "");
|
|
177
|
+
if (/timeout|timed out|deadline/i.test(message))
|
|
178
|
+
return false;
|
|
179
|
+
if (/\b(401|403|429)\b|unauthorized|forbidden|rate limit|quota/i.test(message))
|
|
180
|
+
return false;
|
|
181
|
+
return /\[unimplemented\]|\[unavailable\]|HTTP 404|HTTP 50[234]|\b50[234]\b|reading 'envdVersion'|Response data is missing|Expected to receive information about written file|fetch failed|ECONNRESET|ECONNREFUSED|socket hang up|UND_ERR/i.test(message);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Run `attempt`; on a transient provider error, say so through `onRetry`, wait, and run it once
|
|
185
|
+
* more. A second failure, or a non-transient first one, propagates as is. The first attempt may
|
|
186
|
+
* have allocated a sandbox this process never learned the id of (the SDK throws after the API
|
|
187
|
+
* call); the provider's own `timeoutMs` on that sandbox is what reclaims it, which the caller's
|
|
188
|
+
* warning should say.
|
|
189
|
+
*/
|
|
190
|
+
export async function withOneRetryOnTransientE2BError(attempt, hooks) {
|
|
191
|
+
try {
|
|
192
|
+
return await attempt();
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
if (!isTransientE2BError(error))
|
|
196
|
+
throw error;
|
|
197
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
198
|
+
hooks?.onRetry?.(reason);
|
|
199
|
+
await (hooks?.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms))))(TRANSIENT_RETRY_DELAY_MS);
|
|
200
|
+
return attempt();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
export interface E2BDesktopModule {
|
|
2
|
+
Sandbox: {
|
|
3
|
+
/** The stock `desktop` template (no custom image). */
|
|
4
|
+
create(options: E2BDesktopCreateOptions): Promise<E2BDesktopSandbox>;
|
|
5
|
+
/**
|
|
6
|
+
* Launch on a CUSTOM E2B desktop template (image) by NAME or ID — the SDK's
|
|
7
|
+
* `Sandbox.create(template, opts)` overload. Lets a lab run on an adopter-maintained image
|
|
8
|
+
* with extra runtimes baked in (e.g. node/bun/a local Postgres the stock `desktop` template
|
|
9
|
+
* lacks), instead of the stock template. The base @e2b/desktop SDK implements this; the
|
|
10
|
+
* wrapper just exposes it. Threaded from `execution.desktop.template`.
|
|
11
|
+
*/
|
|
12
|
+
create(template: string, options: E2BDesktopCreateOptions): Promise<E2BDesktopSandbox>;
|
|
13
|
+
/**
|
|
14
|
+
* Kill the sandbox specified by exact id. Returns true iff THAT sandbox was found and
|
|
15
|
+
* killed, false otherwise (the SDK's own doc comment). This boolean is the PRIMARY by-id
|
|
16
|
+
* cleanup proof: a caller never needs to re-list to confirm reclamation.
|
|
17
|
+
*/
|
|
18
|
+
kill?(sandboxId: string, options?: {
|
|
19
|
+
requestTimeoutMs?: number;
|
|
20
|
+
}): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Fetch ONE sandbox by its exact id (never account-wide). Throws a SandboxNotFoundError-
|
|
23
|
+
* shaped error (see isSandboxNotFoundError below) when the id no longer exists; that thrown
|
|
24
|
+
* error IS the by-id confirmation that a killed sandbox is gone. Optional: older SDKs may
|
|
25
|
+
* lack it, so callers fall back to kill()'s own boolean rather than ever calling Sandbox.list.
|
|
26
|
+
*/
|
|
27
|
+
getInfo?(sandboxId: string, options?: {
|
|
28
|
+
requestTimeoutMs?: number;
|
|
29
|
+
}): Promise<E2BSandboxInfo>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
interface E2BSandboxInfo {
|
|
33
|
+
id?: string;
|
|
34
|
+
metadata?: Record<string, string>;
|
|
35
|
+
sandboxID?: string;
|
|
36
|
+
sandboxId?: string;
|
|
37
|
+
state?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Sandbox egress policy. Domain filtering works for HTTP on :80 (Host header) and TLS on :443
|
|
40
|
+
* (SNI); other ports need IPs. Passed straight through to the E2B SDK's `network` option. */
|
|
41
|
+
export interface E2BNetworkOptions {
|
|
42
|
+
/** Hosts (or CIDRs) the sandbox may reach. Wildcards like `*.example.com` cover subdomains at
|
|
43
|
+
* any depth; the apex is separate and needs its own entry. */
|
|
44
|
+
allowOut?: string[];
|
|
45
|
+
/** Denied traffic. `["0.0.0.0/0"]` with a populated allowOut is the deny-all-but shape. */
|
|
46
|
+
denyOut?: string[];
|
|
47
|
+
/** Static per-host HTTPS header transforms (E2B network rules). Header values override the
|
|
48
|
+
* outbound request's values. These may contain secrets: never persist or log this object.
|
|
49
|
+
* This is a structural subset of the installed SDK's SandboxNetworkRules contract. */
|
|
50
|
+
rules?: Record<string, {
|
|
51
|
+
transform?: {
|
|
52
|
+
headers?: Record<string, string>;
|
|
53
|
+
};
|
|
54
|
+
}[]>;
|
|
55
|
+
}
|
|
56
|
+
export interface E2BDesktopCreateOptions {
|
|
57
|
+
apiKey: string;
|
|
58
|
+
dpi?: number;
|
|
59
|
+
envs?: Record<string, string>;
|
|
60
|
+
/** Routing and optional header transforms; absent allowOut/denyOut retains unrestricted egress. */
|
|
61
|
+
network?: E2BNetworkOptions;
|
|
62
|
+
lifecycle?: {
|
|
63
|
+
onTimeout: "kill" | "pause";
|
|
64
|
+
};
|
|
65
|
+
metadata?: Record<string, string>;
|
|
66
|
+
requestTimeoutMs?: number;
|
|
67
|
+
resolution?: [number, number];
|
|
68
|
+
timeoutMs?: number;
|
|
69
|
+
}
|
|
70
|
+
export interface E2BCommandRunOptions {
|
|
71
|
+
background?: boolean;
|
|
72
|
+
stdin?: boolean;
|
|
73
|
+
cwd?: string;
|
|
74
|
+
envs?: Record<string, string>;
|
|
75
|
+
onStderr?: (data: string) => void | Promise<void>;
|
|
76
|
+
onStdout?: (data: string) => void | Promise<void>;
|
|
77
|
+
requestTimeoutMs?: number;
|
|
78
|
+
timeoutMs?: number;
|
|
79
|
+
}
|
|
80
|
+
export interface E2BCommandResult {
|
|
81
|
+
/** Present on the installed SDK's background CommandHandle. */
|
|
82
|
+
pid?: number;
|
|
83
|
+
error?: string;
|
|
84
|
+
exitCode?: number;
|
|
85
|
+
stderr?: string;
|
|
86
|
+
stdout?: string;
|
|
87
|
+
/** Streaming command handle, returned only when background is true. */
|
|
88
|
+
sendStdin?(data: string | Uint8Array, options?: {
|
|
89
|
+
requestTimeoutMs?: number;
|
|
90
|
+
}): Promise<void>;
|
|
91
|
+
closeStdin?(options?: {
|
|
92
|
+
requestTimeoutMs?: number;
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
kill?(): Promise<boolean>;
|
|
95
|
+
wait?(): Promise<E2BCommandResult>;
|
|
96
|
+
}
|
|
97
|
+
export interface E2BDesktopSandbox {
|
|
98
|
+
sandboxId: string;
|
|
99
|
+
/** Read the owned allocation's actual resources; available on the current E2B SDK. */
|
|
100
|
+
getInfo?(options?: {
|
|
101
|
+
requestTimeoutMs?: number;
|
|
102
|
+
signal?: AbortSignal;
|
|
103
|
+
}): Promise<{
|
|
104
|
+
cpuCount?: number;
|
|
105
|
+
memoryMB?: number;
|
|
106
|
+
}>;
|
|
107
|
+
commands: {
|
|
108
|
+
run(command: string, options?: E2BCommandRunOptions): Promise<E2BCommandResult>;
|
|
109
|
+
};
|
|
110
|
+
files: {
|
|
111
|
+
read?(path: string, options: {
|
|
112
|
+
format: "stream";
|
|
113
|
+
requestTimeoutMs?: number;
|
|
114
|
+
streamIdleTimeoutMs?: number;
|
|
115
|
+
signal?: AbortSignal;
|
|
116
|
+
}): Promise<import("node:stream/web").ReadableStream<Uint8Array>>;
|
|
117
|
+
write(path: string, data: string | ArrayBuffer, options?: {
|
|
118
|
+
requestTimeoutMs?: number;
|
|
119
|
+
useOctetStream?: boolean;
|
|
120
|
+
}): Promise<unknown>;
|
|
121
|
+
};
|
|
122
|
+
launch(application: string, uri?: string): Promise<void>;
|
|
123
|
+
/** Open a file or URL with the desktop's default application (present on @e2b/desktop >= 1.x). */
|
|
124
|
+
open?(fileOrUrl: string): Promise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Map an in-sandbox port to a reachable host URL — `https://<port>-<sandboxId>.e2b.app`,
|
|
127
|
+
* TOKENLESS (no authKey, unlike `stream.getUrl`). The base `e2b` SDK (v2.27.0) implements this;
|
|
128
|
+
* the wrapper just exposes it. Used by the CONCURRENT shared-world topology (#164 phase 2) to
|
|
129
|
+
* expose the ONE subject service plane to N actor sandboxes. Optional: older SDKs may lack it, so
|
|
130
|
+
* the concurrent backend fails closed when it is absent rather than calling a missing method.
|
|
131
|
+
*/
|
|
132
|
+
getHost?(port: number): string;
|
|
133
|
+
screenshot(format?: "bytes"): Promise<Uint8Array>;
|
|
134
|
+
wait(ms: number): Promise<void>;
|
|
135
|
+
leftClick(x?: number, y?: number): Promise<void>;
|
|
136
|
+
rightClick(x?: number, y?: number): Promise<void>;
|
|
137
|
+
middleClick(x?: number, y?: number): Promise<void>;
|
|
138
|
+
doubleClick(x?: number, y?: number): Promise<void>;
|
|
139
|
+
moveMouse(x: number, y: number): Promise<void>;
|
|
140
|
+
getCursorPosition?(): Promise<{
|
|
141
|
+
x: number;
|
|
142
|
+
y: number;
|
|
143
|
+
}>;
|
|
144
|
+
scroll(direction?: "up" | "down", amount?: number): Promise<void>;
|
|
145
|
+
write(text: string): Promise<void>;
|
|
146
|
+
press(key: string | string[]): Promise<void>;
|
|
147
|
+
drag(from: [number, number], to: [number, number]): Promise<void>;
|
|
148
|
+
stream: {
|
|
149
|
+
getAuthKey(): string;
|
|
150
|
+
getUrl(options?: {
|
|
151
|
+
authKey?: string;
|
|
152
|
+
autoConnect?: boolean;
|
|
153
|
+
resize?: "off" | "scale" | "remote";
|
|
154
|
+
viewOnly?: boolean;
|
|
155
|
+
}): string;
|
|
156
|
+
start(options?: {
|
|
157
|
+
requireAuth?: boolean;
|
|
158
|
+
windowId?: string;
|
|
159
|
+
}): Promise<void>;
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export declare function loadE2BDesktopModule(): Promise<E2BDesktopModule>;
|
|
163
|
+
export declare const DESKTOP_CREATE_CLEANUP_TIMEOUT_MS = 10000;
|
|
164
|
+
type DesktopCreateCleanup = "killed" | "already_gone" | "unconfirmed";
|
|
165
|
+
/** Startup failed after this call acquired a handle. No credentials/options are included here. */
|
|
166
|
+
export declare class E2BDesktopStartupError extends Error {
|
|
167
|
+
readonly cleanup: DesktopCreateCleanup;
|
|
168
|
+
constructor(error: unknown, cleanup: DesktopCreateCleanup);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Preserve ownership before the desktop SDK starts Xvfb/XFCE (#581). Its public generic create
|
|
172
|
+
* constructs `new this(...)` through the base SDK, then awaits desktop startup. Newer SDKs
|
|
173
|
+
* attempt their own kill before rejecting create; older SDKs leave cleanup to the caller.
|
|
174
|
+
* Both paths share one bounded cleanup result so an internal kill cannot delay our deadline
|
|
175
|
+
* or cause a second cleanup request. Successful creation restores normal kill semantics.
|
|
176
|
+
* Each call gets a separate subclass/closure so concurrent attempts cannot exchange handles.
|
|
177
|
+
*
|
|
178
|
+
* This deliberately depends on SDK construction order, not a copied private `_start` method.
|
|
179
|
+
* The real installed SDK's debug-mode conformance test must pass on dependency updates: the
|
|
180
|
+
* constructor must run before bootstrap and public create must preserve its subclass type.
|
|
181
|
+
* Failures before a constructor returns still have no acquired handle and remain unproven.
|
|
182
|
+
*/
|
|
183
|
+
export declare function guardDesktopSandboxCreate(module: E2BDesktopModule): E2BDesktopModule;
|
|
184
|
+
/**
|
|
185
|
+
* Detect a SandboxNotFoundError-shaped error from the real @e2b/desktop SDK, WITHOUT importing
|
|
186
|
+
* its class (this module stays optional-peer / lazily-loaded, same as everything else here).
|
|
187
|
+
* The real SDK sets `this.name = "SandboxNotFoundError"` on the class (it extends the
|
|
188
|
+
* deprecated NotFoundError), so checking `.name` is the stable, import-free detection contract.
|
|
189
|
+
* The constructor-name fallback covers a bundler/transpile shape where `.name` was not copied
|
|
190
|
+
* onto the instance. A thrown SandboxNotFoundError from Sandbox.getInfo(id) is the by-id proof
|
|
191
|
+
* that the exact sandbox humanish created is gone (confirmed reclaimed), never a re-list.
|
|
192
|
+
*/
|
|
193
|
+
export declare function isSandboxNotFoundError(error: unknown): boolean;
|
|
194
|
+
export {};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// Shared E2B desktop substrate: the optional-peer loader + the structural interfaces for the
|
|
2
|
+
// real @e2b/desktop Sandbox. Every desktop route launches through this one seam; the peer dep is
|
|
3
|
+
// optional and lazily loaded, so it stays out of the published tarball and CI.
|
|
4
|
+
//
|
|
5
|
+
// E2BDesktopSandbox is the command, file, stream, launch and input subset the lanes use; `open` is
|
|
6
|
+
// optional because older SDKs lack it (the computer-use lane then falls back to launch). It
|
|
7
|
+
// satisfies the executor's E2BDesktopLike port (src/substrates/e2b/desktop-executor.ts) as is.
|
|
8
|
+
import { sep } from "node:path";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
10
|
+
import { protectDesktopScreenshotCleanup } from "./desktop-screenshot-cleanup.js";
|
|
11
|
+
export async function loadE2BDesktopModule() {
|
|
12
|
+
try {
|
|
13
|
+
return guardDesktopSandboxCreate((await import("@e2b/desktop")));
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
if (isMissingE2BDesktopDependency(error)) {
|
|
17
|
+
throw new Error(runningFromProject()
|
|
18
|
+
? "Live E2B desktop launch requires the optional peer @e2b/desktop. Install it beside humanish " +
|
|
19
|
+
"in this project: `npm i -D @e2b/desktop`."
|
|
20
|
+
: "Live E2B desktop launch requires the optional peer @e2b/desktop, and humanish is running from an " +
|
|
21
|
+
"npx cache rather than from this project — so installing the peer here cannot help, because Node " +
|
|
22
|
+
"resolves it relative to humanish itself. Install BOTH into the project and run it from there: " +
|
|
23
|
+
"`npm i -D humanish @e2b/desktop` then `npx humanish run <lab>`.");
|
|
24
|
+
}
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export const DESKTOP_CREATE_CLEANUP_TIMEOUT_MS = 10_000;
|
|
29
|
+
/** Startup failed after this call acquired a handle. No credentials/options are included here. */
|
|
30
|
+
export class E2BDesktopStartupError extends Error {
|
|
31
|
+
cleanup;
|
|
32
|
+
constructor(error, cleanup) {
|
|
33
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
34
|
+
const cleanupNote = cleanup === "killed"
|
|
35
|
+
? "the allocated sandbox was reclaimed"
|
|
36
|
+
: cleanup === "already_gone"
|
|
37
|
+
? "the allocated sandbox was already gone"
|
|
38
|
+
: "cleanup of the allocated sandbox was not confirmed; no retry is allowed and its provider timeout remains the backstop";
|
|
39
|
+
super(`Desktop startup failed after allocation; ${cleanupNote}. ${detail}`, { cause: error });
|
|
40
|
+
this.cleanup = cleanup;
|
|
41
|
+
this.name = "E2BDesktopStartupError";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Preserve ownership before the desktop SDK starts Xvfb/XFCE (#581). Its public generic create
|
|
46
|
+
* constructs `new this(...)` through the base SDK, then awaits desktop startup. Newer SDKs
|
|
47
|
+
* attempt their own kill before rejecting create; older SDKs leave cleanup to the caller.
|
|
48
|
+
* Both paths share one bounded cleanup result so an internal kill cannot delay our deadline
|
|
49
|
+
* or cause a second cleanup request. Successful creation restores normal kill semantics.
|
|
50
|
+
* Each call gets a separate subclass/closure so concurrent attempts cannot exchange handles.
|
|
51
|
+
*
|
|
52
|
+
* This deliberately depends on SDK construction order, not a copied private `_start` method.
|
|
53
|
+
* The real installed SDK's debug-mode conformance test must pass on dependency updates: the
|
|
54
|
+
* constructor must run before bootstrap and public create must preserve its subclass type.
|
|
55
|
+
* Failures before a constructor returns still have no acquired handle and remain unproven.
|
|
56
|
+
*/
|
|
57
|
+
export function guardDesktopSandboxCreate(module) {
|
|
58
|
+
const SdkSandbox = module.Sandbox;
|
|
59
|
+
class GuardedSandbox extends SdkSandbox {
|
|
60
|
+
static async create(templateOrOptions, options) {
|
|
61
|
+
const createOptions = typeof templateOrOptions === "string" ? options : templateOrOptions;
|
|
62
|
+
const requestedTimeout = createOptions?.requestTimeoutMs;
|
|
63
|
+
const timeoutMs = requestedTimeout !== undefined && Number.isFinite(requestedTimeout) && requestedTimeout > 0
|
|
64
|
+
? Math.min(requestedTimeout, DESKTOP_CREATE_CLEANUP_TIMEOUT_MS)
|
|
65
|
+
: DESKTOP_CREATE_CLEANUP_TIMEOUT_MS;
|
|
66
|
+
let cleanupOwned;
|
|
67
|
+
let restoreKill;
|
|
68
|
+
// oxlint-disable-next-line typescript/no-this-alias -- the attempt subclasses whichever SDK class was called
|
|
69
|
+
const CallingSandbox = this;
|
|
70
|
+
class AttemptSandbox extends CallingSandbox {
|
|
71
|
+
constructor(...args) {
|
|
72
|
+
super(...args);
|
|
73
|
+
const kill = this.kill.bind(this);
|
|
74
|
+
const ownKill = Object.getOwnPropertyDescriptor(this, "kill");
|
|
75
|
+
let receipt;
|
|
76
|
+
const reclaim = () => (receipt ??= reclaimFailedDesktopCreate(kill, timeoutMs));
|
|
77
|
+
cleanupOwned = reclaim;
|
|
78
|
+
// SDK 2.4 calls this method before create rejects. Keep its boolean contract while
|
|
79
|
+
// recording unconfirmed cleanup independently of the SDK's catch-and-discard path.
|
|
80
|
+
this.kill = async () => {
|
|
81
|
+
const cleanup = await reclaim();
|
|
82
|
+
if (cleanup === "unconfirmed")
|
|
83
|
+
throw new Error("Desktop startup cleanup was not confirmed");
|
|
84
|
+
return cleanup === "killed";
|
|
85
|
+
};
|
|
86
|
+
restoreKill = () => {
|
|
87
|
+
if (ownKill)
|
|
88
|
+
Object.defineProperty(this, "kill", ownKill);
|
|
89
|
+
else
|
|
90
|
+
Reflect.deleteProperty(this, "kill");
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
const args = typeof templateOrOptions === "string"
|
|
96
|
+
? [templateOrOptions, options]
|
|
97
|
+
: [templateOrOptions];
|
|
98
|
+
const desktop = (await Reflect.apply(SdkSandbox.create, AttemptSandbox, args));
|
|
99
|
+
restoreKill?.();
|
|
100
|
+
// The loader also serves direct Sandbox.create callers, such as the terminal route.
|
|
101
|
+
return protectDesktopScreenshotCleanup(desktop);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
if (cleanupOwned === undefined)
|
|
105
|
+
throw error;
|
|
106
|
+
const cleanup = await cleanupOwned();
|
|
107
|
+
throw new E2BDesktopStartupError(error, cleanup);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return { ...module, Sandbox: GuardedSandbox };
|
|
112
|
+
}
|
|
113
|
+
async function reclaimFailedDesktopCreate(kill, timeoutMs) {
|
|
114
|
+
const controller = new AbortController();
|
|
115
|
+
let timer;
|
|
116
|
+
try {
|
|
117
|
+
const result = await Promise.race([
|
|
118
|
+
kill({ requestTimeoutMs: timeoutMs, signal: controller.signal }),
|
|
119
|
+
new Promise((_resolve, reject) => {
|
|
120
|
+
timer = setTimeout(() => {
|
|
121
|
+
controller.abort();
|
|
122
|
+
reject(new Error("desktop create cleanup deadline reached"));
|
|
123
|
+
}, timeoutMs);
|
|
124
|
+
}),
|
|
125
|
+
]);
|
|
126
|
+
// The installed SDK documents false as an exact-id 404: already absent is also reclaimed.
|
|
127
|
+
return result === true ? "killed" : result === false ? "already_gone" : "unconfirmed";
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// Do not serialize cleanup options, connection state, or provider errors that may echo auth.
|
|
131
|
+
return "unconfirmed";
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
if (timer !== undefined)
|
|
135
|
+
clearTimeout(timer);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Is humanish running from this project's node_modules, or from an npx cache?
|
|
140
|
+
*
|
|
141
|
+
* It decides which advice is TRUE. `npx humanish@latest` resolves its optional peer relative to
|
|
142
|
+
* ITSELF, so "install @e2b/desktop in this project" is advice that cannot work there — and that
|
|
143
|
+
* message cost two cold verification runs before the difference was noticed. A one-shot npx
|
|
144
|
+
* invocation cannot do a live desktop run at all; humanish has to be installed alongside the peer.
|
|
145
|
+
*/
|
|
146
|
+
function runningFromProject() {
|
|
147
|
+
const here = fileURLToPath(import.meta.url);
|
|
148
|
+
return here.startsWith(`${process.cwd()}${sep}node_modules${sep}`);
|
|
149
|
+
}
|
|
150
|
+
function isMissingE2BDesktopDependency(error) {
|
|
151
|
+
const value = error;
|
|
152
|
+
return value.code === "ERR_MODULE_NOT_FOUND" && value.message?.includes("@e2b/desktop") === true;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Detect a SandboxNotFoundError-shaped error from the real @e2b/desktop SDK, WITHOUT importing
|
|
156
|
+
* its class (this module stays optional-peer / lazily-loaded, same as everything else here).
|
|
157
|
+
* The real SDK sets `this.name = "SandboxNotFoundError"` on the class (it extends the
|
|
158
|
+
* deprecated NotFoundError), so checking `.name` is the stable, import-free detection contract.
|
|
159
|
+
* The constructor-name fallback covers a bundler/transpile shape where `.name` was not copied
|
|
160
|
+
* onto the instance. A thrown SandboxNotFoundError from Sandbox.getInfo(id) is the by-id proof
|
|
161
|
+
* that the exact sandbox humanish created is gone (confirmed reclaimed), never a re-list.
|
|
162
|
+
*/
|
|
163
|
+
export function isSandboxNotFoundError(error) {
|
|
164
|
+
if (error === null || typeof error !== "object")
|
|
165
|
+
return false;
|
|
166
|
+
const value = error;
|
|
167
|
+
return (value.name === "SandboxNotFoundError" || value.constructor?.name === "SandboxNotFoundError");
|
|
168
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Shell } from "../shell.js";
|
|
2
|
+
import { type E2BDesktopSandbox } from "./sdk.js";
|
|
3
|
+
/** The part of an E2B sandbox handle a Shell needs. */
|
|
4
|
+
export type E2BShellHandle = Pick<E2BDesktopSandbox, "commands" | "files">;
|
|
5
|
+
/**
|
|
6
|
+
* A Shell over an E2B sandbox. The SDK throws CommandExitError on a non-zero exit; this returns
|
|
7
|
+
* it as a result. Methods are read from the handle on every call, so a handle whose methods are
|
|
8
|
+
* replaced later is still the one used.
|
|
9
|
+
*/
|
|
10
|
+
export declare function e2bShell(sandbox: E2BShellHandle): Shell;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { isCommandExitError } from "../command-failure.js";
|
|
2
|
+
import {} from "./sdk.js";
|
|
3
|
+
import { withOneRetryOnTransientE2BError } from "./sandbox.js";
|
|
4
|
+
/**
|
|
5
|
+
* A Shell over an E2B sandbox. The SDK throws CommandExitError on a non-zero exit; this returns
|
|
6
|
+
* it as a result. Methods are read from the handle on every call, so a handle whose methods are
|
|
7
|
+
* replaced later is still the one used.
|
|
8
|
+
*/
|
|
9
|
+
export function e2bShell(sandbox) {
|
|
10
|
+
const run = async (command, options) => {
|
|
11
|
+
try {
|
|
12
|
+
const result = await (options === undefined
|
|
13
|
+
? sandbox.commands.run(command)
|
|
14
|
+
: sandbox.commands.run(command, sdkOptions(options)));
|
|
15
|
+
return {
|
|
16
|
+
exitCode: result.exitCode ?? 0,
|
|
17
|
+
stdout: result.stdout ?? "",
|
|
18
|
+
stderr: result.stderr ?? "",
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (!isCommandExitError(error))
|
|
23
|
+
throw error;
|
|
24
|
+
return exitResult(error);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return {
|
|
28
|
+
run,
|
|
29
|
+
start: (command, options) => run(`setsid -f ${command} < /dev/null > /dev/null 2>&1`, options),
|
|
30
|
+
async writeFile(path, data, options) {
|
|
31
|
+
// Binary data goes as an octet stream, as the archive upload always has.
|
|
32
|
+
const writeOptions = {
|
|
33
|
+
...(options?.requestTimeoutMs === undefined
|
|
34
|
+
? {}
|
|
35
|
+
: { requestTimeoutMs: options.requestTimeoutMs }),
|
|
36
|
+
...(typeof data === "string" ? {} : { useOctetStream: true }),
|
|
37
|
+
};
|
|
38
|
+
const write = () => Object.keys(writeOptions).length === 0
|
|
39
|
+
? sandbox.files.write(path, data)
|
|
40
|
+
: sandbox.files.write(path, data, writeOptions);
|
|
41
|
+
if (options?.retryOnce === undefined)
|
|
42
|
+
await write();
|
|
43
|
+
else
|
|
44
|
+
await withOneRetryOnTransientE2BError(write, options.retryOnce);
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** The SDK names the per-command environment `envs`. */
|
|
49
|
+
function sdkOptions({ env, ...options }) {
|
|
50
|
+
return env === undefined ? options : { ...options, envs: { ...env } };
|
|
51
|
+
}
|
|
52
|
+
function exitResult(error) {
|
|
53
|
+
const e = error;
|
|
54
|
+
const text = (value) => (typeof value === "string" ? value : "");
|
|
55
|
+
return {
|
|
56
|
+
exitCode: typeof e.exitCode === "number" ? e.exitCode : 1,
|
|
57
|
+
stdout: text(e.stdout),
|
|
58
|
+
// The SDK puts the process's stderr in `stderr` and the envd reason in `error`/`message`.
|
|
59
|
+
stderr: text(e.stderr) || text(e.error) || text(e.message),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ExternalCommsCatch } from "../../comms/sandbox-catch.js";
|
|
2
|
+
/** Expose only this participant's existing catch pages through its local desktop. */
|
|
3
|
+
export declare function startLocalCapturedInbox(external: ExternalCommsCatch, address: string): Promise<{
|
|
4
|
+
url: string;
|
|
5
|
+
close(): Promise<void>;
|
|
6
|
+
}>;
|