@wolfx/oh-my-openagent 3.17.15 → 4.1.1

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 (225) hide show
  1. package/README.ja.md +178 -113
  2. package/README.ko.md +221 -149
  3. package/README.md +79 -51
  4. package/README.ru.md +118 -71
  5. package/README.zh-cn.md +139 -73
  6. package/dist/agents/agent-skill-resolution.d.ts +1 -0
  7. package/dist/agents/atlas/agent.d.ts +7 -12
  8. package/dist/agents/atlas/default-prompt-sections.d.ts +5 -5
  9. package/dist/agents/atlas/gemini-prompt-sections.d.ts +4 -4
  10. package/dist/agents/atlas/gpt-prompt-sections.d.ts +5 -5
  11. package/dist/agents/atlas/kimi-prompt-sections.d.ts +6 -0
  12. package/dist/agents/atlas/kimi.d.ts +2 -0
  13. package/dist/agents/atlas/opus-4-7-prompt-sections.d.ts +6 -0
  14. package/dist/agents/atlas/opus-4-7.d.ts +2 -0
  15. package/dist/agents/atlas/shared-prompt.d.ts +1 -1
  16. package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
  17. package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
  18. package/dist/agents/builtin-agents.d.ts +1 -1
  19. package/dist/agents/dynamic-agent-core-sections.d.ts +1 -0
  20. package/dist/agents/dynamic-agent-prompt-builder.d.ts +1 -1
  21. package/dist/agents/hephaestus/gpt-5-5.d.ts +0 -4
  22. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  23. package/dist/agents/types.d.ts +1 -0
  24. package/dist/config/index.d.ts +1 -1
  25. package/dist/config/schema/agent-names.d.ts +1 -0
  26. package/dist/config/schema/agent-overrides.d.ts +45 -0
  27. package/dist/config/schema/categories.d.ts +7 -1
  28. package/dist/config/schema/commands.d.ts +1 -0
  29. package/dist/config/schema/fallback-models.d.ts +5 -0
  30. package/dist/config/schema/hooks.d.ts +2 -0
  31. package/dist/config/schema/keyword-detector.d.ts +21 -0
  32. package/dist/config/schema/oh-my-opencode-config.d.ts +71 -0
  33. package/dist/config/schema/team-mode.d.ts +16 -0
  34. package/dist/config/schema.d.ts +2 -0
  35. package/dist/create-hooks.d.ts +4 -0
  36. package/dist/create-managers.d.ts +2 -0
  37. package/dist/features/background-agent/manager.d.ts +13 -0
  38. package/dist/features/background-agent/spawner.d.ts +4 -2
  39. package/dist/features/background-agent/task-poller.d.ts +1 -0
  40. package/dist/features/background-agent/types.d.ts +5 -0
  41. package/dist/features/boulder-state/format-duration.d.ts +1 -0
  42. package/dist/features/boulder-state/index.d.ts +1 -0
  43. package/dist/features/boulder-state/storage.d.ts +40 -1
  44. package/dist/features/boulder-state/types.d.ts +43 -0
  45. package/dist/features/builtin-commands/commands.d.ts +1 -0
  46. package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -0
  47. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  48. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -0
  49. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  50. package/dist/features/builtin-commands/types.d.ts +1 -1
  51. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
  52. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -1
  53. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -1
  54. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -1
  55. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -1
  56. package/dist/features/builtin-skills/skills/index.d.ts +1 -0
  57. package/dist/features/builtin-skills/skills/team-mode.d.ts +2 -0
  58. package/dist/features/builtin-skills/skills.d.ts +1 -0
  59. package/dist/features/claude-code-plugin-loader/discovery.d.ts +1 -0
  60. package/dist/features/hook-message-injector/injector.d.ts +2 -2
  61. package/dist/features/opencode-skill-loader/loader.d.ts +2 -2
  62. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +1 -0
  63. package/dist/features/team-mode/deps.d.ts +6 -0
  64. package/dist/features/team-mode/member-guidance.d.ts +2 -0
  65. package/dist/features/team-mode/member-parser.d.ts +16 -0
  66. package/dist/features/team-mode/member-session-resolution.d.ts +6 -0
  67. package/dist/features/team-mode/member-session-routing.d.ts +19 -0
  68. package/dist/features/team-mode/team-layout-tmux/close-team-member-pane.d.ts +4 -0
  69. package/dist/features/team-mode/team-layout-tmux/layout.d.ts +26 -6
  70. package/dist/features/team-mode/team-layout-tmux/rebalance-team-window.d.ts +9 -0
  71. package/dist/features/team-mode/team-layout-tmux/resolve-caller-tmux-session.d.ts +7 -0
  72. package/dist/features/team-mode/team-layout-tmux/sweep-stale-team-sessions.d.ts +8 -0
  73. package/dist/features/team-mode/team-mailbox/ack.d.ts +2 -0
  74. package/dist/features/team-mode/team-mailbox/inbox.d.ts +3 -0
  75. package/dist/features/team-mode/team-mailbox/index.d.ts +7 -0
  76. package/dist/features/team-mode/team-mailbox/poll.d.ts +10 -0
  77. package/dist/features/team-mode/team-mailbox/reservation.d.ts +11 -0
  78. package/dist/features/team-mode/team-mailbox/send.d.ts +27 -0
  79. package/dist/features/team-mode/team-registry/index.d.ts +3 -0
  80. package/dist/features/team-mode/team-registry/loader.d.ts +12 -0
  81. package/dist/features/team-mode/team-registry/paths.d.ts +13 -0
  82. package/dist/features/team-mode/team-registry/team-spec-input-normalizer.d.ts +6 -0
  83. package/dist/features/team-mode/team-registry/validator.d.ts +10 -0
  84. package/dist/features/team-mode/team-runtime/activate-team-layout.d.ts +4 -0
  85. package/dist/features/team-mode/team-runtime/cleanup-team-run-resources.d.ts +17 -0
  86. package/dist/features/team-mode/team-runtime/create.d.ts +25 -0
  87. package/dist/features/team-mode/team-runtime/delete-team.d.ts +16 -0
  88. package/dist/features/team-mode/team-runtime/index.d.ts +2 -0
  89. package/dist/features/team-mode/team-runtime/resolve-member-dependencies.d.ts +3 -0
  90. package/dist/features/team-mode/team-runtime/resolve-member.d.ts +17 -0
  91. package/dist/features/team-mode/team-runtime/session-cleanup.d.ts +21 -0
  92. package/dist/features/team-mode/team-runtime/session-team-run-registry.d.ts +4 -0
  93. package/dist/features/team-mode/team-runtime/shutdown-helpers.d.ts +11 -0
  94. package/dist/features/team-mode/team-runtime/shutdown-test-fixtures.d.ts +46 -0
  95. package/dist/features/team-mode/team-runtime/shutdown.d.ts +5 -0
  96. package/dist/features/team-mode/team-runtime/status.d.ts +36 -0
  97. package/dist/features/team-mode/team-session-registry.d.ts +11 -0
  98. package/dist/features/team-mode/team-state-store/index.d.ts +1 -0
  99. package/dist/features/team-mode/team-state-store/locks.d.ts +12 -0
  100. package/dist/features/team-mode/team-state-store/resume.d.ts +10 -0
  101. package/dist/features/team-mode/team-state-store/store.d.ts +21 -0
  102. package/dist/features/team-mode/team-tasklist/claim.d.ts +10 -0
  103. package/dist/features/team-mode/team-tasklist/dependencies.d.ts +2 -0
  104. package/dist/features/team-mode/team-tasklist/get.d.ts +3 -0
  105. package/dist/features/team-mode/team-tasklist/index.d.ts +6 -0
  106. package/dist/features/team-mode/team-tasklist/list.d.ts +8 -0
  107. package/dist/features/team-mode/team-tasklist/store.d.ts +3 -0
  108. package/dist/features/team-mode/team-tasklist/test-support.d.ts +9 -0
  109. package/dist/features/team-mode/team-tasklist/update.d.ts +9 -0
  110. package/dist/features/team-mode/tools/index.d.ts +1 -0
  111. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +188 -0
  112. package/dist/features/team-mode/tools/lifecycle.d.ts +37 -0
  113. package/dist/features/team-mode/tools/messaging.d.ts +31 -0
  114. package/dist/features/team-mode/tools/query.d.ts +16 -0
  115. package/dist/features/team-mode/tools/tasks.d.ts +18 -0
  116. package/dist/features/team-mode/types.d.ts +137 -5
  117. package/dist/features/tmux-subagent/action-executor-core.d.ts +1 -0
  118. package/dist/features/tmux-subagent/action-executor.d.ts +1 -0
  119. package/dist/features/tmux-subagent/attachable-session-status.d.ts +4 -0
  120. package/dist/features/tmux-subagent/cleanup.d.ts +10 -0
  121. package/dist/features/tmux-subagent/manager.d.ts +32 -3
  122. package/dist/features/tmux-subagent/pane-state-querier.d.ts +10 -0
  123. package/dist/features/tmux-subagent/polling.d.ts +1 -0
  124. package/dist/features/tmux-subagent/session-created-handler.d.ts +23 -0
  125. package/dist/features/tmux-subagent/session-deleted-handler.d.ts +16 -0
  126. package/dist/hooks/atlas/atlas-hook.d.ts +1 -1
  127. package/dist/hooks/atlas/boulder-continuation-injector.d.ts +3 -4
  128. package/dist/hooks/atlas/recent-model-resolver.d.ts +9 -1
  129. package/dist/hooks/atlas/system-reminder-templates.d.ts +1 -0
  130. package/dist/hooks/atlas/tool-execute-after.d.ts +3 -1
  131. package/dist/hooks/atlas/tool-execute-before.d.ts +2 -0
  132. package/dist/hooks/atlas/types.d.ts +10 -2
  133. package/dist/hooks/compaction-context-injector/recovery.d.ts +1 -1
  134. package/dist/hooks/compaction-context-injector/types.d.ts +1 -0
  135. package/dist/hooks/compaction-todo-preserver/hook.d.ts +11 -0
  136. package/dist/hooks/fsync-skip-warning/index.d.ts +18 -0
  137. package/dist/hooks/index.d.ts +4 -0
  138. package/dist/hooks/keyword-detector/constants.d.ts +6 -0
  139. package/dist/hooks/keyword-detector/detector.d.ts +5 -3
  140. package/dist/hooks/keyword-detector/hook.d.ts +2 -1
  141. package/dist/hooks/keyword-detector/hyperplan/default.d.ts +13 -0
  142. package/dist/hooks/keyword-detector/hyperplan/index.d.ts +1 -0
  143. package/dist/hooks/keyword-detector/team/default.d.ts +13 -0
  144. package/dist/hooks/keyword-detector/team/index.d.ts +1 -0
  145. package/dist/hooks/ralph-loop/continuation-prompt-injector.d.ts +7 -1
  146. package/dist/hooks/ralph-loop/iteration-continuation.d.ts +9 -1
  147. package/dist/hooks/ralph-loop/loop-state-controller.d.ts +1 -0
  148. package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +3 -0
  149. package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +2 -0
  150. package/dist/hooks/ralph-loop/types.d.ts +1 -0
  151. package/dist/hooks/ralph-loop/verification-failure-handler.d.ts +3 -1
  152. package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +2 -2
  153. package/dist/hooks/shared/session-idle-settle.d.ts +11 -0
  154. package/dist/hooks/team-mailbox-injector/hook.d.ts +31 -0
  155. package/dist/hooks/team-mailbox-injector/index.d.ts +2 -0
  156. package/dist/hooks/team-mode-status-injector/hook.d.ts +28 -0
  157. package/dist/hooks/team-mode-status-injector/index.d.ts +1 -0
  158. package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +42 -0
  159. package/dist/hooks/team-session-events/team-lead-orphan-handler.d.ts +12 -0
  160. package/dist/hooks/team-session-events/team-member-error-handler.d.ts +10 -0
  161. package/dist/hooks/team-session-events/team-member-status-handler.d.ts +10 -0
  162. package/dist/hooks/team-tool-gating/hook.d.ts +3 -0
  163. package/dist/hooks/team-tool-gating/index.d.ts +1 -0
  164. package/dist/hooks/todo-description-override/description.d.ts +1 -1
  165. package/dist/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.d.ts +2 -0
  166. package/dist/hooks/write-existing-file-guard/hook.d.ts +6 -1
  167. package/dist/hooks/write-existing-file-guard/tool-execute-before-handler.d.ts +1 -0
  168. package/dist/index.js +93264 -81453
  169. package/dist/oh-my-opencode.schema.json +199 -47
  170. package/dist/plugin/hooks/create-core-hooks.d.ts +4 -0
  171. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +3 -1
  172. package/dist/plugin/hooks/create-transform-hooks.d.ts +3 -1
  173. package/dist/plugin/recent-synthetic-idles.d.ts +1 -0
  174. package/dist/plugin/session-compacting.d.ts +31 -0
  175. package/dist/plugin/tool-registry.d.ts +16 -0
  176. package/dist/plugin-dispose.d.ts +13 -0
  177. package/dist/plugin-handlers/agent-priority-order.d.ts +6 -6
  178. package/dist/shared/agent-ordering.d.ts +8 -0
  179. package/dist/shared/agent-sort-shim.d.ts +8 -8
  180. package/dist/shared/agent-tool-restrictions.d.ts +5 -1
  181. package/dist/shared/bun-file-shim.d.ts +8 -0
  182. package/dist/shared/bun-hash-shim.d.ts +1 -0
  183. package/dist/shared/bun-spawn-shim.d.ts +1 -0
  184. package/dist/shared/bun-which-shim.d.ts +1 -0
  185. package/dist/shared/classify-path-environment.d.ts +3 -0
  186. package/dist/shared/event-session-id.d.ts +2 -0
  187. package/dist/shared/extract-semver.d.ts +1 -0
  188. package/dist/shared/fsync-skip-tracker.d.ts +12 -0
  189. package/dist/shared/fsync-skip-warning-formatter.d.ts +2 -0
  190. package/dist/shared/index.d.ts +3 -0
  191. package/dist/shared/internal-initiator-marker.d.ts +8 -0
  192. package/dist/shared/model-capability-heuristics.d.ts +1 -0
  193. package/dist/shared/opencode-version.d.ts +14 -1
  194. package/dist/shared/project-discovery-dirs.d.ts +1 -0
  195. package/dist/shared/session-route.d.ts +18 -0
  196. package/dist/shared/shell-env.d.ts +1 -0
  197. package/dist/shared/tmux/cmux-detect.d.ts +8 -0
  198. package/dist/shared/tmux/constants.d.ts +1 -1
  199. package/dist/shared/tmux/index.d.ts +2 -0
  200. package/dist/shared/tmux/runner.d.ts +13 -0
  201. package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +1 -1
  202. package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +13 -1
  203. package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +13 -1
  204. package/dist/shared/tmux/tmux-utils/stale-session-sweep.d.ts +9 -2
  205. package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +13 -1
  206. package/dist/shared/tmux/tmux-utils.d.ts +1 -1
  207. package/dist/shared/tolerant-fsync.d.ts +5 -0
  208. package/dist/shared/write-file-atomically.d.ts +4 -1
  209. package/dist/tools/call-omo-agent/agent-resolver.d.ts +5 -12
  210. package/dist/tools/call-omo-agent/constants.d.ts +2 -2
  211. package/dist/tools/delegate-task/model-string-parser.d.ts +9 -0
  212. package/dist/tools/delegate-task/openai-categories.d.ts +1 -0
  213. package/dist/tools/delegate-task/resolve-call-id.d.ts +2 -0
  214. package/dist/tools/delegate-task/skill-resolver.d.ts +1 -0
  215. package/dist/tools/delegate-task/subagent-resolver.d.ts +5 -1
  216. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -0
  217. package/dist/tools/delegate-task/sync-result-fetcher.d.ts +3 -1
  218. package/dist/tools/delegate-task/types.d.ts +1 -0
  219. package/dist/tools/index.d.ts +1 -0
  220. package/dist/tools/interactive-bash/constants.d.ts +1 -0
  221. package/dist/tools/interactive-bash/tmux-path-resolver.d.ts +1 -0
  222. package/dist/tools/look-at/missing-file-error.d.ts +2 -0
  223. package/dist/tools/skill/types.d.ts +2 -0
  224. package/package.json +3 -4
  225. package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
@@ -3,6 +3,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
3
3
  $schema: z.ZodOptional<z.ZodString>;
4
4
  new_task_system_enabled: z.ZodOptional<z.ZodBoolean>;
5
5
  default_run_agent: z.ZodOptional<z.ZodString>;
6
+ agent_order: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
7
  agent_definitions: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
8
  disabled_mcps: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
9
  disabled_agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -14,6 +15,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
14
15
  "git-master": "git-master";
15
16
  "review-work": "review-work";
16
17
  "ai-slop-remover": "ai-slop-remover";
18
+ "team-mode": "team-mode";
17
19
  }>>>;
18
20
  disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
21
  disabled_commands: z.ZodOptional<z.ZodArray<z.ZodEnum<{
@@ -25,6 +27,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
25
27
  "start-work": "start-work";
26
28
  "stop-continuation": "stop-continuation";
27
29
  "remove-ai-slops": "remove-ai-slops";
30
+ hyperplan: "hyperplan";
28
31
  }>>>;
29
32
  disabled_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
33
  mcp_env_allowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -43,6 +46,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
43
46
  medium: "medium";
44
47
  high: "high";
45
48
  xhigh: "xhigh";
49
+ max: "max";
46
50
  }>>;
47
51
  temperature: z.ZodOptional<z.ZodNumber>;
48
52
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -64,6 +68,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
64
68
  medium: "medium";
65
69
  high: "high";
66
70
  xhigh: "xhigh";
71
+ max: "max";
67
72
  }>>;
68
73
  temperature: z.ZodOptional<z.ZodNumber>;
69
74
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -143,6 +148,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
143
148
  medium: "medium";
144
149
  high: "high";
145
150
  xhigh: "xhigh";
151
+ max: "max";
146
152
  }>>;
147
153
  textVerbosity: z.ZodOptional<z.ZodEnum<{
148
154
  low: "low";
@@ -171,6 +177,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
171
177
  medium: "medium";
172
178
  high: "high";
173
179
  xhigh: "xhigh";
180
+ max: "max";
174
181
  }>>;
175
182
  temperature: z.ZodOptional<z.ZodNumber>;
176
183
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -192,6 +199,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
192
199
  medium: "medium";
193
200
  high: "high";
194
201
  xhigh: "xhigh";
202
+ max: "max";
195
203
  }>>;
196
204
  temperature: z.ZodOptional<z.ZodNumber>;
197
205
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -271,6 +279,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
271
279
  medium: "medium";
272
280
  high: "high";
273
281
  xhigh: "xhigh";
282
+ max: "max";
274
283
  }>>;
275
284
  textVerbosity: z.ZodOptional<z.ZodEnum<{
276
285
  low: "low";
@@ -299,6 +308,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
299
308
  medium: "medium";
300
309
  high: "high";
301
310
  xhigh: "xhigh";
311
+ max: "max";
302
312
  }>>;
303
313
  temperature: z.ZodOptional<z.ZodNumber>;
304
314
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -320,6 +330,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
320
330
  medium: "medium";
321
331
  high: "high";
322
332
  xhigh: "xhigh";
333
+ max: "max";
323
334
  }>>;
324
335
  temperature: z.ZodOptional<z.ZodNumber>;
325
336
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -399,6 +410,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
399
410
  medium: "medium";
400
411
  high: "high";
401
412
  xhigh: "xhigh";
413
+ max: "max";
402
414
  }>>;
403
415
  textVerbosity: z.ZodOptional<z.ZodEnum<{
404
416
  low: "low";
@@ -427,6 +439,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
427
439
  medium: "medium";
428
440
  high: "high";
429
441
  xhigh: "xhigh";
442
+ max: "max";
430
443
  }>>;
431
444
  temperature: z.ZodOptional<z.ZodNumber>;
432
445
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -448,6 +461,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
448
461
  medium: "medium";
449
462
  high: "high";
450
463
  xhigh: "xhigh";
464
+ max: "max";
451
465
  }>>;
452
466
  temperature: z.ZodOptional<z.ZodNumber>;
453
467
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -527,6 +541,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
527
541
  medium: "medium";
528
542
  high: "high";
529
543
  xhigh: "xhigh";
544
+ max: "max";
530
545
  }>>;
531
546
  textVerbosity: z.ZodOptional<z.ZodEnum<{
532
547
  low: "low";
@@ -556,6 +571,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
556
571
  medium: "medium";
557
572
  high: "high";
558
573
  xhigh: "xhigh";
574
+ max: "max";
559
575
  }>>;
560
576
  temperature: z.ZodOptional<z.ZodNumber>;
561
577
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -577,6 +593,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
577
593
  medium: "medium";
578
594
  high: "high";
579
595
  xhigh: "xhigh";
596
+ max: "max";
580
597
  }>>;
581
598
  temperature: z.ZodOptional<z.ZodNumber>;
582
599
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -656,6 +673,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
656
673
  medium: "medium";
657
674
  high: "high";
658
675
  xhigh: "xhigh";
676
+ max: "max";
659
677
  }>>;
660
678
  textVerbosity: z.ZodOptional<z.ZodEnum<{
661
679
  low: "low";
@@ -684,6 +702,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
684
702
  medium: "medium";
685
703
  high: "high";
686
704
  xhigh: "xhigh";
705
+ max: "max";
687
706
  }>>;
688
707
  temperature: z.ZodOptional<z.ZodNumber>;
689
708
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -705,6 +724,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
705
724
  medium: "medium";
706
725
  high: "high";
707
726
  xhigh: "xhigh";
727
+ max: "max";
708
728
  }>>;
709
729
  temperature: z.ZodOptional<z.ZodNumber>;
710
730
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -784,6 +804,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
784
804
  medium: "medium";
785
805
  high: "high";
786
806
  xhigh: "xhigh";
807
+ max: "max";
787
808
  }>>;
788
809
  textVerbosity: z.ZodOptional<z.ZodEnum<{
789
810
  low: "low";
@@ -812,6 +833,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
812
833
  medium: "medium";
813
834
  high: "high";
814
835
  xhigh: "xhigh";
836
+ max: "max";
815
837
  }>>;
816
838
  temperature: z.ZodOptional<z.ZodNumber>;
817
839
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -833,6 +855,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
833
855
  medium: "medium";
834
856
  high: "high";
835
857
  xhigh: "xhigh";
858
+ max: "max";
836
859
  }>>;
837
860
  temperature: z.ZodOptional<z.ZodNumber>;
838
861
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -912,6 +935,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
912
935
  medium: "medium";
913
936
  high: "high";
914
937
  xhigh: "xhigh";
938
+ max: "max";
915
939
  }>>;
916
940
  textVerbosity: z.ZodOptional<z.ZodEnum<{
917
941
  low: "low";
@@ -940,6 +964,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
940
964
  medium: "medium";
941
965
  high: "high";
942
966
  xhigh: "xhigh";
967
+ max: "max";
943
968
  }>>;
944
969
  temperature: z.ZodOptional<z.ZodNumber>;
945
970
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -961,6 +986,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
961
986
  medium: "medium";
962
987
  high: "high";
963
988
  xhigh: "xhigh";
989
+ max: "max";
964
990
  }>>;
965
991
  temperature: z.ZodOptional<z.ZodNumber>;
966
992
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1040,6 +1066,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1040
1066
  medium: "medium";
1041
1067
  high: "high";
1042
1068
  xhigh: "xhigh";
1069
+ max: "max";
1043
1070
  }>>;
1044
1071
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1045
1072
  low: "low";
@@ -1068,6 +1095,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1068
1095
  medium: "medium";
1069
1096
  high: "high";
1070
1097
  xhigh: "xhigh";
1098
+ max: "max";
1071
1099
  }>>;
1072
1100
  temperature: z.ZodOptional<z.ZodNumber>;
1073
1101
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1089,6 +1117,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1089
1117
  medium: "medium";
1090
1118
  high: "high";
1091
1119
  xhigh: "xhigh";
1120
+ max: "max";
1092
1121
  }>>;
1093
1122
  temperature: z.ZodOptional<z.ZodNumber>;
1094
1123
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1168,6 +1197,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1168
1197
  medium: "medium";
1169
1198
  high: "high";
1170
1199
  xhigh: "xhigh";
1200
+ max: "max";
1171
1201
  }>>;
1172
1202
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1173
1203
  low: "low";
@@ -1196,6 +1226,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1196
1226
  medium: "medium";
1197
1227
  high: "high";
1198
1228
  xhigh: "xhigh";
1229
+ max: "max";
1199
1230
  }>>;
1200
1231
  temperature: z.ZodOptional<z.ZodNumber>;
1201
1232
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1217,6 +1248,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1217
1248
  medium: "medium";
1218
1249
  high: "high";
1219
1250
  xhigh: "xhigh";
1251
+ max: "max";
1220
1252
  }>>;
1221
1253
  temperature: z.ZodOptional<z.ZodNumber>;
1222
1254
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1296,6 +1328,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1296
1328
  medium: "medium";
1297
1329
  high: "high";
1298
1330
  xhigh: "xhigh";
1331
+ max: "max";
1299
1332
  }>>;
1300
1333
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1301
1334
  low: "low";
@@ -1324,6 +1357,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1324
1357
  medium: "medium";
1325
1358
  high: "high";
1326
1359
  xhigh: "xhigh";
1360
+ max: "max";
1327
1361
  }>>;
1328
1362
  temperature: z.ZodOptional<z.ZodNumber>;
1329
1363
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1345,6 +1379,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1345
1379
  medium: "medium";
1346
1380
  high: "high";
1347
1381
  xhigh: "xhigh";
1382
+ max: "max";
1348
1383
  }>>;
1349
1384
  temperature: z.ZodOptional<z.ZodNumber>;
1350
1385
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1424,6 +1459,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1424
1459
  medium: "medium";
1425
1460
  high: "high";
1426
1461
  xhigh: "xhigh";
1462
+ max: "max";
1427
1463
  }>>;
1428
1464
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1429
1465
  low: "low";
@@ -1452,6 +1488,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1452
1488
  medium: "medium";
1453
1489
  high: "high";
1454
1490
  xhigh: "xhigh";
1491
+ max: "max";
1455
1492
  }>>;
1456
1493
  temperature: z.ZodOptional<z.ZodNumber>;
1457
1494
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1473,6 +1510,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1473
1510
  medium: "medium";
1474
1511
  high: "high";
1475
1512
  xhigh: "xhigh";
1513
+ max: "max";
1476
1514
  }>>;
1477
1515
  temperature: z.ZodOptional<z.ZodNumber>;
1478
1516
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1552,6 +1590,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1552
1590
  medium: "medium";
1553
1591
  high: "high";
1554
1592
  xhigh: "xhigh";
1593
+ max: "max";
1555
1594
  }>>;
1556
1595
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1557
1596
  low: "low";
@@ -1580,6 +1619,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1580
1619
  medium: "medium";
1581
1620
  high: "high";
1582
1621
  xhigh: "xhigh";
1622
+ max: "max";
1583
1623
  }>>;
1584
1624
  temperature: z.ZodOptional<z.ZodNumber>;
1585
1625
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1601,6 +1641,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1601
1641
  medium: "medium";
1602
1642
  high: "high";
1603
1643
  xhigh: "xhigh";
1644
+ max: "max";
1604
1645
  }>>;
1605
1646
  temperature: z.ZodOptional<z.ZodNumber>;
1606
1647
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1680,6 +1721,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1680
1721
  medium: "medium";
1681
1722
  high: "high";
1682
1723
  xhigh: "xhigh";
1724
+ max: "max";
1683
1725
  }>>;
1684
1726
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1685
1727
  low: "low";
@@ -1708,6 +1750,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1708
1750
  medium: "medium";
1709
1751
  high: "high";
1710
1752
  xhigh: "xhigh";
1753
+ max: "max";
1711
1754
  }>>;
1712
1755
  temperature: z.ZodOptional<z.ZodNumber>;
1713
1756
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1729,6 +1772,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1729
1772
  medium: "medium";
1730
1773
  high: "high";
1731
1774
  xhigh: "xhigh";
1775
+ max: "max";
1732
1776
  }>>;
1733
1777
  temperature: z.ZodOptional<z.ZodNumber>;
1734
1778
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1808,6 +1852,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1808
1852
  medium: "medium";
1809
1853
  high: "high";
1810
1854
  xhigh: "xhigh";
1855
+ max: "max";
1811
1856
  }>>;
1812
1857
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1813
1858
  low: "low";
@@ -1838,6 +1883,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1838
1883
  medium: "medium";
1839
1884
  high: "high";
1840
1885
  xhigh: "xhigh";
1886
+ max: "max";
1841
1887
  }>>;
1842
1888
  temperature: z.ZodOptional<z.ZodNumber>;
1843
1889
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1859,6 +1905,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1859
1905
  medium: "medium";
1860
1906
  high: "high";
1861
1907
  xhigh: "xhigh";
1908
+ max: "max";
1862
1909
  }>>;
1863
1910
  temperature: z.ZodOptional<z.ZodNumber>;
1864
1911
  top_p: z.ZodOptional<z.ZodNumber>;
@@ -1889,6 +1936,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1889
1936
  medium: "medium";
1890
1937
  high: "high";
1891
1938
  xhigh: "xhigh";
1939
+ max: "max";
1892
1940
  }>>;
1893
1941
  textVerbosity: z.ZodOptional<z.ZodEnum<{
1894
1942
  low: "low";
@@ -2056,6 +2104,29 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
2056
2104
  includePrefix: z.ZodDefault<z.ZodBoolean>;
2057
2105
  }, z.core.$strip>>;
2058
2106
  }, z.core.$strip>>;
2107
+ team_mode: z.ZodOptional<z.ZodObject<{
2108
+ enabled: z.ZodDefault<z.ZodBoolean>;
2109
+ tmux_visualization: z.ZodDefault<z.ZodBoolean>;
2110
+ max_parallel_members: z.ZodDefault<z.ZodNumber>;
2111
+ max_members: z.ZodDefault<z.ZodNumber>;
2112
+ max_messages_per_run: z.ZodDefault<z.ZodNumber>;
2113
+ max_wall_clock_minutes: z.ZodDefault<z.ZodNumber>;
2114
+ max_member_turns: z.ZodDefault<z.ZodNumber>;
2115
+ base_dir: z.ZodOptional<z.ZodString>;
2116
+ message_payload_max_bytes: z.ZodDefault<z.ZodNumber>;
2117
+ recipient_unread_max_bytes: z.ZodDefault<z.ZodNumber>;
2118
+ mailbox_poll_interval_ms: z.ZodDefault<z.ZodNumber>;
2119
+ }, z.core.$strip>>;
2120
+ keyword_detector: z.ZodOptional<z.ZodObject<{
2121
+ disabled_keywords: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2122
+ search: "search";
2123
+ ultrawork: "ultrawork";
2124
+ hyperplan: "hyperplan";
2125
+ analyze: "analyze";
2126
+ team: "team";
2127
+ "hyperplan-ultrawork": "hyperplan-ultrawork";
2128
+ }>>>;
2129
+ }, z.core.$strip>>;
2059
2130
  babysitting: z.ZodOptional<z.ZodObject<{
2060
2131
  timeout_ms: z.ZodDefault<z.ZodNumber>;
2061
2132
  }, z.core.$strip>>;
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ /** Team Mode config - see .sisyphus/plans/team-mode.md (D-01/D-25). */
3
+ export declare const TeamModeConfigSchema: z.ZodObject<{
4
+ enabled: z.ZodDefault<z.ZodBoolean>;
5
+ tmux_visualization: z.ZodDefault<z.ZodBoolean>;
6
+ max_parallel_members: z.ZodDefault<z.ZodNumber>;
7
+ max_members: z.ZodDefault<z.ZodNumber>;
8
+ max_messages_per_run: z.ZodDefault<z.ZodNumber>;
9
+ max_wall_clock_minutes: z.ZodDefault<z.ZodNumber>;
10
+ max_member_turns: z.ZodDefault<z.ZodNumber>;
11
+ base_dir: z.ZodOptional<z.ZodString>;
12
+ message_payload_max_bytes: z.ZodDefault<z.ZodNumber>;
13
+ recipient_unread_max_bytes: z.ZodDefault<z.ZodNumber>;
14
+ mailbox_poll_interval_ms: z.ZodDefault<z.ZodNumber>;
15
+ }, z.core.$strip>;
16
+ export type TeamModeConfig = z.infer<typeof TeamModeConfigSchema>;
@@ -13,11 +13,13 @@ export * from "./schema/fallback-models";
13
13
  export * from "./schema/git-env-prefix";
14
14
  export * from "./schema/git-master";
15
15
  export * from "./schema/hooks";
16
+ export * from "./schema/keyword-detector";
16
17
  export * from "./schema/model-capabilities";
17
18
  export * from "./schema/notification";
18
19
  export * from "./schema/oh-my-opencode-config";
19
20
  export * from "./schema/ralph-loop";
20
21
  export * from "./schema/runtime-fallback";
22
+ export * from "./schema/team-mode";
21
23
  export * from "./schema/skills";
22
24
  export * from "./schema/sisyphus";
23
25
  export * from "./schema/sisyphus-agent";
@@ -42,6 +42,8 @@ export declare function createHooks(args: {
42
42
  claudeCodeHooks: ReturnType<typeof import("./hooks").createClaudeCodeHooksHook> | null;
43
43
  keywordDetector: ReturnType<typeof import("./hooks").createKeywordDetectorHook> | null;
44
44
  contextInjectorMessagesTransform: ReturnType<typeof import("./features/context-injector").createContextInjectorMessagesTransformHook>;
45
+ teamModeStatusInjector: ReturnType<typeof import("./hooks").createTeamModeStatusInjector> | null;
46
+ teamMailboxInjector: ReturnType<typeof import("./hooks").createTeamMailboxInjector> | null;
45
47
  thinkingBlockValidator: ReturnType<typeof import("./hooks").createThinkingBlockValidatorHook> | null;
46
48
  toolPairValidator: ReturnType<typeof import("./hooks").createToolPairValidatorHook> | null;
47
49
  commentChecker: ReturnType<typeof import("./hooks").createCommentCheckerHooks> | null;
@@ -58,6 +60,8 @@ export declare function createHooks(args: {
58
60
  readImageResizer: ReturnType<typeof import("./hooks").createReadImageResizerHook> | null;
59
61
  todoDescriptionOverride: ReturnType<typeof import("./hooks").createTodoDescriptionOverrideHook> | null;
60
62
  webfetchRedirectGuard: ReturnType<typeof import("./hooks").createWebFetchRedirectGuardHook> | null;
63
+ fsyncSkipWarning: ReturnType<typeof import("./hooks").createFsyncSkipWarningHook> | null;
64
+ teamToolGating: ReturnType<typeof import("./hooks").createTeamToolGating> | null;
61
65
  contextWindowMonitor: ReturnType<typeof import("./hooks").createContextWindowMonitorHook> | null;
62
66
  preemptiveCompaction: ReturnType<typeof import("./hooks").createPreemptiveCompactionHook> | null;
63
67
  sessionRecovery: ReturnType<typeof import("./hooks").createSessionRecoveryHook> | null;
@@ -3,6 +3,7 @@ import type { ModelCacheState } from "./plugin-state";
3
3
  import type { PluginContext, TmuxConfig } from "./plugin/types";
4
4
  import { BackgroundManager } from "./features/background-agent";
5
5
  import { SkillMcpManager } from "./features/skill-mcp-manager";
6
+ import { cleanupSessionTeamRuns } from "./features/team-mode/team-runtime/session-cleanup";
6
7
  import { initTaskToastManager } from "./features/task-toast-manager";
7
8
  import { TmuxSessionManager } from "./features/tmux-subagent";
8
9
  import { registerManagerForCleanup } from "./features/background-agent/process-cleanup";
@@ -15,6 +16,7 @@ type CreateManagersDeps = {
15
16
  TmuxSessionManagerClass: typeof TmuxSessionManager;
16
17
  initTaskToastManagerFn: typeof initTaskToastManager;
17
18
  registerManagerForCleanupFn: typeof registerManagerForCleanup;
19
+ cleanupSessionTeamRunsFn: typeof cleanupSessionTeamRuns;
18
20
  createConfigHandlerFn: typeof createConfigHandler;
19
21
  markServerRunningInProcessFn: typeof markServerRunningInProcess;
20
22
  };
@@ -2,12 +2,14 @@ import type { PluginInput } from "@opencode-ai/plugin";
2
2
  import type { ModelFallbackControllerAccessor } from "../../hooks/model-fallback";
3
3
  import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
4
4
  import { TaskHistory } from "./task-history";
5
+ import { log } from "../../shared";
5
6
  import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema";
6
7
  import { type SubagentSpawnContext } from "./subagent-spawn-limits";
7
8
  interface EventProperties {
8
9
  sessionID?: string;
9
10
  info?: {
10
11
  id?: string;
12
+ sessionID?: string;
11
13
  };
12
14
  [key: string]: unknown;
13
15
  }
@@ -29,6 +31,7 @@ export interface BackgroundManagerConfig {
29
31
  onShutdown?: () => void | Promise<void>;
30
32
  enableParentSessionNotifications?: boolean;
31
33
  modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
34
+ log?: typeof log;
32
35
  }
33
36
  export declare class BackgroundManager {
34
37
  private tasks;
@@ -49,15 +52,19 @@ export declare class BackgroundManager {
49
52
  private queuesByKey;
50
53
  private processingKeys;
51
54
  private completionTimers;
55
+ private completedTaskArchive;
52
56
  private completedTaskSummaries;
53
57
  private idleDeferralTimers;
54
58
  private notificationQueueByParent;
59
+ private pendingParentWakes;
60
+ private pendingParentWakeTimers;
55
61
  private observedOutputSessions;
56
62
  private observedIncompleteTodosBySession;
57
63
  private rootDescendantCounts;
58
64
  private preStartDescendantReservations;
59
65
  private enableParentSessionNotifications;
60
66
  private modelFallbackControllerAccessor?;
67
+ private logger;
61
68
  private loggedSessionStatusUnavailable;
62
69
  readonly taskHistory: TaskHistory;
63
70
  private cachedCircuitBreakerSettings?;
@@ -77,6 +84,7 @@ export declare class BackgroundManager {
77
84
  private rollbackPreStartDescendantReservation;
78
85
  private addTask;
79
86
  private removeTask;
87
+ private archiveCompletedTask;
80
88
  private updateTaskParent;
81
89
  private removeTaskFromParentIndex;
82
90
  launch(input: LaunchInput): Promise<BackgroundTask>;
@@ -164,6 +172,11 @@ export declare class BackgroundManager {
164
172
  */
165
173
  private tryCompleteTask;
166
174
  private notifyParentSession;
175
+ private isSessionActive;
176
+ private queuePendingParentWake;
177
+ private flushPendingParentWake;
178
+ private schedulePendingParentWakeFlush;
179
+ private clearPendingParentWakeTimer;
167
180
  private hasRunningTasks;
168
181
  private pruneStaleTasksAndNotifications;
169
182
  private checkAndInterruptStaleTasks;
@@ -3,7 +3,9 @@ import type { OpencodeClient, OnSubagentSessionCreated, QueueItem } from "./cons
3
3
  import type { ConcurrencyManager } from "./concurrency";
4
4
  export declare const FALLBACK_AGENT = "general";
5
5
  export declare function isAgentNotFoundError(error: unknown): boolean;
6
- export declare function buildFallbackBody(originalBody: Record<string, unknown>, fallbackAgent: string): Record<string, unknown>;
6
+ export declare function buildFallbackBody(originalBody: Record<string, unknown>, fallbackAgent: string, options?: {
7
+ includeTeamToolDenylist?: boolean;
8
+ }): Record<string, unknown>;
7
9
  export interface SpawnerContext {
8
10
  client: OpencodeClient;
9
11
  directory: string;
@@ -14,4 +16,4 @@ export interface SpawnerContext {
14
16
  }
15
17
  export declare function createTask(input: LaunchInput): BackgroundTask;
16
18
  export declare function startTask(item: QueueItem, ctx: SpawnerContext): Promise<void>;
17
- export declare function resumeTask(task: BackgroundTask, input: ResumeInput, ctx: Pick<SpawnerContext, "client" | "concurrencyManager" | "onTaskError">): Promise<void>;
19
+ export declare function resumeTask(task: BackgroundTask, input: ResumeInput, ctx: Pick<SpawnerContext, "client" | "concurrencyManager" | "directory" | "onTaskError">): Promise<void>;
@@ -7,6 +7,7 @@ export declare function pruneStaleTasksAndNotifications(args: {
7
7
  notifications: Map<string, BackgroundTask[]>;
8
8
  onTaskPruned: (taskId: string, task: BackgroundTask, errorMessage: string) => void;
9
9
  taskTtlMs?: number;
10
+ sessionStatuses?: SessionStatusMap;
10
11
  }): void;
11
12
  export type SessionStatusMap = Record<string, {
12
13
  type: string;
@@ -35,6 +35,7 @@ export interface BackgroundTask {
35
35
  rootSessionId?: string;
36
36
  parentSessionId: string;
37
37
  parentMessageId: string;
38
+ teamRunId?: string;
38
39
  description: string;
39
40
  prompt: string;
40
41
  agent: string;
@@ -67,6 +68,7 @@ export interface BackgroundTask {
67
68
  isUnstableAgent?: boolean;
68
69
  /** Category used for this task (e.g., 'quick', 'visual-engineering') */
69
70
  category?: string;
71
+ onSessionCreated?: (sessionId: string) => void | Promise<void>;
70
72
  /** Pending retry notification details for the next spawned retry session */
71
73
  retryNotification?: {
72
74
  previousSessionID?: string;
@@ -91,6 +93,8 @@ export interface LaunchInput {
91
93
  agent: string;
92
94
  parentSessionId: string;
93
95
  parentMessageId: string;
96
+ teamRunId?: string;
97
+ suppressTmuxSpawn?: boolean;
94
98
  parentModel?: {
95
99
  providerID: string;
96
100
  modelID: string;
@@ -105,6 +109,7 @@ export interface LaunchInput {
105
109
  skillContent?: string;
106
110
  category?: string;
107
111
  sessionPermission?: SessionPermissionRule[];
112
+ onSessionCreated?: (sessionId: string) => void | Promise<void>;
108
113
  }
109
114
  export interface ResumeInput {
110
115
  sessionId: string;
@@ -0,0 +1 @@
1
+ export declare function formatDurationHuman(milliseconds: number): string;
@@ -2,3 +2,4 @@ export * from "./types";
2
2
  export * from "./constants";
3
3
  export * from "./storage";
4
4
  export * from "./top-level-task";
5
+ export * from "./format-duration";
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * Handles reading/writing boulder.json for active plan tracking.
5
5
  */
6
- import type { BoulderState, PlanProgress, TaskSessionState } from "./types";
6
+ import type { BoulderSessionOrigin, BoulderState, BoulderWorkResumeOption, BoulderWorkState, PlanProgress, TaskSessionState } from "./types";
7
7
  export declare function getBoulderFilePath(directory: string): string;
8
+ export declare function resolveBoulderPlanPath(directory: string, state: Pick<BoulderState, "active_plan" | "worktree_path">): string;
8
9
  export declare function readBoulderState(directory: string): BoulderState | null;
9
10
  export declare function writeBoulderState(directory: string, state: BoulderState): boolean;
10
11
  export declare function appendSessionId(directory: string, sessionId: string, origin?: "direct" | "appended"): BoulderState | null;
@@ -42,3 +43,41 @@ export declare function getPlanName(planPath: string): string;
42
43
  * Create a new boulder state for a plan.
43
44
  */
44
45
  export declare function createBoulderState(planPath: string, sessionId: string, agent?: string, worktreePath?: string): BoulderState;
46
+ export declare function generateWorkId(planName: string): string;
47
+ export declare function getBoulderWorks(state: BoulderState): BoulderWorkState[];
48
+ export declare function getActiveWorks(directory: string): BoulderWorkState[];
49
+ export declare function getWorkById(directory: string, workId: string): BoulderWorkState | null;
50
+ export declare function getWorkByPlanName(directory: string, planName: string, options?: {
51
+ worktreePath?: string;
52
+ }): BoulderWorkState | null;
53
+ export declare function getWorkForSession(directory: string, sessionId: string): BoulderWorkState | null;
54
+ export declare function resolveBoulderPlanPathForWork(directory: string, work: Pick<BoulderWorkState, "active_plan" | "worktree_path">): string;
55
+ export declare function getWorkResumeOptions(directory: string): BoulderWorkResumeOption[];
56
+ export declare function selectActiveWork(directory: string, workId: string): BoulderState | null;
57
+ export declare function addBoulderWork(directory: string, input: {
58
+ planPath: string;
59
+ sessionId: string;
60
+ agent?: string;
61
+ worktreePath?: string;
62
+ startedAt?: string;
63
+ }): BoulderState | null;
64
+ export declare function appendSessionIdForWork(directory: string, workId: string, sessionId: string, origin?: BoulderSessionOrigin): BoulderState | null;
65
+ export declare function upsertTaskSessionStateForWork(directory: string, workId: string, input: {
66
+ taskKey: string;
67
+ taskLabel: string;
68
+ taskTitle: string;
69
+ sessionId: string;
70
+ agent?: string;
71
+ category?: string;
72
+ }): BoulderState | null;
73
+ export declare function startTaskTimer(directory: string, workId: string, input: {
74
+ taskKey: string;
75
+ taskLabel: string;
76
+ taskTitle: string;
77
+ sessionId: string;
78
+ agent?: string;
79
+ category?: string;
80
+ startedAt?: string;
81
+ }): BoulderState | null;
82
+ export declare function endTaskTimer(directory: string, workId: string, taskKey: string, endedAt?: string): BoulderState | null;
83
+ export declare function completeBoulder(directory: string, workId?: string, endedAt?: string): BoulderState | null;