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,113 +1,208 @@
1
+ function runtimeLifecycle(input) {
2
+ if (input.pendingAction === "creating" || input.pendingAction === "forking" || input.pendingAction === "migrating") {
3
+ return "creating";
4
+ }
5
+ if (input.pendingAction === "starting")
6
+ return "starting";
7
+ if (input.pendingAction === "stopping")
8
+ return "stopping";
9
+ if (input.pendingAction === "graveyarding")
10
+ return "graveyarding";
11
+ if (input.attention === "error" || input.activity === "error")
12
+ return "error";
13
+ if (input.status === "offline" || input.status === "exited")
14
+ return "offline";
15
+ if (input.status === "idle" ||
16
+ input.activity === "idle" ||
17
+ input.activity === "done" ||
18
+ input.activity === "interrupted") {
19
+ return "idle";
20
+ }
21
+ return "running";
22
+ }
23
+ function deriveWorkflowPressure(input) {
24
+ if (input.blockedCount > 0)
25
+ return "blocked";
26
+ if (input.waitingOnMeCount > 0)
27
+ return "waiting_on_user";
28
+ if (input.pendingDeliveryCount > 0)
29
+ return "pending";
30
+ if (input.waitingOnThemCount > 0)
31
+ return "waiting_on_them";
32
+ return "none";
33
+ }
34
+ function statusLabelFor(label) {
35
+ if (label === "needs_input")
36
+ return "needs input";
37
+ if (label === "working")
38
+ return "working";
39
+ return label;
40
+ }
1
41
  export function deriveSessionSemantics(input) {
2
42
  const attention = input.attention ?? "normal";
3
- const unreadCount = Math.max(0, input.unseenCount ?? 0, input.threadUnreadCount ?? 0);
43
+ const activityNewCount = Math.max(0, input.unseenCount ?? 0);
44
+ const threadUnreadCount = Math.max(0, input.threadUnreadCount ?? 0);
4
45
  const pendingDeliveryCount = Math.max(0, input.threadPendingCount ?? 0);
5
46
  const waitingOnMeCount = Math.max(0, input.threadWaitingOnMeCount ?? 0, input.workflowOnMeCount ?? 0);
6
47
  const waitingOnThemCount = Math.max(0, input.threadWaitingOnThemCount ?? 0);
7
48
  const blockedCount = Math.max(0, input.workflowBlockedCount ?? 0);
8
49
  const familyCount = Math.max(0, input.workflowFamilyCount ?? 0);
9
50
  const hasActiveTask = Boolean(input.hasActiveTask);
10
- let workflowState = "none";
11
- if (blockedCount > 0 || attention === "blocked") {
12
- workflowState = "blocked";
51
+ const lifecycle = runtimeLifecycle(input);
52
+ const isAlive = lifecycle !== "offline" && lifecycle !== "stopping" && lifecycle !== "graveyarding";
53
+ const canReceiveInput = isAlive &&
54
+ lifecycle !== "creating" &&
55
+ lifecycle !== "starting" &&
56
+ lifecycle !== "error" &&
57
+ attention !== "error" &&
58
+ attention !== "blocked";
59
+ const runtime = {
60
+ lifecycle,
61
+ isAlive,
62
+ canEnter: lifecycle !== "creating" && lifecycle !== "stopping" && lifecycle !== "graveyarding",
63
+ canReceiveInput,
64
+ canInterrupt: isAlive && lifecycle !== "creating" && lifecycle !== "starting",
65
+ };
66
+ const notifications = {
67
+ unreadCount: Math.max(0, input.notificationUnreadCount ?? 0),
68
+ latestUnread: input.latestNotification,
69
+ latestText: input.latestNotification?.body || input.latestNotification?.title,
70
+ };
71
+ const pressure = deriveWorkflowPressure({
72
+ pendingDeliveryCount,
73
+ waitingOnMeCount,
74
+ waitingOnThemCount,
75
+ blockedCount,
76
+ });
77
+ let user;
78
+ if (lifecycle === "creating" || lifecycle === "starting") {
79
+ user = { label: "starting", attention: "none", source: "runtime" };
13
80
  }
14
- else if (waitingOnMeCount > 0) {
15
- workflowState = "waiting_on_me";
81
+ else if (lifecycle === "stopping") {
82
+ user = { label: "stopping", attention: "none", source: "runtime" };
16
83
  }
17
- else if (waitingOnThemCount > 0) {
18
- workflowState = "waiting_on_them";
84
+ else if (lifecycle === "graveyarding") {
85
+ user = { label: "graveyarding", attention: "none", source: "runtime" };
19
86
  }
20
- let availability;
21
- if (input.status === "offline" || input.status === "exited") {
22
- availability = "offline";
87
+ else if (lifecycle === "offline") {
88
+ user = { label: "offline", attention: "none", source: "runtime" };
23
89
  }
24
- else if (attention === "error" || attention === "blocked" || workflowState === "blocked") {
25
- availability = "blocked";
90
+ else if (attention === "error" || input.activity === "error") {
91
+ user = { label: "error", attention: "error", source: "tool" };
26
92
  }
27
- else if (attention === "needs_input" || workflowState === "waiting_on_me") {
28
- availability = "needs_input";
93
+ else if (attention === "blocked") {
94
+ user = { label: "blocked", attention: "blocked", source: "tool" };
29
95
  }
30
- else if (input.activity === "idle" || input.activity === "done" || input.activity === "interrupted") {
31
- availability = "available";
96
+ else if (attention === "needs_input") {
97
+ user = { label: "needs_input", attention: "needs_input", source: "tool" };
32
98
  }
33
- else if (input.status === "running" ||
34
- input.status === "waiting" ||
35
- input.activity === "running" ||
99
+ else if (input.activity === "done") {
100
+ user = { label: "done", attention: "none", source: "tool" };
101
+ }
102
+ else if (input.activity === "interrupted") {
103
+ user = { label: "interrupted", attention: "none", source: "tool" };
104
+ }
105
+ else if (input.activity === "running" ||
36
106
  input.activity === "waiting" ||
37
- hasActiveTask ||
38
- waitingOnThemCount > 0) {
39
- availability = "busy";
107
+ input.status === "running" ||
108
+ input.status === "waiting") {
109
+ user = {
110
+ label: input.status === "waiting" || input.activity === "waiting" ? "working" : "working",
111
+ attention: "none",
112
+ source: "runtime",
113
+ };
40
114
  }
41
115
  else {
42
- availability = "available";
116
+ user = { label: "idle", attention: "none", source: "runtime" };
43
117
  }
118
+ const orchestration = {
119
+ pressure,
120
+ assignedTask: hasActiveTask,
121
+ canBeAssignedWork: runtime.canReceiveInput && !hasActiveTask,
122
+ };
123
+ const compactHint = sessionSemanticCompactHintFromParts({
124
+ user,
125
+ notifications,
126
+ threadUnreadCount,
127
+ activityNewCount,
128
+ pendingDeliveryCount,
129
+ waitingOnMeCount,
130
+ waitingOnThemCount,
131
+ blockedCount,
132
+ hasActiveTask,
133
+ });
134
+ const presentation = {
135
+ statusLabel: statusLabelFor(user.label),
136
+ compactHint,
137
+ attentionScore: sessionSemanticAttentionScoreFromParts({
138
+ user,
139
+ notifications,
140
+ activityNewCount,
141
+ pendingDeliveryCount,
142
+ }),
143
+ };
44
144
  return {
145
+ runtime,
146
+ user,
147
+ notifications,
148
+ orchestration,
149
+ presentation,
45
150
  activity: input.activity,
46
151
  attention,
47
- availability,
48
- workflowState,
49
- unreadCount,
152
+ activityNewCount,
153
+ threadUnreadCount,
50
154
  pendingDeliveryCount,
51
155
  waitingOnMeCount,
52
156
  waitingOnThemCount,
53
157
  blockedCount,
54
158
  familyCount,
55
- hasActiveTask,
56
159
  };
57
160
  }
58
- export function sessionSemanticStatusLabel(semantic, fallbackStatus) {
59
- if (semantic.attention === "error")
60
- return "error";
61
- if (semantic.workflowState === "blocked" || semantic.attention === "blocked")
62
- return "blocked";
63
- if (semantic.availability === "needs_input")
64
- return "needs input";
65
- if (semantic.activity === "done")
66
- return "done";
67
- if (semantic.activity === "waiting")
68
- return "waiting";
69
- if (semantic.activity === "running")
70
- return "working";
71
- if (semantic.activity === "interrupted")
72
- return "interrupted";
73
- if (semantic.availability === "busy") {
74
- if (fallbackStatus === "waiting")
75
- return "thinking";
76
- if (fallbackStatus === "running")
77
- return "working";
78
- }
79
- if (fallbackStatus === "waiting")
80
- return "thinking";
81
- return fallbackStatus;
82
- }
83
- export function sessionSemanticAttentionScore(semantic) {
84
- if (semantic.attention === "error")
161
+ function sessionSemanticAttentionScoreFromParts(input) {
162
+ if (input.user.attention === "error")
85
163
  return 5;
86
- if (semantic.availability === "needs_input")
164
+ if (input.user.attention === "needs_input")
87
165
  return 4;
88
- if (semantic.workflowState === "blocked" || semantic.attention === "blocked")
166
+ if (input.user.attention === "blocked")
89
167
  return 3;
90
- if (semantic.unreadCount > 0 || semantic.pendingDeliveryCount > 0)
168
+ if (input.notifications.unreadCount > 0 || input.pendingDeliveryCount > 0)
91
169
  return 2;
92
- if (semantic.activity === "done")
170
+ if (input.activityNewCount > 0 || input.user.label === "done")
93
171
  return 1;
94
172
  return 0;
95
173
  }
96
- export function sessionSemanticCompactHint(semantic) {
97
- if (semantic.attention === "error")
174
+ function sessionSemanticCompactHintFromParts(input) {
175
+ if (input.user.attention === "error")
98
176
  return "error";
99
- if (semantic.workflowState === "blocked" || semantic.attention === "blocked")
177
+ if (input.user.attention === "blocked")
100
178
  return "blocked";
101
- if (semantic.workflowState === "waiting_on_me" || semantic.availability === "needs_input")
179
+ if (input.user.attention === "needs_input")
102
180
  return "on you";
103
- if (semantic.workflowState === "waiting_on_them")
181
+ if (input.notifications.unreadCount > 0)
182
+ return `${Math.min(input.notifications.unreadCount, 99)} unread`;
183
+ if (input.waitingOnMeCount > 0)
184
+ return "on you";
185
+ if (input.blockedCount > 0)
186
+ return "blocked task";
187
+ if (input.waitingOnThemCount > 0)
104
188
  return "on them";
105
- if (semantic.unreadCount > 0)
106
- return `${Math.min(semantic.unreadCount, 99)} unread`;
107
- if (semantic.pendingDeliveryCount > 0)
108
- return `${Math.min(semantic.pendingDeliveryCount, 99)} pending`;
109
- if (semantic.hasActiveTask && semantic.availability === "available")
189
+ if (input.threadUnreadCount > 0)
190
+ return `${Math.min(input.threadUnreadCount, 99)} thread`;
191
+ if (input.activityNewCount > 0)
192
+ return `${Math.min(input.activityNewCount, 99)} new`;
193
+ if (input.pendingDeliveryCount > 0)
194
+ return `${Math.min(input.pendingDeliveryCount, 99)} pending`;
195
+ if (input.hasActiveTask)
110
196
  return "task";
111
197
  return null;
112
198
  }
199
+ export function sessionSemanticStatusLabel(semantic, _fallbackStatus) {
200
+ return semantic.presentation.statusLabel;
201
+ }
202
+ export function sessionSemanticAttentionScore(semantic) {
203
+ return semantic.presentation.attentionScore;
204
+ }
205
+ export function sessionSemanticCompactHint(semantic) {
206
+ return semantic.presentation.compactHint;
207
+ }
113
208
  //# sourceMappingURL=session-semantics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-semantics.js","sourceRoot":"","sources":["../src/session-semantics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-semantics.js","sourceRoot":"","sources":["../src/session-semantics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function parseShellArgs(input: string): string[];
@@ -0,0 +1,57 @@
1
+ export function parseShellArgs(input) {
2
+ const args = [];
3
+ let current = "";
4
+ let quote = null;
5
+ let escaping = false;
6
+ let tokenStarted = false;
7
+ for (let i = 0; i < input.length; i++) {
8
+ const ch = input[i];
9
+ if (escaping) {
10
+ current += ch;
11
+ escaping = false;
12
+ tokenStarted = true;
13
+ continue;
14
+ }
15
+ if (ch === "\\" && quote !== "'") {
16
+ escaping = true;
17
+ tokenStarted = true;
18
+ continue;
19
+ }
20
+ if (quote) {
21
+ if (ch === quote) {
22
+ quote = null;
23
+ }
24
+ else {
25
+ current += ch;
26
+ tokenStarted = true;
27
+ }
28
+ continue;
29
+ }
30
+ if (ch === "'" || ch === '"') {
31
+ quote = ch;
32
+ tokenStarted = true;
33
+ continue;
34
+ }
35
+ if (/\s/.test(ch)) {
36
+ if (tokenStarted) {
37
+ args.push(current);
38
+ current = "";
39
+ tokenStarted = false;
40
+ }
41
+ continue;
42
+ }
43
+ current += ch;
44
+ tokenStarted = true;
45
+ }
46
+ if (escaping) {
47
+ current += "\\";
48
+ }
49
+ if (quote) {
50
+ throw new Error(`unterminated ${quote === "'" ? "single" : "double"} quote`);
51
+ }
52
+ if (tokenStarted) {
53
+ args.push(current);
54
+ }
55
+ return args;
56
+ }
57
+ //# sourceMappingURL=shell-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-args.js","sourceRoot":"","sources":["../src/shell-args.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAqB,IAAI,CAAC;IACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,EAAE,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC;YACjB,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC;YAChB,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,EAAE,CAAC;gBACd,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,KAAK,GAAG,EAAE,CAAC;YACX,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,OAAO,GAAG,EAAE,CAAC;gBACb,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;QACd,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -3,6 +3,7 @@ export interface PreparedShellIntegration {
3
3
  shellName: "zsh" | "bash";
4
4
  integrationScriptPath: string;
5
5
  rcPath: string;
6
+ zshEnvPath?: string;
6
7
  }
7
8
  export declare function prepareShellIntegration(projectRoot: string, shellPath?: string): PreparedShellIntegration;
8
9
  export declare function wrapCommandWithShellIntegration(opts: {
@@ -12,6 +13,7 @@ export declare function wrapCommandWithShellIntegration(opts: {
12
13
  command: string;
13
14
  args: string[];
14
15
  shellPath?: string;
16
+ env?: NodeJS.ProcessEnv;
15
17
  }): {
16
18
  command: string;
17
19
  args: string[];
@@ -21,6 +23,7 @@ export declare function wrapInteractiveShellWithIntegration(opts: {
21
23
  sessionId: string;
22
24
  tool: string;
23
25
  shellPath?: string;
26
+ env?: NodeJS.ProcessEnv;
24
27
  }): {
25
28
  command: string;
26
29
  args: string[];
@@ -1,12 +1,16 @@
1
1
  import { mkdirSync, writeFileSync } from "node:fs";
2
2
  import { basename, dirname, join } from "node:path";
3
3
  import { getProjectStateDirFor } from "./paths.js";
4
+ import { wrapCommandWithManagedLaunchEnv } from "./managed-launch-env.js";
4
5
  function shellQuote(value) {
5
6
  return `'${value.replace(/'/g, `'\\''`)}'`;
6
7
  }
7
8
  function ensureDir(path) {
8
9
  mkdirSync(path, { recursive: true });
9
10
  }
11
+ function buildZshEnv() {
12
+ return ['if [ -f "$HOME/.zshenv" ]; then', ' source "$HOME/.zshenv"', "fi", ""].join("\n");
13
+ }
10
14
  function buildZshRc() {
11
15
  return [
12
16
  'if [ -f "$HOME/.zshrc" ]; then',
@@ -120,13 +124,18 @@ export function prepareShellIntegration(projectRoot, shellPath = process.env.SHE
120
124
  ensureDir(baseDir);
121
125
  const integrationScriptPath = join(baseDir, shellName === "bash" ? "aimux-bash-integration.bash" : "aimux-zsh-integration.zsh");
122
126
  const rcPath = join(baseDir, shellName === "bash" ? "aimux-bashrc" : ".zshrc");
127
+ const zshEnvPath = shellName === "zsh" ? join(baseDir, ".zshenv") : undefined;
123
128
  writeFileSync(integrationScriptPath, shellName === "bash" ? buildBashIntegration() : buildZshIntegration());
124
129
  writeFileSync(rcPath, shellName === "bash" ? buildBashRc() : buildZshRc());
130
+ if (zshEnvPath) {
131
+ writeFileSync(zshEnvPath, buildZshEnv());
132
+ }
125
133
  return {
126
134
  shellPath,
127
135
  shellName,
128
136
  integrationScriptPath,
129
137
  rcPath,
138
+ zshEnvPath,
130
139
  };
131
140
  }
132
141
  export function wrapCommandWithShellIntegration(opts) {
@@ -141,7 +150,11 @@ export function wrapCommandWithShellIntegration(opts) {
141
150
  const shellArgs = prepared.shellName === "bash"
142
151
  ? [...envArgs, prepared.shellPath, "--rcfile", prepared.rcPath, "-ic", commandString]
143
152
  : [...envArgs, "ZDOTDIR=" + dirname(prepared.rcPath), prepared.shellPath, "-ic", commandString];
144
- return { command: "env", args: shellArgs };
153
+ return wrapCommandWithManagedLaunchEnv({
154
+ command: "env",
155
+ args: shellArgs,
156
+ env: opts.env,
157
+ });
145
158
  }
146
159
  export function wrapInteractiveShellWithIntegration(opts) {
147
160
  const prepared = prepareShellIntegration(opts.projectRoot, opts.shellPath);
@@ -154,6 +167,10 @@ export function wrapInteractiveShellWithIntegration(opts) {
154
167
  const shellArgs = prepared.shellName === "bash"
155
168
  ? [...envArgs, prepared.shellPath, "--rcfile", prepared.rcPath, "-i"]
156
169
  : [...envArgs, "ZDOTDIR=" + dirname(prepared.rcPath), prepared.shellPath, "-i"];
157
- return { command: "env", args: shellArgs };
170
+ return wrapCommandWithManagedLaunchEnv({
171
+ command: "env",
172
+ args: shellArgs,
173
+ env: opts.env,
174
+ });
158
175
  }
159
176
  //# sourceMappingURL=shell-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shell-hooks.js","sourceRoot":"","sources":["../src/shell-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-hooks.js","sourceRoot":"","sources":["../src/shell-hooks.ts"],"names":[],"mappings":"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"}
@@ -95,10 +95,14 @@ export interface ResolvedStatuslineSession extends StatuslineSession {
95
95
  metadata?: StatuslineMetadataEntry;
96
96
  isCurrent: boolean;
97
97
  }
98
+ export declare const DASHBOARD_SCREEN_TABS: Array<{
99
+ key: NonNullable<StatuslineData["dashboardScreen"]>;
100
+ label: string;
101
+ }>;
98
102
  export declare function trim(text: string, max: number): string;
99
103
  export declare function normalizePath(path: string | undefined, projectRoot: string): string;
100
104
  export declare function sessionIdentity(session: Pick<StatuslineSession, "id" | "tool" | "label" | "role">): string;
101
- export declare function renderDerivedBadge(derived: StatuslineMetadataEntry["derived"]): string | null;
105
+ export declare function renderSemanticBadge(semantic: SessionSemanticState | undefined): string | null;
102
106
  export declare function renderSessionCompactHint(session: {
103
107
  semantic?: SessionSemanticState;
104
108
  derived?: StatuslineMetadataEntry["derived"];
@@ -18,6 +18,15 @@ export function compactSessionTitle(session) {
18
18
  }
19
19
  return session.role ? `${base}(${session.role})` : base;
20
20
  }
21
+ export const DASHBOARD_SCREEN_TABS = [
22
+ { key: "dashboard", label: "dashboard" },
23
+ { key: "activity", label: "activity" },
24
+ { key: "notifications", label: "inbox" },
25
+ { key: "threads", label: "threads" },
26
+ { key: "workflow", label: "workflow" },
27
+ { key: "plans", label: "plans" },
28
+ { key: "graveyard", label: "graveyard" },
29
+ ];
21
30
  export function trim(text, max) {
22
31
  if (text.length <= max)
23
32
  return text;
@@ -42,22 +51,20 @@ function resolveScopedWorktreePath(data, projectRoot, currentPath) {
42
51
  export function sessionIdentity(session) {
43
52
  return compactSessionTitle(session);
44
53
  }
45
- export function renderDerivedBadge(derived) {
46
- if (!derived)
54
+ export function renderSemanticBadge(semantic) {
55
+ if (!semantic)
47
56
  return null;
48
- if (derived.attention === "error")
57
+ if (semantic.user.attention === "error")
49
58
  return "✗";
50
- if (derived.attention === "needs_input")
59
+ if (semantic.user.attention === "needs_input")
51
60
  return "?";
52
- if (derived.attention === "blocked")
61
+ if (semantic.user.attention === "blocked")
53
62
  return "!";
54
- if ((derived.unseenCount ?? 0) > 0)
55
- return String(Math.min(derived.unseenCount ?? 0, 9));
56
- if (derived.activity === "done")
63
+ if (semantic.user.label === "done")
57
64
  return "✓";
58
- if (derived.activity === "running")
65
+ if (semantic.user.label === "working")
59
66
  return "↻";
60
- if (derived.activity === "waiting")
67
+ if (semantic.user.label === "starting")
61
68
  return "…";
62
69
  return null;
63
70
  }
@@ -65,29 +72,11 @@ export function renderSessionCompactHint(session) {
65
72
  if (session.semantic) {
66
73
  return sessionSemanticCompactHint(session.semantic);
67
74
  }
68
- if (session.derived?.attention === "error")
69
- return "error";
70
- if (session.derived?.attention === "needs_input")
71
- return "on you";
72
- if (session.derived?.attention === "blocked")
73
- return "blocked";
74
- if ((session.derived?.unseenCount ?? 0) > 0) {
75
- return `${Math.min(session.derived?.unseenCount ?? 0, 99)} unread`;
76
- }
77
75
  return null;
78
76
  }
79
77
  export function renderDashboardScreens(activeScreen) {
80
78
  const active = activeScreen ?? "dashboard";
81
- const screens = [
82
- { key: "dashboard", label: "dashboard" },
83
- { key: "activity", label: "activity" },
84
- { key: "notifications", label: "inbox" },
85
- { key: "threads", label: "threads" },
86
- { key: "workflow", label: "workflow" },
87
- { key: "plans", label: "plans" },
88
- { key: "graveyard", label: "graveyard" },
89
- ];
90
- return screens.map((screen) => screen.key === active ? `#[fg=black,bg=yellow] ${screen.label} #[default]` : screen.label);
79
+ return DASHBOARD_SCREEN_TABS.map((screen) => screen.key === active ? `#[fg=black,bg=yellow] ${screen.label} #[default]` : screen.label);
91
80
  }
92
81
  export function currentPathContext(currentPath) {
93
82
  if (!currentPath)
@@ -1 +1 @@
1
- {"version":3,"file":"statusline-model.js","sourceRoot":"","sources":["../src/statusline-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline-model.js","sourceRoot":"","sources":["../src/statusline-model.ts"],"names":[],"mappings":"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"}