@pellux/goodvibes-tui 0.18.11 → 0.18.12

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 (443) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -1
  3. package/docs/foundation-artifacts/operator-contract.json +1 -1
  4. package/package.json +2 -2
  5. package/src/core/conversation-rendering.ts +2 -2
  6. package/src/core/conversation.ts +5 -5
  7. package/src/core/orchestrator.ts +13 -11
  8. package/src/daemon/facade-composition.ts +8 -8
  9. package/src/daemon/facade.ts +8 -8
  10. package/src/daemon/types.ts +3 -3
  11. package/src/input/command-registry.ts +3 -3
  12. package/src/input/commands/session-content.ts +2 -2
  13. package/src/input/commands/session-workflow.ts +1 -1
  14. package/src/input/handler-feed.ts +1 -1
  15. package/src/input/session-picker-modal.ts +1 -1
  16. package/src/panels/builtin/agent.ts +1 -0
  17. package/src/panels/builtin/operations.ts +1 -0
  18. package/src/panels/builtin/session.ts +1 -1
  19. package/src/panels/builtin/shared.ts +2 -2
  20. package/src/panels/context-visualizer-panel.ts +4 -1
  21. package/src/panels/provider-health-domains.ts +5 -1
  22. package/src/panels/provider-health-panel.ts +5 -1
  23. package/src/panels/session-browser-panel.ts +1 -1
  24. package/src/panels/token-budget-panel.ts +6 -2
  25. package/src/plugins/loader.ts +2 -2
  26. package/src/runtime/bootstrap-command-context.ts +3 -3
  27. package/src/runtime/bootstrap-command-parts.ts +3 -3
  28. package/src/runtime/bootstrap-core.ts +2 -2
  29. package/src/runtime/bootstrap-hook-bridge.ts +1 -1
  30. package/src/runtime/bootstrap-shell.ts +1 -1
  31. package/src/runtime/bootstrap.ts +5 -4
  32. package/src/runtime/services.ts +2 -2
  33. package/src/runtime/ui-read-models-observability-security.ts +2 -2
  34. package/src/runtime/ui-read-models-observability-system.ts +1 -1
  35. package/src/runtime/ui-service-queries.ts +1 -1
  36. package/src/tools/index.ts +1 -1
  37. package/src/version.ts +1 -1
  38. package/src/acp/connection.ts +0 -447
  39. package/src/acp/index.ts +0 -7
  40. package/src/acp/manager.ts +0 -1
  41. package/src/adapters/bluebubbles/index.ts +0 -127
  42. package/src/adapters/discord/index.ts +0 -297
  43. package/src/adapters/github/index.ts +0 -73
  44. package/src/adapters/google-chat/index.ts +0 -119
  45. package/src/adapters/imessage/index.ts +0 -92
  46. package/src/adapters/index.ts +0 -15
  47. package/src/adapters/matrix/index.ts +0 -116
  48. package/src/adapters/mattermost/index.ts +0 -151
  49. package/src/adapters/msteams/index.ts +0 -180
  50. package/src/adapters/ntfy/index.ts +0 -118
  51. package/src/adapters/signal/index.ts +0 -92
  52. package/src/adapters/slack/index.ts +0 -323
  53. package/src/adapters/telegram/index.ts +0 -160
  54. package/src/adapters/types.ts +0 -97
  55. package/src/adapters/webhook/index.ts +0 -178
  56. package/src/adapters/whatsapp/index.ts +0 -135
  57. package/src/agents/message-bus-core.ts +0 -312
  58. package/src/agents/message-bus.ts +0 -2
  59. package/src/agents/orchestrator-prompts.ts +0 -351
  60. package/src/agents/orchestrator-runner.ts +0 -668
  61. package/src/agents/orchestrator.ts +0 -438
  62. package/src/agents/session.ts +0 -108
  63. package/src/agents/worktree.ts +0 -153
  64. package/src/agents/wrfc-config.ts +0 -47
  65. package/src/agents/wrfc-controller.ts +0 -747
  66. package/src/agents/wrfc-gate-runtime.ts +0 -75
  67. package/src/agents/wrfc-reporting.ts +0 -284
  68. package/src/agents/wrfc-runtime-events.ts +0 -150
  69. package/src/agents/wrfc-types.ts +0 -67
  70. package/src/automation/delivery-manager.ts +0 -368
  71. package/src/automation/index.ts +0 -72
  72. package/src/automation/manager-runtime-delivery.ts +0 -139
  73. package/src/automation/manager-runtime-events.ts +0 -131
  74. package/src/automation/manager-runtime-execution.ts +0 -511
  75. package/src/automation/manager-runtime-helpers.ts +0 -433
  76. package/src/automation/manager-runtime-job-mutations.ts +0 -175
  77. package/src/automation/manager-runtime-reconcile.ts +0 -148
  78. package/src/automation/manager-runtime-scheduling.ts +0 -189
  79. package/src/automation/manager-runtime-sync.ts +0 -54
  80. package/src/automation/manager-runtime.ts +0 -721
  81. package/src/automation/manager.ts +0 -10
  82. package/src/automation/service.ts +0 -242
  83. package/src/channels/builtin/account-actions.ts +0 -490
  84. package/src/channels/builtin/accounts.ts +0 -433
  85. package/src/channels/builtin/contracts.ts +0 -405
  86. package/src/channels/builtin/plugins.ts +0 -308
  87. package/src/channels/builtin/rendering.ts +0 -174
  88. package/src/channels/builtin/setup-schema.ts +0 -504
  89. package/src/channels/builtin/shared.ts +0 -96
  90. package/src/channels/builtin/surfaces.ts +0 -57
  91. package/src/channels/builtin/targets.ts +0 -693
  92. package/src/channels/builtin-runtime.ts +0 -443
  93. package/src/channels/delivery/shared.ts +0 -199
  94. package/src/channels/delivery/strategies-bridge.ts +0 -246
  95. package/src/channels/delivery/strategies-core.ts +0 -299
  96. package/src/channels/delivery/strategies-enterprise.ts +0 -178
  97. package/src/channels/delivery/types.ts +0 -59
  98. package/src/channels/delivery-router.ts +0 -127
  99. package/src/channels/index.ts +0 -77
  100. package/src/channels/plugin-registry.ts +0 -551
  101. package/src/channels/provider-runtime.ts +0 -330
  102. package/src/channels/reply-pipeline.ts +0 -522
  103. package/src/channels/route-manager.ts +0 -340
  104. package/src/channels/surface-registry.ts +0 -186
  105. package/src/config/helper-model.ts +0 -1
  106. package/src/config/manager.ts +0 -8
  107. package/src/config/subscription-auth.ts +0 -31
  108. package/src/config/tool-llm.ts +0 -110
  109. package/src/control-plane/approval-broker.ts +0 -351
  110. package/src/control-plane/gateway.ts +0 -1
  111. package/src/control-plane/index.ts +0 -54
  112. package/src/control-plane/media-contract-schemas.ts +0 -1
  113. package/src/control-plane/method-catalog-admin.ts +0 -1
  114. package/src/control-plane/method-catalog-channels.ts +0 -1
  115. package/src/control-plane/method-catalog-control-automation.ts +0 -1
  116. package/src/control-plane/method-catalog-control-core.ts +0 -1
  117. package/src/control-plane/method-catalog-control.ts +0 -1
  118. package/src/control-plane/method-catalog-events.ts +0 -1
  119. package/src/control-plane/method-catalog-knowledge.ts +0 -1
  120. package/src/control-plane/method-catalog-media.ts +0 -1
  121. package/src/control-plane/method-catalog-runtime.ts +0 -1
  122. package/src/control-plane/method-catalog-shared.ts +0 -1
  123. package/src/control-plane/method-catalog.ts +0 -1
  124. package/src/control-plane/operator-contract-schemas-admin.ts +0 -1
  125. package/src/control-plane/operator-contract-schemas-channels.ts +0 -1
  126. package/src/control-plane/operator-contract-schemas-control.ts +0 -1
  127. package/src/control-plane/operator-contract-schemas-domains.ts +0 -1
  128. package/src/control-plane/operator-contract-schemas-knowledge.ts +0 -1
  129. package/src/control-plane/operator-contract-schemas-media.ts +0 -1
  130. package/src/control-plane/operator-contract-schemas-permissions.ts +0 -1
  131. package/src/control-plane/operator-contract-schemas-remote.ts +0 -1
  132. package/src/control-plane/operator-contract-schemas-runtime.ts +0 -1
  133. package/src/control-plane/operator-contract-schemas-shared.ts +0 -1
  134. package/src/control-plane/operator-contract-schemas-telemetry.ts +0 -1
  135. package/src/control-plane/operator-contract-schemas.ts +0 -1
  136. package/src/control-plane/operator-contract.ts +0 -165
  137. package/src/control-plane/session-broker.ts +0 -780
  138. package/src/core/compaction-sections.ts +0 -492
  139. package/src/core/compaction-types.ts +0 -147
  140. package/src/core/context-compaction.ts +0 -542
  141. package/src/core/conversation-compaction.ts +0 -68
  142. package/src/core/conversation-diff.ts +0 -55
  143. package/src/core/conversation-utils.ts +0 -72
  144. package/src/core/event-replay.ts +0 -287
  145. package/src/core/orchestrator-context-runtime.ts +0 -407
  146. package/src/core/orchestrator-follow-up-runtime.ts +0 -134
  147. package/src/core/orchestrator-runtime.ts +0 -132
  148. package/src/core/orchestrator-tool-runtime.ts +0 -468
  149. package/src/core/orchestrator-turn-helpers.ts +0 -355
  150. package/src/core/orchestrator-turn-loop.ts +0 -443
  151. package/src/core/plan-command-handler.ts +0 -169
  152. package/src/core/transcript-events/classify.ts +0 -95
  153. package/src/core/transcript-events/index.ts +0 -15
  154. package/src/daemon/control-plane.ts +0 -522
  155. package/src/daemon/helpers.ts +0 -74
  156. package/src/daemon/http/router-route-contexts.ts +0 -370
  157. package/src/daemon/http/router.ts +0 -531
  158. package/src/daemon/http-listener.ts +0 -301
  159. package/src/daemon/index.ts +0 -1
  160. package/src/daemon/server.ts +0 -1
  161. package/src/daemon/service-manager.ts +0 -413
  162. package/src/daemon/surface-actions.ts +0 -183
  163. package/src/daemon/surface-delivery.ts +0 -530
  164. package/src/daemon/transport-events.ts +0 -110
  165. package/src/export/markdown.ts +0 -213
  166. package/src/export/session-export.ts +0 -1
  167. package/src/git/index.ts +0 -1
  168. package/src/git/service.ts +0 -414
  169. package/src/hooks/chain-engine.ts +0 -414
  170. package/src/hooks/dispatcher.ts +0 -414
  171. package/src/hooks/hook-api.ts +0 -170
  172. package/src/hooks/index.ts +0 -48
  173. package/src/hooks/runners/agent.ts +0 -93
  174. package/src/hooks/runners/prompt.ts +0 -69
  175. package/src/hooks/workbench.ts +0 -360
  176. package/src/integrations/index.ts +0 -42
  177. package/src/integrations/notifier.ts +0 -206
  178. package/src/integrations/webhooks.ts +0 -1
  179. package/src/knowledge/consolidation.ts +0 -346
  180. package/src/knowledge/graphql.ts +0 -324
  181. package/src/knowledge/index.ts +0 -60
  182. package/src/knowledge/ingest-compile.ts +0 -386
  183. package/src/knowledge/ingest-context.ts +0 -18
  184. package/src/knowledge/ingest-inputs.ts +0 -387
  185. package/src/knowledge/ingest.ts +0 -1
  186. package/src/knowledge/internal.ts +0 -257
  187. package/src/knowledge/knowledge-api.ts +0 -432
  188. package/src/knowledge/lint.ts +0 -121
  189. package/src/knowledge/memory-sync.ts +0 -62
  190. package/src/knowledge/packet.ts +0 -370
  191. package/src/knowledge/scheduling.ts +0 -283
  192. package/src/knowledge/service.ts +0 -715
  193. package/src/mcp/client.ts +0 -383
  194. package/src/mcp/index.ts +0 -12
  195. package/src/mcp/mcp-api.ts +0 -90
  196. package/src/mcp/registry.ts +0 -1
  197. package/src/media/builtin-image-understanding.ts +0 -303
  198. package/src/media/builtin-providers.ts +0 -26
  199. package/src/media/index.ts +0 -18
  200. package/src/multimodal/index.ts +0 -13
  201. package/src/multimodal/service.ts +0 -492
  202. package/src/permissions/briefs/build.ts +0 -88
  203. package/src/permissions/manager.ts +0 -1
  204. package/src/plugins/api.ts +0 -383
  205. package/src/plugins/manager.ts +0 -481
  206. package/src/profiles/shape.ts +0 -58
  207. package/src/providers/amazon-bedrock-mantle.ts +0 -50
  208. package/src/providers/amazon-bedrock.ts +0 -61
  209. package/src/providers/anthropic-compat.ts +0 -373
  210. package/src/providers/anthropic-sdk-provider.ts +0 -230
  211. package/src/providers/anthropic-vertex.ts +0 -59
  212. package/src/providers/anthropic.ts +0 -469
  213. package/src/providers/auto-register.ts +0 -417
  214. package/src/providers/builtin-catalog.ts +0 -326
  215. package/src/providers/builtin-registry.ts +0 -575
  216. package/src/providers/cache-planner.ts +0 -258
  217. package/src/providers/capabilities.ts +0 -1
  218. package/src/providers/custom-loader.ts +0 -425
  219. package/src/providers/discovered-compat.ts +0 -7
  220. package/src/providers/discovered-factory.ts +0 -61
  221. package/src/providers/discovered-traits.ts +0 -138
  222. package/src/providers/gemini.ts +0 -462
  223. package/src/providers/github-copilot.ts +0 -254
  224. package/src/providers/index.ts +0 -1
  225. package/src/providers/interface.ts +0 -185
  226. package/src/providers/llama-cpp.ts +0 -402
  227. package/src/providers/lm-studio-helpers.ts +0 -367
  228. package/src/providers/lm-studio.ts +0 -484
  229. package/src/providers/model-catalog-cache.ts +0 -221
  230. package/src/providers/model-catalog-notifications.ts +0 -97
  231. package/src/providers/model-catalog-synthetic.ts +0 -202
  232. package/src/providers/model-catalog.ts +0 -211
  233. package/src/providers/model-limits.ts +0 -1
  234. package/src/providers/ollama.ts +0 -469
  235. package/src/providers/openai-codex.ts +0 -472
  236. package/src/providers/openai-compat.ts +0 -615
  237. package/src/providers/openai.ts +0 -231
  238. package/src/providers/optimizer.ts +0 -1
  239. package/src/providers/provider-api.ts +0 -1
  240. package/src/providers/registry-helpers.ts +0 -34
  241. package/src/providers/registry-models.ts +0 -77
  242. package/src/providers/registry-types.ts +0 -67
  243. package/src/providers/registry.ts +0 -1
  244. package/src/providers/runtime-metadata.ts +0 -149
  245. package/src/providers/runtime-snapshot.ts +0 -130
  246. package/src/providers/synthetic.ts +0 -561
  247. package/src/providers/tier-prompts.ts +0 -84
  248. package/src/providers/tool-formats.ts +0 -414
  249. package/src/runtime/auth/inspection.ts +0 -125
  250. package/src/runtime/bootstrap-background.ts +0 -157
  251. package/src/runtime/bootstrap-helpers.ts +0 -88
  252. package/src/runtime/bootstrap-runtime-events.ts +0 -254
  253. package/src/runtime/bootstrap-services.ts +0 -197
  254. package/src/runtime/compaction/index.ts +0 -1
  255. package/src/runtime/compaction/lifecycle.ts +0 -1
  256. package/src/runtime/compaction/manager.ts +0 -474
  257. package/src/runtime/compaction/quality-score.ts +0 -1
  258. package/src/runtime/compaction/resume-repair.ts +0 -1
  259. package/src/runtime/compaction/strategies/autocompact.ts +0 -1
  260. package/src/runtime/compaction/strategies/boundary-commit.ts +0 -1
  261. package/src/runtime/compaction/strategies/collapse.ts +0 -1
  262. package/src/runtime/compaction/strategies/index.ts +0 -1
  263. package/src/runtime/compaction/strategies/microcompact.ts +0 -1
  264. package/src/runtime/compaction/strategies/reactive.ts +0 -1
  265. package/src/runtime/compaction/types.ts +0 -1
  266. package/src/runtime/ecosystem/recommendations.ts +0 -117
  267. package/src/runtime/emitters/agents.ts +0 -96
  268. package/src/runtime/emitters/automation.ts +0 -112
  269. package/src/runtime/emitters/communication.ts +0 -53
  270. package/src/runtime/emitters/compaction.ts +0 -161
  271. package/src/runtime/emitters/control-plane.ts +0 -65
  272. package/src/runtime/emitters/deliveries.ts +0 -65
  273. package/src/runtime/emitters/forensics.ts +0 -17
  274. package/src/runtime/emitters/index.ts +0 -59
  275. package/src/runtime/emitters/knowledge.ts +0 -129
  276. package/src/runtime/emitters/mcp.ts +0 -95
  277. package/src/runtime/emitters/ops.ts +0 -163
  278. package/src/runtime/emitters/orchestration.ts +0 -87
  279. package/src/runtime/emitters/permissions.ts +0 -98
  280. package/src/runtime/emitters/planner.ts +0 -23
  281. package/src/runtime/emitters/plugins.ts +0 -78
  282. package/src/runtime/emitters/providers.ts +0 -30
  283. package/src/runtime/emitters/routes.ts +0 -57
  284. package/src/runtime/emitters/security.ts +0 -53
  285. package/src/runtime/emitters/session.ts +0 -93
  286. package/src/runtime/emitters/surfaces.ts +0 -57
  287. package/src/runtime/emitters/tasks.ts +0 -69
  288. package/src/runtime/emitters/tools.ts +0 -140
  289. package/src/runtime/emitters/transport.ts +0 -78
  290. package/src/runtime/emitters/turn.ts +0 -155
  291. package/src/runtime/emitters/ui.ts +0 -57
  292. package/src/runtime/emitters/watchers.ts +0 -57
  293. package/src/runtime/emitters/workflows.ts +0 -79
  294. package/src/runtime/eval/index.ts +0 -48
  295. package/src/runtime/eval/runner.ts +0 -163
  296. package/src/runtime/eval/suites.ts +0 -264
  297. package/src/runtime/events/domain-map.ts +0 -148
  298. package/src/runtime/events/index.ts +0 -1
  299. package/src/runtime/events/turn.ts +0 -1
  300. package/src/runtime/events/workflows.ts +0 -1
  301. package/src/runtime/forensics/collector.ts +0 -693
  302. package/src/runtime/forensics/index.ts +0 -23
  303. package/src/runtime/foundation-clients.ts +0 -78
  304. package/src/runtime/foundation-services.ts +0 -96
  305. package/src/runtime/guidance.ts +0 -183
  306. package/src/runtime/health/effect-handlers.ts +0 -189
  307. package/src/runtime/health/index.ts +0 -70
  308. package/src/runtime/health/wiring.ts +0 -115
  309. package/src/runtime/integration/helpers.ts +0 -640
  310. package/src/runtime/lifecycle.ts +0 -107
  311. package/src/runtime/mcp/index.ts +0 -68
  312. package/src/runtime/mcp/manager.ts +0 -513
  313. package/src/runtime/network/inbound.ts +0 -131
  314. package/src/runtime/network/index.ts +0 -30
  315. package/src/runtime/network/outbound.ts +0 -292
  316. package/src/runtime/network/shared.ts +0 -82
  317. package/src/runtime/operator-client.ts +0 -235
  318. package/src/runtime/ops/control-plane.ts +0 -363
  319. package/src/runtime/ops/index.ts +0 -122
  320. package/src/runtime/ops/playbooks/index.ts +0 -10
  321. package/src/runtime/ops/playbooks/session-unrecoverable.ts +0 -196
  322. package/src/runtime/ops/playbooks/stuck-turn.ts +0 -197
  323. package/src/runtime/ops/runtime-context.ts +0 -100
  324. package/src/runtime/ops-api.ts +0 -27
  325. package/src/runtime/orchestration/spawn-policy.ts +0 -83
  326. package/src/runtime/peer-client.ts +0 -404
  327. package/src/runtime/perf/index.ts +0 -57
  328. package/src/runtime/perf/slo-collector.ts +0 -375
  329. package/src/runtime/permissions/index.ts +0 -190
  330. package/src/runtime/permissions/policy-runtime.ts +0 -1
  331. package/src/runtime/permissions/preflight.ts +0 -101
  332. package/src/runtime/permissions/rule-suggestions.ts +0 -36
  333. package/src/runtime/plugins/hot-reload.ts +0 -221
  334. package/src/runtime/plugins/index.ts +0 -84
  335. package/src/runtime/plugins/lifecycle.ts +0 -95
  336. package/src/runtime/plugins/manager.ts +0 -474
  337. package/src/runtime/plugins/manifest.ts +0 -167
  338. package/src/runtime/plugins/quarantine.ts +0 -202
  339. package/src/runtime/plugins/trust.ts +0 -291
  340. package/src/runtime/plugins/types.ts +0 -205
  341. package/src/runtime/provider-accounts/registry.ts +0 -326
  342. package/src/runtime/remote/distributed-runtime-contract-schemas.ts +0 -386
  343. package/src/runtime/remote/index.ts +0 -488
  344. package/src/runtime/remote/runner-registry.ts +0 -438
  345. package/src/runtime/remote/supervisor.ts +0 -70
  346. package/src/runtime/runtime-hook-api.ts +0 -5
  347. package/src/runtime/runtime-knowledge-api.ts +0 -14
  348. package/src/runtime/runtime-mcp-api.ts +0 -5
  349. package/src/runtime/runtime-ops-api.ts +0 -86
  350. package/src/runtime/runtime-provider-api.ts +0 -18
  351. package/src/runtime/session-maintenance.ts +0 -188
  352. package/src/runtime/session-persistence.ts +0 -288
  353. package/src/runtime/session-return-context.ts +0 -195
  354. package/src/runtime/settings/control-plane-store.ts +0 -258
  355. package/src/runtime/settings/control-plane.ts +0 -599
  356. package/src/runtime/shell-command-extensions.ts +0 -54
  357. package/src/runtime/shell-command-ops.ts +0 -207
  358. package/src/runtime/shell-command-platform.ts +0 -47
  359. package/src/runtime/shell-command-services.ts +0 -143
  360. package/src/runtime/shell-command-workspace.ts +0 -31
  361. package/src/runtime/tasks/adapters/acp-adapter.ts +0 -211
  362. package/src/runtime/tasks/adapters/agent-adapter.ts +0 -208
  363. package/src/runtime/tasks/adapters/index.ts +0 -16
  364. package/src/runtime/tasks/adapters/process-adapter.ts +0 -214
  365. package/src/runtime/tasks/adapters/scheduler-adapter.ts +0 -193
  366. package/src/runtime/tasks/index.ts +0 -68
  367. package/src/runtime/tasks/manager.ts +0 -415
  368. package/src/runtime/telemetry/api-helpers.ts +0 -517
  369. package/src/runtime/telemetry/api.ts +0 -768
  370. package/src/runtime/telemetry/index.ts +0 -178
  371. package/src/runtime/telemetry/instrumentation/domain-bridge-agent-session.ts +0 -440
  372. package/src/runtime/telemetry/instrumentation/domain-bridge-plugin-mcp.ts +0 -200
  373. package/src/runtime/telemetry/instrumentation/domain-bridge-shared.ts +0 -18
  374. package/src/runtime/telemetry/instrumentation/domain-bridge-transport-task.ts +0 -204
  375. package/src/runtime/telemetry/instrumentation/domain-bridge.ts +0 -125
  376. package/src/runtime/telemetry/instrumentation/index.ts +0 -67
  377. package/src/runtime/tools/context.ts +0 -114
  378. package/src/runtime/tools/index.ts +0 -46
  379. package/src/runtime/tools/phased-executor.ts +0 -448
  380. package/src/runtime/tools/phases/budget.ts +0 -130
  381. package/src/runtime/tools/phases/execute.ts +0 -69
  382. package/src/runtime/tools/phases/index.ts +0 -13
  383. package/src/runtime/tools/phases/map-output.ts +0 -98
  384. package/src/runtime/tools/phases/permission.ts +0 -133
  385. package/src/runtime/tools/phases/posthook.ts +0 -57
  386. package/src/runtime/tools/phases/prehook.ts +0 -68
  387. package/src/runtime/tools/phases/validate.ts +0 -53
  388. package/src/runtime/transports/direct.ts +0 -73
  389. package/src/runtime/transports/http-helpers.ts +0 -218
  390. package/src/runtime/transports/http-types.ts +0 -364
  391. package/src/runtime/transports/http.ts +0 -629
  392. package/src/runtime/transports/realtime.ts +0 -50
  393. package/src/runtime/transports/remote-events.ts +0 -16
  394. package/src/runtime/transports/shared.ts +0 -39
  395. package/src/runtime/transports/ui-runtime-events.ts +0 -35
  396. package/src/runtime/ui-events.ts +0 -46
  397. package/src/runtime/worktree/registry.ts +0 -252
  398. package/src/sessions/manager.ts +0 -14
  399. package/src/state/file-watcher.ts +0 -294
  400. package/src/state/index.ts +0 -56
  401. package/src/state/knowledge-injection.ts +0 -214
  402. package/src/state/memory-embedding-http.ts +0 -642
  403. package/src/state/memory-embeddings.ts +0 -312
  404. package/src/state/memory-ingest.ts +0 -132
  405. package/src/state/memory-registry.ts +0 -111
  406. package/src/state/memory-store-helpers.ts +0 -160
  407. package/src/state/memory-store.ts +0 -728
  408. package/src/state/memory-vector-store.ts +0 -418
  409. package/src/templates/manager.ts +0 -187
  410. package/src/tools/agent/index.ts +0 -610
  411. package/src/tools/agent/manager.ts +0 -476
  412. package/src/tools/analyze/git-modes.ts +0 -380
  413. package/src/tools/analyze/index.ts +0 -128
  414. package/src/tools/channel/agent-tools.ts +0 -16
  415. package/src/tools/channel/index.ts +0 -268
  416. package/src/tools/control/index.ts +0 -90
  417. package/src/tools/edit/core.ts +0 -619
  418. package/src/tools/edit/index.ts +0 -4
  419. package/src/tools/edit/phased.ts +0 -33
  420. package/src/tools/fetch/index.ts +0 -3
  421. package/src/tools/fetch/phased.ts +0 -34
  422. package/src/tools/fetch/runtime.ts +0 -499
  423. package/src/tools/mcp/index.ts +0 -190
  424. package/src/tools/remote-trigger/index.ts +0 -130
  425. package/src/tools/shared/auto-heal.ts +0 -282
  426. package/src/tools/state/index.ts +0 -688
  427. package/src/tools/web-search/index.ts +0 -38
  428. package/src/tools/write/index.ts +0 -604
  429. package/src/tools/write/phased.ts +0 -41
  430. package/src/types/generated/foundation-client-types.ts +0 -22
  431. package/src/watchers/index.ts +0 -11
  432. package/src/watchers/registry.ts +0 -517
  433. package/src/web-search/index.ts +0 -26
  434. package/src/web-search/provider-registry.ts +0 -64
  435. package/src/web-search/providers/brave.ts +0 -100
  436. package/src/web-search/providers/duckduckgo.ts +0 -270
  437. package/src/web-search/providers/exa.ts +0 -77
  438. package/src/web-search/providers/firecrawl.ts +0 -90
  439. package/src/web-search/providers/perplexity.ts +0 -86
  440. package/src/web-search/providers/searxng.ts +0 -88
  441. package/src/web-search/providers/shared.ts +0 -249
  442. package/src/web-search/providers/tavily.ts +0 -90
  443. package/src/web-search/service.ts +0 -142
package/CHANGELOG.md CHANGED
@@ -4,6 +4,28 @@ All notable changes to GoodVibes TUI.
4
4
 
5
5
  ---
6
6
 
7
+ ## [0.18.12] — 2026-04-15
8
+
9
+ ### SDK `0.18.28` Session-Persistence Boundary Fix
10
+
11
+ - Updated `goodvibes-tui` to consume the published canonical SDK line at `@pellux/goodvibes-sdk@0.18.28`
12
+ - Pulled in the SDK fix that threads `surfaceRoot` through the last-session pointer and crash-recovery helpers instead of silently falling back to the shared `.goodvibes/...` tree
13
+ - This closes the remaining TUI session-storage boundary leak that could still split a TUI-owned session across `.goodvibes/tui/...` and the unscoped shared root even after the broader SDK cutover
14
+
15
+ ### TUI Validation Tail Cleanup
16
+
17
+ - Moved the remaining session, template, picker, plugin, bootstrap-service, and related test temp roots onto the repo-local `.test-tmp/...` path instead of `os.tmpdir()`, removing the local quota failures that were still breaking the TUI validation pass
18
+ - Updated the shell-control cutover gate to assert against the current TUI production surfaces and the intentional removal of old local platform files instead of reading deleted pre-cutover paths
19
+ - Removed the stale typed-emission allowlist entry for `src/runtime/health/effect-handlers.ts` after that file was deleted during the SDK cutover, so the enforcement gate now reflects the live tree again
20
+
21
+ ### Verification
22
+
23
+ - Full typecheck passes: `bun x tsc --noEmit --pretty false`
24
+ - Full test runner passes: `bun run test` (`437` files passed / `0` failed)
25
+ - Architecture gate passes: `bun run architecture:check`
26
+ - Build passes: `bun run build`
27
+ - Targeted cutover regression band passes against the published SDK `0.18.28`
28
+
7
29
  ## [0.18.11] — 2026-04-15
8
30
 
9
31
  ### Version Boundary Cleanup
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![CI](https://github.com/mgd34msu/goodvibes-tui/actions/workflows/ci.yml/badge.svg)](https://github.com/mgd34msu/goodvibes-tui/actions/workflows/ci.yml)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
- [![Version](https://img.shields.io/badge/version-0.18.11-blue.svg)](https://github.com/mgd34msu/goodvibes-tui)
5
+ [![Version](https://img.shields.io/badge/version-0.18.12-blue.svg)](https://github.com/mgd34msu/goodvibes-tui)
6
6
 
7
7
  A terminal-native AI coding, operations, automation, knowledge, and integration console with a typed runtime, omnichannel surfaces, structured memory/knowledge, and a raw ANSI renderer.
8
8
 
@@ -3,7 +3,7 @@
3
3
  "product": {
4
4
  "id": "goodvibes",
5
5
  "surface": "operator",
6
- "version": "0.18.11"
6
+ "version": "0.18.28"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-tui",
3
- "version": "0.18.11",
3
+ "version": "0.18.12",
4
4
  "description": "Terminal-native GoodVibes product for coding, operations, automation, knowledge, channels, and daemon-backed control-plane workflows.",
5
5
  "type": "module",
6
6
  "main": "src/main.ts",
@@ -88,7 +88,7 @@
88
88
  "@anthropic-ai/vertex-sdk": "^0.16.0",
89
89
  "@ast-grep/napi": "^0.42.0",
90
90
  "@aws/bedrock-token-generator": "^1.1.0",
91
- "@pellux/goodvibes-sdk": "0.18.26",
91
+ "@pellux/goodvibes-sdk": "0.18.28",
92
92
  "bash-language-server": "^5.6.0",
93
93
  "fuse.js": "^7.1.0",
94
94
  "graphql": "^16.13.2",
@@ -11,8 +11,8 @@ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manage
11
11
  import { renderConversationCollapsedFragment, renderConversationEventLine } from '../renderer/conversation-surface.ts';
12
12
  import { GLYPHS } from '../renderer/ui-primitives.ts';
13
13
  import type { BlockMeta, ConversationMessageSnapshot } from './conversation';
14
- import { parseDiffForApply } from './conversation-diff';
15
- import { extractUserDisplayText } from './conversation-utils';
14
+ import { parseDiffForApply } from '@pellux/goodvibes-sdk/platform/core/conversation-diff';
15
+ import { extractUserDisplayText } from '@pellux/goodvibes-sdk/platform/core/conversation-utils';
16
16
 
17
17
  type Message = ConversationMessageSnapshot;
18
18
 
@@ -9,7 +9,7 @@ import type { SessionMemoryStore } from '@pellux/goodvibes-sdk/platform/core/ses
9
9
  import { SessionLineageTracker } from '@pellux/goodvibes-sdk/platform/core/session-lineage';
10
10
  import { buildTranscriptEventIndex } from '@pellux/goodvibes-sdk/platform/core/transcript-events/index';
11
11
  import type { TranscriptEventKind } from '@pellux/goodvibes-sdk/platform/core/transcript-events/index';
12
- import { compactConversation } from './conversation-compaction';
12
+ import { compactConversation } from '@pellux/goodvibes-sdk/platform/core/conversation-compaction';
13
13
  import {
14
14
  addConversationSplashScreen,
15
15
  appendConversationMessages,
@@ -27,8 +27,8 @@ import {
27
27
  deriveConversationTitle,
28
28
  messagesToInternal,
29
29
  restoreBranchMap,
30
- } from './conversation-utils';
31
- import { applyDiffContent, parseDiffForApply } from './conversation-diff';
30
+ } from '@pellux/goodvibes-sdk/platform/core/conversation-utils';
31
+ import { applyDiffContent, parseDiffForApply } from '@pellux/goodvibes-sdk/platform/core/conversation-diff';
32
32
 
33
33
  /**
34
34
  * ConversationManager - Owns conversation messages and the rendered history buffer.
@@ -662,7 +662,7 @@ export class ConversationManager {
662
662
  modelId: string,
663
663
  trigger: 'auto' | 'manual' = 'manual',
664
664
  provider?: string,
665
- context?: import('./context-compaction.ts').CompactionContext,
665
+ context?: import('@pellux/goodvibes-sdk/platform/core/context-compaction').CompactionContext,
666
666
  ): Promise<void> {
667
667
  return compactConversation(this, registry, modelId, trigger, provider, context);
668
668
  }
@@ -772,4 +772,4 @@ export class ConversationManager {
772
772
  this.dirty = true;
773
773
  }
774
774
  }
775
- export { parseDiffForApply, applyDiffContent } from './conversation-diff';
775
+ export { parseDiffForApply, applyDiffContent } from '@pellux/goodvibes-sdk/platform/core/conversation-diff';
@@ -20,7 +20,7 @@ import { EventReplayQueue } from '@pellux/goodvibes-sdk/platform/core/event-repl
20
20
  import {
21
21
  type ConversationFollowUpItem,
22
22
  } from '@pellux/goodvibes-sdk/platform/core/conversation-follow-ups';
23
- import { OrchestratorFollowUpRuntime } from './orchestrator-follow-up-runtime';
23
+ import { OrchestratorFollowUpRuntime } from '@pellux/goodvibes-sdk/platform/core/orchestrator-follow-up-runtime';
24
24
  import type { SystemMessageRouter } from './system-message-router.ts';
25
25
  import { AgentManager } from '@pellux/goodvibes-sdk/platform/tools/agent/index';
26
26
  import { WrfcController } from '@pellux/goodvibes-sdk/platform/agents/wrfc-controller';
@@ -42,12 +42,12 @@ import {
42
42
  autoSpawnPendingItems,
43
43
  executeToolCalls,
44
44
  reconcileUnresolvedToolCalls,
45
- } from './orchestrator-tool-runtime';
45
+ } from '@pellux/goodvibes-sdk/platform/core/orchestrator-tool-runtime';
46
46
  import {
47
47
  checkContextWindowPreflight,
48
48
  emitContextOverflowError,
49
49
  handlePostTurnContextMaintenance,
50
- } from './orchestrator-context-runtime';
50
+ } from '@pellux/goodvibes-sdk/platform/core/orchestrator-context-runtime';
51
51
  import {
52
52
  createEmitterContext,
53
53
  estimateFreshTurnInputTokens,
@@ -58,13 +58,14 @@ import {
58
58
  requireConfigManager,
59
59
  requireProviderRegistry,
60
60
  type OrchestratorCoreServices,
61
- } from './orchestrator-runtime';
61
+ } from '@pellux/goodvibes-sdk/platform/core/orchestrator-runtime';
62
62
  import {
63
63
  type ChatResponseWithReasoning,
64
64
  maybeEmitAdaptivePlannerDecision,
65
65
  prepareConversationForTurn,
66
- } from './orchestrator-turn-helpers';
67
- import { executeOrchestratorTurnLoop } from './orchestrator-turn-loop';
66
+ } from '@pellux/goodvibes-sdk/platform/core/orchestrator-turn-helpers';
67
+ import { executeOrchestratorTurnLoop } from '@pellux/goodvibes-sdk/platform/core/orchestrator-turn-loop';
68
+ import type { ConversationManager as SdkConversationManager } from '@pellux/goodvibes-sdk/platform/core/conversation';
68
69
 
69
70
  /** Minimal interface for hook dispatch — allows any compatible implementation */
70
71
  interface HookDispatcherLike {
@@ -180,6 +181,7 @@ export class Orchestrator {
180
181
  readonly wrfcController: Pick<WrfcController, 'listChains'>;
181
182
  },
182
183
  ) {
184
+ const sdkConversation = this.conversation as unknown as SdkConversationManager;
183
185
  this.replayQueue = new EventReplayQueue();
184
186
  this.detachReplay = runtimeBus
185
187
  ? EventReplayQueue.attachToRuntimeBus(runtimeBus, this.replayQueue)
@@ -190,7 +192,7 @@ export class Orchestrator {
190
192
  this.agentManager = services.agentManager;
191
193
  this.wrfcController = services.wrfcController;
192
194
  this.followUpRuntime = new OrchestratorFollowUpRuntime({
193
- conversation: this.conversation,
195
+ conversation: sdkConversation,
194
196
  getViewportHeight: () => this.getViewportHeight(),
195
197
  scrollToEnd: (height) => this.scrollToEnd(height),
196
198
  getSystemPrompt: () => this.getSystemPrompt(),
@@ -449,7 +451,7 @@ export class Orchestrator {
449
451
  // Pre-turn plan injection: if an active plan exists, inject its current state into
450
452
  // the conversation so the LLM can refer to it and update item statuses.
451
453
  const preTurnPlan = prepareConversationForTurn(
452
- this.conversation,
454
+ this.conversation as unknown as SdkConversationManager,
453
455
  providerRegistry,
454
456
  text,
455
457
  content,
@@ -465,7 +467,7 @@ export class Orchestrator {
465
467
 
466
468
  try {
467
469
  await executeOrchestratorTurnLoop({
468
- conversation: this.conversation,
470
+ conversation: this.conversation as unknown as SdkConversationManager,
469
471
  toolRegistry: this.toolRegistry,
470
472
  getSystemPrompt: this.getSystemPrompt,
471
473
  getAbortSignal: () => this.abortController?.signal,
@@ -504,7 +506,7 @@ export class Orchestrator {
504
506
  });
505
507
 
506
508
  await handlePostTurnContextMaintenance({
507
- conversation: this.conversation,
509
+ conversation: this.conversation as unknown as SdkConversationManager,
508
510
  agentManager: this.agentManager,
509
511
  wrfcController: this.wrfcController,
510
512
  planManager: this.coreServices.planManager ?? null,
@@ -639,7 +641,7 @@ export class Orchestrator {
639
641
  const configManager = requireConfigManager(this.coreServices);
640
642
  const providerRegistry = requireProviderRegistry(this.coreServices);
641
643
  return checkContextWindowPreflight({
642
- conversation: this.conversation,
644
+ conversation: this.conversation as unknown as SdkConversationManager,
643
645
  requestRender: this.requestRender,
644
646
  hookDispatcher: this.hookDispatcher,
645
647
  configManager,
@@ -25,10 +25,10 @@ import { type DistributedPeerAuth } from '@pellux/goodvibes-sdk/platform/runtime
25
25
  import { KnowledgeGraphqlService, KnowledgeService } from '@pellux/goodvibes-sdk/platform/knowledge/index';
26
26
  import type { IntegrationHelperService } from '@pellux/goodvibes-sdk/platform/runtime/integration/helpers';
27
27
  import { DaemonControlPlaneHelper } from '@pellux/goodvibes-sdk/platform/daemon/control-plane';
28
- import { DaemonSurfaceDeliveryHelper } from './surface-delivery.ts';
29
- import { DaemonSurfaceActionHelper } from './surface-actions.ts';
28
+ import { DaemonSurfaceDeliveryHelper } from '@pellux/goodvibes-sdk/platform/daemon/surface-delivery';
29
+ import { DaemonSurfaceActionHelper } from '@pellux/goodvibes-sdk/platform/daemon/surface-actions';
30
30
  import { DaemonTransportEventsHelper } from '@pellux/goodvibes-sdk/platform/daemon/transport-events';
31
- import { DaemonHttpRouter } from './http/router.ts';
31
+ import { DaemonHttpRouter } from '@pellux/goodvibes-sdk/platform/daemon/http/router';
32
32
  import { createRuntimeServices, type RuntimeServices } from '../runtime/services.ts';
33
33
  import type { DaemonConfig, PendingSurfaceReply } from './types.ts';
34
34
  import type { ResolvedInboundTlsContext } from '@pellux/goodvibes-sdk/platform/runtime/network/index';
@@ -104,7 +104,7 @@ export function resolveDaemonFacadeRuntime(
104
104
  enabled: false,
105
105
  host: config.host ?? String(resolvedConfigManager.get('controlPlane.host') ?? '127.0.0.1'),
106
106
  port: config.port ?? Number(resolvedConfigManager.get('controlPlane.port') ?? 3421),
107
- streamingMode: (resolvedConfigManager.get('controlPlane.streamMode') as import('../control-plane/index.ts').ControlPlaneStreamingMode | undefined) ?? 'sse',
107
+ streamingMode: (resolvedConfigManager.get('controlPlane.streamMode') as import('@pellux/goodvibes-sdk/platform/control-plane/index').ControlPlaneStreamingMode | undefined) ?? 'sse',
108
108
  },
109
109
  });
110
110
 
@@ -189,7 +189,7 @@ export interface CreateDaemonFacadeCollaboratorsOptions {
189
189
  readonly dispatchApiRoutes: (req: Request) => Promise<Response | null>;
190
190
  readonly parseJsonBody: (req: Request) => Promise<JsonBody | Response>;
191
191
  readonly requireAuthenticatedSession: (req: Request) => { username: string; roles: readonly string[] } | null;
192
- readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('../tools/agent/index.ts').AgentRecord | Response;
192
+ readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord | Response;
193
193
  readonly checkAuth: (req: Request) => boolean;
194
194
  readonly extractAuthToken: (req: Request) => string;
195
195
  readonly requireAdmin: (req: Request) => Response | null;
@@ -213,8 +213,8 @@ export interface CreateDaemonFacadeCollaboratorsOptions {
213
213
  readonly clientKind?: string;
214
214
  };
215
215
  }) => Promise<{ status: number; ok: boolean; body: unknown }>;
216
- readonly syncSpawnedAgentTask: (record: import('../tools/agent/index.ts').AgentRecord, sessionId?: string) => void;
217
- readonly syncFinishedAgentTask: (record: import('../tools/agent/index.ts').AgentRecord) => void;
216
+ readonly syncSpawnedAgentTask: (record: import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord, sessionId?: string) => void;
217
+ readonly syncFinishedAgentTask: (record: import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord) => void;
218
218
  readonly surfaceDeliveryEnabled: (surface: 'slack' | 'discord' | 'ntfy' | 'webhook' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix') => boolean;
219
219
  readonly signWebhookPayload: (body: string, secret: string) => string;
220
220
  readonly handleApprovalAction: (approvalId: string, action: 'claim' | 'approve' | 'deny' | 'cancel', req: Request) => Promise<Response>;
@@ -369,7 +369,7 @@ export function createDaemonFacadeCollaborators(
369
369
 
370
370
  export function configureDaemonSessionContinuation(options: {
371
371
  readonly sessionBroker: SharedSessionBroker;
372
- readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('../tools/agent/index.ts').AgentRecord | Response;
372
+ readonly trySpawnAgent: (input: Parameters<AgentManager['spawn']>[0], logLabel?: string, sessionId?: string) => import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord | Response;
373
373
  readonly queueSurfaceReplyFromBinding: (binding: import('@pellux/goodvibes-sdk/platform/automation/routes').AutomationRouteBinding | undefined, input: {
374
374
  readonly agentId: string;
375
375
  readonly task: string;
@@ -29,10 +29,10 @@ import { type DistributedPeerAuth } from '@pellux/goodvibes-sdk/platform/runtime
29
29
  import type { KnowledgeGraphqlService, KnowledgeService } from '@pellux/goodvibes-sdk/platform/knowledge/index';
30
30
  import type { IntegrationHelperService } from '@pellux/goodvibes-sdk/platform/runtime/integration/helpers';
31
31
  import type { DaemonControlPlaneHelper, ControlPlaneWebSocketData } from '@pellux/goodvibes-sdk/platform/daemon/control-plane';
32
- import type { DaemonSurfaceDeliveryHelper } from './surface-delivery.ts';
33
- import type { DaemonSurfaceActionHelper } from './surface-actions.ts';
32
+ import type { DaemonSurfaceDeliveryHelper } from '@pellux/goodvibes-sdk/platform/daemon/surface-delivery';
33
+ import type { DaemonSurfaceActionHelper } from '@pellux/goodvibes-sdk/platform/daemon/surface-actions';
34
34
  import type { DaemonTransportEventsHelper } from '@pellux/goodvibes-sdk/platform/daemon/transport-events';
35
- import type { DaemonHttpRouter } from './http/router.ts';
35
+ import type { DaemonHttpRouter } from '@pellux/goodvibes-sdk/platform/daemon/http/router';
36
36
  import { isSurfaceDeliveryEnabled } from './surface-policy.ts';
37
37
  import {
38
38
  configureDaemonSessionContinuation,
@@ -205,7 +205,7 @@ export class DaemonServer {
205
205
  });
206
206
  }
207
207
 
208
- listRecentControlPlaneEvents(limit = 100): readonly import('../control-plane/gateway.ts').ControlPlaneRecentEvent[] {
208
+ listRecentControlPlaneEvents(limit = 100): readonly import('@pellux/goodvibes-sdk/platform/control-plane/gateway').ControlPlaneRecentEvent[] {
209
209
  return this.controlPlaneGateway.listRecentEvents(limit);
210
210
  }
211
211
 
@@ -429,7 +429,7 @@ export class DaemonServer {
429
429
  }
430
430
 
431
431
  private validateGatewayInvocation(
432
- descriptor: import('../control-plane/index.ts').GatewayMethodDescriptor,
432
+ descriptor: import('@pellux/goodvibes-sdk/platform/control-plane/index').GatewayMethodDescriptor,
433
433
  context?: {
434
434
  readonly principalKind?: 'user' | 'bot' | 'service' | 'token' | 'remote-peer';
435
435
  readonly scopes?: readonly string[];
@@ -447,7 +447,7 @@ export class DaemonServer {
447
447
  }
448
448
 
449
449
  private handleControlPlaneWebSocketOpen(ws: {
450
- data: import('./control-plane.ts').ControlPlaneWebSocketData;
450
+ data: import('@pellux/goodvibes-sdk/platform/daemon/control-plane').ControlPlaneWebSocketData;
451
451
  send(message: string): void;
452
452
  }): void {
453
453
  this.controlPlaneHelper.handleControlPlaneWebSocketOpen(ws);
@@ -455,7 +455,7 @@ export class DaemonServer {
455
455
 
456
456
  private async handleControlPlaneWebSocketMessage(
457
457
  ws: {
458
- data: import('./control-plane.ts').ControlPlaneWebSocketData;
458
+ data: import('@pellux/goodvibes-sdk/platform/daemon/control-plane').ControlPlaneWebSocketData;
459
459
  send(message: string): void;
460
460
  },
461
461
  message: string | Buffer | ArrayBuffer | Uint8Array,
@@ -464,7 +464,7 @@ export class DaemonServer {
464
464
  }
465
465
 
466
466
  private handleControlPlaneWebSocketClose(ws: {
467
- data: import('./control-plane.ts').ControlPlaneWebSocketData;
467
+ data: import('@pellux/goodvibes-sdk/platform/daemon/control-plane').ControlPlaneWebSocketData;
468
468
  }): void {
469
469
  this.controlPlaneHelper.handleControlPlaneWebSocketClose(ws);
470
470
  }
@@ -161,9 +161,9 @@ export interface DaemonRouteContext {
161
161
  readonly parseSurfaceControlCommand: (text: string) => { readonly action: 'status' | 'cancel' | 'retry'; readonly id: string } | null;
162
162
  readonly performSurfaceControlCommand: (command: { readonly action: 'status' | 'cancel' | 'retry'; readonly id: string }) => Promise<string>;
163
163
  readonly performInteractiveSurfaceAction: (actionId: string, surface: 'slack' | 'discord', req: Request) => Promise<string>;
164
- readonly trySpawnAgent: (input: { mode: 'spawn'; task: string; model?: string; tools?: readonly string[]; provider?: string; context?: string }, logLabel: string, sessionId?: string) => import('../tools/agent/index.ts').AgentRecord | Response;
165
- readonly syncSpawnedAgentTask: (record: import('../tools/agent/index.ts').AgentRecord, sessionId?: string) => void;
166
- readonly syncFinishedAgentTask: (record: import('../tools/agent/index.ts').AgentRecord) => void;
164
+ readonly trySpawnAgent: (input: { mode: 'spawn'; task: string; model?: string; tools?: readonly string[]; provider?: string; context?: string }, logLabel: string, sessionId?: string) => import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord | Response;
165
+ readonly syncSpawnedAgentTask: (record: import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord, sessionId?: string) => void;
166
+ readonly syncFinishedAgentTask: (record: import('@pellux/goodvibes-sdk/platform/tools/agent/index').AgentRecord) => void;
167
167
  readonly findSchedule: (id: string) => AutomationJob | undefined;
168
168
  readonly surfaceDeliveryEnabled: (surface: 'slack' | 'discord' | 'ntfy' | 'webhook' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix') => boolean;
169
169
  readonly pollPendingSurfaceReplies: () => Promise<void>;
@@ -55,7 +55,7 @@ export interface CommandUiActions {
55
55
  renderRequest: () => void;
56
56
  print: (text: string) => void;
57
57
  exit: () => void;
58
- submitInput?: (text: string, content?: import('../providers/interface.ts').ContentPart[]) => void;
58
+ submitInput?: (text: string, content?: import('@pellux/goodvibes-sdk/platform/providers/interface').ContentPart[]) => void;
59
59
  executeCommand?: (name: string, args: string[]) => Promise<boolean>;
60
60
  cancelGeneration?: () => void;
61
61
  completeModelSelection?: (selection: {
@@ -109,7 +109,7 @@ export interface CommandShellUiOpeners {
109
109
  export interface CommandSessionServices {
110
110
  readonly conversationManager: ConversationManager;
111
111
  readonly runtime: CommandRuntimeState;
112
- readonly sessionManager?: import('../sessions/manager.ts').SessionManager;
112
+ readonly sessionManager?: import('@pellux/goodvibes-sdk/platform/sessions/manager').SessionManager;
113
113
  readonly sessionMemoryStore?: import('@pellux/goodvibes-sdk/platform/core/session-memory').SessionMemoryStore;
114
114
  readonly sessionLineageTracker?: import('@pellux/goodvibes-sdk/platform/core/session-lineage').SessionLineageTracker;
115
115
  readonly changeTracker?: import('@pellux/goodvibes-sdk/platform/sessions/change-tracker').SessionChangeTracker;
@@ -117,7 +117,7 @@ export interface CommandSessionServices {
117
117
 
118
118
  export interface CommandProviderServices {
119
119
  readonly providerRegistry: ProviderRegistry;
120
- readonly providerOptimizer?: import('../providers/optimizer.ts').ProviderOptimizer;
120
+ readonly providerOptimizer?: import('@pellux/goodvibes-sdk/platform/providers/optimizer').ProviderOptimizer;
121
121
  readonly favoritesStore?: import('@pellux/goodvibes-sdk/platform/providers/favorites').FavoritesStore;
122
122
  readonly benchmarkStore?: import('@pellux/goodvibes-sdk/platform/providers/model-benchmarks').BenchmarkStore;
123
123
  }
@@ -4,7 +4,7 @@ import { writeFile } from 'node:fs/promises';
4
4
  import type { CommandRegistry } from '../command-registry.ts';
5
5
  import type { SelectionItem } from '../selection-modal.ts';
6
6
  import { exportToMarkdown } from '@pellux/goodvibes-sdk/platform/export/markdown';
7
- import { TemplateManager, parseTemplateArgs } from '../../templates/manager.ts';
7
+ import { TemplateManager, parseTemplateArgs } from '@pellux/goodvibes-sdk/platform/templates/manager';
8
8
  import { requireSessionManager, requireSessionMemoryStore, requireShellPaths } from './runtime-services.ts';
9
9
  import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
10
10
 
@@ -43,7 +43,7 @@ export function registerSessionContentCommands(registry: CommandRegistry): void
43
43
  const exportMsgs = msgs.map(m => ({
44
44
  role: String(m.role ?? 'user') as 'user' | 'assistant' | 'system' | 'tool',
45
45
  content: Array.isArray(m.content)
46
- ? m.content as import('../../providers/interface.ts').ContentPart[]
46
+ ? m.content as import('@pellux/goodvibes-sdk/platform/providers/interface').ContentPart[]
47
47
  : String(m.content ?? ''),
48
48
  toolCalls: m.toolCalls as import('@pellux/goodvibes-sdk/platform/types/tools').ToolCall[] | undefined,
49
49
  callId: m.callId as string | undefined,
@@ -1,7 +1,7 @@
1
1
  import { randomBytes } from 'node:crypto';
2
2
 
3
3
  import type { CommandContext, CommandRegistry } from '../command-registry.ts';
4
- import { type SessionMeta } from '../../sessions/manager.ts';
4
+ import { type SessionMeta } from '@pellux/goodvibes-sdk/platform/sessions/manager';
5
5
  import type { TranscriptEventKind } from '@pellux/goodvibes-sdk/platform/core/transcript-events/index';
6
6
  import type { ConversationTitleSource } from '../../core/conversation';
7
7
  import type { SessionReturnContextSummary } from '@pellux/goodvibes-sdk/platform/runtime/session-return-context';
@@ -109,7 +109,7 @@ export interface InputFeedContext {
109
109
  readonly handleBlockToggle: () => void;
110
110
  readonly findMarkerAtPos: (pos: number) => { start: number; end: number } | null;
111
111
  readonly cleanupMarkerRegistry: (text: string) => void;
112
- readonly expandPrompt: (text: string) => string | import('../providers/interface.ts').ContentPart[];
112
+ readonly expandPrompt: (text: string) => string | import('@pellux/goodvibes-sdk/platform/providers/interface').ContentPart[];
113
113
  readonly exitApp: () => void;
114
114
  }
115
115
 
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { unlinkSync } from 'node:fs';
9
- import type { SessionInfo, SessionManager } from '../sessions/manager.ts';
9
+ import type { SessionInfo, SessionManager } from '@pellux/goodvibes-sdk/platform/sessions/manager';
10
10
  import type { ConversationManager } from '../core/conversation';
11
11
  import { summarizeError } from '@pellux/goodvibes-sdk/platform/utils/error-display';
12
12
 
@@ -42,6 +42,7 @@ export function registerAgentPanels(manager: PanelManager, deps: ResolvedBuiltin
42
42
  factory: () => new ContextVisualizerPanel(
43
43
  requireUiServices(deps).events.turns,
44
44
  deps.sessionMemoryStore,
45
+ deps.configManager,
45
46
  deps.getOrchestratorUsage,
46
47
  deps.contextWindow,
47
48
  requireUiServices(deps).readModels.session,
@@ -315,6 +315,7 @@ export function registerOperationsPanels(manager: PanelManager, deps: ResolvedBu
315
315
  factory: () => new ProviderHealthPanel(
316
316
  providerRuntime,
317
317
  {
318
+ configManager: deps.configManager,
318
319
  turnEvents: ui.events.turns,
319
320
  providerEvents: ui.events.providers,
320
321
  providers: ui.readModels.providers,
@@ -51,7 +51,7 @@ export function registerSessionPanels(manager: PanelManager, deps: ResolvedBuilt
51
51
  category: 'monitoring',
52
52
  description: 'Token budget tracker: per-turn and cumulative usage with context window gauge',
53
53
  factory: () => {
54
- const panel = new TokenBudgetPanel(deps.sessionMemoryStore);
54
+ const panel = new TokenBudgetPanel(deps.sessionMemoryStore, deps.configManager);
55
55
  if (deps.orchestrator && deps.getCtxWindow) {
56
56
  panel.wire(deps.orchestrator, deps.getCtxWindow, requireUiServices(deps).readModels.session);
57
57
  }
@@ -14,7 +14,7 @@ import type { HookDispatcher } from '@pellux/goodvibes-sdk/platform/hooks/dispat
14
14
  import type { HookActivityTracker } from '@pellux/goodvibes-sdk/platform/hooks/activity';
15
15
  import type { McpRegistry } from '@pellux/goodvibes-sdk/platform/mcp/registry';
16
16
  import type { PolicyRuntimeState } from '@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime';
17
- import type { SessionManager } from '../../sessions/manager.ts';
17
+ import type { SessionManager } from '@pellux/goodvibes-sdk/platform/sessions/manager';
18
18
  import type { SubscriptionManager } from '@pellux/goodvibes-sdk/platform/config/subscriptions';
19
19
  import type { UserAuthManager } from '@pellux/goodvibes-sdk/platform/security/user-auth';
20
20
  import type { SessionMemoryStore } from '@pellux/goodvibes-sdk/platform/core/session-memory';
@@ -61,7 +61,7 @@ export interface BuiltinPanelDeps {
61
61
  /** MemoryRegistry for the Memory panel. */
62
62
  memoryRegistry?: MemoryRegistry;
63
63
  /** Shared policy runtime state for governance/policy diagnostics. */
64
- policyRuntimeState?: import('../../runtime/permissions/policy-runtime.ts').PolicyRuntimeState;
64
+ policyRuntimeState?: import('@pellux/goodvibes-sdk/platform/runtime/permissions/policy-runtime').PolicyRuntimeState;
65
65
  /** Approval broker for control-plane/operator panels. */
66
66
  approvalBroker?: ApprovalBroker;
67
67
  /** Shared session broker for control-plane/operator panels. */
@@ -2,9 +2,10 @@
2
2
  // ContextVisualizerPanel — stacked bar showing context window composition.
3
3
  // ---------------------------------------------------------------------------
4
4
 
5
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
5
6
  import type { Line } from '@pellux/goodvibes-sdk/platform/types/grid';
6
7
  import { BasePanel } from './base-panel.ts';
7
- import { evaluateSessionMaintenance } from './session-maintenance.ts';
8
+ import { evaluateSessionMaintenance } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
8
9
  import type { TurnEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
9
10
  import type { UiEventFeed } from '@pellux/goodvibes-sdk/platform/runtime/ui-events';
10
11
  import type { UiReadModel, UiSessionSnapshot } from '../runtime/ui-read-models.ts';
@@ -46,6 +47,7 @@ export class ContextVisualizerPanel extends BasePanel {
46
47
  constructor(
47
48
  private readonly turnEvents: UiEventFeed<TurnEvent>,
48
49
  sessionMemoryStore: SessionMemoryQuery,
50
+ private readonly configManager: Pick<ConfigManager, 'get'>,
49
51
  private getUsage?: () => { input: number; output: number; cacheRead: number; cacheWrite: number; model?: string },
50
52
  private contextLimit?: number,
51
53
  private sessionReadModel?: UiReadModel<UiSessionSnapshot>,
@@ -165,6 +167,7 @@ export class ContextVisualizerPanel extends BasePanel {
165
167
 
166
168
  private _renderMaintenance(width: number): Line[] {
167
169
  const status = evaluateSessionMaintenance({
170
+ configManager: this.configManager,
168
171
  currentTokens: this.snapshot.input,
169
172
  contextWindow: this.snapshot.limit,
170
173
  sessionMemoryCount: this.sessionMemoryStore.list().length,
@@ -1,4 +1,5 @@
1
- import { evaluateSessionMaintenance } from './session-maintenance.ts';
1
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
2
+ import { evaluateSessionMaintenance } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
2
3
  import type {
3
4
  UiContinuitySnapshot,
4
5
  UiIntelligenceSnapshot,
@@ -20,6 +21,7 @@ export interface HealthDomainSummary {
20
21
  }
21
22
 
22
23
  export interface ProviderHealthDomainInputs {
24
+ readonly configManager: Pick<ConfigManager, 'get'>;
23
25
  readonly auth: UiLocalAuthSnapshot;
24
26
  readonly settings: UiSettingsSnapshot;
25
27
  readonly remote: UiRemoteSnapshot;
@@ -35,6 +37,7 @@ export function buildProviderHealthDomainSummaries(
35
37
  ): HealthDomainSummary[] {
36
38
  const summaries: HealthDomainSummary[] = [];
37
39
  const {
40
+ configManager,
38
41
  auth,
39
42
  settings,
40
43
  remote,
@@ -153,6 +156,7 @@ export function buildProviderHealthDomainSummaries(
153
156
  });
154
157
 
155
158
  const maintenance = evaluateSessionMaintenance({
159
+ configManager,
156
160
  currentTokens: session.estimatedContextTokens,
157
161
  contextWindow: session.contextWindow,
158
162
  messageCount: session.messageCount,
@@ -1,3 +1,4 @@
1
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
1
2
  import { BasePanel } from './base-panel.ts';
2
3
  import { createEmptyLine, createStyledCell, type Line } from '@pellux/goodvibes-sdk/platform/types/grid';
3
4
  import type { ProviderAuthRouteDescriptor } from '@pellux/goodvibes-sdk/platform/providers/interface';
@@ -23,7 +24,7 @@ import type {
23
24
  UiSettingsSnapshot,
24
25
  UiWorktreeSnapshot,
25
26
  } from '../runtime/ui-read-models.ts';
26
- import { evaluateSessionMaintenance } from './session-maintenance.ts';
27
+ import { evaluateSessionMaintenance } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
27
28
  import {
28
29
  buildBodyText,
29
30
  buildDetailBlock,
@@ -44,6 +45,7 @@ import {
44
45
  // ---------------------------------------------------------------------------
45
46
 
46
47
  export interface ProviderHealthPanelDeps {
48
+ readonly configManager: Pick<ConfigManager, 'get'>;
47
49
  readonly turnEvents: UiEventFeed<TurnEvent>;
48
50
  readonly providerEvents: UiEventFeed<ProviderEvent>;
49
51
  readonly providers: UiReadModel<UiProvidersSnapshot>;
@@ -589,6 +591,7 @@ export class ProviderHealthPanel extends BasePanel {
589
591
 
590
592
  const domainLines: Line[] = [];
591
593
  for (const domain of buildProviderHealthDomainSummaries({
594
+ configManager: this.deps.configManager,
592
595
  auth: this.deps.localAuth.getSnapshot(),
593
596
  settings: this.deps.settings.getSnapshot(),
594
597
  remote: this.deps.remote.getSnapshot(),
@@ -620,6 +623,7 @@ export class ProviderHealthPanel extends BasePanel {
620
623
  const maintenanceLines: Line[] = [];
621
624
  const session = this.deps.session.getSnapshot();
622
625
  const maintenance = evaluateSessionMaintenance({
626
+ configManager: this.deps.configManager,
623
627
  currentTokens: session.estimatedContextTokens,
624
628
  contextWindow: session.contextWindow,
625
629
  messageCount: session.messageCount,
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type { Line } from '@pellux/goodvibes-sdk/platform/types/grid';
6
6
  import { BasePanel } from './base-panel.ts';
7
- import type { SessionInfo } from '../sessions/manager.ts';
7
+ import type { SessionInfo } from '@pellux/goodvibes-sdk/platform/sessions/manager';
8
8
  import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
9
9
  import type { SessionBrowserQuery } from '../runtime/ui-service-queries.ts';
10
10
  import {
@@ -1,7 +1,8 @@
1
+ import type { ConfigManager } from '@pellux/goodvibes-sdk/platform/config/manager';
1
2
  import { BasePanel } from './base-panel.ts';
2
3
  import { createEmptyLine, createStyledCell, type Line } from '@pellux/goodvibes-sdk/platform/types/grid';
3
4
  import type { Orchestrator } from '../core/orchestrator';
4
- import { evaluateSessionMaintenance } from './session-maintenance.ts';
5
+ import { evaluateSessionMaintenance } from '@pellux/goodvibes-sdk/platform/runtime/session-maintenance';
5
6
  import type { UiReadModel, UiSessionSnapshot } from '../runtime/ui-read-models.ts';
6
7
  import type { SessionMemoryQuery } from '../runtime/ui-service-queries.ts';
7
8
  import {
@@ -97,10 +98,12 @@ export class TokenBudgetPanel extends BasePanel {
97
98
  private getContextWindow: (() => number) | null = null;
98
99
  private sessionReadModel: UiReadModel<UiSessionSnapshot> | null = null;
99
100
  private readonly sessionMemoryStore: SessionMemoryQuery;
101
+ private readonly configManager: Pick<ConfigManager, 'get'>;
100
102
 
101
- constructor(sessionMemoryStore: SessionMemoryQuery) {
103
+ constructor(sessionMemoryStore: SessionMemoryQuery, configManager: Pick<ConfigManager, 'get'>) {
102
104
  super('tokens', 'Tokens', 'T', 'monitoring');
103
105
  this.sessionMemoryStore = sessionMemoryStore;
106
+ this.configManager = configManager;
104
107
  }
105
108
 
106
109
  // ---------------------------------------------------------------------------
@@ -260,6 +263,7 @@ export class TokenBudgetPanel extends BasePanel {
260
263
  private renderMaintenance(width: number): Line[] {
261
264
  const sessionSnapshot = this.sessionReadModel?.getSnapshot();
262
265
  const status = evaluateSessionMaintenance({
266
+ configManager: this.configManager,
263
267
  currentTokens: this.lastInputTokens,
264
268
  contextWindow: this.contextWindow,
265
269
  messageCount: sessionSnapshot?.totalTurns,
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
2
2
  import { join, resolve, isAbsolute } from 'path';
3
3
  import { logger } from '@pellux/goodvibes-sdk/platform/utils/logger';
4
- import { createPluginAPI, type PluginAPIContext } from './api';
4
+ import { createPluginAPI, type PluginAPIContext } from '@pellux/goodvibes-sdk/platform/plugins/api';
5
5
  import type { CommandRegistry } from '../input/command-registry.ts';
6
6
  import type { ProviderRegistry } from '@pellux/goodvibes-sdk/platform/providers/registry';
7
7
  import type { ToolRegistry } from '@pellux/goodvibes-sdk/platform/tools/registry';
@@ -244,7 +244,7 @@ export async function loadPlugin(
244
244
  const ctx: PluginAPIContext = {
245
245
  pluginName: manifest.name,
246
246
  runtimeBus: deps.runtimeBus,
247
- commandRegistry: deps.commandRegistry,
247
+ commandRegistry: deps.commandRegistry as PluginAPIContext['commandRegistry'],
248
248
  providerRegistry: deps.providerRegistry,
249
249
  toolRegistry: deps.toolRegistry,
250
250
  gatewayMethods: deps.gatewayMethods,