@pellux/goodvibes-tui 1.27.0 → 2.0.1
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/CHANGELOG.md +125 -2
- package/README.md +7 -9
- package/bin/goodvibes +2 -2
- package/bin/launcher-support.js +8 -4
- package/docs/README.md +11 -2
- package/docs/foundation-artifacts/operator-contract.json +6403 -2347
- package/package.json +14 -25
- package/scripts/postinstall.js +35 -35
- package/src/audio/spoken-turn-model-routing.ts +1 -1
- package/src/cli/bundle-command.ts +5 -5
- package/src/cli/completions/generate.ts +1 -1
- package/src/cli/doctor.ts +3 -3
- package/src/cli/entrypoint.ts +12 -7
- package/src/cli/help.ts +4 -5
- package/src/cli/hooks-command.ts +1 -1
- package/src/cli/index.ts +1 -4
- package/src/cli/launch-auto-update.ts +59 -7
- package/src/cli/management-commands.ts +6 -6
- package/src/cli/management-utils.ts +5 -5
- package/src/cli/management.ts +7 -7
- package/src/cli/network-posture.ts +1 -1
- package/src/cli/package-verification.ts +7 -6
- package/src/cli/plugin-bundles-command.ts +1 -1
- package/src/cli/plugin-command.ts +2 -2
- package/src/cli/service-command.ts +2 -2
- package/src/cli/service-posture.ts +4 -4
- package/src/cli/status.ts +9 -8
- package/src/cli/surface-command.ts +4 -4
- package/src/cli/tui-startup.ts +12 -3
- package/src/cli-flags.ts +3 -3
- package/src/config/goodvibes-home-audit.ts +0 -2
- package/src/config/secret-config.ts +37 -5
- package/src/config/tui-extension-settings.ts +1 -1
- package/src/core/approval-alert.ts +2 -2
- package/src/core/budget-breach-notifier.ts +3 -3
- package/src/core/conversation-compaction-render.ts +1 -1
- package/src/core/conversation-line-cache.ts +1 -1
- package/src/core/conversation-render-context.ts +1 -1
- package/src/core/conversation-rendering.ts +2 -2
- package/src/core/conversation.ts +10 -10
- package/src/core/long-task-notifier.ts +2 -2
- package/src/core/memory-diagnostics-gateway.ts +1 -1
- package/src/core/scriptable-statusline.ts +1 -1
- package/src/core/session-auto-titler.ts +1 -1
- package/src/core/session-resume-core.ts +2 -2
- package/src/core/stream-event-wiring.ts +24 -44
- package/src/core/terminal-notifier.ts +3 -3
- package/src/core/turn-cancellation.ts +1 -1
- package/src/core/turn-event-wiring.ts +5 -5
- package/src/input/command-registry.ts +6 -6
- package/src/input/commands/channel-pairing.ts +1 -1
- package/src/input/commands/cluster-runtime.ts +1 -1
- package/src/input/commands/codebase-runtime.ts +1 -1
- package/src/input/commands/devices-runtime.ts +1 -1
- package/src/input/commands/hosted-runtime.ts +330 -0
- package/src/input/commands/local-setup-review.ts +1 -1
- package/src/input/commands/local-setup-transfer.ts +2 -2
- package/src/input/commands/local-setup.ts +3 -3
- package/src/input/commands/managed-runtime.ts +2 -2
- package/src/input/commands/operator-rpc.ts +24 -110
- package/src/input/commands/payment-card-intake.ts +1 -1
- package/src/input/commands/permissions-provenance.ts +2 -2
- package/src/input/commands/plugin-runtime.ts +1 -1
- package/src/input/commands/provider.ts +1 -1
- package/src/input/commands/relay-runtime.ts +18 -9
- package/src/input/commands/rewind-runtime.ts +1 -1
- package/src/input/commands/runtime-services.ts +1 -1
- package/src/input/commands/services-runtime.ts +1 -1
- package/src/input/commands/session-workflow.ts +1 -1
- package/src/input/commands/settings-sync-runtime.ts +2 -2
- package/src/input/commands/share-runtime.ts +1 -1
- package/src/input/commands/tasks-runtime.ts +145 -55
- package/src/input/commands/update-runtime.ts +31 -28
- package/src/input/commands/work-plan-runtime.ts +2 -2
- package/src/input/commands/workstream-attempts.ts +1 -1
- package/src/input/commands/workstream-runtime.ts +2 -2
- package/src/input/commands.ts +2 -0
- package/src/input/feature-unit-layout.ts +1 -1
- package/src/input/feed-context-factory.ts +3 -3
- package/src/input/handler-content-actions.ts +2 -2
- package/src/input/handler-feed-routes.ts +1 -1
- package/src/input/handler-feed.ts +3 -3
- package/src/input/handler-modal-token-routes.ts +1 -1
- package/src/input/handler-onboarding-daemon-adopt.ts +3 -2
- package/src/input/handler-onboarding.ts +1 -1
- package/src/input/handler-types.ts +2 -2
- package/src/input/handler-ui-state.ts +1 -1
- package/src/input/handler.ts +4 -4
- package/src/input/input-history.ts +1 -1
- package/src/input/onboarding/onboarding-feature-units.ts +2 -2
- package/src/input/onboarding/onboarding-runtime-status.ts +15 -1
- package/src/input/onboarding/onboarding-wizard-apply.ts +17 -8
- package/src/input/onboarding/onboarding-wizard-cloudflare-step.ts +5 -3
- package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +1 -1
- package/src/input/onboarding/onboarding-wizard-types.ts +1 -1
- package/src/input/payments-config.ts +6 -6
- package/src/input/search.ts +1 -1
- package/src/input/session-picker-modal.ts +46 -0
- package/src/input/settings-modal-activation.ts +1 -1
- package/src/input/settings-modal-behavior.ts +4 -4
- package/src/input/settings-modal-commit.ts +11 -0
- package/src/input/settings-modal-data.ts +13 -80
- package/src/input/settings-modal-mutations.ts +33 -0
- package/src/input/settings-modal-secrets.ts +34 -0
- package/src/input/settings-modal-subscriptions.ts +1 -1
- package/src/input/settings-modal-types.ts +15 -1
- package/src/input/settings-modal.ts +28 -3
- package/src/input/worktree-setup-config.ts +1 -1
- package/src/main.ts +11 -9
- package/src/panels/agent-inspector-shared.ts +2 -2
- package/src/panels/base-panel.ts +2 -2
- package/src/panels/builtin/operations.ts +6 -8
- package/src/panels/builtin/session.ts +17 -0
- package/src/panels/builtin/shared.ts +5 -5
- package/src/panels/builtin-modals.ts +3 -3
- package/src/panels/confirm-state.ts +1 -1
- package/src/panels/cost-tracker-panel.ts +4 -4
- package/src/panels/diff-panel.ts +2 -2
- package/src/panels/diff-review-panel.ts +2 -2
- package/src/panels/expandable-list-panel.ts +2 -2
- package/src/panels/fleet-acts.ts +1 -1
- package/src/panels/fleet-observed-render.ts +1 -1
- package/src/panels/fleet-panel-format.ts +1 -1
- package/src/panels/fleet-panel.ts +1 -1
- package/src/panels/fleet-spawn.ts +1 -1
- package/src/panels/fleet-steer.ts +1 -1
- package/src/panels/fleet-transcript.ts +1 -1
- package/src/panels/git-panel.ts +1 -1
- package/src/panels/hosted-session-feed.ts +352 -0
- package/src/panels/hosted-session-panel.ts +221 -0
- package/src/panels/local-auth-panel.ts +3 -3
- package/src/panels/modals/devices-modal.ts +1 -1
- package/src/panels/modals/local-auth-modal.ts +1 -1
- package/src/panels/modals/pairing-modal.ts +1 -1
- package/src/panels/modals/services-modal.ts +1 -1
- package/src/panels/modals/settings-sync-modal.ts +1 -1
- package/src/panels/modals/subscription-modal.ts +1 -1
- package/src/panels/modals/work-plan-modal.ts +1 -1
- package/src/panels/notifications-panel.ts +1 -1
- package/src/panels/panel-confirm-overlay.ts +1 -1
- package/src/panels/plugins-panel.ts +2 -2
- package/src/panels/polish-core.ts +2 -2
- package/src/panels/polish-tables.ts +1 -1
- package/src/panels/polish.ts +2 -2
- package/src/panels/scrollable-list-panel.ts +3 -3
- package/src/panels/skills-panel.ts +3 -3
- package/src/panels/token-budget-panel.ts +5 -5
- package/src/panels/types.ts +1 -2
- package/src/permissions/prompt.ts +1 -1
- package/src/renderer/autocomplete-overlay.ts +1 -1
- package/src/renderer/block-actions-overlay.ts +1 -1
- package/src/renderer/bookmark-modal.ts +1 -1
- package/src/renderer/buffer.ts +1 -1
- package/src/renderer/code-block.ts +1 -1
- package/src/renderer/composer-fragments.ts +1 -1
- package/src/renderer/compositor.ts +2 -2
- package/src/renderer/config-modal.ts +1 -1
- package/src/renderer/context-inspector.ts +1 -1
- package/src/renderer/conversation-layout.ts +2 -2
- package/src/renderer/conversation-overlays.ts +1 -1
- package/src/renderer/conversation-surface.ts +2 -2
- package/src/renderer/diff-view.ts +1 -1
- package/src/renderer/diff.ts +1 -1
- package/src/renderer/file-picker-overlay.ts +1 -1
- package/src/renderer/fleet-tab-strip.ts +1 -1
- package/src/renderer/fullscreen-primitives.ts +2 -2
- package/src/renderer/fullscreen-workspace.ts +1 -1
- package/src/renderer/header-line.ts +1 -1
- package/src/renderer/help-overlay.ts +1 -1
- package/src/renderer/history-search-overlay.ts +2 -2
- package/src/renderer/layout.ts +5 -8
- package/src/renderer/markdown-inline.ts +1 -1
- package/src/renderer/markdown-table.ts +1 -1
- package/src/renderer/markdown.ts +1 -1
- package/src/renderer/mcp-workspace.ts +1 -1
- package/src/renderer/modal-factory.ts +2 -2
- package/src/renderer/model-workspace.ts +2 -2
- package/src/renderer/onboarding/onboarding-wizard.ts +1 -1
- package/src/renderer/overlay-box.ts +1 -1
- package/src/renderer/panel-composite.ts +1 -1
- package/src/renderer/panel-workspace-bar.ts +1 -1
- package/src/renderer/process-indicator.ts +1 -1
- package/src/renderer/profile-picker-modal.ts +1 -1
- package/src/renderer/search-overlay.ts +2 -2
- package/src/renderer/selection-modal-overlay.ts +1 -1
- package/src/renderer/session-picker-modal.ts +124 -3
- package/src/renderer/settings-modal-helpers.ts +2 -0
- package/src/renderer/settings-modal.ts +2 -2
- package/src/renderer/shell-surface.ts +2 -2
- package/src/renderer/system-message.ts +1 -1
- package/src/renderer/tab-strip.ts +1 -1
- package/src/renderer/theme-mode-config.ts +1 -1
- package/src/renderer/theme.ts +11 -12
- package/src/renderer/thinking.ts +1 -1
- package/src/renderer/tool-call.ts +2 -2
- package/src/renderer/tool-result-expanded-lines.ts +1 -1
- package/src/renderer/turn-injection.ts +7 -8
- package/src/renderer/ui-factory.ts +3 -3
- package/src/runtime/bootstrap-command-context.ts +4 -4
- package/src/runtime/bootstrap-command-parts.ts +5 -5
- package/src/runtime/bootstrap-core.ts +30 -30
- package/src/runtime/bootstrap-shell.ts +4 -4
- package/src/runtime/bootstrap.ts +128 -157
- package/src/runtime/client/approval-updates.ts +82 -0
- package/src/runtime/client/build-floors.ts +167 -0
- package/src/runtime/client/daemon-attach-handshake.ts +115 -0
- package/src/runtime/client/fleet-union.ts +147 -0
- package/src/runtime/client/host-service-status.ts +71 -0
- package/src/runtime/client/hosted-exit.ts +86 -0
- package/src/runtime/client/hosted-roster.ts +110 -0
- package/src/runtime/client/hosted-session-stream.ts +178 -0
- package/src/runtime/client/hosted-sessions.ts +187 -0
- package/src/runtime/client/operator-endpoint.ts +213 -0
- package/src/runtime/client/spine-adoption.ts +99 -0
- package/src/runtime/cloudflare-control-plane.ts +1 -1
- package/src/runtime/context-accounting-source.ts +1 -1
- package/src/runtime/context.ts +2 -2
- package/src/runtime/conversation-rewind-port.ts +42 -14
- package/src/runtime/daemon-attach-notices.ts +55 -19
- package/src/runtime/diagnostics/panels/ops.ts +1 -1
- package/src/runtime/disposal-wiring.ts +4 -24
- package/src/runtime/index.ts +119 -105
- package/src/runtime/install-self-check-startup.ts +2 -2
- package/src/runtime/interaction-seams.ts +1 -1
- package/src/runtime/knowledge-services.ts +8 -2
- package/src/runtime/legacy-daemon-migration.ts +15 -3
- package/src/runtime/legacy-daemon-reconcile.ts +3 -2
- package/src/runtime/memory-spine-transport.ts +37 -267
- package/src/runtime/notification-dispatch.ts +2 -2
- package/src/runtime/onboarding/apply.ts +2 -2
- package/src/runtime/onboarding/derivation.ts +2 -2
- package/src/runtime/onboarding/markers.ts +2 -2
- package/src/runtime/onboarding/progress.ts +2 -2
- package/src/runtime/onboarding/snapshot.ts +1 -1
- package/src/runtime/onboarding/state.ts +2 -2
- package/src/runtime/onboarding/types.ts +2 -2
- package/src/runtime/orchestrator-core-services.ts +1 -1
- package/src/runtime/path-shadow-startup.ts +28 -221
- package/src/runtime/power-keepawake-remote.ts +3 -2
- package/src/runtime/process-lifecycle.ts +2 -2
- package/src/runtime/provider-fallback.ts +10 -66
- package/src/runtime/recovery-autosave.ts +1 -1
- package/src/runtime/recovery-offer-wiring.ts +39 -23
- package/src/runtime/recovery-prompt.ts +31 -17
- package/src/runtime/relay-reachability-bridge.ts +53 -42
- package/src/runtime/release-artifacts.ts +2 -1
- package/src/runtime/runtime-services-types.ts +82 -35
- package/src/runtime/services.ts +305 -300
- package/src/runtime/session-resume-liveness-confirm.ts +1 -1
- package/src/runtime/ui-services.ts +7 -6
- package/src/runtime/update-check.ts +23 -43
- package/src/runtime/workspace-checkpointing.ts +1 -1
- package/src/runtime/wrfc-persistence.ts +2 -2
- package/src/shell/ui-openers.ts +30 -7
- package/src/utils/clipboard.ts +1 -1
- package/src/verification/verification-ledger.ts +10 -8
- package/src/version.ts +1 -1
- package/bin/goodvibes-daemon +0 -90
- package/src/cli/config-overrides.ts +0 -267
- package/src/cli/endpoints.ts +0 -109
- package/src/cli/parser.ts +0 -395
- package/src/cli/redaction.ts +0 -170
- package/src/cli/types.ts +0 -84
- package/src/cluster/commands.ts +0 -382
- package/src/cluster/remote-daemon-target.ts +0 -225
- package/src/cluster/render.ts +0 -268
- package/src/config/atomic-write.ts +0 -70
- package/src/config/credential-availability.ts +0 -122
- package/src/config/goodvibes-home.ts +0 -149
- package/src/config/index.ts +0 -88
- package/src/config/provider-model.ts +0 -23
- package/src/config/read-versioned.ts +0 -228
- package/src/core/alert-gating.ts +0 -67
- package/src/core/consolidation-receipt.ts +0 -41
- package/src/core/focus-tracker.ts +0 -41
- package/src/core/history.ts +0 -45
- package/src/core/memory-status.ts +0 -118
- package/src/core/orchestrator.ts +0 -7
- package/src/core/pairing-devices.ts +0 -49
- package/src/core/pairing-handoff.ts +0 -101
- package/src/core/pairing-offers.ts +0 -83
- package/src/core/pairing-origin.ts +0 -78
- package/src/core/rewind-turn-anchors.ts +0 -311
- package/src/core/session-recovery.ts +0 -210
- package/src/core/stable-host.ts +0 -171
- package/src/core/transcript-journal.ts +0 -503
- package/src/daemon/cli.ts +0 -641
- package/src/daemon/handlers/context.ts +0 -29
- package/src/daemon/handlers/contracts.ts +0 -77
- package/src/daemon/handlers/credentials.ts +0 -139
- package/src/daemon/handlers/drafts/draft-store.ts +0 -427
- package/src/daemon/handlers/drafts/index.ts +0 -17
- package/src/daemon/handlers/drafts/register.ts +0 -331
- package/src/daemon/handlers/errors.ts +0 -18
- package/src/daemon/handlers/inbox/cursor-store.ts +0 -457
- package/src/daemon/handlers/inbox/index.ts +0 -284
- package/src/daemon/handlers/inbox/mapping.ts +0 -192
- package/src/daemon/handlers/inbox/poller.ts +0 -212
- package/src/daemon/handlers/inbox/provider-adapter.ts +0 -156
- package/src/daemon/handlers/inbox/providers/discord.ts +0 -252
- package/src/daemon/handlers/inbox/providers/email.ts +0 -152
- package/src/daemon/handlers/inbox/providers/imap-client.ts +0 -300
- package/src/daemon/handlers/inbox/providers/route-util.ts +0 -24
- package/src/daemon/handlers/inbox/providers/slack.ts +0 -263
- package/src/daemon/handlers/index.ts +0 -117
- package/src/daemon/handlers/register.ts +0 -168
- package/src/daemon/handlers/remote/backends/cloud-terminal.ts +0 -142
- package/src/daemon/handlers/remote/backends/docker.ts +0 -79
- package/src/daemon/handlers/remote/backends/index.ts +0 -40
- package/src/daemon/handlers/remote/backends/local-process.ts +0 -113
- package/src/daemon/handlers/remote/backends/process-runner.ts +0 -127
- package/src/daemon/handlers/remote/backends/ssh.ts +0 -125
- package/src/daemon/handlers/remote/backends/types.ts +0 -97
- package/src/daemon/handlers/remote/dispatcher.ts +0 -181
- package/src/daemon/handlers/remote/index.ts +0 -119
- package/src/daemon/handlers/remote/peer-registry.ts +0 -357
- package/src/daemon/handlers/remote/service.ts +0 -191
- package/src/daemon/handlers/routing/inbox-bridge.ts +0 -71
- package/src/daemon/handlers/routing/index.ts +0 -261
- package/src/daemon/handlers/routing/route-store.ts +0 -319
- package/src/daemon/handlers/routing/routing-resolver.ts +0 -75
- package/src/daemon/handlers/sqlite-store.ts +0 -278
- package/src/daemon/handlers/triage/index.ts +0 -57
- package/src/daemon/handlers/triage/integration.ts +0 -213
- package/src/daemon/handlers/triage/pipeline.ts +0 -274
- package/src/daemon/handlers/triage/scorer.ts +0 -287
- package/src/daemon/handlers/triage/tagger/discord.ts +0 -187
- package/src/daemon/handlers/triage/tagger/imap.ts +0 -384
- package/src/daemon/handlers/triage/tagger/index.ts +0 -184
- package/src/daemon/handlers/triage/tagger/shared.ts +0 -70
- package/src/daemon/handlers/triage/tagger/slack.ts +0 -69
- package/src/daemon/handlers/triage/types.ts +0 -50
- package/src/daemon/lifecycle.ts +0 -41
- package/src/daemon/provision-wake-model.ts +0 -81
- package/src/daemon/safe-serve.ts +0 -61
- package/src/daemon/send/channels.ts +0 -200
- package/src/daemon/send/command.ts +0 -332
- package/src/daemon/send/composition.ts +0 -99
- package/src/daemon/send/failure-text.ts +0 -93
- package/src/daemon/send/inert-text.ts +0 -225
- package/src/daemon/send/stdin.ts +0 -24
- package/src/daemon/service-commands.ts +0 -329
- package/src/export/cost-utils.ts +0 -319
- package/src/input/selection.ts +0 -135
- package/src/plugins/loader.ts +0 -15
- package/src/renderer/bottom-bar.ts +0 -58
- package/src/renderer/conversation-tree.ts +0 -228
- package/src/runtime/agent-graph-composition.ts +0 -78
- package/src/runtime/channel-composition.ts +0 -46
- package/src/runtime/cluster-composition.ts +0 -124
- package/src/runtime/cluster-group-composition.ts +0 -284
- package/src/runtime/code-index-services.ts +0 -167
- package/src/runtime/daemon-handler-composition.ts +0 -76
- package/src/runtime/device-posture-composition.ts +0 -110
- package/src/runtime/durability-housekeeping.ts +0 -183
- package/src/runtime/durability-services.ts +0 -155
- package/src/runtime/embedded-service-factories.ts +0 -58
- package/src/runtime/feature-settings.ts +0 -154
- package/src/runtime/fleet-needs-input-push.ts +0 -70
- package/src/runtime/fleet-services.ts +0 -41
- package/src/runtime/idle-power-services.ts +0 -85
- package/src/runtime/mail-composition.ts +0 -65
- package/src/runtime/memory-fold.ts +0 -55
- package/src/runtime/operator-token-cleanup.ts +0 -109
- package/src/runtime/path-shadow.ts +0 -418
- package/src/runtime/perf/panel-health-monitor.ts +0 -18
- package/src/runtime/provider-optimizer-wiring.ts +0 -55
- package/src/runtime/reachability-notice.ts +0 -100
- package/src/runtime/remote-execution-composition.ts +0 -62
- package/src/runtime/session-liveness-marker.ts +0 -257
- package/src/runtime/session-pointer-surface.ts +0 -22
- package/src/runtime/session-storage-services.ts +0 -41
- package/src/runtime/surface-feature-flags.ts +0 -96
- package/src/runtime/terminal-output-guard.ts +0 -235
- package/src/runtime/trust/workspace-registration.ts +0 -192
- package/src/runtime/trust/workspace-trust.ts +0 -229
- package/src/runtime/ui/index.ts +0 -39
- package/src/runtime/ui/model-picker/data-provider.ts +0 -182
- package/src/runtime/ui/model-picker/health-enrichment.ts +0 -231
- package/src/runtime/ui/model-picker/index.ts +0 -59
- package/src/runtime/ui/model-picker/types.ts +0 -153
- package/src/runtime/ui/provider-health/data-provider.ts +0 -244
- package/src/runtime/ui/provider-health/fallback-visualizer.ts +0 -71
- package/src/runtime/ui/provider-health/index.ts +0 -46
- package/src/runtime/ui/provider-health/types.ts +0 -146
- package/src/runtime/ui-events.ts +0 -1
- package/src/runtime/ui-read-model-helpers.ts +0 -1
- package/src/runtime/ui-read-models-observability-maintenance.ts +0 -1
- package/src/runtime/ui-read-models-observability-options.ts +0 -1
- package/src/runtime/ui-read-models-observability-remote.ts +0 -1
- package/src/runtime/ui-read-models-observability-security.ts +0 -1
- package/src/runtime/ui-read-models-observability-system.ts +0 -1
- package/src/runtime/ui-read-models-observability.ts +0 -1
- package/src/runtime/ui-service-queries.ts +0 -1
- package/src/runtime/voice-setup-services.ts +0 -98
- package/src/runtime/workstream-attempts-validation.ts +0 -77
- package/src/runtime/workstream-draft-edits.ts +0 -95
- package/src/runtime/workstream-draft-store.ts +0 -274
- package/src/runtime/workstream-draft-types.ts +0 -42
- package/src/runtime/workstream-services.ts +0 -373
- package/src/tools/index.ts +0 -1
- package/src/types/grid.ts +0 -48
- package/src/types/sql-js.d.ts +0 -15
- package/src/work-plans/work-plan-store.ts +0 -702
|
@@ -1,96 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* memory-spine-transport.ts
|
|
3
3
|
*
|
|
4
|
-
* The TUI memory-spine cutover:
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* session-spine-transport.ts's pattern for the session spine.
|
|
4
|
+
* The TUI memory-spine cutover: a thin wrapper over the SDK's own canonical
|
|
5
|
+
* memory-spine REST transport
|
|
6
|
+
* (`createMemorySpineRestTransport` from
|
|
7
|
+
* `@pellux/goodvibes-sdk/platform/runtime/memory-spine`).
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
* `HttpTransport.operator.sessions`), so this adapter builds a small REST
|
|
12
|
-
* client directly against the known routes — exactly what the SDK's own
|
|
13
|
-
* `MemoryTransport` doc comment describes as the expected consumer shape.
|
|
9
|
+
* ── Hoist provenance (2026-07-30 daemon/TUI split) ──────────────────────────
|
|
14
10
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* (
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* equivalent, so this transport implements every EXTENDED verb rather than
|
|
24
|
-
* leaving some optional.
|
|
11
|
+
* This file used to carry a full parallel implementation of the memory wire
|
|
12
|
+
* protocol (285 lines, 16 raw `requestJsonRaw` call sites): the five CORE
|
|
13
|
+
* routes (add, search, get, review, delete) plus the ten 1.2.0 EXTENDED
|
|
14
|
+
* routes (list, search-semantic, update, links.list, links.add, export,
|
|
15
|
+
* import, review-queue, vector, doctor), the 404 discriminator
|
|
16
|
+
* (`classifyMemoryWireError`/`memoryVerbUnavailableError`), and the honesty
|
|
17
|
+
* rule that a transport failure propagates rather than silently falling back
|
|
18
|
+
* to a divergent local copy.
|
|
25
19
|
*
|
|
26
|
-
*
|
|
27
|
-
* '
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
20
|
+
* The SDK's `rest-transport.ts` (`platform/runtime/memory-spine`) adopted
|
|
21
|
+
* this file's version as the superset — same routes,
|
|
22
|
+
* same discriminator functions, same honesty contract, same transport-http
|
|
23
|
+
* primitives — so this file now just delegates. `MemorySpineWireOptions`
|
|
24
|
+
* (`{baseUrl, authToken, fetchImpl?}`) is the same shape the SDK's
|
|
25
|
+
* `MemorySpineRestTransportOptions` takes, so there is nothing to adapt: this
|
|
26
|
+
* export is a direct pass-through, kept as this file's own named symbol only
|
|
27
|
+
* because `spine-adoption.ts` and this surface's tests already import it from
|
|
28
|
+
* here.
|
|
32
29
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* with no code — is treated as "this daemon does not serve this verb" and
|
|
42
|
-
* rejects with a stated reason on EVERY verb, never a silent `null`. That is
|
|
43
|
-
* what lets `/recall` surface an honest degraded message on a version-skewed
|
|
44
|
-
* daemon instead of reporting an existing record as gone.
|
|
30
|
+
* Retired in the same hoist: `syncMemorySpineToHostStatus` and
|
|
31
|
+
* `MemorySpineActiveRef`. Memory-spine activation is now folded into the
|
|
32
|
+
* SDK's `createSpineAdoptionSync` (see `src/runtime/client/spine-adoption.ts`)
|
|
33
|
+
* — `spine-adoption.ts` supplies `memoryTransport` in the connect bundle
|
|
34
|
+
* instead of calling a separate sync function on the daemon-status signal.
|
|
35
|
+
* Confirmed zero non-test callers remained (only
|
|
36
|
+
* `src/test/runtime/memory-spine-daemon-integration.test.ts` still exercised
|
|
37
|
+
* them) before deleting both.
|
|
45
38
|
*/
|
|
46
|
-
import { buildUrl, createJsonRequestInit, requestJsonRaw } from '@pellux/goodvibes-sdk/transport-http';
|
|
47
39
|
import {
|
|
48
|
-
|
|
49
|
-
memoryVerbUnavailableError,
|
|
50
|
-
type MemoryAccess,
|
|
40
|
+
createMemorySpineRestTransport as createSdkMemorySpineRestTransport,
|
|
51
41
|
type MemoryTransport,
|
|
52
|
-
type MemoryUpdatePatch,
|
|
53
42
|
} from '@pellux/goodvibes-sdk/platform/runtime/memory-spine';
|
|
54
|
-
import type {
|
|
55
|
-
HonestMemorySearchOptions,
|
|
56
|
-
HonestMemorySearchResult,
|
|
57
|
-
MemoryAddOptions,
|
|
58
|
-
MemoryBundle,
|
|
59
|
-
MemoryDoctorReport,
|
|
60
|
-
MemoryLink,
|
|
61
|
-
MemoryRecord,
|
|
62
|
-
MemoryScope,
|
|
63
|
-
MemorySearchFilter,
|
|
64
|
-
MemorySemanticSearchResult,
|
|
65
|
-
} from '@pellux/goodvibes-sdk/platform/state';
|
|
66
|
-
import type { MemoryVectorStats } from '@pellux/goodvibes-sdk/platform/state';
|
|
67
|
-
|
|
68
|
-
/** Derived from `MemoryAccess` itself rather than imported by name — `MemoryReviewPatch` is not re-exported from the SDK's public `platform/state` entry point. */
|
|
69
|
-
type MemoryReviewPatch = Parameters<MemoryAccess['updateReview']>[1];
|
|
70
|
-
/** Same reasoning — `MemoryImportResult` is not re-exported from a public SDK entry point. */
|
|
71
|
-
type MemoryImportResult = Awaited<ReturnType<MemoryAccess['importBundle']>>;
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* The 404 discriminator and the "daemon does not serve this verb" rejection are
|
|
75
|
-
* now the SDK's own `classifyMemoryWireError` / `memoryVerbUnavailableError`
|
|
76
|
-
* (`@pellux/goodvibes-sdk/platform/runtime/memory-spine`) rather than a copy
|
|
77
|
-
* inlined in this transport — this surface's SDK pin now ships them as a
|
|
78
|
-
* shared constant/discriminator, so the two thin folds below just delegate.
|
|
79
|
-
*/
|
|
80
|
-
|
|
81
|
-
/** Fold for a NULLABLE record-scoped verb: record-miss → null; version-skew → honest reject; else rethrow. */
|
|
82
|
-
function foldNullableMemoryWire404(verb: string, error: unknown): null {
|
|
83
|
-
const kind = classifyMemoryWireError(error);
|
|
84
|
-
if (kind === 'record-missing') return null;
|
|
85
|
-
if (kind === 'method-unavailable') throw memoryVerbUnavailableError(verb, error);
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** Fold for a NON-NULLABLE (collection or record-required) verb: version-skew → honest reject; else rethrow. */
|
|
90
|
-
function rethrowMemoryWire404(verb: string, error: unknown): never {
|
|
91
|
-
if (classifyMemoryWireError(error) === 'method-unavailable') throw memoryVerbUnavailableError(verb, error);
|
|
92
|
-
throw error;
|
|
93
|
-
}
|
|
94
43
|
|
|
95
44
|
export interface MemorySpineWireOptions {
|
|
96
45
|
readonly baseUrl: string;
|
|
@@ -99,191 +48,12 @@ export interface MemorySpineWireOptions {
|
|
|
99
48
|
}
|
|
100
49
|
|
|
101
50
|
/**
|
|
102
|
-
* Build the `MemorySpineClient` wire transport: a
|
|
103
|
-
*
|
|
104
|
-
* the ten 1.2.0
|
|
105
|
-
*
|
|
51
|
+
* Build the `MemorySpineClient` wire transport: a direct delegate to the
|
|
52
|
+
* SDK's canonical `createMemorySpineRestTransport`, which implements the full
|
|
53
|
+
* memory.records.* route catalog (five CORE routes plus the ten 1.2.0
|
|
54
|
+
* EXTENDED routes). `spine-adoption.ts` builds a client from this the same
|
|
55
|
+
* way it adopts the session spine.
|
|
106
56
|
*/
|
|
107
57
|
export function createTuiMemorySpineTransport(options: MemorySpineWireOptions): MemoryTransport {
|
|
108
|
-
|
|
109
|
-
const token = options.authToken;
|
|
110
|
-
const url = (path: string): string => buildUrl(options.baseUrl, path);
|
|
111
|
-
return {
|
|
112
|
-
add: async (opts: MemoryAddOptions): Promise<MemoryRecord> => {
|
|
113
|
-
const response = await requestJsonRaw<{ record: MemoryRecord }>(
|
|
114
|
-
fetchImpl, url('/api/memory/records'), createJsonRequestInit(token, opts, 'POST'),
|
|
115
|
-
);
|
|
116
|
-
return response.record;
|
|
117
|
-
},
|
|
118
|
-
honestSearch: async (filter?: MemorySearchFilter, searchOptions?: HonestMemorySearchOptions): Promise<HonestMemorySearchResult> => {
|
|
119
|
-
const body = { ...(filter ?? {}), ...(searchOptions?.recall !== undefined ? { recall: searchOptions.recall } : {}) };
|
|
120
|
-
return await requestJsonRaw<HonestMemorySearchResult>(
|
|
121
|
-
fetchImpl, url('/api/memory/records/search'), createJsonRequestInit(token, body, 'POST'),
|
|
122
|
-
);
|
|
123
|
-
},
|
|
124
|
-
get: async (id: string): Promise<MemoryRecord | null> => {
|
|
125
|
-
try {
|
|
126
|
-
const response = await requestJsonRaw<{ record: MemoryRecord }>(
|
|
127
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(id)}`), createJsonRequestInit(token),
|
|
128
|
-
);
|
|
129
|
-
return response.record;
|
|
130
|
-
} catch (error) {
|
|
131
|
-
return foldNullableMemoryWire404('get', error);
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
updateReview: async (id: string, patch: MemoryReviewPatch): Promise<MemoryRecord | null> => {
|
|
135
|
-
try {
|
|
136
|
-
const response = await requestJsonRaw<{ record: MemoryRecord }>(
|
|
137
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(id)}/review`), createJsonRequestInit(token, patch, 'POST'),
|
|
138
|
-
);
|
|
139
|
-
return response.record;
|
|
140
|
-
} catch (error) {
|
|
141
|
-
return foldNullableMemoryWire404('updateReview', error);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
delete: async (id: string): Promise<boolean> => {
|
|
145
|
-
const response = await requestJsonRaw<{ id: string; deleted: boolean }>(
|
|
146
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(id)}`), createJsonRequestInit(token, undefined, 'DELETE'),
|
|
147
|
-
);
|
|
148
|
-
return response.deleted;
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
// ── Extended verbs (1.2.0 full-detach) ──────────────────────────────────
|
|
152
|
-
|
|
153
|
-
list: async (filter?: MemorySearchFilter): Promise<readonly MemoryRecord[]> => {
|
|
154
|
-
try {
|
|
155
|
-
const response = await requestJsonRaw<{ records: readonly MemoryRecord[] }>(
|
|
156
|
-
fetchImpl, url('/api/memory/records/list'), createJsonRequestInit(token, filter ?? {}, 'POST'),
|
|
157
|
-
);
|
|
158
|
-
return response.records;
|
|
159
|
-
} catch (error) {
|
|
160
|
-
return rethrowMemoryWire404('list', error);
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
searchSemantic: async (filter?: MemorySearchFilter): Promise<readonly MemorySemanticSearchResult[]> => {
|
|
164
|
-
try {
|
|
165
|
-
const response = await requestJsonRaw<{ results: readonly MemorySemanticSearchResult[] }>(
|
|
166
|
-
fetchImpl, url('/api/memory/records/search-semantic'), createJsonRequestInit(token, filter ?? {}, 'POST'),
|
|
167
|
-
);
|
|
168
|
-
return response.results;
|
|
169
|
-
} catch (error) {
|
|
170
|
-
return rethrowMemoryWire404('searchSemantic', error);
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
update: async (id: string, patch: MemoryUpdatePatch): Promise<MemoryRecord | null> => {
|
|
174
|
-
try {
|
|
175
|
-
const response = await requestJsonRaw<{ record: MemoryRecord }>(
|
|
176
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(id)}/update`), createJsonRequestInit(token, patch, 'POST'),
|
|
177
|
-
);
|
|
178
|
-
return response.record;
|
|
179
|
-
} catch (error) {
|
|
180
|
-
return foldNullableMemoryWire404('update', error);
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
link: async (fromId: string, toId: string, relation: string): Promise<MemoryLink | null> => {
|
|
184
|
-
try {
|
|
185
|
-
const response = await requestJsonRaw<{ link: MemoryLink }>(
|
|
186
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(fromId)}/links`), createJsonRequestInit(token, { toId, relation }, 'POST'),
|
|
187
|
-
);
|
|
188
|
-
return response.link;
|
|
189
|
-
} catch (error) {
|
|
190
|
-
return foldNullableMemoryWire404('link', error);
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
linksFor: async (id: string): Promise<readonly MemoryLink[]> => {
|
|
194
|
-
try {
|
|
195
|
-
const response = await requestJsonRaw<{ links: readonly MemoryLink[] }>(
|
|
196
|
-
fetchImpl, url(`/api/memory/records/${encodeURIComponent(id)}/links`), createJsonRequestInit(token),
|
|
197
|
-
);
|
|
198
|
-
return response.links;
|
|
199
|
-
} catch (error) {
|
|
200
|
-
return rethrowMemoryWire404('linksFor', error);
|
|
201
|
-
}
|
|
202
|
-
},
|
|
203
|
-
reviewQueue: async (limit?: number, scope?: MemoryScope): Promise<readonly MemoryRecord[]> => {
|
|
204
|
-
const params = new URLSearchParams();
|
|
205
|
-
if (limit !== undefined) params.set('limit', String(limit));
|
|
206
|
-
if (scope !== undefined) params.set('scope', scope);
|
|
207
|
-
const query = params.toString();
|
|
208
|
-
try {
|
|
209
|
-
const response = await requestJsonRaw<{ records: readonly MemoryRecord[] }>(
|
|
210
|
-
fetchImpl, url(`/api/memory/review-queue${query ? `?${query}` : ''}`), createJsonRequestInit(token),
|
|
211
|
-
);
|
|
212
|
-
return response.records;
|
|
213
|
-
} catch (error) {
|
|
214
|
-
return rethrowMemoryWire404('reviewQueue', error);
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
exportBundle: async (filter?: MemorySearchFilter): Promise<MemoryBundle> => {
|
|
218
|
-
try {
|
|
219
|
-
const response = await requestJsonRaw<{ bundle: MemoryBundle }>(
|
|
220
|
-
fetchImpl, url('/api/memory/records/export'), createJsonRequestInit(token, filter ?? {}, 'POST'),
|
|
221
|
-
);
|
|
222
|
-
return response.bundle;
|
|
223
|
-
} catch (error) {
|
|
224
|
-
return rethrowMemoryWire404('exportBundle', error);
|
|
225
|
-
}
|
|
226
|
-
},
|
|
227
|
-
importBundle: async (bundle: MemoryBundle): Promise<MemoryImportResult> => {
|
|
228
|
-
try {
|
|
229
|
-
const response = await requestJsonRaw<{ result: MemoryImportResult }>(
|
|
230
|
-
fetchImpl, url('/api/memory/records/import'), createJsonRequestInit(token, { bundle }, 'POST'),
|
|
231
|
-
);
|
|
232
|
-
return response.result;
|
|
233
|
-
} catch (error) {
|
|
234
|
-
return rethrowMemoryWire404('importBundle', error);
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
vectorStats: async (): Promise<MemoryVectorStats> => {
|
|
238
|
-
try {
|
|
239
|
-
const response = await requestJsonRaw<{ vector: MemoryVectorStats }>(
|
|
240
|
-
fetchImpl, url('/api/memory/vector'), createJsonRequestInit(token),
|
|
241
|
-
);
|
|
242
|
-
return response.vector;
|
|
243
|
-
} catch (error) {
|
|
244
|
-
return rethrowMemoryWire404('vectorStats', error);
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
doctor: async (): Promise<MemoryDoctorReport> => {
|
|
248
|
-
try {
|
|
249
|
-
return await requestJsonRaw<MemoryDoctorReport>(
|
|
250
|
-
fetchImpl, url('/api/memory/doctor'), createJsonRequestInit(token),
|
|
251
|
-
);
|
|
252
|
-
} catch (error) {
|
|
253
|
-
return rethrowMemoryWire404('doctor', error);
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
/** Mutable one-slot ref tracking which adopted daemon's baseUrl the memory spine is currently wired to (mirrors bootstrap.ts's `spineActiveForBaseUrl`). */
|
|
260
|
-
export interface MemorySpineActiveRef { value: string | null }
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Sync the memory spine to the current daemon-adoption status — the SAME
|
|
264
|
-
* signal bootstrap.ts's `syncSessionSpineToHostStatus` uses. 'external' (an
|
|
265
|
-
* adopted, separately-running daemon) activates the wire transport; every
|
|
266
|
-
* other mode ('embedded' — this process IS the daemon host, so its own store
|
|
267
|
-
* is already canonical — plus 'disabled'/'blocked'/'incompatible'/'unavailable')
|
|
268
|
-
* deactivates back to local access.
|
|
269
|
-
*/
|
|
270
|
-
export function syncMemorySpineToHostStatus(
|
|
271
|
-
memorySpine: { activate: (transport: MemoryTransport) => void; deactivate: (reason: string) => void },
|
|
272
|
-
daemonMode: string,
|
|
273
|
-
daemonBaseUrl: string,
|
|
274
|
-
sharedDaemonToken: string,
|
|
275
|
-
activeRef: MemorySpineActiveRef,
|
|
276
|
-
log: { info: (message: string) => void },
|
|
277
|
-
): void {
|
|
278
|
-
if (daemonMode !== 'external') {
|
|
279
|
-
if (activeRef.value !== null) {
|
|
280
|
-
memorySpine.deactivate(`daemon mode changed to '${daemonMode}'`);
|
|
281
|
-
activeRef.value = null;
|
|
282
|
-
}
|
|
283
|
-
return;
|
|
284
|
-
}
|
|
285
|
-
if (activeRef.value === daemonBaseUrl) return; // already wired to this exact adopted daemon
|
|
286
|
-
memorySpine.activate(createTuiMemorySpineTransport({ baseUrl: daemonBaseUrl, authToken: sharedDaemonToken }));
|
|
287
|
-
activeRef.value = daemonBaseUrl;
|
|
288
|
-
log.info(`[bootstrap] memory spine: adopted external daemon at ${daemonBaseUrl} — routing memory ops over the wire`);
|
|
58
|
+
return createSdkMemorySpineRestTransport(options);
|
|
289
59
|
}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
import { createNotificationRouter, type NotificationRouter } from '@pellux/goodvibes-sdk/platform/runtime/ui';
|
|
15
15
|
import type { Notification, RoutingDecision, RuntimeEventBus, RuntimeEventDomain } from '@/runtime/index.ts';
|
|
16
|
-
import type { ConfigManager } from '
|
|
16
|
+
import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
17
17
|
import { getSharedNotificationFeed, type PanelNotificationFeed } from '../panels/notifications-feed.ts';
|
|
18
|
-
import { memoryPressureLine, memoryPressureLevel, type MemoryPressurePayload } from '
|
|
18
|
+
import { memoryPressureLine, memoryPressureLevel, type MemoryPressurePayload } from '@pellux/goodvibes-sdk/platform/runtime/memory';
|
|
19
19
|
|
|
20
20
|
export interface NotificationDispatcher {
|
|
21
21
|
/** Route a notification; a panel_only (or burst-collapsed) decision lands in the feed. Returns the decision. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync, unlinkSync } from 'node:fs';
|
|
2
|
-
import { atomicWriteFileSync } from '
|
|
2
|
+
import { atomicWriteFileSync } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
3
|
import { isSecretRefInput } from '@pellux/goodvibes-sdk/platform/config';
|
|
4
|
-
import { CONFIG_SCHEMA, DEFAULT_CONFIG } from '
|
|
4
|
+
import { CONFIG_SCHEMA, DEFAULT_CONFIG } from '@pellux/goodvibes-sdk/platform/config';
|
|
5
5
|
import {
|
|
6
6
|
getOnboardingRuntimeStatePath,
|
|
7
7
|
readOnboardingRuntimeState,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DEFAULT_CONFIG } from '
|
|
2
|
-
import { getProviderIdFromModel } from '
|
|
1
|
+
import { DEFAULT_CONFIG } from '@pellux/goodvibes-sdk/platform/config';
|
|
2
|
+
import { getProviderIdFromModel } from '@pellux/goodvibes-sdk/platform/providers';
|
|
3
3
|
import type {
|
|
4
4
|
OnboardingAcknowledgementState,
|
|
5
5
|
OnboardingAcknowledgementTarget,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { atomicWriteFileSync } from '
|
|
3
|
-
import { readVersioned } from '
|
|
2
|
+
import { atomicWriteFileSync } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
|
+
import { readVersioned } from '@pellux/goodvibes-sdk/platform/config';
|
|
4
4
|
|
|
5
5
|
import type { ShellPathService } from '@/runtime/index.ts';
|
|
6
6
|
import type {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, unlinkSync } from 'node:fs';
|
|
2
|
-
import { atomicWriteFileSync } from '
|
|
3
|
-
import { readVersioned } from '
|
|
2
|
+
import { atomicWriteFileSync } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
|
+
import { readVersioned } from '@pellux/goodvibes-sdk/platform/config';
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
OnboardingMode,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SecretStorageReview } from '../../config/secrets.ts';
|
|
2
|
-
import { getProviderIdFromModel } from '
|
|
2
|
+
import { getProviderIdFromModel } from '@pellux/goodvibes-sdk/platform/providers';
|
|
3
3
|
import type { LocalAuthSnapshot } from '@pellux/goodvibes-sdk/platform/security';
|
|
4
4
|
import { readOnboardingRuntimeState } from './state.ts';
|
|
5
5
|
import type {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { closeSync, existsSync, mkdirSync, openSync, statSync, unlinkSync } from 'node:fs';
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
|
-
import { atomicWriteFileSync } from '
|
|
4
|
-
import { readVersioned } from '
|
|
3
|
+
import { atomicWriteFileSync } from '@pellux/goodvibes-sdk/platform/config';
|
|
4
|
+
import { readVersioned } from '@pellux/goodvibes-sdk/platform/config';
|
|
5
5
|
|
|
6
6
|
import type {
|
|
7
7
|
OnboardingAcknowledgementRuntimeState,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConfigManager, ConfigKey, GoodVibesConfig } from '
|
|
1
|
+
import type { ConfigManager, ConfigKey, GoodVibesConfig } from '@pellux/goodvibes-sdk/platform/config';
|
|
2
2
|
import type { SecretsManager, SecretRecord, SecretStorageReview } from '../../config/secrets.ts';
|
|
3
3
|
import type { LocalAuthSnapshot, UserAuthManager } from '@pellux/goodvibes-sdk/platform/security';
|
|
4
4
|
import type { ShellPathService } from '@/runtime/index.ts';
|
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
LocalAuthInspectionQuery,
|
|
7
7
|
ServiceInspectionQuery,
|
|
8
8
|
SubscriptionAccessQuery,
|
|
9
|
-
} from '
|
|
9
|
+
} from '@/runtime/index.ts';
|
|
10
10
|
|
|
11
11
|
export type OnboardingMode = 'new' | 'edit' | 'reopen';
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@ import type { OrchestratorCoreServices } from '@pellux/goodvibes-sdk/platform/co
|
|
|
2
2
|
import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config';
|
|
3
3
|
import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers';
|
|
4
4
|
import type { RuntimeServices } from './services.ts';
|
|
5
|
-
import { isCodeInjectionSettingEnabled } from '
|
|
5
|
+
import { isCodeInjectionSettingEnabled } from '@pellux/goodvibes-sdk/platform/runtime/operations';
|
|
6
6
|
|
|
7
7
|
/** The slice of the runtime services bag the shared orchestrator payload draws from. */
|
|
8
8
|
export type OrchestratorCoreServicesSource = Pick<
|