oh-my-parallel-agent-opencode 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. package/LICENSE.md +82 -0
  2. package/README.ja.md +392 -0
  3. package/README.ko.md +397 -0
  4. package/README.md +375 -56
  5. package/README.zh-cn.md +402 -0
  6. package/bin/oh-my-parallel-agent-opencode.js +80 -0
  7. package/bin/platform.js +38 -0
  8. package/bin/platform.test.ts +148 -0
  9. package/dist/agents/atlas.d.ts +22 -0
  10. package/dist/agents/dynamic-agent-prompt-builder.d.ts +30 -0
  11. package/dist/agents/explore.d.ts +7 -0
  12. package/dist/agents/hephaestus.d.ts +6 -0
  13. package/dist/agents/index.d.ts +12 -0
  14. package/dist/agents/librarian.d.ts +7 -0
  15. package/dist/agents/metis.d.ts +21 -0
  16. package/dist/agents/momus.d.ts +21 -0
  17. package/dist/agents/momus.test.d.ts +1 -0
  18. package/dist/agents/multimodal-looker.d.ts +7 -0
  19. package/dist/agents/oracle.d.ts +7 -0
  20. package/dist/agents/prometheus/behavioral-summary.d.ts +6 -0
  21. package/dist/agents/prometheus/high-accuracy-mode.d.ts +6 -0
  22. package/dist/agents/prometheus/identity-constraints.d.ts +7 -0
  23. package/dist/agents/prometheus/index.d.ts +39 -0
  24. package/dist/agents/prometheus/interview-mode.d.ts +7 -0
  25. package/dist/agents/prometheus/plan-generation.d.ts +7 -0
  26. package/dist/agents/prometheus/plan-template.d.ts +7 -0
  27. package/dist/agents/prometheus-prompt.test.d.ts +1 -0
  28. package/dist/agents/sisyphus-junior.d.ts +10 -0
  29. package/dist/agents/sisyphus-junior.test.d.ts +1 -0
  30. package/dist/agents/sisyphus.d.ts +8 -0
  31. package/dist/agents/types.d.ts +63 -0
  32. package/dist/agents/utils.d.ts +16 -0
  33. package/dist/agents/utils.test.d.ts +1 -0
  34. package/dist/cli/config-manager.d.ts +162 -0
  35. package/dist/cli/config-manager.test.d.ts +1 -0
  36. package/dist/cli/doctor/checks/auth.d.ts +7 -0
  37. package/dist/cli/doctor/checks/auth.test.d.ts +1 -0
  38. package/dist/cli/doctor/checks/config.d.ts +8 -0
  39. package/dist/cli/doctor/checks/config.test.d.ts +1 -0
  40. package/dist/cli/doctor/checks/dependencies.d.ts +8 -0
  41. package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
  42. package/dist/cli/doctor/checks/gh.d.ts +13 -0
  43. package/dist/cli/doctor/checks/gh.test.d.ts +1 -0
  44. package/dist/cli/doctor/checks/index.d.ts +13 -0
  45. package/dist/cli/doctor/checks/lsp.d.ts +8 -0
  46. package/dist/cli/doctor/checks/lsp.test.d.ts +1 -0
  47. package/dist/cli/doctor/checks/mcp-oauth.d.ts +15 -0
  48. package/dist/cli/doctor/checks/mcp-oauth.test.d.ts +1 -0
  49. package/dist/cli/doctor/checks/mcp.d.ts +6 -0
  50. package/dist/cli/doctor/checks/mcp.test.d.ts +1 -0
  51. package/dist/cli/doctor/checks/model-resolution.d.ts +33 -0
  52. package/dist/cli/doctor/checks/model-resolution.test.d.ts +1 -0
  53. package/dist/cli/doctor/checks/opencode.d.ts +19 -0
  54. package/dist/cli/doctor/checks/opencode.test.d.ts +1 -0
  55. package/dist/cli/doctor/checks/plugin.d.ts +4 -0
  56. package/dist/cli/doctor/checks/plugin.test.d.ts +1 -0
  57. package/dist/cli/doctor/checks/version.d.ts +4 -0
  58. package/dist/cli/doctor/checks/version.test.d.ts +1 -0
  59. package/dist/cli/doctor/constants.d.ts +42 -0
  60. package/dist/cli/doctor/formatter.d.ts +12 -0
  61. package/dist/cli/doctor/formatter.test.d.ts +1 -0
  62. package/dist/cli/doctor/index.d.ts +5 -0
  63. package/dist/cli/doctor/runner.d.ts +7 -0
  64. package/dist/cli/doctor/runner.test.d.ts +1 -0
  65. package/dist/cli/doctor/types.d.ts +91 -0
  66. package/dist/cli/get-local-version/formatter.d.ts +3 -0
  67. package/dist/cli/get-local-version/index.d.ts +3 -0
  68. package/dist/cli/get-local-version/types.d.ts +13 -0
  69. package/dist/cli/index.d.ts +2 -0
  70. package/dist/cli/index.js +26903 -0
  71. package/dist/cli/index.test.d.ts +1 -0
  72. package/dist/cli/install.d.ts +2 -0
  73. package/dist/cli/install.test.d.ts +1 -0
  74. package/dist/cli/mcp-oauth/index.d.ts +6 -0
  75. package/dist/cli/mcp-oauth/index.test.d.ts +1 -0
  76. package/dist/cli/mcp-oauth/login.d.ts +6 -0
  77. package/dist/cli/mcp-oauth/login.test.d.ts +1 -0
  78. package/dist/cli/mcp-oauth/logout.d.ts +4 -0
  79. package/dist/cli/mcp-oauth/logout.test.d.ts +1 -0
  80. package/dist/cli/mcp-oauth/status.d.ts +1 -0
  81. package/dist/cli/mcp-oauth/status.test.d.ts +1 -0
  82. package/dist/cli/model-fallback.d.ts +18 -0
  83. package/dist/cli/model-fallback.test.d.ts +1 -0
  84. package/dist/cli/run/completion.d.ts +2 -0
  85. package/dist/cli/run/completion.test.d.ts +1 -0
  86. package/dist/cli/run/events.d.ts +14 -0
  87. package/dist/cli/run/events.test.d.ts +1 -0
  88. package/dist/cli/run/index.d.ts +2 -0
  89. package/dist/cli/run/runner.d.ts +2 -0
  90. package/dist/cli/run/types.d.ts +73 -0
  91. package/dist/cli/types.d.ts +39 -0
  92. package/dist/config/index.d.ts +2 -0
  93. package/dist/config/schema.d.ts +2651 -0
  94. package/dist/config/schema.test.d.ts +1 -0
  95. package/dist/features/background-agent/concurrency.d.ts +27 -0
  96. package/dist/features/background-agent/concurrency.test.d.ts +1 -0
  97. package/dist/features/background-agent/constants.d.ts +44 -0
  98. package/dist/features/background-agent/index.d.ts +4 -0
  99. package/dist/features/background-agent/manager.d.ts +118 -0
  100. package/dist/features/background-agent/manager.test.d.ts +1 -0
  101. package/dist/features/background-agent/result-handler.d.ts +15 -0
  102. package/dist/features/background-agent/spawner.d.ts +14 -0
  103. package/dist/features/background-agent/state.d.ts +35 -0
  104. package/dist/features/background-agent/types.d.ts +79 -0
  105. package/dist/features/boulder-state/constants.d.ts +10 -0
  106. package/dist/features/boulder-state/index.d.ts +3 -0
  107. package/dist/features/boulder-state/storage.d.ts +28 -0
  108. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  109. package/dist/features/boulder-state/types.d.ts +24 -0
  110. package/dist/features/builtin-commands/commands.d.ts +2 -0
  111. package/dist/features/builtin-commands/index.d.ts +2 -0
  112. package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
  113. package/dist/features/builtin-commands/templates/ralph-loop.d.ts +2 -0
  114. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -0
  115. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
  116. package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -0
  117. package/dist/features/builtin-commands/templates/stop-continuation.test.d.ts +1 -0
  118. package/dist/features/builtin-commands/types.d.ts +6 -0
  119. package/dist/features/builtin-skills/index.d.ts +2 -0
  120. package/dist/features/builtin-skills/skills/dev-browser.d.ts +2 -0
  121. package/dist/features/builtin-skills/skills/frontend-ui-ux.d.ts +2 -0
  122. package/dist/features/builtin-skills/skills/git-master.d.ts +2 -0
  123. package/dist/features/builtin-skills/skills/index.d.ts +4 -0
  124. package/dist/features/builtin-skills/skills/playwright.d.ts +3 -0
  125. package/dist/features/builtin-skills/skills.d.ts +6 -0
  126. package/dist/features/builtin-skills/skills.test.d.ts +1 -0
  127. package/dist/features/builtin-skills/types.d.ts +15 -0
  128. package/dist/features/claude-code-agent-loader/index.d.ts +2 -0
  129. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -0
  130. package/dist/features/claude-code-agent-loader/types.d.ts +14 -0
  131. package/dist/features/claude-code-command-loader/index.d.ts +2 -0
  132. package/dist/features/claude-code-command-loader/loader.d.ts +6 -0
  133. package/dist/features/claude-code-command-loader/types.d.ts +42 -0
  134. package/dist/features/claude-code-mcp-loader/env-expander.d.ts +2 -0
  135. package/dist/features/claude-code-mcp-loader/index.d.ts +10 -0
  136. package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
  137. package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
  138. package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
  139. package/dist/features/claude-code-mcp-loader/types.d.ts +39 -0
  140. package/dist/features/claude-code-plugin-loader/index.d.ts +3 -0
  141. package/dist/features/claude-code-plugin-loader/loader.d.ts +20 -0
  142. package/dist/features/claude-code-plugin-loader/types.d.ts +186 -0
  143. package/dist/features/claude-code-session-state/index.d.ts +1 -0
  144. package/dist/features/claude-code-session-state/state.d.ts +9 -0
  145. package/dist/features/claude-code-session-state/state.test.d.ts +1 -0
  146. package/dist/features/context-injector/collector.d.ts +11 -0
  147. package/dist/features/context-injector/collector.test.d.ts +1 -0
  148. package/dist/features/context-injector/index.d.ts +3 -0
  149. package/dist/features/context-injector/injector.d.ts +39 -0
  150. package/dist/features/context-injector/injector.test.d.ts +1 -0
  151. package/dist/features/context-injector/types.d.ts +83 -0
  152. package/dist/features/hook-message-injector/constants.d.ts +3 -0
  153. package/dist/features/hook-message-injector/index.d.ts +4 -0
  154. package/dist/features/hook-message-injector/injector.d.ts +19 -0
  155. package/dist/features/hook-message-injector/types.d.ts +46 -0
  156. package/dist/features/mcp-oauth/callback-server.d.ts +11 -0
  157. package/dist/features/mcp-oauth/callback-server.test.d.ts +1 -0
  158. package/dist/features/mcp-oauth/dcr.d.ts +34 -0
  159. package/dist/features/mcp-oauth/dcr.test.d.ts +1 -0
  160. package/dist/features/mcp-oauth/discovery.d.ts +8 -0
  161. package/dist/features/mcp-oauth/discovery.test.d.ts +1 -0
  162. package/dist/features/mcp-oauth/index.d.ts +1 -0
  163. package/dist/features/mcp-oauth/provider.d.ts +41 -0
  164. package/dist/features/mcp-oauth/provider.test.d.ts +1 -0
  165. package/dist/features/mcp-oauth/resource-indicator.d.ts +2 -0
  166. package/dist/features/mcp-oauth/resource-indicator.test.d.ts +1 -0
  167. package/dist/features/mcp-oauth/schema.d.ts +6 -0
  168. package/dist/features/mcp-oauth/schema.test.d.ts +1 -0
  169. package/dist/features/mcp-oauth/step-up.d.ts +8 -0
  170. package/dist/features/mcp-oauth/step-up.test.d.ts +1 -0
  171. package/dist/features/mcp-oauth/storage.d.ts +17 -0
  172. package/dist/features/mcp-oauth/storage.test.d.ts +1 -0
  173. package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
  174. package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
  175. package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
  176. package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
  177. package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
  178. package/dist/features/opencode-skill-loader/index.d.ts +4 -0
  179. package/dist/features/opencode-skill-loader/loader.d.ts +16 -0
  180. package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
  181. package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
  182. package/dist/features/opencode-skill-loader/skill-content.d.ts +21 -0
  183. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  184. package/dist/features/opencode-skill-loader/types.d.ts +34 -0
  185. package/dist/features/sisyphus-swarm/mailbox/types.d.ts +191 -0
  186. package/dist/features/sisyphus-swarm/mailbox/types.test.d.ts +1 -0
  187. package/dist/features/sisyphus-tasks/storage.d.ts +9 -0
  188. package/dist/features/sisyphus-tasks/storage.test.d.ts +1 -0
  189. package/dist/features/sisyphus-tasks/types.d.ts +47 -0
  190. package/dist/features/sisyphus-tasks/types.test.d.ts +1 -0
  191. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
  192. package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
  193. package/dist/features/skill-mcp-manager/index.d.ts +2 -0
  194. package/dist/features/skill-mcp-manager/manager.d.ts +50 -0
  195. package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
  196. package/dist/features/skill-mcp-manager/types.d.ts +11 -0
  197. package/dist/features/task-toast-manager/index.d.ts +2 -0
  198. package/dist/features/task-toast-manager/manager.d.ts +58 -0
  199. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  200. package/dist/features/task-toast-manager/types.d.ts +24 -0
  201. package/dist/features/tmux-subagent/action-executor.d.ts +22 -0
  202. package/dist/features/tmux-subagent/decision-engine.d.ts +38 -0
  203. package/dist/features/tmux-subagent/decision-engine.test.d.ts +1 -0
  204. package/dist/features/tmux-subagent/index.d.ts +5 -0
  205. package/dist/features/tmux-subagent/manager.d.ts +59 -0
  206. package/dist/features/tmux-subagent/manager.test.d.ts +1 -0
  207. package/dist/features/tmux-subagent/pane-state-querier.d.ts +2 -0
  208. package/dist/features/tmux-subagent/types.d.ts +53 -0
  209. package/dist/hooks/agent-usage-reminder/constants.d.ts +5 -0
  210. package/dist/hooks/agent-usage-reminder/index.d.ts +22 -0
  211. package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
  212. package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
  213. package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +4 -0
  214. package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
  215. package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +16 -0
  216. package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
  217. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +7 -0
  218. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
  219. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
  220. package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +28 -0
  221. package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
  222. package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +37 -0
  223. package/dist/hooks/atlas/index.d.ts +35 -0
  224. package/dist/hooks/atlas/index.test.d.ts +1 -0
  225. package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
  226. package/dist/hooks/auto-slash-command/detector.d.ts +9 -0
  227. package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
  228. package/dist/hooks/auto-slash-command/executor.d.ts +11 -0
  229. package/dist/hooks/auto-slash-command/index.d.ts +12 -0
  230. package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
  231. package/dist/hooks/auto-slash-command/types.d.ts +27 -0
  232. package/dist/hooks/auto-update-checker/cache.d.ts +3 -0
  233. package/dist/hooks/auto-update-checker/checker.d.ts +20 -0
  234. package/dist/hooks/auto-update-checker/checker.test.d.ts +1 -0
  235. package/dist/hooks/auto-update-checker/constants.d.ts +10 -0
  236. package/dist/hooks/auto-update-checker/index.d.ts +17 -0
  237. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  238. package/dist/hooks/auto-update-checker/types.d.ts +25 -0
  239. package/dist/hooks/background-notification/index.d.ts +18 -0
  240. package/dist/hooks/background-notification/types.d.ts +4 -0
  241. package/dist/hooks/category-skill-reminder/index.d.ts +22 -0
  242. package/dist/hooks/category-skill-reminder/index.test.d.ts +1 -0
  243. package/dist/hooks/claude-code-hooks/config-loader.d.ts +13 -0
  244. package/dist/hooks/claude-code-hooks/config.d.ts +3 -0
  245. package/dist/hooks/claude-code-hooks/index.d.ts +48 -0
  246. package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
  247. package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
  248. package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
  249. package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
  250. package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
  251. package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
  252. package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +5 -0
  253. package/dist/hooks/claude-code-hooks/transcript.d.ts +34 -0
  254. package/dist/hooks/claude-code-hooks/types.d.ts +183 -0
  255. package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
  256. package/dist/hooks/comment-checker/cli.d.ts +52 -0
  257. package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
  258. package/dist/hooks/comment-checker/downloader.d.ts +25 -0
  259. package/dist/hooks/comment-checker/index.d.ts +19 -0
  260. package/dist/hooks/comment-checker/types.d.ts +31 -0
  261. package/dist/hooks/compaction-context-injector/index.d.ts +8 -0
  262. package/dist/hooks/compaction-context-injector/index.test.d.ts +1 -0
  263. package/dist/hooks/context-window-monitor.d.ts +18 -0
  264. package/dist/hooks/delegate-task-retry/index.d.ts +24 -0
  265. package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -0
  266. package/dist/hooks/directory-agents-injector/constants.d.ts +3 -0
  267. package/dist/hooks/directory-agents-injector/index.d.ts +26 -0
  268. package/dist/hooks/directory-agents-injector/storage.d.ts +1 -0
  269. package/dist/hooks/directory-readme-injector/constants.d.ts +3 -0
  270. package/dist/hooks/directory-readme-injector/index.d.ts +26 -0
  271. package/dist/hooks/directory-readme-injector/storage.d.ts +1 -0
  272. package/dist/hooks/edit-error-recovery/index.d.ts +31 -0
  273. package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
  274. package/dist/hooks/empty-task-response-detector.d.ts +12 -0
  275. package/dist/hooks/index.d.ts +35 -0
  276. package/dist/hooks/interactive-bash-session/constants.d.ts +4 -0
  277. package/dist/hooks/interactive-bash-session/index.d.ts +23 -0
  278. package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
  279. package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
  280. package/dist/hooks/keyword-detector/analyze/default.d.ts +12 -0
  281. package/dist/hooks/keyword-detector/analyze/index.d.ts +1 -0
  282. package/dist/hooks/keyword-detector/constants.d.ts +10 -0
  283. package/dist/hooks/keyword-detector/detector.d.ts +11 -0
  284. package/dist/hooks/keyword-detector/index.d.ts +23 -0
  285. package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
  286. package/dist/hooks/keyword-detector/search/default.d.ts +12 -0
  287. package/dist/hooks/keyword-detector/search/index.d.ts +1 -0
  288. package/dist/hooks/keyword-detector/types.d.ts +4 -0
  289. package/dist/hooks/keyword-detector/ultrawork/default.d.ts +10 -0
  290. package/dist/hooks/keyword-detector/ultrawork/gpt5.2.d.ts +16 -0
  291. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +17 -0
  292. package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +6 -0
  293. package/dist/hooks/keyword-detector/ultrawork/utils.d.ts +24 -0
  294. package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
  295. package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
  296. package/dist/hooks/non-interactive-env/index.d.ts +14 -0
  297. package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
  298. package/dist/hooks/non-interactive-env/types.d.ts +3 -0
  299. package/dist/hooks/prometheus-md-only/constants.d.ts +7 -0
  300. package/dist/hooks/prometheus-md-only/index.d.ts +12 -0
  301. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  302. package/dist/hooks/question-label-truncator/index.d.ts +7 -0
  303. package/dist/hooks/question-label-truncator/index.test.d.ts +1 -0
  304. package/dist/hooks/ralph-loop/constants.d.ts +5 -0
  305. package/dist/hooks/ralph-loop/index.d.ts +21 -0
  306. package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
  307. package/dist/hooks/ralph-loop/storage.d.ts +6 -0
  308. package/dist/hooks/ralph-loop/types.d.ts +17 -0
  309. package/dist/hooks/rules-injector/constants.d.ts +8 -0
  310. package/dist/hooks/rules-injector/finder.d.ts +33 -0
  311. package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
  312. package/dist/hooks/rules-injector/index.d.ts +26 -0
  313. package/dist/hooks/rules-injector/matcher.d.ts +21 -0
  314. package/dist/hooks/rules-injector/output-path.d.ts +5 -0
  315. package/dist/hooks/rules-injector/output-path.test.d.ts +1 -0
  316. package/dist/hooks/rules-injector/parser.d.ts +18 -0
  317. package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
  318. package/dist/hooks/rules-injector/storage.d.ts +9 -0
  319. package/dist/hooks/rules-injector/types.d.ts +54 -0
  320. package/dist/hooks/session-notification-utils.d.ts +9 -0
  321. package/dist/hooks/session-notification.d.ts +20 -0
  322. package/dist/hooks/session-notification.test.d.ts +1 -0
  323. package/dist/hooks/session-recovery/constants.d.ts +6 -0
  324. package/dist/hooks/session-recovery/index.d.ts +22 -0
  325. package/dist/hooks/session-recovery/index.test.d.ts +1 -0
  326. package/dist/hooks/session-recovery/storage.d.ts +19 -0
  327. package/dist/hooks/session-recovery/types.d.ts +90 -0
  328. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +2 -0
  329. package/dist/hooks/sisyphus-junior-notepad/index.d.ts +12 -0
  330. package/dist/hooks/start-work/index.d.ts +16 -0
  331. package/dist/hooks/start-work/index.test.d.ts +1 -0
  332. package/dist/hooks/stop-continuation-guard/index.d.ts +16 -0
  333. package/dist/hooks/stop-continuation-guard/index.test.d.ts +1 -0
  334. package/dist/hooks/subagent-question-blocker/index.d.ts +2 -0
  335. package/dist/hooks/subagent-question-blocker/index.test.d.ts +1 -0
  336. package/dist/hooks/task-resume-info/index.d.ts +11 -0
  337. package/dist/hooks/think-mode/detector.d.ts +5 -0
  338. package/dist/hooks/think-mode/index.d.ts +14 -0
  339. package/dist/hooks/think-mode/index.test.d.ts +1 -0
  340. package/dist/hooks/think-mode/switcher.d.ts +69 -0
  341. package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
  342. package/dist/hooks/think-mode/types.d.ts +21 -0
  343. package/dist/hooks/thinking-block-validator/index.d.ts +30 -0
  344. package/dist/hooks/todo-continuation-enforcer.d.ts +19 -0
  345. package/dist/hooks/todo-continuation-enforcer.test.d.ts +1 -0
  346. package/dist/hooks/tool-output-truncator.d.ts +17 -0
  347. package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
  348. package/dist/hooks/unstable-agent-babysitter/index.d.ts +50 -0
  349. package/dist/hooks/unstable-agent-babysitter/index.test.d.ts +1 -0
  350. package/dist/index.d.ts +5 -0
  351. package/dist/index.js +76117 -0
  352. package/dist/index.test.d.ts +1 -0
  353. package/dist/mcp/context7.d.ts +9 -0
  354. package/dist/mcp/grep-app.d.ts +6 -0
  355. package/dist/mcp/index.d.ts +9 -0
  356. package/dist/mcp/index.test.d.ts +1 -0
  357. package/dist/mcp/types.d.ts +9 -0
  358. package/dist/mcp/websearch.d.ts +9 -0
  359. package/dist/oh-my-parallel-agent-opencode.schema.json +2182 -0
  360. package/dist/plugin-config.d.ts +4 -0
  361. package/dist/plugin-config.test.d.ts +1 -0
  362. package/dist/plugin-handlers/config-handler.d.ts +13 -0
  363. package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
  364. package/dist/plugin-handlers/index.d.ts +1 -0
  365. package/dist/plugin-state.d.ts +6 -0
  366. package/dist/shared/agent-config-integration.test.d.ts +1 -0
  367. package/dist/shared/agent-display-names.d.ts +12 -0
  368. package/dist/shared/agent-display-names.test.d.ts +1 -0
  369. package/dist/shared/agent-tool-restrictions.d.ts +7 -0
  370. package/dist/shared/agent-variant.d.ts +9 -0
  371. package/dist/shared/agent-variant.test.d.ts +1 -0
  372. package/dist/shared/binary-downloader.d.ts +10 -0
  373. package/dist/shared/claude-config-dir.d.ts +1 -0
  374. package/dist/shared/claude-config-dir.test.d.ts +1 -0
  375. package/dist/shared/command-executor.d.ts +21 -0
  376. package/dist/shared/config-errors.d.ts +7 -0
  377. package/dist/shared/connected-providers-cache.d.ts +52 -0
  378. package/dist/shared/data-path.d.ts +30 -0
  379. package/dist/shared/deep-merge.d.ts +13 -0
  380. package/dist/shared/deep-merge.test.d.ts +1 -0
  381. package/dist/shared/dynamic-truncator.d.ts +27 -0
  382. package/dist/shared/external-plugin-detector.d.ts +18 -0
  383. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  384. package/dist/shared/file-reference-resolver.d.ts +1 -0
  385. package/dist/shared/file-utils.d.ts +7 -0
  386. package/dist/shared/first-message-variant.d.ts +11 -0
  387. package/dist/shared/first-message-variant.test.d.ts +1 -0
  388. package/dist/shared/frontmatter.d.ts +7 -0
  389. package/dist/shared/frontmatter.test.d.ts +1 -0
  390. package/dist/shared/hook-disabled.d.ts +2 -0
  391. package/dist/shared/index.d.ts +36 -0
  392. package/dist/shared/jsonc-parser.d.ts +15 -0
  393. package/dist/shared/jsonc-parser.test.d.ts +1 -0
  394. package/dist/shared/logger.d.ts +2 -0
  395. package/dist/shared/migration.d.ts +32 -0
  396. package/dist/shared/migration.test.d.ts +1 -0
  397. package/dist/shared/model-availability.d.ts +19 -0
  398. package/dist/shared/model-availability.test.d.ts +1 -0
  399. package/dist/shared/model-requirements.d.ts +13 -0
  400. package/dist/shared/model-requirements.test.d.ts +1 -0
  401. package/dist/shared/model-resolution-pipeline.d.ts +24 -0
  402. package/dist/shared/model-resolver.d.ts +22 -0
  403. package/dist/shared/model-resolver.test.d.ts +1 -0
  404. package/dist/shared/model-sanitizer.d.ts +3 -0
  405. package/dist/shared/model-suggestion-retry.d.ts +24 -0
  406. package/dist/shared/model-suggestion-retry.test.d.ts +1 -0
  407. package/dist/shared/ollama-ndjson-parser.d.ts +108 -0
  408. package/dist/shared/opencode-config-dir.d.ts +19 -0
  409. package/dist/shared/opencode-config-dir.test.d.ts +1 -0
  410. package/dist/shared/opencode-version.d.ts +19 -0
  411. package/dist/shared/opencode-version.test.d.ts +1 -0
  412. package/dist/shared/pattern-matcher.d.ts +3 -0
  413. package/dist/shared/permission-compat.d.ts +27 -0
  414. package/dist/shared/permission-compat.test.d.ts +1 -0
  415. package/dist/shared/session-cursor.d.ts +13 -0
  416. package/dist/shared/session-cursor.test.d.ts +1 -0
  417. package/dist/shared/session-injected-paths.d.ts +10 -0
  418. package/dist/shared/session-utils.d.ts +2 -0
  419. package/dist/shared/shell-env.d.ts +41 -0
  420. package/dist/shared/shell-env.test.d.ts +1 -0
  421. package/dist/shared/snake-case.d.ts +5 -0
  422. package/dist/shared/system-directive.d.ts +45 -0
  423. package/dist/shared/system-directive.test.d.ts +1 -0
  424. package/dist/shared/tmux/constants.d.ts +5 -0
  425. package/dist/shared/tmux/index.d.ts +3 -0
  426. package/dist/shared/tmux/tmux-utils.d.ts +17 -0
  427. package/dist/shared/tmux/tmux-utils.test.d.ts +1 -0
  428. package/dist/shared/tmux/types.d.ts +4 -0
  429. package/dist/shared/tool-name.d.ts +1 -0
  430. package/dist/shared/zip-extractor.d.ts +1 -0
  431. package/dist/tools/ast-grep/cli.d.ts +15 -0
  432. package/dist/tools/ast-grep/constants.d.ts +29 -0
  433. package/dist/tools/ast-grep/downloader.d.ts +5 -0
  434. package/dist/tools/ast-grep/index.d.ts +8 -0
  435. package/dist/tools/ast-grep/tools.d.ts +3 -0
  436. package/dist/tools/ast-grep/types.d.ts +58 -0
  437. package/dist/tools/ast-grep/utils.d.ts +5 -0
  438. package/dist/tools/background-task/constants.d.ts +3 -0
  439. package/dist/tools/background-task/index.d.ts +4 -0
  440. package/dist/tools/background-task/tools.d.ts +47 -0
  441. package/dist/tools/background-task/tools.test.d.ts +1 -0
  442. package/dist/tools/background-task/types.d.ts +20 -0
  443. package/dist/tools/call-omo-agent/constants.d.ts +2 -0
  444. package/dist/tools/call-omo-agent/index.d.ts +3 -0
  445. package/dist/tools/call-omo-agent/tools.d.ts +3 -0
  446. package/dist/tools/call-omo-agent/types.d.ts +24 -0
  447. package/dist/tools/delegate-task/categories.d.ts +17 -0
  448. package/dist/tools/delegate-task/constants.d.ts +30 -0
  449. package/dist/tools/delegate-task/executor.d.ts +75 -0
  450. package/dist/tools/delegate-task/helpers.d.ts +30 -0
  451. package/dist/tools/delegate-task/index.d.ts +4 -0
  452. package/dist/tools/delegate-task/prompt-builder.d.ts +6 -0
  453. package/dist/tools/delegate-task/timing.d.ts +11 -0
  454. package/dist/tools/delegate-task/tools.d.ts +6 -0
  455. package/dist/tools/delegate-task/tools.test.d.ts +1 -0
  456. package/dist/tools/delegate-task/types.d.ts +44 -0
  457. package/dist/tools/glob/cli.d.ts +11 -0
  458. package/dist/tools/glob/cli.test.d.ts +1 -0
  459. package/dist/tools/glob/constants.d.ts +6 -0
  460. package/dist/tools/glob/index.d.ts +2 -0
  461. package/dist/tools/glob/tools.d.ts +2 -0
  462. package/dist/tools/glob/types.d.ts +20 -0
  463. package/dist/tools/glob/utils.d.ts +2 -0
  464. package/dist/tools/grep/cli.d.ts +3 -0
  465. package/dist/tools/grep/constants.d.ts +17 -0
  466. package/dist/tools/grep/downloader.d.ts +3 -0
  467. package/dist/tools/grep/downloader.test.d.ts +1 -0
  468. package/dist/tools/grep/index.d.ts +2 -0
  469. package/dist/tools/grep/tools.d.ts +2 -0
  470. package/dist/tools/grep/types.d.ts +36 -0
  471. package/dist/tools/grep/utils.d.ts +3 -0
  472. package/dist/tools/index.d.ts +15 -0
  473. package/dist/tools/interactive-bash/constants.d.ts +3 -0
  474. package/dist/tools/interactive-bash/index.d.ts +3 -0
  475. package/dist/tools/interactive-bash/tools.d.ts +7 -0
  476. package/dist/tools/interactive-bash/utils.d.ts +3 -0
  477. package/dist/tools/look-at/constants.d.ts +2 -0
  478. package/dist/tools/look-at/index.d.ts +3 -0
  479. package/dist/tools/look-at/tools.d.ts +9 -0
  480. package/dist/tools/look-at/tools.test.d.ts +1 -0
  481. package/dist/tools/look-at/types.d.ts +4 -0
  482. package/dist/tools/lsp/client.d.ts +50 -0
  483. package/dist/tools/lsp/config.d.ts +17 -0
  484. package/dist/tools/lsp/config.test.d.ts +1 -0
  485. package/dist/tools/lsp/constants.d.ts +9 -0
  486. package/dist/tools/lsp/index.d.ts +6 -0
  487. package/dist/tools/lsp/tools.d.ts +7 -0
  488. package/dist/tools/lsp/types.d.ts +123 -0
  489. package/dist/tools/lsp/utils.d.ts +26 -0
  490. package/dist/tools/session-manager/constants.d.ts +12 -0
  491. package/dist/tools/session-manager/index.d.ts +3 -0
  492. package/dist/tools/session-manager/storage.d.ts +12 -0
  493. package/dist/tools/session-manager/storage.test.d.ts +1 -0
  494. package/dist/tools/session-manager/tools.d.ts +5 -0
  495. package/dist/tools/session-manager/tools.test.d.ts +1 -0
  496. package/dist/tools/session-manager/types.d.ts +89 -0
  497. package/dist/tools/session-manager/utils.d.ts +11 -0
  498. package/dist/tools/session-manager/utils.test.d.ts +1 -0
  499. package/dist/tools/skill/constants.d.ts +3 -0
  500. package/dist/tools/skill/index.d.ts +3 -0
  501. package/dist/tools/skill/tools.d.ts +4 -0
  502. package/dist/tools/skill/tools.test.d.ts +1 -0
  503. package/dist/tools/skill/types.d.ts +28 -0
  504. package/dist/tools/skill-mcp/constants.d.ts +2 -0
  505. package/dist/tools/skill-mcp/index.d.ts +3 -0
  506. package/dist/tools/skill-mcp/tools.d.ts +11 -0
  507. package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
  508. package/dist/tools/skill-mcp/types.d.ts +8 -0
  509. package/dist/tools/slashcommand/index.d.ts +2 -0
  510. package/dist/tools/slashcommand/tools.d.ts +5 -0
  511. package/dist/tools/slashcommand/tools.test.d.ts +1 -0
  512. package/dist/tools/slashcommand/types.d.ts +24 -0
  513. package/package.json +77 -6
  514. package/postinstall.mjs +43 -0
  515. package/__tests__/agents.test.ts +0 -107
  516. package/__tests__/config-handler.test.ts +0 -198
  517. package/__tests__/dynamic-agent.test.ts +0 -68
  518. package/__tests__/schema.test.ts +0 -149
  519. package/__tests__/setup.test.ts +0 -16
  520. package/bun.lock +0 -29
  521. package/oh-my-parallel-agent-opencode.example.json +0 -7
  522. package/src/agents/explore.ts +0 -117
  523. package/src/agents/index.ts +0 -69
  524. package/src/agents/librarian.ts +0 -302
  525. package/src/agents/metis.ts +0 -341
  526. package/src/agents/momus.ts +0 -237
  527. package/src/agents/types.ts +0 -95
  528. package/src/config/schema.ts +0 -15
  529. package/src/index.ts +0 -116
  530. package/src/plugin-handlers/config-handler.ts +0 -129
  531. package/src/utils/dynamic-agent.ts +0 -37
  532. package/tsconfig.json +0 -19
@@ -0,0 +1,42 @@
1
+ export type CommandScope = "user" | "project" | "opencode" | "opencode-project";
2
+ /**
3
+ * Handoff definition for command workflows.
4
+ * Based on speckit's handoff pattern for multi-agent orchestration.
5
+ * @see https://github.com/github/spec-kit
6
+ */
7
+ export interface HandoffDefinition {
8
+ /** Human-readable label for the handoff action */
9
+ label: string;
10
+ /** Target agent/command identifier (e.g., "speckit.tasks") */
11
+ agent: string;
12
+ /** Pre-filled prompt text for the handoff */
13
+ prompt: string;
14
+ /** If true, automatically executes after command completion; if false, shows as suggestion */
15
+ send?: boolean;
16
+ }
17
+ export interface CommandDefinition {
18
+ name: string;
19
+ description?: string;
20
+ template: string;
21
+ agent?: string;
22
+ model?: string;
23
+ subtask?: boolean;
24
+ argumentHint?: string;
25
+ /** Handoff definitions for workflow transitions */
26
+ handoffs?: HandoffDefinition[];
27
+ }
28
+ export interface CommandFrontmatter {
29
+ description?: string;
30
+ "argument-hint"?: string;
31
+ agent?: string;
32
+ model?: string;
33
+ subtask?: boolean;
34
+ /** Handoff definitions for workflow transitions */
35
+ handoffs?: HandoffDefinition[];
36
+ }
37
+ export interface LoadedCommand {
38
+ name: string;
39
+ path: string;
40
+ definition: CommandDefinition;
41
+ scope: CommandScope;
42
+ }
@@ -0,0 +1,2 @@
1
+ export declare function expandEnvVars(value: string): string;
2
+ export declare function expandEnvVarsInObject<T>(obj: T): T;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MCP Configuration Loader
3
+ *
4
+ * Loads Claude Code .mcp.json format configurations from multiple scopes
5
+ * and transforms them to OpenCode SDK format
6
+ */
7
+ export * from "./types";
8
+ export * from "./loader";
9
+ export * from "./transformer";
10
+ export * from "./env-expander";
@@ -0,0 +1,4 @@
1
+ import type { LoadedMcpServer, McpLoadResult } from "./types";
2
+ export declare function getSystemMcpServerNames(): Set<string>;
3
+ export declare function loadMcpConfigs(): Promise<McpLoadResult>;
4
+ export declare function formatLoadedServersForToast(loadedServers: LoadedMcpServer[]): string;
@@ -0,0 +1,2 @@
1
+ import type { ClaudeCodeMcpServer, McpServerConfig } from "./types";
2
+ export declare function transformMcpServer(name: string, server: ClaudeCodeMcpServer): McpServerConfig;
@@ -0,0 +1,39 @@
1
+ export type McpScope = "user" | "project" | "local";
2
+ export interface ClaudeCodeMcpServer {
3
+ type?: "http" | "sse" | "stdio";
4
+ url?: string;
5
+ command?: string;
6
+ args?: string[];
7
+ env?: Record<string, string>;
8
+ headers?: Record<string, string>;
9
+ oauth?: {
10
+ clientId?: string;
11
+ scopes?: string[];
12
+ };
13
+ disabled?: boolean;
14
+ }
15
+ export interface ClaudeCodeMcpConfig {
16
+ mcpServers?: Record<string, ClaudeCodeMcpServer>;
17
+ }
18
+ export interface McpLocalConfig {
19
+ type: "local";
20
+ command: string[];
21
+ environment?: Record<string, string>;
22
+ enabled?: boolean;
23
+ }
24
+ export interface McpRemoteConfig {
25
+ type: "remote";
26
+ url: string;
27
+ headers?: Record<string, string>;
28
+ enabled?: boolean;
29
+ }
30
+ export type McpServerConfig = McpLocalConfig | McpRemoteConfig;
31
+ export interface LoadedMcpServer {
32
+ name: string;
33
+ scope: McpScope;
34
+ config: McpServerConfig;
35
+ }
36
+ export interface McpLoadResult {
37
+ servers: Record<string, McpServerConfig>;
38
+ loadedServers: LoadedMcpServer[];
39
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./types";
2
+ export * from "./loader";
3
+ export type { PluginLoaderOptions, ClaudeSettings } from "./types";
@@ -0,0 +1,20 @@
1
+ import type { AgentConfig } from "@opencode-ai/sdk";
2
+ import type { CommandDefinition } from "../claude-code-command-loader/types";
3
+ import type { McpServerConfig } from "../claude-code-mcp-loader/types";
4
+ import type { LoadedPlugin, PluginLoadResult, PluginLoadError, HooksConfig, PluginLoaderOptions } from "./types";
5
+ export declare function discoverInstalledPlugins(options?: PluginLoaderOptions): PluginLoadResult;
6
+ export declare function loadPluginCommands(plugins: LoadedPlugin[]): Record<string, CommandDefinition>;
7
+ export declare function loadPluginSkillsAsCommands(plugins: LoadedPlugin[]): Record<string, CommandDefinition>;
8
+ export declare function loadPluginAgents(plugins: LoadedPlugin[]): Record<string, AgentConfig>;
9
+ export declare function loadPluginMcpServers(plugins: LoadedPlugin[]): Promise<Record<string, McpServerConfig>>;
10
+ export declare function loadPluginHooksConfigs(plugins: LoadedPlugin[]): HooksConfig[];
11
+ export interface PluginComponentsResult {
12
+ commands: Record<string, CommandDefinition>;
13
+ skills: Record<string, CommandDefinition>;
14
+ agents: Record<string, AgentConfig>;
15
+ mcpServers: Record<string, McpServerConfig>;
16
+ hooksConfigs: HooksConfig[];
17
+ plugins: LoadedPlugin[];
18
+ errors: PluginLoadError[];
19
+ }
20
+ export declare function loadAllPluginComponents(options?: PluginLoaderOptions): Promise<PluginComponentsResult>;
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Claude Code Plugin Types
3
+ *
4
+ * Type definitions for Claude Code plugin system compatibility.
5
+ * Based on https://code.claude.com/docs/en/plugins-reference
6
+ */
7
+ export type PluginScope = "user" | "project" | "local" | "managed";
8
+ /**
9
+ * Plugin installation entry in installed_plugins.json
10
+ */
11
+ export interface PluginInstallation {
12
+ scope: PluginScope;
13
+ installPath: string;
14
+ version: string;
15
+ installedAt: string;
16
+ lastUpdated: string;
17
+ gitCommitSha?: string;
18
+ isLocal?: boolean;
19
+ }
20
+ /**
21
+ * Installed plugins database v1 (legacy)
22
+ * plugins stored as direct objects
23
+ */
24
+ export interface InstalledPluginsDatabaseV1 {
25
+ version: 1;
26
+ plugins: Record<string, PluginInstallation>;
27
+ }
28
+ /**
29
+ * Installed plugins database v2 (current)
30
+ * plugins stored as arrays
31
+ */
32
+ export interface InstalledPluginsDatabaseV2 {
33
+ version: 2;
34
+ plugins: Record<string, PluginInstallation[]>;
35
+ }
36
+ /**
37
+ * Installed plugins database structure
38
+ * Located at ~/.claude/plugins/installed_plugins.json
39
+ */
40
+ export type InstalledPluginsDatabase = InstalledPluginsDatabaseV1 | InstalledPluginsDatabaseV2;
41
+ /**
42
+ * Plugin author information
43
+ */
44
+ export interface PluginAuthor {
45
+ name?: string;
46
+ email?: string;
47
+ url?: string;
48
+ }
49
+ /**
50
+ * Plugin manifest (plugin.json)
51
+ * Located at <plugin_root>/.claude-plugin/plugin.json
52
+ */
53
+ export interface PluginManifest {
54
+ name: string;
55
+ version?: string;
56
+ description?: string;
57
+ author?: PluginAuthor;
58
+ homepage?: string;
59
+ repository?: string;
60
+ license?: string;
61
+ keywords?: string[];
62
+ commands?: string | string[];
63
+ agents?: string | string[];
64
+ skills?: string | string[];
65
+ hooks?: string | HooksConfig;
66
+ mcpServers?: string | McpServersConfig;
67
+ lspServers?: string | LspServersConfig;
68
+ outputStyles?: string | string[];
69
+ }
70
+ /**
71
+ * Hooks configuration
72
+ */
73
+ export interface HookEntry {
74
+ type: "command" | "prompt" | "agent";
75
+ command?: string;
76
+ prompt?: string;
77
+ agent?: string;
78
+ }
79
+ export interface HookMatcher {
80
+ matcher?: string;
81
+ hooks: HookEntry[];
82
+ }
83
+ export interface HooksConfig {
84
+ hooks?: {
85
+ PreToolUse?: HookMatcher[];
86
+ PostToolUse?: HookMatcher[];
87
+ PostToolUseFailure?: HookMatcher[];
88
+ PermissionRequest?: HookMatcher[];
89
+ UserPromptSubmit?: HookMatcher[];
90
+ Notification?: HookMatcher[];
91
+ Stop?: HookMatcher[];
92
+ SubagentStart?: HookMatcher[];
93
+ SubagentStop?: HookMatcher[];
94
+ SessionStart?: HookMatcher[];
95
+ SessionEnd?: HookMatcher[];
96
+ PreCompact?: HookMatcher[];
97
+ };
98
+ }
99
+ /**
100
+ * MCP servers configuration in plugin
101
+ */
102
+ export interface PluginMcpServer {
103
+ command?: string;
104
+ args?: string[];
105
+ env?: Record<string, string>;
106
+ cwd?: string;
107
+ url?: string;
108
+ type?: "stdio" | "http" | "sse";
109
+ disabled?: boolean;
110
+ }
111
+ export interface McpServersConfig {
112
+ mcpServers?: Record<string, PluginMcpServer>;
113
+ }
114
+ /**
115
+ * LSP server configuration
116
+ */
117
+ export interface LspServerConfig {
118
+ command: string;
119
+ args?: string[];
120
+ extensionToLanguage: Record<string, string>;
121
+ transport?: "stdio" | "socket";
122
+ env?: Record<string, string>;
123
+ initializationOptions?: Record<string, unknown>;
124
+ settings?: Record<string, unknown>;
125
+ workspaceFolder?: string;
126
+ startupTimeout?: number;
127
+ shutdownTimeout?: number;
128
+ restartOnCrash?: boolean;
129
+ maxRestarts?: number;
130
+ loggingConfig?: {
131
+ args?: string[];
132
+ env?: Record<string, string>;
133
+ };
134
+ }
135
+ export interface LspServersConfig {
136
+ [language: string]: LspServerConfig;
137
+ }
138
+ /**
139
+ * Loaded plugin with all resolved components
140
+ */
141
+ export interface LoadedPlugin {
142
+ name: string;
143
+ version: string;
144
+ scope: PluginScope;
145
+ installPath: string;
146
+ manifest?: PluginManifest;
147
+ pluginKey: string;
148
+ commandsDir?: string;
149
+ agentsDir?: string;
150
+ skillsDir?: string;
151
+ hooksPath?: string;
152
+ mcpPath?: string;
153
+ lspPath?: string;
154
+ }
155
+ /**
156
+ * Plugin load result with all components
157
+ */
158
+ export interface PluginLoadResult {
159
+ plugins: LoadedPlugin[];
160
+ errors: PluginLoadError[];
161
+ }
162
+ export interface PluginLoadError {
163
+ pluginKey: string;
164
+ installPath: string;
165
+ error: string;
166
+ }
167
+ /**
168
+ * Claude settings from ~/.claude/settings.json
169
+ */
170
+ export interface ClaudeSettings {
171
+ enabledPlugins?: Record<string, boolean>;
172
+ [key: string]: unknown;
173
+ }
174
+ /**
175
+ * Plugin loader options
176
+ */
177
+ export interface PluginLoaderOptions {
178
+ /**
179
+ * Override enabled plugins from oh-my-parallel-agent-opencode config.
180
+ * Key format: "pluginName@marketplace" (e.g., "shell-scripting@claude-code-workflows")
181
+ * Value: true = enabled, false = disabled
182
+ *
183
+ * This takes precedence over ~/.claude/settings.json enabledPlugins
184
+ */
185
+ enabledPluginsOverride?: Record<string, boolean>;
186
+ }
@@ -0,0 +1 @@
1
+ export * from "./state";
@@ -0,0 +1,9 @@
1
+ export declare const subagentSessions: Set<string>;
2
+ export declare function setMainSession(id: string | undefined): void;
3
+ export declare function getMainSessionID(): string | undefined;
4
+ /** @internal For testing only */
5
+ export declare function _resetForTesting(): void;
6
+ export declare function setSessionAgent(sessionID: string, agent: string): void;
7
+ export declare function updateSessionAgent(sessionID: string, agent: string): void;
8
+ export declare function getSessionAgent(sessionID: string): string | undefined;
9
+ export declare function clearSessionAgent(sessionID: string): void;
@@ -0,0 +1,11 @@
1
+ import type { PendingContext, RegisterContextOptions } from "./types";
2
+ export declare class ContextCollector {
3
+ private sessions;
4
+ register(sessionID: string, options: RegisterContextOptions): void;
5
+ getPending(sessionID: string): PendingContext;
6
+ consume(sessionID: string): PendingContext;
7
+ clear(sessionID: string): void;
8
+ hasPending(sessionID: string): boolean;
9
+ private sortEntries;
10
+ }
11
+ export declare const contextCollector: ContextCollector;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export { ContextCollector, contextCollector } from "./collector";
2
+ export { createContextInjectorMessagesTransformHook, } from "./injector";
3
+ export type { ContextSourceType, ContextPriority, ContextEntry, RegisterContextOptions, PendingContext, MessageContext, OutputParts, InjectionStrategy, } from "./types";
@@ -0,0 +1,39 @@
1
+ import type { ContextCollector } from "./collector";
2
+ import type { Message, Part } from "@opencode-ai/sdk";
3
+ interface OutputPart {
4
+ type: string;
5
+ text?: string;
6
+ [key: string]: unknown;
7
+ }
8
+ interface InjectionResult {
9
+ injected: boolean;
10
+ contextLength: number;
11
+ }
12
+ export declare function injectPendingContext(collector: ContextCollector, sessionID: string, parts: OutputPart[]): InjectionResult;
13
+ interface ChatMessageInput {
14
+ sessionID: string;
15
+ agent?: string;
16
+ model?: {
17
+ providerID: string;
18
+ modelID: string;
19
+ };
20
+ messageID?: string;
21
+ }
22
+ interface ChatMessageOutput {
23
+ message: Record<string, unknown>;
24
+ parts: OutputPart[];
25
+ }
26
+ export declare function createContextInjectorHook(collector: ContextCollector): {
27
+ "chat.message": (input: ChatMessageInput, output: ChatMessageOutput) => Promise<void>;
28
+ };
29
+ interface MessageWithParts {
30
+ info: Message;
31
+ parts: Part[];
32
+ }
33
+ type MessagesTransformHook = {
34
+ "experimental.chat.messages.transform"?: (input: Record<string, never>, output: {
35
+ messages: MessageWithParts[];
36
+ }) => Promise<void>;
37
+ };
38
+ export declare function createContextInjectorMessagesTransformHook(collector: ContextCollector): MessagesTransformHook;
39
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Source identifier for context injection
3
+ * Each source registers context that will be merged and injected together
4
+ */
5
+ export type ContextSourceType = "keyword-detector" | "rules-injector" | "directory-agents" | "directory-readme" | "custom";
6
+ /**
7
+ * Priority levels for context ordering
8
+ * Higher priority contexts appear first in the merged output
9
+ */
10
+ export type ContextPriority = "critical" | "high" | "normal" | "low";
11
+ /**
12
+ * A single context entry registered by a source
13
+ */
14
+ export interface ContextEntry {
15
+ /** Unique identifier for this entry within the source */
16
+ id: string;
17
+ /** The source that registered this context */
18
+ source: ContextSourceType;
19
+ /** The actual context content to inject */
20
+ content: string;
21
+ /** Priority for ordering (default: normal) */
22
+ priority: ContextPriority;
23
+ /** Timestamp when registered */
24
+ timestamp: number;
25
+ /** Optional metadata for debugging/logging */
26
+ metadata?: Record<string, unknown>;
27
+ }
28
+ /**
29
+ * Options for registering context
30
+ */
31
+ export interface RegisterContextOptions {
32
+ /** Unique ID for this context entry (used for deduplication) */
33
+ id: string;
34
+ /** Source identifier */
35
+ source: ContextSourceType;
36
+ /** The content to inject */
37
+ content: string;
38
+ /** Priority for ordering (default: normal) */
39
+ priority?: ContextPriority;
40
+ /** Optional metadata */
41
+ metadata?: Record<string, unknown>;
42
+ }
43
+ /**
44
+ * Result of getting pending context for a session
45
+ */
46
+ export interface PendingContext {
47
+ /** Merged context string, ready for injection */
48
+ merged: string;
49
+ /** Individual entries that were merged */
50
+ entries: ContextEntry[];
51
+ /** Whether there's any content to inject */
52
+ hasContent: boolean;
53
+ }
54
+ /**
55
+ * Message context from the original user message
56
+ * Used when injecting to match the message format
57
+ */
58
+ export interface MessageContext {
59
+ agent?: string;
60
+ model?: {
61
+ providerID?: string;
62
+ modelID?: string;
63
+ };
64
+ path?: {
65
+ cwd?: string;
66
+ root?: string;
67
+ };
68
+ tools?: Record<string, boolean>;
69
+ }
70
+ /**
71
+ * Output parts from chat.message hook
72
+ */
73
+ export interface OutputParts {
74
+ parts: Array<{
75
+ type: string;
76
+ text?: string;
77
+ [key: string]: unknown;
78
+ }>;
79
+ }
80
+ /**
81
+ * Injection strategy
82
+ */
83
+ export type InjectionStrategy = "prepend-parts" | "storage" | "auto";
@@ -0,0 +1,3 @@
1
+ export declare const OPENCODE_STORAGE: string;
2
+ export declare const MESSAGE_STORAGE: string;
3
+ export declare const PART_STORAGE: string;
@@ -0,0 +1,4 @@
1
+ export { injectHookMessage, findNearestMessageWithFields, findFirstMessageWithAgent } from "./injector";
2
+ export type { StoredMessage } from "./injector";
3
+ export type { MessageMeta, OriginalMessageContext, TextPart, ToolPermission } from "./types";
4
+ export { MESSAGE_STORAGE } from "./constants";
@@ -0,0 +1,19 @@
1
+ import type { OriginalMessageContext, ToolPermission } from "./types";
2
+ export interface StoredMessage {
3
+ agent?: string;
4
+ model?: {
5
+ providerID?: string;
6
+ modelID?: string;
7
+ variant?: string;
8
+ };
9
+ tools?: Record<string, ToolPermission>;
10
+ }
11
+ export declare function findNearestMessageWithFields(messageDir: string): StoredMessage | null;
12
+ /**
13
+ * Finds the FIRST (oldest) message in the session with agent field.
14
+ * This is used to get the original agent that started the session,
15
+ * avoiding issues where newer messages may have a different agent
16
+ * due to OpenCode's internal agent switching.
17
+ */
18
+ export declare function findFirstMessageWithAgent(messageDir: string): string | null;
19
+ export declare function injectHookMessage(sessionID: string, hookContent: string, originalMessage: OriginalMessageContext): boolean;
@@ -0,0 +1,46 @@
1
+ export type ToolPermission = boolean | "allow" | "deny" | "ask";
2
+ export interface MessageMeta {
3
+ id: string;
4
+ sessionID: string;
5
+ role: "user" | "assistant";
6
+ time: {
7
+ created: number;
8
+ completed?: number;
9
+ };
10
+ agent?: string;
11
+ model?: {
12
+ providerID: string;
13
+ modelID: string;
14
+ variant?: string;
15
+ };
16
+ path?: {
17
+ cwd: string;
18
+ root: string;
19
+ };
20
+ tools?: Record<string, ToolPermission>;
21
+ }
22
+ export interface OriginalMessageContext {
23
+ agent?: string;
24
+ model?: {
25
+ providerID?: string;
26
+ modelID?: string;
27
+ variant?: string;
28
+ };
29
+ path?: {
30
+ cwd?: string;
31
+ root?: string;
32
+ };
33
+ tools?: Record<string, ToolPermission>;
34
+ }
35
+ export interface TextPart {
36
+ id: string;
37
+ type: "text";
38
+ text: string;
39
+ synthetic: boolean;
40
+ time: {
41
+ start: number;
42
+ end: number;
43
+ };
44
+ messageID: string;
45
+ sessionID: string;
46
+ }
@@ -0,0 +1,11 @@
1
+ export type OAuthCallbackResult = {
2
+ code: string;
3
+ state: string;
4
+ };
5
+ export type CallbackServer = {
6
+ port: number;
7
+ waitForCallback: () => Promise<OAuthCallbackResult>;
8
+ close: () => void;
9
+ };
10
+ export declare function findAvailablePort(startPort?: number): Promise<number>;
11
+ export declare function startCallbackServer(startPort?: number): Promise<CallbackServer>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ export type ClientRegistrationRequest = {
2
+ redirect_uris: string[];
3
+ client_name: string;
4
+ grant_types: ["authorization_code", "refresh_token"];
5
+ response_types: ["code"];
6
+ token_endpoint_auth_method: "none" | "client_secret_post";
7
+ };
8
+ export type ClientCredentials = {
9
+ clientId: string;
10
+ clientSecret?: string;
11
+ };
12
+ export type ClientRegistrationStorage = {
13
+ getClientRegistration: (serverIdentifier: string) => ClientCredentials | null;
14
+ setClientRegistration: (serverIdentifier: string, credentials: ClientCredentials) => void;
15
+ };
16
+ export type DynamicClientRegistrationOptions = {
17
+ registrationEndpoint?: string | null;
18
+ serverIdentifier?: string;
19
+ clientName: string;
20
+ redirectUris: string[];
21
+ tokenEndpointAuthMethod: "none" | "client_secret_post";
22
+ clientId?: string | null;
23
+ storage: ClientRegistrationStorage;
24
+ fetch?: DcrFetch;
25
+ };
26
+ export type DcrFetch = (input: string, init?: {
27
+ method?: string;
28
+ headers?: Record<string, string>;
29
+ body?: string;
30
+ }) => Promise<{
31
+ ok: boolean;
32
+ json: () => Promise<unknown>;
33
+ }>;
34
+ export declare function getOrRegisterClient(options: DynamicClientRegistrationOptions): Promise<ClientCredentials | null>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface OAuthServerMetadata {
2
+ authorizationEndpoint: string;
3
+ tokenEndpoint: string;
4
+ registrationEndpoint?: string;
5
+ resource: string;
6
+ }
7
+ export declare function discoverOAuthServerMetadata(resource: string): Promise<OAuthServerMetadata>;
8
+ export declare function resetDiscoveryCache(): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./schema";