oh-my-opencode 4.18.2 → 4.19.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 (307) hide show
  1. package/.agents/command/omomomo.md +1 -1
  2. package/.agents/skills/omomomo/SKILL.md +1 -1
  3. package/.opencode/command/omomomo.md +1 -1
  4. package/README.ja.md +6 -6
  5. package/README.ko.md +6 -6
  6. package/README.md +8 -8
  7. package/README.ru.md +6 -6
  8. package/README.zh-cn.md +6 -6
  9. package/dist/agents/atlas/agent.d.ts +7 -6
  10. package/dist/agents/gpt-prompt-identity.d.ts +3 -0
  11. package/dist/agents/sisyphus/gpt-5-5.d.ts +1 -1
  12. package/dist/agents/sisyphus/gpt-task-system-guide.d.ts +1 -0
  13. package/dist/agents/sisyphus/index.d.ts +5 -0
  14. package/dist/agents/sisyphus/kimi-k3.d.ts +19 -0
  15. package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
  16. package/dist/agents/sisyphus-junior/agent.d.ts +8 -4
  17. package/dist/agents/sisyphus-junior/gpt-5-5.d.ts +2 -2
  18. package/dist/agents/sisyphus-junior/index.d.ts +2 -0
  19. package/dist/agents/sisyphus-junior/kimi-k3.d.ts +12 -0
  20. package/dist/agents/types.d.ts +2 -2
  21. package/dist/cli/index.js +781 -215
  22. package/dist/cli-node/index.js +781 -215
  23. package/dist/config/index.d.ts +1 -1
  24. package/dist/config/schema/agent-overrides.d.ts +48 -48
  25. package/dist/config/schema/browser-automation.d.ts +1 -0
  26. package/dist/config/schema/categories.d.ts +6 -6
  27. package/dist/config/schema/codegraph.d.ts +2 -0
  28. package/dist/config/schema/commands.d.ts +1 -3
  29. package/dist/config/schema/default-mode.d.ts +1 -1
  30. package/dist/config/schema/fallback-models.d.ts +5 -5
  31. package/dist/config/schema/goal.d.ts +7 -0
  32. package/dist/config/schema/hooks.d.ts +1 -1
  33. package/dist/config/schema/oh-my-opencode-config.d.ts +56 -58
  34. package/dist/config/schema/ralph-loop.d.ts +1 -1
  35. package/dist/config/schema.d.ts +1 -1
  36. package/dist/create-hooks.d.ts +1 -1
  37. package/dist/features/builtin-commands/templates/goal.d.ts +1 -0
  38. package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -1
  39. package/dist/features/builtin-commands/types.d.ts +1 -1
  40. package/dist/hooks/auto-slash-command/executor.d.ts +1 -0
  41. package/dist/hooks/codegraph-bootstrap/hook.d.ts +3 -2
  42. package/dist/hooks/goal/command-arguments.d.ts +13 -0
  43. package/dist/hooks/goal/controller.d.ts +26 -0
  44. package/dist/hooks/goal/index.d.ts +23 -0
  45. package/dist/hooks/goal/prompt.d.ts +3 -0
  46. package/dist/hooks/goal/store.d.ts +8 -0
  47. package/dist/hooks/goal/tools.d.ts +10 -0
  48. package/dist/hooks/goal/types.d.ts +93 -0
  49. package/dist/hooks/goal/validation.d.ts +4 -0
  50. package/dist/hooks/index.d.ts +1 -0
  51. package/dist/hooks/keyword-detector/hook.d.ts +1 -2
  52. package/dist/hooks/ralph-loop/types.d.ts +1 -1
  53. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
  54. package/dist/hooks/start-work/notepad-scaffold.d.ts +10 -0
  55. package/dist/index.js +5398 -5109
  56. package/dist/oh-my-opencode.schema.json +34 -19
  57. package/dist/plugin/chat-message/loop-commands.d.ts +1 -1
  58. package/dist/plugin/chat-message/types.d.ts +23 -10
  59. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -1
  60. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -2
  61. package/dist/plugin/hooks/create-transform-hooks.d.ts +0 -2
  62. package/dist/plugin/stop-continuation.d.ts +2 -2
  63. package/dist/shared/omo-process-sweep.d.ts +18 -0
  64. package/dist/shared/system-directive.d.ts +0 -1
  65. package/dist/skills/programming/scripts/typescript/check-no-excuse-rules.test.ts +87 -0
  66. package/dist/skills/programming/scripts/typescript/check-no-excuse-rules.ts +35 -5
  67. package/dist/skills/ulw-plan/SKILL.md +31 -8
  68. package/dist/skills/ulw-plan/references/full-workflow.md +117 -6
  69. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +46 -10
  70. package/dist/skills/ulw-research/SKILL.md +3 -3
  71. package/dist/testing/create-plugin-module.d.ts +1 -0
  72. package/dist/tools/delegate-task/types.d.ts +0 -1
  73. package/dist/tui.js +138 -80
  74. package/package.json +14 -14
  75. package/packages/git-bash-mcp/dist/cli.js +54 -8
  76. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +60 -0
  77. package/packages/lsp-core/src/lsp/client.ts +14 -1
  78. package/packages/lsp-core/src/lsp/fixtures/diagnostics-freshness-contract-probe.ts +2 -2
  79. package/packages/lsp-core/src/mcp.ts +9 -0
  80. package/packages/lsp-daemon/dist/cli.js +319 -51
  81. package/packages/lsp-daemon/dist/client.js +136 -48
  82. package/packages/lsp-daemon/dist/daemon-client.d.ts +0 -10
  83. package/packages/lsp-daemon/dist/daemon-client.js +4 -34
  84. package/packages/lsp-daemon/dist/daemon-failure-result.d.ts +3 -0
  85. package/packages/lsp-daemon/dist/daemon-failure-result.js +38 -0
  86. package/packages/lsp-daemon/dist/daemon-request-error.d.ts +14 -0
  87. package/packages/lsp-daemon/dist/daemon-request-error.js +26 -0
  88. package/packages/lsp-daemon/dist/daemon-server.js +5 -1
  89. package/packages/lsp-daemon/dist/index.js +137 -48
  90. package/packages/lsp-daemon/dist/proxy.d.ts +2 -0
  91. package/packages/lsp-daemon/dist/proxy.js +1 -0
  92. package/packages/lsp-daemon/dist/version-reap.d.ts +26 -0
  93. package/packages/lsp-daemon/dist/version-reap.js +182 -0
  94. package/packages/lsp-tools-mcp/dist/cli.js +61 -10
  95. package/packages/lsp-tools-mcp/dist/lsp/manager.js +6 -1
  96. package/packages/lsp-tools-mcp/dist/mcp.js +61 -10
  97. package/packages/lsp-tools-mcp/dist/tools.js +6 -1
  98. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  99. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +416 -25
  100. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  101. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  102. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +22 -2
  103. package/packages/omo-codex/plugin/components/codegraph/AGENTS.md +7 -6
  104. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +638 -267
  105. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +178 -89
  106. package/packages/omo-codex/plugin/components/codegraph/package.json +2 -2
  107. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +3 -1
  108. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +3 -1
  109. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +98 -32
  110. package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +5 -0
  111. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +15 -6
  112. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +6 -2
  113. package/packages/omo-codex/plugin/components/codegraph/src/sweep-cli.ts +1 -0
  114. package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +1 -1
  115. package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +148 -0
  116. package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +31 -2
  117. package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +1 -1
  118. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge-lifecycle.test.ts +65 -1
  119. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +3 -7
  120. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +1 -1
  121. package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +57 -3
  122. package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +41 -0
  123. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +109 -8
  124. package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +2 -2
  125. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +43 -0
  126. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  127. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  128. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  129. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  130. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  131. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  132. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +1 -0
  133. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  134. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +80 -40
  135. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  136. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  137. package/packages/omo-codex/plugin/components/rules/dist/cli.js +11 -0
  138. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  139. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  140. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +11 -0
  141. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +60 -0
  142. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +8 -0
  143. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +147 -60
  144. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  145. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  146. package/packages/omo-codex/plugin/components/start-work-continuation/src/boulder-reader.ts +3 -71
  147. package/packages/omo-codex/plugin/components/start-work-continuation/src/plan-checklist.ts +171 -0
  148. package/packages/omo-codex/plugin/components/start-work-continuation/test/boulder-reader.test.ts +198 -23
  149. package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +4 -3
  150. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +6 -5
  151. package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-scaffold.md +15 -0
  152. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  153. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  154. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  155. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  156. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +10 -10
  157. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +2 -2
  158. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +2 -2
  159. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  160. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  161. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +2 -2
  162. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +3 -3
  163. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -1
  164. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +1 -1
  165. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  166. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  167. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +31 -8
  168. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +117 -6
  169. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +46 -10
  170. package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +1 -1
  171. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +42 -0
  172. package/packages/omo-codex/plugin/components/ulw-loop/README.md +6 -4
  173. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.d.ts +21 -0
  174. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +64 -0
  175. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +15 -2
  176. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +1 -1
  177. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +2 -1
  178. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  179. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +3 -3
  180. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.d.ts +3 -0
  181. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +85 -0
  182. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +0 -1
  183. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +13 -33
  184. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +998 -593
  185. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +1 -0
  186. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.d.ts +1 -1
  187. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.js +2 -0
  188. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +6 -0
  189. package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.d.ts +1 -0
  190. package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.js +3 -0
  191. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +1 -0
  192. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +4 -0
  193. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +1 -0
  194. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +10 -2
  195. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +1 -1
  196. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-batch.d.ts +15 -0
  197. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-batch.js +84 -0
  198. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.d.ts +5 -0
  199. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.js +81 -0
  200. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +7 -59
  201. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +12 -4
  202. package/packages/omo-codex/plugin/components/ulw-loop/dist/validation-batch.d.ts +9 -0
  203. package/packages/omo-codex/plugin/components/ulw-loop/dist/validation-batch.js +122 -0
  204. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  205. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  206. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +8 -6
  207. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +84 -0
  208. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +13 -2
  209. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +1 -1
  210. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +1 -1
  211. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +3 -3
  212. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +49 -0
  213. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +13 -45
  214. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +1 -0
  215. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +2 -0
  216. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +7 -0
  217. package/packages/omo-codex/plugin/components/ulw-loop/src/goal-status.ts +4 -0
  218. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +4 -1
  219. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +20 -2
  220. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +1 -1
  221. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-batch.ts +125 -0
  222. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-mutations.ts +59 -0
  223. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +6 -58
  224. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +12 -4
  225. package/packages/omo-codex/plugin/components/ulw-loop/src/validation-batch.ts +122 -0
  226. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +76 -0
  227. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint-continuation.test.ts +111 -0
  228. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-batch.test.ts +67 -0
  229. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-validation-batch.test.ts +57 -0
  230. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +1 -0
  231. package/packages/omo-codex/plugin/components/ulw-loop/test/steering-batch.test.ts +152 -0
  232. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +29 -0
  233. package/packages/omo-codex/plugin/components/ulw-loop/test/validation-batch-checkpoint.test.ts +147 -0
  234. package/packages/omo-codex/plugin/components/ulw-loop/test/validation-batch.test.ts +73 -0
  235. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  236. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  237. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  238. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  239. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  240. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  241. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  242. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  243. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  244. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  245. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  246. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +2 -2
  247. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  248. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +2 -2
  249. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  250. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +2 -2
  251. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  252. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  253. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  254. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  255. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  256. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  257. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  258. package/packages/omo-codex/plugin/package-lock.json +41 -41
  259. package/packages/omo-codex/plugin/package.json +1 -1
  260. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +32 -28
  261. package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +17 -45
  262. package/packages/omo-codex/plugin/scripts/migrate-codex-config/toml-section-editor.mjs +455 -0
  263. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +3 -18
  264. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +43 -0
  265. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +35 -5
  266. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +8 -6
  267. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +31 -8
  268. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +117 -6
  269. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +46 -10
  270. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +11 -11
  271. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +26 -0
  272. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +41 -0
  273. package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +2 -2
  274. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +6 -6
  275. package/packages/omo-codex/plugin/test/multi-agent-v2-regression.test.mjs +3 -3
  276. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +62 -0
  277. package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +271 -14
  278. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +3 -18
  279. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +0 -5
  280. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +293 -0
  281. package/packages/omo-codex/scripts/install-config.test.mjs +10 -10
  282. package/packages/omo-codex/scripts/install-dist/install-local.mjs +401 -22
  283. package/packages/omo-codex/scripts/install-generated-bundle.test.mjs +39 -2
  284. package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +4 -1
  285. package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.test.ts +87 -0
  286. package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +35 -5
  287. package/packages/shared-skills/skills/ulw-plan/SKILL.md +31 -8
  288. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +117 -6
  289. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +46 -10
  290. package/packages/shared-skills/skills/ulw-research/SKILL.md +3 -3
  291. package/dist/features/builtin-commands/templates/ralph-loop.d.ts +0 -3
  292. package/dist/skills/ultraresearch/SKILL.md +0 -10
  293. package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +0 -273
  294. package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +0 -12
  295. package/packages/shared-skills/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +0 -107
  296. package/packages/shared-skills/skills/lcx-doctor/SKILL.md +0 -128
  297. package/packages/shared-skills/skills/lcx-doctor/agents/openai.yaml +0 -11
  298. package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +0 -268
  299. package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +0 -11
  300. package/packages/shared-skills/skills/ultraresearch/SKILL.md +0 -10
  301. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-contribute-bug-fix/SKILL.md +0 -0
  302. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-contribute-bug-fix/agents/openai.yaml +0 -0
  303. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +0 -0
  304. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-doctor/SKILL.md +0 -0
  305. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-doctor/agents/openai.yaml +0 -0
  306. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-report-bug/SKILL.md +0 -0
  307. /package/{dist → packages/omo-codex/plugin/components/lcx}/skills/lcx-report-bug/agents/openai.yaml +0 -0
package/dist/tui.js CHANGED
@@ -4171,6 +4171,7 @@ var init_env = __esm(() => {
4171
4171
  SAFE_CODEGRAPH_RUNTIME_ENV_KEYS = new Set([
4172
4172
  "CODEGRAPH_ALLOW_UNSAFE_NODE",
4173
4173
  "CODEGRAPH_BIN",
4174
+ "CODEGRAPH_DAEMON_IDLE_TIMEOUT_MS",
4174
4175
  "CODEGRAPH_FAKE_LOG",
4175
4176
  "CODEGRAPH_NO_DAEMON",
4176
4177
  "CODEGRAPH_NODE_BIN",
@@ -4186,6 +4187,9 @@ var init_workspace = () => {};
4186
4187
  // packages/utils/src/codegraph/guidance.ts
4187
4188
  var init_guidance = () => {};
4188
4189
 
4190
+ // packages/utils/src/codegraph/manifest.ts
4191
+ var init_manifest = () => {};
4192
+
4189
4193
  // packages/utils/src/codegraph/provision.ts
4190
4194
  import { execFile } from "child_process";
4191
4195
  import { promisify } from "util";
@@ -4208,6 +4212,7 @@ var init_resolve2 = __esm(() => {
4208
4212
  var init_codegraph = __esm(() => {
4209
4213
  init_env();
4210
4214
  init_guidance();
4215
+ init_manifest();
4211
4216
  init_provision();
4212
4217
  init_process_sweep();
4213
4218
  init_resolve2();
@@ -19890,7 +19895,8 @@ var init_browser_automation = __esm(() => {
19890
19895
  "playwright-cli"
19891
19896
  ]);
19892
19897
  BrowserAutomationConfigSchema = exports_external.object({
19893
- provider: BrowserAutomationProviderSchema.default("playwright")
19898
+ provider: BrowserAutomationProviderSchema.default("playwright"),
19899
+ playwright_mcp_args: exports_external.array(exports_external.string()).optional()
19894
19900
  });
19895
19901
  });
19896
19902
 
@@ -19957,7 +19963,9 @@ var init_codegraph2 = __esm(() => {
19957
19963
  CodegraphConfigSchema = exports_external.object({
19958
19964
  auto_init: exports_external.boolean().default(true),
19959
19965
  auto_provision: exports_external.boolean().default(true),
19966
+ daemon: exports_external.boolean().default(false),
19960
19967
  enabled: exports_external.boolean().default(true),
19968
+ excluded_roots: exports_external.array(exports_external.string()).optional(),
19961
19969
  install_dir: exports_external.string().optional(),
19962
19970
  telemetry: exports_external.boolean().optional(),
19963
19971
  watch_debounce_ms: exports_external.number().nonnegative().optional()
@@ -19978,9 +19986,7 @@ var BuiltinCommandNameSchema;
19978
19986
  var init_commands = __esm(() => {
19979
19987
  init_zod();
19980
19988
  BuiltinCommandNameSchema = exports_external.enum([
19981
- "ralph-loop",
19982
- "ulw-loop",
19983
- "cancel-ralph",
19989
+ "goal",
19984
19990
  "refactor",
19985
19991
  "start-work",
19986
19992
  "stop-continuation",
@@ -19995,7 +20001,7 @@ var init_default_mode = __esm(() => {
19995
20001
  init_zod();
19996
20002
  DefaultModeConfigSchema = exports_external.object({
19997
20003
  ultrawork: exports_external.boolean().default(false),
19998
- ralph_loop: exports_external.boolean().default(false)
20004
+ goal: exports_external.boolean().default(false)
19999
20005
  });
20000
20006
  });
20001
20007
 
@@ -20056,6 +20062,17 @@ var init_experimental = __esm(() => {
20056
20062
  });
20057
20063
  });
20058
20064
 
20065
+ // packages/omo-opencode/src/config/schema/goal.ts
20066
+ var GoalConfigSchema;
20067
+ var init_goal = __esm(() => {
20068
+ init_zod();
20069
+ GoalConfigSchema = exports_external.object({
20070
+ enabled: exports_external.boolean().default(false),
20071
+ auto_start: exports_external.boolean().default(false),
20072
+ default_max_iterations: exports_external.number().min(1).max(1000).default(100)
20073
+ });
20074
+ });
20075
+
20059
20076
  // packages/skills-loader-core/src/config/git-env-prefix.ts
20060
20077
  function isValidGitEnvPrefix(value) {
20061
20078
  if (value === "") {
@@ -20116,7 +20133,7 @@ var init_hooks = __esm(() => {
20116
20133
  "interactive-bash-session",
20117
20134
  "tool-pair-validator",
20118
20135
  "monitor-status-injector",
20119
- "ralph-loop",
20136
+ "goal",
20120
20137
  "category-skill-reminder",
20121
20138
  "compaction-context-injector",
20122
20139
  "compaction-todo-preserver",
@@ -20264,18 +20281,6 @@ var init_monitor = __esm(() => {
20264
20281
  });
20265
20282
  });
20266
20283
 
20267
- // packages/omo-opencode/src/config/schema/ralph-loop.ts
20268
- var RalphLoopConfigSchema;
20269
- var init_ralph_loop = __esm(() => {
20270
- init_zod();
20271
- RalphLoopConfigSchema = exports_external.object({
20272
- enabled: exports_external.boolean().default(false),
20273
- default_max_iterations: exports_external.number().min(1).max(1000).default(100),
20274
- state_dir: exports_external.string().optional(),
20275
- default_strategy: exports_external.enum(["reset", "continue"]).default("continue")
20276
- });
20277
- });
20278
-
20279
20284
  // packages/omo-opencode/src/config/schema/runtime-fallback.ts
20280
20285
  var RuntimeFallbackConfigSchema;
20281
20286
  var init_runtime_fallback = __esm(() => {
@@ -20536,8 +20541,8 @@ var init_oh_my_opencode_config = __esm(() => {
20536
20541
  init_notification();
20537
20542
  init_openclaw();
20538
20543
  init_model_capabilities();
20544
+ init_goal();
20539
20545
  init_monitor();
20540
- init_ralph_loop();
20541
20546
  init_runtime_fallback();
20542
20547
  init_team_mode();
20543
20548
  init_skills();
@@ -20572,7 +20577,8 @@ var init_oh_my_opencode_config = __esm(() => {
20572
20577
  experimental: ExperimentalConfigSchema.optional(),
20573
20578
  auto_update: exports_external.boolean().optional(),
20574
20579
  skills: SkillsConfigSchema.optional(),
20575
- ralph_loop: RalphLoopConfigSchema.optional(),
20580
+ goal: GoalConfigSchema.optional(),
20581
+ ralph_loop: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
20576
20582
  runtime_fallback: exports_external.union([exports_external.boolean(), RuntimeFallbackConfigSchema]).optional(),
20577
20583
  background_task: BackgroundTaskConfigSchema.optional(),
20578
20584
  notification: NotificationConfigSchema.optional(),
@@ -20617,6 +20623,7 @@ var init_schema = __esm(() => {
20617
20623
  init_dynamic_context_pruning();
20618
20624
  init_experimental();
20619
20625
  init_fallback_models();
20626
+ init_goal();
20620
20627
  init_git_env_prefix2();
20621
20628
  init_git_master();
20622
20629
  init_hooks();
@@ -20625,7 +20632,6 @@ var init_schema = __esm(() => {
20625
20632
  init_model_capabilities();
20626
20633
  init_notification();
20627
20634
  init_oh_my_opencode_config();
20628
- init_ralph_loop();
20629
20635
  init_runtime_fallback();
20630
20636
  init_team_mode();
20631
20637
  init_skills();
@@ -20668,25 +20674,25 @@ var init_agent_model_requirements = __esm(() => {
20668
20674
  fallbackChain: [
20669
20675
  {
20670
20676
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20671
- model: "claude-opus-4-7",
20677
+ model: "claude-opus-4-8",
20672
20678
  variant: "max"
20673
20679
  },
20674
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20675
- { providers: ["kimi-for-coding"], model: "k2p5" },
20676
20680
  {
20677
20681
  providers: [
20682
+ "opencode-go",
20683
+ "kimi-for-coding",
20684
+ "moonshotai",
20678
20685
  "opencode",
20686
+ "vercel",
20679
20687
  "bailian-coding-plan",
20680
- "moonshotai",
20681
20688
  "moonshotai-cn",
20682
20689
  "firmware",
20683
20690
  "ollama-cloud",
20684
- "aihubmix",
20685
- "vercel"
20691
+ "aihubmix"
20686
20692
  ],
20687
- model: "kimi-k2.5"
20693
+ model: "kimi-k3"
20688
20694
  },
20689
- { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5.5", variant: "medium" },
20695
+ { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5.6-sol", variant: "medium" },
20690
20696
  { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
20691
20697
  { providers: ["opencode"], model: "big-pickle" }
20692
20698
  ],
@@ -20695,13 +20701,8 @@ var init_agent_model_requirements = __esm(() => {
20695
20701
  hephaestus: {
20696
20702
  fallbackChain: [
20697
20703
  {
20698
- providers: ["openai", "github-copilot", "vercel"],
20704
+ providers: ["openai", "github-copilot", "vercel", "opencode"],
20699
20705
  model: "gpt-5.6-sol",
20700
- variant: "high"
20701
- },
20702
- {
20703
- providers: ["openai", "github-copilot", "opencode", "vercel"],
20704
- model: "gpt-5.5",
20705
20706
  variant: "medium"
20706
20707
  }
20707
20708
  ],
@@ -20711,8 +20712,13 @@ var init_agent_model_requirements = __esm(() => {
20711
20712
  oracle: {
20712
20713
  fallbackChain: [
20713
20714
  {
20714
- providers: ["openai", "github-copilot", "opencode", "vercel"],
20715
- model: "gpt-5.5",
20715
+ providers: ["openai", "opencode", "vercel"],
20716
+ model: "gpt-5.6-sol",
20717
+ variant: "xhigh"
20718
+ },
20719
+ {
20720
+ providers: ["github-copilot"],
20721
+ model: "gpt-5.6-sol",
20716
20722
  variant: "high"
20717
20723
  },
20718
20724
  {
@@ -20722,7 +20728,7 @@ var init_agent_model_requirements = __esm(() => {
20722
20728
  },
20723
20729
  {
20724
20730
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20725
- model: "claude-opus-4-7",
20731
+ model: "claude-opus-4-8",
20726
20732
  variant: "max"
20727
20733
  },
20728
20734
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
@@ -20754,8 +20760,8 @@ var init_agent_model_requirements = __esm(() => {
20754
20760
  },
20755
20761
  "multimodal-looker": {
20756
20762
  fallbackChain: [
20757
- { providers: ["openai", "opencode", "vercel"], model: "gpt-5.5", variant: "medium" },
20758
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20763
+ { providers: ["openai", "opencode", "vercel"], model: "gpt-5.6-sol", variant: "low" },
20764
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20759
20765
  { providers: ["zai-coding-plan", "vercel"], model: "glm-4.6v" },
20760
20766
  { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5-nano" }
20761
20767
  ]
@@ -20764,12 +20770,12 @@ var init_agent_model_requirements = __esm(() => {
20764
20770
  fallbackChain: [
20765
20771
  {
20766
20772
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20767
- model: "claude-opus-4-7",
20773
+ model: "claude-opus-4-8",
20768
20774
  variant: "max"
20769
20775
  },
20770
20776
  {
20771
20777
  providers: ["openai", "github-copilot", "opencode", "vercel"],
20772
- model: "gpt-5.5",
20778
+ model: "gpt-5.6-sol",
20773
20779
  variant: "high"
20774
20780
  },
20775
20781
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" },
@@ -20787,38 +20793,43 @@ var init_agent_model_requirements = __esm(() => {
20787
20793
  },
20788
20794
  {
20789
20795
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20790
- model: "claude-opus-4-7",
20796
+ model: "claude-opus-4-8",
20791
20797
  variant: "max"
20792
20798
  },
20793
20799
  {
20794
20800
  providers: ["openai", "github-copilot", "opencode", "vercel"],
20795
- model: "gpt-5.5",
20796
- variant: "high"
20801
+ model: "gpt-5.6-sol",
20802
+ variant: "medium"
20797
20803
  },
20798
20804
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" },
20799
- { providers: ["kimi-for-coding"], model: "k2p5" }
20805
+ { providers: ["kimi-for-coding"], model: "kimi-k3" }
20800
20806
  ]
20801
20807
  },
20802
20808
  momus: {
20803
20809
  fallbackChain: [
20804
20810
  {
20805
20811
  providers: ["openai", "vercel"],
20806
- model: "gpt-5.6-sol",
20807
- variant: "xhigh"
20812
+ model: "gpt-5.6-terra",
20813
+ variant: "high"
20808
20814
  },
20809
20815
  {
20810
20816
  providers: ["github-copilot"],
20811
- model: "gpt-5.6-sol",
20817
+ model: "gpt-5.6-terra",
20812
20818
  variant: "high"
20813
20819
  },
20814
20820
  {
20815
- providers: ["openai", "github-copilot", "opencode", "vercel"],
20816
- model: "gpt-5.5",
20821
+ providers: ["openai", "opencode", "vercel"],
20822
+ model: "gpt-5.6-sol",
20817
20823
  variant: "xhigh"
20818
20824
  },
20825
+ {
20826
+ providers: ["github-copilot"],
20827
+ model: "gpt-5.6-sol",
20828
+ variant: "high"
20829
+ },
20819
20830
  {
20820
20831
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20821
- model: "claude-opus-4-7",
20832
+ model: "claude-opus-4-8",
20822
20833
  variant: "max"
20823
20834
  },
20824
20835
  {
@@ -20832,10 +20843,10 @@ var init_agent_model_requirements = __esm(() => {
20832
20843
  atlas: {
20833
20844
  fallbackChain: [
20834
20845
  { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
20835
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20846
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20836
20847
  {
20837
20848
  providers: ["openai", "github-copilot", "opencode", "vercel"],
20838
- model: "gpt-5.5",
20849
+ model: "gpt-5.6-sol",
20839
20850
  variant: "medium"
20840
20851
  },
20841
20852
  { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
@@ -20846,10 +20857,10 @@ var init_agent_model_requirements = __esm(() => {
20846
20857
  "sisyphus-junior": {
20847
20858
  fallbackChain: [
20848
20859
  { providers: ["anthropic", "github-copilot", "opencode", "vercel"], model: "claude-sonnet-4-6" },
20849
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20860
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20850
20861
  {
20851
20862
  providers: ["openai", "github-copilot", "opencode", "vercel"],
20852
- model: "gpt-5.5",
20863
+ model: "gpt-5.6-sol",
20853
20864
  variant: "medium"
20854
20865
  },
20855
20866
  { providers: ["opencode-go", "vercel"], model: "minimax-m3" },
@@ -20875,11 +20886,11 @@ var init_category_model_requirements = __esm(() => {
20875
20886
  { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
20876
20887
  {
20877
20888
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20878
- model: "claude-opus-4-7",
20889
+ model: "claude-opus-4-8",
20879
20890
  variant: "max"
20880
20891
  },
20881
20892
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" },
20882
- { providers: ["kimi-for-coding"], model: "k2p5" }
20893
+ { providers: ["kimi-for-coding"], model: "kimi-k3" }
20883
20894
  ]
20884
20895
  },
20885
20896
  ultrabrain: {
@@ -20896,7 +20907,7 @@ var init_category_model_requirements = __esm(() => {
20896
20907
  },
20897
20908
  {
20898
20909
  providers: ["openai", "opencode", "vercel"],
20899
- model: "gpt-5.5",
20910
+ model: "gpt-5.6-sol",
20900
20911
  variant: "xhigh"
20901
20912
  },
20902
20913
  {
@@ -20906,7 +20917,7 @@ var init_category_model_requirements = __esm(() => {
20906
20917
  },
20907
20918
  {
20908
20919
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20909
- model: "claude-opus-4-7",
20920
+ model: "claude-opus-4-8",
20910
20921
  variant: "max"
20911
20922
  },
20912
20923
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
@@ -20931,12 +20942,12 @@ var init_category_model_requirements = __esm(() => {
20931
20942
  },
20932
20943
  {
20933
20944
  providers: ["openai", "github-copilot", "opencode", "vercel"],
20934
- model: "gpt-5.5",
20945
+ model: "gpt-5.6-sol",
20935
20946
  variant: "medium"
20936
20947
  },
20937
20948
  {
20938
20949
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20939
- model: "claude-opus-4-7",
20950
+ model: "claude-opus-4-8",
20940
20951
  variant: "max"
20941
20952
  },
20942
20953
  {
@@ -20944,7 +20955,7 @@ var init_category_model_requirements = __esm(() => {
20944
20955
  model: "gemini-3.1-pro",
20945
20956
  variant: "high"
20946
20957
  },
20947
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20958
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20948
20959
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20949
20960
  ]
20950
20961
  },
@@ -20957,11 +20968,11 @@ var init_category_model_requirements = __esm(() => {
20957
20968
  },
20958
20969
  {
20959
20970
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
20960
- model: "claude-opus-4-7",
20971
+ model: "claude-opus-4-8",
20961
20972
  variant: "max"
20962
20973
  },
20963
- { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5.5" },
20964
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
20974
+ { providers: ["openai", "github-copilot", "opencode", "vercel"], model: "gpt-5.6-sol", variant: "high" },
20975
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
20965
20976
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" }
20966
20977
  ]
20967
20978
  },
@@ -21003,10 +21014,10 @@ var init_category_model_requirements = __esm(() => {
21003
21014
  },
21004
21015
  {
21005
21016
  providers: ["openai", "opencode", "vercel"],
21006
- model: "gpt-5.5",
21017
+ model: "gpt-5.6-sol",
21007
21018
  variant: "medium"
21008
21019
  },
21009
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
21020
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
21010
21021
  {
21011
21022
  providers: ["google", "github-copilot", "opencode", "vercel"],
21012
21023
  model: "gemini-3-flash"
@@ -21020,30 +21031,29 @@ var init_category_model_requirements = __esm(() => {
21020
21031
  fallbackChain: [
21021
21032
  {
21022
21033
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
21023
- model: "claude-opus-4-7",
21034
+ model: "claude-opus-4-8",
21024
21035
  variant: "max"
21025
21036
  },
21026
21037
  {
21027
21038
  providers: ["openai", "github-copilot", "opencode", "vercel"],
21028
- model: "gpt-5.5",
21039
+ model: "gpt-5.6-sol",
21029
21040
  variant: "high"
21030
21041
  },
21031
21042
  { providers: ["zai-coding-plan", "opencode", "bailian-coding-plan", "vercel"], model: "glm-5" },
21032
- { providers: ["kimi-for-coding"], model: "k2p5" },
21043
+ { providers: ["kimi-for-coding"], model: "kimi-k3" },
21033
21044
  { providers: ["opencode-go", "vercel"], model: "glm-5.2" },
21034
- { providers: ["opencode", "bailian-coding-plan", "vercel"], model: "kimi-k2.5" },
21035
21045
  {
21036
21046
  providers: [
21037
21047
  "opencode",
21038
21048
  "bailian-coding-plan",
21049
+ "vercel",
21039
21050
  "moonshotai",
21040
21051
  "moonshotai-cn",
21041
21052
  "firmware",
21042
21053
  "ollama-cloud",
21043
- "aihubmix",
21044
- "vercel"
21054
+ "aihubmix"
21045
21055
  ],
21046
- model: "kimi-k2.5"
21056
+ model: "kimi-k3"
21047
21057
  }
21048
21058
  ]
21049
21059
  },
@@ -21053,7 +21063,7 @@ var init_category_model_requirements = __esm(() => {
21053
21063
  providers: ["google", "github-copilot", "opencode", "vercel"],
21054
21064
  model: "gemini-3-flash"
21055
21065
  },
21056
- { providers: ["opencode-go", "vercel"], model: "kimi-k2.6" },
21066
+ { providers: ["opencode-go", "vercel"], model: "kimi-k3" },
21057
21067
  {
21058
21068
  providers: ["anthropic", "github-copilot", "opencode", "vercel"],
21059
21069
  model: "claude-sonnet-4-6"
@@ -21381,6 +21391,21 @@ var init_runtime_fallback_model = () => {};
21381
21391
  var SUPPLEMENTAL_MODEL_CAPABILITIES;
21382
21392
  var init_supplemental_entries = __esm(() => {
21383
21393
  SUPPLEMENTAL_MODEL_CAPABILITIES = {
21394
+ "kimi-k3": {
21395
+ id: "kimi-k3",
21396
+ family: "kimi",
21397
+ reasoning: true,
21398
+ temperature: true,
21399
+ toolCall: true,
21400
+ modalities: {
21401
+ input: ["text", "image", "video"],
21402
+ output: ["text"]
21403
+ },
21404
+ limit: {
21405
+ context: 262144,
21406
+ output: 262144
21407
+ }
21408
+ },
21384
21409
  "kimi-k2.6": {
21385
21410
  id: "kimi-k2.6",
21386
21411
  family: "kimi",
@@ -21980,7 +22005,7 @@ var init_anthropic_categories = __esm(() => {
21980
22005
  ANTHROPIC_CATEGORIES = [
21981
22006
  {
21982
22007
  name: "unspecified-high",
21983
- config: { model: "anthropic/claude-opus-4-7", variant: "max" },
22008
+ config: { model: "anthropic/claude-opus-4-8", variant: "max" },
21984
22009
  description: "Tasks that don't fit other categories, high effort required",
21985
22010
  promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND
21986
22011
  }
@@ -22138,7 +22163,7 @@ var init_kimi_categories = __esm(() => {
22138
22163
  KIMI_CATEGORIES = [
22139
22164
  {
22140
22165
  name: "writing",
22141
- config: { model: "kimi-for-coding/k2p5" },
22166
+ config: { model: "kimi-for-coding/kimi-k3" },
22142
22167
  description: "Documentation, prose, technical writing",
22143
22168
  promptAppend: WRITING_CATEGORY_PROMPT_APPEND
22144
22169
  }
@@ -75780,7 +75805,7 @@ var init_claude_model_mapper = __esm(() => {
75780
75805
  init_model_normalization2();
75781
75806
  CLAUDE_CODE_ALIAS_MAP = new Map([
75782
75807
  ["sonnet", `${ANTHROPIC_PREFIX}claude-sonnet-4-6`],
75783
- ["opus", `${ANTHROPIC_PREFIX}claude-opus-4-7`],
75808
+ ["opus", `${ANTHROPIC_PREFIX}claude-opus-4-8`],
75784
75809
  ["haiku", `${ANTHROPIC_PREFIX}claude-haiku-4-5`]
75785
75810
  ]);
75786
75811
  });
@@ -76229,13 +76254,45 @@ function mergeLoadedConfig(userLayersNearestFirst, projectLayersNearestFirst) {
76229
76254
  config3 = mergeConfigs(config3, layer.config);
76230
76255
  }
76231
76256
  const userMcpEnvAllowlist = config3.mcp_env_allowlist ?? [];
76257
+ const userPlaywrightMcpArgs = config3.browser_automation_engine?.playwright_mcp_args;
76232
76258
  for (const layer of [...projectLayersNearestFirst].reverse()) {
76233
76259
  if (layer.config)
76234
76260
  config3 = mergeConfigs(config3, layer.config);
76235
76261
  }
76236
76262
  config3 = { ...config3, mcp_env_allowlist: userMcpEnvAllowlist };
76263
+ if (config3.browser_automation_engine) {
76264
+ const {
76265
+ playwright_mcp_args: _projectPlaywrightMcpArgs,
76266
+ ...browserAutomationEngine
76267
+ } = config3.browser_automation_engine;
76268
+ config3 = {
76269
+ ...config3,
76270
+ browser_automation_engine: userPlaywrightMcpArgs !== undefined ? { ...browserAutomationEngine, playwright_mcp_args: userPlaywrightMcpArgs } : browserAutomationEngine
76271
+ };
76272
+ }
76237
76273
  return applyDisabledProviders(config3);
76238
76274
  }
76275
+ function migrateRalphLoopConfig(config3) {
76276
+ const legacy = config3.ralph_loop;
76277
+ if (legacy === undefined) {
76278
+ return config3;
76279
+ }
76280
+ const enabled = typeof legacy.enabled === "boolean" ? legacy.enabled : undefined;
76281
+ const defaultMaxIterations = typeof legacy.default_max_iterations === "number" ? legacy.default_max_iterations : undefined;
76282
+ if (enabled === undefined && defaultMaxIterations === undefined) {
76283
+ return config3;
76284
+ }
76285
+ log2("[config] ralph_loop is deprecated and will be removed in a future release. Use goal instead.");
76286
+ const existingGoal = config3.goal;
76287
+ return {
76288
+ ...config3,
76289
+ goal: {
76290
+ enabled: existingGoal?.enabled ?? enabled ?? false,
76291
+ auto_start: existingGoal?.auto_start ?? false,
76292
+ default_max_iterations: existingGoal?.default_max_iterations ?? defaultMaxIterations ?? 100
76293
+ }
76294
+ };
76295
+ }
76239
76296
  function validatePluginConfig(directory) {
76240
76297
  const userLayersNearestFirst = discoverUserLayers().map((layer) => parseLayerConfig(layer.path));
76241
76298
  const projectLayersNearestFirst = discoverProjectLayersNearestFirst(directory).map((layer) => parseLayerConfig(layer.path));
@@ -76245,7 +76302,7 @@ function validatePluginConfig(directory) {
76245
76302
  valid: messages.length === 0,
76246
76303
  messages,
76247
76304
  path: firstFailingPath(layers) ?? firstPath(layers),
76248
- config: mergeLoadedConfig(userLayersNearestFirst, projectLayersNearestFirst)
76305
+ config: migrateRalphLoopConfig(mergeLoadedConfig(userLayersNearestFirst, projectLayersNearestFirst))
76249
76306
  };
76250
76307
  }
76251
76308
  var init_validate = __esm(() => {
@@ -76254,6 +76311,7 @@ var init_validate = __esm(() => {
76254
76311
  init_single_config_loader();
76255
76312
  init_shared();
76256
76313
  init_disabled_providers();
76314
+ init_logger2();
76257
76315
  init_plugin_identity();
76258
76316
  init_schema();
76259
76317
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode",
3
- "version": "4.18.2",
3
+ "version": "4.19.1",
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",
@@ -110,7 +110,7 @@
110
110
  "install:codex-dev": "bun run script/build-codex-install.ts && bun run script/install-codex-dev.ts",
111
111
  "build:codex-plugin": "npm --prefix packages/omo-codex/plugin ci && bun run --cwd packages/omo-codex/plugin build",
112
112
  "build:senpi-plugin": "bun run build:lsp-daemon && bun run build:senpi-plugin:stage",
113
- "build:senpi-plugin:stage": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
113
+ "build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
114
114
  "build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
115
115
  "build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
116
116
  "build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
@@ -212,18 +212,18 @@
212
212
  "typescript": "^6.0.3"
213
213
  },
214
214
  "optionalDependencies": {
215
- "oh-my-opencode-darwin-arm64": "4.18.2",
216
- "oh-my-opencode-darwin-x64": "4.18.2",
217
- "oh-my-opencode-darwin-x64-baseline": "4.18.2",
218
- "oh-my-opencode-linux-arm64": "4.18.2",
219
- "oh-my-opencode-linux-arm64-musl": "4.18.2",
220
- "oh-my-opencode-linux-x64": "4.18.2",
221
- "oh-my-opencode-linux-x64-baseline": "4.18.2",
222
- "oh-my-opencode-linux-x64-musl": "4.18.2",
223
- "oh-my-opencode-linux-x64-musl-baseline": "4.18.2",
224
- "oh-my-opencode-windows-arm64": "4.18.2",
225
- "oh-my-opencode-windows-x64": "4.18.2",
226
- "oh-my-opencode-windows-x64-baseline": "4.18.2"
215
+ "oh-my-opencode-darwin-arm64": "4.19.1",
216
+ "oh-my-opencode-darwin-x64": "4.19.1",
217
+ "oh-my-opencode-darwin-x64-baseline": "4.19.1",
218
+ "oh-my-opencode-linux-arm64": "4.19.1",
219
+ "oh-my-opencode-linux-arm64-musl": "4.19.1",
220
+ "oh-my-opencode-linux-x64": "4.19.1",
221
+ "oh-my-opencode-linux-x64-baseline": "4.19.1",
222
+ "oh-my-opencode-linux-x64-musl": "4.19.1",
223
+ "oh-my-opencode-linux-x64-musl-baseline": "4.19.1",
224
+ "oh-my-opencode-windows-arm64": "4.19.1",
225
+ "oh-my-opencode-windows-x64": "4.19.1",
226
+ "oh-my-opencode-windows-x64-baseline": "4.19.1"
227
227
  },
228
228
  "overrides": {
229
229
  "@earendil-works/pi-agent-core": "0.80.3",