oh-my-opencode 4.19.3 → 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 (347) hide show
  1. package/.agents/command/get-unpublished-changes.md +2 -0
  2. package/.agents/command/omomomo.md +1 -1
  3. package/.agents/command/publish.md +7 -0
  4. package/.agents/skills/get-unpublished-changes/SKILL.md +2 -0
  5. package/.agents/skills/hyperplan/SKILL.md +3 -3
  6. package/.agents/skills/omomomo/SKILL.md +1 -1
  7. package/.agents/skills/publish/SKILL.md +7 -0
  8. package/.opencode/command/get-unpublished-changes.md +2 -0
  9. package/.opencode/command/omomomo.md +1 -1
  10. package/.opencode/command/publish.md +7 -0
  11. package/.opencode/skills/hyperplan/SKILL.md +3 -3
  12. package/README.ja.md +1 -1
  13. package/README.ko.md +1 -1
  14. package/README.md +6 -5
  15. package/README.ru.md +1 -1
  16. package/README.zh-cn.md +1 -1
  17. package/bin/oh-my-opencode.js +14 -1
  18. package/bin/oh-my-opencode.test.ts +21 -0
  19. package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
  20. package/dist/cli/doctor/checks/deprecated-reasoning-keys.d.ts +2 -0
  21. package/dist/cli/index.js +2925 -1919
  22. package/dist/cli-node/index.js +2925 -1919
  23. package/dist/config/schema/agent-overrides.d.ts +1343 -15
  24. package/dist/config/schema/categories.d.ts +132 -0
  25. package/dist/config/schema/fallback-models.d.ts +50 -0
  26. package/dist/config/schema/oh-my-opencode-config.d.ts +1322 -11
  27. package/dist/config-migration/index.d.ts +1 -0
  28. package/dist/config-migration/migration-plans.d.ts +1 -0
  29. package/dist/config-migration/reasoning-unification.d.ts +3 -0
  30. package/dist/features/monitor/batcher.d.ts +3 -1
  31. package/dist/features/monitor/manager-internals.d.ts +1 -0
  32. package/dist/features/monitor/output-injector-types.d.ts +2 -0
  33. package/dist/features/monitor/output-injector.d.ts +6 -0
  34. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +2 -0
  35. package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +1 -0
  36. package/dist/hooks/model-fallback/next-fallback.d.ts +1 -0
  37. package/dist/hooks/runtime-fallback/constants.d.ts +1 -1
  38. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  39. package/dist/hooks/todo-continuation-enforcer/unrecoverable-request-error.d.ts +9 -0
  40. package/dist/hooks/tool-pair-validator/hook.test-support.d.ts +29 -0
  41. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +14 -5
  42. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -3
  43. package/dist/hooks/tool-pair-validator/types.d.ts +5 -22
  44. package/dist/index.js +4864 -4011
  45. package/dist/mcp/lsp.d.ts +1 -0
  46. package/dist/oh-my-opencode.schema.json +3221 -222
  47. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -0
  48. package/dist/shared/agent-variant.d.ts +11 -0
  49. package/dist/shared/session-prompt-params-helpers.d.ts +6 -1
  50. package/dist/shared/tmux/constants.d.ts +1 -1
  51. package/dist/skills/ast-grep/SOURCE +1 -1
  52. package/dist/skills/ast-grep/install.ps1 +2 -2
  53. package/dist/skills/ast-grep/install.sh +1 -1
  54. package/dist/skills/ast-grep/references/install.md +2 -2
  55. package/dist/skills/ast-grep/tests/smoke.sh +1 -1
  56. package/dist/skills/coding-agent-sessions/SKILL.md +4 -3
  57. package/dist/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  58. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  59. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  60. package/dist/skills/data-scientist/SKILL.md +243 -0
  61. package/dist/skills/data-scientist/references/common-scenarios.md +176 -0
  62. package/dist/skills/data-scientist/references/execution-templates.md +197 -0
  63. package/dist/skills/data-scientist/references/integration-patterns.md +153 -0
  64. package/dist/skills/data-scientist/references/performance-benchmarks.md +37 -0
  65. package/dist/skills/data-scientist/references/uv-setup.md +78 -0
  66. package/dist/skills/data-scientist/scripts/quick-query.py +111 -0
  67. package/dist/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  68. package/dist/skills/data-scientist/scripts/setup-uv.sh +60 -0
  69. package/dist/skills/debugging/SKILL.md +1 -1
  70. package/dist/skills/programming/SKILL.md +1 -2
  71. package/dist/skills/start-work/SKILL.md +54 -9
  72. package/dist/skills/ultimate-browsing/SKILL.md +2 -2
  73. package/dist/skills/ultimate-browsing/engine/__main__.py +8 -1
  74. package/dist/skills/ultimate-browsing/engine/bias_check.py +11 -0
  75. package/dist/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  76. package/dist/skills/ultimate-browsing/engine/result_schema.py +10 -1
  77. package/dist/skills/ultimate-browsing/engine/surrogate.py +214 -0
  78. package/dist/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  79. package/dist/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  80. package/dist/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  81. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  82. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  83. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  84. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  85. package/dist/skills/ultimate-browsing/engine/validators.py +46 -0
  86. package/dist/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  87. package/dist/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  88. package/dist/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  89. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  90. package/dist/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  91. package/dist/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  92. package/dist/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  93. package/dist/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  94. package/dist/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  95. package/dist/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  96. package/dist/skills/ulw-plan/SKILL.md +2 -2
  97. package/dist/skills/ulw-plan/references/full-workflow.md +3 -3
  98. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  99. package/dist/skills/ulw-research/SKILL.md +128 -12
  100. package/dist/tools/delegate-task/builtin-categories.d.ts +1 -0
  101. package/dist/tools/delegate-task/builtin-category-definition.d.ts +1 -0
  102. package/dist/tools/delegate-task/constants.d.ts +1 -1
  103. package/dist/tui.js +1271 -1108
  104. package/docs/reference/web-terminal-visual-qa.md +1 -1
  105. package/package.json +27 -19
  106. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +2 -2
  107. package/packages/lsp-core/src/lsp/connection.ts +1 -1
  108. package/packages/lsp-daemon/dist/cli.js +27 -13
  109. package/packages/lsp-daemon/dist/client.js +49 -35
  110. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
  111. package/packages/lsp-daemon/dist/ensure-daemon.js +18 -5
  112. package/packages/lsp-daemon/dist/index.js +34 -20
  113. package/packages/lsp-tools-mcp/dist/cli.js +1 -1
  114. package/packages/lsp-tools-mcp/dist/lsp/manager.js +1 -1
  115. package/packages/lsp-tools-mcp/dist/mcp.js +1 -1
  116. package/packages/lsp-tools-mcp/dist/tools.js +1 -1
  117. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  118. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +289 -95
  119. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  120. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  121. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -7
  122. package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +3 -0
  123. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +385 -64
  124. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +336 -47
  125. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  126. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +6 -0
  127. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  128. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  129. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  130. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  131. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  132. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  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 +56 -42
  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 +1 -1
  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 +1 -1
  141. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +1 -0
  142. package/packages/omo-codex/plugin/components/start-work-continuation/README.md +5 -1
  143. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +2 -1
  144. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +18 -0
  145. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  146. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  147. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  148. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +105 -0
  149. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  150. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  151. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  152. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  153. package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +2 -0
  154. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  155. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  156. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  157. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  158. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  159. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  160. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  161. package/packages/omo-codex/plugin/components/ultrawork/directive.md +3 -2
  162. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  163. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  164. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +3 -2
  165. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +2 -2
  166. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +3 -3
  167. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  168. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  169. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
  170. package/packages/omo-codex/plugin/components/ulw-loop/README.md +11 -11
  171. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +3 -2
  172. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -1
  173. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  174. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +9 -9
  175. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +1 -1
  176. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +66 -66
  177. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +4 -4
  178. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +1 -1
  179. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -1
  180. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +1 -1
  181. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +1 -1
  182. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +2 -2
  183. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  184. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  185. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +3 -3
  186. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +22 -25
  187. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -1
  188. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +9 -9
  189. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +1 -1
  190. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +1 -1
  191. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +4 -4
  192. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +1 -1
  193. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -1
  194. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +1 -1
  195. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +1 -1
  196. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +2 -2
  197. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -2
  198. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +1 -1
  199. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +2 -2
  200. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +1 -1
  201. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +2 -2
  202. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +1 -1
  203. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -5
  204. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +1 -1
  205. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +1 -1
  206. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +1 -1
  207. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  208. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  209. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  210. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  211. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  212. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  213. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  214. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  215. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  216. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  217. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  218. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  219. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  220. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  221. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  222. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  223. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  224. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  225. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  226. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  227. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  228. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  229. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  230. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  231. package/packages/omo-codex/plugin/package-lock.json +13 -13
  232. package/packages/omo-codex/plugin/package.json +1 -1
  233. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +8 -2
  234. package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -1
  235. package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +2 -2
  236. package/packages/omo-codex/plugin/skills/ast-grep/install.sh +1 -1
  237. package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +2 -2
  238. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +1 -1
  239. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +4 -3
  240. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  241. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  242. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  243. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +243 -0
  244. package/packages/omo-codex/plugin/skills/data-scientist/agents/openai.yaml +2 -0
  245. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +176 -0
  246. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +197 -0
  247. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +153 -0
  248. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +37 -0
  249. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +78 -0
  250. package/packages/omo-codex/plugin/skills/data-scientist/scripts/quick-query.py +111 -0
  251. package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  252. package/packages/omo-codex/plugin/skills/data-scientist/scripts/setup-uv.sh +60 -0
  253. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +1 -1
  254. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -2
  255. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +54 -9
  256. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -2
  257. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/__main__.py +8 -1
  258. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/bias_check.py +11 -0
  259. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  260. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/result_schema.py +10 -1
  261. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogate.py +214 -0
  262. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  263. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  264. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  265. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  266. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  267. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  268. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  269. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/validators.py +46 -0
  270. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  271. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  272. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  273. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  274. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  275. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  276. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  277. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  278. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  279. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  280. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +3 -2
  281. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +3 -3
  282. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +22 -25
  283. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +2 -2
  284. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +3 -3
  285. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  286. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +127 -12
  287. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +12 -12
  288. package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +36 -4
  289. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +1 -1
  290. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +9 -2
  291. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +12 -0
  292. package/packages/omo-codex/scripts/install-bin-links.test.mjs +56 -2
  293. package/packages/omo-codex/scripts/install-delegated-command.test.mjs +6 -6
  294. package/packages/omo-codex/scripts/install-dist/install-local.mjs +138 -65
  295. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +4 -4
  296. package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
  297. package/packages/shared-skills/index.mjs +19 -1
  298. package/packages/shared-skills/skills/ast-grep/SOURCE +1 -1
  299. package/packages/shared-skills/skills/ast-grep/install.ps1 +2 -2
  300. package/packages/shared-skills/skills/ast-grep/install.sh +1 -1
  301. package/packages/shared-skills/skills/ast-grep/references/install.md +2 -2
  302. package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +1 -1
  303. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +4 -3
  304. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +3 -1
  305. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/aside_scanner.py +140 -0
  306. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/scanners.py +3 -0
  307. package/packages/shared-skills/skills/data-scientist/SKILL.md +243 -0
  308. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +176 -0
  309. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +197 -0
  310. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +153 -0
  311. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +37 -0
  312. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +78 -0
  313. package/packages/shared-skills/skills/data-scientist/scripts/quick-query.py +111 -0
  314. package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.ps1 +53 -0
  315. package/packages/shared-skills/skills/data-scientist/scripts/setup-uv.sh +60 -0
  316. package/packages/shared-skills/skills/debugging/SKILL.md +1 -1
  317. package/packages/shared-skills/skills/programming/SKILL.md +1 -2
  318. package/packages/shared-skills/skills/start-work/SKILL.md +54 -9
  319. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -2
  320. package/packages/shared-skills/skills/ultimate-browsing/engine/__main__.py +8 -1
  321. package/packages/shared-skills/skills/ultimate-browsing/engine/bias_check.py +11 -0
  322. package/packages/shared-skills/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  323. package/packages/shared-skills/skills/ultimate-browsing/engine/result_schema.py +10 -1
  324. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogate.py +214 -0
  325. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  326. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  327. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  328. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  329. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  330. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  331. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  332. package/packages/shared-skills/skills/ultimate-browsing/engine/validators.py +46 -0
  333. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  334. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  335. package/packages/shared-skills/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  336. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  337. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  338. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  339. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  340. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  341. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  342. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  343. package/packages/shared-skills/skills/ulw-plan/SKILL.md +2 -2
  344. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +3 -3
  345. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  346. package/packages/shared-skills/skills/ulw-research/SKILL.md +128 -12
  347. package/postinstall.mjs +6 -0
@@ -3,6 +3,7 @@ export { createLegacyConfigMigrationPlans, } from "./migration-plans";
3
3
  export { executeLegacyConfigMigrationPlan } from "./migration-executor";
4
4
  export { transformConfigJsoncSources } from "./transform-config-jsonc";
5
5
  export { transformOpenCodeSources } from "./transform-opencode";
6
+ export { REASONING_UNIFICATION_MIGRATION_ID, transformReasoningUnification, } from "./reasoning-unification";
6
7
  export type { ExecuteLegacyConfigMigrationPlanOptions } from "./migration-executor";
7
8
  export type { CreateLegacyConfigMigrationPlansOptions, LegacyConfigMigrationPlan, } from "./migration-plans";
8
9
  export type { ConfigMigrationTransformResult, LoadedLegacyConfigSource, OpenCodeTransformScope, TransformConfigJsoncSourcesInput, TransformOpenCodeSourcesInput, } from "./transform-types";
@@ -4,6 +4,7 @@ import type { ConfigMigrationTransformResult } from "./transform-types";
4
4
  export type LegacyConfigMigrationPlan = {
5
5
  readonly id: string;
6
6
  readonly inspect: (sources: Parameters<MigrationTransform>[0]) => ConfigMigrationTransformResult;
7
+ readonly mode?: "merge" | "replace-target";
7
8
  readonly sources: readonly MigrationSourceDescriptor[];
8
9
  readonly targetPath: string;
9
10
  readonly transform: MigrationTransform;
@@ -0,0 +1,3 @@
1
+ import type { ConfigMigrationTransformResult } from "./transform-types";
2
+ export declare const REASONING_UNIFICATION_MIGRATION_ID = "2026-08-reasoning-unification";
3
+ export declare function transformReasoningUnification(document: unknown): ConfigMigrationTransformResult;
@@ -27,7 +27,9 @@ export declare class MonitorBatcher {
27
27
  private destroyed;
28
28
  constructor(opts: MonitorBatcherOptions);
29
29
  push(line: OutputLine): void;
30
- flushNow(): void;
30
+ flushNow(options?: {
31
+ allowEmpty?: boolean;
32
+ }): void;
31
33
  onBatch(cb: (batch: OutputBatch) => void): void;
32
34
  pendingCount(): number;
33
35
  destroy(): void;
@@ -52,6 +52,7 @@ export declare const MONITOR_OUTPUT_PENDING_RETRY_MS = 1000;
52
52
  export declare const MONITOR_OUTPUT_ACCEPTED_MESSAGE_SKEW_MS = 5000;
53
53
  export declare const MONITOR_OUTPUT_USER_MESSAGE_IN_PROGRESS_WINDOW_MS = 2000;
54
54
  export declare const MONITOR_OUTPUT_POST_DISPATCH_HOLD_MS = 250;
55
+ export declare const MONITOR_OUTPUT_MAX_ACTIVE_DEFER_MS = 60000;
55
56
  export declare function createEmptyCounters(): {
56
57
  totalLines: number;
57
58
  matchedLines: number;
@@ -8,6 +8,8 @@ export type MonitorOutputInjectorDeps = {
8
8
  readonly acceptedMessageSkewMs: number;
9
9
  readonly userMessageInProgressWindowMs: number;
10
10
  readonly postDispatchHoldMs: number;
11
+ /** Undefined keeps the unbounded legacy deferral. */
12
+ readonly maxActiveDeferMs?: number;
11
13
  readonly dispatchInternalPrompt?: (args: InternalPromptDispatchArgs<PromptAsyncInput>) => Promise<InternalPromptDispatchResult>;
12
14
  readonly now?: () => number;
13
15
  readonly settleAfterSessionIdle?: () => Promise<void>;
@@ -5,12 +5,18 @@ export declare class MonitorOutputInjector {
5
5
  private readonly pendingOutputs;
6
6
  private readonly dispatchedOutputs;
7
7
  private readonly deliveredSources;
8
+ private readonly queuedAtBySource;
8
9
  constructor(deps: MonitorOutputInjectorDeps);
9
10
  queueBatch(record: MonitorRecord, batch: OutputBatch): void;
10
11
  getPendingBatches(monitorId: string): OutputBatch[];
11
12
  flushMonitor(monitorId: string): Promise<void>;
12
13
  private dispatchBatch;
13
14
  private requeueBatch;
15
+ private isTerminalBatch;
16
+ private hasTerminalBatchOverActiveDeferCeiling;
17
+ private shouldForceActiveDispatch;
18
+ private rememberQueuedAt;
19
+ private getQueuedAgeMs;
14
20
  private isSessionActive;
15
21
  private settleAfterSessionIdle;
16
22
  private dispatchInternalPrompt;
@@ -86,6 +86,7 @@ export declare const loadTeamSpecMock: import("bun:test").Mock<() => Promise<{
86
86
  name: string;
87
87
  cwd?: string | undefined;
88
88
  worktreePath?: string | undefined;
89
+ task_summary?: string | undefined;
89
90
  subscriptions?: string[] | undefined;
90
91
  backendType: "in-process" | "tmux";
91
92
  color?: string | undefined;
@@ -97,6 +98,7 @@ export declare const loadTeamSpecMock: import("bun:test").Mock<() => Promise<{
97
98
  name: string;
98
99
  cwd?: string | undefined;
99
100
  worktreePath?: string | undefined;
101
+ task_summary?: string | undefined;
100
102
  subscriptions?: string[] | undefined;
101
103
  backendType: "in-process" | "tmux";
102
104
  color?: string | undefined;
@@ -6,6 +6,7 @@ export interface CodegraphCommandResult {
6
6
  }
7
7
  export interface RunCodegraphCommandOptions {
8
8
  readonly env: Record<string, string>;
9
+ readonly timeoutSignal?: AbortSignal;
9
10
  readonly timeoutMs: number;
10
11
  }
11
12
  export interface CodegraphCommandInvocation {
@@ -3,6 +3,7 @@ export declare function getNextReachableFallback(sessionID: string, state: Model
3
3
  providerID: string;
4
4
  modelID: string;
5
5
  variant?: string;
6
+ reasoning?: string;
6
7
  reasoningEffort?: string;
7
8
  temperature?: number;
8
9
  top_p?: number;
@@ -12,7 +12,7 @@ export declare const DEFAULT_CONFIG: Required<RuntimeFallbackConfig>;
12
12
  * Error patterns that indicate rate limiting or temporary failures
13
13
  * These are checked in addition to HTTP status codes
14
14
  */
15
- export declare const RETRYABLE_ERROR_PATTERNS: RegExp[];
15
+ export declare const RETRYABLE_ERROR_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
16
16
  /**
17
17
  * Hook name for identification and logging
18
18
  */
@@ -29,6 +29,7 @@ export interface SessionState {
29
29
  isRecovering?: boolean;
30
30
  wasCancelled?: boolean;
31
31
  tokenLimitDetected?: boolean;
32
+ unrecoverableErrorDetected?: boolean;
32
33
  countdownStartedAt?: number;
33
34
  abortDetectedAt?: number;
34
35
  lastIncompleteCount?: number;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A malformed-request error the provider will reject identically on every retry, for
3
+ * example the Anthropic 400 raised when a compaction request carries a `tool_use`
4
+ * block without its `tool_result`. Re-injecting a continuation directive after one of
5
+ * these rebuilds the same request and wedges the session, so the loop must stop.
6
+ * Deliberately narrow: only a request-shape status code paired with an explicit
7
+ * `isRetryable: false` from the provider counts.
8
+ */
9
+ export declare function isUnrecoverableRequestError(error: unknown): boolean;
@@ -0,0 +1,29 @@
1
+ import type { MessagesTransformHook } from "./types";
2
+ export type TestPart = {
3
+ type: string;
4
+ [key: string]: unknown;
5
+ };
6
+ export type TestMessage = {
7
+ info: {
8
+ role: "assistant" | "user";
9
+ id?: string;
10
+ sessionID?: string;
11
+ };
12
+ parts: TestPart[];
13
+ };
14
+ type ToolPartOptions = {
15
+ callID: string;
16
+ status: "pending" | "running" | "completed" | "error";
17
+ tool?: string;
18
+ input?: Record<string, unknown>;
19
+ output?: string;
20
+ error?: string;
21
+ start?: number;
22
+ };
23
+ /**
24
+ * Mirrors the real OpenCode `ToolPart` shape (`@opencode-ai/sdk`): one part carries
25
+ * the call id AND the state that later becomes the provider's `tool_result`.
26
+ */
27
+ export declare function createToolPart(options: ToolPartOptions): TestPart;
28
+ export declare function runToolPairValidator(hook: MessagesTransformHook, messages: TestMessage[]): Promise<void>;
29
+ export {};
@@ -1,7 +1,16 @@
1
1
  import { isRecord } from "@oh-my-opencode/utils";
2
- import type { TransformPart } from "./types";
2
+ import type { TransformPart, UnpairedToolPart } from "./types";
3
3
  export { isRecord };
4
- export declare function getToolUseID(part: TransformPart): string | null;
5
- export declare function getToolResultID(part: TransformPart): string | null;
6
- export declare function extractUniqueToolUseIDs(parts: TransformPart[]): string[];
7
- export declare function extractToolResultIDs(parts: TransformPart[]): Set<string>;
4
+ export declare const UNKNOWN_TOOL_STATUS = "unknown";
5
+ export declare function toRecord(value: unknown): Record<string, unknown> | null;
6
+ export declare function getToolCallID(part: TransformPart): string | null;
7
+ export declare function getToolStatus(part: TransformPart): string;
8
+ export declare function isTerminalToolStatus(status: string): boolean;
9
+ /**
10
+ * OpenCode has no standalone `tool_use` or `tool_result` part. A single assistant
11
+ * `tool` part is converted into BOTH the `tool_use` block and its `tool_result`
12
+ * block, but only once the part carries a terminal (`completed` / `error`) state.
13
+ * A part still in `pending` / `running` is therefore the only shape that can reach
14
+ * the provider as a `tool_use` without a paired `tool_result`.
15
+ */
16
+ export declare function findUnpairedToolParts(parts: TransformPart[]): UnpairedToolPart[];
@@ -1,4 +1,5 @@
1
- import type { MessageWithParts, TransformMessageInfo } from "./types";
1
+ import type { MessageWithParts, TransformMessageInfo, UnpairedToolPart } from "./types";
2
+ export declare const INTERRUPTED_TOOL_ERROR = "[Tool execution was interrupted before it produced output]";
2
3
  export declare function getMessageSessionID(message: TransformMessageInfo): string | undefined;
3
- export declare function repairSubAgentMissingToolResults(messages: MessageWithParts[], assistantIndex: number, sessionID: string): void;
4
- export declare function repairMissingToolResults(messages: MessageWithParts[], assistantIndex: number): void;
4
+ export declare function repairUnpairedToolParts(message: MessageWithParts): UnpairedToolPart[];
5
+ export declare function diagnoseSubAgentUnpairedToolParts(message: MessageWithParts, sessionID: string): void;
@@ -1,26 +1,5 @@
1
1
  import type { Message, Part } from "@opencode-ai/sdk";
2
- export type ToolUsePart = {
3
- type: "tool_use";
4
- id: string;
5
- [key: string]: unknown;
6
- };
7
- export type ToolResultPart = {
8
- type: "tool_result";
9
- toolUseId: string;
10
- tool_use_id?: string;
11
- isError?: boolean;
12
- content: Array<{
13
- type: "text";
14
- text: string;
15
- }>;
16
- [key: string]: unknown;
17
- };
18
- export type TextPart = {
19
- type: "text";
20
- text: string;
21
- synthetic: true;
22
- };
23
- export type TransformPart = Part | ToolUsePart | ToolResultPart | TextPart;
2
+ export type TransformPart = Part;
24
3
  export type TransformMessageInfo = Message | {
25
4
  role: "user";
26
5
  sessionID?: string;
@@ -29,6 +8,10 @@ export interface MessageWithParts {
29
8
  info: TransformMessageInfo;
30
9
  parts: TransformPart[];
31
10
  }
11
+ export type UnpairedToolPart = {
12
+ readonly callID: string;
13
+ readonly status: string;
14
+ };
32
15
  export type MessagesTransformHook = {
33
16
  "experimental.chat.messages.transform"?: (input: Record<string, never>, output: {
34
17
  messages: MessageWithParts[];