@pellux/goodvibes-tui 1.1.0 → 1.9.0

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 (267) hide show
  1. package/CHANGELOG.md +85 -21
  2. package/README.md +28 -18
  3. package/docs/foundation-artifacts/operator-contract.json +4045 -1763
  4. package/package.json +2 -2
  5. package/src/audio/spoken-turn-controller.ts +12 -2
  6. package/src/audio/spoken-turn-wiring.ts +2 -1
  7. package/src/cli/help.ts +8 -1
  8. package/src/cli/service-posture.ts +2 -1
  9. package/src/cli/status.ts +2 -1
  10. package/src/cli/surface-command.ts +2 -2
  11. package/src/core/alert-gating.ts +67 -0
  12. package/src/core/approval-alert.ts +72 -0
  13. package/src/core/budget-breach-notifier.ts +106 -0
  14. package/src/core/composer-state.ts +11 -3
  15. package/src/core/conversation-line-cache.ts +27 -3
  16. package/src/core/conversation-rendering.ts +90 -14
  17. package/src/core/conversation.ts +18 -0
  18. package/src/core/focus-tracker.ts +41 -0
  19. package/src/core/long-task-notifier.ts +33 -6
  20. package/src/core/stream-event-wiring.ts +20 -1
  21. package/src/core/system-message-noise.ts +87 -0
  22. package/src/core/system-message-router.ts +104 -51
  23. package/src/core/turn-cancellation.ts +25 -0
  24. package/src/core/turn-event-wiring.ts +72 -3
  25. package/src/daemon/cli.ts +29 -2
  26. package/src/daemon/handlers/register.ts +8 -1
  27. package/src/daemon/service-commands.ts +329 -0
  28. package/src/export/cost-utils.ts +36 -0
  29. package/src/input/autocomplete.ts +27 -1
  30. package/src/input/command-registry.ts +84 -5
  31. package/src/input/commands/checkpoint-runtime.ts +280 -0
  32. package/src/input/commands/codebase-runtime.ts +232 -0
  33. package/src/input/commands/config.ts +43 -3
  34. package/src/input/commands/eval.ts +1 -1
  35. package/src/input/commands/health-runtime.ts +10 -2
  36. package/src/input/commands/image-runtime.ts +112 -0
  37. package/src/input/commands/intelligence-runtime.ts +11 -1
  38. package/src/input/commands/local-auth-runtime.ts +4 -1
  39. package/src/input/commands/local-runtime.ts +9 -3
  40. package/src/input/commands/marketplace-runtime.ts +2 -2
  41. package/src/input/commands/memory.ts +73 -35
  42. package/src/input/commands/operator-panel-runtime.ts +71 -31
  43. package/src/input/commands/planning-runtime.ts +116 -4
  44. package/src/input/commands/platform-sandbox-runtime.ts +1 -6
  45. package/src/input/commands/plugin-runtime.ts +2 -2
  46. package/src/input/commands/policy-dispatch.ts +21 -0
  47. package/src/input/commands/provider-accounts-runtime.ts +1 -1
  48. package/src/input/commands/qrcode-runtime.ts +26 -6
  49. package/src/input/commands/recall-review.ts +35 -0
  50. package/src/input/commands/remote-runtime-setup.ts +5 -3
  51. package/src/input/commands/remote-runtime.ts +3 -3
  52. package/src/input/commands/runtime-services.ts +54 -13
  53. package/src/input/commands/services-runtime.ts +1 -1
  54. package/src/input/commands/session-content.ts +20 -9
  55. package/src/input/commands/session-workflow.ts +16 -1
  56. package/src/input/commands/settings-sync-runtime.ts +16 -4
  57. package/src/input/commands/shell-core.ts +25 -8
  58. package/src/input/commands/skills-runtime.ts +2 -8
  59. package/src/input/commands/subscription-runtime.ts +2 -2
  60. package/src/input/commands/test-runtime.ts +277 -0
  61. package/src/input/commands/websearch-runtime.ts +101 -0
  62. package/src/input/commands/work-plan-runtime.ts +36 -10
  63. package/src/input/commands/workstream-runtime.ts +488 -0
  64. package/src/input/commands.ts +12 -0
  65. package/src/input/config-modal-types.ts +175 -0
  66. package/src/input/config-modal.ts +592 -0
  67. package/src/input/feed-context-factory.ts +10 -8
  68. package/src/input/handler-command-route.ts +37 -20
  69. package/src/input/handler-content-actions.ts +17 -2
  70. package/src/input/handler-feed-routes.ts +74 -114
  71. package/src/input/handler-feed.ts +79 -27
  72. package/src/input/handler-interactions.ts +1 -3
  73. package/src/input/handler-modal-routes.ts +136 -6
  74. package/src/input/handler-modal-stack.ts +14 -7
  75. package/src/input/handler-modal-token-routes.ts +16 -49
  76. package/src/input/handler-onboarding-daemon-adopt.ts +149 -0
  77. package/src/input/handler-onboarding.ts +71 -59
  78. package/src/input/handler-picker-routes.ts +26 -102
  79. package/src/input/handler-shortcuts.ts +74 -14
  80. package/src/input/handler-types.ts +2 -6
  81. package/src/input/handler-ui-state.ts +10 -22
  82. package/src/input/handler.ts +12 -29
  83. package/src/input/keybindings.ts +23 -8
  84. package/src/input/model-picker-types.ts +24 -6
  85. package/src/input/model-picker.ts +77 -2
  86. package/src/input/onboarding/onboarding-runtime-status.ts +10 -1
  87. package/src/input/onboarding/onboarding-wizard-apply.ts +8 -1
  88. package/src/input/onboarding/onboarding-wizard-constants.ts +4 -1
  89. package/src/input/onboarding/onboarding-wizard-network-adopt.ts +136 -0
  90. package/src/input/onboarding/onboarding-wizard-steps.ts +9 -6
  91. package/src/input/onboarding/onboarding-wizard-types.ts +3 -1
  92. package/src/input/panel-integration-actions.ts +9 -170
  93. package/src/input/panel-mouse-geometry.ts +97 -0
  94. package/src/input/panel-paste-flood-guard.ts +86 -0
  95. package/src/input/selection-modal.ts +11 -0
  96. package/src/input/session-picker-modal.ts +44 -4
  97. package/src/input/settings-modal-data.ts +146 -2
  98. package/src/input/settings-modal-mutations.ts +6 -4
  99. package/src/input/settings-modal-types.ts +4 -2
  100. package/src/main.ts +49 -51
  101. package/src/panels/agent-inspector-shared.ts +2 -1
  102. package/src/panels/base-panel.ts +22 -1
  103. package/src/panels/builtin/agent.ts +21 -107
  104. package/src/panels/builtin/development.ts +15 -61
  105. package/src/panels/builtin/knowledge.ts +8 -32
  106. package/src/panels/builtin/operations.ts +84 -428
  107. package/src/panels/builtin/session.ts +21 -112
  108. package/src/panels/builtin/shared.ts +18 -46
  109. package/src/panels/builtin-modals.ts +218 -0
  110. package/src/panels/builtin-panels.ts +5 -0
  111. package/src/panels/cost-tracker-panel.ts +36 -10
  112. package/src/panels/diff-panel.ts +12 -43
  113. package/src/panels/eval-registry.ts +60 -0
  114. package/src/panels/fleet-deep-link.ts +31 -0
  115. package/src/panels/fleet-panel-format.ts +62 -0
  116. package/src/panels/fleet-panel-worktree-detail.ts +48 -0
  117. package/src/panels/fleet-panel.ts +758 -0
  118. package/src/panels/fleet-read-model.ts +520 -0
  119. package/src/panels/fleet-steer.ts +125 -0
  120. package/src/panels/fleet-stop.ts +153 -0
  121. package/src/panels/fleet-tabs.ts +230 -0
  122. package/src/panels/fleet-transcript.ts +356 -0
  123. package/src/panels/index.ts +7 -31
  124. package/src/panels/modals/hooks-modal.ts +187 -0
  125. package/src/panels/modals/keybindings-modal.ts +166 -0
  126. package/src/panels/modals/knowledge-modal.ts +158 -0
  127. package/src/panels/modals/local-auth-modal.ts +132 -0
  128. package/src/panels/modals/marketplace-modal.ts +218 -0
  129. package/src/panels/modals/memory-modal.ts +180 -0
  130. package/src/panels/modals/modal-surface-helpers.ts +54 -0
  131. package/src/panels/modals/modal-theme.ts +42 -0
  132. package/src/panels/modals/pairing-modal.ts +163 -0
  133. package/src/panels/modals/planning-modal.ts +304 -0
  134. package/src/panels/modals/plugins-modal.ts +174 -0
  135. package/src/panels/modals/policy-modal.ts +256 -0
  136. package/src/panels/modals/provider-health-modal.ts +136 -0
  137. package/src/panels/modals/remote-modal.ts +115 -0
  138. package/src/panels/modals/sandbox-modal.ts +150 -0
  139. package/src/panels/modals/security-modal.ts +217 -0
  140. package/src/panels/modals/services-modal.ts +179 -0
  141. package/src/panels/modals/settings-sync-modal.ts +142 -0
  142. package/src/panels/modals/skills-modal.ts +189 -0
  143. package/src/panels/modals/subscription-modal.ts +172 -0
  144. package/src/panels/modals/work-plan-modal.ts +177 -0
  145. package/src/panels/panel-confirm-overlay.ts +72 -0
  146. package/src/panels/panel-manager.ts +123 -9
  147. package/src/panels/polish-core.ts +38 -25
  148. package/src/panels/project-planning-answer-actions.ts +8 -11
  149. package/src/panels/skills-panel.ts +7 -51
  150. package/src/panels/types.ts +37 -0
  151. package/src/permissions/hunk-selection.ts +179 -0
  152. package/src/permissions/prompt.ts +216 -13
  153. package/src/renderer/autocomplete-overlay.ts +28 -2
  154. package/src/renderer/compaction-history-modal.ts +19 -3
  155. package/src/renderer/compaction-preview.ts +13 -2
  156. package/src/renderer/compaction-quality.ts +100 -0
  157. package/src/renderer/compositor.ts +2 -3
  158. package/src/renderer/config-modal.ts +95 -0
  159. package/src/renderer/conversation-overlays.ts +10 -17
  160. package/src/renderer/fleet-tab-strip.ts +56 -0
  161. package/src/renderer/footer-tips.ts +15 -3
  162. package/src/renderer/fullscreen-primitives.ts +32 -22
  163. package/src/renderer/git-status.ts +43 -1
  164. package/src/renderer/help-overlay.ts +2 -2
  165. package/src/renderer/layout.ts +0 -4
  166. package/src/renderer/markdown.ts +7 -3
  167. package/src/renderer/modal-factory.ts +25 -20
  168. package/src/renderer/model-workspace.ts +62 -4
  169. package/src/renderer/overlay-box.ts +21 -17
  170. package/src/renderer/panel-workspace-bar.ts +8 -2
  171. package/src/renderer/process-indicator.ts +14 -3
  172. package/src/renderer/selection-modal-overlay.ts +6 -1
  173. package/src/renderer/session-picker-modal.ts +196 -3
  174. package/src/renderer/settings-modal-helpers.ts +2 -0
  175. package/src/renderer/settings-modal.ts +7 -0
  176. package/src/renderer/shell-surface.ts +8 -1
  177. package/src/renderer/status-glyphs.ts +14 -15
  178. package/src/renderer/system-message.ts +15 -3
  179. package/src/renderer/terminal-bg-probe.ts +339 -0
  180. package/src/renderer/terminal-escapes.ts +20 -0
  181. package/src/renderer/theme-mode-config.ts +67 -0
  182. package/src/renderer/theme.ts +91 -1
  183. package/src/renderer/thinking.ts +11 -3
  184. package/src/renderer/tool-call.ts +15 -9
  185. package/src/renderer/tool-result-summary.ts +148 -0
  186. package/src/renderer/turn-injection.ts +133 -0
  187. package/src/renderer/ui-factory.ts +154 -85
  188. package/src/renderer/ui-primitives.ts +30 -129
  189. package/src/runtime/bootstrap-command-context.ts +27 -1
  190. package/src/runtime/bootstrap-command-parts.ts +41 -10
  191. package/src/runtime/bootstrap-core.ts +47 -15
  192. package/src/runtime/bootstrap-hook-bridge.ts +7 -0
  193. package/src/runtime/bootstrap-shell.ts +48 -17
  194. package/src/runtime/bootstrap.ts +129 -22
  195. package/src/runtime/code-index-services.ts +135 -0
  196. package/src/runtime/legacy-daemon-migration.ts +516 -0
  197. package/src/runtime/memory-fold.ts +26 -0
  198. package/src/runtime/onboarding/derivation.ts +7 -2
  199. package/src/runtime/onboarding/snapshot.ts +27 -1
  200. package/src/runtime/onboarding/types.ts +31 -1
  201. package/src/runtime/operator-token-cleanup.ts +82 -1
  202. package/src/runtime/orchestrator-core-services.ts +59 -0
  203. package/src/runtime/process-lifecycle.ts +3 -1
  204. package/src/runtime/resume-notice.ts +209 -0
  205. package/src/runtime/services.ts +98 -46
  206. package/src/runtime/session-inbound-inputs.ts +252 -0
  207. package/src/runtime/session-spine-transport.ts +64 -0
  208. package/src/runtime/terminal-output-guard.ts +15 -8
  209. package/src/runtime/ui-services.ts +27 -3
  210. package/src/runtime/workstream-services.ts +327 -0
  211. package/src/runtime/wrfc-persistence.ts +124 -17
  212. package/src/shell/blocking-input.ts +68 -4
  213. package/src/shell/recovery-input-helpers.ts +170 -1
  214. package/src/shell/ui-openers.ts +171 -26
  215. package/src/utils/format-duration.ts +8 -18
  216. package/src/utils/splash-lines.ts +1 -1
  217. package/src/utils/terminal-width.ts +52 -0
  218. package/src/version.ts +1 -1
  219. package/src/panels/agent-inspector-panel.ts +0 -786
  220. package/src/panels/approval-panel.ts +0 -252
  221. package/src/panels/automation-control-panel.ts +0 -479
  222. package/src/panels/cockpit-panel.ts +0 -481
  223. package/src/panels/cockpit-read-model.ts +0 -238
  224. package/src/panels/communication-panel.ts +0 -256
  225. package/src/panels/control-plane-panel.ts +0 -470
  226. package/src/panels/debug-panel.ts +0 -615
  227. package/src/panels/docs-panel.ts +0 -384
  228. package/src/panels/eval-panel.ts +0 -627
  229. package/src/panels/file-explorer-panel.ts +0 -673
  230. package/src/panels/file-preview-panel.ts +0 -517
  231. package/src/panels/hooks-panel.ts +0 -401
  232. package/src/panels/incident-review-panel.ts +0 -406
  233. package/src/panels/intelligence-panel.ts +0 -383
  234. package/src/panels/knowledge-graph-panel.ts +0 -515
  235. package/src/panels/marketplace-panel.ts +0 -399
  236. package/src/panels/memory-panel.ts +0 -558
  237. package/src/panels/ops-control-panel.ts +0 -329
  238. package/src/panels/ops-strategy-panel.ts +0 -321
  239. package/src/panels/orchestration-panel.ts +0 -465
  240. package/src/panels/panel-list-panel.ts +0 -566
  241. package/src/panels/plan-dashboard-panel.ts +0 -707
  242. package/src/panels/policy-panel.ts +0 -517
  243. package/src/panels/project-planning-panel.ts +0 -731
  244. package/src/panels/provider-health-panel.ts +0 -678
  245. package/src/panels/provider-health-tracker.ts +0 -310
  246. package/src/panels/provider-health-views.ts +0 -567
  247. package/src/panels/qr-panel.ts +0 -280
  248. package/src/panels/remote-panel.ts +0 -534
  249. package/src/panels/routes-panel.ts +0 -241
  250. package/src/panels/sandbox-panel.ts +0 -456
  251. package/src/panels/security-panel.ts +0 -447
  252. package/src/panels/services-panel.ts +0 -329
  253. package/src/panels/session-browser-panel.ts +0 -496
  254. package/src/panels/settings-sync-panel.ts +0 -398
  255. package/src/panels/subscription-panel.ts +0 -342
  256. package/src/panels/symbol-outline-panel.ts +0 -619
  257. package/src/panels/system-messages-panel.ts +0 -364
  258. package/src/panels/tasks-panel.ts +0 -608
  259. package/src/panels/thinking-panel.ts +0 -333
  260. package/src/panels/tool-inspector-panel.ts +0 -537
  261. package/src/panels/work-plan-panel.ts +0 -540
  262. package/src/panels/worktree-panel.ts +0 -360
  263. package/src/panels/wrfc-panel.ts +0 -790
  264. package/src/renderer/agent-detail-modal.ts +0 -466
  265. package/src/renderer/live-tail-modal.ts +0 -156
  266. package/src/renderer/process-modal.ts +0 -671
  267. package/src/renderer/qr-renderer.ts +0 -120
@@ -1,113 +1,27 @@
1
1
  import type { PanelManager } from '../panel-manager.ts';
2
- import { AgentInspectorPanel } from '../agent-inspector-panel.ts';
3
- import { ThinkingPanel } from '../thinking-panel.ts';
4
- import { ToolInspectorPanel } from '../tool-inspector-panel.ts';
5
- import { WrfcPanel } from '../wrfc-panel.ts';
6
- import { ProjectPlanningPanel } from '../project-planning-panel.ts';
7
- import { WorkPlanPanel } from '../work-plan-panel.ts';
8
2
  import type { ResolvedBuiltinPanelDeps } from './shared.ts';
9
- import { requireUiServices } from './shared.ts';
10
3
 
4
+ // W6.1 (the purge): thinking, tools, inspector, and wrfc were registered here
5
+ // before the purge. thinking/tools were DELETE-disposition (no surviving
6
+ // human surface — thinking already renders inline in the transcript, tool
7
+ // results render inline plus per-node in Fleet); inspector/wrfc were
8
+ // RETIRE-INTO-FLEET (their live console is subsumed by the Fleet panel,
9
+ // operations.ts:84). See registerOperationsPanels for the fleet
10
+ // registration and .goodvibes/audit/2026-07-04-wave6-briefs.json (W6.1) for
11
+ // the full disposition map.
11
12
  export function registerAgentPanels(manager: PanelManager, deps: ResolvedBuiltinPanelDeps): void {
12
- manager.registerType({
13
- id: 'thinking',
14
- name: 'Thinking',
15
- icon: 'T',
16
- category: 'ai',
17
- description: 'Stream model reasoning tokens in real-time with collapsible blocks per turn',
18
- preload: true,
19
- retainOnClose: true,
20
- factory: () => new ThinkingPanel(requireUiServices(deps).events.turns),
21
- });
13
+ // Compat: '/panel open agent-logs' and 'inspector' (and any saved
14
+ // layout/muscle memory) still resolve — redirected straight to fleet.
15
+ // Repointed from agent-logs->inspector (WO-110) now that inspector itself
16
+ // is retired; alias resolution is a single hop (PanelManager._resolveId),
17
+ // so this must point at the real surviving id, not at another alias.
18
+ manager.registerAlias('agent-logs', 'fleet');
19
+ manager.registerAlias('inspector', 'fleet');
20
+ manager.registerAlias('wrfc', 'fleet');
22
21
 
23
- manager.registerType({
24
- id: 'tools',
25
- name: 'Tools',
26
- icon: 'X',
27
- category: 'ai',
28
- description: 'Chronological tool call inspector with expandable args/results and filtering',
29
- preload: true,
30
- retainOnClose: true,
31
- factory: () => {
32
- const ui = requireUiServices(deps);
33
- return new ToolInspectorPanel(ui.events.tools, ui.events.turns);
34
- },
35
- });
36
-
37
- // WO-110: agent-logs merged into inspector — one deep agent console with
38
- // the correct JSONL parser + cancel, plus agent-logs' follow/pause/filter
39
- // ergonomics. Registration moved here (category 'agent') from
40
- // builtin/development.ts. (WO-113 retired the 'context' registration that
41
- // previously lived here: ContextVisualizerPanel merged into TokenBudgetPanel,
42
- // aliased in builtin/session.ts.)
43
- manager.registerType({
44
- id: 'inspector',
45
- name: 'Inspector',
46
- icon: 'I',
47
- category: 'agent',
48
- description: 'Live per-agent console: timeline, tool calls, WRFC/cost badges, pause/filter/follow, and cancel',
49
- preload: true,
50
- retainOnClose: true,
51
- factory: () => {
52
- const ui = requireUiServices(deps);
53
- return new AgentInspectorPanel({
54
- agentManager: ui.agents.agentManager,
55
- agentMessageBus: ui.agents.agentMessageBus,
56
- agentEvents: ui.events.agents,
57
- workingDirectory: ui.environment.workingDirectory,
58
- cancelAgent: (agentId: string) => ui.agents.agentManager.cancel(agentId),
59
- requestRender: deps.requestRender,
60
- });
61
- },
62
- });
63
-
64
- // Compat: '/panel open agent-logs' (and any saved layout/muscle memory)
65
- // still resolves — redirected to the merged inspector console.
66
- manager.registerAlias('agent-logs', 'inspector');
67
-
68
- manager.registerType({
69
- id: 'wrfc',
70
- name: 'WRFC',
71
- icon: 'W',
72
- category: 'agent',
73
- description: 'WRFC chain view: write, review, fix, and confirm cycle status',
74
- preload: true,
75
- retainOnClose: true,
76
- factory: () => {
77
- const ui = requireUiServices(deps);
78
- return new WrfcPanel(ui.events.workflows, {
79
- controller: ui.agents.wrfcController,
80
- cancelChain: (agentId: string) => ui.agents.agentManager.cancel(agentId),
81
- });
82
- },
83
- });
84
-
85
- manager.registerType({
86
- id: 'work-plan',
87
- name: 'Work Plan',
88
- // WO-152: was 'L' (collided with panel-list).
89
- icon: '◧',
90
- category: 'agent',
91
- description: 'Persistent workspace checklist for multi-step work and cross-session task tracking',
92
- preload: true,
93
- retainOnClose: true,
94
- factory: () => new WorkPlanPanel(deps.workPlanStore),
95
- });
96
-
97
- manager.registerType({
98
- id: 'project-planning',
99
- name: 'Planning',
100
- icon: 'P',
101
- category: 'agent',
102
- description: 'Passive project planning artifacts: readiness, questions, decisions, language, task graph, and agent handoff metadata',
103
- preload: true,
104
- retainOnClose: true,
105
- factory: () => new ProjectPlanningPanel({
106
- service: deps.projectPlanningService,
107
- projectId: deps.projectPlanningProjectId,
108
- requestRender: deps.requestRender,
109
- submitAnswer: deps.submitPlanningAnswer,
110
- dismissPlanning: deps.dismissPlanning,
111
- }),
112
- });
22
+ // W6.1 (the purge) — group B (WO-P): 'work-plan' and 'project-planning'
23
+ // migrated to the 'work-plan-modal' / 'planning-modal' config-modal surfaces.
24
+ // Their surfaces AND panel→modal redirects are registered centrally in
25
+ // registerBuiltinModals (builtin-modals.ts). Panel registrations retired here.
26
+ void deps;
113
27
  }
@@ -1,15 +1,18 @@
1
1
  import type { PanelManager } from '../panel-manager.ts';
2
2
  import { GitPanel } from '../git-panel.ts';
3
3
  import { DiffPanel } from '../diff-panel.ts';
4
- import { PlanDashboardPanel } from '../plan-dashboard-panel.ts';
5
4
  import { CostTrackerPanel } from '../cost-tracker-panel.ts';
6
- import { IntelligencePanel } from '../intelligence-panel.ts';
7
- import { FileExplorerPanel } from '../file-explorer-panel.ts';
8
- import { FilePreviewPanel } from '../file-preview-panel.ts';
9
- import { SymbolOutlinePanel } from '../symbol-outline-panel.ts';
10
5
  import type { ResolvedBuiltinPanelDeps } from './shared.ts';
11
6
  import { requireUiServices, withUnconfiguredFallback } from './shared.ts';
12
7
 
8
+ // W6.1 (the purge): plan, intelligence, explorer, preview, and symbols were
9
+ // registered here before the purge. plan was RETIRE-INTO-FLEET (its
10
+ // execution-plan view is subsumed by Fleet — operations.ts:84); the other
11
+ // four were DELETE-disposition (no surviving human surface — intelligence's
12
+ // read-model still backs the surviving `/intelligence` CLI subcommands, see
13
+ // intelligence-runtime.ts; explorer/preview/symbols had no dedicated
14
+ // read-model to preserve). See .goodvibes/audit/2026-07-04-wave6-briefs.json
15
+ // (W6.1) for the full disposition map.
13
16
  export function registerDevelopmentPanels(manager: PanelManager, deps: ResolvedBuiltinPanelDeps): void {
14
17
  manager.registerType({
15
18
  id: 'git',
@@ -26,19 +29,9 @@ export function registerDevelopmentPanels(manager: PanelManager, deps: ResolvedB
26
29
  ),
27
30
  });
28
31
 
29
- manager.registerType({
30
- id: 'plan',
31
- name: 'Plan',
32
- // Distinct from Planning's 'P' (builtin/agent.ts) — interim glyph per
33
- // WO-128; WO-152 owns the registry-wide icon-uniqueness assertion.
34
- icon: '▤',
35
- category: 'agent',
36
- description: 'Active execution plan with phase progress and item status',
37
- factory: () => {
38
- const ui = requireUiServices(deps);
39
- return new PlanDashboardPanel(ui.events.workflows, { planManager: deps.planManager });
40
- },
41
- });
32
+ // Compat: '/panel open plan' (and any saved layout/muscle memory) still
33
+ // resolves — redirected to fleet, which absorbs the execution-plan view.
34
+ manager.registerAlias('plan', 'fleet');
42
35
 
43
36
  manager.registerType({
44
37
  id: 'diff',
@@ -73,52 +66,13 @@ export function registerDevelopmentPanels(manager: PanelManager, deps: ResolvedB
73
66
  return new CostTrackerPanel(ui.events.turns, ui.events.agents, getOrchestratorUsage!, {
74
67
  budgetThreshold,
75
68
  getAgentStatus: (id) => ui.agents.agentManager.getStatus(id),
69
+ configAccess: {
70
+ get: (key) => deps.configManager.get(key as Parameters<typeof deps.configManager.get>[0]),
71
+ set: (key, value) => deps.configManager.set(key as Parameters<typeof deps.configManager.set>[0], value as never),
72
+ },
76
73
  });
77
74
  },
78
75
  ),
79
76
  });
80
77
  }
81
-
82
- manager.registerType({
83
- id: 'intelligence',
84
- name: 'Intelligence',
85
- icon: 'J',
86
- category: 'development',
87
- description: 'Workspace diagnostics, symbol search, hover, and completion readiness with recovery guidance',
88
- factory: () => new IntelligencePanel(requireUiServices(deps).readModels.intelligence),
89
- });
90
-
91
- manager.registerType({
92
- id: 'explorer',
93
- name: 'Explorer',
94
- icon: 'E',
95
- category: 'development',
96
- description: 'File system browser with keyboard navigation',
97
- factory: () => {
98
- const ui = requireUiServices(deps);
99
- return new FileExplorerPanel(ui.environment.workingDirectory, ui.environment.workingDirectory);
100
- },
101
- });
102
-
103
- manager.registerType({
104
- id: 'preview',
105
- name: 'Preview',
106
- // WO-152: was 'V' in the registry vs the live panel's own 'P' (base-panel
107
- // super() call) — a pre-existing registry/instance icon mismatch as well
108
- // as a collision (project-planning and plugins both also used 'P').
109
- // Unified to a single unique glyph in both places.
110
- icon: '◑',
111
- category: 'development',
112
- description: 'Syntax-highlighted file preview',
113
- factory: () => new FilePreviewPanel(),
114
- });
115
-
116
- manager.registerType({
117
- id: 'symbols',
118
- name: 'Symbols',
119
- icon: 'S',
120
- category: 'development',
121
- description: 'Symbol outline for the active file: functions, classes, and exports',
122
- factory: () => new SymbolOutlinePanel(),
123
- });
124
78
  }
@@ -1,36 +1,12 @@
1
1
  import type { PanelManager } from '../panel-manager.ts';
2
- import { MemoryPanel } from '../memory-panel.ts';
3
- import { KnowledgeGraphPanel } from '../knowledge-graph-panel.ts';
4
- import { requireKnowledgeApi, withUnconfiguredFallback, type ResolvedBuiltinPanelDeps } from './shared.ts';
2
+ import type { ResolvedBuiltinPanelDeps } from './shared.ts';
5
3
 
4
+ // W6.1 (the purge) — group B: 'knowledge' and 'memory' migrated to the
5
+ // 'knowledge-modal' / 'memory-modal' config-modal surfaces. Both surfaces and
6
+ // their panel→modal redirects are registered centrally in registerBuiltinModals
7
+ // (src/panels/builtin-modals.ts). This registrar is intentionally empty
8
+ // post-migration, kept as a stable call site invoked from registerBuiltinPanels.
6
9
  export function registerKnowledgePanels(manager: PanelManager, deps: ResolvedBuiltinPanelDeps): void {
7
- manager.registerType({
8
- id: 'knowledge',
9
- name: 'Knowledge',
10
- icon: 'K',
11
- category: 'agent',
12
- description: 'Live SDK knowledge graph: nodes, sources, issue review queue, and search',
13
- factory: () => new KnowledgeGraphPanel(requireKnowledgeApi(deps), () => manager.open('memory')),
14
- });
15
- // WO-152: always registered (was gated behind `if (deps.memoryRegistry)`,
16
- // so `/panel open memory` reported "Unknown panel" on builds without a
17
- // memory registry wired). Falls back to a "dependency not configured"
18
- // empty state.
19
- {
20
- const { memoryRegistry } = deps;
21
- manager.registerType({
22
- id: 'memory',
23
- name: 'Memory',
24
- icon: 'M',
25
- category: 'agent',
26
- description: 'Project memory: decisions, constraints, incidents, and patterns with provenance links',
27
- factory: withUnconfiguredFallback(
28
- memoryRegistry !== undefined,
29
- 'memory', 'Memory', 'M', 'agent',
30
- ' Memory registry not configured for this session.',
31
- 'This runtime was not wired with a project memory registry at bootstrap, so no memory data is available.',
32
- () => new MemoryPanel(memoryRegistry!),
33
- ),
34
- });
35
- }
10
+ void manager;
11
+ void deps;
36
12
  }