aimux-cli 0.1.4 → 0.1.6

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 (166) hide show
  1. package/dist/builtin-metadata-watchers.js +1 -1
  2. package/dist/context/context-bridge.d.ts +1 -1
  3. package/dist/context/context-bridge.js +1 -1
  4. package/dist/dashboard/command-spec.d.ts +7 -0
  5. package/dist/dashboard/command-spec.js +127 -0
  6. package/dist/dashboard/command-spec.js.map +1 -0
  7. package/dist/{dashboard-feedback.js → dashboard/feedback.js} +1 -1
  8. package/dist/dashboard/feedback.js.map +1 -0
  9. package/dist/{dashboard.d.ts → dashboard/index.d.ts} +16 -5
  10. package/dist/{dashboard.js → dashboard/index.js} +7 -4
  11. package/dist/dashboard/index.js.map +1 -0
  12. package/dist/{dashboard-pending-actions.d.ts → dashboard/pending-actions.d.ts} +8 -3
  13. package/dist/dashboard/pending-actions.js +90 -0
  14. package/dist/dashboard/pending-actions.js.map +1 -0
  15. package/dist/{dashboard-session-actions.d.ts → dashboard/session-actions.d.ts} +2 -2
  16. package/dist/{dashboard-session-actions.js → dashboard/session-actions.js} +1 -1
  17. package/dist/dashboard/session-actions.js.map +1 -0
  18. package/dist/{dashboard-session-registry.d.ts → dashboard/session-registry.d.ts} +7 -7
  19. package/dist/{dashboard-session-registry.js → dashboard/session-registry.js} +2 -2
  20. package/dist/dashboard/session-registry.js.map +1 -0
  21. package/dist/{dashboard-state.d.ts → dashboard/state.d.ts} +1 -1
  22. package/dist/{dashboard-state.js → dashboard/state.js} +1 -1
  23. package/dist/dashboard/state.js.map +1 -0
  24. package/dist/{dashboard-targets.d.ts → dashboard/targets.d.ts} +1 -6
  25. package/dist/{dashboard-targets.js → dashboard/targets.js} +5 -123
  26. package/dist/dashboard/targets.js.map +1 -0
  27. package/dist/{dashboard-ui-state-store.d.ts → dashboard/ui-state-store.d.ts} +2 -2
  28. package/dist/{dashboard-ui-state-store.js → dashboard/ui-state-store.js} +2 -2
  29. package/dist/dashboard/ui-state-store.js.map +1 -0
  30. package/dist/fast-control.d.ts +1 -1
  31. package/dist/fast-control.js +1 -1
  32. package/dist/instance-directory.js +1 -1
  33. package/dist/main.js +27 -13
  34. package/dist/main.js.map +1 -1
  35. package/dist/metadata-server.js +4 -17
  36. package/dist/metadata-server.js.map +1 -1
  37. package/dist/multiplexer/agent-io-methods.d.ts +40 -0
  38. package/dist/multiplexer/agent-io-methods.js +177 -0
  39. package/dist/multiplexer/agent-io-methods.js.map +1 -0
  40. package/dist/multiplexer/archives.d.ts +15 -0
  41. package/dist/multiplexer/archives.js +270 -0
  42. package/dist/multiplexer/archives.js.map +1 -0
  43. package/dist/multiplexer/dashboard-actions-methods.d.ts +57 -0
  44. package/dist/multiplexer/dashboard-actions-methods.js +159 -0
  45. package/dist/multiplexer/dashboard-actions-methods.js.map +1 -0
  46. package/dist/multiplexer/dashboard-control.d.ts +36 -0
  47. package/dist/multiplexer/dashboard-control.js +571 -0
  48. package/dist/multiplexer/dashboard-control.js.map +1 -0
  49. package/dist/multiplexer/dashboard-interaction.d.ts +12 -0
  50. package/dist/multiplexer/dashboard-interaction.js +552 -0
  51. package/dist/multiplexer/dashboard-interaction.js.map +1 -0
  52. package/dist/multiplexer/dashboard-model.d.ts +40 -0
  53. package/dist/multiplexer/dashboard-model.js +420 -0
  54. package/dist/multiplexer/dashboard-model.js.map +1 -0
  55. package/dist/multiplexer/dashboard-ops.d.ts +35 -0
  56. package/dist/multiplexer/dashboard-ops.js +158 -0
  57. package/dist/multiplexer/dashboard-ops.js.map +1 -0
  58. package/dist/multiplexer/dashboard-state-methods.d.ts +56 -0
  59. package/dist/multiplexer/dashboard-state-methods.js +123 -0
  60. package/dist/multiplexer/dashboard-state-methods.js.map +1 -0
  61. package/dist/multiplexer/dashboard-tail-methods.d.ts +104 -0
  62. package/dist/multiplexer/dashboard-tail-methods.js +252 -0
  63. package/dist/multiplexer/dashboard-tail-methods.js.map +1 -0
  64. package/dist/multiplexer/dashboard-view-methods.d.ts +51 -0
  65. package/dist/multiplexer/dashboard-view-methods.js +159 -0
  66. package/dist/multiplexer/dashboard-view-methods.js.map +1 -0
  67. package/dist/multiplexer/index.d.ts +205 -0
  68. package/dist/multiplexer/index.js +444 -0
  69. package/dist/multiplexer/index.js.map +1 -0
  70. package/dist/multiplexer/navigation.d.ts +17 -0
  71. package/dist/multiplexer/navigation.js +203 -0
  72. package/dist/multiplexer/navigation.js.map +1 -0
  73. package/dist/multiplexer/notifications.d.ts +6 -0
  74. package/dist/multiplexer/notifications.js +75 -0
  75. package/dist/multiplexer/notifications.js.map +1 -0
  76. package/dist/multiplexer/persistence-methods.d.ts +77 -0
  77. package/dist/multiplexer/persistence-methods.js +347 -0
  78. package/dist/multiplexer/persistence-methods.js.map +1 -0
  79. package/dist/multiplexer/runtime-lifecycle-methods.d.ts +36 -0
  80. package/dist/multiplexer/runtime-lifecycle-methods.js +235 -0
  81. package/dist/multiplexer/runtime-lifecycle-methods.js.map +1 -0
  82. package/dist/multiplexer/runtime-state.d.ts +32 -0
  83. package/dist/multiplexer/runtime-state.js +439 -0
  84. package/dist/multiplexer/runtime-state.js.map +1 -0
  85. package/dist/{multiplexer-runtime-sync.d.ts → multiplexer/runtime-sync.d.ts} +2 -2
  86. package/dist/{multiplexer-runtime-sync.js → multiplexer/runtime-sync.js} +1 -1
  87. package/dist/multiplexer/runtime-sync.js.map +1 -0
  88. package/dist/multiplexer/services.d.ts +23 -0
  89. package/dist/multiplexer/services.js +187 -0
  90. package/dist/multiplexer/services.js.map +1 -0
  91. package/dist/multiplexer/session-actions.d.ts +36 -0
  92. package/dist/multiplexer/session-actions.js +108 -0
  93. package/dist/multiplexer/session-actions.js.map +1 -0
  94. package/dist/multiplexer/session-launch.d.ts +20 -0
  95. package/dist/multiplexer/session-launch.js +407 -0
  96. package/dist/multiplexer/session-launch.js.map +1 -0
  97. package/dist/multiplexer/session-runtime-core.d.ts +37 -0
  98. package/dist/multiplexer/session-runtime-core.js +400 -0
  99. package/dist/multiplexer/session-runtime-core.js.map +1 -0
  100. package/dist/multiplexer/subscreens.d.ts +30 -0
  101. package/dist/multiplexer/subscreens.js +685 -0
  102. package/dist/multiplexer/subscreens.js.map +1 -0
  103. package/dist/multiplexer/tool-picker.d.ts +8 -0
  104. package/dist/multiplexer/tool-picker.js +142 -0
  105. package/dist/multiplexer/tool-picker.js.map +1 -0
  106. package/dist/multiplexer/worktrees.d.ts +12 -0
  107. package/dist/multiplexer/worktrees.js +181 -0
  108. package/dist/multiplexer/worktrees.js.map +1 -0
  109. package/dist/notification-context.js +6 -1
  110. package/dist/notification-context.js.map +1 -1
  111. package/dist/notify.js +19 -1
  112. package/dist/notify.js.map +1 -1
  113. package/dist/project-events.d.ts +2 -0
  114. package/dist/project-events.js +1 -0
  115. package/dist/project-events.js.map +1 -1
  116. package/dist/project-scanner.d.ts +1 -1
  117. package/dist/project-scanner.js +1 -1
  118. package/dist/session-bootstrap.d.ts +1 -1
  119. package/dist/session-semantics.d.ts +1 -1
  120. package/dist/{tmux-doctor.d.ts → tmux/doctor.d.ts} +1 -1
  121. package/dist/{tmux-doctor.js → tmux/doctor.js} +4 -3
  122. package/dist/tmux/doctor.js.map +1 -0
  123. package/dist/{tmux-runtime-manager.d.ts → tmux/runtime-manager.d.ts} +3 -0
  124. package/dist/{tmux-runtime-manager.js → tmux/runtime-manager.js} +81 -17
  125. package/dist/tmux/runtime-manager.js.map +1 -0
  126. package/dist/{tmux-session-transport.d.ts → tmux/session-transport.d.ts} +2 -2
  127. package/dist/{tmux-session-transport.js → tmux/session-transport.js} +2 -2
  128. package/dist/tmux/session-transport.js.map +1 -0
  129. package/dist/{tmux-statusline.d.ts → tmux/statusline.d.ts} +1 -1
  130. package/dist/{tmux-statusline.js → tmux/statusline.js} +4 -4
  131. package/dist/tmux/statusline.js.map +1 -0
  132. package/dist/{tmux-switcher.js → tmux/switcher.js} +7 -7
  133. package/dist/tmux/switcher.js.map +1 -0
  134. package/dist/{tmux-window-open.d.ts → tmux/window-open.d.ts} +1 -1
  135. package/dist/{tmux-window-open.js → tmux/window-open.js} +1 -1
  136. package/dist/tmux/window-open.js.map +1 -0
  137. package/dist/tool-output-watchers.js +1 -1
  138. package/dist/tui/render/box.js +25 -6
  139. package/dist/tui/render/box.js.map +1 -1
  140. package/dist/tui/screens/dashboard-renderers.d.ts +3 -2
  141. package/dist/tui/screens/dashboard-renderers.js +17 -2
  142. package/dist/tui/screens/dashboard-renderers.js.map +1 -1
  143. package/dist/tui/screens/overlay-renderers.js +2 -2
  144. package/dist/tui/screens/overlay-renderers.js.map +1 -1
  145. package/package.json +1 -1
  146. package/dist/dashboard-feedback.js.map +0 -1
  147. package/dist/dashboard-pending-actions.js +0 -52
  148. package/dist/dashboard-pending-actions.js.map +0 -1
  149. package/dist/dashboard-session-actions.js.map +0 -1
  150. package/dist/dashboard-session-registry.js.map +0 -1
  151. package/dist/dashboard-state.js.map +0 -1
  152. package/dist/dashboard-targets.js.map +0 -1
  153. package/dist/dashboard-ui-state-store.js.map +0 -1
  154. package/dist/dashboard.js.map +0 -1
  155. package/dist/multiplexer-runtime-sync.js.map +0 -1
  156. package/dist/multiplexer.d.ts +0 -500
  157. package/dist/multiplexer.js +0 -6081
  158. package/dist/multiplexer.js.map +0 -1
  159. package/dist/tmux-doctor.js.map +0 -1
  160. package/dist/tmux-runtime-manager.js.map +0 -1
  161. package/dist/tmux-session-transport.js.map +0 -1
  162. package/dist/tmux-statusline.js.map +0 -1
  163. package/dist/tmux-switcher.js.map +0 -1
  164. package/dist/tmux-window-open.js.map +0 -1
  165. /package/dist/{dashboard-feedback.d.ts → dashboard/feedback.d.ts} +0 -0
  166. /package/dist/{tmux-switcher.d.ts → tmux/switcher.d.ts} +0 -0
@@ -1,500 +0,0 @@
1
- import { SessionRuntime, type SessionTransport } from "./session-runtime.js";
2
- import { type TmuxTarget } from "./tmux-runtime-manager.js";
3
- import { type ParsedAgentOutput } from "./agent-output-parser.js";
4
- import { type AgentInputPart } from "./agent-message-parts.js";
5
- import { readSessionMessages } from "./session-message-history.js";
6
- export type MuxMode = "dashboard" | "project-service";
7
- export interface SessionState {
8
- id: string;
9
- tool: string;
10
- toolConfigKey: string;
11
- command: string;
12
- args: string[];
13
- backendSessionId?: string;
14
- worktreePath?: string;
15
- label?: string;
16
- headline?: string;
17
- tmuxTarget?: TmuxTarget;
18
- }
19
- export interface ServiceState {
20
- id: string;
21
- worktreePath?: string;
22
- label?: string;
23
- launchCommandLine?: string;
24
- }
25
- export interface SavedState {
26
- savedAt: string;
27
- cwd: string;
28
- sessions: SessionState[];
29
- services?: ServiceState[];
30
- }
31
- type ManagedSession = SessionRuntime;
32
- export declare class Multiplexer {
33
- private readonly projectRoot;
34
- private sessions;
35
- private offlineServices;
36
- private activeIndex;
37
- private mode;
38
- private hotkeys;
39
- private dashboard;
40
- private terminalHost;
41
- private onStdinData;
42
- private onResize;
43
- private resolveRun;
44
- private defaultCommand;
45
- private defaultArgs;
46
- private startedInDashboard;
47
- private pickerActive;
48
- private pickerMode;
49
- private forkSourceSessionId;
50
- private worktreeInputActive;
51
- private worktreeInputBuffer;
52
- private serviceInputActive;
53
- private serviceInputBuffer;
54
- private labelInputActive;
55
- private labelInputBuffer;
56
- private labelInputTarget;
57
- private orchestrationInputActive;
58
- private orchestrationInputBuffer;
59
- private orchestrationInputTarget;
60
- private orchestrationInputMode;
61
- private orchestrationRoutePickerActive;
62
- private orchestrationRouteMode;
63
- private orchestrationRouteOptions;
64
- private worktreeListActive;
65
- private worktreeRemoveConfirm;
66
- private worktreeRemovalJob;
67
- private readonly dashboardFeedback;
68
- private migratePickerActive;
69
- private migratePickerWorktrees;
70
- private graveyardEntries;
71
- private graveyardIndex;
72
- private activityEntries;
73
- private activityIndex;
74
- private workflowEntries;
75
- private workflowIndex;
76
- private workflowFilter;
77
- private threadEntries;
78
- private threadIndex;
79
- private threadReplyActive;
80
- private threadReplyBuffer;
81
- private planEntries;
82
- private planIndex;
83
- private notificationPanelState;
84
- private dashboardPendingActions;
85
- private stoppingSessionIds;
86
- private graveyardAfterStopSessionIds;
87
- /** Quick switcher overlay state */
88
- private switcherActive;
89
- private switcherIndex;
90
- private switcherTimeout;
91
- /** MRU order of session IDs (most recent first) */
92
- private sessionMRU;
93
- /** Sessions confirmed registered in the instance registry (for claim detection) */
94
- private confirmedRegistered;
95
- /** The focused worktree path on the dashboard (undefined = main repo) */
96
- private dashboardState;
97
- private dashboardUiStateStore;
98
- private statusInterval;
99
- private agentTracker;
100
- private instanceId;
101
- private contextWatcher;
102
- private taskDispatcher;
103
- private orchestrationDispatcher;
104
- /** Maps session ID → toolConfigKey for state saving */
105
- private sessionToolKeys;
106
- /** Maps session ID → original args (before preamble injection) */
107
- private sessionOriginalArgs;
108
- /** Maps session ID → worktree path (if session runs in a worktree) */
109
- private sessionWorktreePaths;
110
- /** Maps session ID → team role (e.g. "coder", "reviewer") */
111
- private sessionRoles;
112
- /** Maps session ID → user-provided stable label */
113
- private sessionLabels;
114
- /** Offline sessions from previous runs (loaded from state.json) */
115
- private offlineSessions;
116
- /** Cross-instance discovery and claim/heartbeat ownership */
117
- private instanceDirectory;
118
- private tmuxRuntimeManager;
119
- private sessionBootstrap;
120
- private sessionTmuxTargets;
121
- private metadataServer;
122
- private eventBus;
123
- private pluginRuntime;
124
- private lastRenderedFrame;
125
- private lastStatuslineSnapshotKey;
126
- private desktopStateSnapshot;
127
- private dashboardSessionsCache;
128
- private dashboardServicesCache;
129
- private dashboardWorktreeGroupsCache;
130
- private dashboardMainCheckoutInfoCache;
131
- private dashboardModelSnapshotKey;
132
- private dashboardModelRefreshedAt;
133
- private dashboardServiceSnapshotRefreshing;
134
- private dashboardServiceRecovery;
135
- private dashboardNextBackgroundRefreshAt;
136
- private runtimeSync;
137
- constructor();
138
- get sessionCount(): number;
139
- get activeSession(): ManagedSession | null;
140
- private publishAlert;
141
- private deriveSessionSemanticState;
142
- private isTmuxBackend;
143
- private openTmuxDashboardTarget;
144
- private invalidateDashboardFrame;
145
- private isFocusInReport;
146
- private handleDashboardFocusIn;
147
- private loadDashboardUiState;
148
- private persistDashboardUiState;
149
- private restoreDashboardSelectionFromPreference;
150
- private writeFrame;
151
- private getViewportSize;
152
- private restoreDashboardAfterOverlayDismiss;
153
- private buildDashboardWorktreeGroups;
154
- private applyDashboardModel;
155
- private invalidateDesktopStateSnapshot;
156
- private refreshDesktopStateSnapshot;
157
- private computeDashboardSessions;
158
- private computeDashboardServices;
159
- private readTmuxProcessInfo;
160
- private buildDesktopStateSnapshot;
161
- private refreshDashboardModelFromService;
162
- private refreshLocalDashboardModel;
163
- private startProjectServices;
164
- private composeOrchestrationPrompt;
165
- private orchestrationWorkflowPressure;
166
- private deliverOrchestrationMessage;
167
- private sendOrchestrationMessage;
168
- private sendHandoffMessage;
169
- private stopProjectServices;
170
- private getSessionLabel;
171
- private applySessionLabel;
172
- private applyDashboardSessionLabel;
173
- private updateSessionLabel;
174
- private readStatusHeadline;
175
- private deriveHeadline;
176
- private resolveRunningSession;
177
- private writeTmuxAgentInput;
178
- private normalizeAgentInput;
179
- private paneStillContainsAgentDraft;
180
- private scheduleTmuxAgentSubmit;
181
- writeAgentInput(sessionId: string, data?: string, parts?: AgentInputPart[], clientMessageId?: string, submit?: boolean): Promise<{
182
- sessionId: string;
183
- }>;
184
- readAgentHistory(sessionId: string, lastN?: number): Promise<{
185
- sessionId: string;
186
- messages: ReturnType<typeof readSessionMessages>;
187
- lastN?: number;
188
- }>;
189
- interruptAgent(sessionId: string): Promise<{
190
- sessionId: string;
191
- }>;
192
- readAgentOutput(sessionId: string, startLine?: number): Promise<{
193
- sessionId: string;
194
- output: string;
195
- startLine?: number;
196
- parsed: ParsedAgentOutput;
197
- }>;
198
- private registerManagedSession;
199
- private handleSessionRuntimeEvent;
200
- private buildTmuxWindowMetadata;
201
- private syncTmuxWindowMetadata;
202
- private updateContextWatcherSessions;
203
- run(opts: {
204
- command: string;
205
- args: string[];
206
- }): Promise<number>;
207
- runDashboard(): Promise<number>;
208
- runProjectService(): Promise<number>;
209
- /**
210
- * Resume previous sessions using each tool's native resume mechanism.
211
- * Reads state.json and spawns sessions with resumeArgs instead of normal args.
212
- */
213
- resumeSessions(toolFilter?: string): Promise<number>;
214
- /**
215
- * Restore previous sessions by injecting prior history into the preamble.
216
- * Starts fresh sessions but with context from the previous conversation.
217
- */
218
- restoreSessions(toolFilter?: string): Promise<number>;
219
- createSession(command: string, args: string[], preambleFlag?: string[], toolConfigKey?: string, extraPreamble?: string, sessionIdFlag?: string[], worktreePath?: string, backendSessionIdOverride?: string, sessionIdOverride?: string, detachedInTmux?: boolean): SessionTransport;
220
- /**
221
- * Migrate an agent from its current worktree to a target worktree.
222
- * Copies history and context, kills the old session, starts a new one
223
- * with injected prior history.
224
- */
225
- migrateAgent(sessionId: string, targetWorktreePath: string): Promise<void>;
226
- /** Get worktree path for a session */
227
- getSessionWorktreePath(sessionId: string): string | undefined;
228
- /** Get all sessions grouped by worktree path */
229
- getSessionsByWorktree(): Map<string | undefined, ManagedSession[]>;
230
- private getScopedSessionEntries;
231
- private focusSession;
232
- private handleAction;
233
- private handleDashboardKey;
234
- private activateDashboardEntryByNumber;
235
- private activateDashboardEntry;
236
- private attentionScore;
237
- private getActivityEntries;
238
- private showActivityDashboard;
239
- private buildWorkflowEntries;
240
- private showWorkflow;
241
- private renderWorkflow;
242
- private renderWorkflowDetails;
243
- private handleWorkflowKey;
244
- private renderActivityDashboard;
245
- private handleActivityKey;
246
- private showThreads;
247
- private getPreferredThreadIndexForParticipant;
248
- private openRelevantThreadForSession;
249
- private renderThreads;
250
- private renderThreadDetails;
251
- private handleThreadsKey;
252
- private renderThreadReply;
253
- private describeHandoffState;
254
- private runThreadHandoffAction;
255
- private runThreadStatusAction;
256
- private runTaskLifecycleAction;
257
- private runReviewLifecycleAction;
258
- private describeWorkflowFilter;
259
- private cycleWorkflowFilter;
260
- private handleThreadReplyKey;
261
- private activateNextAttentionEntry;
262
- /** Get sessions belonging to the focused worktree (includes local, remote, offline) */
263
- private updateWorktreeSessions;
264
- private syncTuiNotificationContext;
265
- private isDashboardScreen;
266
- private setDashboardScreen;
267
- private handleActiveDashboardOverlayKey;
268
- private renderActiveDashboardOverlay;
269
- private handleDashboardSubscreenNavigationKey;
270
- private openLiveTmuxWindowForEntry;
271
- private openLiveTmuxWindowForService;
272
- private noteLastUsedItem;
273
- private getSelectedDashboardWorktreeEntry;
274
- private getSelectedDashboardSessionForActions;
275
- private getSelectedDashboardServiceForActions;
276
- private showOrchestrationRoutePicker;
277
- private showOrchestrationInput;
278
- private renderOrchestrationInput;
279
- private renderOrchestrationRoutePicker;
280
- private formatRoutePreview;
281
- private postToProjectService;
282
- private ensureDashboardControlPlane;
283
- private handleOrchestrationInputKey;
284
- private handleOrchestrationRoutePickerKey;
285
- private submitDashboardOrchestrationAction;
286
- private renderToolPicker;
287
- private runSelectedTool;
288
- private showToolPicker;
289
- private handleToolPickerKey;
290
- private forkSessionFromSource;
291
- forkAgent(opts: {
292
- sourceSessionId: string;
293
- targetToolConfigKey: string;
294
- instruction?: string;
295
- targetWorktreePath?: string;
296
- open?: boolean;
297
- }): Promise<{
298
- sessionId: string;
299
- threadId: string;
300
- }>;
301
- spawnAgent(opts: {
302
- toolConfigKey: string;
303
- targetWorktreePath?: string;
304
- open?: boolean;
305
- }): Promise<{
306
- sessionId: string;
307
- }>;
308
- renameAgent(sessionId: string, label?: string): Promise<{
309
- sessionId: string;
310
- label?: string;
311
- }>;
312
- stopAgent(sessionId: string): Promise<{
313
- sessionId: string;
314
- status: "offline";
315
- }>;
316
- sendAgentToGraveyard(sessionId: string): Promise<{
317
- sessionId: string;
318
- status: "graveyard";
319
- previousStatus: "running" | "offline";
320
- }>;
321
- migrateAgentSession(sessionId: string, targetWorktreePath: string): Promise<{
322
- sessionId: string;
323
- worktreePath?: string;
324
- }>;
325
- private serviceLabelForCommand;
326
- private generateDashboardSessionId;
327
- private settleDashboardCreatePending;
328
- private preferDashboardEntrySelection;
329
- private createService;
330
- private stopService;
331
- private removeOfflineService;
332
- private resumeOfflineService;
333
- private resumeOfflineServiceById;
334
- private renderDashboard;
335
- private showWorktreeCreatePrompt;
336
- private showServiceCreatePrompt;
337
- private renderWorktreeInput;
338
- private renderServiceInput;
339
- private handleWorktreeInputKey;
340
- private handleServiceInputKey;
341
- private renderLabelInput;
342
- private handleLabelInputKey;
343
- private showWorktreeList;
344
- private handleReviewRequest;
345
- private renderWorktreeList;
346
- private renderWorktreeRemoveConfirm;
347
- private renderDashboardBusyOverlay;
348
- private renderDashboardErrorOverlay;
349
- private showNotificationPanel;
350
- private closeNotificationPanel;
351
- private renderNotificationPanel;
352
- private handleNotificationPanelKey;
353
- private startDashboardBusy;
354
- private updateDashboardBusy;
355
- private clearDashboardBusy;
356
- private showDashboardError;
357
- private dismissDashboardError;
358
- private beginWorktreeRemoval;
359
- private finishWorktreeRemoval;
360
- private handleWorktreeRemoveConfirmKey;
361
- private handleWorktreeListKey;
362
- private showGraveyard;
363
- private renderGraveyard;
364
- private handleGraveyardKey;
365
- private resurrectGraveyardEntry;
366
- private showPlans;
367
- private loadPlanEntries;
368
- private parsePlanFrontmatter;
369
- private renderPlans;
370
- private buildPlanPreview;
371
- private renderPlanDetails;
372
- private renderGraveyardDetails;
373
- private handlePlansKey;
374
- private openPlanInEditor;
375
- /** Get sessions in MRU order (most recently used first), only running/alive sessions */
376
- private getSwitcherList;
377
- private showSwitcher;
378
- private resetSwitcherTimeout;
379
- private confirmSwitcher;
380
- private dismissSwitcher;
381
- private redrawCurrentView;
382
- private showHelp;
383
- private dismissHelp;
384
- private renderHelp;
385
- private handleHelpKey;
386
- private renderSwitcher;
387
- private handleSwitcherKey;
388
- private showMigratePicker;
389
- private renderMigratePicker;
390
- private runDashboardOperation;
391
- private setPendingDashboardSessionAction;
392
- private stopSessionToOfflineWithFeedback;
393
- private clearDashboardSubscreens;
394
- private renderSessionDetails;
395
- private composeSplitScreen;
396
- private composeTwoPaneLines;
397
- private wrapKeyValue;
398
- private wrapText;
399
- private truncatePlain;
400
- private truncateAnsi;
401
- private basename;
402
- private listAllWorktrees;
403
- private graveyardSessionWithFeedback;
404
- private resumeOfflineSessionWithFeedback;
405
- private waitForSessionStart;
406
- private dashboardSessionActionDeps;
407
- private takeoverFromDashEntryWithFeedback;
408
- private migrateSessionWithFeedback;
409
- private handleMigratePickerKey;
410
- /** Get the current dashboard sessions (local + remote merged) for lookup */
411
- private getDashboardSessions;
412
- private getDashboardServices;
413
- private getDashboardSessionsInVisualOrder;
414
- /** Take over a remote session from a DashboardSession entry */
415
- private takeoverSessionFromDashEntry;
416
- private takeoverSession;
417
- /** Instruction files we've written (to clean up on exit) */
418
- private writtenInstructionFiles;
419
- /** Write tool instruction files (e.g. CODEX.md) for tools that don't support --append-system-prompt */
420
- private writeInstructionFiles;
421
- /** Remove instruction files we created */
422
- private removeInstructionFiles;
423
- private writeSessionsFile;
424
- /** Write statusline state for Claude Code's statusline script to read */
425
- private writeStatuslineFile;
426
- private getTmuxStatuslineDir;
427
- private writeStatuslineTextFile;
428
- private writePrecomputedTmuxStatuslineFiles;
429
- private writeDashboardClientStatuslineFile;
430
- private buildStatuslineSnapshot;
431
- private buildDesktopState;
432
- private listDesktopWorktrees;
433
- removeDesktopWorktree(path: string): Promise<{
434
- path: string;
435
- }>;
436
- private listGraveyardEntries;
437
- resurrectGraveyardSession(sessionId: string): Promise<{
438
- sessionId: string;
439
- status: "offline";
440
- }>;
441
- /** Remove sessions file on exit */
442
- private removeSessionsFile;
443
- private stripAnsi;
444
- private centerInWidth;
445
- private renderCurrentDashboardView;
446
- /** Track previous statuses for notification on transition */
447
- private prevStatuses;
448
- /** Flash message shown temporarily in footer, cleared after a few renders */
449
- private get dashboardBusyState();
450
- private set dashboardBusyState(value);
451
- private get dashboardErrorState();
452
- private set dashboardErrorState(value);
453
- private get footerFlash();
454
- private set footerFlash(value);
455
- private get footerFlashTicks();
456
- private set footerFlashTicks(value);
457
- private startStatusRefresh;
458
- private stopStatusRefresh;
459
- /** Load offline sessions from state.json, excluding any that are owned by live instances */
460
- private syncSessionsFromState;
461
- private loadOfflineSessions;
462
- private loadOfflineServices;
463
- private buildLiveServiceStates;
464
- private restoreTmuxSessionsFromState;
465
- /** Remove an offline session and move it to state-trash.json */
466
- /** Stop a running session and move it to offline (first [x]) */
467
- private stopSessionToOffline;
468
- /** Move an offline session to the graveyard (second [x]) */
469
- /** After removing a session, adjust cursor to nearest sibling or step back to worktree level */
470
- private adjustAfterRemove;
471
- private graveyardSession;
472
- private isSessionRuntimeLive;
473
- private evictZombieSession;
474
- /** Resume a specific offline session */
475
- private resumeOfflineSession;
476
- private startHeartbeat;
477
- /**
478
- * Handle a session that was claimed (taken over) by another aimux instance.
479
- * Kill the local tmux transport and refresh the dashboard.
480
- */
481
- private handleSessionClaimed;
482
- private stopHeartbeat;
483
- private startProjectServiceRefresh;
484
- private stopProjectServiceRefresh;
485
- private getRemoteInstancesSafe;
486
- private getRemoteOwnedSessionKeys;
487
- /** Build InstanceSessionRef[] from current sessions for heartbeat/registry updates. */
488
- private getInstanceSessionRefs;
489
- /** Get the shared state.json path (in main repo for cross-worktree visibility). */
490
- private static getSharedStatePath;
491
- /** Save session state to main repo's .aimux/state.json, merging with existing state. */
492
- private saveState;
493
- /** Load saved state from global project state dir */
494
- static loadState(): SavedState | null;
495
- private teardown;
496
- cleanup(): void;
497
- cleanupTerminalOnly(): void;
498
- private exitDashboardClientOrProcess;
499
- }
500
- export {};