@pellux/goodvibes-tui 2.0.13 → 2.0.15
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/.goodvibes/GOODVIBES.md +1 -1
- package/.goodvibes/agents/reviewer.md +8 -8
- package/.goodvibes/skills/add-provider/SKILL.md +22 -22
- package/CHANGELOG.md +61 -0
- package/README.md +40 -29
- package/docs/README.md +1 -1
- package/docs/foundation-artifacts/README.md +5 -5
- package/docs/foundation-artifacts/operator-contract.json +123 -123
- package/package.json +12 -10
- package/scripts/postinstall.js +3 -3
- package/src/audio/activation-sound.ts +7 -7
- package/src/audio/capture.ts +7 -7
- package/src/audio/onnxruntime-assets.d.ts +1 -1
- package/src/audio/player.ts +4 -4
- package/src/audio/spoken-turn-wiring.ts +4 -4
- package/src/audio/voice-capture-wiring.ts +5 -5
- package/src/audio/voice-input-session.ts +3 -3
- package/src/audio/wake-inference.ts +13 -8
- package/src/audio/wake-runtime.ts +10 -10
- package/src/cli/completions/generate.ts +2 -2
- package/src/cli/doctor.ts +13 -13
- package/src/cli/ensure-goodvibes-gitignore.ts +3 -3
- package/src/cli/entrypoint.ts +3 -3
- package/src/cli/help.ts +6 -6
- package/src/cli/hooks-command.ts +4 -4
- package/src/cli/hooks-report.ts +4 -4
- package/src/cli/launch-auto-update.ts +17 -17
- package/src/cli/management-commands.ts +8 -8
- package/src/cli/management-utils.ts +3 -3
- package/src/cli/management.ts +1 -1
- package/src/cli/plugin-bundles-command.ts +10 -10
- package/src/cli/plugin-command.ts +9 -9
- package/src/cli/service-posture.ts +1 -1
- package/src/cli/status.ts +10 -10
- package/src/cli/surface-command.ts +4 -4
- package/src/cli/tui-startup.ts +23 -23
- package/src/config/run-daemon-config-migration.ts +3 -3
- package/src/config/secret-config.ts +10 -10
- package/src/config/surface.ts +1 -1
- package/src/config/tui-extension-settings.ts +8 -8
- package/src/core/active-model-identity.ts +7 -7
- package/src/core/approval-alert.ts +5 -5
- package/src/core/bookmark-navigation.ts +3 -3
- package/src/core/budget-breach-notifier.ts +6 -6
- package/src/core/compaction-receipt.ts +8 -8
- package/src/core/composer-state.ts +2 -2
- package/src/core/context-usage.ts +1 -1
- package/src/core/conversation-compaction-render.ts +3 -3
- package/src/core/conversation-event-navigation.ts +2 -2
- package/src/core/conversation-fold.ts +9 -9
- package/src/core/conversation-line-cache.ts +14 -14
- package/src/core/conversation-render-context.ts +6 -6
- package/src/core/conversation-rendering.ts +27 -30
- package/src/core/conversation-search-expansion.ts +6 -6
- package/src/core/conversation-splash-state.ts +3 -3
- package/src/core/conversation-turn-structure.ts +13 -13
- package/src/core/conversation-types.ts +3 -3
- package/src/core/conversation-user-receipts.ts +5 -5
- package/src/core/conversation.ts +17 -17
- package/src/core/format-user-error.ts +5 -5
- package/src/core/long-task-notifier.ts +9 -9
- package/src/core/memory-diagnostics-gateway.ts +8 -8
- package/src/core/memory-provenance.ts +5 -5
- package/src/core/model-routing-chip.ts +3 -3
- package/src/core/pairing-tailscale-gateway.ts +3 -3
- package/src/core/permission-mode.ts +5 -5
- package/src/core/power-chip-source.ts +3 -3
- package/src/core/power-status.ts +8 -8
- package/src/core/rewind-receipt.ts +6 -6
- package/src/core/session-resume-core.ts +8 -8
- package/src/core/stream-event-wiring.ts +36 -36
- package/src/core/stream-stall-watchdog.ts +4 -4
- package/src/core/system-message-noise.ts +7 -7
- package/src/core/system-message-router.ts +10 -10
- package/src/core/terminal-notifier.ts +5 -5
- package/src/core/turn-budget-outcome.ts +5 -5
- package/src/core/turn-cancellation.ts +3 -3
- package/src/core/turn-event-wiring.ts +16 -16
- package/src/core/voice-capture-status.ts +2 -2
- package/src/core/voice-provision-gateway.ts +12 -12
- package/src/core/voice-provision-status.ts +19 -19
- package/src/core/voice-stt-gateway.ts +6 -6
- package/src/core/wake-provision-runner.ts +7 -7
- package/src/core/wake-provision-status.ts +17 -17
- package/src/core/workstream-notification.ts +8 -8
- package/src/export/gist-uploader.ts +7 -7
- package/src/input/autocomplete.ts +3 -3
- package/src/input/bookmark-modal.ts +1 -1
- package/src/input/command-args-hint.ts +2 -2
- package/src/input/command-reference.ts +9 -9
- package/src/input/command-registry.ts +32 -32
- package/src/input/commands/acp-runtime.ts +6 -6
- package/src/input/commands/calendar-runtime.ts +9 -9
- package/src/input/commands/channel-pairing.ts +11 -11
- package/src/input/commands/channel-runtime.ts +1 -1
- package/src/input/commands/checkin-runtime.ts +4 -4
- package/src/input/commands/checkpoint-runtime.ts +4 -4
- package/src/input/commands/ci-runtime.ts +4 -4
- package/src/input/commands/cluster-runtime.ts +3 -3
- package/src/input/commands/codebase-runtime.ts +16 -16
- package/src/input/commands/config.ts +6 -6
- package/src/input/commands/connection-status.ts +12 -12
- package/src/input/commands/context-window.ts +2 -2
- package/src/input/commands/cost-attribution-format.ts +4 -4
- package/src/input/commands/cost-runtime.ts +2 -2
- package/src/input/commands/devices-runtime.ts +7 -7
- package/src/input/commands/diff-runtime.ts +2 -2
- package/src/input/commands/editor-runtime.ts +1 -1
- package/src/input/commands/eval.ts +4 -4
- package/src/input/commands/experience-runtime.ts +1 -1
- package/src/input/commands/git-runtime.ts +3 -3
- package/src/input/commands/graph-runtime.ts +3 -3
- package/src/input/commands/guidance-runtime.ts +1 -1
- package/src/input/commands/health-metrics-format.ts +2 -2
- package/src/input/commands/health-runtime.ts +8 -8
- package/src/input/commands/hosted-runtime.ts +13 -13
- package/src/input/commands/image-runtime.ts +6 -6
- package/src/input/commands/intelligence-runtime.ts +2 -2
- package/src/input/commands/local-auth-runtime.ts +3 -3
- package/src/input/commands/local-provider-runtime.ts +3 -3
- package/src/input/commands/local-runtime.ts +7 -7
- package/src/input/commands/mail-runtime.ts +9 -9
- package/src/input/commands/mcp-runtime.ts +1 -1
- package/src/input/commands/memory.ts +13 -13
- package/src/input/commands/notify-runtime.ts +1 -1
- package/src/input/commands/operator-panel-runtime.ts +8 -8
- package/src/input/commands/operator-rpc.ts +3 -3
- package/src/input/commands/operator-runtime.ts +3 -3
- package/src/input/commands/palette-runtime.ts +1 -1
- package/src/input/commands/payment-card-intake.ts +17 -17
- package/src/input/commands/permissions-provenance.ts +7 -7
- package/src/input/commands/permissions-runtime.ts +1 -1
- package/src/input/commands/planning-runtime.ts +9 -9
- package/src/input/commands/platform-services-runtime.ts +2 -2
- package/src/input/commands/policy-dispatch.ts +6 -6
- package/src/input/commands/power-runtime.ts +6 -6
- package/src/input/commands/principals-runtime.ts +3 -3
- package/src/input/commands/product-runtime.ts +3 -3
- package/src/input/commands/profile-render.ts +13 -13
- package/src/input/commands/profile-runtime.ts +13 -13
- package/src/input/commands/profile-types.ts +13 -13
- package/src/input/commands/provider-accounts-runtime.ts +5 -5
- package/src/input/commands/provider.ts +10 -10
- package/src/input/commands/qrcode-runtime.ts +3 -3
- package/src/input/commands/queue-runtime.ts +6 -6
- package/src/input/commands/recall-files-config.ts +4 -4
- package/src/input/commands/recall-files-git.ts +3 -3
- package/src/input/commands/recall-files.ts +12 -12
- package/src/input/commands/recall-query.ts +3 -3
- package/src/input/commands/recall-review.ts +3 -3
- package/src/input/commands/recall-shared.ts +1 -1
- package/src/input/commands/relay-runtime.ts +5 -5
- package/src/input/commands/remote-runtime.ts +3 -3
- package/src/input/commands/review-runtime.ts +8 -8
- package/src/input/commands/rewind-runtime.ts +21 -21
- package/src/input/commands/runtime-services.ts +1 -2
- package/src/input/commands/schedule-nl.ts +2 -2
- package/src/input/commands/schedule-runtime.ts +2 -2
- package/src/input/commands/secret-runtime.ts +3 -3
- package/src/input/commands/session-content.ts +7 -7
- package/src/input/commands/session-picker-filter.ts +3 -3
- package/src/input/commands/session-workflow.ts +10 -10
- package/src/input/commands/session.ts +15 -15
- package/src/input/commands/settings-sync-runtime.ts +2 -2
- package/src/input/commands/share-runtime.ts +4 -4
- package/src/input/commands/shell-core.ts +11 -11
- package/src/input/commands/tasks-runtime.ts +4 -4
- package/src/input/commands/test-runtime.ts +6 -6
- package/src/input/commands/tts-runtime.ts +4 -4
- package/src/input/commands/update-runtime.ts +27 -27
- package/src/input/commands/websearch-runtime.ts +2 -2
- package/src/input/commands/work-plan-runtime.ts +2 -2
- package/src/input/commands/workstream-attempt-dependents.ts +4 -4
- package/src/input/commands/workstream-attempts.ts +16 -16
- package/src/input/commands/workstream-runtime.ts +36 -36
- package/src/input/commands/worktree-runtime.ts +6 -6
- package/src/input/composer-capture.ts +5 -5
- package/src/input/concealed-input.ts +2 -2
- package/src/input/config-modal-types.ts +16 -16
- package/src/input/config-modal.ts +30 -30
- package/src/input/daemon-owned-settings-descriptions.ts +4 -4
- package/src/input/delete-key-policy.ts +1 -1
- package/src/input/exec-env-scrub-config.ts +7 -7
- package/src/input/feature-unit-layout.ts +5 -5
- package/src/input/feed-context-factory.ts +38 -38
- package/src/input/file-picker.ts +1 -1
- package/src/input/handler-command-route.ts +2 -2
- package/src/input/handler-content-actions.ts +8 -8
- package/src/input/handler-feed-routes.ts +13 -13
- package/src/input/handler-feed.ts +31 -31
- package/src/input/handler-interactions.ts +2 -2
- package/src/input/handler-modal-routes.ts +13 -13
- package/src/input/handler-modal-stack.ts +1 -1
- package/src/input/handler-modal-token-routes.ts +1 -1
- package/src/input/handler-onboarding-daemon-adopt.ts +6 -6
- package/src/input/handler-picker-routes.ts +7 -7
- package/src/input/handler-prompt-buffer.ts +1 -1
- package/src/input/handler-shortcuts.ts +12 -12
- package/src/input/handler-types.ts +3 -3
- package/src/input/handler-ui-state.ts +1 -1
- package/src/input/handler.ts +9 -9
- package/src/input/input-history.ts +1 -1
- package/src/input/keybindings.ts +13 -13
- package/src/input/kill-ring.ts +7 -11
- package/src/input/model-picker-filter.ts +3 -3
- package/src/input/model-picker-items.ts +5 -5
- package/src/input/model-picker-types.ts +2 -2
- package/src/input/model-picker.ts +18 -18
- package/src/input/onboarding/onboarding-feature-units.ts +9 -13
- package/src/input/onboarding/onboarding-provider-key-fields.ts +3 -3
- package/src/input/onboarding/onboarding-runtime-status.ts +3 -3
- package/src/input/onboarding/onboarding-wizard-apply.ts +6 -6
- package/src/input/onboarding/onboarding-wizard-cloudflare-step.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-constants.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +4 -4
- package/src/input/onboarding/onboarding-wizard-network-adopt.ts +6 -6
- package/src/input/onboarding/onboarding-wizard-steps.ts +2 -2
- package/src/input/panel-integration-actions.ts +3 -3
- package/src/input/panel-mouse-geometry.ts +1 -1
- package/src/input/panel-paste-flood-guard.ts +9 -9
- package/src/input/payments-config.ts +15 -15
- package/src/input/profile-picker-modal.ts +1 -1
- package/src/input/provider-key-intake.ts +9 -9
- package/src/input/relay-settings-descriptions.ts +3 -3
- package/src/input/sandbox-exec-config.ts +9 -9
- package/src/input/search.ts +18 -18
- package/src/input/selection-modal-queue.ts +10 -10
- package/src/input/selection-modal.ts +2 -2
- package/src/input/session-picker-modal.ts +7 -7
- package/src/input/settings-modal-activation.ts +1 -1
- package/src/input/settings-modal-adjustment.ts +2 -2
- package/src/input/settings-modal-commit.ts +6 -6
- package/src/input/settings-modal-connections.ts +2 -2
- package/src/input/settings-modal-data.ts +29 -29
- package/src/input/settings-modal-mutations.ts +7 -7
- package/src/input/settings-modal-reset.ts +3 -3
- package/src/input/settings-modal-search.ts +6 -6
- package/src/input/settings-modal-secrets.ts +3 -3
- package/src/input/settings-modal-types.ts +16 -16
- package/src/input/settings-modal.ts +4 -4
- package/src/input/voice-local-settings.ts +3 -3
- package/src/input/worktree-setup-config.ts +8 -8
- package/src/main.ts +15 -15
- package/src/panels/agent-inspector-shared.ts +5 -5
- package/src/panels/base-panel.ts +3 -3
- package/src/panels/builtin/agent.ts +3 -3
- package/src/panels/builtin/development.ts +4 -4
- package/src/panels/builtin/knowledge.ts +1 -1
- package/src/panels/builtin/operations.ts +12 -12
- package/src/panels/builtin/session.ts +8 -8
- package/src/panels/builtin/shared.ts +6 -6
- package/src/panels/builtin-modals.ts +8 -8
- package/src/panels/confirm-state.ts +5 -5
- package/src/panels/cost-tracker-panel.ts +22 -22
- package/src/panels/diff-panel.ts +20 -20
- package/src/panels/diff-review-model.ts +5 -5
- package/src/panels/diff-review-panel.ts +5 -5
- package/src/panels/eval-registry.ts +2 -2
- package/src/panels/expandable-list-panel.ts +5 -5
- package/src/panels/fleet-acts.ts +20 -20
- package/src/panels/fleet-deep-link.ts +5 -5
- package/src/panels/fleet-gateway.ts +12 -12
- package/src/panels/fleet-observed-render.ts +11 -11
- package/src/panels/fleet-panel-format.ts +14 -14
- package/src/panels/fleet-panel-worktree-detail.ts +8 -8
- package/src/panels/fleet-panel.ts +34 -34
- package/src/panels/fleet-read-model.ts +49 -49
- package/src/panels/fleet-spawn.ts +15 -15
- package/src/panels/fleet-steer.ts +7 -7
- package/src/panels/fleet-stop.ts +5 -5
- package/src/panels/fleet-tabs.ts +14 -14
- package/src/panels/fleet-transcript.ts +26 -26
- package/src/panels/git-panel.ts +8 -8
- package/src/panels/hosted-session-feed.ts +13 -13
- package/src/panels/hosted-session-panel.ts +7 -7
- package/src/panels/index.ts +1 -1
- package/src/panels/local-auth-panel.ts +15 -15
- package/src/panels/memory-consolidation-gateway.ts +8 -8
- package/src/panels/modals/devices-modal.ts +8 -8
- package/src/panels/modals/hooks-modal.ts +1 -1
- package/src/panels/modals/keybindings-modal.ts +5 -5
- package/src/panels/modals/knowledge-modal.ts +2 -2
- package/src/panels/modals/local-auth-modal.ts +4 -4
- package/src/panels/modals/marketplace-modal.ts +3 -3
- package/src/panels/modals/memory-modal.ts +19 -19
- package/src/panels/modals/modal-surface-helpers.ts +1 -1
- package/src/panels/modals/modal-theme.ts +3 -3
- package/src/panels/modals/pairing-modal.ts +19 -19
- package/src/panels/modals/planning-modal.ts +4 -4
- package/src/panels/modals/plugins-modal.ts +1 -1
- package/src/panels/modals/policy-modal.ts +4 -4
- package/src/panels/modals/provider-health-modal.ts +1 -1
- package/src/panels/modals/remote-modal.ts +1 -1
- package/src/panels/modals/sandbox-modal.ts +2 -2
- package/src/panels/modals/security-modal.ts +4 -4
- package/src/panels/modals/services-modal.ts +1 -1
- package/src/panels/modals/work-plan-modal.ts +4 -4
- package/src/panels/notifications-feed.ts +6 -6
- package/src/panels/notifications-panel.ts +6 -6
- package/src/panels/panel-confirm-overlay.ts +4 -4
- package/src/panels/panel-manager.ts +13 -13
- package/src/panels/plugins-panel.ts +6 -6
- package/src/panels/polish-core.ts +2 -2
- package/src/panels/polish-tables.ts +2 -2
- package/src/panels/polish.ts +1 -1
- package/src/panels/project-planning-answer-actions.ts +3 -3
- package/src/panels/scrollable-list-panel.ts +15 -15
- package/src/panels/search-focus.ts +1 -1
- package/src/panels/session-maintenance.ts +1 -1
- package/src/panels/skills-panel.ts +3 -3
- package/src/panels/token-budget-panel.ts +11 -11
- package/src/panels/types.ts +14 -14
- package/src/panels/workstream-graph-render.ts +5 -5
- package/src/panels/wrfc-panel-format.ts +1 -1
- package/src/permissions/broker-approval-card.ts +13 -13
- package/src/permissions/hunk-selection.ts +13 -13
- package/src/permissions/prompt.ts +22 -22
- package/src/permissions/sandbox-exec-gate.ts +5 -5
- package/src/providers/provider-classification.ts +1 -1
- package/src/providers/reasoning-effort-surface.ts +12 -12
- package/src/renderer/ansi-sanitize.ts +5 -6
- package/src/renderer/autocomplete-overlay.ts +5 -5
- package/src/renderer/block-actions-overlay.ts +1 -1
- package/src/renderer/bookmark-modal.ts +1 -1
- package/src/renderer/code-block.ts +2 -2
- package/src/renderer/compaction-history-modal.ts +4 -4
- package/src/renderer/compaction-preview.ts +5 -5
- package/src/renderer/compaction-quality.ts +5 -5
- package/src/renderer/composer-fragments.ts +6 -6
- package/src/renderer/compositor.ts +9 -9
- package/src/renderer/config-modal.ts +3 -3
- package/src/renderer/context-inspector.ts +1 -1
- package/src/renderer/context-status-hint.ts +10 -10
- package/src/renderer/conversation-layout.ts +2 -2
- package/src/renderer/conversation-overlays.ts +2 -2
- package/src/renderer/conversation-surface.ts +6 -6
- package/src/renderer/diff.ts +4 -4
- package/src/renderer/fleet-tab-strip.ts +2 -2
- package/src/renderer/footer-tips.ts +4 -4
- package/src/renderer/fullscreen-primitives.ts +1 -1
- package/src/renderer/git-status.ts +5 -5
- package/src/renderer/header-line.ts +5 -5
- package/src/renderer/help-overlay.ts +5 -5
- package/src/renderer/hint-grammar.ts +2 -2
- package/src/renderer/layout.ts +1 -1
- package/src/renderer/markdown-inline.ts +3 -3
- package/src/renderer/markdown-table.ts +7 -7
- package/src/renderer/modal-factory.ts +3 -3
- package/src/renderer/model-picker-overlay.ts +2 -2
- package/src/renderer/model-workspace.ts +7 -7
- package/src/renderer/onboarding/onboarding-wizard.ts +1 -1
- package/src/renderer/overlay-box.ts +1 -1
- package/src/renderer/panel-composite.ts +5 -5
- package/src/renderer/panel-workspace-bar.ts +1 -1
- package/src/renderer/process-indicator.ts +8 -8
- package/src/renderer/profile-picker-modal.ts +3 -3
- package/src/renderer/prompt-content-width.ts +1 -1
- package/src/renderer/search-overlay.ts +3 -3
- package/src/renderer/selection-modal-overlay.ts +6 -6
- package/src/renderer/semantic-diff.ts +6 -7
- package/src/renderer/session-picker-modal.ts +24 -24
- package/src/renderer/settings-modal-connections.ts +3 -3
- package/src/renderer/settings-modal-helpers.ts +16 -16
- package/src/renderer/settings-modal.ts +10 -10
- package/src/renderer/shell-surface.ts +8 -8
- package/src/renderer/status-glyphs.ts +6 -6
- package/src/renderer/syntax-highlighter.ts +2 -3
- package/src/renderer/system-message.ts +3 -3
- package/src/renderer/tab-strip.ts +2 -2
- package/src/renderer/term-caps.ts +12 -12
- package/src/renderer/terminal-bg-probe.ts +10 -10
- package/src/renderer/terminal-escapes.ts +1 -1
- package/src/renderer/theme-mode-config.ts +3 -3
- package/src/renderer/theme.ts +34 -34
- package/src/renderer/thinking.ts +1 -1
- package/src/renderer/tool-call.ts +5 -5
- package/src/renderer/tool-result-expanded-lines.ts +3 -3
- package/src/renderer/tool-result-summary.ts +6 -6
- package/src/renderer/turn-injection.ts +9 -9
- package/src/renderer/ui-factory.ts +33 -33
- package/src/renderer/ui-primitives.ts +4 -4
- package/src/runtime/bootstrap-command-parts.ts +3 -3
- package/src/runtime/bootstrap-core.ts +21 -21
- package/src/runtime/bootstrap-hook-bridge.ts +8 -8
- package/src/runtime/bootstrap-shell.ts +9 -9
- package/src/runtime/bootstrap.ts +16 -16
- package/src/runtime/client/approval-updates.ts +3 -3
- package/src/runtime/client/build-floors.ts +7 -7
- package/src/runtime/client/daemon-attach-handshake.ts +5 -5
- package/src/runtime/client/fleet-union.ts +7 -7
- package/src/runtime/client/host-service-status.ts +2 -2
- package/src/runtime/client/hosted-exit.ts +4 -4
- package/src/runtime/client/hosted-roster.ts +4 -4
- package/src/runtime/client/hosted-session-stream.ts +5 -5
- package/src/runtime/client/hosted-sessions.ts +8 -8
- package/src/runtime/client/operator-endpoint.ts +14 -14
- package/src/runtime/client/spine-adoption.ts +8 -8
- package/src/runtime/context-accounting-source.ts +4 -4
- package/src/runtime/context.ts +2 -2
- package/src/runtime/conversation-rewind-port.ts +6 -6
- package/src/runtime/credential-composition.ts +2 -2
- package/src/runtime/daemon-attach-notices.ts +6 -6
- package/src/runtime/diagnostics/panels/index.ts +1 -1
- package/src/runtime/diagnostics/panels/ops.ts +2 -2
- package/src/runtime/disposal-wiring.ts +6 -6
- package/src/runtime/index.ts +11 -11
- package/src/runtime/install-self-check-startup.ts +4 -4
- package/src/runtime/install-self-check.ts +6 -6
- package/src/runtime/interaction-seams.ts +4 -4
- package/src/runtime/knowledge-services.ts +2 -2
- package/src/runtime/legacy-daemon-migration.ts +37 -37
- package/src/runtime/legacy-daemon-reconcile.ts +30 -30
- package/src/runtime/memory-governance-services.ts +3 -3
- package/src/runtime/memory-spine-transport.ts +3 -3
- package/src/runtime/notification-dispatch.ts +4 -4
- package/src/runtime/onboarding/apply.ts +1 -1
- package/src/runtime/onboarding/derivation.ts +1 -1
- package/src/runtime/onboarding/fast-path.ts +7 -7
- package/src/runtime/onboarding/progress.ts +2 -2
- package/src/runtime/onboarding/provider-key-capture.ts +4 -4
- package/src/runtime/onboarding/snapshot.ts +2 -2
- package/src/runtime/onboarding/state.ts +4 -4
- package/src/runtime/onboarding/types.ts +4 -4
- package/src/runtime/orchestrator-core-services.ts +5 -5
- package/src/runtime/path-shadow-startup.ts +3 -3
- package/src/runtime/perf/panel-contracts.ts +1 -1
- package/src/runtime/power-keepawake-remote.ts +6 -6
- package/src/runtime/process-lifecycle.ts +14 -14
- package/src/runtime/provider-fallback.ts +3 -3
- package/src/runtime/recovery-autosave.ts +3 -3
- package/src/runtime/recovery-decisions.ts +19 -19
- package/src/runtime/recovery-offer-wiring.ts +4 -4
- package/src/runtime/recovery-prompt.ts +20 -20
- package/src/runtime/relay-reachability-bridge.ts +3 -3
- package/src/runtime/release-artifacts.ts +1 -1
- package/src/runtime/resume-notice.ts +20 -20
- package/src/runtime/runtime-services-types.ts +20 -20
- package/src/runtime/services.ts +20 -20
- package/src/runtime/session-continuity-hints.ts +1 -1
- package/src/runtime/session-inbound-inputs.ts +12 -12
- package/src/runtime/session-resume-liveness-confirm.ts +4 -4
- package/src/runtime/session-spine-transport.ts +3 -3
- package/src/runtime/store/domains/panels.ts +2 -2
- package/src/runtime/store/domains/ui-perf.ts +2 -2
- package/src/runtime/store/index.ts +1 -1
- package/src/runtime/store/selectors/index.ts +1 -1
- package/src/runtime/store/state.ts +2 -2
- package/src/runtime/ui-services.ts +3 -3
- package/src/runtime/workspace-checkpointing.ts +3 -3
- package/src/runtime/wrfc-persistence.ts +15 -15
- package/src/scripts/process-messages.ts +1 -1
- package/src/shell/blocking-input.ts +9 -9
- package/src/shell/recovery-input-helpers.ts +2 -2
- package/src/shell/retry-affordance.ts +9 -9
- package/src/shell/ui-openers.ts +14 -14
- package/src/shell/voice-capture-shell.ts +3 -3
- package/src/tools/wrfc-agent-guard.ts +4 -4
- package/src/utils/browser.ts +2 -2
- package/src/utils/format-duration.ts +3 -3
- package/src/utils/format-number.ts +2 -2
- package/src/utils/splash-lines.ts +4 -4
- package/src/utils/terminal-width.ts +6 -6
- package/src/verification/verification-ledger.ts +25 -25
- package/src/version.ts +3 -3
|
@@ -6,7 +6,7 @@ import type { ContextAccountingSource } from '@pellux/goodvibes-sdk/platform/too
|
|
|
6
6
|
/**
|
|
7
7
|
* Minimal runtime-bus surface this module needs: subscribe by event type.
|
|
8
8
|
* A narrow structural type (not the full RuntimeEventBus) so this module
|
|
9
|
-
* doesn't pull in `runtime/index.ts
|
|
9
|
+
* doesn't pull in `runtime/index.ts`, bootstrap.ts imports this module
|
|
10
10
|
* directly, and index.ts re-exports bootstrap.ts, so a barrel import here
|
|
11
11
|
* would be a 3-file cycle (see check-architecture.ts's cycle detector).
|
|
12
12
|
*/
|
|
@@ -15,7 +15,7 @@ export interface CompactionActivityBus {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* Builds the interactive session's ContextAccountingSource
|
|
18
|
+
* Builds the interactive session's ContextAccountingSource, the honest
|
|
19
19
|
* backing for the SDK's `context_accounting` tool. Bound onto
|
|
20
20
|
* `RuntimeServices.contextAccountingHolder` once, at bootstrap (see
|
|
21
21
|
* bootstrap.ts, right after the live Orchestrator is constructed).
|
|
@@ -29,7 +29,7 @@ export interface CompactionActivityBus {
|
|
|
29
29
|
* - getCompactionState() → compactionCount from SessionLineageTracker (the
|
|
30
30
|
* same counter session-maintenance and /compact read); isCompacting is
|
|
31
31
|
* tracked from real 'compaction' domain lifecycle events on the runtime
|
|
32
|
-
* bus, since the Orchestrator has no public accessor for it
|
|
32
|
+
* bus, since the Orchestrator has no public accessor for it, NOT
|
|
33
33
|
* fabricated. Without a runtime bus (headless/test callers), isCompacting
|
|
34
34
|
* honestly stays false rather than guessing.
|
|
35
35
|
*/
|
|
@@ -104,7 +104,7 @@ export function createContextAccountingSource(deps: ContextAccountingSourceDeps)
|
|
|
104
104
|
|
|
105
105
|
/**
|
|
106
106
|
* Create the source, install it on the holder, and register its dispose on
|
|
107
|
-
* the caller's unsubscribe list
|
|
107
|
+
* the caller's unsubscribe list, the one-call bootstrap wiring.
|
|
108
108
|
*/
|
|
109
109
|
export function wireContextAccountingSource(
|
|
110
110
|
deps: ContextAccountingSourceDeps,
|
package/src/runtime/context.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RuntimeContext
|
|
2
|
+
* RuntimeContext, the composition root object returned by bootstrapRuntime().
|
|
3
3
|
*
|
|
4
4
|
* main.ts receives this and uses it to drive the render loop, input handling,
|
|
5
5
|
* and terminal lifecycle. The bootstrap owns initialization; main.ts owns
|
|
@@ -143,7 +143,7 @@ export interface RuntimeContext {
|
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* Logical shutdown: save session, fire hooks, stop background managers.
|
|
146
|
-
* Does NOT touch the terminal
|
|
146
|
+
* Does NOT touch the terminal, main.ts owns terminal teardown.
|
|
147
147
|
*
|
|
148
148
|
* @param sessionData - Latest conversation data to persist.
|
|
149
149
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
|
-
// conversation-rewind-port.ts
|
|
2
|
+
// conversation-rewind-port.ts, the TUI's ConversationManager as the SDK unified
|
|
3
3
|
// rewind service's RewindConversationPort.
|
|
4
4
|
//
|
|
5
5
|
// The SDK's UnifiedRewindService (platform/rewind) joins files rewind (workspace
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
// messages would truncate to a recorded turn boundary, and rewind() performs the
|
|
9
9
|
// truncation and captures the pre-/post-truncation snapshots so the reversal can
|
|
10
10
|
// be undone and re-applied. The truncation boundary is the message count recorded
|
|
11
|
-
// for the anchor's turnId at TURN_COMPLETED (rewind-turn-anchors.ts)
|
|
11
|
+
// for the anchor's turnId at TURN_COMPLETED (rewind-turn-anchors.ts), the same
|
|
12
12
|
// join key files rewind uses against the workspace checkpoint.
|
|
13
13
|
//
|
|
14
14
|
// This module is the single implementation of that port for the TUI, and it has
|
|
15
|
-
// two consumers again
|
|
15
|
+
// two consumers again, but the second one reaches it differently now.
|
|
16
16
|
//
|
|
17
17
|
// It used to be the composed daemon's own rewind.plan/apply verbs, resolving a
|
|
18
18
|
// conversation out of the registry below because the daemon was this process.
|
|
@@ -48,7 +48,7 @@ export interface ConversationRewindPort extends RewindConversationPort {
|
|
|
48
48
|
restoreAfter(undoSnapshotId: string): boolean;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
/** One truncation's captured state
|
|
51
|
+
/** One truncation's captured state, the target conversation and its snapshots. */
|
|
52
52
|
interface SnapshotPair {
|
|
53
53
|
readonly conv: ConversationManager;
|
|
54
54
|
readonly before: ConversationJson;
|
|
@@ -57,7 +57,7 @@ interface SnapshotPair {
|
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* Build a conversation rewind port. `resolveConversation` maps an anchor's
|
|
60
|
-
* sessionId to the live ConversationManager
|
|
60
|
+
* sessionId to the live ConversationManager, for the single-session /rewind
|
|
61
61
|
* command it returns the one bound conversation; for the daemon it looks the
|
|
62
62
|
* session up in the live registry. A null resolution means no live conversation
|
|
63
63
|
* for that session, reported as "nothing to drop" rather than a fabricated count.
|
|
@@ -116,7 +116,7 @@ export function createConversationRewindPort(
|
|
|
116
116
|
//
|
|
117
117
|
// This process's conversations, by session id. Two readers now: the local
|
|
118
118
|
// /rewind command, and the host loop that answers the DAEMON's questions about
|
|
119
|
-
// a session this surface is running (the SDK's client/conversation-rewind-host.ts)
|
|
119
|
+
// a session this surface is running (the SDK's client/conversation-rewind-host.ts),
|
|
120
120
|
// which is what makes conversation rewind work from any surface again, since
|
|
121
121
|
// only the process holding the messages can count or drop them.
|
|
122
122
|
// ---------------------------------------------------------------------------
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* These are grouped because they share one fact, and it is the fact this round
|
|
8
8
|
* had to fix: WHERE the daemon's own credentials live. `daemonHome` is threaded
|
|
9
9
|
* rather than defaulted, because without it a daemon told to run out of a temp
|
|
10
|
-
* tree moved its identity directory and nothing else
|
|
10
|
+
* tree moved its identity directory and nothing else, the credential store
|
|
11
11
|
* stayed in the real home, so an "isolated" test daemon held live credentials
|
|
12
12
|
* and long-polled a real account. A default here would silently restore that.
|
|
13
13
|
*
|
|
@@ -25,7 +25,7 @@ interface CredentialCompositionInput {
|
|
|
25
25
|
readonly homeDirectory: string;
|
|
26
26
|
/**
|
|
27
27
|
* The daemon's state root when the host was told one. Absent means "not
|
|
28
|
-
* overridden" and must stay absent rather than being defaulted
|
|
28
|
+
* overridden" and must stay absent rather than being defaulted, see above.
|
|
29
29
|
*/
|
|
30
30
|
readonly daemonHomeDirectory?: string | undefined;
|
|
31
31
|
readonly configManager: ConstructorParameters<typeof SecretsManager>[0]['configManager'];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* daemon-attach-notices
|
|
2
|
+
* daemon-attach-notices, the attach-time consuming read.
|
|
3
3
|
*
|
|
4
4
|
* On daemon attach a surface reads the daemon's undelivered receipts
|
|
5
5
|
* (update/crash/migration) AND the pending feature-announcement queue
|
|
6
6
|
* (web-surface URL, the sandbox first-contained-run line, …) exactly once,
|
|
7
|
-
* rendering each as a one-line notice. Both sources clear on read
|
|
7
|
+
* rendering each as a one-line notice. Both sources clear on read, the
|
|
8
8
|
* facade's receipt queue marks its entries delivered, and drainPending() clears
|
|
9
|
-
* the announcement queue
|
|
9
|
+
* the announcement queue, so a second attach with nothing new shows nothing.
|
|
10
10
|
* This mirrors the daemon's own /status?receipts=consume fold, done in-process
|
|
11
11
|
* for the embedded daemon.
|
|
12
12
|
*/
|
|
@@ -35,7 +35,7 @@ export interface DaemonAttachNoticesDeps {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
/**
|
|
38
|
-
* Consume
|
|
38
|
+
* Consume, exactly once, the daemon's receipts and the pending announcement
|
|
39
39
|
* queue, returning the one-line notices to render. Receipts first (crash /
|
|
40
40
|
* update / migration), then announcements (web-surface URL, sandbox line, …).
|
|
41
41
|
*/
|
|
@@ -62,7 +62,7 @@ export interface ExternalDaemonAttachReadDeps {
|
|
|
62
62
|
readonly authToken: string;
|
|
63
63
|
/**
|
|
64
64
|
* Ask for the daemon's undelivered receipts on this read. Delivery at the
|
|
65
|
-
* daemon is destructive
|
|
65
|
+
* daemon is destructive, served once, to the consuming reader, so only the
|
|
66
66
|
* read that RENDERS them asks. A reconnect read that just refreshes the two
|
|
67
67
|
* build floors leaves this off, and no receipt is eaten before a surface can
|
|
68
68
|
* show it.
|
|
@@ -97,7 +97,7 @@ export interface ExternalDaemonAttachRead {
|
|
|
97
97
|
*
|
|
98
98
|
* The default deployment adopts such a daemon with no in-process handle
|
|
99
99
|
* (daemonServer is null), so the embedded in-process fold sees nothing; this
|
|
100
|
-
* hits the daemon's own endpoint instead
|
|
100
|
+
* hits the daemon's own endpoint instead, GET <baseUrl>/status with the shared
|
|
101
101
|
* bearer, plus `?receipts=consume` when the caller is going to render them. The
|
|
102
102
|
* daemon marks the served receipts delivered as it responds (its own
|
|
103
103
|
* exactly-once store), so a second attach with nothing new returns no notices.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpsPanel
|
|
2
|
+
* OpsPanel, diagnostic data provider for the Operator Control Plane.
|
|
3
3
|
*
|
|
4
4
|
* Subscribes to OPS_AUDIT events from the UI-facing ops event feed and maintains a
|
|
5
5
|
* bounded buffer of intervention records for display
|
|
@@ -149,7 +149,7 @@ export class OpsPanel {
|
|
|
149
149
|
try {
|
|
150
150
|
cb();
|
|
151
151
|
} catch {
|
|
152
|
-
// Non-fatal
|
|
152
|
+
// Non-fatal, subscriber errors must not crash the panel
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Teardown for every poller this surface's runtime graph starts.
|
|
5
5
|
*
|
|
6
|
-
* The mechanics
|
|
7
|
-
* all-required owner list
|
|
6
|
+
* The mechanics, the ordered, best-effort, idempotent scope and the
|
|
7
|
+
* all-required owner list, live in the SDK (`platform/runtime/disposal`), so
|
|
8
8
|
* this surface and the SDK's own composition root cannot drift into two
|
|
9
9
|
* different ideas of what "stop the graph" means. What lives here is only the
|
|
10
10
|
* mapping from this fork's assembled graph onto that list.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Ownership note, and the reason any of this exists: this surface builds the
|
|
16
16
|
* graph and hands the SAME object to `DaemonServer`. The SDK facade disposes
|
|
17
17
|
* only a graph it constructed itself, so it deliberately leaves this one alone
|
|
18
|
-
|
|
18
|
+
*, nothing upstream will ever stop these pollers. The shutdown paths in
|
|
19
19
|
* daemon/cli.ts, main.ts's teardown registry and the one-shot CLI commands are
|
|
20
20
|
* the only things that can.
|
|
21
21
|
*
|
|
@@ -41,7 +41,7 @@ export interface SurfaceRuntimePollerOwners extends Omit<RuntimePollerOwners, 's
|
|
|
41
41
|
/**
|
|
42
42
|
* Fork-only: the wake-word recovery sweep and a pending boot provision
|
|
43
43
|
* (voice-setup-services.ts). Started only when an entrypoint opted into boot
|
|
44
|
-
* provisioning, and a no-op otherwise
|
|
44
|
+
* provisioning, and a no-op otherwise, but it is on this list unconditionally,
|
|
45
45
|
* because "the graph did not start it this time" is not a reason for the
|
|
46
46
|
* teardown path to have no way to stop it.
|
|
47
47
|
*/
|
|
@@ -50,7 +50,7 @@ export interface SurfaceRuntimePollerOwners extends Omit<RuntimePollerOwners, 's
|
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* The poller owners this fork holds that are NOT reachable from the assembled
|
|
53
|
-
* graph
|
|
53
|
+
* graph, handles the factory keeps as locals.
|
|
54
54
|
*/
|
|
55
55
|
export interface RuntimeDisposalExtras {
|
|
56
56
|
/** Handle returned by `ConfigManager.watchConfigFiles()` (durability-services.ts). */
|
|
@@ -61,7 +61,7 @@ export interface RuntimeDisposalExtras {
|
|
|
61
61
|
* Register the stop call for every poller the graph started.
|
|
62
62
|
*
|
|
63
63
|
* `services` is the fully-assembled graph, which already exposes each poller
|
|
64
|
-
* owner as a field
|
|
64
|
+
* owner as a field, so a poller whose owner reaches the public surface is
|
|
65
65
|
* wired by name rather than by threading another local out of the factory.
|
|
66
66
|
*/
|
|
67
67
|
export function registerSurfaceRuntimePollers(
|
package/src/runtime/index.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// No runtime namespace objects are imported as values here: an eager
|
|
10
10
|
// `export const X = ns.X` compiles to a top-level property read off a lazy
|
|
11
11
|
// namespace object, and Bun's single-file compiler orders module bodies
|
|
12
|
-
// nondeterministically
|
|
12
|
+
// nondeterministically, on some builds the read lands before the defining
|
|
13
13
|
// module and the compiled binary dies at load with a ReferenceError. Every
|
|
14
14
|
// value below is a grouped live re-export from the SDK's registered runtime
|
|
15
15
|
// subpaths instead (exactly how the operations block below fixed the first
|
|
@@ -73,7 +73,7 @@ export type {
|
|
|
73
73
|
WorkflowEvent,
|
|
74
74
|
} from '@pellux/goodvibes-sdk/events';
|
|
75
75
|
|
|
76
|
-
// Bootstrap compatibility aliases
|
|
76
|
+
// Bootstrap compatibility aliases, grouped live re-exports (see the header
|
|
77
77
|
// comment for why these must not be eager namespace reads).
|
|
78
78
|
export {
|
|
79
79
|
scheduleBackgroundMcpDiscovery,
|
|
@@ -135,7 +135,7 @@ export type OperatorClient = Bootstrap.OperatorClient;
|
|
|
135
135
|
export type PeerClient = Bootstrap.PeerClient;
|
|
136
136
|
export type OpsApi = Bootstrap.OpsApi;
|
|
137
137
|
|
|
138
|
-
// Transport compatibility aliases
|
|
138
|
+
// Transport compatibility aliases, grouped live re-exports.
|
|
139
139
|
export {
|
|
140
140
|
createDirectTransport,
|
|
141
141
|
createDirectTransportFromServices,
|
|
@@ -173,8 +173,8 @@ export {
|
|
|
173
173
|
GlobalNetworkTransportInstaller,
|
|
174
174
|
inspectOutboundTls,
|
|
175
175
|
} from '@pellux/goodvibes-sdk/platform/runtime/transport';
|
|
176
|
-
// Re-exported here because bootstrap.ts
|
|
177
|
-
// anything
|
|
176
|
+
// Re-exported here because bootstrap.ts, the one place an exit can await
|
|
177
|
+
// anything, sits on the 800-line per-file gate, so it reaches this through the
|
|
178
178
|
// import block it already has rather than a second import line.
|
|
179
179
|
export { leaveHostedSessionOnExit } from './client/hosted-exit.ts';
|
|
180
180
|
|
|
@@ -218,7 +218,7 @@ export type SerializedRuntimeEnvelope = Transport.SerializedRuntimeEnvelope;
|
|
|
218
218
|
// `export const X = operations.X` module-scope reads off the `operations`
|
|
219
219
|
// namespace object: those reads evaluated the namespace getter while the
|
|
220
220
|
// compiled single-file bundle could still be mid-cycle, and the binding they
|
|
221
|
-
// reached for was not defined yet
|
|
221
|
+
// reached for was not defined yet, source execution hid this, the compiled
|
|
222
222
|
// binary died on it at load. A grouped `export { ... } from '<subpath>'` is a
|
|
223
223
|
// live binding resolved by the module system, not a module-scope value read,
|
|
224
224
|
// so it is cycle-safe.
|
|
@@ -314,7 +314,7 @@ export {
|
|
|
314
314
|
} from '@pellux/goodvibes-sdk/platform/runtime/operations';
|
|
315
315
|
// Snapshot-retention symbols (SnapshotPruner, RetentionPolicy,
|
|
316
316
|
// DEFAULT_RETENTION_CONFIG) are intentionally NOT re-exported here. No app code
|
|
317
|
-
// consumes them
|
|
317
|
+
// consumes them, only the retention unit test does, and it now imports them
|
|
318
318
|
// straight from the SDK `operations` namespace. Re-exporting them created a
|
|
319
319
|
// second top-level binding named `SnapshotPruner` that collided with the SDK's
|
|
320
320
|
// own `class SnapshotPruner`, forcing the bundler to rename ours to
|
|
@@ -333,13 +333,13 @@ export {
|
|
|
333
333
|
// OpsTargetNotFoundError, ToolContractVerifier, McpLifecycleManager,
|
|
334
334
|
// McpPermissionManager, McpSchemaFreshnessTracker, PluginLifecycleManager,
|
|
335
335
|
// PluginQuarantineEngine, PluginTrustStore, RemoteRunnerRegistry,
|
|
336
|
-
// RemoteSupervisor, DistributedRuntimeManager)
|
|
336
|
+
// RemoteSupervisor, DistributedRuntimeManager), their instance types are
|
|
337
337
|
// forwarded automatically and are not redeclared below.
|
|
338
338
|
// The declare-once storage handle (platform/runtime/session-surface.ts) plus
|
|
339
339
|
// the two prompted-recovery primitives that only accept it. Every session
|
|
340
340
|
// path in this app derives from one surface built in runtime/services.ts.
|
|
341
341
|
export type SessionSurface = Operations.SessionSurface;
|
|
342
|
-
// Probe for a NAMED session's live snapshot (per-session supersession
|
|
342
|
+
// Probe for a NAMED session's live snapshot (per-session supersession, see
|
|
343
343
|
// session-recovery.ts's header) without retiring anything. Backs the
|
|
344
344
|
// --continue / --resume pre-resume check in cli/tui-startup.ts.
|
|
345
345
|
export type RecoveryFileInfo = Operations.RecoveryFileInfo;
|
|
@@ -421,7 +421,7 @@ export type ToolExecutionPhase = Operations.ToolExecutionPhase;
|
|
|
421
421
|
export type PhaseResult = Operations.PhaseResult;
|
|
422
422
|
export type ToolExecutionRecord = Operations.ToolExecutionRecord;
|
|
423
423
|
|
|
424
|
-
// Runtime shell compatibility aliases
|
|
424
|
+
// Runtime shell compatibility aliases, grouped live re-exports.
|
|
425
425
|
// WorktreeRegistry is a class: the value re-export carries its instance type,
|
|
426
426
|
// so the old separate `export type WorktreeRegistry` alias is gone (TS2484).
|
|
427
427
|
export {
|
|
@@ -486,7 +486,7 @@ export type EcosystemCatalogBundle = Shell.EcosystemCatalogBundle;
|
|
|
486
486
|
export type EcosystemCatalogEntry = Shell.EcosystemCatalogEntry;
|
|
487
487
|
export type EcosystemEntryKind = Shell.EcosystemEntryKind;
|
|
488
488
|
|
|
489
|
-
// Runtime security compatibility aliases
|
|
489
|
+
// Runtime security compatibility aliases, grouped live re-exports. The class
|
|
490
490
|
// re-exports (DivergenceDashboard, PolicyRegistry, …) carry their instance
|
|
491
491
|
// types, so the old separate type companions for those names are gone.
|
|
492
492
|
export {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* install-self-check-startup.ts
|
|
2
|
+
* install-self-check-startup.ts, the boot-time surfacing of the install
|
|
3
3
|
* self-check (install-self-check.ts). Called once from the runtime bootstrap,
|
|
4
4
|
* it wires the real host inputs (process exec path, the packaged root, the
|
|
5
5
|
* real daemon resolution, and existsSync) into the pure evaluator and prints
|
|
@@ -32,7 +32,7 @@ export function announceInstallSelfCheck(router: SystemMessageRouter): void {
|
|
|
32
32
|
router.high(`[Install] ${finding.summary} ${finding.detail} Repair: ${finding.repairCommand}`);
|
|
33
33
|
}
|
|
34
34
|
} catch {
|
|
35
|
-
// Best-effort
|
|
35
|
+
// Best-effort, an install self-check must never block or crash boot.
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -42,7 +42,7 @@ export function announceInstallSelfCheck(router: SystemMessageRouter): void {
|
|
|
42
42
|
* current release (path-shadow-startup).
|
|
43
43
|
*
|
|
44
44
|
* They are announced together because they are the same question from the
|
|
45
|
-
* user's side
|
|
45
|
+
* user's side, "am I looking at the build I think I am", and because the
|
|
46
46
|
* three answers are useless apart: a complete install nobody can reach, or a
|
|
47
47
|
* reachable install three versions old, both end with the product appearing
|
|
48
48
|
* to have lost a capability it never had.
|
|
@@ -54,6 +54,6 @@ export function announceInstallSelfCheck(router: SystemMessageRouter): void {
|
|
|
54
54
|
export function announceInstallHealth(router: SystemMessageRouter): void {
|
|
55
55
|
announceInstallSelfCheck(router);
|
|
56
56
|
void announceInstallReachability(router).catch(() => {
|
|
57
|
-
// Best-effort
|
|
57
|
+
// Best-effort, a reachability check must never block or crash boot.
|
|
58
58
|
});
|
|
59
59
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* install-self-check.ts
|
|
2
|
+
* install-self-check.ts, cheap, non-fatal detection of an incomplete
|
|
3
3
|
* install, run at TUI startup and re-surfaced by `goodvibes doctor`.
|
|
4
4
|
*
|
|
5
5
|
* A packaged install (the standalone `install.sh` binary, or the
|
|
@@ -12,16 +12,16 @@
|
|
|
12
12
|
* 2. the daemon launch path resolves to nothing runnable, so any
|
|
13
13
|
* daemon/control-plane/listener/web surface silently fails to start.
|
|
14
14
|
*
|
|
15
|
-
* This module decides those two facts from injected inputs only
|
|
15
|
+
* This module decides those two facts from injected inputs only, an
|
|
16
16
|
* install kind, a package root, the resolved daemon executable, and a
|
|
17
|
-
* `fileExists` predicate
|
|
17
|
+
* `fileExists` predicate, so it is pure and testable with fake paths and
|
|
18
18
|
* never touches the network. The production wiring (real existsSync + the
|
|
19
19
|
* real daemon resolution) lives in install-self-check-startup.ts and in the
|
|
20
20
|
* CLI status/doctor entrypoint; this file only makes the judgement.
|
|
21
21
|
*
|
|
22
22
|
* A `source` checkout run via `bun src/main.ts` is NOT an incomplete
|
|
23
|
-
* install
|
|
24
|
-
* from source
|
|
23
|
+
* install, there is no vendor directory to populate and the daemon runs
|
|
24
|
+
* from source, so it is never flagged.
|
|
25
25
|
*
|
|
26
26
|
* Install-kind detection and the per-kind repair one-liner are reused from
|
|
27
27
|
* update-check.ts rather than re-derived here.
|
|
@@ -39,7 +39,7 @@ import { resolveArtifactNames } from './release-artifacts.ts';
|
|
|
39
39
|
*/
|
|
40
40
|
export interface DaemonPathResolution {
|
|
41
41
|
readonly command: string;
|
|
42
|
-
/** How the path was resolved. 'fallback' means no runnable file was found
|
|
42
|
+
/** How the path was resolved. 'fallback' means no runnable file was found, a bare PATH command. */
|
|
43
43
|
readonly source: string;
|
|
44
44
|
readonly absolute: boolean;
|
|
45
45
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
|
-
// interaction-seams.ts
|
|
2
|
+
// interaction-seams.ts, the command-context interaction seams and the memory-
|
|
3
3
|
// provenance UI controller, extracted from main.ts (file-size hygiene).
|
|
4
4
|
//
|
|
5
5
|
// The seams expose the in-process orchestrator's per-tool cancel and mid-turn
|
|
@@ -39,7 +39,7 @@ export interface InteractionSeamDeps {
|
|
|
39
39
|
/** Wire the per-tool cancel, queue edit/delete, power, and memory-provenance seams onto the command context. */
|
|
40
40
|
export function wireInteractionSeams(cc: CommandContext, deps: InteractionSeamDeps): void {
|
|
41
41
|
cc.cancelToolCall = createCancelToolCall(deps.orchestrator, deps.getActiveToolCallId, () => {
|
|
42
|
-
deps.notify('[Tool] Cancelled the running tool call
|
|
42
|
+
deps.notify('[Tool] Cancelled the running tool call; the turn continues.');
|
|
43
43
|
deps.render();
|
|
44
44
|
});
|
|
45
45
|
cc.listQueuedMessages = () => deps.orchestrator.listQueuedMessages();
|
|
@@ -56,7 +56,7 @@ export interface MemoryProvenanceUi {
|
|
|
56
56
|
toggle(): void;
|
|
57
57
|
/** Capture the memory record ids from a completed turn's payload (metadata.memory.recordIds). */
|
|
58
58
|
onTurnCompleted(evt: unknown): void;
|
|
59
|
-
/** The chip lines for the current turn
|
|
59
|
+
/** The chip lines for the current turn, empty when the setting is off or the turn used no memories. */
|
|
60
60
|
renderChip(width: number, configManager: Pick<ConfigManager, 'get'>): Line[];
|
|
61
61
|
}
|
|
62
62
|
|
|
@@ -67,7 +67,7 @@ type ResolvedRecord = { readonly summary: string; readonly cls: string } | null;
|
|
|
67
67
|
* Create the memory-provenance chip controller (default OFF; reads nothing when
|
|
68
68
|
* off). When the drill-in is expanded it RESOLVES each memory record id to its
|
|
69
69
|
* summary through the memory spine (the same host-or-daemon access the recall
|
|
70
|
-
* commands use, so an adopted daemon resolves over the wire)
|
|
70
|
+
* commands use, so an adopted daemon resolves over the wire), per-id and
|
|
71
71
|
* lazily, so one forgotten record never blanks the rest and a collapsed chip
|
|
72
72
|
* costs nothing. Mirrors the webui's provenance detail fetch.
|
|
73
73
|
*/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// ---------------------------------------------------------------------------
|
|
2
|
-
// knowledge-services.ts
|
|
2
|
+
// knowledge-services.ts, the knowledge/wiki + home-graph stack (TUI wiring)
|
|
3
3
|
//
|
|
4
4
|
// Constructs the three KnowledgeStores (regular wiki, agent, home-graph), their
|
|
5
5
|
// semantic services, the ingest services, the home-graph service, and the
|
|
6
6
|
// project-planning + work-plan stores. Extracted into its own module rather
|
|
7
7
|
// than built inline in services.ts, which sits at the architecture check's
|
|
8
|
-
// 800-line cap (scripts/check-architecture.ts)
|
|
8
|
+
// 800-line cap (scripts/check-architecture.ts), new/large construction blocks
|
|
9
9
|
// get their own module and a single wiring call there (mirrors
|
|
10
10
|
// createWorkstreamServices / createDurabilityServices / createCodeIndexServices).
|
|
11
11
|
//
|