evil-omo 3.17.12 → 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 (171) hide show
  1. package/README.ja.md +154 -114
  2. package/README.ko.md +197 -150
  3. package/README.ru.md +93 -71
  4. package/README.zh-cn.md +113 -72
  5. package/dist/agents/agent-skill-resolution.d.ts +1 -0
  6. package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
  7. package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
  8. package/dist/agents/builtin-agents.d.ts +1 -1
  9. package/dist/agents/dynamic-agent-core-sections.d.ts +1 -0
  10. package/dist/agents/dynamic-agent-prompt-builder.d.ts +1 -1
  11. package/dist/agents/hephaestus/gpt-5-5.d.ts +0 -4
  12. package/dist/agents/types.d.ts +1 -0
  13. package/dist/cli/doctor/checks/team-mode.d.ts +2 -0
  14. package/dist/cli/doctor/constants.d.ts +1 -0
  15. package/dist/cli/index.js +21099 -20826
  16. package/dist/cli/run/continuation-state.d.ts +1 -0
  17. package/dist/config/index.d.ts +1 -1
  18. package/dist/config/schema/agent-names.d.ts +1 -0
  19. package/dist/config/schema/agent-overrides.d.ts +45 -0
  20. package/dist/config/schema/categories.d.ts +7 -1
  21. package/dist/config/schema/commands.d.ts +1 -0
  22. package/dist/config/schema/evil-omo-config.d.ts +70 -0
  23. package/dist/config/schema/fallback-models.d.ts +5 -0
  24. package/dist/config/schema/hooks.d.ts +1 -0
  25. package/dist/config/schema/keyword-detector.d.ts +21 -0
  26. package/dist/config/schema/team-mode.d.ts +16 -0
  27. package/dist/config/schema.d.ts +2 -0
  28. package/dist/create-hooks.d.ts +3 -0
  29. package/dist/evil-omo.schema.json +191 -47
  30. package/dist/features/background-agent/manager.d.ts +17 -9
  31. package/dist/features/background-agent/process-cleanup.d.ts +4 -0
  32. package/dist/features/background-agent/types.d.ts +16 -12
  33. package/dist/features/background-agent/wait-for-task-session.d.ts +1 -1
  34. package/dist/features/boulder-state/storage.d.ts +1 -0
  35. package/dist/features/builtin-commands/commands.d.ts +1 -0
  36. package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -0
  37. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  38. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -0
  39. package/dist/features/builtin-commands/types.d.ts +1 -1
  40. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
  41. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -1
  42. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -1
  43. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -1
  44. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -1
  45. package/dist/features/builtin-skills/skills/index.d.ts +1 -0
  46. package/dist/features/builtin-skills/skills/team-mode.d.ts +2 -0
  47. package/dist/features/builtin-skills/skills.d.ts +1 -0
  48. package/dist/features/claude-code-plugin-loader/discovery.d.ts +1 -0
  49. package/dist/features/hook-message-injector/injector.d.ts +2 -2
  50. package/dist/features/opencode-skill-loader/loader.d.ts +2 -2
  51. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +1 -0
  52. package/dist/features/run-continuation-state/types.d.ts +1 -1
  53. package/dist/features/skill-mcp-manager/types.d.ts +1 -0
  54. package/dist/features/team-mode/deps.d.ts +6 -0
  55. package/dist/features/team-mode/member-guidance.d.ts +2 -0
  56. package/dist/features/team-mode/member-parser.d.ts +16 -0
  57. package/dist/features/team-mode/member-session-resolution.d.ts +6 -0
  58. package/dist/features/team-mode/member-session-routing.d.ts +19 -0
  59. package/dist/features/team-mode/resolve-caller-team-lead.d.ts +8 -0
  60. package/dist/features/team-mode/team-layout-tmux/close-team-member-pane.d.ts +4 -0
  61. package/dist/features/team-mode/team-layout-tmux/layout.d.ts +26 -6
  62. package/dist/features/team-mode/team-layout-tmux/rebalance-team-window.d.ts +9 -0
  63. package/dist/features/team-mode/team-layout-tmux/resolve-caller-tmux-session.d.ts +7 -0
  64. package/dist/features/team-mode/team-layout-tmux/sweep-stale-team-sessions.d.ts +8 -0
  65. package/dist/features/team-mode/team-mailbox/ack.d.ts +2 -0
  66. package/dist/features/team-mode/team-mailbox/inbox.d.ts +3 -0
  67. package/dist/features/team-mode/team-mailbox/index.d.ts +7 -0
  68. package/dist/features/team-mode/team-mailbox/poll.d.ts +10 -0
  69. package/dist/features/team-mode/team-mailbox/reservation.d.ts +11 -0
  70. package/dist/features/team-mode/team-mailbox/send.d.ts +27 -0
  71. package/dist/features/team-mode/team-registry/index.d.ts +3 -0
  72. package/dist/features/team-mode/team-registry/loader.d.ts +12 -0
  73. package/dist/features/team-mode/team-registry/paths.d.ts +13 -0
  74. package/dist/features/team-mode/team-registry/team-spec-input-normalizer.d.ts +6 -0
  75. package/dist/features/team-mode/team-registry/validator.d.ts +10 -0
  76. package/dist/features/team-mode/team-runtime/activate-team-layout.d.ts +4 -0
  77. package/dist/features/team-mode/team-runtime/cleanup-team-run-resources.d.ts +17 -0
  78. package/dist/features/team-mode/team-runtime/create.d.ts +25 -0
  79. package/dist/features/team-mode/team-runtime/delete-team.d.ts +16 -0
  80. package/dist/features/team-mode/team-runtime/index.d.ts +2 -0
  81. package/dist/features/team-mode/team-runtime/resolve-member-dependencies.d.ts +3 -0
  82. package/dist/features/team-mode/team-runtime/resolve-member.d.ts +17 -0
  83. package/dist/features/team-mode/team-runtime/shutdown-helpers.d.ts +11 -0
  84. package/dist/features/team-mode/team-runtime/shutdown-test-fixtures.d.ts +46 -0
  85. package/dist/features/team-mode/team-runtime/shutdown.d.ts +5 -0
  86. package/dist/features/team-mode/team-runtime/status.d.ts +36 -0
  87. package/dist/features/team-mode/team-session-registry.d.ts +11 -0
  88. package/dist/features/team-mode/team-state-store/index.d.ts +1 -0
  89. package/dist/features/team-mode/team-state-store/locks.d.ts +12 -0
  90. package/dist/features/team-mode/team-state-store/resume.d.ts +10 -0
  91. package/dist/features/team-mode/team-state-store/store.d.ts +21 -0
  92. package/dist/features/team-mode/team-tasklist/claim.d.ts +10 -0
  93. package/dist/features/team-mode/team-tasklist/dependencies.d.ts +2 -0
  94. package/dist/features/team-mode/team-tasklist/get.d.ts +3 -0
  95. package/dist/features/team-mode/team-tasklist/index.d.ts +6 -0
  96. package/dist/features/team-mode/team-tasklist/list.d.ts +8 -0
  97. package/dist/features/team-mode/team-tasklist/store.d.ts +3 -0
  98. package/dist/features/team-mode/team-tasklist/test-support.d.ts +9 -0
  99. package/dist/features/team-mode/team-tasklist/update.d.ts +9 -0
  100. package/dist/features/team-mode/tools/index.d.ts +1 -0
  101. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +188 -0
  102. package/dist/features/team-mode/tools/lifecycle.d.ts +37 -0
  103. package/dist/features/team-mode/tools/messaging.d.ts +31 -0
  104. package/dist/features/team-mode/tools/query.d.ts +16 -0
  105. package/dist/features/team-mode/tools/tasks.d.ts +18 -0
  106. package/dist/features/team-mode/types.d.ts +138 -6
  107. package/dist/features/tmux-subagent/action-executor-core.d.ts +1 -0
  108. package/dist/features/tmux-subagent/action-executor.d.ts +1 -0
  109. package/dist/features/tmux-subagent/attachable-session-status.d.ts +4 -0
  110. package/dist/features/tmux-subagent/manager.d.ts +32 -3
  111. package/dist/features/tmux-subagent/pane-state-querier.d.ts +10 -0
  112. package/dist/features/tmux-subagent/polling.d.ts +1 -0
  113. package/dist/hooks/atlas/atlas-hook.d.ts +1 -1
  114. package/dist/hooks/atlas/boulder-continuation-injector.d.ts +2 -3
  115. package/dist/hooks/atlas/recent-model-resolver.d.ts +9 -1
  116. package/dist/hooks/atlas/tool-execute-after.d.ts +2 -1
  117. package/dist/hooks/atlas/tool-execute-before.d.ts +1 -0
  118. package/dist/hooks/atlas/types.d.ts +8 -2
  119. package/dist/hooks/index.d.ts +3 -0
  120. package/dist/hooks/keyword-detector/constants.d.ts +6 -0
  121. package/dist/hooks/keyword-detector/detector.d.ts +5 -3
  122. package/dist/hooks/keyword-detector/hook.d.ts +2 -1
  123. package/dist/hooks/keyword-detector/hyperplan/default.d.ts +13 -0
  124. package/dist/hooks/keyword-detector/hyperplan/index.d.ts +1 -0
  125. package/dist/hooks/keyword-detector/team/default.d.ts +13 -0
  126. package/dist/hooks/keyword-detector/team/index.d.ts +1 -0
  127. package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +7 -0
  128. package/dist/hooks/session-notification-scheduler.d.ts +2 -4
  129. package/dist/hooks/session-notification-utils.d.ts +1 -0
  130. package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +2 -2
  131. package/dist/hooks/team-mailbox-injector/hook.d.ts +31 -0
  132. package/dist/hooks/team-mailbox-injector/index.d.ts +2 -0
  133. package/dist/hooks/team-mode-status-injector/hook.d.ts +28 -0
  134. package/dist/hooks/team-mode-status-injector/index.d.ts +1 -0
  135. package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +38 -0
  136. package/dist/hooks/team-session-events/team-lead-orphan-handler.d.ts +12 -0
  137. package/dist/hooks/team-session-events/team-member-error-handler.d.ts +10 -0
  138. package/dist/hooks/team-session-events/team-member-status-handler.d.ts +10 -0
  139. package/dist/hooks/team-tool-gating/hook.d.ts +3 -0
  140. package/dist/hooks/team-tool-gating/index.d.ts +1 -0
  141. package/dist/hooks/write-existing-file-guard/hook.d.ts +6 -1
  142. package/dist/hooks/write-existing-file-guard/tool-execute-before-handler.d.ts +1 -0
  143. package/dist/index.js +74497 -71438
  144. package/dist/plugin/hooks/create-core-hooks.d.ts +3 -0
  145. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +2 -1
  146. package/dist/plugin/hooks/create-transform-hooks.d.ts +3 -1
  147. package/dist/plugin/recent-synthetic-idles.d.ts +1 -0
  148. package/dist/plugin/tool-registry.d.ts +16 -0
  149. package/dist/shared/bun-spawn-shim.d.ts +40 -0
  150. package/dist/shared/posthog-activity-state.d.ts +0 -5
  151. package/dist/shared/posthog.d.ts +7 -6
  152. package/dist/shared/project-discovery-dirs.d.ts +1 -0
  153. package/dist/shared/shell-env.d.ts +1 -0
  154. package/dist/shared/tmux/constants.d.ts +1 -1
  155. package/dist/shared/tmux/index.d.ts +1 -0
  156. package/dist/shared/tmux/runner.d.ts +13 -0
  157. package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +1 -1
  158. package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +13 -1
  159. package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +13 -1
  160. package/dist/shared/tmux/tmux-utils/spawn-process.d.ts +1 -1
  161. package/dist/shared/tmux/tmux-utils/stale-session-sweep.d.ts +9 -2
  162. package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +13 -1
  163. package/dist/shared/tmux/tmux-utils.d.ts +1 -1
  164. package/dist/tools/delegate-task/openai-categories.d.ts +1 -0
  165. package/dist/tools/delegate-task/skill-resolver.d.ts +1 -0
  166. package/dist/tools/delegate-task/subagent-resolver.d.ts +5 -1
  167. package/dist/tools/delegate-task/types.d.ts +1 -0
  168. package/dist/tools/index.d.ts +1 -0
  169. package/dist/tools/look-at/missing-file-error.d.ts +2 -0
  170. package/dist/tools/skill/types.d.ts +2 -0
  171. package/package.json +15 -14
@@ -46,7 +46,8 @@
46
46
  "frontend-ui-ux",
47
47
  "git-master",
48
48
  "review-work",
49
- "ai-slop-remover"
49
+ "ai-slop-remover",
50
+ "team-mode"
50
51
  ]
51
52
  }
52
53
  },
@@ -69,7 +70,8 @@
69
70
  "refactor",
70
71
  "start-work",
71
72
  "stop-continuation",
72
- "remove-ai-slops"
73
+ "remove-ai-slops",
74
+ "hyperplan"
73
75
  ]
74
76
  }
75
77
  },
@@ -131,7 +133,8 @@
131
133
  "low",
132
134
  "medium",
133
135
  "high",
134
- "xhigh"
136
+ "xhigh",
137
+ "max"
135
138
  ]
136
139
  },
137
140
  "temperature": {
@@ -197,7 +200,8 @@
197
200
  "low",
198
201
  "medium",
199
202
  "high",
200
- "xhigh"
203
+ "xhigh",
204
+ "max"
201
205
  ]
202
206
  },
203
207
  "temperature": {
@@ -400,7 +404,8 @@
400
404
  "low",
401
405
  "medium",
402
406
  "high",
403
- "xhigh"
407
+ "xhigh",
408
+ "max"
404
409
  ]
405
410
  },
406
411
  "textVerbosity": {
@@ -481,7 +486,8 @@
481
486
  "low",
482
487
  "medium",
483
488
  "high",
484
- "xhigh"
489
+ "xhigh",
490
+ "max"
485
491
  ]
486
492
  },
487
493
  "temperature": {
@@ -547,7 +553,8 @@
547
553
  "low",
548
554
  "medium",
549
555
  "high",
550
- "xhigh"
556
+ "xhigh",
557
+ "max"
551
558
  ]
552
559
  },
553
560
  "temperature": {
@@ -750,7 +757,8 @@
750
757
  "low",
751
758
  "medium",
752
759
  "high",
753
- "xhigh"
760
+ "xhigh",
761
+ "max"
754
762
  ]
755
763
  },
756
764
  "textVerbosity": {
@@ -831,7 +839,8 @@
831
839
  "low",
832
840
  "medium",
833
841
  "high",
834
- "xhigh"
842
+ "xhigh",
843
+ "max"
835
844
  ]
836
845
  },
837
846
  "temperature": {
@@ -897,7 +906,8 @@
897
906
  "low",
898
907
  "medium",
899
908
  "high",
900
- "xhigh"
909
+ "xhigh",
910
+ "max"
901
911
  ]
902
912
  },
903
913
  "temperature": {
@@ -1100,7 +1110,8 @@
1100
1110
  "low",
1101
1111
  "medium",
1102
1112
  "high",
1103
- "xhigh"
1113
+ "xhigh",
1114
+ "max"
1104
1115
  ]
1105
1116
  },
1106
1117
  "textVerbosity": {
@@ -1181,7 +1192,8 @@
1181
1192
  "low",
1182
1193
  "medium",
1183
1194
  "high",
1184
- "xhigh"
1195
+ "xhigh",
1196
+ "max"
1185
1197
  ]
1186
1198
  },
1187
1199
  "temperature": {
@@ -1247,7 +1259,8 @@
1247
1259
  "low",
1248
1260
  "medium",
1249
1261
  "high",
1250
- "xhigh"
1262
+ "xhigh",
1263
+ "max"
1251
1264
  ]
1252
1265
  },
1253
1266
  "temperature": {
@@ -1450,7 +1463,8 @@
1450
1463
  "low",
1451
1464
  "medium",
1452
1465
  "high",
1453
- "xhigh"
1466
+ "xhigh",
1467
+ "max"
1454
1468
  ]
1455
1469
  },
1456
1470
  "textVerbosity": {
@@ -1534,7 +1548,8 @@
1534
1548
  "low",
1535
1549
  "medium",
1536
1550
  "high",
1537
- "xhigh"
1551
+ "xhigh",
1552
+ "max"
1538
1553
  ]
1539
1554
  },
1540
1555
  "temperature": {
@@ -1600,7 +1615,8 @@
1600
1615
  "low",
1601
1616
  "medium",
1602
1617
  "high",
1603
- "xhigh"
1618
+ "xhigh",
1619
+ "max"
1604
1620
  ]
1605
1621
  },
1606
1622
  "temperature": {
@@ -1803,7 +1819,8 @@
1803
1819
  "low",
1804
1820
  "medium",
1805
1821
  "high",
1806
- "xhigh"
1822
+ "xhigh",
1823
+ "max"
1807
1824
  ]
1808
1825
  },
1809
1826
  "textVerbosity": {
@@ -1884,7 +1901,8 @@
1884
1901
  "low",
1885
1902
  "medium",
1886
1903
  "high",
1887
- "xhigh"
1904
+ "xhigh",
1905
+ "max"
1888
1906
  ]
1889
1907
  },
1890
1908
  "temperature": {
@@ -1950,7 +1968,8 @@
1950
1968
  "low",
1951
1969
  "medium",
1952
1970
  "high",
1953
- "xhigh"
1971
+ "xhigh",
1972
+ "max"
1954
1973
  ]
1955
1974
  },
1956
1975
  "temperature": {
@@ -2153,7 +2172,8 @@
2153
2172
  "low",
2154
2173
  "medium",
2155
2174
  "high",
2156
- "xhigh"
2175
+ "xhigh",
2176
+ "max"
2157
2177
  ]
2158
2178
  },
2159
2179
  "textVerbosity": {
@@ -2234,7 +2254,8 @@
2234
2254
  "low",
2235
2255
  "medium",
2236
2256
  "high",
2237
- "xhigh"
2257
+ "xhigh",
2258
+ "max"
2238
2259
  ]
2239
2260
  },
2240
2261
  "temperature": {
@@ -2300,7 +2321,8 @@
2300
2321
  "low",
2301
2322
  "medium",
2302
2323
  "high",
2303
- "xhigh"
2324
+ "xhigh",
2325
+ "max"
2304
2326
  ]
2305
2327
  },
2306
2328
  "temperature": {
@@ -2503,7 +2525,8 @@
2503
2525
  "low",
2504
2526
  "medium",
2505
2527
  "high",
2506
- "xhigh"
2528
+ "xhigh",
2529
+ "max"
2507
2530
  ]
2508
2531
  },
2509
2532
  "textVerbosity": {
@@ -2584,7 +2607,8 @@
2584
2607
  "low",
2585
2608
  "medium",
2586
2609
  "high",
2587
- "xhigh"
2610
+ "xhigh",
2611
+ "max"
2588
2612
  ]
2589
2613
  },
2590
2614
  "temperature": {
@@ -2650,7 +2674,8 @@
2650
2674
  "low",
2651
2675
  "medium",
2652
2676
  "high",
2653
- "xhigh"
2677
+ "xhigh",
2678
+ "max"
2654
2679
  ]
2655
2680
  },
2656
2681
  "temperature": {
@@ -2853,7 +2878,8 @@
2853
2878
  "low",
2854
2879
  "medium",
2855
2880
  "high",
2856
- "xhigh"
2881
+ "xhigh",
2882
+ "max"
2857
2883
  ]
2858
2884
  },
2859
2885
  "textVerbosity": {
@@ -2934,7 +2960,8 @@
2934
2960
  "low",
2935
2961
  "medium",
2936
2962
  "high",
2937
- "xhigh"
2963
+ "xhigh",
2964
+ "max"
2938
2965
  ]
2939
2966
  },
2940
2967
  "temperature": {
@@ -3000,7 +3027,8 @@
3000
3027
  "low",
3001
3028
  "medium",
3002
3029
  "high",
3003
- "xhigh"
3030
+ "xhigh",
3031
+ "max"
3004
3032
  ]
3005
3033
  },
3006
3034
  "temperature": {
@@ -3203,7 +3231,8 @@
3203
3231
  "low",
3204
3232
  "medium",
3205
3233
  "high",
3206
- "xhigh"
3234
+ "xhigh",
3235
+ "max"
3207
3236
  ]
3208
3237
  },
3209
3238
  "textVerbosity": {
@@ -3284,7 +3313,8 @@
3284
3313
  "low",
3285
3314
  "medium",
3286
3315
  "high",
3287
- "xhigh"
3316
+ "xhigh",
3317
+ "max"
3288
3318
  ]
3289
3319
  },
3290
3320
  "temperature": {
@@ -3350,7 +3380,8 @@
3350
3380
  "low",
3351
3381
  "medium",
3352
3382
  "high",
3353
- "xhigh"
3383
+ "xhigh",
3384
+ "max"
3354
3385
  ]
3355
3386
  },
3356
3387
  "temperature": {
@@ -3553,7 +3584,8 @@
3553
3584
  "low",
3554
3585
  "medium",
3555
3586
  "high",
3556
- "xhigh"
3587
+ "xhigh",
3588
+ "max"
3557
3589
  ]
3558
3590
  },
3559
3591
  "textVerbosity": {
@@ -3634,7 +3666,8 @@
3634
3666
  "low",
3635
3667
  "medium",
3636
3668
  "high",
3637
- "xhigh"
3669
+ "xhigh",
3670
+ "max"
3638
3671
  ]
3639
3672
  },
3640
3673
  "temperature": {
@@ -3700,7 +3733,8 @@
3700
3733
  "low",
3701
3734
  "medium",
3702
3735
  "high",
3703
- "xhigh"
3736
+ "xhigh",
3737
+ "max"
3704
3738
  ]
3705
3739
  },
3706
3740
  "temperature": {
@@ -3903,7 +3937,8 @@
3903
3937
  "low",
3904
3938
  "medium",
3905
3939
  "high",
3906
- "xhigh"
3940
+ "xhigh",
3941
+ "max"
3907
3942
  ]
3908
3943
  },
3909
3944
  "textVerbosity": {
@@ -3984,7 +4019,8 @@
3984
4019
  "low",
3985
4020
  "medium",
3986
4021
  "high",
3987
- "xhigh"
4022
+ "xhigh",
4023
+ "max"
3988
4024
  ]
3989
4025
  },
3990
4026
  "temperature": {
@@ -4050,7 +4086,8 @@
4050
4086
  "low",
4051
4087
  "medium",
4052
4088
  "high",
4053
- "xhigh"
4089
+ "xhigh",
4090
+ "max"
4054
4091
  ]
4055
4092
  },
4056
4093
  "temperature": {
@@ -4253,7 +4290,8 @@
4253
4290
  "low",
4254
4291
  "medium",
4255
4292
  "high",
4256
- "xhigh"
4293
+ "xhigh",
4294
+ "max"
4257
4295
  ]
4258
4296
  },
4259
4297
  "textVerbosity": {
@@ -4334,7 +4372,8 @@
4334
4372
  "low",
4335
4373
  "medium",
4336
4374
  "high",
4337
- "xhigh"
4375
+ "xhigh",
4376
+ "max"
4338
4377
  ]
4339
4378
  },
4340
4379
  "temperature": {
@@ -4400,7 +4439,8 @@
4400
4439
  "low",
4401
4440
  "medium",
4402
4441
  "high",
4403
- "xhigh"
4442
+ "xhigh",
4443
+ "max"
4404
4444
  ]
4405
4445
  },
4406
4446
  "temperature": {
@@ -4603,7 +4643,8 @@
4603
4643
  "low",
4604
4644
  "medium",
4605
4645
  "high",
4606
- "xhigh"
4646
+ "xhigh",
4647
+ "max"
4607
4648
  ]
4608
4649
  },
4609
4650
  "textVerbosity": {
@@ -4684,7 +4725,8 @@
4684
4725
  "low",
4685
4726
  "medium",
4686
4727
  "high",
4687
- "xhigh"
4728
+ "xhigh",
4729
+ "max"
4688
4730
  ]
4689
4731
  },
4690
4732
  "temperature": {
@@ -4750,7 +4792,8 @@
4750
4792
  "low",
4751
4793
  "medium",
4752
4794
  "high",
4753
- "xhigh"
4795
+ "xhigh",
4796
+ "max"
4754
4797
  ]
4755
4798
  },
4756
4799
  "temperature": {
@@ -4953,7 +4996,8 @@
4953
4996
  "low",
4954
4997
  "medium",
4955
4998
  "high",
4956
- "xhigh"
4999
+ "xhigh",
5000
+ "max"
4957
5001
  ]
4958
5002
  },
4959
5003
  "textVerbosity": {
@@ -5045,7 +5089,8 @@
5045
5089
  "low",
5046
5090
  "medium",
5047
5091
  "high",
5048
- "xhigh"
5092
+ "xhigh",
5093
+ "max"
5049
5094
  ]
5050
5095
  },
5051
5096
  "temperature": {
@@ -5111,7 +5156,8 @@
5111
5156
  "low",
5112
5157
  "medium",
5113
5158
  "high",
5114
- "xhigh"
5159
+ "xhigh",
5160
+ "max"
5115
5161
  ]
5116
5162
  },
5117
5163
  "temperature": {
@@ -5200,7 +5246,8 @@
5200
5246
  "low",
5201
5247
  "medium",
5202
5248
  "high",
5203
- "xhigh"
5249
+ "xhigh",
5250
+ "max"
5204
5251
  ]
5205
5252
  },
5206
5253
  "textVerbosity": {
@@ -5856,6 +5903,103 @@
5856
5903
  ],
5857
5904
  "additionalProperties": false
5858
5905
  },
5906
+ "team_mode": {
5907
+ "type": "object",
5908
+ "properties": {
5909
+ "enabled": {
5910
+ "default": false,
5911
+ "type": "boolean"
5912
+ },
5913
+ "tmux_visualization": {
5914
+ "default": false,
5915
+ "type": "boolean"
5916
+ },
5917
+ "max_parallel_members": {
5918
+ "default": 4,
5919
+ "type": "integer",
5920
+ "minimum": 1,
5921
+ "maximum": 8
5922
+ },
5923
+ "max_members": {
5924
+ "default": 8,
5925
+ "type": "integer",
5926
+ "minimum": 1,
5927
+ "maximum": 8
5928
+ },
5929
+ "max_messages_per_run": {
5930
+ "default": 10000,
5931
+ "type": "integer",
5932
+ "minimum": 1,
5933
+ "maximum": 9007199254740991
5934
+ },
5935
+ "max_wall_clock_minutes": {
5936
+ "default": 120,
5937
+ "type": "integer",
5938
+ "minimum": 1,
5939
+ "maximum": 9007199254740991
5940
+ },
5941
+ "max_member_turns": {
5942
+ "default": 500,
5943
+ "type": "integer",
5944
+ "minimum": 1,
5945
+ "maximum": 9007199254740991
5946
+ },
5947
+ "base_dir": {
5948
+ "type": "string"
5949
+ },
5950
+ "message_payload_max_bytes": {
5951
+ "default": 32768,
5952
+ "type": "integer",
5953
+ "minimum": 1024,
5954
+ "maximum": 9007199254740991
5955
+ },
5956
+ "recipient_unread_max_bytes": {
5957
+ "default": 262144,
5958
+ "type": "integer",
5959
+ "minimum": 1024,
5960
+ "maximum": 9007199254740991
5961
+ },
5962
+ "mailbox_poll_interval_ms": {
5963
+ "default": 3000,
5964
+ "type": "integer",
5965
+ "minimum": 500,
5966
+ "maximum": 9007199254740991
5967
+ }
5968
+ },
5969
+ "required": [
5970
+ "enabled",
5971
+ "tmux_visualization",
5972
+ "max_parallel_members",
5973
+ "max_members",
5974
+ "max_messages_per_run",
5975
+ "max_wall_clock_minutes",
5976
+ "max_member_turns",
5977
+ "message_payload_max_bytes",
5978
+ "recipient_unread_max_bytes",
5979
+ "mailbox_poll_interval_ms"
5980
+ ],
5981
+ "additionalProperties": false
5982
+ },
5983
+ "keyword_detector": {
5984
+ "type": "object",
5985
+ "properties": {
5986
+ "disabled_keywords": {
5987
+ "type": "array",
5988
+ "items": {
5989
+ "type": "string",
5990
+ "enum": [
5991
+ "ultrawork",
5992
+ "search",
5993
+ "analyze",
5994
+ "team",
5995
+ "hyperplan",
5996
+ "hyperplan-ultrawork"
5997
+ ]
5998
+ }
5999
+ }
6000
+ },
6001
+ "additionalProperties": false
6002
+ },
5859
6003
  "babysitting": {
5860
6004
  "type": "object",
5861
6005
  "properties": {
@@ -2,6 +2,7 @@ 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 {
@@ -21,6 +22,16 @@ export interface SubagentSessionCreatedEvent {
21
22
  title: string;
22
23
  }
23
24
  export type OnSubagentSessionCreated = (event: SubagentSessionCreatedEvent) => Promise<void>;
25
+ export interface BackgroundManagerConfig {
26
+ pluginContext: PluginInput;
27
+ config?: BackgroundTaskConfig;
28
+ tmuxConfig?: TmuxConfig;
29
+ onSubagentSessionCreated?: OnSubagentSessionCreated;
30
+ onShutdown?: () => void | Promise<void>;
31
+ enableParentSessionNotifications?: boolean;
32
+ modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
33
+ log?: typeof log;
34
+ }
24
35
  export declare class BackgroundManager {
25
36
  private tasks;
26
37
  private tasksByParentSession;
@@ -49,15 +60,11 @@ export declare class BackgroundManager {
49
60
  private preStartDescendantReservations;
50
61
  private enableParentSessionNotifications;
51
62
  private modelFallbackControllerAccessor?;
63
+ private logger;
64
+ private loggedSessionStatusUnavailable;
52
65
  readonly taskHistory: TaskHistory;
53
66
  private cachedCircuitBreakerSettings?;
54
- constructor(ctx: PluginInput, config?: BackgroundTaskConfig, options?: {
55
- tmuxConfig?: TmuxConfig;
56
- onSubagentSessionCreated?: OnSubagentSessionCreated;
57
- onShutdown?: () => void | Promise<void>;
58
- enableParentSessionNotifications?: boolean;
59
- modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
60
- });
67
+ constructor(config: BackgroundManagerConfig);
61
68
  private abortSessionWithLogging;
62
69
  assertCanSpawn(parentSessionID: string): Promise<SubagentSpawnContext>;
63
70
  reserveSubagentSpawn(parentSessionID: string): Promise<{
@@ -80,6 +87,7 @@ export declare class BackgroundManager {
80
87
  private startTask;
81
88
  getTask(id: string): BackgroundTask | undefined;
82
89
  getTasksByParentSession(sessionID: string): BackgroundTask[];
90
+ private updateBackgroundTaskMarker;
83
91
  getAllDescendantTasks(sessionID: string): BackgroundTask[];
84
92
  findBySession(sessionID: string): BackgroundTask | undefined;
85
93
  private resolveTaskAttemptBySession;
@@ -90,8 +98,8 @@ export declare class BackgroundManager {
90
98
  */
91
99
  trackTask(input: {
92
100
  taskId: string;
93
- sessionID: string;
94
- parentSessionID: string;
101
+ sessionId: string;
102
+ parentSessionId: string;
95
103
  description: string;
96
104
  agent?: string;
97
105
  parentAgent?: string;
@@ -1,3 +1,7 @@
1
+ /** @internal test-only */
2
+ export declare function __disableScheduledForcedExitForTesting(): void;
3
+ /** @internal test-only */
4
+ export declare function __enableScheduledForcedExitForTesting(): void;
1
5
  interface CleanupTarget {
2
6
  shutdown(): void | Promise<void>;
3
7
  }
@@ -18,11 +18,11 @@ export interface TaskProgress {
18
18
  }
19
19
  export type BackgroundTaskAttemptStatus = BackgroundTaskStatus;
20
20
  export interface BackgroundTaskAttempt {
21
- attemptID: string;
21
+ attemptId: string;
22
22
  attemptNumber: number;
23
- sessionID?: string;
24
- providerID?: string;
25
- modelID?: string;
23
+ sessionId?: string;
24
+ providerId?: string;
25
+ modelId?: string;
26
26
  variant?: string;
27
27
  status: BackgroundTaskAttemptStatus;
28
28
  error?: string;
@@ -31,10 +31,11 @@ export interface BackgroundTaskAttempt {
31
31
  }
32
32
  export interface BackgroundTask {
33
33
  id: string;
34
- sessionID?: string;
35
- rootSessionID?: string;
36
- parentSessionID: string;
37
- parentMessageID: string;
34
+ sessionId?: string;
35
+ rootSessionId?: string;
36
+ parentSessionId: string;
37
+ parentMessageId: string;
38
+ teamRunId?: string;
38
39
  description: string;
39
40
  prompt: string;
40
41
  agent: string;
@@ -89,8 +90,10 @@ export interface LaunchInput {
89
90
  description: string;
90
91
  prompt: string;
91
92
  agent: string;
92
- parentSessionID: string;
93
- parentMessageID: string;
93
+ parentSessionId: string;
94
+ parentMessageId: string;
95
+ teamRunId?: string;
96
+ suppressTmuxSpawn?: boolean;
94
97
  parentModel?: {
95
98
  providerID: string;
96
99
  modelID: string;
@@ -105,12 +108,13 @@ export interface LaunchInput {
105
108
  skillContent?: string;
106
109
  category?: string;
107
110
  sessionPermission?: SessionPermissionRule[];
111
+ onSessionCreated?: (sessionId: string) => void | Promise<void>;
108
112
  }
109
113
  export interface ResumeInput {
110
114
  sessionId: string;
111
115
  prompt: string;
112
- parentSessionID: string;
113
- parentMessageID: string;
116
+ parentSessionId: string;
117
+ parentMessageId: string;
114
118
  parentModel?: {
115
119
  providerID: string;
116
120
  modelID: string;
@@ -4,7 +4,7 @@ type AbortSignalLike = {
4
4
  };
5
5
  interface TaskReader {
6
6
  getTask(taskID: string): {
7
- sessionID?: string;
7
+ sessionId?: string;
8
8
  status?: BackgroundTaskStatus;
9
9
  } | undefined;
10
10
  }