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
|
@@ -880,6 +880,14 @@ h3 {
|
|
|
880
880
|
background: rgba(116, 215, 199, 0.10);
|
|
881
881
|
color: #74d7c7;
|
|
882
882
|
}
|
|
883
|
+
|
|
884
|
+
/* WP-3b: the landing-queue chip (`⇡#2/3 · 23m`) — the phone counterpart of the desktop
|
|
885
|
+
`.wt-landing` part. */
|
|
886
|
+
.session-diff-chip.landing {
|
|
887
|
+
border-color: rgba(122, 162, 247, 0.34);
|
|
888
|
+
background: rgba(122, 162, 247, 0.12);
|
|
889
|
+
color: #7aa2f7;
|
|
890
|
+
}
|
|
883
891
|
/* Commits exist but merging changes nothing (integrated/superseded) — dim so it reads as
|
|
884
892
|
low-priority/safe-to-clean vs genuine unmerged work. */
|
|
885
893
|
.session-diff-chip.commits.commits-noop {
|
|
@@ -3129,7 +3137,15 @@ html[data-theme="light"] .nav-item.active {
|
|
|
3129
3137
|
z-index: 42;
|
|
3130
3138
|
flex-shrink: 0;
|
|
3131
3139
|
display: grid;
|
|
3132
|
-
|
|
3140
|
+
/* field | dictation mic | Send — the mic sits in the composer's CONTROL ROW
|
|
3141
|
+
beside the send button, exactly as the desktop chat row places it
|
|
3142
|
+
(`.walle-chat-input-row`: textarea, mic, Send). It is a grid item of
|
|
3143
|
+
`.composer`, never of `.composer-field`: that field is a single-column grid
|
|
3144
|
+
with a 5px gap, so a mic placed inside it took a row of its own and pushed
|
|
3145
|
+
the whole composer down (143px at 390px wide before, 94px after) — B8/AC-8b.
|
|
3146
|
+
`auto`, not `44px`, so the column collapses to nothing in a browser where
|
|
3147
|
+
`dictation.js` cannot attach a mic. */
|
|
3148
|
+
grid-template-columns: minmax(0, 1fr) auto 52px;
|
|
3133
3149
|
align-items: start;
|
|
3134
3150
|
gap: 8px;
|
|
3135
3151
|
padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
|
|
@@ -3151,8 +3167,11 @@ html[data-theme="light"] .nav-item.active {
|
|
|
3151
3167
|
opacity: 0.65;
|
|
3152
3168
|
}
|
|
3153
3169
|
|
|
3170
|
+
/* Legacy: the model control now lives in the send menu (`#send-model-option`),
|
|
3171
|
+
so `app.js` only ever REMOVES this class; the extra column keeps the model
|
|
3172
|
+
column where it always was, with the mic's column added for the row above. */
|
|
3154
3173
|
.composer.has-model-picker {
|
|
3155
|
-
grid-template-columns: minmax(0, 1fr) 58px 52px;
|
|
3174
|
+
grid-template-columns: minmax(0, 1fr) auto 58px 52px;
|
|
3156
3175
|
}
|
|
3157
3176
|
|
|
3158
3177
|
.composer-field {
|
|
@@ -3163,6 +3182,22 @@ html[data-theme="light"] .nav-item.active {
|
|
|
3163
3182
|
min-width: 0;
|
|
3164
3183
|
}
|
|
3165
3184
|
|
|
3185
|
+
/* The mic button itself is built by public/js/walle/dictation.js and sized
|
|
3186
|
+
`28px x 28px` by the shared `.walle-dictation-mic` rule in `/css/walle.css`
|
|
3187
|
+
(a dense pointer target in the desktop chat row). The phone floors every
|
|
3188
|
+
control at 44px (`button { min-height: 44px }` above), so a 28px mic came out
|
|
3189
|
+
28 x 44 — under the 44px width floor AC-8b measures. On the phone the mic is a
|
|
3190
|
+
touch target in the composer's control row, so it takes the phone's real
|
|
3191
|
+
target size on both axes. */
|
|
3192
|
+
.composer .walle-dictation-mic {
|
|
3193
|
+
width: 44px;
|
|
3194
|
+
height: 44px;
|
|
3195
|
+
}
|
|
3196
|
+
|
|
3197
|
+
.composer .walle-dictation-mic-slot {
|
|
3198
|
+
align-self: center;
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3166
3201
|
.composer-attachments {
|
|
3167
3202
|
display: grid;
|
|
3168
3203
|
gap: 6px;
|
|
@@ -3634,11 +3669,19 @@ html[data-theme="light"] .nav-item.active {
|
|
|
3634
3669
|
font-weight: 950;
|
|
3635
3670
|
}
|
|
3636
3671
|
|
|
3672
|
+
/* The menu belongs to the composer it opens from (`#detail-composer` is
|
|
3673
|
+
`position: relative`), so it is anchored to that box: `bottom: calc(100% + 8px)`
|
|
3674
|
+
puts it one small gap above the composer's top edge and it tracks the composer
|
|
3675
|
+
for free — a wrapped mic row, the prompt-history strip, attachments, and the
|
|
3676
|
+
on-screen keyboard inset (`.detail-view` already shrinks by
|
|
3677
|
+
`--mobile-keyboard-offset`). A viewport-relative offset cannot do that: the
|
|
3678
|
+
composer is content-sized, so any fixed pixel offset is wrong the moment the
|
|
3679
|
+
composer grows, and the menu then covers the input it exists to serve. */
|
|
3637
3680
|
.send-menu {
|
|
3638
|
-
position:
|
|
3681
|
+
position: absolute;
|
|
3639
3682
|
left: max(12px, env(safe-area-inset-left));
|
|
3640
3683
|
right: max(12px, env(safe-area-inset-right));
|
|
3641
|
-
bottom: calc(
|
|
3684
|
+
bottom: calc(100% + 8px);
|
|
3642
3685
|
z-index: 52;
|
|
3643
3686
|
display: grid;
|
|
3644
3687
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
@@ -6026,7 +6069,9 @@ a.mobile-health-row-action {
|
|
|
6026
6069
|
}
|
|
6027
6070
|
|
|
6028
6071
|
.composer {
|
|
6029
|
-
|
|
6072
|
+
/* field | mic | Send, as in the phone rule: the mic keeps the control row it
|
|
6073
|
+
shares with the send button when the pane widens. */
|
|
6074
|
+
grid-template-columns: minmax(0, 1fr) auto 68px;
|
|
6030
6075
|
align-items: center;
|
|
6031
6076
|
gap: 12px;
|
|
6032
6077
|
padding: 16px clamp(20px, 3vw, 36px) calc(18px + env(safe-area-inset-bottom));
|
|
@@ -6040,7 +6085,7 @@ a.mobile-health-row-action {
|
|
|
6040
6085
|
}
|
|
6041
6086
|
|
|
6042
6087
|
.composer.has-model-picker {
|
|
6043
|
-
grid-template-columns: minmax(0, 1fr) 92px 68px;
|
|
6088
|
+
grid-template-columns: minmax(0, 1fr) auto 92px 68px;
|
|
6044
6089
|
}
|
|
6045
6090
|
|
|
6046
6091
|
.composer-editor {
|
|
@@ -6107,10 +6152,13 @@ a.mobile-health-row-action {
|
|
|
6107
6152
|
right: 8px;
|
|
6108
6153
|
}
|
|
6109
6154
|
|
|
6155
|
+
/* Anchored to the composer (see the base .send-menu rule), so the offsets are
|
|
6156
|
+
composer-relative: `--tablet-list-w` is the pane offset already carried by
|
|
6157
|
+
`.detail-view`, and adding it here would double it. */
|
|
6110
6158
|
.send-menu {
|
|
6111
|
-
left:
|
|
6159
|
+
left: clamp(20px, 3vw, 36px);
|
|
6112
6160
|
right: clamp(20px, 3vw, 36px);
|
|
6113
|
-
bottom: calc(
|
|
6161
|
+
bottom: calc(100% + 10px);
|
|
6114
6162
|
max-width: 680px;
|
|
6115
6163
|
}
|
|
6116
6164
|
|
|
@@ -7101,6 +7149,14 @@ button.walle-model-effort-note.ctm-route-back {
|
|
|
7101
7149
|
line-height: 18px;
|
|
7102
7150
|
}
|
|
7103
7151
|
|
|
7152
|
+
/* WP-3b phone parity: the landing-queue mark on the SESSION ROW (`⇡#1/1`), same colors as
|
|
7153
|
+
`.session-diff-chip.landing`. */
|
|
7154
|
+
.row-diff-mark.landing {
|
|
7155
|
+
border-color: rgba(122, 162, 247, 0.34);
|
|
7156
|
+
background: rgba(122, 162, 247, 0.12);
|
|
7157
|
+
color: #7aa2f7;
|
|
7158
|
+
}
|
|
7159
|
+
|
|
7104
7160
|
.session-row.home-row .row-actions {
|
|
7105
7161
|
display: flex;
|
|
7106
7162
|
flex-direction: row;
|
|
@@ -7328,3 +7384,305 @@ html[data-theme="light"] #view-walle {
|
|
|
7328
7384
|
scroll inside their own box instead. */
|
|
7329
7385
|
#walle-content .walle-body :where(pre, table, img, video, canvas, svg) { max-width: 100%; }
|
|
7330
7386
|
#walle-content .walle-body :where(pre, table) { overflow-x: auto; }
|
|
7387
|
+
|
|
7388
|
+
/* ── WP-5 machine surfaces (docs/remote-machine-hub-sessions-2026-10-22.html §6.6, D-11, S-16) ──
|
|
7389
|
+
The phone twin of the desktop chip/card styles: same facts, same states, phone-sized targets.
|
|
7390
|
+
A local session renders no chip at all, so local rows are unchanged. */
|
|
7391
|
+
.machine-chip {
|
|
7392
|
+
flex: 0 0 auto;
|
|
7393
|
+
max-width: 44%;
|
|
7394
|
+
overflow: hidden;
|
|
7395
|
+
text-overflow: ellipsis;
|
|
7396
|
+
white-space: nowrap;
|
|
7397
|
+
padding: 1px 8px;
|
|
7398
|
+
border-radius: 999px;
|
|
7399
|
+
font-size: 12px;
|
|
7400
|
+
line-height: 18px;
|
|
7401
|
+
color: var(--purple, #bb9af7);
|
|
7402
|
+
background: color-mix(in srgb, var(--purple, #bb9af7) 18%, transparent);
|
|
7403
|
+
}
|
|
7404
|
+
|
|
7405
|
+
/* Unreachable is a STATE of the same chip, not a different badge. */
|
|
7406
|
+
.machine-chip.unreachable {
|
|
7407
|
+
color: var(--yellow, #e0af68);
|
|
7408
|
+
background: color-mix(in srgb, var(--yellow, #e0af68) 18%, transparent);
|
|
7409
|
+
border: 1px dashed color-mix(in srgb, var(--yellow, #e0af68) 45%, transparent);
|
|
7410
|
+
}
|
|
7411
|
+
|
|
7412
|
+
/* The same-repo / browse hint under the new-session machine choice (desktop .ns-machine-hint). */
|
|
7413
|
+
.machine-hint { display: block; margin-top: 4px; color: var(--fg-dim); font-size: 12px; font-weight: 400; }
|
|
7414
|
+
.machine-hint.warn { color: var(--yellow, #e0af68); }
|
|
7415
|
+
|
|
7416
|
+
/* ── WP-6: the phone Machines page (public/m/machines.js) ──────────────────────────────────────
|
|
7417
|
+
The phone twin of the desktop machines page (public/js/app/machines-page.js): This Mac card, then
|
|
7418
|
+
one card per registry member, then the toolbar. Same facts, same actions, same badges — a card the
|
|
7419
|
+
phone and the desktop can never disagree about. Font sizes stay at or above the 12 px floor and
|
|
7420
|
+
every tappable control is at least 44 px (bin/mobile-css-floor-lint.js). */
|
|
7421
|
+
#phone-machines-card .mp-toolbar {
|
|
7422
|
+
display: flex;
|
|
7423
|
+
flex-wrap: wrap;
|
|
7424
|
+
gap: 8px;
|
|
7425
|
+
margin: 10px 0 4px;
|
|
7426
|
+
}
|
|
7427
|
+
#phone-machines-card .mp-btn {
|
|
7428
|
+
display: inline-flex;
|
|
7429
|
+
align-items: center;
|
|
7430
|
+
min-height: 44px;
|
|
7431
|
+
padding: 0 12px;
|
|
7432
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
|
|
7433
|
+
border-radius: 10px;
|
|
7434
|
+
background: var(--bg-light, #24283b);
|
|
7435
|
+
color: var(--fg);
|
|
7436
|
+
font-size: 14px;
|
|
7437
|
+
font-weight: 500;
|
|
7438
|
+
}
|
|
7439
|
+
#phone-machines-card .mp-btn:active { opacity: 0.82; }
|
|
7440
|
+
#phone-machines-card .mp-btn.mp-primary { border-color: var(--accent, #7aa2f7); color: var(--accent, #7aa2f7); }
|
|
7441
|
+
#phone-machines-card .mp-btn.mp-danger { border-color: var(--red, #f7768e); color: var(--red, #f7768e); }
|
|
7442
|
+
/* hub bridge (R-13 / AC-2g): the same Access block and approval banner as the desktop card. */
|
|
7443
|
+
.mp-access { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--border, rgba(255, 255, 255, 0.12)); font-size: 14px; }
|
|
7444
|
+
.mp-access-head { display: flex; align-items: center; gap: 8px; }
|
|
7445
|
+
.mp-access-trust { display: flex; align-items: center; gap: 8px; color: var(--fg-dim, #a9b1d6); }
|
|
7446
|
+
.mp-access-trust select { min-height: 44px; padding: 0 10px; border: 1px solid var(--border, rgba(255, 255, 255, 0.12)); border-radius: 10px; background: var(--bg-light, #24283b); color: var(--fg); font-size: 14px; }
|
|
7447
|
+
.mp-access-trust-all { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--fg-dim, #a9b1d6); }
|
|
7448
|
+
.mp-access-list { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
|
|
7449
|
+
.mp-access-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
|
|
7450
|
+
.mp-access-pending { color: var(--yellow, #e0af68); }
|
|
7451
|
+
.mp-access-audit { color: var(--fg-dim, #a9b1d6); font-size: 13px; }
|
|
7452
|
+
.mp-access-text { overflow-wrap: anywhere; }
|
|
7453
|
+
.mp-access .mp-btn, .mp-approval-banner .mp-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--border, rgba(255, 255, 255, 0.12)); border-radius: 10px; background: var(--bg-light, #24283b); color: var(--fg); font-size: 14px; }
|
|
7454
|
+
.mp-access .mp-btn.mp-danger, .mp-approval-banner .mp-btn.mp-danger { border-color: var(--red, #f7768e); color: var(--red, #f7768e); }
|
|
7455
|
+
.mp-approval-banner { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
|
|
7456
|
+
/* The approval prompt's own classes (docs/hub-bridge-approval-scopes-2026-11-01.html §6.5). The
|
|
7457
|
+
structural classes are `hbb-*` on both surfaces; this is the phone's dressing: 44 px targets, no
|
|
7458
|
+
type below 12 px (bin/mobile-css-floor-lint.js), one column, and pairs that share the full width.
|
|
7459
|
+
Colours use the PHONE's tokens (--bg-soft, --line-strong, --blue, --ink, --amber): the desktop's
|
|
7460
|
+
--bg-light / --accent / --border are not defined here and would fall back to dark in light mode. */
|
|
7461
|
+
.mp-approval-banner .hbb-head, .mp-access .hbb-head { display: flex; gap: 10px; align-items: flex-start; }
|
|
7462
|
+
.mp-approval-banner .hbb-icon, .mp-access .hbb-icon {
|
|
7463
|
+
flex: 0 0 26px; height: 26px; border-radius: 8px; display: grid; place-items: center;
|
|
7464
|
+
background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber);
|
|
7465
|
+
}
|
|
7466
|
+
.mp-approval-banner .hub-bridge-banner-text, .mp-access .hub-bridge-banner-text {
|
|
7467
|
+
flex: 1 1 auto; min-width: 0; white-space: normal; overflow-wrap: anywhere; font-size: 14px;
|
|
7468
|
+
}
|
|
7469
|
+
.mp-approval-banner .hub-bridge-banner-text b, .mp-access .hub-bridge-banner-text b { font-weight: 600; }
|
|
7470
|
+
.mp-approval-banner .hbb-tier, .mp-access .hbb-tier {
|
|
7471
|
+
flex: 0 0 auto; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
|
|
7472
|
+
color: var(--amber); background: color-mix(in srgb, var(--amber) 16%, transparent);
|
|
7473
|
+
border-radius: 999px; padding: 4px 10px;
|
|
7474
|
+
}
|
|
7475
|
+
.mp-approval-banner .hbb-detail, .mp-access .hbb-detail {
|
|
7476
|
+
padding: 6px 8px; border-radius: 8px; background: var(--bg-soft);
|
|
7477
|
+
color: var(--fg-muted); font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere;
|
|
7478
|
+
}
|
|
7479
|
+
.mp-approval-banner .hbb-grants, .mp-access .hbb-grants {
|
|
7480
|
+
display: grid; grid-template-columns: 1fr; gap: 6px 10px; align-items: center; margin-left: 0;
|
|
7481
|
+
}
|
|
7482
|
+
.mp-approval-banner .hbb-label, .mp-access .hbb-label { font-size: 12px; color: var(--fg-muted); }
|
|
7483
|
+
.mp-approval-banner .hbb-seg, .mp-access .hbb-seg { display: flex; width: 100%; }
|
|
7484
|
+
.mp-approval-banner .hbb-btn, .mp-access .hbb-btn {
|
|
7485
|
+
display: inline-flex; align-items: center; justify-content: center; flex: 1 1 0;
|
|
7486
|
+
min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong);
|
|
7487
|
+
border-radius: 10px; background: var(--bg-soft); color: var(--fg); font-size: 14px;
|
|
7488
|
+
}
|
|
7489
|
+
.mp-approval-banner .hbb-seg .hbb-btn:first-child, .mp-access .hbb-seg .hbb-btn:first-child { border-radius: 10px 0 0 10px; }
|
|
7490
|
+
.mp-approval-banner .hbb-seg .hbb-btn + .hbb-btn, .mp-access .hbb-seg .hbb-btn + .hbb-btn { border-left: 0; border-radius: 0 10px 10px 0; }
|
|
7491
|
+
.mp-approval-banner .hbb-btn.hbb-primary, .mp-access .hbb-btn.hbb-primary {
|
|
7492
|
+
background: var(--blue); border-color: var(--blue);
|
|
7493
|
+
color: var(--ink); font-weight: 600;
|
|
7494
|
+
}
|
|
7495
|
+
.mp-approval-banner .hbb-foot, .mp-access .hbb-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
|
|
7496
|
+
.mp-approval-banner .hbb-note, .mp-access .hbb-note { font-size: 12px; color: var(--fg-dim); }
|
|
7497
|
+
.mp-approval-banner .hbb-deny, .mp-access .hbb-deny {
|
|
7498
|
+
display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 12px;
|
|
7499
|
+
border: 1px solid transparent; border-radius: 10px; background: transparent;
|
|
7500
|
+
color: var(--fg-muted); font-size: 14px;
|
|
7501
|
+
}
|
|
7502
|
+
#phone-machines-card .mp-card {
|
|
7503
|
+
margin-top: 10px;
|
|
7504
|
+
padding: 10px 12px;
|
|
7505
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.09));
|
|
7506
|
+
border-radius: 12px;
|
|
7507
|
+
background: var(--bg-light, #24283b);
|
|
7508
|
+
}
|
|
7509
|
+
#phone-machines-card .mp-card.mp-self { border-color: var(--accent, #7aa2f7); }
|
|
7510
|
+
#phone-machines-card .mp-head { display: flex; align-items: center; gap: 8px; }
|
|
7511
|
+
#phone-machines-card .mp-dot {
|
|
7512
|
+
width: 8px;
|
|
7513
|
+
height: 8px;
|
|
7514
|
+
flex: 0 0 auto;
|
|
7515
|
+
border-radius: 50%;
|
|
7516
|
+
background: var(--fg-dim, #7d8590);
|
|
7517
|
+
}
|
|
7518
|
+
#phone-machines-card .mp-dot[data-health="reachable"] { background: var(--green, #9ece6a); }
|
|
7519
|
+
#phone-machines-card .mp-dot[data-health="unhealthy"] { background: var(--red, #f7768e); }
|
|
7520
|
+
#phone-machines-card .mp-dot[data-health="unknown"] { background: var(--yellow, #e0af68); }
|
|
7521
|
+
#phone-machines-card .mp-name {
|
|
7522
|
+
flex: 1 1 auto;
|
|
7523
|
+
min-width: 0;
|
|
7524
|
+
min-height: 44px;
|
|
7525
|
+
padding: 0 6px;
|
|
7526
|
+
border: 1px solid transparent;
|
|
7527
|
+
border-radius: 8px;
|
|
7528
|
+
background: transparent;
|
|
7529
|
+
color: var(--fg);
|
|
7530
|
+
font-size: 15px;
|
|
7531
|
+
font-weight: 600;
|
|
7532
|
+
}
|
|
7533
|
+
#phone-machines-card .mp-name:focus { border-color: var(--accent, #7aa2f7); outline: none; }
|
|
7534
|
+
#phone-machines-card .mp-cred {
|
|
7535
|
+
flex: 0 0 auto;
|
|
7536
|
+
padding: 2px 8px;
|
|
7537
|
+
border-radius: 999px;
|
|
7538
|
+
background: var(--bg, #1a1b26);
|
|
7539
|
+
color: var(--fg-dim, #7d8590);
|
|
7540
|
+
font-size: 12px;
|
|
7541
|
+
white-space: nowrap;
|
|
7542
|
+
}
|
|
7543
|
+
#phone-machines-card .mp-meta { margin-top: 2px; color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7544
|
+
/* WP-3: the phone twin of the desktop card's .mpc-fleet — same line, same size as .mp-meta, tone
|
|
7545
|
+
from this page's own theme variables. Dark mode rides the variables like every other row. */
|
|
7546
|
+
#phone-machines-card .mp-fleet { margin-top: 2px; color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7547
|
+
#phone-machines-card .mp-fleet[data-fleet-tone="ok"] { color: var(--green, #9ece6a); }
|
|
7548
|
+
#phone-machines-card .mp-fleet[data-fleet-tone="pending"] { color: var(--yellow, #e0af68); }
|
|
7549
|
+
#phone-machines-card .mp-fleet[data-fleet-tone="warn"] { color: var(--red, #f7768e); }
|
|
7550
|
+
#phone-machines-card .mp-fleet[data-fleet-tone="muted"] { color: var(--fg-dim, #7d8590); }
|
|
7551
|
+
#phone-machines-card .mp-stale { color: var(--yellow, #e0af68); }
|
|
7552
|
+
#phone-machines-card .mp-error { color: var(--red, #f7768e); font-size: 13px; }
|
|
7553
|
+
#phone-machines-card .mp-sparks { display: flex; gap: 12px; margin-top: 8px; }
|
|
7554
|
+
#phone-machines-card .mp-spark { display: flex; align-items: center; gap: 6px; min-width: 0; }
|
|
7555
|
+
#phone-machines-card .mp-spark-label { color: var(--fg-dim); font-size: 12px; letter-spacing: 0.04em; }
|
|
7556
|
+
#phone-machines-card .mp-spark-val { color: var(--fg); font-size: 12px; }
|
|
7557
|
+
#phone-machines-card .mp-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; }
|
|
7558
|
+
#phone-machines-card .mp-fact { display: flex; gap: 6px; min-width: 0; }
|
|
7559
|
+
#phone-machines-card .mp-fact-label { color: var(--fg-dim); font-size: 12px; }
|
|
7560
|
+
#phone-machines-card .mp-fact-value { color: var(--fg); font-size: 12px; overflow-wrap: anywhere; }
|
|
7561
|
+
#phone-machines-card .mp-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
|
|
7562
|
+
#phone-machines-card .mp-fav[aria-pressed="true"] { border-color: var(--yellow, #e0af68); color: var(--yellow, #e0af68); }
|
|
7563
|
+
/* P-7 "Sign in to <member> too": the row that takes this phone to a member's own origin, because a
|
|
7564
|
+
passkey is pinned to its hostname. It is the phone twin of .mpc-signin-row on the desktop page. */
|
|
7565
|
+
#phone-machines-card .mp-signin-row { flex-direction: column; align-items: flex-start; gap: 2px; margin-top: 8px; width: 100%; }
|
|
7566
|
+
#phone-machines-card .mp-signin-hint { color: var(--fg-dim); font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
|
|
7567
|
+
#phone-machines-card .mp-status:not(:empty) { margin-top: 8px; color: var(--fg-dim); font-size: 12px; }
|
|
7568
|
+
|
|
7569
|
+
/* The Add-machine / Show-a-code dialogs reuse the model-sheet chrome, so only the fields are new. */
|
|
7570
|
+
.mp-modal .mp-modal-label { display: block; margin: 10px 0 4px; color: var(--fg-dim); font-size: 12px; }
|
|
7571
|
+
.mp-modal .mp-modal-input {
|
|
7572
|
+
display: block;
|
|
7573
|
+
width: 100%;
|
|
7574
|
+
min-height: 44px;
|
|
7575
|
+
margin-bottom: 8px;
|
|
7576
|
+
padding: 8px 10px;
|
|
7577
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
|
|
7578
|
+
border-radius: 10px;
|
|
7579
|
+
background: var(--bg-light, #24283b);
|
|
7580
|
+
color: var(--fg);
|
|
7581
|
+
font-size: 16px;
|
|
7582
|
+
}
|
|
7583
|
+
.mp-modal .mp-modal-or,
|
|
7584
|
+
.mp-modal .mp-modal-sub { margin: 6px 0; color: var(--fg-dim); font-size: 12px; }
|
|
7585
|
+
.mp-modal .mp-modal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
|
|
7586
|
+
.mp-modal .mp-modal-error:not(:empty) { margin: 6px 0 0; color: var(--red, #f7768e); font-size: 12px; }
|
|
7587
|
+
.mp-modal .mp-pair-preview { min-height: 20px; color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7588
|
+
.mp-modal .mp-code-value {
|
|
7589
|
+
margin: 8px 0;
|
|
7590
|
+
color: var(--accent, #7aa2f7);
|
|
7591
|
+
font-size: 22px;
|
|
7592
|
+
letter-spacing: 0.14em;
|
|
7593
|
+
text-align: center;
|
|
7594
|
+
}
|
|
7595
|
+
.mp-modal .mp-modal-legacy { margin-top: 12px; color: var(--fg-dim); font-size: 12px; }
|
|
7596
|
+
|
|
7597
|
+
/* The new-session machine row (D-1: N > MACHINE_PICKER_CARD_LIMIT opens the search sheet). */
|
|
7598
|
+
.machine-picker-row { display: block; width: 100%; text-align: left; }
|
|
7599
|
+
|
|
7600
|
+
/* ── the machine search sheet (public/m/machines.js, D-2/D-3) ─────────────────────────────────── */
|
|
7601
|
+
.machine-sheet-group { margin-bottom: 10px; }
|
|
7602
|
+
.machine-sheet-group-label {
|
|
7603
|
+
margin: 6px 0 4px;
|
|
7604
|
+
color: var(--fg-dim);
|
|
7605
|
+
font-size: 12px;
|
|
7606
|
+
letter-spacing: 0.04em;
|
|
7607
|
+
text-transform: uppercase;
|
|
7608
|
+
}
|
|
7609
|
+
.machine-sheet-row { flex-direction: column; align-items: flex-start; gap: 2px; }
|
|
7610
|
+
.machine-sheet-row-name { color: var(--fg); font-weight: 600; overflow-wrap: anywhere; }
|
|
7611
|
+
.machine-sheet-row-meta { color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7612
|
+
.machine-sheet-row[disabled] { opacity: 0.6; }
|
|
7613
|
+
.machine-sheet-empty { color: var(--fg-dim); font-size: 13px; }
|
|
7614
|
+
|
|
7615
|
+
/* P-7: the pool failover roster / hand-over banner. */
|
|
7616
|
+
.pool-from-banner-host:empty { display: none; }
|
|
7617
|
+
.pool-from-banner {
|
|
7618
|
+
margin: 8px 12px;
|
|
7619
|
+
padding: 8px 10px;
|
|
7620
|
+
border: 1px solid var(--yellow, #e0af68);
|
|
7621
|
+
border-radius: 10px;
|
|
7622
|
+
color: var(--fg);
|
|
7623
|
+
font-size: 13px;
|
|
7624
|
+
}
|
|
7625
|
+
.pool-failover-list { padding: 0 12px; }
|
|
7626
|
+
.pool-failover-copy { color: var(--fg-dim); font-size: 13px; }
|
|
7627
|
+
.pool-origin-rows { list-style: none; margin: 0; padding: 0; }
|
|
7628
|
+
.pool-origin-row { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.09)); }
|
|
7629
|
+
.pool-origin-name { color: var(--fg); font-weight: 600; }
|
|
7630
|
+
.pool-origin-state,
|
|
7631
|
+
.pool-origin-address { color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7632
|
+
|
|
7633
|
+
/* ── WP-9 (§9 S-9): the row's one Skills line and its Review sheet ────────────────────────────────
|
|
7634
|
+
PHONE = DESKTOP PARITY: the same line, the same three sections, the same actions and wording the
|
|
7635
|
+
desktop page renders in public/js/app/machines-page.js. The fonts stay at or above the phone floor
|
|
7636
|
+
(lint/mobile-css-floor.config.json), and the buttons keep the 44 px tap target. */
|
|
7637
|
+
#phone-machines-card .mp-skills { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
|
|
7638
|
+
#phone-machines-card .mp-skills-line { color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7639
|
+
#phone-machines-card .mp-skills-review { flex: 0 0 auto; }
|
|
7640
|
+
/* WP-3 (§8 WP-3): the phone twin of the row's Models line, its /delegate warnings and its Review
|
|
7641
|
+
button. Fonts stay at or above the phone floor (lint/mobile-css-floor.config.json). */
|
|
7642
|
+
#phone-machines-card .mp-models { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
|
|
7643
|
+
#phone-machines-card .mp-models-line { color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7644
|
+
#phone-machines-card .mp-models-sep { color: var(--fg-dim); font-size: 12px; }
|
|
7645
|
+
#phone-machines-card .mp-models-review { flex: 0 0 auto; }
|
|
7646
|
+
#phone-machines-card .mp-models-warn { flex-basis: 100%; color: var(--red, #f7768e); font-size: 12px; overflow-wrap: anywhere; }
|
|
7647
|
+
.mp-review-sheet { max-height: 88vh; overflow-y: auto; }
|
|
7648
|
+
.mp-review-section { margin-top: 14px; border-top: 1px solid var(--border, rgba(255, 255, 255, 0.12)); padding-top: 10px; }
|
|
7649
|
+
.mp-review-section h4 { margin: 0 0 6px; color: var(--fg); font-size: 13px; }
|
|
7650
|
+
.mp-review-section ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
|
|
7651
|
+
.mp-review-item { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
|
|
7652
|
+
.mp-review-name { color: var(--fg); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
|
|
7653
|
+
.mp-review-meta, .mp-review-where, .mp-review-note { color: var(--fg-dim); font-size: 12px; overflow-wrap: anywhere; }
|
|
7654
|
+
.mp-review-note { margin: 6px 0 0; }
|
|
7655
|
+
.mp-review-note.bad { color: var(--red, #f7768e); }
|
|
7656
|
+
.mp-review-empty { color: var(--fg-dim); font-size: 12px; }
|
|
7657
|
+
.mp-review-actions { display: flex; flex-wrap: wrap; gap: 8px; }
|
|
7658
|
+
/* WP-4 (§8 WP-4): the unreachable rows' one control — a 22px tick (the D-19 phone floor), then the
|
|
7659
|
+
44px button under the list. */
|
|
7660
|
+
.mp-review-pick { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--fg); font-size: 13px; }
|
|
7661
|
+
.mp-review-pick input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 auto; }
|
|
7662
|
+
.mp-review-models-remove { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
|
|
7663
|
+
.mp-review-models-remove .mp-btn { font-size: 13px; min-height: 44px; }
|
|
7664
|
+
/* WP-5 (§8 WP-5): "From this hub" — a heading level under the Models one, one 44px button per row. */
|
|
7665
|
+
.mp-review-from-hub { margin-top: 10px; }
|
|
7666
|
+
.mp-review-from-hub h5 { margin: 0 0 6px; color: var(--fg-dim); font-size: 12px; font-weight: 600; }
|
|
7667
|
+
.mp-review-from-hub .mp-review-actions .mp-btn { font-size: 13px; min-height: 44px; }
|
|
7668
|
+
.mp-review-plugins { display: flex; flex-direction: column; gap: 6px; }
|
|
7669
|
+
.mp-review-plugin { display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--fg); font-size: 13px; }
|
|
7670
|
+
.mp-review-plugin input[type="checkbox"] { width: 22px; height: 22px; flex: 0 0 auto; }
|
|
7671
|
+
.mp-review-diff {
|
|
7672
|
+
flex: 1 1 100%;
|
|
7673
|
+
max-height: 46vh;
|
|
7674
|
+
overflow: auto;
|
|
7675
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.12));
|
|
7676
|
+
border-radius: 8px;
|
|
7677
|
+
padding: 8px;
|
|
7678
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
7679
|
+
font-size: 12px;
|
|
7680
|
+
line-height: 1.5;
|
|
7681
|
+
}
|
|
7682
|
+
.mp-diff { display: flex; flex-direction: column; }
|
|
7683
|
+
.mp-diff span { white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
7684
|
+
.mp-diff-file { margin: 8px 0 2px; color: var(--fg); font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
|
|
7685
|
+
.mp-diff-binary { margin: 0 0 4px; color: var(--fg-dim); font-size: 12px; }
|
|
7686
|
+
.mp-diff-add { color: var(--green, #9ece6a); }
|
|
7687
|
+
.mp-diff-del { color: var(--red, #f7768e); }
|
|
7688
|
+
.mp-diff-eq { color: var(--fg-dim); }
|