@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.
Files changed (404) hide show
  1. package/CHANGELOG.md +125 -2
  2. package/README.md +7 -9
  3. package/bin/goodvibes +2 -2
  4. package/bin/launcher-support.js +8 -4
  5. package/docs/README.md +11 -2
  6. package/docs/foundation-artifacts/operator-contract.json +6403 -2347
  7. package/package.json +14 -25
  8. package/scripts/postinstall.js +35 -35
  9. package/src/audio/spoken-turn-model-routing.ts +1 -1
  10. package/src/cli/bundle-command.ts +5 -5
  11. package/src/cli/completions/generate.ts +1 -1
  12. package/src/cli/doctor.ts +3 -3
  13. package/src/cli/entrypoint.ts +12 -7
  14. package/src/cli/help.ts +4 -5
  15. package/src/cli/hooks-command.ts +1 -1
  16. package/src/cli/index.ts +1 -4
  17. package/src/cli/launch-auto-update.ts +59 -7
  18. package/src/cli/management-commands.ts +6 -6
  19. package/src/cli/management-utils.ts +5 -5
  20. package/src/cli/management.ts +7 -7
  21. package/src/cli/network-posture.ts +1 -1
  22. package/src/cli/package-verification.ts +7 -6
  23. package/src/cli/plugin-bundles-command.ts +1 -1
  24. package/src/cli/plugin-command.ts +2 -2
  25. package/src/cli/service-command.ts +2 -2
  26. package/src/cli/service-posture.ts +4 -4
  27. package/src/cli/status.ts +9 -8
  28. package/src/cli/surface-command.ts +4 -4
  29. package/src/cli/tui-startup.ts +12 -3
  30. package/src/cli-flags.ts +3 -3
  31. package/src/config/goodvibes-home-audit.ts +0 -2
  32. package/src/config/secret-config.ts +37 -5
  33. package/src/config/tui-extension-settings.ts +1 -1
  34. package/src/core/approval-alert.ts +2 -2
  35. package/src/core/budget-breach-notifier.ts +3 -3
  36. package/src/core/conversation-compaction-render.ts +1 -1
  37. package/src/core/conversation-line-cache.ts +1 -1
  38. package/src/core/conversation-render-context.ts +1 -1
  39. package/src/core/conversation-rendering.ts +2 -2
  40. package/src/core/conversation.ts +10 -10
  41. package/src/core/long-task-notifier.ts +2 -2
  42. package/src/core/memory-diagnostics-gateway.ts +1 -1
  43. package/src/core/scriptable-statusline.ts +1 -1
  44. package/src/core/session-auto-titler.ts +1 -1
  45. package/src/core/session-resume-core.ts +2 -2
  46. package/src/core/stream-event-wiring.ts +24 -44
  47. package/src/core/terminal-notifier.ts +3 -3
  48. package/src/core/turn-cancellation.ts +1 -1
  49. package/src/core/turn-event-wiring.ts +5 -5
  50. package/src/input/command-registry.ts +6 -6
  51. package/src/input/commands/channel-pairing.ts +1 -1
  52. package/src/input/commands/cluster-runtime.ts +1 -1
  53. package/src/input/commands/codebase-runtime.ts +1 -1
  54. package/src/input/commands/devices-runtime.ts +1 -1
  55. package/src/input/commands/hosted-runtime.ts +330 -0
  56. package/src/input/commands/local-setup-review.ts +1 -1
  57. package/src/input/commands/local-setup-transfer.ts +2 -2
  58. package/src/input/commands/local-setup.ts +3 -3
  59. package/src/input/commands/managed-runtime.ts +2 -2
  60. package/src/input/commands/operator-rpc.ts +24 -110
  61. package/src/input/commands/payment-card-intake.ts +1 -1
  62. package/src/input/commands/permissions-provenance.ts +2 -2
  63. package/src/input/commands/plugin-runtime.ts +1 -1
  64. package/src/input/commands/provider.ts +1 -1
  65. package/src/input/commands/relay-runtime.ts +18 -9
  66. package/src/input/commands/rewind-runtime.ts +1 -1
  67. package/src/input/commands/runtime-services.ts +1 -1
  68. package/src/input/commands/services-runtime.ts +1 -1
  69. package/src/input/commands/session-workflow.ts +1 -1
  70. package/src/input/commands/settings-sync-runtime.ts +2 -2
  71. package/src/input/commands/share-runtime.ts +1 -1
  72. package/src/input/commands/tasks-runtime.ts +145 -55
  73. package/src/input/commands/update-runtime.ts +31 -28
  74. package/src/input/commands/work-plan-runtime.ts +2 -2
  75. package/src/input/commands/workstream-attempts.ts +1 -1
  76. package/src/input/commands/workstream-runtime.ts +2 -2
  77. package/src/input/commands.ts +2 -0
  78. package/src/input/feature-unit-layout.ts +1 -1
  79. package/src/input/feed-context-factory.ts +3 -3
  80. package/src/input/handler-content-actions.ts +2 -2
  81. package/src/input/handler-feed-routes.ts +1 -1
  82. package/src/input/handler-feed.ts +3 -3
  83. package/src/input/handler-modal-token-routes.ts +1 -1
  84. package/src/input/handler-onboarding-daemon-adopt.ts +3 -2
  85. package/src/input/handler-onboarding.ts +1 -1
  86. package/src/input/handler-types.ts +2 -2
  87. package/src/input/handler-ui-state.ts +1 -1
  88. package/src/input/handler.ts +4 -4
  89. package/src/input/input-history.ts +1 -1
  90. package/src/input/onboarding/onboarding-feature-units.ts +2 -2
  91. package/src/input/onboarding/onboarding-runtime-status.ts +15 -1
  92. package/src/input/onboarding/onboarding-wizard-apply.ts +17 -8
  93. package/src/input/onboarding/onboarding-wizard-cloudflare-step.ts +5 -3
  94. package/src/input/onboarding/onboarding-wizard-external-surfaces.ts +1 -1
  95. package/src/input/onboarding/onboarding-wizard-types.ts +1 -1
  96. package/src/input/payments-config.ts +6 -6
  97. package/src/input/search.ts +1 -1
  98. package/src/input/session-picker-modal.ts +46 -0
  99. package/src/input/settings-modal-activation.ts +1 -1
  100. package/src/input/settings-modal-behavior.ts +4 -4
  101. package/src/input/settings-modal-commit.ts +11 -0
  102. package/src/input/settings-modal-data.ts +13 -80
  103. package/src/input/settings-modal-mutations.ts +33 -0
  104. package/src/input/settings-modal-secrets.ts +34 -0
  105. package/src/input/settings-modal-subscriptions.ts +1 -1
  106. package/src/input/settings-modal-types.ts +15 -1
  107. package/src/input/settings-modal.ts +28 -3
  108. package/src/input/worktree-setup-config.ts +1 -1
  109. package/src/main.ts +11 -9
  110. package/src/panels/agent-inspector-shared.ts +2 -2
  111. package/src/panels/base-panel.ts +2 -2
  112. package/src/panels/builtin/operations.ts +6 -8
  113. package/src/panels/builtin/session.ts +17 -0
  114. package/src/panels/builtin/shared.ts +5 -5
  115. package/src/panels/builtin-modals.ts +3 -3
  116. package/src/panels/confirm-state.ts +1 -1
  117. package/src/panels/cost-tracker-panel.ts +4 -4
  118. package/src/panels/diff-panel.ts +2 -2
  119. package/src/panels/diff-review-panel.ts +2 -2
  120. package/src/panels/expandable-list-panel.ts +2 -2
  121. package/src/panels/fleet-acts.ts +1 -1
  122. package/src/panels/fleet-observed-render.ts +1 -1
  123. package/src/panels/fleet-panel-format.ts +1 -1
  124. package/src/panels/fleet-panel.ts +1 -1
  125. package/src/panels/fleet-spawn.ts +1 -1
  126. package/src/panels/fleet-steer.ts +1 -1
  127. package/src/panels/fleet-transcript.ts +1 -1
  128. package/src/panels/git-panel.ts +1 -1
  129. package/src/panels/hosted-session-feed.ts +352 -0
  130. package/src/panels/hosted-session-panel.ts +221 -0
  131. package/src/panels/local-auth-panel.ts +3 -3
  132. package/src/panels/modals/devices-modal.ts +1 -1
  133. package/src/panels/modals/local-auth-modal.ts +1 -1
  134. package/src/panels/modals/pairing-modal.ts +1 -1
  135. package/src/panels/modals/services-modal.ts +1 -1
  136. package/src/panels/modals/settings-sync-modal.ts +1 -1
  137. package/src/panels/modals/subscription-modal.ts +1 -1
  138. package/src/panels/modals/work-plan-modal.ts +1 -1
  139. package/src/panels/notifications-panel.ts +1 -1
  140. package/src/panels/panel-confirm-overlay.ts +1 -1
  141. package/src/panels/plugins-panel.ts +2 -2
  142. package/src/panels/polish-core.ts +2 -2
  143. package/src/panels/polish-tables.ts +1 -1
  144. package/src/panels/polish.ts +2 -2
  145. package/src/panels/scrollable-list-panel.ts +3 -3
  146. package/src/panels/skills-panel.ts +3 -3
  147. package/src/panels/token-budget-panel.ts +5 -5
  148. package/src/panels/types.ts +1 -2
  149. package/src/permissions/prompt.ts +1 -1
  150. package/src/renderer/autocomplete-overlay.ts +1 -1
  151. package/src/renderer/block-actions-overlay.ts +1 -1
  152. package/src/renderer/bookmark-modal.ts +1 -1
  153. package/src/renderer/buffer.ts +1 -1
  154. package/src/renderer/code-block.ts +1 -1
  155. package/src/renderer/composer-fragments.ts +1 -1
  156. package/src/renderer/compositor.ts +2 -2
  157. package/src/renderer/config-modal.ts +1 -1
  158. package/src/renderer/context-inspector.ts +1 -1
  159. package/src/renderer/conversation-layout.ts +2 -2
  160. package/src/renderer/conversation-overlays.ts +1 -1
  161. package/src/renderer/conversation-surface.ts +2 -2
  162. package/src/renderer/diff-view.ts +1 -1
  163. package/src/renderer/diff.ts +1 -1
  164. package/src/renderer/file-picker-overlay.ts +1 -1
  165. package/src/renderer/fleet-tab-strip.ts +1 -1
  166. package/src/renderer/fullscreen-primitives.ts +2 -2
  167. package/src/renderer/fullscreen-workspace.ts +1 -1
  168. package/src/renderer/header-line.ts +1 -1
  169. package/src/renderer/help-overlay.ts +1 -1
  170. package/src/renderer/history-search-overlay.ts +2 -2
  171. package/src/renderer/layout.ts +5 -8
  172. package/src/renderer/markdown-inline.ts +1 -1
  173. package/src/renderer/markdown-table.ts +1 -1
  174. package/src/renderer/markdown.ts +1 -1
  175. package/src/renderer/mcp-workspace.ts +1 -1
  176. package/src/renderer/modal-factory.ts +2 -2
  177. package/src/renderer/model-workspace.ts +2 -2
  178. package/src/renderer/onboarding/onboarding-wizard.ts +1 -1
  179. package/src/renderer/overlay-box.ts +1 -1
  180. package/src/renderer/panel-composite.ts +1 -1
  181. package/src/renderer/panel-workspace-bar.ts +1 -1
  182. package/src/renderer/process-indicator.ts +1 -1
  183. package/src/renderer/profile-picker-modal.ts +1 -1
  184. package/src/renderer/search-overlay.ts +2 -2
  185. package/src/renderer/selection-modal-overlay.ts +1 -1
  186. package/src/renderer/session-picker-modal.ts +124 -3
  187. package/src/renderer/settings-modal-helpers.ts +2 -0
  188. package/src/renderer/settings-modal.ts +2 -2
  189. package/src/renderer/shell-surface.ts +2 -2
  190. package/src/renderer/system-message.ts +1 -1
  191. package/src/renderer/tab-strip.ts +1 -1
  192. package/src/renderer/theme-mode-config.ts +1 -1
  193. package/src/renderer/theme.ts +11 -12
  194. package/src/renderer/thinking.ts +1 -1
  195. package/src/renderer/tool-call.ts +2 -2
  196. package/src/renderer/tool-result-expanded-lines.ts +1 -1
  197. package/src/renderer/turn-injection.ts +7 -8
  198. package/src/renderer/ui-factory.ts +3 -3
  199. package/src/runtime/bootstrap-command-context.ts +4 -4
  200. package/src/runtime/bootstrap-command-parts.ts +5 -5
  201. package/src/runtime/bootstrap-core.ts +30 -30
  202. package/src/runtime/bootstrap-shell.ts +4 -4
  203. package/src/runtime/bootstrap.ts +128 -157
  204. package/src/runtime/client/approval-updates.ts +82 -0
  205. package/src/runtime/client/build-floors.ts +167 -0
  206. package/src/runtime/client/daemon-attach-handshake.ts +115 -0
  207. package/src/runtime/client/fleet-union.ts +147 -0
  208. package/src/runtime/client/host-service-status.ts +71 -0
  209. package/src/runtime/client/hosted-exit.ts +86 -0
  210. package/src/runtime/client/hosted-roster.ts +110 -0
  211. package/src/runtime/client/hosted-session-stream.ts +178 -0
  212. package/src/runtime/client/hosted-sessions.ts +187 -0
  213. package/src/runtime/client/operator-endpoint.ts +213 -0
  214. package/src/runtime/client/spine-adoption.ts +99 -0
  215. package/src/runtime/cloudflare-control-plane.ts +1 -1
  216. package/src/runtime/context-accounting-source.ts +1 -1
  217. package/src/runtime/context.ts +2 -2
  218. package/src/runtime/conversation-rewind-port.ts +42 -14
  219. package/src/runtime/daemon-attach-notices.ts +55 -19
  220. package/src/runtime/diagnostics/panels/ops.ts +1 -1
  221. package/src/runtime/disposal-wiring.ts +4 -24
  222. package/src/runtime/index.ts +119 -105
  223. package/src/runtime/install-self-check-startup.ts +2 -2
  224. package/src/runtime/interaction-seams.ts +1 -1
  225. package/src/runtime/knowledge-services.ts +8 -2
  226. package/src/runtime/legacy-daemon-migration.ts +15 -3
  227. package/src/runtime/legacy-daemon-reconcile.ts +3 -2
  228. package/src/runtime/memory-spine-transport.ts +37 -267
  229. package/src/runtime/notification-dispatch.ts +2 -2
  230. package/src/runtime/onboarding/apply.ts +2 -2
  231. package/src/runtime/onboarding/derivation.ts +2 -2
  232. package/src/runtime/onboarding/markers.ts +2 -2
  233. package/src/runtime/onboarding/progress.ts +2 -2
  234. package/src/runtime/onboarding/snapshot.ts +1 -1
  235. package/src/runtime/onboarding/state.ts +2 -2
  236. package/src/runtime/onboarding/types.ts +2 -2
  237. package/src/runtime/orchestrator-core-services.ts +1 -1
  238. package/src/runtime/path-shadow-startup.ts +28 -221
  239. package/src/runtime/power-keepawake-remote.ts +3 -2
  240. package/src/runtime/process-lifecycle.ts +2 -2
  241. package/src/runtime/provider-fallback.ts +10 -66
  242. package/src/runtime/recovery-autosave.ts +1 -1
  243. package/src/runtime/recovery-offer-wiring.ts +39 -23
  244. package/src/runtime/recovery-prompt.ts +31 -17
  245. package/src/runtime/relay-reachability-bridge.ts +53 -42
  246. package/src/runtime/release-artifacts.ts +2 -1
  247. package/src/runtime/runtime-services-types.ts +82 -35
  248. package/src/runtime/services.ts +305 -300
  249. package/src/runtime/session-resume-liveness-confirm.ts +1 -1
  250. package/src/runtime/ui-services.ts +7 -6
  251. package/src/runtime/update-check.ts +23 -43
  252. package/src/runtime/workspace-checkpointing.ts +1 -1
  253. package/src/runtime/wrfc-persistence.ts +2 -2
  254. package/src/shell/ui-openers.ts +30 -7
  255. package/src/utils/clipboard.ts +1 -1
  256. package/src/verification/verification-ledger.ts +10 -8
  257. package/src/version.ts +1 -1
  258. package/bin/goodvibes-daemon +0 -90
  259. package/src/cli/config-overrides.ts +0 -267
  260. package/src/cli/endpoints.ts +0 -109
  261. package/src/cli/parser.ts +0 -395
  262. package/src/cli/redaction.ts +0 -170
  263. package/src/cli/types.ts +0 -84
  264. package/src/cluster/commands.ts +0 -382
  265. package/src/cluster/remote-daemon-target.ts +0 -225
  266. package/src/cluster/render.ts +0 -268
  267. package/src/config/atomic-write.ts +0 -70
  268. package/src/config/credential-availability.ts +0 -122
  269. package/src/config/goodvibes-home.ts +0 -149
  270. package/src/config/index.ts +0 -88
  271. package/src/config/provider-model.ts +0 -23
  272. package/src/config/read-versioned.ts +0 -228
  273. package/src/core/alert-gating.ts +0 -67
  274. package/src/core/consolidation-receipt.ts +0 -41
  275. package/src/core/focus-tracker.ts +0 -41
  276. package/src/core/history.ts +0 -45
  277. package/src/core/memory-status.ts +0 -118
  278. package/src/core/orchestrator.ts +0 -7
  279. package/src/core/pairing-devices.ts +0 -49
  280. package/src/core/pairing-handoff.ts +0 -101
  281. package/src/core/pairing-offers.ts +0 -83
  282. package/src/core/pairing-origin.ts +0 -78
  283. package/src/core/rewind-turn-anchors.ts +0 -311
  284. package/src/core/session-recovery.ts +0 -210
  285. package/src/core/stable-host.ts +0 -171
  286. package/src/core/transcript-journal.ts +0 -503
  287. package/src/daemon/cli.ts +0 -641
  288. package/src/daemon/handlers/context.ts +0 -29
  289. package/src/daemon/handlers/contracts.ts +0 -77
  290. package/src/daemon/handlers/credentials.ts +0 -139
  291. package/src/daemon/handlers/drafts/draft-store.ts +0 -427
  292. package/src/daemon/handlers/drafts/index.ts +0 -17
  293. package/src/daemon/handlers/drafts/register.ts +0 -331
  294. package/src/daemon/handlers/errors.ts +0 -18
  295. package/src/daemon/handlers/inbox/cursor-store.ts +0 -457
  296. package/src/daemon/handlers/inbox/index.ts +0 -284
  297. package/src/daemon/handlers/inbox/mapping.ts +0 -192
  298. package/src/daemon/handlers/inbox/poller.ts +0 -212
  299. package/src/daemon/handlers/inbox/provider-adapter.ts +0 -156
  300. package/src/daemon/handlers/inbox/providers/discord.ts +0 -252
  301. package/src/daemon/handlers/inbox/providers/email.ts +0 -152
  302. package/src/daemon/handlers/inbox/providers/imap-client.ts +0 -300
  303. package/src/daemon/handlers/inbox/providers/route-util.ts +0 -24
  304. package/src/daemon/handlers/inbox/providers/slack.ts +0 -263
  305. package/src/daemon/handlers/index.ts +0 -117
  306. package/src/daemon/handlers/register.ts +0 -168
  307. package/src/daemon/handlers/remote/backends/cloud-terminal.ts +0 -142
  308. package/src/daemon/handlers/remote/backends/docker.ts +0 -79
  309. package/src/daemon/handlers/remote/backends/index.ts +0 -40
  310. package/src/daemon/handlers/remote/backends/local-process.ts +0 -113
  311. package/src/daemon/handlers/remote/backends/process-runner.ts +0 -127
  312. package/src/daemon/handlers/remote/backends/ssh.ts +0 -125
  313. package/src/daemon/handlers/remote/backends/types.ts +0 -97
  314. package/src/daemon/handlers/remote/dispatcher.ts +0 -181
  315. package/src/daemon/handlers/remote/index.ts +0 -119
  316. package/src/daemon/handlers/remote/peer-registry.ts +0 -357
  317. package/src/daemon/handlers/remote/service.ts +0 -191
  318. package/src/daemon/handlers/routing/inbox-bridge.ts +0 -71
  319. package/src/daemon/handlers/routing/index.ts +0 -261
  320. package/src/daemon/handlers/routing/route-store.ts +0 -319
  321. package/src/daemon/handlers/routing/routing-resolver.ts +0 -75
  322. package/src/daemon/handlers/sqlite-store.ts +0 -278
  323. package/src/daemon/handlers/triage/index.ts +0 -57
  324. package/src/daemon/handlers/triage/integration.ts +0 -213
  325. package/src/daemon/handlers/triage/pipeline.ts +0 -274
  326. package/src/daemon/handlers/triage/scorer.ts +0 -287
  327. package/src/daemon/handlers/triage/tagger/discord.ts +0 -187
  328. package/src/daemon/handlers/triage/tagger/imap.ts +0 -384
  329. package/src/daemon/handlers/triage/tagger/index.ts +0 -184
  330. package/src/daemon/handlers/triage/tagger/shared.ts +0 -70
  331. package/src/daemon/handlers/triage/tagger/slack.ts +0 -69
  332. package/src/daemon/handlers/triage/types.ts +0 -50
  333. package/src/daemon/lifecycle.ts +0 -41
  334. package/src/daemon/provision-wake-model.ts +0 -81
  335. package/src/daemon/safe-serve.ts +0 -61
  336. package/src/daemon/send/channels.ts +0 -200
  337. package/src/daemon/send/command.ts +0 -332
  338. package/src/daemon/send/composition.ts +0 -99
  339. package/src/daemon/send/failure-text.ts +0 -93
  340. package/src/daemon/send/inert-text.ts +0 -225
  341. package/src/daemon/send/stdin.ts +0 -24
  342. package/src/daemon/service-commands.ts +0 -329
  343. package/src/export/cost-utils.ts +0 -319
  344. package/src/input/selection.ts +0 -135
  345. package/src/plugins/loader.ts +0 -15
  346. package/src/renderer/bottom-bar.ts +0 -58
  347. package/src/renderer/conversation-tree.ts +0 -228
  348. package/src/runtime/agent-graph-composition.ts +0 -78
  349. package/src/runtime/channel-composition.ts +0 -46
  350. package/src/runtime/cluster-composition.ts +0 -124
  351. package/src/runtime/cluster-group-composition.ts +0 -284
  352. package/src/runtime/code-index-services.ts +0 -167
  353. package/src/runtime/daemon-handler-composition.ts +0 -76
  354. package/src/runtime/device-posture-composition.ts +0 -110
  355. package/src/runtime/durability-housekeeping.ts +0 -183
  356. package/src/runtime/durability-services.ts +0 -155
  357. package/src/runtime/embedded-service-factories.ts +0 -58
  358. package/src/runtime/feature-settings.ts +0 -154
  359. package/src/runtime/fleet-needs-input-push.ts +0 -70
  360. package/src/runtime/fleet-services.ts +0 -41
  361. package/src/runtime/idle-power-services.ts +0 -85
  362. package/src/runtime/mail-composition.ts +0 -65
  363. package/src/runtime/memory-fold.ts +0 -55
  364. package/src/runtime/operator-token-cleanup.ts +0 -109
  365. package/src/runtime/path-shadow.ts +0 -418
  366. package/src/runtime/perf/panel-health-monitor.ts +0 -18
  367. package/src/runtime/provider-optimizer-wiring.ts +0 -55
  368. package/src/runtime/reachability-notice.ts +0 -100
  369. package/src/runtime/remote-execution-composition.ts +0 -62
  370. package/src/runtime/session-liveness-marker.ts +0 -257
  371. package/src/runtime/session-pointer-surface.ts +0 -22
  372. package/src/runtime/session-storage-services.ts +0 -41
  373. package/src/runtime/surface-feature-flags.ts +0 -96
  374. package/src/runtime/terminal-output-guard.ts +0 -235
  375. package/src/runtime/trust/workspace-registration.ts +0 -192
  376. package/src/runtime/trust/workspace-trust.ts +0 -229
  377. package/src/runtime/ui/index.ts +0 -39
  378. package/src/runtime/ui/model-picker/data-provider.ts +0 -182
  379. package/src/runtime/ui/model-picker/health-enrichment.ts +0 -231
  380. package/src/runtime/ui/model-picker/index.ts +0 -59
  381. package/src/runtime/ui/model-picker/types.ts +0 -153
  382. package/src/runtime/ui/provider-health/data-provider.ts +0 -244
  383. package/src/runtime/ui/provider-health/fallback-visualizer.ts +0 -71
  384. package/src/runtime/ui/provider-health/index.ts +0 -46
  385. package/src/runtime/ui/provider-health/types.ts +0 -146
  386. package/src/runtime/ui-events.ts +0 -1
  387. package/src/runtime/ui-read-model-helpers.ts +0 -1
  388. package/src/runtime/ui-read-models-observability-maintenance.ts +0 -1
  389. package/src/runtime/ui-read-models-observability-options.ts +0 -1
  390. package/src/runtime/ui-read-models-observability-remote.ts +0 -1
  391. package/src/runtime/ui-read-models-observability-security.ts +0 -1
  392. package/src/runtime/ui-read-models-observability-system.ts +0 -1
  393. package/src/runtime/ui-read-models-observability.ts +0 -1
  394. package/src/runtime/ui-service-queries.ts +0 -1
  395. package/src/runtime/voice-setup-services.ts +0 -98
  396. package/src/runtime/workstream-attempts-validation.ts +0 -77
  397. package/src/runtime/workstream-draft-edits.ts +0 -95
  398. package/src/runtime/workstream-draft-store.ts +0 -274
  399. package/src/runtime/workstream-draft-types.ts +0 -42
  400. package/src/runtime/workstream-services.ts +0 -373
  401. package/src/tools/index.ts +0 -1
  402. package/src/types/grid.ts +0 -48
  403. package/src/types/sql-js.d.ts +0 -15
  404. 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: the thin wire adapter that lets the TUI's
5
- * bootstrap activate the SDK's
6
- * `@pellux/goodvibes-sdk/platform/runtime/memory-spine` `MemorySpineClient`
7
- * over the daemon's memory.records.* HTTP routes, mirroring
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
- * The SDK does not (yet) ship a typed operator client for these routes (unlike
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
- * FULL DETACH (SDK 1.2.0). Beyond the five 1.1.0 CORE routes (add, search,
16
- * get, review, delete) this now implements the full 1.2.0 EXTENDED catalog
17
- * (list, search-semantic, update, links.list, links.add, export, import,
18
- * vector, doctor, review-queue) — see
19
- * docs/decisions/2026-07-06-memory-wire-full-detach.md in the SDK repo. This
20
- * is what lets `/recall`'s browse/link/queue/export/import subcommands and
21
- * the per-turn knowledge-injection bulk read fully detach from the local
22
- * store file when a daemon is adopted: every one of those ops now has a wire
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
- * HONESTY. Unlike the session mirror (fire-and-forget, folded into a soft
27
- * 'offline' result), memory reads/writes return data the caller depends on —
28
- * a transport failure here is NOT swallowed. It propagates as a rejected
29
- * promise, matching `MemorySpineClient`'s documented contract: a wire client
30
- * must never silently fall back to a divergent local copy in place of a real
31
- * failure.
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
- * A 404 is disambiguated by its RESPONSE CODE (`classifyMemoryWireError`, from
34
- * the SDK's `platform/runtime/memory-spine` — this transport no longer inlines
35
- * its own copy of the discriminator), never by the bare status. A record-missing
36
- * 404 carries `MEMORY_RECORD_NOT_FOUND`: on a nullable verb
37
- * (`get`/`updateReview`/`update`/`link`) it maps to the documented `null` "not
38
- * found"; on a non-nullable verb (`linksFor` etc.) it is not representable as
39
- * null so it propagates as a thrown error. ANY OTHER 404 — a route-not-found
40
- * from an older daemon that never registered this route, or a bare legacy 404
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
- classifyMemoryWireError,
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 thin REST adapter over the
103
- * adopted daemon's full memory.records.* route catalog (five CORE routes plus
104
- * the ten 1.2.0 EXTENDED routes). `bootstrap.ts` activates a client built from
105
- * this the same way it adopts the session spine.
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
- const fetchImpl = options.fetchImpl ?? fetch;
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 '../config/index.ts';
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 '../core/memory-status.ts';
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 '../../config/atomic-write.ts';
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 '../../config/index.ts';
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 '../../config/index.ts';
2
- import { getProviderIdFromModel } from '../../config/provider-model.ts';
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 '@/config/atomic-write.ts';
3
- import { readVersioned } from '@/config/read-versioned.ts';
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 '@/config/atomic-write.ts';
3
- import { readVersioned } from '@/config/read-versioned.ts';
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 '../../config/provider-model.ts';
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 '@/config/atomic-write.ts';
4
- import { readVersioned } from '@/config/read-versioned.ts';
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 '../../config/index.ts';
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 '../ui-service-queries.ts';
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 './code-index-services.ts';
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<