humanish 0.105.0 → 0.106.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +91 -94
- package/ARCHITECTURE.md +146 -0
- package/CHANGELOG.md +512 -0
- package/CONTEXT.md +51 -0
- package/CONTRIBUTING.md +113 -9
- package/README.md +213 -124
- package/SECURITY.md +1 -1
- package/TELEMETRY.md +112 -0
- package/dist/actors/affordance.d.ts +56 -0
- package/dist/actors/affordance.js +155 -0
- package/dist/actors/agent-session.js +42 -0
- package/dist/actors/codex/app-server-actor-trace.d.ts +11 -0
- package/dist/actors/codex/app-server-actor-trace.js +211 -0
- package/dist/actors/codex/app-server-client.d.ts +39 -0
- package/dist/actors/codex/app-server-client.js +116 -0
- package/dist/actors/codex/app-server-trace.d.ts +154 -0
- package/dist/actors/codex/app-server-trace.js +424 -0
- package/dist/actors/codex/app-server-ui.d.ts +40 -0
- package/dist/actors/codex/app-server-ui.js +328 -0
- package/dist/actors/codex/app-server.d.ts +44 -0
- package/dist/actors/codex/app-server.js +268 -0
- package/dist/actors/codex/qualified-versions.d.ts +45 -0
- package/dist/actors/codex/qualified-versions.js +87 -0
- package/dist/actors/codex/restricted-executable.d.ts +17 -0
- package/dist/actors/codex/restricted-executable.js +147 -0
- package/dist/actors/codex/restricted-launch.d.ts +116 -0
- package/dist/actors/codex/restricted-launch.js +222 -0
- package/dist/actors/codex/restricted-participant-policy.d.ts +46 -0
- package/dist/actors/codex/restricted-participant-policy.js +82 -0
- package/dist/actors/codex/restricted-participant.d.ts +20 -0
- package/dist/actors/codex/restricted-participant.js +432 -0
- package/dist/actors/codex/restricted-policy.d.ts +70 -0
- package/dist/actors/codex/restricted-policy.js +326 -0
- package/dist/actors/codex/restricted-session.d.ts +65 -0
- package/dist/actors/codex/restricted-session.js +432 -0
- package/dist/actors/codex/restricted-transport.d.ts +73 -0
- package/dist/actors/codex/restricted-transport.js +335 -0
- package/dist/actors/codex/restricted-turn.d.ts +62 -0
- package/dist/actors/codex/restricted-turn.js +284 -0
- package/dist/actors/computer-use/actor.d.ts +77 -0
- package/dist/actors/computer-use/actor.js +78 -0
- package/dist/actors/computer-use/admission-limit.d.ts +12 -0
- package/dist/actors/computer-use/admission-limit.js +19 -0
- package/dist/actors/computer-use/executor-error.js +48 -0
- package/dist/actors/computer-use/loop/actions.d.ts +26 -0
- package/dist/actors/computer-use/loop/actions.js +245 -0
- package/dist/actors/computer-use/loop/backstop.d.ts +42 -0
- package/dist/actors/computer-use/loop/backstop.js +202 -0
- package/dist/actors/computer-use/loop/debrief.d.ts +19 -0
- package/dist/actors/computer-use/loop/debrief.js +164 -0
- package/dist/actors/computer-use/loop/ending.d.ts +86 -0
- package/dist/actors/computer-use/loop/ending.js +316 -0
- package/dist/actors/computer-use/loop/observation.d.ts +55 -0
- package/dist/actors/computer-use/loop/observation.js +246 -0
- package/dist/actors/computer-use/loop/output-limit.d.ts +11 -0
- package/dist/actors/computer-use/loop/output-limit.js +21 -0
- package/dist/actors/computer-use/loop/provider-call.d.ts +19 -0
- package/dist/actors/computer-use/loop/provider-call.js +208 -0
- package/dist/actors/computer-use/loop/race.d.ts +34 -0
- package/dist/actors/computer-use/loop/race.js +79 -0
- package/dist/actors/computer-use/loop/session.d.ts +77 -0
- package/dist/actors/computer-use/loop/session.js +135 -0
- package/dist/actors/computer-use/loop/spend.d.ts +30 -0
- package/dist/actors/computer-use/loop/spend.js +85 -0
- package/dist/actors/computer-use/loop/trace.d.ts +35 -0
- package/dist/actors/computer-use/loop/trace.js +140 -0
- package/dist/actors/computer-use/loop/types.d.ts +404 -0
- package/dist/actors/computer-use/loop/types.js +1 -0
- package/dist/actors/computer-use/loop/usage.d.ts +102 -0
- package/dist/actors/computer-use/loop/usage.js +355 -0
- package/dist/actors/computer-use/loop.d.ts +11 -0
- package/dist/actors/computer-use/loop.js +248 -0
- package/dist/actors/computer-use/openai-provider.d.ts +107 -0
- package/dist/actors/computer-use/openai-provider.js +472 -0
- package/dist/actors/computer-use/openai-requests.d.ts +35 -0
- package/dist/actors/computer-use/openai-requests.js +74 -0
- package/dist/actors/computer-use/openai-wire.d.ts +67 -0
- package/dist/actors/computer-use/openai-wire.js +365 -0
- package/dist/actors/computer-use/provider-error.d.ts +27 -0
- package/dist/actors/computer-use/provider-error.js +86 -0
- package/dist/actors/computer-use/speech.js +6 -0
- package/dist/actors/contract.d.ts +315 -0
- package/dist/actors/contract.js +207 -0
- package/dist/actors/goal-source.js +38 -0
- package/dist/actors/local-agent/claude-session.d.ts +43 -0
- package/dist/actors/local-agent/claude-session.js +370 -0
- package/dist/actors/local-agent/cli.d.ts +115 -0
- package/dist/actors/local-agent/cli.js +413 -0
- package/dist/actors/local-agent/readiness.d.ts +31 -0
- package/dist/actors/local-agent/readiness.js +45 -0
- package/dist/actors/openai-endpoint.d.ts +2 -0
- package/dist/actors/openai-endpoint.js +2 -0
- package/dist/actors/output-token-limit.js +4 -0
- package/dist/actors/reasoning-effort.js +33 -0
- package/dist/actors/registry.d.ts +59 -0
- package/dist/actors/registry.js +89 -0
- package/dist/actors/scripted-browser/actor.d.ts +49 -0
- package/dist/actors/scripted-browser/actor.js +428 -0
- package/dist/actors/scripted-browser/browser-command.d.ts +1 -0
- package/dist/actors/scripted-browser/browser-command.js +48 -0
- package/dist/actors/scripted-browser/journey.d.ts +9 -0
- package/dist/actors/scripted-browser/journey.js +171 -0
- package/dist/actors/scripted-browser/steps.d.ts +60 -0
- package/dist/actors/scripted-browser/steps.js +384 -0
- package/dist/actors/scripted-browser/types.d.ts +135 -0
- package/dist/actors/scripted-browser/types.js +26 -0
- package/dist/actors/stop-cause.d.ts +9 -0
- package/dist/actors/stop-cause.js +42 -0
- package/dist/actors/stop-conditions.d.ts +40 -0
- package/dist/actors/stop-conditions.js +65 -0
- package/dist/analysis/automatic-completion.d.ts +38 -0
- package/dist/analysis/automatic-completion.js +90 -0
- package/dist/analysis/automatic-config.d.ts +41 -0
- package/dist/analysis/automatic-config.js +135 -0
- package/dist/analysis/automatic.d.ts +17 -0
- package/dist/analysis/automatic.js +279 -0
- package/dist/analysis/codex-config.d.ts +8 -0
- package/dist/analysis/codex-config.js +69 -0
- package/dist/analysis/evidence-sources.d.ts +23 -0
- package/dist/analysis/evidence-sources.js +251 -0
- package/dist/analysis/evidence.d.ts +18 -0
- package/dist/analysis/evidence.js +482 -0
- package/dist/analysis/execute.d.ts +52 -0
- package/dist/analysis/execute.js +504 -0
- package/dist/analysis/image-tokens.d.ts +1 -0
- package/dist/analysis/image-tokens.js +41 -0
- package/dist/analysis/job.d.ts +97 -0
- package/dist/analysis/job.js +311 -0
- package/dist/analysis/load.d.ts +3 -0
- package/dist/analysis/load.js +11 -0
- package/dist/analysis/provider.d.ts +57 -0
- package/dist/analysis/provider.js +227 -0
- package/dist/analysis/restricted-codex.d.ts +19 -0
- package/dist/analysis/restricted-codex.js +23 -0
- package/dist/analysis/service.d.ts +72 -0
- package/dist/analysis/service.js +399 -0
- package/dist/analysis/sharing.d.ts +11 -0
- package/dist/analysis/sharing.js +44 -0
- package/dist/analysis/store-executions.d.ts +27 -0
- package/dist/analysis/store-executions.js +224 -0
- package/dist/analysis/store.d.ts +31 -0
- package/dist/analysis/store.js +315 -0
- package/dist/analysis/types.d.ts +217 -0
- package/dist/analysis/types.js +12 -0
- package/dist/analysis/validation.d.ts +225 -0
- package/dist/analysis/validation.js +562 -0
- package/dist/browser-control/client.d.ts +18 -0
- package/dist/browser-control/client.js +239 -0
- package/dist/browser-control/dispatcher.d.ts +19 -0
- package/dist/browser-control/dispatcher.js +221 -0
- package/dist/browser-control/protocol.d.ts +492 -0
- package/dist/browser-control/protocol.js +360 -0
- package/dist/browser-control/recording-transfer.d.ts +3 -0
- package/dist/browser-control/recording-transfer.js +48 -0
- package/dist/browser-control/transport.d.ts +27 -0
- package/dist/browser-control/transport.js +189 -0
- package/dist/cli/commands/analysis-signals.d.ts +7 -0
- package/dist/cli/commands/analysis-signals.js +25 -0
- package/dist/cli/commands/analyze.d.ts +3 -0
- package/dist/cli/commands/analyze.js +212 -0
- package/dist/cli/commands/codex.d.ts +3 -0
- package/dist/cli/commands/codex.js +145 -0
- package/dist/cli/commands/comms.d.ts +3 -0
- package/dist/cli/commands/comms.js +225 -0
- package/dist/cli/commands/feedback.d.ts +3 -0
- package/dist/cli/commands/feedback.js +138 -0
- package/dist/cli/commands/lab-format.d.ts +8 -0
- package/dist/cli/commands/lab-format.js +105 -0
- package/dist/cli/commands/lab-route-computer-use.d.ts +20 -0
- package/dist/cli/commands/lab-route-computer-use.js +251 -0
- package/dist/cli/commands/lab-route-open.d.ts +27 -0
- package/dist/cli/commands/lab-route-open.js +37 -0
- package/dist/cli/commands/lab-route-preview.d.ts +20 -0
- package/dist/cli/commands/lab-route-preview.js +74 -0
- package/dist/cli/commands/lab-route-run.d.ts +17 -0
- package/dist/cli/commands/lab-route-run.js +31 -0
- package/dist/cli/commands/lab-route-scripted.d.ts +19 -0
- package/dist/cli/commands/lab-route-scripted.js +50 -0
- package/dist/cli/commands/lab-route-shared-world.d.ts +20 -0
- package/dist/cli/commands/lab-route-shared-world.js +135 -0
- package/dist/cli/commands/lab-route-terminal.d.ts +19 -0
- package/dist/cli/commands/lab-route-terminal.js +49 -0
- package/dist/cli/commands/lab-run.d.ts +9 -0
- package/dist/cli/commands/lab-run.js +166 -0
- package/dist/cli/commands/lab-scorer.d.ts +30 -0
- package/dist/cli/commands/lab-scorer.js +17 -0
- package/dist/cli/commands/lab.d.ts +3 -0
- package/dist/cli/commands/lab.js +193 -0
- package/dist/cli/commands/observe.d.ts +4 -0
- package/dist/cli/commands/observe.js +345 -0
- package/dist/cli/commands/runs.d.ts +11 -0
- package/dist/cli/commands/runs.js +314 -0
- package/dist/cli/commands/setup.d.ts +11 -0
- package/dist/cli/commands/setup.js +325 -0
- package/dist/cli/commands/tui.d.ts +32 -0
- package/dist/cli/commands/tui.js +305 -0
- package/dist/cli/commands/watch.d.ts +3 -0
- package/dist/cli/commands/watch.js +245 -0
- package/dist/cli/doctor.d.ts +39 -0
- package/dist/cli/doctor.js +263 -0
- package/dist/cli/first-run-path.d.ts +67 -0
- package/dist/cli/first-run-path.js +150 -0
- package/dist/cli/io.d.ts +85 -0
- package/dist/cli/io.js +232 -0
- package/dist/cli/observer-follow.d.ts +56 -0
- package/dist/cli/observer-follow.js +160 -0
- package/dist/cli/orientation.d.ts +30 -0
- package/dist/cli/orientation.js +114 -0
- package/dist/cli/program.d.ts +15 -0
- package/dist/cli/program.js +338 -0
- package/dist/cli/secret-prompt.js +39 -0
- package/dist/cli/telemetry.js +351 -0
- package/dist/cli.js +2 -4
- package/dist/comms/agentmail.d.ts +29 -0
- package/dist/comms/agentmail.js +568 -0
- package/dist/comms/capture-surface.d.ts +54 -0
- package/dist/comms/capture-surface.js +468 -0
- package/dist/comms/catch-host.d.ts +52 -0
- package/dist/comms/catch-host.js +192 -0
- package/dist/comms/connections.d.ts +20 -0
- package/dist/comms/connections.js +116 -0
- package/dist/comms/email-catch.d.ts +49 -0
- package/dist/comms/email-catch.js +236 -0
- package/dist/comms/extract.d.ts +7 -0
- package/dist/comms/extract.js +65 -0
- package/dist/comms/fake-inbox.d.ts +39 -0
- package/dist/comms/fake-inbox.js +136 -0
- package/dist/comms/images.d.ts +7 -0
- package/dist/comms/images.js +53 -0
- package/dist/comms/lease-store.d.ts +91 -0
- package/dist/comms/lease-store.js +600 -0
- package/dist/comms/providers.d.ts +30 -0
- package/dist/comms/providers.js +24 -0
- package/dist/comms/receiving-common.d.ts +17 -0
- package/dist/comms/receiving-common.js +82 -0
- package/dist/comms/receiving-evidence.d.ts +4 -0
- package/dist/comms/receiving-evidence.js +59 -0
- package/dist/comms/receiving-recovery.d.ts +22 -0
- package/dist/comms/receiving-recovery.js +100 -0
- package/dist/comms/receiving-render.d.ts +16 -0
- package/dist/comms/receiving-render.js +409 -0
- package/dist/comms/receiving-runtime.d.ts +41 -0
- package/dist/comms/receiving-runtime.js +66 -0
- package/dist/comms/receiving-surface.d.ts +8 -0
- package/dist/comms/receiving-surface.js +156 -0
- package/dist/comms/receiving-types.d.ts +122 -0
- package/dist/comms/receiving-types.js +3 -0
- package/dist/comms/receiving.d.ts +33 -0
- package/dist/comms/receiving.js +508 -0
- package/dist/comms/sandbox-catch-script.d.ts +16 -0
- package/dist/comms/sandbox-catch-script.js +331 -0
- package/dist/comms/sandbox-catch.d.ts +214 -0
- package/dist/comms/sandbox-catch.js +451 -0
- package/dist/comms/setup.d.ts +65 -0
- package/dist/comms/setup.js +259 -0
- package/dist/comms/thread-evidence.d.ts +28 -0
- package/dist/comms/thread-evidence.js +30 -0
- package/dist/comms/types.d.ts +76 -0
- package/dist/comms/types.js +8 -0
- package/dist/deprecated.d.ts +90 -0
- package/dist/deprecated.js +106 -0
- package/dist/evidence/browser-hygiene.js +42 -0
- package/dist/evidence/desktop-recorder.d.ts +39 -0
- package/dist/evidence/desktop-recorder.js +340 -0
- package/dist/evidence/desktop-recording-artifact.d.ts +5 -0
- package/dist/evidence/desktop-recording-artifact.js +53 -0
- package/dist/evidence/desktop-recording-types.d.ts +27 -0
- package/dist/evidence/desktop-recording-types.js +16 -0
- package/dist/evidence/encoded-text.d.ts +27 -0
- package/dist/evidence/encoded-text.js +243 -0
- package/dist/evidence/frame-signature.d.ts +17 -0
- package/dist/evidence/frame-signature.js +111 -0
- package/dist/evidence/image.d.ts +24 -0
- package/dist/evidence/image.js +170 -0
- package/dist/evidence/plain-text.d.ts +8 -0
- package/dist/evidence/plain-text.js +16 -0
- package/dist/evidence/redaction.d.ts +110 -0
- package/dist/evidence/redaction.js +329 -0
- package/dist/feedback/draft.d.ts +58 -0
- package/dist/feedback/draft.js +309 -0
- package/dist/feedback/export-bundle.d.ts +6 -0
- package/dist/feedback/export-bundle.js +585 -0
- package/dist/feedback/export.d.ts +50 -0
- package/dist/feedback/export.js +392 -0
- package/dist/feedback/feedback.d.ts +37 -0
- package/dist/feedback/feedback.js +282 -0
- package/dist/feedback/proof.d.ts +8 -0
- package/dist/feedback/proof.js +56 -0
- package/dist/guest/bootstrap.d.ts +55 -0
- package/dist/guest/bootstrap.js +348 -0
- package/dist/guest/browser-tools.d.ts +8 -0
- package/dist/guest/browser-tools.js +72 -0
- package/dist/guest/chromium-text.d.ts +62 -0
- package/dist/guest/chromium-text.js +386 -0
- package/dist/guest/desktop-executor.d.ts +57 -0
- package/dist/guest/desktop-executor.js +256 -0
- package/dist/guest/desktop-keys.d.ts +8 -0
- package/dist/guest/desktop-keys.js +89 -0
- package/dist/guest/desktop-media.d.ts +70 -0
- package/dist/guest/desktop-media.js +385 -0
- package/dist/guest/desktop-native.d.ts +14 -0
- package/dist/guest/desktop-native.js +156 -0
- package/dist/guest/media-config.d.ts +15 -0
- package/dist/guest/media-config.js +16 -0
- package/dist/guest/runtime-desktop.d.ts +45 -0
- package/dist/guest/runtime-desktop.js +420 -0
- package/dist/guest/runtime-processes.d.ts +28 -0
- package/dist/guest/runtime-processes.js +94 -0
- package/dist/guest/runtime.d.ts +31 -0
- package/dist/guest/runtime.js +124 -0
- package/dist/guest-media-worker.js +184 -48
- package/dist/guest-runtime-main.js +23 -10
- package/dist/guest-runtime-revision.js +1 -1
- package/dist/index.d.ts +32 -83
- package/dist/index.js +21 -42
- package/dist/keys/env-file.d.ts +15 -0
- package/dist/keys/env-file.js +109 -0
- package/dist/keys/key-resolution.d.ts +58 -0
- package/dist/keys/key-resolution.js +389 -0
- package/dist/lab/adapter-extension.d.ts +75 -0
- package/dist/lab/adapter-extension.js +253 -0
- package/dist/lab/adapter-scorer-loader.d.ts +43 -0
- package/dist/lab/adapter-scorer-loader.js +130 -0
- package/dist/lab/bag-overrides.d.ts +18 -0
- package/dist/lab/bag-overrides.js +121 -0
- package/dist/lab/composition-rules.d.ts +7 -0
- package/dist/lab/composition-rules.js +292 -0
- package/dist/lab/config.d.ts +7 -0
- package/dist/lab/config.js +208 -0
- package/dist/lab/device-presets.d.ts +97 -0
- package/dist/lab/device-presets.js +87 -0
- package/dist/lab/discover.d.ts +65 -0
- package/dist/lab/discover.js +422 -0
- package/dist/lab/doctor.d.ts +39 -0
- package/dist/lab/doctor.js +233 -0
- package/dist/lab/init-paths.d.ts +5 -0
- package/dist/lab/init-paths.js +89 -0
- package/dist/lab/init-plan.d.ts +20 -0
- package/dist/lab/init-plan.js +163 -0
- package/dist/lab/init-templates.d.ts +28 -0
- package/dist/lab/init-templates.js +416 -0
- package/dist/lab/init.d.ts +39 -0
- package/dist/lab/init.js +287 -0
- package/dist/lab/keys.d.ts +2 -0
- package/dist/lab/keys.js +264 -0
- package/dist/lab/parse/actors.d.ts +14 -0
- package/dist/lab/parse/actors.js +453 -0
- package/dist/lab/parse/comms.d.ts +12 -0
- package/dist/lab/parse/comms.js +246 -0
- package/dist/lab/parse/execution.d.ts +19 -0
- package/dist/lab/parse/execution.js +356 -0
- package/dist/lab/parse/subject-state.d.ts +30 -0
- package/dist/lab/parse/subject-state.js +179 -0
- package/dist/lab/parse/subject.d.ts +9 -0
- package/dist/lab/parse/subject.js +420 -0
- package/dist/lab/parse/values.d.ts +17 -0
- package/dist/lab/parse/values.js +65 -0
- package/dist/lab/participant-assignment.d.ts +12 -0
- package/dist/lab/participant-assignment.js +19 -0
- package/dist/lab/persona-resolve.d.ts +39 -0
- package/dist/lab/persona-resolve.js +118 -0
- package/dist/lab/persona.d.ts +39 -0
- package/dist/lab/persona.js +192 -0
- package/dist/lab/plan-base.d.ts +30 -0
- package/dist/lab/plan-base.js +126 -0
- package/dist/lab/plan-participants.d.ts +81 -0
- package/dist/lab/plan-participants.js +92 -0
- package/dist/lab/plan-types.d.ts +277 -0
- package/dist/lab/plan-types.js +5 -0
- package/dist/lab/plan.d.ts +27 -0
- package/dist/lab/plan.js +156 -0
- package/dist/lab/preflight-probes.d.ts +3 -0
- package/dist/lab/preflight-probes.js +312 -0
- package/dist/lab/preflight-result.d.ts +7 -0
- package/dist/lab/preflight-result.js +43 -0
- package/dist/lab/preflight.d.ts +95 -0
- package/dist/lab/preflight.js +117 -0
- package/dist/lab/route-inputs.d.ts +17 -0
- package/dist/lab/route-inputs.js +95 -0
- package/dist/lab/routing.d.ts +81 -0
- package/dist/lab/routing.js +214 -0
- package/dist/lab/run-lab-events.d.ts +69 -0
- package/dist/lab/run-lab-events.js +95 -0
- package/dist/lab/run-lab-options.d.ts +82 -0
- package/dist/lab/run-lab-options.js +399 -0
- package/dist/lab/summary.d.ts +60 -0
- package/dist/lab/summary.js +168 -0
- package/dist/lab/tasks.d.ts +91 -0
- package/dist/lab/tasks.js +139 -0
- package/dist/lab/types.d.ts +813 -0
- package/dist/lab/types.js +6 -0
- package/dist/lab/validation.d.ts +67 -0
- package/dist/lab/validation.js +387 -0
- package/dist/lab/warnings.d.ts +2 -0
- package/dist/lab/warnings.js +338 -0
- package/dist/observer/artifact.d.ts +23 -0
- package/dist/observer/artifact.js +235 -0
- package/dist/observer/data.d.ts +115 -0
- package/dist/observer/data.js +258 -0
- package/dist/observer/exposure.d.ts +64 -0
- package/dist/observer/exposure.js +143 -0
- package/dist/observer/http.js +50 -0
- package/dist/observer/library.js +190 -0
- package/dist/observer/listen.js +85 -0
- package/dist/observer/live.d.ts +9 -0
- package/dist/observer/live.js +25 -0
- package/dist/observer/pinned-files.d.ts +30 -0
- package/dist/observer/pinned-files.js +160 -0
- package/dist/observer/render.d.ts +69 -0
- package/dist/observer/render.js +350 -0
- package/dist/observer/run-inventory.d.ts +35 -0
- package/dist/observer/run-inventory.js +95 -0
- package/dist/observer/run-routes.d.ts +37 -0
- package/dist/observer/run-routes.js +373 -0
- package/dist/observer/serve.d.ts +97 -0
- package/dist/observer/serve.js +305 -0
- package/dist/observer/static.js +369 -0
- package/dist/observer/tunnel.js +112 -0
- package/dist/observer-app.html +9 -20
- package/dist/routes/computer-use/bundle-parts.d.ts +50 -0
- package/dist/routes/computer-use/bundle-parts.js +177 -0
- package/dist/routes/computer-use/bundle.d.ts +56 -0
- package/dist/routes/computer-use/bundle.js +184 -0
- package/dist/routes/computer-use/diagnostics.d.ts +38 -0
- package/dist/routes/computer-use/diagnostics.js +94 -0
- package/dist/routes/computer-use/e2b-desktop/comms.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/comms.js +225 -0
- package/dist/routes/computer-use/e2b-desktop/desktop.d.ts +3 -0
- package/dist/routes/computer-use/e2b-desktop/desktop.js +91 -0
- package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/fidelity.js +156 -0
- package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +18 -0
- package/dist/routes/computer-use/e2b-desktop/prepare.js +198 -0
- package/dist/routes/computer-use/e2b-desktop/start.d.ts +14 -0
- package/dist/routes/computer-use/e2b-desktop/start.js +193 -0
- package/dist/routes/computer-use/e2b-desktop/state.d.ts +65 -0
- package/dist/routes/computer-use/e2b-desktop/state.js +69 -0
- package/dist/routes/computer-use/e2b-desktop/teardown.d.ts +6 -0
- package/dist/routes/computer-use/e2b-desktop/teardown.js +152 -0
- package/dist/routes/computer-use/external-comms.d.ts +20 -0
- package/dist/routes/computer-use/external-comms.js +55 -0
- package/dist/routes/computer-use/fanout-bundle.d.ts +11 -0
- package/dist/routes/computer-use/fanout-bundle.js +274 -0
- package/dist/routes/computer-use/fanout-lanes.d.ts +15 -0
- package/dist/routes/computer-use/fanout-lanes.js +302 -0
- package/dist/routes/computer-use/in-process-desktop.d.ts +17 -0
- package/dist/routes/computer-use/in-process-desktop.js +40 -0
- package/dist/routes/computer-use/lanes.d.ts +35 -0
- package/dist/routes/computer-use/lanes.js +321 -0
- package/dist/routes/computer-use/legacy-lane-spec.d.ts +62 -0
- package/dist/routes/computer-use/legacy-lane-spec.js +39 -0
- package/dist/routes/computer-use/live-flush.d.ts +42 -0
- package/dist/routes/computer-use/live-flush.js +154 -0
- package/dist/routes/computer-use/local-tree-pack.d.ts +27 -0
- package/dist/routes/computer-use/local-tree-pack.js +47 -0
- package/dist/routes/computer-use/local-vm.d.ts +20 -0
- package/dist/routes/computer-use/local-vm.js +218 -0
- package/dist/routes/computer-use/participant-desktop.d.ts +63 -0
- package/dist/routes/computer-use/participant-desktop.js +33 -0
- package/dist/routes/computer-use/participant-facts.d.ts +6 -0
- package/dist/routes/computer-use/participant-facts.js +22 -0
- package/dist/routes/computer-use/participant-model.d.ts +30 -0
- package/dist/routes/computer-use/participant-model.js +223 -0
- package/dist/routes/computer-use/participant-prompt.d.ts +53 -0
- package/dist/routes/computer-use/participant-prompt.js +87 -0
- package/dist/routes/computer-use/participant-runs.d.ts +67 -0
- package/dist/routes/computer-use/participant-runs.js +255 -0
- package/dist/routes/computer-use/plan.d.ts +56 -0
- package/dist/routes/computer-use/plan.js +310 -0
- package/dist/routes/computer-use/preflight.d.ts +23 -0
- package/dist/routes/computer-use/preflight.js +89 -0
- package/dist/routes/computer-use/rerun-selection.d.ts +19 -0
- package/dist/routes/computer-use/rerun-selection.js +121 -0
- package/dist/routes/computer-use/result.d.ts +7 -0
- package/dist/routes/computer-use/result.js +292 -0
- package/dist/routes/computer-use/route.d.ts +33 -0
- package/dist/routes/computer-use/route.js +145 -0
- package/dist/routes/computer-use/run-lanes.d.ts +59 -0
- package/dist/routes/computer-use/run-lanes.js +135 -0
- package/dist/routes/computer-use/self-report.d.ts +21 -0
- package/dist/routes/computer-use/self-report.js +231 -0
- package/dist/routes/computer-use/setup.d.ts +133 -0
- package/dist/routes/computer-use/setup.js +359 -0
- package/dist/routes/computer-use/single-bundle.d.ts +97 -0
- package/dist/routes/computer-use/single-bundle.js +393 -0
- package/dist/routes/computer-use/subject-projection.d.ts +51 -0
- package/dist/routes/computer-use/subject-projection.js +159 -0
- package/dist/routes/computer-use/types.d.ts +538 -0
- package/dist/routes/computer-use/types.js +36 -0
- package/dist/routes/preview.d.ts +13 -0
- package/dist/routes/preview.js +36 -0
- package/dist/routes/scripted/bundle.d.ts +47 -0
- package/dist/routes/scripted/bundle.js +195 -0
- package/dist/routes/scripted/plan.d.ts +30 -0
- package/dist/routes/scripted/plan.js +95 -0
- package/dist/routes/scripted/result.d.ts +48 -0
- package/dist/routes/scripted/result.js +176 -0
- package/dist/routes/scripted/route.d.ts +28 -0
- package/dist/routes/scripted/route.js +218 -0
- package/dist/routes/scripted/scenario.d.ts +21 -0
- package/dist/routes/scripted/scenario.js +102 -0
- package/dist/routes/scripted/session-result.d.ts +8 -0
- package/dist/routes/scripted/session-result.js +60 -0
- package/dist/routes/scripted/setup.d.ts +45 -0
- package/dist/routes/scripted/setup.js +126 -0
- package/dist/routes/scripted/subject.d.ts +49 -0
- package/dist/routes/scripted/subject.js +157 -0
- package/dist/routes/scripted/surface-records.d.ts +26 -0
- package/dist/routes/scripted/surface-records.js +88 -0
- package/dist/routes/scripted/surface-sessions.d.ts +13 -0
- package/dist/routes/scripted/surface-sessions.js +40 -0
- package/dist/routes/scripted/types.d.ts +88 -0
- package/dist/routes/scripted/types.js +3 -0
- package/dist/routes/shared-world/bundle.d.ts +20 -0
- package/dist/routes/shared-world/bundle.js +446 -0
- package/dist/routes/shared-world/checkpoints.d.ts +25 -0
- package/dist/routes/shared-world/checkpoints.js +46 -0
- package/dist/routes/shared-world/comms.d.ts +68 -0
- package/dist/routes/shared-world/comms.js +176 -0
- package/dist/routes/shared-world/external-public.d.ts +21 -0
- package/dist/routes/shared-world/external-public.js +130 -0
- package/dist/routes/shared-world/handoff.d.ts +62 -0
- package/dist/routes/shared-world/handoff.js +348 -0
- package/dist/routes/shared-world/lobby-code.d.ts +25 -0
- package/dist/routes/shared-world/lobby-code.js +152 -0
- package/dist/routes/shared-world/plan.d.ts +27 -0
- package/dist/routes/shared-world/plan.js +174 -0
- package/dist/routes/shared-world/provenance.d.ts +27 -0
- package/dist/routes/shared-world/provenance.js +65 -0
- package/dist/routes/shared-world/provisioned.d.ts +57 -0
- package/dist/routes/shared-world/provisioned.js +506 -0
- package/dist/routes/shared-world/result.d.ts +18 -0
- package/dist/routes/shared-world/result.js +327 -0
- package/dist/routes/shared-world/route.d.ts +21 -0
- package/dist/routes/shared-world/route.js +277 -0
- package/dist/routes/shared-world/seat-records.d.ts +20 -0
- package/dist/routes/shared-world/seat-records.js +213 -0
- package/dist/routes/shared-world/seats.d.ts +38 -0
- package/dist/routes/shared-world/seats.js +208 -0
- package/dist/routes/shared-world/setup.d.ts +48 -0
- package/dist/routes/shared-world/setup.js +200 -0
- package/dist/routes/shared-world/types.d.ts +354 -0
- package/dist/routes/shared-world/types.js +29 -0
- package/dist/routes/terminal/adapter.d.ts +37 -0
- package/dist/routes/terminal/adapter.js +201 -0
- package/dist/routes/terminal/bundle.d.ts +79 -0
- package/dist/routes/terminal/bundle.js +305 -0
- package/dist/routes/terminal/credentials.d.ts +34 -0
- package/dist/routes/terminal/credentials.js +102 -0
- package/dist/routes/terminal/dry-run.d.ts +24 -0
- package/dist/routes/terminal/dry-run.js +157 -0
- package/dist/routes/terminal/encoding.js +79 -0
- package/dist/routes/terminal/ledger.d.ts +49 -0
- package/dist/routes/terminal/ledger.js +170 -0
- package/dist/routes/terminal/lifetime.d.ts +10 -0
- package/dist/routes/terminal/lifetime.js +22 -0
- package/dist/routes/terminal/live-finish.d.ts +31 -0
- package/dist/routes/terminal/live-finish.js +215 -0
- package/dist/routes/terminal/live-sandbox.d.ts +70 -0
- package/dist/routes/terminal/live-sandbox.js +456 -0
- package/dist/routes/terminal/persona.d.ts +20 -0
- package/dist/routes/terminal/persona.js +34 -0
- package/dist/routes/terminal/plan.d.ts +21 -0
- package/dist/routes/terminal/plan.js +115 -0
- package/dist/routes/terminal/recorder.d.ts +23 -0
- package/dist/routes/terminal/recorder.js +77 -0
- package/dist/routes/terminal/result.d.ts +47 -0
- package/dist/routes/terminal/result.js +114 -0
- package/dist/routes/terminal/route.d.ts +23 -0
- package/dist/routes/terminal/route.js +170 -0
- package/dist/routes/terminal/runtime-auth.d.ts +12 -0
- package/dist/routes/terminal/runtime-auth.js +23 -0
- package/dist/routes/terminal/runtime.d.ts +14 -0
- package/dist/routes/terminal/runtime.js +47 -0
- package/dist/routes/terminal/sandbox.d.ts +37 -0
- package/dist/routes/terminal/sandbox.js +123 -0
- package/dist/routes/terminal/session.d.ts +25 -0
- package/dist/routes/terminal/session.js +199 -0
- package/dist/routes/terminal/token-usage.d.ts +15 -0
- package/dist/routes/terminal/token-usage.js +93 -0
- package/dist/routes/terminal/trace.d.ts +40 -0
- package/dist/routes/terminal/trace.js +172 -0
- package/dist/routes/terminal/types.d.ts +342 -0
- package/dist/routes/terminal/types.js +31 -0
- package/dist/run/bundle-shape.d.ts +7 -0
- package/dist/run/bundle-shape.js +369 -0
- package/dist/run/bundle.d.ts +547 -0
- package/dist/run/bundle.js +44 -0
- package/dist/run/concurrency.js +24 -0
- package/dist/run/contained-output.d.ts +50 -0
- package/dist/run/contained-output.js +351 -0
- package/dist/run/cost-summary.d.ts +28 -0
- package/dist/run/cost-summary.js +213 -0
- package/dist/run/costs.js +140 -0
- package/dist/run/detail.d.ts +62 -0
- package/dist/run/detail.js +139 -0
- package/dist/run/dry-run-inputs.d.ts +9 -0
- package/dist/run/dry-run-inputs.js +90 -0
- package/dist/run/dry-run.d.ts +6 -0
- package/dist/run/dry-run.js +362 -0
- package/dist/run/feedback-shape.d.ts +7 -0
- package/dist/run/feedback-shape.js +89 -0
- package/dist/run/git-state.d.ts +35 -0
- package/dist/run/git-state.js +316 -0
- package/dist/run/git-workspace.d.ts +32 -0
- package/dist/run/git-workspace.js +450 -0
- package/dist/run/judge.d.ts +210 -0
- package/dist/run/judge.js +240 -0
- package/dist/run/locate.d.ts +22 -0
- package/dist/run/locate.js +122 -0
- package/dist/run/outcomes.d.ts +31 -0
- package/dist/run/outcomes.js +210 -0
- package/dist/run/participant-records.d.ts +28 -0
- package/dist/run/participant-records.js +63 -0
- package/dist/run/participant.d.ts +29 -0
- package/dist/run/participant.js +12 -0
- package/dist/run/paths.d.ts +79 -0
- package/dist/run/paths.js +356 -0
- package/dist/run/preflight-receipts.d.ts +46 -0
- package/dist/run/preflight-receipts.js +173 -0
- package/dist/run/pricing.d.ts +124 -0
- package/dist/run/pricing.js +298 -0
- package/dist/run/project.d.ts +8 -0
- package/dist/run/project.js +103 -0
- package/dist/run/projection.d.ts +184 -0
- package/dist/run/projection.js +356 -0
- package/dist/run/reclaim.d.ts +41 -0
- package/dist/run/reclaim.js +193 -0
- package/dist/run/results.d.ts +88 -0
- package/dist/run/results.js +3 -0
- package/dist/run/run-index.d.ts +107 -0
- package/dist/run/run-index.js +243 -0
- package/dist/run/run.d.ts +103 -0
- package/dist/run/run.js +199 -0
- package/dist/run/sandbox-receipts.d.ts +31 -0
- package/dist/run/sandbox-receipts.js +49 -0
- package/dist/run/shared-world-evidence.d.ts +220 -0
- package/dist/run/shared-world-evidence.js +49 -0
- package/dist/run/shared-world-shape.d.ts +26 -0
- package/dist/run/shared-world-shape.js +181 -0
- package/dist/run/stats.d.ts +82 -0
- package/dist/run/stats.js +258 -0
- package/dist/run/status.d.ts +111 -0
- package/dist/run/status.js +176 -0
- package/dist/run/stored-runs.d.ts +38 -0
- package/dist/run/stored-runs.js +273 -0
- package/dist/run/stream-shape.d.ts +4 -0
- package/dist/run/stream-shape.js +160 -0
- package/dist/run/streams.d.ts +257 -0
- package/dist/run/streams.js +12 -0
- package/dist/run/study-files.d.ts +35 -0
- package/dist/run/study-files.js +164 -0
- package/dist/run/terminal-contract.d.ts +25 -0
- package/dist/run/terminal-contract.js +47 -0
- package/dist/run/text.d.ts +2 -0
- package/dist/run/text.js +4 -0
- package/dist/run/transient-comms-secrets.js +72 -0
- package/dist/run/type-guards.d.ts +6 -0
- package/dist/run/type-guards.js +18 -0
- package/dist/run-lab.d.ts +110 -0
- package/dist/run-lab.js +148 -0
- package/dist/subject/clone.d.ts +37 -0
- package/dist/subject/clone.js +62 -0
- package/dist/subject/desktop-cli.d.ts +17 -0
- package/dist/subject/desktop-cli.js +51 -0
- package/dist/subject/local-tree-archive.d.ts +82 -0
- package/dist/subject/local-tree-archive.js +431 -0
- package/dist/subject/local-tree.d.ts +28 -0
- package/dist/subject/local-tree.js +58 -0
- package/dist/subject/node-bootstrap.d.ts +12 -0
- package/dist/subject/node-bootstrap.js +66 -0
- package/dist/subject/runtime.d.ts +13 -0
- package/dist/subject/runtime.js +50 -0
- package/dist/subject/serve.d.ts +39 -0
- package/dist/subject/serve.js +249 -0
- package/dist/subject/state.d.ts +23 -0
- package/dist/subject/state.js +58 -0
- package/dist/subject/steps.d.ts +37 -0
- package/dist/subject/steps.js +39 -0
- package/dist/substrates/command-failure.d.ts +23 -0
- package/dist/substrates/command-failure.js +45 -0
- package/dist/substrates/desktop-session.d.ts +43 -0
- package/dist/substrates/desktop-session.js +59 -0
- package/dist/substrates/detached.d.ts +55 -0
- package/dist/substrates/detached.js +139 -0
- package/dist/substrates/e2b/cdp-probe.d.ts +99 -0
- package/dist/substrates/e2b/cdp-probe.js +556 -0
- package/dist/substrates/e2b/desktop-browser.d.ts +81 -0
- package/dist/substrates/e2b/desktop-browser.js +410 -0
- package/dist/substrates/e2b/desktop-cdp.d.ts +77 -0
- package/dist/substrates/e2b/desktop-cdp.js +211 -0
- package/dist/substrates/e2b/desktop-executor.d.ts +92 -0
- package/dist/substrates/e2b/desktop-executor.js +302 -0
- package/dist/substrates/e2b/desktop-geometry.d.ts +83 -0
- package/dist/substrates/e2b/desktop-geometry.js +331 -0
- package/dist/substrates/e2b/desktop-media.d.ts +29 -0
- package/dist/substrates/e2b/desktop-media.js +151 -0
- package/dist/substrates/e2b/desktop-recording.d.ts +18 -0
- package/dist/substrates/e2b/desktop-recording.js +238 -0
- package/dist/substrates/e2b/desktop-resources.d.ts +11 -0
- package/dist/substrates/e2b/desktop-resources.js +35 -0
- package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +15 -0
- package/dist/substrates/e2b/desktop-screenshot-cleanup.js +66 -0
- package/dist/substrates/e2b/lifetime.d.ts +12 -0
- package/dist/substrates/e2b/lifetime.js +18 -0
- package/dist/substrates/e2b/sandbox.d.ts +104 -0
- package/dist/substrates/e2b/sandbox.js +216 -0
- package/dist/substrates/e2b/sdk.d.ts +205 -0
- package/dist/substrates/e2b/sdk.js +189 -0
- package/dist/substrates/e2b/shell.d.ts +10 -0
- package/dist/substrates/e2b/shell.js +61 -0
- package/dist/substrates/local/captured-inbox.d.ts +6 -0
- package/dist/substrates/local/captured-inbox.js +87 -0
- package/dist/substrates/local/firecracker-desktop.d.ts +25 -0
- package/dist/substrates/local/firecracker-desktop.js +315 -0
- package/dist/substrates/local/runtime-config.d.ts +6 -0
- package/dist/substrates/local/runtime-config.js +91 -0
- package/dist/substrates/local/runtime-host.d.ts +30 -0
- package/dist/substrates/local/runtime-host.js +143 -0
- package/dist/substrates/local/runtime-release.d.ts +5 -0
- package/dist/substrates/local/runtime-release.js +32 -0
- package/dist/substrates/local/runtime-ssh.d.ts +9 -0
- package/dist/substrates/local/runtime-ssh.js +129 -0
- package/dist/substrates/local/runtime.d.ts +25 -0
- package/dist/substrates/local/runtime.js +190 -0
- package/dist/substrates/shell.d.ts +44 -0
- package/dist/substrates/shell.js +22 -0
- package/dist/tui/actions.d.ts +39 -0
- package/dist/tui/actions.js +203 -0
- package/dist/tui/contract.d.ts +144 -0
- package/dist/tui/contract.js +52 -0
- package/dist/tui/launch.js +172 -0
- package/dist/tui/project.d.ts +10 -0
- package/dist/tui/project.js +17 -0
- package/dist/tui-app.js +125 -125
- package/dist/verify/actor.d.ts +27 -0
- package/dist/verify/actor.js +292 -0
- package/dist/verify/artifacts.d.ts +47 -0
- package/dist/verify/artifacts.js +373 -0
- package/dist/verify/costs.d.ts +30 -0
- package/dist/verify/costs.js +129 -0
- package/dist/verify/liveness.d.ts +7 -0
- package/dist/verify/liveness.js +72 -0
- package/dist/verify/rerun.d.ts +3 -0
- package/dist/verify/rerun.js +46 -0
- package/dist/verify/shared-world-concurrent.d.ts +11 -0
- package/dist/verify/shared-world-concurrent.js +346 -0
- package/dist/verify/shared-world.d.ts +8 -0
- package/dist/verify/shared-world.js +295 -0
- package/dist/verify/subject.d.ts +17 -0
- package/dist/verify/subject.js +123 -0
- package/dist/verify/verify.d.ts +34 -0
- package/dist/verify/verify.js +333 -0
- package/docs/README.md +67 -0
- package/docs/architecture/actor-contract.md +215 -174
- package/docs/architecture/browser-control.md +51 -37
- package/docs/architecture/comms-inbox.md +8 -8
- package/docs/architecture/desktop-recording.md +2 -2
- package/docs/architecture/desktop-sessions.md +33 -21
- package/docs/architecture/external-public-shared-world.md +80 -64
- package/docs/architecture/github-feedback-loop.md +40 -27
- package/docs/architecture/guest-desktop.md +22 -10
- package/docs/architecture/local-browser-runtime.md +30 -21
- package/docs/architecture/observer-review.md +9 -9
- package/docs/architecture/observer.md +53 -57
- package/docs/architecture/participant-media.md +3 -3
- package/docs/architecture/project-layout.md +33 -137
- package/docs/architecture/real-email-receiving.md +7 -6
- package/docs/architecture/restricted-codex-analysis.md +213 -25
- package/docs/architecture/serve.md +89 -87
- package/docs/architecture/state-driven-executor.md +79 -64
- package/docs/architecture/task-protocol-support.md +18 -18
- package/docs/architecture/terminal-product-lane.md +92 -86
- package/docs/contracts/adapter-admission.md +8 -4
- package/docs/contracts/adapter-fixtures.md +6 -6
- package/docs/contracts/core.md +22 -24
- package/docs/contracts/feedback.md +33 -23
- package/docs/contracts/policy.md +28 -31
- package/docs/contracts/run-bundle.md +168 -82
- package/docs/contracts/schemas.md +563 -379
- package/docs/contracts/study-analysis.md +2 -2
- package/docs/contracts/study-costs.md +12 -12
- package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +36 -0
- package/docs/decisions/0002-observer-is-one-self-contained-file.md +30 -0
- package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +35 -0
- package/docs/decisions/0004-participant-desktops-stay-in-the-route.md +31 -0
- package/docs/decisions/README.md +16 -0
- package/docs/goals/current.md +22 -50
- package/docs/principles/actor-fidelity.md +37 -40
- package/docs/principles/engineering.md +81 -0
- package/docs/principles/invariants-and-defaults.md +48 -45
- package/docs/principles/self-driving-harness.md +11 -10
- package/docs/principles/three-roles.md +12 -13
- package/docs/product/automatic-analysis.md +39 -9
- package/docs/product/lobby-trivia-3player-external-public.md +14 -13
- package/docs/product/open-source-install-experience.md +34 -38
- package/docs/ramp/README.md +91 -218
- package/docs/release/open-source-readiness.md +5 -2
- package/docs/release/public-readiness-standard.md +1 -1
- package/examples/README.md +11 -0
- package/examples/participant/README.md +80 -0
- package/examples/participant/app.mjs +55 -0
- package/examples/participant/run.mjs +116 -0
- package/examples/scorer/README.md +29 -0
- package/examples/scorer/run.mjs +63 -0
- package/examples/scorer/scorer.mjs +20 -0
- package/package.json +61 -57
- package/skills/humanish/SKILL.md +72 -60
- package/skills/humanish/agents/openai.yaml +2 -2
- package/dist/actor-contract.d.ts +0 -296
- package/dist/actor-contract.js +0 -340
- package/dist/actor-contract.js.map +0 -1
- package/dist/actor-goal-source.js +0 -32
- package/dist/actor-goal-source.js.map +0 -1
- package/dist/actor-registry.d.ts +0 -77
- package/dist/actor-registry.js +0 -106
- package/dist/actor-registry.js.map +0 -1
- package/dist/actor-stop-cause.d.ts +0 -9
- package/dist/actor-stop-cause.js +0 -42
- package/dist/actor-stop-cause.js.map +0 -1
- package/dist/adapter-extension.d.ts +0 -76
- package/dist/adapter-extension.js +0 -273
- package/dist/adapter-extension.js.map +0 -1
- package/dist/adapter-scorer-loader.d.ts +0 -42
- package/dist/adapter-scorer-loader.js +0 -129
- package/dist/adapter-scorer-loader.js.map +0 -1
- package/dist/affordance.d.ts +0 -53
- package/dist/affordance.js +0 -145
- package/dist/affordance.js.map +0 -1
- package/dist/agent-session.js +0 -43
- package/dist/agent-session.js.map +0 -1
- package/dist/argv.d.ts +0 -1
- package/dist/argv.js +0 -8
- package/dist/argv.js.map +0 -1
- package/dist/artifact-reference.d.ts +0 -22
- package/dist/artifact-reference.js +0 -47
- package/dist/artifact-reference.js.map +0 -1
- package/dist/automatic-analysis-completion.d.ts +0 -25
- package/dist/automatic-analysis-completion.js +0 -56
- package/dist/automatic-analysis-completion.js.map +0 -1
- package/dist/automatic-analysis-config.d.ts +0 -38
- package/dist/automatic-analysis-config.js +0 -68
- package/dist/automatic-analysis-config.js.map +0 -1
- package/dist/automatic-study-analysis.d.ts +0 -17
- package/dist/automatic-study-analysis.js +0 -195
- package/dist/automatic-study-analysis.js.map +0 -1
- package/dist/browser-control-client.d.ts +0 -18
- package/dist/browser-control-client.js +0 -176
- package/dist/browser-control-client.js.map +0 -1
- package/dist/browser-control-dispatcher.d.ts +0 -19
- package/dist/browser-control-dispatcher.js +0 -147
- package/dist/browser-control-dispatcher.js.map +0 -1
- package/dist/browser-control-protocol.d.ts +0 -472
- package/dist/browser-control-protocol.js +0 -185
- package/dist/browser-control-protocol.js.map +0 -1
- package/dist/browser-control-recording-transfer.d.ts +0 -4
- package/dist/browser-control-recording-transfer.js +0 -42
- package/dist/browser-control-recording-transfer.js.map +0 -1
- package/dist/browser-control-transport.d.ts +0 -27
- package/dist/browser-control-transport.js +0 -177
- package/dist/browser-control-transport.js.map +0 -1
- package/dist/browser-evidence-hygiene.js +0 -43
- package/dist/browser-evidence-hygiene.js.map +0 -1
- package/dist/chrome-cdp-probe.d.ts +0 -97
- package/dist/chrome-cdp-probe.js +0 -536
- package/dist/chrome-cdp-probe.js.map +0 -1
- package/dist/claude-agent-sdk.d.ts +0 -94
- package/dist/claude-agent-sdk.js +0 -367
- package/dist/claude-agent-sdk.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/codex-app-server-ui.d.ts +0 -39
- package/dist/codex-app-server-ui.js +0 -357
- package/dist/codex-app-server-ui.js.map +0 -1
- package/dist/codex-app-server.d.ts +0 -144
- package/dist/codex-app-server.js +0 -754
- package/dist/codex-app-server.js.map +0 -1
- package/dist/command-failure.d.ts +0 -43
- package/dist/command-failure.js +0 -73
- package/dist/command-failure.js.map +0 -1
- package/dist/comms-agentmail.d.ts +0 -25
- package/dist/comms-agentmail.js +0 -418
- package/dist/comms-agentmail.js.map +0 -1
- package/dist/comms-catch-host.d.ts +0 -52
- package/dist/comms-catch-host.js +0 -178
- package/dist/comms-catch-host.js.map +0 -1
- package/dist/comms-connections.d.ts +0 -52
- package/dist/comms-connections.js +0 -123
- package/dist/comms-connections.js.map +0 -1
- package/dist/comms-email-catch.d.ts +0 -54
- package/dist/comms-email-catch.js +0 -212
- package/dist/comms-email-catch.js.map +0 -1
- package/dist/comms-evidence.d.ts +0 -27
- package/dist/comms-evidence.js +0 -31
- package/dist/comms-evidence.js.map +0 -1
- package/dist/comms-fake-inbox.d.ts +0 -45
- package/dist/comms-fake-inbox.js +0 -184
- package/dist/comms-fake-inbox.js.map +0 -1
- package/dist/comms-images.d.ts +0 -7
- package/dist/comms-images.js +0 -39
- package/dist/comms-images.js.map +0 -1
- package/dist/comms-inbox.d.ts +0 -66
- package/dist/comms-inbox.js +0 -389
- package/dist/comms-inbox.js.map +0 -1
- package/dist/comms-lease-store.d.ts +0 -91
- package/dist/comms-lease-store.js +0 -495
- package/dist/comms-lease-store.js.map +0 -1
- package/dist/comms-receiving-evidence.d.ts +0 -46
- package/dist/comms-receiving-evidence.js +0 -35
- package/dist/comms-receiving-evidence.js.map +0 -1
- package/dist/comms-receiving-inbox.d.ts +0 -16
- package/dist/comms-receiving-inbox.js +0 -410
- package/dist/comms-receiving-inbox.js.map +0 -1
- package/dist/comms-receiving-runtime.d.ts +0 -25
- package/dist/comms-receiving-runtime.js +0 -45
- package/dist/comms-receiving-runtime.js.map +0 -1
- package/dist/comms-receiving-types.d.ts +0 -98
- package/dist/comms-receiving-types.js +0 -2
- package/dist/comms-receiving-types.js.map +0 -1
- package/dist/comms-receiving.d.ts +0 -58
- package/dist/comms-receiving.js +0 -554
- package/dist/comms-receiving.js.map +0 -1
- package/dist/comms-sandbox-catch.d.ts +0 -229
- package/dist/comms-sandbox-catch.js +0 -737
- package/dist/comms-sandbox-catch.js.map +0 -1
- package/dist/comms-setup.d.ts +0 -40
- package/dist/comms-setup.js +0 -121
- package/dist/comms-setup.js.map +0 -1
- package/dist/comms-types.d.ts +0 -72
- package/dist/comms-types.js +0 -10
- package/dist/comms-types.js.map +0 -1
- package/dist/computer-use-actor.d.ts +0 -76
- package/dist/computer-use-actor.js +0 -68
- package/dist/computer-use-actor.js.map +0 -1
- package/dist/computer-use.d.ts +0 -429
- package/dist/computer-use.js +0 -1751
- package/dist/computer-use.js.map +0 -1
- package/dist/concurrency.js +0 -27
- package/dist/concurrency.js.map +0 -1
- package/dist/concurrent-shared-world-lab.d.ts +0 -186
- package/dist/concurrent-shared-world-lab.js +0 -2181
- package/dist/concurrent-shared-world-lab.js.map +0 -1
- package/dist/core/git-state.d.ts +0 -33
- package/dist/core/git-state.js +0 -277
- package/dist/core/git-state.js.map +0 -1
- package/dist/core/git-workspace.d.ts +0 -31
- package/dist/core/git-workspace.js +0 -447
- package/dist/core/git-workspace.js.map +0 -1
- package/dist/core/index.d.ts +0 -4
- package/dist/core/index.js +0 -3
- package/dist/core/index.js.map +0 -1
- package/dist/core/run-primitives.d.ts +0 -66
- package/dist/core/run-primitives.js +0 -120
- package/dist/core/run-primitives.js.map +0 -1
- package/dist/cua-actor-lab.d.ts +0 -855
- package/dist/cua-actor-lab.js +0 -3543
- package/dist/cua-actor-lab.js.map +0 -1
- package/dist/cua-admission-limit.d.ts +0 -12
- package/dist/cua-admission-limit.js +0 -20
- package/dist/cua-admission-limit.js.map +0 -1
- package/dist/cua-desktop-lane.d.ts +0 -35
- package/dist/cua-desktop-lane.js +0 -13
- package/dist/cua-desktop-lane.js.map +0 -1
- package/dist/cua-diagnostics.d.ts +0 -38
- package/dist/cua-diagnostics.js +0 -68
- package/dist/cua-diagnostics.js.map +0 -1
- package/dist/cua-executor-error.js +0 -48
- package/dist/cua-executor-error.js.map +0 -1
- package/dist/cua-provider-error.d.ts +0 -16
- package/dist/cua-provider-error.js +0 -35
- package/dist/cua-provider-error.js.map +0 -1
- package/dist/cua-speech.js +0 -2
- package/dist/cua-speech.js.map +0 -1
- package/dist/desktop-recorder.d.ts +0 -39
- package/dist/desktop-recorder.js +0 -226
- package/dist/desktop-recorder.js.map +0 -1
- package/dist/desktop-recording-artifact.d.ts +0 -5
- package/dist/desktop-recording-artifact.js +0 -54
- package/dist/desktop-recording-artifact.js.map +0 -1
- package/dist/desktop-recording-types.d.ts +0 -24
- package/dist/desktop-recording-types.js +0 -14
- package/dist/desktop-recording-types.js.map +0 -1
- package/dist/desktop-session.d.ts +0 -41
- package/dist/desktop-session.js +0 -47
- package/dist/desktop-session.js.map +0 -1
- package/dist/device-presets.d.ts +0 -67
- package/dist/device-presets.js +0 -55
- package/dist/device-presets.js.map +0 -1
- package/dist/doctor-lab.d.ts +0 -38
- package/dist/doctor-lab.js +0 -126
- package/dist/doctor-lab.js.map +0 -1
- package/dist/e2b-cua-desktop.d.ts +0 -3
- package/dist/e2b-cua-desktop.js +0 -708
- package/dist/e2b-cua-desktop.js.map +0 -1
- package/dist/e2b-cua-provisioning.d.ts +0 -314
- package/dist/e2b-cua-provisioning.js +0 -1219
- package/dist/e2b-cua-provisioning.js.map +0 -1
- package/dist/e2b-desktop-executor.d.ts +0 -101
- package/dist/e2b-desktop-executor.js +0 -297
- package/dist/e2b-desktop-executor.js.map +0 -1
- package/dist/e2b-desktop-launch.d.ts +0 -243
- package/dist/e2b-desktop-launch.js +0 -234
- package/dist/e2b-desktop-launch.js.map +0 -1
- package/dist/e2b-desktop-media.d.ts +0 -14
- package/dist/e2b-desktop-media.js +0 -58
- package/dist/e2b-desktop-media.js.map +0 -1
- package/dist/e2b-desktop-recording.d.ts +0 -16
- package/dist/e2b-desktop-recording.js +0 -162
- package/dist/e2b-desktop-recording.js.map +0 -1
- package/dist/e2b-desktop-resources.d.ts +0 -11
- package/dist/e2b-desktop-resources.js +0 -33
- package/dist/e2b-desktop-resources.js.map +0 -1
- package/dist/e2b-desktop-screenshot-cleanup.d.ts +0 -15
- package/dist/e2b-desktop-screenshot-cleanup.js +0 -67
- package/dist/e2b-desktop-screenshot-cleanup.js.map +0 -1
- package/dist/e2b-desktop-session.d.ts +0 -7
- package/dist/e2b-desktop-session.js +0 -29
- package/dist/e2b-desktop-session.js.map +0 -1
- package/dist/e2b-detached.d.ts +0 -53
- package/dist/e2b-detached.js +0 -130
- package/dist/e2b-detached.js.map +0 -1
- package/dist/e2b-terminal-lab.d.ts +0 -383
- package/dist/e2b-terminal-lab.js +0 -2000
- package/dist/e2b-terminal-lab.js.map +0 -1
- package/dist/env-file.d.ts +0 -14
- package/dist/env-file.js +0 -108
- package/dist/env-file.js.map +0 -1
- package/dist/export-bundle.d.ts +0 -7
- package/dist/export-bundle.js +0 -441
- package/dist/export-bundle.js.map +0 -1
- package/dist/export.d.ts +0 -49
- package/dist/export.js +0 -308
- package/dist/export.js.map +0 -1
- package/dist/feedback-proof.d.ts +0 -8
- package/dist/feedback-proof.js +0 -44
- package/dist/feedback-proof.js.map +0 -1
- package/dist/feedback.d.ts +0 -76
- package/dist/feedback.js +0 -496
- package/dist/feedback.js.map +0 -1
- package/dist/first-run-path.d.ts +0 -55
- package/dist/first-run-path.js +0 -136
- package/dist/first-run-path.js.map +0 -1
- package/dist/frame-signature.d.ts +0 -24
- package/dist/frame-signature.js +0 -128
- package/dist/frame-signature.js.map +0 -1
- package/dist/guest-bootstrap.d.ts +0 -55
- package/dist/guest-bootstrap.js +0 -285
- package/dist/guest-bootstrap.js.map +0 -1
- package/dist/guest-browser-tools.d.ts +0 -8
- package/dist/guest-browser-tools.js +0 -66
- package/dist/guest-browser-tools.js.map +0 -1
- package/dist/guest-chromium-text.d.ts +0 -27
- package/dist/guest-chromium-text.js +0 -281
- package/dist/guest-chromium-text.js.map +0 -1
- package/dist/guest-desktop-executor.d.ts +0 -22
- package/dist/guest-desktop-executor.js +0 -178
- package/dist/guest-desktop-executor.js.map +0 -1
- package/dist/guest-desktop-media.d.ts +0 -33
- package/dist/guest-desktop-media.js +0 -281
- package/dist/guest-desktop-media.js.map +0 -1
- package/dist/guest-desktop-native.d.ts +0 -14
- package/dist/guest-desktop-native.js +0 -131
- package/dist/guest-desktop-native.js.map +0 -1
- package/dist/guest-media-config.d.ts +0 -15
- package/dist/guest-media-config.js +0 -8
- package/dist/guest-media-config.js.map +0 -1
- package/dist/guest-media-worker.js.map +0 -1
- package/dist/guest-runtime-desktop.d.ts +0 -42
- package/dist/guest-runtime-desktop.js +0 -314
- package/dist/guest-runtime-desktop.js.map +0 -1
- package/dist/guest-runtime-main.js.map +0 -1
- package/dist/guest-runtime-revision.js.map +0 -1
- package/dist/guest-runtime.d.ts +0 -31
- package/dist/guest-runtime.js +0 -99
- package/dist/guest-runtime.js.map +0 -1
- package/dist/image-evidence.d.ts +0 -2
- package/dist/image-evidence.js +0 -47
- package/dist/image-evidence.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init-templates.d.ts +0 -25
- package/dist/init-templates.js +0 -541
- package/dist/init-templates.js.map +0 -1
- package/dist/init.d.ts +0 -38
- package/dist/init.js +0 -532
- package/dist/init.js.map +0 -1
- package/dist/key-resolution.d.ts +0 -67
- package/dist/key-resolution.js +0 -375
- package/dist/key-resolution.js.map +0 -1
- package/dist/lab-app-runner.d.ts +0 -78
- package/dist/lab-app-runner.js +0 -403
- package/dist/lab-app-runner.js.map +0 -1
- package/dist/lab-config.d.ts +0 -968
- package/dist/lab-config.js +0 -2714
- package/dist/lab-config.js.map +0 -1
- package/dist/lab-engine.d.ts +0 -97
- package/dist/lab-engine.js +0 -285
- package/dist/lab-engine.js.map +0 -1
- package/dist/lab-preflight.d.ts +0 -70
- package/dist/lab-preflight.js +0 -388
- package/dist/lab-preflight.js.map +0 -1
- package/dist/lab-summary.d.ts +0 -57
- package/dist/lab-summary.js +0 -126
- package/dist/lab-summary.js.map +0 -1
- package/dist/labs.d.ts +0 -66
- package/dist/labs.js +0 -401
- package/dist/labs.js.map +0 -1
- package/dist/listen.js +0 -84
- package/dist/listen.js.map +0 -1
- package/dist/local-agent-claude-session.d.ts +0 -45
- package/dist/local-agent-claude-session.js +0 -203
- package/dist/local-agent-claude-session.js.map +0 -1
- package/dist/local-agent-cli.d.ts +0 -121
- package/dist/local-agent-cli.js +0 -427
- package/dist/local-agent-cli.js.map +0 -1
- package/dist/local-captured-inbox.d.ts +0 -6
- package/dist/local-captured-inbox.js +0 -65
- package/dist/local-captured-inbox.js.map +0 -1
- package/dist/local-firecracker-desktop.d.ts +0 -23
- package/dist/local-firecracker-desktop.js +0 -191
- package/dist/local-firecracker-desktop.js.map +0 -1
- package/dist/local-firecracker-study.d.ts +0 -9
- package/dist/local-firecracker-study.js +0 -135
- package/dist/local-firecracker-study.js.map +0 -1
- package/dist/local-runtime-config.d.ts +0 -6
- package/dist/local-runtime-config.js +0 -60
- package/dist/local-runtime-config.js.map +0 -1
- package/dist/local-runtime-host.d.ts +0 -31
- package/dist/local-runtime-host.js +0 -128
- package/dist/local-runtime-host.js.map +0 -1
- package/dist/local-runtime-release.d.ts +0 -7
- package/dist/local-runtime-release.js +0 -33
- package/dist/local-runtime-release.js.map +0 -1
- package/dist/local-runtime-ssh.d.ts +0 -27
- package/dist/local-runtime-ssh.js +0 -91
- package/dist/local-runtime-ssh.js.map +0 -1
- package/dist/local-runtime.d.ts +0 -25
- package/dist/local-runtime.js +0 -133
- package/dist/local-runtime.js.map +0 -1
- package/dist/observer-data.d.ts +0 -114
- package/dist/observer-data.js +0 -224
- package/dist/observer-data.js.map +0 -1
- package/dist/observer-library.js +0 -191
- package/dist/observer-library.js.map +0 -1
- package/dist/observer-serve.d.ts +0 -99
- package/dist/observer-serve.js +0 -284
- package/dist/observer-serve.js.map +0 -1
- package/dist/observer-static.js +0 -357
- package/dist/observer-static.js.map +0 -1
- package/dist/observer.d.ts +0 -118
- package/dist/observer.js +0 -947
- package/dist/observer.js.map +0 -1
- package/dist/openai-responses-cu.d.ts +0 -158
- package/dist/openai-responses-cu.js +0 -714
- package/dist/openai-responses-cu.js.map +0 -1
- package/dist/orientation.d.ts +0 -29
- package/dist/orientation.js +0 -95
- package/dist/orientation.js.map +0 -1
- package/dist/oss-lab.d.ts +0 -55
- package/dist/oss-lab.js +0 -344
- package/dist/oss-lab.js.map +0 -1
- package/dist/oss-meta-lab-scoring.d.ts +0 -15
- package/dist/oss-meta-lab-scoring.js +0 -145
- package/dist/oss-meta-lab-scoring.js.map +0 -1
- package/dist/oss-meta-lab.d.ts +0 -287
- package/dist/oss-meta-lab.js +0 -4551
- package/dist/oss-meta-lab.js.map +0 -1
- package/dist/oss-remote-telemetry.d.ts +0 -77
- package/dist/oss-remote-telemetry.js +0 -403
- package/dist/oss-remote-telemetry.js.map +0 -1
- package/dist/output-token-limit.js +0 -5
- package/dist/output-token-limit.js.map +0 -1
- package/dist/participant-assignment.d.ts +0 -12
- package/dist/participant-assignment.js +0 -15
- package/dist/participant-assignment.js.map +0 -1
- package/dist/persona-resolve.d.ts +0 -44
- package/dist/persona-resolve.js +0 -99
- package/dist/persona-resolve.js.map +0 -1
- package/dist/persona.d.ts +0 -39
- package/dist/persona.js +0 -144
- package/dist/persona.js.map +0 -1
- package/dist/pi-agent-core.d.ts +0 -77
- package/dist/pi-agent-core.js +0 -207
- package/dist/pi-agent-core.js.map +0 -1
- package/dist/pricing.d.ts +0 -145
- package/dist/pricing.js +0 -277
- package/dist/pricing.js.map +0 -1
- package/dist/program.d.ts +0 -96
- package/dist/program.js +0 -4030
- package/dist/program.js.map +0 -1
- package/dist/reasoning-effort.js +0 -26
- package/dist/reasoning-effort.js.map +0 -1
- package/dist/reclaim.d.ts +0 -31
- package/dist/reclaim.js +0 -90
- package/dist/reclaim.js.map +0 -1
- package/dist/redaction.d.ts +0 -90
- package/dist/redaction.js +0 -294
- package/dist/redaction.js.map +0 -1
- package/dist/restricted-codex-analysis.d.ts +0 -15
- package/dist/restricted-codex-analysis.js +0 -13
- package/dist/restricted-codex-analysis.js.map +0 -1
- package/dist/restricted-codex-participant-policy.d.ts +0 -44
- package/dist/restricted-codex-participant-policy.js +0 -43
- package/dist/restricted-codex-participant-policy.js.map +0 -1
- package/dist/restricted-codex-participant-run.d.ts +0 -20
- package/dist/restricted-codex-participant-run.js +0 -79
- package/dist/restricted-codex-participant-run.js.map +0 -1
- package/dist/restricted-codex-participant.d.ts +0 -20
- package/dist/restricted-codex-participant.js +0 -250
- package/dist/restricted-codex-participant.js.map +0 -1
- package/dist/restricted-codex-policy.d.ts +0 -64
- package/dist/restricted-codex-policy.js +0 -176
- package/dist/restricted-codex-policy.js.map +0 -1
- package/dist/restricted-codex-session.d.ts +0 -44
- package/dist/restricted-codex-session.js +0 -657
- package/dist/restricted-codex-session.js.map +0 -1
- package/dist/restricted-codex-transport.d.ts +0 -69
- package/dist/restricted-codex-transport.js +0 -296
- package/dist/restricted-codex-transport.js.map +0 -1
- package/dist/run-detail.d.ts +0 -61
- package/dist/run-detail.js +0 -137
- package/dist/run-detail.js.map +0 -1
- package/dist/run-index.d.ts +0 -71
- package/dist/run-index.js +0 -206
- package/dist/run-index.js.map +0 -1
- package/dist/run-narration-secrets.js +0 -68
- package/dist/run-narration-secrets.js.map +0 -1
- package/dist/run-paths.d.ts +0 -56
- package/dist/run-paths.js +0 -355
- package/dist/run-paths.js.map +0 -1
- package/dist/run-projection.d.ts +0 -186
- package/dist/run-projection.js +0 -350
- package/dist/run-projection.js.map +0 -1
- package/dist/run-status.d.ts +0 -139
- package/dist/run-status.js +0 -218
- package/dist/run-status.js.map +0 -1
- package/dist/run.d.ts +0 -1255
- package/dist/run.js +0 -5949
- package/dist/run.js.map +0 -1
- package/dist/sandbox-receipts.d.ts +0 -19
- package/dist/sandbox-receipts.js +0 -51
- package/dist/sandbox-receipts.js.map +0 -1
- package/dist/screenshot-image.d.ts +0 -11
- package/dist/screenshot-image.js +0 -26
- package/dist/screenshot-image.js.map +0 -1
- package/dist/scripted-browser-actor.d.ts +0 -297
- package/dist/scripted-browser-actor.js +0 -1399
- package/dist/scripted-browser-actor.js.map +0 -1
- package/dist/scripted-browser-lab.d.ts +0 -121
- package/dist/scripted-browser-lab.js +0 -852
- package/dist/scripted-browser-lab.js.map +0 -1
- package/dist/secret-prompt.js +0 -36
- package/dist/secret-prompt.js.map +0 -1
- package/dist/selected-output-paths.d.ts +0 -52
- package/dist/selected-output-paths.js +0 -366
- package/dist/selected-output-paths.js.map +0 -1
- package/dist/serve-exposure.d.ts +0 -62
- package/dist/serve-exposure.js +0 -129
- package/dist/serve-exposure.js.map +0 -1
- package/dist/serve-http.js +0 -45
- package/dist/serve-http.js.map +0 -1
- package/dist/serve-tunnel.js +0 -113
- package/dist/serve-tunnel.js.map +0 -1
- package/dist/shared-world-lab.d.ts +0 -269
- package/dist/shared-world-lab.js +0 -1424
- package/dist/shared-world-lab.js.map +0 -1
- package/dist/source-archive.d.ts +0 -82
- package/dist/source-archive.js +0 -408
- package/dist/source-archive.js.map +0 -1
- package/dist/stats.d.ts +0 -82
- package/dist/stats.js +0 -219
- package/dist/stats.js.map +0 -1
- package/dist/stop-conditions.d.ts +0 -39
- package/dist/stop-conditions.js +0 -66
- package/dist/stop-conditions.js.map +0 -1
- package/dist/study-analysis-codex-config.d.ts +0 -11
- package/dist/study-analysis-codex-config.js +0 -34
- package/dist/study-analysis-codex-config.js.map +0 -1
- package/dist/study-analysis-engine.d.ts +0 -47
- package/dist/study-analysis-engine.js +0 -327
- package/dist/study-analysis-engine.js.map +0 -1
- package/dist/study-analysis-evidence.d.ts +0 -27
- package/dist/study-analysis-evidence.js +0 -660
- package/dist/study-analysis-evidence.js.map +0 -1
- package/dist/study-analysis-job.d.ts +0 -97
- package/dist/study-analysis-job.js +0 -214
- package/dist/study-analysis-job.js.map +0 -1
- package/dist/study-analysis-provider.d.ts +0 -40
- package/dist/study-analysis-provider.js +0 -170
- package/dist/study-analysis-provider.js.map +0 -1
- package/dist/study-analysis-service.d.ts +0 -59
- package/dist/study-analysis-service.js +0 -257
- package/dist/study-analysis-service.js.map +0 -1
- package/dist/study-analysis-sharing.d.ts +0 -11
- package/dist/study-analysis-sharing.js +0 -35
- package/dist/study-analysis-sharing.js.map +0 -1
- package/dist/study-analysis-store.d.ts +0 -47
- package/dist/study-analysis-store.js +0 -493
- package/dist/study-analysis-store.js.map +0 -1
- package/dist/study-analysis-validation.d.ts +0 -618
- package/dist/study-analysis-validation.js +0 -384
- package/dist/study-analysis-validation.js.map +0 -1
- package/dist/study-analysis.d.ts +0 -206
- package/dist/study-analysis.js +0 -4
- package/dist/study-analysis.js.map +0 -1
- package/dist/study-costs.js +0 -114
- package/dist/study-costs.js.map +0 -1
- package/dist/subject-runtime.d.ts +0 -23
- package/dist/subject-runtime.js +0 -70
- package/dist/subject-runtime.js.map +0 -1
- package/dist/tasks.d.ts +0 -90
- package/dist/tasks.js +0 -144
- package/dist/tasks.js.map +0 -1
- package/dist/telemetry.js +0 -324
- package/dist/telemetry.js.map +0 -1
- package/dist/terminal-agent-actor.d.ts +0 -41
- package/dist/terminal-agent-actor.js +0 -25
- package/dist/terminal-agent-actor.js.map +0 -1
- package/dist/terminal-encoding.js +0 -80
- package/dist/terminal-encoding.js.map +0 -1
- package/dist/terminal-node-bootstrap.d.ts +0 -4
- package/dist/terminal-node-bootstrap.js +0 -58
- package/dist/terminal-node-bootstrap.js.map +0 -1
- package/dist/terminal-participant-activity.d.ts +0 -6
- package/dist/terminal-participant-activity.js +0 -34
- package/dist/terminal-participant-activity.js.map +0 -1
- package/dist/terminal-runtime-auth.d.ts +0 -13
- package/dist/terminal-runtime-auth.js +0 -24
- package/dist/terminal-runtime-auth.js.map +0 -1
- package/dist/terminal-runtime.d.ts +0 -16
- package/dist/terminal-runtime.js +0 -42
- package/dist/terminal-runtime.js.map +0 -1
- package/dist/terminal-token-usage.d.ts +0 -15
- package/dist/terminal-token-usage.js +0 -94
- package/dist/terminal-token-usage.js.map +0 -1
- package/dist/tui-actions.d.ts +0 -39
- package/dist/tui-actions.js +0 -178
- package/dist/tui-actions.js.map +0 -1
- package/dist/tui-contract.d.ts +0 -141
- package/dist/tui-contract.js +0 -54
- package/dist/tui-contract.js.map +0 -1
- package/dist/tui-launch.js +0 -167
- package/dist/tui-launch.js.map +0 -1
- package/dist/tui-project.d.ts +0 -9
- package/dist/tui-project.js +0 -18
- package/dist/tui-project.js.map +0 -1
- package/docs/architecture/examples/state-driven-local-app/README.md +0 -80
- package/docs/architecture/examples/state-driven-local-app/app.mjs +0 -48
- package/docs/architecture/examples/state-driven-local-app/runner.mjs +0 -105
- package/docs/architecture/local-codex-tui-actor.md +0 -213
- package/docs/architecture/oss-lab-poc.md +0 -250
- package/docs/architecture/runtime-broker-core.md +0 -30
- package/docs/release/0.100.0-local-setup.md +0 -31
- package/docs/release/0.100.1-participant-continuity.md +0 -20
- package/docs/release/0.101.0-codex-ui-tools.md +0 -28
- package/docs/release/0.102.0-participant-media.md +0 -43
- package/docs/release/0.103.0-desktop-recording.md +0 -29
- package/docs/release/0.103.1-analysis-capture-allocation.md +0 -18
- package/docs/release/0.103.2-analysis-ending-context.md +0 -21
- package/docs/release/0.104.0-local-captured-inboxes.md +0 -29
- package/docs/release/0.104.1-recording-startup.md +0 -24
- package/docs/release/0.104.2-recording-timestamps.md +0 -32
- package/docs/release/0.104.3-local-smtp-catch.md +0 -15
- package/docs/release/0.105.0-participant-backgrounds.md +0 -50
- package/docs/release/0.20.0-external-public-shared-world.md +0 -43
- package/docs/release/0.84.0-redacted-evidence.md +0 -42
- package/docs/release/0.84.1-portable-feedback.md +0 -20
- package/docs/release/0.85.0-observer-review.md +0 -56
- package/docs/release/0.85.1-observer-continuity.md +0 -20
- package/docs/release/0.86.0-participant-evidence.md +0 -50
- package/docs/release/0.86.1-task-preflight-saved-recordings.md +0 -40
- package/docs/release/0.87.0-participant-endings-and-phone-review.md +0 -64
- package/docs/release/0.88.0-study-diagnostics.md +0 -43
- package/docs/release/0.88.1-completion-evidence-and-local-app.md +0 -79
- package/docs/release/0.88.2-sequential-study-budgets.md +0 -57
- package/docs/release/0.89.0-study-findings.md +0 -79
- package/docs/release/0.89.1-analysis-finished-notice.md +0 -24
- package/docs/release/0.90.0-automatic-analysis.md +0 -21
- package/docs/release/0.91.0-analysis-quality-and-defaults.md +0 -33
- package/docs/release/0.91.1-study-review-polish.md +0 -28
- package/docs/release/0.92.0-grid-playback.md +0 -22
- package/docs/release/0.93.0-global-playback.md +0 -26
- package/docs/release/0.93.1-observer-review-controls.md +0 -24
- package/docs/release/0.94.0-reliability.md +0 -48
- package/docs/release/0.95.0-connections-setup.md +0 -38
- package/docs/release/0.96.0-real-email-receiving.md +0 -47
- package/docs/release/0.96.1-browser-navigation.md +0 -22
- package/docs/release/0.97.0-codex-account-analysis.md +0 -45
- package/docs/release/0.98.0-local-browser-studies.md +0 -31
- package/docs/release/0.99.0-local-browser-mac.md +0 -34
- package/docs/release/0.99.1-action-recovery.md +0 -19
- /package/dist/{agent-session.d.ts → actors/agent-session.d.ts} +0 -0
- /package/dist/{cua-executor-error.d.ts → actors/computer-use/executor-error.d.ts} +0 -0
- /package/dist/{cua-speech.d.ts → actors/computer-use/speech.d.ts} +0 -0
- /package/dist/{actor-goal-source.d.ts → actors/goal-source.d.ts} +0 -0
- /package/dist/{output-token-limit.d.ts → actors/output-token-limit.d.ts} +0 -0
- /package/dist/{reasoning-effort.d.ts → actors/reasoning-effort.d.ts} +0 -0
- /package/dist/{secret-prompt.d.ts → cli/secret-prompt.d.ts} +0 -0
- /package/dist/{telemetry.d.ts → cli/telemetry.d.ts} +0 -0
- /package/dist/{browser-evidence-hygiene.d.ts → evidence/browser-hygiene.d.ts} +0 -0
- /package/dist/{serve-http.d.ts → observer/http.d.ts} +0 -0
- /package/dist/{observer-library.d.ts → observer/library.d.ts} +0 -0
- /package/dist/{listen.d.ts → observer/listen.d.ts} +0 -0
- /package/dist/{observer-static.d.ts → observer/static.d.ts} +0 -0
- /package/dist/{serve-tunnel.d.ts → observer/tunnel.d.ts} +0 -0
- /package/dist/{terminal-encoding.d.ts → routes/terminal/encoding.d.ts} +0 -0
- /package/dist/{concurrency.d.ts → run/concurrency.d.ts} +0 -0
- /package/dist/{study-costs.d.ts → run/costs.d.ts} +0 -0
- /package/dist/{run-narration-secrets.d.ts → run/transient-comms-secrets.d.ts} +0 -0
- /package/dist/{tui-launch.d.ts → tui/launch.d.ts} +0 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
import { constants } from "node:fs";
|
|
2
|
+
import { lstat, open, readdir, realpath } from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { isNodeError } from "./type-guards.js";
|
|
5
|
+
const GIT_METADATA_INSPECTION_FAILED_NOTE = "Git metadata could not be inspected safely.";
|
|
6
|
+
const GIT_METADATA_CONTAINMENT_FAILED_NOTE = "Git metadata failed containment validation.";
|
|
7
|
+
/**
|
|
8
|
+
* Resolve one physical Git worktree without trusting ambient Git discovery.
|
|
9
|
+
*
|
|
10
|
+
* A regular `.git` file is accepted only for Git's exact linked-worktree
|
|
11
|
+
* topology: `<common>/.git/worktrees/<name>` plus single-link `commondir` and
|
|
12
|
+
* `gitdir` backpointer files. Arbitrary `gitdir:` redirects (including valid
|
|
13
|
+
* separate-git-dir repositories) are deliberately unavailable because they
|
|
14
|
+
* delegate metadata authority outside the selected project without a
|
|
15
|
+
* verifiable backlink.
|
|
16
|
+
*/
|
|
17
|
+
export async function inspectVerifiedGitWorkspace(cwdInput) {
|
|
18
|
+
let current;
|
|
19
|
+
try {
|
|
20
|
+
current = await realpath(path.resolve(cwdInput));
|
|
21
|
+
const cwdStats = await lstat(current);
|
|
22
|
+
if (cwdStats.isSymbolicLink() || !cwdStats.isDirectory()) {
|
|
23
|
+
return unsafeInspection(current, GIT_METADATA_INSPECTION_FAILED_NOTE);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return unsafeInspection(path.resolve(cwdInput), GIT_METADATA_INSPECTION_FAILED_NOTE);
|
|
28
|
+
}
|
|
29
|
+
while (true) {
|
|
30
|
+
const dotGitPath = path.join(current, ".git");
|
|
31
|
+
let dotGitStats;
|
|
32
|
+
try {
|
|
33
|
+
dotGitStats = await lstat(dotGitPath, { bigint: true });
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
if (!isNodeError(error) || error.code !== "ENOENT") {
|
|
37
|
+
return unsafeInspection(current, GIT_METADATA_INSPECTION_FAILED_NOTE);
|
|
38
|
+
}
|
|
39
|
+
const parent = path.dirname(current);
|
|
40
|
+
if (parent === current) {
|
|
41
|
+
return { status: "missing" };
|
|
42
|
+
}
|
|
43
|
+
current = parent;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (dotGitStats.isSymbolicLink()) {
|
|
47
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
48
|
+
}
|
|
49
|
+
if (dotGitStats.isDirectory()) {
|
|
50
|
+
try {
|
|
51
|
+
if ((await realpath(dotGitPath)) !== dotGitPath) {
|
|
52
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
53
|
+
}
|
|
54
|
+
// A normal worktree does not need commondir. Accepting one here would
|
|
55
|
+
// let a contained `.git/` silently redirect config, refs, and objects.
|
|
56
|
+
if (await pathExists(path.join(dotGitPath, "commondir"))) {
|
|
57
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
58
|
+
}
|
|
59
|
+
const configOverrides = [];
|
|
60
|
+
const workspace = {
|
|
61
|
+
commonDir: dotGitPath,
|
|
62
|
+
configOverrides,
|
|
63
|
+
gitDir: dotGitPath,
|
|
64
|
+
kind: "directory",
|
|
65
|
+
trustRoot: current,
|
|
66
|
+
worktreeRoot: current,
|
|
67
|
+
};
|
|
68
|
+
return (await validateCriticalGitMetadata(workspace))
|
|
69
|
+
? { status: "verified", workspace: freezeVerifiedWorkspace(workspace, configOverrides) }
|
|
70
|
+
: unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (!dotGitStats.isFile() || dotGitStats.nlink !== 1n) {
|
|
77
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
const dotGit = await readSingleLinkRegularFile(dotGitPath);
|
|
81
|
+
const declaredGitDir = dotGit ? parseGitdirFile(dotGit.text) : null;
|
|
82
|
+
if (!dotGit || !declaredGitDir) {
|
|
83
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
84
|
+
}
|
|
85
|
+
const gitDir = await realpath(path.isAbsolute(declaredGitDir) ? declaredGitDir : path.resolve(current, declaredGitDir));
|
|
86
|
+
if (!(await isPhysicalDirectory(gitDir))) {
|
|
87
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
88
|
+
}
|
|
89
|
+
const commondir = await readSingleLinkRegularFile(path.join(gitDir, "commondir"));
|
|
90
|
+
const backpointer = await readSingleLinkRegularFile(path.join(gitDir, "gitdir"));
|
|
91
|
+
const declaredCommonDir = commondir ? parseSinglePathLine(commondir.text) : null;
|
|
92
|
+
const declaredBackpointer = backpointer ? parseSinglePathLine(backpointer.text) : null;
|
|
93
|
+
if (!commondir || !backpointer || !declaredCommonDir || !declaredBackpointer) {
|
|
94
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
95
|
+
}
|
|
96
|
+
const commonDir = await realpath(path.resolve(gitDir, declaredCommonDir));
|
|
97
|
+
if (!(await isPhysicalDirectory(commonDir)) ||
|
|
98
|
+
path.basename(commonDir) !== ".git" ||
|
|
99
|
+
path.dirname(gitDir) !== path.join(commonDir, "worktrees") ||
|
|
100
|
+
path.basename(gitDir).length === 0) {
|
|
101
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
102
|
+
}
|
|
103
|
+
const physicalBackpointer = await realpath(path.isAbsolute(declaredBackpointer)
|
|
104
|
+
? declaredBackpointer
|
|
105
|
+
: path.resolve(gitDir, declaredBackpointer));
|
|
106
|
+
if (physicalBackpointer !== dotGitPath) {
|
|
107
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
108
|
+
}
|
|
109
|
+
const trustRoot = path.dirname(commonDir);
|
|
110
|
+
if (!(await isPhysicalDirectory(trustRoot)) ||
|
|
111
|
+
(await realpath(path.join(trustRoot, ".git"))) !== commonDir ||
|
|
112
|
+
!(await stillSameSingleLinkFile(dotGitPath, dotGit.identity)) ||
|
|
113
|
+
!(await stillSameSingleLinkFile(path.join(gitDir, "commondir"), commondir.identity)) ||
|
|
114
|
+
!(await stillSameSingleLinkFile(path.join(gitDir, "gitdir"), backpointer.identity))) {
|
|
115
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
116
|
+
}
|
|
117
|
+
const configOverrides = [];
|
|
118
|
+
const workspace = {
|
|
119
|
+
commonDir,
|
|
120
|
+
configOverrides,
|
|
121
|
+
gitDir,
|
|
122
|
+
kind: "linked-worktree",
|
|
123
|
+
trustRoot,
|
|
124
|
+
worktreeRoot: current,
|
|
125
|
+
};
|
|
126
|
+
return (await validateCriticalGitMetadata(workspace))
|
|
127
|
+
? { status: "verified", workspace: freezeVerifiedWorkspace(workspace, configOverrides) }
|
|
128
|
+
: unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return unsafeInspection(current, GIT_METADATA_CONTAINMENT_FAILED_NOTE);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
async function validateCriticalGitMetadata(workspace) {
|
|
136
|
+
if (!(await isPhysicalDirectory(workspace.gitDir)) ||
|
|
137
|
+
!(await isPhysicalDirectory(workspace.commonDir)) ||
|
|
138
|
+
!(await isPhysicalDirectory(workspace.worktreeRoot))) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
const criticalFiles = new Set([
|
|
142
|
+
path.join(workspace.gitDir, "HEAD"),
|
|
143
|
+
path.join(workspace.gitDir, "index"),
|
|
144
|
+
path.join(workspace.gitDir, "config.worktree"),
|
|
145
|
+
path.join(workspace.commonDir, "config"),
|
|
146
|
+
path.join(workspace.commonDir, "config.worktree"),
|
|
147
|
+
path.join(workspace.commonDir, "info", "attributes"),
|
|
148
|
+
path.join(workspace.commonDir, "info", "exclude"),
|
|
149
|
+
path.join(workspace.commonDir, "packed-refs"),
|
|
150
|
+
]);
|
|
151
|
+
for (const filePath of criticalFiles) {
|
|
152
|
+
if (!(await isSingleLinkRegularFileOrMissing(filePath))) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
// Split indexes are selected by the contained index but read as sibling
|
|
157
|
+
// metadata. Do not let one redirect Git through a symlink or hardlink.
|
|
158
|
+
const gitDirEntries = await readdir(workspace.gitDir).catch(() => []);
|
|
159
|
+
for (const entry of gitDirEntries) {
|
|
160
|
+
if (/^sharedindex\.[0-9a-f]+$/i.test(entry)) {
|
|
161
|
+
if (!(await isSingleLinkRegularFileOrMissing(path.join(workspace.gitDir, entry)))) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
for (const directory of [
|
|
167
|
+
path.join(workspace.commonDir, "objects"),
|
|
168
|
+
path.join(workspace.commonDir, "refs"),
|
|
169
|
+
]) {
|
|
170
|
+
if (!(await isPhysicalDirectoryOrMissing(directory))) {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const head = await readSingleLinkRegularFile(path.join(workspace.gitDir, "HEAD"), true);
|
|
175
|
+
if (head && !(await validateHeadReference(workspace, head.text))) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
const alternatesPath = path.join(workspace.commonDir, "objects", "info", "alternates");
|
|
179
|
+
if (!(await isSingleLinkRegularFileOrMissing(alternatesPath))) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
const alternates = await readSingleLinkRegularFile(alternatesPath, true);
|
|
183
|
+
if (alternates && !(await alternatesStayInsideCommonDir(workspace.commonDir, alternates.text))) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
const overrides = await collectExecutableConfigOverrides(workspace);
|
|
187
|
+
if (!overrides) {
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
workspace.configOverrides.push(...overrides);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
async function collectExecutableConfigOverrides(workspace) {
|
|
194
|
+
const filters = new Set();
|
|
195
|
+
const diffs = new Set();
|
|
196
|
+
for (const configPath of new Set([
|
|
197
|
+
path.join(workspace.commonDir, "config"),
|
|
198
|
+
path.join(workspace.gitDir, "config.worktree"),
|
|
199
|
+
])) {
|
|
200
|
+
const config = await readSingleLinkRegularFile(configPath, true);
|
|
201
|
+
if (!config)
|
|
202
|
+
continue;
|
|
203
|
+
for (const line of config.text.split(/\r?\n/)) {
|
|
204
|
+
if (/^\s*\[\s*include(?:\s*\]|if\b)/i.test(line)) {
|
|
205
|
+
// Includes can introduce executable config from an unbound path after
|
|
206
|
+
// this file was inspected. Provenance capture does not need them.
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
const sectionStart = /^\s*\[\s*(filter|diff)\b/i.exec(line);
|
|
210
|
+
if (!sectionStart)
|
|
211
|
+
continue;
|
|
212
|
+
const section = /^\s*\[\s*(filter|diff)\s+(?:"((?:\\.|[^"\\])*)"|\.\s*([^\]\s]+))\s*\]\s*(?:[#;].*)?$/i.exec(line);
|
|
213
|
+
if (!section)
|
|
214
|
+
return null;
|
|
215
|
+
const rawDriver = section[2] === undefined ? section[3] : unescapeGitConfigSubsection(section[2]);
|
|
216
|
+
if (!rawDriver || !/^[A-Za-z0-9_.-]+$/.test(rawDriver))
|
|
217
|
+
return null;
|
|
218
|
+
if (section[1]?.toLowerCase() === "filter")
|
|
219
|
+
filters.add(rawDriver);
|
|
220
|
+
else
|
|
221
|
+
diffs.add(rawDriver);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const overrides = [];
|
|
225
|
+
for (const driver of [...filters].sort()) {
|
|
226
|
+
overrides.push(`filter.${driver}.clean=`, `filter.${driver}.smudge=`, `filter.${driver}.process=`, `filter.${driver}.required=false`);
|
|
227
|
+
}
|
|
228
|
+
for (const driver of [...diffs].sort()) {
|
|
229
|
+
overrides.push(`diff.${driver}.command=`, `diff.${driver}.textconv=`);
|
|
230
|
+
}
|
|
231
|
+
return overrides;
|
|
232
|
+
}
|
|
233
|
+
function unescapeGitConfigSubsection(value) {
|
|
234
|
+
let result = "";
|
|
235
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
236
|
+
const char = value[index];
|
|
237
|
+
if (char !== "\\") {
|
|
238
|
+
result += char;
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
const escaped = value[index + 1];
|
|
242
|
+
if (escaped !== "\\" && escaped !== '"')
|
|
243
|
+
return null;
|
|
244
|
+
result += escaped;
|
|
245
|
+
index += 1;
|
|
246
|
+
}
|
|
247
|
+
return result;
|
|
248
|
+
}
|
|
249
|
+
function freezeVerifiedWorkspace(workspace, configOverrides) {
|
|
250
|
+
Object.freeze(configOverrides);
|
|
251
|
+
return Object.freeze(workspace);
|
|
252
|
+
}
|
|
253
|
+
async function validateHeadReference(workspace, headText) {
|
|
254
|
+
const value = headText.trim();
|
|
255
|
+
if (/^[0-9a-f]{40}(?:[0-9a-f]{24})?$/i.test(value)) {
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
258
|
+
if (!value.startsWith("ref: ")) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
const ref = value.slice("ref: ".length);
|
|
262
|
+
if (!isSafeGitRef(ref)) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
// Normal branch refs live under the common directory. Per-worktree refs may
|
|
266
|
+
// live under the admin directory. Validate either existing path without
|
|
267
|
+
// requiring an unborn branch to have a loose ref.
|
|
268
|
+
const candidates = [path.join(workspace.commonDir, ...ref.split("/"))];
|
|
269
|
+
if (workspace.gitDir !== workspace.commonDir) {
|
|
270
|
+
candidates.push(path.join(workspace.gitDir, ...ref.split("/")));
|
|
271
|
+
}
|
|
272
|
+
for (const candidate of candidates) {
|
|
273
|
+
if (!(await validateOptionalContainedFileChain(candidate.startsWith(`${workspace.gitDir}${path.sep}`)
|
|
274
|
+
? workspace.gitDir
|
|
275
|
+
: workspace.commonDir, candidate))) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return true;
|
|
280
|
+
}
|
|
281
|
+
async function validateOptionalContainedFileChain(root, filePath) {
|
|
282
|
+
const relative = path.relative(root, filePath);
|
|
283
|
+
if (!relative ||
|
|
284
|
+
relative === ".." ||
|
|
285
|
+
relative.startsWith(`..${path.sep}`) ||
|
|
286
|
+
path.isAbsolute(relative)) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
let current = root;
|
|
290
|
+
const segments = relative.split(path.sep);
|
|
291
|
+
for (const [index, segment] of segments.entries()) {
|
|
292
|
+
current = path.join(current, segment);
|
|
293
|
+
let stats;
|
|
294
|
+
try {
|
|
295
|
+
stats = await lstat(current, { bigint: true });
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
return isNodeError(error) && error.code === "ENOENT";
|
|
299
|
+
}
|
|
300
|
+
if (stats.isSymbolicLink())
|
|
301
|
+
return false;
|
|
302
|
+
if (index < segments.length - 1) {
|
|
303
|
+
if (!stats.isDirectory())
|
|
304
|
+
return false;
|
|
305
|
+
}
|
|
306
|
+
else if (!stats.isFile() || stats.nlink !== 1n) {
|
|
307
|
+
return false;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return true;
|
|
311
|
+
}
|
|
312
|
+
async function alternatesStayInsideCommonDir(commonDir, text) {
|
|
313
|
+
const objectDir = path.join(commonDir, "objects");
|
|
314
|
+
for (const line of text
|
|
315
|
+
.split(/\r?\n/)
|
|
316
|
+
.map((value) => value.trim())
|
|
317
|
+
.filter(Boolean)) {
|
|
318
|
+
const candidate = path.isAbsolute(line) ? line : path.resolve(objectDir, line);
|
|
319
|
+
let physical;
|
|
320
|
+
try {
|
|
321
|
+
physical = await realpath(candidate);
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
return false;
|
|
325
|
+
}
|
|
326
|
+
const relative = path.relative(commonDir, physical);
|
|
327
|
+
if (relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {
|
|
328
|
+
return false;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
function parseGitdirFile(text) {
|
|
334
|
+
const match = /^gitdir:\s*([^\r\n]+)\r?\n?$/.exec(text);
|
|
335
|
+
return match?.[1]?.trim() || null;
|
|
336
|
+
}
|
|
337
|
+
function parseSinglePathLine(text) {
|
|
338
|
+
const match = /^([^\r\n]+)\r?\n?$/.exec(text);
|
|
339
|
+
return match?.[1]?.trim() || null;
|
|
340
|
+
}
|
|
341
|
+
function isSafeGitRef(value) {
|
|
342
|
+
return (value.startsWith("refs/") &&
|
|
343
|
+
!value.includes("\\") &&
|
|
344
|
+
!value.includes("\0") &&
|
|
345
|
+
!value.includes("//") &&
|
|
346
|
+
value.split("/").every((segment) => segment.length > 0 && segment !== "." && segment !== ".."));
|
|
347
|
+
}
|
|
348
|
+
async function readSingleLinkRegularFile(filePath, allowMissing = false) {
|
|
349
|
+
let before;
|
|
350
|
+
try {
|
|
351
|
+
before = await lstat(filePath, { bigint: true });
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
if (allowMissing && isNodeError(error) && error.code === "ENOENT") {
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
if (before.isSymbolicLink() || !before.isFile() || before.nlink !== 1n) {
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
const handle = await open(filePath, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
363
|
+
try {
|
|
364
|
+
const opened = await handle.stat({ bigint: true });
|
|
365
|
+
if (!opened.isFile() ||
|
|
366
|
+
opened.nlink !== 1n ||
|
|
367
|
+
opened.dev !== before.dev ||
|
|
368
|
+
opened.ino !== before.ino) {
|
|
369
|
+
return null;
|
|
370
|
+
}
|
|
371
|
+
const text = await handle.readFile("utf8");
|
|
372
|
+
return Object.freeze({
|
|
373
|
+
identity: Object.freeze({ dev: opened.dev, ino: opened.ino }),
|
|
374
|
+
text,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
finally {
|
|
378
|
+
await handle.close();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
async function isSingleLinkRegularFileOrMissing(filePath) {
|
|
382
|
+
let before;
|
|
383
|
+
try {
|
|
384
|
+
before = await lstat(filePath, { bigint: true });
|
|
385
|
+
}
|
|
386
|
+
catch (error) {
|
|
387
|
+
return isNodeError(error) && error.code === "ENOENT";
|
|
388
|
+
}
|
|
389
|
+
if (before.isSymbolicLink() || !before.isFile() || before.nlink !== 1n) {
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
392
|
+
const handle = await open(filePath, constants.O_RDONLY | constants.O_NOFOLLOW).catch(() => null);
|
|
393
|
+
if (!handle)
|
|
394
|
+
return false;
|
|
395
|
+
try {
|
|
396
|
+
const opened = await handle.stat({ bigint: true });
|
|
397
|
+
return (opened.isFile() &&
|
|
398
|
+
opened.nlink === 1n &&
|
|
399
|
+
opened.dev === before.dev &&
|
|
400
|
+
opened.ino === before.ino);
|
|
401
|
+
}
|
|
402
|
+
finally {
|
|
403
|
+
await handle.close();
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
async function stillSameSingleLinkFile(filePath, identity) {
|
|
407
|
+
try {
|
|
408
|
+
const stats = await lstat(filePath, { bigint: true });
|
|
409
|
+
return (!stats.isSymbolicLink() &&
|
|
410
|
+
stats.isFile() &&
|
|
411
|
+
stats.nlink === 1n &&
|
|
412
|
+
stats.dev === identity.dev &&
|
|
413
|
+
stats.ino === identity.ino);
|
|
414
|
+
}
|
|
415
|
+
catch {
|
|
416
|
+
return false;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
async function isPhysicalDirectory(directory) {
|
|
420
|
+
try {
|
|
421
|
+
const stats = await lstat(directory);
|
|
422
|
+
return (!stats.isSymbolicLink() && stats.isDirectory() && (await realpath(directory)) === directory);
|
|
423
|
+
}
|
|
424
|
+
catch {
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
async function isPhysicalDirectoryOrMissing(directory) {
|
|
429
|
+
try {
|
|
430
|
+
const stats = await lstat(directory);
|
|
431
|
+
return (!stats.isSymbolicLink() && stats.isDirectory() && (await realpath(directory)) === directory);
|
|
432
|
+
}
|
|
433
|
+
catch (error) {
|
|
434
|
+
return isNodeError(error) && error.code === "ENOENT";
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
async function pathExists(filePath) {
|
|
438
|
+
try {
|
|
439
|
+
await lstat(filePath);
|
|
440
|
+
return true;
|
|
441
|
+
}
|
|
442
|
+
catch (error) {
|
|
443
|
+
if (isNodeError(error) && error.code === "ENOENT")
|
|
444
|
+
return false;
|
|
445
|
+
throw error;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
function unsafeInspection(worktreeRoot, note) {
|
|
449
|
+
return { note, status: "unsafe", worktreeRoot };
|
|
450
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import type { ActorCompletionReason, ActorStatus, ParticipantDeclaredOutcome } from "../actors/contract.js";
|
|
2
|
+
import type { ReviewSummary } from "./bundle.js";
|
|
3
|
+
export type Verdict = ReviewSummary["verdict"];
|
|
4
|
+
/** How a finished session ended, as the blocker rule reads it. */
|
|
5
|
+
export interface BlockerFacts {
|
|
6
|
+
completionReason: ActorCompletionReason;
|
|
7
|
+
/** A harness-owned stop condition ended the session: a matched stopWhen or a completed dwell window. */
|
|
8
|
+
stopConditionMatched: boolean;
|
|
9
|
+
/** What the participant declared in a field, when its provider has one (#570). */
|
|
10
|
+
declaredOutcome?: ParticipantDeclaredOutcome;
|
|
11
|
+
/** The route's reading of the closing report: it describes a blocker or asks for instructions. */
|
|
12
|
+
closingReportReadsBlocked: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** How a finished session ended, as the engagement and blocker rules read it. */
|
|
15
|
+
export interface SessionEnding extends BlockerFacts {
|
|
16
|
+
actions: number;
|
|
17
|
+
messages: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The participant said it reached the goal having taken no action and said nothing, and no stop
|
|
21
|
+
* condition ended the session. It most likely saw a blank or loading screen, so it is not a pass.
|
|
22
|
+
*/
|
|
23
|
+
export declare function hollowCompletion(ending: SessionEnding): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The participant said it reached the goal but reported a blocker. A declared outcome is its own
|
|
26
|
+
* word and wins (#570). Without one, the closing report is read, unless a stop condition ended the
|
|
27
|
+
* session: a matched stopWhen is structured completion evidence and overrides the text.
|
|
28
|
+
*/
|
|
29
|
+
export declare function selfReportedBlocker(ending: BlockerFacts): boolean;
|
|
30
|
+
/** What a participant's pass reads: its session's end, or why it has none, and the two judgments above. */
|
|
31
|
+
export interface ParticipantFacts {
|
|
32
|
+
/** Absent when no session reached a terminal status. */
|
|
33
|
+
status?: ActorStatus;
|
|
34
|
+
completionReason?: ActorCompletionReason;
|
|
35
|
+
/** The harness failed before the session reached a terminal status. */
|
|
36
|
+
sessionError?: string;
|
|
37
|
+
/** The pipeline gate or fail-fast skipped the participant. */
|
|
38
|
+
skipped: boolean;
|
|
39
|
+
/** hollowCompletion held for its session. */
|
|
40
|
+
noEngagement: boolean;
|
|
41
|
+
/** selfReportedBlocker held for its session. */
|
|
42
|
+
selfReportedBlocker: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The status a participant is judged under. A harness failure is failed, and a skipped participant
|
|
46
|
+
* is blocked, as the fan-out bundle and the result write it. Otherwise it is the tallied
|
|
47
|
+
* participantStatus of its session, or undefined when no session reached a terminal status.
|
|
48
|
+
* participantPassed and judgeOneParticipant's verdict both read it, so the two cannot disagree.
|
|
49
|
+
*/
|
|
50
|
+
export declare function judgedStatus(participant: ParticipantFacts): ActorStatus | undefined;
|
|
51
|
+
/** A participant passed: its session passed without a harness error, engaged, and reported no blocker. */
|
|
52
|
+
export declare function participantPassed(participant: ParticipantFacts): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* The participant's session failed in the harness: it threw before a terminal status, or it ended
|
|
55
|
+
* in a harness error. That is an execution failure, apart from what the participant experienced.
|
|
56
|
+
*/
|
|
57
|
+
export declare function participantHarnessFailed(participant: ParticipantFacts): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The status a participant is tallied under, given what the route made of the session. A
|
|
60
|
+
* goal_satisfied claim with zero engagement is a session that ran out before anything happened;
|
|
61
|
+
* one whose final message describes a blocker is a participant who could not proceed and said so.
|
|
62
|
+
* Both keep their trace status (the claim is evidence); neither is a participant who reached the
|
|
63
|
+
* goal. One rule for the single lane and the fan-out roll-up (#476).
|
|
64
|
+
*/
|
|
65
|
+
export declare function participantStatus(status: ActorStatus, judgments: {
|
|
66
|
+
noEngagement: boolean;
|
|
67
|
+
selfReportedBlocker: boolean;
|
|
68
|
+
} | undefined): ActorStatus;
|
|
69
|
+
/** The review verdict for one participant's status. */
|
|
70
|
+
export declare function verdictForStatus(status: ActorStatus): Verdict;
|
|
71
|
+
declare const judged: unique symbol;
|
|
72
|
+
/**
|
|
73
|
+
* A run's judgment: the review verdict, and whether the run met its route's pass rule. Only
|
|
74
|
+
* judgmentOf builds one, so passed always follows from the verdict.
|
|
75
|
+
*/
|
|
76
|
+
export interface Judgment {
|
|
77
|
+
readonly verdict: Verdict;
|
|
78
|
+
/**
|
|
79
|
+
* The run met its route's pass rule: every expected participant passed and, on shared-world,
|
|
80
|
+
* the seats showed the concurrency verify requires. A dry run passes as a contract.
|
|
81
|
+
*/
|
|
82
|
+
readonly passed: boolean;
|
|
83
|
+
/** A type-only mark that judgmentOf made this judgment; it does not exist at runtime. */
|
|
84
|
+
readonly [judged]: true;
|
|
85
|
+
}
|
|
86
|
+
/** The judgment for a verdict: a run passes when its verdict is pass, and a dry run passes. */
|
|
87
|
+
export declare function judgmentOf(verdict: Verdict, dryRun: boolean): Judgment;
|
|
88
|
+
/** What kind of execution failure a run recorded. */
|
|
89
|
+
type ExecutionFailureKind = "harness" | "provider-cleanup" | "sandbox-cleanup" | "evidence" | "cap" | "run";
|
|
90
|
+
/** One way the run failed as an execution. The message is scrubbed; status.json shows it. */
|
|
91
|
+
export interface ExecutionFailure {
|
|
92
|
+
kind: ExecutionFailureKind;
|
|
93
|
+
message: string;
|
|
94
|
+
}
|
|
95
|
+
/** Whether the run worked as an execution, apart from what its participants experienced. */
|
|
96
|
+
export interface ExecutionOutcome {
|
|
97
|
+
/** True when no failure of a kind the route's policy counts was recorded. */
|
|
98
|
+
succeeded: boolean;
|
|
99
|
+
/** The failures the policy counts, in the order the route recorded them. */
|
|
100
|
+
failures: ExecutionFailure[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* How a route turns the facts into its result's ok. A gate route needs every participant to
|
|
104
|
+
* pass. On an evidence route a participant that failed, was blocked or timed out is captured
|
|
105
|
+
* evidence, and only the execution and the scorer fail the result. Each of the two policy kinds
|
|
106
|
+
* says whether that kind of failure fails the execution or stays a warning.
|
|
107
|
+
*/
|
|
108
|
+
export interface OutcomePolicy {
|
|
109
|
+
participants: "gate" | "evidence";
|
|
110
|
+
sandboxCleanup: "fails" | "warns";
|
|
111
|
+
evidence: "fails" | "warns";
|
|
112
|
+
}
|
|
113
|
+
/** The routes a run is judged on. */
|
|
114
|
+
export type JudgedRoute = "computer-use" | "shared-world" | "terminal" | "scripted" | "preview";
|
|
115
|
+
/** Each route's outcome policy, in one place. */
|
|
116
|
+
export declare const OUTCOME_POLICIES: Readonly<Record<JudgedRoute, OutcomePolicy>>;
|
|
117
|
+
/** What a shared-world run observed about its one world, beside how each seat ended. */
|
|
118
|
+
export interface SharedWorldFacts {
|
|
119
|
+
/** Two or more seats were live at the same time. */
|
|
120
|
+
overlap: boolean;
|
|
121
|
+
/** Provisioned plane only: the shared state changed at or after the first overlap started. */
|
|
122
|
+
stateChangedUnderOverlap?: boolean;
|
|
123
|
+
/** External-public plane only: every seat reached one lobby. */
|
|
124
|
+
lobbyConvergence?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/** A shared-world run's judgment, with the world facts its review and result also report. */
|
|
127
|
+
export interface SharedWorldJudgment extends Judgment {
|
|
128
|
+
world: SharedWorldFacts;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A run with one participant: its tallied status is the verdict, so a hollow pass fails and a
|
|
132
|
+
* self-reported blocker reads as blocked. Without a session, a harness failure fails the run and
|
|
133
|
+
* a dry run is a contract. A run still in progress is a contract until it finishes. Computer-use
|
|
134
|
+
* calls it for one lane with no rerun, and terminal calls it through judgeTerminal.
|
|
135
|
+
*/
|
|
136
|
+
export declare function judgeOneParticipant(args: {
|
|
137
|
+
dryRun: boolean;
|
|
138
|
+
inProgress: boolean;
|
|
139
|
+
participant: ParticipantFacts | undefined;
|
|
140
|
+
}): Judgment;
|
|
141
|
+
/**
|
|
142
|
+
* A run with several participants: it passes only when every expected participant passed. When
|
|
143
|
+
* one did not, a timeout among them makes the run timed_out; otherwise it fails. A dry run and a
|
|
144
|
+
* run still in progress are contracts. Computer-use calls it for a fan-out or a rerun.
|
|
145
|
+
*/
|
|
146
|
+
export declare function judgeParticipants(args: {
|
|
147
|
+
dryRun: boolean;
|
|
148
|
+
inProgress: boolean;
|
|
149
|
+
expected: number;
|
|
150
|
+
participants: ParticipantFacts[];
|
|
151
|
+
}): Judgment;
|
|
152
|
+
/**
|
|
153
|
+
* Why a shared-world run whose seats all passed still fails, or undefined when its world facts
|
|
154
|
+
* meet what verify's shared-world check requires of a pass: two seats live at the same time and,
|
|
155
|
+
* on the provisioned plane, a shared-state change at or after the first overlap started.
|
|
156
|
+
*/
|
|
157
|
+
export declare function sharedWorldShortfall(world: SharedWorldFacts): string | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* A shared-world run: it passes only when every expected seat passed and the world facts have no
|
|
160
|
+
* shortfall, and otherwise fails (this route has no timed_out verdict). A dry run and a run still
|
|
161
|
+
* in progress are contracts. Lobby convergence is recorded but not read.
|
|
162
|
+
*/
|
|
163
|
+
export declare function judgeSharedWorld(args: {
|
|
164
|
+
dryRun: boolean;
|
|
165
|
+
inProgress: boolean;
|
|
166
|
+
expected: number;
|
|
167
|
+
participants: ParticipantFacts[];
|
|
168
|
+
world: SharedWorldFacts;
|
|
169
|
+
}): SharedWorldJudgment;
|
|
170
|
+
/**
|
|
171
|
+
* A terminal run: one agent session judged as a one-participant run. It has no engagement or
|
|
172
|
+
* blocker rule; the agent's nonce-verified marker is its declared outcome.
|
|
173
|
+
*/
|
|
174
|
+
export declare function judgeTerminal(args: {
|
|
175
|
+
dryRun: boolean;
|
|
176
|
+
participant: ParticipantFacts | undefined;
|
|
177
|
+
}): Judgment;
|
|
178
|
+
/**
|
|
179
|
+
* A scripted run: the worst surface decides the verdict. A harness error or a failed step fails
|
|
180
|
+
* the run, then a timeout makes it timed_out. Otherwise it passes when every expected surface
|
|
181
|
+
* passed, and fails when one did not. A session error fails it and a run with no surface results
|
|
182
|
+
* is a contract.
|
|
183
|
+
*/
|
|
184
|
+
export declare function judgeScripted(args: {
|
|
185
|
+
dryRun: boolean;
|
|
186
|
+
sessionError: string | undefined;
|
|
187
|
+
expected: number;
|
|
188
|
+
surfaces: ParticipantFacts[];
|
|
189
|
+
}): Judgment;
|
|
190
|
+
/** The preview: a synthetic contract with no participants. */
|
|
191
|
+
export declare function judgePreview(): Judgment;
|
|
192
|
+
/**
|
|
193
|
+
* The run's final review after scoring. Each scorer failure is recorded as a gap, and the first
|
|
194
|
+
* turns a pass or a contract into a fail with that failure as the summary. Every other verdict
|
|
195
|
+
* stays as it was, so scoring can never improve a verdict. No failures returns the review as is.
|
|
196
|
+
*/
|
|
197
|
+
export declare function foldScorerFailures(review: ReviewSummary, failures: readonly string[]): ReviewSummary;
|
|
198
|
+
/** The run's execution outcome under its route's policy. A failure of a kind the policy lets warn is dropped. */
|
|
199
|
+
export declare function judgeExecution(failures: readonly ExecutionFailure[], policy: OutcomePolicy): ExecutionOutcome;
|
|
200
|
+
/**
|
|
201
|
+
* The result's ok: the run worked as an execution, no scorer failed it, and on a gate route every
|
|
202
|
+
* participant passed. An evidence route ignores how its participants did.
|
|
203
|
+
*/
|
|
204
|
+
export declare function resultOk(args: {
|
|
205
|
+
judgment: Judgment;
|
|
206
|
+
execution: ExecutionOutcome;
|
|
207
|
+
scorerFailures: readonly string[];
|
|
208
|
+
policy: OutcomePolicy;
|
|
209
|
+
}): boolean;
|
|
210
|
+
export {};
|