create-walle 0.10.1 → 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 +7 -1
- package/lib/owner-write-safety.js +135 -0
- package/lib/public-runtime.js +13 -5
- package/lib/release-schema.json +3 -2
- package/lib/runtime-closure-policy.json +11 -8
- package/package.json +1 -1
- package/template/bin/deps-doctor.js +1 -1
- package/template/bin/node-bin.sh +11 -0
- package/template/coding-task-manager/api-prompts.js +55 -29
- package/template/coding-task-manager/bin/claude-hook.js +62 -4
- package/template/coding-task-manager/bin/claude-table-parity.js +307 -0
- package/template/coding-task-manager/bin/conversation-storage-auto-migration-lib.js +16 -1
- package/template/coding-task-manager/bin/conversation-storage-generation-evidence.js +9 -2
- package/template/coding-task-manager/bin/conversation-storage-service-entry-lib.js +16 -1
- package/template/coding-task-manager/bin/conversation-storage-walle-owner.js +247 -0
- package/template/coding-task-manager/bin/ctm-machine-pair.js +160 -0
- 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/lead-wait-census.js +1348 -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/bin/repair-foreign-clone.js +564 -0
- package/template/coding-task-manager/bin/repair-resume-echo-titles.js +248 -0
- package/template/coding-task-manager/bin/write-lock-bench.js +111 -0
- package/template/coding-task-manager/db.js +860 -317
- package/template/coding-task-manager/git-utils.js +44 -0
- 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 -7
- 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 +99 -1
- package/template/coding-task-manager/lib/agent-title-apply.js +88 -0
- package/template/coding-task-manager/lib/agent-title-backfill-read.js +92 -0
- 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/host-stats.js +98 -0
- package/template/coding-task-manager/lib/api/hub-bridge.js +243 -0
- package/template/coding-task-manager/lib/api/ingress.js +43 -12
- package/template/coding-task-manager/lib/api/landing.js +403 -0
- package/template/coding-task-manager/lib/api/machine-pairing.js +285 -0
- package/template/coding-task-manager/lib/api/machine-pool.js +307 -0
- package/template/coding-task-manager/lib/api/machines.js +1150 -0
- package/template/coding-task-manager/lib/api/memory-sync-routes.js +335 -0
- package/template/coding-task-manager/lib/api/misc-ops.js +25 -5
- package/template/coding-task-manager/lib/api/providers.js +53 -6
- package/template/coding-task-manager/lib/api/remote-sessions.js +1326 -0
- package/template/coding-task-manager/lib/api/resume-from-store.js +25 -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 +237 -59
- 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/transcript-history.js +17 -4
- package/template/coding-task-manager/lib/api/walle-bridge.js +9 -1
- package/template/coding-task-manager/lib/api/worktrees.js +38 -37
- package/template/coding-task-manager/lib/approval-drift.js +16 -1
- package/template/coding-task-manager/lib/approval-logical-frame.js +5 -1
- package/template/coding-task-manager/lib/approval-scope.js +68 -4
- package/template/coding-task-manager/lib/attachment-reconciler-wiring.js +5 -2
- package/template/coding-task-manager/lib/auth-context.js +32 -2
- package/template/coding-task-manager/lib/auth-rate-limit.js +64 -1
- package/template/coding-task-manager/lib/auth-rules.js +474 -62
- 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 +7 -1
- package/template/coding-task-manager/lib/browser-session-broker.js +9 -1
- package/template/coding-task-manager/lib/browser-use-adapter.js +33 -2
- package/template/coding-task-manager/lib/build-info.js +4 -2
- package/template/coding-task-manager/lib/claude-markdown-ansi.js +27 -85
- package/template/coding-task-manager/lib/claude-model-truth.js +13 -2
- package/template/coding-task-manager/lib/claude-session-title.js +6 -30
- package/template/coding-task-manager/lib/claude-table-layout.js +322 -0
- package/template/coding-task-manager/lib/claude-transcript-terminal-renderer.js +17 -13
- package/template/coding-task-manager/lib/client-diag-handler.js +69 -2
- package/template/coding-task-manager/lib/codex-app-server-client.js +14 -16
- package/template/coding-task-manager/lib/codex-config-guard.js +33 -3
- package/template/coding-task-manager/lib/codex-configuration-history.js +55 -0
- package/template/coding-task-manager/lib/codex-harness-qualification.js +55 -20
- package/template/coding-task-manager/lib/codex-launch-health.js +29 -2
- package/template/coding-task-manager/lib/codex-link-preparation.js +9 -8
- package/template/coding-task-manager/lib/codex-paths.js +2 -1
- package/template/coding-task-manager/lib/codex-rollout-history.js +743 -0
- package/template/coding-task-manager/lib/coding-agent-models.js +48 -42
- package/template/coding-task-manager/lib/coding-cli-skill-installer.js +44 -14
- package/template/coding-task-manager/lib/coding-session-model-adapters.js +70 -4
- package/template/coding-task-manager/lib/coding-session-model-owner.js +1 -1
- package/template/coding-task-manager/lib/coding-session-model-projection.js +5 -0
- package/template/coding-task-manager/lib/coding-session-model-public.js +7 -1
- package/template/coding-task-manager/lib/coding-session-model-runtime.js +24 -6
- package/template/coding-task-manager/lib/coding-session-model-scan.js +31 -0
- package/template/coding-task-manager/lib/coding-session-model-state.js +17 -0
- package/template/coding-task-manager/lib/coding-session-model-sync-state.js +0 -1
- package/template/coding-task-manager/lib/conversation-freshness-diagnostics.js +280 -0
- package/template/coding-task-manager/lib/conversation-import/cursor-guard-owner.js +10 -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 +104 -13
- 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-boot-lifecycle.js +17 -1
- package/template/coding-task-manager/lib/ctm-session-context-api.js +97 -6
- package/template/coding-task-manager/lib/db-domain-tables.js +8 -0
- package/template/coding-task-manager/lib/db-domains.js +22 -2
- package/template/coding-task-manager/lib/db-owner-dispatch-probe.js +32 -0
- package/template/coding-task-manager/lib/db-owner-op-registry.js +7 -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 +6 -0
- package/template/coding-task-manager/lib/deferred-restore-attempt.js +6 -2
- package/template/coding-task-manager/lib/feature-manifest.js +5 -1
- 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 +61 -44
- package/template/coding-task-manager/lib/harness-history-transition.js +52 -11
- package/template/coding-task-manager/lib/headless-inflight-ops.js +203 -0
- package/template/coding-task-manager/lib/headless-missing-reply.js +42 -0
- package/template/coding-task-manager/lib/headless-term-service.js +139 -25
- 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-control-dial.js +167 -0
- 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-orchestrator.js +16 -2
- package/template/coding-task-manager/lib/host-handoff.js +50 -15
- package/template/coding-task-manager/lib/host-health-ledger.js +164 -12
- package/template/coding-task-manager/lib/host-self-truth-watchdog.js +4 -0
- package/template/coding-task-manager/lib/host-stats.js +475 -0
- package/template/coding-task-manager/lib/host-threadpool-evacuation.js +160 -0
- package/template/coding-task-manager/lib/host-threadpool-monitor.js +14 -1
- package/template/coding-task-manager/lib/hosted-input-dispatch.js +203 -0
- package/template/coding-task-manager/lib/hosted-sync-worker.js +141 -310
- 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 +12 -0
- package/template/coding-task-manager/lib/instance-manifest-runtime.js +3 -0
- package/template/coding-task-manager/lib/instance-manifest.js +18 -2
- package/template/coding-task-manager/lib/instance-sync-status.js +33 -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 +193 -8
- 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/launch-plan-worker.js +59 -2
- 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 +409 -72
- package/template/coding-task-manager/lib/lead-model-switch.js +115 -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 +85 -9
- 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/legacy-draft-cancellation-recovery.js +111 -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/login-tripwire.js +1 -0
- package/template/coding-task-manager/lib/machine-pairing.js +238 -0
- package/template/coding-task-manager/lib/machine-pool.js +409 -0
- package/template/coding-task-manager/lib/machine-registry.js +1494 -0
- package/template/coding-task-manager/lib/machine-self.js +66 -0
- package/template/coding-task-manager/lib/macos-capabilities.js +32 -15
- package/template/coding-task-manager/lib/main-thread-lint-exemptions.json +485 -57
- 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/media-journal-control-reader.js +473 -0
- package/template/coding-task-manager/lib/media-journal.js +84 -27
- package/template/coding-task-manager/lib/media-store-options.js +43 -15
- 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/v56-host-samples-and-machine-pool.js +76 -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/mirror-feed-sanitize.js +12 -3
- 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 +8 -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 +6 -0
- package/template/coding-task-manager/lib/model-proxy/generation-probe.js +60 -17
- package/template/coding-task-manager/lib/model-proxy/handoff.js +494 -0
- 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/lead-worker-picks.js +25 -0
- package/template/coding-task-manager/lib/model-proxy/native-lead-listener.js +61 -7
- package/template/coding-task-manager/lib/model-proxy/proxy-cli.js +200 -0
- package/template/coding-task-manager/lib/model-proxy/proxy-instance-record.js +257 -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/stream-accounting.js +205 -0
- package/template/coding-task-manager/lib/model-proxy/tokens.js +147 -5
- package/template/coding-task-manager/lib/model-proxy/upstream-outcome.js +18 -0
- package/template/coding-task-manager/lib/native-agent-model-args.js +25 -22
- package/template/coding-task-manager/lib/native-history-control.js +7 -5
- package/template/coding-task-manager/lib/native-lead-settings-client.js +46 -5
- package/template/coding-task-manager/lib/native-lead-tls.js +18 -4
- package/template/coding-task-manager/lib/oauth-proxy-supervisor.js +776 -75
- 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 +15 -1
- package/template/coding-task-manager/lib/painted-row-recorder.js +9 -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/prompt-submission-contract.js +21 -1
- package/template/coding-task-manager/lib/provider-login-broker.js +264 -24
- package/template/coding-task-manager/lib/provider-login-capture.js +153 -0
- package/template/coding-task-manager/lib/provider-login-tab.js +10 -2
- package/template/coding-task-manager/lib/queue-draft-status-overlay.js +36 -0
- package/template/coding-task-manager/lib/raw-codex-history-window.js +5 -3
- package/template/coding-task-manager/lib/read-pool-client.js +94 -4
- package/template/coding-task-manager/lib/read-pool-op-registry.js +10 -1
- package/template/coding-task-manager/lib/read-pool-worker-handle.js +29 -4
- package/template/coding-task-manager/lib/recent-catalog-query.js +41 -0
- package/template/coding-task-manager/lib/recent-session-catalog-response.js +76 -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-command-context.js +12 -0
- package/template/coding-task-manager/lib/remote-command-runtime.js +13 -1
- package/template/coding-task-manager/lib/remote-machine-catalog.js +1357 -0
- package/template/coding-task-manager/lib/remote-machine-create.js +1233 -0
- package/template/coding-task-manager/lib/remote-machine-link.js +1426 -0
- package/template/coding-task-manager/lib/remote-machine-proxy.js +654 -0
- package/template/coding-task-manager/lib/remote-session-forward.js +364 -0
- package/template/coding-task-manager/lib/remote-submission-status.js +6 -0
- 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/restart-outcome-truth.js +20 -3
- package/template/coding-task-manager/lib/restart-preflight.js +9 -2
- package/template/coding-task-manager/lib/restore-backoff-gate.js +10 -2
- package/template/coding-task-manager/lib/restore-prepare-retry.js +12 -5
- package/template/coding-task-manager/lib/restore-resume-batch.js +22 -1
- 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/resume-blocked-wire.js +62 -1
- package/template/coding-task-manager/lib/resume-cwd.js +13 -0
- package/template/coding-task-manager/lib/resume-from-store.js +12 -1
- package/template/coding-task-manager/lib/resume-origin-facts.js +38 -1
- package/template/coding-task-manager/lib/resume-preflight.js +21 -16
- package/template/coding-task-manager/lib/review-repo-admission.js +39 -6
- package/template/coding-task-manager/lib/review-repo-registry.js +74 -18
- package/template/coding-task-manager/lib/root-delivery-runtime.js +74 -17
- package/template/coding-task-manager/lib/root-delivery-selection.js +37 -1
- package/template/coding-task-manager/lib/root-prompt-admission.js +33 -2
- package/template/coding-task-manager/lib/root-prompt-flow.js +168 -34
- 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/scrollback-archive-store.js +7 -4
- package/template/coding-task-manager/lib/session-analysis-memory.js +2 -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/codex-native-provider-gate.js +218 -0
- package/template/coding-task-manager/lib/session-create/codex-resume-exit-classify.js +52 -0
- package/template/coding-task-manager/lib/session-create/create-phases.js +118 -0
- package/template/coding-task-manager/lib/session-create/delegate-worker.js +179 -20
- package/template/coding-task-manager/lib/session-create/dsh-session.js +930 -0
- package/template/coding-task-manager/lib/session-create/identity.js +20 -1
- 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 +201 -9
- package/template/coding-task-manager/lib/session-create/provider-launch-context.js +77 -0
- package/template/coding-task-manager/lib/session-create/provider-process.js +193 -64
- package/template/coding-task-manager/lib/session-create/response.js +37 -19
- 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 +14 -5
- 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 +50 -2
- package/template/coding-task-manager/lib/session-create/worker-launch-sandbox.js +39 -10
- package/template/coding-task-manager/lib/session-create/worker-notices.js +94 -5
- package/template/coding-task-manager/lib/session-create/worker-observability.js +101 -9
- package/template/coding-task-manager/lib/session-create/worker-stop.js +11 -3
- package/template/coding-task-manager/lib/session-create/worker-wait-watcher.js +315 -0
- package/template/coding-task-manager/lib/session-empty.js +13 -10
- package/template/coding-task-manager/lib/session-geometry-authority-handler.js +10 -1
- package/template/coding-task-manager/lib/session-host-manager.js +212 -206
- package/template/coding-task-manager/lib/session-jobs.js +20 -10
- package/template/coding-task-manager/lib/session-lifecycle.js +28 -4
- package/template/coding-task-manager/lib/session-model-action-preconditions.js +15 -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-resource-sampler.js +19 -9
- package/template/coding-task-manager/lib/session-standup.js +67 -4
- package/template/coding-task-manager/lib/session-status-ledger.js +147 -6
- package/template/coding-task-manager/lib/session-status-runtime.js +45 -1
- package/template/coding-task-manager/lib/session-title-mirror.js +25 -57
- package/template/coding-task-manager/lib/session-transcript-trash.js +8 -1
- 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/startup-pointer-write.js +57 -0
- 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/state-sync/painted-frame-field.js +11 -0
- package/template/coding-task-manager/lib/storage/coding-session-model-store.js +25 -23
- 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/surviving-owner-bootstrap.js +7 -2
- package/template/coding-task-manager/lib/surviving-owner-recovery.js +2 -1
- 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-http-status.js +25 -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-archiver.js +229 -229
- package/template/coding-task-manager/lib/transcript-cache-temps.js +171 -0
- package/template/coding-task-manager/lib/transcript-frame-cache.js +20 -5
- package/template/coding-task-manager/lib/transcript-guard-job.js +55 -4
- package/template/coding-task-manager/lib/transcript-link.js +77 -0
- package/template/coding-task-manager/lib/transcript-manifest-store.js +8 -4
- package/template/coding-task-manager/lib/transcript-source.js +44 -7
- package/template/coding-task-manager/lib/transcript-store.js +49 -0
- package/template/coding-task-manager/lib/tunnel-lane-governor.js +6 -3
- package/template/coding-task-manager/lib/typing-interaction-trace.js +198 -3
- package/template/coding-task-manager/lib/typing-worker-stages.js +60 -0
- 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/visible-revision-watchdog.js +8 -12
- package/template/coding-task-manager/lib/wake-skip-reasons.js +47 -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 +130 -27
- package/template/coding-task-manager/lib/watch-worker-client.js +203 -0
- package/template/coding-task-manager/lib/worker-failure-classify.js +13 -1
- 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 +125 -6
- package/template/coding-task-manager/lib/ws/terminal-attach.js +123 -1
- package/template/coding-task-manager/lib/ws-router.js +68 -1
- package/template/coding-task-manager/lib/ws-send-admission.js +22 -4
- package/template/coding-task-manager/oauth-proxy.js +211 -170
- package/template/coding-task-manager/package-lock.json +34 -94
- package/template/coding-task-manager/package.json +7 -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/providers/codex-mcp-extract.js +121 -19
- package/template/coding-task-manager/providers/codex-mcp.js +14 -5
- package/template/coding-task-manager/public/css/app.css +449 -1
- package/template/coding-task-manager/public/css/reviews.css +4 -0
- package/template/coding-task-manager/public/css/walle-session.css +4 -0
- package/template/coding-task-manager/public/index.html +766 -465
- 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 +2572 -0
- package/template/coding-task-manager/public/js/app/models-tab.js +658 -73
- package/template/coding-task-manager/public/js/app/restart-banner.js +53 -0
- package/template/coding-task-manager/public/js/app/worktrees-panel.js +191 -7
- package/template/coding-task-manager/public/js/background-work.js +203 -28
- package/template/coding-task-manager/public/js/coding-session-model-presentation.js +181 -13
- 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 +847 -5
- package/template/coding-task-manager/public/js/core/session-selectors.js +5 -1
- 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 +48 -4
- package/template/coding-task-manager/public/js/history-painted-rows.js +17 -2
- package/template/coding-task-manager/public/js/history-reader-park.js +13 -1
- package/template/coding-task-manager/public/js/history-scroller.js +187 -9
- package/template/coding-task-manager/public/js/history-transcript-pages.js +5 -5
- package/template/coding-task-manager/public/js/machine-pool-shared.js +991 -0
- 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/private-state-scope.js +31 -3
- package/template/coding-task-manager/public/js/prompt-submission-client.js +173 -8
- package/template/coding-task-manager/public/js/prompt-submission-tray.js +281 -0
- 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/queue-panel-submission-reconcile.js +174 -1
- package/template/coding-task-manager/public/js/restart-banner-policy.js +29 -1
- package/template/coding-task-manager/public/js/reviews.js +7 -3
- package/template/coding-task-manager/public/js/root-draft-lifetime.js +139 -2
- package/template/coding-task-manager/public/js/root-queue-builder-lifetime.js +16 -0
- package/template/coding-task-manager/public/js/row-join.js +4 -2
- package/template/coding-task-manager/public/js/session-model-picker.js +447 -57
- package/template/coding-task-manager/public/js/session-search-utils.js +64 -21
- 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 +14 -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-02.js +16 -7
- package/template/coding-task-manager/public/js/terminal/runtime-03.js +41 -0
- package/template/coding-task-manager/public/js/terminal/runtime-04.js +41 -4
- 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 +60 -3
- package/template/coding-task-manager/public/js/terminal/runtime-16.js +16 -12
- package/template/coding-task-manager/public/js/terminal/runtime-18.js +14 -0
- package/template/coding-task-manager/public/js/terminal/runtime-19.js +8 -4
- package/template/coding-task-manager/public/js/terminal/runtime-20.js +211 -74
- package/template/coding-task-manager/public/js/terminal/runtime-21.js +19 -6
- package/template/coding-task-manager/public/js/terminal/runtime-22.js +86 -0
- package/template/coding-task-manager/public/js/terminal-attachment-draft.js +67 -13
- package/template/coding-task-manager/public/js/terminal-history-viewport.js +1 -1
- package/template/coding-task-manager/public/js/terminal-image-orchestration.js +52 -6
- package/template/coding-task-manager/public/js/terminal-wheel.js +62 -5
- package/template/coding-task-manager/public/js/walle/chat-conversation.js +15 -7
- package/template/coding-task-manager/public/js/walle-session.js +30 -7
- 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 +366 -8
- package/template/coding-task-manager/public/m/app.js +1006 -74
- package/template/coding-task-manager/public/m/index.html +55 -1
- package/template/coding-task-manager/public/m/machines.js +2147 -0
- package/template/coding-task-manager/public/m/pool-failover.js +391 -0
- package/template/coding-task-manager/public/m/private-api.js +31 -1
- package/template/coding-task-manager/public/m/private-queue-actions.js +26 -7
- package/template/coding-task-manager/public/m/sw.js +5 -0
- package/template/coding-task-manager/public/usage.html +1 -0
- package/template/coding-task-manager/queue-engine.js +13 -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/approvals.js +5 -6
- package/template/coding-task-manager/server/boot.js +136 -17
- package/template/coding-task-manager/server.js +2819 -11885
- package/template/coding-task-manager/session-integrity.js +71 -13
- package/template/coding-task-manager/workers/db-owner-worker.js +72 -9
- 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 +93 -12
- package/template/coding-task-manager/workers/session-host-pool-process.js +24 -10
- package/template/coding-task-manager/workers/session-host-process.js +19 -8
- package/template/coding-task-manager/workers/transcript-archive-worker.js +1 -1
- package/template/coding-task-manager/workers/watch-worker.js +105 -0
- package/template/coding-task-manager/workers/worktree-worker.js +202 -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/scripts/conversation-storage-v2-migration.js +78 -11
- 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 +47 -6
- package/template/shared/fixtures/worker-status-payloads.json +392 -0
- package/template/shared/git-remote-key.js +83 -0
- package/template/shared/host-identity.js +98 -2
- 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/owner-write-safety.js +135 -0
- package/template/shared/public-runtime.js +13 -5
- package/template/shared/release-schema.json +3 -2
- package/template/shared/report-citations.js +14 -0
- package/template/shared/sqlite-write-lock.js +361 -223
- package/template/shared/storage/contract.js +38 -3
- package/template/wall-e/adapters/imessage.js +12 -0
- package/template/wall-e/agent.js +92 -4
- package/template/wall-e/api-walle.js +26 -1
- package/template/wall-e/bin/brain-purge-legacy-ctm.js +3 -2
- package/template/wall-e/bin/train-gemma-e4b-tooluse.js +2 -2
- package/template/wall-e/bin/walle-mcp-stdio.js +14 -8
- 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/helper-rules-schema.js +129 -0
- package/template/wall-e/brain/memories.js +2 -2
- package/template/wall-e/brain/migrations.js +91 -28
- package/template/wall-e/brain/model-deployment-facts.js +31 -1
- package/template/wall-e/brain/model-identity-migration.js +1 -1
- package/template/wall-e/brain/owner-call-whitelist.js +39 -7
- package/template/wall-e/brain/schema-ensures.js +22 -0
- package/template/wall-e/brain/schema.js +45 -85
- package/template/wall-e/brain.js +172 -36
- package/template/wall-e/chat.js +3 -3
- package/template/wall-e/coding/agent-shell-env.js +7 -2
- package/template/wall-e/coding/journal-dispatcher.js +51 -0
- package/template/wall-e/coding/prompt-bundle.js +66 -21
- package/template/wall-e/coding/session-journal.js +28 -40
- package/template/wall-e/coding-orchestrator.js +23 -26
- 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/auth.js +18 -1
- package/template/wall-e/http/blog-views-api.js +318 -0
- package/template/wall-e/http/gws-api.js +4 -0
- package/template/wall-e/http/helper-rules-api.js +327 -0
- 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 +177 -2
- 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/http/telemetry-api.js +12 -0
- package/template/wall-e/jobs/job-runner.js +28 -1
- package/template/wall-e/lib/blog-view-policy.js +88 -0
- package/template/wall-e/lib/blog-view-store.js +169 -0
- package/template/wall-e/lib/brain-owner-op-priority.js +9 -1
- package/template/wall-e/lib/client-config-lock.js +2 -1
- package/template/wall-e/lib/coding-journal-writer-child-client.js +67 -18
- 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/error-kinds.js +10 -1
- package/template/wall-e/lib/feature-manifest.js +1 -1
- package/template/wall-e/lib/helper-rules/cell-state.js +123 -0
- package/template/wall-e/lib/helper-rules/evaluate.js +398 -0
- package/template/wall-e/lib/helper-rules/explore-rubric.md +12 -0
- package/template/wall-e/lib/helper-rules/grade.js +320 -0
- package/template/wall-e/lib/helper-rules/label.js +247 -0
- package/template/wall-e/lib/helper-rules/lead-call-hook.js +555 -0
- package/template/wall-e/lib/helper-rules/store.js +669 -0
- 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 +63 -19
- package/template/wall-e/lib/parent-death.js +7 -1
- package/template/wall-e/lib/runtime-worker-pool.js +1 -0
- package/template/wall-e/lib/scheduler-worker-jobs.js +12 -4
- package/template/wall-e/lib/telemetry-db-schema.js +37 -0
- package/template/wall-e/lib/telemetry-process-client.js +76 -1
- package/template/wall-e/llm/default-fallback.js +4 -0
- 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-catalog.js +13 -4
- package/template/wall-e/llm/model-roles.js +7 -1
- package/template/wall-e/llm/native-delegate-selection.js +56 -8
- package/template/wall-e/llm/portkey-http.js +150 -0
- package/template/wall-e/llm/portkey-sync.js +15 -145
- package/template/wall-e/llm/worker-delegate-args.js +72 -7
- package/template/wall-e/llm/worker-mcp-routing.js +117 -7
- package/template/wall-e/llm/worker-route.js +43 -1
- package/template/wall-e/loops/brain-custom-writes.js +64 -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 +77 -2
- package/template/wall-e/mcp-server.js +141 -31
- package/template/wall-e/mcp-worker-schemas.js +25 -7
- package/template/wall-e/memory/ctm-context-client.js +110 -5
- 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 +3 -2
- package/template/wall-e/shared/sqlite-file-set.js +39 -0
- package/template/wall-e/shared/sqlite-write-lock.js +361 -223
- package/template/wall-e/shared/storage/contract.js +38 -3
- package/template/wall-e/skills/_templates/delegate-worker/VERSION +1 -1
- package/template/wall-e/skills/_templates/delegate-worker/released-sha256.json +13 -1
- package/template/wall-e/skills/_templates/delegate-worker/templates/claude/SKILL.md +11 -6
- package/template/wall-e/skills/_templates/delegate-worker/templates/codex/SKILL.md +13 -8
- 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/tools/local-tools.js +6 -4
- package/template/wall-e/training/setup-cuda-train-env.sh +2 -2
- package/template/wall-e/workers/brain-owner-worker.js +27 -4
- package/template/wall-e/workers/coding-journal-writer-child.js +8 -1
- package/template/wall-e/workers/mcp-gateway-process.js +5 -5
- package/template/wall-e/workers/telemetry-worker.js +8 -0
|
@@ -83,6 +83,11 @@ function serializeSessionListEnvelope(payload) {
|
|
|
83
83
|
type: payload?.type,
|
|
84
84
|
restoring: payload?.restoring,
|
|
85
85
|
sessions: Array.isArray(payload?.sessions) ? payload.sessions : [],
|
|
86
|
+
// Box-owned sessions WP-5: the hub's "a registered box has not delivered its catalog yet" count
|
|
87
|
+
// rides the sessions frame (server.js _finishBroadcast adds it only when a machine is enabled).
|
|
88
|
+
// Carry it when present so the off-main path matches the sliced on-main one byte for byte;
|
|
89
|
+
// a zero-machine envelope stays the exact three-key object it has always been.
|
|
90
|
+
...(payload && payload.machinesPending !== undefined ? { machinesPending: payload.machinesPending } : {}),
|
|
86
91
|
});
|
|
87
92
|
}
|
|
88
93
|
|
|
@@ -145,7 +150,8 @@ function createBroadcastPayloadSerializer({
|
|
|
145
150
|
if (options.isMemoBypass?.(session) || !memo) return null;
|
|
146
151
|
signature += memo.key + '\x1e';
|
|
147
152
|
}
|
|
148
|
-
|
|
153
|
+
// extraSignature: rows appended AFTER the local snapshot (the machine hub's remote rows).
|
|
154
|
+
return signature + '#' + options.sourceSessions.length + (options.extraSignature ? '#' + options.extraSignature : '');
|
|
149
155
|
}
|
|
150
156
|
|
|
151
157
|
function makeRecord(envelope, clients, signature) {
|
|
@@ -1189,6 +1189,7 @@ class BrowserSessionBroker {
|
|
|
1189
1189
|
if (this.profileMigration?.ensureProfile) record = await this.profileMigration.ensureProfile(record);
|
|
1190
1190
|
const existing = await this._boundHandle(record, { required: false });
|
|
1191
1191
|
if (existing && (typeof this.adapter.isLive !== 'function' || this.adapter.isLive(existing))) return existing;
|
|
1192
|
+
if (existing) await this._dropDeadHandle(record, existing);
|
|
1192
1193
|
let handle;
|
|
1193
1194
|
try {
|
|
1194
1195
|
handle = await this.adapter.open({ contextId: record.contextId, profileDir: record.profileDir,
|
|
@@ -1210,7 +1211,7 @@ class BrowserSessionBroker {
|
|
|
1210
1211
|
record = await this._ensureProcessOwnership(record, { allowTakeover: true });
|
|
1211
1212
|
const existing = await this._boundHandle(record, { required: false });
|
|
1212
1213
|
if (existing && (typeof this.adapter.isLive !== 'function' || this.adapter.isLive(existing))) return record;
|
|
1213
|
-
if (existing) this.
|
|
1214
|
+
if (existing) await this._dropDeadHandle(record, existing);
|
|
1214
1215
|
let recovered = record;
|
|
1215
1216
|
if (record.processGeneration !== this.processGeneration || existing || record.status === 'dormant') {
|
|
1216
1217
|
recovered = {
|
|
@@ -1292,6 +1293,13 @@ class BrowserSessionBroker {
|
|
|
1292
1293
|
return handle;
|
|
1293
1294
|
}
|
|
1294
1295
|
|
|
1296
|
+
// A handle that is no longer live (lost page, disconnected browser) still owns whatever of its
|
|
1297
|
+
// browser survives; close it rather than just forgetting it.
|
|
1298
|
+
async _dropDeadHandle(record, handle) {
|
|
1299
|
+
if (this.handles.get(record.contextId) === handle) this.handles.delete(record.contextId);
|
|
1300
|
+
await this.adapter.close(handle).catch((error) => this._reportFailure('dead-handle-close', error));
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1295
1303
|
_rebindLocalHandle(record) {
|
|
1296
1304
|
const handle = this.handles.get(record.contextId);
|
|
1297
1305
|
if (!handle) return;
|
|
@@ -31,6 +31,9 @@ function chromiumChildEnvironment(parentEnvironment = process.env) {
|
|
|
31
31
|
return environment;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
// Chromium ChildProcesses whose group has been reaped, so the exit and close paths reap it once.
|
|
35
|
+
const REAPED = new WeakSet();
|
|
36
|
+
|
|
34
37
|
class BrowserUseAdapter {
|
|
35
38
|
constructor({
|
|
36
39
|
puppeteer = null,
|
|
@@ -84,6 +87,11 @@ class BrowserUseAdapter {
|
|
|
84
87
|
allowedOrigins: new Set([allowedOrigin, ...allowedOrigins].filter(Boolean)),
|
|
85
88
|
blockedOrigin: '', disconnected: false, lastMainResponseStatus: 0 };
|
|
86
89
|
browser.once('disconnected', () => { handle.disconnected = true; });
|
|
90
|
+
// A browser lost without close() (crash, external kill) leaves the same helpers behind. Reap on
|
|
91
|
+
// the main process's exit, never on 'disconnected': the CDP socket drops while Chromium is still
|
|
92
|
+
// shutting down, and killing its group then loses storage it has not flushed yet.
|
|
93
|
+
const child = typeof browser.process === 'function' ? browser.process() : null;
|
|
94
|
+
child?.once?.('exit', () => this._reapBrowserProcess(child, 'browser-exit'));
|
|
87
95
|
page.on('response', (response) => {
|
|
88
96
|
try {
|
|
89
97
|
const request = response.request();
|
|
@@ -99,7 +107,7 @@ class BrowserUseAdapter {
|
|
|
99
107
|
handle.documentGeneration = await this._documentGeneration(handle);
|
|
100
108
|
return handle;
|
|
101
109
|
} catch (error) {
|
|
102
|
-
await
|
|
110
|
+
await this._closeBrowser(browser, 'open-cleanup');
|
|
103
111
|
throw error;
|
|
104
112
|
}
|
|
105
113
|
}
|
|
@@ -628,10 +636,33 @@ class BrowserUseAdapter {
|
|
|
628
636
|
|
|
629
637
|
async close(handle) {
|
|
630
638
|
if (!handle?.browser) return;
|
|
631
|
-
await handle.browser
|
|
639
|
+
await this._closeBrowser(handle.browser, 'browser-close');
|
|
632
640
|
handle.disconnected = true;
|
|
633
641
|
}
|
|
634
642
|
|
|
643
|
+
// browser.close() returns once Chromium's browser process exits, but its renderer/GPU helpers
|
|
644
|
+
// can outlive it (puppeteer launches Chromium detached, so they share its process group), and
|
|
645
|
+
// its crashpad handler daemonizes into a group of its own still holding the stdio Chromium
|
|
646
|
+
// inherited. Either one keeps this process's end of that stdio open: orphaned helpers pile up
|
|
647
|
+
// and a Node process that should exit never does. Reap the group, then drop our end.
|
|
648
|
+
async _closeBrowser(browser, operation) {
|
|
649
|
+
const child = typeof browser.process === 'function' ? browser.process() : null;
|
|
650
|
+
await browser.close().catch((error) => this._reportFailure(operation, error));
|
|
651
|
+
this._reapBrowserProcess(child, operation);
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
_reapBrowserProcess(child, operation) {
|
|
655
|
+
if (!child || REAPED.has(child)) return;
|
|
656
|
+
REAPED.add(child);
|
|
657
|
+
if (Number.isSafeInteger(child.pid) && child.pid > 0) {
|
|
658
|
+
// ESRCH: the group is already empty. EPERM: macOS refuses a group whose members are all zombies
|
|
659
|
+
// (every member here is this user's Chromium, so it is never a foreign process).
|
|
660
|
+
try { process.kill(-child.pid, 'SIGKILL'); }
|
|
661
|
+
catch (error) { if (error?.code !== 'ESRCH' && error?.code !== 'EPERM') this._reportFailure(`${operation}-group`, error); }
|
|
662
|
+
}
|
|
663
|
+
for (const stream of child?.stdio || []) stream?.destroy?.();
|
|
664
|
+
}
|
|
665
|
+
|
|
635
666
|
_reportFailure(operation, error) {
|
|
636
667
|
const kind = String(error?.code || error?.name || 'unknown').slice(0, 128);
|
|
637
668
|
this.logger?.warn?.(`[browser-use-adapter] ${operation} failed (${kind})`);
|
|
@@ -80,10 +80,12 @@ function resetBuildInfoCache() {
|
|
|
80
80
|
// and process-wide memoization make it a poor fit for "resolve once, fail closed to 'unknown'".
|
|
81
81
|
// Wrapped so ANY failure (no git binary, cwd outside a repo, detached HEAD, timeout, ...) yields
|
|
82
82
|
// 'unknown' rather than throwing — this must never block or delay boot.
|
|
83
|
-
|
|
83
|
+
// `full: true` returns the 40-hex commit: fleet status compares the RUNNING commit against a full
|
|
84
|
+
// target sha (lib/fleet-hub.js), so an abbreviation there reads as "never restarted onto it".
|
|
85
|
+
function resolveBootBuildSha(repoRoot, execFileSyncImpl, { full = false } = {}) {
|
|
84
86
|
try {
|
|
85
87
|
const run = typeof execFileSyncImpl === 'function' ? execFileSyncImpl : execFileSync;
|
|
86
|
-
const out = run('git', ['rev-parse', '--short', 'HEAD'], {
|
|
88
|
+
const out = run('git', full ? ['rev-parse', 'HEAD'] : ['rev-parse', '--short', 'HEAD'], {
|
|
87
89
|
cwd: repoRoot || path.resolve(__dirname, '..', '..'),
|
|
88
90
|
encoding: 'utf8',
|
|
89
91
|
stdio: ['ignore', 'pipe', 'ignore'],
|
|
@@ -31,17 +31,14 @@
|
|
|
31
31
|
// state across the intervening rows exactly as it should, since these rows
|
|
32
32
|
// are painted into the pane in that same order.
|
|
33
33
|
|
|
34
|
-
const { wrapToCells, truncateToCells
|
|
35
|
-
|
|
34
|
+
const { wrapToCells, truncateToCells } = require('./terminal-cell-width');
|
|
35
|
+
// WP-1 (reader-claude-table-layout-parity-2026-10-25): tables are laid out by Claude Code
|
|
36
|
+
// 2.1.310's own algorithm, ported in this module's sibling -- never by the Codex allocator this
|
|
37
|
+
// file used to borrow (see `emitTable`).
|
|
38
|
+
const { layoutClaudeTable, cardLines, inkWrapLines } = require('./claude-table-layout');
|
|
36
39
|
|
|
37
40
|
const RESET = '\x1b[0m';
|
|
38
41
|
|
|
39
|
-
// WP-2 (reader-seam-duplicates): the per-attribute "off" codes this module already closes every
|
|
40
|
-
// inline span with (22 un-bold, 23 un-italicize, 29 un-strike, 39 default fg). A table cell that
|
|
41
|
-
// WRAPS emits one of these at the end of each of its visual lines so a span left open by the
|
|
42
|
-
// wrapped text can never bleed past the `│` that closes the cell into the next column.
|
|
43
|
-
const SPAN_OFF = '\x1b[22;23;29;39m';
|
|
44
|
-
|
|
45
42
|
function _sgrOpen(codes) {
|
|
46
43
|
const list = (Array.isArray(codes) ? codes : [codes]).filter((c) => c !== undefined && c !== null && c !== '');
|
|
47
44
|
return list.length ? `\x1b[${list.join(';')}m` : '';
|
|
@@ -128,85 +125,30 @@ function emitCode(token, cols, indent, style) {
|
|
|
128
125
|
return lines.map((line) => ' '.repeat(indent) + closeRow(styleRow(truncateToCells(line, width), style.code)));
|
|
129
126
|
}
|
|
130
127
|
|
|
131
|
-
//
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
//
|
|
136
|
-
//
|
|
137
|
-
//
|
|
138
|
-
|
|
139
|
-
const total = Math.max(0, width - stringCellWidth(text));
|
|
140
|
-
if (align === 'center') {
|
|
141
|
-
const left = Math.floor(total / 2);
|
|
142
|
-
return ' '.repeat(left) + text + ' '.repeat(total - left);
|
|
143
|
-
}
|
|
144
|
-
return text + ' '.repeat(total); // left-align
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// WP-2 (reader-seam-duplicates): a table wider than the pane WRAPS its cells inside their own
|
|
148
|
-
// columns instead of truncating the row. Claude itself wraps a wide cell (it never ellipsizes
|
|
149
|
-
// one), so the re-drawn transcript and the live screen now agree. The fitting path below is
|
|
150
|
-
// byte-identical to the pre-WP-2 emitter; only a table that does not fit takes the wrap path,
|
|
151
|
-
// which sizes its columns through the Codex table module's own width allocator (rank cells by
|
|
152
|
-
// kind, shrink the slackiest column first) rather than inventing a second policy.
|
|
128
|
+
// Tables: the layout is Claude Code 2.1.310's OWN (design
|
|
129
|
+
// docs/reader-claude-table-layout-parity-2026-10-25.html -- §3.1 the algorithm read from the
|
|
130
|
+
// binary, §5 the rules R-1..R-8, §9 this site). The port lives in lib/claude-table-layout.js; it
|
|
131
|
+
// decides the form (bordered box or stacked key-value cards), the column widths and every line
|
|
132
|
+
// break, and it was verified byte-identical against three live captures
|
|
133
|
+
// (tests/golden/claude-transcript/table-captures/). This function only renders the cells and
|
|
134
|
+
// prefixes the indent -- no local table policy, because any "nicer" table is content the live
|
|
135
|
+
// screen never had and the seam proof then refuses the join (R-1, R-7).
|
|
153
136
|
function emitTable(token, cols, indent, style) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
137
|
+
// Cells are rendered through emitInline, so a link prints `label (href)` exactly like Claude's
|
|
138
|
+
// own `T()`; the port measures widths on that SGR-stripped rendering (R-3 -- never on
|
|
139
|
+
// inlineText, which drops the href and so under-measures every linked cell).
|
|
140
|
+
const header = (token.header || []).map((cell) => emitInline(cell.tokens, style));
|
|
141
|
+
const rows = (token.rows || []).map((row) => row.map((cell) => emitInline(cell.tokens, style)));
|
|
142
|
+
const layout = layoutClaudeTable({ header, rows, align: token.align }, cols);
|
|
143
|
+
// R-5: `cols` is the TERMINAL width; `indent` is a prefix on every row and is never subtracted
|
|
144
|
+
// from it. A bordered table is already inside `cols - 4`; the cards are re-wrapped a second
|
|
145
|
+
// time by Ink's box at `cols - indent` (D-5), which is what turns a 170-cell card line into the
|
|
146
|
+
// three painted rows of the tasks capture.
|
|
147
|
+
const lines = layout.kind === 'bordered'
|
|
148
|
+
? layout.lines
|
|
149
|
+
: inkWrapLines(cardLines(layout, cols, style), cols - indent);
|
|
165
150
|
const pad = ' '.repeat(indent);
|
|
166
|
-
|
|
167
|
-
const tableWidth = widths.reduce((sum, w) => sum + w, 0) + 3 * colCount + 1;
|
|
168
|
-
if (tableWidth <= budget) {
|
|
169
|
-
const emitRaw = (raw) => pad + closeRow(truncateToCells(raw, budget));
|
|
170
|
-
const border = (left, mid, right) => emitRaw(left + widths.map((w) => '─'.repeat(w + 2)).join(mid) + right);
|
|
171
|
-
const dataRow = (styledCells, align) => {
|
|
172
|
-
const cells = widths.map((w, i) => ` ${_cellPad(styledCells[i] || '', w, align)} `);
|
|
173
|
-
return emitRaw(`│${cells.join('│')}│`);
|
|
174
|
-
};
|
|
175
|
-
const rows = [border('┌', '┬', '┐'), dataRow(headerStyled, 'center')];
|
|
176
|
-
for (const row of bodyStyledRows) {
|
|
177
|
-
rows.push(border('├', '┼', '┤'));
|
|
178
|
-
rows.push(dataRow(row, 'left'));
|
|
179
|
-
}
|
|
180
|
-
rows.push(border('└', '┴', '┘'));
|
|
181
|
-
return rows;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// --- wrap path: the table does not fit, so wrap each cell inside its column ---
|
|
185
|
-
const available = budget - (3 * colCount + 1);
|
|
186
|
-
const metrics = collectColumnMetrics(headerPlain, bodyPlainRows, colCount, stringCellWidth);
|
|
187
|
-
let wrapWidths = computeColumnWidths(metrics, available);
|
|
188
|
-
// Null means even MIN_COLUMN_WIDTH (3) per column cannot fit: fall back to an even split (at
|
|
189
|
-
// least one cell wide each) rather than dropping columns or truncating.
|
|
190
|
-
if (!wrapWidths) wrapWidths = new Array(colCount).fill(Math.max(1, Math.floor(available / colCount)));
|
|
191
|
-
const emitWrappedRaw = (raw) => pad + closeRow(raw);
|
|
192
|
-
const wrapBorder = (left, mid, right) => emitWrappedRaw(left + wrapWidths.map((w) => '─'.repeat(w + 2)).join(mid) + right);
|
|
193
|
-
const wrappedRows = (styledCells, align) => {
|
|
194
|
-
const lines = wrapWidths.map((w, i) => wrapToCells(styledCells[i] || '', w));
|
|
195
|
-
const height = lines.reduce((max, l) => Math.max(max, l.length), 1);
|
|
196
|
-
const out = [];
|
|
197
|
-
for (let k = 0; k < height; k++) {
|
|
198
|
-
const cells = wrapWidths.map((w, i) => ` ${_cellPad(lines[i][k] || '', w, align)}${SPAN_OFF} `);
|
|
199
|
-
out.push(emitWrappedRaw(`│${cells.join('│')}│`));
|
|
200
|
-
}
|
|
201
|
-
return out;
|
|
202
|
-
};
|
|
203
|
-
const rows = [wrapBorder('┌', '┬', '┐'), ...wrappedRows(headerStyled, 'center')];
|
|
204
|
-
for (const row of bodyStyledRows) {
|
|
205
|
-
rows.push(wrapBorder('├', '┼', '┤'));
|
|
206
|
-
rows.push(...wrappedRows(row, 'left'));
|
|
207
|
-
}
|
|
208
|
-
rows.push(wrapBorder('└', '┴', '┘'));
|
|
209
|
-
return rows;
|
|
151
|
+
return lines.map((line) => pad + closeRow(line));
|
|
210
152
|
}
|
|
211
153
|
|
|
212
154
|
function emitBlockquote(token, cols, depth, style) {
|
|
@@ -257,20 +257,28 @@ function createClaudeModelTruth({ now = Date.now } = {}) {
|
|
|
257
257
|
const EMPTY_CLAUDE_TRUTH = Object.freeze({
|
|
258
258
|
selected: null, resolved: null, context1m: false, lastTurn: null, effort: null,
|
|
259
259
|
source: null, observedAtMs: 0, lastTurnAtMs: 0,
|
|
260
|
+
// WP-1/D-1: the newest REFUSED turn the transcript recorded, as { status, atMs, turnId, requestId },
|
|
261
|
+
// or null. It is carried for the lead-model switch's failure branch only -- it names no model, so no
|
|
262
|
+
// consumer of `resolved`/`selected`/`lastTurn`/`effort` may read it as one.
|
|
263
|
+
lastTurnFailure: null,
|
|
260
264
|
});
|
|
261
265
|
|
|
262
266
|
/**
|
|
263
|
-
* Assemble the flat truth shape from the
|
|
267
|
+
* Assemble the flat truth shape from the transcript facts a Claude Code JSONL carries
|
|
264
268
|
* (D-4): the identity record is the verbatim "set to" selection, assistant rows are what
|
|
265
269
|
* actually served. An identity that names no served model ('opusplan') still sets `selected`
|
|
266
270
|
* while `resolved` falls back to the last turn.
|
|
271
|
+
*
|
|
272
|
+
* WP-1 adds the third fact: `failure` ({ status, atMs, turnId, requestId } | null) is copied
|
|
273
|
+
* verbatim and changes nothing else about the shape.
|
|
267
274
|
*/
|
|
268
|
-
function truthFromTranscriptFacts(identity, turn) {
|
|
275
|
+
function truthFromTranscriptFacts(identity, turn, failure = null) {
|
|
269
276
|
const truth = {
|
|
270
277
|
...EMPTY_CLAUDE_TRUTH,
|
|
271
278
|
lastTurn: turn ? turn.model : null,
|
|
272
279
|
lastTurnAtMs: turn ? (turn.observedAtMs || 0) : 0,
|
|
273
280
|
effort: turn ? (turn.effort || null) : null,
|
|
281
|
+
lastTurnFailure: failure || null,
|
|
274
282
|
};
|
|
275
283
|
const identityNorm = identity ? normalizeClaudeModelId(identity.modelId) : null;
|
|
276
284
|
if (identity) truth.selected = identity.modelId;
|
|
@@ -302,6 +310,9 @@ function viewToTruth(view, fallback = EMPTY_CLAUDE_TRUTH) {
|
|
|
302
310
|
source: resolved ? resolved.source : fallback.source,
|
|
303
311
|
observedAtMs: resolved ? resolved.observedAtMs : fallback.observedAtMs,
|
|
304
312
|
lastTurnAtMs: lastTurn ? lastTurn.observedAtMs : fallback.lastTurnAtMs,
|
|
313
|
+
// WP-1: the failure provenance is not ledger evidence (the ledger has no slot for it), so it
|
|
314
|
+
// passes straight through from the transcript facts that produced this view.
|
|
315
|
+
lastTurnFailure: fallback.lastTurnFailure || null,
|
|
305
316
|
};
|
|
306
317
|
}
|
|
307
318
|
|
|
@@ -6,8 +6,12 @@
|
|
|
6
6
|
// (this worktree), and is asserted by AC-0d (no `claude-agent-sdk` path ever appears in
|
|
7
7
|
// require.cache after a require() or a call through the `sdk` DI seam).
|
|
8
8
|
//
|
|
9
|
-
//
|
|
9
|
+
// setClaudeSessionTitle resolves; it never throws — callers get a uniform
|
|
10
10
|
// { state: 'mirrored'|'unsupported'|'failed', reason, error } outcome instead.
|
|
11
|
+
//
|
|
12
|
+
// WP-2 (D-6): the inbound half (readClaudeSessionTitle, an SDK getSessionInfo round-trip whose
|
|
13
|
+
// merged fields conflate CTM tiers) is deleted. The agent's own name now comes from the
|
|
14
|
+
// transcript records CTM already parses — lib/agent-title-apply.js.
|
|
11
15
|
|
|
12
16
|
const { normalizeSessionTitle } = require('./session-title-signals');
|
|
13
17
|
|
|
@@ -66,32 +70,4 @@ async function setClaudeSessionTitle({ sessionId, title, dir, sdk } = {}) {
|
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
72
|
|
|
69
|
-
|
|
70
|
-
let resolvedSdk = sdk;
|
|
71
|
-
if (!resolvedSdk) {
|
|
72
|
-
try {
|
|
73
|
-
resolvedSdk = await _loadSdk();
|
|
74
|
-
} catch (error) {
|
|
75
|
-
// expected: SDK absent — read has nothing to report, caller treats null as "no data"
|
|
76
|
-
void error;
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
let info;
|
|
81
|
-
try {
|
|
82
|
-
info = await resolvedSdk.getSessionInfo(sessionId, dir ? { dir } : undefined);
|
|
83
|
-
} catch (error) {
|
|
84
|
-
// expected: read is best-effort — any SDK failure maps to "no data" rather than a throw
|
|
85
|
-
void error;
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
if (!info) return null;
|
|
89
|
-
const aiTitle = (!info.customTitle && info.summary && info.summary !== info.firstPrompt) ? info.summary : '';
|
|
90
|
-
return {
|
|
91
|
-
userName: info.customTitle || '',
|
|
92
|
-
aiTitle,
|
|
93
|
-
firstPrompt: info.firstPrompt || '',
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
module.exports = { setClaudeSessionTitle, readClaudeSessionTitle, _resetSdkCacheForTests };
|
|
73
|
+
module.exports = { setClaudeSessionTitle, _resetSdkCacheForTests };
|