oh-my-opencode 4.2.2 → 4.3.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 (300) hide show
  1. package/README.ja.md +8 -0
  2. package/README.ko.md +8 -0
  3. package/README.md +16 -2
  4. package/README.ru.md +7 -0
  5. package/README.zh-cn.md +8 -0
  6. package/dist/agents/atlas/default-prompt-sections.d.ts +1 -1
  7. package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
  8. package/dist/agents/builtin-agents/model-resolution.d.ts +1 -1
  9. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  10. package/dist/agents/prometheus/plan-template.d.ts +1 -1
  11. package/dist/agents/prometheus/spec-driven-mode.d.ts +7 -0
  12. package/dist/cli/doctor/checks/system-binary.d.ts +1 -1
  13. package/dist/cli/doctor/checks/tools-lsp.d.ts +6 -1
  14. package/dist/cli/doctor/checks/tui-plugin-config.d.ts +14 -0
  15. package/dist/cli/doctor/constants.d.ts +1 -0
  16. package/dist/cli/index.js +5295 -3353
  17. package/dist/cli/provider-model-id-transform.d.ts +1 -1
  18. package/dist/config/index.d.ts +1 -1
  19. package/dist/config/schema/agent-overrides.d.ts +147 -1
  20. package/dist/config/schema/background-task.d.ts +1 -0
  21. package/dist/config/schema/default-mode.d.ts +6 -0
  22. package/dist/config/schema/hooks.d.ts +2 -0
  23. package/dist/config/schema/i18n.d.ts +5 -0
  24. package/dist/config/schema/keyword-detector.d.ts +8 -0
  25. package/dist/config/schema/oh-my-opencode-config.d.ts +163 -1
  26. package/dist/config/schema.d.ts +2 -0
  27. package/dist/create-hooks.d.ts +2 -0
  28. package/dist/features/background-agent/fallback-retry-handler.d.ts +3 -0
  29. package/dist/features/background-agent/manager.d.ts +0 -1
  30. package/dist/features/background-agent/parent-wake-notifier.d.ts +5 -1
  31. package/dist/features/background-agent/session-activity.d.ts +12 -0
  32. package/dist/features/background-agent/session-existence.d.ts +2 -0
  33. package/dist/features/background-agent/session-stream-activity.d.ts +18 -0
  34. package/dist/features/background-agent/task-activity-refresh.d.ts +11 -0
  35. package/dist/features/background-agent/task-poller.d.ts +2 -0
  36. package/dist/features/boulder-state/constants.d.ts +1 -10
  37. package/dist/features/boulder-state/format-duration.d.ts +1 -1
  38. package/dist/features/boulder-state/storage.d.ts +1 -83
  39. package/dist/features/boulder-state/top-level-task.d.ts +1 -2
  40. package/dist/features/boulder-state/types.d.ts +1 -100
  41. package/dist/features/task-toast-manager/manager.d.ts +1 -1
  42. package/dist/features/team-mode/team-state-store/locks.d.ts +7 -4
  43. package/dist/features/tmux-subagent/manager.d.ts +2 -0
  44. package/dist/hooks/atlas/system-reminder-templates.d.ts +1 -1
  45. package/dist/hooks/claude-code-hooks/config-loader.d.ts +7 -0
  46. package/dist/hooks/claude-code-hooks/config.d.ts +4 -1
  47. package/dist/hooks/claude-code-hooks/types.d.ts +17 -1
  48. package/dist/hooks/comment-checker/cli.d.ts +2 -22
  49. package/dist/hooks/comment-checker/hook.d.ts +1 -0
  50. package/dist/hooks/comment-checker/initialization-gate.d.ts +1 -0
  51. package/dist/hooks/comment-checker/types.d.ts +1 -31
  52. package/dist/hooks/directory-agents-injector/finder.d.ts +2 -5
  53. package/dist/hooks/directory-agents-injector/injector.d.ts +1 -16
  54. package/dist/hooks/index.d.ts +2 -0
  55. package/dist/hooks/keyword-detector/analyze/default.d.ts +1 -1
  56. package/dist/hooks/keyword-detector/constants.d.ts +10 -5
  57. package/dist/hooks/keyword-detector/detector.d.ts +2 -2
  58. package/dist/hooks/keyword-detector/hook.d.ts +2 -1
  59. package/dist/hooks/keyword-detector/hyperplan/default.d.ts +5 -0
  60. package/dist/hooks/notepad-write-guard/index.d.ts +2 -0
  61. package/dist/hooks/plan-format-validator/hook.d.ts +21 -0
  62. package/dist/hooks/plan-format-validator/index.d.ts +1 -0
  63. package/dist/hooks/prometheus-md-only/constants.d.ts +8 -0
  64. package/dist/hooks/rules-injector/constants.d.ts +1 -7
  65. package/dist/hooks/rules-injector/injector.d.ts +7 -3
  66. package/dist/hooks/rules-injector/matcher.d.ts +3 -24
  67. package/dist/hooks/rules-injector/parser.d.ts +2 -18
  68. package/dist/hooks/rules-injector/project-root-finder.d.ts +1 -13
  69. package/dist/hooks/rules-injector/rule-distance.d.ts +1 -10
  70. package/dist/hooks/rules-injector/rule-file-finder.d.ts +2 -6
  71. package/dist/hooks/rules-injector/rule-file-scanner.d.ts +2 -13
  72. package/dist/hooks/rules-injector/rule-scan-cache.d.ts +2 -13
  73. package/dist/hooks/rules-injector/transcript-hydration.d.ts +18 -0
  74. package/dist/hooks/rules-injector/types.d.ts +2 -38
  75. package/dist/hooks/runtime-fallback/types.d.ts +1 -0
  76. package/dist/hooks/session-todo-status.d.ts +1 -0
  77. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
  78. package/dist/hooks/start-work/context-info-builder.d.ts +1 -0
  79. package/dist/hooks/start-work/session-plan-affinity.d.ts +7 -0
  80. package/dist/hooks/team-session-events/team-member-error-handler.d.ts +14 -1
  81. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  82. package/dist/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.d.ts +0 -21
  83. package/dist/index.js +20128 -17181
  84. package/dist/locales/en.d.ts +18 -0
  85. package/dist/locales/index.d.ts +6 -0
  86. package/dist/locales/zh.d.ts +17 -0
  87. package/dist/mcp/ast-grep.d.ts +11 -0
  88. package/dist/mcp/cli-suffix.d.ts +1 -0
  89. package/dist/mcp/index.d.ts +6 -1
  90. package/dist/mcp/lsp.d.ts +2 -0
  91. package/dist/mcp/runtime-executable.d.ts +11 -0
  92. package/dist/mcp/types.d.ts +1 -0
  93. package/dist/oh-my-opencode.schema.json +449 -1
  94. package/dist/plugin/hooks/create-core-hooks.d.ts +2 -0
  95. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +3 -1
  96. package/dist/plugin/system-transform.d.ts +2 -1
  97. package/dist/plugin/tool-definition.d.ts +9 -0
  98. package/dist/plugin/tool-execute-after.d.ts +15 -9
  99. package/dist/plugin/tool-registry.d.ts +1 -2
  100. package/dist/plugin-handlers/agent-key-remapper.d.ts +5 -1
  101. package/dist/plugin-handlers/hook-config-handler.d.ts +7 -0
  102. package/dist/plugin-handlers/index.d.ts +1 -0
  103. package/dist/plugin-handlers/mcp-config-handler.d.ts +3 -0
  104. package/dist/plugin-handlers/plugin-components-loader.d.ts +2 -3
  105. package/dist/shared/agent-display-names.d.ts +10 -2
  106. package/dist/shared/command-executor/execute-hook-command.d.ts +2 -0
  107. package/dist/shared/contains-path.d.ts +1 -2
  108. package/dist/shared/context-limit-resolver.d.ts +2 -5
  109. package/dist/shared/deep-merge.d.ts +1 -13
  110. package/dist/shared/disabled-providers.d.ts +14 -0
  111. package/dist/shared/extract-semver.d.ts +1 -1
  112. package/dist/shared/fallback-chain-from-models.d.ts +1 -12
  113. package/dist/shared/file-utils.d.ts +1 -7
  114. package/dist/shared/frontmatter.d.ts +1 -7
  115. package/dist/shared/i18n.d.ts +9 -0
  116. package/dist/shared/index.d.ts +1 -1
  117. package/dist/shared/jsonc-parser.d.ts +1 -23
  118. package/dist/shared/model-availability.d.ts +18 -5
  119. package/dist/shared/model-capabilities/index.d.ts +6 -3
  120. package/dist/shared/model-capabilities-cache.d.ts +4 -8
  121. package/dist/shared/model-error-classifier.d.ts +4 -33
  122. package/dist/shared/model-format-normalizer.d.ts +1 -7
  123. package/dist/shared/model-normalization.d.ts +1 -2
  124. package/dist/shared/model-requirements.d.ts +2 -22
  125. package/dist/shared/model-resolution-pipeline.d.ts +5 -30
  126. package/dist/shared/model-resolution-types.d.ts +1 -36
  127. package/dist/shared/model-resolver.d.ts +8 -35
  128. package/dist/shared/model-sanitizer.d.ts +1 -3
  129. package/dist/shared/model-settings-compatibility.d.ts +2 -40
  130. package/dist/shared/model-string-parser.d.ts +1 -9
  131. package/dist/shared/model-suggestion-retry.d.ts +3 -7
  132. package/dist/shared/opencode-config-dir.d.ts +1 -0
  133. package/dist/shared/port-utils.d.ts +1 -9
  134. package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +9 -0
  135. package/dist/shared/prompt-async-gate/queue.d.ts +8 -0
  136. package/dist/shared/prompt-async-gate/reservations.d.ts +9 -0
  137. package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +15 -0
  138. package/dist/shared/prompt-async-gate/timing.d.ts +8 -0
  139. package/dist/shared/prompt-async-gate/types.d.ts +120 -0
  140. package/dist/shared/prompt-async-gate.d.ts +4 -79
  141. package/dist/shared/prompt-failure-classifier.d.ts +9 -0
  142. package/dist/shared/prompt-timeout-context.d.ts +1 -0
  143. package/dist/shared/provider-model-id-transform.d.ts +1 -1
  144. package/dist/shared/record-type-guard.d.ts +1 -1
  145. package/dist/shared/replace-tool-args.d.ts +1 -13
  146. package/dist/shared/session-idle-settle.d.ts +2 -1
  147. package/dist/shared/shell-env.d.ts +7 -5
  148. package/dist/shared/snake-case.d.ts +1 -5
  149. package/dist/shared/tool-name.d.ts +1 -1
  150. package/dist/testing/create-plugin-module.d.ts +2 -0
  151. package/dist/tools/delegate-task/constants.d.ts +19 -0
  152. package/dist/tools/delegate-task/skill-resolver.d.ts +9 -2
  153. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -2
  154. package/dist/tools/delegate-task/types.d.ts +32 -0
  155. package/dist/tools/glob/constants.d.ts +1 -1
  156. package/dist/tools/grep/constants.d.ts +1 -1
  157. package/dist/tools/hashline-edit/autocorrect-replacement-lines.d.ts +1 -6
  158. package/dist/tools/hashline-edit/constants.d.ts +1 -4
  159. package/dist/tools/hashline-edit/diff-utils.d.ts +1 -6
  160. package/dist/tools/hashline-edit/edit-deduplication.d.ts +1 -5
  161. package/dist/tools/hashline-edit/edit-operation-primitives.d.ts +1 -10
  162. package/dist/tools/hashline-edit/edit-operations.d.ts +2 -8
  163. package/dist/tools/hashline-edit/edit-ordering.d.ts +1 -4
  164. package/dist/tools/hashline-edit/edit-text-normalization.d.ts +1 -7
  165. package/dist/tools/hashline-edit/file-text-canonicalization.d.ts +2 -7
  166. package/dist/tools/hashline-edit/hash-computation.d.ts +2 -11
  167. package/dist/tools/hashline-edit/hashline-chunk-formatter.d.ts +2 -10
  168. package/dist/tools/hashline-edit/hashline-edit-diff.d.ts +1 -1
  169. package/dist/tools/hashline-edit/normalize-edits.d.ts +2 -10
  170. package/dist/tools/hashline-edit/types.d.ts +1 -17
  171. package/dist/tools/hashline-edit/validation.d.ts +2 -20
  172. package/dist/tools/index.d.ts +0 -1
  173. package/dist/tools/look-at/assistant-message-extractor.d.ts +7 -0
  174. package/dist/tools/look-at/session-poller.d.ts +9 -1
  175. package/dist/tools/skill/tools.d.ts +1 -1
  176. package/dist/tools/skill/types.d.ts +2 -0
  177. package/package.json +53 -28
  178. package/packages/ast-grep-mcp/dist/cli.js +885 -0
  179. package/packages/lsp-tools-mcp/dist/cli.d.ts +0 -1
  180. package/packages/lsp-tools-mcp/dist/cli.js +0 -1
  181. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
  182. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js +1 -2
  183. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +0 -1
  184. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +0 -1
  185. package/packages/lsp-tools-mcp/dist/lsp/client.d.ts +0 -1
  186. package/packages/lsp-tools-mcp/dist/lsp/client.js +0 -1
  187. package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts +1 -10
  188. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +55 -10
  189. package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts +0 -1
  190. package/packages/lsp-tools-mcp/dist/lsp/connection.js +0 -1
  191. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
  192. package/packages/lsp-tools-mcp/dist/lsp/constants.js +0 -1
  193. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts +0 -1
  194. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js +0 -1
  195. package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts +0 -1
  196. package/packages/lsp-tools-mcp/dist/lsp/errors.js +0 -1
  197. package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts +0 -1
  198. package/packages/lsp-tools-mcp/dist/lsp/formatters.js +7 -10
  199. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts +0 -1
  200. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js +0 -1
  201. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts +0 -1
  202. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js +10 -11
  203. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
  204. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js +0 -1
  205. package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts +1 -3
  206. package/packages/lsp-tools-mcp/dist/lsp/manager.js +6 -23
  207. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +1 -0
  208. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.js +17 -0
  209. package/packages/lsp-tools-mcp/dist/lsp/process.d.ts +0 -1
  210. package/packages/lsp-tools-mcp/dist/lsp/process.js +41 -12
  211. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts +0 -1
  212. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js +0 -1
  213. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +0 -1
  214. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +3 -4
  215. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts +0 -1
  216. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js +18 -7
  217. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +0 -1
  218. package/packages/lsp-tools-mcp/dist/lsp/transport.js +20 -11
  219. package/packages/lsp-tools-mcp/dist/lsp/types.d.ts +0 -1
  220. package/packages/lsp-tools-mcp/dist/lsp/types.js +0 -1
  221. package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts +0 -2
  222. package/packages/lsp-tools-mcp/dist/lsp/utils.js +0 -8
  223. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +0 -1
  224. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +0 -1
  225. package/packages/lsp-tools-mcp/dist/mcp.d.ts +0 -1
  226. package/packages/lsp-tools-mcp/dist/mcp.js +14 -14
  227. package/packages/lsp-tools-mcp/dist/tools.d.ts +0 -1
  228. package/packages/lsp-tools-mcp/dist/tools.js +21 -14
  229. package/dist/shared/known-variants.d.ts +0 -6
  230. package/dist/shared/model-capabilities/bundled-snapshot.d.ts +0 -2
  231. package/dist/shared/model-capabilities/get-model-capabilities.d.ts +0 -2
  232. package/dist/shared/model-capabilities/runtime-model-readers.d.ts +0 -11
  233. package/dist/shared/model-capabilities/supplemental-entries.d.ts +0 -2
  234. package/dist/shared/model-capabilities/types.d.ts +0 -94
  235. package/dist/shared/model-capability-aliases.d.ts +0 -21
  236. package/dist/shared/model-capability-guardrails.d.ts +0 -38
  237. package/dist/shared/model-capability-heuristics.d.ts +0 -11
  238. package/dist/tools/ast-grep/cli-binary-path-resolution.d.ts +0 -5
  239. package/dist/tools/ast-grep/cli.d.ts +0 -12
  240. package/dist/tools/ast-grep/constants.d.ts +0 -5
  241. package/dist/tools/ast-grep/downloader.d.ts +0 -5
  242. package/dist/tools/ast-grep/environment-check.d.ts +0 -20
  243. package/dist/tools/ast-grep/index.d.ts +0 -5
  244. package/dist/tools/ast-grep/language-support.d.ts +0 -6
  245. package/dist/tools/ast-grep/pattern-hints.d.ts +0 -4
  246. package/dist/tools/ast-grep/process-output-timeout.d.ts +0 -12
  247. package/dist/tools/ast-grep/result-formatter.d.ts +0 -5
  248. package/dist/tools/ast-grep/sg-cli-path.d.ts +0 -3
  249. package/dist/tools/ast-grep/sg-compact-json-output.d.ts +0 -2
  250. package/dist/tools/ast-grep/tool-descriptions.d.ts +0 -3
  251. package/dist/tools/ast-grep/tools.d.ts +0 -3
  252. package/dist/tools/ast-grep/types.d.ts +0 -58
  253. package/packages/lsp-tools-mcp/dist/cli.d.ts.map +0 -1
  254. package/packages/lsp-tools-mcp/dist/cli.js.map +0 -1
  255. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts.map +0 -1
  256. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js.map +0 -1
  257. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts.map +0 -1
  258. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js.map +0 -1
  259. package/packages/lsp-tools-mcp/dist/lsp/client.d.ts.map +0 -1
  260. package/packages/lsp-tools-mcp/dist/lsp/client.js.map +0 -1
  261. package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts.map +0 -1
  262. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js.map +0 -1
  263. package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts.map +0 -1
  264. package/packages/lsp-tools-mcp/dist/lsp/connection.js.map +0 -1
  265. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts.map +0 -1
  266. package/packages/lsp-tools-mcp/dist/lsp/constants.js.map +0 -1
  267. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts.map +0 -1
  268. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js.map +0 -1
  269. package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts.map +0 -1
  270. package/packages/lsp-tools-mcp/dist/lsp/errors.js.map +0 -1
  271. package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts.map +0 -1
  272. package/packages/lsp-tools-mcp/dist/lsp/formatters.js.map +0 -1
  273. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts.map +0 -1
  274. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js.map +0 -1
  275. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts.map +0 -1
  276. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js.map +0 -1
  277. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts.map +0 -1
  278. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js.map +0 -1
  279. package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts.map +0 -1
  280. package/packages/lsp-tools-mcp/dist/lsp/manager.js.map +0 -1
  281. package/packages/lsp-tools-mcp/dist/lsp/process.d.ts.map +0 -1
  282. package/packages/lsp-tools-mcp/dist/lsp/process.js.map +0 -1
  283. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts.map +0 -1
  284. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js.map +0 -1
  285. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts.map +0 -1
  286. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js.map +0 -1
  287. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts.map +0 -1
  288. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js.map +0 -1
  289. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts.map +0 -1
  290. package/packages/lsp-tools-mcp/dist/lsp/transport.js.map +0 -1
  291. package/packages/lsp-tools-mcp/dist/lsp/types.d.ts.map +0 -1
  292. package/packages/lsp-tools-mcp/dist/lsp/types.js.map +0 -1
  293. package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts.map +0 -1
  294. package/packages/lsp-tools-mcp/dist/lsp/utils.js.map +0 -1
  295. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts.map +0 -1
  296. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js.map +0 -1
  297. package/packages/lsp-tools-mcp/dist/mcp.d.ts.map +0 -1
  298. package/packages/lsp-tools-mcp/dist/mcp.js.map +0 -1
  299. package/packages/lsp-tools-mcp/dist/tools.d.ts.map +0 -1
  300. package/packages/lsp-tools-mcp/dist/tools.js.map +0 -1
@@ -1,8 +1,2 @@
1
- import type { HashlineEdit } from "./types";
2
- export interface HashlineApplyReport {
3
- content: string;
4
- noopEdits: number;
5
- deduplicatedEdits: number;
6
- }
7
- export declare function applyHashlineEditsWithReport(content: string, edits: HashlineEdit[]): HashlineApplyReport;
8
- export declare function applyHashlineEdits(content: string, edits: HashlineEdit[]): string;
1
+ export { applyHashlineEdits, applyHashlineEditsWithReport, } from "@oh-my-opencode/hashline-core";
2
+ export type { HashlineApplyReport } from "@oh-my-opencode/hashline-core";
@@ -1,4 +1 @@
1
- import type { HashlineEdit } from "./types";
2
- export declare function getEditLineNumber(edit: HashlineEdit): number;
3
- export declare function collectLineRefs(edits: HashlineEdit[]): string[];
4
- export declare function detectOverlappingRanges(edits: HashlineEdit[]): string | null;
1
+ export { getEditLineNumber, collectLineRefs, detectOverlappingRanges } from "@oh-my-opencode/hashline-core";
@@ -1,7 +1 @@
1
- export declare function stripLinePrefixes(lines: string[]): string[];
2
- export declare function toNewLines(input: string | string[]): string[];
3
- export declare function restoreLeadingIndent(templateLine: string, line: string): string;
4
- export declare function stripInsertAnchorEcho(anchorLine: string, newLines: string[]): string[];
5
- export declare function stripInsertBeforeEcho(anchorLine: string, newLines: string[]): string[];
6
- export declare function stripInsertBoundaryEcho(afterLine: string, beforeLine: string, newLines: string[]): string[];
7
- export declare function stripRangeBoundaryEcho(lines: string[], startLine: number, endLine: number, newLines: string[]): string[];
1
+ export { stripLinePrefixes, toNewLines, restoreLeadingIndent, stripInsertAnchorEcho, stripInsertBeforeEcho, stripInsertBoundaryEcho, stripRangeBoundaryEcho, } from "@oh-my-opencode/hashline-core";
@@ -1,7 +1,2 @@
1
- export interface FileTextEnvelope {
2
- content: string;
3
- hadBom: boolean;
4
- lineEnding: "\n" | "\r\n";
5
- }
6
- export declare function canonicalizeFileText(content: string): FileTextEnvelope;
7
- export declare function restoreFileText(content: string, envelope: FileTextEnvelope): string;
1
+ export { canonicalizeFileText, restoreFileText } from "@oh-my-opencode/hashline-core";
2
+ export type { FileTextEnvelope } from "@oh-my-opencode/hashline-core";
@@ -1,11 +1,2 @@
1
- export declare function computeLineHash(lineNumber: number, content: string): string;
2
- export declare function computeLegacyLineHash(lineNumber: number, content: string): string;
3
- export declare function formatHashLine(lineNumber: number, content: string): string;
4
- export declare function formatHashLines(content: string): string;
5
- export interface HashlineStreamOptions {
6
- startLine?: number;
7
- maxChunkLines?: number;
8
- maxChunkBytes?: number;
9
- }
10
- export declare function streamHashLinesFromUtf8(source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>, options?: HashlineStreamOptions): AsyncGenerator<string>;
11
- export declare function streamHashLinesFromLines(lines: Iterable<string> | AsyncIterable<string>, options?: HashlineStreamOptions): AsyncGenerator<string>;
1
+ export { computeLineHash, computeLegacyLineHash, formatHashLine, formatHashLines, streamHashLinesFromUtf8, streamHashLinesFromLines, } from "@oh-my-opencode/hashline-core";
2
+ export type { HashlineStreamOptions } from "@oh-my-opencode/hashline-core";
@@ -1,10 +1,2 @@
1
- export interface HashlineChunkFormatter {
2
- push(formattedLine: string): string[];
3
- flush(): string | undefined;
4
- }
5
- interface HashlineChunkFormatterOptions {
6
- maxChunkLines: number;
7
- maxChunkBytes: number;
8
- }
9
- export declare function createHashlineChunkFormatter(options: HashlineChunkFormatterOptions): HashlineChunkFormatter;
10
- export {};
1
+ export { createHashlineChunkFormatter } from "@oh-my-opencode/hashline-core";
2
+ export type { HashlineChunkFormatter } from "@oh-my-opencode/hashline-core";
@@ -1 +1 @@
1
- export declare function generateHashlineDiff(oldContent: string, newContent: string, filePath: string): string;
1
+ export { generateHashlineDiff } from "@oh-my-opencode/hashline-core";
@@ -1,10 +1,2 @@
1
- import type { HashlineEdit } from "./types";
2
- type HashlineToolOp = "replace" | "append" | "prepend";
3
- export interface RawHashlineEdit {
4
- op?: HashlineToolOp;
5
- pos?: string;
6
- end?: string;
7
- lines?: string | string[] | null;
8
- }
9
- export declare function normalizeHashlineEdits(rawEdits: RawHashlineEdit[]): HashlineEdit[];
10
- export {};
1
+ export { normalizeHashlineEdits } from "@oh-my-opencode/hashline-core";
2
+ export type { RawHashlineEdit } from "@oh-my-opencode/hashline-core";
@@ -1,17 +1 @@
1
- export interface ReplaceEdit {
2
- op: "replace";
3
- pos: string;
4
- end?: string;
5
- lines: string | string[];
6
- }
7
- export interface AppendEdit {
8
- op: "append";
9
- pos?: string;
10
- lines: string | string[];
11
- }
12
- export interface PrependEdit {
13
- op: "prepend";
14
- pos?: string;
15
- lines: string | string[];
16
- }
17
- export type HashlineEdit = ReplaceEdit | AppendEdit | PrependEdit;
1
+ export type { ReplaceEdit, AppendEdit, PrependEdit, HashlineEdit } from "@oh-my-opencode/hashline-core";
@@ -1,20 +1,2 @@
1
- export interface LineRef {
2
- line: number;
3
- hash: string;
4
- }
5
- interface HashMismatch {
6
- line: number;
7
- expected: string;
8
- }
9
- export declare function normalizeLineRef(ref: string): string;
10
- export declare function parseLineRef(ref: string): LineRef;
11
- export declare function validateLineRef(lines: string[], ref: string): void;
12
- export declare class HashlineMismatchError extends Error {
13
- private readonly mismatches;
14
- private readonly fileLines;
15
- readonly remaps: ReadonlyMap<string, string>;
16
- constructor(mismatches: HashMismatch[], fileLines: string[]);
17
- static formatMessage(mismatches: HashMismatch[], fileLines: string[]): string;
18
- }
19
- export declare function validateLineRefs(lines: string[], refs: string[]): void;
20
- export {};
1
+ export { parseLineRef, validateLineRef, validateLineRefs, HashlineMismatchError, normalizeLineRef, } from "@oh-my-opencode/hashline-core";
2
+ export type { LineRef } from "@oh-my-opencode/hashline-core";
@@ -1,4 +1,3 @@
1
- export { createAstGrepTools } from "./ast-grep";
2
1
  export { createGrepTools } from "./grep";
3
2
  export { createGlobTools } from "./glob";
4
3
  export { createSkillTool } from "./skill";
@@ -1 +1,8 @@
1
1
  export declare function extractLatestAssistantText(messages: unknown): string | null;
2
+ export interface AssistantOutcome {
3
+ text: string | null;
4
+ errorName: string | null;
5
+ hasAssistant: boolean;
6
+ completed: boolean;
7
+ }
8
+ export declare function extractLatestAssistantOutcome(messages: unknown): AssistantOutcome;
@@ -1,8 +1,16 @@
1
1
  import type { createOpencodeClient } from "@opencode-ai/sdk";
2
+ import { type AssistantOutcome } from "./assistant-message-extractor";
2
3
  type Client = ReturnType<typeof createOpencodeClient>;
3
4
  export interface PollOptions {
4
5
  pollIntervalMs?: number;
5
6
  timeoutMs?: number;
7
+ abortSignal?: AbortSignal;
8
+ allowStableIdleWithoutActivity?: boolean;
9
+ allowEmptyStableIdleWithoutActivity?: boolean;
6
10
  }
7
- export declare function pollSessionUntilIdle(client: Client, sessionID: string, options?: PollOptions): Promise<void>;
11
+ export declare function waitForLookAtSessionResult(client: Client, sessionID: string, options?: PollOptions): Promise<{
12
+ messages: unknown[];
13
+ outcome: AssistantOutcome;
14
+ statusType: string | null;
15
+ }>;
8
16
  export {};
@@ -1,4 +1,4 @@
1
1
  import { type ToolDefinition } from "@opencode-ai/plugin";
2
2
  import type { SkillLoadOptions } from "./types";
3
- export declare function createSkillTool(options?: SkillLoadOptions): ToolDefinition;
3
+ export declare function createSkillTool(options: SkillLoadOptions): ToolDefinition;
4
4
  export declare const skill: ToolDefinition;
@@ -30,6 +30,8 @@ export interface SkillLoadOptions {
30
30
  /** Git master configuration for watermark/co-author settings */
31
31
  gitMasterConfig?: GitMasterConfig;
32
32
  disabledSkills?: Set<string>;
33
+ /** Project directory for skill discovery and base directory resolution. Must be ctx.directory from PluginContext — process.cwd() is unsafe in OpenCode. */
34
+ directory: string;
33
35
  /** Browser automation provider for provider-gated skill filtering */
34
36
  browserProvider?: BrowserAutomationProvider;
35
37
  /** Whether team mode built-in docs should be exposed */
package/package.json CHANGED
@@ -1,10 +1,21 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "4.2.2",
3
+ "version": "4.3.0",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "type": "module",
8
+ "workspaces": [
9
+ "packages/rules-engine",
10
+ "packages/ast-grep-core",
11
+ "packages/ast-grep-mcp",
12
+ "packages/utils",
13
+ "packages/model-core",
14
+ "packages/comment-checker-core",
15
+ "packages/hashline-core",
16
+ "packages/boulder-state",
17
+ "packages/agents-md-core"
18
+ ],
8
19
  "bin": {
9
20
  "oh-my-opencode": "bin/oh-my-opencode.js",
10
21
  "oh-my-openagent": "bin/oh-my-opencode.js"
@@ -13,17 +24,19 @@
13
24
  "dist",
14
25
  "bin",
15
26
  "postinstall.mjs",
16
- "packages/lsp-tools-mcp/dist"
27
+ "packages/lsp-tools-mcp/dist",
28
+ "packages/ast-grep-mcp/dist"
17
29
  ],
18
30
  "exports": {
19
31
  ".": {
20
32
  "types": "./dist/index.d.ts",
21
33
  "import": "./dist/index.js"
22
34
  },
35
+ "./server": "./dist/index.js",
23
36
  "./schema.json": "./dist/oh-my-opencode.schema.json"
24
37
  },
25
38
  "scripts": {
26
- "build": "bun build src/index.ts --outdir dist --target bun --format esm --external @ast-grep/napi --external zod && bun run build:node-require-shim && tsc --emitDeclarationOnly && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --external @ast-grep/napi && bun run build:schema",
39
+ "build": "bun run build:ast-grep-mcp && bun build src/index.ts --outdir dist --target bun --format esm --external @ast-grep/napi --external zod && bun run build:node-require-shim && tsc --emitDeclarationOnly && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --external @ast-grep/napi && bun run build:schema",
27
40
  "build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
28
41
  "build:node-require-shim": "bun run script/patch-node-require-shim.ts",
29
42
  "build:all": "bun run build && bun run build:binaries",
@@ -35,9 +48,11 @@
35
48
  "postinstall": "node postinstall.mjs",
36
49
  "prepublishOnly": "bun run clean && bun run build:lsp-tools-mcp && bun run build",
37
50
  "test:model-capabilities": "bun test src/shared/model-capability-aliases.test.ts src/shared/model-capability-guardrails.test.ts src/shared/model-capabilities.test.ts src/cli/doctor/checks/model-resolution.test.ts --bail",
38
- "typecheck": "tsgo --noEmit",
51
+ "typecheck": "tsgo --noEmit && bun run typecheck:packages",
52
+ "typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/ast-grep-core/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json",
39
53
  "typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
40
- "test": "bun test"
54
+ "test": "bun test",
55
+ "build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build"
41
56
  },
42
57
  "keywords": [
43
58
  "opencode",
@@ -59,43 +74,53 @@
59
74
  },
60
75
  "homepage": "https://github.com/code-yeongyu/oh-my-openagent#readme",
61
76
  "dependencies": {
62
- "@ast-grep/cli": "^0.41.1",
63
- "@ast-grep/napi": "^0.41.1",
64
- "@clack/prompts": "^0.11.0",
65
- "@code-yeongyu/comment-checker": "^0.7.1",
77
+ "@ast-grep/cli": "^0.42.2",
78
+ "@ast-grep/napi": "^0.42.2",
79
+ "@clack/prompts": "^1.4.0",
80
+ "@code-yeongyu/comment-checker": "^0.8.0",
66
81
  "@modelcontextprotocol/sdk": "^1.29.0",
67
- "@opencode-ai/plugin": "^1.4.0",
68
- "@opencode-ai/sdk": "^1.4.0",
82
+ "@opencode-ai/plugin": "^1.15.4",
83
+ "@opencode-ai/sdk": "^1.15.4",
69
84
  "commander": "^14.0.3",
70
85
  "detect-libc": "^2.1.2",
71
- "diff": "^8.0.4",
86
+ "diff": "^9.0.0",
87
+ "effect": "4.0.0-beta.65",
72
88
  "js-yaml": "^4.1.1",
73
89
  "jsonc-parser": "^3.3.1",
74
90
  "picocolors": "^1.1.1",
75
91
  "picomatch": "^4.0.4",
76
- "posthog-node": "^5.34.1",
92
+ "posthog-node": "^5.34.3",
77
93
  "vscode-jsonrpc": "^8.2.1"
78
94
  },
79
95
  "devDependencies": {
80
- "@typescript/native-preview": "7.0.0-dev.20260513.1",
96
+ "@oh-my-opencode/ast-grep-core": "workspace:*",
97
+ "@oh-my-opencode/ast-grep-mcp": "workspace:*",
98
+ "@oh-my-opencode/agents-md-core": "workspace:*",
99
+ "@oh-my-opencode/boulder-state": "workspace:*",
100
+ "@oh-my-opencode/comment-checker-core": "workspace:*",
101
+ "@oh-my-opencode/hashline-core": "workspace:*",
102
+ "@oh-my-opencode/model-core": "workspace:*",
103
+ "@oh-my-opencode/rules-engine": "workspace:*",
104
+ "@oh-my-opencode/utils": "workspace:*",
105
+ "@typescript/native-preview": "7.0.0-dev.20260518.1",
81
106
  "@types/js-yaml": "^4.0.9",
82
- "@types/picomatch": "^3.0.2",
83
- "bun-types": "1.3.12",
84
- "typescript": "^5.9.3",
107
+ "@types/picomatch": "^4.0.3",
108
+ "bun-types": "1.3.14",
109
+ "typescript": "^6.0.3",
85
110
  "zod": "^4.4.3"
86
111
  },
87
112
  "optionalDependencies": {
88
- "oh-my-opencode-darwin-arm64": "4.2.2",
89
- "oh-my-opencode-darwin-x64": "4.2.2",
90
- "oh-my-opencode-darwin-x64-baseline": "4.2.2",
91
- "oh-my-opencode-linux-arm64": "4.2.2",
92
- "oh-my-opencode-linux-arm64-musl": "4.2.2",
93
- "oh-my-opencode-linux-x64": "4.2.2",
94
- "oh-my-opencode-linux-x64-baseline": "4.2.2",
95
- "oh-my-opencode-linux-x64-musl": "4.2.2",
96
- "oh-my-opencode-linux-x64-musl-baseline": "4.2.2",
97
- "oh-my-opencode-windows-x64": "4.2.2",
98
- "oh-my-opencode-windows-x64-baseline": "4.2.2"
113
+ "oh-my-opencode-darwin-arm64": "4.3.0",
114
+ "oh-my-opencode-darwin-x64": "4.3.0",
115
+ "oh-my-opencode-darwin-x64-baseline": "4.3.0",
116
+ "oh-my-opencode-linux-arm64": "4.3.0",
117
+ "oh-my-opencode-linux-arm64-musl": "4.3.0",
118
+ "oh-my-opencode-linux-x64": "4.3.0",
119
+ "oh-my-opencode-linux-x64-baseline": "4.3.0",
120
+ "oh-my-opencode-linux-x64-musl": "4.3.0",
121
+ "oh-my-opencode-linux-x64-musl-baseline": "4.3.0",
122
+ "oh-my-opencode-windows-x64": "4.3.0",
123
+ "oh-my-opencode-windows-x64-baseline": "4.3.0"
99
124
  },
100
125
  "overrides": {
101
126
  "hono": "^4.12.18",