oh-my-opencode 4.19.4 → 5.0.0-beta.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 (268) hide show
  1. package/README.ja.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +6 -5
  4. package/README.ru.md +1 -1
  5. package/README.zh-cn.md +1 -1
  6. package/bin/oh-my-opencode.js +14 -1
  7. package/bin/oh-my-opencode.test.ts +21 -0
  8. package/dist/cli/index.js +1452 -703
  9. package/dist/cli-node/index.js +1452 -703
  10. package/dist/config/schema/agent-overrides.d.ts +528 -0
  11. package/dist/config/schema/oh-my-opencode-config.d.ts +495 -0
  12. package/dist/features/monitor/batcher.d.ts +3 -1
  13. package/dist/features/monitor/manager-internals.d.ts +1 -0
  14. package/dist/features/monitor/output-injector-types.d.ts +2 -0
  15. package/dist/features/monitor/output-injector.d.ts +6 -0
  16. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  17. package/dist/hooks/todo-continuation-enforcer/unrecoverable-request-error.d.ts +9 -0
  18. package/dist/hooks/tool-pair-validator/hook.test-support.d.ts +29 -0
  19. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +14 -5
  20. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -3
  21. package/dist/hooks/tool-pair-validator/types.d.ts +5 -22
  22. package/dist/index.js +2776 -2240
  23. package/dist/mcp/lsp.d.ts +1 -0
  24. package/dist/oh-my-opencode.schema.json +1466 -131
  25. package/dist/shared/tmux/constants.d.ts +1 -1
  26. package/dist/skills/ast-grep/SOURCE +1 -1
  27. package/dist/skills/ast-grep/install.ps1 +2 -2
  28. package/dist/skills/ast-grep/install.sh +1 -1
  29. package/dist/skills/ast-grep/references/install.md +2 -2
  30. package/dist/skills/ast-grep/tests/smoke.sh +1 -1
  31. package/dist/skills/start-work/SKILL.md +54 -9
  32. package/dist/skills/ultimate-browsing/SKILL.md +2 -2
  33. package/dist/skills/ultimate-browsing/engine/__main__.py +8 -1
  34. package/dist/skills/ultimate-browsing/engine/bias_check.py +11 -0
  35. package/dist/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  36. package/dist/skills/ultimate-browsing/engine/result_schema.py +10 -1
  37. package/dist/skills/ultimate-browsing/engine/surrogate.py +214 -0
  38. package/dist/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  39. package/dist/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  40. package/dist/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  41. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  42. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  43. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  44. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  45. package/dist/skills/ultimate-browsing/engine/validators.py +46 -0
  46. package/dist/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  47. package/dist/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  48. package/dist/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  49. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  50. package/dist/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  51. package/dist/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  52. package/dist/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  53. package/dist/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  54. package/dist/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  55. package/dist/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  56. package/dist/skills/ulw-plan/SKILL.md +1 -1
  57. package/dist/skills/ulw-plan/references/full-workflow.md +3 -3
  58. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  59. package/dist/skills/ulw-research/SKILL.md +15 -10
  60. package/dist/tui.js +307 -28
  61. package/docs/reference/web-terminal-visual-qa.md +1 -1
  62. package/package.json +27 -19
  63. package/packages/lsp-core/src/lsp/connection.ts +1 -1
  64. package/packages/lsp-daemon/dist/cli.js +27 -13
  65. package/packages/lsp-daemon/dist/client.js +49 -35
  66. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
  67. package/packages/lsp-daemon/dist/ensure-daemon.js +18 -5
  68. package/packages/lsp-daemon/dist/index.js +34 -20
  69. package/packages/lsp-tools-mcp/dist/cli.js +1 -1
  70. package/packages/lsp-tools-mcp/dist/lsp/manager.js +1 -1
  71. package/packages/lsp-tools-mcp/dist/mcp.js +1 -1
  72. package/packages/lsp-tools-mcp/dist/tools.js +1 -1
  73. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  74. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +268 -92
  75. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  76. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  77. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -7
  78. package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +3 -0
  79. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +106 -6
  80. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +106 -6
  81. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  82. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  83. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  84. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  85. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  86. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  87. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  88. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  89. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +56 -42
  90. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  91. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  92. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  93. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  94. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +1 -0
  95. package/packages/omo-codex/plugin/components/start-work-continuation/README.md +5 -1
  96. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +2 -1
  97. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +18 -0
  98. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  99. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  100. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  101. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +105 -0
  102. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  103. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  104. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  105. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  106. package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +2 -0
  107. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  108. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  109. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  110. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  111. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  112. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  113. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  114. package/packages/omo-codex/plugin/components/ultrawork/directive.md +3 -2
  115. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  116. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  117. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +3 -2
  118. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +1 -1
  119. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +3 -3
  120. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  121. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  122. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
  123. package/packages/omo-codex/plugin/components/ulw-loop/README.md +11 -11
  124. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +3 -2
  125. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -1
  126. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  127. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +9 -9
  128. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +1 -1
  129. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +66 -66
  130. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +4 -4
  131. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +1 -1
  132. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -1
  133. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +1 -1
  134. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +1 -1
  135. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +2 -2
  136. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  137. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  138. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -3
  139. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +22 -25
  140. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -1
  141. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +9 -9
  142. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +1 -1
  143. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +1 -1
  144. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +4 -4
  145. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +1 -1
  146. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -1
  147. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +1 -1
  148. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +1 -1
  149. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +2 -2
  150. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -2
  151. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +1 -1
  152. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +2 -2
  153. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +1 -1
  154. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +2 -2
  155. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +1 -1
  156. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -5
  157. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +1 -1
  158. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +1 -1
  159. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +1 -1
  160. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  161. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  162. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  163. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  164. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  165. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  166. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  167. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  168. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  169. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  170. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  171. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  172. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  173. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  174. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  175. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  176. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  177. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  178. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  179. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  180. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  181. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  182. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  183. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  184. package/packages/omo-codex/plugin/package-lock.json +13 -13
  185. package/packages/omo-codex/plugin/package.json +1 -1
  186. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +4 -4
  187. package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -1
  188. package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +2 -2
  189. package/packages/omo-codex/plugin/skills/ast-grep/install.sh +1 -1
  190. package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +2 -2
  191. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +1 -1
  192. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +54 -9
  193. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -2
  194. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/__main__.py +8 -1
  195. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/bias_check.py +11 -0
  196. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  197. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/result_schema.py +10 -1
  198. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogate.py +214 -0
  199. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  200. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  201. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  202. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  203. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  204. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  205. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  206. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/validators.py +46 -0
  207. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  208. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  209. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  210. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  211. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  212. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  213. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  214. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  215. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  216. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  217. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +3 -2
  218. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -3
  219. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +22 -25
  220. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +1 -1
  221. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +3 -3
  222. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  223. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +15 -10
  224. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +12 -12
  225. package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +36 -4
  226. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +1 -1
  227. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +4 -4
  228. package/packages/omo-codex/scripts/install-bin-links.test.mjs +56 -2
  229. package/packages/omo-codex/scripts/install-delegated-command.test.mjs +6 -6
  230. package/packages/omo-codex/scripts/install-dist/install-local.mjs +115 -61
  231. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +4 -4
  232. package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
  233. package/packages/shared-skills/index.mjs +19 -1
  234. package/packages/shared-skills/skills/ast-grep/SOURCE +1 -1
  235. package/packages/shared-skills/skills/ast-grep/install.ps1 +2 -2
  236. package/packages/shared-skills/skills/ast-grep/install.sh +1 -1
  237. package/packages/shared-skills/skills/ast-grep/references/install.md +2 -2
  238. package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +1 -1
  239. package/packages/shared-skills/skills/start-work/SKILL.md +54 -9
  240. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -2
  241. package/packages/shared-skills/skills/ultimate-browsing/engine/__main__.py +8 -1
  242. package/packages/shared-skills/skills/ultimate-browsing/engine/bias_check.py +11 -0
  243. package/packages/shared-skills/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  244. package/packages/shared-skills/skills/ultimate-browsing/engine/result_schema.py +10 -1
  245. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogate.py +214 -0
  246. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  247. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  248. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  249. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  250. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  251. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  252. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  253. package/packages/shared-skills/skills/ultimate-browsing/engine/validators.py +46 -0
  254. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  255. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  256. package/packages/shared-skills/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  257. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  258. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  259. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  260. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  261. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  262. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  263. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  264. package/packages/shared-skills/skills/ulw-plan/SKILL.md +1 -1
  265. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +3 -3
  266. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  267. package/packages/shared-skills/skills/ulw-research/SKILL.md +15 -10
  268. package/postinstall.mjs +6 -0
@@ -5549,6 +5549,76 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
5549
5549
  telemetry: boolean2().default(false)
5550
5550
  }).strict();
5551
5551
 
5552
+ // ../../omo-config-core/src/schema/memory.ts
5553
+ var OmoMemoryReflectionTriggerSchema = object({
5554
+ step_count: number2().int().nonnegative().default(0),
5555
+ on_compaction: boolean2().default(true)
5556
+ }).strict();
5557
+ var OmoMemoryReflectionSchema = object({
5558
+ trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 0, on_compaction: true }),
5559
+ merge: _enum(["auto", "integration"]).default("auto"),
5560
+ category: string2().min(1).default("quick"),
5561
+ timeout_minutes: number2().int().positive().default(15),
5562
+ sandbox: _enum(["auto", "required", "off"]).default("auto")
5563
+ }).strict();
5564
+ var OmoMemorySyncSchema = object({
5565
+ remote: string2().min(1).optional(),
5566
+ enabled: boolean2().default(true)
5567
+ }).strict();
5568
+ var OmoMemorySearchSchema = object({
5569
+ enabled: boolean2().default(true)
5570
+ }).strict();
5571
+ var OmoMemoryReflectionTriggerLayerSchema = object({
5572
+ step_count: number2().int().nonnegative().optional(),
5573
+ on_compaction: boolean2().optional()
5574
+ }).strict();
5575
+ var OmoMemoryReflectionLayerSchema = object({
5576
+ trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
5577
+ merge: _enum(["auto", "integration"]).optional(),
5578
+ category: string2().min(1).optional(),
5579
+ timeout_minutes: number2().int().positive().optional(),
5580
+ sandbox: _enum(["auto", "required", "off"]).optional()
5581
+ }).strict();
5582
+ var OmoMemorySyncLayerSchema = object({
5583
+ remote: string2().min(1).optional(),
5584
+ enabled: boolean2().optional()
5585
+ }).strict();
5586
+ var OmoMemorySearchLayerSchema = object({
5587
+ enabled: boolean2().optional()
5588
+ }).strict();
5589
+ var OmoMemoryAgentOverridesSchema = object({
5590
+ enabled: boolean2().optional(),
5591
+ agent: string2().min(1).optional(),
5592
+ reflection: OmoMemoryReflectionLayerSchema.optional(),
5593
+ sync: OmoMemorySyncLayerSchema.optional(),
5594
+ search: OmoMemorySearchLayerSchema.optional(),
5595
+ compile_warn_tokens: number2().int().positive().optional()
5596
+ }).strict();
5597
+ var OmoMemorySettingsSchema = object({
5598
+ enabled: boolean2().default(true),
5599
+ agent: string2().min(1).default("auto"),
5600
+ reflection: OmoMemoryReflectionSchema.default({
5601
+ trigger: { step_count: 0, on_compaction: true },
5602
+ merge: "auto",
5603
+ category: "quick",
5604
+ timeout_minutes: 15,
5605
+ sandbox: "auto"
5606
+ }),
5607
+ sync: OmoMemorySyncSchema.default({ enabled: true }),
5608
+ search: OmoMemorySearchSchema.default({ enabled: true }),
5609
+ compile_warn_tokens: number2().int().positive().default(30000),
5610
+ agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
5611
+ }).strict();
5612
+ var OmoMemorySettingsLayerSchema = object({
5613
+ enabled: boolean2().optional(),
5614
+ agent: string2().min(1).optional(),
5615
+ reflection: OmoMemoryReflectionLayerSchema.optional(),
5616
+ sync: OmoMemorySyncLayerSchema.optional(),
5617
+ search: OmoMemorySearchLayerSchema.optional(),
5618
+ compile_warn_tokens: number2().int().positive().optional(),
5619
+ agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
5620
+ }).strict();
5621
+
5552
5622
  // ../../omo-config-core/src/schema/model-catalog.ts
5553
5623
  function isRecord4(value) {
5554
5624
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -5566,6 +5636,8 @@ var OmoModelCatalogEntryLayerSchema = preprocess((value) => isRecord4(value) ? n
5566
5636
  var OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSchema);
5567
5637
 
5568
5638
  // ../../omo-config-core/src/schema/task.ts
5639
+ import { availableParallelism } from "node:os";
5640
+ var ResidencyMaxChildrenInputSchema = union([number2().int().positive(), literal("unlimited")]);
5569
5641
  var OmoTaskWaitSchema = object({
5570
5642
  min_ms: number2().int().positive().default(5000),
5571
5643
  default_ms: number2().int().positive().default(60000),
@@ -5585,10 +5657,11 @@ var OmoTaskSettingsSchema = object({
5585
5657
  provider_concurrency: record(string2(), number2().int().positive()).optional(),
5586
5658
  model_concurrency: record(string2(), number2().int().positive()).optional(),
5587
5659
  max_depth: number2().int().nonnegative().default(1),
5588
- residency_max_children: number2().int().positive().default(8),
5660
+ residency_max_children: ResidencyMaxChildrenInputSchema.default(8),
5589
5661
  ttl_ms: number2().int().positive().default(86400000),
5590
5662
  state_dir: string2().optional(),
5591
5663
  reattach_on_reconcile: boolean2().optional(),
5664
+ resume_children: boolean2().default(true),
5592
5665
  warnings: OmoTaskWarningsSchema.default({ unavailable_categories: true }),
5593
5666
  wait: OmoTaskWaitSchema.default({ min_ms: 5000, default_ms: 60000, max_ms: 600000 }),
5594
5667
  team: OmoTaskTeamSettingsSchema.default({
@@ -5616,14 +5689,22 @@ var OmoTaskSettingsLayerSchema = object({
5616
5689
  provider_concurrency: record(string2(), number2().int().positive()).optional(),
5617
5690
  model_concurrency: record(string2(), number2().int().positive()).optional(),
5618
5691
  max_depth: number2().int().nonnegative().optional(),
5619
- residency_max_children: number2().int().positive().optional(),
5692
+ residency_max_children: ResidencyMaxChildrenInputSchema.optional(),
5620
5693
  ttl_ms: number2().int().positive().optional(),
5621
5694
  state_dir: string2().optional(),
5622
5695
  reattach_on_reconcile: boolean2().optional(),
5696
+ resume_children: boolean2().optional(),
5623
5697
  warnings: OmoTaskWarningsLayerSchema.optional(),
5624
5698
  wait: OmoTaskWaitLayerSchema.optional(),
5625
5699
  team: OmoTaskTeamSettingsLayerSchema.optional()
5626
5700
  }).strict();
5701
+ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
5702
+ const record2 = record(string2(), unknown()).parse(input);
5703
+ return OmoTaskSettingsSchema.parse({
5704
+ ...record2,
5705
+ residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() * 3)
5706
+ });
5707
+ }
5627
5708
 
5628
5709
  // ../../omo-config-core/src/schema/team.ts
5629
5710
  var OmoTeamMemberBaseSchema = object({
@@ -5680,7 +5761,8 @@ var OmoTypedHarnessConfigSchema = object({
5680
5761
  codegraph: OmoCodegraphSettingsLayerSchema.optional(),
5681
5762
  task: OmoTaskSettingsLayerSchema.optional(),
5682
5763
  teams: OmoTeamsConfigLayerSchema.optional(),
5683
- models: OmoModelCatalogLayerSchema.optional()
5764
+ models: OmoModelCatalogLayerSchema.optional(),
5765
+ memory: OmoMemorySettingsLayerSchema.optional()
5684
5766
  }).strict();
5685
5767
  var OmoConfigProfileSchema = object({
5686
5768
  categories: OmoCategoriesConfigSchema.optional(),
@@ -5689,6 +5771,7 @@ var OmoConfigProfileSchema = object({
5689
5771
  task: OmoTaskSettingsLayerSchema.optional(),
5690
5772
  teams: OmoTeamsConfigLayerSchema.optional(),
5691
5773
  models: OmoModelCatalogLayerSchema.optional(),
5774
+ memory: OmoMemorySettingsLayerSchema.optional(),
5692
5775
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5693
5776
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5694
5777
  "[codex]": OmoTypedHarnessConfigSchema.optional()
@@ -5701,6 +5784,7 @@ var OmoConfigSchema = object({
5701
5784
  task: OmoTaskSettingsSchema.optional(),
5702
5785
  teams: OmoTeamsConfigSchema.optional(),
5703
5786
  models: OmoModelCatalogSchema.optional(),
5787
+ memory: OmoMemorySettingsSchema.optional(),
5704
5788
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5705
5789
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5706
5790
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -5716,6 +5800,7 @@ var OmoConfigLayerSchema = object({
5716
5800
  task: OmoTaskSettingsLayerSchema.optional(),
5717
5801
  teams: OmoTeamsConfigLayerSchema.optional(),
5718
5802
  models: OmoModelCatalogLayerSchema.optional(),
5803
+ memory: OmoMemorySettingsLayerSchema.optional(),
5719
5804
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5720
5805
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5721
5806
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -7299,7 +7384,7 @@ var DEFAULT_RAW_CONFIG = {
7299
7384
  agents: {},
7300
7385
  categories: {},
7301
7386
  codegraph: OmoCodegraphSettingsSchema.parse({}),
7302
- task: OmoTaskSettingsSchema.parse({}),
7387
+ task: resolveOmoTaskSettings({}),
7303
7388
  teams: {}
7304
7389
  };
7305
7390
  function stripResolutionControlKeys(config2) {
@@ -7640,6 +7725,21 @@ function isPlainObject3(value) {
7640
7725
  return typeof value === "object" && value !== null && !Array.isArray(value) && Object.prototype.toString.call(value) === "[object Object]";
7641
7726
  }
7642
7727
 
7728
+ // ../../omo-config-core/src/migration/backup-move.ts
7729
+ function isCrossDeviceError(error) {
7730
+ return error instanceof Error && Reflect.get(error, "code") === "EXDEV";
7731
+ }
7732
+ function moveMigrationBackup(fileSystem, sourcePath, backupPath) {
7733
+ try {
7734
+ fileSystem.renameSync(sourcePath, backupPath);
7735
+ } catch (error) {
7736
+ if (!isCrossDeviceError(error))
7737
+ throw error;
7738
+ fileSystem.copyFileSync(sourcePath, backupPath);
7739
+ fileSystem.unlinkSync(sourcePath);
7740
+ }
7741
+ }
7742
+
7643
7743
  // ../../omo-config-core/src/migration/commit.ts
7644
7744
  import { basename as basename2, dirname as dirname4, join as join8, resolve as resolve5 } from "node:path";
7645
7745
 
@@ -8152,7 +8252,7 @@ function resumeMigrationJournal(input) {
8152
8252
  if (input.fileSystem.existsSync(move.to)) {
8153
8253
  throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
8154
8254
  }
8155
- input.fileSystem.renameSync(move.from, move.to);
8255
+ moveMigrationBackup(input.fileSystem, move.from, move.to);
8156
8256
  } else if (!input.fileSystem.existsSync(move.to)) {
8157
8257
  throw new MigrationTransactionError(`Migration source and backup are both missing: ${move.from}`);
8158
8258
  }
@@ -8274,7 +8374,7 @@ function executePlan(input) {
8274
8374
  input.renewLock();
8275
8375
  if (fileSystem.existsSync(move.to))
8276
8376
  throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
8277
- fileSystem.renameSync(move.from, move.to);
8377
+ moveMigrationBackup(fileSystem, move.from, move.to);
8278
8378
  input.onBoundary?.("source-moved");
8279
8379
  Object.assign(targetRecorded, { completedMoves: [...targetRecorded.completedMoves, move.from] });
8280
8380
  writeMigrationJournal(targetRecorded, fileSystem, env, input.process, input.clock);
@@ -5815,6 +5815,76 @@ var OmoCodegraphSettingsSchema = OmoCodegraphSettingsLayerSchema.extend({
5815
5815
  telemetry: boolean2().default(false)
5816
5816
  }).strict();
5817
5817
 
5818
+ // ../../../../omo-config-core/src/schema/memory.ts
5819
+ var OmoMemoryReflectionTriggerSchema = object({
5820
+ step_count: number2().int().nonnegative().default(0),
5821
+ on_compaction: boolean2().default(true)
5822
+ }).strict();
5823
+ var OmoMemoryReflectionSchema = object({
5824
+ trigger: OmoMemoryReflectionTriggerSchema.default({ step_count: 0, on_compaction: true }),
5825
+ merge: _enum(["auto", "integration"]).default("auto"),
5826
+ category: string2().min(1).default("quick"),
5827
+ timeout_minutes: number2().int().positive().default(15),
5828
+ sandbox: _enum(["auto", "required", "off"]).default("auto")
5829
+ }).strict();
5830
+ var OmoMemorySyncSchema = object({
5831
+ remote: string2().min(1).optional(),
5832
+ enabled: boolean2().default(true)
5833
+ }).strict();
5834
+ var OmoMemorySearchSchema = object({
5835
+ enabled: boolean2().default(true)
5836
+ }).strict();
5837
+ var OmoMemoryReflectionTriggerLayerSchema = object({
5838
+ step_count: number2().int().nonnegative().optional(),
5839
+ on_compaction: boolean2().optional()
5840
+ }).strict();
5841
+ var OmoMemoryReflectionLayerSchema = object({
5842
+ trigger: OmoMemoryReflectionTriggerLayerSchema.optional(),
5843
+ merge: _enum(["auto", "integration"]).optional(),
5844
+ category: string2().min(1).optional(),
5845
+ timeout_minutes: number2().int().positive().optional(),
5846
+ sandbox: _enum(["auto", "required", "off"]).optional()
5847
+ }).strict();
5848
+ var OmoMemorySyncLayerSchema = object({
5849
+ remote: string2().min(1).optional(),
5850
+ enabled: boolean2().optional()
5851
+ }).strict();
5852
+ var OmoMemorySearchLayerSchema = object({
5853
+ enabled: boolean2().optional()
5854
+ }).strict();
5855
+ var OmoMemoryAgentOverridesSchema = object({
5856
+ enabled: boolean2().optional(),
5857
+ agent: string2().min(1).optional(),
5858
+ reflection: OmoMemoryReflectionLayerSchema.optional(),
5859
+ sync: OmoMemorySyncLayerSchema.optional(),
5860
+ search: OmoMemorySearchLayerSchema.optional(),
5861
+ compile_warn_tokens: number2().int().positive().optional()
5862
+ }).strict();
5863
+ var OmoMemorySettingsSchema = object({
5864
+ enabled: boolean2().default(true),
5865
+ agent: string2().min(1).default("auto"),
5866
+ reflection: OmoMemoryReflectionSchema.default({
5867
+ trigger: { step_count: 0, on_compaction: true },
5868
+ merge: "auto",
5869
+ category: "quick",
5870
+ timeout_minutes: 15,
5871
+ sandbox: "auto"
5872
+ }),
5873
+ sync: OmoMemorySyncSchema.default({ enabled: true }),
5874
+ search: OmoMemorySearchSchema.default({ enabled: true }),
5875
+ compile_warn_tokens: number2().int().positive().default(30000),
5876
+ agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
5877
+ }).strict();
5878
+ var OmoMemorySettingsLayerSchema = object({
5879
+ enabled: boolean2().optional(),
5880
+ agent: string2().min(1).optional(),
5881
+ reflection: OmoMemoryReflectionLayerSchema.optional(),
5882
+ sync: OmoMemorySyncLayerSchema.optional(),
5883
+ search: OmoMemorySearchLayerSchema.optional(),
5884
+ compile_warn_tokens: number2().int().positive().optional(),
5885
+ agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
5886
+ }).strict();
5887
+
5818
5888
  // ../../../../omo-config-core/src/schema/model-catalog.ts
5819
5889
  function isRecord4(value) {
5820
5890
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -5832,6 +5902,8 @@ var OmoModelCatalogEntryLayerSchema = preprocess((value) => isRecord4(value) ? n
5832
5902
  var OmoModelCatalogLayerSchema = record(string2(), OmoModelCatalogEntryLayerSchema);
5833
5903
 
5834
5904
  // ../../../../omo-config-core/src/schema/task.ts
5905
+ import { availableParallelism } from "node:os";
5906
+ var ResidencyMaxChildrenInputSchema = union([number2().int().positive(), literal("unlimited")]);
5835
5907
  var OmoTaskWaitSchema = object({
5836
5908
  min_ms: number2().int().positive().default(5000),
5837
5909
  default_ms: number2().int().positive().default(60000),
@@ -5851,10 +5923,11 @@ var OmoTaskSettingsSchema = object({
5851
5923
  provider_concurrency: record(string2(), number2().int().positive()).optional(),
5852
5924
  model_concurrency: record(string2(), number2().int().positive()).optional(),
5853
5925
  max_depth: number2().int().nonnegative().default(1),
5854
- residency_max_children: number2().int().positive().default(8),
5926
+ residency_max_children: ResidencyMaxChildrenInputSchema.default(8),
5855
5927
  ttl_ms: number2().int().positive().default(86400000),
5856
5928
  state_dir: string2().optional(),
5857
5929
  reattach_on_reconcile: boolean2().optional(),
5930
+ resume_children: boolean2().default(true),
5858
5931
  warnings: OmoTaskWarningsSchema.default({ unavailable_categories: true }),
5859
5932
  wait: OmoTaskWaitSchema.default({ min_ms: 5000, default_ms: 60000, max_ms: 600000 }),
5860
5933
  team: OmoTaskTeamSettingsSchema.default({
@@ -5882,14 +5955,22 @@ var OmoTaskSettingsLayerSchema = object({
5882
5955
  provider_concurrency: record(string2(), number2().int().positive()).optional(),
5883
5956
  model_concurrency: record(string2(), number2().int().positive()).optional(),
5884
5957
  max_depth: number2().int().nonnegative().optional(),
5885
- residency_max_children: number2().int().positive().optional(),
5958
+ residency_max_children: ResidencyMaxChildrenInputSchema.optional(),
5886
5959
  ttl_ms: number2().int().positive().optional(),
5887
5960
  state_dir: string2().optional(),
5888
5961
  reattach_on_reconcile: boolean2().optional(),
5962
+ resume_children: boolean2().optional(),
5889
5963
  warnings: OmoTaskWarningsLayerSchema.optional(),
5890
5964
  wait: OmoTaskWaitLayerSchema.optional(),
5891
5965
  team: OmoTaskTeamSettingsLayerSchema.optional()
5892
5966
  }).strict();
5967
+ function resolveOmoTaskSettings(input, resolveParallelism = availableParallelism) {
5968
+ const record2 = record(string2(), unknown()).parse(input);
5969
+ return OmoTaskSettingsSchema.parse({
5970
+ ...record2,
5971
+ residency_max_children: record2["residency_max_children"] ?? Math.max(8, resolveParallelism() * 3)
5972
+ });
5973
+ }
5893
5974
 
5894
5975
  // ../../../../omo-config-core/src/schema/team.ts
5895
5976
  var OmoTeamMemberBaseSchema = object({
@@ -5946,7 +6027,8 @@ var OmoTypedHarnessConfigSchema = object({
5946
6027
  codegraph: OmoCodegraphSettingsLayerSchema.optional(),
5947
6028
  task: OmoTaskSettingsLayerSchema.optional(),
5948
6029
  teams: OmoTeamsConfigLayerSchema.optional(),
5949
- models: OmoModelCatalogLayerSchema.optional()
6030
+ models: OmoModelCatalogLayerSchema.optional(),
6031
+ memory: OmoMemorySettingsLayerSchema.optional()
5950
6032
  }).strict();
5951
6033
  var OmoConfigProfileSchema = object({
5952
6034
  categories: OmoCategoriesConfigSchema.optional(),
@@ -5955,6 +6037,7 @@ var OmoConfigProfileSchema = object({
5955
6037
  task: OmoTaskSettingsLayerSchema.optional(),
5956
6038
  teams: OmoTeamsConfigLayerSchema.optional(),
5957
6039
  models: OmoModelCatalogLayerSchema.optional(),
6040
+ memory: OmoMemorySettingsLayerSchema.optional(),
5958
6041
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5959
6042
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5960
6043
  "[codex]": OmoTypedHarnessConfigSchema.optional()
@@ -5967,6 +6050,7 @@ var OmoConfigSchema = object({
5967
6050
  task: OmoTaskSettingsSchema.optional(),
5968
6051
  teams: OmoTeamsConfigSchema.optional(),
5969
6052
  models: OmoModelCatalogSchema.optional(),
6053
+ memory: OmoMemorySettingsSchema.optional(),
5970
6054
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5971
6055
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5972
6056
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -5982,6 +6066,7 @@ var OmoConfigLayerSchema = object({
5982
6066
  task: OmoTaskSettingsLayerSchema.optional(),
5983
6067
  teams: OmoTeamsConfigLayerSchema.optional(),
5984
6068
  models: OmoModelCatalogLayerSchema.optional(),
6069
+ memory: OmoMemorySettingsLayerSchema.optional(),
5985
6070
  "[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
5986
6071
  "[senpi]": OmoTypedHarnessConfigSchema.optional(),
5987
6072
  "[codex]": OmoTypedHarnessConfigSchema.optional(),
@@ -7565,7 +7650,7 @@ var DEFAULT_RAW_CONFIG = {
7565
7650
  agents: {},
7566
7651
  categories: {},
7567
7652
  codegraph: OmoCodegraphSettingsSchema.parse({}),
7568
- task: OmoTaskSettingsSchema.parse({}),
7653
+ task: resolveOmoTaskSettings({}),
7569
7654
  teams: {}
7570
7655
  };
7571
7656
  function stripResolutionControlKeys(config2) {
@@ -7906,6 +7991,21 @@ function isPlainObject3(value) {
7906
7991
  return typeof value === "object" && value !== null && !Array.isArray(value) && Object.prototype.toString.call(value) === "[object Object]";
7907
7992
  }
7908
7993
 
7994
+ // ../../../../omo-config-core/src/migration/backup-move.ts
7995
+ function isCrossDeviceError(error) {
7996
+ return error instanceof Error && Reflect.get(error, "code") === "EXDEV";
7997
+ }
7998
+ function moveMigrationBackup(fileSystem, sourcePath, backupPath) {
7999
+ try {
8000
+ fileSystem.renameSync(sourcePath, backupPath);
8001
+ } catch (error) {
8002
+ if (!isCrossDeviceError(error))
8003
+ throw error;
8004
+ fileSystem.copyFileSync(sourcePath, backupPath);
8005
+ fileSystem.unlinkSync(sourcePath);
8006
+ }
8007
+ }
8008
+
7909
8009
  // ../../../../omo-config-core/src/migration/commit.ts
7910
8010
  import { basename as basename3, dirname as dirname4, join as join9, resolve as resolve4 } from "node:path";
7911
8011
 
@@ -8418,7 +8518,7 @@ function resumeMigrationJournal(input) {
8418
8518
  if (input.fileSystem.existsSync(move.to)) {
8419
8519
  throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
8420
8520
  }
8421
- input.fileSystem.renameSync(move.from, move.to);
8521
+ moveMigrationBackup(input.fileSystem, move.from, move.to);
8422
8522
  } else if (!input.fileSystem.existsSync(move.to)) {
8423
8523
  throw new MigrationTransactionError(`Migration source and backup are both missing: ${move.from}`);
8424
8524
  }
@@ -8540,7 +8640,7 @@ function executePlan(input) {
8540
8640
  input.renewLock();
8541
8641
  if (fileSystem.existsSync(move.to))
8542
8642
  throw new MigrationTransactionError(`Migration backup path already exists: ${move.to}`);
8543
- fileSystem.renameSync(move.from, move.to);
8643
+ moveMigrationBackup(fileSystem, move.from, move.to);
8544
8644
  input.onBoundary?.("source-moved");
8545
8645
  Object.assign(targetRecorded, { completedMoves: [...targetRecorded.completedMoves, move.from] });
8546
8646
  writeMigrationJournal(targetRecorded, fileSystem, env, input.process, input.clock);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-codegraph",
3
- "version": "4.19.4",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Codex plugin MCP wrapper for CodeGraph.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 4.19.4) Checking Comments"
11
+ "statusMessage": "(OmO 5.0.0-beta.1) Checking Comments"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-comment-checker",
3
- "version": "4.19.4",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Codex plugin that runs comment-checker after edit-like PostToolUse hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 4.19.4) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.0.0-beta.1) Recommending Git Bash MCP"
12
12
  }
13
13
  ]
14
14
  }
@@ -20,7 +20,7 @@
20
20
  "type": "command",
21
21
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 4.19.4) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.0.0-beta.1) Resetting Git Bash MCP Reminder"
24
24
  }
25
25
  ]
26
26
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-git-bash-hook",
3
- "version": "4.19.4",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Codex hook component that reminds Windows sessions to prefer the OMO git_bash MCP.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
10
10
  "timeout": 10,
11
- "statusMessage": "(OmO 4.19.4) Verifying LazyCodex Executor Evidence"
11
+ "statusMessage": "(OmO 5.0.0-beta.1) Verifying LazyCodex Executor Evidence"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
3
- "version": "4.19.4",
3
+ "version": "5.0.0-beta.1",
4
4
  "description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "4.19.4",
4
- "inputDigest": "sha256:a327f51e89b7da87ac4e114b07551b3345e45ad919c6ca2ebed067aaa954b004",
3
+ "version": "5.0.0-beta.1",
4
+ "inputDigest": "sha256:7d9e27b843bce201ea8db4fea0de44bca45d4d9a1629b9cf272827acb59a4d08",
5
5
  "outputs": [
6
6
  {
7
7
  "path": "cli.d.ts",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "path": "cli.js",
12
- "sha256": "f46b15e830f85d0d6f46e0b36c726de2fd56adc43b1cd4660430db86352a8f37"
12
+ "sha256": "805d158f4d99b2fcc318f995efbbf219a8c577952b0785d0da63916d52fc33f8"
13
13
  },
14
14
  {
15
15
  "path": "codex-hook-cli.d.ts",