@bohuyeshan/openagent-labforge-core 3.11.2 → 3.11.4

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 (227) hide show
  1. package/README.ja.md +34 -27
  2. package/README.ko.md +34 -27
  3. package/README.md +244 -187
  4. package/README.ru.md +28 -21
  5. package/README.zh-cn.md +244 -187
  6. package/bin/platform.test.ts +21 -20
  7. package/dist/agents/atlas/default.d.ts +1 -1
  8. package/dist/agents/atlas/gemini.d.ts +1 -1
  9. package/dist/agents/atlas/gpt.d.ts +1 -1
  10. package/dist/agents/bio-methodologist.d.ts +1 -1
  11. package/dist/agents/bio-pipeline-operator.d.ts +1 -1
  12. package/dist/agents/builtin-agents/general-agents.d.ts +1 -0
  13. package/dist/agents/dynamic-agent-prompt-builder.d.ts +2 -0
  14. package/dist/agents/env-context.d.ts +1 -1
  15. package/dist/agents/index.d.ts +1 -0
  16. package/dist/agents/metis.d.ts +1 -1
  17. package/dist/agents/prometheus/gemini.d.ts +1 -1
  18. package/dist/agents/prometheus/gpt.d.ts +1 -1
  19. package/dist/agents/prometheus/interview-mode.d.ts +1 -1
  20. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  21. package/dist/agents/prometheus/plan-template.d.ts +1 -1
  22. package/dist/agents/prometheus/system-prompt.d.ts +1 -1
  23. package/dist/agents/types.d.ts +1 -1
  24. package/dist/cli/config-manager/bun-install.d.ts +6 -1
  25. package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
  26. package/dist/cli/doctor/constants.d.ts +1 -1
  27. package/dist/cli/index.js +763 -467
  28. package/dist/cli/install-validators.d.ts +1 -0
  29. package/dist/cli/model-fallback-types.d.ts +1 -0
  30. package/dist/cli/openai-only-model-catalog.d.ts +3 -0
  31. package/dist/cli/run/index.d.ts +1 -0
  32. package/dist/cli/run/model-resolver.d.ts +4 -0
  33. package/dist/cli/run/types.d.ts +1 -0
  34. package/dist/cli/types.d.ts +3 -0
  35. package/dist/config/schema/agent-names.d.ts +3 -1
  36. package/dist/config/schema/background-task.d.ts +2 -0
  37. package/dist/config/schema/git-env-prefix.d.ts +5 -0
  38. package/dist/config/schema/git-master.d.ts +1 -0
  39. package/dist/config/schema/hooks.d.ts +2 -0
  40. package/dist/config/schema/oh-my-opencode-config.d.ts +54 -1
  41. package/dist/config/schema.d.ts +1 -0
  42. package/dist/create-hooks.d.ts +13 -0
  43. package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +16 -1
  44. package/dist/features/background-agent/constants.d.ts +1 -1
  45. package/dist/features/background-agent/manager.d.ts +20 -4
  46. package/dist/features/background-agent/process-cleanup.d.ts +1 -1
  47. package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
  48. package/dist/features/background-agent/subagent-spawn-limits.d.ts +23 -0
  49. package/dist/features/background-agent/task-history.d.ts +1 -0
  50. package/dist/features/background-agent/task-poller.d.ts +1 -0
  51. package/dist/features/background-agent/types.d.ts +4 -0
  52. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +4 -0
  53. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
  54. package/dist/features/claude-code-agent-loader/types.d.ts +8 -1
  55. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
  56. package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
  57. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
  58. package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
  59. package/dist/features/skill-mcp-manager/types.d.ts +4 -0
  60. package/dist/features/tmux-subagent/index.d.ts +1 -0
  61. package/dist/features/tmux-subagent/manager.d.ts +5 -0
  62. package/dist/features/tmux-subagent/pane-state-parser.d.ts +8 -0
  63. package/dist/features/tmux-subagent/tracked-session-state.d.ts +8 -0
  64. package/dist/features/tmux-subagent/types.d.ts +2 -0
  65. package/dist/hooks/atlas/boulder-session-lineage.d.ts +6 -0
  66. package/dist/hooks/atlas/final-wave-approval-gate.d.ts +4 -0
  67. package/dist/hooks/atlas/idle-event.d.ts +8 -0
  68. package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +11 -0
  69. package/dist/hooks/atlas/tool-execute-after.d.ts +2 -0
  70. package/dist/hooks/atlas/types.d.ts +2 -0
  71. package/dist/hooks/atlas/verification-reminders.d.ts +4 -0
  72. package/dist/hooks/auto-slash-command/hook.d.ts +7 -0
  73. package/dist/hooks/auto-slash-command/processed-command-store.d.ts +7 -0
  74. package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +7 -0
  75. package/dist/hooks/auto-update-checker/checker.d.ts +3 -1
  76. package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
  77. package/dist/hooks/comment-checker/downloader.d.ts +1 -1
  78. package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +1 -0
  79. package/dist/hooks/compaction-context-injector/constants.d.ts +5 -0
  80. package/dist/hooks/compaction-context-injector/hook.d.ts +5 -1
  81. package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +6 -0
  82. package/dist/hooks/compaction-context-injector/recovery.d.ts +6 -0
  83. package/dist/hooks/compaction-context-injector/session-id.d.ts +2 -0
  84. package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +16 -0
  85. package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +13 -0
  86. package/dist/hooks/compaction-context-injector/types.d.ts +43 -0
  87. package/dist/hooks/compaction-context-injector/validated-model.d.ts +13 -0
  88. package/dist/hooks/context-window-monitor.d.ts +2 -5
  89. package/dist/hooks/delegate-task-english-directive/hook.d.ts +14 -0
  90. package/dist/hooks/delegate-task-english-directive/index.d.ts +1 -0
  91. package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +23 -0
  92. package/dist/hooks/gpt-permission-continuation/constants.d.ts +4 -0
  93. package/dist/hooks/gpt-permission-continuation/detector.d.ts +1 -0
  94. package/dist/hooks/gpt-permission-continuation/handler.d.ts +12 -0
  95. package/dist/hooks/gpt-permission-continuation/index.d.ts +13 -0
  96. package/dist/hooks/gpt-permission-continuation/session-state.d.ts +15 -0
  97. package/dist/hooks/index.d.ts +2 -0
  98. package/dist/hooks/keyword-detector/hook.d.ts +1 -0
  99. package/dist/hooks/preemptive-compaction.d.ts +2 -5
  100. package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +16 -0
  101. package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +10 -0
  102. package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +11 -0
  103. package/dist/hooks/runtime-fallback/hook.d.ts +2 -3
  104. package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +4 -0
  105. package/dist/hooks/runtime-fallback/message-update-handler.d.ts +1 -2
  106. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +7 -0
  107. package/dist/hooks/runtime-fallback/session-messages.d.ts +9 -0
  108. package/dist/hooks/runtime-fallback/session-status-handler.d.ts +3 -0
  109. package/dist/hooks/runtime-fallback/types.d.ts +57 -3
  110. package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +3 -0
  111. package/dist/hooks/session-notification-content.d.ts +30 -0
  112. package/dist/hooks/session-notification-scheduler.d.ts +5 -3
  113. package/dist/hooks/session-notification.d.ts +2 -0
  114. package/dist/hooks/start-work/index.d.ts +1 -1
  115. package/dist/hooks/start-work/worktree-detector.d.ts +7 -0
  116. package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -2
  117. package/dist/hooks/todo-continuation-enforcer/handler.d.ts +1 -0
  118. package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +1 -0
  119. package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +10 -1
  120. package/dist/hooks/todo-continuation-enforcer/stagnation-detection.d.ts +6 -0
  121. package/dist/hooks/todo-continuation-enforcer/types.d.ts +5 -0
  122. package/dist/hooks/tool-output-truncator.d.ts +1 -0
  123. package/dist/index.d.ts +2 -2
  124. package/dist/index.js +10638 -7240
  125. package/dist/openagent-labforge.schema.json +70 -4
  126. package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -1
  127. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
  128. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
  129. package/dist/plugin/normalize-tool-arg-schemas.d.ts +2 -0
  130. package/dist/plugin/ultrawork-model-override.d.ts +1 -15
  131. package/dist/plugin/ultrawork-variant-availability.d.ts +6 -0
  132. package/dist/plugin-dispose.d.ts +10 -0
  133. package/dist/plugin-handlers/agent-override-protection.d.ts +3 -0
  134. package/dist/plugin-state.d.ts +5 -0
  135. package/dist/shared/compaction-agent-config-checkpoint.d.ts +11 -0
  136. package/dist/shared/context-limit-resolver.d.ts +5 -0
  137. package/dist/shared/data-path.d.ts +2 -2
  138. package/dist/shared/dynamic-truncator.d.ts +4 -7
  139. package/dist/shared/external-plugin-detector.d.ts +1 -1
  140. package/dist/shared/fallback-chain-from-models.d.ts +3 -0
  141. package/dist/shared/index.d.ts +3 -0
  142. package/dist/shared/model-error-classifier.d.ts +2 -1
  143. package/dist/shared/opencode-command-dirs.d.ts +3 -0
  144. package/dist/shared/plugin-identity.d.ts +7 -0
  145. package/dist/shared/question-denied-session-permission.d.ts +6 -0
  146. package/dist/shared/retry-status-utils.d.ts +2 -0
  147. package/dist/shared/session-model-state.d.ts +4 -0
  148. package/dist/shared/system-directive.d.ts +6 -5
  149. package/dist/shared/vision-capable-models-cache.d.ts +4 -0
  150. package/dist/tools/call-omo-agent/background-executor.d.ts +2 -1
  151. package/dist/tools/call-omo-agent/constants.d.ts +1 -1
  152. package/dist/tools/call-omo-agent/sync-executor.d.ts +11 -3
  153. package/dist/tools/call-omo-agent/tools.d.ts +2 -1
  154. package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +2 -0
  155. package/dist/tools/delegate-task/model-selection.d.ts +1 -0
  156. package/dist/tools/delegate-task/model-string-parser.d.ts +1 -3
  157. package/dist/tools/look-at/multimodal-fallback-chain.d.ts +4 -0
  158. package/dist/tools/lsp/constants.d.ts +1 -0
  159. package/dist/tools/lsp/directory-diagnostics.d.ts +1 -0
  160. package/dist/tools/lsp/lsp-client-transport.d.ts +4 -2
  161. package/dist/tools/lsp/lsp-client-wrapper.d.ts +2 -1
  162. package/dist/tools/lsp/server-path-bases.d.ts +1 -0
  163. package/generated/skills-bundles/catalog.json +282 -39
  164. package/generated/skills-bundles/full/INDEX.md +38 -10
  165. package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
  166. package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
  167. package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
  168. package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
  169. package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
  170. package/generated/skills-bundles/full/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
  171. package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
  172. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
  173. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
  174. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
  175. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
  176. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
  177. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
  178. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
  179. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
  180. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
  181. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
  182. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
  183. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
  184. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
  185. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
  186. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
  187. package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
  188. package/generated/skills-bundles/paper/INDEX.md +40 -0
  189. package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +63 -0
  190. package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +112 -0
  191. package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +279 -0
  192. package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +47 -0
  193. package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +281 -0
  194. package/generated/skills-bundles/paper/skills/productivity/communication/auto-claude__feishu-notify/SKILL.md +154 -0
  195. package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +138 -0
  196. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +252 -0
  197. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +254 -0
  198. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +310 -0
  199. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -0
  200. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -0
  201. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -0
  202. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -0
  203. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +255 -0
  204. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +133 -0
  205. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +87 -0
  206. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +194 -0
  207. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +228 -0
  208. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +186 -0
  209. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +351 -0
  210. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +174 -0
  211. package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +224 -0
  212. package/package.json +21 -21
  213. package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/LICENSE.txt +0 -21
  214. package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/SKILL.md +0 -615
  215. package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/_meta.json +0 -11
  216. package/generated/skills-bundles/full/skills/engineering/virtualization/skills-main__virtualbox/scripts/virtualbox-utils.ts +0 -586
  217. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/.clawhubsafe +0 -0
  218. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/LICENSE +0 -21
  219. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/README.md +0 -127
  220. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SECURITY.md +0 -68
  221. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/SKILL.md +0 -141
  222. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/_meta.json +0 -11
  223. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/speak.sh +0 -52
  224. package/generated/skills-bundles/full/skills/productivity/voice-and-accessibility/skills-main__voiceclaw/scripts/transcribe.sh +0 -50
  225. package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/LICENSE.txt +0 -21
  226. package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/SKILL.md +0 -416
  227. package/generated/skills-bundles/full/skills/research/media-search/skills-main__youtube-search/_meta.json +0 -11
@@ -29,4 +29,5 @@ export declare function detectedToInitialValues(detected: DetectedConfig): {
29
29
  opencodeZen: BooleanArg;
30
30
  zaiCodingPlan: BooleanArg;
31
31
  kimiForCoding: BooleanArg;
32
+ opencodeGo: BooleanArg;
32
33
  };
@@ -8,6 +8,7 @@ export interface ProviderAvailability {
8
8
  copilot: boolean;
9
9
  zai: boolean;
10
10
  kimiForCoding: boolean;
11
+ opencodeGo: boolean;
11
12
  isMaxPlan: boolean;
12
13
  }
13
14
  export interface AgentConfig {
@@ -0,0 +1,3 @@
1
+ import type { GeneratedOmoConfig, ProviderAvailability } from "./model-fallback-types";
2
+ export declare function isOpenAiOnlyAvailability(availability: ProviderAvailability): boolean;
3
+ export declare function applyOpenAiOnlyModelCatalog(config: GeneratedOmoConfig): GeneratedOmoConfig;
@@ -1,5 +1,6 @@
1
1
  export { run } from "./runner";
2
2
  export { resolveRunAgent } from "./agent-resolver";
3
+ export { resolveRunModel } from "./model-resolver";
3
4
  export { createServerConnection } from "./server-connection";
4
5
  export { resolveSession } from "./session-resolver";
5
6
  export { createJsonOutputManager } from "./json-output";
@@ -0,0 +1,4 @@
1
+ export declare function resolveRunModel(modelString?: string): {
2
+ providerID: string;
3
+ modelID: string;
4
+ } | undefined;
@@ -3,6 +3,7 @@ export type { OpencodeClient };
3
3
  export interface RunOptions {
4
4
  message: string;
5
5
  agent?: string;
6
+ model?: string;
6
7
  timestamp?: boolean;
7
8
  verbose?: boolean;
8
9
  directory?: string;
@@ -9,6 +9,7 @@ export interface InstallArgs {
9
9
  opencodeZen?: BooleanArg;
10
10
  zaiCodingPlan?: BooleanArg;
11
11
  kimiForCoding?: BooleanArg;
12
+ opencodeGo?: BooleanArg;
12
13
  skipAuth?: boolean;
13
14
  }
14
15
  export interface InstallConfig {
@@ -20,6 +21,7 @@ export interface InstallConfig {
20
21
  hasOpencodeZen: boolean;
21
22
  hasZaiCodingPlan: boolean;
22
23
  hasKimiForCoding: boolean;
24
+ hasOpencodeGo: boolean;
23
25
  }
24
26
  export interface ConfigMergeResult {
25
27
  success: boolean;
@@ -36,4 +38,5 @@ export interface DetectedConfig {
36
38
  hasOpencodeZen: boolean;
37
39
  hasZaiCodingPlan: boolean;
38
40
  hasKimiForCoding: boolean;
41
+ hasOpencodeGo: boolean;
39
42
  }
@@ -12,6 +12,7 @@ export declare const BuiltinAgentNameSchema: z.ZodEnum<{
12
12
  metis: "metis";
13
13
  momus: "momus";
14
14
  atlas: "atlas";
15
+ "sisyphus-junior": "sisyphus-junior";
15
16
  prometheus: "prometheus";
16
17
  }>;
17
18
  export declare const BuiltinSkillNameSchema: z.ZodEnum<{
@@ -40,10 +41,10 @@ export declare const OverridableAgentNameSchema: z.ZodEnum<{
40
41
  metis: "metis";
41
42
  momus: "momus";
42
43
  atlas: "atlas";
44
+ "sisyphus-junior": "sisyphus-junior";
43
45
  build: "build";
44
46
  plan: "plan";
45
47
  prometheus: "prometheus";
46
- "sisyphus-junior": "sisyphus-junior";
47
48
  "OpenCode-Builder": "OpenCode-Builder";
48
49
  }>;
49
50
  export declare const AgentNameSchema: z.ZodEnum<{
@@ -59,6 +60,7 @@ export declare const AgentNameSchema: z.ZodEnum<{
59
60
  metis: "metis";
60
61
  momus: "momus";
61
62
  atlas: "atlas";
63
+ "sisyphus-junior": "sisyphus-junior";
62
64
  prometheus: "prometheus";
63
65
  }>;
64
66
  export type AgentName = z.infer<typeof AgentNameSchema>;
@@ -3,6 +3,8 @@ export declare const BackgroundTaskConfigSchema: z.ZodObject<{
3
3
  defaultConcurrency: z.ZodOptional<z.ZodNumber>;
4
4
  providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
5
5
  modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
6
+ maxDepth: z.ZodOptional<z.ZodNumber>;
7
+ maxDescendants: z.ZodOptional<z.ZodNumber>;
6
8
  staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
7
9
  messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
8
10
  syncPollTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const GIT_ENV_PREFIX_VALIDATION_MESSAGE = "git_env_prefix must be empty or use shell-safe env assignments like \"GIT_MASTER=1\"";
3
+ export declare function isValidGitEnvPrefix(value: string): boolean;
4
+ export declare function assertValidGitEnvPrefix(value: string): string;
5
+ export declare const GitEnvPrefixSchema: z.ZodDefault<z.ZodString>;
@@ -2,5 +2,6 @@ import { z } from "zod";
2
2
  export declare const GitMasterConfigSchema: z.ZodObject<{
3
3
  commit_footer: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
4
4
  include_co_authored_by: z.ZodDefault<z.ZodBoolean>;
5
+ git_env_prefix: z.ZodDefault<z.ZodString>;
5
6
  }, z.core.$strip>;
6
7
  export type GitMasterConfig = z.infer<typeof GitMasterConfigSchema>;
@@ -3,6 +3,7 @@ export declare const HookNameSchema: z.ZodEnum<{
3
3
  atlas: "atlas";
4
4
  "ralph-loop": "ralph-loop";
5
5
  "start-work": "start-work";
6
+ "gpt-permission-continuation": "gpt-permission-continuation";
6
7
  "todo-continuation-enforcer": "todo-continuation-enforcer";
7
8
  "context-window-monitor": "context-window-monitor";
8
9
  "session-recovery": "session-recovery";
@@ -47,5 +48,6 @@ export declare const HookNameSchema: z.ZodEnum<{
47
48
  "anthropic-effort": "anthropic-effort";
48
49
  "hashline-read-enhancer": "hashline-read-enhancer";
49
50
  "read-image-resizer": "read-image-resizer";
51
+ "delegate-task-english-directive": "delegate-task-english-directive";
50
52
  }>;
51
53
  export type HookName = z.infer<typeof HookNameSchema>;
@@ -52,7 +52,57 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
52
52
  "web-research": "web-research";
53
53
  "data-analysis": "data-analysis";
54
54
  }>>>;
55
- disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
+ disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
56
+ atlas: "atlas";
57
+ "ralph-loop": "ralph-loop";
58
+ "start-work": "start-work";
59
+ "gpt-permission-continuation": "gpt-permission-continuation";
60
+ "todo-continuation-enforcer": "todo-continuation-enforcer";
61
+ "context-window-monitor": "context-window-monitor";
62
+ "session-recovery": "session-recovery";
63
+ "session-notification": "session-notification";
64
+ "comment-checker": "comment-checker";
65
+ "tool-output-truncator": "tool-output-truncator";
66
+ "question-label-truncator": "question-label-truncator";
67
+ "directory-agents-injector": "directory-agents-injector";
68
+ "directory-readme-injector": "directory-readme-injector";
69
+ "empty-task-response-detector": "empty-task-response-detector";
70
+ "think-mode": "think-mode";
71
+ "model-fallback": "model-fallback";
72
+ "anthropic-context-window-limit-recovery": "anthropic-context-window-limit-recovery";
73
+ "preemptive-compaction": "preemptive-compaction";
74
+ "rules-injector": "rules-injector";
75
+ "background-notification": "background-notification";
76
+ "auto-update-checker": "auto-update-checker";
77
+ "startup-toast": "startup-toast";
78
+ "keyword-detector": "keyword-detector";
79
+ "agent-usage-reminder": "agent-usage-reminder";
80
+ "non-interactive-env": "non-interactive-env";
81
+ "interactive-bash-session": "interactive-bash-session";
82
+ "thinking-block-validator": "thinking-block-validator";
83
+ "category-skill-reminder": "category-skill-reminder";
84
+ "compaction-context-injector": "compaction-context-injector";
85
+ "compaction-todo-preserver": "compaction-todo-preserver";
86
+ "claude-code-hooks": "claude-code-hooks";
87
+ "auto-slash-command": "auto-slash-command";
88
+ "edit-error-recovery": "edit-error-recovery";
89
+ "json-error-recovery": "json-error-recovery";
90
+ "delegate-task-retry": "delegate-task-retry";
91
+ "prometheus-md-only": "prometheus-md-only";
92
+ "sisyphus-junior-notepad": "sisyphus-junior-notepad";
93
+ "no-sisyphus-gpt": "no-sisyphus-gpt";
94
+ "no-hephaestus-non-gpt": "no-hephaestus-non-gpt";
95
+ "unstable-agent-babysitter": "unstable-agent-babysitter";
96
+ "task-resume-info": "task-resume-info";
97
+ "stop-continuation-guard": "stop-continuation-guard";
98
+ "tasks-todowrite-disabler": "tasks-todowrite-disabler";
99
+ "runtime-fallback": "runtime-fallback";
100
+ "write-existing-file-guard": "write-existing-file-guard";
101
+ "anthropic-effort": "anthropic-effort";
102
+ "hashline-read-enhancer": "hashline-read-enhancer";
103
+ "read-image-resizer": "read-image-resizer";
104
+ "delegate-task-english-directive": "delegate-task-english-directive";
105
+ }>>>;
56
106
  disabled_commands: z.ZodOptional<z.ZodArray<z.ZodEnum<{
57
107
  "init-deep": "init-deep";
58
108
  "ralph-loop": "ralph-loop";
@@ -1384,6 +1434,8 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1384
1434
  defaultConcurrency: z.ZodOptional<z.ZodNumber>;
1385
1435
  providerConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1386
1436
  modelConcurrency: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1437
+ maxDepth: z.ZodOptional<z.ZodNumber>;
1438
+ maxDescendants: z.ZodOptional<z.ZodNumber>;
1387
1439
  staleTimeoutMs: z.ZodOptional<z.ZodNumber>;
1388
1440
  messageStalenessTimeoutMs: z.ZodOptional<z.ZodNumber>;
1389
1441
  syncPollTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -1413,6 +1465,7 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1413
1465
  git_master: z.ZodOptional<z.ZodObject<{
1414
1466
  commit_footer: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1415
1467
  include_co_authored_by: z.ZodDefault<z.ZodBoolean>;
1468
+ git_env_prefix: z.ZodDefault<z.ZodString>;
1416
1469
  }, z.core.$strip>>;
1417
1470
  browser_automation_engine: z.ZodOptional<z.ZodObject<{
1418
1471
  provider: z.ZodDefault<z.ZodEnum<{
@@ -10,6 +10,7 @@ export * from "./schema/commands";
10
10
  export * from "./schema/dynamic-context-pruning";
11
11
  export * from "./schema/experimental";
12
12
  export * from "./schema/fallback-models";
13
+ export * from "./schema/git-env-prefix";
13
14
  export * from "./schema/git-master";
14
15
  export * from "./schema/hooks";
15
16
  export * from "./schema/i18n";
@@ -5,6 +5,15 @@ import type { BackgroundManager } from "./features/background-agent";
5
5
  import type { PluginContext } from "./plugin/types";
6
6
  import type { ModelCacheState } from "./plugin-state";
7
7
  export type CreatedHooks = ReturnType<typeof createHooks>;
8
+ type DisposableHook = {
9
+ dispose?: () => void;
10
+ } | null | undefined;
11
+ export type DisposableCreatedHooks = {
12
+ runtimeFallback?: DisposableHook;
13
+ todoContinuationEnforcer?: DisposableHook;
14
+ autoSlashCommand?: DisposableHook;
15
+ };
16
+ export declare function disposeCreatedHooks(hooks: DisposableCreatedHooks): void;
8
17
  export declare function createHooks(args: {
9
18
  ctx: PluginContext;
10
19
  pluginConfig: OhMyOpenCodeConfig;
@@ -15,8 +24,10 @@ export declare function createHooks(args: {
15
24
  getMergedSkills: () => Promise<LoadedSkill[]>;
16
25
  availableSkills: AvailableSkill[];
17
26
  }): {
27
+ disposeHooks: () => void;
18
28
  categorySkillReminder: ReturnType<typeof import("./hooks").createCategorySkillReminderHook> | null;
19
29
  autoSlashCommand: ReturnType<typeof import("./hooks").createAutoSlashCommandHook> | null;
30
+ gptPermissionContinuation: ReturnType<typeof import("./hooks").createGptPermissionContinuationHook> | null;
20
31
  stopContinuationGuard: ReturnType<typeof import("./hooks").createStopContinuationGuardHook> | null;
21
32
  compactionContextInjector: ReturnType<typeof import("./hooks").createCompactionContextInjector> | null;
22
33
  compactionTodoPreserver: ReturnType<typeof import("./hooks").createCompactionTodoPreserverHook> | null;
@@ -62,4 +73,6 @@ export declare function createHooks(args: {
62
73
  taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook> | null;
63
74
  anthropicEffort: ReturnType<typeof import("./hooks/anthropic-effort").createAnthropicEffortHook> | null;
64
75
  runtimeFallback: ReturnType<typeof import("./hooks").createRuntimeFallbackHook> | null;
76
+ delegateTaskEnglishDirective: ReturnType<typeof import("./hooks").createDelegateTaskEnglishDirectiveHook> | null;
65
77
  };
78
+ export {};
@@ -1,3 +1,18 @@
1
1
  import type { StoredMessage } from "../hook-message-injector";
2
+ type SessionMessage = {
3
+ info?: {
4
+ agent?: string;
5
+ model?: {
6
+ providerID?: string;
7
+ modelID?: string;
8
+ variant?: string;
9
+ };
10
+ providerID?: string;
11
+ modelID?: string;
12
+ tools?: StoredMessage["tools"];
13
+ };
14
+ };
2
15
  export declare function isCompactionAgent(agent: string | undefined): boolean;
3
- export declare function findNearestMessageExcludingCompaction(messageDir: string): StoredMessage | null;
16
+ export declare function resolvePromptContextFromSessionMessages(messages: SessionMessage[], sessionID?: string): StoredMessage | null;
17
+ export declare function findNearestMessageExcludingCompaction(messageDir: string, sessionID?: string): StoredMessage | null;
18
+ export {};
@@ -3,7 +3,7 @@ import type { BackgroundTask, LaunchInput } from "./types";
3
3
  export declare const TASK_TTL_MS: number;
4
4
  export declare const MIN_STABILITY_TIME_MS: number;
5
5
  export declare const DEFAULT_STALE_TIMEOUT_MS = 180000;
6
- export declare const DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 600000;
6
+ export declare const DEFAULT_MESSAGE_STALENESS_TIMEOUT_MS = 1800000;
7
7
  export declare const MIN_RUNTIME_BEFORE_STALE_MS = 30000;
8
8
  export declare const MIN_IDLE_TIME_MS = 5000;
9
9
  export declare const POLLING_INTERVAL_MS = 3000;
@@ -2,6 +2,7 @@ import type { PluginInput } from "@opencode-ai/plugin";
2
2
  import type { BackgroundTask, LaunchInput, ResumeInput } from "./types";
3
3
  import { TaskHistory } from "./task-history";
4
4
  import type { BackgroundTaskConfig, TmuxConfig } from "../../config/schema";
5
+ import { type SubagentSpawnContext } from "./subagent-spawn-limits";
5
6
  interface EventProperties {
6
7
  sessionID?: string;
7
8
  info?: {
@@ -37,16 +38,31 @@ export declare class BackgroundManager {
37
38
  private queuesByKey;
38
39
  private processingKeys;
39
40
  private completionTimers;
41
+ private completedTaskSummaries;
40
42
  private idleDeferralTimers;
41
43
  private notificationQueueByParent;
44
+ private rootDescendantCounts;
45
+ private preStartDescendantReservations;
42
46
  private enableParentSessionNotifications;
43
47
  readonly taskHistory: TaskHistory;
44
48
  constructor(ctx: PluginInput, config?: BackgroundTaskConfig, options?: {
45
49
  tmuxConfig?: TmuxConfig;
46
50
  onSubagentSessionCreated?: OnSubagentSessionCreated;
47
- onShutdown?: () => void;
51
+ onShutdown?: () => void | Promise<void>;
48
52
  enableParentSessionNotifications?: boolean;
49
53
  });
54
+ assertCanSpawn(parentSessionID: string): Promise<SubagentSpawnContext>;
55
+ reserveSubagentSpawn(parentSessionID: string): Promise<{
56
+ spawnContext: SubagentSpawnContext;
57
+ descendantCount: number;
58
+ commit: () => number;
59
+ rollback: () => void;
60
+ }>;
61
+ private registerRootDescendant;
62
+ private unregisterRootDescendant;
63
+ private markPreStartDescendantReservation;
64
+ private settlePreStartDescendantReservation;
65
+ private rollbackPreStartDescendantReservation;
50
66
  launch(input: LaunchInput): Promise<BackgroundTask>;
51
67
  private processKey;
52
68
  private startTask;
@@ -94,6 +110,8 @@ export declare class BackgroundManager {
94
110
  * Cleans up the parent entry if no pending tasks remain.
95
111
  */
96
112
  private cleanupPendingByParent;
113
+ private clearTaskHistoryWhenParentTasksGone;
114
+ private scheduleTaskRemoval;
97
115
  cancelTask(taskId: string, options?: {
98
116
  source?: string;
99
117
  reason?: string;
@@ -123,8 +141,6 @@ export declare class BackgroundManager {
123
141
  */
124
142
  private tryCompleteTask;
125
143
  private notifyParentSession;
126
- private formatDuration;
127
- private isAbortedSessionError;
128
144
  private hasRunningTasks;
129
145
  private pruneStaleTasksAndNotifications;
130
146
  private checkAndInterruptStaleTasks;
@@ -134,7 +150,7 @@ export declare class BackgroundManager {
134
150
  * Cancels all pending concurrency waiters and clears timers.
135
151
  * Should be called when the plugin is unloaded.
136
152
  */
137
- shutdown(): void;
153
+ shutdown(): Promise<void>;
138
154
  private enqueueNotificationForParent;
139
155
  }
140
156
  export {};
@@ -1,5 +1,5 @@
1
1
  interface CleanupTarget {
2
- shutdown(): void;
2
+ shutdown(): void | Promise<void>;
3
3
  }
4
4
  export declare function registerManagerForCleanup(manager: CleanupTarget): void;
5
5
  export declare function unregisterManagerForCleanup(manager: CleanupTarget): void;
@@ -0,0 +1 @@
1
+ export declare function removeTaskToastTracking(taskId: string): void;
@@ -0,0 +1,23 @@
1
+ import type { BackgroundTaskConfig } from "../../config/schema";
2
+ import type { OpencodeClient } from "./constants";
3
+ export declare const DEFAULT_MAX_SUBAGENT_DEPTH = 3;
4
+ export declare const DEFAULT_MAX_ROOT_SESSION_SPAWN_BUDGET = 50;
5
+ export interface SubagentSpawnContext {
6
+ rootSessionID: string;
7
+ parentDepth: number;
8
+ childDepth: number;
9
+ }
10
+ export declare function getMaxSubagentDepth(config?: BackgroundTaskConfig): number;
11
+ export declare function getMaxRootSessionSpawnBudget(config?: BackgroundTaskConfig): number;
12
+ export declare function resolveSubagentSpawnContext(client: OpencodeClient, parentSessionID: string): Promise<SubagentSpawnContext>;
13
+ export declare function createSubagentDepthLimitError(input: {
14
+ childDepth: number;
15
+ maxDepth: number;
16
+ parentSessionID: string;
17
+ rootSessionID: string;
18
+ }): Error;
19
+ export declare function createSubagentDescendantLimitError(input: {
20
+ rootSessionID: string;
21
+ descendantCount: number;
22
+ maxDescendants: number;
23
+ }): Error;
@@ -14,5 +14,6 @@ export declare class TaskHistory {
14
14
  record(parentSessionID: string | undefined, entry: TaskHistoryEntry): void;
15
15
  getByParentSession(parentSessionID: string): TaskHistoryEntry[];
16
16
  clearSession(parentSessionID: string): void;
17
+ clearAll(): void;
17
18
  formatForCompaction(parentSessionID: string): string | null;
18
19
  }
@@ -17,4 +17,5 @@ export declare function checkAndInterruptStaleTasks(args: {
17
17
  concurrencyManager: ConcurrencyManager;
18
18
  notifyParentSession: (task: BackgroundTask) => Promise<void>;
19
19
  sessionStatuses?: SessionStatusMap;
20
+ onTaskInterrupted?: (task: BackgroundTask) => void;
20
21
  }): Promise<void>;
@@ -1,4 +1,5 @@
1
1
  import type { FallbackEntry } from "../../shared/model-requirements";
2
+ import type { SessionPermissionRule } from "../../shared/question-denied-session-permission";
2
3
  export type BackgroundTaskStatus = "pending" | "running" | "completed" | "error" | "cancelled" | "interrupt";
3
4
  export interface TaskProgress {
4
5
  toolCalls: number;
@@ -10,11 +11,13 @@ export interface TaskProgress {
10
11
  export interface BackgroundTask {
11
12
  id: string;
12
13
  sessionID?: string;
14
+ rootSessionID?: string;
13
15
  parentSessionID: string;
14
16
  parentMessageID: string;
15
17
  description: string;
16
18
  prompt: string;
17
19
  agent: string;
20
+ spawnDepth?: number;
18
21
  status: BackgroundTaskStatus;
19
22
  queuedAt?: Date;
20
23
  startedAt?: Date;
@@ -75,6 +78,7 @@ export interface LaunchInput {
75
78
  skills?: string[];
76
79
  skillContent?: string;
77
80
  category?: string;
81
+ sessionPermission?: SessionPermissionRule[];
78
82
  }
79
83
  export interface ResumeInput {
80
84
  sessionId: string;
@@ -0,0 +1,4 @@
1
+ export declare function mapClaudeModelToOpenCode(model: string | undefined): {
2
+ providerID: string;
3
+ modelID: string;
4
+ } | undefined;
@@ -1,3 +1,3 @@
1
- import type { AgentConfig } from "@opencode-ai/sdk";
2
- export declare function loadUserAgents(): Record<string, AgentConfig>;
3
- export declare function loadProjectAgents(directory?: string): Record<string, AgentConfig>;
1
+ import type { ClaudeCodeAgentConfig } from "./types";
2
+ export declare function loadUserAgents(): Record<string, ClaudeCodeAgentConfig>;
3
+ export declare function loadProjectAgents(directory?: string): Record<string, ClaudeCodeAgentConfig>;
@@ -1,14 +1,21 @@
1
1
  import type { AgentConfig } from "@opencode-ai/sdk";
2
2
  export type AgentScope = "user" | "project";
3
+ export type ClaudeCodeAgentConfig = Omit<AgentConfig, "model"> & {
4
+ model?: string | {
5
+ providerID: string;
6
+ modelID: string;
7
+ };
8
+ };
3
9
  export interface AgentFrontmatter {
4
10
  name?: string;
5
11
  description?: string;
6
12
  model?: string;
7
13
  tools?: string;
14
+ mode?: "subagent" | "primary" | "all";
8
15
  }
9
16
  export interface LoadedAgent {
10
17
  name: string;
11
18
  path: string;
12
- config: AgentConfig;
19
+ config: ClaudeCodeAgentConfig;
13
20
  scope: AgentScope;
14
21
  }
@@ -1,3 +1,3 @@
1
- import type { AgentConfig } from "@opencode-ai/sdk";
1
+ import type { ClaudeCodeAgentConfig } from "../claude-code-agent-loader/types";
2
2
  import type { LoadedPlugin } from "./types";
3
- export declare function loadPluginAgents(plugins: LoadedPlugin[]): Record<string, AgentConfig>;
3
+ export declare function loadPluginAgents(plugins: LoadedPlugin[]): Record<string, ClaudeCodeAgentConfig>;
@@ -1,6 +1,6 @@
1
- import type { AgentConfig } from "@opencode-ai/sdk";
2
1
  import type { CommandDefinition } from "../claude-code-command-loader/types";
3
2
  import type { McpServerConfig } from "../claude-code-mcp-loader/types";
3
+ import type { ClaudeCodeAgentConfig } from "../claude-code-agent-loader/types";
4
4
  import type { HooksConfig, LoadedPlugin, PluginLoadError, PluginLoaderOptions } from "./types";
5
5
  export { discoverInstalledPlugins } from "./discovery";
6
6
  export { loadPluginCommands } from "./command-loader";
@@ -11,7 +11,7 @@ export { loadPluginHooksConfigs } from "./hook-loader";
11
11
  export interface PluginComponentsResult {
12
12
  commands: Record<string, CommandDefinition>;
13
13
  skills: Record<string, CommandDefinition>;
14
- agents: Record<string, AgentConfig>;
14
+ agents: Record<string, ClaudeCodeAgentConfig>;
15
15
  mcpServers: Record<string, McpServerConfig>;
16
16
  hooksConfigs: HooksConfig[];
17
17
  plugins: LoadedPlugin[];
@@ -186,7 +186,7 @@ export interface ClaudeSettings {
186
186
  */
187
187
  export interface PluginLoaderOptions {
188
188
  /**
189
- * Override enabled plugins from oh-my-opencode config.
189
+ * Override enabled plugins from openagent-labforge config.
190
190
  * Key format: "pluginName@marketplace" (e.g., "shell-scripting@claude-code-workflows")
191
191
  * Value: true = enabled, false = disabled
192
192
  *
@@ -1,2 +1,2 @@
1
- import type { GitMasterConfig } from "../../config/schema";
1
+ import { type GitMasterConfig } from "../../config/schema";
2
2
  export declare function injectGitMasterConfig(template: string, config?: GitMasterConfig): string;
@@ -41,11 +41,15 @@ export interface ProcessCleanupHandler {
41
41
  export interface SkillMcpManagerState {
42
42
  clients: Map<string, ManagedClient>;
43
43
  pendingConnections: Map<string, Promise<Client>>;
44
+ disconnectedSessions: Map<string, number>;
44
45
  authProviders: Map<string, McpOAuthProvider>;
45
46
  cleanupRegistered: boolean;
46
47
  cleanupInterval: ReturnType<typeof setInterval> | null;
47
48
  cleanupHandlers: ProcessCleanupHandler[];
48
49
  idleTimeoutMs: number;
50
+ shutdownGeneration: number;
51
+ inFlightConnections: Map<string, number>;
52
+ disposed: boolean;
49
53
  }
50
54
  export interface SkillMcpClientConnectionParams {
51
55
  state: SkillMcpManagerState;
@@ -10,6 +10,7 @@ export * from "./session-status-parser";
10
10
  export * from "./session-message-count";
11
11
  export * from "./session-ready-waiter";
12
12
  export * from "./types";
13
+ export * from "./pane-state-parser";
13
14
  export * from "./pane-state-querier";
14
15
  export * from "./decision-engine";
15
16
  export * from "./action-executor";
@@ -45,6 +45,11 @@ export declare class TmuxSessionManager {
45
45
  private isEnabled;
46
46
  private getCapacityConfig;
47
47
  private getSessionMappings;
48
+ private removeTrackedSession;
49
+ private markSessionClosePending;
50
+ private queryWindowStateSafely;
51
+ private tryCloseTrackedSession;
52
+ private retryPendingCloses;
48
53
  private enqueueDeferredSession;
49
54
  private removeDeferredSession;
50
55
  private startDeferredAttachLoop;
@@ -0,0 +1,8 @@
1
+ import type { TmuxPaneInfo } from "./types";
2
+ type ParsedPaneState = {
3
+ windowWidth: number;
4
+ windowHeight: number;
5
+ panes: TmuxPaneInfo[];
6
+ };
7
+ export declare function parsePaneStateOutput(stdout: string): ParsedPaneState | null;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { TrackedSession } from "./types";
2
+ export declare function createTrackedSession(params: {
3
+ sessionId: string;
4
+ paneId: string;
5
+ description: string;
6
+ now?: Date;
7
+ }): TrackedSession;
8
+ export declare function markTrackedSessionClosePending(tracked: TrackedSession): TrackedSession;
@@ -4,6 +4,8 @@ export interface TrackedSession {
4
4
  description: string;
5
5
  createdAt: Date;
6
6
  lastSeenAt: Date;
7
+ closePending: boolean;
8
+ closeRetryCount: number;
7
9
  lastMessageCount?: number;
8
10
  stableIdlePolls?: number;
9
11
  }
@@ -0,0 +1,6 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export declare function isSessionInBoulderLineage(input: {
3
+ client: PluginInput["client"];
4
+ sessionID: string;
5
+ boulderSessionIDs: string[];
6
+ }): Promise<boolean>;
@@ -0,0 +1,4 @@
1
+ export declare function shouldPauseForFinalWaveApproval(input: {
2
+ planPath: string;
3
+ taskOutput: string;
4
+ }): boolean;
@@ -0,0 +1,8 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { AtlasHookOptions, SessionState } from "./types";
3
+ export declare function handleAtlasSessionIdle(input: {
4
+ ctx: PluginInput;
5
+ options?: AtlasHookOptions;
6
+ getState: (sessionID: string) => SessionState;
7
+ sessionID: string;
8
+ }): Promise<void>;
@@ -0,0 +1,11 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { BoulderState, PlanProgress } from "../../features/boulder-state";
3
+ export declare function resolveActiveBoulderSession(input: {
4
+ client: PluginInput["client"];
5
+ directory: string;
6
+ sessionID: string;
7
+ }): Promise<{
8
+ boulderState: BoulderState;
9
+ progress: PlanProgress;
10
+ appendedSession: boolean;
11
+ } | null>;
@@ -1,7 +1,9 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { SessionState } from "./types";
2
3
  import type { ToolExecuteAfterInput, ToolExecuteAfterOutput } from "./types";
3
4
  export declare function createToolExecuteAfterHandler(input: {
4
5
  ctx: PluginInput;
5
6
  pendingFilePaths: Map<string, string>;
6
7
  autoCommit: boolean;
8
+ getState: (sessionID: string) => SessionState;
7
9
  }): (toolInput: ToolExecuteAfterInput, toolOutput: ToolExecuteAfterOutput) => Promise<void>;