aimux-cli 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +54 -0
  2. package/dist/agent-prompt-delivery.d.ts +31 -0
  3. package/dist/agent-prompt-delivery.js +119 -0
  4. package/dist/agent-prompt-delivery.js.map +1 -0
  5. package/dist/agent-tracker.js +4 -2
  6. package/dist/agent-tracker.js.map +1 -1
  7. package/dist/atomic-write.d.ts +1 -0
  8. package/dist/atomic-write.js +9 -0
  9. package/dist/atomic-write.js.map +1 -0
  10. package/dist/builtin-metadata-watchers.js +10 -6
  11. package/dist/builtin-metadata-watchers.js.map +1 -1
  12. package/dist/daemon.js +3 -6
  13. package/dist/daemon.js.map +1 -1
  14. package/dist/dashboard/index.d.ts +26 -15
  15. package/dist/dashboard/index.js +26 -56
  16. package/dist/dashboard/index.js.map +1 -1
  17. package/dist/dashboard/operation-failures.d.ts +30 -0
  18. package/dist/dashboard/operation-failures.js +86 -0
  19. package/dist/dashboard/operation-failures.js.map +1 -0
  20. package/dist/dashboard/pending-actions.d.ts +9 -2
  21. package/dist/dashboard/pending-actions.js +66 -7
  22. package/dist/dashboard/pending-actions.js.map +1 -1
  23. package/dist/dashboard/quick-jump.d.ts +3 -1
  24. package/dist/dashboard/quick-jump.js +27 -8
  25. package/dist/dashboard/quick-jump.js.map +1 -1
  26. package/dist/dashboard/runtime-evidence.d.ts +4 -0
  27. package/dist/dashboard/runtime-evidence.js +22 -0
  28. package/dist/dashboard/runtime-evidence.js.map +1 -0
  29. package/dist/dashboard/session-actions.d.ts +1 -1
  30. package/dist/dashboard/session-actions.js +3 -1
  31. package/dist/dashboard/session-actions.js.map +1 -1
  32. package/dist/dashboard/session-registry.d.ts +1 -0
  33. package/dist/dashboard/session-registry.js +47 -30
  34. package/dist/dashboard/session-registry.js.map +1 -1
  35. package/dist/dashboard/state.d.ts +9 -0
  36. package/dist/dashboard/state.js +33 -1
  37. package/dist/dashboard/state.js.map +1 -1
  38. package/dist/dashboard/targets.js +11 -3
  39. package/dist/dashboard/targets.js.map +1 -1
  40. package/dist/dashboard/ui-state-store.d.ts +3 -3
  41. package/dist/dashboard/ui-state-store.js +23 -14
  42. package/dist/dashboard/ui-state-store.js.map +1 -1
  43. package/dist/default-plugins/gh-pr-context.d.ts +8 -0
  44. package/dist/default-plugins/gh-pr-context.js +256 -0
  45. package/dist/default-plugins/gh-pr-context.js.map +1 -0
  46. package/dist/default-plugins/transcript-length.d.ts +1 -0
  47. package/dist/default-plugins/transcript-length.js +10 -0
  48. package/dist/default-plugins/transcript-length.js.map +1 -1
  49. package/dist/fast-control.d.ts +8 -3
  50. package/dist/fast-control.js +13 -14
  51. package/dist/fast-control.js.map +1 -1
  52. package/dist/main.js +22 -35
  53. package/dist/main.js.map +1 -1
  54. package/dist/managed-launch-env.d.ts +10 -0
  55. package/dist/managed-launch-env.js +51 -0
  56. package/dist/managed-launch-env.js.map +1 -0
  57. package/dist/metadata-server.d.ts +41 -0
  58. package/dist/metadata-server.js +272 -15
  59. package/dist/metadata-server.js.map +1 -1
  60. package/dist/metadata-store.d.ts +1 -0
  61. package/dist/metadata-store.js +3 -5
  62. package/dist/metadata-store.js.map +1 -1
  63. package/dist/multiplexer/agent-io-methods.d.ts +1 -1
  64. package/dist/multiplexer/agent-io-methods.js +36 -29
  65. package/dist/multiplexer/agent-io-methods.js.map +1 -1
  66. package/dist/multiplexer/archives.d.ts +1 -0
  67. package/dist/multiplexer/archives.js +143 -25
  68. package/dist/multiplexer/archives.js.map +1 -1
  69. package/dist/multiplexer/dashboard-actions-methods.d.ts +10 -1
  70. package/dist/multiplexer/dashboard-actions-methods.js +16 -4
  71. package/dist/multiplexer/dashboard-actions-methods.js.map +1 -1
  72. package/dist/multiplexer/dashboard-control.d.ts +13 -1
  73. package/dist/multiplexer/dashboard-control.js +150 -121
  74. package/dist/multiplexer/dashboard-control.js.map +1 -1
  75. package/dist/multiplexer/dashboard-interaction.d.ts +2 -1
  76. package/dist/multiplexer/dashboard-interaction.js +175 -113
  77. package/dist/multiplexer/dashboard-interaction.js.map +1 -1
  78. package/dist/multiplexer/dashboard-model.d.ts +5 -1
  79. package/dist/multiplexer/dashboard-model.js +83 -8
  80. package/dist/multiplexer/dashboard-model.js.map +1 -1
  81. package/dist/multiplexer/dashboard-ops.d.ts +32 -1
  82. package/dist/multiplexer/dashboard-ops.js +517 -15
  83. package/dist/multiplexer/dashboard-ops.js.map +1 -1
  84. package/dist/multiplexer/dashboard-state-methods.d.ts +7 -0
  85. package/dist/multiplexer/dashboard-state-methods.js +79 -4
  86. package/dist/multiplexer/dashboard-state-methods.js.map +1 -1
  87. package/dist/multiplexer/dashboard-tail-methods.d.ts +12 -2
  88. package/dist/multiplexer/dashboard-tail-methods.js +18 -6
  89. package/dist/multiplexer/dashboard-tail-methods.js.map +1 -1
  90. package/dist/multiplexer/dashboard-view-methods.d.ts +3 -1
  91. package/dist/multiplexer/dashboard-view-methods.js +53 -38
  92. package/dist/multiplexer/dashboard-view-methods.js.map +1 -1
  93. package/dist/multiplexer/graveyard-view-model.d.ts +68 -0
  94. package/dist/multiplexer/graveyard-view-model.js +185 -0
  95. package/dist/multiplexer/graveyard-view-model.js.map +1 -0
  96. package/dist/multiplexer/index.d.ts +18 -11
  97. package/dist/multiplexer/index.js +30 -18
  98. package/dist/multiplexer/index.js.map +1 -1
  99. package/dist/multiplexer/navigation.d.ts +1 -1
  100. package/dist/multiplexer/navigation.js +31 -11
  101. package/dist/multiplexer/navigation.js.map +1 -1
  102. package/dist/multiplexer/notifications.d.ts +1 -0
  103. package/dist/multiplexer/notifications.js +27 -19
  104. package/dist/multiplexer/notifications.js.map +1 -1
  105. package/dist/multiplexer/persistence-methods.d.ts +16 -0
  106. package/dist/multiplexer/persistence-methods.js +349 -28
  107. package/dist/multiplexer/persistence-methods.js.map +1 -1
  108. package/dist/multiplexer/runtime-lifecycle-methods.js +81 -12
  109. package/dist/multiplexer/runtime-lifecycle-methods.js.map +1 -1
  110. package/dist/multiplexer/runtime-state.d.ts +6 -2
  111. package/dist/multiplexer/runtime-state.js +144 -23
  112. package/dist/multiplexer/runtime-state.js.map +1 -1
  113. package/dist/multiplexer/service-state-snapshot.d.ts +14 -0
  114. package/dist/multiplexer/service-state-snapshot.js +121 -0
  115. package/dist/multiplexer/service-state-snapshot.js.map +1 -0
  116. package/dist/multiplexer/services.d.ts +19 -1
  117. package/dist/multiplexer/services.js +114 -16
  118. package/dist/multiplexer/services.js.map +1 -1
  119. package/dist/multiplexer/session-actions.d.ts +3 -0
  120. package/dist/multiplexer/session-actions.js +10 -8
  121. package/dist/multiplexer/session-actions.js.map +1 -1
  122. package/dist/multiplexer/session-launch.d.ts +1 -1
  123. package/dist/multiplexer/session-launch.js +63 -22
  124. package/dist/multiplexer/session-launch.js.map +1 -1
  125. package/dist/multiplexer/session-runtime-core.d.ts +2 -1
  126. package/dist/multiplexer/session-runtime-core.js +107 -69
  127. package/dist/multiplexer/session-runtime-core.js.map +1 -1
  128. package/dist/multiplexer/subscreens.d.ts +1 -0
  129. package/dist/multiplexer/subscreens.js +17 -12
  130. package/dist/multiplexer/subscreens.js.map +1 -1
  131. package/dist/multiplexer/tool-picker.d.ts +6 -2
  132. package/dist/multiplexer/tool-picker.js +231 -81
  133. package/dist/multiplexer/tool-picker.js.map +1 -1
  134. package/dist/multiplexer/worktree-graveyard.d.ts +13 -0
  135. package/dist/multiplexer/worktree-graveyard.js +21 -0
  136. package/dist/multiplexer/worktree-graveyard.js.map +1 -0
  137. package/dist/multiplexer/worktrees.d.ts +1 -0
  138. package/dist/multiplexer/worktrees.js +151 -69
  139. package/dist/multiplexer/worktrees.js.map +1 -1
  140. package/dist/notification-context.js +9 -15
  141. package/dist/notification-context.js.map +1 -1
  142. package/dist/notifications.d.ts +22 -0
  143. package/dist/notifications.js +66 -11
  144. package/dist/notifications.js.map +1 -1
  145. package/dist/orchestration-actions.js +3 -3
  146. package/dist/orchestration-actions.js.map +1 -1
  147. package/dist/orchestration-dispatcher.d.ts +4 -3
  148. package/dist/orchestration-dispatcher.js +9 -7
  149. package/dist/orchestration-dispatcher.js.map +1 -1
  150. package/dist/orchestration-routing.d.ts +2 -2
  151. package/dist/orchestration-routing.js +3 -7
  152. package/dist/orchestration-routing.js.map +1 -1
  153. package/dist/paths.d.ts +3 -0
  154. package/dist/paths.js +9 -0
  155. package/dist/paths.js.map +1 -1
  156. package/dist/plugin-runtime.d.ts +5 -0
  157. package/dist/plugin-runtime.js +98 -34
  158. package/dist/plugin-runtime.js.map +1 -1
  159. package/dist/project-events.js +4 -2
  160. package/dist/project-events.js.map +1 -1
  161. package/dist/session-bootstrap.d.ts +0 -3
  162. package/dist/session-bootstrap.js +12 -104
  163. package/dist/session-bootstrap.js.map +1 -1
  164. package/dist/session-semantics.d.ts +44 -7
  165. package/dist/session-semantics.js +164 -69
  166. package/dist/session-semantics.js.map +1 -1
  167. package/dist/shell-args.d.ts +1 -0
  168. package/dist/shell-args.js +57 -0
  169. package/dist/shell-args.js.map +1 -0
  170. package/dist/shell-hooks.d.ts +3 -0
  171. package/dist/shell-hooks.js +19 -2
  172. package/dist/shell-hooks.js.map +1 -1
  173. package/dist/statusline-model.d.ts +5 -1
  174. package/dist/statusline-model.js +18 -29
  175. package/dist/statusline-model.js.map +1 -1
  176. package/dist/task-dispatcher.d.ts +3 -3
  177. package/dist/task-dispatcher.js +6 -5
  178. package/dist/task-dispatcher.js.map +1 -1
  179. package/dist/task-workflow.d.ts +2 -0
  180. package/dist/task-workflow.js +15 -6
  181. package/dist/task-workflow.js.map +1 -1
  182. package/dist/tasks.d.ts +4 -1
  183. package/dist/tasks.js +19 -1
  184. package/dist/tasks.js.map +1 -1
  185. package/dist/tmux/doctor.d.ts +1 -0
  186. package/dist/tmux/doctor.js +4 -1
  187. package/dist/tmux/doctor.js.map +1 -1
  188. package/dist/tmux/runtime-manager.d.ts +6 -0
  189. package/dist/tmux/runtime-manager.js +56 -18
  190. package/dist/tmux/runtime-manager.js.map +1 -1
  191. package/dist/tmux/statusline.js +17 -16
  192. package/dist/tmux/statusline.js.map +1 -1
  193. package/dist/tmux/window-open.d.ts +1 -0
  194. package/dist/tmux/window-open.js +10 -10
  195. package/dist/tmux/window-open.js.map +1 -1
  196. package/dist/tool-output-watchers.d.ts +2 -0
  197. package/dist/tool-output-watchers.js +123 -12
  198. package/dist/tool-output-watchers.js.map +1 -1
  199. package/dist/tui/screens/dashboard-renderers.d.ts +2 -21
  200. package/dist/tui/screens/dashboard-renderers.js +126 -32
  201. package/dist/tui/screens/dashboard-renderers.js.map +1 -1
  202. package/dist/tui/screens/overlay-renderers.d.ts +11 -1
  203. package/dist/tui/screens/overlay-renderers.js +68 -28
  204. package/dist/tui/screens/overlay-renderers.js.map +1 -1
  205. package/dist/tui/screens/subscreen-renderers.js +156 -33
  206. package/dist/tui/screens/subscreen-renderers.js.map +1 -1
  207. package/dist/workflow.js +2 -2
  208. package/dist/workflow.js.map +1 -1
  209. package/dist/worktree.d.ts +3 -0
  210. package/dist/worktree.js +27 -2
  211. package/dist/worktree.js.map +1 -1
  212. package/package.json +5 -1
@@ -1,13 +1,311 @@
1
1
  import { basename } from "node:path";
2
2
  import { composeTwoPane, truncateAnsi, truncatePlain, wrapKeyValue, wrapText } from "../tui/render/text.js";
3
3
  import { graveyardSessionWithFeedback as runGraveyardSessionWithFeedback, resumeOfflineSessionWithFeedback as runResumeOfflineSessionWithFeedback, stopSessionToOfflineWithFeedback as runStopSessionToOfflineWithFeedback, waitForSessionExit, waitForSessionStart, } from "../dashboard/session-actions.js";
4
+ import { isAttachableDashboardSessionEntry, isLiveDashboardServiceRuntimeEntry, } from "../dashboard/runtime-evidence.js";
5
+ import { isDashboardWindowName } from "../tmux/runtime-manager.js";
6
+ import { generateServiceId, serviceLabelForCommand } from "./services.js";
7
+ function buildPendingSessionSeed(input) {
8
+ return {
9
+ index: -1,
10
+ id: input.sessionId,
11
+ command: input.tool,
12
+ label: input.tool,
13
+ createdAt: new Date().toISOString(),
14
+ status: "waiting",
15
+ active: false,
16
+ worktreePath: input.worktreePath,
17
+ pendingAction: input.pendingAction,
18
+ optimistic: true,
19
+ };
20
+ }
21
+ function assertDashboardMutationSettled(settled, action) {
22
+ if (!settled) {
23
+ throw new Error(`${action} did not settle before timing out`);
24
+ }
25
+ }
26
+ async function waitForRenderedDashboardSessionState(host, sessionId, predicate, timeoutMs = 10_000) {
27
+ const deadline = Date.now() + timeoutMs;
28
+ while (Date.now() < deadline) {
29
+ await host.refreshDashboardModelFromService(true);
30
+ const session = host.getDashboardSessions().find((entry) => entry.id === sessionId);
31
+ if (predicate(session))
32
+ return true;
33
+ await new Promise((resolve) => setTimeout(resolve, 100));
34
+ }
35
+ return false;
36
+ }
37
+ async function refreshDashboardModelAfterAuthoritativeMutation(host) {
38
+ if (typeof host.refreshDashboardModelFromService === "function") {
39
+ await host.refreshDashboardModelFromService(true);
40
+ }
41
+ if (typeof host.refreshLocalDashboardModel === "function") {
42
+ host.refreshLocalDashboardModel();
43
+ }
44
+ return true;
45
+ }
46
+ async function waitForStableDashboardSessionAbsence(host, sessionId, timeoutMs = 10_000, stableMs = 350) {
47
+ const deadline = Date.now() + timeoutMs;
48
+ let missingSince = null;
49
+ while (Date.now() < deadline) {
50
+ await host.refreshDashboardModelFromService(true);
51
+ const session = host.getDashboardSessions().find((entry) => entry.id === sessionId);
52
+ if (session) {
53
+ missingSince = null;
54
+ }
55
+ else {
56
+ missingSince ??= Date.now();
57
+ if (Date.now() - missingSince >= stableMs)
58
+ return true;
59
+ }
60
+ await new Promise((resolve) => setTimeout(resolve, 100));
61
+ }
62
+ return false;
63
+ }
64
+ function isLiveDashboardSessionEntry(entry) {
65
+ return isAttachableDashboardSessionEntry(entry);
66
+ }
67
+ function hasLiveManagedAgentWindow(host, sessionId) {
68
+ try {
69
+ if (!host.tmuxRuntimeManager?.listProjectManagedWindows)
70
+ return false;
71
+ return host.tmuxRuntimeManager.listProjectManagedWindows(process.cwd()).some(({ target, metadata }) => {
72
+ if (isDashboardWindowName(target.windowName))
73
+ return false;
74
+ if (metadata.kind !== "agent" || metadata.sessionId !== sessionId)
75
+ return false;
76
+ if (host.tmuxRuntimeManager.isWindowAlive && !host.tmuxRuntimeManager.isWindowAlive(target))
77
+ return false;
78
+ return true;
79
+ });
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ async function waitForDashboardSessionResumeSettle(host, sessionId, timeoutMs = 10_000) {
86
+ const deadline = Date.now() + timeoutMs;
87
+ while (Date.now() < deadline) {
88
+ await host.refreshDashboardModelFromService(true);
89
+ const entry = host.getDashboardSessions().find((candidate) => candidate.id === sessionId);
90
+ if (isLiveDashboardSessionEntry(entry)) {
91
+ if (entry?.status === "offline" || entry?.pendingAction === "starting") {
92
+ if (typeof host.refreshLocalDashboardModel === "function") {
93
+ host.refreshLocalDashboardModel();
94
+ }
95
+ if (typeof host.renderDashboard === "function") {
96
+ host.renderDashboard();
97
+ }
98
+ }
99
+ return true;
100
+ }
101
+ if (typeof host.waitForSessionStart === "function" &&
102
+ (await host.waitForSessionStart(sessionId, Math.min(100, Math.max(0, deadline - Date.now()))))) {
103
+ host.refreshLocalDashboardModel();
104
+ host.renderDashboard();
105
+ const refreshedEntry = host.getDashboardSessions().find((candidate) => candidate.id === sessionId);
106
+ if (isLiveDashboardSessionEntry(refreshedEntry))
107
+ return true;
108
+ }
109
+ if (hasLiveManagedAgentWindow(host, sessionId)) {
110
+ if (typeof host.refreshDashboardModelFromService === "function") {
111
+ await host.refreshDashboardModelFromService(true);
112
+ }
113
+ if (typeof host.refreshLocalDashboardModel === "function") {
114
+ host.refreshLocalDashboardModel();
115
+ }
116
+ if (typeof host.renderDashboard === "function") {
117
+ host.renderDashboard();
118
+ }
119
+ return true;
120
+ }
121
+ await new Promise((resolve) => setTimeout(resolve, 100));
122
+ }
123
+ return false;
124
+ }
125
+ function isLiveDashboardServiceEntry(entry) {
126
+ return isLiveDashboardServiceRuntimeEntry(entry);
127
+ }
128
+ async function waitForRenderedDashboardServiceState(host, serviceId, predicate, timeoutMs = 10_000) {
129
+ const deadline = Date.now() + timeoutMs;
130
+ while (Date.now() < deadline) {
131
+ await host.refreshDashboardModelFromService(true);
132
+ const service = host.getDashboardServices().find((entry) => entry.id === serviceId);
133
+ if (predicate(service)) {
134
+ if (isLiveDashboardServiceEntry(service) &&
135
+ (service?.status !== "running" || service?.pendingAction === "starting")) {
136
+ if (typeof host.refreshLocalDashboardModel === "function") {
137
+ host.refreshLocalDashboardModel();
138
+ }
139
+ if (typeof host.renderDashboard === "function") {
140
+ host.renderDashboard();
141
+ }
142
+ }
143
+ return true;
144
+ }
145
+ await new Promise((resolve) => setTimeout(resolve, 100));
146
+ }
147
+ return false;
148
+ }
149
+ async function waitForStableDashboardServiceAbsence(host, serviceId, timeoutMs = 10_000, stableMs = 350) {
150
+ const deadline = Date.now() + timeoutMs;
151
+ let missingSince = null;
152
+ while (Date.now() < deadline) {
153
+ await host.refreshDashboardModelFromService(true);
154
+ const service = host.getDashboardServices().find((entry) => entry.id === serviceId);
155
+ if (service) {
156
+ missingSince = null;
157
+ }
158
+ else {
159
+ missingSince ??= Date.now();
160
+ if (Date.now() - missingSince >= stableMs)
161
+ return true;
162
+ }
163
+ await new Promise((resolve) => setTimeout(resolve, 100));
164
+ }
165
+ return false;
166
+ }
167
+ async function runDashboardSessionMutation(host, opts) {
168
+ host.setPendingDashboardSessionAction(opts.sessionId, opts.pendingAction, { sessionSeed: opts.sessionSeed });
169
+ opts.onBeforeRequest?.();
170
+ host.renderDashboard();
171
+ try {
172
+ await opts.request();
173
+ assertDashboardMutationSettled(await opts.settle(), opts.pendingAction);
174
+ host.setPendingDashboardSessionAction(opts.sessionId, null);
175
+ opts.onAfterSettle?.();
176
+ if (opts.successFlash) {
177
+ host.footerFlash = opts.successFlash.message;
178
+ host.footerFlashTicks = opts.successFlash.ticks ?? 3;
179
+ }
180
+ host.renderDashboard();
181
+ }
182
+ catch (error) {
183
+ host.setPendingDashboardSessionAction(opts.sessionId, null);
184
+ await opts.onError?.();
185
+ host.showDashboardError(opts.errorTitle, [error instanceof Error ? error.message : String(error)]);
186
+ }
187
+ }
188
+ async function runDashboardServiceMutation(host, opts) {
189
+ host.setPendingDashboardSessionAction(opts.serviceId, opts.pendingAction, { serviceSeed: opts.serviceSeed });
190
+ opts.onBeforeRequest?.();
191
+ host.renderDashboard();
192
+ try {
193
+ await opts.request();
194
+ assertDashboardMutationSettled(await opts.settle(), opts.pendingAction);
195
+ host.setPendingDashboardSessionAction(opts.serviceId, null);
196
+ opts.onAfterSettle?.();
197
+ if (opts.successFlash) {
198
+ host.footerFlash = opts.successFlash.message;
199
+ host.footerFlashTicks = opts.successFlash.ticks ?? 3;
200
+ }
201
+ host.renderDashboard();
202
+ }
203
+ catch (error) {
204
+ host.setPendingDashboardSessionAction(opts.serviceId, null);
205
+ await opts.onError?.();
206
+ host.showDashboardError(opts.errorTitle, [error instanceof Error ? error.message : String(error)]);
207
+ }
208
+ }
4
209
  export async function runDashboardOperation(host, title, lines, work, errorTitle = title) {
5
210
  return host.dashboardFeedback.runOperation(title, lines, work, errorTitle);
6
211
  }
7
- export function setPendingDashboardSessionAction(host, sessionId, kind) {
8
- host.dashboardPendingActions.set(sessionId, kind);
212
+ export async function spawnDashboardAgentWithFeedback(host, input) {
213
+ await runDashboardSessionMutation(host, {
214
+ sessionId: input.sessionId,
215
+ pendingAction: "creating",
216
+ onBeforeRequest: () => {
217
+ host.preferDashboardEntrySelection("session", input.sessionId, input.worktreePath);
218
+ host.setPendingDashboardSessionAction(input.sessionId, "creating", {
219
+ sessionSeed: buildPendingSessionSeed({
220
+ sessionId: input.sessionId,
221
+ tool: input.tool,
222
+ worktreePath: input.worktreePath,
223
+ pendingAction: "creating",
224
+ }),
225
+ });
226
+ },
227
+ request: async () => {
228
+ await host.postToProjectService("/agents/spawn", {
229
+ tool: input.tool,
230
+ sessionId: input.sessionId,
231
+ worktreePath: input.worktreePath,
232
+ extraArgs: input.extraArgs,
233
+ open: false,
234
+ }, { timeoutMs: 10_000 });
235
+ },
236
+ settle: () => waitForRenderedDashboardSessionState(host, input.sessionId, isAttachableDashboardSessionEntry),
237
+ onError: () => host.refreshDashboardModelFromService(true),
238
+ errorTitle: `Failed to create ${input.tool} agent`,
239
+ });
240
+ }
241
+ export async function forkDashboardAgentWithFeedback(host, input) {
242
+ await runDashboardSessionMutation(host, {
243
+ sessionId: input.targetSessionId,
244
+ pendingAction: "forking",
245
+ onBeforeRequest: () => {
246
+ host.preferDashboardEntrySelection("session", input.targetSessionId, input.worktreePath);
247
+ host.setPendingDashboardSessionAction(input.targetSessionId, "forking", {
248
+ sessionSeed: buildPendingSessionSeed({
249
+ sessionId: input.targetSessionId,
250
+ tool: input.tool,
251
+ worktreePath: input.worktreePath,
252
+ pendingAction: "forking",
253
+ }),
254
+ });
255
+ },
256
+ request: async () => {
257
+ await host.postToProjectService("/agents/fork", {
258
+ sourceSessionId: input.sourceSessionId,
259
+ targetSessionId: input.targetSessionId,
260
+ tool: input.tool,
261
+ instruction: input.instruction,
262
+ worktreePath: input.worktreePath,
263
+ extraArgs: input.extraArgs,
264
+ open: false,
265
+ }, { timeoutMs: 10_000 });
266
+ },
267
+ settle: () => waitForRenderedDashboardSessionState(host, input.targetSessionId, isAttachableDashboardSessionEntry),
268
+ onError: () => host.refreshDashboardModelFromService(true),
269
+ errorTitle: "Cannot fork session",
270
+ });
271
+ }
272
+ export function setPendingDashboardSessionAction(host, sessionId, kind, opts) {
273
+ host.dashboardPendingActions.set(sessionId, kind, opts);
274
+ if (typeof host.reapplyDashboardPendingActions === "function") {
275
+ host.reapplyDashboardPendingActions();
276
+ }
9
277
  }
10
278
  export async function stopSessionToOfflineWithFeedback(host, session) {
279
+ if (host.mode === "dashboard") {
280
+ const label = host.getSessionLabel(session.id) ?? session.label ?? session.command;
281
+ const sessionSeed = host.getDashboardSessions?.().find((entry) => entry.id === session.id) ??
282
+ {
283
+ index: -1,
284
+ id: session.id,
285
+ command: session.command,
286
+ label,
287
+ status: "running",
288
+ active: false,
289
+ worktreePath: session.worktreePath,
290
+ };
291
+ await runDashboardSessionMutation(host, {
292
+ sessionId: session.id,
293
+ pendingAction: "stopping",
294
+ sessionSeed,
295
+ onBeforeRequest: () => {
296
+ host.footerFlash = `Stopping ${label}`;
297
+ host.footerFlashTicks = 3;
298
+ },
299
+ request: async () => {
300
+ await host.postToProjectService("/agents/stop", { sessionId: session.id }, { timeoutMs: 10_000 });
301
+ },
302
+ settle: () => refreshDashboardModelAfterAuthoritativeMutation(host),
303
+ successFlash: { message: `Stopped ${label}` },
304
+ onError: () => host.refreshDashboardModelFromService(true),
305
+ errorTitle: `Failed to stop "${label}"`,
306
+ });
307
+ return;
308
+ }
11
309
  await runStopSessionToOfflineWithFeedback(dashboardSessionActionDeps(host), session);
12
310
  }
13
311
  export function clearDashboardSubscreens(host) {
@@ -40,14 +338,20 @@ export function renderSessionDetails(host, session, width, height) {
40
338
  if (session.repoRemote) {
41
339
  lines.push(...wrapKeyValue("Remote", session.repoRemote, width));
42
340
  }
43
- if (session.activity) {
44
- lines.push(...wrapKeyValue("Activity", session.activity, width));
45
- }
46
- if (session.attention && session.attention !== "normal") {
47
- lines.push(...wrapKeyValue("Attention", session.attention, width));
48
- }
49
- if ((session.unseenCount ?? 0) > 0) {
50
- lines.push(...wrapKeyValue("Unseen", String(session.unseenCount), width));
341
+ if (session.semantic) {
342
+ lines.push(...wrapKeyValue("State", session.semantic.presentation.statusLabel, width));
343
+ if (session.semantic.user.attention !== "none") {
344
+ lines.push(...wrapKeyValue("Attention", session.semantic.user.attention, width));
345
+ }
346
+ if (session.semantic.notifications.unreadCount > 0) {
347
+ lines.push(...wrapKeyValue("Unread", String(session.semantic.notifications.unreadCount), width));
348
+ }
349
+ if (session.semantic.notifications.latestText) {
350
+ lines.push(...wrapKeyValue("Latest", session.semantic.notifications.latestText, width));
351
+ }
352
+ if (session.semantic.activityNewCount > 0) {
353
+ lines.push(...wrapKeyValue("New activity", String(session.semantic.activityNewCount), width));
354
+ }
51
355
  }
52
356
  if (session.lastEvent?.message) {
53
357
  lines.push(...wrapKeyValue("Last", session.lastEvent.message, width));
@@ -114,11 +418,182 @@ export function basenameForHost(value) {
114
418
  }
115
419
  export async function graveyardSessionWithFeedback(host, sessionId, hasWorktrees) {
116
420
  const session = host.offlineSessions.find((s) => s.id === sessionId) ?? host.sessions.find((s) => s.id === sessionId);
421
+ if (host.mode === "dashboard") {
422
+ if (!session)
423
+ return;
424
+ const label = host.getSessionLabel(sessionId) ?? session.label ?? session.command;
425
+ await runDashboardSessionMutation(host, {
426
+ sessionId,
427
+ pendingAction: "graveyarding",
428
+ request: async () => {
429
+ await host.postToProjectService("/agents/kill", { sessionId }, { timeoutMs: 10_000 });
430
+ },
431
+ settle: () => waitForStableDashboardSessionAbsence(host, sessionId),
432
+ onAfterSettle: () => host.adjustAfterRemove(hasWorktrees),
433
+ successFlash: { message: `Sent ${label} to graveyard` },
434
+ onError: () => host.refreshDashboardModelFromService(true),
435
+ errorTitle: `Failed to graveyard "${label}"`,
436
+ });
437
+ return;
438
+ }
117
439
  await runGraveyardSessionWithFeedback(dashboardSessionActionDeps(host), session, sessionId, hasWorktrees);
118
440
  }
119
441
  export async function resumeOfflineSessionWithFeedback(host, session) {
442
+ if (host.mode === "dashboard") {
443
+ const label = session.label ?? session.command;
444
+ if (host.dashboardPendingActions.get(session.id) === "starting") {
445
+ return;
446
+ }
447
+ const sessionSeed = host.getDashboardSessions?.().find((entry) => entry.id === session.id) ??
448
+ {
449
+ index: -1,
450
+ id: session.id,
451
+ command: session.command,
452
+ label,
453
+ status: "offline",
454
+ active: false,
455
+ worktreePath: session.worktreePath,
456
+ };
457
+ await runDashboardSessionMutation(host, {
458
+ sessionId: session.id,
459
+ pendingAction: "starting",
460
+ sessionSeed,
461
+ onBeforeRequest: () => {
462
+ host.footerFlash = `Restoring ${label}`;
463
+ host.footerFlashTicks = 3;
464
+ },
465
+ request: async () => {
466
+ await host.postToProjectService("/agents/resume", { sessionId: session.id }, { timeoutMs: 10_000 });
467
+ },
468
+ settle: () => waitForDashboardSessionResumeSettle(host, session.id),
469
+ successFlash: { message: `Restored ${label}` },
470
+ onError: () => host.refreshDashboardModelFromService(true),
471
+ errorTitle: `Failed to restore "${label}"`,
472
+ });
473
+ return;
474
+ }
120
475
  await runResumeOfflineSessionWithFeedback(dashboardSessionActionDeps(host), session);
121
476
  }
477
+ export async function resumeOfflineServiceWithFeedback(host, service) {
478
+ if (host.dashboardPendingActions.get(service.id) === "starting") {
479
+ return;
480
+ }
481
+ if (host.mode === "dashboard") {
482
+ const serviceSeed = host.getDashboardServices?.().find((entry) => entry.id === service.id) ?? {
483
+ id: service.id,
484
+ command: service.label ?? "service",
485
+ args: [],
486
+ status: "offline",
487
+ active: false,
488
+ label: service.label,
489
+ };
490
+ await runDashboardServiceMutation(host, {
491
+ serviceId: service.id,
492
+ pendingAction: "starting",
493
+ serviceSeed,
494
+ onBeforeRequest: () => {
495
+ host.footerFlash = `Restoring ${service.label ?? service.id}`;
496
+ host.footerFlashTicks = 3;
497
+ },
498
+ request: async () => {
499
+ await host.postToProjectService("/services/resume", { serviceId: service.id }, { timeoutMs: 10_000 });
500
+ },
501
+ settle: () => waitForRenderedDashboardServiceState(host, service.id, (entry) => isLiveDashboardServiceEntry(entry)),
502
+ successFlash: { message: `◆ Started service ${service.label ?? service.id}` },
503
+ onError: () => host.refreshDashboardModelFromService(true),
504
+ errorTitle: "Failed to start service",
505
+ });
506
+ return;
507
+ }
508
+ host.setPendingDashboardSessionAction(service.id, "starting");
509
+ host.footerFlash = `Restoring ${service.label ?? service.id}`;
510
+ host.footerFlashTicks = 3;
511
+ host.renderDashboard();
512
+ try {
513
+ host.resumeOfflineServiceById(service.id);
514
+ host.setPendingDashboardSessionAction(service.id, null);
515
+ host.footerFlash = `◆ Started service ${service.label ?? service.id}`;
516
+ host.footerFlashTicks = 3;
517
+ host.renderDashboard();
518
+ }
519
+ catch (error) {
520
+ host.setPendingDashboardSessionAction(service.id, null);
521
+ host.refreshLocalDashboardModel();
522
+ host.showDashboardError("Failed to start service", [error instanceof Error ? error.message : String(error)]);
523
+ }
524
+ }
525
+ export async function createDashboardServiceWithFeedback(host, commandLine, worktreePath) {
526
+ const serviceId = generateServiceId();
527
+ const trimmed = commandLine.trim();
528
+ const label = serviceLabelForCommand(trimmed);
529
+ const serviceSeed = {
530
+ id: serviceId,
531
+ command: trimmed ? process.env.SHELL || "shell" : "shell",
532
+ args: trimmed ? ["-lc", trimmed] : ["-l"],
533
+ createdAt: new Date().toISOString(),
534
+ worktreePath,
535
+ status: "running",
536
+ active: false,
537
+ label,
538
+ optimistic: true,
539
+ };
540
+ await runDashboardServiceMutation(host, {
541
+ serviceId,
542
+ pendingAction: "creating",
543
+ serviceSeed,
544
+ onBeforeRequest: () => {
545
+ host.preferDashboardEntrySelection?.("service", serviceId, worktreePath);
546
+ host.footerFlash = `Creating service ${label}`;
547
+ host.footerFlashTicks = 3;
548
+ },
549
+ request: async () => {
550
+ await host.postToProjectService("/services/create", { serviceId, command: commandLine, worktreePath }, { timeoutMs: 10_000 });
551
+ },
552
+ settle: () => waitForRenderedDashboardServiceState(host, serviceId, (entry) => isLiveDashboardServiceEntry(entry)),
553
+ successFlash: { message: `◆ Created service ${label}` },
554
+ onError: () => host.refreshDashboardModelFromService(true),
555
+ errorTitle: "Failed to create service",
556
+ });
557
+ }
558
+ export async function stopDashboardServiceWithFeedback(host, service) {
559
+ const serviceSeed = host.getDashboardServices?.().find((entry) => entry.id === service.id) ?? {
560
+ id: service.id,
561
+ command: service.label ?? "service",
562
+ args: [],
563
+ status: "running",
564
+ active: false,
565
+ label: service.label,
566
+ };
567
+ await runDashboardServiceMutation(host, {
568
+ serviceId: service.id,
569
+ pendingAction: "stopping",
570
+ serviceSeed,
571
+ onBeforeRequest: () => {
572
+ host.footerFlash = `Stopping ${service.label ?? service.id}`;
573
+ host.footerFlashTicks = 3;
574
+ },
575
+ request: async () => {
576
+ await host.postToProjectService("/services/stop", { serviceId: service.id }, { timeoutMs: 10_000 });
577
+ },
578
+ settle: () => refreshDashboardModelAfterAuthoritativeMutation(host),
579
+ successFlash: { message: `◆ Stopped service ${service.label ?? service.id}` },
580
+ onError: () => host.refreshDashboardModelFromService(true),
581
+ errorTitle: "Failed to stop service",
582
+ });
583
+ }
584
+ export async function removeDashboardServiceWithFeedback(host, service) {
585
+ await runDashboardServiceMutation(host, {
586
+ serviceId: service.id,
587
+ pendingAction: "removing",
588
+ request: async () => {
589
+ await host.postToProjectService("/services/remove", { serviceId: service.id }, { timeoutMs: 10_000 });
590
+ },
591
+ settle: () => waitForStableDashboardServiceAbsence(host, service.id),
592
+ successFlash: { message: `◆ Deleted service ${service.label ?? service.id}` },
593
+ onError: () => host.refreshDashboardModelFromService(true),
594
+ errorTitle: "Failed to delete service",
595
+ });
596
+ }
122
597
  export async function waitForSessionStartForHost(host, sessionId, timeoutMs = 8000) {
123
598
  return waitForSessionStart(sessionId, dashboardSessionActionDeps(host), timeoutMs);
124
599
  }
@@ -130,10 +605,14 @@ export function dashboardSessionActionDeps(host) {
130
605
  stopSessionToOffline: (session) => host.stopSessionToOffline(session),
131
606
  isGraveyardAfterStop: (sessionId) => host.graveyardAfterStopSessionIds.has(sessionId),
132
607
  sendAgentToGraveyard: (sessionId) => host.sendAgentToGraveyard(sessionId).then(() => undefined),
133
- resumeOfflineSession: (session) => host.resumeOfflineSession(session),
608
+ resumeOfflineSession: (session) => host.mode === "dashboard"
609
+ ? host
610
+ .postToProjectService("/agents/resume", { sessionId: session.id }, { timeoutMs: 10_000 })
611
+ .then(() => undefined)
612
+ : host.resumeOfflineSession(session),
134
613
  refreshLocalDashboardModel: () => host.refreshLocalDashboardModel(),
135
614
  adjustAfterRemove: (hasWorktrees) => host.adjustAfterRemove(hasWorktrees),
136
- renderDashboard: () => host.renderDashboard(),
615
+ renderDashboard: () => host.renderCurrentDashboardView(),
137
616
  showDashboardError: (title, lines) => host.showDashboardError(title, lines),
138
617
  setFooterFlash: (message, ticks) => {
139
618
  host.footerFlash = message;
@@ -149,8 +628,8 @@ export async function takeoverFromDashEntryWithFeedback(host, entry) {
149
628
  }
150
629
  export async function migrateSessionWithFeedback(host, session, targetPath, targetName) {
151
630
  const label = host.getSessionLabel(session.id) ?? session.command;
152
- host.setPendingDashboardSessionAction(session.id, "migrating");
153
- void (async () => {
631
+ if (host.mode !== "dashboard") {
632
+ host.setPendingDashboardSessionAction(session.id, "migrating");
154
633
  try {
155
634
  await host.migrateAgent(session.id, targetPath);
156
635
  await waitForSessionExit(session);
@@ -164,6 +643,29 @@ export async function migrateSessionWithFeedback(host, session, targetPath, targ
164
643
  host.setPendingDashboardSessionAction(session.id, null);
165
644
  host.showDashboardError(`Failed to migrate "${label}"`, [error instanceof Error ? error.message : String(error)]);
166
645
  }
167
- })();
646
+ return;
647
+ }
648
+ const sessionSeed = host.getDashboardSessions?.().find((entry) => entry.id === session.id) ??
649
+ {
650
+ index: -1,
651
+ id: session.id,
652
+ command: session.command,
653
+ label,
654
+ status: "running",
655
+ active: false,
656
+ worktreePath: session.worktreePath,
657
+ };
658
+ await runDashboardSessionMutation(host, {
659
+ sessionId: session.id,
660
+ pendingAction: "migrating",
661
+ sessionSeed,
662
+ request: async () => {
663
+ await host.postToProjectService("/agents/migrate", { sessionId: session.id, worktreePath: targetPath }, { timeoutMs: 10_000 });
664
+ },
665
+ settle: () => waitForDashboardSessionResumeSettle(host, session.id),
666
+ successFlash: { message: `Migrated ${label} to ${targetName}` },
667
+ onError: () => host.refreshDashboardModelFromService(true),
668
+ errorTitle: `Failed to migrate "${label}"`,
669
+ });
168
670
  }
169
671
  //# sourceMappingURL=dashboard-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-ops.js","sourceRoot":"","sources":["../../src/multiplexer/dashboard-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-ops.js","sourceRoot":"","sources":["../../src/multiplexer/dashboard-ops.ts"],"names":[],"mappings":"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"}