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
@@ -26,6 +26,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
26
26
  agents: z.ZodOptional<z.ZodObject<{
27
27
  build: z.ZodOptional<z.ZodObject<{
28
28
  model: z.ZodOptional<z.ZodString>;
29
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
30
+ model: z.ZodString;
31
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
32
+ auto: "auto";
33
+ high: "high";
34
+ low: "low";
35
+ max: "max";
36
+ medium: "medium";
37
+ minimal: "minimal";
38
+ off: "off";
39
+ xhigh: "xhigh";
40
+ }>, z.ZodString]>>;
41
+ variant: z.ZodOptional<z.ZodString>;
42
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
43
+ high: "high";
44
+ low: "low";
45
+ max: "max";
46
+ medium: "medium";
47
+ minimal: "minimal";
48
+ none: "none";
49
+ xhigh: "xhigh";
50
+ }>>;
51
+ temperature: z.ZodOptional<z.ZodNumber>;
52
+ top_p: z.ZodOptional<z.ZodNumber>;
53
+ maxTokens: z.ZodOptional<z.ZodNumber>;
54
+ thinking: z.ZodOptional<z.ZodObject<{
55
+ type: z.ZodEnum<{
56
+ disabled: "disabled";
57
+ enabled: "enabled";
58
+ }>;
59
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
60
+ }, z.core.$strip>>;
61
+ }, z.core.$strip>]>>>;
29
62
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
30
63
  model: z.ZodString;
31
64
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -212,6 +245,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
212
245
  }, z.core.$strip>>;
213
246
  plan: z.ZodOptional<z.ZodObject<{
214
247
  model: z.ZodOptional<z.ZodString>;
248
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
249
+ model: z.ZodString;
250
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
251
+ auto: "auto";
252
+ high: "high";
253
+ low: "low";
254
+ max: "max";
255
+ medium: "medium";
256
+ minimal: "minimal";
257
+ off: "off";
258
+ xhigh: "xhigh";
259
+ }>, z.ZodString]>>;
260
+ variant: z.ZodOptional<z.ZodString>;
261
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
262
+ high: "high";
263
+ low: "low";
264
+ max: "max";
265
+ medium: "medium";
266
+ minimal: "minimal";
267
+ none: "none";
268
+ xhigh: "xhigh";
269
+ }>>;
270
+ temperature: z.ZodOptional<z.ZodNumber>;
271
+ top_p: z.ZodOptional<z.ZodNumber>;
272
+ maxTokens: z.ZodOptional<z.ZodNumber>;
273
+ thinking: z.ZodOptional<z.ZodObject<{
274
+ type: z.ZodEnum<{
275
+ disabled: "disabled";
276
+ enabled: "enabled";
277
+ }>;
278
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
279
+ }, z.core.$strip>>;
280
+ }, z.core.$strip>]>>>;
215
281
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
216
282
  model: z.ZodString;
217
283
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -398,6 +464,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
398
464
  }, z.core.$strip>>;
399
465
  sisyphus: z.ZodOptional<z.ZodObject<{
400
466
  model: z.ZodOptional<z.ZodString>;
467
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
468
+ model: z.ZodString;
469
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
470
+ auto: "auto";
471
+ high: "high";
472
+ low: "low";
473
+ max: "max";
474
+ medium: "medium";
475
+ minimal: "minimal";
476
+ off: "off";
477
+ xhigh: "xhigh";
478
+ }>, z.ZodString]>>;
479
+ variant: z.ZodOptional<z.ZodString>;
480
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
481
+ high: "high";
482
+ low: "low";
483
+ max: "max";
484
+ medium: "medium";
485
+ minimal: "minimal";
486
+ none: "none";
487
+ xhigh: "xhigh";
488
+ }>>;
489
+ temperature: z.ZodOptional<z.ZodNumber>;
490
+ top_p: z.ZodOptional<z.ZodNumber>;
491
+ maxTokens: z.ZodOptional<z.ZodNumber>;
492
+ thinking: z.ZodOptional<z.ZodObject<{
493
+ type: z.ZodEnum<{
494
+ disabled: "disabled";
495
+ enabled: "enabled";
496
+ }>;
497
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
498
+ }, z.core.$strip>>;
499
+ }, z.core.$strip>]>>>;
401
500
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
402
501
  model: z.ZodString;
403
502
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -584,6 +683,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
584
683
  }, z.core.$strip>>;
585
684
  hephaestus: z.ZodOptional<z.ZodObject<{
586
685
  model: z.ZodOptional<z.ZodString>;
686
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
687
+ model: z.ZodString;
688
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
689
+ auto: "auto";
690
+ high: "high";
691
+ low: "low";
692
+ max: "max";
693
+ medium: "medium";
694
+ minimal: "minimal";
695
+ off: "off";
696
+ xhigh: "xhigh";
697
+ }>, z.ZodString]>>;
698
+ variant: z.ZodOptional<z.ZodString>;
699
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
700
+ high: "high";
701
+ low: "low";
702
+ max: "max";
703
+ medium: "medium";
704
+ minimal: "minimal";
705
+ none: "none";
706
+ xhigh: "xhigh";
707
+ }>>;
708
+ temperature: z.ZodOptional<z.ZodNumber>;
709
+ top_p: z.ZodOptional<z.ZodNumber>;
710
+ maxTokens: z.ZodOptional<z.ZodNumber>;
711
+ thinking: z.ZodOptional<z.ZodObject<{
712
+ type: z.ZodEnum<{
713
+ disabled: "disabled";
714
+ enabled: "enabled";
715
+ }>;
716
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
717
+ }, z.core.$strip>>;
718
+ }, z.core.$strip>]>>>;
587
719
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
588
720
  model: z.ZodString;
589
721
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -771,6 +903,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
771
903
  }, z.core.$strip>>;
772
904
  "sisyphus-junior": z.ZodOptional<z.ZodObject<{
773
905
  model: z.ZodOptional<z.ZodString>;
906
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
907
+ model: z.ZodString;
908
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
909
+ auto: "auto";
910
+ high: "high";
911
+ low: "low";
912
+ max: "max";
913
+ medium: "medium";
914
+ minimal: "minimal";
915
+ off: "off";
916
+ xhigh: "xhigh";
917
+ }>, z.ZodString]>>;
918
+ variant: z.ZodOptional<z.ZodString>;
919
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
920
+ high: "high";
921
+ low: "low";
922
+ max: "max";
923
+ medium: "medium";
924
+ minimal: "minimal";
925
+ none: "none";
926
+ xhigh: "xhigh";
927
+ }>>;
928
+ temperature: z.ZodOptional<z.ZodNumber>;
929
+ top_p: z.ZodOptional<z.ZodNumber>;
930
+ maxTokens: z.ZodOptional<z.ZodNumber>;
931
+ thinking: z.ZodOptional<z.ZodObject<{
932
+ type: z.ZodEnum<{
933
+ disabled: "disabled";
934
+ enabled: "enabled";
935
+ }>;
936
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
937
+ }, z.core.$strip>>;
938
+ }, z.core.$strip>]>>>;
774
939
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
775
940
  model: z.ZodString;
776
941
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -957,6 +1122,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
957
1122
  }, z.core.$strip>>;
958
1123
  "OpenCode-Builder": z.ZodOptional<z.ZodObject<{
959
1124
  model: z.ZodOptional<z.ZodString>;
1125
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1126
+ model: z.ZodString;
1127
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1128
+ auto: "auto";
1129
+ high: "high";
1130
+ low: "low";
1131
+ max: "max";
1132
+ medium: "medium";
1133
+ minimal: "minimal";
1134
+ off: "off";
1135
+ xhigh: "xhigh";
1136
+ }>, z.ZodString]>>;
1137
+ variant: z.ZodOptional<z.ZodString>;
1138
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1139
+ high: "high";
1140
+ low: "low";
1141
+ max: "max";
1142
+ medium: "medium";
1143
+ minimal: "minimal";
1144
+ none: "none";
1145
+ xhigh: "xhigh";
1146
+ }>>;
1147
+ temperature: z.ZodOptional<z.ZodNumber>;
1148
+ top_p: z.ZodOptional<z.ZodNumber>;
1149
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1150
+ thinking: z.ZodOptional<z.ZodObject<{
1151
+ type: z.ZodEnum<{
1152
+ disabled: "disabled";
1153
+ enabled: "enabled";
1154
+ }>;
1155
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
1156
+ }, z.core.$strip>>;
1157
+ }, z.core.$strip>]>>>;
960
1158
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
961
1159
  model: z.ZodString;
962
1160
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1143,6 +1341,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1143
1341
  }, z.core.$strip>>;
1144
1342
  prometheus: z.ZodOptional<z.ZodObject<{
1145
1343
  model: z.ZodOptional<z.ZodString>;
1344
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1345
+ model: z.ZodString;
1346
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1347
+ auto: "auto";
1348
+ high: "high";
1349
+ low: "low";
1350
+ max: "max";
1351
+ medium: "medium";
1352
+ minimal: "minimal";
1353
+ off: "off";
1354
+ xhigh: "xhigh";
1355
+ }>, z.ZodString]>>;
1356
+ variant: z.ZodOptional<z.ZodString>;
1357
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1358
+ high: "high";
1359
+ low: "low";
1360
+ max: "max";
1361
+ medium: "medium";
1362
+ minimal: "minimal";
1363
+ none: "none";
1364
+ xhigh: "xhigh";
1365
+ }>>;
1366
+ temperature: z.ZodOptional<z.ZodNumber>;
1367
+ top_p: z.ZodOptional<z.ZodNumber>;
1368
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1369
+ thinking: z.ZodOptional<z.ZodObject<{
1370
+ type: z.ZodEnum<{
1371
+ disabled: "disabled";
1372
+ enabled: "enabled";
1373
+ }>;
1374
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
1375
+ }, z.core.$strip>>;
1376
+ }, z.core.$strip>]>>>;
1146
1377
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1147
1378
  model: z.ZodString;
1148
1379
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1329,6 +1560,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1329
1560
  }, z.core.$strip>>;
1330
1561
  metis: z.ZodOptional<z.ZodObject<{
1331
1562
  model: z.ZodOptional<z.ZodString>;
1563
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1564
+ model: z.ZodString;
1565
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1566
+ auto: "auto";
1567
+ high: "high";
1568
+ low: "low";
1569
+ max: "max";
1570
+ medium: "medium";
1571
+ minimal: "minimal";
1572
+ off: "off";
1573
+ xhigh: "xhigh";
1574
+ }>, z.ZodString]>>;
1575
+ variant: z.ZodOptional<z.ZodString>;
1576
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1577
+ high: "high";
1578
+ low: "low";
1579
+ max: "max";
1580
+ medium: "medium";
1581
+ minimal: "minimal";
1582
+ none: "none";
1583
+ xhigh: "xhigh";
1584
+ }>>;
1585
+ temperature: z.ZodOptional<z.ZodNumber>;
1586
+ top_p: z.ZodOptional<z.ZodNumber>;
1587
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1588
+ thinking: z.ZodOptional<z.ZodObject<{
1589
+ type: z.ZodEnum<{
1590
+ disabled: "disabled";
1591
+ enabled: "enabled";
1592
+ }>;
1593
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
1594
+ }, z.core.$strip>>;
1595
+ }, z.core.$strip>]>>>;
1332
1596
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1333
1597
  model: z.ZodString;
1334
1598
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1515,6 +1779,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1515
1779
  }, z.core.$strip>>;
1516
1780
  momus: z.ZodOptional<z.ZodObject<{
1517
1781
  model: z.ZodOptional<z.ZodString>;
1782
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1783
+ model: z.ZodString;
1784
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1785
+ auto: "auto";
1786
+ high: "high";
1787
+ low: "low";
1788
+ max: "max";
1789
+ medium: "medium";
1790
+ minimal: "minimal";
1791
+ off: "off";
1792
+ xhigh: "xhigh";
1793
+ }>, z.ZodString]>>;
1794
+ variant: z.ZodOptional<z.ZodString>;
1795
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
1796
+ high: "high";
1797
+ low: "low";
1798
+ max: "max";
1799
+ medium: "medium";
1800
+ minimal: "minimal";
1801
+ none: "none";
1802
+ xhigh: "xhigh";
1803
+ }>>;
1804
+ temperature: z.ZodOptional<z.ZodNumber>;
1805
+ top_p: z.ZodOptional<z.ZodNumber>;
1806
+ maxTokens: z.ZodOptional<z.ZodNumber>;
1807
+ thinking: z.ZodOptional<z.ZodObject<{
1808
+ type: z.ZodEnum<{
1809
+ disabled: "disabled";
1810
+ enabled: "enabled";
1811
+ }>;
1812
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
1813
+ }, z.core.$strip>>;
1814
+ }, z.core.$strip>]>>>;
1518
1815
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1519
1816
  model: z.ZodString;
1520
1817
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1701,6 +1998,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1701
1998
  }, z.core.$strip>>;
1702
1999
  oracle: z.ZodOptional<z.ZodObject<{
1703
2000
  model: z.ZodOptional<z.ZodString>;
2001
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2002
+ model: z.ZodString;
2003
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2004
+ auto: "auto";
2005
+ high: "high";
2006
+ low: "low";
2007
+ max: "max";
2008
+ medium: "medium";
2009
+ minimal: "minimal";
2010
+ off: "off";
2011
+ xhigh: "xhigh";
2012
+ }>, z.ZodString]>>;
2013
+ variant: z.ZodOptional<z.ZodString>;
2014
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2015
+ high: "high";
2016
+ low: "low";
2017
+ max: "max";
2018
+ medium: "medium";
2019
+ minimal: "minimal";
2020
+ none: "none";
2021
+ xhigh: "xhigh";
2022
+ }>>;
2023
+ temperature: z.ZodOptional<z.ZodNumber>;
2024
+ top_p: z.ZodOptional<z.ZodNumber>;
2025
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2026
+ thinking: z.ZodOptional<z.ZodObject<{
2027
+ type: z.ZodEnum<{
2028
+ disabled: "disabled";
2029
+ enabled: "enabled";
2030
+ }>;
2031
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2032
+ }, z.core.$strip>>;
2033
+ }, z.core.$strip>]>>>;
1704
2034
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1705
2035
  model: z.ZodString;
1706
2036
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -1887,6 +2217,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
1887
2217
  }, z.core.$strip>>;
1888
2218
  librarian: z.ZodOptional<z.ZodObject<{
1889
2219
  model: z.ZodOptional<z.ZodString>;
2220
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2221
+ model: z.ZodString;
2222
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2223
+ auto: "auto";
2224
+ high: "high";
2225
+ low: "low";
2226
+ max: "max";
2227
+ medium: "medium";
2228
+ minimal: "minimal";
2229
+ off: "off";
2230
+ xhigh: "xhigh";
2231
+ }>, z.ZodString]>>;
2232
+ variant: z.ZodOptional<z.ZodString>;
2233
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2234
+ high: "high";
2235
+ low: "low";
2236
+ max: "max";
2237
+ medium: "medium";
2238
+ minimal: "minimal";
2239
+ none: "none";
2240
+ xhigh: "xhigh";
2241
+ }>>;
2242
+ temperature: z.ZodOptional<z.ZodNumber>;
2243
+ top_p: z.ZodOptional<z.ZodNumber>;
2244
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2245
+ thinking: z.ZodOptional<z.ZodObject<{
2246
+ type: z.ZodEnum<{
2247
+ disabled: "disabled";
2248
+ enabled: "enabled";
2249
+ }>;
2250
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2251
+ }, z.core.$strip>>;
2252
+ }, z.core.$strip>]>>>;
1890
2253
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
1891
2254
  model: z.ZodString;
1892
2255
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2073,6 +2436,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
2073
2436
  }, z.core.$strip>>;
2074
2437
  explore: z.ZodOptional<z.ZodObject<{
2075
2438
  model: z.ZodOptional<z.ZodString>;
2439
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2440
+ model: z.ZodString;
2441
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2442
+ auto: "auto";
2443
+ high: "high";
2444
+ low: "low";
2445
+ max: "max";
2446
+ medium: "medium";
2447
+ minimal: "minimal";
2448
+ off: "off";
2449
+ xhigh: "xhigh";
2450
+ }>, z.ZodString]>>;
2451
+ variant: z.ZodOptional<z.ZodString>;
2452
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2453
+ high: "high";
2454
+ low: "low";
2455
+ max: "max";
2456
+ medium: "medium";
2457
+ minimal: "minimal";
2458
+ none: "none";
2459
+ xhigh: "xhigh";
2460
+ }>>;
2461
+ temperature: z.ZodOptional<z.ZodNumber>;
2462
+ top_p: z.ZodOptional<z.ZodNumber>;
2463
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2464
+ thinking: z.ZodOptional<z.ZodObject<{
2465
+ type: z.ZodEnum<{
2466
+ disabled: "disabled";
2467
+ enabled: "enabled";
2468
+ }>;
2469
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2470
+ }, z.core.$strip>>;
2471
+ }, z.core.$strip>]>>>;
2076
2472
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2077
2473
  model: z.ZodString;
2078
2474
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2259,6 +2655,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
2259
2655
  }, z.core.$strip>>;
2260
2656
  "multimodal-looker": z.ZodOptional<z.ZodObject<{
2261
2657
  model: z.ZodOptional<z.ZodString>;
2658
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2659
+ model: z.ZodString;
2660
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2661
+ auto: "auto";
2662
+ high: "high";
2663
+ low: "low";
2664
+ max: "max";
2665
+ medium: "medium";
2666
+ minimal: "minimal";
2667
+ off: "off";
2668
+ xhigh: "xhigh";
2669
+ }>, z.ZodString]>>;
2670
+ variant: z.ZodOptional<z.ZodString>;
2671
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2672
+ high: "high";
2673
+ low: "low";
2674
+ max: "max";
2675
+ medium: "medium";
2676
+ minimal: "minimal";
2677
+ none: "none";
2678
+ xhigh: "xhigh";
2679
+ }>>;
2680
+ temperature: z.ZodOptional<z.ZodNumber>;
2681
+ top_p: z.ZodOptional<z.ZodNumber>;
2682
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2683
+ thinking: z.ZodOptional<z.ZodObject<{
2684
+ type: z.ZodEnum<{
2685
+ disabled: "disabled";
2686
+ enabled: "enabled";
2687
+ }>;
2688
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2689
+ }, z.core.$strip>>;
2690
+ }, z.core.$strip>]>>>;
2262
2691
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2263
2692
  model: z.ZodString;
2264
2693
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2445,6 +2874,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
2445
2874
  }, z.core.$strip>>;
2446
2875
  atlas: z.ZodOptional<z.ZodObject<{
2447
2876
  model: z.ZodOptional<z.ZodString>;
2877
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
2878
+ model: z.ZodString;
2879
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2880
+ auto: "auto";
2881
+ high: "high";
2882
+ low: "low";
2883
+ max: "max";
2884
+ medium: "medium";
2885
+ minimal: "minimal";
2886
+ off: "off";
2887
+ xhigh: "xhigh";
2888
+ }>, z.ZodString]>>;
2889
+ variant: z.ZodOptional<z.ZodString>;
2890
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
2891
+ high: "high";
2892
+ low: "low";
2893
+ max: "max";
2894
+ medium: "medium";
2895
+ minimal: "minimal";
2896
+ none: "none";
2897
+ xhigh: "xhigh";
2898
+ }>>;
2899
+ temperature: z.ZodOptional<z.ZodNumber>;
2900
+ top_p: z.ZodOptional<z.ZodNumber>;
2901
+ maxTokens: z.ZodOptional<z.ZodNumber>;
2902
+ thinking: z.ZodOptional<z.ZodObject<{
2903
+ type: z.ZodEnum<{
2904
+ disabled: "disabled";
2905
+ enabled: "enabled";
2906
+ }>;
2907
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
2908
+ }, z.core.$strip>>;
2909
+ }, z.core.$strip>]>>>;
2448
2910
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2449
2911
  model: z.ZodString;
2450
2912
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -2631,6 +3093,39 @@ export declare const OhMyOpenCodeConfigSchema: z.ZodObject<{
2631
3093
  }, z.core.$strip>>;
2632
3094
  }, z.core.$catchall<z.ZodOptional<z.ZodObject<{
2633
3095
  model: z.ZodOptional<z.ZodString>;
3096
+ models: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
3097
+ model: z.ZodString;
3098
+ reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
3099
+ auto: "auto";
3100
+ high: "high";
3101
+ low: "low";
3102
+ max: "max";
3103
+ medium: "medium";
3104
+ minimal: "minimal";
3105
+ off: "off";
3106
+ xhigh: "xhigh";
3107
+ }>, z.ZodString]>>;
3108
+ variant: z.ZodOptional<z.ZodString>;
3109
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
3110
+ high: "high";
3111
+ low: "low";
3112
+ max: "max";
3113
+ medium: "medium";
3114
+ minimal: "minimal";
3115
+ none: "none";
3116
+ xhigh: "xhigh";
3117
+ }>>;
3118
+ temperature: z.ZodOptional<z.ZodNumber>;
3119
+ top_p: z.ZodOptional<z.ZodNumber>;
3120
+ maxTokens: z.ZodOptional<z.ZodNumber>;
3121
+ thinking: z.ZodOptional<z.ZodObject<{
3122
+ type: z.ZodEnum<{
3123
+ disabled: "disabled";
3124
+ enabled: "enabled";
3125
+ }>;
3126
+ budgetTokens: z.ZodOptional<z.ZodNumber>;
3127
+ }, z.core.$strip>>;
3128
+ }, z.core.$strip>]>>>;
2634
3129
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
2635
3130
  model: z.ZodString;
2636
3131
  reasoning: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
@@ -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;
@@ -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;