create-walle 0.10.2 → 0.10.3
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/README.md +3 -1
- package/lib/release-schema.json +2 -2
- package/lib/runtime-closure-policy.json +8 -7
- package/package.json +1 -1
- package/template/coding-task-manager/api-prompts.js +45 -7
- package/template/coding-task-manager/bin/claude-hook.js +55 -1
- package/template/coding-task-manager/bin/ctm-relay-client.js +35 -12
- package/template/coding-task-manager/bin/land.js +2069 -0
- package/template/coding-task-manager/bin/memory-census.js +4 -2
- package/template/coding-task-manager/bin/memory-sync-verify.js +151 -0
- package/template/coding-task-manager/bin/probe-refusal-scope.js +530 -0
- package/template/coding-task-manager/db.js +156 -32
- package/template/coding-task-manager/lib/acp/acp-client.js +383 -0
- package/template/coding-task-manager/lib/acp/dsh-context-truth.js +176 -0
- package/template/coding-task-manager/lib/acp/dsh-launch-model.js +302 -0
- package/template/coding-task-manager/lib/acp/dsh-mcp-servers.js +194 -0
- package/template/coding-task-manager/lib/acp/dsh-prompt-lane.js +616 -0
- package/template/coding-task-manager/lib/acp/dsh-route-patch.js +308 -0
- package/template/coding-task-manager/lib/acp/dsh-session-runtime.js +522 -0
- package/template/coding-task-manager/lib/acp/dsh-transcript.js +395 -0
- package/template/coding-task-manager/lib/acp/dsh-usage-log.js +162 -0
- package/template/coding-task-manager/lib/acp/ndjson-stdio-transport.js +225 -0
- package/template/coding-task-manager/lib/adopted-host-redial.js +47 -11
- package/template/coding-task-manager/lib/adopted-launch-environment.js +123 -0
- package/template/coding-task-manager/lib/agent-auto-update-runtime.js +0 -3
- package/template/coding-task-manager/lib/agent-auto-update.js +26 -10
- package/template/coding-task-manager/lib/agent-bundle/build.js +657 -0
- package/template/coding-task-manager/lib/agent-bundle/codex-install.js +558 -0
- package/template/coding-task-manager/lib/agent-bundle/drift.js +120 -0
- package/template/coding-task-manager/lib/agent-bundle/gc.js +522 -0
- package/template/coding-task-manager/lib/agent-bundle/inventory.js +346 -0
- package/template/coding-task-manager/lib/agent-bundle/push.js +717 -0
- package/template/coding-task-manager/lib/agent-bundle/skill-transfer.js +724 -0
- package/template/coding-task-manager/lib/agent-bundle/spawn.js +119 -0
- package/template/coding-task-manager/lib/agent-bundle/store.js +568 -0
- package/template/coding-task-manager/lib/agent-capabilities.js +142 -12
- package/template/coding-task-manager/lib/agent-cli-cache.js +30 -5
- package/template/coding-task-manager/lib/agent-definitions.js +19 -0
- package/template/coding-task-manager/lib/agent-hooks-codex-toml.js +28 -16
- package/template/coding-task-manager/lib/agent-hooks-codex-workspace.js +9 -1
- package/template/coding-task-manager/lib/agent-hooks-installer.js +23 -8
- package/template/coding-task-manager/lib/agent-hooks-prune.js +37 -11
- package/template/coding-task-manager/lib/agent-hooks-shim.js +105 -0
- package/template/coding-task-manager/lib/agent-presets.js +84 -1
- package/template/coding-task-manager/lib/agent-upgrade-jobs.js +12 -1
- package/template/coding-task-manager/lib/agent-version-service.js +74 -11
- package/template/coding-task-manager/lib/all-sessions-query.js +6 -2
- package/template/coding-task-manager/lib/api/agent-bundles.js +436 -0
- package/template/coding-task-manager/lib/api/backup-retention.js +83 -0
- package/template/coding-task-manager/lib/api/conversation-sync-routes.js +124 -0
- package/template/coding-task-manager/lib/api/diagnostics.js +549 -69
- package/template/coding-task-manager/lib/api/fleet.js +118 -0
- package/template/coding-task-manager/lib/api/hub-bridge.js +243 -0
- package/template/coding-task-manager/lib/api/ingress.js +9 -1
- package/template/coding-task-manager/lib/api/landing.js +403 -0
- package/template/coding-task-manager/lib/api/machines.js +691 -2
- package/template/coding-task-manager/lib/api/memory-sync-routes.js +335 -0
- package/template/coding-task-manager/lib/api/misc-ops.js +8 -3
- package/template/coding-task-manager/lib/api/remote-sessions.js +1326 -0
- package/template/coding-task-manager/lib/api/session-attach.js +623 -0
- package/template/coding-task-manager/lib/api/session-messages.js +1384 -0
- package/template/coding-task-manager/lib/api/sessions.js +77 -51
- package/template/coding-task-manager/lib/api/setup-network.js +544 -16
- package/template/coding-task-manager/lib/api/setup-wizard-handlers.js +884 -0
- package/template/coding-task-manager/lib/api/setup.js +829 -10
- package/template/coding-task-manager/lib/api/walle-bridge.js +9 -1
- package/template/coding-task-manager/lib/attachment-reconciler-wiring.js +5 -2
- package/template/coding-task-manager/lib/auth-rate-limit.js +23 -0
- package/template/coding-task-manager/lib/auth-rules.js +292 -21
- package/template/coding-task-manager/lib/background-stop.js +369 -0
- package/template/coding-task-manager/lib/best-of-attempts.js +4 -1
- package/template/coding-task-manager/lib/best-of-launch-plan.js +52 -0
- package/template/coding-task-manager/lib/box-keep-awake.js +89 -0
- package/template/coding-task-manager/lib/broadcast-reason-stats.js +152 -0
- package/template/coding-task-manager/lib/broadcast-serialize.js +5 -0
- package/template/coding-task-manager/lib/build-info.js +4 -2
- package/template/coding-task-manager/lib/claude-model-truth.js +13 -2
- package/template/coding-task-manager/lib/claude-transcript-terminal-renderer.js +17 -13
- package/template/coding-task-manager/lib/client-diag-handler.js +64 -2
- package/template/coding-task-manager/lib/codex-app-server-client.js +14 -16
- package/template/coding-task-manager/lib/codex-configuration-history.js +55 -0
- package/template/coding-task-manager/lib/codex-harness-qualification.js +43 -20
- package/template/coding-task-manager/lib/codex-rollout-history.js +743 -0
- package/template/coding-task-manager/lib/coding-agent-models.js +27 -12
- package/template/coding-task-manager/lib/coding-cli-skill-installer.js +44 -14
- package/template/coding-task-manager/lib/coding-session-model-adapters.js +43 -2
- package/template/coding-task-manager/lib/coding-session-model-owner.js +1 -1
- package/template/coding-task-manager/lib/coding-session-model-public.js +7 -1
- package/template/coding-task-manager/lib/coding-session-model-runtime.js +23 -4
- package/template/coding-task-manager/lib/coding-session-model-scan.js +31 -0
- package/template/coding-task-manager/lib/coding-session-model-state.js +7 -0
- package/template/coding-task-manager/lib/conversation-freshness-diagnostics.js +280 -0
- package/template/coding-task-manager/lib/conversation-item-clock.js +261 -0
- package/template/coding-task-manager/lib/conversation-source-registry.js +5 -0
- package/template/coding-task-manager/lib/conversation-store-v2.js +44 -0
- package/template/coding-task-manager/lib/conversation-sync.js +355 -0
- package/template/coding-task-manager/lib/create/resolve-launch-params.js +96 -12
- package/template/coding-task-manager/lib/create/worker-role-profile.js +4 -4
- package/template/coding-task-manager/lib/create-intent-lease.js +51 -0
- package/template/coding-task-manager/lib/ctm-session-context-api.js +97 -6
- package/template/coding-task-manager/lib/db-domain-tables.js +1 -0
- package/template/coding-task-manager/lib/db-domains.js +1 -0
- package/template/coding-task-manager/lib/db-owner-dispatch-probe.js +32 -0
- package/template/coding-task-manager/lib/db-owner-request-counts.js +178 -0
- package/template/coding-task-manager/lib/db-owner-worker-client.js +68 -14
- package/template/coding-task-manager/lib/db-schema-source-files.js +5 -0
- package/template/coding-task-manager/lib/deferred-restore-attempt.js +6 -2
- package/template/coding-task-manager/lib/feature-manifest.js +4 -0
- package/template/coding-task-manager/lib/fleet-conversation-route.js +97 -0
- package/template/coding-task-manager/lib/fleet-fanout.js +78 -0
- package/template/coding-task-manager/lib/fleet-hub.js +762 -0
- package/template/coding-task-manager/lib/fleet-origin-follower.js +252 -0
- package/template/coding-task-manager/lib/fleet-resolver-effects.js +147 -0
- package/template/coding-task-manager/lib/fleet-resolver-tick.js +148 -0
- package/template/coding-task-manager/lib/fleet-resolver.js +454 -0
- package/template/coding-task-manager/lib/fleet-session-list-routes.js +114 -0
- package/template/coding-task-manager/lib/fleet-session-lists.js +672 -0
- package/template/coding-task-manager/lib/fleet-update.js +798 -0
- package/template/coding-task-manager/lib/fs-watcher-root-watch.js +141 -0
- package/template/coding-task-manager/lib/fs-watcher.js +58 -42
- package/template/coding-task-manager/lib/harness-history-transition.js +50 -9
- package/template/coding-task-manager/lib/headless-term-service.js +84 -8
- package/template/coding-task-manager/lib/hermetic-agent-launch-guard.js +10 -0
- package/template/coding-task-manager/lib/history-transition-read-op.js +175 -8
- package/template/coding-task-manager/lib/host-cpu-categories.js +310 -0
- package/template/coding-task-manager/lib/host-fseventsd-sampler.js +399 -0
- package/template/coding-task-manager/lib/host-handoff.js +16 -19
- package/template/coding-task-manager/lib/host-stats.js +150 -3
- package/template/coding-task-manager/lib/hosted-sync-worker.js +43 -320
- package/template/coding-task-manager/lib/hub-bridge-access.js +798 -0
- package/template/coding-task-manager/lib/hub-bridge-box.js +409 -0
- package/template/coding-task-manager/lib/hub-bridge-mcp.js +380 -0
- package/template/coding-task-manager/lib/hub-bridge-mesh.js +313 -0
- package/template/coding-task-manager/lib/hub-bridge-ops.js +721 -0
- package/template/coding-task-manager/lib/hub-bridge.js +398 -0
- package/template/coding-task-manager/lib/idle-notify.js +491 -0
- package/template/coding-task-manager/lib/instance-id-ownership-manifest.js +8 -0
- package/template/coding-task-manager/lib/instance-manifest.js +5 -1
- package/template/coding-task-manager/lib/instance-sync-status.js +18 -8
- package/template/coding-task-manager/lib/landing/agent-rule.txt +1 -0
- package/template/coding-task-manager/lib/landing/batch-runner.js +366 -0
- package/template/coding-task-manager/lib/landing/config.js +536 -0
- package/template/coding-task-manager/lib/landing/ctm-view.js +256 -0
- package/template/coding-task-manager/lib/landing/gate.js +360 -0
- package/template/coding-task-manager/lib/landing/git.js +344 -0
- package/template/coding-task-manager/lib/landing/lease.js +247 -0
- package/template/coding-task-manager/lib/landing/merge-delta.js +380 -0
- package/template/coding-task-manager/lib/landing/proof.js +223 -0
- package/template/coding-task-manager/lib/landing/queue.js +998 -0
- package/template/coding-task-manager/lib/landing/radar.js +489 -0
- package/template/coding-task-manager/lib/landing/resolve-cli.js +424 -0
- package/template/coding-task-manager/lib/landing/state.js +263 -0
- package/template/coding-task-manager/lib/landing/stop.js +49 -0
- package/template/coding-task-manager/lib/landing/sync-cli.js +475 -0
- package/template/coding-task-manager/lib/landing/sync.js +456 -0
- package/template/coding-task-manager/lib/landing/train.js +885 -0
- package/template/coding-task-manager/lib/landing/window.js +57 -0
- package/template/coding-task-manager/lib/launch-environment.js +121 -0
- package/template/coding-task-manager/lib/launch-model-override.js +36 -10
- package/template/coding-task-manager/lib/launch-plan-pool.js +2 -1
- package/template/coding-task-manager/lib/launch-plan-warm-cache.js +6 -0
- package/template/coding-task-manager/lib/lead-model-observer.js +57 -1
- package/template/coding-task-manager/lib/lead-model-options.js +160 -3
- package/template/coding-task-manager/lib/lead-model-restore-reconciliation.js +106 -24
- package/template/coding-task-manager/lib/lead-model-switch-runtime.js +352 -68
- package/template/coding-task-manager/lib/lead-model-switch.js +114 -10
- package/template/coding-task-manager/lib/lead-model-transition-runtime.js +14 -2
- package/template/coding-task-manager/lib/lead-model-transition-store.js +24 -6
- package/template/coding-task-manager/lib/lead-route-preflight.js +179 -0
- package/template/coding-task-manager/lib/lead-switch-history-mode.js +110 -0
- package/template/coding-task-manager/lib/lead-wire-agent.js +7 -0
- package/template/coding-task-manager/lib/lifecycle-wake-experiment.js +9 -2
- package/template/coding-task-manager/lib/live-defer-announce.js +45 -0
- package/template/coding-task-manager/lib/machine-registry.js +750 -5
- package/template/coding-task-manager/lib/macos-capabilities.js +32 -15
- package/template/coding-task-manager/lib/main-thread-lint-exemptions.json +433 -53
- package/template/coding-task-manager/lib/mainloop-observability.js +14 -9
- package/template/coding-task-manager/lib/media-draft-owner.js +16 -3
- package/template/coding-task-manager/lib/memory-join.js +337 -0
- package/template/coding-task-manager/lib/memory-sync-verify.js +393 -0
- package/template/coding-task-manager/lib/memory-sync.js +565 -0
- package/template/coding-task-manager/lib/migrations/v57-delegate-pref-mirror-opencode.js +68 -0
- package/template/coding-task-manager/lib/migrations/v58-subagent-launch-native-subagents.js +42 -0
- package/template/coding-task-manager/lib/migrations/v59-coding-session-model-state-dsh.js +73 -0
- package/template/coding-task-manager/lib/migrations/v60-delegate-pref-mirror-dsh.js +78 -0
- package/template/coding-task-manager/lib/migrations/v61-conversation-item-clock.js +71 -0
- package/template/coding-task-manager/lib/model-availability.js +727 -0
- package/template/coding-task-manager/lib/model-execution-recipe-metadata.js +4 -6
- package/template/coding-task-manager/lib/model-host-receipt.js +6 -3
- package/template/coding-task-manager/lib/model-id-rule.js +19 -0
- package/template/coding-task-manager/lib/model-proxy/anthropic-face.js +4 -0
- package/template/coding-task-manager/lib/model-proxy/auto-mode-review.js +110 -23
- package/template/coding-task-manager/lib/model-proxy/chat-response-translators.js +3 -0
- package/template/coding-task-manager/lib/model-proxy/generation-probe.js +60 -17
- package/template/coding-task-manager/lib/model-proxy/historical-tool-declarations.js +37 -0
- package/template/coding-task-manager/lib/model-proxy/lead-request-validation.js +1 -0
- package/template/coding-task-manager/lib/model-proxy/lead-token-admin.js +130 -0
- package/template/coding-task-manager/lib/model-proxy/refusal-scope.js +151 -0
- package/template/coding-task-manager/lib/model-proxy/request-budget-store.js +11 -2
- package/template/coding-task-manager/lib/model-proxy/tokens.js +69 -5
- package/template/coding-task-manager/lib/model-proxy/upstream-outcome.js +9 -0
- package/template/coding-task-manager/lib/native-agent-model-args.js +25 -22
- package/template/coding-task-manager/lib/native-history-control.js +6 -4
- package/template/coding-task-manager/lib/native-lead-settings-client.js +44 -4
- package/template/coding-task-manager/lib/oauth-proxy-supervisor.js +173 -36
- package/template/coding-task-manager/lib/online-backup-worker-client.js +2 -0
- package/template/coding-task-manager/lib/opencode-cli.js +480 -0
- package/template/coding-task-manager/lib/opencode-launch-model.js +471 -0
- package/template/coding-task-manager/lib/opencode-v1-plugin/model-carrier.mjs +35 -0
- package/template/coding-task-manager/lib/opencode-v2-plugin/server.js +118 -0
- package/template/coding-task-manager/lib/owner-action-manifest-data.json +1 -1
- package/template/coding-task-manager/lib/park-composer-draft.js +54 -0
- package/template/coding-task-manager/lib/park-fresh-relaunch.js +41 -10
- package/template/coding-task-manager/lib/perf-phase-trace.js +72 -0
- package/template/coding-task-manager/lib/perf-summary.js +7 -0
- package/template/coding-task-manager/lib/perf-tracker.js +63 -2
- package/template/coding-task-manager/lib/project-config.js +7 -0
- package/template/coding-task-manager/lib/prompt-purge-v2.js +52 -1
- package/template/coding-task-manager/lib/provider-login-broker.js +72 -15
- package/template/coding-task-manager/lib/provider-login-tab.js +10 -2
- package/template/coding-task-manager/lib/read-pool-client.js +89 -2
- package/template/coding-task-manager/lib/read-pool-worker-handle.js +29 -4
- package/template/coding-task-manager/lib/recent-catalog-query.js +15 -0
- package/template/coding-task-manager/lib/recent-session-catalog-response.js +67 -10
- package/template/coding-task-manager/lib/recovery-evidence.js +26 -11
- package/template/coding-task-manager/lib/relay-client.js +57 -3
- package/template/coding-task-manager/lib/relink-audit.js +34 -5
- package/template/coding-task-manager/lib/remote-machine-catalog.js +321 -26
- package/template/coding-task-manager/lib/remote-machine-create.js +576 -36
- package/template/coding-task-manager/lib/remote-machine-link.js +546 -59
- package/template/coding-task-manager/lib/remote-machine-proxy.js +143 -9
- package/template/coding-task-manager/lib/remote-session-forward.js +65 -7
- package/template/coding-task-manager/lib/remote-terminal-target.js +9 -2
- package/template/coding-task-manager/lib/restart-guard.js +18 -6
- package/template/coding-task-manager/lib/restore-seed-modes.js +87 -0
- package/template/coding-task-manager/lib/restored-scrollback-hydration-runtime.js +22 -2
- package/template/coding-task-manager/lib/resume-admission.js +17 -3
- package/template/coding-task-manager/lib/review-repo-registry.js +58 -19
- package/template/coding-task-manager/lib/root-delivery-runtime.js +2 -2
- package/template/coding-task-manager/lib/root-prompt-flow.js +1 -1
- package/template/coding-task-manager/lib/runtime-contract.js +3 -1
- package/template/coding-task-manager/lib/schema-indexes.js +1 -0
- package/template/coding-task-manager/lib/session-context-locator.js +742 -0
- package/template/coding-task-manager/lib/session-create/attachment.js +2 -2
- package/template/coding-task-manager/lib/session-create/create-phases.js +118 -0
- package/template/coding-task-manager/lib/session-create/delegate-worker.js +86 -16
- package/template/coding-task-manager/lib/session-create/dsh-session.js +930 -0
- package/template/coding-task-manager/lib/session-create/lead-route-launch.js +186 -13
- package/template/coding-task-manager/lib/session-create/native-lead-lifetime.js +55 -3
- package/template/coding-task-manager/lib/session-create/opencode-lead-provider.js +50 -0
- package/template/coding-task-manager/lib/session-create/prepared.js +162 -38
- package/template/coding-task-manager/lib/session-create/provider-process.js +160 -28
- package/template/coding-task-manager/lib/session-create/response.js +7 -7
- package/template/coding-task-manager/lib/session-create/structured-session.js +27 -0
- package/template/coding-task-manager/lib/session-create/subagent-pick-table.js +3 -1
- package/template/coding-task-manager/lib/session-create/subagent-pick.js +458 -9
- package/template/coding-task-manager/lib/session-create/transcript.js +1 -1
- package/template/coding-task-manager/lib/session-create/worker-budget-setup.js +21 -2
- package/template/coding-task-manager/lib/session-create/worker-continuation.js +7 -1
- package/template/coding-task-manager/lib/session-create/worker-launch-sandbox.js +39 -10
- package/template/coding-task-manager/lib/session-create/worker-observability.js +2 -2
- package/template/coding-task-manager/lib/session-empty.js +13 -10
- package/template/coding-task-manager/lib/session-host-manager.js +60 -0
- package/template/coding-task-manager/lib/session-jobs.js +3 -1
- package/template/coding-task-manager/lib/session-lifecycle.js +10 -4
- package/template/coding-task-manager/lib/session-model-action-preconditions.js +6 -2
- package/template/coding-task-manager/lib/session-model-intent-contract.js +11 -8
- package/template/coding-task-manager/lib/session-park.js +738 -0
- package/template/coding-task-manager/lib/session-path-grant.js +13 -4
- package/template/coding-task-manager/lib/session-status-ledger.js +106 -4
- package/template/coding-task-manager/lib/session-transport.js +17 -0
- package/template/coding-task-manager/lib/session-workspace-projection.js +54 -5
- package/template/coding-task-manager/lib/session-workspace-tracking-runtime.js +213 -1
- package/template/coding-task-manager/lib/skill-autocomplete-query.js +120 -3
- package/template/coding-task-manager/lib/skill-autocomplete.js +15 -1
- package/template/coding-task-manager/lib/sqlite-file-set.js +39 -0
- package/template/coding-task-manager/lib/standup-search-adapter.js +16 -2
- package/template/coding-task-manager/lib/state-sync/client-ledger.js +12 -0
- package/template/coding-task-manager/lib/state-sync/frame-emitter.js +319 -100
- package/template/coding-task-manager/lib/storage/coding-session-model-store.js +4 -1
- package/template/coding-task-manager/lib/storage/delegate-pref-mirror-store.js +32 -9
- package/template/coding-task-manager/lib/structured-session-boot-sweep.js +235 -0
- package/template/coding-task-manager/lib/submission-ack.js +90 -2
- package/template/coding-task-manager/lib/systemd-scope.js +115 -0
- package/template/coding-task-manager/lib/telemetry-receiver.js +39 -0
- package/template/coding-task-manager/lib/terminal-attach-geometry.js +985 -0
- package/template/coding-task-manager/lib/terminal-bootstrap.js +30 -0
- package/template/coding-task-manager/lib/terminal-draft-operation.js +357 -0
- package/template/coding-task-manager/lib/terminal-input-admission.js +17 -1
- package/template/coding-task-manager/lib/terminal-input-prepared.js +563 -0
- package/template/coding-task-manager/lib/transcript-cache-temps.js +171 -0
- package/template/coding-task-manager/lib/transcript-frame-cache.js +8 -3
- package/template/coding-task-manager/lib/transcript-source.js +36 -4
- package/template/coding-task-manager/lib/transcript-store.js +9 -0
- package/template/coding-task-manager/lib/typing-interaction-trace.js +106 -3
- package/template/coding-task-manager/lib/usage-ledger/backfill.js +40 -5
- package/template/coding-task-manager/lib/usage-ledger/client.js +4 -1
- package/template/coding-task-manager/lib/usage-ledger/dsh-parse.js +152 -0
- package/template/coding-task-manager/lib/usage-ledger/dsh-read.js +73 -0
- package/template/coding-task-manager/lib/usage-ledger/ingest.js +34 -6
- package/template/coding-task-manager/lib/usage-ledger/live.js +35 -8
- package/template/coding-task-manager/lib/usage-ledger/read.js +29 -20
- package/template/coding-task-manager/lib/usage-ledger/schema.js +61 -1
- package/template/coding-task-manager/lib/usage-ledger/task-coordinator.js +4 -2
- package/template/coding-task-manager/lib/wake-skip-reasons.js +1 -0
- package/template/coding-task-manager/lib/walle/turn.js +1 -1
- package/template/coding-task-manager/lib/walle-history-serve.js +838 -0
- package/template/coding-task-manager/lib/walle-kill-authority.js +2 -2
- package/template/coding-task-manager/lib/walle-log-rotation.js +164 -1
- package/template/coding-task-manager/lib/walle-mcp-auto-config.js +56 -2
- package/template/coding-task-manager/lib/walle-row-history.js +495 -0
- package/template/coding-task-manager/lib/walle-supervisor.js +33 -14
- package/template/coding-task-manager/lib/watch-worker-client.js +203 -0
- package/template/coding-task-manager/lib/worker-terminal-output.js +5 -2
- package/template/coding-task-manager/lib/ws/hub-bridge.js +35 -0
- package/template/coding-task-manager/lib/ws/lifecycle.js +6 -11
- package/template/coding-task-manager/lib/ws/misc.js +1 -1
- package/template/coding-task-manager/lib/ws/state-sync.js +106 -4
- package/template/coding-task-manager/lib/ws/terminal-attach.js +91 -0
- package/template/coding-task-manager/oauth-proxy.js +112 -115
- package/template/coding-task-manager/package-lock.json +10 -94
- package/template/coding-task-manager/package.json +4 -3
- package/template/coding-task-manager/protocol/message-table.json +10 -0
- package/template/coding-task-manager/protocol/messages.js +10 -0
- package/template/coding-task-manager/protocol/ws-schema.json +20 -0
- package/template/coding-task-manager/protocol/ws-schema.md +2 -0
- package/template/coding-task-manager/public/css/app.css +170 -0
- package/template/coding-task-manager/public/css/walle-session.css +4 -0
- package/template/coding-task-manager/public/index.html +473 -243
- package/template/coding-task-manager/public/js/agent-command.js +86 -0
- package/template/coding-task-manager/public/js/app/backups-panel.js +111 -5
- package/template/coding-task-manager/public/js/app/coding-agent-upgrade.js +103 -4
- package/template/coding-task-manager/public/js/app/machines-page.js +1328 -8
- package/template/coding-task-manager/public/js/app/models-tab.js +113 -38
- package/template/coding-task-manager/public/js/app/restart-banner.js +53 -0
- package/template/coding-task-manager/public/js/app/worktrees-panel.js +184 -2
- package/template/coding-task-manager/public/js/background-work.js +196 -27
- package/template/coding-task-manager/public/js/coding-session-model-presentation.js +138 -10
- package/template/coding-task-manager/public/js/core/active-session-groups.js +179 -0
- package/template/coding-task-manager/public/js/core/pending-create.js +238 -0
- package/template/coding-task-manager/public/js/core/recent-machine-source.js +228 -0
- package/template/coding-task-manager/public/js/core/session-commands.js +180 -14
- package/template/coding-task-manager/public/js/dashboard-client-function-order.json +8 -0
- package/template/coding-task-manager/public/js/document-review-links.js +9 -1
- package/template/coding-task-manager/public/js/file-resolution-client.js +52 -1
- package/template/coding-task-manager/public/js/history-app-seam.js +22 -2
- package/template/coding-task-manager/public/js/machine-pool-shared.js +558 -3
- package/template/coding-task-manager/public/js/message-renderer.js +4 -3
- package/template/coding-task-manager/public/js/model-picker.js +3 -1
- package/template/coding-task-manager/public/js/native-subagent-review.js +15 -2
- package/template/coding-task-manager/public/js/new-session-agent-grid.js +346 -0
- package/template/coding-task-manager/public/js/pasted-content.js +236 -0
- package/template/coding-task-manager/public/js/pe-private-content-lifetime.js +39 -7
- package/template/coding-task-manager/public/js/private-model-lifetime.js +6 -2
- package/template/coding-task-manager/public/js/prompts.js +11 -10
- package/template/coding-task-manager/public/js/protocol.js +10 -0
- package/template/coding-task-manager/public/js/restart-banner-policy.js +29 -1
- package/template/coding-task-manager/public/js/session-model-picker.js +447 -57
- package/template/coding-task-manager/public/js/session-search-utils.js +18 -2
- package/template/coding-task-manager/public/js/session-usage-view.js +2 -1
- package/template/coding-task-manager/public/js/session-workspace-tracking.js +51 -1
- package/template/coding-task-manager/public/js/state-sync-client.js +10 -1
- package/template/coding-task-manager/public/js/stream-view.js +6 -5
- package/template/coding-task-manager/public/js/terminal/conv-only-session.js +287 -0
- package/template/coding-task-manager/public/js/terminal/runtime-09.js +2 -0
- package/template/coding-task-manager/public/js/terminal/runtime-10.js +5 -5
- package/template/coding-task-manager/public/js/terminal/runtime-12.js +8 -1
- package/template/coding-task-manager/public/js/terminal/runtime-16.js +4 -0
- package/template/coding-task-manager/public/js/terminal/runtime-20.js +1 -1
- package/template/coding-task-manager/public/js/terminal-attachment-draft.js +67 -13
- package/template/coding-task-manager/public/js/terminal-image-orchestration.js +52 -6
- package/template/coding-task-manager/public/js/terminal-wheel.js +23 -3
- package/template/coding-task-manager/public/js/walle/chat-conversation.js +4 -4
- package/template/coding-task-manager/public/js/walle.js +6 -0
- package/template/coding-task-manager/public/js/ws/live-dispatch.js +10 -0
- package/template/coding-task-manager/public/m/app.css +140 -0
- package/template/coding-task-manager/public/m/app.js +507 -68
- package/template/coding-task-manager/public/m/index.html +17 -0
- package/template/coding-task-manager/public/m/machines.js +838 -4
- package/template/coding-task-manager/public/m/private-api.js +31 -1
- package/template/coding-task-manager/public/usage.html +1 -0
- package/template/coding-task-manager/scripts/dev-route-fixture/synthetic-route-upstream.js +104 -0
- package/template/coding-task-manager/scripts/dev-route-fixture.js +339 -0
- package/template/coding-task-manager/scripts/opencode-lead-route-probe.js +195 -0
- package/template/coding-task-manager/scripts/opencode-v2-contract-probe/fake-anthropic.js +168 -0
- package/template/coding-task-manager/scripts/opencode-v2-contract-probe/probe-plugin/server.js +95 -0
- package/template/coding-task-manager/scripts/opencode-v2-contract-probe.js +673 -0
- package/template/coding-task-manager/server.js +1950 -11679
- package/template/coding-task-manager/session-integrity.js +64 -4
- package/template/coding-task-manager/workers/db-owner-worker.js +19 -2
- package/template/coding-task-manager/workers/online-backup-worker.js +1 -0
- package/template/coding-task-manager/workers/read-pool-model-collector.js +51 -3
- package/template/coding-task-manager/workers/read-pool-worker.js +76 -6
- package/template/coding-task-manager/workers/session-host-pool-process.js +6 -6
- package/template/coding-task-manager/workers/session-host-process.js +5 -5
- package/template/coding-task-manager/workers/watch-worker.js +105 -0
- package/template/coding-task-manager/workers/worktree-worker.js +168 -33
- package/template/ctm-relay/lib/protocol.js +14 -1
- package/template/package-lock.json +2 -2
- package/template/package.json +1 -1
- package/template/shared/backup-retention.js +82 -0
- package/template/shared/conversation-admission.js +2 -0
- package/template/shared/conversation-provenance.js +3 -7
- package/template/shared/conversation-storage-v2-contract.js +5 -0
- package/template/shared/linked-worktree.js +51 -0
- package/template/shared/macos-fda-target.js +57 -0
- package/template/shared/orphan-parents.js +55 -0
- package/template/shared/release-schema.json +2 -2
- package/template/shared/storage/contract.js +3 -0
- package/template/wall-e/adapters/imessage.js +12 -0
- package/template/wall-e/agent.js +71 -4
- package/template/wall-e/api-walle.js +21 -1
- package/template/wall-e/bin/train-gemma-e4b-tooluse.js +2 -2
- package/template/wall-e/bin/walle-mcp-stdio.js +5 -5
- package/template/wall-e/brain/brain-join.js +859 -0
- package/template/wall-e/brain/brain-sync-membership.js +20 -0
- package/template/wall-e/brain/brain-sync-store.js +131 -77
- package/template/wall-e/brain/brain-sync-v2-schema.js +203 -0
- package/template/wall-e/brain/brain-sync-v2.js +578 -0
- package/template/wall-e/brain/delegate-model-prefs-store.js +13 -4
- package/template/wall-e/brain/deterministic-id.js +51 -0
- package/template/wall-e/brain/memories.js +2 -2
- package/template/wall-e/brain/migrations.js +40 -6
- package/template/wall-e/brain/model-identity-migration.js +1 -1
- package/template/wall-e/brain/owner-call-whitelist.js +23 -7
- package/template/wall-e/brain/schema.js +45 -85
- package/template/wall-e/brain.js +171 -35
- package/template/wall-e/chat.js +3 -3
- package/template/wall-e/coding/agent-shell-env.js +7 -2
- package/template/wall-e/coding/prompt-bundle.js +66 -21
- package/template/wall-e/config/main-loop-exemptions.json +2 -2
- package/template/wall-e/http/admin-api.js +37 -0
- package/template/wall-e/http/gws-api.js +4 -0
- package/template/wall-e/http/helper-rules-api.js +7 -1
- package/template/wall-e/http/model-admin.js +8 -1
- package/template/wall-e/http/model-delegate-pref-admin.js +3 -3
- package/template/wall-e/http/model-proxy-providers.js +174 -1
- package/template/wall-e/http/model-route-health.js +157 -0
- package/template/wall-e/http/sync-api.js +278 -464
- package/template/wall-e/jobs/job-runner.js +28 -1
- package/template/wall-e/lib/brain-owner-op-priority.js +9 -1
- package/template/wall-e/lib/ctm-data-dir.js +26 -0
- package/template/wall-e/lib/derivation-home.js +147 -0
- package/template/wall-e/lib/helper-rules/evaluate.js +50 -9
- package/template/wall-e/lib/helper-rules/grade.js +51 -8
- package/template/wall-e/lib/helper-rules/lead-call-hook.js +38 -5
- package/template/wall-e/lib/helper-rules/store.js +4 -2
- package/template/wall-e/lib/landing-mcp-tools.js +170 -0
- package/template/wall-e/lib/mcp-client-config.js +133 -14
- package/template/wall-e/lib/mcp-gateway-migrate.js +28 -64
- package/template/wall-e/lib/mcp-integration.js +58 -13
- package/template/wall-e/lib/parent-death.js +7 -1
- package/template/wall-e/lib/scheduler-worker-jobs.js +6 -4
- package/template/wall-e/llm/delegate-lead-prefs.js +16 -1
- package/template/wall-e/llm/delegate-vendor-default.js +12 -5
- package/template/wall-e/llm/model-roles.js +1 -1
- package/template/wall-e/llm/native-delegate-selection.js +56 -8
- package/template/wall-e/llm/worker-delegate-args.js +72 -7
- package/template/wall-e/llm/worker-mcp-routing.js +66 -17
- package/template/wall-e/loops/brain-custom-writes.js +19 -0
- package/template/wall-e/loops/ingest.js +17 -1
- package/template/wall-e/loops/think.js +19 -4
- package/template/wall-e/mcp-contract.js +222 -6
- package/template/wall-e/mcp-protocol-contract.js +40 -5
- package/template/wall-e/mcp-server.js +128 -29
- package/template/wall-e/mcp-worker-schemas.js +5 -5
- package/template/wall-e/memory/ctm-context-client.js +85 -0
- package/template/wall-e/memory/ctm-session-context.js +9 -3
- package/template/wall-e/memory/hub-bridge-client.js +388 -0
- package/template/wall-e/memory/replica-origin.js +56 -0
- package/template/wall-e/memory/session-pool.js +135 -0
- package/template/wall-e/runtime/live-capabilities.js +8 -3
- package/template/wall-e/server.js +4 -2
- package/template/wall-e/shared/release-schema.json +2 -2
- package/template/wall-e/shared/sqlite-file-set.js +39 -0
- package/template/wall-e/shared/storage/contract.js +3 -0
- package/template/wall-e/skills/_templates/delegate-worker/VERSION +1 -1
- package/template/wall-e/skills/_templates/delegate-worker/released-sha256.json +7 -1
- package/template/wall-e/skills/_templates/delegate-worker/templates/claude/SKILL.md +4 -4
- package/template/wall-e/skills/_templates/delegate-worker/templates/codex/SKILL.md +6 -6
- package/template/wall-e/skills/_templates/fleet-sync/VERSION +1 -0
- package/template/wall-e/skills/_templates/fleet-sync/released-sha256.json +16 -0
- package/template/wall-e/skills/_templates/fleet-sync/templates/claude/SKILL.md +64 -0
- package/template/wall-e/skills/_templates/fleet-sync/templates/codex/SKILL.md +64 -0
- package/template/wall-e/tools/chrome-automation.js +6 -0
- package/template/wall-e/training/setup-cuda-train-env.sh +2 -2
- package/template/wall-e/workers/brain-owner-worker.js +18 -4
- package/template/wall-e/workers/mcp-gateway-process.js +5 -5
|
@@ -49,6 +49,7 @@ const { registerApiRoutes } = require('../api-router');
|
|
|
49
49
|
// injected so the route table needs no server.js plumbing beyond the deps it already has; the
|
|
50
50
|
// module resolves its own dependencies lazily and is inert until a machine is registered.
|
|
51
51
|
const remoteMachineCatalog = require('../remote-machine-catalog');
|
|
52
|
+
const remoteSessionForward = require('../remote-session-forward'); // WP-2/D-3 (docs/remote-session-history-reads-and-box-status-hooks-2026-10-26.html): box-owned terminal-history reads forwarded to the owning machine.
|
|
52
53
|
const workerAdmission = require('../worker-admission');
|
|
53
54
|
const workerObservability = require('../session-create/worker-observability');
|
|
54
55
|
const { createWaitWatcherReadTail, WATCH_MODES } = require('../session-create/worker-wait-watcher');
|
|
@@ -104,6 +105,7 @@ function configure({
|
|
|
104
105
|
sendJsonResponse,
|
|
105
106
|
apiSessionWorkspace,
|
|
106
107
|
apiResumeSession,
|
|
108
|
+
apiResumeDeferredSessions,
|
|
107
109
|
apiSessionPark,
|
|
108
110
|
apiSessionPin,
|
|
109
111
|
apiSessionWake,
|
|
@@ -169,6 +171,7 @@ function configure({
|
|
|
169
171
|
sendJsonResponse,
|
|
170
172
|
apiSessionWorkspace,
|
|
171
173
|
apiResumeSession,
|
|
174
|
+
apiResumeDeferredSessions,
|
|
172
175
|
apiSessionPark,
|
|
173
176
|
apiSessionPin,
|
|
174
177
|
apiSessionWake,
|
|
@@ -486,9 +489,17 @@ function projectNativeSubagentLaunch(session) {
|
|
|
486
489
|
const unknown = { state: 'unknown' };
|
|
487
490
|
if (!session || typeof session !== 'object') return unknown;
|
|
488
491
|
const agent = normalizeAgentType(session.agentType || session._providerId || session._resumeAgentType || '');
|
|
489
|
-
|
|
490
|
-
|
|
492
|
+
// WP-5 (§9 S-20, opencode-lead-and-delegate-model-selection-2026-10-28.html §8): an OpenCode LEAD
|
|
493
|
+
// is a live lead whose applied pick rides its inline OPENCODE_CONFIG_CONTENT, so its own harness
|
|
494
|
+
// (and pin) must be reported exactly like a Claude/Codex lead's -- Wall-E keys the delegate ladder
|
|
495
|
+
// on it (llm/delegate-lead-prefs.js, S-16). The projection itself is unchanged.
|
|
496
|
+
if (agent !== 'codex' && agent !== 'claude' && agent !== 'opencode' && agent !== 'dsh') return unknown; // dsh (D-24): reported so Wall-E keys a dsh lead 'dsh' and refuses its native picks
|
|
491
497
|
const pick = session.subagent_pick || (session.meta && session.meta.subagent_pick) || null;
|
|
498
|
+
// WP-1 (codex-native-subagent-pick-enforcement-2026-10-28.html §6, S-6): the one additive key -- the recorded
|
|
499
|
+
// fact that THIS launch refused native sub-agents (v58), on both the unknown and known shapes.
|
|
500
|
+
const denied = !!pick && typeof pick === 'object' && !Array.isArray(pick) && pick.native_subagents === 'disabled'
|
|
501
|
+
? { native_subagents: 'disabled' } : {};
|
|
502
|
+
const knownAgent = { state: 'unknown', agent, ...denied };
|
|
492
503
|
if (!pick || typeof pick !== 'object' || Array.isArray(pick)) return knownAgent;
|
|
493
504
|
if (!ACTIVE_SUBAGENT_LAUNCH_KINDS.has(pick.kind)) return knownAgent;
|
|
494
505
|
const model = _boundedLaunchToken(pick.model, 200);
|
|
@@ -497,7 +508,7 @@ function projectNativeSubagentLaunch(session) {
|
|
|
497
508
|
// role effort override"; a bounded token = the effort the launch actually wrote.
|
|
498
509
|
const effort = typeof pick.effort === 'string' ? pick.effort : null;
|
|
499
510
|
if (effort && !_boundedLaunchToken(effort, 32)) return knownAgent;
|
|
500
|
-
return { state: 'known', agent, kind: pick.kind, model, effort: effort === null ? null : effort.trim() };
|
|
511
|
+
return { state: 'known', agent, kind: pick.kind, model, effort: effort === null ? null : effort.trim(), ...denied };
|
|
501
512
|
}
|
|
502
513
|
|
|
503
514
|
function liveNativeSubagentLaunch(sessionId) {
|
|
@@ -1129,6 +1140,21 @@ function handleLeadModelRequestCancel(res, sessionId) {
|
|
|
1129
1140
|
return sendLeadModelResult(res, _deps.leadModelSwitch.cancel(sessionId));
|
|
1130
1141
|
}
|
|
1131
1142
|
|
|
1143
|
+
// WP-2 (docs/remote-box-model-access-2026-10-26.html §6.3, §5.1 R-4): the four lead-model calls of
|
|
1144
|
+
// a MIRROR session are answered BY THE BOX that owns it (the hub holds no session for the id, so
|
|
1145
|
+
// the handlers below can only 404). A local id is untouched: the mirror lookup misses and the
|
|
1146
|
+
// handler runs byte-identically. Same shape as the lifecycle forward at the park/wake route.
|
|
1147
|
+
async function leadModelRoute(req, res, params, kind) {
|
|
1148
|
+
let sessionId = '';
|
|
1149
|
+
try { sessionId = decodeURIComponent(params['1'] || ''); }
|
|
1150
|
+
catch { return _deps.sendJsonResponse(res, 400, { ok: false, error: 'invalid_session_id' }); }
|
|
1151
|
+
if (await remoteMachineCatalog.forwardLeadModelRequest(req, res, sessionId, kind)) return undefined;
|
|
1152
|
+
if (kind === 'switch') return handleLeadModelSwitch(req, res, sessionId);
|
|
1153
|
+
if (kind === 'options') return handleLeadModelOptions(res, sessionId);
|
|
1154
|
+
if (kind === 'request') return handleLeadModelRequestRead(res, sessionId);
|
|
1155
|
+
return handleLeadModelRequestCancel(res, sessionId);
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1132
1158
|
async function handleDelegateProbe(req, res) {
|
|
1133
1159
|
try {
|
|
1134
1160
|
const body = await _deps.readJsonRequestBody(req, { limitBytes: 16 * 1024 });
|
|
@@ -1175,6 +1201,8 @@ async function handleWorkersRetire(req, res) {
|
|
|
1175
1201
|
if (hasIds && b.ids.length > 200) {
|
|
1176
1202
|
return _deps.sendJsonResponse(res, 400, { error: 'bad_request', reason: 'too_many_ids' });
|
|
1177
1203
|
}
|
|
1204
|
+
// WP-1/AC-1h: a box-owned lead's workers are retired on the box that owns them.
|
|
1205
|
+
if (await remoteMachineCatalog.forwardWorkersRetireRequest(req, res, b, _deps)) return undefined;
|
|
1178
1206
|
const ids = [];
|
|
1179
1207
|
if (hasIds) {
|
|
1180
1208
|
for (const raw of b.ids) {
|
|
@@ -1274,7 +1302,7 @@ function handleSessionTranscripts(res, ctmSessionId) {
|
|
|
1274
1302
|
|
|
1275
1303
|
function register() {
|
|
1276
1304
|
registerApiRoutes('sessions', [
|
|
1277
|
-
{ method: 'GET', path: '/api/recent-sessions', handler: (req, res, url) => _deps._perfWrap('apiRecentSessions', _deps.apiRecentSessions)(req, res, url) },
|
|
1305
|
+
{ method: 'GET', path: '/api/recent-sessions', handler: require('../remote-machine-proxy').machineRouted('GET /api/recent-sessions', require('../fleet-session-list-routes').fleetRouted('GET /api/recent-sessions', (req, res, url) => _deps._perfWrap('apiRecentSessions', _deps.apiRecentSessions)(req, res, url), require('../fleet-session-list-routes').FLEET_LIST_ROUTES['GET /api/recent-sessions'])) },
|
|
1278
1306
|
{ method: 'GET', path: '/api/smart-routing/sessions', handler: (req, res, url) => _deps._perfWrap('apiSmartRoutingSessions', _deps.apiSmartRoutingSessions)(req, res, url) },
|
|
1279
1307
|
{ method: 'POST', path: '/api/smart-routing/route', handler: (req, res, url) => _deps._perfWrap('apiSmartRoutingRoute', _deps.apiSmartRoutingRoute)(req, res, url) },
|
|
1280
1308
|
{
|
|
@@ -1292,13 +1320,13 @@ function register() {
|
|
|
1292
1320
|
{ method: 'GET', path: '/api/session/prompt-version', handler: (req, res, url) => _deps._perfWrap('apiSessionPromptVersion', _deps.apiSessionPromptVersion)(req, res, url) },
|
|
1293
1321
|
{ method: 'GET', path: '/api/session/prompts', handler: (req, res, url) => _deps._perfWrap('apiSessionPrompts', _deps.apiSessionPrompts)(req, res, url) },
|
|
1294
1322
|
{ method: 'GET', path: '/api/session/message-content', handler: (req, res, url) => _deps._perfWrap('apiSessionMessageContent', _deps.apiSessionMessageContent)(req, res, url) },
|
|
1295
|
-
{ method: 'GET', path: '/api/session/messages', handler: (req, res, url) => _deps._perfWrap('apiSessionMessages', _deps.apiSessionMessages)(
|
|
1323
|
+
{ method: 'GET', path: '/api/session/messages', handler: require('../remote-machine-proxy').machineRouted('GET /api/session/messages', (req, res, url) => remoteSessionForward.serveMirrorOrLocal(req, res, url, url.searchParams.get('id'), (r, s, u) => _deps._perfWrap('apiSessionMessages', _deps.apiSessionMessages)(r, s, u))) },
|
|
1296
1324
|
{ method: 'GET', path: '/api/session/runtime-diagnostics', handler: (req, res, url) => _deps.apiSessionRuntimeDiagnostics(req, res, url) },
|
|
1297
1325
|
// WP-1C: serve paged rows out of the on-disk scrollback archive (lib/scrollback-archive-store.js).
|
|
1298
1326
|
{
|
|
1299
1327
|
method: 'GET',
|
|
1300
1328
|
regex: /^\/api\/session\/([^/]+)\/scrollback$/,
|
|
1301
|
-
handler: (req, res, url, params) =>
|
|
1329
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'], _deps.apiSessionScrollbackArchive),
|
|
1302
1330
|
},
|
|
1303
1331
|
// WP-4 (terminal-memory-endgame S-14): the transcript-session sibling of the scrollback
|
|
1304
1332
|
// archive route above -- pages rendered rollout-history windows on demand instead of
|
|
@@ -1306,12 +1334,12 @@ function register() {
|
|
|
1306
1334
|
{
|
|
1307
1335
|
method: 'GET',
|
|
1308
1336
|
regex: /^\/api\/session\/([^/]+)\/history-window$/,
|
|
1309
|
-
handler: (req, res, url, params) =>
|
|
1337
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'], _deps.apiSessionHistoryWindow),
|
|
1310
1338
|
},
|
|
1311
1339
|
{
|
|
1312
1340
|
method: 'GET',
|
|
1313
1341
|
regex: /^\/api\/session\/([^/]+)\/painted-rows$/,
|
|
1314
|
-
handler: (req, res, url, params) =>
|
|
1342
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'], _deps.apiSessionPaintedRows),
|
|
1315
1343
|
},
|
|
1316
1344
|
{ method: 'GET', path: '/api/session/export', handler: (req, res, url) => _deps.apiSessionExport(req, res, url) },
|
|
1317
1345
|
{ method: 'DELETE', path: '/api/session', handler: (req, res, url) => _deps.apiDeleteSession(req, res, url) },
|
|
@@ -1321,7 +1349,7 @@ function register() {
|
|
|
1321
1349
|
{ method: 'GET', path: '/api/sessions/integrity', handler: (req, res) => handleSessionsIntegrity(req, res) },
|
|
1322
1350
|
{ method: 'POST', path: '/api/sessions/integrity/fix', handler: (req, res) => handleSessionsIntegrityFix(req, res) },
|
|
1323
1351
|
{ method: 'GET', path: '/api/sessions/relink-audit', handler: (req, res) => handleSessionsRelinkAudit(req, res) },
|
|
1324
|
-
{ method: 'GET', path: '/api/sessions/search', handler: (req, res, url) => _deps.apiSessionSearch(req, res, url) },
|
|
1352
|
+
{ method: 'GET', path: '/api/sessions/search', handler: require('../remote-machine-proxy').machineRouted('GET /api/sessions/search', require('../fleet-session-list-routes').fleetRouted('GET /api/sessions/search', (req, res, url) => _deps.apiSessionSearch(req, res, url), require('../fleet-session-list-routes').FLEET_LIST_ROUTES['GET /api/sessions/search'])) },
|
|
1325
1353
|
{ method: 'GET', path: '/api/sessions/search-status', handler: (req, res) => _deps.apiSessionSearchStatus(res) },
|
|
1326
1354
|
{ method: 'POST', path: '/api/sessions/ai-search', handler: (req, res) => _deps.apiAiSearch(req, res) },
|
|
1327
1355
|
{ method: 'POST', path: '/api/sessions/analyze', handler: (req, res) => _deps.apiAnalyzeSessions(req, res) },
|
|
@@ -1329,19 +1357,26 @@ function register() {
|
|
|
1329
1357
|
{ method: 'POST', path: '/api/sessions/generate-titles', handler: (req, res) => _deps.apiGenerateTitles(req, res) },
|
|
1330
1358
|
{ method: 'POST', path: '/api/sessions/rename', handler: (req, res) => _deps.apiRenameSession(req, res) },
|
|
1331
1359
|
{ method: 'POST', path: '/api/sessions/workers/retire', handler: (req, res) => handleWorkersRetire(req, res) },
|
|
1332
|
-
|
|
1360
|
+
// WP-1 (docs/remote-session-child-transcript-model-truth-and-restart-2026-10-27.html §5 D-2, §8
|
|
1361
|
+
// WP-1): the native clear cutoff, the native/worker transcript reviews and the worker-retire call
|
|
1362
|
+
// below all answer from the BOX that owns a mirror session (the hub holds no row for the id).
|
|
1363
|
+
// A local/unclaimed id runs its handler in the same tick, unchanged.
|
|
1364
|
+
{ method: 'POST', regex: /^\/api\/sessions\/([^/]+)\/native-subagents\/clear$/,
|
|
1365
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'],
|
|
1366
|
+
(q, s, u, id) => handleNativeSubagentsClear(q, s, id)) },
|
|
1333
1367
|
{
|
|
1334
1368
|
method: 'GET',
|
|
1335
1369
|
regex: /^\/api\/sessions\/([^/]+)\/native-subagents\/([^/]+)\/messages$/,
|
|
1336
|
-
handler: (req, res, url, params) =>
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1370
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'],
|
|
1371
|
+
() => serveNativeSubagentReview({
|
|
1372
|
+
req, res, url, leadId: params['1'], key: params['2'],
|
|
1373
|
+
getSession: _deps.getSession,
|
|
1374
|
+
getRuntime: _deps.nativeSubagentRuntime,
|
|
1375
|
+
runReadPoolOp: _deps._runReadPoolOp,
|
|
1376
|
+
dbPath: _deps.dbModule.getDbPath(),
|
|
1377
|
+
cursorSecret: _deps.nativeReviewCursorSecret,
|
|
1378
|
+
sendJsonResponse: _deps.sendJsonResponse,
|
|
1379
|
+
})),
|
|
1345
1380
|
},
|
|
1346
1381
|
// D-1 (docs/exited-worker-transcript-view-2026-10-17.html §6c): an EXITED routed worker's own
|
|
1347
1382
|
// provider transcript, keyed by the WORKER id only. Same reader, response shape, error map,
|
|
@@ -1350,17 +1385,18 @@ function register() {
|
|
|
1350
1385
|
{
|
|
1351
1386
|
method: 'GET',
|
|
1352
1387
|
regex: /^\/api\/sessions\/([^/]+)\/worker-transcript\/messages$/,
|
|
1353
|
-
handler: (req, res, url, params) =>
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1388
|
+
handler: (req, res, url, params) => remoteSessionForward.serveMirrorOrLocal(req, res, url, params['1'],
|
|
1389
|
+
() => serveNativeSubagentReview({
|
|
1390
|
+
req, res, url, leadId: params['1'], key: null,
|
|
1391
|
+
resolveTarget: (lead) => resolveWorkerTranscriptTarget(lead, {
|
|
1392
|
+
getWorkerSession: _deps.dbModule.getWorkerSession,
|
|
1393
|
+
listWorkerTranscriptRows: _deps.dbModule.listWorkerTranscriptRows,
|
|
1394
|
+
}),
|
|
1395
|
+
runReadPoolOp: _deps._runReadPoolOp,
|
|
1396
|
+
dbPath: _deps.dbModule.getDbPath(),
|
|
1397
|
+
cursorSecret: _deps.nativeReviewCursorSecret,
|
|
1398
|
+
sendJsonResponse: _deps.sendJsonResponse,
|
|
1399
|
+
})),
|
|
1364
1400
|
},
|
|
1365
1401
|
{ method: 'POST', path: '/api/sessions/resume-cwd', handler: (req, res) => _deps.apiResumeCwd(req, res) },
|
|
1366
1402
|
// Regex carries a method CHECK at the legacy call site (POST or GET
|
|
@@ -1407,6 +1443,10 @@ function register() {
|
|
|
1407
1443
|
},
|
|
1408
1444
|
},
|
|
1409
1445
|
{ method: 'POST', path: '/api/sessions/resume', handler: (req, res) => _deps.apiResumeSession(req, res) },
|
|
1446
|
+
// WP-2 (docs/external-causality-kill-session-loss-2026-10-27.html §6, §8 WP-2): the dead
|
|
1447
|
+
// adopted host's "Resume N sessions" control. Static path, registered beside its siblings so
|
|
1448
|
+
// the `:id` regexes below never see it.
|
|
1449
|
+
{ method: 'POST', path: '/api/sessions/resume-deferred', handler: (req, res) => _deps.apiResumeDeferredSessions(req, res) },
|
|
1410
1450
|
{
|
|
1411
1451
|
// POST /api/sessions/:id/park, /api/sessions/:id/pin, /api/sessions/:id/wake
|
|
1412
1452
|
method: 'POST',
|
|
@@ -1427,6 +1467,7 @@ function register() {
|
|
|
1427
1467
|
return _deps.apiSessionRevive(req, res, sessionId);
|
|
1428
1468
|
},
|
|
1429
1469
|
},
|
|
1470
|
+
{ method: 'POST', regex: /^\/api\/sessions\/([^/]+)\/background\/([^/]+)\/stop$/, handler: (req, res, url, params) => require('../background-stop').handleStopRequest(req, res, params, _deps) },
|
|
1430
1471
|
{ method: 'POST', path: '/api/sessions/attach', handler: (req, res) => _deps.apiAttachSession(req, res) },
|
|
1431
1472
|
{ method: 'POST', path: '/api/sessions/repoint', handler: (req, res) => handleSessionsRepoint(req, res) },
|
|
1432
1473
|
{
|
|
@@ -1450,27 +1491,12 @@ function register() {
|
|
|
1450
1491
|
handler: (req, res, url, params) => handleWorkerResume(req, res, decodeURIComponent(params['1'])),
|
|
1451
1492
|
},
|
|
1452
1493
|
{ method: 'POST', regex: /^\/api\/sessions\/([^/]+)\/worker-stop$/, handler: (req, res, url, params) => handleWorkerStop(req, res, decodeURIComponent(params['1'])) },
|
|
1453
|
-
// Lead-model switch (WP-2): relaunch in place with a one-shot model flag, confirmed by the next
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
},
|
|
1459
|
-
{
|
|
1460
|
-
method: 'GET',
|
|
1461
|
-
regex: /^\/api\/sessions\/([^/]+)\/lead-model\/options$/,
|
|
1462
|
-
handler: (req, res, url, params) => handleLeadModelOptions(res, decodeURIComponent(params['1'])),
|
|
1463
|
-
},
|
|
1464
|
-
{
|
|
1465
|
-
method: 'GET',
|
|
1466
|
-
regex: /^\/api\/sessions\/([^/]+)\/lead-model\/request$/,
|
|
1467
|
-
handler: (req, res, url, params) => handleLeadModelRequestRead(res, decodeURIComponent(params['1'])),
|
|
1468
|
-
},
|
|
1469
|
-
{
|
|
1470
|
-
method: 'DELETE',
|
|
1471
|
-
regex: /^\/api\/sessions\/([^/]+)\/lead-model\/request$/,
|
|
1472
|
-
handler: (req, res, url, params) => handleLeadModelRequestCancel(res, decodeURIComponent(params['1'])),
|
|
1473
|
-
},
|
|
1494
|
+
// Lead-model switch (WP-2): relaunch in place with a one-shot model flag, confirmed by the next
|
|
1495
|
+
// turn. WP-2 (remote-box-model-access §6.3): a MIRROR id is forwarded to its box first.
|
|
1496
|
+
{ method: 'POST', regex: /^\/api\/sessions\/([^/]+)\/lead-model$/, handler: (req, res, url, params) => leadModelRoute(req, res, params, 'switch') },
|
|
1497
|
+
{ method: 'GET', regex: /^\/api\/sessions\/([^/]+)\/lead-model\/options$/, handler: (req, res, url, params) => leadModelRoute(req, res, params, 'options') },
|
|
1498
|
+
{ method: 'GET', regex: /^\/api\/sessions\/([^/]+)\/lead-model\/request$/, handler: (req, res, url, params) => leadModelRoute(req, res, params, 'request') },
|
|
1499
|
+
{ method: 'DELETE', regex: /^\/api\/sessions\/([^/]+)\/lead-model\/request$/, handler: (req, res, url, params) => leadModelRoute(req, res, params, 'request-cancel') },
|
|
1474
1500
|
// WP-2 (delegated-implementation-workers-2026-09-24.html §6.2, §9 S-9).
|
|
1475
1501
|
{ method: 'POST', path: '/api/sessions/delegate', handler: (req, res) => handleDelegateSession(req, res) },
|
|
1476
1502
|
{ method: 'POST', path: '/api/sessions/delegate/probe', handler: (req, res) => handleDelegateProbe(req, res) },
|