@mu-crew/mu 3.13.3 → 4.0.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-5HECDBK3.js +4482 -0
  4. package/dist/chunk-5HECDBK3.js.map +1 -0
  5. package/dist/chunk-AW2NONYU.js +301 -0
  6. package/dist/chunk-AW2NONYU.js.map +1 -0
  7. package/dist/chunk-GQNHIPJN.js +4060 -0
  8. package/dist/chunk-GQNHIPJN.js.map +1 -0
  9. package/dist/{chunk-3BARPJLY.js → chunk-PZ5GOCWH.js} +16 -2
  10. package/dist/chunk-PZ5GOCWH.js.map +1 -0
  11. package/dist/chunk-S424D5EP.js +13766 -0
  12. package/dist/chunk-S424D5EP.js.map +1 -0
  13. package/dist/{cli-CKOMHBXV.js → cli-GB2CAVVW.js} +6776 -4350
  14. package/dist/cli-GB2CAVVW.js.map +1 -0
  15. package/dist/cli.js +2 -3
  16. package/dist/cli.js.map +1 -1
  17. package/dist/errors-KHOYKD7D.js +65 -0
  18. package/dist/extension/mu-pi.js +1617 -836
  19. package/dist/extension/mu-pi.js.map +1 -1
  20. package/dist/index.d.ts +4015 -2561
  21. package/dist/index.js +614 -297
  22. package/dist/index.js.map +1 -1
  23. package/dist/tui-ALPHYTA2.js +1773 -0
  24. package/dist/tui-ALPHYTA2.js.map +1 -0
  25. package/docs/ARCHITECTURE.md +117 -66
  26. package/docs/VOCABULARY.md +112 -49
  27. package/docs/guide/README.md +3 -3
  28. package/docs/guide/backends.md +8 -4
  29. package/docs/guide/cleanup.md +61 -33
  30. package/docs/guide/delegate.md +141 -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 +115 -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 +23 -32
  41. package/docs/reference/naming.md +12 -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 +16 -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-KHOYKD7D.js.map} +0 -0
package/dist/index.js CHANGED
@@ -1,17 +1,155 @@
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-AW2NONYU.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-5HECDBK3.js";
68
+ import {
69
+ COURSE_CHECK_AGE_MS,
70
+ COURSE_CHECK_CLOSED,
71
+ DelegateCallConflictError,
72
+ DelegateNotFoundError,
73
+ DelegateStateError,
74
+ FRONTIER_CLOSED_PER_NODE,
75
+ FRONTIER_MAX_DEPTH,
76
+ FRONTIER_MAX_NODES,
77
+ HumanNeededInvalidError,
78
+ KNOWN_INTENTS,
79
+ KNOWN_VERBS,
80
+ OpEntityNotSyncedError,
81
+ OpKeyMalformedError,
82
+ PEER_SHORT_LEN,
83
+ PEER_STALE_MS,
84
+ SyncDirForeignError,
85
+ SyncPeerNotFoundError,
86
+ SyncPeerRefAmbiguousError,
87
+ SyncSourceNotFoundError,
88
+ SyncSourceTooNewError,
89
+ TaskAutoArgError,
90
+ TaskAutoRefusedError,
91
+ TaskBriefMissingError,
92
+ UnguardedMoveError,
93
+ ambientFlush,
94
+ ambientIngest,
95
+ ambientSyncPass,
96
+ applyIncomingOp,
97
+ applyOp,
98
+ applyOps,
99
+ assertSyncDirV2,
100
+ attemptName,
101
+ authorisedReady,
102
+ authorizeTasks,
103
+ autoPermitted,
104
+ buildTaskBrief,
105
+ capPlan,
106
+ computeNext,
107
+ computeNotices,
108
+ courseCheckHint,
109
+ currentCallers,
110
+ discoverPeers,
111
+ finishDelegate,
112
+ flushSegment,
113
+ getAutoConfig,
114
+ getDelegateCall,
115
+ getWatermark,
116
+ ingestFromDb,
117
+ ingestSegment,
118
+ listDelegates,
119
+ listDelegatesOf,
120
+ loadOpenTaskFrontier,
121
+ localMachineId,
122
+ markDelegate,
123
+ opSubject,
124
+ openBlockersClosure,
125
+ openHumanNeeds,
126
+ parseOpKey,
127
+ parseVerdict,
128
+ peerStatuses,
129
+ pendingAttempts,
130
+ planAttempt,
131
+ readManifest,
132
+ recordHumanNeeded,
133
+ registerDelegateCall,
134
+ renderArgv,
135
+ renderFrontierLines,
136
+ renderOp,
137
+ renderOpLine,
138
+ renderPlan,
139
+ repairPeer,
140
+ reserveAttempt,
141
+ resetWatermark,
142
+ resolvePeerRef,
143
+ segmentLineCount,
144
+ segmentPath,
145
+ setWatermark,
146
+ syncDir,
147
+ syncEnabled,
148
+ syncPass,
149
+ verdictTally,
150
+ verifyAgainstManifest
151
+ } from "./chunk-GQNHIPJN.js";
152
+ import {
15
153
  AgentAbortNeedsCtlError,
16
154
  AgentAbortTimeoutError,
17
155
  AgentBusyError,
@@ -21,319 +159,399 @@ import {
21
159
  AgentExistsError,
22
160
  AgentExtensionOutdatedError,
23
161
  AgentFreshNeedsCtlError,
162
+ AgentLockBusyError,
24
163
  AgentNameExhaustedError,
25
164
  AgentNotFoundError,
26
165
  AgentNotInWorkstreamError,
27
166
  AgentPaneDeadError,
167
+ AgentPaneStillAliveError,
168
+ AgentReplacedError,
169
+ AgentRestartedError,
28
170
  AgentSendIndeterminateError,
171
+ AgentSendUnsupportedError,
29
172
  AgentSlashCommandUnsupportedError,
30
173
  AgentSpawnCliNotFoundError,
31
174
  AgentSpawnStartupError,
175
+ CAPTURE_TRIGGER_DDL,
176
+ CAPTURE_VERSION,
177
+ CURRENT_SCHEMA_VERSION,
32
178
  ClaimerNotRegisteredError,
179
+ CloseNeedsEvidenceError,
33
180
  CrossWorkstreamEdgeError,
34
181
  CycleError,
35
- DRIFT_REPORT_CAP,
36
- DriftDetectedError,
37
- GLYPH,
182
+ DEFAULT_SUBSTATE,
183
+ DELEGATE_TOKEN,
184
+ EXPECTED_TABLES,
38
185
  GroupIdAmbiguousError,
39
- HazardFailError,
40
- HomeDirAsProjectRootError,
186
+ GroupNotFoundError,
187
+ HOST_ENV_KEYS,
188
+ HOST_PLACEHOLDERS,
189
+ HlcOverflowError,
190
+ HlcParseError,
191
+ HostChannelBusyError,
192
+ HostCheckFailedError,
193
+ HostExistsError,
194
+ HostInUseError,
195
+ HostNotFoundError,
196
+ HostProfileError,
197
+ HostSpawnUnsupportedError,
198
+ HostTemplateError,
199
+ HumanTaskError,
41
200
  InvalidSubstateError,
42
- KNOWN_INTENTS,
43
- KNOWN_VERBS,
44
- LinkConflictError,
45
201
  LogKindReservedError,
46
- MU_SHIM_MARKER,
202
+ MACHINE_LOCAL_ENTITIES,
203
+ MACHINE_LOCAL_TABLES,
204
+ MachineIdentityMissingError,
47
205
  MuxError,
48
- NoForegroundProcessError,
49
206
  NoMultiplexerError,
50
207
  PANE_ID_RE,
208
+ PORTABLE_TABLES,
51
209
  PaneNotFoundError,
52
- PaneNotInSessionError,
53
- ReaperDetectedDuringWaitError,
54
- RebuildTargetExistsError,
55
- RebuildTargetIsSourceError,
56
- StallDetectedDuringWaitError,
210
+ RemoteCloseRefusedError,
211
+ RemotePrepareError,
212
+ RemoteRecoveryRefusedError,
213
+ RevisionMismatchError,
214
+ SEGMENT_FORMAT_VERSION,
215
+ SEGMENT_READ_VERSIONS,
216
+ SYNCED_ENTITIES,
217
+ SchemaTooNewError,
218
+ SchemaTooOldError,
219
+ SpawnAttemptBusyError,
220
+ SpawnAttemptFailedError,
221
+ SpawnAttemptGuardError,
222
+ SpawnReceiptConflictError,
223
+ SpawnTaskStateError,
224
+ SpawnTrustDialogError,
225
+ SqliteTooOldError,
57
226
  SubstateReasonRequiredError,
227
+ TASK_KINDS,
228
+ TASK_STATUSES,
229
+ TASK_STATUS_LIST,
230
+ TASK_SUBSTATES,
231
+ TASK_SUBSTATE_ROWS,
58
232
  TaskAlreadyOwnedError,
59
- TaskClaimStaleWorkspaceError,
60
233
  TaskExistsError,
234
+ TaskHasOpenBlockersError,
61
235
  TaskIdInvalidError,
62
236
  TaskInTriageError,
63
237
  TaskNotFoundError,
64
238
  TaskNotInWorkstreamError,
239
+ TaskNoteRangeError,
65
240
  TaskParkStateError,
66
241
  TaskParkedError,
67
242
  TaskTitleSlugEmptyError,
68
243
  TmuxError,
69
244
  UNKNOWN_REASON,
70
- WORKSPACE_STALE_THRESHOLD,
71
- WorkspaceConflictError,
72
- WorkspaceDirtyError,
73
- WorkspaceExistsError,
74
- WorkspaceNotFoundError,
75
- WorkspaceOwnerBusyError,
76
- WorkspacePathNotEmptyError,
77
- WorkspacePreservedError,
78
- WorkspaceVcsRequiredError,
245
+ WAIT_REF_KINDS,
246
+ WAIT_REGISTRATION_MAX_REFS,
247
+ WAIT_REGISTRATION_STATES,
248
+ WaitRegistrationError,
79
249
  WorkstreamExistsError,
250
+ WorkstreamHasAgentsError,
80
251
  WorkstreamNameInvalidError,
81
252
  WorkstreamNameReservedError,
253
+ WorkstreamNotFoundError,
254
+ WorkstreamPanesLiveError,
255
+ WorkstreamRevisionMismatchError,
256
+ WorkstreamSessionLiveError,
257
+ WorkstreamTornDownError,
258
+ WorktreeBranchExistsError,
259
+ WorktreeDirtyError,
260
+ WorktreeHeldError,
261
+ WorktreePathNotEmptyError,
262
+ WorktreeVcsRequiredError,
82
263
  abortAgent,
83
264
  acceptTask,
84
265
  activeMux,
85
266
  addBlockEdge,
267
+ addHost,
86
268
  addNote,
87
269
  addTask,
88
- adoptAgent,
270
+ addTasks,
271
+ admitHostChannel,
89
272
  agentKey,
90
- agentStateGlyph,
91
- agentStateHistogram,
273
+ agentRevision,
92
274
  appendLog,
275
+ assertRevision,
93
276
  assertValidPaneId,
94
- awaitPaneQuiescence,
95
- backendByName,
96
- capturePane,
97
- checkCaseCollisions,
98
- checkCheapDriftInvariant,
277
+ beginWait,
278
+ bindHostChannel,
279
+ capture,
280
+ captureTriggersCurrent,
99
281
  checkCommandResolvable,
100
- checkDbInsideSyncDir,
101
- checkDrift,
102
- checkFleetHazards,
103
- checkNetworkMount,
282
+ checkHost,
104
283
  claimTask,
105
- classifyFsType,
106
284
  closeAgent,
285
+ closeRemoteWorktree,
107
286
  closeTask,
108
- composeAgentTitle,
109
- countProblems,
110
- createWorkspace,
287
+ closedToken,
288
+ compareHlc,
289
+ compareStrings,
290
+ createWorktree,
111
291
  ctlRuntimeState,
112
- currentAgentName,
113
- currentPaneTitle,
114
- decorateWithDirty,
115
- decorateWithStaleness,
116
- defaultSendDelayMs,
117
- defaultSendReadinessMs,
292
+ currentOpContext,
293
+ cursorKey,
294
+ defaultDbPath,
118
295
  defaultSpawnLivenessMs,
119
296
  deleteAgent,
120
297
  deleteTask,
121
- detectBackend,
122
298
  detectMux,
123
- driftRemediation,
124
299
  emitEvent,
300
+ endWait,
125
301
  ensureWorkstream,
126
302
  envVarNameForCli,
303
+ expandHostTemplate,
127
304
  expectsCtl,
128
- findCaseCollisions,
129
- foregroundPgid,
130
- formatDriftRecord,
131
- freeWorkspace,
305
+ forgetWorktree,
306
+ formatHlc,
307
+ formatPair,
132
308
  getAgent,
133
309
  getAgentByPane,
134
- getParallelTracks,
310
+ getHost,
135
311
  getPrerequisites,
312
+ getRemoteRecovery,
136
313
  getTask,
137
314
  getTaskEdges,
138
315
  getTaskEdgesWithStatus,
139
- getWaitPollCount,
140
- getWorkspaceForAgent,
141
- getWorkspaceStaleness,
142
- gitBackend,
143
- hasWorkMarker,
316
+ getWorktreeAt,
317
+ getWorktreeFor,
318
+ hostEnvWords,
319
+ hostStarter,
144
320
  idFromTitle,
145
321
  idFromTitleVerbose,
146
322
  insertAgent,
147
- inspectLinks,
323
+ installCapture,
148
324
  interruptAgent,
149
- isKickSignal,
150
- isPathInside,
325
+ isConsumed,
326
+ isTaskStatus,
151
327
  isValidAgentName,
328
+ isValidPair,
152
329
  isValidPaneId,
153
330
  isValidTaskId,
154
331
  isValidWorkstreamName,
155
- isWorkspaceStale,
156
- jjBackend,
157
- kickAgent,
158
332
  killPane,
159
333
  killSession,
160
334
  latestSeq,
161
- linkPi,
162
- linkSkill,
163
335
  listAgents,
164
- listAllOrphanWorkspaces,
165
336
  listBlocked,
166
337
  listGoals,
338
+ listHostChannels,
339
+ listHosts,
167
340
  listInProgress,
168
341
  listLiveAgents,
169
342
  listLogs,
170
343
  listNotes,
171
344
  listPanes,
172
- listPanesInSession,
173
345
  listReady,
174
346
  listRecentClosed,
175
- listSessions,
347
+ listRemoteRecoveries,
176
348
  listTasks,
177
349
  listTasksByOwner,
178
- listWindows,
179
- listWorkspaceOrphans,
180
- listWorkspaces,
181
350
  listWorkstreams,
182
- loadDoctorChecks,
183
- loadDoctorSummary,
184
- loadFullDag,
185
- loadWorkstreamSnapshot,
186
- loadWorkstreamSnapshotFast,
187
- loadWorkstreamSnapshotSlow,
188
- mergeSnapshotFastSlow,
351
+ listWorktrees,
352
+ locksDir,
353
+ mapLegacyStatus,
189
354
  murmurAvailable,
190
355
  muxByName,
191
356
  mux_exports,
192
- newSession,
193
- newSessionWithPane,
194
- newWindow,
195
- noneBackend,
196
- opSubject,
357
+ nextHlc,
358
+ observationFromReading,
359
+ observeAgentStates,
360
+ openDb,
197
361
  openTask,
198
- paneExists,
199
- paneTTY,
362
+ paneAlive,
200
363
  parkTask,
201
- parseAgentNameFromTitle,
202
- parseOpKey,
203
- parsePsTtyOutput,
204
- probeFilesystem,
364
+ parseHlc,
365
+ previewClose,
205
366
  readAgent,
206
367
  readAgentStates,
207
- rebuildInto,
368
+ readCursors,
369
+ readFileLockMeta,
370
+ readLiveAgents,
371
+ readWaitRegistration,
372
+ receiveHlc,
373
+ reclaimWorktreePath,
208
374
  reconcile,
209
- refreshAgentTitle,
375
+ recordCursors,
376
+ recoveriesFor,
377
+ registerOwnedWait,
378
+ registerWorktree,
379
+ releaseHostChannel,
380
+ releaseHostChannelsForAgent,
210
381
  releaseTask,
211
- remediationParagraph,
382
+ releaseWorktree,
212
383
  removeBlockEdge,
213
- renderForest,
214
- renderOp,
215
- renderOpLine,
216
- renderTaskTree,
384
+ removeHost,
385
+ removeWorktree,
217
386
  reparentTask,
387
+ reserveHostChannel,
218
388
  resetCommandResolverForTests,
219
- resetKickProcessExecutor,
220
389
  resetMux,
221
390
  resetSleep,
222
391
  resetTmuxExecutor,
223
- resetWaitPollCount,
224
392
  resolveActorIdentity,
225
393
  resolveCliCommand,
226
394
  resolveCliCommandWithSource,
227
- roiBucket,
228
- selectLayout,
395
+ resolvePair,
396
+ runHostTemplate,
397
+ selectRemoteRecovery,
398
+ selectTaskNotes,
229
399
  sendToAgent,
230
- sendToPane,
231
400
  sendViaTransport,
232
- sessionExists,
233
401
  setCommandResolverForTests,
234
- setKickProcessExecutor,
235
402
  setMuxForTests,
236
- setPaneTitle,
237
403
  setSleepForTests,
238
404
  setTaskStatus,
239
405
  setTmuxExecutor,
240
- setWaitSleepForTests,
241
- setWaitStuckWarnForTests,
242
- slBackend,
406
+ settledCloseInput,
243
407
  sleep,
244
408
  slugifyTitle,
245
409
  slugifyTitleVerbose,
246
410
  spawnAgent,
247
- splitWindow,
248
- summarizeOwnedTasks,
411
+ spawnAutoAttempt,
412
+ spawnForTask,
249
413
  summarizeWorkstream,
414
+ taskRevision,
415
+ taskRevisions,
250
416
  teardownWorkstream,
251
417
  tmuxBackend,
252
418
  tmux_exports,
253
419
  unparkTask,
254
420
  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,
421
+ upstreamRefs,
422
+ validateHostTemplate,
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-S424D5EP.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