oh-my-opencode 4.7.5 → 4.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) 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 +4466 -2212
  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-multi-agent-v2-config.d.ts +11 -0
  73. package/dist/cli/install-codex/codex-process.d.ts +5 -0
  74. package/dist/cli/install-codex/index.d.ts +1 -1
  75. package/dist/cli/install-codex/lazycodex-version-stamp.d.ts +19 -0
  76. package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +4 -0
  77. package/dist/cli/install-validators.d.ts +3 -0
  78. package/dist/cli/model-fallback-types.d.ts +3 -0
  79. package/dist/cli/run/event-handlers.d.ts +4 -11
  80. package/dist/cli/run/event-message-handlers.d.ts +5 -0
  81. package/dist/cli/run/event-session-handlers.d.ts +5 -0
  82. package/dist/cli/run/event-session-ids.d.ts +24 -0
  83. package/dist/cli/run/event-think-block.d.ts +3 -0
  84. package/dist/cli/run/event-toast-handlers.d.ts +3 -0
  85. package/dist/cli/run/event-tool-handlers.d.ts +4 -0
  86. package/dist/cli/run/event-tool-output.d.ts +2 -0
  87. package/dist/cli/run/on-complete-hook.d.ts +8 -1
  88. package/dist/cli/run/opencode-binary-resolver.d.ts +2 -1
  89. package/dist/cli/run/runnable-agent-resolver.d.ts +11 -0
  90. package/dist/cli/runtime-commands.d.ts +2 -0
  91. package/dist/cli/sparkshell-appserver-websocket.d.ts +4 -0
  92. package/dist/cli/sparkshell-appserver.d.ts +16 -0
  93. package/dist/cli/sparkshell-parse.d.ts +21 -0
  94. package/dist/cli/sparkshell.d.ts +26 -0
  95. package/dist/cli/types.d.ts +9 -0
  96. package/dist/config/schema/claude-code.d.ts +1 -0
  97. package/dist/config/schema/hooks.d.ts +1 -0
  98. package/dist/config/schema/oh-my-opencode-config.d.ts +1 -0
  99. package/dist/create-hooks.d.ts +1 -0
  100. package/dist/features/background-agent/concurrency.d.ts +6 -1
  101. package/dist/features/background-agent/constants.d.ts +1 -0
  102. package/dist/features/background-agent/empty-assistant-turn.d.ts +7 -0
  103. package/dist/features/background-agent/manager.d.ts +12 -0
  104. package/dist/features/background-agent/message-updated-parent-wake-output.d.ts +1 -0
  105. package/dist/features/background-agent/parent-wake-dedupe.d.ts +2 -0
  106. package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +21 -0
  107. package/dist/features/background-agent/parent-wake-flush-runner.d.ts +24 -0
  108. package/dist/features/background-agent/parent-wake-history-state.d.ts +5 -0
  109. package/dist/features/background-agent/parent-wake-notifier-types.d.ts +50 -0
  110. package/dist/features/background-agent/parent-wake-notifier.d.ts +8 -50
  111. package/dist/features/background-agent/parent-wake-pending-queue.d.ts +22 -0
  112. package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +19 -0
  113. package/dist/features/background-agent/parent-wake-session-history.d.ts +73 -0
  114. package/dist/features/background-agent/parent-wake-session-inspector.d.ts +35 -0
  115. package/dist/features/background-agent/parent-wake-timer-handle.d.ts +5 -0
  116. package/dist/features/background-agent/parent-wake-window-recovery.d.ts +13 -0
  117. package/dist/features/background-agent/process-cleanup.d.ts +2 -0
  118. package/dist/features/background-agent/process-cleanup.test-helpers.d.ts +3 -0
  119. package/dist/features/background-agent/session-stream-activity.d.ts +6 -0
  120. package/dist/features/background-agent/spawner/fallback-agent.d.ts +5 -0
  121. package/dist/features/background-agent/spawner/task-prompt-body.d.ts +34 -0
  122. package/dist/features/background-agent/spawner/task-record.d.ts +2 -0
  123. package/dist/features/background-agent/spawner.d.ts +2 -5
  124. package/dist/features/builtin-commands/templates/refactor-sections/codemap-and-tests.d.ts +1 -0
  125. package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -0
  126. package/dist/features/builtin-commands/templates/refactor-sections/plan-and-execution.d.ts +1 -0
  127. package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -0
  128. package/dist/features/builtin-commands/templates/refactor-sections/verification-and-tooling.d.ts +1 -0
  129. package/dist/features/builtin-commands/templates/refactor.d.ts +2 -2
  130. package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +2 -0
  131. package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +2 -0
  132. package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +1 -0
  133. package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +1 -0
  134. package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +1 -0
  135. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
  136. package/dist/features/builtin-skills/skills/index.d.ts +1 -0
  137. package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +2 -0
  138. package/dist/features/builtin-skills/skills/playwright.d.ts +2 -3
  139. package/dist/features/builtin-skills/skills/visual-qa.d.ts +2 -0
  140. package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +2 -2
  141. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +1 -1
  142. package/dist/features/claude-code-agent-loader/loader.d.ts +2 -2
  143. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +1 -1
  144. package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +2 -0
  145. package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +3 -0
  146. package/dist/features/claude-code-plugin-loader/discovery.d.ts +3 -4
  147. package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +1 -0
  148. package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +3 -0
  149. package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +2 -0
  150. package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +1 -0
  151. package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +4 -0
  152. package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +3 -0
  153. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -0
  154. package/dist/features/hook-message-injector/context-resolver.d.ts +6 -0
  155. package/dist/features/hook-message-injector/id-generation.d.ts +2 -0
  156. package/dist/features/hook-message-injector/index.d.ts +1 -1
  157. package/dist/features/hook-message-injector/injector.d.ts +7 -69
  158. package/dist/features/hook-message-injector/json-message-lookup.d.ts +3 -0
  159. package/dist/features/hook-message-injector/message-directory.d.ts +1 -0
  160. package/dist/features/hook-message-injector/message-injection.d.ts +2 -0
  161. package/dist/features/hook-message-injector/sdk-message-context.d.ts +6 -0
  162. package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +28 -0
  163. package/dist/features/hook-message-injector/types.d.ts +9 -0
  164. package/dist/features/mcp-oauth/callback-server.d.ts +10 -2
  165. package/dist/features/opencode-runtime-skills/source-server.d.ts +1 -0
  166. package/dist/features/skill-mcp-manager/http-client.d.ts +2 -0
  167. package/dist/features/team-mode/deps.d.ts +8 -1
  168. package/dist/features/team-mode/team-layout-tmux/layout.d.ts +2 -0
  169. package/dist/features/team-mode/team-mailbox/send.d.ts +3 -0
  170. package/dist/features/team-mode/team-registry/paths.d.ts +17 -2
  171. package/dist/features/team-mode/team-runtime/shutdown.d.ts +1 -1
  172. package/dist/features/team-mode/team-runtime/unresolved-team-members.d.ts +3 -0
  173. package/dist/features/team-mode/team-state-store/active-resume.d.ts +5 -0
  174. package/dist/features/team-mode/team-state-store/creating-resume.d.ts +4 -0
  175. package/dist/features/team-mode/team-state-store/deleting-resume.d.ts +4 -0
  176. package/dist/features/team-mode/team-state-store/error-normalization.d.ts +2 -0
  177. package/dist/features/team-mode/team-state-store/reservation-reconciliation.d.ts +4 -0
  178. package/dist/features/team-mode/team-state-store/resume-report.d.ts +7 -0
  179. package/dist/features/team-mode/team-state-store/resume.d.ts +2 -7
  180. package/dist/features/team-mode/team-state-store/runtime-cleanup.d.ts +4 -0
  181. package/dist/features/team-mode/team-state-store/session-liveness.d.ts +9 -0
  182. package/dist/features/team-mode/team-state-store/worker-resume-status.d.ts +9 -0
  183. package/dist/features/team-mode/tools/lifecycle-create-tool.d.ts +17 -0
  184. package/dist/features/team-mode/tools/lifecycle-inline-spec.d.ts +19 -0
  185. package/dist/features/team-mode/tools/lifecycle-participant.d.ts +25 -0
  186. package/dist/features/team-mode/tools/lifecycle-shutdown-tools.d.ts +18 -0
  187. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +3 -3
  188. package/dist/features/team-mode/tools/lifecycle.d.ts +3 -37
  189. package/dist/features/team-mode/tools/messaging-live-delivery-client.d.ts +25 -0
  190. package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +19 -0
  191. package/dist/features/team-mode/tools/messaging-live-delivery-reservation.d.ts +10 -0
  192. package/dist/features/team-mode/tools/messaging-live-delivery-state.d.ts +5 -0
  193. package/dist/features/team-mode/tools/messaging-live-delivery.d.ts +6 -0
  194. package/dist/features/team-mode/tools/messaging-runtime.d.ts +17 -0
  195. package/dist/features/team-mode/tools/messaging.d.ts +4 -29
  196. package/dist/features/tmux-subagent/manager.d.ts +20 -1
  197. package/dist/features/tmux-subagent/session-created-handler.d.ts +4 -0
  198. package/dist/features/tmux-subagent/types.d.ts +1 -0
  199. package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +1 -1
  200. package/dist/hooks/atlas/idle-completion-nudge.d.ts +10 -0
  201. package/dist/hooks/atlas/idle-constants.d.ts +4 -0
  202. package/dist/hooks/atlas/idle-continuation.d.ts +23 -0
  203. package/dist/hooks/atlas/idle-session-eligibility.d.ts +8 -0
  204. package/dist/hooks/atlas/tool-execute-after-direct-work.d.ts +9 -0
  205. package/dist/hooks/atlas/tool-execute-after-plan-tasks.d.ts +3 -0
  206. package/dist/hooks/atlas/tool-execute-after-subagent-completion.d.ts +14 -0
  207. package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +6 -0
  208. package/dist/hooks/auto-update-checker/hook/ignore-toast-error.d.ts +1 -0
  209. package/dist/hooks/hephaestus-agents-md-injector/hook.d.ts +37 -0
  210. package/dist/hooks/hephaestus-agents-md-injector/index.d.ts +1 -0
  211. package/dist/hooks/index.d.ts +1 -0
  212. package/dist/hooks/json-error-recovery/hook.d.ts +1 -1
  213. package/dist/hooks/ralph-loop/command-arguments.d.ts +1 -0
  214. package/dist/hooks/ralph-loop/event-handler-activity.d.ts +10 -0
  215. package/dist/hooks/ralph-loop/event-handler-completion.d.ts +9 -0
  216. package/dist/hooks/ralph-loop/event-handler-continuation.d.ts +16 -0
  217. package/dist/hooks/ralph-loop/event-handler-feedback.d.ts +16 -0
  218. package/dist/hooks/ralph-loop/event-handler-idle.d.ts +15 -0
  219. package/dist/hooks/ralph-loop/event-handler-impl.d.ts +10 -0
  220. package/dist/hooks/ralph-loop/event-handler-runtime-error.d.ts +4 -0
  221. package/dist/hooks/ralph-loop/event-handler-types.d.ts +20 -0
  222. package/dist/hooks/ralph-loop/loop-state-controller.d.ts +1 -0
  223. package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +4 -24
  224. package/dist/hooks/ralph-loop/ralph-loop-hook.d.ts +1 -0
  225. package/dist/hooks/read-image-resizer/png-chunks.d.ts +6 -0
  226. package/dist/hooks/read-image-resizer/png-constants.d.ts +1 -0
  227. package/dist/hooks/read-image-resizer/png-crc.d.ts +1 -0
  228. package/dist/hooks/read-image-resizer/png-decoder.d.ts +1 -0
  229. package/dist/hooks/read-image-resizer/png-encoder.d.ts +1 -0
  230. package/dist/hooks/read-image-resizer/png-filters.d.ts +1 -0
  231. package/dist/hooks/read-image-resizer/png-ihdr.d.ts +11 -0
  232. package/dist/hooks/read-image-resizer/png-nearest-neighbor.d.ts +1 -0
  233. package/dist/hooks/rules-injector/injection-output.d.ts +2 -0
  234. package/dist/hooks/rules-injector/injection-processor.d.ts +22 -0
  235. package/dist/hooks/rules-injector/injection-types.d.ts +43 -0
  236. package/dist/hooks/rules-injector/injector.d.ts +3 -47
  237. package/dist/hooks/rules-injector/match-decision-cache.d.ts +4 -0
  238. package/dist/hooks/rules-injector/parsed-rule-cache.d.ts +11 -0
  239. package/dist/hooks/rules-injector/path-resolution.d.ts +1 -0
  240. package/dist/hooks/rules-injector/rule-match-reason.d.ts +12 -0
  241. package/dist/hooks/rules-injector/transcript-hydration.d.ts +13 -2
  242. package/dist/hooks/runtime-fallback/auto-retry-abort.d.ts +2 -0
  243. package/dist/hooks/runtime-fallback/auto-retry-agent-context.d.ts +2 -0
  244. package/dist/hooks/runtime-fallback/auto-retry-cleanup.d.ts +2 -0
  245. package/dist/hooks/runtime-fallback/auto-retry-dispatch.d.ts +2 -0
  246. package/dist/hooks/runtime-fallback/auto-retry-metadata.d.ts +9 -0
  247. package/dist/hooks/runtime-fallback/auto-retry-timeout.d.ts +5 -0
  248. package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +1 -1
  249. package/dist/hooks/runtime-fallback/fallback-state.d.ts +4 -1
  250. package/dist/hooks/runtime-fallback/normalize-model.d.ts +12 -0
  251. package/dist/hooks/session-notification-linux.d.ts +3 -0
  252. package/dist/hooks/session-notification-log.d.ts +2 -0
  253. package/dist/hooks/session-notification-macos.d.ts +3 -0
  254. package/dist/hooks/session-notification-platform.d.ts +3 -0
  255. package/dist/hooks/session-notification-runner.d.ts +9 -0
  256. package/dist/hooks/session-notification-send.d.ts +3 -0
  257. package/dist/hooks/session-notification-sender.d.ts +5 -6
  258. package/dist/hooks/session-notification-sound.d.ts +3 -0
  259. package/dist/hooks/session-notification-windows.d.ts +3 -0
  260. package/dist/hooks/session-recovery/error-recovery.d.ts +4 -0
  261. package/dist/hooks/session-recovery/hook-types.d.ts +22 -0
  262. package/dist/hooks/session-recovery/hook.d.ts +2 -19
  263. package/dist/hooks/session-recovery/interrupted-tool-results.d.ts +3 -0
  264. package/dist/hooks/session-recovery/message-state.d.ts +4 -0
  265. package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +7 -1
  266. package/dist/hooks/start-work/context-info-builder.d.ts +9 -9
  267. package/dist/hooks/start-work/context-info-formatters.d.ts +21 -0
  268. package/dist/hooks/start-work/explicit-plan-context.d.ts +9 -0
  269. package/dist/hooks/start-work/plan-discovery-context.d.ts +25 -0
  270. package/dist/hooks/start-work/plan-selection.d.ts +4 -0
  271. package/dist/hooks/start-work/work-initializer.d.ts +17 -0
  272. package/dist/hooks/tool-pair-validator/hook.d.ts +1 -37
  273. package/dist/hooks/tool-pair-validator/message-transform.d.ts +2 -0
  274. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +6 -0
  275. package/dist/hooks/tool-pair-validator/tool-result-repair.d.ts +4 -0
  276. package/dist/hooks/tool-pair-validator/types.d.ts +36 -0
  277. package/dist/index.js +12708 -9988
  278. package/dist/oh-my-opencode.schema.json +4 -0
  279. package/dist/openclaw/reply-listener-poll-loop.d.ts +3 -0
  280. package/dist/openclaw/reply-listener-signature.d.ts +2 -0
  281. package/dist/openclaw/reply-listener-sleep.d.ts +1 -0
  282. package/dist/openclaw/reply-listener-start.d.ts +9 -0
  283. package/dist/openclaw/reply-listener-status.d.ts +4 -0
  284. package/dist/openclaw/reply-listener-stop.d.ts +7 -0
  285. package/dist/openclaw/reply-listener.d.ts +5 -18
  286. package/dist/openclaw/session-registry-lock.d.ts +2 -0
  287. package/dist/openclaw/session-registry-paths.d.ts +9 -0
  288. package/dist/openclaw/session-registry-storage.d.ts +4 -0
  289. package/dist/openclaw/session-registry-types.d.ts +11 -0
  290. package/dist/openclaw/session-registry.d.ts +2 -11
  291. package/dist/plugin/chat-message/loop-commands.d.ts +9 -0
  292. package/dist/plugin/chat-message/model-cache-warning.d.ts +12 -0
  293. package/dist/plugin/chat-message/prompt-text.d.ts +2 -0
  294. package/dist/plugin/chat-message/session-model.d.ts +4 -0
  295. package/dist/plugin/chat-message/start-work-message.d.ts +5 -0
  296. package/dist/plugin/chat-message/types.d.ts +67 -0
  297. package/dist/plugin/chat-message.d.ts +3 -24
  298. package/dist/plugin/event-error-utils.d.ts +14 -0
  299. package/dist/plugin/event-hook-dispatcher.d.ts +5 -0
  300. package/dist/plugin/event-model-fallback-state.d.ts +30 -0
  301. package/dist/plugin/event-model-fallback.d.ts +39 -0
  302. package/dist/plugin/event-session-lifecycle.d.ts +49 -0
  303. package/dist/plugin/event-session-recovery.d.ts +9 -0
  304. package/dist/plugin/event-team-handlers.d.ts +13 -0
  305. package/dist/plugin/event-types.d.ts +78 -0
  306. package/dist/plugin/event.d.ts +3 -12
  307. package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
  308. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
  309. package/dist/plugin/hooks/model-fallback-title-updater.d.ts +8 -0
  310. package/dist/plugin/session-compacting.d.ts +4 -1
  311. package/dist/plugin/system-transform.d.ts +1 -1
  312. package/dist/plugin/tool-execute-after.d.ts +2 -0
  313. package/dist/plugin/tool-registry-core-tools.d.ts +15 -0
  314. package/dist/plugin/tool-registry-factories.d.ts +36 -0
  315. package/dist/plugin/tool-registry-gated-tools.d.ts +16 -0
  316. package/dist/plugin/tool-registry-team-tools.d.ts +14 -0
  317. package/dist/plugin/tool-registry-trimming.d.ts +2 -0
  318. package/dist/plugin/tool-registry.d.ts +3 -38
  319. package/dist/plugin/ultrawork-db-model-override.d.ts +1 -1
  320. package/dist/plugin-config/agent-order-warnings.d.ts +1 -0
  321. package/dist/plugin-config/config-merger.d.ts +2 -0
  322. package/dist/plugin-config/layered-config-loader.d.ts +2 -0
  323. package/dist/plugin-config/single-config-loader.d.ts +4 -0
  324. package/dist/plugin-config.d.ts +3 -5
  325. package/dist/plugin-handlers/agent-config-assembly.d.ts +19 -0
  326. package/dist/plugin-handlers/agent-config-finalizer.d.ts +4 -0
  327. package/dist/plugin-handlers/agent-config-handler.d.ts +2 -11
  328. package/dist/plugin-handlers/agent-config-types.d.ts +30 -0
  329. package/dist/plugin-handlers/agent-skill-discovery.d.ts +3 -0
  330. package/dist/plugin-handlers/agent-source-loader.d.ts +2 -0
  331. package/dist/plugin-handlers/hook-config-handler.d.ts +0 -3
  332. package/dist/shared/context-window-usage.d.ts +7 -0
  333. package/dist/shared/dynamic-truncator-types.d.ts +17 -0
  334. package/dist/shared/dynamic-truncator.d.ts +8 -23
  335. package/dist/shared/migration/migrations-sidecar.d.ts +2 -2
  336. package/dist/shared/migration/model-versions.d.ts +7 -4
  337. package/dist/shared/model-availability.d.ts +1 -1
  338. package/dist/shared/opencode-version.d.ts +2 -2
  339. package/dist/shared/sparkshell-awareness.d.ts +5 -0
  340. package/dist/shared/spawn-with-windows-hide.d.ts +2 -0
  341. package/dist/shared/token-limit-truncator.d.ts +2 -0
  342. package/dist/testing/module-mock-lifecycle.d.ts +8 -0
  343. package/dist/tools/delegate-task/openai-categories.d.ts +0 -1
  344. package/dist/tools/delegate-task/subagent-agent-match.d.ts +3 -0
  345. package/dist/tools/delegate-task/subagent-model-resolution.d.ts +4 -0
  346. package/dist/tools/delegate-task/subagent-request-preflight.d.ts +3 -0
  347. package/dist/tools/delegate-task/subagent-resolution-types.d.ts +32 -0
  348. package/dist/tools/delegate-task/subagent-resolver.d.ts +3 -12
  349. package/dist/tools/delegate-task/sync-completion-message.d.ts +20 -0
  350. package/dist/tools/delegate-task/sync-poll-error-recovery.d.ts +1 -0
  351. package/dist/tools/delegate-task/sync-session-lifecycle.d.ts +12 -0
  352. package/dist/tools/delegate-task/sync-session-poller.d.ts +2 -0
  353. package/dist/tools/delegate-task/sync-spawn-reservation.d.ts +10 -0
  354. package/dist/tools/delegate-task/sync-task-metadata.d.ts +11 -0
  355. package/dist/tools/delegate-task/sync-task-runner.d.ts +30 -0
  356. package/dist/tools/delegate-task/sync-task.d.ts +2 -1
  357. package/dist/tools/hashline-edit/formatter-trigger.d.ts +2 -2
  358. package/package.json +15 -14
  359. package/packages/git-bash-mcp/dist/cli.js +29 -12
  360. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +1 -1
  361. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +1 -1
  362. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +95 -30
  363. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +1 -2
  364. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +1 -11
  365. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +1 -0
  366. package/packages/lsp-tools-mcp/dist/lsp/transport.js +5 -10
  367. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +4 -1
  368. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +84 -23
  369. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +2 -0
  370. package/packages/lsp-tools-mcp/dist/missing-dependency-result.js +14 -0
  371. package/packages/lsp-tools-mcp/dist/tools.js +64 -80
  372. package/packages/lsp-tools-mcp/package.json +4 -4
  373. package/packages/omo-codex/lazycodex-repository/.github/workflows/pr-source-guidance.yml +36 -0
  374. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  375. package/packages/omo-codex/plugin/README.md +3 -1
  376. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +188 -0
  377. package/packages/omo-codex/plugin/components/comment-checker/src/core-values.ts +1 -0
  378. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +15 -361
  379. package/packages/omo-codex/plugin/components/comment-checker/src/hook-input.ts +19 -0
  380. package/packages/omo-codex/plugin/components/comment-checker/src/record.ts +11 -0
  381. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +102 -0
  382. package/packages/omo-codex/plugin/components/comment-checker/src/types.ts +51 -0
  383. package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +145 -0
  384. package/packages/omo-codex/plugin/components/comment-checker/test/core.test.ts +200 -0
  385. package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +2 -2
  386. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +11 -5
  387. package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +11 -1
  388. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +0 -1
  389. package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +1 -4
  390. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-cache.ts +87 -0
  391. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-loader.ts +94 -0
  392. package/packages/omo-codex/plugin/components/rules/src/rules/engine-loader.ts +84 -0
  393. package/packages/omo-codex/plugin/components/rules/src/rules/engine-paths.ts +103 -0
  394. package/packages/omo-codex/plugin/components/rules/src/rules/engine-static-loader.ts +43 -0
  395. package/packages/omo-codex/plugin/components/rules/src/rules/engine-types.ts +45 -0
  396. package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +8 -419
  397. package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +39 -13
  398. package/packages/omo-codex/plugin/components/rules/src/rules/parser-frontmatter.ts +39 -0
  399. package/packages/omo-codex/plugin/components/rules/src/rules/parser-yaml.ts +271 -0
  400. package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +3 -294
  401. package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +17 -0
  402. package/packages/omo-codex/plugin/components/rules/src/sparkshell-awareness.ts +57 -0
  403. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +13 -2
  404. package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +17 -0
  405. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +2 -1
  406. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +26 -11
  407. package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +104 -138
  408. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +5 -2
  409. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +12 -5
  410. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +10 -4
  411. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +65 -3
  412. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +67 -2
  413. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +16 -0
  414. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +153 -0
  415. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +12 -0
  416. package/packages/omo-codex/plugin/components/rules/test/sparkshell-awareness.test.ts +236 -0
  417. package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +28 -50
  418. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +6 -3
  419. package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +13 -6
  420. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +21 -0
  421. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +64 -2
  422. package/packages/omo-codex/plugin/components/telemetry/README.md +11 -1
  423. package/packages/omo-codex/plugin/components/telemetry/biome.json +12 -0
  424. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +30 -3
  425. package/packages/omo-codex/plugin/components/telemetry/src/diagnostics.ts +154 -0
  426. package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +18 -2
  427. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +36 -4
  428. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook-diagnostics.test.ts +115 -0
  429. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +16 -25
  430. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +119 -0
  431. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +1 -1
  432. package/packages/omo-codex/plugin/components/ultrawork/README.md +5 -5
  433. package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +2 -1
  434. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -0
  435. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +0 -1
  436. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +0 -1
  437. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -2
  438. package/packages/omo-codex/plugin/components/ultrawork/directive.md +97 -32
  439. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +65 -0
  440. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/agents/openai.yaml +7 -0
  441. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +131 -0
  442. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +38 -10
  443. package/packages/omo-codex/plugin/components/ultrawork/test/directive-contract.test.ts +18 -0
  444. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +47 -0
  445. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  446. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +12 -8
  447. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +28 -21
  448. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +2 -3
  449. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +7 -7
  450. package/packages/omo-codex/plugin/components/ulw-loop/src/command-types.ts +36 -0
  451. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +64 -0
  452. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +98 -0
  453. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +17 -2
  454. package/packages/omo-codex/plugin/components/ulw-loop/src/runtime.ts +22 -0
  455. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +69 -0
  456. package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +5 -277
  457. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +35 -13
  458. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +52 -0
  459. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +67 -111
  460. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +2 -2
  461. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +31 -2
  462. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +46 -9
  463. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +20 -29
  464. package/packages/omo-codex/plugin/model-catalog.json +5 -11
  465. package/packages/omo-codex/plugin/package-lock.json +1 -1
  466. package/packages/omo-codex/plugin/scripts/auto-update-state.mjs +78 -0
  467. package/packages/omo-codex/plugin/scripts/auto-update.mjs +166 -76
  468. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +71 -0
  469. package/packages/omo-codex/plugin/scripts/migrate-codex-config/config-paths.mjs +44 -0
  470. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +40 -0
  471. package/packages/omo-codex/plugin/scripts/migrate-codex-config/root-settings.mjs +74 -0
  472. package/packages/omo-codex/plugin/scripts/migrate-codex-config/state.mjs +29 -0
  473. package/packages/omo-codex/plugin/scripts/migrate-codex-config.mjs +33 -204
  474. package/packages/omo-codex/plugin/scripts/spawn-command.mjs +11 -0
  475. package/packages/omo-codex/plugin/scripts/sync-hook-status-messages.mjs +23 -9
  476. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +131 -28
  477. package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
  478. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +100 -0
  479. package/packages/omo-codex/plugin/skills/git-master/agents/openai.yaml +13 -0
  480. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +9 -7
  481. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
  482. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
  483. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  484. package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +119 -14
  485. package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +4 -2
  486. package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +2 -2
  487. package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +6 -6
  488. package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +12 -12
  489. package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +7 -7
  490. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +13 -11
  491. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +10 -8
  492. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +68 -33
  493. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +86 -22
  494. package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +770 -0
  495. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +12 -8
  496. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +28 -21
  497. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +45 -379
  498. package/packages/omo-codex/plugin/skills/ulw-plan/agents/openai.yaml +7 -0
  499. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +131 -0
  500. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +237 -0
  501. package/packages/omo-codex/plugin/skills/visual-qa/scripts/ansi.ts +17 -0
  502. package/packages/omo-codex/plugin/skills/visual-qa/scripts/cli.ts +82 -0
  503. package/packages/omo-codex/plugin/skills/visual-qa/scripts/east-asian-width.ts +72 -0
  504. package/packages/omo-codex/plugin/skills/visual-qa/scripts/image-diff.ts +109 -0
  505. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-crc.ts +27 -0
  506. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-decode.ts +206 -0
  507. package/packages/omo-codex/plugin/skills/visual-qa/scripts/png-synth.ts +57 -0
  508. package/packages/omo-codex/plugin/skills/visual-qa/scripts/tui-grid.ts +88 -0
  509. package/packages/omo-codex/plugin/skills/visual-qa/scripts/types.ts +54 -0
  510. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +55 -0
  511. package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +38 -0
  512. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +164 -0
  513. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +73 -0
  514. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +69 -0
  515. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +53 -0
  516. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +83 -0
  517. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +67 -0
  518. package/packages/omo-codex/plugin/test/aggregate.test.mjs +2 -514
  519. package/packages/omo-codex/plugin/test/auto-update-state-persistence.test.mjs +36 -0
  520. package/packages/omo-codex/plugin/test/auto-update.test.mjs +191 -29
  521. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +1 -1
  522. package/packages/omo-codex/plugin/test/global-review-debug-gate.test.mjs +29 -0
  523. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +23 -10
  524. package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +81 -0
  525. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +91 -0
  526. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +244 -9
  527. package/packages/omo-codex/plugin/test/node-install-surface.test.mjs +0 -19
  528. package/packages/omo-codex/plugin/test/start-work-skill.test.mjs +107 -0
  529. package/packages/omo-codex/plugin/test/subagent-guidance.test.mjs +82 -7
  530. package/packages/omo-codex/plugin/test/sync-hook-status-messages.test.mjs +58 -6
  531. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +152 -0
  532. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +158 -50
  533. package/packages/omo-codex/plugin/test/ulw-plan-skill.test.mjs +43 -0
  534. package/packages/omo-codex/scripts/install/agent-source-roots.mjs +13 -0
  535. package/packages/omo-codex/scripts/install/agents.mjs +84 -14
  536. package/packages/omo-codex/scripts/install/bin-links.mjs +239 -0
  537. package/packages/omo-codex/scripts/install/cache.mjs +152 -108
  538. package/packages/omo-codex/scripts/install/cached-marketplace-manifest.mjs +21 -0
  539. package/packages/omo-codex/scripts/install/cli-args.mjs +39 -2
  540. package/packages/omo-codex/scripts/install/config.mjs +9 -5
  541. package/packages/omo-codex/scripts/install/lazycodex-version-stamp.mjs +102 -0
  542. package/packages/omo-codex/scripts/install/legacy-bins.mjs +9 -1
  543. package/packages/omo-codex/scripts/install/model-catalog.mjs +9 -1
  544. package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +12 -10
  545. package/packages/omo-codex/scripts/install/process.mjs +3 -1
  546. package/packages/omo-codex/scripts/install/project-local-cleanup.mjs +0 -1
  547. package/packages/omo-codex/scripts/install/snapshot.mjs +0 -1
  548. package/packages/omo-codex/scripts/install-agent-links.test.mjs +205 -11
  549. package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -1
  550. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +129 -5
  551. package/packages/omo-codex/scripts/install-cli-args.test.mjs +82 -1
  552. package/packages/omo-codex/scripts/install-config-preservation.test.mjs +43 -0
  553. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +14 -1
  554. package/packages/omo-codex/scripts/install-config.test.mjs +49 -1
  555. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +84 -0
  556. package/packages/omo-codex/scripts/install-local-entrypoint.test.mjs +51 -0
  557. package/packages/omo-codex/scripts/install-local.mjs +42 -40
  558. package/packages/omo-codex/scripts/install-local.test.mjs +17 -241
  559. package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +162 -0
  560. package/packages/omo-codex/scripts/install-packaged-local.test.mjs +10 -6
  561. package/packages/omo-codex/scripts/install-project-local-cleanup.test.mjs +73 -2
  562. package/packages/omo-codex/scripts/sync-telemetry-component.mjs +1 -0
  563. package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +3 -3
  564. package/packages/shared-skills/skills/git-master/SKILL.md +100 -0
  565. package/packages/shared-skills/skills/git-master/agents/openai.yaml +13 -0
  566. package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +176 -0
  567. package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
  568. package/packages/shared-skills/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  569. package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +119 -14
  570. package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +4 -2
  571. package/packages/shared-skills/skills/programming/references/go/concurrency.md +2 -2
  572. package/packages/shared-skills/skills/programming/references/python/async-anyio.md +6 -6
  573. package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +12 -12
  574. package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +7 -7
  575. package/packages/shared-skills/skills/refactor/SKILL.md +4 -4
  576. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +1 -1
  577. package/packages/shared-skills/skills/review-work/SKILL.md +55 -33
  578. package/packages/shared-skills/skills/start-work/SKILL.md +76 -19
  579. package/packages/shared-skills/skills/ultraresearch/SKILL.md +770 -0
  580. package/packages/shared-skills/skills/visual-qa/SKILL.md +219 -0
  581. package/packages/shared-skills/skills/visual-qa/scripts/ansi.test.ts +45 -0
  582. package/packages/shared-skills/skills/visual-qa/scripts/ansi.ts +17 -0
  583. package/packages/shared-skills/skills/visual-qa/scripts/cli.test.ts +73 -0
  584. package/packages/shared-skills/skills/visual-qa/scripts/cli.ts +82 -0
  585. package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.test.ts +60 -0
  586. package/packages/shared-skills/skills/visual-qa/scripts/east-asian-width.ts +72 -0
  587. package/packages/shared-skills/skills/visual-qa/scripts/image-diff.test.ts +70 -0
  588. package/packages/shared-skills/skills/visual-qa/scripts/image-diff.ts +109 -0
  589. package/packages/shared-skills/skills/visual-qa/scripts/png-crc.ts +27 -0
  590. package/packages/shared-skills/skills/visual-qa/scripts/png-decode.test.ts +44 -0
  591. package/packages/shared-skills/skills/visual-qa/scripts/png-decode.ts +206 -0
  592. package/packages/shared-skills/skills/visual-qa/scripts/png-synth.ts +57 -0
  593. package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +83 -0
  594. package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.test.ts +57 -0
  595. package/packages/shared-skills/skills/visual-qa/scripts/tui-grid.ts +88 -0
  596. package/packages/shared-skills/skills/visual-qa/scripts/types.ts +54 -0
  597. package/postinstall.mjs +24 -1
  598. package/dist/agents/custom-agent-summaries.d.ts +0 -8
  599. package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +0 -20
  600. package/dist/agents/prometheus/gemini.d.ts +0 -1
  601. package/dist/agents/prometheus/gpt.d.ts +0 -1
  602. package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +0 -8
  603. package/dist/features/background-agent/session-route.d.ts +0 -12
  604. package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +0 -6
  605. package/dist/features/background-agent/state.d.ts +0 -35
  606. package/dist/features/claude-tasks/session-storage.d.ts +0 -9
  607. package/dist/features/mcp-oauth/resource-indicator.d.ts +0 -2
  608. package/dist/features/mcp-oauth/schema.d.ts +0 -6
  609. package/dist/features/opencode-skill-loader/async-loader.d.ts +0 -6
  610. package/dist/features/opencode-skill-loader/blocking.d.ts +0 -2
  611. package/dist/features/opencode-skill-loader/discover-worker.d.ts +0 -1
  612. package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +0 -13
  613. package/dist/shared/bun-hash-shim.d.ts +0 -1
  614. package/dist/tools/delegate-task/resolve-call-id.d.ts +0 -2
  615. package/packages/shared-skills/skills/ulw-plan/SKILL.md +0 -383
  616. /package/packages/lsp-tools-mcp/dist/lsp/{utils.d.ts → startup-failure.d.ts} +0 -0
  617. /package/packages/lsp-tools-mcp/dist/lsp/{utils.js → startup-failure.js} +0 -0
@@ -5724,6 +5724,10 @@
5724
5724
  "additionalProperties": {
5725
5725
  "type": "boolean"
5726
5726
  }
5727
+ },
5728
+ "anthropic_provider": {
5729
+ "type": "string",
5730
+ "minLength": 1
5727
5731
  }
5728
5732
  },
5729
5733
  "additionalProperties": false
@@ -0,0 +1,3 @@
1
+ import { type ReplyListenerDaemonState } from "./reply-listener-state";
2
+ export declare function shouldContinuePolling(state: ReplyListenerDaemonState): boolean;
3
+ export declare function pollLoop(): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { OpenClawConfig } from "./types";
2
+ export declare function getReplyListenerRuntimeSignature(config: Pick<OpenClawConfig, "replyListener"> | null): string;
@@ -0,0 +1 @@
1
+ export declare function sleep(ms: number): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { type ReplyListenerDaemonState } from "./reply-listener-state";
2
+ import type { OpenClawConfig } from "./types";
3
+ export declare function resolveReplyListenerDaemonScript(currentFileUrl: string): string;
4
+ export declare function startReplyListener(config: OpenClawConfig): Promise<{
5
+ success: boolean;
6
+ message: string;
7
+ state?: ReplyListenerDaemonState;
8
+ error?: string;
9
+ }>;
@@ -0,0 +1,4 @@
1
+ export declare function terminateReplyListenerProcess(pid: number): Promise<void>;
2
+ export declare function isDaemonRunning(): Promise<boolean>;
3
+ export declare function waitForDaemonToStop(timeoutMs: number): Promise<boolean>;
4
+ export declare function waitForReplyListenerProcessExit(pid: number, timeoutMs: number): Promise<boolean>;
@@ -0,0 +1,7 @@
1
+ import { type ReplyListenerDaemonState } from "./reply-listener-state";
2
+ export declare function stopReplyListener(): Promise<{
3
+ success: boolean;
4
+ message: string;
5
+ state?: ReplyListenerDaemonState;
6
+ error?: string;
7
+ }>;
@@ -1,18 +1,5 @@
1
- import { logReplyListenerMessage } from "./reply-listener-log";
2
- import { type ReplyListenerDaemonState } from "./reply-listener-state";
3
- import type { OpenClawConfig } from "./types";
4
- export declare function isDaemonRunning(): Promise<boolean>;
5
- export declare function pollLoop(): Promise<void>;
6
- export declare function startReplyListener(config: OpenClawConfig): Promise<{
7
- success: boolean;
8
- message: string;
9
- state?: ReplyListenerDaemonState;
10
- error?: string;
11
- }>;
12
- export declare function stopReplyListener(): Promise<{
13
- success: boolean;
14
- message: string;
15
- state?: ReplyListenerDaemonState;
16
- error?: string;
17
- }>;
18
- export { logReplyListenerMessage };
1
+ export { logReplyListenerMessage } from "./reply-listener-log";
2
+ export { pollLoop } from "./reply-listener-poll-loop";
3
+ export { startReplyListener } from "./reply-listener-start";
4
+ export { isDaemonRunning } from "./reply-listener-status";
5
+ export { stopReplyListener } from "./reply-listener-stop";
@@ -0,0 +1,2 @@
1
+ export declare function withRegistryLockOrWait<T>(onLocked: () => T, onLockUnavailable: () => T): T;
2
+ export declare function withRegistryLock(onLocked: () => void, onLockUnavailable: () => void): void;
@@ -0,0 +1,9 @@
1
+ export declare const SECURE_FILE_MODE = 384;
2
+ export declare const MAX_AGE_MS: number;
3
+ export declare const LOCK_TIMEOUT_MS = 2000;
4
+ export declare const LOCK_WAIT_TIMEOUT_MS = 4000;
5
+ export declare const LOCK_RETRY_MS = 20;
6
+ export declare const LOCK_STALE_MS = 10000;
7
+ export declare function getOpenClawStorageDir(): string;
8
+ export declare function getRegistryPath(): string;
9
+ export declare function getRegistryLockPath(): string;
@@ -0,0 +1,4 @@
1
+ import type { SessionMapping } from "./session-registry-types";
2
+ export declare function ensureRegistryDir(): void;
3
+ export declare function readAllMappingsUnsafe(): SessionMapping[];
4
+ export declare function rewriteRegistryUnsafe(mappings: readonly SessionMapping[]): void;
@@ -0,0 +1,11 @@
1
+ export interface SessionMapping {
2
+ sessionId: string;
3
+ tmuxSession: string;
4
+ tmuxPaneId: string;
5
+ projectPath: string;
6
+ platform: string;
7
+ messageId: string;
8
+ channelId?: string;
9
+ threadId?: string;
10
+ createdAt: string;
11
+ }
@@ -1,14 +1,5 @@
1
- export interface SessionMapping {
2
- sessionId: string;
3
- tmuxSession: string;
4
- tmuxPaneId: string;
5
- projectPath: string;
6
- platform: string;
7
- messageId: string;
8
- channelId?: string;
9
- threadId?: string;
10
- createdAt: string;
11
- }
1
+ import type { SessionMapping } from "./session-registry-types";
2
+ export type { SessionMapping } from "./session-registry-types";
12
3
  export declare function registerMessage(mapping: SessionMapping): boolean;
13
4
  export declare function loadAllMappings(): SessionMapping[];
14
5
  export declare function lookupByMessageId(platform: string, messageId: string): SessionMapping | null;
@@ -0,0 +1,9 @@
1
+ import type { OhMyOpenCodeConfig } from "../../config";
2
+ import type { ChatMessageHooks, ChatMessageHandlerOutput, ChatMessageInput } from "./types";
3
+ export declare function handleRalphLoopMessage(args: {
4
+ readonly hooks: ChatMessageHooks;
5
+ readonly input: ChatMessageInput;
6
+ readonly output: ChatMessageHandlerOutput;
7
+ readonly isFirstMessage: boolean;
8
+ readonly pluginConfig: OhMyOpenCodeConfig;
9
+ }): void;
@@ -0,0 +1,12 @@
1
+ type TuiClient = {
2
+ readonly showToast: (input: {
3
+ readonly body: {
4
+ readonly title: string;
5
+ readonly message: string;
6
+ readonly variant: "warning";
7
+ readonly duration: number;
8
+ };
9
+ }) => Promise<unknown>;
10
+ };
11
+ export declare function notifyWhenModelCacheIsMissing(tui: TuiClient): void;
12
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { ChatMessagePart } from "./types";
2
+ export declare function extractPromptText(parts: readonly ChatMessagePart[]): string;
@@ -0,0 +1,4 @@
1
+ import type { OhMyOpenCodeConfig } from "../../config";
2
+ import type { ChatMessageHandlerOutput, ChatMessageInput, SessionModelOverride } from "./types";
3
+ export declare function getStoredMainSessionModel(input: ChatMessageInput, pluginConfig: OhMyOpenCodeConfig, isFirstMessage: boolean): SessionModelOverride | undefined;
4
+ export declare function recordSessionModel(input: ChatMessageInput, output: ChatMessageHandlerOutput): void;
@@ -0,0 +1,5 @@
1
+ import type { ChatMessageHooks, ChatMessageInput, ChatMessageHandlerOutput, StartWorkHookOutput, WorkStartingCommand } from "./types";
2
+ export declare function isStartWorkHookOutput(value: unknown): value is StartWorkHookOutput;
3
+ export declare function isStartWorkFallbackTemplate(promptText: string): boolean;
4
+ export declare function clearStoppedContinuationBeforeWorkStart(hooks: ChatMessageHooks, sessionID: string, command: WorkStartingCommand): void;
5
+ export declare function runStartWorkHookIfApplicable(hooks: ChatMessageHooks, input: ChatMessageInput, output: ChatMessageHandlerOutput): Promise<void>;
@@ -0,0 +1,67 @@
1
+ export type FirstMessageVariantGate = {
2
+ readonly shouldOverride: (sessionID: string) => boolean;
3
+ readonly markApplied: (sessionID: string) => void;
4
+ };
5
+ export type ChatMessagePart = {
6
+ readonly type: string;
7
+ readonly text?: string;
8
+ readonly [key: string]: unknown;
9
+ };
10
+ export type ChatMessageHandlerOutput = {
11
+ readonly message: Record<string, unknown>;
12
+ readonly parts: ChatMessagePart[];
13
+ };
14
+ export type ChatMessageInput = {
15
+ readonly sessionID: string;
16
+ readonly agent?: string;
17
+ readonly model?: {
18
+ readonly providerID: string;
19
+ readonly modelID: string;
20
+ };
21
+ };
22
+ export type StartWorkHookOutput = {
23
+ readonly parts: Array<{
24
+ readonly type: string;
25
+ readonly text?: string;
26
+ }>;
27
+ };
28
+ export type SessionModelOverride = {
29
+ readonly providerID: string;
30
+ readonly modelID: string;
31
+ };
32
+ export type WorkStartingCommand = "start-work" | "ralph-loop" | "ulw-loop";
33
+ type ChatMessageHook = {
34
+ "chat.message"?: (input: ChatMessageInput, output: ChatMessageHandlerOutput) => Promise<void>;
35
+ };
36
+ type StopContinuationGuard = {
37
+ "chat.message"?: (input: ChatMessageInput) => Promise<void>;
38
+ stop?: (sessionID: string) => void;
39
+ isStopped: (sessionID: string) => boolean;
40
+ clear: (sessionID: string) => void;
41
+ };
42
+ type RalphLoopHook = {
43
+ startLoop: (sessionID: string, prompt: string, options?: {
44
+ readonly ultrawork?: boolean;
45
+ readonly maxIterations?: number;
46
+ readonly completionPromise?: string;
47
+ readonly strategy?: "continue" | "reset";
48
+ }) => boolean | void;
49
+ resumeLoop?: (sessionID: string) => boolean;
50
+ cancelLoop: (sessionID: string) => boolean | void;
51
+ };
52
+ export type ChatMessageHooks = {
53
+ modelFallback?: ChatMessageHook | null;
54
+ stopContinuationGuard?: StopContinuationGuard | null;
55
+ backgroundNotificationHook?: ChatMessageHook | null;
56
+ runtimeFallback?: ChatMessageHook | null;
57
+ keywordDetector?: ChatMessageHook | null;
58
+ thinkMode?: ChatMessageHook | null;
59
+ claudeCodeHooks?: ChatMessageHook | null;
60
+ autoSlashCommand?: ChatMessageHook | null;
61
+ noSisyphusGpt?: ChatMessageHook | null;
62
+ noHephaestusNonGpt?: ChatMessageHook | null;
63
+ hephaestusAgentsMdInjector?: ChatMessageHook | null;
64
+ startWork?: ChatMessageHook | null;
65
+ ralphLoop?: RalphLoopHook | null;
66
+ };
67
+ export {};
@@ -1,31 +1,10 @@
1
1
  import type { OhMyOpenCodeConfig } from "../config";
2
- import type { CreatedHooks } from "../create-hooks";
3
2
  import type { PluginContext } from "./types";
4
- type FirstMessageVariantGate = {
5
- shouldOverride: (sessionID: string) => boolean;
6
- markApplied: (sessionID: string) => void;
7
- };
8
- type ChatMessagePart = {
9
- type: string;
10
- text?: string;
11
- [key: string]: unknown;
12
- };
13
- export type ChatMessageHandlerOutput = {
14
- message: Record<string, unknown>;
15
- parts: ChatMessagePart[];
16
- };
17
- export type ChatMessageInput = {
18
- sessionID: string;
19
- agent?: string;
20
- model?: {
21
- providerID: string;
22
- modelID: string;
23
- };
24
- };
3
+ import type { ChatMessageHandlerOutput, ChatMessageHooks, ChatMessageInput, FirstMessageVariantGate } from "./chat-message/types";
4
+ export type { ChatMessageHandlerOutput, ChatMessageInput } from "./chat-message/types";
25
5
  export declare function createChatMessageHandler(args: {
26
6
  ctx: PluginContext;
27
7
  pluginConfig: OhMyOpenCodeConfig;
28
8
  firstMessageVariantGate: FirstMessageVariantGate;
29
- hooks: CreatedHooks;
9
+ hooks: ChatMessageHooks;
30
10
  }): (input: ChatMessageInput, output: ChatMessageHandlerOutput) => Promise<void>;
31
- export {};
@@ -0,0 +1,14 @@
1
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
2
+ export declare function normalizeFallbackModelID(modelID: string): string;
3
+ export declare function extractErrorName(error: unknown): string | undefined;
4
+ export declare function extractErrorMessage(error: unknown): string;
5
+ export declare function extractProviderModelFromErrorMessage(message: string): {
6
+ providerID?: string;
7
+ modelID?: string;
8
+ };
9
+ export declare function resolveFallbackAgentName(params: {
10
+ currentAgent?: string;
11
+ sessionID: string;
12
+ mainSessionID?: string;
13
+ message: string;
14
+ }): string | undefined;
@@ -0,0 +1,5 @@
1
+ import type { CreatedHooks } from "../create-hooks";
2
+ import type { EventInput, EventHookRunner } from "./event-types";
3
+ export declare function getEventSessionID(input: EventInput): string | undefined;
4
+ export declare function createEventHookRunner(): EventHookRunner;
5
+ export declare function createEventHookDispatcher(hooks: CreatedHooks, runEventHookSafely: EventHookRunner): (input: EventInput) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ import type { ModelFallbackHook } from "../hooks/model-fallback/hook";
3
+ import type { PluginEventContext } from "./event-types";
4
+ export type FallbackContinuationContext = {
5
+ agentName?: string;
6
+ providerID?: string;
7
+ dedupeProviderID?: string;
8
+ modelID?: string;
9
+ };
10
+ type FallbackContinuationDedupeState = {
11
+ modelKeys: Set<string>;
12
+ providerModelKeys: Set<string>;
13
+ providerlessModelKeys: Set<string>;
14
+ };
15
+ export declare function applyUserConfiguredFallbackChain(modelFallback: Pick<ModelFallbackHook, "setSessionFallbackChain"> | null | undefined, sessionID: string, agentName: string, currentProviderID: string, pluginConfig: OhMyOpenCodeConfig): void;
16
+ export declare function createModelFallbackContinuationController(args: {
17
+ pluginConfig: OhMyOpenCodeConfig;
18
+ pluginContext: PluginEventContext;
19
+ lastKnownModelBySession: Map<string, {
20
+ providerID: string;
21
+ modelID: string;
22
+ }>;
23
+ continuationsInFlight: Set<string>;
24
+ lastDispatchedContinuationKeys: Map<string, FallbackContinuationDedupeState>;
25
+ }): {
26
+ autoContinueAfterFallback: (sessionID: string, source: string, fallbackContext?: FallbackContinuationContext) => Promise<void>;
27
+ resolveFallbackProviderID: (sessionID: string, providerHint?: string) => string;
28
+ shouldSkipFallbackContinuation: (sessionID: string, source: string, fallbackContext?: FallbackContinuationContext) => boolean;
29
+ };
30
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ import { type ModelFallbackHook } from "../hooks/model-fallback/hook";
3
+ import type { PluginEventContext } from "./event-types";
4
+ export declare function createModelFallbackEventHandler(args: {
5
+ pluginConfig: OhMyOpenCodeConfig;
6
+ pluginContext: PluginEventContext;
7
+ modelFallback: ModelFallbackHook | null | undefined;
8
+ isModelFallbackEnabled: boolean;
9
+ isRuntimeFallbackEnabled: boolean;
10
+ shouldAutoRetrySession: (sessionID: string) => boolean;
11
+ isSessionStopped: (sessionID: string) => boolean;
12
+ }): {
13
+ clearRetryDedupeAfterIdle: (sessionID: string) => void;
14
+ clearSession: (sessionID: string) => void;
15
+ handleAssistantMessageUpdated: (params: {
16
+ sessionID: string;
17
+ info: Record<string, unknown>;
18
+ agent?: string;
19
+ }) => Promise<boolean>;
20
+ handleSessionError: (params: {
21
+ sessionID: string;
22
+ errorMessage: string;
23
+ errorName?: string;
24
+ props?: Record<string, unknown>;
25
+ }) => Promise<void>;
26
+ handleSessionStatus: (params: {
27
+ sessionID: string;
28
+ status?: {
29
+ type?: string;
30
+ attempt?: number;
31
+ message?: string;
32
+ next?: number;
33
+ };
34
+ }) => Promise<boolean>;
35
+ setLastKnownModel: (sessionID: string, model: {
36
+ providerID: string;
37
+ modelID: string;
38
+ }) => void;
39
+ };
@@ -0,0 +1,49 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ import type { Managers } from "../create-managers";
3
+ import type { FirstMessageVariantGate, PluginEventContext } from "./event-types";
4
+ export declare const TMUX_ACTIVITY_EVENT_TYPES: ReadonlySet<string>;
5
+ export declare function isCompactionAgent(agent: string): boolean;
6
+ export declare function dispatchOpenClawSessionEvent(args: {
7
+ pluginConfig: OhMyOpenCodeConfig;
8
+ pluginContext: PluginEventContext;
9
+ managers: Managers;
10
+ rawEvent: string;
11
+ sessionID: string;
12
+ }): Promise<void>;
13
+ export declare function handleSessionCreatedEvent(args: {
14
+ event: {
15
+ type: string;
16
+ properties?: unknown;
17
+ };
18
+ props?: Record<string, unknown>;
19
+ tmuxIntegrationEnabled: boolean;
20
+ pluginConfig: OhMyOpenCodeConfig;
21
+ pluginContext: PluginEventContext;
22
+ managers: Managers;
23
+ firstMessageVariantGate: FirstMessageVariantGate;
24
+ }): Promise<void>;
25
+ export declare function handleSessionDeletedEvent(args: {
26
+ props?: Record<string, unknown>;
27
+ tmuxIntegrationEnabled: boolean;
28
+ pluginConfig: OhMyOpenCodeConfig;
29
+ pluginContext: PluginEventContext;
30
+ managers: Managers;
31
+ firstMessageVariantGate: FirstMessageVariantGate;
32
+ clearModelFallbackSession: (sessionID: string) => void;
33
+ clearUserAbortRecovery: (sessionID: string) => void;
34
+ }): Promise<void>;
35
+ export declare function handleMessageRemovedEvent(props?: Record<string, unknown>): void;
36
+ export declare function handleMessageUpdatedSessionState(args: {
37
+ props?: Record<string, unknown>;
38
+ noteSessionModel: (sessionID: string, model: {
39
+ providerID: string;
40
+ modelID: string;
41
+ }) => void;
42
+ clearUserAbortRecovery: (sessionID: string) => void;
43
+ noteAssistantError: (sessionID: string, error: unknown) => void;
44
+ }): {
45
+ info: Record<string, unknown> | undefined;
46
+ sessionID: string | undefined;
47
+ agent: string | undefined;
48
+ role: string | undefined;
49
+ };
@@ -0,0 +1,9 @@
1
+ import type { CreatedHooks } from "../create-hooks";
2
+ import type { PluginEventContext } from "./event-types";
3
+ export declare function handleRecoverableSessionError(args: {
4
+ hooks: CreatedHooks;
5
+ pluginContext: PluginEventContext;
6
+ sessionID?: string;
7
+ messageID?: string;
8
+ error: unknown;
9
+ }): Promise<boolean>;
@@ -0,0 +1,13 @@
1
+ import type { OhMyOpenCodeConfig } from "../config";
2
+ import type { Managers } from "../create-managers";
3
+ import type { PluginEventContext } from "./event-types";
4
+ export declare function createEventTeamHandlers(args: {
5
+ pluginConfig: OhMyOpenCodeConfig;
6
+ pluginContext: PluginEventContext;
7
+ managers: Managers;
8
+ }): {
9
+ teamIdleWakeHint: import("../hooks/team-session-events/team-idle-wake-hint").HookImpl | undefined;
10
+ teamLeadOrphanHandler: import("../hooks/team-session-events/team-lead-orphan-handler").HookImpl | undefined;
11
+ teamMemberErrorHandler: import("../hooks/team-session-events/team-member-error-handler").HookImpl | undefined;
12
+ teamMemberStatusHandler: import("../hooks/team-session-events/team-member-status-handler").HookImpl | undefined;
13
+ };
@@ -0,0 +1,78 @@
1
+ import type { Event } from "@opencode-ai/sdk";
2
+ import type { PluginContext } from "./types";
3
+ export type FirstMessageVariantGate = {
4
+ markSessionCreated: (sessionInfo: {
5
+ id?: string;
6
+ title?: string;
7
+ parentID?: string;
8
+ } | undefined) => void;
9
+ clear: (sessionID: string) => void;
10
+ };
11
+ export type EventInput = {
12
+ event: Event;
13
+ };
14
+ type InternalTextPart = {
15
+ type: "text";
16
+ text: string;
17
+ synthetic?: boolean;
18
+ metadata?: Record<string, unknown>;
19
+ };
20
+ type InternalPromptInput = {
21
+ path: {
22
+ id: string;
23
+ };
24
+ body: {
25
+ parts: InternalTextPart[];
26
+ agent?: string;
27
+ model?: {
28
+ providerID: string;
29
+ modelID: string;
30
+ };
31
+ variant?: string;
32
+ };
33
+ query: {
34
+ directory: string;
35
+ };
36
+ };
37
+ export type PluginEventContext = PluginContext & {
38
+ directory: string;
39
+ client: {
40
+ session: {
41
+ abort: (input: {
42
+ path: {
43
+ id: string;
44
+ };
45
+ }) => Promise<unknown>;
46
+ promptAsync?: (input: InternalPromptInput) => Promise<unknown>;
47
+ prompt: (input: InternalPromptInput) => Promise<unknown>;
48
+ summarize: {
49
+ (input: {
50
+ path: {
51
+ id: string;
52
+ };
53
+ body: {
54
+ providerID: string;
55
+ modelID: string;
56
+ auto?: boolean;
57
+ };
58
+ query: {
59
+ directory: string;
60
+ };
61
+ }): Promise<unknown>;
62
+ (input: {
63
+ path: {
64
+ id: string;
65
+ };
66
+ body: {
67
+ auto: boolean;
68
+ };
69
+ query: {
70
+ directory: string;
71
+ };
72
+ }): Promise<unknown>;
73
+ };
74
+ };
75
+ };
76
+ };
77
+ export type EventHookRunner = (hookName: string, handler: ((input: EventInput) => unknown | Promise<unknown>) | null | undefined, input: EventInput) => Promise<void>;
78
+ export {};
@@ -1,17 +1,9 @@
1
1
  import type { OhMyOpenCodeConfig } from "../config";
2
- import type { PluginContext } from "./types";
3
2
  import type { CreatedHooks } from "../create-hooks";
4
3
  import type { Managers } from "../create-managers";
5
- type FirstMessageVariantGate = {
6
- markSessionCreated: (sessionInfo: {
7
- id?: string;
8
- title?: string;
9
- parentID?: string;
10
- } | undefined) => void;
11
- clear: (sessionID: string) => void;
12
- };
13
- export declare function extractErrorMessage(error: unknown): string;
14
- type EventInput = Parameters<NonNullable<NonNullable<CreatedHooks["writeExistingFileGuard"]>["event"]>>[0];
4
+ import type { PluginContext } from "./types";
5
+ import type { EventInput, FirstMessageVariantGate } from "./event-types";
6
+ export { extractErrorMessage } from "./event-error-utils";
15
7
  export declare function createEventHandler(args: {
16
8
  ctx: PluginContext;
17
9
  pluginConfig: OhMyOpenCodeConfig;
@@ -19,4 +11,3 @@ export declare function createEventHandler(args: {
19
11
  managers: Managers;
20
12
  hooks: CreatedHooks;
21
13
  }): (input: EventInput) => Promise<void>;
22
- export {};
@@ -55,6 +55,7 @@ export declare function createCoreHooks(args: {
55
55
  sisyphusJuniorNotepad: ReturnType<typeof import("../../hooks").createSisyphusJuniorNotepadHook> | null;
56
56
  noSisyphusGpt: ReturnType<typeof import("../../hooks").createNoSisyphusGptHook> | null;
57
57
  noHephaestusNonGpt: ReturnType<typeof import("../../hooks").createNoHephaestusNonGptHook> | null;
58
+ hephaestusAgentsMdInjector: ReturnType<typeof import("../../hooks").createHephaestusAgentsMdInjectorHook> | null;
58
59
  questionLabelTruncator: ReturnType<typeof import("../../hooks").createQuestionLabelTruncatorHook> | null;
59
60
  taskResumeInfo: ReturnType<typeof import("../../hooks").createTaskResumeInfoHook> | null;
60
61
  anthropicEffort: ReturnType<typeof import("../../hooks/anthropic-effort").createAnthropicEffortHook> | null;
@@ -3,7 +3,7 @@ import type { BackgroundManager } from "../../features/background-agent";
3
3
  import type { ModelFallbackControllerAccessor } from "../../hooks/model-fallback";
4
4
  import type { ModelCacheState } from "../../plugin-state";
5
5
  import type { PluginContext } from "../types";
6
- import { createSessionRecoveryHook, createSessionNotification, createThinkModeHook, createModelFallbackHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createRalphLoopHook, createEditErrorRecoveryHook, createDelegateTaskRetryHook, createTaskResumeInfoHook, createStartWorkHook, createPrometheusMdOnlyHook, createSisyphusJuniorNotepadHook, createNoSisyphusGptHook, createNoHephaestusNonGptHook, createQuestionLabelTruncatorHook, createPreemptiveCompactionHook, createRuntimeFallbackHook, createLegacyPluginToastHook } from "../../hooks";
6
+ import { createSessionRecoveryHook, createSessionNotification, createThinkModeHook, createModelFallbackHook, createAnthropicContextWindowLimitRecoveryHook, createAutoUpdateCheckerHook, createAgentUsageReminderHook, createNonInteractiveEnvHook, createInteractiveBashSessionHook, createRalphLoopHook, createEditErrorRecoveryHook, createDelegateTaskRetryHook, createTaskResumeInfoHook, createStartWorkHook, createPrometheusMdOnlyHook, createSisyphusJuniorNotepadHook, createNoSisyphusGptHook, createNoHephaestusNonGptHook, createHephaestusAgentsMdInjectorHook, createQuestionLabelTruncatorHook, createPreemptiveCompactionHook, createRuntimeFallbackHook, createLegacyPluginToastHook } from "../../hooks";
7
7
  import { createAnthropicEffortHook } from "../../hooks/anthropic-effort";
8
8
  export type SessionHooks = {
9
9
  preemptiveCompaction: ReturnType<typeof createPreemptiveCompactionHook> | null;
@@ -24,6 +24,7 @@ export type SessionHooks = {
24
24
  sisyphusJuniorNotepad: ReturnType<typeof createSisyphusJuniorNotepadHook> | null;
25
25
  noSisyphusGpt: ReturnType<typeof createNoSisyphusGptHook> | null;
26
26
  noHephaestusNonGpt: ReturnType<typeof createNoHephaestusNonGptHook> | null;
27
+ hephaestusAgentsMdInjector: ReturnType<typeof createHephaestusAgentsMdInjectorHook> | null;
27
28
  questionLabelTruncator: ReturnType<typeof createQuestionLabelTruncatorHook> | null;
28
29
  taskResumeInfo: ReturnType<typeof createTaskResumeInfoHook> | null;
29
30
  anthropicEffort: ReturnType<typeof createAnthropicEffortHook> | null;
@@ -0,0 +1,8 @@
1
+ import type { PluginContext } from "../types";
2
+ export type ModelFallbackTitleInput = {
3
+ readonly sessionID: string;
4
+ readonly providerID: string;
5
+ readonly modelID: string;
6
+ readonly variant?: string;
7
+ };
8
+ export declare function createModelFallbackTitleUpdater(ctx: PluginContext): (input: ModelFallbackTitleInput) => Promise<void>;
@@ -12,6 +12,9 @@ export type CompactionAutocontinueOutput = {
12
12
  enabled: boolean;
13
13
  };
14
14
  export type CompactionAutocontinueHook = (input: CompactionAutocontinueInput, output: CompactionAutocontinueOutput) => Promise<void>;
15
+ type CompactionAutocontinueHandlerOptions = {
16
+ readonly duplicateGuardMs?: number;
17
+ };
15
18
  type CompactionHookDependencies = {
16
19
  compactionContextInjector?: {
17
20
  capture?: (sessionID: string) => Promise<void>;
@@ -27,5 +30,5 @@ type CompactionHookDependencies = {
27
30
  } | null;
28
31
  };
29
32
  export declare function createSessionCompactingHandler(hooks: CompactionHookDependencies): SessionCompactingHook;
30
- export declare function createCompactionAutocontinueHandler(hooks: CompactionHookDependencies): CompactionAutocontinueHook;
33
+ export declare function createCompactionAutocontinueHandler(hooks: CompactionHookDependencies, options?: CompactionAutocontinueHandlerOptions): CompactionAutocontinueHook;
31
34
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { DefaultModeConfig } from "../config/schema/default-mode";
2
- export declare function createSystemTransformHandler(defaultMode?: DefaultModeConfig, getUltraworkMessage?: (agentName?: string, modelID?: string) => string): (input: {
2
+ export declare function createSystemTransformHandler(defaultMode?: DefaultModeConfig, getUltraworkMessage?: (agentName?: string, modelID?: string) => string, env?: Readonly<Record<string, string | undefined>>): (input: {
3
3
  sessionID?: string;
4
4
  model: {
5
5
  id: string;
@@ -1,4 +1,5 @@
1
1
  import type { CreatedHooks } from "../create-hooks";
2
+ import { log as defaultLog } from "../shared/logger";
2
3
  import type { PluginContext } from "./types";
3
4
  type ToolExecuteAfterInput = {
4
5
  readonly tool: string;
@@ -16,5 +17,6 @@ type ToolExecuteAfterOutput = {
16
17
  export declare function createToolExecuteAfterHandler(args: {
17
18
  ctx: PluginContext;
18
19
  hooks: CreatedHooks;
20
+ log?: typeof defaultLog;
19
21
  }): (input: ToolExecuteAfterInput, output: ToolExecuteAfterOutput | undefined) => Promise<void>;
20
22
  export {};
@@ -0,0 +1,15 @@
1
+ import type { ToolDefinition } from "@opencode-ai/plugin";
2
+ import type { AvailableCategory } from "../agents/dynamic-agent-prompt-builder";
3
+ import type { OhMyOpenCodeConfig } from "../config";
4
+ import type { Managers } from "../create-managers";
5
+ import type { SkillContext } from "./skill-context";
6
+ import type { PluginContext } from "./types";
7
+ import type { ToolRegistryFactories } from "./tool-registry-factories";
8
+ export declare function createCoreTools(args: {
9
+ readonly ctx: PluginContext;
10
+ readonly pluginConfig: OhMyOpenCodeConfig;
11
+ readonly managers: Pick<Managers, "backgroundManager" | "tmuxSessionManager" | "skillMcpManager" | "modelFallbackControllerAccessor">;
12
+ readonly skillContext: SkillContext;
13
+ readonly availableCategories: AvailableCategory[];
14
+ readonly factories: ToolRegistryFactories;
15
+ }): Record<string, ToolDefinition>;