oh-my-opencode 4.19.4 → 5.0.0-beta.10

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 (374) hide show
  1. package/.agents/command/publish.md +44 -16
  2. package/.agents/skills/publish/SKILL.md +44 -16
  3. package/.agents/skills/work-with-pr/SKILL.md +37 -23
  4. package/.opencode/command/publish.md +44 -16
  5. package/.opencode/skills/work-with-pr/SKILL.md +37 -23
  6. package/README.ja.md +1 -1
  7. package/README.ko.md +1 -1
  8. package/README.md +18 -6
  9. package/README.ru.md +1 -1
  10. package/README.zh-cn.md +1 -1
  11. package/bin/oh-my-opencode.js +14 -1
  12. package/bin/oh-my-opencode.test.ts +21 -0
  13. package/dist/agents/atlas/agent.d.ts +0 -1
  14. package/dist/agents/sisyphus/grok-4.d.ts +20 -0
  15. package/dist/agents/sisyphus/index.d.ts +2 -0
  16. package/dist/agents/sisyphus-agent-config.d.ts +6 -0
  17. package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
  18. package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
  19. package/dist/agents/types.d.ts +2 -2
  20. package/dist/cli/index.js +1888 -807
  21. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  22. package/dist/cli-node/index.js +1888 -807
  23. package/dist/config/schema/agent-overrides.d.ts +528 -0
  24. package/dist/config/schema/oh-my-opencode-config.d.ts +495 -0
  25. package/dist/features/monitor/batcher.d.ts +3 -1
  26. package/dist/features/monitor/manager-internals.d.ts +1 -0
  27. package/dist/features/monitor/output-injector-types.d.ts +2 -0
  28. package/dist/features/monitor/output-injector.d.ts +6 -0
  29. package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
  30. package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
  31. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  32. package/dist/hooks/todo-continuation-enforcer/unrecoverable-request-error.d.ts +9 -0
  33. package/dist/hooks/tool-pair-validator/hook.test-support.d.ts +29 -0
  34. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +14 -5
  35. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -3
  36. package/dist/hooks/tool-pair-validator/types.d.ts +5 -22
  37. package/dist/index.js +3139 -2232
  38. package/dist/mcp/lsp.d.ts +1 -0
  39. package/dist/oh-my-opencode.schema.json +1466 -131
  40. package/dist/shared/normalize-sdk-response.d.ts +1 -0
  41. package/dist/shared/shell-env.d.ts +1 -1
  42. package/dist/shared/tmux/constants.d.ts +1 -1
  43. package/dist/skills/ast-grep/SOURCE +1 -1
  44. package/dist/skills/ast-grep/install.ps1 +2 -2
  45. package/dist/skills/ast-grep/install.sh +1 -1
  46. package/dist/skills/ast-grep/references/install.md +2 -2
  47. package/dist/skills/ast-grep/tests/smoke.sh +1 -1
  48. package/dist/skills/coding-agent-sessions/SKILL.md +3 -2
  49. package/dist/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  50. package/dist/skills/coding-agent-sessions/references/senpi.md +4 -4
  51. package/dist/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  52. package/dist/skills/frontend/SKILL.md +10 -7
  53. package/dist/skills/frontend/references/design/_INDEX.md +1 -0
  54. package/dist/skills/frontend/references/design/stylegallery.md +80 -0
  55. package/dist/skills/start-work/SKILL.md +54 -9
  56. package/dist/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  57. package/dist/skills/ultimate-browsing/SKILL.md +2 -2
  58. package/dist/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  59. package/dist/skills/ultimate-browsing/engine/__main__.py +8 -1
  60. package/dist/skills/ultimate-browsing/engine/bias_check.py +11 -0
  61. package/dist/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  62. package/dist/skills/ultimate-browsing/engine/result_schema.py +10 -1
  63. package/dist/skills/ultimate-browsing/engine/surrogate.py +214 -0
  64. package/dist/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  65. package/dist/skills/ultimate-browsing/engine/templates/package.json +1 -1
  66. package/dist/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  67. package/dist/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  68. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  69. package/dist/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  70. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  71. package/dist/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  72. package/dist/skills/ultimate-browsing/engine/validators.py +46 -0
  73. package/dist/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  74. package/dist/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  75. package/dist/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  76. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  77. package/dist/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  78. package/dist/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  79. package/dist/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  80. package/dist/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  81. package/dist/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  82. package/dist/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  83. package/dist/skills/ulw-plan/SKILL.md +3 -3
  84. package/dist/skills/ulw-plan/references/full-workflow.md +30 -6
  85. package/dist/skills/ulw-plan/references/intent-clear.md +2 -1
  86. package/dist/skills/ulw-plan/references/intent-unclear.md +3 -3
  87. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  88. package/dist/skills/ulw-research/SKILL.md +15 -10
  89. package/dist/tui.js +477 -36
  90. package/docs/reference/web-terminal-visual-qa.md +1 -1
  91. package/package.json +34 -24
  92. package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +44 -0
  93. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +0 -28
  94. package/packages/lsp-core/src/lsp/client-wrapper.test.ts +60 -7
  95. package/packages/lsp-core/src/lsp/client-wrapper.ts +69 -16
  96. package/packages/lsp-core/src/lsp/connection.ts +1 -1
  97. package/packages/lsp-core/src/lsp/workspace-edit-adversarial.test.ts +20 -1
  98. package/packages/lsp-core/src/tools/diagnostics.ts +3 -3
  99. package/packages/lsp-core/src/tools/navigation.ts +4 -2
  100. package/packages/lsp-core/src/tools/rename.ts +4 -2
  101. package/packages/lsp-core/src/tools/symbols.ts +1 -1
  102. package/packages/lsp-daemon/dist/cli.js +108 -40
  103. package/packages/lsp-daemon/dist/client.js +123 -55
  104. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +1 -0
  105. package/packages/lsp-daemon/dist/ensure-daemon.js +18 -5
  106. package/packages/lsp-daemon/dist/index.js +111 -43
  107. package/packages/lsp-tools-mcp/dist/cli.js +77 -23
  108. package/packages/lsp-tools-mcp/dist/lsp/manager.js +1 -1
  109. package/packages/lsp-tools-mcp/dist/mcp.js +77 -23
  110. package/packages/lsp-tools-mcp/dist/tools.js +77 -23
  111. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  112. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +268 -92
  113. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  114. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  115. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -7
  116. package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +3 -0
  117. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +220 -10
  118. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +220 -10
  119. package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
  120. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  121. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  122. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  123. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  124. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  125. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  126. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +3 -17
  127. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  128. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +135 -67
  129. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  130. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  131. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  132. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  133. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  134. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +16 -23
  135. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  136. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  137. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  138. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  139. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  140. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +37 -69
  141. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  142. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +1 -15
  143. package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +4 -2
  144. package/packages/omo-codex/plugin/components/start-work-continuation/README.md +5 -1
  145. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +2 -1
  146. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +18 -0
  147. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  148. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  149. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  150. package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +0 -3
  151. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +107 -16
  152. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  153. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  154. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +3 -9
  155. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +24 -12
  156. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +24 -12
  157. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  158. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  159. package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +2 -0
  160. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  161. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  162. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  163. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  164. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  165. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  166. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +2 -2
  167. package/packages/omo-codex/plugin/components/ultrawork/directive.md +9 -2
  168. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  169. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  170. package/packages/omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md +9 -2
  171. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +3 -3
  172. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +30 -6
  173. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +2 -1
  174. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +3 -3
  175. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  176. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  177. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  178. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +1 -1
  179. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +2 -0
  180. package/packages/omo-codex/plugin/components/ulw-loop/README.md +11 -11
  181. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +9 -2
  182. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +1 -1
  183. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -1
  184. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +9 -9
  185. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +1 -1
  186. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +66 -66
  187. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +4 -4
  188. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +1 -1
  189. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +1 -1
  190. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +1 -1
  191. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +1 -1
  192. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +2 -2
  193. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  194. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  195. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +5 -4
  196. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/define-goal.md +108 -0
  197. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +23 -25
  198. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +1 -1
  199. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +9 -9
  200. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +1 -1
  201. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +1 -1
  202. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +4 -4
  203. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +1 -1
  204. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +1 -1
  205. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +1 -1
  206. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +1 -1
  207. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +2 -2
  208. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  209. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -2
  210. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +1 -1
  211. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +2 -2
  212. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-kind-guidance.test.ts +1 -1
  213. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
  214. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +2 -5
  215. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +1 -1
  216. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +7 -40
  217. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +1 -1
  218. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +1 -1
  219. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +1 -1
  220. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  221. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +4 -5
  222. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  223. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  224. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  225. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  226. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  227. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  228. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  229. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  230. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  231. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  232. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  233. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  234. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  235. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  236. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  237. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  238. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  239. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  240. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  241. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  242. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  243. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  244. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  245. package/packages/omo-codex/plugin/package-lock.json +20 -20
  246. package/packages/omo-codex/plugin/package.json +1 -1
  247. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +4 -4
  248. package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -1
  249. package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +2 -2
  250. package/packages/omo-codex/plugin/skills/ast-grep/install.sh +1 -1
  251. package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +2 -2
  252. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +1 -1
  253. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +3 -2
  254. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  255. package/packages/omo-codex/plugin/skills/coding-agent-sessions/references/senpi.md +4 -4
  256. package/packages/omo-codex/plugin/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  257. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +10 -7
  258. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
  259. package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +80 -0
  260. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +54 -9
  261. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  262. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +2 -2
  263. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  264. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/__main__.py +8 -1
  265. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/bias_check.py +11 -0
  266. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  267. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/result_schema.py +10 -1
  268. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogate.py +214 -0
  269. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  270. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +1 -1
  271. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  272. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  273. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  274. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  275. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  276. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  277. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/validators.py +46 -0
  278. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  279. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  280. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  281. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  282. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  283. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  284. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  285. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  286. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  287. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  288. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +9 -2
  289. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +5 -4
  290. package/packages/omo-codex/plugin/skills/ulw-loop/references/define-goal.md +108 -0
  291. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +23 -25
  292. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +3 -3
  293. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +30 -6
  294. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +2 -1
  295. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +3 -3
  296. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  297. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +15 -10
  298. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  299. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +4 -24
  300. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  301. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  302. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  303. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +12 -12
  304. package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +36 -4
  305. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  306. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  307. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +101 -0
  308. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +4 -4
  309. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +1 -119
  310. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  311. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  312. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  313. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  314. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  315. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +0 -3
  316. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  317. package/packages/omo-codex/scripts/install-bin-links.test.mjs +56 -2
  318. package/packages/omo-codex/scripts/install-delegated-command.test.mjs +6 -6
  319. package/packages/omo-codex/scripts/install-dist/install-local.mjs +170 -78
  320. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
  321. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +4 -4
  322. package/packages/omo-codex/scripts/install-local.test.mjs +5 -2
  323. package/packages/shared-skills/index.mjs +19 -1
  324. package/packages/shared-skills/skills/ast-grep/SOURCE +1 -1
  325. package/packages/shared-skills/skills/ast-grep/install.ps1 +2 -2
  326. package/packages/shared-skills/skills/ast-grep/install.sh +1 -1
  327. package/packages/shared-skills/skills/ast-grep/references/install.md +2 -2
  328. package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +1 -1
  329. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +3 -2
  330. package/packages/shared-skills/skills/coding-agent-sessions/references/all-platforms.md +1 -1
  331. package/packages/shared-skills/skills/coding-agent-sessions/references/senpi.md +4 -4
  332. package/packages/shared-skills/skills/coding-agent-sessions/scripts/agent_sessions/pi_family.py +1 -1
  333. package/packages/shared-skills/skills/frontend/SKILL.md +10 -7
  334. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
  335. package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +80 -0
  336. package/packages/shared-skills/skills/start-work/SKILL.md +54 -9
  337. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +37 -10
  338. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +2 -2
  339. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +179 -0
  340. package/packages/shared-skills/skills/ultimate-browsing/engine/__main__.py +8 -1
  341. package/packages/shared-skills/skills/ultimate-browsing/engine/bias_check.py +11 -0
  342. package/packages/shared-skills/skills/ultimate-browsing/engine/fetch_chain.py +90 -52
  343. package/packages/shared-skills/skills/ultimate-browsing/engine/result_schema.py +10 -1
  344. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogate.py +214 -0
  345. package/packages/shared-skills/skills/ultimate-browsing/engine/surrogates.yaml +60 -0
  346. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +1 -1
  347. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/amp_redirect_stub.html +7 -0
  348. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/search_interstitial.html +19 -0
  349. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_available.json +1 -0
  350. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/fixtures/wayback_snapshot.html +1128 -0
  351. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate.py +252 -0
  352. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_surrogate_validators.py +78 -0
  353. package/packages/shared-skills/skills/ultimate-browsing/engine/validators.py +46 -0
  354. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_detector.py +1 -1
  355. package/packages/shared-skills/skills/ultimate-browsing/engine/waf_profiles.yaml +10 -5
  356. package/packages/shared-skills/skills/ultimate-browsing/references/agent-reach/social.md +1 -1
  357. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +13 -11
  358. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +4 -4
  359. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/cache-archive.md +51 -50
  360. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/fallback.md +1 -1
  361. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/jina.md +8 -2
  362. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/naver.md +1 -1
  363. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/twitter.md +3 -3
  364. package/packages/shared-skills/skills/ulw-plan/SKILL.md +3 -3
  365. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +30 -6
  366. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +2 -1
  367. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +3 -3
  368. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -1
  369. package/packages/shared-skills/skills/ulw-research/SKILL.md +15 -10
  370. package/postinstall.mjs +6 -0
  371. package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
  372. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  373. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  374. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
@@ -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;