humanish 0.107.0 → 0.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +73 -69
- package/CHANGELOG.md +27 -0
- package/CONTEXT.md +51 -44
- package/README.md +148 -175
- package/SECURITY.md +16 -26
- package/TELEMETRY.md +8 -6
- package/dist/actors/affordance.d.ts +4 -4
- package/dist/actors/affordance.js +12 -12
- package/dist/actors/agent-session.d.ts +2 -2
- package/dist/actors/agent-session.js +7 -7
- package/dist/actors/codex/app-server-actor-trace.d.ts +1 -1
- package/dist/actors/codex/app-server-actor-trace.js +1 -1
- package/dist/actors/codex/app-server-trace.js +2 -1
- package/dist/actors/codex/app-server-ui.js +1 -1
- package/dist/actors/codex/codex-admission.d.ts +91 -0
- package/dist/actors/codex/codex-admission.js +150 -0
- package/dist/actors/codex/restricted-executable.d.ts +4 -4
- package/dist/actors/codex/restricted-executable.js +8 -8
- package/dist/actors/codex/restricted-launch.d.ts +2 -1
- package/dist/actors/codex/restricted-launch.js +1 -1
- package/dist/actors/codex/restricted-participant.js +20 -18
- package/dist/actors/codex/restricted-policy.d.ts +2 -2
- package/dist/actors/codex/restricted-policy.js +2 -2
- package/dist/actors/codex/restricted-session.d.ts +3 -3
- package/dist/actors/codex/restricted-session.js +10 -5
- package/dist/actors/computer-use/actor.d.ts +18 -18
- package/dist/actors/computer-use/actor.js +4 -4
- package/dist/actors/computer-use/admission-limit.d.ts +3 -3
- package/dist/actors/computer-use/admission-limit.js +4 -4
- package/dist/actors/computer-use/executor-error.d.ts +2 -2
- package/dist/actors/computer-use/executor-error.js +3 -3
- package/dist/actors/computer-use/loop/actions.d.ts +3 -3
- package/dist/actors/computer-use/loop/actions.js +15 -15
- package/dist/actors/computer-use/loop/backstop.d.ts +3 -3
- package/dist/actors/computer-use/loop/backstop.js +14 -12
- package/dist/actors/computer-use/loop/debrief.js +2 -2
- package/dist/actors/computer-use/loop/ending.d.ts +6 -6
- package/dist/actors/computer-use/loop/ending.js +18 -17
- package/dist/actors/computer-use/loop/observation.d.ts +2 -2
- package/dist/actors/computer-use/loop/observation.js +15 -14
- package/dist/actors/computer-use/loop/provider-call.d.ts +1 -1
- package/dist/actors/computer-use/loop/provider-call.js +12 -12
- package/dist/actors/computer-use/loop/session.d.ts +4 -4
- package/dist/actors/computer-use/loop/session.js +4 -4
- package/dist/actors/computer-use/loop/spend.d.ts +1 -1
- package/dist/actors/computer-use/loop/spend.js +1 -1
- package/dist/actors/computer-use/loop/trace.js +11 -9
- package/dist/actors/computer-use/loop/types.d.ts +47 -45
- package/dist/actors/computer-use/loop/usage.d.ts +2 -2
- package/dist/actors/computer-use/loop/usage.js +2 -2
- package/dist/actors/computer-use/loop.d.ts +6 -1
- package/dist/actors/computer-use/loop.js +26 -4
- package/dist/actors/computer-use/openai-context.d.ts +37 -0
- package/dist/actors/computer-use/openai-context.js +214 -0
- package/dist/actors/computer-use/openai-provider.d.ts +13 -10
- package/dist/actors/computer-use/openai-provider.js +52 -41
- package/dist/actors/computer-use/openai-requests.d.ts +36 -10
- package/dist/actors/computer-use/openai-requests.js +82 -15
- package/dist/actors/computer-use/openai-wire.d.ts +19 -7
- package/dist/actors/computer-use/openai-wire.js +36 -34
- package/dist/actors/computer-use/provider-error.d.ts +4 -4
- package/dist/actors/computer-use/provider-error.js +6 -6
- package/dist/actors/contract.d.ts +82 -47
- package/dist/actors/contract.js +30 -24
- package/dist/actors/local-agent/claude-session.d.ts +1 -1
- package/dist/actors/local-agent/claude-session.js +13 -12
- package/dist/actors/local-agent/cli.d.ts +9 -7
- package/dist/actors/local-agent/cli.js +24 -28
- package/dist/actors/local-agent/readiness.d.ts +2 -2
- package/dist/actors/local-agent/readiness.js +4 -4
- package/dist/actors/reasoning-effort.js +8 -8
- package/dist/actors/registry.d.ts +12 -12
- package/dist/actors/registry.js +21 -20
- package/dist/actors/scripted-browser/actor.d.ts +10 -10
- package/dist/actors/scripted-browser/actor.js +17 -17
- package/dist/actors/scripted-browser/browser-command.js +1 -1
- package/dist/actors/scripted-browser/steps.js +1 -1
- package/dist/actors/scripted-browser/types.d.ts +1 -1
- package/dist/actors/stop-conditions.d.ts +1 -1
- package/dist/analysis/automatic-completion.d.ts +7 -7
- package/dist/analysis/automatic-completion.js +1 -1
- package/dist/analysis/automatic-config.d.ts +6 -6
- package/dist/analysis/automatic-config.js +1 -1
- package/dist/analysis/codex-config.d.ts +6 -2
- package/dist/analysis/codex-config.js +22 -14
- package/dist/analysis/execute.d.ts +1 -1
- package/dist/analysis/execute.js +1 -1
- package/dist/analysis/service.js +5 -5
- package/dist/analysis/types.d.ts +6 -0
- package/dist/browser-control/client.js +16 -16
- package/dist/browser-control/dispatcher.js +4 -4
- package/dist/browser-control/protocol.js +14 -14
- package/dist/browser-control/recording-transfer.js +4 -4
- package/dist/browser-control/transport.js +7 -7
- package/dist/cli/commands/analysis-signals.d.ts +2 -2
- package/dist/cli/commands/analyze.js +19 -16
- package/dist/cli/commands/codex.js +9 -9
- package/dist/cli/commands/comms.js +48 -35
- package/dist/cli/commands/feedback.js +20 -21
- package/dist/cli/commands/migrate.d.ts +4 -0
- package/dist/cli/commands/migrate.js +65 -0
- package/dist/cli/commands/observe.d.ts +0 -1
- package/dist/cli/commands/observe.js +136 -112
- package/dist/cli/commands/run-command.d.ts +10 -0
- package/dist/cli/commands/run-command.js +85 -0
- package/dist/cli/commands/runs.js +136 -139
- package/dist/cli/commands/setup.d.ts +2 -2
- package/dist/cli/commands/setup.js +27 -24
- package/dist/cli/commands/study-format.d.ts +9 -0
- package/dist/cli/commands/{lab-format.js → study-format.js} +39 -27
- package/dist/cli/commands/{lab-route-computer-use.d.ts → study-route-computer-use.d.ts} +6 -6
- package/dist/cli/commands/{lab-route-computer-use.js → study-route-computer-use.js} +17 -18
- package/dist/cli/commands/{lab-route-open.d.ts → study-route-open.d.ts} +4 -4
- package/dist/cli/commands/{lab-route-open.js → study-route-open.js} +2 -2
- package/dist/cli/commands/{lab-route-preview.d.ts → study-route-preview.d.ts} +7 -7
- package/dist/cli/commands/{lab-route-preview.js → study-route-preview.js} +7 -6
- package/dist/cli/commands/study-route-run.d.ts +19 -0
- package/dist/cli/commands/{lab-route-run.js → study-route-run.js} +6 -6
- package/dist/cli/commands/study-route-scripted.d.ts +17 -0
- package/dist/cli/commands/{lab-route-scripted.js → study-route-scripted.js} +4 -4
- package/dist/cli/commands/{lab-route-shared-world.d.ts → study-route-shared-world.d.ts} +5 -5
- package/dist/cli/commands/{lab-route-shared-world.js → study-route-shared-world.js} +10 -10
- package/dist/cli/commands/study-route-terminal.d.ts +17 -0
- package/dist/cli/commands/{lab-route-terminal.js → study-route-terminal.js} +4 -4
- package/dist/cli/commands/study-run.d.ts +9 -0
- package/dist/cli/commands/{lab-run.js → study-run.js} +44 -45
- package/dist/cli/commands/{lab-scorer.d.ts → study-scorer.d.ts} +7 -7
- package/dist/cli/commands/{lab-scorer.js → study-scorer.js} +2 -2
- package/dist/cli/commands/study.d.ts +3 -0
- package/dist/cli/commands/study.js +146 -0
- package/dist/cli/commands/tui.d.ts +4 -4
- package/dist/cli/commands/tui.js +31 -31
- package/dist/cli/commands/watch.js +71 -121
- package/dist/cli/deprecations.d.ts +6 -0
- package/dist/cli/deprecations.js +18 -0
- package/dist/cli/doctor.d.ts +18 -8
- package/dist/cli/doctor.js +114 -59
- package/dist/cli/first-run-path.d.ts +15 -13
- package/dist/cli/first-run-path.js +35 -33
- package/dist/cli/io.d.ts +44 -9
- package/dist/cli/io.js +98 -23
- package/dist/cli/observer-follow.d.ts +3 -3
- package/dist/cli/observer-follow.js +6 -7
- package/dist/cli/orientation.d.ts +10 -7
- package/dist/cli/orientation.js +89 -47
- package/dist/cli/product-sentence.d.ts +6 -0
- package/dist/cli/product-sentence.js +6 -0
- package/dist/cli/program.d.ts +6 -1
- package/dist/cli/program.js +111 -43
- package/dist/cli/telemetry.d.ts +16 -16
- package/dist/cli/telemetry.js +46 -44
- package/dist/cli.js +1 -1
- package/dist/comms/capture-surface.d.ts +13 -12
- package/dist/comms/capture-surface.js +23 -22
- package/dist/comms/catch-host.d.ts +7 -7
- package/dist/comms/catch-host.js +17 -17
- package/dist/comms/connections.d.ts +1 -1
- package/dist/comms/connections.js +2 -2
- package/dist/comms/email-catch.d.ts +3 -3
- package/dist/comms/email-catch.js +8 -8
- package/dist/comms/external-evidence.d.ts +5 -5
- package/dist/comms/external-evidence.js +5 -4
- package/dist/comms/extract.js +2 -2
- package/dist/comms/fake-inbox.d.ts +3 -3
- package/dist/comms/fake-inbox.js +3 -3
- package/dist/comms/receiving-render.d.ts +1 -1
- package/dist/comms/receiving-render.js +2 -2
- package/dist/comms/receiving-runtime.d.ts +4 -4
- package/dist/comms/sandbox-catch-script.d.ts +6 -6
- package/dist/comms/sandbox-catch-script.js +6 -6
- package/dist/comms/sandbox-catch.d.ts +38 -39
- package/dist/comms/sandbox-catch.js +36 -37
- package/dist/comms/setup.d.ts +2 -2
- package/dist/comms/setup.js +56 -25
- package/dist/comms/thread-evidence.d.ts +1 -1
- package/dist/comms/thread-evidence.js +6 -6
- package/dist/comms/types.d.ts +6 -6
- package/dist/comms/types.js +3 -3
- package/dist/evidence/frame-signature.d.ts +1 -1
- package/dist/evidence/frame-signature.js +4 -4
- package/dist/evidence/redaction.d.ts +3 -3
- package/dist/evidence/redaction.js +4 -4
- package/dist/feedback/draft.js +38 -80
- package/dist/feedback/export-bundle.js +1 -1
- package/dist/feedback/export.d.ts +5 -1
- package/dist/feedback/export.js +10 -10
- package/dist/feedback/feedback.d.ts +2 -2
- package/dist/feedback/feedback.js +21 -3
- package/dist/feedback/proof.d.ts +1 -1
- package/dist/feedback/proof.js +2 -2
- package/dist/guest/bootstrap.js +6 -6
- package/dist/guest/browser-tools.js +8 -8
- package/dist/guest/chromium-text.js +19 -19
- package/dist/guest/desktop-executor.d.ts +2 -2
- package/dist/guest/desktop-executor.js +20 -20
- package/dist/guest/desktop-keys.js +4 -4
- package/dist/guest/desktop-media.d.ts +2 -2
- package/dist/guest/desktop-media.js +16 -16
- package/dist/guest/desktop-native.d.ts +1 -1
- package/dist/guest/desktop-native.js +10 -10
- package/dist/guest/runtime-desktop.js +2 -2
- package/dist/guest/runtime-processes.d.ts +2 -2
- package/dist/guest/runtime-processes.js +2 -2
- package/dist/guest/runtime.js +6 -6
- package/dist/index.d.ts +14 -14
- package/dist/index.js +8 -8
- package/dist/keys/key-resolution.d.ts +5 -5
- package/dist/keys/key-resolution.js +23 -23
- package/dist/observer/artifact.d.ts +2 -2
- package/dist/observer/artifact.js +7 -7
- package/dist/observer/data.d.ts +6 -6
- package/dist/observer/data.js +5 -4
- package/dist/observer/exposure.d.ts +1 -1
- package/dist/observer/exposure.js +11 -11
- package/dist/observer/http.js +1 -1
- package/dist/observer/library.d.ts +3 -1
- package/dist/observer/library.js +8 -3
- package/dist/observer/listen.js +5 -4
- package/dist/observer/render.d.ts +1 -1
- package/dist/observer/render.js +17 -6
- package/dist/observer/run-routes.d.ts +4 -3
- package/dist/observer/run-routes.js +38 -13
- package/dist/observer/serve.d.ts +1 -1
- package/dist/observer/serve.js +7 -3
- package/dist/observer/tunnel.js +1 -1
- package/dist/observer-app.html +4 -4
- package/dist/routes/computer-use/bundle-parts.d.ts +9 -9
- package/dist/routes/computer-use/bundle-parts.js +18 -17
- package/dist/routes/computer-use/bundle.d.ts +2 -2
- package/dist/routes/computer-use/bundle.js +10 -9
- package/dist/routes/computer-use/e2b-desktop/comms.d.ts +6 -6
- package/dist/routes/computer-use/e2b-desktop/comms.js +18 -17
- package/dist/routes/computer-use/e2b-desktop/desktop.js +4 -4
- package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +5 -4
- package/dist/routes/computer-use/e2b-desktop/fidelity.js +11 -10
- package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +1 -1
- package/dist/routes/computer-use/e2b-desktop/prepare.js +10 -10
- package/dist/routes/computer-use/e2b-desktop/start.js +7 -7
- package/dist/routes/computer-use/e2b-desktop/state.d.ts +2 -2
- package/dist/routes/computer-use/e2b-desktop/teardown.js +2 -2
- package/dist/routes/computer-use/external-comms.d.ts +4 -4
- package/dist/routes/computer-use/external-comms.js +1 -1
- package/dist/routes/computer-use/fanout-bundle.js +27 -26
- package/dist/routes/computer-use/fanout-records.js +12 -13
- package/dist/routes/computer-use/live-flush.d.ts +4 -4
- package/dist/routes/computer-use/live-flush.js +6 -6
- package/dist/routes/computer-use/live-phase.d.ts +5 -4
- package/dist/routes/computer-use/live-phase.js +8 -8
- package/dist/routes/computer-use/local-tree-pack.d.ts +5 -5
- package/dist/routes/computer-use/local-tree-pack.js +1 -1
- package/dist/routes/computer-use/local-vm.d.ts +8 -8
- package/dist/routes/computer-use/local-vm.js +3 -3
- package/dist/routes/computer-use/participant-desktop.d.ts +7 -7
- package/dist/routes/computer-use/participant-desktop.js +5 -5
- package/dist/routes/computer-use/participant-execution.d.ts +4 -4
- package/dist/routes/computer-use/participant-execution.js +10 -10
- package/dist/routes/computer-use/participant-model.d.ts +6 -0
- package/dist/routes/computer-use/participant-model.js +33 -15
- package/dist/routes/computer-use/participant-prompt.d.ts +15 -15
- package/dist/routes/computer-use/participant-prompt.js +9 -9
- package/dist/routes/computer-use/participant-runs.d.ts +16 -16
- package/dist/routes/computer-use/participant-runs.js +26 -25
- package/dist/routes/computer-use/plan.d.ts +12 -12
- package/dist/routes/computer-use/plan.js +42 -42
- package/dist/routes/computer-use/preflight.d.ts +5 -5
- package/dist/routes/computer-use/preflight.js +25 -25
- package/dist/routes/computer-use/rerun-selection.d.ts +1 -1
- package/dist/routes/computer-use/rerun-selection.js +4 -3
- package/dist/routes/computer-use/result.d.ts +4 -4
- package/dist/routes/computer-use/result.js +22 -21
- package/dist/routes/computer-use/route.d.ts +12 -11
- package/dist/routes/computer-use/route.js +31 -30
- package/dist/routes/computer-use/self-report.d.ts +7 -7
- package/dist/routes/computer-use/self-report.js +32 -32
- package/dist/routes/computer-use/setup.d.ts +23 -23
- package/dist/routes/computer-use/setup.js +28 -29
- package/dist/routes/computer-use/single-bundle.d.ts +11 -11
- package/dist/routes/computer-use/single-bundle.js +40 -41
- package/dist/routes/computer-use/subject-projection.d.ts +4 -4
- package/dist/routes/computer-use/subject-projection.js +6 -6
- package/dist/routes/computer-use/types.d.ts +71 -73
- package/dist/routes/computer-use/types.js +12 -12
- package/dist/routes/preview.d.ts +13 -7
- package/dist/routes/preview.js +11 -7
- package/dist/routes/scripted/bundle.d.ts +7 -7
- package/dist/routes/scripted/bundle.js +20 -18
- package/dist/routes/scripted/plan.d.ts +8 -8
- package/dist/routes/scripted/plan.js +13 -13
- package/dist/routes/scripted/result.d.ts +3 -3
- package/dist/routes/scripted/result.js +13 -13
- package/dist/routes/scripted/route.d.ts +9 -9
- package/dist/routes/scripted/route.js +15 -16
- package/dist/routes/scripted/scenario.d.ts +1 -1
- package/dist/routes/scripted/scenario.js +5 -5
- package/dist/routes/scripted/setup.d.ts +6 -6
- package/dist/routes/scripted/setup.js +8 -8
- package/dist/routes/scripted/subject.d.ts +5 -5
- package/dist/routes/scripted/subject.js +4 -4
- package/dist/routes/scripted/surface-records.d.ts +1 -1
- package/dist/routes/scripted/surface-records.js +4 -4
- package/dist/routes/scripted/surface-sessions.d.ts +3 -3
- package/dist/routes/scripted/types.d.ts +18 -20
- package/dist/routes/scripted/types.js +2 -2
- package/dist/routes/shared-world/bundle-records.js +11 -10
- package/dist/routes/shared-world/bundle.d.ts +5 -5
- package/dist/routes/shared-world/bundle.js +46 -43
- package/dist/routes/shared-world/checkpoints.d.ts +4 -4
- package/dist/routes/shared-world/checkpoints.js +2 -2
- package/dist/routes/shared-world/comms.d.ts +14 -14
- package/dist/routes/shared-world/comms.js +19 -18
- package/dist/routes/shared-world/external-public.d.ts +4 -3
- package/dist/routes/shared-world/external-public.js +16 -12
- package/dist/routes/shared-world/handoff.d.ts +7 -6
- package/dist/routes/shared-world/handoff.js +65 -57
- package/dist/routes/shared-world/lobby-code.d.ts +2 -2
- package/dist/routes/shared-world/lobby-code.js +9 -9
- package/dist/routes/shared-world/participant-specs.d.ts +10 -9
- package/dist/routes/shared-world/participant-specs.js +38 -31
- package/dist/routes/shared-world/plan.d.ts +9 -9
- package/dist/routes/shared-world/plan.js +16 -16
- package/dist/routes/shared-world/provenance.d.ts +2 -2
- package/dist/routes/shared-world/provenance.js +2 -2
- package/dist/routes/shared-world/provisioned.d.ts +8 -8
- package/dist/routes/shared-world/provisioned.js +18 -17
- package/dist/routes/shared-world/result.d.ts +6 -6
- package/dist/routes/shared-world/result.js +29 -29
- package/dist/routes/shared-world/route.d.ts +11 -11
- package/dist/routes/shared-world/route.js +40 -39
- package/dist/routes/shared-world/setup.d.ts +16 -16
- package/dist/routes/shared-world/setup.js +23 -23
- package/dist/routes/shared-world/types.d.ts +55 -53
- package/dist/routes/shared-world/types.js +4 -4
- package/dist/routes/terminal/adapter.d.ts +5 -5
- package/dist/routes/terminal/adapter.js +9 -9
- package/dist/routes/terminal/bundle.d.ts +13 -13
- package/dist/routes/terminal/bundle.js +28 -27
- package/dist/routes/terminal/credentials.d.ts +8 -8
- package/dist/routes/terminal/credentials.js +12 -12
- package/dist/routes/terminal/dry-run.d.ts +4 -4
- package/dist/routes/terminal/dry-run.js +12 -12
- package/dist/routes/terminal/encoding.js +2 -2
- package/dist/routes/terminal/ledger.d.ts +5 -5
- package/dist/routes/terminal/ledger.js +14 -14
- package/dist/routes/terminal/lifetime.d.ts +1 -1
- package/dist/routes/terminal/lifetime.js +1 -1
- package/dist/routes/terminal/live-finish.d.ts +2 -2
- package/dist/routes/terminal/live-finish.js +10 -10
- package/dist/routes/terminal/live-sandbox.d.ts +2 -2
- package/dist/routes/terminal/live-sandbox.js +15 -15
- package/dist/routes/terminal/participant-text.js +2 -1
- package/dist/routes/terminal/persona.d.ts +2 -2
- package/dist/routes/terminal/persona.js +3 -3
- package/dist/routes/terminal/plan.d.ts +7 -7
- package/dist/routes/terminal/plan.js +15 -15
- package/dist/routes/terminal/recorder.js +2 -2
- package/dist/routes/terminal/result.d.ts +5 -5
- package/dist/routes/terminal/result.js +14 -14
- package/dist/routes/terminal/route.d.ts +9 -9
- package/dist/routes/terminal/route.js +19 -20
- package/dist/routes/terminal/sandbox.d.ts +1 -1
- package/dist/routes/terminal/sandbox.js +1 -1
- package/dist/routes/terminal/session.d.ts +5 -5
- package/dist/routes/terminal/session.js +14 -13
- package/dist/routes/terminal/token-usage.d.ts +1 -1
- package/dist/routes/terminal/token-usage.js +7 -8
- package/dist/routes/terminal/trace.d.ts +4 -4
- package/dist/routes/terminal/trace.js +2 -2
- package/dist/routes/terminal/types.d.ts +48 -50
- package/dist/routes/terminal/types.js +5 -5
- package/dist/run/bundle-shape.js +3 -3
- package/dist/run/bundle.d.ts +49 -49
- package/dist/run/bundle.js +3 -2
- package/dist/run/cost-summary.js +3 -3
- package/dist/run/costs.d.ts +23 -0
- package/dist/run/costs.js +79 -44
- package/dist/run/detail.d.ts +6 -6
- package/dist/run/detail.js +4 -4
- package/dist/run/dry-run-inputs.d.ts +1 -1
- package/dist/run/dry-run-inputs.js +2 -2
- package/dist/run/dry-run.js +20 -20
- package/dist/run/judge.d.ts +19 -13
- package/dist/run/judge.js +18 -8
- package/dist/run/outcomes.d.ts +1 -1
- package/dist/run/participant.d.ts +1 -1
- package/dist/run/paths.d.ts +1 -1
- package/dist/run/paths.js +1 -1
- package/dist/run/preflight-receipts.js +1 -1
- package/dist/run/pricing.d.ts +11 -6
- package/dist/run/pricing.js +22 -15
- package/dist/run/projection.d.ts +46 -46
- package/dist/run/projection.js +57 -57
- package/dist/run/reclaim.d.ts +1 -1
- package/dist/run/reclaim.js +3 -3
- package/dist/run/results.d.ts +5 -5
- package/dist/run/run-cost.d.ts +53 -0
- package/dist/run/run-cost.js +105 -0
- package/dist/run/run-index-analysis.d.ts +15 -0
- package/dist/run/run-index-analysis.js +77 -0
- package/dist/run/run-index.d.ts +19 -7
- package/dist/run/run-index.js +77 -64
- package/dist/run/run-not-found.d.ts +5 -0
- package/dist/run/run-not-found.js +15 -0
- package/dist/run/run.d.ts +6 -5
- package/dist/run/run.js +3 -3
- package/dist/run/sandbox-receipts.d.ts +2 -2
- package/dist/run/sandbox-receipts.js +3 -3
- package/dist/run/shared-world-evidence.d.ts +37 -36
- package/dist/run/shared-world-evidence.js +4 -4
- package/dist/run/shared-world-shape.d.ts +1 -1
- package/dist/run/shared-world-shape.js +7 -7
- package/dist/run/stats.d.ts +14 -8
- package/dist/run/stats.js +121 -63
- package/dist/run/status.d.ts +16 -29
- package/dist/run/status.js +10 -29
- package/dist/run/stored-runs.js +2 -1
- package/dist/run/stream-shape.js +1 -1
- package/dist/run/streams.d.ts +7 -7
- package/dist/run/study-provenance.d.ts +49 -0
- package/dist/run/study-provenance.js +66 -0
- package/dist/run/study-result.d.ts +11 -0
- package/dist/run/study-result.js +9 -0
- package/dist/run/text.d.ts +2 -0
- package/dist/run/text.js +4 -0
- package/dist/run-study.d.ts +112 -0
- package/dist/{run-lab.js → run-study.js} +52 -47
- package/dist/{lab → study}/adapter-extension.d.ts +15 -27
- package/dist/{lab → study}/adapter-extension.js +10 -45
- package/dist/{lab → study}/adapter-scorer-loader.d.ts +17 -17
- package/dist/{lab → study}/adapter-scorer-loader.js +34 -34
- package/dist/study/composition-rules.d.ts +7 -0
- package/dist/{lab → study}/composition-rules.js +53 -53
- package/dist/study/config.d.ts +15 -0
- package/dist/{lab → study}/config.js +98 -41
- package/dist/study/convert.d.ts +33 -0
- package/dist/study/convert.js +432 -0
- package/dist/{lab → study}/device-presets.d.ts +10 -10
- package/dist/{lab → study}/device-presets.js +11 -11
- package/dist/study/discover.d.ts +75 -0
- package/dist/{lab → study}/discover.js +134 -95
- package/dist/{lab → study}/doctor.d.ts +19 -12
- package/dist/{lab → study}/doctor.js +58 -20
- package/dist/study/field-paths.d.ts +12 -0
- package/dist/study/field-paths.js +126 -0
- package/dist/study/files.d.ts +26 -0
- package/dist/study/files.js +44 -0
- package/dist/{lab → study}/init-templates.d.ts +2 -2
- package/dist/study/init-templates.js +421 -0
- package/dist/{lab → study}/init.d.ts +2 -2
- package/dist/{lab → study}/init.js +46 -11
- package/dist/study/keys.d.ts +4 -0
- package/dist/{lab → study}/keys.js +46 -12
- package/dist/study/migrate.d.ts +48 -0
- package/dist/study/migrate.js +408 -0
- package/dist/study/owned-files.d.ts +38 -0
- package/dist/study/owned-files.js +182 -0
- package/dist/{lab → study}/parse/actors.d.ts +5 -5
- package/dist/{lab → study}/parse/actors.js +14 -14
- package/dist/study/parse/comms.d.ts +12 -0
- package/dist/{lab → study}/parse/comms.js +5 -5
- package/dist/study/parse/execution.d.ts +19 -0
- package/dist/{lab → study}/parse/execution.js +13 -13
- package/dist/study/parse/study-v3.d.ts +21 -0
- package/dist/study/parse/study-v3.js +259 -0
- package/dist/study/parse/subject-state.d.ts +30 -0
- package/dist/{lab → study}/parse/subject-state.js +19 -19
- package/dist/{lab → study}/parse/subject.d.ts +3 -3
- package/dist/{lab → study}/parse/subject.js +34 -34
- package/dist/{lab → study}/parse/values.d.ts +3 -3
- package/dist/{lab → study}/parse/values.js +3 -3
- package/dist/{lab → study}/persona-resolve.d.ts +8 -8
- package/dist/{lab → study}/persona-resolve.js +6 -6
- package/dist/{lab → study}/plan-base.d.ts +7 -7
- package/dist/{lab → study}/plan-base.js +1 -1
- package/dist/{lab → study}/plan-participants.d.ts +12 -12
- package/dist/{lab → study}/plan-participants.js +4 -4
- package/dist/{lab → study}/plan-types.d.ts +31 -31
- package/dist/{lab → study}/plan-types.js +2 -2
- package/dist/study/plan.d.ts +13 -0
- package/dist/study/plan.js +101 -0
- package/dist/study/preflight-probes.d.ts +3 -0
- package/dist/{lab → study}/preflight-probes.js +20 -19
- package/dist/study/preflight-result.d.ts +8 -0
- package/dist/{lab → study}/preflight-result.js +5 -4
- package/dist/study/preflight.d.ts +94 -0
- package/dist/{lab → study}/preflight.js +12 -12
- package/dist/{lab → study}/requirements.d.ts +3 -3
- package/dist/{lab → study}/requirements.js +1 -1
- package/dist/study/route-inputs.d.ts +28 -0
- package/dist/{lab → study}/route-inputs.js +1 -1
- package/dist/{lab → study}/routing.d.ts +39 -33
- package/dist/{lab → study}/routing.js +60 -29
- package/dist/{lab/run-lab-events.d.ts → study/run-study-events.d.ts} +10 -13
- package/dist/{lab/run-lab-events.js → study/run-study-events.js} +3 -9
- package/dist/{lab/run-lab-homes.d.ts → study/run-study-homes.d.ts} +21 -18
- package/dist/{lab/run-lab-homes.js → study/run-study-homes.js} +1 -1
- package/dist/study/run-study-options.d.ts +28 -0
- package/dist/{lab/run-lab-options.js → study/run-study-options.js} +29 -25
- package/dist/{lab/lab-deps.d.ts → study/study-deps.d.ts} +8 -13
- package/dist/{lab/lab-deps.js → study/study-deps.js} +2 -2
- package/dist/{lab → study}/summary.d.ts +16 -15
- package/dist/{lab → study}/summary.js +21 -21
- package/dist/{lab → study}/tasks.d.ts +18 -18
- package/dist/{lab → study}/tasks.js +14 -14
- package/dist/{lab → study}/types.d.ts +202 -196
- package/dist/{lab → study}/types.js +3 -1
- package/dist/{lab → study}/validation.d.ts +27 -27
- package/dist/{lab → study}/validation.js +53 -51
- package/dist/study/warnings.d.ts +12 -0
- package/dist/{lab → study}/warnings.js +62 -34
- package/dist/subject/clone.d.ts +7 -7
- package/dist/subject/clone.js +2 -2
- package/dist/subject/desktop-cli.d.ts +1 -1
- package/dist/subject/desktop-cli.js +2 -2
- package/dist/subject/local-tree-archive.d.ts +2 -2
- package/dist/subject/local-tree-archive.js +4 -4
- package/dist/subject/local-tree.d.ts +4 -4
- package/dist/subject/node-bootstrap.js +1 -1
- package/dist/subject/runtime.js +9 -10
- package/dist/subject/serve.d.ts +5 -5
- package/dist/subject/serve.js +3 -3
- package/dist/subject/state.d.ts +4 -4
- package/dist/subject/state.js +1 -1
- package/dist/subject/steps.d.ts +6 -6
- package/dist/subject/steps.js +5 -5
- package/dist/substrates/command-failure.d.ts +3 -3
- package/dist/substrates/command-failure.js +3 -3
- package/dist/substrates/desktop-session.js +2 -2
- package/dist/substrates/detached.d.ts +6 -6
- package/dist/substrates/detached.js +7 -7
- package/dist/substrates/e2b/cdp-probe.d.ts +9 -9
- package/dist/substrates/e2b/cdp-probe.js +14 -17
- package/dist/substrates/e2b/desktop-browser.d.ts +6 -6
- package/dist/substrates/e2b/desktop-browser.js +9 -9
- package/dist/substrates/e2b/desktop-cdp.d.ts +10 -10
- package/dist/substrates/e2b/desktop-cdp.js +9 -9
- package/dist/substrates/e2b/desktop-executor.d.ts +2 -2
- package/dist/substrates/e2b/desktop-executor.js +13 -13
- package/dist/substrates/e2b/desktop-geometry.d.ts +4 -4
- package/dist/substrates/e2b/desktop-geometry.js +8 -8
- package/dist/substrates/e2b/desktop-media.d.ts +4 -4
- package/dist/substrates/e2b/desktop-media.js +1 -1
- package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +3 -3
- package/dist/substrates/e2b/desktop-screenshot-cleanup.js +3 -3
- package/dist/substrates/e2b/lifetime.js +1 -1
- package/dist/substrates/e2b/sandbox.d.ts +4 -4
- package/dist/substrates/e2b/sandbox.js +2 -2
- package/dist/substrates/e2b/sdk.d.ts +12 -12
- package/dist/substrates/e2b/sdk.js +7 -7
- package/dist/substrates/local/runtime-config.d.ts +4 -4
- package/dist/substrates/local/runtime-config.js +4 -4
- package/dist/tui/actions.d.ts +1 -1
- package/dist/tui/actions.js +13 -13
- package/dist/tui/contract.d.ts +23 -23
- package/dist/tui/contract.js +11 -11
- package/dist/tui/launch.d.ts +7 -7
- package/dist/tui/launch.js +36 -31
- package/dist/tui/project.js +5 -5
- package/dist/tui-app.js +139 -139
- package/dist/verify/actor.d.ts +8 -8
- package/dist/verify/actor.js +36 -36
- package/dist/verify/artifacts.d.ts +2 -2
- package/dist/verify/artifacts.js +3 -3
- package/dist/verify/context-growth.d.ts +9 -0
- package/dist/verify/context-growth.js +62 -0
- package/dist/verify/costs.d.ts +6 -6
- package/dist/verify/costs.js +8 -8
- package/dist/verify/shared-world-concurrent.d.ts +2 -2
- package/dist/verify/shared-world-concurrent.js +79 -76
- package/dist/verify/shared-world.d.ts +2 -2
- package/dist/verify/shared-world.js +16 -16
- package/dist/verify/subject.d.ts +5 -5
- package/dist/verify/subject.js +19 -19
- package/dist/verify/verify.js +94 -44
- package/docs/README.md +25 -32
- package/docs/architecture/actor-contract.md +60 -91
- package/docs/architecture/browser-control.md +1 -1
- package/docs/architecture/desktop-sessions.md +7 -7
- package/docs/architecture/external-public-shared-world.md +68 -65
- package/docs/architecture/github-feedback-loop.md +2 -5
- package/docs/architecture/guest-desktop.md +2 -2
- package/docs/architecture/observer.md +34 -34
- package/docs/architecture/restricted-codex-analysis.md +34 -28
- package/docs/architecture/serve.md +34 -37
- package/docs/architecture/state-driven-executor.md +55 -58
- package/docs/architecture/task-protocol-support.md +6 -6
- package/docs/architecture/terminal-product-route.md +70 -110
- package/docs/contracts/README.md +24 -0
- package/docs/contracts/adapter-admission.md +3 -3
- package/docs/contracts/adapter-fixtures.md +4 -7
- package/docs/contracts/core.md +1 -3
- package/docs/contracts/errors.md +62 -0
- package/docs/contracts/feedback.md +8 -9
- package/docs/contracts/policy.md +7 -12
- package/docs/contracts/run-bundle.md +42 -44
- package/docs/contracts/schemas.md +446 -368
- package/docs/contracts/study-analysis.md +7 -4
- package/docs/contracts/study-costs.md +28 -9
- package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +1 -1
- package/docs/decisions/0002-observer-is-one-self-contained-file.md +2 -2
- package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +3 -3
- package/docs/principles/actor-fidelity.md +4 -4
- package/docs/principles/engineering.md +3 -3
- package/docs/principles/invariants-and-defaults.md +38 -38
- package/docs/principles/self-driving-harness.md +1 -5
- package/docs/principles/three-roles.md +1 -1
- package/docs/product/automatic-analysis.md +7 -7
- package/examples/README.md +1 -1
- package/examples/participant/README.md +5 -5
- package/examples/participant/run.mjs +11 -10
- package/examples/scorer/README.md +3 -3
- package/examples/scorer/run.mjs +11 -12
- package/examples/scorer/scorer.mjs +3 -3
- package/package.json +16 -17
- package/skills/humanish/SKILL.md +64 -60
- package/skills/humanish/agents/openai.yaml +1 -1
- package/AGENTS.md +0 -99
- package/CONTRIBUTING.md +0 -148
- package/dist/actors/codex/qualified-versions.d.ts +0 -72
- package/dist/actors/codex/qualified-versions.js +0 -132
- package/dist/cli/commands/lab-format.d.ts +0 -8
- package/dist/cli/commands/lab-route-run.d.ts +0 -19
- package/dist/cli/commands/lab-route-scripted.d.ts +0 -17
- package/dist/cli/commands/lab-route-terminal.d.ts +0 -17
- package/dist/cli/commands/lab-run.d.ts +0 -9
- package/dist/cli/commands/lab.d.ts +0 -3
- package/dist/cli/commands/lab.js +0 -199
- package/dist/cli/renamed-options.d.ts +0 -11
- package/dist/cli/renamed-options.js +0 -18
- package/dist/lab/composition-rules.d.ts +0 -7
- package/dist/lab/config.d.ts +0 -7
- package/dist/lab/discover.d.ts +0 -65
- package/dist/lab/init-templates.js +0 -416
- package/dist/lab/keys.d.ts +0 -2
- package/dist/lab/parse/comms.d.ts +0 -12
- package/dist/lab/parse/execution.d.ts +0 -19
- package/dist/lab/parse/subject-state.d.ts +0 -30
- package/dist/lab/plan.d.ts +0 -19
- package/dist/lab/plan.js +0 -132
- package/dist/lab/preflight-probes.d.ts +0 -3
- package/dist/lab/preflight-result.d.ts +0 -7
- package/dist/lab/preflight.d.ts +0 -92
- package/dist/lab/route-inputs.d.ts +0 -28
- package/dist/lab/run-lab-options.d.ts +0 -28
- package/dist/lab/warnings.d.ts +0 -2
- package/dist/observer/static.d.ts +0 -39
- package/dist/observer/static.js +0 -369
- package/dist/run-lab.d.ts +0 -112
- package/docs/architecture/comms-inbox.md +0 -122
- package/docs/architecture/desktop-recording.md +0 -80
- package/docs/architecture/local-browser-runtime.md +0 -178
- package/docs/architecture/observer-review.md +0 -144
- package/docs/architecture/participant-media.md +0 -90
- package/docs/architecture/project-layout.md +0 -62
- package/docs/architecture/real-email-receiving.md +0 -136
- package/docs/assets/humanish-drawdb-hero.png +0 -0
- package/docs/assets/humanish-observer-hero.png +0 -0
- package/docs/goals/current.md +0 -207
- package/docs/product/lobby-trivia-3player-external-public.md +0 -77
- package/docs/product/open-source-install-experience.md +0 -240
- package/docs/ramp/README.md +0 -295
- package/docs/release/open-source-readiness.md +0 -222
- package/docs/release/public-readiness-standard.md +0 -210
- package/docs/roadmap/world-class-open-source-v0.md +0 -311
- /package/dist/{lab → study}/init-paths.d.ts +0 -0
- /package/dist/{lab → study}/init-paths.js +0 -0
- /package/dist/{lab → study}/init-plan.d.ts +0 -0
- /package/dist/{lab → study}/init-plan.js +0 -0
- /package/dist/{lab → study}/participant-assignment.d.ts +0 -0
- /package/dist/{lab → study}/participant-assignment.js +0 -0
- /package/dist/{lab → study}/persona.d.ts +0 -0
- /package/dist/{lab → study}/persona.js +0 -0
package/dist/lab/plan.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// The route decision. A lab's route follows from its composition (subject.source,
|
|
2
|
-
// execution.target, the first actor's registered lane, subject.topology), never from a declared
|
|
3
|
-
// kind. This is the only function that decides it.
|
|
4
|
-
import { resolveAutomaticAnalysis } from "../analysis/automatic-config.js";
|
|
5
|
-
import { callerDrivingOf, planComputerUseLab } from "../routes/computer-use/plan.js";
|
|
6
|
-
import { injectedBrowser, planScriptedLab } from "../routes/scripted/plan.js";
|
|
7
|
-
import { planSharedWorldLab } from "../routes/shared-world/plan.js";
|
|
8
|
-
import { planTerminalLab } from "../routes/terminal/plan.js";
|
|
9
|
-
import { localBrowserDefaults } from "../substrates/local/runtime-config.js";
|
|
10
|
-
import { THIS_REPO_DRY_RUN_ONLY } from "./composition-rules.js";
|
|
11
|
-
import { planBase } from "./plan-base.js";
|
|
12
|
-
import { isComputerUseComposition, isScriptedBrowserComposition, isSharedWorldComposition, isTerminalProductComposition, } from "./routing.js";
|
|
13
|
-
import { automaticAnalysisRouteReason, taskProtocolValidationReason } from "./validation.js";
|
|
14
|
-
/**
|
|
15
|
-
* The route a config takes. It never refuses: a config no route can run still gets the route
|
|
16
|
-
* whose own checks refuse it with the most precise reason.
|
|
17
|
-
*/
|
|
18
|
-
export function routeOf(config) {
|
|
19
|
-
const source = config.subject.source;
|
|
20
|
-
// A scripted-browser actor on a loopback app or a provisioned clone replays committed steps.
|
|
21
|
-
if (isScriptedBrowserComposition(config))
|
|
22
|
-
return "scripted";
|
|
23
|
-
// A terminal-product subject goes to the terminal route even with an unregistered actor, so that
|
|
24
|
-
// route refuses the actor instead of another route running something else.
|
|
25
|
-
if (isTerminalProductComposition(config) || source === "terminal-product")
|
|
26
|
-
return "terminal";
|
|
27
|
-
// Checked before computer use: the same composition without the topology declaration runs
|
|
28
|
-
// independent participants.
|
|
29
|
-
if (isSharedWorldComposition(config))
|
|
30
|
-
return "shared-world";
|
|
31
|
-
// A CLI studied at a desktop is a computer-use study whose subject is a terminal window.
|
|
32
|
-
if (source === "desktop-cli")
|
|
33
|
-
return "computer-use";
|
|
34
|
-
// Every other app-url, clone, local-app or local-tree config goes to computer use, including
|
|
35
|
-
// ones with an unknown actor: that route refuses the actor, where the preview route would run
|
|
36
|
-
// no participant at all.
|
|
37
|
-
if (isComputerUseComposition(config) ||
|
|
38
|
-
source === "app-url" ||
|
|
39
|
-
source === "clone" ||
|
|
40
|
-
source === "local-app" ||
|
|
41
|
-
source === "local-tree")
|
|
42
|
-
return "computer-use";
|
|
43
|
-
// this-repo runs the synthetic preview.
|
|
44
|
-
return "preview";
|
|
45
|
-
}
|
|
46
|
-
/** Resolve dry-run: explicit override wins, else the scenario mode, else the given fallback. */
|
|
47
|
-
export function resolveLabDryRun(config, override, fallback) {
|
|
48
|
-
if (override !== undefined) {
|
|
49
|
-
return override;
|
|
50
|
-
}
|
|
51
|
-
if (config.scenario?.mode === "live") {
|
|
52
|
-
return false;
|
|
53
|
-
}
|
|
54
|
-
if (config.scenario?.mode === "dry-run") {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
return fallback;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The preview route's refusals before a run starts, in its order: real email receiving, then
|
|
61
|
-
* analysis, then tasks. Each would otherwise be silently ignored by a synthetic run.
|
|
62
|
-
*/
|
|
63
|
-
function planPreview(config, options, input) {
|
|
64
|
-
const refuse = (code, message) => ({
|
|
65
|
-
ok: false,
|
|
66
|
-
refusal: { route: "preview", code, message },
|
|
67
|
-
});
|
|
68
|
-
if (String(config.comms?.email?.kind) === "real")
|
|
69
|
-
return refuse("HUMANISH_LAB_COMMS_UNSUPPORTED", "Real email receiving is unsupported on the preview route. Use a supported hosted computer-use lab.");
|
|
70
|
-
const analysis = resolveAutomaticAnalysis(config.review?.analysis);
|
|
71
|
-
if (!analysis.ok)
|
|
72
|
-
return refuse("HUMANISH_LAB_ANALYSIS_INVALID", analysis.message);
|
|
73
|
-
const unsupported = automaticAnalysisRouteReason(config);
|
|
74
|
-
if (unsupported)
|
|
75
|
-
return refuse("HUMANISH_LAB_ANALYSIS_UNSUPPORTED", unsupported);
|
|
76
|
-
const tasksReason = taskProtocolValidationReason(config);
|
|
77
|
-
if (tasksReason)
|
|
78
|
-
return refuse("HUMANISH_LAB_TASKS_UNSUPPORTED", tasksReason);
|
|
79
|
-
const participantCount = options.count ?? config.actors[0]?.count ?? 4;
|
|
80
|
-
if (!Number.isSafeInteger(participantCount) || participantCount < 1)
|
|
81
|
-
return refuse("HUMANISH_INVALID_SIM_COUNT", "count must be a positive integer.");
|
|
82
|
-
if (!input.dryRun)
|
|
83
|
-
return refuse("HUMANISH_LIVE_RUN_UNIMPLEMENTED", THIS_REPO_DRY_RUN_ONLY);
|
|
84
|
-
return {
|
|
85
|
-
ok: true,
|
|
86
|
-
plan: {
|
|
87
|
-
...planBase(config, { ...input, analysis }),
|
|
88
|
-
route: "preview",
|
|
89
|
-
dryRun: true,
|
|
90
|
-
participantCount,
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* The plan a lab runs under, built without reading files, env or the network. Each route's planner
|
|
96
|
-
* makes every refusal that route makes, in the route's order and with its codes and messages; the
|
|
97
|
-
* route's exported runner calls the same planner.
|
|
98
|
-
*/
|
|
99
|
-
export function planLab(config, options, deps = {}) {
|
|
100
|
-
const lab = localBrowserDefaults(config);
|
|
101
|
-
const input = { dryRun: resolveLabDryRun(lab, options.dryRun, true) ?? true };
|
|
102
|
-
const result = planRoute(routeOf(config), lab, options, input, deps);
|
|
103
|
-
if (!result.ok)
|
|
104
|
-
return result;
|
|
105
|
-
// The manifest the CLI resolved (#455) enters the plan here and nowhere else; the routes read
|
|
106
|
-
// plan.lab for the run's status record and bundle.
|
|
107
|
-
const plan = options.lab === undefined ? result.plan : { ...result.plan, lab: options.lab };
|
|
108
|
-
return { ok: true, planned: { plan } };
|
|
109
|
-
}
|
|
110
|
-
function planRoute(route, lab, options, input, deps) {
|
|
111
|
-
switch (route) {
|
|
112
|
-
case "preview":
|
|
113
|
-
return planPreview(lab, options, input);
|
|
114
|
-
case "computer-use":
|
|
115
|
-
return planComputerUseLab(lab, {
|
|
116
|
-
...input,
|
|
117
|
-
hasRunSession: deps.runSession !== undefined,
|
|
118
|
-
driving: callerDrivingOf(options),
|
|
119
|
-
...(options.count === undefined ? {} : { countOverride: options.count }),
|
|
120
|
-
...(options.rerun === undefined ? {} : { rerun: options.rerun }),
|
|
121
|
-
});
|
|
122
|
-
case "shared-world":
|
|
123
|
-
return planSharedWorldLab(lab, {
|
|
124
|
-
...input,
|
|
125
|
-
hasRunSession: deps.runSession !== undefined,
|
|
126
|
-
});
|
|
127
|
-
case "terminal":
|
|
128
|
-
return planTerminalLab(lab, { ...input, hasCostProbe: deps.costProbe !== undefined });
|
|
129
|
-
case "scripted":
|
|
130
|
-
return planScriptedLab(lab, { ...input, injectedBrowser: injectedBrowser(deps) });
|
|
131
|
-
}
|
|
132
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { LabPreflightResult, PreflightContext } from "./preflight.js";
|
|
2
|
-
export declare function runPublicPreviewPreflight(ctx: PreflightContext): Promise<LabPreflightResult>;
|
|
3
|
-
export declare function runSandboxLoopbackPreflight(ctx: PreflightContext): Promise<LabPreflightResult>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { LabPreflightCheck, LabPreflightResult, PreflightContext } from "./preflight.js";
|
|
2
|
-
export declare const LAB_PREFLIGHT_SCHEMA = "humanish.lab-preflight-result.v1";
|
|
3
|
-
export declare function finalize(ctx: PreflightContext, args?: {
|
|
4
|
-
check?: LabPreflightCheck;
|
|
5
|
-
}): LabPreflightResult;
|
|
6
|
-
export declare function fail(ctx: PreflightContext, code: NonNullable<LabPreflightResult["error"]>["code"], message: string, checks: LabPreflightCheck[]): LabPreflightResult;
|
|
7
|
-
export declare function digest(value: string): string;
|
package/dist/lab/preflight.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import type { AutomaticAnalysisBudget } from "../analysis/automatic-config.js";
|
|
2
|
-
import type { E2BDesktopModule } from "../substrates/e2b/sdk.js";
|
|
3
|
-
import { type LabConfig } from "./types.js";
|
|
4
|
-
import { LAB_PREFLIGHT_SCHEMA } from "./preflight-result.js";
|
|
5
|
-
import { type LabRoute } from "./plan.js";
|
|
6
|
-
import { type LabResolveFailure } from "./discover.js";
|
|
7
|
-
export type LabPreflightReachabilityMode = "metadata" | "public-preview" | "sandbox-loopback" | "prepared-host";
|
|
8
|
-
export interface LabPreflightCheck {
|
|
9
|
-
name: string;
|
|
10
|
-
ok: boolean;
|
|
11
|
-
message: string;
|
|
12
|
-
}
|
|
13
|
-
export interface LabPreflightTarget {
|
|
14
|
-
label: string;
|
|
15
|
-
kind: "subject.appUrl" | "actors[0].lanes[].target" | "subject.serve.url" | "subject.product.publicSurface";
|
|
16
|
-
targetDigest: string;
|
|
17
|
-
originDigest?: string;
|
|
18
|
-
loopback: boolean;
|
|
19
|
-
checked: boolean;
|
|
20
|
-
reachable?: boolean;
|
|
21
|
-
status: "not_checked" | "passed" | "failed" | "blocked";
|
|
22
|
-
statusCode?: number;
|
|
23
|
-
errorCode?: "HUMANISH_PREFLIGHT_TARGET_BLOCKED" | "HUMANISH_PREFLIGHT_TARGET_UNREACHABLE";
|
|
24
|
-
message: string;
|
|
25
|
-
}
|
|
26
|
-
interface LabPreflightSandbox {
|
|
27
|
-
created: boolean;
|
|
28
|
-
killed?: boolean;
|
|
29
|
-
/** The probe's server-side timeout, after which the provider kills it. */
|
|
30
|
-
timeoutMs?: number;
|
|
31
|
-
sandboxIdDigest?: string;
|
|
32
|
-
template?: string;
|
|
33
|
-
}
|
|
34
|
-
interface LabPreflightSpend {
|
|
35
|
-
e2bDesktop: boolean;
|
|
36
|
-
model: false;
|
|
37
|
-
}
|
|
38
|
-
export interface LabPreflightResult {
|
|
39
|
-
/** The separate budget for a future live run, never spend by preflight itself. */
|
|
40
|
-
analysis?: AutomaticAnalysisBudget;
|
|
41
|
-
schema: typeof LAB_PREFLIGHT_SCHEMA;
|
|
42
|
-
ok: boolean;
|
|
43
|
-
cwd: string;
|
|
44
|
-
lab: string;
|
|
45
|
-
labId?: string;
|
|
46
|
-
origin?: string;
|
|
47
|
-
path?: string;
|
|
48
|
-
route?: LabRoute;
|
|
49
|
-
reachability: LabPreflightReachabilityMode;
|
|
50
|
-
checks: LabPreflightCheck[];
|
|
51
|
-
targets: LabPreflightTarget[];
|
|
52
|
-
sandbox: LabPreflightSandbox;
|
|
53
|
-
spend: LabPreflightSpend;
|
|
54
|
-
warnings: string[];
|
|
55
|
-
error?: {
|
|
56
|
-
code: LabResolveFailure["error"]["code"] | "HUMANISH_LAB_PREFLIGHT_INVALID_OPTION" | "HUMANISH_LAB_PREFLIGHT_UNSUPPORTED_ROUTE" | "HUMANISH_LAB_PREFLIGHT_TARGET_POLICY" | "HUMANISH_LAB_PREFLIGHT_ENV_MISSING" | "HUMANISH_LAB_PREFLIGHT_E2B_REQUIRED" | "HUMANISH_LAB_PREFLIGHT_TARGET_UNREACHABLE" | "HUMANISH_LAB_PREFLIGHT_PROVISION_FAILED" | "HUMANISH_LAB_PREFLIGHT_TEARDOWN_FAILED";
|
|
57
|
-
message: string;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
interface LabPreflightHooks {
|
|
61
|
-
loadDesktopModule?: () => Promise<E2BDesktopModule>;
|
|
62
|
-
now?: () => number;
|
|
63
|
-
sleep?: (ms: number) => Promise<void>;
|
|
64
|
-
}
|
|
65
|
-
export interface RunLabPreflightOptions {
|
|
66
|
-
cwd: string;
|
|
67
|
-
lab: string;
|
|
68
|
-
reachability?: LabPreflightReachabilityMode;
|
|
69
|
-
timeoutMs?: number;
|
|
70
|
-
env?: NodeJS.ProcessEnv;
|
|
71
|
-
hooks?: LabPreflightHooks;
|
|
72
|
-
}
|
|
73
|
-
/** A preflight run's state; the probes in preflight-probes.ts read and extend it. */
|
|
74
|
-
export interface PreflightContext {
|
|
75
|
-
cwd: string;
|
|
76
|
-
lab: string;
|
|
77
|
-
labId: string;
|
|
78
|
-
origin: string;
|
|
79
|
-
path: string;
|
|
80
|
-
config: LabConfig;
|
|
81
|
-
route: LabRoute;
|
|
82
|
-
reachability: LabPreflightReachabilityMode;
|
|
83
|
-
timeoutMs: number;
|
|
84
|
-
env: NodeJS.ProcessEnv;
|
|
85
|
-
hooks: LabPreflightHooks;
|
|
86
|
-
checks: LabPreflightCheck[];
|
|
87
|
-
targets: LabPreflightTarget[];
|
|
88
|
-
sandbox: LabPreflightSandbox;
|
|
89
|
-
warnings: string[];
|
|
90
|
-
}
|
|
91
|
-
export declare function runLabPreflight(options: RunLabPreflightOptions): Promise<LabPreflightResult>;
|
|
92
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { InternalRunLabOptions } from "../run-lab.js";
|
|
2
|
-
import type { RunScorerProvenance } from "../run/bundle.js";
|
|
3
|
-
import { type AdapterScorerModule } from "./adapter-scorer-loader.js";
|
|
4
|
-
import type { LabDeps } from "./lab-deps.js";
|
|
5
|
-
import type { LabEvent } from "./run-lab-events.js";
|
|
6
|
-
import type { ComputerUseRunInput } from "../routes/computer-use/types.js";
|
|
7
|
-
import type { ScriptedRunInput } from "../routes/scripted/types.js";
|
|
8
|
-
import type { SharedWorldRunInput } from "../routes/shared-world/types.js";
|
|
9
|
-
import type { TerminalRunInput } from "../routes/terminal/types.js";
|
|
10
|
-
export declare function computerUseInput(options: InternalRunLabOptions, deps: LabDeps, emit: LabEmit | undefined): ComputerUseRunInput;
|
|
11
|
-
export declare function scriptedInput(options: InternalRunLabOptions, deps: LabDeps, emit: LabEmit | undefined): ScriptedRunInput;
|
|
12
|
-
export declare function terminalInput(options: InternalRunLabOptions, deps: LabDeps, emit: LabEmit | undefined): TerminalRunInput;
|
|
13
|
-
export declare function sharedWorldInput(options: InternalRunLabOptions, deps: LabDeps, emit: LabEmit | undefined): SharedWorldRunInput;
|
|
14
|
-
/** A scorer the CLI loads after the route's local checks, and the provenance it stamps on the run. */
|
|
15
|
-
export type LateScorer = Pick<InternalRunLabOptions, "scorer" | "scorerProvenance">;
|
|
16
|
-
/** Narrows RunLabOptions.scorer to the context the route passes (adapter-scorer-loader.ts). */
|
|
17
|
-
type NarrowScorer<S> = (scorer: AdapterScorerModule) => S;
|
|
18
|
-
/**
|
|
19
|
-
* A route's input with a scorer loaded after admission, and the scorer's provenance, as if the
|
|
20
|
-
* caller had passed them up front. The rest of the input is the one the route's checks admitted.
|
|
21
|
-
*/
|
|
22
|
-
export declare function withLateScorer<S, I extends {
|
|
23
|
-
scorer?: S;
|
|
24
|
-
scorerProvenance?: RunScorerProvenance;
|
|
25
|
-
}>(input: I, late: LateScorer | undefined, narrow: NarrowScorer<S>): I;
|
|
26
|
-
/** Reports a LabEvent to onEvent without waiting (normalizeRunLabOptions builds it). */
|
|
27
|
-
type LabEmit = (event: LabEvent) => void;
|
|
28
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { InternalRunLabOptions, LabOutcome, RunLabOptions } from "../run-lab.js";
|
|
2
|
-
import { type LabRoute } from "./plan.js";
|
|
3
|
-
import type { LabConfig } from "./types.js";
|
|
4
|
-
import { type LabEvent } from "./run-lab-events.js";
|
|
5
|
-
type Refusal = {
|
|
6
|
-
ok: false;
|
|
7
|
-
code: "HUMANISH_LAB_OPTION_UNSUPPORTED";
|
|
8
|
-
message: string;
|
|
9
|
-
};
|
|
10
|
-
type Normalized = {
|
|
11
|
-
ok: true;
|
|
12
|
-
/** The options the route reads: onEvent removed, env copied. */
|
|
13
|
-
options: InternalRunLabOptions;
|
|
14
|
-
/** Filled by onEvent failures while the run runs; runLab appends them to the result. */
|
|
15
|
-
warnings: string[];
|
|
16
|
-
/** Calls onEvent and never waits for it, or undefined without onEvent. The routes report through it. */
|
|
17
|
-
emit: ((event: LabEvent) => void) | undefined;
|
|
18
|
-
};
|
|
19
|
-
/** The refusal for a field a JavaScript caller passed that RunLabOptions no longer has. */
|
|
20
|
-
export declare function removedOptionRefusal(options: RunLabOptions): Refusal | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Refuse what the route cannot honor, copy env, and build the emitter onEvent receives through.
|
|
23
|
-
* Nothing here touches the filesystem, so a refusal leaves no run directory, receipt or sandbox.
|
|
24
|
-
*/
|
|
25
|
-
export declare function normalizeRunLabOptions(config: LabConfig, route: LabRoute, options: InternalRunLabOptions): Normalized | Refusal;
|
|
26
|
-
/** A refusal in the route's own result envelope, before any run exists. */
|
|
27
|
-
export declare function optionRefusalOutcome(config: LabConfig, route: LabRoute, options: RunLabOptions, refusal: Refusal): LabOutcome;
|
|
28
|
-
export {};
|
package/dist/lab/warnings.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
export declare const OBSERVER_STATIC_HOST = "127.0.0.1";
|
|
3
|
-
export interface ObserverStaticHandlerOptions {
|
|
4
|
-
/** Directory served as the loopback root. Requests can never escape it. */
|
|
5
|
-
root: string;
|
|
6
|
-
/** File served for directory requests. Defaults to `index.html`. */
|
|
7
|
-
indexPath?: string;
|
|
8
|
-
/**
|
|
9
|
-
* When set, an exact `/` request returns a 302 to `/<redirectRootTo>` instead
|
|
10
|
-
* of serving a file. Used to land visitors on `observer/index.html` so the
|
|
11
|
-
* Observer's relative artifact links (`../run.json`, ...) resolve.
|
|
12
|
-
*/
|
|
13
|
-
redirectRootTo?: string;
|
|
14
|
-
}
|
|
15
|
-
export interface ObserverStaticServeOptions extends ObserverStaticHandlerOptions {
|
|
16
|
-
/** TCP port to bind on 127.0.0.1. Defaults to an ephemeral port (0). */
|
|
17
|
-
port?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Relative entry page (e.g. `observer/index.html`). Drives the returned
|
|
20
|
-
* `url` and the `/` -> entry redirect so callers open the page directly.
|
|
21
|
-
*/
|
|
22
|
-
entryPath?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface ObserverStaticServer {
|
|
25
|
-
url: string;
|
|
26
|
-
port: number;
|
|
27
|
-
host: string;
|
|
28
|
-
close(): Promise<void>;
|
|
29
|
-
}
|
|
30
|
-
export declare function observerStaticContentType(filePath: string): string;
|
|
31
|
-
/**
|
|
32
|
-
* Resolve, guard, and serve a single static request from `root`. Never throws:
|
|
33
|
-
* any unexpected failure is reported as a 500 so the connection always closes.
|
|
34
|
-
* Exported directly so the security guards can be unit-tested without binding a
|
|
35
|
-
* socket.
|
|
36
|
-
*/
|
|
37
|
-
export declare function respondToObserverStaticRequest(options: ObserverStaticHandlerOptions, request: Pick<IncomingMessage, "method" | "url">, response: ServerResponse): Promise<void>;
|
|
38
|
-
export declare function createObserverStaticHandler(options: ObserverStaticHandlerOptions): (request: IncomingMessage, response: ServerResponse) => void;
|
|
39
|
-
export declare function serveObserverStatic(options: ObserverStaticServeOptions): Promise<ObserverStaticServer>;
|