@mu-crew/mu 3.13.3 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/AGENTS.md +73 -35
  2. package/README.md +71 -57
  3. package/dist/chunk-4ULY3ZKO.js +4482 -0
  4. package/dist/chunk-4ULY3ZKO.js.map +1 -0
  5. package/dist/chunk-7M634JMD.js +375 -0
  6. package/dist/chunk-7M634JMD.js.map +1 -0
  7. package/dist/{chunk-3BARPJLY.js → chunk-PZ5GOCWH.js} +16 -2
  8. package/dist/chunk-PZ5GOCWH.js.map +1 -0
  9. package/dist/chunk-SS7NQSSZ.js +3660 -0
  10. package/dist/chunk-SS7NQSSZ.js.map +1 -0
  11. package/dist/chunk-UCZPJX7K.js +14253 -0
  12. package/dist/chunk-UCZPJX7K.js.map +1 -0
  13. package/dist/{cli-CKOMHBXV.js → cli-TV3N47AZ.js} +7317 -4593
  14. package/dist/cli-TV3N47AZ.js.map +1 -0
  15. package/dist/cli.js +2 -3
  16. package/dist/cli.js.map +1 -1
  17. package/dist/errors-GRONKWFS.js +65 -0
  18. package/dist/extension/mu-pi.js +1632 -837
  19. package/dist/extension/mu-pi.js.map +1 -1
  20. package/dist/index.d.ts +4067 -2561
  21. package/dist/index.js +614 -297
  22. package/dist/index.js.map +1 -1
  23. package/dist/tui-FUBQ326D.js +1848 -0
  24. package/dist/tui-FUBQ326D.js.map +1 -0
  25. package/docs/ARCHITECTURE.md +118 -66
  26. package/docs/VOCABULARY.md +113 -49
  27. package/docs/guide/README.md +3 -3
  28. package/docs/guide/backends.md +8 -4
  29. package/docs/guide/cleanup.md +69 -33
  30. package/docs/guide/delegate.md +149 -66
  31. package/docs/guide/dispatch.md +148 -53
  32. package/docs/guide/getting-started.md +37 -44
  33. package/docs/guide/other-agent-clis.md +102 -0
  34. package/docs/guide/recovery.md +31 -50
  35. package/docs/guide/remote.md +122 -45
  36. package/docs/guide/sql.md +104 -24
  37. package/docs/guide/stop-a-worker.md +30 -37
  38. package/docs/guide/sync.md +11 -3
  39. package/docs/guide/upgrade.md +93 -43
  40. package/docs/reference/env.md +24 -32
  41. package/docs/reference/naming.md +14 -7
  42. package/docs/reference/surface-contract.md +153 -0
  43. package/package.json +33 -11
  44. package/prompts/mu-debug.md +3 -1
  45. package/prompts/mu-refute.md +2 -1
  46. package/prompts/mu-research.md +3 -1
  47. package/prompts/mu-review.md +2 -1
  48. package/prompts/mu-rules-audit.md +5 -4
  49. package/prompts/mu-sweep.md +2 -1
  50. package/prompts/mu-tournament.md +4 -2
  51. package/prompts/mu-until.md +3 -1
  52. package/prompts/ultrathink.md +1 -1
  53. package/skills/mu/SKILL.md +60 -291
  54. package/skills/mu/recipes/adversarial-review.md +12 -103
  55. package/skills/mu/recipes/brief.md +14 -61
  56. package/skills/mu/recipes/course-correct.md +23 -0
  57. package/skills/mu/recipes/findings.md +17 -111
  58. package/skills/mu/recipes/models.md +17 -92
  59. package/skills/mu/recipes/move.md +14 -0
  60. package/skills/mu/recipes/orchestrator-loop.md +20 -119
  61. package/skills/mu/recipes/recovery.md +8 -29
  62. package/skills/mu/recipes/remote-workers.md +17 -318
  63. package/skills/mu/recipes/tasks-or-calls.md +15 -78
  64. package/skills/mu/recipes/test-health.md +19 -77
  65. package/skills/mu/recipes/worker.md +17 -24
  66. package/dist/chunk-45KQLMEL.js +0 -2908
  67. package/dist/chunk-45KQLMEL.js.map +0 -1
  68. package/dist/chunk-G434JKV2.js +0 -641
  69. package/dist/chunk-G434JKV2.js.map +0 -1
  70. package/dist/chunk-KUGUFBWH.js +0 -12527
  71. package/dist/chunk-KUGUFBWH.js.map +0 -1
  72. package/dist/chunk-QITLNZEM.js +0 -87
  73. package/dist/chunk-QITLNZEM.js.map +0 -1
  74. package/dist/chunk-VIEYQMQA.js +0 -393
  75. package/dist/chunk-VIEYQMQA.js.map +0 -1
  76. package/dist/chunk-WI6AWCMK.js +0 -19
  77. package/dist/chunk-WI6AWCMK.js.map +0 -1
  78. package/dist/cli-CKOMHBXV.js.map +0 -1
  79. package/dist/devtools-LS4ZEPWM.js +0 -3772
  80. package/dist/devtools-LS4ZEPWM.js.map +0 -1
  81. package/dist/tui-LFJ5P4Y2.js +0 -40956
  82. package/dist/tui-LFJ5P4Y2.js.map +0 -1
  83. package/dist/tui-sync-worker.js +0 -17
  84. package/dist/tui-sync-worker.js.map +0 -1
  85. package/dist/yank-XDOONQSL.js +0 -13
  86. package/dist/yank-XDOONQSL.js.map +0 -1
  87. package/docs/ROADMAP.md +0 -123
  88. package/docs/VISION.md +0 -298
  89. package/docs/architecture/control-socket.md +0 -142
  90. package/docs/architecture/dag.md +0 -117
  91. package/docs/architecture/mux.md +0 -167
  92. package/docs/architecture/ops-log.md +0 -160
  93. package/docs/architecture/sdk.md +0 -187
  94. package/docs/architecture/sync.md +0 -159
  95. package/docs/architecture/tui.md +0 -165
  96. package/docs/guide/tui.md +0 -98
  97. package/docs/history/CHANGELOG-pre-3.md +0 -4866
  98. package/docs/img/tui-dashboard.png +0 -0
  99. package/docs/specs/2026-09-28-agent-state-from-murmur.md +0 -333
  100. package/docs/specs/2026-09-29-task-substates.md +0 -247
  101. package/docs/specs/2026-10-03-keep-driving-nudge.md +0 -163
  102. package/docs/specs/2026-10-21-fast-and-slow-gates.md +0 -229
  103. package/skills/mu/recipes/backlog-triage.md +0 -45
  104. package/skills/mu/recipes/codemode-driver.md +0 -118
  105. package/skills/mu/recipes/deep-research.md +0 -69
  106. package/skills/mu/recipes/drift-audit.md +0 -75
  107. package/skills/mu/recipes/fan-out.md +0 -42
  108. package/skills/mu/recipes/hypothesis-panel.md +0 -48
  109. package/skills/mu/recipes/long-run.md +0 -32
  110. package/skills/mu/recipes/loop-until-done.md +0 -45
  111. package/skills/mu/recipes/plan.md +0 -67
  112. package/skills/mu/recipes/refute.md +0 -55
  113. package/skills/mu/recipes/review-panel.md +0 -65
  114. package/skills/mu/recipes/rules-audit.md +0 -89
  115. package/skills/mu/recipes/tournament.md +0 -44
  116. package/skills/mu/recipes/ultrathink.md +0 -86
  117. package/skills/mu/recipes/watcher.md +0 -28
  118. package/skills/mu/recipes/waves.md +0 -21
  119. /package/dist/{chunk-3BARPJLY.js.map → errors-GRONKWFS.js.map} +0 -0
package/dist/index.js CHANGED
@@ -1,17 +1,144 @@
1
1
  import { createRequire as __muCreateRequire } from "node:module"; const require = __muCreateRequire(import.meta.url);
2
2
  import {
3
- NothingToUndoError,
4
- UndoGroupNotFoundError,
5
- UndoSupersededError,
6
- listRecentGroups,
7
- mostRecentGroup,
8
- planUndo,
9
- priorFieldValue,
10
- resolveGroupId,
11
- undoGroup
12
- } from "./chunk-G434JKV2.js";
3
+ STALLED_TOOL_MS,
4
+ loadDashboard
5
+ } from "./chunk-7M634JMD.js";
13
6
  import {
14
7
  AGENT_STATE_GLYPH,
8
+ DEFAULT_CTL_STUCK_AFTER_MS,
9
+ DEFAULT_NEXT_CAP,
10
+ DEFAULT_STUCK_AFTER_MS,
11
+ DRIFT_REPORT_CAP,
12
+ DbInsideSyncDirError,
13
+ DriftDetectedError,
14
+ GLYPH,
15
+ HazardFailError,
16
+ MAX_NEXT_CAP,
17
+ MU_SHIM_MARKER,
18
+ NextArgError,
19
+ RebuildTargetExistsError,
20
+ RebuildTargetIsSourceError,
21
+ RemoteCollectError,
22
+ RemoteCollectUnsupportedError,
23
+ WAIT_HEARTBEAT_CAP_MS,
24
+ WAIT_REGEX_MAX_LEN,
25
+ WAIT_TEXT_MAX,
26
+ WaitNothingError,
27
+ WaitRefError,
28
+ WaitRegexError,
29
+ WaitResumeNotFoundError,
30
+ WaveNotFoundError,
31
+ agentStateGlyph,
32
+ callerWorkstreams,
33
+ checkCaseCollisions,
34
+ checkCheapDriftInvariant,
35
+ checkDbInsideSyncDir,
36
+ checkDrift,
37
+ checkFleetHazards,
38
+ checkNetworkMount,
39
+ checkRegexGrammar,
40
+ classifyFsType,
41
+ collectRef,
42
+ collectRemoteAgent,
43
+ compileTextMatcher,
44
+ ctlAgentHooks,
45
+ driftRemediation,
46
+ executeNext,
47
+ findCaseCollisions,
48
+ formatDriftRecord,
49
+ getActionReceipt,
50
+ isPathInside,
51
+ loadResume,
52
+ migratePi,
53
+ probeFilesystem,
54
+ rebuildInto,
55
+ releaseStall,
56
+ releaseStallHandler,
57
+ reserveActionReceipt,
58
+ saveResume,
59
+ skillDirDigest,
60
+ stateSnapshot,
61
+ steerStall,
62
+ steerStallHandler,
63
+ steerText,
64
+ transitionActionReceipt,
65
+ waitForEvents,
66
+ waitWithActions
67
+ } from "./chunk-4ULY3ZKO.js";
68
+ import {
69
+ COURSE_CHECK_AGE_MS,
70
+ COURSE_CHECK_CLOSED,
71
+ FRONTIER_CLOSED_PER_NODE,
72
+ FRONTIER_MAX_DEPTH,
73
+ FRONTIER_MAX_NODES,
74
+ HumanNeededInvalidError,
75
+ KNOWN_INTENTS,
76
+ KNOWN_VERBS,
77
+ OpEntityNotSyncedError,
78
+ OpKeyMalformedError,
79
+ PEER_SHORT_LEN,
80
+ PEER_STALE_MS,
81
+ SyncDirForeignError,
82
+ SyncPeerNotFoundError,
83
+ SyncPeerRefAmbiguousError,
84
+ SyncSourceNotFoundError,
85
+ SyncSourceTooNewError,
86
+ TaskAutoArgError,
87
+ TaskAutoRefusedError,
88
+ TaskBriefMissingError,
89
+ UnguardedMoveError,
90
+ ambientFlush,
91
+ ambientIngest,
92
+ ambientSyncPass,
93
+ applyIncomingOp,
94
+ applyOp,
95
+ applyOps,
96
+ assertSyncDirV2,
97
+ attemptName,
98
+ authorisedReady,
99
+ authorizeTasks,
100
+ autoPermitted,
101
+ buildTaskBrief,
102
+ capPlan,
103
+ computeNext,
104
+ computeNotices,
105
+ courseCheckHint,
106
+ currentCallers,
107
+ discoverPeers,
108
+ flushSegment,
109
+ getAutoConfig,
110
+ getWatermark,
111
+ ingestFromDb,
112
+ ingestSegment,
113
+ loadOpenTaskFrontier,
114
+ localMachineId,
115
+ opSubject,
116
+ openBlockersClosure,
117
+ openHumanNeeds,
118
+ parseOpKey,
119
+ peerStatuses,
120
+ pendingAttempts,
121
+ planAttempt,
122
+ readManifest,
123
+ recordHumanNeeded,
124
+ renderArgv,
125
+ renderFrontierLines,
126
+ renderOp,
127
+ renderOpLine,
128
+ renderPlan,
129
+ repairPeer,
130
+ reserveAttempt,
131
+ resetWatermark,
132
+ resolvePeerRef,
133
+ segmentLineCount,
134
+ segmentPath,
135
+ setWatermark,
136
+ syncDir,
137
+ syncEnabled,
138
+ syncPass,
139
+ verifyAgainstManifest
140
+ } from "./chunk-SS7NQSSZ.js";
141
+ import {
15
142
  AgentAbortNeedsCtlError,
16
143
  AgentAbortTimeoutError,
17
144
  AgentBusyError,
@@ -21,319 +148,410 @@ import {
21
148
  AgentExistsError,
22
149
  AgentExtensionOutdatedError,
23
150
  AgentFreshNeedsCtlError,
151
+ AgentLockBusyError,
24
152
  AgentNameExhaustedError,
25
153
  AgentNotFoundError,
26
154
  AgentNotInWorkstreamError,
27
155
  AgentPaneDeadError,
156
+ AgentPaneStillAliveError,
157
+ AgentReplacedError,
158
+ AgentRestartedError,
28
159
  AgentSendIndeterminateError,
160
+ AgentSendUnsupportedError,
29
161
  AgentSlashCommandUnsupportedError,
30
162
  AgentSpawnCliNotFoundError,
31
163
  AgentSpawnStartupError,
164
+ CAPTURE_TRIGGER_DDL,
165
+ CAPTURE_VERSION,
166
+ CURRENT_SCHEMA_VERSION,
32
167
  ClaimerNotRegisteredError,
168
+ CloseNeedsEvidenceError,
33
169
  CrossWorkstreamEdgeError,
34
170
  CycleError,
35
- DRIFT_REPORT_CAP,
36
- DriftDetectedError,
37
- GLYPH,
171
+ DEFAULT_SUBSTATE,
172
+ DELEGATE_TOKEN,
173
+ DelegateCallConflictError,
174
+ DelegateNotFoundError,
175
+ DelegateStateError,
176
+ EXPECTED_TABLES,
38
177
  GroupIdAmbiguousError,
39
- HazardFailError,
40
- HomeDirAsProjectRootError,
178
+ GroupNotFoundError,
179
+ HOST_ENV_KEYS,
180
+ HOST_PLACEHOLDERS,
181
+ HlcOverflowError,
182
+ HlcParseError,
183
+ HostChannelBusyError,
184
+ HostCheckFailedError,
185
+ HostExistsError,
186
+ HostInUseError,
187
+ HostNotFoundError,
188
+ HostProfileError,
189
+ HostSpawnUnsupportedError,
190
+ HostTemplateError,
191
+ HumanTaskError,
41
192
  InvalidSubstateError,
42
- KNOWN_INTENTS,
43
- KNOWN_VERBS,
44
- LinkConflictError,
45
193
  LogKindReservedError,
46
- MU_SHIM_MARKER,
194
+ MACHINE_LOCAL_ENTITIES,
195
+ MACHINE_LOCAL_TABLES,
196
+ MachineIdentityMissingError,
47
197
  MuxError,
48
- NoForegroundProcessError,
49
198
  NoMultiplexerError,
50
199
  PANE_ID_RE,
200
+ PORTABLE_TABLES,
51
201
  PaneNotFoundError,
52
- PaneNotInSessionError,
53
- ReaperDetectedDuringWaitError,
54
- RebuildTargetExistsError,
55
- RebuildTargetIsSourceError,
56
- StallDetectedDuringWaitError,
202
+ RemoteCloseRefusedError,
203
+ RemotePrepareError,
204
+ RemoteRecoveryRefusedError,
205
+ RevisionMismatchError,
206
+ SEGMENT_FORMAT_VERSION,
207
+ SEGMENT_READ_VERSIONS,
208
+ SYNCED_ENTITIES,
209
+ SchemaTooNewError,
210
+ SchemaTooOldError,
211
+ SpawnAttemptBusyError,
212
+ SpawnAttemptFailedError,
213
+ SpawnAttemptGuardError,
214
+ SpawnReceiptConflictError,
215
+ SpawnTaskStateError,
216
+ SpawnTrustDialogError,
217
+ SqliteTooOldError,
57
218
  SubstateReasonRequiredError,
219
+ TASK_KINDS,
220
+ TASK_STATUSES,
221
+ TASK_STATUS_LIST,
222
+ TASK_SUBSTATES,
223
+ TASK_SUBSTATE_ROWS,
58
224
  TaskAlreadyOwnedError,
59
- TaskClaimStaleWorkspaceError,
60
225
  TaskExistsError,
226
+ TaskHasOpenBlockersError,
61
227
  TaskIdInvalidError,
62
228
  TaskInTriageError,
63
229
  TaskNotFoundError,
64
230
  TaskNotInWorkstreamError,
231
+ TaskNoteRangeError,
65
232
  TaskParkStateError,
66
233
  TaskParkedError,
67
234
  TaskTitleSlugEmptyError,
68
235
  TmuxError,
69
236
  UNKNOWN_REASON,
70
- WORKSPACE_STALE_THRESHOLD,
71
- WorkspaceConflictError,
72
- WorkspaceDirtyError,
73
- WorkspaceExistsError,
74
- WorkspaceNotFoundError,
75
- WorkspaceOwnerBusyError,
76
- WorkspacePathNotEmptyError,
77
- WorkspacePreservedError,
78
- WorkspaceVcsRequiredError,
237
+ WAIT_REF_KINDS,
238
+ WAIT_REGISTRATION_MAX_REFS,
239
+ WAIT_REGISTRATION_STATES,
240
+ WaitRegistrationError,
79
241
  WorkstreamExistsError,
242
+ WorkstreamHasAgentsError,
80
243
  WorkstreamNameInvalidError,
81
244
  WorkstreamNameReservedError,
245
+ WorkstreamNotFoundError,
246
+ WorkstreamPanesLiveError,
247
+ WorkstreamRevisionMismatchError,
248
+ WorkstreamSessionLiveError,
249
+ WorkstreamTornDownError,
250
+ WorktreeBranchExistsError,
251
+ WorktreeDirtyError,
252
+ WorktreeHeldError,
253
+ WorktreePathNotEmptyError,
254
+ WorktreeVcsRequiredError,
82
255
  abortAgent,
83
256
  acceptTask,
84
257
  activeMux,
85
258
  addBlockEdge,
259
+ addHost,
86
260
  addNote,
87
261
  addTask,
88
- adoptAgent,
262
+ addTasks,
263
+ admitHostChannel,
89
264
  agentKey,
90
- agentStateGlyph,
91
- agentStateHistogram,
265
+ agentRevision,
92
266
  appendLog,
267
+ assertRevision,
93
268
  assertValidPaneId,
94
- awaitPaneQuiescence,
95
- backendByName,
96
- capturePane,
97
- checkCaseCollisions,
98
- checkCheapDriftInvariant,
269
+ beginWait,
270
+ bindHostChannel,
271
+ capture,
272
+ captureTriggersCurrent,
99
273
  checkCommandResolvable,
100
- checkDbInsideSyncDir,
101
- checkDrift,
102
- checkFleetHazards,
103
- checkNetworkMount,
274
+ checkHost,
104
275
  claimTask,
105
- classifyFsType,
106
276
  closeAgent,
277
+ closeRemoteWorktree,
107
278
  closeTask,
108
- composeAgentTitle,
109
- countProblems,
110
- createWorkspace,
279
+ closedToken,
280
+ compareHlc,
281
+ compareStrings,
282
+ createWorktree,
111
283
  ctlRuntimeState,
112
- currentAgentName,
113
- currentPaneTitle,
114
- decorateWithDirty,
115
- decorateWithStaleness,
116
- defaultSendDelayMs,
117
- defaultSendReadinessMs,
284
+ currentOpContext,
285
+ cursorKey,
286
+ defaultDbPath,
118
287
  defaultSpawnLivenessMs,
119
288
  deleteAgent,
120
289
  deleteTask,
121
- detectBackend,
122
290
  detectMux,
123
- driftRemediation,
124
291
  emitEvent,
292
+ endWait,
125
293
  ensureWorkstream,
126
294
  envVarNameForCli,
295
+ expandHostTemplate,
127
296
  expectsCtl,
128
- findCaseCollisions,
129
- foregroundPgid,
130
- formatDriftRecord,
131
- freeWorkspace,
297
+ finishDelegate,
298
+ forgetWorktree,
299
+ formatHlc,
300
+ formatPair,
132
301
  getAgent,
133
302
  getAgentByPane,
134
- getParallelTracks,
303
+ getDelegateCall,
304
+ getHost,
135
305
  getPrerequisites,
306
+ getRemoteRecovery,
136
307
  getTask,
137
308
  getTaskEdges,
138
309
  getTaskEdgesWithStatus,
139
- getWaitPollCount,
140
- getWorkspaceForAgent,
141
- getWorkspaceStaleness,
142
- gitBackend,
143
- hasWorkMarker,
310
+ getWorktreeAt,
311
+ getWorktreeFor,
312
+ hostEnvWords,
313
+ hostStarter,
144
314
  idFromTitle,
145
315
  idFromTitleVerbose,
146
316
  insertAgent,
147
- inspectLinks,
317
+ installCapture,
148
318
  interruptAgent,
149
- isKickSignal,
150
- isPathInside,
319
+ isConsumed,
320
+ isTaskStatus,
151
321
  isValidAgentName,
322
+ isValidPair,
152
323
  isValidPaneId,
153
324
  isValidTaskId,
154
325
  isValidWorkstreamName,
155
- isWorkspaceStale,
156
- jjBackend,
157
- kickAgent,
158
326
  killPane,
159
327
  killSession,
160
328
  latestSeq,
161
- linkPi,
162
- linkSkill,
163
329
  listAgents,
164
- listAllOrphanWorkspaces,
165
330
  listBlocked,
331
+ listDelegates,
332
+ listDelegatesOf,
166
333
  listGoals,
334
+ listHostChannels,
335
+ listHosts,
167
336
  listInProgress,
168
337
  listLiveAgents,
169
338
  listLogs,
170
339
  listNotes,
171
340
  listPanes,
172
- listPanesInSession,
173
341
  listReady,
174
342
  listRecentClosed,
175
- listSessions,
343
+ listRemoteRecoveries,
176
344
  listTasks,
177
345
  listTasksByOwner,
178
- listWindows,
179
- listWorkspaceOrphans,
180
- listWorkspaces,
181
346
  listWorkstreams,
182
- loadDoctorChecks,
183
- loadDoctorSummary,
184
- loadFullDag,
185
- loadWorkstreamSnapshot,
186
- loadWorkstreamSnapshotFast,
187
- loadWorkstreamSnapshotSlow,
188
- mergeSnapshotFastSlow,
347
+ listWorktrees,
348
+ locksDir,
349
+ mapLegacyStatus,
350
+ markDelegate,
189
351
  murmurAvailable,
190
352
  muxByName,
191
353
  mux_exports,
192
- newSession,
193
- newSessionWithPane,
194
- newWindow,
195
- noneBackend,
196
- opSubject,
354
+ nextHlc,
355
+ observationFromReading,
356
+ observeAgentStates,
357
+ openDb,
197
358
  openTask,
198
- paneExists,
199
- paneTTY,
359
+ paneAlive,
200
360
  parkTask,
201
- parseAgentNameFromTitle,
202
- parseOpKey,
203
- parsePsTtyOutput,
204
- probeFilesystem,
361
+ parseHlc,
362
+ parseVerdict,
363
+ previewClose,
205
364
  readAgent,
206
365
  readAgentStates,
207
- rebuildInto,
366
+ readCursors,
367
+ readFileLockMeta,
368
+ readLiveAgents,
369
+ readWaitRegistration,
370
+ receiveHlc,
371
+ reclaimWorktreePath,
208
372
  reconcile,
209
- refreshAgentTitle,
373
+ recordCursors,
374
+ recoveriesFor,
375
+ registerDelegateCall,
376
+ registerOwnedWait,
377
+ registerWorktree,
378
+ releaseHostChannel,
379
+ releaseHostChannelsForAgent,
210
380
  releaseTask,
211
- remediationParagraph,
381
+ releaseWorktree,
212
382
  removeBlockEdge,
213
- renderForest,
214
- renderOp,
215
- renderOpLine,
216
- renderTaskTree,
383
+ removeHost,
384
+ removeWorktree,
217
385
  reparentTask,
386
+ reserveHostChannel,
218
387
  resetCommandResolverForTests,
219
- resetKickProcessExecutor,
220
388
  resetMux,
221
389
  resetSleep,
222
390
  resetTmuxExecutor,
223
- resetWaitPollCount,
224
391
  resolveActorIdentity,
225
392
  resolveCliCommand,
226
393
  resolveCliCommandWithSource,
227
- roiBucket,
228
- selectLayout,
394
+ resolvePair,
395
+ runHostTemplate,
396
+ selectRemoteRecovery,
397
+ selectTaskNotes,
229
398
  sendToAgent,
230
- sendToPane,
231
399
  sendViaTransport,
232
- sessionExists,
233
400
  setCommandResolverForTests,
234
- setKickProcessExecutor,
235
401
  setMuxForTests,
236
- setPaneTitle,
237
402
  setSleepForTests,
238
403
  setTaskStatus,
239
404
  setTmuxExecutor,
240
- setWaitSleepForTests,
241
- setWaitStuckWarnForTests,
242
- slBackend,
405
+ settledCloseInput,
243
406
  sleep,
244
407
  slugifyTitle,
245
408
  slugifyTitleVerbose,
246
409
  spawnAgent,
247
- splitWindow,
248
- summarizeOwnedTasks,
410
+ spawnAutoAttempt,
411
+ spawnForTask,
249
412
  summarizeWorkstream,
413
+ taskRevision,
414
+ taskRevisions,
250
415
  teardownWorkstream,
251
416
  tmuxBackend,
252
417
  tmux_exports,
253
418
  unparkTask,
254
419
  updateTask,
255
- waitForTasks,
256
- workspacePath,
257
- workspacesRoot,
258
- yankCommandForCheck
259
- } from "./chunk-KUGUFBWH.js";
260
- import {
261
- CAPTURE_TRIGGER_DDL,
262
- CURRENT_SCHEMA_VERSION,
263
- DEFAULT_SUBSTATE,
264
- EXPECTED_TABLES,
265
- HlcOverflowError,
266
- HlcParseError,
267
- MACHINE_LOCAL_ENTITIES,
268
- MACHINE_LOCAL_TABLES,
269
- MachineIdentityMissingError,
270
- OP_CTX_DDL,
271
- OpEntityNotSyncedError,
272
- OpKeyMalformedError,
273
- PEER_SHORT_LEN,
274
- PEER_STALE_MS,
275
- PORTABLE_TABLES,
276
- SEGMENT_FORMAT_VERSION,
277
- SYNCED_ENTITIES,
278
- SchemaTooNewError,
279
- SchemaTooOldError,
280
- SyncPeerNotFoundError,
281
- SyncPeerRefAmbiguousError,
282
- SyncSourceNotFoundError,
283
- TASK_STATUSES,
284
- TASK_STATUS_LIST,
285
- TASK_SUBSTATES,
286
- TASK_SUBSTATE_ROWS,
287
- WorkstreamNotFoundError,
288
- ambientFlush,
289
- ambientIngest,
290
- ambientSyncPass,
291
- applyIncomingOp,
292
- applyOp,
293
- applyOps,
294
- compareHlc,
295
- currentOpContext,
296
- defaultDbPath,
297
- discoverPeers,
298
- flushSegment,
299
- formatHlc,
300
- formatPair,
301
- getWatermark,
302
- ingestFromDb,
303
- ingestSegment,
304
- installCapture,
305
- isTaskStatus,
306
- isValidPair,
307
- localMachineId,
308
- locksDir,
309
- mapLegacyStatus,
310
- nextHlc,
311
- openDb,
312
- parseHlc,
313
- peerStatuses,
314
- readFileLockMeta,
315
- readManifest,
316
- receiveHlc,
317
- repairPeer,
318
- resetWatermark,
319
- resolvePair,
320
- resolvePeerRef,
321
- segmentLineCount,
322
- segmentPath,
323
- setWatermark,
324
- syncDir,
325
- syncEnabled,
326
- syncPass,
327
- transportNextSteps,
328
- verifyAgainstManifest,
420
+ upstreamRefs,
421
+ validateHostTemplate,
422
+ verdictTally,
423
+ watchAgentRun,
424
+ withAgentLock,
329
425
  withCaptureSuppressed,
330
426
  withFileLock,
331
- withOpContext
332
- } from "./chunk-45KQLMEL.js";
427
+ withHostChannel,
428
+ withOpContext,
429
+ workstreamRevision,
430
+ worktreePath,
431
+ worktreeState,
432
+ worktreesRoot
433
+ } from "./chunk-UCZPJX7K.js";
333
434
  import {
334
435
  defaultStateDir
335
- } from "./chunk-WI6AWCMK.js";
336
- import "./chunk-3BARPJLY.js";
436
+ } from "./chunk-PZ5GOCWH.js";
437
+
438
+ // src/tracks.ts
439
+ function getParallelTracks(db, workstream) {
440
+ const goals = listGoals(db, workstream).filter((g) => g.status !== "CLOSED");
441
+ if (goals.length === 0) return [];
442
+ const reach = db.prepare(
443
+ `WITH RECURSIVE
444
+ active_goals(id, local_id) AS (
445
+ SELECT g.id, g.local_id
446
+ FROM goals g
447
+ JOIN workstreams ws ON ws.id = g.workstream_id
448
+ WHERE ws.name = ?
449
+ ),
450
+ reach(goal_id, node_id) AS (
451
+ SELECT id, id FROM active_goals
452
+ UNION
453
+ SELECT r.goal_id, e.from_task_id
454
+ FROM reach r
455
+ JOIN task_edges e ON e.to_task_id = r.node_id
456
+ )
457
+ SELECT goal.local_id AS goal_id, node.local_id AS task_id,
458
+ node.status AS status, node.substate AS substate
459
+ FROM reach r
460
+ JOIN tasks goal ON goal.id = r.goal_id
461
+ JOIN tasks node ON node.id = r.node_id`
462
+ ).all(workstream);
463
+ const subgraphs = new Map(goals.map((goal) => [goal.name, /* @__PURE__ */ new Set()]));
464
+ const uf = new UnionFind(goals.map((goal) => goal.name));
465
+ const firstGoalByTask = /* @__PURE__ */ new Map();
466
+ const openSubstate = /* @__PURE__ */ new Map();
467
+ for (const row of reach) {
468
+ if (row.status !== "CLOSED") openSubstate.set(row.task_id, row.substate);
469
+ subgraphs.get(row.goal_id)?.add(row.task_id);
470
+ const firstGoal = firstGoalByTask.get(row.task_id);
471
+ if (firstGoal === void 0) firstGoalByTask.set(row.task_id, row.goal_id);
472
+ else uf.union(firstGoal, row.goal_id);
473
+ }
474
+ const componentTaskIds = /* @__PURE__ */ new Map();
475
+ const componentRoots = /* @__PURE__ */ new Map();
476
+ for (const goal of goals) {
477
+ const root = uf.find(goal.name);
478
+ let bucket = componentTaskIds.get(root);
479
+ if (!bucket) {
480
+ bucket = /* @__PURE__ */ new Set();
481
+ componentTaskIds.set(root, bucket);
482
+ componentRoots.set(root, []);
483
+ }
484
+ componentRoots.get(root)?.push(goal);
485
+ const sub = subgraphs.get(goal.name);
486
+ if (sub) {
487
+ for (const id of sub) bucket.add(id);
488
+ }
489
+ }
490
+ const readyIds = new Set(listReady(db, workstream).map((t) => t.name));
491
+ const tracks = [];
492
+ for (const [root, taskIds] of componentTaskIds) {
493
+ const trackRoots = componentRoots.get(root) ?? [];
494
+ let readyCount = 0;
495
+ let openCount = 0;
496
+ let parkedCount = 0;
497
+ for (const id of taskIds) {
498
+ if (readyIds.has(id)) readyCount++;
499
+ const sub = openSubstate.get(id);
500
+ if (sub === void 0) continue;
501
+ openCount++;
502
+ if (sub === "parked") parkedCount++;
503
+ }
504
+ const parked = openCount > 0 && parkedCount === openCount;
505
+ tracks.push({ roots: trackRoots, taskIds, readyCount, parked });
506
+ }
507
+ tracks.sort((a, b) => {
508
+ const an = a.roots[0]?.name ?? "";
509
+ const bn = b.roots[0]?.name ?? "";
510
+ return compareStrings(an, bn);
511
+ });
512
+ return tracks;
513
+ }
514
+ var UnionFind = class {
515
+ parent = /* @__PURE__ */ new Map();
516
+ rank = /* @__PURE__ */ new Map();
517
+ constructor(items) {
518
+ for (const item of items) {
519
+ this.parent.set(item, item);
520
+ this.rank.set(item, 0);
521
+ }
522
+ }
523
+ find(x) {
524
+ let root = x;
525
+ while (true) {
526
+ const next = this.parent.get(root);
527
+ if (next === void 0 || next === root) break;
528
+ root = next;
529
+ }
530
+ let curr = x;
531
+ while (curr !== root) {
532
+ const next = this.parent.get(curr);
533
+ if (next === void 0) break;
534
+ this.parent.set(curr, root);
535
+ curr = next;
536
+ }
537
+ return root;
538
+ }
539
+ union(a, b) {
540
+ const rootA = this.find(a);
541
+ const rootB = this.find(b);
542
+ if (rootA === rootB) return;
543
+ const rankA = this.rank.get(rootA) ?? 0;
544
+ const rankB = this.rank.get(rootB) ?? 0;
545
+ if (rankA < rankB) {
546
+ this.parent.set(rootA, rootB);
547
+ } else if (rankA > rankB) {
548
+ this.parent.set(rootB, rootA);
549
+ } else {
550
+ this.parent.set(rootB, rootA);
551
+ this.rank.set(rootA, rankA + 1);
552
+ }
553
+ }
554
+ };
337
555
  export {
338
556
  AGENT_STATE_GLYPH,
339
557
  AgentAbortNeedsCtlError,
@@ -345,43 +563,71 @@ export {
345
563
  AgentExistsError,
346
564
  AgentExtensionOutdatedError,
347
565
  AgentFreshNeedsCtlError,
566
+ AgentLockBusyError,
348
567
  AgentNameExhaustedError,
349
568
  AgentNotFoundError,
350
569
  AgentNotInWorkstreamError,
351
570
  AgentPaneDeadError,
571
+ AgentPaneStillAliveError,
572
+ AgentReplacedError,
573
+ AgentRestartedError,
352
574
  AgentSendIndeterminateError,
575
+ AgentSendUnsupportedError,
353
576
  AgentSlashCommandUnsupportedError,
354
577
  AgentSpawnCliNotFoundError,
355
578
  AgentSpawnStartupError,
356
579
  CAPTURE_TRIGGER_DDL,
580
+ CAPTURE_VERSION,
581
+ COURSE_CHECK_AGE_MS,
582
+ COURSE_CHECK_CLOSED,
357
583
  CURRENT_SCHEMA_VERSION,
358
584
  ClaimerNotRegisteredError,
585
+ CloseNeedsEvidenceError,
359
586
  CrossWorkstreamEdgeError,
360
587
  CycleError,
588
+ DEFAULT_NEXT_CAP,
361
589
  DEFAULT_SUBSTATE,
590
+ DELEGATE_TOKEN,
362
591
  DRIFT_REPORT_CAP,
592
+ DbInsideSyncDirError,
593
+ DelegateCallConflictError,
594
+ DelegateNotFoundError,
595
+ DelegateStateError,
363
596
  DriftDetectedError,
364
597
  EXPECTED_TABLES,
598
+ FRONTIER_CLOSED_PER_NODE,
599
+ FRONTIER_MAX_DEPTH,
600
+ FRONTIER_MAX_NODES,
365
601
  GLYPH,
366
602
  GroupIdAmbiguousError,
603
+ GroupNotFoundError,
604
+ HOST_ENV_KEYS,
605
+ HOST_PLACEHOLDERS,
367
606
  HazardFailError,
368
607
  HlcOverflowError,
369
608
  HlcParseError,
370
- HomeDirAsProjectRootError,
609
+ HostChannelBusyError,
610
+ HostCheckFailedError,
611
+ HostExistsError,
612
+ HostInUseError,
613
+ HostNotFoundError,
614
+ HostProfileError,
615
+ HostSpawnUnsupportedError,
616
+ HostTemplateError,
617
+ HumanNeededInvalidError,
618
+ HumanTaskError,
371
619
  InvalidSubstateError,
372
620
  KNOWN_INTENTS,
373
621
  KNOWN_VERBS,
374
- LinkConflictError,
375
622
  LogKindReservedError,
376
623
  MACHINE_LOCAL_ENTITIES,
377
624
  MACHINE_LOCAL_TABLES,
625
+ MAX_NEXT_CAP,
378
626
  MU_SHIM_MARKER,
379
627
  MachineIdentityMissingError,
380
628
  MuxError,
381
- NoForegroundProcessError,
629
+ NextArgError,
382
630
  NoMultiplexerError,
383
- NothingToUndoError,
384
- OP_CTX_DDL,
385
631
  OpEntityNotSyncedError,
386
632
  OpKeyMalformedError,
387
633
  PANE_ID_RE,
@@ -389,60 +635,95 @@ export {
389
635
  PEER_STALE_MS,
390
636
  PORTABLE_TABLES,
391
637
  PaneNotFoundError,
392
- PaneNotInSessionError,
393
- ReaperDetectedDuringWaitError,
394
638
  RebuildTargetExistsError,
395
639
  RebuildTargetIsSourceError,
640
+ RemoteCloseRefusedError,
641
+ RemoteCollectError,
642
+ RemoteCollectUnsupportedError,
643
+ RemotePrepareError,
644
+ RemoteRecoveryRefusedError,
645
+ RevisionMismatchError,
396
646
  SEGMENT_FORMAT_VERSION,
647
+ SEGMENT_READ_VERSIONS,
648
+ STALLED_TOOL_MS,
397
649
  SYNCED_ENTITIES,
398
650
  SchemaTooNewError,
399
651
  SchemaTooOldError,
400
- StallDetectedDuringWaitError,
652
+ SpawnAttemptBusyError,
653
+ SpawnAttemptFailedError,
654
+ SpawnAttemptGuardError,
655
+ SpawnReceiptConflictError,
656
+ SpawnTaskStateError,
657
+ SpawnTrustDialogError,
658
+ SqliteTooOldError,
401
659
  SubstateReasonRequiredError,
660
+ SyncDirForeignError,
402
661
  SyncPeerNotFoundError,
403
662
  SyncPeerRefAmbiguousError,
404
663
  SyncSourceNotFoundError,
664
+ SyncSourceTooNewError,
665
+ TASK_KINDS,
405
666
  TASK_STATUSES,
406
667
  TASK_STATUS_LIST,
407
668
  TASK_SUBSTATES,
408
669
  TASK_SUBSTATE_ROWS,
409
670
  TaskAlreadyOwnedError,
410
- TaskClaimStaleWorkspaceError,
671
+ TaskAutoArgError,
672
+ TaskAutoRefusedError,
673
+ TaskBriefMissingError,
411
674
  TaskExistsError,
675
+ TaskHasOpenBlockersError,
412
676
  TaskIdInvalidError,
413
677
  TaskInTriageError,
414
678
  TaskNotFoundError,
415
679
  TaskNotInWorkstreamError,
680
+ TaskNoteRangeError,
416
681
  TaskParkStateError,
417
682
  TaskParkedError,
418
683
  TaskTitleSlugEmptyError,
419
684
  TmuxError,
420
685
  UNKNOWN_REASON,
421
- UndoGroupNotFoundError,
422
- UndoSupersededError,
423
- WORKSPACE_STALE_THRESHOLD,
424
- WorkspaceConflictError,
425
- WorkspaceDirtyError,
426
- WorkspaceExistsError,
427
- WorkspaceNotFoundError,
428
- WorkspaceOwnerBusyError,
429
- WorkspacePathNotEmptyError,
430
- WorkspacePreservedError,
431
- WorkspaceVcsRequiredError,
686
+ UnguardedMoveError,
687
+ DEFAULT_CTL_STUCK_AFTER_MS as WAIT_DEFAULT_CTL_STUCK_AFTER_MS,
688
+ DEFAULT_STUCK_AFTER_MS as WAIT_DEFAULT_STUCK_AFTER_MS,
689
+ WAIT_HEARTBEAT_CAP_MS,
690
+ WAIT_REF_KINDS,
691
+ WAIT_REGEX_MAX_LEN,
692
+ WAIT_REGISTRATION_MAX_REFS,
693
+ WAIT_REGISTRATION_STATES,
694
+ WAIT_TEXT_MAX,
695
+ WaitNothingError,
696
+ WaitRefError,
697
+ WaitRegexError,
698
+ WaitRegistrationError,
699
+ WaitResumeNotFoundError,
700
+ WaveNotFoundError,
432
701
  WorkstreamExistsError,
702
+ WorkstreamHasAgentsError,
433
703
  WorkstreamNameInvalidError,
434
704
  WorkstreamNameReservedError,
435
705
  WorkstreamNotFoundError,
706
+ WorkstreamPanesLiveError,
707
+ WorkstreamRevisionMismatchError,
708
+ WorkstreamSessionLiveError,
709
+ WorkstreamTornDownError,
710
+ WorktreeBranchExistsError,
711
+ WorktreeDirtyError,
712
+ WorktreeHeldError,
713
+ WorktreePathNotEmptyError,
714
+ WorktreeVcsRequiredError,
436
715
  abortAgent,
437
716
  acceptTask,
438
717
  activeMux,
439
718
  addBlockEdge,
719
+ addHost,
440
720
  addNote,
441
721
  addTask,
442
- adoptAgent,
722
+ addTasks,
723
+ admitHostChannel,
443
724
  agentKey,
725
+ agentRevision,
444
726
  agentStateGlyph,
445
- agentStateHistogram,
446
727
  ambientFlush,
447
728
  ambientIngest,
448
729
  ambientSyncPass,
@@ -450,75 +731,95 @@ export {
450
731
  applyIncomingOp,
451
732
  applyOp,
452
733
  applyOps,
734
+ assertRevision,
735
+ assertSyncDirV2,
453
736
  assertValidPaneId,
454
- awaitPaneQuiescence,
455
- backendByName,
456
- capturePane,
737
+ attemptName,
738
+ authorisedReady,
739
+ authorizeTasks,
740
+ autoPermitted,
741
+ beginWait,
742
+ bindHostChannel,
743
+ buildTaskBrief,
744
+ callerWorkstreams,
745
+ capPlan,
746
+ capture,
747
+ captureTriggersCurrent,
457
748
  checkCaseCollisions,
458
749
  checkCheapDriftInvariant,
459
750
  checkCommandResolvable,
460
751
  checkDbInsideSyncDir,
461
752
  checkDrift,
462
753
  checkFleetHazards,
754
+ checkHost,
463
755
  checkNetworkMount,
756
+ checkRegexGrammar,
464
757
  claimTask,
465
758
  classifyFsType,
466
759
  closeAgent,
760
+ closeRemoteWorktree,
467
761
  closeTask,
762
+ closedToken,
763
+ collectRef,
764
+ collectRemoteAgent,
468
765
  compareHlc,
469
- composeAgentTitle,
470
- countProblems,
471
- createWorkspace,
766
+ compileTextMatcher,
767
+ computeNext,
768
+ computeNotices,
769
+ courseCheckHint,
770
+ createWorktree,
771
+ ctlAgentHooks,
472
772
  ctlRuntimeState,
473
- currentAgentName,
773
+ currentCallers,
474
774
  currentOpContext,
475
- currentPaneTitle,
476
- decorateWithDirty,
477
- decorateWithStaleness,
775
+ cursorKey,
478
776
  defaultDbPath,
479
- defaultSendDelayMs,
480
- defaultSendReadinessMs,
481
777
  defaultSpawnLivenessMs,
482
778
  defaultStateDir,
483
779
  deleteAgent,
484
780
  deleteTask,
485
- detectBackend,
486
781
  detectMux,
487
782
  discoverPeers,
488
783
  driftRemediation,
489
784
  emitEvent,
785
+ endWait,
490
786
  ensureWorkstream,
491
787
  envVarNameForCli,
788
+ executeNext,
789
+ expandHostTemplate,
492
790
  expectsCtl,
493
791
  findCaseCollisions,
792
+ finishDelegate,
494
793
  flushSegment,
495
- foregroundPgid,
794
+ forgetWorktree,
496
795
  formatDriftRecord,
497
796
  formatHlc,
498
797
  formatPair,
499
- freeWorkspace,
798
+ getActionReceipt,
500
799
  getAgent,
501
800
  getAgentByPane,
801
+ getAutoConfig,
802
+ getDelegateCall,
803
+ getHost,
502
804
  getParallelTracks,
503
805
  getPrerequisites,
806
+ getRemoteRecovery,
504
807
  getTask,
505
808
  getTaskEdges,
506
809
  getTaskEdgesWithStatus,
507
- getWaitPollCount,
508
810
  getWatermark,
509
- getWorkspaceForAgent,
510
- getWorkspaceStaleness,
511
- gitBackend,
512
- hasWorkMarker,
811
+ getWorktreeAt,
812
+ getWorktreeFor,
813
+ hostEnvWords,
814
+ hostStarter,
513
815
  idFromTitle,
514
816
  idFromTitleVerbose,
515
817
  ingestFromDb,
516
818
  ingestSegment,
517
819
  insertAgent,
518
- inspectLinks,
519
820
  installCapture,
520
821
  interruptAgent,
521
- isKickSignal,
822
+ isConsumed,
522
823
  isPathInside,
523
824
  isTaskStatus,
524
825
  isValidAgentName,
@@ -526,140 +827,156 @@ export {
526
827
  isValidPaneId,
527
828
  isValidTaskId,
528
829
  isValidWorkstreamName,
529
- isWorkspaceStale,
530
- jjBackend,
531
- kickAgent,
532
830
  killPane,
533
831
  killSession,
534
832
  latestSeq,
535
- linkPi,
536
- linkSkill,
537
833
  listAgents,
538
- listAllOrphanWorkspaces,
539
834
  listBlocked,
835
+ listDelegates,
836
+ listDelegatesOf,
540
837
  listGoals,
838
+ listHostChannels,
839
+ listHosts,
541
840
  listInProgress,
542
841
  listLiveAgents,
543
842
  listLogs,
544
843
  listNotes,
545
844
  listPanes,
546
- listPanesInSession,
547
845
  listReady,
548
846
  listRecentClosed,
549
- listRecentGroups,
550
- listSessions,
847
+ listRemoteRecoveries,
551
848
  listTasks,
552
849
  listTasksByOwner,
553
- listWindows,
554
- listWorkspaceOrphans,
555
- listWorkspaces,
556
850
  listWorkstreams,
557
- loadDoctorChecks,
558
- loadDoctorSummary,
559
- loadFullDag,
560
- loadWorkstreamSnapshot,
561
- loadWorkstreamSnapshotFast,
562
- loadWorkstreamSnapshotSlow,
851
+ listWorktrees,
852
+ loadDashboard,
853
+ loadOpenTaskFrontier,
854
+ loadResume,
563
855
  localMachineId,
564
856
  locksDir,
565
857
  mapLegacyStatus,
566
- mergeSnapshotFastSlow,
567
- mostRecentGroup,
858
+ markDelegate,
859
+ migratePi,
568
860
  murmurAvailable,
569
861
  mux_exports as mux,
570
862
  muxByName,
571
- newSession,
572
- newSessionWithPane,
573
- newWindow,
574
863
  nextHlc,
575
- noneBackend,
864
+ observationFromReading,
865
+ observeAgentStates,
576
866
  opSubject,
867
+ openBlockersClosure,
577
868
  openDb,
869
+ openHumanNeeds,
578
870
  openTask,
579
- paneExists,
580
- paneTTY,
871
+ paneAlive,
581
872
  parkTask,
582
- parseAgentNameFromTitle,
583
873
  parseHlc,
584
874
  parseOpKey,
585
- parsePsTtyOutput,
875
+ parseVerdict,
586
876
  peerStatuses,
587
- planUndo,
588
- priorFieldValue,
877
+ pendingAttempts,
878
+ planAttempt,
879
+ previewClose,
589
880
  probeFilesystem,
590
881
  readAgent,
591
882
  readAgentStates,
883
+ readCursors,
592
884
  readFileLockMeta,
885
+ readLiveAgents,
593
886
  readManifest,
887
+ readWaitRegistration,
594
888
  rebuildInto,
595
889
  receiveHlc,
890
+ reclaimWorktreePath,
596
891
  reconcile,
597
- refreshAgentTitle,
892
+ recordCursors,
893
+ recordHumanNeeded,
894
+ recoveriesFor,
895
+ registerDelegateCall,
896
+ registerOwnedWait,
897
+ registerWorktree,
898
+ releaseHostChannel,
899
+ releaseHostChannelsForAgent,
900
+ releaseStall,
901
+ releaseStallHandler,
598
902
  releaseTask,
599
- remediationParagraph,
903
+ releaseWorktree,
600
904
  removeBlockEdge,
601
- renderForest,
905
+ removeHost,
906
+ removeWorktree,
907
+ renderArgv,
908
+ renderFrontierLines,
602
909
  renderOp,
603
910
  renderOpLine,
604
- renderTaskTree,
911
+ renderPlan,
605
912
  repairPeer,
606
913
  reparentTask,
914
+ reserveActionReceipt,
915
+ reserveAttempt,
916
+ reserveHostChannel,
607
917
  resetCommandResolverForTests,
608
- resetKickProcessExecutor,
609
918
  resetMux,
610
919
  resetSleep,
611
920
  resetTmuxExecutor,
612
- resetWaitPollCount,
613
921
  resetWatermark,
614
922
  resolveActorIdentity,
615
923
  resolveCliCommand,
616
924
  resolveCliCommandWithSource,
617
- resolveGroupId,
618
925
  resolvePair,
619
926
  resolvePeerRef,
620
- roiBucket,
927
+ runHostTemplate,
928
+ saveResume,
621
929
  segmentLineCount,
622
930
  segmentPath,
623
- selectLayout,
931
+ selectRemoteRecovery,
932
+ selectTaskNotes,
624
933
  sendToAgent,
625
- sendToPane,
626
934
  sendViaTransport,
627
- sessionExists,
628
935
  setCommandResolverForTests,
629
- setKickProcessExecutor,
630
936
  setMuxForTests,
631
- setPaneTitle,
632
937
  setSleepForTests,
633
938
  setTaskStatus,
634
939
  setTmuxExecutor,
635
- setWaitSleepForTests,
636
- setWaitStuckWarnForTests,
637
940
  setWatermark,
638
- slBackend,
941
+ settledCloseInput,
942
+ skillDirDigest,
639
943
  sleep,
640
944
  slugifyTitle,
641
945
  slugifyTitleVerbose,
642
946
  spawnAgent,
643
- splitWindow,
644
- summarizeOwnedTasks,
947
+ spawnAutoAttempt,
948
+ spawnForTask,
949
+ stateSnapshot,
950
+ steerStall,
951
+ steerStallHandler,
952
+ steerText,
645
953
  summarizeWorkstream,
646
954
  syncDir,
647
955
  syncEnabled,
648
956
  syncPass,
957
+ taskRevision,
958
+ taskRevisions,
649
959
  teardownWorkstream,
650
960
  tmux_exports as tmux,
651
961
  tmuxBackend,
652
- transportNextSteps,
653
- undoGroup,
962
+ transitionActionReceipt,
654
963
  unparkTask,
655
964
  updateTask,
965
+ upstreamRefs,
966
+ validateHostTemplate,
967
+ verdictTally,
656
968
  verifyAgainstManifest,
657
- waitForTasks,
969
+ waitForEvents,
970
+ waitWithActions,
971
+ watchAgentRun,
972
+ withAgentLock,
658
973
  withCaptureSuppressed,
659
974
  withFileLock,
975
+ withHostChannel,
660
976
  withOpContext,
661
- workspacePath,
662
- workspacesRoot,
663
- yankCommandForCheck
977
+ workstreamRevision,
978
+ worktreePath,
979
+ worktreeState,
980
+ worktreesRoot
664
981
  };
665
982
  //# sourceMappingURL=index.js.map