lazycodex-ai 5.1.45 → 5.1.46

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 (236) hide show
  1. package/README.de.md +0 -5
  2. package/README.es.md +0 -5
  3. package/README.fr.md +0 -5
  4. package/README.it.md +0 -5
  5. package/README.ja.md +0 -5
  6. package/README.ko.md +0 -5
  7. package/README.md +4 -5
  8. package/README.pt-br.md +0 -5
  9. package/README.ru.md +0 -6
  10. package/README.zh-cn.md +0 -5
  11. package/dist/cli/index.js +76 -156
  12. package/dist/cli-node/index.js +76 -156
  13. package/package.json +1 -1
  14. package/packages/lsp-daemon/dist/cli.js +3 -3
  15. package/packages/lsp-daemon/dist/client.js +3 -3
  16. package/packages/lsp-daemon/dist/index.js +3 -3
  17. package/packages/lsp-tools-mcp/dist/cli.js +3 -3
  18. package/packages/lsp-tools-mcp/dist/mcp.js +3 -3
  19. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  20. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +22 -12
  21. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  22. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  23. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  24. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  25. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  26. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  27. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  28. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  29. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  30. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  31. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  33. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  34. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  35. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  36. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  37. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  38. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  39. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  40. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  41. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  42. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  43. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  55. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  56. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  57. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  58. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  59. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  60. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  61. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  62. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  63. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  65. package/packages/omo-codex/plugin/package-lock.json +12 -12
  66. package/packages/omo-codex/plugin/package.json +1 -1
  67. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +8 -3
  68. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +0 -2
  69. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +1 -1
  70. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  71. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +2 -2
  72. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +1 -1
  73. package/packages/omo-codex/plugin/skills/ulw-research/AGENTS.md +14 -2
  74. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +36 -11
  75. package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +73 -13
  76. package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger-grammar.md +19 -1
  77. package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger.md +95 -0
  78. package/packages/omo-codex/plugin/skills/ulw-research/references/fidelity-claim-kinds.md +19 -0
  79. package/packages/omo-codex/plugin/skills/ulw-research/references/report-gates.md +21 -4
  80. package/packages/omo-codex/plugin/skills/ulw-research/references/report-visualization.md +2 -0
  81. package/packages/omo-codex/plugin/skills/ulw-research/references/unit-rules.md +157 -0
  82. package/packages/omo-codex/plugin/skills/ulw-research/scripts/claim-kinds.mjs +116 -0
  83. package/packages/omo-codex/plugin/skills/ulw-research/scripts/cli-support.mjs +19 -5
  84. package/packages/omo-codex/plugin/skills/ulw-research/scripts/contracts.mjs +27 -6
  85. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-meaning.mjs +191 -0
  86. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-verify.mjs +164 -0
  87. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands.mjs +239 -0
  88. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-derive.mjs +66 -0
  89. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-expr.mjs +108 -0
  90. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-fill.mjs +194 -0
  91. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-kinds.mjs +127 -13
  92. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-schema.mjs +33 -16
  93. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger.mjs +29 -9
  94. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-locate.mjs +231 -0
  95. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-pairs.mjs +187 -0
  96. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-recompute.mjs +89 -0
  97. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-binding.mjs +130 -0
  98. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-brief.mjs +5 -0
  99. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-claims.mjs +89 -0
  100. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-lexicon.mjs +145 -0
  101. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-records.mjs +163 -0
  102. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-state.mjs +2 -1
  103. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-trace.mjs +85 -0
  104. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-values.mjs +229 -0
  105. package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-fidelity.mjs +113 -0
  106. package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-static.mjs +28 -8
  107. package/packages/omo-codex/plugin/skills/ulw-research/scripts/html-lite.mjs +2 -2
  108. package/packages/omo-codex/plugin/skills/ulw-research/scripts/html-markup.mjs +182 -0
  109. package/packages/omo-codex/plugin/skills/ulw-research/scripts/md-lite.mjs +193 -0
  110. package/packages/omo-codex/plugin/skills/ulw-research/scripts/meaning-check.mjs +196 -0
  111. package/packages/omo-codex/plugin/skills/ulw-research/scripts/outcome.mjs +6 -5
  112. package/packages/omo-codex/plugin/skills/ulw-research/scripts/placeholder.mjs +184 -0
  113. package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-apply.mjs +115 -0
  114. package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-diff.mjs +31 -0
  115. package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-project.mjs +125 -0
  116. package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-rules.mjs +170 -0
  117. package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools-commands.mjs +19 -8
  118. package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools.mjs +15 -0
  119. package/packages/omo-codex/plugin/skills/ulw-research/scripts/source-commands.mjs +140 -0
  120. package/packages/omo-codex/plugin/skills/ulw-research/scripts/source-snapshot.mjs +176 -0
  121. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-algebra.mjs +101 -0
  122. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-errors.mjs +23 -0
  123. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-metadata.mjs +31 -0
  124. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-pairs.mjs +72 -0
  125. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-precision.mjs +44 -0
  126. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-rules-shapes.mjs +64 -0
  127. package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-rules.mjs +173 -0
  128. package/packages/omo-codex/plugin/skills/ulw-research/scripts/units.mjs +4 -4
  129. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +19 -0
  130. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +7 -3
  131. package/packages/omo-codex/scripts/install-dist/install-local.mjs +26 -16
  132. package/packages/shared-skills/skills/ast-grep/AGENTS.md +1 -1
  133. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  134. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +2 -2
  135. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +1 -1
  136. package/packages/shared-skills/skills/ulw-research/AGENTS.md +14 -2
  137. package/packages/shared-skills/skills/ulw-research/SKILL.md +37 -12
  138. package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +73 -13
  139. package/packages/shared-skills/skills/ulw-research/references/fact-ledger-grammar.md +19 -1
  140. package/packages/shared-skills/skills/ulw-research/references/fact-ledger.md +95 -0
  141. package/packages/shared-skills/skills/ulw-research/references/fidelity-claim-kinds.md +19 -0
  142. package/packages/shared-skills/skills/ulw-research/references/report-gates.md +21 -4
  143. package/packages/shared-skills/skills/ulw-research/references/report-visualization.md +2 -0
  144. package/packages/shared-skills/skills/ulw-research/references/unit-rules.md +157 -0
  145. package/packages/shared-skills/skills/ulw-research/scripts/claim-kinds.mjs +116 -0
  146. package/packages/shared-skills/skills/ulw-research/scripts/claim-kinds.test.ts +193 -0
  147. package/packages/shared-skills/skills/ulw-research/scripts/cli-support.mjs +19 -5
  148. package/packages/shared-skills/skills/ulw-research/scripts/cli-support.test.ts +13 -2
  149. package/packages/shared-skills/skills/ulw-research/scripts/contracts.mjs +27 -6
  150. package/packages/shared-skills/skills/ulw-research/scripts/contracts.test.ts +3 -0
  151. package/packages/shared-skills/skills/ulw-research/scripts/copy-returns.test.ts +183 -0
  152. package/packages/shared-skills/skills/ulw-research/scripts/delivery-barrier.test.ts +245 -0
  153. package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-meaning.mjs +191 -0
  154. package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-verify.mjs +164 -0
  155. package/packages/shared-skills/skills/ulw-research/scripts/fact-commands.mjs +239 -0
  156. package/packages/shared-skills/skills/ulw-research/scripts/fact-derive.mjs +66 -0
  157. package/packages/shared-skills/skills/ulw-research/scripts/fact-derive.test.ts +375 -0
  158. package/packages/shared-skills/skills/ulw-research/scripts/fact-expr.mjs +108 -0
  159. package/packages/shared-skills/skills/ulw-research/scripts/fact-fill.mjs +194 -0
  160. package/packages/shared-skills/skills/ulw-research/scripts/fact-fill.test.ts +221 -0
  161. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-grammar.test.ts +9 -2
  162. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.mjs +127 -13
  163. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +18 -3
  164. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-legacy.test.ts +160 -0
  165. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.mjs +33 -16
  166. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.mjs +29 -9
  167. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.test.ts +2 -0
  168. package/packages/shared-skills/skills/ulw-research/scripts/fact-locate.mjs +231 -0
  169. package/packages/shared-skills/skills/ulw-research/scripts/fact-locate.test.ts +118 -0
  170. package/packages/shared-skills/skills/ulw-research/scripts/fact-pairs.mjs +187 -0
  171. package/packages/shared-skills/skills/ulw-research/scripts/fact-pairs.test.ts +167 -0
  172. package/packages/shared-skills/skills/ulw-research/scripts/fact-recompute.mjs +89 -0
  173. package/packages/shared-skills/skills/ulw-research/scripts/fact-unit-dimensions.test.ts +409 -0
  174. package/packages/shared-skills/skills/ulw-research/scripts/fact-unit-rules.test.ts +388 -0
  175. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-binding.mjs +130 -0
  176. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-binding.test.ts +81 -0
  177. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.mjs +5 -0
  178. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-claims.mjs +89 -0
  179. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-lexicon.mjs +145 -0
  180. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-lexicon.test.ts +117 -0
  181. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-records.mjs +163 -0
  182. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.mjs +2 -1
  183. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-trace.mjs +85 -0
  184. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-trace.test.ts +58 -0
  185. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-values.mjs +229 -0
  186. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-values.test.ts +270 -0
  187. package/packages/shared-skills/skills/ulw-research/scripts/gates-fidelity.mjs +113 -0
  188. package/packages/shared-skills/skills/ulw-research/scripts/gates-fidelity.test.ts +73 -0
  189. package/packages/shared-skills/skills/ulw-research/scripts/gates-static.mjs +28 -8
  190. package/packages/shared-skills/skills/ulw-research/scripts/html-lite.mjs +2 -2
  191. package/packages/shared-skills/skills/ulw-research/scripts/html-markup.mjs +182 -0
  192. package/packages/shared-skills/skills/ulw-research/scripts/md-lite.mjs +193 -0
  193. package/packages/shared-skills/skills/ulw-research/scripts/md-lite.test.ts +271 -0
  194. package/packages/shared-skills/skills/ulw-research/scripts/meaning-check.mjs +196 -0
  195. package/packages/shared-skills/skills/ulw-research/scripts/meaning-check.test.ts +228 -0
  196. package/packages/shared-skills/skills/ulw-research/scripts/outcome.mjs +6 -5
  197. package/packages/shared-skills/skills/ulw-research/scripts/placeholder.mjs +184 -0
  198. package/packages/shared-skills/skills/ulw-research/scripts/placeholder.test.ts +77 -0
  199. package/packages/shared-skills/skills/ulw-research/scripts/polish-apply.mjs +115 -0
  200. package/packages/shared-skills/skills/ulw-research/scripts/polish-apply.test.ts +363 -0
  201. package/packages/shared-skills/skills/ulw-research/scripts/polish-diff.mjs +31 -0
  202. package/packages/shared-skills/skills/ulw-research/scripts/polish-diff.test.ts +168 -0
  203. package/packages/shared-skills/skills/ulw-research/scripts/polish-markup.test.ts +187 -0
  204. package/packages/shared-skills/skills/ulw-research/scripts/polish-project.mjs +125 -0
  205. package/packages/shared-skills/skills/ulw-research/scripts/polish-rules.mjs +170 -0
  206. package/packages/shared-skills/skills/ulw-research/scripts/report-tools-commands.mjs +19 -8
  207. package/packages/shared-skills/skills/ulw-research/scripts/report-tools.mjs +15 -0
  208. package/packages/shared-skills/skills/ulw-research/scripts/report-tools.test.ts +458 -2
  209. package/packages/shared-skills/skills/ulw-research/scripts/source-commands.mjs +140 -0
  210. package/packages/shared-skills/skills/ulw-research/scripts/source-snapshot.mjs +176 -0
  211. package/packages/shared-skills/skills/ulw-research/scripts/source-snapshot.test.ts +113 -0
  212. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/assets/share.csv +3 -0
  213. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/gen-legacy-dev.mjs +89 -0
  214. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-basic.json +223 -0
  215. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-legacy-dev.json +859 -0
  216. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-verify.json +420 -0
  217. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/report-bad.html +19 -0
  218. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/report-good.html +39 -0
  219. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/acronyms.json +3 -0
  220. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/meta.json +9 -0
  221. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/sentences.jsonl +7 -0
  222. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/text.txt +7 -0
  223. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4.html +19 -0
  224. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/acronyms.json +1 -0
  225. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/meta.json +9 -0
  226. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/sentences.jsonl +1 -0
  227. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/text.txt +1 -0
  228. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S9.txt +1 -0
  229. package/packages/shared-skills/skills/ulw-research/scripts/unit-algebra.mjs +101 -0
  230. package/packages/shared-skills/skills/ulw-research/scripts/unit-errors.mjs +23 -0
  231. package/packages/shared-skills/skills/ulw-research/scripts/unit-metadata.mjs +31 -0
  232. package/packages/shared-skills/skills/ulw-research/scripts/unit-pairs.mjs +72 -0
  233. package/packages/shared-skills/skills/ulw-research/scripts/unit-precision.mjs +44 -0
  234. package/packages/shared-skills/skills/ulw-research/scripts/unit-rules-shapes.mjs +64 -0
  235. package/packages/shared-skills/skills/ulw-research/scripts/unit-rules.mjs +173 -0
  236. package/packages/shared-skills/skills/ulw-research/scripts/units.mjs +4 -4
@@ -2133,7 +2133,7 @@ var package_default;
2133
2133
  var init_package = __esm(() => {
2134
2134
  package_default = {
2135
2135
  name: "oh-my-opencode",
2136
- version: "5.1.45",
2136
+ version: "5.1.46",
2137
2137
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2138
2138
  main: "./dist/index.js",
2139
2139
  types: "dist/index.d.ts",
@@ -2379,18 +2379,18 @@ var init_package = __esm(() => {
2379
2379
  typescript: "^7.0.2"
2380
2380
  },
2381
2381
  optionalDependencies: {
2382
- "oh-my-opencode-darwin-arm64": "5.1.45",
2383
- "oh-my-opencode-darwin-x64": "5.1.45",
2384
- "oh-my-opencode-darwin-x64-baseline": "5.1.45",
2385
- "oh-my-opencode-linux-arm64": "5.1.45",
2386
- "oh-my-opencode-linux-arm64-musl": "5.1.45",
2387
- "oh-my-opencode-linux-x64": "5.1.45",
2388
- "oh-my-opencode-linux-x64-baseline": "5.1.45",
2389
- "oh-my-opencode-linux-x64-musl": "5.1.45",
2390
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.45",
2391
- "oh-my-opencode-windows-arm64": "5.1.45",
2392
- "oh-my-opencode-windows-x64": "5.1.45",
2393
- "oh-my-opencode-windows-x64-baseline": "5.1.45"
2382
+ "oh-my-opencode-darwin-arm64": "5.1.46",
2383
+ "oh-my-opencode-darwin-x64": "5.1.46",
2384
+ "oh-my-opencode-darwin-x64-baseline": "5.1.46",
2385
+ "oh-my-opencode-linux-arm64": "5.1.46",
2386
+ "oh-my-opencode-linux-arm64-musl": "5.1.46",
2387
+ "oh-my-opencode-linux-x64": "5.1.46",
2388
+ "oh-my-opencode-linux-x64-baseline": "5.1.46",
2389
+ "oh-my-opencode-linux-x64-musl": "5.1.46",
2390
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.46",
2391
+ "oh-my-opencode-windows-arm64": "5.1.46",
2392
+ "oh-my-opencode-windows-x64": "5.1.46",
2393
+ "oh-my-opencode-windows-x64-baseline": "5.1.46"
2394
2394
  },
2395
2395
  overrides: {
2396
2396
  hono: "^4.13.8",
@@ -76982,6 +76982,7 @@ var init_memory = __esm(() => {
76982
76982
  merge: _enum(["auto", "integration"]).default("auto"),
76983
76983
  category: string2().min(1).default("quick"),
76984
76984
  timeout_minutes: number2().int().positive().default(15),
76985
+ max_concurrent_runs: number2().int().positive().default(1),
76985
76986
  sandbox: _enum(["auto", "required", "off"]).default("auto")
76986
76987
  }).strict();
76987
76988
  OmoMemorySyncSchema = object({
@@ -77053,6 +77054,7 @@ var init_memory = __esm(() => {
77053
77054
  merge: _enum(["auto", "integration"]).optional(),
77054
77055
  category: string2().min(1).optional(),
77055
77056
  timeout_minutes: number2().int().positive().optional(),
77057
+ max_concurrent_runs: number2().int().positive().optional(),
77056
77058
  sandbox: _enum(["auto", "required", "off"]).optional()
77057
77059
  }).strict();
77058
77060
  OmoMemorySyncLayerSchema = object({
@@ -77117,7 +77119,7 @@ var init_memory = __esm(() => {
77117
77119
  OmoMemoryAgentOverridesSchema = object({
77118
77120
  enabled: boolean2().optional(),
77119
77121
  agent: string2().min(1).optional(),
77120
- reflection: OmoMemoryReflectionLayerSchema.optional(),
77122
+ reflection: OmoMemoryReflectionLayerSchema.omit({ max_concurrent_runs: true }).optional(),
77121
77123
  nudge: OmoMemoryNudgeLayerSchema.optional(),
77122
77124
  facts: OmoMemoryFactsLayerSchema.optional(),
77123
77125
  dream: OmoMemoryDreamLayerSchema.optional(),
@@ -77142,6 +77144,7 @@ var init_memory = __esm(() => {
77142
77144
  merge: "auto",
77143
77145
  category: "quick",
77144
77146
  timeout_minutes: 15,
77147
+ max_concurrent_runs: 1,
77145
77148
  sandbox: "auto"
77146
77149
  }),
77147
77150
  nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
@@ -77516,13 +77519,6 @@ var init_format_on_mutation = __esm(() => {
77516
77519
  }).strict();
77517
77520
  });
77518
77521
 
77519
- // packages/omo-config-core/src/schema/dori.ts
77520
- var OmoDoriSectionSchema;
77521
- var init_dori = __esm(() => {
77522
- init_zod();
77523
- OmoDoriSectionSchema = record(string2(), unknown()).describe("Chat-surface dori settings, owned and validated by a separately installed dori package. omo accepts the key and never reads it.");
77524
- });
77525
-
77526
77522
  // packages/omo-config-core/src/schema/provenance.ts
77527
77523
  var OmoProvenanceSettingsSchema;
77528
77524
  var init_provenance = __esm(() => {
@@ -77552,7 +77548,6 @@ var init_config = __esm(() => {
77552
77548
  init_team();
77553
77549
  init_telemetry();
77554
77550
  init_format_on_mutation();
77555
- init_dori();
77556
77551
  init_provenance();
77557
77552
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
77558
77553
  OmoDisabledSkillsSchema = array(string2());
@@ -77560,7 +77555,6 @@ var init_config = __esm(() => {
77560
77555
  OmoTypedHarnessConfigSchema = object({
77561
77556
  provenance: OmoProvenanceSettingsSchema.optional(),
77562
77557
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77563
- dori: OmoDoriSectionSchema.optional(),
77564
77558
  categories: OmoCategoriesConfigSchema.optional(),
77565
77559
  agents: OmoAgentsConfigSchema.optional(),
77566
77560
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -77579,7 +77573,6 @@ var init_config = __esm(() => {
77579
77573
  OmoConfigProfileSchema = object({
77580
77574
  provenance: OmoProvenanceSettingsSchema.optional(),
77581
77575
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77582
- dori: OmoDoriSectionSchema.optional(),
77583
77576
  categories: OmoCategoriesConfigSchema.optional(),
77584
77577
  agents: OmoAgentsConfigSchema.optional(),
77585
77578
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -77602,7 +77595,6 @@ var init_config = __esm(() => {
77602
77595
  OmoConfigSchema = object({
77603
77596
  provenance: OmoProvenanceSettingsSchema.optional(),
77604
77597
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
77605
- dori: OmoDoriSectionSchema.optional(),
77606
77598
  $schema: string2().optional(),
77607
77599
  categories: OmoCategoriesConfigSchema.optional(),
77608
77600
  agents: OmoAgentsConfigSchema.optional(),
@@ -77629,7 +77621,6 @@ var init_config = __esm(() => {
77629
77621
  OmoConfigLayerSchema = object({
77630
77622
  provenance: OmoProvenanceSettingsSchema.optional(),
77631
77623
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77632
- dori: OmoDoriSectionSchema.optional(),
77633
77624
  $schema: string2().optional(),
77634
77625
  categories: OmoCategoriesConfigSchema.optional(),
77635
77626
  agents: OmoAgentsConfigSchema.optional(),
@@ -77771,54 +77762,6 @@ var init_legacy_harness_names = __esm(() => {
77771
77762
  init_harness();
77772
77763
  });
77773
77764
 
77774
- // packages/omo-config-core/src/schema/legacy-dori-section.ts
77775
- function isRecord11(value) {
77776
- return value !== null && typeof value === "object" && !Array.isArray(value);
77777
- }
77778
- function migrateLegacyDoriSection(document) {
77779
- if (!isRecord11(document))
77780
- return { document: {}, diagnostics: [] };
77781
- const diagnostics = [];
77782
- const rename = (container, path) => {
77783
- const result = { ...container };
77784
- if (Object.hasOwn(container, "gateway")) {
77785
- if (Object.hasOwn(container, "dori")) {
77786
- diagnostics.push(`${[...path, "gateway"].join(".")} removed: dori is already configured`);
77787
- } else {
77788
- result.dori = container.gateway;
77789
- diagnostics.push(`${[...path, "gateway"].join(".")} renamed to dori`);
77790
- }
77791
- delete result.gateway;
77792
- }
77793
- return result;
77794
- };
77795
- const layer = (container, path) => {
77796
- const result = rename(container, path);
77797
- for (const key of HARNESS_BLOCKS) {
77798
- const block = container[key];
77799
- if (isRecord11(block))
77800
- result[key] = rename(block, [...path, key]);
77801
- }
77802
- return result;
77803
- };
77804
- const result = layer(document, []);
77805
- if (isRecord11(document.profiles)) {
77806
- const profiles = {};
77807
- for (const [name, profile] of Object.entries(document.profiles)) {
77808
- profiles[name] = isRecord11(profile) ? layer(profile, ["profiles", name]) : profile;
77809
- }
77810
- result.profiles = profiles;
77811
- }
77812
- return { document: result, diagnostics };
77813
- }
77814
- function hasLegacyGatewaySection(document) {
77815
- return migrateLegacyDoriSection(document).diagnostics.length > 0;
77816
- }
77817
- var HARNESS_BLOCKS;
77818
- var init_legacy_dori_section = __esm(() => {
77819
- HARNESS_BLOCKS = ["[opencode]", "[native]", "[senpi]", "[codex]"];
77820
- });
77821
-
77822
77765
  // packages/omo-config-core/src/schema/index.ts
77823
77766
  var init_schema = __esm(() => {
77824
77767
  init_agent();
@@ -77826,12 +77769,10 @@ var init_schema = __esm(() => {
77826
77769
  init_config();
77827
77770
  init_fallback_models();
77828
77771
  init_format_on_mutation();
77829
- init_dori();
77830
77772
  init_git_master();
77831
77773
  init_harness();
77832
77774
  init_legacy_category_names();
77833
77775
  init_legacy_harness_names();
77834
- init_legacy_dori_section();
77835
77776
  init_memory();
77836
77777
  init_model_catalog();
77837
77778
  init_model_profile();
@@ -78102,6 +78043,7 @@ function pruneInvalidConfigPaths(config, issues, validate, maxPasses = MAX_PRUNE
78102
78043
  var MAX_PRUNE_PASSES = 32;
78103
78044
 
78104
78045
  // packages/omo-config-core/src/loader/layer-validation.ts
78046
+ import { createHash as createHash2 } from "node:crypto";
78105
78047
  function validationDiagnostic(path, issues) {
78106
78048
  const issuePaths = issues.map((issue) => issue.path.map((segment) => String(segment)).join("."));
78107
78049
  return {
@@ -78122,9 +78064,12 @@ function invalidValueDiagnostics(path, dropped) {
78122
78064
  function unrecognizedKeyIssues(issues) {
78123
78065
  return issues.flatMap((issue) => issue.code === "unrecognized_keys" ? [{ keys: issue.keys, path: issue.path.map((segment) => String(segment)) }] : []);
78124
78066
  }
78125
- function isRecord12(value) {
78067
+ function isRecord11(value) {
78126
78068
  return typeof value === "object" && value !== null && !Array.isArray(value);
78127
78069
  }
78070
+ function isRetiredSection(key) {
78071
+ return RETIRED_SECTION_DIGESTS.has(createHash2("sha256").update(key.toLowerCase()).digest("hex"));
78072
+ }
78128
78073
  function sanitizeUnsafeKeys(value, path = []) {
78129
78074
  if (Array.isArray(value)) {
78130
78075
  const issues = [];
@@ -78135,7 +78080,7 @@ function sanitizeUnsafeKeys(value, path = []) {
78135
78080
  });
78136
78081
  return { issues, value: sanitized };
78137
78082
  }
78138
- if (!isRecord12(value))
78083
+ if (!isRecord11(value))
78139
78084
  return { issues: [], value };
78140
78085
  const issues = [];
78141
78086
  if (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) {
@@ -78143,6 +78088,9 @@ function sanitizeUnsafeKeys(value, path = []) {
78143
78088
  }
78144
78089
  const sanitized = {};
78145
78090
  for (const [key, entry] of Object.entries(value)) {
78091
+ const isConfigContainer = path.length === 0 || path.length === 1 && HARNESS_BLOCKS.has(path[0] ?? "") || path.length === 2 && path[0] === "profiles" || path.length === 3 && path[0] === "profiles" && HARNESS_BLOCKS.has(path[2] ?? "");
78092
+ if (isConfigContainer && isRetiredSection(key))
78093
+ continue;
78146
78094
  if (isUnsafeObjectKey2(key)) {
78147
78095
  issues.push({ keys: [key], path });
78148
78096
  continue;
@@ -78161,13 +78109,13 @@ function containerAt(record, path) {
78161
78109
  if (!Number.isInteger(index) || index < 0 || index >= node.length)
78162
78110
  return null;
78163
78111
  node = node[index];
78164
- } else if (isRecord12(node) && Object.hasOwn(node, segment)) {
78112
+ } else if (isRecord11(node) && Object.hasOwn(node, segment)) {
78165
78113
  node = node[segment];
78166
78114
  } else {
78167
78115
  return null;
78168
78116
  }
78169
78117
  }
78170
- return isRecord12(node) ? node : null;
78118
+ return isRecord11(node) ? node : null;
78171
78119
  }
78172
78120
  function stripUnrecognizedKeys(record, issues) {
78173
78121
  const stripped = structuredClone(record);
@@ -78229,13 +78177,18 @@ function validateConfigLayer(path, data) {
78229
78177
  return rejected;
78230
78178
  return { loaded: true, diagnostics: [...diagnostics, ...invalidValueDiagnostics(path, pruned.dropped)], value: pruned.config };
78231
78179
  }
78232
- var validateLayerRecord = (record) => {
78180
+ var RETIRED_SECTION_DIGESTS, HARNESS_BLOCKS, validateLayerRecord = (record) => {
78233
78181
  const parsed = OmoConfigLayerSchema.safeParse(record);
78234
78182
  return parsed.success ? { success: true } : { success: false, issues: parsed.error.issues };
78235
78183
  };
78236
78184
  var init_layer_validation = __esm(() => {
78237
78185
  init_schema();
78238
78186
  init_merge();
78187
+ RETIRED_SECTION_DIGESTS = new Set([
78188
+ "447f75a8ebdbdb79a57f0b8cebbfba183820cf54a8119ac01449b30499e5ef0e",
78189
+ "4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889"
78190
+ ]);
78191
+ HARNESS_BLOCKS = new Set(["[opencode]", "[native]", "[senpi]", "[codex]"]);
78239
78192
  });
78240
78193
 
78241
78194
  // packages/omo-config-core/src/internal/posix-path.ts
@@ -81795,18 +81748,6 @@ function subscriptionProviderRenamePlan(targetPath) {
81795
81748
  transform: inspect
81796
81749
  };
81797
81750
  }
81798
- function doriSectionRenamePlan(targetPath, rename) {
81799
- const inspect = (sources) => rename.transform(sources[0]?.value);
81800
- return {
81801
- id: DORI_SECTION_RENAME_MIGRATION_ID,
81802
- inspect,
81803
- mode: "replace-target",
81804
- shouldRun: rename.shouldRun,
81805
- sources: [],
81806
- targetPath,
81807
- transform: inspect
81808
- };
81809
- }
81810
81751
  function existingOmoConfigPath(directory, options) {
81811
81752
  const fileSystem = discoveryFileSystem(options);
81812
81753
  for (const fileName of ["omo.jsonc", "omo.json"]) {
@@ -81868,7 +81809,6 @@ function createLegacyConfigMigrationPlans(options) {
81868
81809
  addReasoningTarget(plan.targetPath);
81869
81810
  const inPlaceTargets = [...reasoningTargets.values()];
81870
81811
  return [
81871
- ...inPlaceTargets.map((targetPath) => doriSectionRenamePlan(targetPath, options.doriSectionRename)),
81872
81812
  ...legacyPlans,
81873
81813
  ...inPlaceTargets.map(reasoningPlan),
81874
81814
  ...inPlaceTargets.map(categoryDeepSplitPlan),
@@ -81876,7 +81816,6 @@ function createLegacyConfigMigrationPlans(options) {
81876
81816
  ...inPlaceTargets.map(subscriptionProviderRenamePlan)
81877
81817
  ];
81878
81818
  }
81879
- var DORI_SECTION_RENAME_MIGRATION_ID = "2026-10-dori-section-rename";
81880
81819
  var init_migration_plans = __esm(() => {
81881
81820
  init_discovery2();
81882
81821
  init_discovery_paths2();
@@ -81903,16 +81842,6 @@ var init_config_migration = __esm(() => {
81903
81842
  init_reasoning_unification();
81904
81843
  });
81905
81844
 
81906
- // packages/omo-opencode/src/config-migration/dori-section-rename.ts
81907
- var doriSectionRename;
81908
- var init_dori_section_rename = __esm(() => {
81909
- init_src4();
81910
- doriSectionRename = {
81911
- shouldRun: hasLegacyGatewaySection,
81912
- transform: migrateLegacyDoriSection
81913
- };
81914
- });
81915
-
81916
81845
  // packages/omo-opencode/src/startup-migration.ts
81917
81846
  import { posix as posix5 } from "node:path";
81918
81847
  function homeDirectory(options) {
@@ -81952,7 +81881,6 @@ function runOpenCodeStartupMigration(options) {
81952
81881
  ...options.backupTimestamp === undefined ? {} : { backupTimestamp: options.backupTimestamp },
81953
81882
  cwd: options.cwd,
81954
81883
  ...options.discoveryFileSystem === undefined ? {} : { fileSystem: options.discoveryFileSystem },
81955
- doriSectionRename,
81956
81884
  environment: options.environment ?? process.env,
81957
81885
  homeDir,
81958
81886
  pathOperations: options.pathOperations ?? posix5,
@@ -81989,7 +81917,6 @@ function runOpenCodeStartupMigration(options) {
81989
81917
  var init_startup_migration = __esm(() => {
81990
81918
  init_src4();
81991
81919
  init_config_migration();
81992
- init_dori_section_rename();
81993
81920
  });
81994
81921
 
81995
81922
  // packages/omo-opencode/src/cli/config-manager/deep-merge-record.ts
@@ -82731,7 +82658,7 @@ function shouldRetainLine(line, cutoffMs) {
82731
82658
  function parseDiagnosticLine(line) {
82732
82659
  try {
82733
82660
  const parsed = JSON.parse(line);
82734
- if (!isRecord14(parsed)) {
82661
+ if (!isRecord13(parsed)) {
82735
82662
  return null;
82736
82663
  }
82737
82664
  return parsed;
@@ -82742,7 +82669,7 @@ function parseDiagnosticLine(line) {
82742
82669
  throw error;
82743
82670
  }
82744
82671
  }
82745
- function isRecord14(value) {
82672
+ function isRecord13(value) {
82746
82673
  return value !== null && typeof value === "object" && !Array.isArray(value);
82747
82674
  }
82748
82675
  function trimToMaxBytes(lines) {
@@ -82862,13 +82789,13 @@ var init_event_id = __esm(() => {
82862
82789
  });
82863
82790
 
82864
82791
  // packages/telemetry-core/src/machine-id.ts
82865
- import { createHash as createHash5 } from "node:crypto";
82792
+ import { createHash as createHash6 } from "node:crypto";
82866
82793
  import os4 from "node:os";
82867
82794
  function getDefaultTelemetryOsProvider() {
82868
82795
  return os4;
82869
82796
  }
82870
82797
  function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
82871
- return createHash5("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
82798
+ return createHash6("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
82872
82799
  }
82873
82800
  var init_machine_id = () => {};
82874
82801
 
@@ -90430,7 +90357,7 @@ function coerceBool(value) {
90430
90357
  function coerceString(value) {
90431
90358
  return typeof value == "string" ? value : undefined;
90432
90359
  }
90433
- function isRecord15(value) {
90360
+ function isRecord14(value) {
90434
90361
  return typeof value == "object" && value !== null && !Array.isArray(value);
90435
90362
  }
90436
90363
  function toRfc3339(timestamp) {
@@ -90452,7 +90379,7 @@ function relocateInto(properties, key, value) {
90452
90379
  properties[key] = value;
90453
90380
  }
90454
90381
  function buildV1Event(message) {
90455
- const sourceProperties = isRecord15(message.properties) ? message.properties : {};
90382
+ const sourceProperties = isRecord14(message.properties) ? message.properties : {};
90456
90383
  const properties = {
90457
90384
  ...sourceProperties
90458
90385
  };
@@ -92533,7 +92460,7 @@ var package_default2;
92533
92460
  var init_package2 = __esm(() => {
92534
92461
  package_default2 = {
92535
92462
  name: "@oh-my-opencode/omo-codex",
92536
- version: "5.1.45",
92463
+ version: "5.1.46",
92537
92464
  type: "module",
92538
92465
  private: true,
92539
92466
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -96703,10 +96630,10 @@ function readCatalogMultiAgentVersion(model, cachePath) {
96703
96630
  } catch {
96704
96631
  return null;
96705
96632
  }
96706
- if (!isRecord13(cache) || !Array.isArray(cache.models))
96633
+ if (!isRecord12(cache) || !Array.isArray(cache.models))
96707
96634
  return null;
96708
96635
  for (const entry of cache.models) {
96709
- if (!isRecord13(entry))
96636
+ if (!isRecord12(entry))
96710
96637
  continue;
96711
96638
  if (entry.slug !== model && entry.id !== model)
96712
96639
  continue;
@@ -96731,7 +96658,7 @@ function readRootModelCatalogPath(config) {
96731
96658
  const single = config.match(/^\s*model_catalog_json\s*=\s*'([^']+)'/m);
96732
96659
  return single?.[1] ?? null;
96733
96660
  }
96734
- function isRecord13(value) {
96661
+ function isRecord12(value) {
96735
96662
  return typeof value === "object" && value !== null && !Array.isArray(value);
96736
96663
  }
96737
96664
  function removeFeatureFlagSetting(config, featureName) {
@@ -96849,7 +96776,7 @@ function isMissingFileError(error) {
96849
96776
  }
96850
96777
 
96851
96778
  // packages/omo-codex/src/install/codex-hook-trust.ts
96852
- import { createHash as createHash2 } from "node:crypto";
96779
+ import { createHash as createHash3 } from "node:crypto";
96853
96780
  import { readFile as readFile12 } from "node:fs/promises";
96854
96781
  import { join as join38 } from "node:path";
96855
96782
  var EVENT_LABELS = new Map([
@@ -96941,7 +96868,7 @@ function commandHookHash(eventName, matcher, handler, command) {
96941
96868
  if (typeof matcher === "string")
96942
96869
  identity.matcher = matcher;
96943
96870
  const canonical = JSON.stringify(canonicalJson(identity));
96944
- return `sha256:${createHash2("sha256").update(canonical).digest("hex")}`;
96871
+ return `sha256:${createHash3("sha256").update(canonical).digest("hex")}`;
96945
96872
  }
96946
96873
  function canonicalJson(value) {
96947
96874
  if (Array.isArray(value))
@@ -97620,7 +97547,7 @@ function nodeErrorCode2(error) {
97620
97547
  }
97621
97548
 
97622
97549
  // packages/omo-codex/src/install/default-agent-role.ts
97623
- import { createHash as createHash3 } from "node:crypto";
97550
+ import { createHash as createHash4 } from "node:crypto";
97624
97551
  import { lstat as lstat9, readFile as readFile16, rm as rm10 } from "node:fs/promises";
97625
97552
  import { join as join43 } from "node:path";
97626
97553
  var REGISTRATION = { name: "default", configFile: "./agents/default.toml" };
@@ -97676,7 +97603,7 @@ async function readIfPresent(path) {
97676
97603
  }
97677
97604
  }
97678
97605
  function hash(content) {
97679
- return createHash3("sha256").update(content).digest("hex");
97606
+ return createHash4("sha256").update(content).digest("hex");
97680
97607
  }
97681
97608
 
97682
97609
  // packages/omo-codex/src/install/link-cached-plugin-agents.ts
@@ -98341,7 +98268,7 @@ function formatUnknownError(error) {
98341
98268
  }
98342
98269
 
98343
98270
  // packages/omo-codex/src/install/lsp-daemon-reaper.ts
98344
- import { createHash as createHash4 } from "node:crypto";
98271
+ import { createHash as createHash5 } from "node:crypto";
98345
98272
  import { lstat as lstat12, readFile as readFile22, readdir as readdir10, rm as rm12 } from "node:fs/promises";
98346
98273
  import { tmpdir as tmpdir3 } from "node:os";
98347
98274
  import { join as join48, posix as posix6 } from "node:path";
@@ -98619,7 +98546,7 @@ async function readRegularTrimmedFile(path) {
98619
98546
  return content.length > 0 ? content : null;
98620
98547
  }
98621
98548
  function shortDigest(value) {
98622
- return createHash4("sha256").update(value).digest("hex").slice(0, 16);
98549
+ return createHash5("sha256").update(value).digest("hex").slice(0, 16);
98623
98550
  }
98624
98551
  async function removeVersionDir(path) {
98625
98552
  await rm12(path, { recursive: true, force: true });
@@ -99690,7 +99617,7 @@ node "%~dp0omo" %*\r
99690
99617
  }
99691
99618
 
99692
99619
  // packages/omo-senpi/src/install/plugin-artifacts.ts
99693
- import { createHash as createHash6 } from "node:crypto";
99620
+ import { createHash as createHash7 } from "node:crypto";
99694
99621
  import { constants as constants9 } from "node:fs";
99695
99622
  import { access as access2, readFile as readFile29, stat as stat6 } from "node:fs/promises";
99696
99623
  import { dirname as dirname24, join as join63 } from "node:path";
@@ -99729,7 +99656,7 @@ async function readSettings(settingsPath) {
99729
99656
  throw error;
99730
99657
  }
99731
99658
  const parsed = JSON.parse(raw);
99732
- if (!isRecord16(parsed))
99659
+ if (!isRecord15(parsed))
99733
99660
  throw new Error(`${settingsPath} must contain a JSON object`);
99734
99661
  return parsed;
99735
99662
  }
@@ -99790,7 +99717,7 @@ async function nextBackupPath(settingsPath) {
99790
99717
  function timestampForBackup() {
99791
99718
  return new Date().toISOString().replace(/[-:.]/g, "");
99792
99719
  }
99793
- function isRecord16(value) {
99720
+ function isRecord15(value) {
99794
99721
  return typeof value === "object" && value !== null && !Array.isArray(value);
99795
99722
  }
99796
99723
  async function readPackageName(packagePath) {
@@ -99810,7 +99737,7 @@ async function readPackageName(packagePath) {
99810
99737
  return;
99811
99738
  throw error;
99812
99739
  }
99813
- return isRecord16(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
99740
+ return isRecord15(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
99814
99741
  }
99815
99742
  async function fileExists(path) {
99816
99743
  try {
@@ -99838,7 +99765,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
99838
99765
  join63("extensions", "omo-memory-commands.js"),
99839
99766
  join63("extensions", "omo-session-history.js"),
99840
99767
  join63("extensions", "omo-recall-store.js"),
99841
- join63("extensions", "omo-dori-migration.js"),
99842
99768
  join63("extensions", "omo-telemetry-posthog.js"),
99843
99769
  join63("extensions", "omo-memory-sync.js"),
99844
99770
  join63("extensions", "loro_wasm_bg.wasm"),
@@ -99935,7 +99861,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
99935
99861
  }
99936
99862
  let actualSha256;
99937
99863
  try {
99938
- actualSha256 = createHash6("sha256").update(await readFile29(runtimeEntry)).digest("hex");
99864
+ actualSha256 = createHash7("sha256").update(await readFile29(runtimeEntry)).digest("hex");
99939
99865
  } catch (error) {
99940
99866
  throw astGrepIntegrityError(runtimeEntry, `runtime hash could not be computed: ${messageOf(error)}`);
99941
99867
  }
@@ -99948,7 +99874,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
99948
99874
  }
99949
99875
  }
99950
99876
  function isAstGrepRuntimeManifest(value) {
99951
- if (!isRecord16(value))
99877
+ if (!isRecord15(value))
99952
99878
  return false;
99953
99879
  return typeof value.sha256 === "string" && /^[a-f0-9]{64}$/.test(value.sha256) && typeof value.mode === "number" && Number.isInteger(value.mode) && typeof value.stagedAtUtc === "string" && !Number.isNaN(Date.parse(value.stagedAtUtc));
99954
99880
  }
@@ -108046,13 +107972,11 @@ async function checkModels() {
108046
107972
 
108047
107973
  // packages/omo-opencode/src/cli/doctor/checks/legacy-config-leftovers.ts
108048
107974
  init_config_migration();
108049
- init_dori_section_rename();
108050
107975
  import { posix as posix12, win32 as win329 } from "node:path";
108051
107976
  function findLegacyConfigLeftovers(options) {
108052
107977
  const pathOperations = options.pathOperations ?? (process.platform === "win32" ? win329 : posix12);
108053
107978
  const paths = createLegacyConfigMigrationPlans({
108054
107979
  cwd: options.cwd,
108055
- doriSectionRename,
108056
107980
  environment: options.environment ?? process.env,
108057
107981
  homeDir: options.homeDir,
108058
107982
  pathOperations,
@@ -108251,14 +108175,14 @@ var CANONICAL_REPLACEMENT = new Map([
108251
108175
  var MIGRATE_SUFFIX = ", or run: oh-my-openagent config migrate";
108252
108176
  var TUNING_CONTAINERS = new Set(["agents", "categories", "models"]);
108253
108177
  var PASSTHROUGH_CONTAINERS = new Set(["provider_options", "providerOptions"]);
108254
- function isRecord17(value) {
108178
+ function isRecord16(value) {
108255
108179
  return value !== null && typeof value === "object" && !Array.isArray(value);
108256
108180
  }
108257
108181
  function isHarnessBlock(key) {
108258
108182
  return key.startsWith("[") && key.endsWith("]");
108259
108183
  }
108260
108184
  function collectIssues(configPath, value, prefix, fixSuffix) {
108261
- if (!isRecord17(value))
108185
+ if (!isRecord16(value))
108262
108186
  return [];
108263
108187
  const issues = [];
108264
108188
  for (const [key, child] of Object.entries(value)) {
@@ -108274,7 +108198,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
108274
108198
  });
108275
108199
  continue;
108276
108200
  }
108277
- if (!isRecord17(child))
108201
+ if (!isRecord16(child))
108278
108202
  continue;
108279
108203
  if (PASSTHROUGH_CONTAINERS.has(key))
108280
108204
  continue;
@@ -108293,7 +108217,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
108293
108217
  return issues;
108294
108218
  }
108295
108219
  function migrateFixSuffix(parsed) {
108296
- if (isRecord17(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
108220
+ if (isRecord16(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
108297
108221
  return "";
108298
108222
  return MIGRATE_SUFFIX;
108299
108223
  }
@@ -109158,10 +109082,6 @@ var package_default3 = {
109158
109082
  types: "./src/cli/service-auth/index.ts",
109159
109083
  import: "./src/cli/service-auth/index.ts"
109160
109084
  },
109161
- "./config-migration/dori-section-rename": {
109162
- types: "./src/config-migration/dori-section-rename.ts",
109163
- import: "./src/config-migration/dori-section-rename.ts"
109164
- },
109165
109085
  "./binary-downloader": {
109166
109086
  types: "./src/shared/binary-downloader.ts",
109167
109087
  import: "./src/shared/binary-downloader.ts"
@@ -109592,12 +109512,12 @@ async function auditBundleTargets(pluginRoot) {
109592
109512
  let referencedCount = 0;
109593
109513
  for (const manifestPath of await findManifestPaths(pluginRoot, ".mcp.json")) {
109594
109514
  const manifest = await readJson2(manifestPath);
109595
- if (manifest === null || !isRecord19(manifest["mcpServers"]))
109515
+ if (manifest === null || !isRecord18(manifest["mcpServers"]))
109596
109516
  continue;
109597
109517
  const manifestRoot = dirname39(manifestPath);
109598
109518
  const isRootManifest = resolve28(manifestRoot) === resolve28(pluginRoot);
109599
109519
  for (const server of Object.values(manifest["mcpServers"])) {
109600
- if (!isRecord19(server) || !Array.isArray(server["args"]))
109520
+ if (!isRecord18(server) || !Array.isArray(server["args"]))
109601
109521
  continue;
109602
109522
  for (const arg of server["args"]) {
109603
109523
  if (typeof arg !== "string" || !isPluginRuntimePathArg(arg))
@@ -109683,7 +109603,7 @@ function collectHookCommands(value, commands) {
109683
109603
  collectHookCommands(item, commands);
109684
109604
  return;
109685
109605
  }
109686
- if (!isRecord19(value))
109606
+ if (!isRecord18(value))
109687
109607
  return;
109688
109608
  if (value["type"] === "command") {
109689
109609
  if (typeof value["command"] === "string")
@@ -109738,7 +109658,7 @@ function parseDegradedEntries(value) {
109738
109658
  return [];
109739
109659
  const entries = [];
109740
109660
  for (const item of value) {
109741
- if (!isRecord19(item))
109661
+ if (!isRecord18(item))
109742
109662
  continue;
109743
109663
  if (typeof item["component"] !== "string" || typeof item["reason"] !== "string")
109744
109664
  continue;
@@ -109772,7 +109692,7 @@ function degradedDetailLines(entries) {
109772
109692
  async function readJson2(path) {
109773
109693
  try {
109774
109694
  const parsed = JSON.parse(await readFile31(path, "utf8"));
109775
- return isRecord19(parsed) ? parsed : null;
109695
+ return isRecord18(parsed) ? parsed : null;
109776
109696
  } catch (error) {
109777
109697
  if (error instanceof Error)
109778
109698
  return null;
@@ -109793,7 +109713,7 @@ function normalizeRelative(root, target) {
109793
109713
  function normalizePathSeparators(path) {
109794
109714
  return path.split("\\").join("/");
109795
109715
  }
109796
- function isRecord19(value) {
109716
+ function isRecord18(value) {
109797
109717
  return typeof value === "object" && value !== null && !Array.isArray(value);
109798
109718
  }
109799
109719
 
@@ -110338,7 +110258,7 @@ Doctor failed unexpectedly: ${message}`];
110338
110258
  init_commander();
110339
110259
 
110340
110260
  // packages/mcp-client-core/src/mcp-oauth/storage.ts
110341
- import { createHash as createHash7 } from "node:crypto";
110261
+ import { createHash as createHash8 } from "node:crypto";
110342
110262
  import {
110343
110263
  chmodSync as chmodSync5,
110344
110264
  existsSync as existsSync65,
@@ -110433,7 +110353,7 @@ function getMcpOauthStorageDir() {
110433
110353
  return join101(getOpenCodeCliConfigDir(), STORAGE_DIR_NAME);
110434
110354
  }
110435
110355
  function getMcpOauthServerHash(serverHost, resource) {
110436
- return createHash7("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
110356
+ return createHash8("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
110437
110357
  }
110438
110358
  function getMcpOauthStoragePath(serverHost, resource) {
110439
110359
  return join101(getMcpOauthStorageDir(), `${getMcpOauthServerHash(serverHost, resource)}.json`);
@@ -110807,13 +110727,13 @@ async function findAvailablePort2(startPort = DEFAULT_PORT) {
110807
110727
 
110808
110728
  // packages/mcp-client-core/src/mcp-oauth/oauth-authorization-flow.ts
110809
110729
  import { spawn as spawn4 } from "node:child_process";
110810
- import { createHash as createHash8, randomBytes as randomBytes2 } from "node:crypto";
110730
+ import { createHash as createHash9, randomBytes as randomBytes2 } from "node:crypto";
110811
110731
  import { createServer as createServer2 } from "node:http";
110812
110732
  function generateCodeVerifier() {
110813
110733
  return randomBytes2(32).toString("base64url");
110814
110734
  }
110815
110735
  function generateCodeChallenge(verifier) {
110816
- return createHash8("sha256").update(verifier).digest("base64url");
110736
+ return createHash9("sha256").update(verifier).digest("base64url");
110817
110737
  }
110818
110738
  function buildAuthorizationUrl(authorizationEndpoint, options) {
110819
110739
  const url = new URL(authorizationEndpoint);
@@ -112175,7 +112095,7 @@ async function loginDevice(session, options) {
112175
112095
  }
112176
112096
 
112177
112097
  // packages/omo-opencode/src/cli/service-auth/keystore.ts
112178
- import { createHash as createHash9 } from "node:crypto";
112098
+ import { createHash as createHash10 } from "node:crypto";
112179
112099
 
112180
112100
  // packages/omo-opencode/src/cli/service-auth/secret-service-lock.ts
112181
112101
  import { spawn as spawn5 } from "node:child_process";
@@ -112236,7 +112156,7 @@ var stderrNoticeOncePerProcess = (message) => {
112236
112156
  };
112237
112157
  var isLocked = (error) => error instanceof Error && (LOCKED.test(error.message) || LOCKED.test(String(error.code ?? "")));
112238
112158
  function credentialId(api) {
112239
- return createHash9("sha256").update(serviceOrigin(api)).digest("hex");
112159
+ return createHash10("sha256").update(serviceOrigin(api)).digest("hex");
112240
112160
  }
112241
112161
  function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
112242
112162
  if (!secrets)
@@ -112300,7 +112220,7 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
112300
112220
  }
112301
112221
 
112302
112222
  // packages/omo-opencode/src/cli/service-auth/loopback.ts
112303
- import { createHash as createHash10, randomBytes as randomBytes3, timingSafeEqual } from "node:crypto";
112223
+ import { createHash as createHash11, randomBytes as randomBytes3, timingSafeEqual } from "node:crypto";
112304
112224
  import { createServer as createServer3 } from "node:http";
112305
112225
  class BrowserUnavailable extends SignInError {
112306
112226
  }
@@ -112346,7 +112266,7 @@ async function authorize(options) {
112346
112266
  const url = new URL(serviceOrigin(options.accounts));
112347
112267
  url.search = new URLSearchParams({
112348
112268
  redirect_uri: `${origin}/callback`,
112349
- code_challenge: createHash10("sha256").update(verifier).digest("base64url"),
112269
+ code_challenge: createHash11("sha256").update(verifier).digest("base64url"),
112350
112270
  code_challenge_method: "S256",
112351
112271
  state
112352
112272
  }).toString();
@@ -112535,7 +112455,7 @@ async function publishLockRecord(lockPath, record) {
112535
112455
  }
112536
112456
 
112537
112457
  // packages/team-core/src/team-state-store/lock-reclaim.ts
112538
- import { createHash as createHash11 } from "node:crypto";
112458
+ import { createHash as createHash12 } from "node:crypto";
112539
112459
  import { unlink as unlink3 } from "node:fs/promises";
112540
112460
  var RECLAIM_UNLINK_ATTEMPTS = 3;
112541
112461
  var RECLAIM_UNLINK_RETRY_MS = 25;
@@ -112545,7 +112465,7 @@ function delay2(ms) {
112545
112465
  });
112546
112466
  }
112547
112467
  function reclaimGuardPath(lockPath, record) {
112548
- return `${lockPath}.reclaim-${createHash11("sha256").update(record).digest("hex").slice(0, 16)}`;
112468
+ return `${lockPath}.reclaim-${createHash12("sha256").update(record).digest("hex").slice(0, 16)}`;
112549
112469
  }
112550
112470
  async function unlinkWithRetry(path, deps) {
112551
112471
  const wait = deps.delay ?? delay2;