oh-my-opencode 4.7.5 → 4.8.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 (612) hide show
  1. package/.agents/command/get-unpublished-changes.md +35 -6
  2. package/.agents/command/omomomo.md +1 -1
  3. package/.agents/command/publish.md +13 -0
  4. package/.agents/command/security-research.md +0 -1
  5. package/.agents/skills/get-unpublished-changes/SKILL.md +21 -5
  6. package/.agents/skills/omomomo/SKILL.md +1 -2
  7. package/.agents/skills/opencode-qa/scripts/export-roundtrip.sh +57 -19
  8. package/.agents/skills/opencode-qa/scripts/lib/common.sh +19 -7
  9. package/.agents/skills/opencode-qa/scripts/sse-hook-probe.sh +3 -0
  10. package/.agents/skills/opencode-qa/scripts/tui-smoke.sh +1 -1
  11. package/.agents/skills/pre-publish-review/SKILL.md +24 -4
  12. package/.agents/skills/publish/SKILL.md +13 -0
  13. package/.agents/skills/remove-deadcode/SKILL.md +0 -1
  14. package/.agents/skills/security-research/SKILL.md +0 -1
  15. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
  16. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
  17. package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
  18. package/.opencode/command/get-unpublished-changes.md +35 -6
  19. package/.opencode/command/omomomo.md +1 -1
  20. package/.opencode/command/publish.md +13 -0
  21. package/.opencode/command/security-research.md +0 -1
  22. package/.opencode/skills/pre-publish-review/SKILL.md +24 -4
  23. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +1 -1
  24. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +2 -2
  25. package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +1 -1
  26. package/README.ja.md +7 -7
  27. package/README.ko.md +9 -7
  28. package/README.md +14 -8
  29. package/README.ru.md +5 -5
  30. package/README.zh-cn.md +7 -7
  31. package/bin/oh-my-opencode.js +24 -1
  32. package/bin/oh-my-opencode.test.ts +79 -20
  33. package/dist/agents/hephaestus/agent.d.ts +1 -1
  34. package/dist/agents/kimi-tool-loop-guard.d.ts +1 -0
  35. package/dist/agents/momus.d.ts +1 -1
  36. package/dist/agents/sisyphus-agent-config.d.ts +4 -0
  37. package/dist/agents/sisyphus-agent-factory.d.ts +6 -0
  38. package/dist/agents/sisyphus-dynamic-prompt-builder.d.ts +2 -0
  39. package/dist/agents/sisyphus-dynamic-prompt-execution.d.ts +2 -0
  40. package/dist/agents/sisyphus-dynamic-prompt-exploration.d.ts +2 -0
  41. package/dist/agents/sisyphus-dynamic-prompt-role.d.ts +2 -0
  42. package/dist/agents/sisyphus-dynamic-prompt-sections.d.ts +18 -0
  43. package/dist/agents/sisyphus-dynamic-prompt-style.d.ts +2 -0
  44. package/dist/agents/sisyphus-dynamic-prompt.d.ts +3 -0
  45. package/dist/agents/sisyphus-gemini-fallback-overrides.d.ts +1 -0
  46. package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
  47. package/dist/agents/sisyphus-junior/index.d.ts +0 -1
  48. package/dist/agents/sisyphus.d.ts +1 -6
  49. package/dist/agents/types.d.ts +14 -3
  50. package/dist/cli/cli-program.d.ts +3 -0
  51. package/dist/cli/doctor/checks/codex.d.ts +11 -0
  52. package/dist/cli/doctor/checks/dependencies.d.ts +1 -0
  53. package/dist/cli/doctor/checks/index.d.ts +3 -0
  54. package/dist/cli/doctor/checks/system.d.ts +4 -0
  55. package/dist/cli/doctor/constants.d.ts +1 -0
  56. package/dist/cli/doctor/doctor-target.d.ts +2 -0
  57. package/dist/cli/doctor/index.d.ts +1 -0
  58. package/dist/cli/doctor/types.d.ts +26 -0
  59. package/dist/cli/index.js +4426 -2200
  60. package/dist/cli/install-codex/codex-cache-bins.d.ts +21 -0
  61. package/dist/cli/install-codex/codex-cache-fs.d.ts +3 -0
  62. package/dist/cli/install-codex/codex-cache-install.d.ts +13 -0
  63. package/dist/cli/install-codex/codex-cache-mcp-manifest.d.ts +2 -0
  64. package/dist/cli/install-codex/codex-cache-prune.d.ts +10 -0
  65. package/dist/cli/install-codex/codex-cache.d.ts +4 -32
  66. package/dist/cli/install-codex/codex-cached-marketplace-manifest.d.ts +6 -0
  67. package/dist/cli/install-codex/codex-config-agents.d.ts +3 -0
  68. package/dist/cli/install-codex/codex-config-features.d.ts +1 -0
  69. package/dist/cli/install-codex/codex-config-marketplaces.d.ts +6 -0
  70. package/dist/cli/install-codex/codex-config-plugins.d.ts +8 -0
  71. package/dist/cli/install-codex/codex-config-toml-sections.d.ts +9 -0
  72. package/dist/cli/install-codex/codex-process.d.ts +5 -0
  73. package/dist/cli/install-codex/index.d.ts +1 -1
  74. package/dist/cli/install-codex/lazycodex-version-stamp.d.ts +19 -0
  75. package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +4 -0
  76. package/dist/cli/install-validators.d.ts +3 -0
  77. package/dist/cli/model-fallback-types.d.ts +3 -0
  78. package/dist/cli/run/event-handlers.d.ts +4 -11
  79. package/dist/cli/run/event-message-handlers.d.ts +5 -0
  80. package/dist/cli/run/event-session-handlers.d.ts +5 -0
  81. package/dist/cli/run/event-session-ids.d.ts +24 -0
  82. package/dist/cli/run/event-think-block.d.ts +3 -0
  83. package/dist/cli/run/event-toast-handlers.d.ts +3 -0
  84. package/dist/cli/run/event-tool-handlers.d.ts +4 -0
  85. package/dist/cli/run/event-tool-output.d.ts +2 -0
  86. package/dist/cli/run/on-complete-hook.d.ts +8 -1
  87. package/dist/cli/run/opencode-binary-resolver.d.ts +2 -1
  88. package/dist/cli/runtime-commands.d.ts +2 -0
  89. package/dist/cli/sparkshell-appserver-websocket.d.ts +4 -0
  90. package/dist/cli/sparkshell-appserver.d.ts +16 -0
  91. package/dist/cli/sparkshell-parse.d.ts +21 -0
  92. package/dist/cli/sparkshell.d.ts +26 -0
  93. package/dist/cli/types.d.ts +9 -0
  94. package/dist/config/schema/claude-code.d.ts +1 -0
  95. package/dist/config/schema/hooks.d.ts +1 -0
  96. package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
  97. package/dist/create-hooks.d.ts +1 -0
  98. package/dist/features/background-agent/concurrency.d.ts +6 -1
  99. package/dist/features/background-agent/constants.d.ts +1 -0
  100. package/dist/features/background-agent/empty-assistant-turn.d.ts +7 -0
  101. package/dist/features/background-agent/manager.d.ts +12 -0
  102. package/dist/features/background-agent/message-updated-parent-wake-output.d.ts +1 -0
  103. package/dist/features/background-agent/parent-wake-dedupe.d.ts +2 -0
  104. package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +21 -0
  105. package/dist/features/background-agent/parent-wake-flush-runner.d.ts +24 -0
  106. package/dist/features/background-agent/parent-wake-history-state.d.ts +5 -0
  107. package/dist/features/background-agent/parent-wake-notifier-types.d.ts +50 -0
  108. package/dist/features/background-agent/parent-wake-notifier.d.ts +8 -50
  109. package/dist/features/background-agent/parent-wake-pending-queue.d.ts +22 -0
  110. package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +19 -0
  111. package/dist/features/background-agent/parent-wake-session-history.d.ts +73 -0
  112. package/dist/features/background-agent/parent-wake-session-inspector.d.ts +35 -0
  113. package/dist/features/background-agent/parent-wake-timer-handle.d.ts +5 -0
  114. package/dist/features/background-agent/parent-wake-window-recovery.d.ts +13 -0
  115. package/dist/features/background-agent/process-cleanup.d.ts +2 -0
  116. package/dist/features/background-agent/process-cleanup.test-helpers.d.ts +3 -0
  117. package/dist/features/background-agent/session-stream-activity.d.ts +6 -0
  118. package/dist/features/background-agent/spawner/fallback-agent.d.ts +5 -0
  119. package/dist/features/background-agent/spawner/task-prompt-body.d.ts +34 -0
  120. package/dist/features/background-agent/spawner/task-record.d.ts +2 -0
  121. package/dist/features/background-agent/spawner.d.ts +2 -5
  122. package/dist/features/builtin-commands/templates/refactor-sections/codemap-and-tests.d.ts +1 -0
  123. package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -0
  124. package/dist/features/builtin-commands/templates/refactor-sections/plan-and-execution.d.ts +1 -0
  125. package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -0
  126. package/dist/features/builtin-commands/templates/refactor-sections/verification-and-tooling.d.ts +1 -0
  127. package/dist/features/builtin-commands/templates/refactor.d.ts +2 -2
  128. package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +2 -0
  129. package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +2 -0
  130. package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +1 -0
  131. package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +1 -0
  132. package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +1 -0
  133. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
  134. package/dist/features/builtin-skills/skills/index.d.ts +1 -0
  135. package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +2 -0
  136. package/dist/features/builtin-skills/skills/playwright.d.ts +2 -3
  137. package/dist/features/builtin-skills/skills/visual-qa.d.ts +2 -0
  138. package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +2 -2
  139. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +1 -1
  140. package/dist/features/claude-code-agent-loader/loader.d.ts +2 -2
  141. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +1 -1
  142. package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +2 -0
  143. package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +3 -0
  144. package/dist/features/claude-code-plugin-loader/discovery.d.ts +3 -4
  145. package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +1 -0
  146. package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +3 -0
  147. package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +2 -0
  148. package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +1 -0
  149. package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +4 -0
  150. package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +3 -0
  151. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -0
  152. package/dist/features/hook-message-injector/context-resolver.d.ts +6 -0
  153. package/dist/features/hook-message-injector/id-generation.d.ts +2 -0
  154. package/dist/features/hook-message-injector/index.d.ts +1 -1
  155. package/dist/features/hook-message-injector/injector.d.ts +7 -69
  156. package/dist/features/hook-message-injector/json-message-lookup.d.ts +3 -0
  157. package/dist/features/hook-message-injector/message-directory.d.ts +1 -0
  158. package/dist/features/hook-message-injector/message-injection.d.ts +2 -0
  159. package/dist/features/hook-message-injector/sdk-message-context.d.ts +6 -0
  160. package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +28 -0
  161. package/dist/features/hook-message-injector/types.d.ts +9 -0
  162. package/dist/features/mcp-oauth/callback-server.d.ts +10 -2
  163. package/dist/features/opencode-runtime-skills/source-server.d.ts +1 -0
  164. package/dist/features/skill-mcp-manager/http-client.d.ts +2 -0
  165. package/dist/features/team-mode/deps.d.ts +8 -1
  166. package/dist/features/team-mode/team-layout-tmux/layout.d.ts +2 -0
  167. package/dist/features/team-mode/team-mailbox/send.d.ts +3 -0
  168. package/dist/features/team-mode/team-registry/paths.d.ts +17 -2
  169. package/dist/features/team-mode/team-runtime/shutdown.d.ts +1 -1
  170. package/dist/features/team-mode/team-runtime/unresolved-team-members.d.ts +3 -0
  171. package/dist/features/team-mode/team-state-store/active-resume.d.ts +5 -0
  172. package/dist/features/team-mode/team-state-store/creating-resume.d.ts +4 -0
  173. package/dist/features/team-mode/team-state-store/deleting-resume.d.ts +4 -0
  174. package/dist/features/team-mode/team-state-store/error-normalization.d.ts +2 -0
  175. package/dist/features/team-mode/team-state-store/reservation-reconciliation.d.ts +4 -0
  176. package/dist/features/team-mode/team-state-store/resume-report.d.ts +7 -0
  177. package/dist/features/team-mode/team-state-store/resume.d.ts +2 -7
  178. package/dist/features/team-mode/team-state-store/runtime-cleanup.d.ts +4 -0
  179. package/dist/features/team-mode/team-state-store/session-liveness.d.ts +9 -0
  180. package/dist/features/team-mode/team-state-store/worker-resume-status.d.ts +9 -0
  181. package/dist/features/team-mode/tools/lifecycle-create-tool.d.ts +17 -0
  182. package/dist/features/team-mode/tools/lifecycle-inline-spec.d.ts +19 -0
  183. package/dist/features/team-mode/tools/lifecycle-participant.d.ts +25 -0
  184. package/dist/features/team-mode/tools/lifecycle-shutdown-tools.d.ts +18 -0
  185. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +3 -3
  186. package/dist/features/team-mode/tools/lifecycle.d.ts +3 -37
  187. package/dist/features/team-mode/tools/messaging-live-delivery-client.d.ts +25 -0
  188. package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +19 -0
  189. package/dist/features/team-mode/tools/messaging-live-delivery-reservation.d.ts +10 -0
  190. package/dist/features/team-mode/tools/messaging-live-delivery-state.d.ts +5 -0
  191. package/dist/features/team-mode/tools/messaging-live-delivery.d.ts +6 -0
  192. package/dist/features/team-mode/tools/messaging-runtime.d.ts +17 -0
  193. package/dist/features/team-mode/tools/messaging.d.ts +4 -29
  194. package/dist/features/tmux-subagent/manager.d.ts +20 -1
  195. package/dist/features/tmux-subagent/session-created-handler.d.ts +4 -0
  196. package/dist/features/tmux-subagent/types.d.ts +1 -0
  197. package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +1 -1
  198. package/dist/hooks/atlas/idle-completion-nudge.d.ts +10 -0
  199. package/dist/hooks/atlas/idle-constants.d.ts +4 -0
  200. package/dist/hooks/atlas/idle-continuation.d.ts +23 -0
  201. package/dist/hooks/atlas/idle-session-eligibility.d.ts +8 -0
  202. package/dist/hooks/atlas/tool-execute-after-direct-work.d.ts +9 -0
  203. package/dist/hooks/atlas/tool-execute-after-plan-tasks.d.ts +3 -0
  204. package/dist/hooks/atlas/tool-execute-after-subagent-completion.d.ts +14 -0
  205. package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +6 -0
  206. package/dist/hooks/auto-update-checker/hook/ignore-toast-error.d.ts +1 -0
  207. package/dist/hooks/hephaestus-agents-md-injector/hook.d.ts +37 -0
  208. package/dist/hooks/hephaestus-agents-md-injector/index.d.ts +1 -0
  209. package/dist/hooks/index.d.ts +1 -0
  210. package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
  211. package/dist/hooks/ralph-loop/command-arguments.d.ts +1 -0
  212. package/dist/hooks/ralph-loop/event-handler-activity.d.ts +10 -0
  213. package/dist/hooks/ralph-loop/event-handler-completion.d.ts +9 -0
  214. package/dist/hooks/ralph-loop/event-handler-continuation.d.ts +16 -0
  215. package/dist/hooks/ralph-loop/event-handler-feedback.d.ts +16 -0
  216. package/dist/hooks/ralph-loop/event-handler-idle.d.ts +15 -0
  217. package/dist/hooks/ralph-loop/event-handler-impl.d.ts +10 -0
  218. package/dist/hooks/ralph-loop/event-handler-runtime-error.d.ts +4 -0
  219. package/dist/hooks/ralph-loop/event-handler-types.d.ts +20 -0
  220. package/dist/hooks/ralph-loop/loop-state-controller.d.ts +1 -0
  221. package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +4 -24
  222. package/dist/hooks/ralph-loop/ralph-loop-hook.d.ts +1 -0
  223. package/dist/hooks/read-image-resizer/png-chunks.d.ts +6 -0
  224. package/dist/hooks/read-image-resizer/png-constants.d.ts +1 -0
  225. package/dist/hooks/read-image-resizer/png-crc.d.ts +1 -0
  226. package/dist/hooks/read-image-resizer/png-decoder.d.ts +1 -0
  227. package/dist/hooks/read-image-resizer/png-encoder.d.ts +1 -0
  228. package/dist/hooks/read-image-resizer/png-filters.d.ts +1 -0
  229. package/dist/hooks/read-image-resizer/png-ihdr.d.ts +11 -0
  230. package/dist/hooks/read-image-resizer/png-nearest-neighbor.d.ts +1 -0
  231. package/dist/hooks/rules-injector/injection-output.d.ts +2 -0
  232. package/dist/hooks/rules-injector/injection-processor.d.ts +22 -0
  233. package/dist/hooks/rules-injector/injection-types.d.ts +43 -0
  234. package/dist/hooks/rules-injector/injector.d.ts +3 -47
  235. package/dist/hooks/rules-injector/match-decision-cache.d.ts +4 -0
  236. package/dist/hooks/rules-injector/parsed-rule-cache.d.ts +11 -0
  237. package/dist/hooks/rules-injector/path-resolution.d.ts +1 -0
  238. package/dist/hooks/rules-injector/rule-match-reason.d.ts +12 -0
  239. package/dist/hooks/rules-injector/transcript-hydration.d.ts +13 -2
  240. package/dist/hooks/runtime-fallback/auto-retry-abort.d.ts +2 -0
  241. package/dist/hooks/runtime-fallback/auto-retry-agent-context.d.ts +2 -0
  242. package/dist/hooks/runtime-fallback/auto-retry-cleanup.d.ts +2 -0
  243. package/dist/hooks/runtime-fallback/auto-retry-dispatch.d.ts +2 -0
  244. package/dist/hooks/runtime-fallback/auto-retry-metadata.d.ts +9 -0
  245. package/dist/hooks/runtime-fallback/auto-retry-timeout.d.ts +5 -0
  246. package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +1 -1
  247. package/dist/hooks/runtime-fallback/fallback-state.d.ts +4 -1
  248. package/dist/hooks/runtime-fallback/normalize-model.d.ts +12 -0
  249. package/dist/hooks/session-notification-linux.d.ts +3 -0
  250. package/dist/hooks/session-notification-log.d.ts +2 -0
  251. package/dist/hooks/session-notification-macos.d.ts +3 -0
  252. package/dist/hooks/session-notification-platform.d.ts +3 -0
  253. package/dist/hooks/session-notification-runner.d.ts +9 -0
  254. package/dist/hooks/session-notification-send.d.ts +3 -0
  255. package/dist/hooks/session-notification-sender.d.ts +5 -6
  256. package/dist/hooks/session-notification-sound.d.ts +3 -0
  257. package/dist/hooks/session-notification-windows.d.ts +3 -0
  258. package/dist/hooks/session-recovery/error-recovery.d.ts +4 -0
  259. package/dist/hooks/session-recovery/hook-types.d.ts +22 -0
  260. package/dist/hooks/session-recovery/hook.d.ts +2 -19
  261. package/dist/hooks/session-recovery/interrupted-tool-results.d.ts +3 -0
  262. package/dist/hooks/session-recovery/message-state.d.ts +4 -0
  263. package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +7 -1
  264. package/dist/hooks/start-work/context-info-builder.d.ts +9 -9
  265. package/dist/hooks/start-work/context-info-formatters.d.ts +21 -0
  266. package/dist/hooks/start-work/explicit-plan-context.d.ts +9 -0
  267. package/dist/hooks/start-work/plan-discovery-context.d.ts +25 -0
  268. package/dist/hooks/start-work/plan-selection.d.ts +4 -0
  269. package/dist/hooks/start-work/work-initializer.d.ts +17 -0
  270. package/dist/hooks/tool-pair-validator/hook.d.ts +1 -37
  271. package/dist/hooks/tool-pair-validator/message-transform.d.ts +2 -0
  272. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +6 -0
  273. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -0
  274. package/dist/hooks/tool-pair-validator/types.d.ts +36 -0
  275. package/dist/index.js +12708 -9988
  276. package/dist/oh-my-opencode.schema.json +4 -0
  277. package/dist/openclaw/reply-listener-poll-loop.d.ts +3 -0
  278. package/dist/openclaw/reply-listener-signature.d.ts +2 -0
  279. package/dist/openclaw/reply-listener-sleep.d.ts +1 -0
  280. package/dist/openclaw/reply-listener-start.d.ts +9 -0
  281. package/dist/openclaw/reply-listener-status.d.ts +4 -0
  282. package/dist/openclaw/reply-listener-stop.d.ts +7 -0
  283. package/dist/openclaw/reply-listener.d.ts +5 -18
  284. package/dist/openclaw/session-registry-lock.d.ts +2 -0
  285. package/dist/openclaw/session-registry-paths.d.ts +9 -0
  286. package/dist/openclaw/session-registry-storage.d.ts +4 -0
  287. package/dist/openclaw/session-registry-types.d.ts +11 -0
  288. package/dist/openclaw/session-registry.d.ts +2 -11
  289. package/dist/plugin/chat-message/loop-commands.d.ts +9 -0
  290. package/dist/plugin/chat-message/model-cache-warning.d.ts +12 -0
  291. package/dist/plugin/chat-message/prompt-text.d.ts +2 -0
  292. package/dist/plugin/chat-message/session-model.d.ts +4 -0
  293. package/dist/plugin/chat-message/start-work-message.d.ts +5 -0
  294. package/dist/plugin/chat-message/types.d.ts +67 -0
  295. package/dist/plugin/chat-message.d.ts +3 -24
  296. package/dist/plugin/event-error-utils.d.ts +14 -0
  297. package/dist/plugin/event-hook-dispatcher.d.ts +5 -0
  298. package/dist/plugin/event-model-fallback-state.d.ts +30 -0
  299. package/dist/plugin/event-model-fallback.d.ts +39 -0
  300. package/dist/plugin/event-session-lifecycle.d.ts +49 -0
  301. package/dist/plugin/event-session-recovery.d.ts +9 -0
  302. package/dist/plugin/event-team-handlers.d.ts +13 -0
  303. package/dist/plugin/event-types.d.ts +78 -0
  304. package/dist/plugin/event.d.ts +3 -12
  305. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
  306. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
  307. package/dist/plugin/hooks/model-fallback-title-updater.d.ts +8 -0
  308. package/dist/plugin/session-compacting.d.ts +4 -1
  309. package/dist/plugin/system-transform.d.ts +1 -1
  310. package/dist/plugin/tool-execute-after.d.ts +2 -0
  311. package/dist/plugin/tool-registry-core-tools.d.ts +15 -0
  312. package/dist/plugin/tool-registry-factories.d.ts +36 -0
  313. package/dist/plugin/tool-registry-gated-tools.d.ts +16 -0
  314. package/dist/plugin/tool-registry-team-tools.d.ts +14 -0
  315. package/dist/plugin/tool-registry-trimming.d.ts +2 -0
  316. package/dist/plugin/tool-registry.d.ts +3 -38
  317. package/dist/plugin/ultrawork-db-model-override.d.ts +1 -1
  318. package/dist/plugin-config/agent-order-warnings.d.ts +1 -0
  319. package/dist/plugin-config/config-merger.d.ts +2 -0
  320. package/dist/plugin-config/layered-config-loader.d.ts +2 -0
  321. package/dist/plugin-config/single-config-loader.d.ts +4 -0
  322. package/dist/plugin-config.d.ts +3 -5
  323. package/dist/plugin-handlers/agent-config-assembly.d.ts +19 -0
  324. package/dist/plugin-handlers/agent-config-finalizer.d.ts +4 -0
  325. package/dist/plugin-handlers/agent-config-handler.d.ts +2 -11
  326. package/dist/plugin-handlers/agent-config-types.d.ts +30 -0
  327. package/dist/plugin-handlers/agent-skill-discovery.d.ts +3 -0
  328. package/dist/plugin-handlers/agent-source-loader.d.ts +2 -0
  329. package/dist/plugin-handlers/hook-config-handler.d.ts +0 -3
  330. package/dist/shared/context-window-usage.d.ts +7 -0
  331. package/dist/shared/dynamic-truncator-types.d.ts +17 -0
  332. package/dist/shared/dynamic-truncator.d.ts +8 -23
  333. package/dist/shared/migration/migrations-sidecar.d.ts +2 -2
  334. package/dist/shared/migration/model-versions.d.ts +7 -4
  335. package/dist/shared/model-availability.d.ts +1 -1
  336. package/dist/shared/opencode-version.d.ts +2 -2
  337. package/dist/shared/sparkshell-awareness.d.ts +5 -0
  338. package/dist/shared/spawn-with-windows-hide.d.ts +2 -0
  339. package/dist/shared/token-limit-truncator.d.ts +2 -0
  340. package/dist/testing/module-mock-lifecycle.d.ts +8 -0
  341. package/dist/tools/delegate-task/openai-categories.d.ts +0 -1
  342. package/dist/tools/delegate-task/subagent-agent-match.d.ts +3 -0
  343. package/dist/tools/delegate-task/subagent-model-resolution.d.ts +4 -0
  344. package/dist/tools/delegate-task/subagent-request-preflight.d.ts +3 -0
  345. package/dist/tools/delegate-task/subagent-resolution-types.d.ts +32 -0
  346. package/dist/tools/delegate-task/subagent-resolver.d.ts +3 -12
  347. package/dist/tools/delegate-task/sync-completion-message.d.ts +20 -0
  348. package/dist/tools/delegate-task/sync-poll-error-recovery.d.ts +1 -0
  349. package/dist/tools/delegate-task/sync-session-lifecycle.d.ts +12 -0
  350. package/dist/tools/delegate-task/sync-session-poller.d.ts +2 -0
  351. package/dist/tools/delegate-task/sync-spawn-reservation.d.ts +10 -0
  352. package/dist/tools/delegate-task/sync-task-metadata.d.ts +11 -0
  353. package/dist/tools/delegate-task/sync-task-runner.d.ts +30 -0
  354. package/dist/tools/delegate-task/sync-task.d.ts +2 -1
  355. package/dist/tools/hashline-edit/formatter-trigger.d.ts +2 -2
  356. package/package.json +15 -14
  357. package/packages/git-bash-mcp/dist/cli.js +29 -12
  358. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +1 -1
  359. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +1 -1
  360. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +95 -30
  361. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +1 -2
  362. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +1 -11
  363. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +1 -0
  364. package/packages/lsp-tools-mcp/dist/lsp/transport.js +5 -10
  365. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +4 -1
  366. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +84 -23
  367. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +2 -0
  368. package/packages/lsp-tools-mcp/dist/missing-dependency-result.js +14 -0
  369. package/packages/lsp-tools-mcp/dist/tools.js +64 -80
  370. package/packages/lsp-tools-mcp/package.json +4 -4
  371. package/packages/omo-codex/lazycodex-repository/.github/workflows/pr-source-guidance.yml +36 -0
  372. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  373. package/packages/omo-codex/plugin/README.md +3 -1
  374. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +188 -0
  375. package/packages/omo-codex/plugin/components/comment-checker/src/core-values.ts +1 -0
  376. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +15 -361
  377. package/packages/omo-codex/plugin/components/comment-checker/src/hook-input.ts +19 -0
  378. package/packages/omo-codex/plugin/components/comment-checker/src/record.ts +11 -0
  379. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +102 -0
  380. package/packages/omo-codex/plugin/components/comment-checker/src/types.ts +51 -0
  381. package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +145 -0
  382. package/packages/omo-codex/plugin/components/comment-checker/test/core.test.ts +200 -0
  383. package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +2 -2
  384. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +11 -5
  385. package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +11 -1
  386. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +0 -1
  387. package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +1 -4
  388. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-cache.ts +87 -0
  389. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-loader.ts +94 -0
  390. package/packages/omo-codex/plugin/components/rules/src/rules/engine-loader.ts +84 -0
  391. package/packages/omo-codex/plugin/components/rules/src/rules/engine-paths.ts +103 -0
  392. package/packages/omo-codex/plugin/components/rules/src/rules/engine-static-loader.ts +43 -0
  393. package/packages/omo-codex/plugin/components/rules/src/rules/engine-types.ts +45 -0
  394. package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +8 -419
  395. package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +32 -5
  396. package/packages/omo-codex/plugin/components/rules/src/rules/parser-frontmatter.ts +39 -0
  397. package/packages/omo-codex/plugin/components/rules/src/rules/parser-yaml.ts +271 -0
  398. package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +3 -294
  399. package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +57 -0
  400. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +13 -2
  401. package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +17 -0
  402. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +2 -1
  403. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +26 -11
  404. package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +104 -138
  405. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +5 -2
  406. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +12 -5
  407. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +10 -4
  408. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +65 -3
  409. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +47 -2
  410. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +16 -0
  411. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +153 -0
  412. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +12 -0
  413. package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +236 -0
  414. package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +28 -50
  415. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +6 -3
  416. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +13 -6
  417. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  418. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +64 -2
  419. package/packages/omo-codex/plugin/components/telemetry/README.md +11 -1
  420. package/packages/omo-codex/plugin/components/telemetry/biome.json +12 -0
  421. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +30 -3
  422. package/packages/omo-codex/plugin/components/telemetry/src/diagnostics.ts +154 -0
  423. package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +18 -2
  424. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +36 -4
  425. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook-diagnostics.test.ts +115 -0
  426. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +16 -25
  427. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +119 -0
  428. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +1 -1
  429. package/packages/omo-codex/plugin/components/ultrawork/README.md +5 -5
  430. package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +2 -1
  431. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -0
  432. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +0 -1
  433. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +0 -1
  434. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -2
  435. package/packages/omo-codex/plugin/components/ultrawork/directive.md +97 -32
  436. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +65 -0
  437. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/agents/openai.yaml +7 -0
  438. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +131 -0
  439. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +38 -10
  440. package/packages/omo-codex/plugin/components/ultrawork/test/directive-contract.test.ts +18 -0
  441. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +47 -0
  442. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  443. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +12 -8
  444. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +28 -21
  445. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +2 -3
  446. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +7 -7
  447. package/packages/omo-codex/plugin/components/ulw-loop/src/command-types.ts +36 -0
  448. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +64 -0
  449. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +98 -0
  450. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +17 -2
  451. package/packages/omo-codex/plugin/components/ulw-loop/src/runtime.ts +22 -0
  452. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +69 -0
  453. package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +5 -277
  454. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +35 -13
  455. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +52 -0
  456. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +67 -111
  457. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
  458. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +31 -2
  459. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +46 -9
  460. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +20 -29
  461. package/packages/omo-codex/plugin/model-catalog.json +5 -11
  462. package/packages/omo-codex/plugin/package-lock.json +1 -1
  463. package/packages/omo-codex/plugin/scripts/auto-update-state.mjs +78 -0
  464. package/packages/omo-codex/plugin/scripts/auto-update.mjs +166 -76
  465. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +71 -0
  466. package/packages/omo-codex/plugin/scripts/migrate-codex-config/config-paths.mjs +44 -0
  467. package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +74 -0
  468. package/packages/omo-codex/plugin/scripts/migrate-codex-config/state.mjs +29 -0
  469. package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +14 -202
  470. package/packages/omo-codex/plugin/scripts/spawn-command.mjs +11 -0
  471. package/packages/omo-codex/plugin/scripts/sync-hook-status-messages.mjs +23 -9
  472. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +131 -28
  473. package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
  474. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +100 -0
  475. package/packages/omo-codex/plugin/skills/git-master/agents/openai.yaml +13 -0
  476. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +9 -7
  477. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
  478. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
  479. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  480. package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +119 -14
  481. package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +4 -2
  482. package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +2 -2
  483. package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +6 -6
  484. package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +12 -12
  485. package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +7 -7
  486. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +13 -11
  487. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +10 -8
  488. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +68 -33
  489. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +86 -22
  490. package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +770 -0
  491. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +12 -8
  492. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +28 -21
  493. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +45 -379
  494. package/packages/omo-codex/plugin/skills/ulw-plan/agents/openai.yaml +7 -0
  495. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +131 -0
  496. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +237 -0
  497. package/packages/omo-codex/plugin/skills/visual-qa/scripts/ansi.ts +17 -0
  498. package/packages/omo-codex/plugin/skills/visual-qa/scripts/cli.ts +82 -0
  499. package/packages/omo-codex/plugin/skills/visual-qa/scripts/east-asian-width.ts +72 -0
  500. package/packages/omo-codex/plugin/skills/visual-qa/scripts/image-diff.ts +109 -0
  501. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-crc.ts +27 -0
  502. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-decode.ts +206 -0
  503. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-synth.ts +57 -0
  504. package/packages/omo-codex/plugin/skills/visual-qa/scripts/tui-grid.ts +88 -0
  505. package/packages/omo-codex/plugin/skills/visual-qa/scripts/types.ts +54 -0
  506. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +55 -0
  507. package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +38 -0
  508. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +164 -0
  509. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +73 -0
  510. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +69 -0
  511. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +53 -0
  512. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +83 -0
  513. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +67 -0
  514. package/packages/omo-codex/plugin/test/aggregate.test.mjs +2 -514
  515. package/packages/omo-codex/plugin/test/auto-update-state-persistence.test.mjs +36 -0
  516. package/packages/omo-codex/plugin/test/auto-update.test.mjs +191 -29
  517. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +1 -1
  518. package/packages/omo-codex/plugin/test/global-review-debug-gate.test.mjs +29 -0
  519. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +23 -10
  520. package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +81 -0
  521. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +91 -0
  522. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +165 -9
  523. package/packages/omo-codex/plugin/test/node-install-surface.test.mjs +0 -19
  524. package/packages/omo-codex/plugin/test/start-work-skill.test.mjs +107 -0
  525. package/packages/omo-codex/plugin/test/subagent-guidance.test.mjs +82 -7
  526. package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +58 -6
  527. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +152 -0
  528. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +158 -50
  529. package/packages/omo-codex/plugin/test/ulw-plan-skill.test.mjs +43 -0
  530. package/packages/omo-codex/scripts/install/agent-source-roots.mjs +13 -0
  531. package/packages/omo-codex/scripts/install/agents.mjs +84 -14
  532. package/packages/omo-codex/scripts/install/bin-links.mjs +239 -0
  533. package/packages/omo-codex/scripts/install/cache.mjs +152 -108
  534. package/packages/omo-codex/scripts/install/cached-marketplace-manifest.mjs +21 -0
  535. package/packages/omo-codex/scripts/install/cli-args.mjs +39 -2
  536. package/packages/omo-codex/scripts/install/config.mjs +7 -5
  537. package/packages/omo-codex/scripts/install/lazycodex-version-stamp.mjs +102 -0
  538. package/packages/omo-codex/scripts/install/legacy-bins.mjs +9 -1
  539. package/packages/omo-codex/scripts/install/model-catalog.mjs +9 -1
  540. package/packages/omo-codex/scripts/install/process.mjs +3 -1
  541. package/packages/omo-codex/scripts/install/project-local-cleanup.mjs +0 -1
  542. package/packages/omo-codex/scripts/install/snapshot.mjs +0 -1
  543. package/packages/omo-codex/scripts/install-agent-links.test.mjs +205 -11
  544. package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -1
  545. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +129 -5
  546. package/packages/omo-codex/scripts/install-cli-args.test.mjs +82 -1
  547. package/packages/omo-codex/scripts/install-config-preservation.test.mjs +43 -0
  548. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +14 -1
  549. package/packages/omo-codex/scripts/install-config.test.mjs +49 -1
  550. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +84 -0
  551. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +51 -0
  552. package/packages/omo-codex/scripts/install-local.mjs +42 -40
  553. package/packages/omo-codex/scripts/install-local.test.mjs +17 -241
  554. package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +162 -0
  555. package/packages/omo-codex/scripts/install-packaged-local.test.mjs +10 -6
  556. package/packages/omo-codex/scripts/install-project-local-cleanup.test.mjs +73 -2
  557. package/packages/omo-codex/scripts/sync-telemetry-component.mjs +1 -0
  558. package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
  559. package/packages/shared-skills/skills/git-master/SKILL.md +100 -0
  560. package/packages/shared-skills/skills/git-master/agents/openai.yaml +13 -0
  561. package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
  562. package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
  563. package/packages/shared-skills/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  564. package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +119 -14
  565. package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +4 -2
  566. package/packages/shared-skills/skills/programming/references/go/concurrency.md +2 -2
  567. package/packages/shared-skills/skills/programming/references/python/async-anyio.md +6 -6
  568. package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +12 -12
  569. package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +7 -7
  570. package/packages/shared-skills/skills/refactor/SKILL.md +4 -4
  571. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  572. package/packages/shared-skills/skills/review-work/SKILL.md +55 -33
  573. package/packages/shared-skills/skills/start-work/SKILL.md +76 -19
  574. package/packages/shared-skills/skills/ultraresearch/SKILL.md +770 -0
  575. package/packages/shared-skills/skills/visual-qa/SKILL.md +219 -0
  576. package/packages/shared-skills/skills/visual-qa/scripts/ansi.test.ts +45 -0
  577. package/packages/shared-skills/skills/visual-qa/scripts/ansi.ts +17 -0
  578. package/packages/shared-skills/skills/visual-qa/scripts/cli.test.ts +73 -0
  579. package/packages/shared-skills/skills/visual-qa/scripts/cli.ts +82 -0
  580. package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.test.ts +60 -0
  581. package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.ts +72 -0
  582. package/packages/shared-skills/skills/visual-qa/scripts/image-diff.test.ts +70 -0
  583. package/packages/shared-skills/skills/visual-qa/scripts/image-diff.ts +109 -0
  584. package/packages/shared-skills/skills/visual-qa/scripts/png-crc.ts +27 -0
  585. package/packages/shared-skills/skills/visual-qa/scripts/png-decode.test.ts +44 -0
  586. package/packages/shared-skills/skills/visual-qa/scripts/png-decode.ts +206 -0
  587. package/packages/shared-skills/skills/visual-qa/scripts/png-synth.ts +57 -0
  588. package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +83 -0
  589. package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.test.ts +57 -0
  590. package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.ts +88 -0
  591. package/packages/shared-skills/skills/visual-qa/scripts/types.ts +54 -0
  592. package/postinstall.mjs +24 -1
  593. package/dist/agents/custom-agent-summaries.d.ts +0 -8
  594. package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +0 -20
  595. package/dist/agents/prometheus/gemini.d.ts +0 -1
  596. package/dist/agents/prometheus/gpt.d.ts +0 -1
  597. package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +0 -8
  598. package/dist/features/background-agent/session-route.d.ts +0 -12
  599. package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +0 -6
  600. package/dist/features/background-agent/state.d.ts +0 -35
  601. package/dist/features/claude-tasks/session-storage.d.ts +0 -9
  602. package/dist/features/mcp-oauth/resource-indicator.d.ts +0 -2
  603. package/dist/features/mcp-oauth/schema.d.ts +0 -6
  604. package/dist/features/opencode-skill-loader/async-loader.d.ts +0 -6
  605. package/dist/features/opencode-skill-loader/blocking.d.ts +0 -2
  606. package/dist/features/opencode-skill-loader/discover-worker.d.ts +0 -1
  607. package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +0 -13
  608. package/dist/shared/bun-hash-shim.d.ts +0 -1
  609. package/dist/tools/delegate-task/resolve-call-id.d.ts +0 -2
  610. package/packages/shared-skills/skills/ulw-plan/SKILL.md +0 -383
  611. /package/packages/lsp-tools-mcp/dist/lsp/{utils.d.ts → startup-failure.d.ts} +0 -0
  612. /package/packages/lsp-tools-mcp/dist/lsp/{utils.js → startup-failure.js} +0 -0
@@ -1,21 +1,25 @@
1
1
  ---
2
2
  name: lcx-report-bug
3
- description: "Create a high-signal LazyCodex bug report for code-yeongyu/lazycodex. Use this whenever the user asks to report, file, open, or triage a LazyCodex, lazycodex-ai, omo-codex, or Codex plugin bug, especially when they need root cause, reproduction steps, expected fix guidance, and a GitHub issue."
3
+ description: "Create a high-signal bug issue or PR in the repo that owns the defect. Use this whenever the user asks to report, file, open, or triage a LazyCodex, lazycodex-ai, omo-codex, Codex plugin, or upstream Codex CLI bug, especially when they need source-backed root cause, reproduction steps, fix guidance, and GitHub routing."
4
4
  metadata:
5
- short-description: Report LazyCodex bugs with debugging evidence
5
+ short-description: Route LazyCodex or Codex bugs with source evidence
6
6
  ---
7
7
 
8
8
  # lcx-report-bug
9
9
 
10
- You are a LazyCodex bug reporter. Produce one useful GitHub issue in English for `code-yeongyu/lazycodex`, backed by runtime evidence rather than guesses.
10
+ You are a LazyCodex bug router and reporter. Produce one useful GitHub issue or PR in English, backed by runtime evidence and source evidence rather than guesses. Route it to the repository that owns the defect:
11
+
12
+ - `code-yeongyu/lazycodex` for LazyCodex, lazycodex-ai, omo-codex, marketplace, bundled skill, hook, MCP, installer, or packaging bugs.
13
+ - `openai/codex` for upstream Codex CLI bugs that reproduce without LazyCodex or are caused by Codex core behavior.
11
14
 
12
15
  Use GPT-5.5 style: outcome first, concise, evidence-bound. Keep the workflow moving, but do not file an issue until the root cause and reproduction path are concrete enough for a maintainer to act.
13
16
 
14
17
  ## Goal
15
18
 
16
- Create or prepare a GitHub issue that includes:
19
+ Create or prepare a GitHub issue or PR that includes:
17
20
 
18
21
  - clear title
22
+ - target repository decision
19
23
  - environment
20
24
  - reproducible steps
21
25
  - expected behavior
@@ -23,24 +27,66 @@ Create or prepare a GitHub issue that includes:
23
27
  - confirmed or strongly evidenced root cause
24
28
  - fix approach, including files or components likely involved
25
29
  - verification plan
30
+ - `lazycodex-generated` label and footer tag
26
31
 
27
32
  ## Required Workflow
28
33
 
29
34
  1. Read the user's bug report and identify the affected surface: LazyCodex installer, Codex plugin, skill, hook, MCP, CLI alias, GitHub marketplace sync, or web/docs.
30
35
  2. Invoke `$omo:debugging` for the investigation. If Codex exposes only unqualified skill names in the current session, invoke `$debugging` and state that it is the OMO debugging skill.
31
- 3. Follow the debugging skill far enough to gather runtime evidence:
36
+ 3. Materialize upstream Codex source under `/tmp` before deciding ownership:
37
+
38
+ ```bash
39
+ CODEX_SRC="/tmp/openai-codex-source"
40
+ if [ ! -d "$CODEX_SRC/.git" ]; then
41
+ gh repo clone openai/codex "$CODEX_SRC" -- --depth=1
42
+ else
43
+ git -C "$CODEX_SRC" fetch --depth=1 origin
44
+ fi
45
+ ```
46
+
47
+ If `gh` is unavailable, use `git clone --depth=1 https://github.com/openai/codex "$CODEX_SRC"`.
48
+ 4. Follow the debugging skill far enough to gather runtime evidence:
32
49
  - form at least three plausible hypotheses
33
50
  - run the smallest reproduction that exercises the real surface
34
51
  - confirm the root cause by observing the failing state
35
52
  - identify the minimal fix path or maintainer action
36
- 4. Search for an existing issue before creating a new one:
53
+ 5. Compare local LazyCodex evidence with `/tmp/openai-codex-source` before choosing the target repo. Cite exact files, commands, logs, or source paths that support the routing decision.
54
+ 6. Choose the target repo:
55
+ - Use `code-yeongyu/lazycodex` when the bug is in LazyCodex integration, distribution, bundled plugin code, skills, hooks, MCP wiring, installer behavior, aliases, marketplace sync, docs, or any behavior that disappears in clean upstream Codex.
56
+ - Use `openai/codex` when the bug reproduces in clean upstream Codex without LazyCodex, or the failing behavior comes from Codex CLI core, plugin API contracts, sandboxing, approvals, config loading, or built-in tool behavior.
57
+ - If ownership remains ambiguous after evidence gathering, do not guess. Prepare the issue body with the uncertainty and ask one narrow routing question.
58
+ 7. Search for an existing issue in the selected repo before creating a new one. Search the other repo too when the ownership boundary is close:
37
59
 
38
60
  ```bash
39
- gh issue list --repo code-yeongyu/lazycodex --search "<short error or symptom>" --state open
61
+ TARGET_REPO="code-yeongyu/lazycodex" # or openai/codex
62
+ gh issue list --repo "$TARGET_REPO" --search "<short error or symptom>" --state open
40
63
  ```
41
64
 
42
- 5. If a matching open issue exists, add a comment with the new evidence instead of creating a duplicate.
43
- 6. If no matching issue exists, create the issue with `gh`.
65
+ 8. If a matching open issue exists, add a comment with the new evidence instead of creating a duplicate.
66
+ 9. Ensure the generated label exists in repositories you control:
67
+
68
+ ```bash
69
+ LABEL_ARGS=()
70
+ if gh label create lazycodex-generated --repo "$TARGET_REPO" --color "7C3AED" --description "Created by LazyCodex" --force; then
71
+ LABEL_ARGS=(--label lazycodex-generated)
72
+ else
73
+ echo "Label management unavailable for $TARGET_REPO; keeping the footer tag only."
74
+ fi
75
+ ```
76
+
77
+ If the selected repo is `openai/codex` and label management is not available, still include the footer tag in the body and continue without claiming label creation succeeded.
78
+ 10. If no matching issue exists, create the issue with `gh` and apply the `lazycodex-generated` label.
79
+ 11. Create a PR only when the user asked for a PR, the fix is already implemented on a branch, or the smallest correct fix can be safely made in the selected repo. Apply the `lazycodex-generated` label to every PR created by this skill. Otherwise create an issue with fix guidance.
80
+
81
+ ## Required Label And Footer
82
+
83
+ Every issue body, evidence comment, and PR body created by this skill must use the GitHub label `lazycodex-generated` when the artifact supports labels. It must also end with this footer. Do not put content after it.
84
+
85
+ ```markdown
86
+ ---
87
+ This issue or PR was generated by LazyCodex.
88
+ Tag: lazycodex-generated
89
+ ```
44
90
 
45
91
  ## Issue Body Template
46
92
 
@@ -57,6 +103,12 @@ Write the issue body in English and keep it direct:
57
103
  - Install method:
58
104
  - Relevant config:
59
105
 
106
+ ## Repository Decision
107
+ - Target repository:
108
+ - Why this belongs there:
109
+ - LazyCodex evidence:
110
+ - Upstream Codex source evidence from `/tmp/openai-codex-source`:
111
+
60
112
  ## Reproduction
61
113
  1. [Exact command or UI action]
62
114
  2. [Exact next step]
@@ -81,6 +133,40 @@ Write the issue body in English and keep it direct:
81
133
  - [Check that reproduces the original failure]
82
134
  - [Check that proves the fix]
83
135
  - [Regression check for adjacent LazyCodex/Codex plugin behavior]
136
+
137
+ ---
138
+ This issue or PR was generated by LazyCodex.
139
+ Tag: lazycodex-generated
140
+ ```
141
+
142
+ ## PR Body Template
143
+
144
+ Use this when a PR is the right artifact:
145
+
146
+ ```markdown
147
+ ## Summary
148
+ [One or two sentences describing the fix and the user-visible failure it resolves.]
149
+
150
+ ## Repository Decision
151
+ - Target repository:
152
+ - Why this belongs there:
153
+ - LazyCodex evidence:
154
+ - Upstream Codex source evidence from `/tmp/openai-codex-source`:
155
+
156
+ ## Root Cause
157
+ [Confirmed cause. Cite runtime evidence and source paths.]
158
+
159
+ ## Fix
160
+ [What changed and why.]
161
+
162
+ ## Verification
163
+ - [Check that reproduced the original failure before the fix]
164
+ - [Check that passes after the fix]
165
+ - [Regression check for adjacent behavior]
166
+
167
+ ---
168
+ This issue or PR was generated by LazyCodex.
169
+ Tag: lazycodex-generated
84
170
  ```
85
171
 
86
172
  ## GitHub Creation Path
@@ -90,18 +176,35 @@ Prefer `gh`:
90
176
  ```bash
91
177
  ISSUE_BODY="/tmp/lcx-report-bug-$(date +%Y%m%d-%H%M%S).md"
92
178
  $EDITOR "$ISSUE_BODY"
93
- gh issue create --repo code-yeongyu/lazycodex --title "<clear title>" --body-file "$ISSUE_BODY"
179
+ gh issue create --repo "$TARGET_REPO" --title "<clear title>" "${LABEL_ARGS[@]}" --body-file "$ISSUE_BODY"
94
180
  ```
95
181
 
96
182
  If `$EDITOR` is not usable, write the file with the available file-editing tool, then run the same `gh issue create` command.
97
183
 
98
- After creating or commenting, return the issue URL and a short summary of the evidence used.
184
+ For an existing issue:
185
+
186
+ ```bash
187
+ COMMENT_BODY="/tmp/lcx-report-bug-comment-$(date +%Y%m%d-%H%M%S).md"
188
+ gh issue comment "<issue-number>" --repo "$TARGET_REPO" --body-file "$COMMENT_BODY"
189
+ if [ "${#LABEL_ARGS[@]}" -gt 0 ]; then
190
+ gh issue edit "<issue-number>" --repo "$TARGET_REPO" --add-label lazycodex-generated
191
+ fi
192
+ ```
193
+
194
+ For a PR from a branch pushed to the selected repo or fork:
195
+
196
+ ```bash
197
+ PR_BODY="/tmp/lcx-report-bug-pr-$(date +%Y%m%d-%H%M%S).md"
198
+ gh pr create --repo "$TARGET_REPO" --title "<clear title>" "${LABEL_ARGS[@]}" --body-file "$PR_BODY"
199
+ ```
200
+
201
+ After creating or commenting, return the issue or PR URL and a short summary of the evidence used.
99
202
 
100
203
  ## Browser use fallback
101
204
 
102
205
  If `gh` is unavailable, unauthenticated, or blocked, use Browser Use against the real GitHub page:
103
206
 
104
- 1. Open `https://github.com/code-yeongyu/lazycodex/issues/new`.
207
+ 1. Open the new issue page for the selected repo: `https://github.com/code-yeongyu/lazycodex/issues/new` or `https://github.com/openai/codex/issues/new`.
105
208
  2. Fill the title and body from the template.
106
209
  3. Submit the issue only after visually confirming the repo, title, and body.
107
210
  4. Capture the resulting issue URL.
@@ -110,7 +213,7 @@ If `gh` is unavailable, unauthenticated, or blocked, use Browser Use against the
110
213
 
111
214
  If Browser Use is unavailable but a desktop browser is open and authenticated, use Computer Use:
112
215
 
113
- 1. Navigate to `https://github.com/code-yeongyu/lazycodex/issues/new`.
216
+ 1. Navigate to the new issue page for the selected repo: `https://github.com/code-yeongyu/lazycodex/issues/new` or `https://github.com/openai/codex/issues/new`.
114
217
  2. Fill the title and body.
115
218
  3. Verify the target repository and final text before submission.
116
219
  4. Submit and capture the issue URL.
@@ -124,4 +227,6 @@ Do not file:
124
227
  - a vague issue without reproduction steps
125
228
  - an issue that claims a root cause not supported by runtime evidence
126
229
  - a duplicate when commenting on an existing issue is enough
127
- - a fix PR unless the user separately asks for one
230
+ - an upstream Codex issue without checking `/tmp/openai-codex-source`
231
+ - a LazyCodex issue when the bug is proven to reproduce in clean upstream Codex
232
+ - a fix PR without a concrete branch, implemented fix, and verification result
@@ -1,9 +1,11 @@
1
1
  interface:
2
2
  display_name: "lcx-report-bug (omo)"
3
- short_description: "Report LazyCodex bugs with debugging evidence"
3
+ short_description: "Route LazyCodex or Codex bugs with source evidence"
4
4
  search_terms:
5
5
  - "lcx-report-bug"
6
6
  - "lazycodex bug"
7
7
  - "lazycodex issue"
8
8
  - "omo-codex bug"
9
- default_prompt: "Use $lcx-report-bug to investigate this LazyCodex bug and file a clear issue with reproduction, root cause, and fix guidance."
9
+ - "openai codex bug"
10
+ - "codex upstream issue"
11
+ default_prompt: "Use $lcx-report-bug to investigate this LazyCodex or Codex bug, compare LazyCodex evidence with /tmp openai/codex source, choose the correct GitHub repo, and file an issue or PR with reproduction, root cause, fix guidance, and the lazycodex-generated label and footer."
@@ -229,10 +229,10 @@ default: // already signaled, skip
229
229
  Highest level (preferred)
230
230
  channels (message passing — "share memory by communicating")
231
231
  errgroup / wait group
232
-
232
+
233
233
  sync.RWMutex (many readers, occasional writer)
234
234
  sync.Mutex (mutual exclusion)
235
-
235
+
236
236
  atomic.Int64 / atomic.Pointer (single-word lock-free)
237
237
 
238
238
  Lowest level (rare)
@@ -27,9 +27,9 @@ async def main() -> None:
27
27
  anyio.run(main)
28
28
  ```
29
29
 
30
- **Signature**: `tg.start_soon(func, *args, name=None)`
31
- - `func` must be a **coroutine function** (not a coroutine object).
32
- - `name` is optional, for introspection/debugging.
30
+ **Signature**: `tg.start_soon(func, *args, name=None)`
31
+ - `func` must be a **coroutine function** (not a coroutine object).
32
+ - `name` is optional, for introspection/debugging.
33
33
  - No return value; exceptions propagate as `ExceptionGroup` on exit.
34
34
 
35
35
  ### `start` — wait for ready signal
@@ -74,9 +74,9 @@ async def main() -> None:
74
74
  anyio.run(main)
75
75
  ```
76
76
 
77
- **Signature**: `tg.create_task(coro, *, name=None, context=None) -> TaskHandle[T]`
78
- - Returns a `TaskHandle` you can `await` for the result.
79
- - If the task raises, awaiting raises `TaskFailed` (or `TaskCancelled`).
77
+ **Signature**: `tg.create_task(coro, *, name=None, context=None) -> TaskHandle[T]`
78
+ - Returns a `TaskHandle` you can `await` for the result.
79
+ - If the task raises, awaiting raises `TaskFailed` (or `TaskCancelled`).
80
80
  - This is the canonical replacement for `asyncio.gather` when you need results.
81
81
 
82
82
  ---
@@ -11,7 +11,7 @@
11
11
  from pydantic_ai import Agent
12
12
 
13
13
  agent = Agent(
14
- 'openai:gpt-5.2', # model (str | Model | None)
14
+ 'openai:gpt-5.5', # model (str | Model | None)
15
15
  output_type=MyOutputModel, # structured output type; default=str
16
16
  instructions='You are a...', # static or callable instructions
17
17
  system_prompt='Be concise.', # static system prompt(s)
@@ -35,7 +35,7 @@ Format: `provider:model-name`. The framework infers the provider from the prefix
35
35
 
36
36
  | Provider prefix | Example |
37
37
  |---|---|
38
- | `openai:` | `'openai:gpt-5.2'`, `'openai:gpt-4o'` |
38
+ | `openai:` | `'openai:gpt-5.5'`, `'openai:gpt-4o'` |
39
39
  | `anthropic:` | `'anthropic:claude-sonnet-4-6'`, `'anthropic:claude-opus-4-1'` |
40
40
  | `google-gla:` | `'google-gla:gemini-3-flash-preview'` |
41
41
  | `google-vertex:` | `'google-vertex:gemini-3-pro-preview'` |
@@ -43,9 +43,9 @@ Format: `provider:model-name`. The framework infers the provider from the prefix
43
43
  | `xai:` / `grok:` | `'xai:grok-3'`, `'grok:grok-3-fast'` |
44
44
  | `deepseek:` | `'deepseek:deepseek-chat'` |
45
45
  | `cohere:` | `'cohere:command-r-08-2024'` |
46
- | `gateway/...` | `'gateway/openai:gpt-5.2'` (PydanticAI Gateway) |
46
+ | `gateway/...` | `'gateway/openai:gpt-5.5'` (PydanticAI Gateway) |
47
47
 
48
- Model can also be omitted at construction and passed per-run: `agent.run(prompt, model='openai:gpt-5.2')`.
48
+ Model can also be omitted at construction and passed per-run: `agent.run(prompt, model='openai:gpt-5.5')`.
49
49
 
50
50
  ---
51
51
 
@@ -56,7 +56,7 @@ Model can also be omitted at construction and passed per-run: `agent.run(prompt,
56
56
  ```python
57
57
  from pydantic_ai import Agent, RunContext
58
58
 
59
- agent = Agent('openai:gpt-5.2', deps_type=str)
59
+ agent = Agent('openai:gpt-5.5', deps_type=str)
60
60
 
61
61
  @agent.tool # default: receives RunContext as first arg
62
62
  async def greet(ctx: RunContext[str], name: str) -> str:
@@ -96,7 +96,7 @@ class City(BaseModel):
96
96
  country: str
97
97
  population_millions: float
98
98
 
99
- agent = Agent('openai:gpt-5.2', output_type=City)
99
+ agent = Agent('openai:gpt-5.5', output_type=City)
100
100
  result = agent.run_sync('Tell me about Tokyo')
101
101
  print(result.output) # City(name='Tokyo', country='Japan', ...)
102
102
  print(result.output.name) # 'Tokyo'
@@ -150,7 +150,7 @@ class Deps:
150
150
  http_client: httpx.AsyncClient
151
151
 
152
152
  agent = Agent(
153
- 'openai:gpt-5.2',
153
+ 'openai:gpt-5.5',
154
154
  deps_type=Deps,
155
155
  )
156
156
 
@@ -177,7 +177,7 @@ async def main():
177
177
  ```python
178
178
  from pydantic_ai import Agent, ModelRetry, UnexpectedModelBehavior, capture_run_messages
179
179
 
180
- agent = Agent('openai:gpt-5.2', retries=3)
180
+ agent = Agent('openai:gpt-5.5', retries=3)
181
181
 
182
182
  @agent.tool_plain
183
183
  def calc_volume(size: int) -> int:
@@ -214,7 +214,7 @@ logfire.instrument_pydantic_ai() # auto-traces all agent runs
214
214
  Alternatively, set `instrument=True` on the agent:
215
215
 
216
216
  ```python
217
- agent = Agent('openai:gpt-5.2', instrument=True)
217
+ agent = Agent('openai:gpt-5.5', instrument=True)
218
218
  ```
219
219
 
220
220
  ---
@@ -231,7 +231,7 @@ class City(BaseModel):
231
231
  name: str
232
232
  country: str
233
233
 
234
- agent = Agent('openai:gpt-5.2', output_type=City)
234
+ agent = Agent('openai:gpt-5.5', output_type=City)
235
235
  result = agent.run_sync('Tell me about Paris')
236
236
  print(result.output) # City(name='Paris', country='France')
237
237
  ```
@@ -246,7 +246,7 @@ from pydantic_ai import Agent, RunContext
246
246
  class Deps:
247
247
  api_key: str
248
248
 
249
- agent = Agent('openai:gpt-5.2', deps_type=Deps)
249
+ agent = Agent('openai:gpt-5.5', deps_type=Deps)
250
250
 
251
251
  @agent.tool
252
252
  async def get_secret(ctx: RunContext[Deps], code: str) -> str:
@@ -264,7 +264,7 @@ print(result.output)
264
264
  import anyio
265
265
  from pydantic_ai import Agent
266
266
 
267
- agent = Agent('openai:gpt-5.2')
267
+ agent = Agent('openai:gpt-5.5')
268
268
 
269
269
  async def main() -> None:
270
270
  async with agent.run_stream('Write a haiku about Python') as response:
@@ -1,7 +1,7 @@
1
1
  # Hono Backend Stack Reference (2026)
2
2
 
3
- > **Canonical stack**: `hono` + `hono-openapi` + `@scalar/hono-api-reference` + `@hono/swagger-ui`
4
- > **Runtime**: Bun (TypeScript-first)
3
+ > **Canonical stack**: `hono` + `hono-openapi` + `@scalar/hono-api-reference` + `@hono/swagger-ui`
4
+ > **Runtime**: Bun (TypeScript-first)
5
5
  > **Validator**: Zod v4 (Standard Schema compliant, zero extra deps for OpenAPI)
6
6
 
7
7
  ---
@@ -628,19 +628,19 @@ export function setupOpenAPI(app: Hono<any, any>, prefix = '/openapi') {
628
628
 
629
629
  ## 10. Common Pitfalls
630
630
 
631
- 1. **Using `openAPISpecs` instead of `openAPIRouteHandler`**
631
+ 1. **Using `openAPISpecs` instead of `openAPIRouteHandler`**
632
632
  Some docs (e.g. HONC) use `openAPISpecs` — this is **not** the current export name. The correct function is `openAPIRouteHandler` ([source](https://github.com/rhinobase/hono-openapi/blob/10f45a66ede3764b5e6065805fb60fd5df090466/src/index.ts#L1)).
633
633
 
634
- 2. **Importing from `hono-openapi/zod`**
634
+ 2. **Importing from `hono-openapi/zod`**
635
635
  There are **no subpath exports**. Always import from `hono-openapi` directly.
636
636
 
637
- 3. **Forgetting `@hono/standard-validator`**
637
+ 3. **Forgetting `@hono/standard-validator`**
638
638
  It is a peer dependency of `hono-openapi`. Modern package managers (npm ≥ 7, pnpm, bun) auto-install it. If you see validation errors, ensure it is present in `node_modules`.
639
639
 
640
- 4. **Using `@hono/zod-openapi` (the OLD package)**
640
+ 4. **Using `@hono/zod-openapi` (the OLD package)**
641
641
  The user explicitly wants `hono-openapi` (the newer, middleware-based, Standard Schema package). Do not confuse with `@hono/zod-openapi` which wraps the `Hono` class into `OpenAPIHono`.
642
642
 
643
- 5. **Swagger UI `spec` option**
643
+ 5. **Swagger UI `spec` option**
644
644
  `@hono/swagger-ui` does **not** accept a `spec` option to embed the document directly. It only accepts `url` (or `urls`) pointing to an external spec endpoint. If you need embedded specs, use Scalar's `content` option instead.
645
645
 
646
646
  ---
@@ -109,13 +109,13 @@ Fire ALL of these simultaneously using \`call_omo_agent\`:
109
109
  call_omo_agent(
110
110
  subagent_type="explore",
111
111
  run_in_background=true,
112
- prompt="Find all occurrences and definitions of [TARGET].
112
+ prompt="Find all occurrences and definitions of [TARGET].
113
113
  Report: file paths, line numbers, usage patterns."
114
114
  )
115
115
 
116
116
  // Agent 2: Find related code
117
117
  call_omo_agent(
118
- subagent_type="explore",
118
+ subagent_type="explore",
119
119
  run_in_background=true,
120
120
  prompt="Find all code that imports, uses, or depends on [TARGET].
121
121
  Report: dependency chains, import graphs."
@@ -221,8 +221,8 @@ Based on Phase 1 results, build:
221
221
 
222
222
  ### Dependency Graph
223
223
  \`\`\`
224
- [TARGET]
225
- ├── imports from:
224
+ [TARGET]
225
+ ├── imports from:
226
226
  │ ├── module-a (types)
227
227
  │ └── module-b (utils)
228
228
  ├── imported by:
@@ -193,7 +193,7 @@ For each skipped issue, give reason.
193
193
  )
194
194
  ```
195
195
 
196
- **Batch failure handling**: if a `deep` agent in a batch fails or times out, do NOT block the remaining 4 in that batch. Collect the successful results, mark the failed file for retry in a later batch (single retry max), and continue. If retry also fails, escalate that file under "Issues Found & Fixed" in the final report.
196
+ **Batch failure handling**: a `wait_agent` timeout only means no new mailbox update arrived, not that a `deep` agent failed. For long passes, require each child to send `WORKING: <file> - <current phase>` and `BLOCKED: <reason>` only when it cannot progress. If you need reassurance after a timeout, run a single `list_agents` check for the named child; a running child or latest `WORKING:` message is alive. Mark a file for retry only when the child is completed without the deliverable, ack-only after followup, explicitly `BLOCKED:`, or no longer running. Do NOT block the remaining 4 in that batch; collect successful results and retry the failed file once later. If retry also fails, escalate that file under "Issues Found & Fixed" in the final report.
197
197
 
198
198
  ### Phase 5: Verify with quality gates + critical review
199
199
 
@@ -8,35 +8,48 @@ This skill may include examples copied from the OpenCode harness. In Codex, do n
8
8
 
9
9
  | OpenCode example | Codex tool to use |
10
10
  | --- | --- |
11
- | `call_omo_agent(subagent_type="explore", ...)` | `spawn_agent(agent_type="explorer", task_name="...", message="...", fork_turns="none")` |
12
- | `call_omo_agent(subagent_type="librarian", ...)` | `spawn_agent(agent_type="librarian", task_name="...", message="...", fork_turns="none")` |
13
- | `task(subagent_type="plan", ...)` | `spawn_agent(agent_type="plan", task_name="...", message="...", fork_turns="none")` |
14
- | `task(subagent_type="oracle", ...)` for final verification | `spawn_agent(agent_type="codex-ultrawork-reviewer", task_name="...", message="...", fork_turns="none")` |
15
- | `task(category="...", ...)` for implementation or QA | `spawn_agent(agent_type="worker", task_name="...", message="...", fork_turns="none")` |
16
- | `background_output(task_id="...")` | `wait_agent(...)` to wait for subagent completion and mailbox updates |
11
+ | `call_omo_agent(subagent_type="explore", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as an explorer. ...","fork_turns":"none"})` |
12
+ | `call_omo_agent(subagent_type="librarian", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as a librarian. ...","fork_turns":"none"})` |
13
+ | `task(subagent_type="plan", ...)` | `spawn_agent({"task_name":"...","message":"TASK: act as a planning agent. ...","fork_turns":"none"})` |
14
+ | `task(subagent_type="oracle", ...)` for final verification | `spawn_agent({"task_name":"...","message":"TASK: act as a rigorous reviewer. ...","fork_turns":"none"})` |
15
+ | `task(category="...", ...)` for implementation or QA | `spawn_agent({"task_name":"...","message":"TASK: act as an implementation or QA worker. ...","fork_turns":"none"})` |
16
+ | `background_output(task_id="...")` | `wait_agent(...)` for mailbox signals; after a timeout, run one `list_agents` check for the named child if reassurance is needed |
17
17
  | `team_*(...)` | Use Codex native subagents plus `send_message`, `followup_task`, `wait_agent`, and `close_agent` |
18
18
 
19
- Codex full-history forks inherit the parent agent type, model, and reasoning effort, so role-specific spawns with `agent_type` must use a non-full-history fork mode such as `fork_turns="none"`. Include any required conversation context, files, diffs, constraints, and requested skill names directly in the spawned agent's `message`. If a code block below conflicts with this section, this section wins.
19
+ Codex full-history forks inherit parent context, so role-specific behavior must be described in a self-contained `message` and usually should use a non-full-history fork mode such as `fork_turns="none"`. Include any required conversation context, files, diffs, constraints, and requested skill names directly in the spawned agent's `message`. If a code block below conflicts with this section, this section wins.
20
20
 
21
21
  ## Codex Subagent Reliability
22
22
 
23
23
  Every `spawn_agent` message must be self-contained. Start with
24
24
  `TASK: <imperative assignment>`, then name `DELIVERABLE`, `SCOPE`, and
25
25
  `VERIFY`. State that it is an executable assignment, not a context
26
- handoff. Role selection requires `agent_type`; `model` +
27
- `reasoning_effort` alone creates a default agent, not a reviewer or
28
- worker. Prefer `fork_turns: "none"` unless full history is truly
26
+ handoff. Role or specialty instructions belong inside `message`; the
27
+ Codex tool schema only accepts `task_name`, `message`, and `fork_turns`.
28
+ Prefer `fork_turns: "none"` unless full history is truly
29
29
  required; paste only the review context that worker needs.
30
30
 
31
- Plan and reviewer agents may run for a long time; spawn them in the background, keep doing independent root work, and poll with short wait_agent cycles. Never use a single long blocking wait for them. While any child is active, keep the parent visibly alive with brief status updates that include active subagent count, agent names, last heartbeat, and whether the parent is waiting for mailbox updates.
32
-
33
- Use `wait_agent` for completion signals, but treat `wait_agent` as a
34
- mailbox signal, not proof of completion, content, or errors. After two
35
- waits with no substantive result, send one targeted followup:
36
- `TASK STILL ACTIVE: return <deliverable> or BLOCKED: <reason>`. If the
37
- child stays silent or ack-only, mark that review lane inconclusive, do
38
- not count it as PASS or approval, close if safe, and respawn a smaller
39
- `fork_turns: "none"` reviewer with the missing deliverable.
31
+ Plan and reviewer agents may run for a long time; spawn them in the background, keep doing independent root work, and poll with short wait_agent cycles sized to the work. Never use a single long blocking wait for them, and never spin on tiny timeouts as a failure budget.
32
+
33
+ Treat child status as a progress signal, not a timeout counter. For
34
+ work likely to exceed one wait cycle, require the child to send
35
+ `WORKING: <task> - <current phase>` before long reading, testing, or
36
+ review passes, and `BLOCKED: <reason>` only when it cannot progress.
37
+ While any child is active, keep the parent visibly alive with active
38
+ subagent count, agent names, latest `WORKING:` phase, and whether the
39
+ parent is waiting for mailbox updates. Track spawned agent names
40
+ locally. Use `wait_agent` for mailbox signals, not proof of completion.
41
+ A timeout only means no new mailbox update arrived; after a timeout,
42
+ run a single `list_agents` check for the named child when you need
43
+ reassurance. If it is running or its latest message is `WORKING:`,
44
+ treat it as alive. Do not use `list_agents` as a polling loop or status
45
+ feed; it can replay large payloads. Fallback only when the child is
46
+ completed without the deliverable, ack-only after followup, explicitly
47
+ `BLOCKED:`, or no longer running. Then mark that review lane
48
+ `INCONCLUSIVE`, do not count it as PASS or approval, close if safe, and
49
+ respawn a smaller `fork_turns: "none"` reviewer with the missing
50
+ deliverable. Preserve completed lane results immediately. If the retry
51
+ budget is exhausted, keep the lane `INCONCLUSIVE` and still emit a final
52
+ aggregate result.
40
53
 
41
54
  # Review Work - 5-Agent Parallel Review Orchestrator
42
55
 
@@ -518,19 +531,27 @@ cycles. Do not treat a timeout, ack-only reply, or empty child result as
518
531
  a PASS.
519
532
 
520
533
  As each completes, collect via the Codex mapping above (`wait_agent`,
521
- then the child's substantive final result). Store each verdict:
534
+ then the child's substantive final result). Preserve completed lane
535
+ results immediately; never lose a PASS/FAIL because another lane is
536
+ still running. Store each verdict independently:
522
537
 
523
538
  | Agent | Verdict | Notes |
524
539
  |-------|---------|-------|
525
- | 1. Goal Verification | pending | - |
526
- | 2. QA Execution | pending | - |
527
- | 3. Code Quality | pending | - |
528
- | 4. Security | pending | - |
529
- | 5. Context Mining | pending | - |
530
-
531
- Do NOT deliver the final report until ALL 5 have completed.
540
+ | 1. Goal Verification | pending/PASS/FAIL/INCONCLUSIVE | - |
541
+ | 2. QA Execution | pending/PASS/FAIL/INCONCLUSIVE | - |
542
+ | 3. Code Quality | pending/PASS/FAIL/INCONCLUSIVE | - |
543
+ | 4. Security | pending/PASS/FAIL/INCONCLUSIVE | - |
544
+ | 5. Context Mining | pending/PASS/FAIL/INCONCLUSIVE | - |
545
+
546
+ Do NOT deliver the final report until ALL 5 lanes have a terminal state:
547
+ PASS, FAIL, or INCONCLUSIVE.
532
548
  If a lane remains silent after the reliability followup, record it as
533
549
  inconclusive and respawn a smaller reviewer/worker for that exact lane.
550
+ If it still remains unfinished after that retry, close the still-running
551
+ agent if safe, keep the lane INCONCLUSIVE, and emit the final aggregate
552
+ review result with the incomplete lane named. Do not spin in repeated
553
+ wait/followup cycles. Do not use `send_message` as an interrupt; queued
554
+ followups are not cancellation.
534
555
 
535
556
  ---
536
557
 
@@ -540,6 +561,7 @@ inconclusive and respawn a smaller reviewer/worker for that exact lane.
540
561
 
541
562
  ALL 5 agents returned PASS → **REVIEW PASSED**
542
563
  ANY agent returned FAIL → **REVIEW FAILED - criteria not met**
564
+ ANY lane is INCONCLUSIVE and none failed → **REVIEW INCONCLUSIVE - not approved**
543
565
 
544
566
  </verdict_logic>
545
567
 
@@ -548,15 +570,15 @@ Compile the final report in this format:
548
570
  ```markdown
549
571
  # Review Work - Final Report
550
572
 
551
- ## Overall Verdict: PASSED / FAILED
573
+ ## Overall Verdict: PASSED / FAILED / INCONCLUSIVE
552
574
 
553
575
  | # | Review Area | Agent Type | Verdict | Confidence |
554
576
  |---|------------|------------|---------|------------|
555
- | 1 | Goal & Constraint Verification | Oracle | PASS/FAIL | HIGH/MED/LOW |
556
- | 2 | QA Execution | unspecified-high | PASS/FAIL | HIGH/MED/LOW |
557
- | 3 | Code Quality | Oracle | PASS/FAIL | HIGH/MED/LOW |
558
- | 4 | Security (supplementary) | Oracle | PASS/FAIL | Severity |
559
- | 5 | Context Mining | unspecified-high | PASS/FAIL | HIGH/MED/LOW |
577
+ | 1 | Goal & Constraint Verification | Oracle | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
578
+ | 2 | QA Execution | unspecified-high | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
579
+ | 3 | Code Quality | Oracle | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
580
+ | 4 | Security (supplementary) | Oracle | PASS/FAIL/INCONCLUSIVE | Severity |
581
+ | 5 | Context Mining | unspecified-high | PASS/FAIL/INCONCLUSIVE | HIGH/MED/LOW |
560
582
 
561
583
  ## Blocking Issues
562
584
  [Aggregated from all agents - deduplicated, prioritized]