oh-my-parallel-agent-opencode 0.1.0 → 0.2.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 (529) hide show
  1. package/LICENSE.md +82 -0
  2. package/README.md +105 -42
  3. package/bin/oh-my-parallel-agent-opencode.js +80 -0
  4. package/bin/platform.js +38 -0
  5. package/bin/platform.test.ts +148 -0
  6. package/dist/agents/atlas.d.ts +22 -0
  7. package/dist/agents/dynamic-agent-prompt-builder.d.ts +30 -0
  8. package/dist/agents/explore.d.ts +7 -0
  9. package/dist/agents/hephaestus.d.ts +6 -0
  10. package/dist/agents/index.d.ts +12 -0
  11. package/dist/agents/librarian.d.ts +7 -0
  12. package/dist/agents/metis.d.ts +21 -0
  13. package/dist/agents/momus.d.ts +21 -0
  14. package/dist/agents/momus.test.d.ts +1 -0
  15. package/dist/agents/multimodal-looker.d.ts +7 -0
  16. package/dist/agents/oracle.d.ts +7 -0
  17. package/dist/agents/prometheus/behavioral-summary.d.ts +6 -0
  18. package/dist/agents/prometheus/high-accuracy-mode.d.ts +6 -0
  19. package/dist/agents/prometheus/identity-constraints.d.ts +7 -0
  20. package/dist/agents/prometheus/index.d.ts +39 -0
  21. package/dist/agents/prometheus/interview-mode.d.ts +7 -0
  22. package/dist/agents/prometheus/plan-generation.d.ts +7 -0
  23. package/dist/agents/prometheus/plan-template.d.ts +7 -0
  24. package/dist/agents/prometheus-prompt.test.d.ts +1 -0
  25. package/dist/agents/sisyphus-junior.d.ts +10 -0
  26. package/dist/agents/sisyphus-junior.test.d.ts +1 -0
  27. package/dist/agents/sisyphus.d.ts +8 -0
  28. package/dist/agents/types.d.ts +63 -0
  29. package/dist/agents/utils.d.ts +16 -0
  30. package/dist/agents/utils.test.d.ts +1 -0
  31. package/dist/cli/config-manager.d.ts +162 -0
  32. package/dist/cli/config-manager.test.d.ts +1 -0
  33. package/dist/cli/doctor/checks/auth.d.ts +7 -0
  34. package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
  35. package/dist/cli/doctor/checks/config.d.ts +8 -0
  36. package/dist/cli/doctor/checks/config.test.d.ts +1 -0
  37. package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
  38. package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
  39. package/dist/cli/doctor/checks/gh.d.ts +13 -0
  40. package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
  41. package/dist/cli/doctor/checks/index.d.ts +13 -0
  42. package/dist/cli/doctor/checks/lsp.d.ts +8 -0
  43. package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
  44. package/dist/cli/doctor/checks/mcp-oauth.d.ts +15 -0
  45. package/dist/cli/doctor/checks/mcp-oauth.test.d.ts +1 -0
  46. package/dist/cli/doctor/checks/mcp.d.ts +6 -0
  47. package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
  48. package/dist/cli/doctor/checks/model-resolution.d.ts +33 -0
  49. package/dist/cli/doctor/checks/model-resolution.test.d.ts +1 -0
  50. package/dist/cli/doctor/checks/opencode.d.ts +19 -0
  51. package/dist/cli/doctor/checks/opencode.test.d.ts +1 -0
  52. package/dist/cli/doctor/checks/plugin.d.ts +4 -0
  53. package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
  54. package/dist/cli/doctor/checks/version.d.ts +4 -0
  55. package/dist/cli/doctor/checks/version.test.d.ts +1 -0
  56. package/dist/cli/doctor/constants.d.ts +42 -0
  57. package/dist/cli/doctor/formatter.d.ts +12 -0
  58. package/dist/cli/doctor/formatter.test.d.ts +1 -0
  59. package/dist/cli/doctor/index.d.ts +5 -0
  60. package/dist/cli/doctor/runner.d.ts +7 -0
  61. package/dist/cli/doctor/runner.test.d.ts +1 -0
  62. package/dist/cli/doctor/types.d.ts +91 -0
  63. package/dist/cli/get-local-version/formatter.d.ts +3 -0
  64. package/dist/cli/get-local-version/index.d.ts +3 -0
  65. package/dist/cli/get-local-version/types.d.ts +13 -0
  66. package/dist/cli/index.d.ts +2 -0
  67. package/dist/cli/index.js +26903 -0
  68. package/dist/cli/index.test.d.ts +1 -0
  69. package/dist/cli/install.d.ts +2 -0
  70. package/dist/cli/install.test.d.ts +1 -0
  71. package/dist/cli/mcp-oauth/index.d.ts +6 -0
  72. package/dist/cli/mcp-oauth/index.test.d.ts +1 -0
  73. package/dist/cli/mcp-oauth/login.d.ts +6 -0
  74. package/dist/cli/mcp-oauth/login.test.d.ts +1 -0
  75. package/dist/cli/mcp-oauth/logout.d.ts +4 -0
  76. package/dist/cli/mcp-oauth/logout.test.d.ts +1 -0
  77. package/dist/cli/mcp-oauth/status.d.ts +1 -0
  78. package/dist/cli/mcp-oauth/status.test.d.ts +1 -0
  79. package/dist/cli/model-fallback.d.ts +18 -0
  80. package/dist/cli/model-fallback.test.d.ts +1 -0
  81. package/dist/cli/run/completion.d.ts +2 -0
  82. package/dist/cli/run/completion.test.d.ts +1 -0
  83. package/dist/cli/run/events.d.ts +14 -0
  84. package/dist/cli/run/events.test.d.ts +1 -0
  85. package/dist/cli/run/index.d.ts +2 -0
  86. package/dist/cli/run/runner.d.ts +2 -0
  87. package/dist/cli/run/types.d.ts +73 -0
  88. package/dist/cli/types.d.ts +39 -0
  89. package/dist/config/index.d.ts +2 -0
  90. package/dist/config/schema.d.ts +2651 -0
  91. package/dist/config/schema.test.d.ts +1 -0
  92. package/dist/features/background-agent/concurrency.d.ts +27 -0
  93. package/dist/features/background-agent/concurrency.test.d.ts +1 -0
  94. package/dist/features/background-agent/constants.d.ts +44 -0
  95. package/dist/features/background-agent/index.d.ts +4 -0
  96. package/dist/features/background-agent/manager.d.ts +118 -0
  97. package/dist/features/background-agent/manager.test.d.ts +1 -0
  98. package/dist/features/background-agent/result-handler.d.ts +15 -0
  99. package/dist/features/background-agent/spawner.d.ts +14 -0
  100. package/dist/features/background-agent/state.d.ts +35 -0
  101. package/dist/features/background-agent/types.d.ts +79 -0
  102. package/dist/features/boulder-state/constants.d.ts +10 -0
  103. package/dist/features/boulder-state/index.d.ts +3 -0
  104. package/dist/features/boulder-state/storage.d.ts +28 -0
  105. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  106. package/dist/features/boulder-state/types.d.ts +24 -0
  107. package/dist/features/builtin-commands/commands.d.ts +2 -0
  108. package/dist/features/builtin-commands/index.d.ts +2 -0
  109. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
  110. package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
  111. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  112. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  113. package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -0
  114. package/dist/features/builtin-commands/templates/stop-continuation.test.d.ts +1 -0
  115. package/dist/features/builtin-commands/types.d.ts +6 -0
  116. package/dist/features/builtin-skills/index.d.ts +2 -0
  117. package/dist/features/builtin-skills/skills/dev-browser.d.ts +2 -0
  118. package/dist/features/builtin-skills/skills/frontend-ui-ux.d.ts +2 -0
  119. package/dist/features/builtin-skills/skills/git-master.d.ts +2 -0
  120. package/dist/features/builtin-skills/skills/index.d.ts +4 -0
  121. package/dist/features/builtin-skills/skills/playwright.d.ts +3 -0
  122. package/dist/features/builtin-skills/skills.d.ts +6 -0
  123. package/dist/features/builtin-skills/skills.test.d.ts +1 -0
  124. package/dist/features/builtin-skills/types.d.ts +15 -0
  125. package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
  126. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
  127. package/dist/features/claude-code-agent-loader/types.d.ts +14 -0
  128. package/dist/features/claude-code-command-loader/index.d.ts +2 -0
  129. package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
  130. package/dist/features/claude-code-command-loader/types.d.ts +42 -0
  131. package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
  132. package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
  133. package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
  134. package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
  135. package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
  136. package/dist/features/claude-code-mcp-loader/types.d.ts +39 -0
  137. package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
  138. package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
  139. package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
  140. package/dist/features/claude-code-session-state/index.d.ts +1 -0
  141. package/dist/features/claude-code-session-state/state.d.ts +9 -0
  142. package/dist/features/claude-code-session-state/state.test.d.ts +1 -0
  143. package/dist/features/context-injector/collector.d.ts +11 -0
  144. package/dist/features/context-injector/collector.test.d.ts +1 -0
  145. package/dist/features/context-injector/index.d.ts +3 -0
  146. package/dist/features/context-injector/injector.d.ts +39 -0
  147. package/dist/features/context-injector/injector.test.d.ts +1 -0
  148. package/dist/features/context-injector/types.d.ts +83 -0
  149. package/dist/features/hook-message-injector/constants.d.ts +3 -0
  150. package/dist/features/hook-message-injector/index.d.ts +4 -0
  151. package/dist/features/hook-message-injector/injector.d.ts +19 -0
  152. package/dist/features/hook-message-injector/types.d.ts +46 -0
  153. package/dist/features/mcp-oauth/callback-server.d.ts +11 -0
  154. package/dist/features/mcp-oauth/callback-server.test.d.ts +1 -0
  155. package/dist/features/mcp-oauth/dcr.d.ts +34 -0
  156. package/dist/features/mcp-oauth/dcr.test.d.ts +1 -0
  157. package/dist/features/mcp-oauth/discovery.d.ts +8 -0
  158. package/dist/features/mcp-oauth/discovery.test.d.ts +1 -0
  159. package/dist/features/mcp-oauth/index.d.ts +1 -0
  160. package/dist/features/mcp-oauth/provider.d.ts +41 -0
  161. package/dist/features/mcp-oauth/provider.test.d.ts +1 -0
  162. package/dist/features/mcp-oauth/resource-indicator.d.ts +2 -0
  163. package/dist/features/mcp-oauth/resource-indicator.test.d.ts +1 -0
  164. package/dist/features/mcp-oauth/schema.d.ts +6 -0
  165. package/dist/features/mcp-oauth/schema.test.d.ts +1 -0
  166. package/dist/features/mcp-oauth/step-up.d.ts +8 -0
  167. package/dist/features/mcp-oauth/step-up.test.d.ts +1 -0
  168. package/dist/features/mcp-oauth/storage.d.ts +17 -0
  169. package/dist/features/mcp-oauth/storage.test.d.ts +1 -0
  170. package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
  171. package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
  172. package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
  173. package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
  174. package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
  175. package/dist/features/opencode-skill-loader/index.d.ts +4 -0
  176. package/dist/features/opencode-skill-loader/loader.d.ts +16 -0
  177. package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
  178. package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
  179. package/dist/features/opencode-skill-loader/skill-content.d.ts +21 -0
  180. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  181. package/dist/features/opencode-skill-loader/types.d.ts +34 -0
  182. package/dist/features/sisyphus-swarm/mailbox/types.d.ts +191 -0
  183. package/dist/features/sisyphus-swarm/mailbox/types.test.d.ts +1 -0
  184. package/dist/features/sisyphus-tasks/storage.d.ts +9 -0
  185. package/dist/features/sisyphus-tasks/storage.test.d.ts +1 -0
  186. package/dist/features/sisyphus-tasks/types.d.ts +47 -0
  187. package/dist/features/sisyphus-tasks/types.test.d.ts +1 -0
  188. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
  189. package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
  190. package/dist/features/skill-mcp-manager/index.d.ts +2 -0
  191. package/dist/features/skill-mcp-manager/manager.d.ts +50 -0
  192. package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
  193. package/dist/features/skill-mcp-manager/types.d.ts +11 -0
  194. package/dist/features/task-toast-manager/index.d.ts +2 -0
  195. package/dist/features/task-toast-manager/manager.d.ts +58 -0
  196. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  197. package/dist/features/task-toast-manager/types.d.ts +24 -0
  198. package/dist/features/tmux-subagent/action-executor.d.ts +22 -0
  199. package/dist/features/tmux-subagent/decision-engine.d.ts +38 -0
  200. package/dist/features/tmux-subagent/decision-engine.test.d.ts +1 -0
  201. package/dist/features/tmux-subagent/index.d.ts +5 -0
  202. package/dist/features/tmux-subagent/manager.d.ts +59 -0
  203. package/dist/features/tmux-subagent/manager.test.d.ts +1 -0
  204. package/dist/features/tmux-subagent/pane-state-querier.d.ts +2 -0
  205. package/dist/features/tmux-subagent/types.d.ts +53 -0
  206. package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
  207. package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
  208. package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
  209. package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
  210. package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
  211. package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
  212. package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +16 -0
  213. package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
  214. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
  215. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
  216. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
  217. package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
  218. package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
  219. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +37 -0
  220. package/dist/hooks/atlas/index.d.ts +35 -0
  221. package/dist/hooks/atlas/index.test.d.ts +1 -0
  222. package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
  223. package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
  224. package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
  225. package/dist/hooks/auto-slash-command/executor.d.ts +11 -0
  226. package/dist/hooks/auto-slash-command/index.d.ts +12 -0
  227. package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
  228. package/dist/hooks/auto-slash-command/types.d.ts +27 -0
  229. package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
  230. package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
  231. package/dist/hooks/auto-update-checker/checker.test.d.ts +1 -0
  232. package/dist/hooks/auto-update-checker/constants.d.ts +10 -0
  233. package/dist/hooks/auto-update-checker/index.d.ts +17 -0
  234. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  235. package/dist/hooks/auto-update-checker/types.d.ts +25 -0
  236. package/dist/hooks/background-notification/index.d.ts +18 -0
  237. package/dist/hooks/background-notification/types.d.ts +4 -0
  238. package/dist/hooks/category-skill-reminder/index.d.ts +22 -0
  239. package/dist/hooks/category-skill-reminder/index.test.d.ts +1 -0
  240. package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
  241. package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
  242. package/dist/hooks/claude-code-hooks/index.d.ts +48 -0
  243. package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
  244. package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
  245. package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
  246. package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
  247. package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
  248. package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
  249. package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
  250. package/dist/hooks/claude-code-hooks/transcript.d.ts +34 -0
  251. package/dist/hooks/claude-code-hooks/types.d.ts +183 -0
  252. package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
  253. package/dist/hooks/comment-checker/cli.d.ts +52 -0
  254. package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
  255. package/dist/hooks/comment-checker/downloader.d.ts +25 -0
  256. package/dist/hooks/comment-checker/index.d.ts +19 -0
  257. package/dist/hooks/comment-checker/types.d.ts +31 -0
  258. package/dist/hooks/compaction-context-injector/index.d.ts +8 -0
  259. package/dist/hooks/compaction-context-injector/index.test.d.ts +1 -0
  260. package/dist/hooks/context-window-monitor.d.ts +18 -0
  261. package/dist/hooks/delegate-task-retry/index.d.ts +24 -0
  262. package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -0
  263. package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
  264. package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
  265. package/dist/hooks/directory-agents-injector/storage.d.ts +1 -0
  266. package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
  267. package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
  268. package/dist/hooks/directory-readme-injector/storage.d.ts +1 -0
  269. package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
  270. package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
  271. package/dist/hooks/empty-task-response-detector.d.ts +12 -0
  272. package/dist/hooks/index.d.ts +35 -0
  273. package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
  274. package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
  275. package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
  276. package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
  277. package/dist/hooks/keyword-detector/analyze/default.d.ts +12 -0
  278. package/dist/hooks/keyword-detector/analyze/index.d.ts +1 -0
  279. package/dist/hooks/keyword-detector/constants.d.ts +10 -0
  280. package/dist/hooks/keyword-detector/detector.d.ts +11 -0
  281. package/dist/hooks/keyword-detector/index.d.ts +23 -0
  282. package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
  283. package/dist/hooks/keyword-detector/search/default.d.ts +12 -0
  284. package/dist/hooks/keyword-detector/search/index.d.ts +1 -0
  285. package/dist/hooks/keyword-detector/types.d.ts +4 -0
  286. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +10 -0
  287. package/dist/hooks/keyword-detector/ultrawork/gpt5.2.d.ts +16 -0
  288. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +17 -0
  289. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +6 -0
  290. package/dist/hooks/keyword-detector/ultrawork/utils.d.ts +24 -0
  291. package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
  292. package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
  293. package/dist/hooks/non-interactive-env/index.d.ts +14 -0
  294. package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
  295. package/dist/hooks/non-interactive-env/types.d.ts +3 -0
  296. package/dist/hooks/prometheus-md-only/constants.d.ts +7 -0
  297. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  298. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  299. package/dist/hooks/question-label-truncator/index.d.ts +7 -0
  300. package/dist/hooks/question-label-truncator/index.test.d.ts +1 -0
  301. package/dist/hooks/ralph-loop/constants.d.ts +5 -0
  302. package/dist/hooks/ralph-loop/index.d.ts +21 -0
  303. package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
  304. package/dist/hooks/ralph-loop/storage.d.ts +6 -0
  305. package/dist/hooks/ralph-loop/types.d.ts +17 -0
  306. package/dist/hooks/rules-injector/constants.d.ts +8 -0
  307. package/dist/hooks/rules-injector/finder.d.ts +33 -0
  308. package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
  309. package/dist/hooks/rules-injector/index.d.ts +26 -0
  310. package/dist/hooks/rules-injector/matcher.d.ts +21 -0
  311. package/dist/hooks/rules-injector/output-path.d.ts +5 -0
  312. package/dist/hooks/rules-injector/output-path.test.d.ts +1 -0
  313. package/dist/hooks/rules-injector/parser.d.ts +18 -0
  314. package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
  315. package/dist/hooks/rules-injector/storage.d.ts +9 -0
  316. package/dist/hooks/rules-injector/types.d.ts +54 -0
  317. package/dist/hooks/session-notification-utils.d.ts +9 -0
  318. package/dist/hooks/session-notification.d.ts +20 -0
  319. package/dist/hooks/session-notification.test.d.ts +1 -0
  320. package/dist/hooks/session-recovery/constants.d.ts +6 -0
  321. package/dist/hooks/session-recovery/index.d.ts +22 -0
  322. package/dist/hooks/session-recovery/index.test.d.ts +1 -0
  323. package/dist/hooks/session-recovery/storage.d.ts +19 -0
  324. package/dist/hooks/session-recovery/types.d.ts +90 -0
  325. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +2 -0
  326. package/dist/hooks/sisyphus-junior-notepad/index.d.ts +12 -0
  327. package/dist/hooks/start-work/index.d.ts +16 -0
  328. package/dist/hooks/start-work/index.test.d.ts +1 -0
  329. package/dist/hooks/stop-continuation-guard/index.d.ts +16 -0
  330. package/dist/hooks/stop-continuation-guard/index.test.d.ts +1 -0
  331. package/dist/hooks/subagent-question-blocker/index.d.ts +2 -0
  332. package/dist/hooks/subagent-question-blocker/index.test.d.ts +1 -0
  333. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  334. package/dist/hooks/think-mode/detector.d.ts +5 -0
  335. package/dist/hooks/think-mode/index.d.ts +14 -0
  336. package/dist/hooks/think-mode/index.test.d.ts +1 -0
  337. package/dist/hooks/think-mode/switcher.d.ts +69 -0
  338. package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
  339. package/dist/hooks/think-mode/types.d.ts +21 -0
  340. package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
  341. package/dist/hooks/todo-continuation-enforcer.d.ts +19 -0
  342. package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
  343. package/dist/hooks/tool-output-truncator.d.ts +17 -0
  344. package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
  345. package/dist/hooks/unstable-agent-babysitter/index.d.ts +50 -0
  346. package/dist/hooks/unstable-agent-babysitter/index.test.d.ts +1 -0
  347. package/dist/index.d.ts +5 -0
  348. package/dist/index.js +76117 -0
  349. package/dist/index.test.d.ts +1 -0
  350. package/dist/mcp/context7.d.ts +9 -0
  351. package/dist/mcp/grep-app.d.ts +6 -0
  352. package/dist/mcp/index.d.ts +9 -0
  353. package/dist/mcp/index.test.d.ts +1 -0
  354. package/dist/mcp/types.d.ts +9 -0
  355. package/dist/mcp/websearch.d.ts +9 -0
  356. package/dist/oh-my-parallel-agent-opencode.schema.json +2182 -0
  357. package/dist/plugin-config.d.ts +4 -0
  358. package/dist/plugin-config.test.d.ts +1 -0
  359. package/dist/plugin-handlers/config-handler.d.ts +13 -0
  360. package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
  361. package/dist/plugin-handlers/index.d.ts +1 -0
  362. package/dist/plugin-state.d.ts +6 -0
  363. package/dist/shared/agent-config-integration.test.d.ts +1 -0
  364. package/dist/shared/agent-display-names.d.ts +12 -0
  365. package/dist/shared/agent-display-names.test.d.ts +1 -0
  366. package/dist/shared/agent-tool-restrictions.d.ts +7 -0
  367. package/dist/shared/agent-variant.d.ts +9 -0
  368. package/dist/shared/agent-variant.test.d.ts +1 -0
  369. package/dist/shared/binary-downloader.d.ts +10 -0
  370. package/dist/shared/claude-config-dir.d.ts +1 -0
  371. package/dist/shared/claude-config-dir.test.d.ts +1 -0
  372. package/dist/shared/command-executor.d.ts +21 -0
  373. package/dist/shared/config-errors.d.ts +7 -0
  374. package/dist/shared/connected-providers-cache.d.ts +52 -0
  375. package/dist/shared/data-path.d.ts +30 -0
  376. package/dist/shared/deep-merge.d.ts +13 -0
  377. package/dist/shared/deep-merge.test.d.ts +1 -0
  378. package/dist/shared/dynamic-truncator.d.ts +27 -0
  379. package/dist/shared/external-plugin-detector.d.ts +18 -0
  380. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  381. package/dist/shared/file-reference-resolver.d.ts +1 -0
  382. package/dist/shared/file-utils.d.ts +7 -0
  383. package/dist/shared/first-message-variant.d.ts +11 -0
  384. package/dist/shared/first-message-variant.test.d.ts +1 -0
  385. package/dist/shared/frontmatter.d.ts +7 -0
  386. package/dist/shared/frontmatter.test.d.ts +1 -0
  387. package/dist/shared/hook-disabled.d.ts +2 -0
  388. package/dist/shared/index.d.ts +36 -0
  389. package/dist/shared/jsonc-parser.d.ts +15 -0
  390. package/dist/shared/jsonc-parser.test.d.ts +1 -0
  391. package/dist/shared/logger.d.ts +2 -0
  392. package/dist/shared/migration.d.ts +32 -0
  393. package/dist/shared/migration.test.d.ts +1 -0
  394. package/dist/shared/model-availability.d.ts +19 -0
  395. package/dist/shared/model-availability.test.d.ts +1 -0
  396. package/dist/shared/model-requirements.d.ts +13 -0
  397. package/dist/shared/model-requirements.test.d.ts +1 -0
  398. package/dist/shared/model-resolution-pipeline.d.ts +24 -0
  399. package/dist/shared/model-resolver.d.ts +22 -0
  400. package/dist/shared/model-resolver.test.d.ts +1 -0
  401. package/dist/shared/model-sanitizer.d.ts +3 -0
  402. package/dist/shared/model-suggestion-retry.d.ts +24 -0
  403. package/dist/shared/model-suggestion-retry.test.d.ts +1 -0
  404. package/dist/shared/ollama-ndjson-parser.d.ts +108 -0
  405. package/dist/shared/opencode-config-dir.d.ts +19 -0
  406. package/dist/shared/opencode-config-dir.test.d.ts +1 -0
  407. package/dist/shared/opencode-version.d.ts +19 -0
  408. package/dist/shared/opencode-version.test.d.ts +1 -0
  409. package/dist/shared/pattern-matcher.d.ts +3 -0
  410. package/dist/shared/permission-compat.d.ts +27 -0
  411. package/dist/shared/permission-compat.test.d.ts +1 -0
  412. package/dist/shared/session-cursor.d.ts +13 -0
  413. package/dist/shared/session-cursor.test.d.ts +1 -0
  414. package/dist/shared/session-injected-paths.d.ts +10 -0
  415. package/dist/shared/session-utils.d.ts +2 -0
  416. package/dist/shared/shell-env.d.ts +41 -0
  417. package/dist/shared/shell-env.test.d.ts +1 -0
  418. package/dist/shared/snake-case.d.ts +5 -0
  419. package/dist/shared/system-directive.d.ts +45 -0
  420. package/dist/shared/system-directive.test.d.ts +1 -0
  421. package/dist/shared/tmux/constants.d.ts +5 -0
  422. package/dist/shared/tmux/index.d.ts +3 -0
  423. package/dist/shared/tmux/tmux-utils.d.ts +17 -0
  424. package/dist/shared/tmux/tmux-utils.test.d.ts +1 -0
  425. package/dist/shared/tmux/types.d.ts +4 -0
  426. package/dist/shared/tool-name.d.ts +1 -0
  427. package/dist/shared/zip-extractor.d.ts +1 -0
  428. package/dist/tools/ast-grep/cli.d.ts +15 -0
  429. package/dist/tools/ast-grep/constants.d.ts +29 -0
  430. package/dist/tools/ast-grep/downloader.d.ts +5 -0
  431. package/dist/tools/ast-grep/index.d.ts +8 -0
  432. package/dist/tools/ast-grep/tools.d.ts +3 -0
  433. package/dist/tools/ast-grep/types.d.ts +58 -0
  434. package/dist/tools/ast-grep/utils.d.ts +5 -0
  435. package/dist/tools/background-task/constants.d.ts +3 -0
  436. package/dist/tools/background-task/index.d.ts +4 -0
  437. package/dist/tools/background-task/tools.d.ts +47 -0
  438. package/dist/tools/background-task/tools.test.d.ts +1 -0
  439. package/dist/tools/background-task/types.d.ts +20 -0
  440. package/dist/tools/call-omo-agent/constants.d.ts +2 -0
  441. package/dist/tools/call-omo-agent/index.d.ts +3 -0
  442. package/dist/tools/call-omo-agent/tools.d.ts +3 -0
  443. package/dist/tools/call-omo-agent/types.d.ts +24 -0
  444. package/dist/tools/delegate-task/categories.d.ts +17 -0
  445. package/dist/tools/delegate-task/constants.d.ts +30 -0
  446. package/dist/tools/delegate-task/executor.d.ts +75 -0
  447. package/dist/tools/delegate-task/helpers.d.ts +30 -0
  448. package/dist/tools/delegate-task/index.d.ts +4 -0
  449. package/dist/tools/delegate-task/prompt-builder.d.ts +6 -0
  450. package/dist/tools/delegate-task/timing.d.ts +11 -0
  451. package/dist/tools/delegate-task/tools.d.ts +6 -0
  452. package/dist/tools/delegate-task/tools.test.d.ts +1 -0
  453. package/dist/tools/delegate-task/types.d.ts +44 -0
  454. package/dist/tools/glob/cli.d.ts +11 -0
  455. package/dist/tools/glob/cli.test.d.ts +1 -0
  456. package/dist/tools/glob/constants.d.ts +6 -0
  457. package/dist/tools/glob/index.d.ts +2 -0
  458. package/dist/tools/glob/tools.d.ts +2 -0
  459. package/dist/tools/glob/types.d.ts +20 -0
  460. package/dist/tools/glob/utils.d.ts +2 -0
  461. package/dist/tools/grep/cli.d.ts +3 -0
  462. package/dist/tools/grep/constants.d.ts +17 -0
  463. package/dist/tools/grep/downloader.d.ts +3 -0
  464. package/dist/tools/grep/downloader.test.d.ts +1 -0
  465. package/dist/tools/grep/index.d.ts +2 -0
  466. package/dist/tools/grep/tools.d.ts +2 -0
  467. package/dist/tools/grep/types.d.ts +36 -0
  468. package/dist/tools/grep/utils.d.ts +3 -0
  469. package/dist/tools/index.d.ts +15 -0
  470. package/dist/tools/interactive-bash/constants.d.ts +3 -0
  471. package/dist/tools/interactive-bash/index.d.ts +3 -0
  472. package/dist/tools/interactive-bash/tools.d.ts +7 -0
  473. package/dist/tools/interactive-bash/utils.d.ts +3 -0
  474. package/dist/tools/look-at/constants.d.ts +2 -0
  475. package/dist/tools/look-at/index.d.ts +3 -0
  476. package/dist/tools/look-at/tools.d.ts +9 -0
  477. package/dist/tools/look-at/tools.test.d.ts +1 -0
  478. package/dist/tools/look-at/types.d.ts +4 -0
  479. package/dist/tools/lsp/client.d.ts +50 -0
  480. package/dist/tools/lsp/config.d.ts +17 -0
  481. package/dist/tools/lsp/config.test.d.ts +1 -0
  482. package/dist/tools/lsp/constants.d.ts +9 -0
  483. package/dist/tools/lsp/index.d.ts +6 -0
  484. package/dist/tools/lsp/tools.d.ts +7 -0
  485. package/dist/tools/lsp/types.d.ts +123 -0
  486. package/dist/tools/lsp/utils.d.ts +26 -0
  487. package/dist/tools/session-manager/constants.d.ts +12 -0
  488. package/dist/tools/session-manager/index.d.ts +3 -0
  489. package/dist/tools/session-manager/storage.d.ts +12 -0
  490. package/dist/tools/session-manager/storage.test.d.ts +1 -0
  491. package/dist/tools/session-manager/tools.d.ts +5 -0
  492. package/dist/tools/session-manager/tools.test.d.ts +1 -0
  493. package/dist/tools/session-manager/types.d.ts +89 -0
  494. package/dist/tools/session-manager/utils.d.ts +11 -0
  495. package/dist/tools/session-manager/utils.test.d.ts +1 -0
  496. package/dist/tools/skill/constants.d.ts +3 -0
  497. package/dist/tools/skill/index.d.ts +3 -0
  498. package/dist/tools/skill/tools.d.ts +4 -0
  499. package/dist/tools/skill/tools.test.d.ts +1 -0
  500. package/dist/tools/skill/types.d.ts +28 -0
  501. package/dist/tools/skill-mcp/constants.d.ts +2 -0
  502. package/dist/tools/skill-mcp/index.d.ts +3 -0
  503. package/dist/tools/skill-mcp/tools.d.ts +11 -0
  504. package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
  505. package/dist/tools/skill-mcp/types.d.ts +8 -0
  506. package/dist/tools/slashcommand/index.d.ts +2 -0
  507. package/dist/tools/slashcommand/tools.d.ts +5 -0
  508. package/dist/tools/slashcommand/tools.test.d.ts +1 -0
  509. package/dist/tools/slashcommand/types.d.ts +24 -0
  510. package/package.json +77 -6
  511. package/postinstall.mjs +43 -0
  512. package/__tests__/agents.test.ts +0 -107
  513. package/__tests__/config-handler.test.ts +0 -198
  514. package/__tests__/dynamic-agent.test.ts +0 -68
  515. package/__tests__/schema.test.ts +0 -149
  516. package/__tests__/setup.test.ts +0 -16
  517. package/bun.lock +0 -29
  518. package/oh-my-parallel-agent-opencode.example.json +0 -7
  519. package/src/agents/explore.ts +0 -117
  520. package/src/agents/index.ts +0 -69
  521. package/src/agents/librarian.ts +0 -302
  522. package/src/agents/metis.ts +0 -341
  523. package/src/agents/momus.ts +0 -237
  524. package/src/agents/types.ts +0 -95
  525. package/src/config/schema.ts +0 -15
  526. package/src/index.ts +0 -116
  527. package/src/plugin-handlers/config-handler.ts +0 -129
  528. package/src/utils/dynamic-agent.ts +0 -37
  529. package/tsconfig.json +0 -19
@@ -0,0 +1,4 @@
1
+ import { type OhMyOpenCodeConfig } from "./config";
2
+ export declare function loadConfigFromPath(configPath: string, ctx: unknown): OhMyOpenCodeConfig | null;
3
+ export declare function mergeConfigs(base: OhMyOpenCodeConfig, override: OhMyOpenCodeConfig): OhMyOpenCodeConfig;
4
+ export declare function loadPluginConfig(directory: string, ctx: unknown): OhMyOpenCodeConfig;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ import type { ModelCacheState } from "../plugin-state";
3
+ import type { CategoryConfig } from "../config/schema";
4
+ export interface ConfigHandlerDeps {
5
+ ctx: {
6
+ directory: string;
7
+ client?: any;
8
+ };
9
+ pluginConfig: OhMyOpenCodeConfig;
10
+ modelCacheState: ModelCacheState;
11
+ }
12
+ export declare function resolveCategoryConfig(categoryName: string, userCategories?: Record<string, CategoryConfig>): CategoryConfig | undefined;
13
+ export declare function createConfigHandler(deps: ConfigHandlerDeps): (config: Record<string, unknown>) => Promise<void>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { createConfigHandler, type ConfigHandlerDeps } from "./config-handler";
@@ -0,0 +1,6 @@
1
+ export interface ModelCacheState {
2
+ modelContextLimitsCache: Map<string, number>;
3
+ anthropicContext1MEnabled: boolean;
4
+ }
5
+ export declare function createModelCacheState(): ModelCacheState;
6
+ export declare function getModelLimit(state: ModelCacheState, providerID: string, modelID: string): number | undefined;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Agent config keys to display names mapping.
3
+ * Config keys are lowercase (e.g., "sisyphus", "atlas").
4
+ * Display names include suffixes for UI/logs (e.g., "Sisyphus (Ultraworker)").
5
+ */
6
+ export declare const AGENT_DISPLAY_NAMES: Record<string, string>;
7
+ /**
8
+ * Get display name for an agent config key.
9
+ * Uses case-insensitive lookup for backward compatibility.
10
+ * Returns original key if not found.
11
+ */
12
+ export declare function getAgentDisplayName(configKey: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Agent tool restrictions for session.prompt calls.
3
+ * OpenCode SDK's session.prompt `tools` parameter expects boolean values.
4
+ * true = tool allowed, false = tool denied.
5
+ */
6
+ export declare function getAgentToolRestrictions(agentName: string): Record<string, boolean>;
7
+ export declare function hasAgentToolRestrictions(agentName: string): boolean;
@@ -0,0 +1,9 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ export declare function resolveAgentVariant(config: OhMyOpenCodeConfig, agentName?: string): string | undefined;
3
+ export declare function resolveVariantForModel(config: OhMyOpenCodeConfig, agentName: string, currentModel: {
4
+ providerID: string;
5
+ modelID: string;
6
+ }): string | undefined;
7
+ export declare function applyAgentVariant(config: OhMyOpenCodeConfig, agentName: string | undefined, message: {
8
+ variant?: string;
9
+ }): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export declare function getCachedBinaryPath(cacheDir: string, binaryName: string): string | null;
2
+ export declare function ensureCacheDir(cacheDir: string): void;
3
+ export declare function downloadArchive(downloadUrl: string, archivePath: string): Promise<void>;
4
+ export declare function extractTarGz(archivePath: string, destDir: string, options?: {
5
+ args?: string[];
6
+ cwd?: string;
7
+ }): Promise<void>;
8
+ export declare function extractZipArchive(archivePath: string, destDir: string): Promise<void>;
9
+ export declare function cleanupArchive(archivePath: string): void;
10
+ export declare function ensureExecutable(binaryPath: string): void;
@@ -0,0 +1 @@
1
+ export declare function getClaudeConfigDir(): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ export interface CommandResult {
2
+ exitCode: number;
3
+ stdout?: string;
4
+ stderr?: string;
5
+ }
6
+ export interface ExecuteHookOptions {
7
+ forceZsh?: boolean;
8
+ zshPath?: string;
9
+ }
10
+ /**
11
+ * Execute a hook command with stdin input
12
+ */
13
+ export declare function executeHookCommand(command: string, stdin: string, cwd: string, options?: ExecuteHookOptions): Promise<CommandResult>;
14
+ /**
15
+ * Execute a simple command and return output
16
+ */
17
+ export declare function executeCommand(command: string): Promise<string>;
18
+ /**
19
+ * Resolve embedded commands in text recursively
20
+ */
21
+ export declare function resolveCommandsInText(text: string, depth?: number, maxDepth?: number): Promise<string>;
@@ -0,0 +1,7 @@
1
+ export type ConfigLoadError = {
2
+ path: string;
3
+ error: string;
4
+ };
5
+ export declare function getConfigLoadErrors(): ConfigLoadError[];
6
+ export declare function clearConfigLoadErrors(): void;
7
+ export declare function addConfigLoadError(error: ConfigLoadError): void;
@@ -0,0 +1,52 @@
1
+ interface ProviderModelsCache {
2
+ models: Record<string, string[]>;
3
+ connected: string[];
4
+ updatedAt: string;
5
+ }
6
+ /**
7
+ * Read the connected providers cache.
8
+ * Returns the list of connected provider IDs, or null if cache doesn't exist.
9
+ */
10
+ export declare function readConnectedProvidersCache(): string[] | null;
11
+ /**
12
+ * Check if connected providers cache exists.
13
+ */
14
+ export declare function hasConnectedProvidersCache(): boolean;
15
+ /**
16
+ * Read the provider-models cache.
17
+ * Returns the cache data, or null if cache doesn't exist.
18
+ */
19
+ export declare function readProviderModelsCache(): ProviderModelsCache | null;
20
+ /**
21
+ * Check if provider-models cache exists.
22
+ */
23
+ export declare function hasProviderModelsCache(): boolean;
24
+ /**
25
+ * Write the provider-models cache.
26
+ */
27
+ export declare function writeProviderModelsCache(data: {
28
+ models: Record<string, string[]>;
29
+ connected: string[];
30
+ }): void;
31
+ /**
32
+ * Update the connected providers cache by fetching from the client.
33
+ * Also updates the provider-models cache with model lists per provider.
34
+ */
35
+ export declare function updateConnectedProvidersCache(client: {
36
+ provider?: {
37
+ list?: () => Promise<{
38
+ data?: {
39
+ connected?: string[];
40
+ };
41
+ }>;
42
+ };
43
+ model?: {
44
+ list?: () => Promise<{
45
+ data?: Array<{
46
+ id: string;
47
+ provider: string;
48
+ }>;
49
+ }>;
50
+ };
51
+ }): Promise<void>;
52
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Returns the user-level data directory.
3
+ * Matches OpenCode's behavior via xdg-basedir:
4
+ * - All platforms: XDG_DATA_HOME or ~/.local/share
5
+ *
6
+ * Note: OpenCode uses xdg-basedir which returns ~/.local/share on ALL platforms
7
+ * including Windows, so we match that behavior exactly.
8
+ */
9
+ export declare function getDataDir(): string;
10
+ /**
11
+ * Returns the OpenCode storage directory path.
12
+ * All platforms: ~/.local/share/opencode/storage
13
+ */
14
+ export declare function getOpenCodeStorageDir(): string;
15
+ /**
16
+ * Returns the user-level cache directory.
17
+ * Matches OpenCode's behavior via xdg-basedir:
18
+ * - All platforms: XDG_CACHE_HOME or ~/.cache
19
+ */
20
+ export declare function getCacheDir(): string;
21
+ /**
22
+ * Returns the oh-my-parallel-agent-opencode cache directory.
23
+ * All platforms: ~/.cache/oh-my-parallel-agent-opencode
24
+ */
25
+ export declare function getOmoOpenCodeCacheDir(): string;
26
+ /**
27
+ * Returns the OpenCode cache directory (for reading OpenCode's cache).
28
+ * All platforms: ~/.cache/opencode
29
+ */
30
+ export declare function getOpenCodeCacheDir(): string;
@@ -0,0 +1,13 @@
1
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
2
+ /**
3
+ * Deep merges two objects, with override values taking precedence.
4
+ * - Objects are recursively merged
5
+ * - Arrays are replaced (not concatenated)
6
+ * - undefined values in override do not overwrite base values
7
+ *
8
+ * @example
9
+ * deepMerge({ a: 1, b: { c: 2, d: 3 } }, { b: { c: 10 }, e: 5 })
10
+ * // => { a: 1, b: { c: 10, d: 3 }, e: 5 }
11
+ */
12
+ export declare function deepMerge<T extends Record<string, unknown>>(base: T, override: Partial<T>, depth?: number): T;
13
+ export declare function deepMerge<T extends Record<string, unknown>>(base: T | undefined, override: T | undefined, depth?: number): T | undefined;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ export interface TruncationResult {
3
+ result: string;
4
+ truncated: boolean;
5
+ removedCount?: number;
6
+ }
7
+ export interface TruncationOptions {
8
+ targetMaxTokens?: number;
9
+ preserveHeaderLines?: number;
10
+ contextWindowLimit?: number;
11
+ }
12
+ export declare function truncateToTokenLimit(output: string, maxTokens: number, preserveHeaderLines?: number): TruncationResult;
13
+ export declare function getContextWindowUsage(ctx: PluginInput, sessionID: string): Promise<{
14
+ usedTokens: number;
15
+ remainingTokens: number;
16
+ usagePercentage: number;
17
+ } | null>;
18
+ export declare function dynamicTruncate(ctx: PluginInput, sessionID: string, output: string, options?: TruncationOptions): Promise<TruncationResult>;
19
+ export declare function createDynamicTruncator(ctx: PluginInput): {
20
+ truncate: (sessionID: string, output: string, options?: TruncationOptions) => Promise<TruncationResult>;
21
+ getUsage: (sessionID: string) => Promise<{
22
+ usedTokens: number;
23
+ remainingTokens: number;
24
+ usagePercentage: number;
25
+ } | null>;
26
+ truncateSync: (output: string, maxTokens: number, preserveHeaderLines?: number) => TruncationResult;
27
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Detects external plugins that may conflict with oh-my-parallel-agent-opencode features.
3
+ * Used to prevent crashes from concurrent notification plugins.
4
+ */
5
+ export interface ExternalNotifierResult {
6
+ detected: boolean;
7
+ pluginName: string | null;
8
+ allPlugins: string[];
9
+ }
10
+ /**
11
+ * Detect if any external notification plugin is configured.
12
+ * Returns information about detected plugins for logging/warning.
13
+ */
14
+ export declare function detectExternalNotificationPlugin(directory: string): ExternalNotifierResult;
15
+ /**
16
+ * Generate a warning message for users with conflicting notification plugins.
17
+ */
18
+ export declare function getNotificationConflictWarning(pluginName: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare function resolveFileReferencesInText(text: string, cwd?: string, depth?: number, maxDepth?: number): Promise<string>;
@@ -0,0 +1,7 @@
1
+ export declare function isMarkdownFile(entry: {
2
+ name: string;
3
+ isFile: () => boolean;
4
+ }): boolean;
5
+ export declare function isSymbolicLink(filePath: string): boolean;
6
+ export declare function resolveSymlink(filePath: string): string;
7
+ export declare function resolveSymlinkAsync(filePath: string): Promise<string>;
@@ -0,0 +1,11 @@
1
+ type SessionInfo = {
2
+ id?: string;
3
+ parentID?: string;
4
+ };
5
+ export declare function createFirstMessageVariantGate(): {
6
+ markSessionCreated(info?: SessionInfo): void;
7
+ shouldOverride(sessionID?: string): boolean;
8
+ markApplied(sessionID?: string): void;
9
+ clear(sessionID?: string): void;
10
+ };
11
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface FrontmatterResult<T = Record<string, unknown>> {
2
+ data: T;
3
+ body: string;
4
+ hadFrontmatter: boolean;
5
+ parseError: boolean;
6
+ }
7
+ export declare function parseFrontmatter<T = Record<string, unknown>>(content: string): FrontmatterResult<T>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ClaudeHookEvent, PluginConfig } from "../hooks/claude-code-hooks/types";
2
+ export declare function isHookDisabled(config: PluginConfig, hookType: ClaudeHookEvent): boolean;
@@ -0,0 +1,36 @@
1
+ export * from "./frontmatter";
2
+ export * from "./command-executor";
3
+ export * from "./file-reference-resolver";
4
+ export * from "./model-sanitizer";
5
+ export * from "./logger";
6
+ export * from "./snake-case";
7
+ export * from "./tool-name";
8
+ export * from "./pattern-matcher";
9
+ export * from "./hook-disabled";
10
+ export * from "./deep-merge";
11
+ export * from "./file-utils";
12
+ export * from "./dynamic-truncator";
13
+ export * from "./data-path";
14
+ export * from "./config-errors";
15
+ export * from "./claude-config-dir";
16
+ export * from "./jsonc-parser";
17
+ export * from "./migration";
18
+ export * from "./opencode-config-dir";
19
+ export * from "./opencode-version";
20
+ export * from "./permission-compat";
21
+ export * from "./external-plugin-detector";
22
+ export * from "./zip-extractor";
23
+ export * from "./binary-downloader";
24
+ export * from "./agent-variant";
25
+ export * from "./session-cursor";
26
+ export * from "./shell-env";
27
+ export * from "./system-directive";
28
+ export * from "./agent-tool-restrictions";
29
+ export * from "./model-requirements";
30
+ export * from "./model-resolver";
31
+ export { resolveModelPipeline, type ModelResolutionRequest, type ModelResolutionResult as ModelResolutionPipelineResult, type ModelResolutionProvenance, } from "./model-resolution-pipeline";
32
+ export * from "./model-availability";
33
+ export * from "./connected-providers-cache";
34
+ export * from "./session-utils";
35
+ export * from "./tmux";
36
+ export * from "./model-suggestion-retry";
@@ -0,0 +1,15 @@
1
+ export interface JsoncParseResult<T> {
2
+ data: T | null;
3
+ errors: Array<{
4
+ message: string;
5
+ offset: number;
6
+ length: number;
7
+ }>;
8
+ }
9
+ export declare function parseJsonc<T = unknown>(content: string): T;
10
+ export declare function parseJsoncSafe<T = unknown>(content: string): JsoncParseResult<T>;
11
+ export declare function readJsoncFile<T = unknown>(filePath: string): T | null;
12
+ export declare function detectConfigFile(basePath: string): {
13
+ format: "json" | "jsonc" | "none";
14
+ path: string;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function log(message: string, data?: unknown): void;
2
+ export declare function getLogFilePath(): string;
@@ -0,0 +1,32 @@
1
+ export declare const AGENT_NAME_MAP: Record<string, string>;
2
+ export declare const BUILTIN_AGENT_NAMES: Set<string>;
3
+ export declare const HOOK_NAME_MAP: Record<string, string | null>;
4
+ /**
5
+ * @deprecated LEGACY MIGRATION ONLY
6
+ *
7
+ * This map exists solely for migrating old configs that used hardcoded model strings.
8
+ * It maps legacy model strings to semantic category names, allowing users to migrate
9
+ * from explicit model configs to category-based configs.
10
+ *
11
+ * DO NOT add new entries here. New agents should use:
12
+ * - Category-based config (preferred): { category: "unspecified-high" }
13
+ * - Or inherit from OpenCode's config.model
14
+ *
15
+ * This map will be removed in a future major version once migration period ends.
16
+ */
17
+ export declare const MODEL_TO_CATEGORY_MAP: Record<string, string>;
18
+ export declare function migrateAgentNames(agents: Record<string, unknown>): {
19
+ migrated: Record<string, unknown>;
20
+ changed: boolean;
21
+ };
22
+ export declare function migrateHookNames(hooks: string[]): {
23
+ migrated: string[];
24
+ changed: boolean;
25
+ removed: string[];
26
+ };
27
+ export declare function migrateAgentConfigToCategory(config: Record<string, unknown>): {
28
+ migrated: Record<string, unknown>;
29
+ changed: boolean;
30
+ };
31
+ export declare function shouldDeleteAgentConfig(config: Record<string, unknown>, category: string): boolean;
32
+ export declare function migrateConfigFile(configPath: string, rawConfig: Record<string, unknown>): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ export declare function fuzzyMatchModel(target: string, available: Set<string>, providers?: string[]): string | null;
2
+ /**
3
+ * Check if a target model is available (fuzzy match by model name, no provider filtering)
4
+ *
5
+ * @param targetModel - Model name to check (e.g., "gpt-5.2-codex")
6
+ * @param availableModels - Set of available models in "provider/model" format
7
+ * @returns true if model is available, false otherwise
8
+ */
9
+ export declare function isModelAvailable(targetModel: string, availableModels: Set<string>): boolean;
10
+ export declare function getConnectedProviders(client: any): Promise<string[]>;
11
+ export declare function fetchAvailableModels(client?: any, options?: {
12
+ connectedProviders?: string[] | null;
13
+ }): Promise<Set<string>>;
14
+ export declare function isAnyFallbackModelAvailable(fallbackChain: Array<{
15
+ providers: string[];
16
+ model: string;
17
+ }>, availableModels: Set<string>): boolean;
18
+ export declare function __resetModelCache(): void;
19
+ export declare function isModelCacheAvailable(): boolean;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ export type FallbackEntry = {
2
+ providers: string[];
3
+ model: string;
4
+ variant?: string;
5
+ };
6
+ export type ModelRequirement = {
7
+ fallbackChain: FallbackEntry[];
8
+ variant?: string;
9
+ requiresModel?: string;
10
+ requiresAnyModel?: boolean;
11
+ };
12
+ export declare const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement>;
13
+ export declare const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { FallbackEntry } from "./model-requirements";
2
+ export type ModelResolutionRequest = {
3
+ intent?: {
4
+ uiSelectedModel?: string;
5
+ userModel?: string;
6
+ categoryDefaultModel?: string;
7
+ };
8
+ constraints: {
9
+ availableModels: Set<string>;
10
+ };
11
+ policy?: {
12
+ fallbackChain?: FallbackEntry[];
13
+ systemDefaultModel?: string;
14
+ };
15
+ };
16
+ export type ModelResolutionProvenance = "override" | "category-default" | "provider-fallback" | "system-default";
17
+ export type ModelResolutionResult = {
18
+ model: string;
19
+ provenance: ModelResolutionProvenance;
20
+ variant?: string;
21
+ attempted?: string[];
22
+ reason?: string;
23
+ };
24
+ export declare function resolveModelPipeline(request: ModelResolutionRequest): ModelResolutionResult | undefined;
@@ -0,0 +1,22 @@
1
+ import type { FallbackEntry } from "./model-requirements";
2
+ export type ModelResolutionInput = {
3
+ userModel?: string;
4
+ inheritedModel?: string;
5
+ systemDefault?: string;
6
+ };
7
+ export type ModelSource = "override" | "category-default" | "provider-fallback" | "system-default";
8
+ export type ModelResolutionResult = {
9
+ model: string;
10
+ source: ModelSource;
11
+ variant?: string;
12
+ };
13
+ export type ExtendedModelResolutionInput = {
14
+ uiSelectedModel?: string;
15
+ userModel?: string;
16
+ categoryDefaultModel?: string;
17
+ fallbackChain?: FallbackEntry[];
18
+ availableModels: Set<string>;
19
+ systemDefaultModel?: string;
20
+ };
21
+ export declare function resolveModel(input: ModelResolutionInput): string | undefined;
22
+ export declare function resolveModelWithFallback(input: ExtendedModelResolutionInput): ModelResolutionResult | undefined;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ type CommandSource = "claude-code" | "opencode";
2
+ export declare function sanitizeModelField(model: unknown, source?: CommandSource): string | undefined;
3
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { createOpencodeClient } from "@opencode-ai/sdk";
2
+ type Client = ReturnType<typeof createOpencodeClient>;
3
+ export interface ModelSuggestionInfo {
4
+ providerID: string;
5
+ modelID: string;
6
+ suggestion: string;
7
+ }
8
+ export declare function parseModelSuggestion(error: unknown): ModelSuggestionInfo | null;
9
+ interface PromptBody {
10
+ model?: {
11
+ providerID: string;
12
+ modelID: string;
13
+ };
14
+ [key: string]: unknown;
15
+ }
16
+ interface PromptArgs {
17
+ path: {
18
+ id: string;
19
+ };
20
+ body: PromptBody;
21
+ [key: string]: unknown;
22
+ }
23
+ export declare function promptWithModelSuggestionRetry(client: Client, args: PromptArgs): Promise<void>;
24
+ export {};
@@ -0,0 +1 @@
1
+ export {};