@heidi-dang/oh-my-opencode 3.12.5 → 3.13.0

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 (499) hide show
  1. package/README.md +61 -367
  2. package/dist/agents/atlas/agent.d.ts +1 -1
  3. package/dist/agents/atlas/default.d.ts +1 -1
  4. package/dist/agents/atlas/gemini.d.ts +1 -1
  5. package/dist/agents/atlas/gpt.d.ts +1 -1
  6. package/dist/agents/atlas/prompt-section-builder.d.ts +1 -1
  7. package/dist/agents/builtin-agents/atlas-agent.d.ts +4 -1
  8. package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
  9. package/dist/agents/builtin-agents/general-agents.d.ts +4 -1
  10. package/dist/agents/builtin-agents/hephaestus-agent.d.ts +5 -1
  11. package/dist/agents/builtin-agents/model-resolution.d.ts +2 -0
  12. package/dist/agents/builtin-agents/resolve-file-uri.test.d.ts +1 -0
  13. package/dist/agents/builtin-agents/sisyphus-agent.d.ts +4 -1
  14. package/dist/agents/builtin-agents.d.ts +3 -3
  15. package/dist/agents/chat.d.ts +7 -0
  16. package/dist/agents/dynamic-agent-prompt-builder.test.d.ts +1 -0
  17. package/dist/agents/env-context.test.d.ts +1 -0
  18. package/dist/agents/hephaestus/agent.d.ts +19 -0
  19. package/dist/agents/hephaestus/agent.test.d.ts +1 -0
  20. package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +21 -0
  21. package/dist/agents/hephaestus/gpt-5-4.d.ts +3 -0
  22. package/dist/agents/hephaestus/gpt.d.ts +3 -0
  23. package/dist/agents/hephaestus/index.d.ts +2 -0
  24. package/dist/agents/hephaestus.d.ts +1 -1
  25. package/dist/agents/index.d.ts +1 -1
  26. package/dist/agents/metis.d.ts +1 -1
  27. package/dist/agents/momus.d.ts +1 -1
  28. package/dist/agents/momus.test.d.ts +1 -0
  29. package/dist/agents/prometheus-prompt.test.d.ts +1 -0
  30. package/dist/agents/prompts/agent-role.d.ts +2 -0
  31. package/dist/agents/prompts/anti-patterns.d.ts +2 -0
  32. package/dist/agents/prompts/base-system.d.ts +1 -0
  33. package/dist/agents/prompts/execution-rules.d.ts +2 -0
  34. package/dist/agents/prompts/hard-blocks.d.ts +2 -0
  35. package/dist/agents/prompts/index.d.ts +6 -0
  36. package/dist/agents/{dynamic-agent-prompt-builder.d.ts → prompts/orchestration.d.ts} +2 -23
  37. package/dist/agents/prompts/skill-context.d.ts +2 -0
  38. package/dist/agents/runtime/action-validator.d.ts +31 -0
  39. package/dist/agents/runtime/agent-logger.d.ts +15 -0
  40. package/dist/agents/runtime/loop-guard.d.ts +2 -0
  41. package/dist/agents/runtime/verify-action.d.ts +58 -0
  42. package/dist/agents/sisyphus/default.d.ts +9 -0
  43. package/dist/agents/sisyphus/gemini.d.ts +20 -0
  44. package/dist/agents/sisyphus/gpt-5-4.d.ts +16 -0
  45. package/dist/agents/sisyphus/index.d.ts +11 -0
  46. package/dist/agents/sisyphus-junior/index.test.d.ts +1 -0
  47. package/dist/agents/sisyphus.d.ts +1 -1
  48. package/dist/agents/tool-restrictions.test.d.ts +1 -0
  49. package/dist/agents/types.d.ts +24 -6
  50. package/dist/agents/types.test.d.ts +1 -0
  51. package/dist/agents/utils.test.d.ts +1 -0
  52. package/dist/cli/cli-installer.test.d.ts +1 -0
  53. package/dist/cli/config-manager/write-omo-config.test.d.ts +1 -0
  54. package/dist/cli/config-manager.test.d.ts +1 -0
  55. package/dist/cli/doctor/checks/config.test.d.ts +1 -0
  56. package/dist/cli/doctor/checks/dependencies.test.d.ts +1 -0
  57. package/dist/cli/doctor/checks/edit-atomicity.d.ts +5 -0
  58. package/dist/cli/doctor/checks/issue-resolution.d.ts +7 -0
  59. package/dist/cli/doctor/checks/model-resolution.test.d.ts +1 -0
  60. package/dist/cli/doctor/checks/plan-compiler.d.ts +8 -0
  61. package/dist/cli/doctor/checks/progress.d.ts +8 -0
  62. package/dist/cli/doctor/checks/run-state-watchdog.d.ts +2 -0
  63. package/dist/cli/doctor/checks/system-loaded-version.test.d.ts +1 -0
  64. package/dist/cli/doctor/checks/system.test.d.ts +1 -0
  65. package/dist/cli/doctor/checks/tool-contract.d.ts +8 -0
  66. package/dist/cli/doctor/checks/tool-metadata.d.ts +2 -0
  67. package/dist/cli/doctor/constants.d.ts +3 -0
  68. package/dist/cli/doctor/format-default.test.d.ts +1 -0
  69. package/dist/cli/doctor/formatter.test.d.ts +1 -0
  70. package/dist/cli/doctor/runner.test.d.ts +1 -0
  71. package/dist/cli/doctor/types.d.ts +3 -0
  72. package/dist/cli/index.js +2507 -212
  73. package/dist/cli/index.test.d.ts +1 -0
  74. package/dist/cli/install.test.d.ts +1 -0
  75. package/dist/cli/mcp-oauth/index.test.d.ts +1 -0
  76. package/dist/cli/mcp-oauth/login.test.d.ts +1 -0
  77. package/dist/cli/mcp-oauth/logout.test.d.ts +1 -0
  78. package/dist/cli/mcp-oauth/status.test.d.ts +1 -0
  79. package/dist/cli/model-fallback.test.d.ts +1 -0
  80. package/dist/cli/provider-model-id-transform.test.d.ts +1 -0
  81. package/dist/cli/run/completion-continuation.test.d.ts +1 -0
  82. package/dist/cli/run/completion-verbose-logging.test.d.ts +1 -0
  83. package/dist/cli/run/completion.test.d.ts +1 -0
  84. package/dist/cli/run/continuation-state-marker.test.d.ts +1 -0
  85. package/dist/cli/run/event-handlers.test.d.ts +1 -0
  86. package/dist/cli/run/events.test.d.ts +1 -0
  87. package/dist/cli/run/integration.test.d.ts +1 -0
  88. package/dist/cli/run/json-output.test.d.ts +1 -0
  89. package/dist/cli/run/message-part-delta.test.d.ts +1 -0
  90. package/dist/cli/run/on-complete-hook.test.d.ts +1 -0
  91. package/dist/cli/run/opencode-binary-resolver.test.d.ts +1 -0
  92. package/dist/cli/run/poll-for-completion.test.d.ts +1 -0
  93. package/dist/cli/run/runner.test.d.ts +1 -0
  94. package/dist/cli/run/server-connection.test.d.ts +1 -0
  95. package/dist/cli/run/session-resolver.test.d.ts +1 -0
  96. package/dist/cli/run/stdin-suppression.test.d.ts +1 -0
  97. package/dist/cli/run/timestamp-output.test.d.ts +1 -0
  98. package/dist/config/schema/agent-names.d.ts +6 -3
  99. package/dist/config/schema/agent-overrides.d.ts +150 -30
  100. package/dist/config/schema/background-task.test.d.ts +1 -0
  101. package/dist/config/schema/categories.d.ts +21 -3
  102. package/dist/config/schema/categories.test.d.ts +1 -0
  103. package/dist/config/schema/fallback-models.d.ts +11 -1
  104. package/dist/config/schema/hooks.d.ts +7 -0
  105. package/dist/config/schema/oh-my-opencode-config.d.ts +151 -29
  106. package/dist/config/schema.test.d.ts +1 -0
  107. package/dist/create-hooks.d.ts +11 -1
  108. package/dist/create-managers.d.ts +2 -0
  109. package/dist/create-tools.d.ts +1 -1
  110. package/dist/features/background-agent/compaction-aware-message-resolver.test.d.ts +1 -0
  111. package/dist/features/background-agent/concurrency.test.d.ts +1 -0
  112. package/dist/features/background-agent/error-classifier.test.d.ts +1 -0
  113. package/dist/features/background-agent/fallback-retry-handler.test.d.ts +1 -0
  114. package/dist/features/background-agent/manager.d.ts +13 -0
  115. package/dist/features/background-agent/manager.polling.test.d.ts +1 -0
  116. package/dist/features/background-agent/manager.test.d.ts +1 -0
  117. package/dist/features/background-agent/process-cleanup.test.d.ts +1 -0
  118. package/dist/features/background-agent/session-idle-event-handler.test.d.ts +1 -0
  119. package/dist/features/background-agent/spawner/parent-directory-resolver.test.d.ts +1 -0
  120. package/dist/features/background-agent/spawner.test.d.ts +1 -0
  121. package/dist/features/background-agent/task-history.test.d.ts +1 -0
  122. package/dist/features/background-agent/task-poller.test.d.ts +1 -0
  123. package/dist/features/background-agent/types.d.ts +9 -4
  124. package/dist/features/boulder-state/storage.test.d.ts +1 -0
  125. package/dist/features/builtin-commands/commands.test.d.ts +1 -0
  126. package/dist/features/builtin-commands/templates/stop-continuation.test.d.ts +1 -0
  127. package/dist/features/builtin-skills/skills/git/git-commit.d.ts +2 -0
  128. package/dist/features/builtin-skills/skills/git/git-history.d.ts +1 -0
  129. package/dist/features/builtin-skills/skills/git/git-push-pr.d.ts +1 -0
  130. package/dist/features/builtin-skills/skills/git/git-rebase.d.ts +1 -0
  131. package/dist/features/builtin-skills/skills/git/git-shared.d.ts +2 -0
  132. package/dist/features/builtin-skills/skills.test.d.ts +1 -0
  133. package/dist/features/claude-code-mcp-loader/loader.test.d.ts +1 -0
  134. package/dist/features/claude-code-session-state/state.d.ts +4 -0
  135. package/dist/features/claude-code-session-state/state.test.d.ts +1 -0
  136. package/dist/features/claude-tasks/session-storage.test.d.ts +1 -0
  137. package/dist/features/claude-tasks/storage.test.d.ts +1 -0
  138. package/dist/features/claude-tasks/types.test.d.ts +1 -0
  139. package/dist/features/context-injector/collector.test.d.ts +1 -0
  140. package/dist/features/context-injector/injector.test.d.ts +1 -0
  141. package/dist/features/hook-message-injector/injector.d.ts +2 -0
  142. package/dist/features/hook-message-injector/injector.test.d.ts +1 -0
  143. package/dist/features/issue-resolution/state.d.ts +12 -0
  144. package/dist/features/issue-resolution/tests/integration.test.d.ts +1 -0
  145. package/dist/features/mcp-oauth/callback-server.test.d.ts +1 -0
  146. package/dist/features/mcp-oauth/dcr.test.d.ts +1 -0
  147. package/dist/features/mcp-oauth/discovery.test.d.ts +1 -0
  148. package/dist/features/mcp-oauth/provider.test.d.ts +1 -0
  149. package/dist/features/mcp-oauth/resource-indicator.test.d.ts +1 -0
  150. package/dist/features/mcp-oauth/schema.test.d.ts +1 -0
  151. package/dist/features/mcp-oauth/step-up.test.d.ts +1 -0
  152. package/dist/features/mcp-oauth/storage.test.d.ts +1 -0
  153. package/dist/features/opencode-skill-loader/agents-skills-global.test.d.ts +1 -0
  154. package/dist/features/opencode-skill-loader/async-loader.test.d.ts +1 -0
  155. package/dist/features/opencode-skill-loader/blocking.test.d.ts +1 -0
  156. package/dist/features/opencode-skill-loader/config-source-discovery.test.d.ts +1 -0
  157. package/dist/features/opencode-skill-loader/loader.test.d.ts +1 -0
  158. package/dist/features/opencode-skill-loader/merger.test.d.ts +1 -0
  159. package/dist/features/opencode-skill-loader/skill-content.test.d.ts +1 -0
  160. package/dist/features/pr-state/storage.d.ts +10 -0
  161. package/dist/features/run-continuation-state/storage.test.d.ts +1 -0
  162. package/dist/features/run-state-watchdog/index.d.ts +1 -0
  163. package/dist/features/run-state-watchdog/manager.d.ts +31 -0
  164. package/dist/features/run-state-watchdog/manager.test.d.ts +1 -0
  165. package/dist/features/run-state-watchdog/reconnect.test.d.ts +1 -0
  166. package/dist/features/skill-mcp-manager/env-cleaner.test.d.ts +1 -0
  167. package/dist/features/skill-mcp-manager/manager.test.d.ts +1 -0
  168. package/dist/features/task-toast-manager/manager.d.ts +9 -0
  169. package/dist/features/task-toast-manager/manager.test.d.ts +1 -0
  170. package/dist/features/task-toast-manager/types.d.ts +5 -0
  171. package/dist/features/tmux-subagent/action-executor.test.d.ts +1 -0
  172. package/dist/features/tmux-subagent/decision-engine.test.d.ts +1 -0
  173. package/dist/features/tmux-subagent/layout-config.test.d.ts +1 -0
  174. package/dist/features/tmux-subagent/manager.test.d.ts +1 -0
  175. package/dist/features/tmux-subagent/polling-manager.test.d.ts +1 -0
  176. package/dist/features/tool-metadata-store/index.test.d.ts +1 -0
  177. package/dist/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.test.d.ts +1 -0
  178. package/dist/hooks/anthropic-context-window-limit-recovery/executor.test.d.ts +1 -0
  179. package/dist/hooks/anthropic-context-window-limit-recovery/parser.test.d.ts +1 -0
  180. package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.test.d.ts +1 -0
  181. package/dist/hooks/anthropic-context-window-limit-recovery/recovery-deduplication.test.d.ts +1 -0
  182. package/dist/hooks/anthropic-context-window-limit-recovery/recovery-hook.test.d.ts +1 -0
  183. package/dist/hooks/anthropic-context-window-limit-recovery/storage.test.d.ts +1 -0
  184. package/dist/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.test.d.ts +1 -0
  185. package/dist/hooks/anthropic-effort/index.test.d.ts +1 -0
  186. package/dist/hooks/atlas/index.test.d.ts +1 -0
  187. package/dist/hooks/auto-slash-command/constants.test.d.ts +1 -0
  188. package/dist/hooks/auto-slash-command/detector.test.d.ts +1 -0
  189. package/dist/hooks/auto-slash-command/executor.test.d.ts +1 -0
  190. package/dist/hooks/auto-slash-command/index.test.d.ts +1 -0
  191. package/dist/hooks/auto-update-checker/checker/pinned-version-updater.test.d.ts +1 -0
  192. package/dist/hooks/auto-update-checker/checker/plugin-entry.test.d.ts +1 -0
  193. package/dist/hooks/auto-update-checker/checker.test.d.ts +1 -0
  194. package/dist/hooks/auto-update-checker/hook/background-update-check.test.d.ts +1 -0
  195. package/dist/hooks/auto-update-checker/hook.test.d.ts +1 -0
  196. package/dist/hooks/auto-update-checker/index.test.d.ts +1 -0
  197. package/dist/hooks/category-skill-reminder/formatter.d.ts +1 -1
  198. package/dist/hooks/category-skill-reminder/hook.d.ts +1 -1
  199. package/dist/hooks/category-skill-reminder/index.test.d.ts +1 -0
  200. package/dist/hooks/claude-code-hooks/execute-http-hook.test.d.ts +1 -0
  201. package/dist/hooks/claude-code-hooks/stop.test.d.ts +1 -0
  202. package/dist/hooks/claude-code-hooks/transcript.test.d.ts +1 -0
  203. package/dist/hooks/claude-code-hooks/user-prompt-submit.test.d.ts +1 -0
  204. package/dist/hooks/comment-checker/cli.test.d.ts +1 -0
  205. package/dist/hooks/comment-checker/hook.apply-patch.test.d.ts +1 -0
  206. package/dist/hooks/comment-checker/pending-calls.test.d.ts +1 -0
  207. package/dist/hooks/compaction-context-injector/index.test.d.ts +1 -0
  208. package/dist/hooks/compaction-todo-preserver/index.test.d.ts +1 -0
  209. package/dist/hooks/context-window-monitor.test.d.ts +1 -0
  210. package/dist/hooks/delegate-task-retry/index.test.d.ts +1 -0
  211. package/dist/hooks/directory-agents-injector/injector.test.d.ts +1 -0
  212. package/dist/hooks/directory-readme-injector/injector.test.d.ts +1 -0
  213. package/dist/hooks/edit-error-recovery/hook.d.ts +2 -1
  214. package/dist/hooks/edit-error-recovery/index.test.d.ts +1 -0
  215. package/dist/hooks/edit-safeguard/hook.d.ts +2 -0
  216. package/dist/hooks/execution-journal/hook.d.ts +19 -0
  217. package/dist/hooks/execution-journal/index.d.ts +1 -0
  218. package/dist/hooks/hashline-read-enhancer/index.test.d.ts +1 -0
  219. package/dist/hooks/index.d.ts +11 -3
  220. package/dist/hooks/json-error-recovery/index.test.d.ts +1 -0
  221. package/dist/hooks/keyword-detector/constants.d.ts +1 -0
  222. package/dist/hooks/keyword-detector/detector.d.ts +1 -1
  223. package/dist/hooks/keyword-detector/index.test.d.ts +1 -0
  224. package/dist/hooks/keyword-detector/issue.d.ts +2 -0
  225. package/dist/hooks/model-fallback/hook.test.d.ts +1 -0
  226. package/dist/hooks/no-hephaestus-non-gpt/index.test.d.ts +1 -0
  227. package/dist/hooks/no-sisyphus-gpt/index.test.d.ts +1 -0
  228. package/dist/hooks/non-interactive-env/index.test.d.ts +1 -0
  229. package/dist/hooks/plan-enforcement/hook.d.ts +29 -0
  230. package/dist/hooks/plan-enforcement/hook.test.d.ts +1 -0
  231. package/dist/hooks/plan-enforcement/index.d.ts +1 -0
  232. package/dist/hooks/preemptive-compaction.test.d.ts +1 -0
  233. package/dist/hooks/prometheus-md-only/index.test.d.ts +1 -0
  234. package/dist/hooks/question-label-truncator/index.test.d.ts +1 -0
  235. package/dist/hooks/ralph-loop/completion-handler.d.ts +14 -0
  236. package/dist/hooks/ralph-loop/completion-promise-detector.d.ts +1 -1
  237. package/dist/hooks/ralph-loop/completion-promise-detector.test.d.ts +1 -0
  238. package/dist/hooks/ralph-loop/constants.d.ts +1 -0
  239. package/dist/hooks/ralph-loop/index.test.d.ts +1 -0
  240. package/dist/hooks/ralph-loop/loop-state-controller.d.ts +2 -0
  241. package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +2 -0
  242. package/dist/hooks/ralph-loop/reset-strategy-race-condition.test.d.ts +1 -0
  243. package/dist/hooks/ralph-loop/session-event-handler.d.ts +12 -0
  244. package/dist/hooks/ralph-loop/types.d.ts +5 -1
  245. package/dist/hooks/ralph-loop/ulw-loop-verification.test.d.ts +1 -0
  246. package/dist/hooks/read-image-resizer/hook.test.d.ts +1 -0
  247. package/dist/hooks/read-image-resizer/image-dimensions.test.d.ts +1 -0
  248. package/dist/hooks/read-image-resizer/image-resizer.test.d.ts +1 -0
  249. package/dist/hooks/rules-injector/finder.test.d.ts +1 -0
  250. package/dist/hooks/rules-injector/injector.test.d.ts +1 -0
  251. package/dist/hooks/rules-injector/output-path.test.d.ts +1 -0
  252. package/dist/hooks/rules-injector/parser.test.d.ts +1 -0
  253. package/dist/hooks/run-state-watchdog/hook.d.ts +5 -0
  254. package/dist/hooks/run-state-watchdog/index.d.ts +1 -0
  255. package/dist/hooks/runtime-enforcement/hook.d.ts +10 -0
  256. package/dist/hooks/runtime-enforcement/hook.test.d.ts +1 -0
  257. package/dist/hooks/runtime-enforcement/index.d.ts +1 -0
  258. package/dist/hooks/runtime-enforcement/synthetic-injection.test.d.ts +1 -0
  259. package/dist/hooks/runtime-fallback/index.test.d.ts +1 -0
  260. package/dist/hooks/semantic-loop-guard/hook.d.ts +10 -0
  261. package/dist/hooks/semantic-loop-guard/hook.test.d.ts +1 -0
  262. package/dist/hooks/semantic-loop-guard/index.d.ts +1 -0
  263. package/dist/hooks/session-notification-input-needed.test.d.ts +1 -0
  264. package/dist/hooks/session-notification.test.d.ts +1 -0
  265. package/dist/hooks/session-recovery/detect-error-type.test.d.ts +1 -0
  266. package/dist/hooks/session-recovery/index.test.d.ts +1 -0
  267. package/dist/hooks/session-recovery/recover-empty-content-message-sdk.test.d.ts +1 -0
  268. package/dist/hooks/session-recovery/resume.test.d.ts +1 -0
  269. package/dist/hooks/session-recovery/storage/readers-from-sdk.test.d.ts +1 -0
  270. package/dist/hooks/start-work/index.test.d.ts +1 -0
  271. package/dist/hooks/start-work/parse-user-request.test.d.ts +1 -0
  272. package/dist/hooks/start-work/worktree-detector.test.d.ts +1 -0
  273. package/dist/hooks/stop-continuation-guard/index.test.d.ts +1 -0
  274. package/dist/hooks/task-reminder/index.test.d.ts +1 -0
  275. package/dist/hooks/task-resume-info/index.test.d.ts +1 -0
  276. package/dist/hooks/tasks-todowrite-disabler/index.test.d.ts +1 -0
  277. package/dist/hooks/think-mode/index.test.d.ts +1 -0
  278. package/dist/hooks/think-mode/switcher.test.d.ts +1 -0
  279. package/dist/hooks/todo-continuation-enforcer/continuation-injection.test.d.ts +1 -0
  280. package/dist/hooks/todo-continuation-enforcer/pending-question-detection.test.d.ts +1 -0
  281. package/dist/hooks/todo-continuation-enforcer/todo-continuation-enforcer.test.d.ts +1 -0
  282. package/dist/hooks/tool-contract/hook.d.ts +19 -0
  283. package/dist/hooks/tool-contract/hook.test.d.ts +1 -0
  284. package/dist/hooks/tool-contract/index.d.ts +1 -0
  285. package/dist/hooks/tool-output-truncator.test.d.ts +1 -0
  286. package/dist/hooks/unstable-agent-babysitter/index.test.d.ts +1 -0
  287. package/dist/hooks/write-existing-file-guard/index.test.d.ts +1 -0
  288. package/dist/hooks/xai-usage-patch/hook.d.ts +20 -0
  289. package/dist/hooks/xai-usage-patch/hook.test.d.ts +1 -0
  290. package/dist/index.compaction-model-agnostic.static.test.d.ts +1 -0
  291. package/dist/index.js +4980 -14453
  292. package/dist/index.test.d.ts +1 -0
  293. package/dist/mcp/index.test.d.ts +1 -0
  294. package/dist/mcp/websearch.test.d.ts +1 -0
  295. package/dist/oh-my-opencode.schema.json +622 -15
  296. package/dist/plugin/available-categories.d.ts +1 -1
  297. package/dist/plugin/chat-headers.test.d.ts +1 -0
  298. package/dist/plugin/chat-message.test.d.ts +1 -0
  299. package/dist/plugin/chat-params.test.d.ts +1 -0
  300. package/dist/plugin/event.model-fallback.test.d.ts +1 -0
  301. package/dist/plugin/event.test.d.ts +1 -0
  302. package/dist/plugin/hooks/create-core-hooks.d.ts +10 -0
  303. package/dist/plugin/hooks/create-session-hooks.d.ts +4 -1
  304. package/dist/plugin/hooks/create-skill-hooks.d.ts +1 -1
  305. package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +7 -1
  306. package/dist/plugin/recent-synthetic-idles.test.d.ts +1 -0
  307. package/dist/plugin/session-agent-resolver.test.d.ts +1 -0
  308. package/dist/plugin/session-status-normalizer.test.d.ts +1 -0
  309. package/dist/plugin/skill-context.d.ts +1 -1
  310. package/dist/plugin/tool-execute-before-session-notification.test.d.ts +1 -0
  311. package/dist/plugin/tool-execute-before.test.d.ts +1 -0
  312. package/dist/plugin/tool-normalization.test.d.ts +1 -0
  313. package/dist/plugin/tool-registry.d.ts +1 -1
  314. package/dist/plugin/truth-model-integration.test.d.ts +1 -0
  315. package/dist/plugin/ultrawork-db-model-override.test.d.ts +1 -0
  316. package/dist/plugin/ultrawork-model-override.test.d.ts +1 -0
  317. package/dist/plugin-config.test.d.ts +1 -0
  318. package/dist/plugin-handlers/agent-key-remapper.test.d.ts +1 -0
  319. package/dist/plugin-handlers/config-handler-formatter.test.d.ts +1 -0
  320. package/dist/plugin-handlers/config-handler.test.d.ts +1 -0
  321. package/dist/plugin-handlers/mcp-config-handler.test.d.ts +1 -0
  322. package/dist/plugin-handlers/plan-model-inheritance.test.d.ts +1 -0
  323. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +3 -2
  324. package/dist/plugin-handlers/tool-config-handler.test.d.ts +1 -0
  325. package/dist/runtime/journal.d.ts +33 -0
  326. package/dist/runtime/plan-compiler.d.ts +20 -0
  327. package/dist/runtime/plan-compiler.test.d.ts +1 -0
  328. package/dist/runtime/startup-validation.d.ts +7 -0
  329. package/dist/runtime/state-ledger.d.ts +52 -0
  330. package/dist/runtime/tools/complete-task.d.ts +4 -0
  331. package/dist/runtime/tools/fs-safe.contract.test.d.ts +1 -0
  332. package/dist/runtime/tools/fs-safe.d.ts +1 -0
  333. package/dist/runtime/tools/gh-safe.d.ts +1 -0
  334. package/dist/runtime/tools/git-safe.d.ts +1 -0
  335. package/dist/runtime/tools/index.d.ts +8 -0
  336. package/dist/runtime/tools/plan.d.ts +3 -0
  337. package/dist/runtime/tools/query-ledger.d.ts +3 -0
  338. package/dist/runtime/tools/registry.d.ts +8 -0
  339. package/dist/runtime/tools/report-issue-verification.d.ts +1 -0
  340. package/dist/runtime/tools/verify.d.ts +1 -0
  341. package/dist/runtime/truth-model.test.d.ts +1 -0
  342. package/dist/runtime/vcs-detection.test.d.ts +1 -0
  343. package/dist/shared/active-task-storage.d.ts +15 -0
  344. package/dist/shared/agent-config-integration.test.d.ts +1 -0
  345. package/dist/shared/agent-display-names.test.d.ts +1 -0
  346. package/dist/shared/agent-variant.test.d.ts +1 -0
  347. package/dist/shared/claude-config-dir.test.d.ts +1 -0
  348. package/dist/shared/connected-providers-cache.test.d.ts +1 -0
  349. package/dist/shared/deep-merge.test.d.ts +1 -0
  350. package/dist/shared/dynamic-truncator.test.d.ts +1 -0
  351. package/dist/shared/external-plugin-detector.test.d.ts +1 -0
  352. package/dist/shared/file-utils.test.d.ts +1 -0
  353. package/dist/shared/first-message-variant.test.d.ts +1 -0
  354. package/dist/shared/frontmatter.test.d.ts +1 -0
  355. package/dist/shared/git-worktree/collect-git-diff-stats.test.d.ts +1 -0
  356. package/dist/shared/git-worktree/git-worktree.test.d.ts +1 -0
  357. package/dist/shared/git-worktree/parse-status-porcelain-line.test.d.ts +1 -0
  358. package/dist/shared/index.d.ts +2 -0
  359. package/dist/shared/jsonc-parser.test.d.ts +1 -0
  360. package/dist/shared/merge-categories.test.d.ts +1 -0
  361. package/dist/shared/migration.test.d.ts +1 -0
  362. package/dist/shared/model-availability.d.ts +6 -0
  363. package/dist/shared/model-availability.test.d.ts +1 -0
  364. package/dist/shared/model-error-classifier.d.ts +5 -0
  365. package/dist/shared/model-error-classifier.test.d.ts +1 -0
  366. package/dist/shared/model-format-normalizer.test.d.ts +1 -0
  367. package/dist/shared/model-normalization.test.d.ts +1 -0
  368. package/dist/shared/model-requirements.d.ts +6 -0
  369. package/dist/shared/model-requirements.test.d.ts +1 -0
  370. package/dist/shared/model-resolution-acceptance.test.d.ts +1 -0
  371. package/dist/shared/model-resolution-pipeline.d.ts +5 -1
  372. package/dist/shared/model-resolution-pipeline.test.d.ts +1 -0
  373. package/dist/shared/model-resolution-tracker.d.ts +17 -0
  374. package/dist/shared/model-resolution-types.d.ts +7 -1
  375. package/dist/shared/model-resolver.d.ts +10 -3
  376. package/dist/shared/model-resolver.test.d.ts +1 -0
  377. package/dist/shared/model-suggestion-retry.test.d.ts +1 -0
  378. package/dist/shared/normalize-sdk-response.test.d.ts +1 -0
  379. package/dist/shared/opencode-config-dir.test.d.ts +1 -0
  380. package/dist/shared/opencode-http-api.test.d.ts +1 -0
  381. package/dist/shared/opencode-message-dir.test.d.ts +1 -0
  382. package/dist/shared/opencode-server-auth.test.d.ts +1 -0
  383. package/dist/shared/opencode-storage-detection.test.d.ts +1 -0
  384. package/dist/shared/opencode-version.test.d.ts +1 -0
  385. package/dist/shared/pattern-matcher.test.d.ts +1 -0
  386. package/dist/shared/permission-compat.test.d.ts +1 -0
  387. package/dist/shared/plugin-command-discovery.test.d.ts +1 -0
  388. package/dist/shared/port-utils.test.d.ts +1 -0
  389. package/dist/shared/prompt-tools.test.d.ts +1 -0
  390. package/dist/shared/read-permission-tracker.d.ts +15 -0
  391. package/dist/shared/safe-create-hook.test.d.ts +1 -0
  392. package/dist/shared/session-cursor.test.d.ts +1 -0
  393. package/dist/shared/session-directory-resolver.test.d.ts +1 -0
  394. package/dist/shared/session-model-state.test.d.ts +1 -0
  395. package/dist/shared/session-tools-store.test.d.ts +1 -0
  396. package/dist/shared/shell-env.test.d.ts +1 -0
  397. package/dist/shared/skill-path-resolver.test.d.ts +1 -0
  398. package/dist/shared/system-directive.test.d.ts +1 -0
  399. package/dist/shared/tmux/tmux-utils/layout.test.d.ts +1 -0
  400. package/dist/shared/tmux/tmux-utils.test.d.ts +1 -0
  401. package/dist/shared/tool-name.test.d.ts +1 -0
  402. package/dist/shared/truncate-description.test.d.ts +1 -0
  403. package/dist/shared/verify-task-completion.d.ts +1 -0
  404. package/dist/tools/background-task/create-background-output.blocking.test.d.ts +1 -0
  405. package/dist/tools/background-task/create-background-task.test.d.ts +1 -0
  406. package/dist/tools/background-task/tools.test.d.ts +1 -0
  407. package/dist/tools/call-omo-agent/background-agent-executor.test.d.ts +1 -0
  408. package/dist/tools/call-omo-agent/background-executor.test.d.ts +1 -0
  409. package/dist/tools/call-omo-agent/session-creator.test.d.ts +1 -0
  410. package/dist/tools/call-omo-agent/subagent-session-creator.test.d.ts +1 -0
  411. package/dist/tools/call-omo-agent/sync-executor.test.d.ts +1 -0
  412. package/dist/tools/call-omo-agent/tools.test.d.ts +1 -0
  413. package/dist/tools/delegate-task/background-continuation.test.d.ts +1 -0
  414. package/dist/tools/delegate-task/background-task.d.ts +1 -1
  415. package/dist/tools/delegate-task/background-task.test.d.ts +1 -0
  416. package/dist/tools/delegate-task/category-resolver.d.ts +1 -0
  417. package/dist/tools/delegate-task/category-resolver.test.d.ts +1 -0
  418. package/dist/tools/delegate-task/constants.d.ts +1 -1
  419. package/dist/tools/delegate-task/metadata-await.test.d.ts +1 -0
  420. package/dist/tools/delegate-task/metadata-model-unification.test.d.ts +1 -0
  421. package/dist/tools/delegate-task/model-selection.d.ts +2 -0
  422. package/dist/tools/delegate-task/subagent-resolver.d.ts +2 -1
  423. package/dist/tools/delegate-task/subagent-resolver.test.d.ts +1 -0
  424. package/dist/tools/delegate-task/sync-continuation.test.d.ts +1 -0
  425. package/dist/tools/delegate-task/sync-poll-timeout.test.d.ts +1 -0
  426. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -0
  427. package/dist/tools/delegate-task/sync-prompt-sender.test.d.ts +1 -0
  428. package/dist/tools/delegate-task/sync-result-fetcher.test.d.ts +1 -0
  429. package/dist/tools/delegate-task/sync-session-poller.test.d.ts +1 -0
  430. package/dist/tools/delegate-task/sync-task.d.ts +1 -1
  431. package/dist/tools/delegate-task/sync-task.test.d.ts +1 -0
  432. package/dist/tools/delegate-task/timing.test.d.ts +1 -0
  433. package/dist/tools/delegate-task/token-limiter.test.d.ts +1 -0
  434. package/dist/tools/delegate-task/tools.test.d.ts +1 -0
  435. package/dist/tools/delegate-task/types.d.ts +1 -1
  436. package/dist/tools/delegate-task/unstable-agent-task.test.d.ts +1 -0
  437. package/dist/tools/delegate-task/unstable-agent-timeout.test.d.ts +1 -0
  438. package/dist/tools/glob/cli.test.d.ts +1 -0
  439. package/dist/tools/grep/downloader.test.d.ts +1 -0
  440. package/dist/tools/grep/result-formatter.test.d.ts +1 -0
  441. package/dist/tools/hashline-edit/diff-utils.test.d.ts +1 -0
  442. package/dist/tools/hashline-edit/edit-operations.test.d.ts +1 -0
  443. package/dist/tools/hashline-edit/edit-text-normalization.test.d.ts +1 -0
  444. package/dist/tools/hashline-edit/hash-computation.test.d.ts +1 -0
  445. package/dist/tools/hashline-edit/normalize-edits.test.d.ts +1 -0
  446. package/dist/tools/hashline-edit/tools.test.d.ts +1 -0
  447. package/dist/tools/hashline-edit/validation.test.d.ts +1 -0
  448. package/dist/tools/look-at/create-look-at-error-handling.test.d.ts +1 -0
  449. package/dist/tools/look-at/create-look-at-image-data.test.d.ts +1 -0
  450. package/dist/tools/look-at/create-look-at-model-passthrough.test.d.ts +1 -0
  451. package/dist/tools/look-at/create-look-at-sync-prompt.test.d.ts +1 -0
  452. package/dist/tools/look-at/create-look-at-unhandled-error.test.d.ts +1 -0
  453. package/dist/tools/look-at/image-converter.test.d.ts +1 -0
  454. package/dist/tools/look-at/mime-type-inference.test.d.ts +1 -0
  455. package/dist/tools/look-at/normalize-args.test.d.ts +1 -0
  456. package/dist/tools/look-at/session-poller.test.d.ts +1 -0
  457. package/dist/tools/look-at/tools.test.d.ts +7 -0
  458. package/dist/tools/look-at/validate-args.test.d.ts +1 -0
  459. package/dist/tools/lsp/client.test.d.ts +1 -0
  460. package/dist/tools/lsp/config.test.d.ts +1 -0
  461. package/dist/tools/lsp/lsp-client-wrapper.d.ts +3 -0
  462. package/dist/tools/lsp/lsp-process.test.d.ts +1 -0
  463. package/dist/tools/lsp/server-config-loader.test.d.ts +1 -0
  464. package/dist/tools/lsp/utils.test.d.ts +1 -0
  465. package/dist/tools/session-manager/storage.test.d.ts +1 -0
  466. package/dist/tools/session-manager/tools.test.d.ts +1 -0
  467. package/dist/tools/session-manager/utils.test.d.ts +1 -0
  468. package/dist/tools/skill/tools.test.agent-restriction.d.ts +1 -0
  469. package/dist/tools/skill/tools.test.d.ts +1 -0
  470. package/dist/tools/skill/tools.test.description.d.ts +1 -0
  471. package/dist/tools/skill/tools.test.mcp-schema.d.ts +1 -0
  472. package/dist/tools/skill/tools.test.ordering.d.ts +1 -0
  473. package/dist/tools/skill/tools.test.utils.d.ts +10 -0
  474. package/dist/tools/skill-mcp/builtin-mcp-hint.test.d.ts +1 -0
  475. package/dist/tools/skill-mcp/tools.test.d.ts +1 -0
  476. package/dist/tools/slashcommand/command-discovery.test.d.ts +1 -0
  477. package/dist/tools/slashcommand/command-output-formatter.test.d.ts +1 -0
  478. package/dist/tools/slashcommand/index.test.d.ts +1 -0
  479. package/dist/tools/task/task-create-input.test.d.ts +1 -0
  480. package/dist/tools/task/task-create.test.d.ts +1 -0
  481. package/dist/tools/task/task-delete-input.test.d.ts +1 -0
  482. package/dist/tools/task/task-get-input.test.d.ts +1 -0
  483. package/dist/tools/task/task-get.test.d.ts +1 -0
  484. package/dist/tools/task/task-list-input.test.d.ts +1 -0
  485. package/dist/tools/task/task-list.test.d.ts +1 -0
  486. package/dist/tools/task/task-schema-core.test.d.ts +1 -0
  487. package/dist/tools/task/task-schema-fields.test.d.ts +1 -0
  488. package/dist/tools/task/task-status.test.d.ts +1 -0
  489. package/dist/tools/task/task-update-input.test.d.ts +1 -0
  490. package/dist/tools/task/task-update.test.d.ts +1 -0
  491. package/dist/tools/task/todo-sync-all-fetch.test.d.ts +1 -0
  492. package/dist/tools/task/todo-sync-all-write.test.d.ts +1 -0
  493. package/dist/tools/task/todo-sync-sync.test.d.ts +1 -0
  494. package/dist/tools/task/todo-sync-update.test.d.ts +1 -0
  495. package/dist/tools/task/todo-sync.test.d.ts +1 -0
  496. package/dist/utils/context-trimmer.d.ts +21 -0
  497. package/dist/utils/safety-tool-result.d.ts +31 -0
  498. package/dist/utils/tool-contract-wrapper.d.ts +10 -0
  499. package/package.json +3 -2
@@ -73,6 +73,9 @@
73
73
  "model_fallback": {
74
74
  "type": "boolean"
75
75
  },
76
+ "fallback_model": {
77
+ "type": "string"
78
+ },
76
79
  "agents": {
77
80
  "type": "object",
78
81
  "properties": {
@@ -82,6 +85,9 @@
82
85
  "model": {
83
86
  "type": "string"
84
87
  },
88
+ "fallback_model": {
89
+ "type": "string"
90
+ },
85
91
  "fallback_models": {
86
92
  "anyOf": [
87
93
  {
@@ -90,7 +96,32 @@
90
96
  {
91
97
  "type": "array",
92
98
  "items": {
93
- "type": "string"
99
+ "anyOf": [
100
+ {
101
+ "type": "string"
102
+ },
103
+ {
104
+ "type": "object",
105
+ "properties": {
106
+ "providers": {
107
+ "type": "array",
108
+ "items": {
109
+ "type": "string"
110
+ }
111
+ },
112
+ "model": {
113
+ "type": "string"
114
+ },
115
+ "variant": {
116
+ "type": "string"
117
+ }
118
+ },
119
+ "required": [
120
+ "model"
121
+ ],
122
+ "additionalProperties": false
123
+ }
124
+ ]
94
125
  }
95
126
  }
96
127
  ]
@@ -268,6 +299,18 @@
268
299
  },
269
300
  "additionalProperties": {}
270
301
  },
302
+ "requires_model": {
303
+ "type": "string"
304
+ },
305
+ "requires_any_model": {
306
+ "type": "boolean"
307
+ },
308
+ "requires_provider": {
309
+ "type": "array",
310
+ "items": {
311
+ "type": "string"
312
+ }
313
+ },
271
314
  "ultrawork": {
272
315
  "type": "object",
273
316
  "properties": {
@@ -301,6 +344,9 @@
301
344
  "model": {
302
345
  "type": "string"
303
346
  },
347
+ "fallback_model": {
348
+ "type": "string"
349
+ },
304
350
  "fallback_models": {
305
351
  "anyOf": [
306
352
  {
@@ -309,7 +355,32 @@
309
355
  {
310
356
  "type": "array",
311
357
  "items": {
312
- "type": "string"
358
+ "anyOf": [
359
+ {
360
+ "type": "string"
361
+ },
362
+ {
363
+ "type": "object",
364
+ "properties": {
365
+ "providers": {
366
+ "type": "array",
367
+ "items": {
368
+ "type": "string"
369
+ }
370
+ },
371
+ "model": {
372
+ "type": "string"
373
+ },
374
+ "variant": {
375
+ "type": "string"
376
+ }
377
+ },
378
+ "required": [
379
+ "model"
380
+ ],
381
+ "additionalProperties": false
382
+ }
383
+ ]
313
384
  }
314
385
  }
315
386
  ]
@@ -487,6 +558,18 @@
487
558
  },
488
559
  "additionalProperties": {}
489
560
  },
561
+ "requires_model": {
562
+ "type": "string"
563
+ },
564
+ "requires_any_model": {
565
+ "type": "boolean"
566
+ },
567
+ "requires_provider": {
568
+ "type": "array",
569
+ "items": {
570
+ "type": "string"
571
+ }
572
+ },
490
573
  "ultrawork": {
491
574
  "type": "object",
492
575
  "properties": {
@@ -520,6 +603,9 @@
520
603
  "model": {
521
604
  "type": "string"
522
605
  },
606
+ "fallback_model": {
607
+ "type": "string"
608
+ },
523
609
  "fallback_models": {
524
610
  "anyOf": [
525
611
  {
@@ -528,7 +614,32 @@
528
614
  {
529
615
  "type": "array",
530
616
  "items": {
531
- "type": "string"
617
+ "anyOf": [
618
+ {
619
+ "type": "string"
620
+ },
621
+ {
622
+ "type": "object",
623
+ "properties": {
624
+ "providers": {
625
+ "type": "array",
626
+ "items": {
627
+ "type": "string"
628
+ }
629
+ },
630
+ "model": {
631
+ "type": "string"
632
+ },
633
+ "variant": {
634
+ "type": "string"
635
+ }
636
+ },
637
+ "required": [
638
+ "model"
639
+ ],
640
+ "additionalProperties": false
641
+ }
642
+ ]
532
643
  }
533
644
  }
534
645
  ]
@@ -706,6 +817,18 @@
706
817
  },
707
818
  "additionalProperties": {}
708
819
  },
820
+ "requires_model": {
821
+ "type": "string"
822
+ },
823
+ "requires_any_model": {
824
+ "type": "boolean"
825
+ },
826
+ "requires_provider": {
827
+ "type": "array",
828
+ "items": {
829
+ "type": "string"
830
+ }
831
+ },
709
832
  "ultrawork": {
710
833
  "type": "object",
711
834
  "properties": {
@@ -739,6 +862,9 @@
739
862
  "model": {
740
863
  "type": "string"
741
864
  },
865
+ "fallback_model": {
866
+ "type": "string"
867
+ },
742
868
  "fallback_models": {
743
869
  "anyOf": [
744
870
  {
@@ -747,7 +873,32 @@
747
873
  {
748
874
  "type": "array",
749
875
  "items": {
750
- "type": "string"
876
+ "anyOf": [
877
+ {
878
+ "type": "string"
879
+ },
880
+ {
881
+ "type": "object",
882
+ "properties": {
883
+ "providers": {
884
+ "type": "array",
885
+ "items": {
886
+ "type": "string"
887
+ }
888
+ },
889
+ "model": {
890
+ "type": "string"
891
+ },
892
+ "variant": {
893
+ "type": "string"
894
+ }
895
+ },
896
+ "required": [
897
+ "model"
898
+ ],
899
+ "additionalProperties": false
900
+ }
901
+ ]
751
902
  }
752
903
  }
753
904
  ]
@@ -925,6 +1076,18 @@
925
1076
  },
926
1077
  "additionalProperties": {}
927
1078
  },
1079
+ "requires_model": {
1080
+ "type": "string"
1081
+ },
1082
+ "requires_any_model": {
1083
+ "type": "boolean"
1084
+ },
1085
+ "requires_provider": {
1086
+ "type": "array",
1087
+ "items": {
1088
+ "type": "string"
1089
+ }
1090
+ },
928
1091
  "ultrawork": {
929
1092
  "type": "object",
930
1093
  "properties": {
@@ -961,6 +1124,9 @@
961
1124
  "model": {
962
1125
  "type": "string"
963
1126
  },
1127
+ "fallback_model": {
1128
+ "type": "string"
1129
+ },
964
1130
  "fallback_models": {
965
1131
  "anyOf": [
966
1132
  {
@@ -969,7 +1135,32 @@
969
1135
  {
970
1136
  "type": "array",
971
1137
  "items": {
972
- "type": "string"
1138
+ "anyOf": [
1139
+ {
1140
+ "type": "string"
1141
+ },
1142
+ {
1143
+ "type": "object",
1144
+ "properties": {
1145
+ "providers": {
1146
+ "type": "array",
1147
+ "items": {
1148
+ "type": "string"
1149
+ }
1150
+ },
1151
+ "model": {
1152
+ "type": "string"
1153
+ },
1154
+ "variant": {
1155
+ "type": "string"
1156
+ }
1157
+ },
1158
+ "required": [
1159
+ "model"
1160
+ ],
1161
+ "additionalProperties": false
1162
+ }
1163
+ ]
973
1164
  }
974
1165
  }
975
1166
  ]
@@ -1147,6 +1338,18 @@
1147
1338
  },
1148
1339
  "additionalProperties": {}
1149
1340
  },
1341
+ "requires_model": {
1342
+ "type": "string"
1343
+ },
1344
+ "requires_any_model": {
1345
+ "type": "boolean"
1346
+ },
1347
+ "requires_provider": {
1348
+ "type": "array",
1349
+ "items": {
1350
+ "type": "string"
1351
+ }
1352
+ },
1150
1353
  "ultrawork": {
1151
1354
  "type": "object",
1152
1355
  "properties": {
@@ -1180,6 +1383,9 @@
1180
1383
  "model": {
1181
1384
  "type": "string"
1182
1385
  },
1386
+ "fallback_model": {
1387
+ "type": "string"
1388
+ },
1183
1389
  "fallback_models": {
1184
1390
  "anyOf": [
1185
1391
  {
@@ -1188,7 +1394,32 @@
1188
1394
  {
1189
1395
  "type": "array",
1190
1396
  "items": {
1191
- "type": "string"
1397
+ "anyOf": [
1398
+ {
1399
+ "type": "string"
1400
+ },
1401
+ {
1402
+ "type": "object",
1403
+ "properties": {
1404
+ "providers": {
1405
+ "type": "array",
1406
+ "items": {
1407
+ "type": "string"
1408
+ }
1409
+ },
1410
+ "model": {
1411
+ "type": "string"
1412
+ },
1413
+ "variant": {
1414
+ "type": "string"
1415
+ }
1416
+ },
1417
+ "required": [
1418
+ "model"
1419
+ ],
1420
+ "additionalProperties": false
1421
+ }
1422
+ ]
1192
1423
  }
1193
1424
  }
1194
1425
  ]
@@ -1366,6 +1597,18 @@
1366
1597
  },
1367
1598
  "additionalProperties": {}
1368
1599
  },
1600
+ "requires_model": {
1601
+ "type": "string"
1602
+ },
1603
+ "requires_any_model": {
1604
+ "type": "boolean"
1605
+ },
1606
+ "requires_provider": {
1607
+ "type": "array",
1608
+ "items": {
1609
+ "type": "string"
1610
+ }
1611
+ },
1369
1612
  "ultrawork": {
1370
1613
  "type": "object",
1371
1614
  "properties": {
@@ -1399,6 +1642,9 @@
1399
1642
  "model": {
1400
1643
  "type": "string"
1401
1644
  },
1645
+ "fallback_model": {
1646
+ "type": "string"
1647
+ },
1402
1648
  "fallback_models": {
1403
1649
  "anyOf": [
1404
1650
  {
@@ -1407,7 +1653,32 @@
1407
1653
  {
1408
1654
  "type": "array",
1409
1655
  "items": {
1410
- "type": "string"
1656
+ "anyOf": [
1657
+ {
1658
+ "type": "string"
1659
+ },
1660
+ {
1661
+ "type": "object",
1662
+ "properties": {
1663
+ "providers": {
1664
+ "type": "array",
1665
+ "items": {
1666
+ "type": "string"
1667
+ }
1668
+ },
1669
+ "model": {
1670
+ "type": "string"
1671
+ },
1672
+ "variant": {
1673
+ "type": "string"
1674
+ }
1675
+ },
1676
+ "required": [
1677
+ "model"
1678
+ ],
1679
+ "additionalProperties": false
1680
+ }
1681
+ ]
1411
1682
  }
1412
1683
  }
1413
1684
  ]
@@ -1585,6 +1856,18 @@
1585
1856
  },
1586
1857
  "additionalProperties": {}
1587
1858
  },
1859
+ "requires_model": {
1860
+ "type": "string"
1861
+ },
1862
+ "requires_any_model": {
1863
+ "type": "boolean"
1864
+ },
1865
+ "requires_provider": {
1866
+ "type": "array",
1867
+ "items": {
1868
+ "type": "string"
1869
+ }
1870
+ },
1588
1871
  "ultrawork": {
1589
1872
  "type": "object",
1590
1873
  "properties": {
@@ -1618,6 +1901,9 @@
1618
1901
  "model": {
1619
1902
  "type": "string"
1620
1903
  },
1904
+ "fallback_model": {
1905
+ "type": "string"
1906
+ },
1621
1907
  "fallback_models": {
1622
1908
  "anyOf": [
1623
1909
  {
@@ -1626,7 +1912,32 @@
1626
1912
  {
1627
1913
  "type": "array",
1628
1914
  "items": {
1629
- "type": "string"
1915
+ "anyOf": [
1916
+ {
1917
+ "type": "string"
1918
+ },
1919
+ {
1920
+ "type": "object",
1921
+ "properties": {
1922
+ "providers": {
1923
+ "type": "array",
1924
+ "items": {
1925
+ "type": "string"
1926
+ }
1927
+ },
1928
+ "model": {
1929
+ "type": "string"
1930
+ },
1931
+ "variant": {
1932
+ "type": "string"
1933
+ }
1934
+ },
1935
+ "required": [
1936
+ "model"
1937
+ ],
1938
+ "additionalProperties": false
1939
+ }
1940
+ ]
1630
1941
  }
1631
1942
  }
1632
1943
  ]
@@ -1804,6 +2115,18 @@
1804
2115
  },
1805
2116
  "additionalProperties": {}
1806
2117
  },
2118
+ "requires_model": {
2119
+ "type": "string"
2120
+ },
2121
+ "requires_any_model": {
2122
+ "type": "boolean"
2123
+ },
2124
+ "requires_provider": {
2125
+ "type": "array",
2126
+ "items": {
2127
+ "type": "string"
2128
+ }
2129
+ },
1807
2130
  "ultrawork": {
1808
2131
  "type": "object",
1809
2132
  "properties": {
@@ -1837,6 +2160,9 @@
1837
2160
  "model": {
1838
2161
  "type": "string"
1839
2162
  },
2163
+ "fallback_model": {
2164
+ "type": "string"
2165
+ },
1840
2166
  "fallback_models": {
1841
2167
  "anyOf": [
1842
2168
  {
@@ -1845,7 +2171,32 @@
1845
2171
  {
1846
2172
  "type": "array",
1847
2173
  "items": {
1848
- "type": "string"
2174
+ "anyOf": [
2175
+ {
2176
+ "type": "string"
2177
+ },
2178
+ {
2179
+ "type": "object",
2180
+ "properties": {
2181
+ "providers": {
2182
+ "type": "array",
2183
+ "items": {
2184
+ "type": "string"
2185
+ }
2186
+ },
2187
+ "model": {
2188
+ "type": "string"
2189
+ },
2190
+ "variant": {
2191
+ "type": "string"
2192
+ }
2193
+ },
2194
+ "required": [
2195
+ "model"
2196
+ ],
2197
+ "additionalProperties": false
2198
+ }
2199
+ ]
1849
2200
  }
1850
2201
  }
1851
2202
  ]
@@ -2023,6 +2374,18 @@
2023
2374
  },
2024
2375
  "additionalProperties": {}
2025
2376
  },
2377
+ "requires_model": {
2378
+ "type": "string"
2379
+ },
2380
+ "requires_any_model": {
2381
+ "type": "boolean"
2382
+ },
2383
+ "requires_provider": {
2384
+ "type": "array",
2385
+ "items": {
2386
+ "type": "string"
2387
+ }
2388
+ },
2026
2389
  "ultrawork": {
2027
2390
  "type": "object",
2028
2391
  "properties": {
@@ -2056,6 +2419,9 @@
2056
2419
  "model": {
2057
2420
  "type": "string"
2058
2421
  },
2422
+ "fallback_model": {
2423
+ "type": "string"
2424
+ },
2059
2425
  "fallback_models": {
2060
2426
  "anyOf": [
2061
2427
  {
@@ -2064,7 +2430,32 @@
2064
2430
  {
2065
2431
  "type": "array",
2066
2432
  "items": {
2067
- "type": "string"
2433
+ "anyOf": [
2434
+ {
2435
+ "type": "string"
2436
+ },
2437
+ {
2438
+ "type": "object",
2439
+ "properties": {
2440
+ "providers": {
2441
+ "type": "array",
2442
+ "items": {
2443
+ "type": "string"
2444
+ }
2445
+ },
2446
+ "model": {
2447
+ "type": "string"
2448
+ },
2449
+ "variant": {
2450
+ "type": "string"
2451
+ }
2452
+ },
2453
+ "required": [
2454
+ "model"
2455
+ ],
2456
+ "additionalProperties": false
2457
+ }
2458
+ ]
2068
2459
  }
2069
2460
  }
2070
2461
  ]
@@ -2242,6 +2633,18 @@
2242
2633
  },
2243
2634
  "additionalProperties": {}
2244
2635
  },
2636
+ "requires_model": {
2637
+ "type": "string"
2638
+ },
2639
+ "requires_any_model": {
2640
+ "type": "boolean"
2641
+ },
2642
+ "requires_provider": {
2643
+ "type": "array",
2644
+ "items": {
2645
+ "type": "string"
2646
+ }
2647
+ },
2245
2648
  "ultrawork": {
2246
2649
  "type": "object",
2247
2650
  "properties": {
@@ -2275,6 +2678,9 @@
2275
2678
  "model": {
2276
2679
  "type": "string"
2277
2680
  },
2681
+ "fallback_model": {
2682
+ "type": "string"
2683
+ },
2278
2684
  "fallback_models": {
2279
2685
  "anyOf": [
2280
2686
  {
@@ -2283,7 +2689,32 @@
2283
2689
  {
2284
2690
  "type": "array",
2285
2691
  "items": {
2286
- "type": "string"
2692
+ "anyOf": [
2693
+ {
2694
+ "type": "string"
2695
+ },
2696
+ {
2697
+ "type": "object",
2698
+ "properties": {
2699
+ "providers": {
2700
+ "type": "array",
2701
+ "items": {
2702
+ "type": "string"
2703
+ }
2704
+ },
2705
+ "model": {
2706
+ "type": "string"
2707
+ },
2708
+ "variant": {
2709
+ "type": "string"
2710
+ }
2711
+ },
2712
+ "required": [
2713
+ "model"
2714
+ ],
2715
+ "additionalProperties": false
2716
+ }
2717
+ ]
2287
2718
  }
2288
2719
  }
2289
2720
  ]
@@ -2461,6 +2892,18 @@
2461
2892
  },
2462
2893
  "additionalProperties": {}
2463
2894
  },
2895
+ "requires_model": {
2896
+ "type": "string"
2897
+ },
2898
+ "requires_any_model": {
2899
+ "type": "boolean"
2900
+ },
2901
+ "requires_provider": {
2902
+ "type": "array",
2903
+ "items": {
2904
+ "type": "string"
2905
+ }
2906
+ },
2464
2907
  "ultrawork": {
2465
2908
  "type": "object",
2466
2909
  "properties": {
@@ -2494,6 +2937,9 @@
2494
2937
  "model": {
2495
2938
  "type": "string"
2496
2939
  },
2940
+ "fallback_model": {
2941
+ "type": "string"
2942
+ },
2497
2943
  "fallback_models": {
2498
2944
  "anyOf": [
2499
2945
  {
@@ -2502,7 +2948,32 @@
2502
2948
  {
2503
2949
  "type": "array",
2504
2950
  "items": {
2505
- "type": "string"
2951
+ "anyOf": [
2952
+ {
2953
+ "type": "string"
2954
+ },
2955
+ {
2956
+ "type": "object",
2957
+ "properties": {
2958
+ "providers": {
2959
+ "type": "array",
2960
+ "items": {
2961
+ "type": "string"
2962
+ }
2963
+ },
2964
+ "model": {
2965
+ "type": "string"
2966
+ },
2967
+ "variant": {
2968
+ "type": "string"
2969
+ }
2970
+ },
2971
+ "required": [
2972
+ "model"
2973
+ ],
2974
+ "additionalProperties": false
2975
+ }
2976
+ ]
2506
2977
  }
2507
2978
  }
2508
2979
  ]
@@ -2680,6 +3151,18 @@
2680
3151
  },
2681
3152
  "additionalProperties": {}
2682
3153
  },
3154
+ "requires_model": {
3155
+ "type": "string"
3156
+ },
3157
+ "requires_any_model": {
3158
+ "type": "boolean"
3159
+ },
3160
+ "requires_provider": {
3161
+ "type": "array",
3162
+ "items": {
3163
+ "type": "string"
3164
+ }
3165
+ },
2683
3166
  "ultrawork": {
2684
3167
  "type": "object",
2685
3168
  "properties": {
@@ -2713,6 +3196,9 @@
2713
3196
  "model": {
2714
3197
  "type": "string"
2715
3198
  },
3199
+ "fallback_model": {
3200
+ "type": "string"
3201
+ },
2716
3202
  "fallback_models": {
2717
3203
  "anyOf": [
2718
3204
  {
@@ -2721,7 +3207,32 @@
2721
3207
  {
2722
3208
  "type": "array",
2723
3209
  "items": {
2724
- "type": "string"
3210
+ "anyOf": [
3211
+ {
3212
+ "type": "string"
3213
+ },
3214
+ {
3215
+ "type": "object",
3216
+ "properties": {
3217
+ "providers": {
3218
+ "type": "array",
3219
+ "items": {
3220
+ "type": "string"
3221
+ }
3222
+ },
3223
+ "model": {
3224
+ "type": "string"
3225
+ },
3226
+ "variant": {
3227
+ "type": "string"
3228
+ }
3229
+ },
3230
+ "required": [
3231
+ "model"
3232
+ ],
3233
+ "additionalProperties": false
3234
+ }
3235
+ ]
2725
3236
  }
2726
3237
  }
2727
3238
  ]
@@ -2899,6 +3410,18 @@
2899
3410
  },
2900
3411
  "additionalProperties": {}
2901
3412
  },
3413
+ "requires_model": {
3414
+ "type": "string"
3415
+ },
3416
+ "requires_any_model": {
3417
+ "type": "boolean"
3418
+ },
3419
+ "requires_provider": {
3420
+ "type": "array",
3421
+ "items": {
3422
+ "type": "string"
3423
+ }
3424
+ },
2902
3425
  "ultrawork": {
2903
3426
  "type": "object",
2904
3427
  "properties": {
@@ -2932,6 +3455,9 @@
2932
3455
  "model": {
2933
3456
  "type": "string"
2934
3457
  },
3458
+ "fallback_model": {
3459
+ "type": "string"
3460
+ },
2935
3461
  "fallback_models": {
2936
3462
  "anyOf": [
2937
3463
  {
@@ -2940,7 +3466,32 @@
2940
3466
  {
2941
3467
  "type": "array",
2942
3468
  "items": {
2943
- "type": "string"
3469
+ "anyOf": [
3470
+ {
3471
+ "type": "string"
3472
+ },
3473
+ {
3474
+ "type": "object",
3475
+ "properties": {
3476
+ "providers": {
3477
+ "type": "array",
3478
+ "items": {
3479
+ "type": "string"
3480
+ }
3481
+ },
3482
+ "model": {
3483
+ "type": "string"
3484
+ },
3485
+ "variant": {
3486
+ "type": "string"
3487
+ }
3488
+ },
3489
+ "required": [
3490
+ "model"
3491
+ ],
3492
+ "additionalProperties": false
3493
+ }
3494
+ ]
2944
3495
  }
2945
3496
  }
2946
3497
  ]
@@ -3118,6 +3669,18 @@
3118
3669
  },
3119
3670
  "additionalProperties": {}
3120
3671
  },
3672
+ "requires_model": {
3673
+ "type": "string"
3674
+ },
3675
+ "requires_any_model": {
3676
+ "type": "boolean"
3677
+ },
3678
+ "requires_provider": {
3679
+ "type": "array",
3680
+ "items": {
3681
+ "type": "string"
3682
+ }
3683
+ },
3121
3684
  "ultrawork": {
3122
3685
  "type": "object",
3123
3686
  "properties": {
@@ -3162,6 +3725,9 @@
3162
3725
  "model": {
3163
3726
  "type": "string"
3164
3727
  },
3728
+ "fallback_model": {
3729
+ "type": "string"
3730
+ },
3165
3731
  "fallback_models": {
3166
3732
  "anyOf": [
3167
3733
  {
@@ -3170,7 +3736,32 @@
3170
3736
  {
3171
3737
  "type": "array",
3172
3738
  "items": {
3173
- "type": "string"
3739
+ "anyOf": [
3740
+ {
3741
+ "type": "string"
3742
+ },
3743
+ {
3744
+ "type": "object",
3745
+ "properties": {
3746
+ "providers": {
3747
+ "type": "array",
3748
+ "items": {
3749
+ "type": "string"
3750
+ }
3751
+ },
3752
+ "model": {
3753
+ "type": "string"
3754
+ },
3755
+ "variant": {
3756
+ "type": "string"
3757
+ }
3758
+ },
3759
+ "required": [
3760
+ "model"
3761
+ ],
3762
+ "additionalProperties": false
3763
+ }
3764
+ ]
3174
3765
  }
3175
3766
  }
3176
3767
  ]
@@ -3249,6 +3840,22 @@
3249
3840
  },
3250
3841
  "disable": {
3251
3842
  "type": "boolean"
3843
+ },
3844
+ "requires_model": {
3845
+ "type": "string"
3846
+ },
3847
+ "requires_any_model": {
3848
+ "type": "boolean"
3849
+ },
3850
+ "requires_provider": {
3851
+ "type": "array",
3852
+ "items": {
3853
+ "type": "string"
3854
+ }
3855
+ },
3856
+ "background_task": {
3857
+ "description": "Mis-nested background_task config - move to root level",
3858
+ "not": {}
3252
3859
  }
3253
3860
  },
3254
3861
  "additionalProperties": false