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
package/dist/cli/index.js CHANGED
@@ -2132,7 +2132,7 @@ var package_default;
2132
2132
  var init_package = __esm(() => {
2133
2133
  package_default = {
2134
2134
  name: "oh-my-opencode",
2135
- version: "5.1.45",
2135
+ version: "5.1.46",
2136
2136
  description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
2137
2137
  main: "./dist/index.js",
2138
2138
  types: "dist/index.d.ts",
@@ -2378,18 +2378,18 @@ var init_package = __esm(() => {
2378
2378
  typescript: "^7.0.2"
2379
2379
  },
2380
2380
  optionalDependencies: {
2381
- "oh-my-opencode-darwin-arm64": "5.1.45",
2382
- "oh-my-opencode-darwin-x64": "5.1.45",
2383
- "oh-my-opencode-darwin-x64-baseline": "5.1.45",
2384
- "oh-my-opencode-linux-arm64": "5.1.45",
2385
- "oh-my-opencode-linux-arm64-musl": "5.1.45",
2386
- "oh-my-opencode-linux-x64": "5.1.45",
2387
- "oh-my-opencode-linux-x64-baseline": "5.1.45",
2388
- "oh-my-opencode-linux-x64-musl": "5.1.45",
2389
- "oh-my-opencode-linux-x64-musl-baseline": "5.1.45",
2390
- "oh-my-opencode-windows-arm64": "5.1.45",
2391
- "oh-my-opencode-windows-x64": "5.1.45",
2392
- "oh-my-opencode-windows-x64-baseline": "5.1.45"
2381
+ "oh-my-opencode-darwin-arm64": "5.1.46",
2382
+ "oh-my-opencode-darwin-x64": "5.1.46",
2383
+ "oh-my-opencode-darwin-x64-baseline": "5.1.46",
2384
+ "oh-my-opencode-linux-arm64": "5.1.46",
2385
+ "oh-my-opencode-linux-arm64-musl": "5.1.46",
2386
+ "oh-my-opencode-linux-x64": "5.1.46",
2387
+ "oh-my-opencode-linux-x64-baseline": "5.1.46",
2388
+ "oh-my-opencode-linux-x64-musl": "5.1.46",
2389
+ "oh-my-opencode-linux-x64-musl-baseline": "5.1.46",
2390
+ "oh-my-opencode-windows-arm64": "5.1.46",
2391
+ "oh-my-opencode-windows-x64": "5.1.46",
2392
+ "oh-my-opencode-windows-x64-baseline": "5.1.46"
2393
2393
  },
2394
2394
  overrides: {
2395
2395
  hono: "^4.13.8",
@@ -76903,6 +76903,7 @@ var init_memory = __esm(() => {
76903
76903
  merge: _enum(["auto", "integration"]).default("auto"),
76904
76904
  category: string2().min(1).default("quick"),
76905
76905
  timeout_minutes: number2().int().positive().default(15),
76906
+ max_concurrent_runs: number2().int().positive().default(1),
76906
76907
  sandbox: _enum(["auto", "required", "off"]).default("auto")
76907
76908
  }).strict();
76908
76909
  OmoMemorySyncSchema = object({
@@ -76974,6 +76975,7 @@ var init_memory = __esm(() => {
76974
76975
  merge: _enum(["auto", "integration"]).optional(),
76975
76976
  category: string2().min(1).optional(),
76976
76977
  timeout_minutes: number2().int().positive().optional(),
76978
+ max_concurrent_runs: number2().int().positive().optional(),
76977
76979
  sandbox: _enum(["auto", "required", "off"]).optional()
76978
76980
  }).strict();
76979
76981
  OmoMemorySyncLayerSchema = object({
@@ -77038,7 +77040,7 @@ var init_memory = __esm(() => {
77038
77040
  OmoMemoryAgentOverridesSchema = object({
77039
77041
  enabled: boolean2().optional(),
77040
77042
  agent: string2().min(1).optional(),
77041
- reflection: OmoMemoryReflectionLayerSchema.optional(),
77043
+ reflection: OmoMemoryReflectionLayerSchema.omit({ max_concurrent_runs: true }).optional(),
77042
77044
  nudge: OmoMemoryNudgeLayerSchema.optional(),
77043
77045
  facts: OmoMemoryFactsLayerSchema.optional(),
77044
77046
  dream: OmoMemoryDreamLayerSchema.optional(),
@@ -77063,6 +77065,7 @@ var init_memory = __esm(() => {
77063
77065
  merge: "auto",
77064
77066
  category: "quick",
77065
77067
  timeout_minutes: 15,
77068
+ max_concurrent_runs: 1,
77066
77069
  sandbox: "auto"
77067
77070
  }),
77068
77071
  nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
@@ -77437,13 +77440,6 @@ var init_format_on_mutation = __esm(() => {
77437
77440
  }).strict();
77438
77441
  });
77439
77442
 
77440
- // packages/omo-config-core/src/schema/dori.ts
77441
- var OmoDoriSectionSchema;
77442
- var init_dori = __esm(() => {
77443
- init_zod();
77444
- 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.");
77445
- });
77446
-
77447
77443
  // packages/omo-config-core/src/schema/provenance.ts
77448
77444
  var OmoProvenanceSettingsSchema;
77449
77445
  var init_provenance = __esm(() => {
@@ -77473,7 +77469,6 @@ var init_config = __esm(() => {
77473
77469
  init_team();
77474
77470
  init_telemetry();
77475
77471
  init_format_on_mutation();
77476
- init_dori();
77477
77472
  init_provenance();
77478
77473
  OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
77479
77474
  OmoDisabledSkillsSchema = array(string2());
@@ -77481,7 +77476,6 @@ var init_config = __esm(() => {
77481
77476
  OmoTypedHarnessConfigSchema = object({
77482
77477
  provenance: OmoProvenanceSettingsSchema.optional(),
77483
77478
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77484
- dori: OmoDoriSectionSchema.optional(),
77485
77479
  categories: OmoCategoriesConfigSchema.optional(),
77486
77480
  agents: OmoAgentsConfigSchema.optional(),
77487
77481
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -77500,7 +77494,6 @@ var init_config = __esm(() => {
77500
77494
  OmoConfigProfileSchema = object({
77501
77495
  provenance: OmoProvenanceSettingsSchema.optional(),
77502
77496
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77503
- dori: OmoDoriSectionSchema.optional(),
77504
77497
  categories: OmoCategoriesConfigSchema.optional(),
77505
77498
  agents: OmoAgentsConfigSchema.optional(),
77506
77499
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -77523,7 +77516,6 @@ var init_config = __esm(() => {
77523
77516
  OmoConfigSchema = object({
77524
77517
  provenance: OmoProvenanceSettingsSchema.optional(),
77525
77518
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
77526
- dori: OmoDoriSectionSchema.optional(),
77527
77519
  $schema: string2().optional(),
77528
77520
  categories: OmoCategoriesConfigSchema.optional(),
77529
77521
  agents: OmoAgentsConfigSchema.optional(),
@@ -77550,7 +77542,6 @@ var init_config = __esm(() => {
77550
77542
  OmoConfigLayerSchema = object({
77551
77543
  provenance: OmoProvenanceSettingsSchema.optional(),
77552
77544
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
77553
- dori: OmoDoriSectionSchema.optional(),
77554
77545
  $schema: string2().optional(),
77555
77546
  categories: OmoCategoriesConfigSchema.optional(),
77556
77547
  agents: OmoAgentsConfigSchema.optional(),
@@ -77692,54 +77683,6 @@ var init_legacy_harness_names = __esm(() => {
77692
77683
  init_harness();
77693
77684
  });
77694
77685
 
77695
- // packages/omo-config-core/src/schema/legacy-dori-section.ts
77696
- function isRecord11(value) {
77697
- return value !== null && typeof value === "object" && !Array.isArray(value);
77698
- }
77699
- function migrateLegacyDoriSection(document) {
77700
- if (!isRecord11(document))
77701
- return { document: {}, diagnostics: [] };
77702
- const diagnostics = [];
77703
- const rename = (container, path) => {
77704
- const result = { ...container };
77705
- if (Object.hasOwn(container, "gateway")) {
77706
- if (Object.hasOwn(container, "dori")) {
77707
- diagnostics.push(`${[...path, "gateway"].join(".")} removed: dori is already configured`);
77708
- } else {
77709
- result.dori = container.gateway;
77710
- diagnostics.push(`${[...path, "gateway"].join(".")} renamed to dori`);
77711
- }
77712
- delete result.gateway;
77713
- }
77714
- return result;
77715
- };
77716
- const layer = (container, path) => {
77717
- const result = rename(container, path);
77718
- for (const key of HARNESS_BLOCKS) {
77719
- const block = container[key];
77720
- if (isRecord11(block))
77721
- result[key] = rename(block, [...path, key]);
77722
- }
77723
- return result;
77724
- };
77725
- const result = layer(document, []);
77726
- if (isRecord11(document.profiles)) {
77727
- const profiles = {};
77728
- for (const [name, profile] of Object.entries(document.profiles)) {
77729
- profiles[name] = isRecord11(profile) ? layer(profile, ["profiles", name]) : profile;
77730
- }
77731
- result.profiles = profiles;
77732
- }
77733
- return { document: result, diagnostics };
77734
- }
77735
- function hasLegacyGatewaySection(document) {
77736
- return migrateLegacyDoriSection(document).diagnostics.length > 0;
77737
- }
77738
- var HARNESS_BLOCKS;
77739
- var init_legacy_dori_section = __esm(() => {
77740
- HARNESS_BLOCKS = ["[opencode]", "[native]", "[senpi]", "[codex]"];
77741
- });
77742
-
77743
77686
  // packages/omo-config-core/src/schema/index.ts
77744
77687
  var init_schema = __esm(() => {
77745
77688
  init_agent();
@@ -77747,12 +77690,10 @@ var init_schema = __esm(() => {
77747
77690
  init_config();
77748
77691
  init_fallback_models();
77749
77692
  init_format_on_mutation();
77750
- init_dori();
77751
77693
  init_git_master();
77752
77694
  init_harness();
77753
77695
  init_legacy_category_names();
77754
77696
  init_legacy_harness_names();
77755
- init_legacy_dori_section();
77756
77697
  init_memory();
77757
77698
  init_model_catalog();
77758
77699
  init_model_profile();
@@ -78023,6 +77964,7 @@ function pruneInvalidConfigPaths(config, issues, validate, maxPasses = MAX_PRUNE
78023
77964
  var MAX_PRUNE_PASSES = 32;
78024
77965
 
78025
77966
  // packages/omo-config-core/src/loader/layer-validation.ts
77967
+ import { createHash as createHash2 } from "crypto";
78026
77968
  function validationDiagnostic(path, issues) {
78027
77969
  const issuePaths = issues.map((issue) => issue.path.map((segment) => String(segment)).join("."));
78028
77970
  return {
@@ -78043,9 +77985,12 @@ function invalidValueDiagnostics(path, dropped) {
78043
77985
  function unrecognizedKeyIssues(issues) {
78044
77986
  return issues.flatMap((issue) => issue.code === "unrecognized_keys" ? [{ keys: issue.keys, path: issue.path.map((segment) => String(segment)) }] : []);
78045
77987
  }
78046
- function isRecord12(value) {
77988
+ function isRecord11(value) {
78047
77989
  return typeof value === "object" && value !== null && !Array.isArray(value);
78048
77990
  }
77991
+ function isRetiredSection(key) {
77992
+ return RETIRED_SECTION_DIGESTS.has(createHash2("sha256").update(key.toLowerCase()).digest("hex"));
77993
+ }
78049
77994
  function sanitizeUnsafeKeys(value, path = []) {
78050
77995
  if (Array.isArray(value)) {
78051
77996
  const issues = [];
@@ -78056,7 +78001,7 @@ function sanitizeUnsafeKeys(value, path = []) {
78056
78001
  });
78057
78002
  return { issues, value: sanitized };
78058
78003
  }
78059
- if (!isRecord12(value))
78004
+ if (!isRecord11(value))
78060
78005
  return { issues: [], value };
78061
78006
  const issues = [];
78062
78007
  if (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) {
@@ -78064,6 +78009,9 @@ function sanitizeUnsafeKeys(value, path = []) {
78064
78009
  }
78065
78010
  const sanitized = {};
78066
78011
  for (const [key, entry] of Object.entries(value)) {
78012
+ 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] ?? "");
78013
+ if (isConfigContainer && isRetiredSection(key))
78014
+ continue;
78067
78015
  if (isUnsafeObjectKey2(key)) {
78068
78016
  issues.push({ keys: [key], path });
78069
78017
  continue;
@@ -78082,13 +78030,13 @@ function containerAt(record, path) {
78082
78030
  if (!Number.isInteger(index) || index < 0 || index >= node.length)
78083
78031
  return null;
78084
78032
  node = node[index];
78085
- } else if (isRecord12(node) && Object.hasOwn(node, segment)) {
78033
+ } else if (isRecord11(node) && Object.hasOwn(node, segment)) {
78086
78034
  node = node[segment];
78087
78035
  } else {
78088
78036
  return null;
78089
78037
  }
78090
78038
  }
78091
- return isRecord12(node) ? node : null;
78039
+ return isRecord11(node) ? node : null;
78092
78040
  }
78093
78041
  function stripUnrecognizedKeys(record, issues) {
78094
78042
  const stripped = structuredClone(record);
@@ -78150,13 +78098,18 @@ function validateConfigLayer(path, data) {
78150
78098
  return rejected;
78151
78099
  return { loaded: true, diagnostics: [...diagnostics, ...invalidValueDiagnostics(path, pruned.dropped)], value: pruned.config };
78152
78100
  }
78153
- var validateLayerRecord = (record) => {
78101
+ var RETIRED_SECTION_DIGESTS, HARNESS_BLOCKS, validateLayerRecord = (record) => {
78154
78102
  const parsed = OmoConfigLayerSchema.safeParse(record);
78155
78103
  return parsed.success ? { success: true } : { success: false, issues: parsed.error.issues };
78156
78104
  };
78157
78105
  var init_layer_validation = __esm(() => {
78158
78106
  init_schema();
78159
78107
  init_merge();
78108
+ RETIRED_SECTION_DIGESTS = new Set([
78109
+ "447f75a8ebdbdb79a57f0b8cebbfba183820cf54a8119ac01449b30499e5ef0e",
78110
+ "4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889"
78111
+ ]);
78112
+ HARNESS_BLOCKS = new Set(["[opencode]", "[native]", "[senpi]", "[codex]"]);
78160
78113
  });
78161
78114
 
78162
78115
  // packages/omo-config-core/src/internal/posix-path.ts
@@ -81716,18 +81669,6 @@ function subscriptionProviderRenamePlan(targetPath) {
81716
81669
  transform: inspect
81717
81670
  };
81718
81671
  }
81719
- function doriSectionRenamePlan(targetPath, rename) {
81720
- const inspect = (sources) => rename.transform(sources[0]?.value);
81721
- return {
81722
- id: DORI_SECTION_RENAME_MIGRATION_ID,
81723
- inspect,
81724
- mode: "replace-target",
81725
- shouldRun: rename.shouldRun,
81726
- sources: [],
81727
- targetPath,
81728
- transform: inspect
81729
- };
81730
- }
81731
81672
  function existingOmoConfigPath(directory, options) {
81732
81673
  const fileSystem = discoveryFileSystem(options);
81733
81674
  for (const fileName of ["omo.jsonc", "omo.json"]) {
@@ -81789,7 +81730,6 @@ function createLegacyConfigMigrationPlans(options) {
81789
81730
  addReasoningTarget(plan.targetPath);
81790
81731
  const inPlaceTargets = [...reasoningTargets.values()];
81791
81732
  return [
81792
- ...inPlaceTargets.map((targetPath) => doriSectionRenamePlan(targetPath, options.doriSectionRename)),
81793
81733
  ...legacyPlans,
81794
81734
  ...inPlaceTargets.map(reasoningPlan),
81795
81735
  ...inPlaceTargets.map(categoryDeepSplitPlan),
@@ -81797,7 +81737,6 @@ function createLegacyConfigMigrationPlans(options) {
81797
81737
  ...inPlaceTargets.map(subscriptionProviderRenamePlan)
81798
81738
  ];
81799
81739
  }
81800
- var DORI_SECTION_RENAME_MIGRATION_ID = "2026-10-dori-section-rename";
81801
81740
  var init_migration_plans = __esm(() => {
81802
81741
  init_discovery2();
81803
81742
  init_discovery_paths2();
@@ -81824,16 +81763,6 @@ var init_config_migration = __esm(() => {
81824
81763
  init_reasoning_unification();
81825
81764
  });
81826
81765
 
81827
- // packages/omo-opencode/src/config-migration/dori-section-rename.ts
81828
- var doriSectionRename;
81829
- var init_dori_section_rename = __esm(() => {
81830
- init_src4();
81831
- doriSectionRename = {
81832
- shouldRun: hasLegacyGatewaySection,
81833
- transform: migrateLegacyDoriSection
81834
- };
81835
- });
81836
-
81837
81766
  // packages/omo-opencode/src/startup-migration.ts
81838
81767
  import { posix as posix5 } from "path";
81839
81768
  function homeDirectory(options) {
@@ -81873,7 +81802,6 @@ function runOpenCodeStartupMigration(options) {
81873
81802
  ...options.backupTimestamp === undefined ? {} : { backupTimestamp: options.backupTimestamp },
81874
81803
  cwd: options.cwd,
81875
81804
  ...options.discoveryFileSystem === undefined ? {} : { fileSystem: options.discoveryFileSystem },
81876
- doriSectionRename,
81877
81805
  environment: options.environment ?? process.env,
81878
81806
  homeDir,
81879
81807
  pathOperations: options.pathOperations ?? posix5,
@@ -81910,7 +81838,6 @@ function runOpenCodeStartupMigration(options) {
81910
81838
  var init_startup_migration = __esm(() => {
81911
81839
  init_src4();
81912
81840
  init_config_migration();
81913
- init_dori_section_rename();
81914
81841
  });
81915
81842
 
81916
81843
  // packages/omo-opencode/src/cli/config-manager/deep-merge-record.ts
@@ -82652,7 +82579,7 @@ function shouldRetainLine(line, cutoffMs) {
82652
82579
  function parseDiagnosticLine(line) {
82653
82580
  try {
82654
82581
  const parsed = JSON.parse(line);
82655
- if (!isRecord14(parsed)) {
82582
+ if (!isRecord13(parsed)) {
82656
82583
  return null;
82657
82584
  }
82658
82585
  return parsed;
@@ -82663,7 +82590,7 @@ function parseDiagnosticLine(line) {
82663
82590
  throw error;
82664
82591
  }
82665
82592
  }
82666
- function isRecord14(value) {
82593
+ function isRecord13(value) {
82667
82594
  return value !== null && typeof value === "object" && !Array.isArray(value);
82668
82595
  }
82669
82596
  function trimToMaxBytes(lines) {
@@ -82783,13 +82710,13 @@ var init_event_id = __esm(() => {
82783
82710
  });
82784
82711
 
82785
82712
  // packages/telemetry-core/src/machine-id.ts
82786
- import { createHash as createHash5 } from "crypto";
82713
+ import { createHash as createHash6 } from "crypto";
82787
82714
  import os4 from "os";
82788
82715
  function getDefaultTelemetryOsProvider() {
82789
82716
  return os4;
82790
82717
  }
82791
82718
  function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
82792
- return createHash5("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
82719
+ return createHash6("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
82793
82720
  }
82794
82721
  var init_machine_id = () => {};
82795
82722
 
@@ -90351,7 +90278,7 @@ function coerceBool(value) {
90351
90278
  function coerceString(value) {
90352
90279
  return typeof value == "string" ? value : undefined;
90353
90280
  }
90354
- function isRecord15(value) {
90281
+ function isRecord14(value) {
90355
90282
  return typeof value == "object" && value !== null && !Array.isArray(value);
90356
90283
  }
90357
90284
  function toRfc3339(timestamp) {
@@ -90373,7 +90300,7 @@ function relocateInto(properties, key, value) {
90373
90300
  properties[key] = value;
90374
90301
  }
90375
90302
  function buildV1Event(message) {
90376
- const sourceProperties = isRecord15(message.properties) ? message.properties : {};
90303
+ const sourceProperties = isRecord14(message.properties) ? message.properties : {};
90377
90304
  const properties = {
90378
90305
  ...sourceProperties
90379
90306
  };
@@ -92454,7 +92381,7 @@ var package_default2;
92454
92381
  var init_package2 = __esm(() => {
92455
92382
  package_default2 = {
92456
92383
  name: "@oh-my-opencode/omo-codex",
92457
- version: "5.1.45",
92384
+ version: "5.1.46",
92458
92385
  type: "module",
92459
92386
  private: true,
92460
92387
  description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
@@ -96624,10 +96551,10 @@ function readCatalogMultiAgentVersion(model, cachePath) {
96624
96551
  } catch {
96625
96552
  return null;
96626
96553
  }
96627
- if (!isRecord13(cache) || !Array.isArray(cache.models))
96554
+ if (!isRecord12(cache) || !Array.isArray(cache.models))
96628
96555
  return null;
96629
96556
  for (const entry of cache.models) {
96630
- if (!isRecord13(entry))
96557
+ if (!isRecord12(entry))
96631
96558
  continue;
96632
96559
  if (entry.slug !== model && entry.id !== model)
96633
96560
  continue;
@@ -96652,7 +96579,7 @@ function readRootModelCatalogPath(config) {
96652
96579
  const single = config.match(/^\s*model_catalog_json\s*=\s*'([^']+)'/m);
96653
96580
  return single?.[1] ?? null;
96654
96581
  }
96655
- function isRecord13(value) {
96582
+ function isRecord12(value) {
96656
96583
  return typeof value === "object" && value !== null && !Array.isArray(value);
96657
96584
  }
96658
96585
  function removeFeatureFlagSetting(config, featureName) {
@@ -96770,7 +96697,7 @@ function isMissingFileError(error) {
96770
96697
  }
96771
96698
 
96772
96699
  // packages/omo-codex/src/install/codex-hook-trust.ts
96773
- import { createHash as createHash2 } from "crypto";
96700
+ import { createHash as createHash3 } from "crypto";
96774
96701
  import { readFile as readFile12 } from "fs/promises";
96775
96702
  import { join as join38 } from "path";
96776
96703
  var EVENT_LABELS = new Map([
@@ -96862,7 +96789,7 @@ function commandHookHash(eventName, matcher, handler, command) {
96862
96789
  if (typeof matcher === "string")
96863
96790
  identity.matcher = matcher;
96864
96791
  const canonical = JSON.stringify(canonicalJson(identity));
96865
- return `sha256:${createHash2("sha256").update(canonical).digest("hex")}`;
96792
+ return `sha256:${createHash3("sha256").update(canonical).digest("hex")}`;
96866
96793
  }
96867
96794
  function canonicalJson(value) {
96868
96795
  if (Array.isArray(value))
@@ -97541,7 +97468,7 @@ function nodeErrorCode2(error) {
97541
97468
  }
97542
97469
 
97543
97470
  // packages/omo-codex/src/install/default-agent-role.ts
97544
- import { createHash as createHash3 } from "crypto";
97471
+ import { createHash as createHash4 } from "crypto";
97545
97472
  import { lstat as lstat9, readFile as readFile16, rm as rm10 } from "fs/promises";
97546
97473
  import { join as join43 } from "path";
97547
97474
  var REGISTRATION = { name: "default", configFile: "./agents/default.toml" };
@@ -97597,7 +97524,7 @@ async function readIfPresent(path) {
97597
97524
  }
97598
97525
  }
97599
97526
  function hash(content) {
97600
- return createHash3("sha256").update(content).digest("hex");
97527
+ return createHash4("sha256").update(content).digest("hex");
97601
97528
  }
97602
97529
 
97603
97530
  // packages/omo-codex/src/install/link-cached-plugin-agents.ts
@@ -98262,7 +98189,7 @@ function formatUnknownError(error) {
98262
98189
  }
98263
98190
 
98264
98191
  // packages/omo-codex/src/install/lsp-daemon-reaper.ts
98265
- import { createHash as createHash4 } from "crypto";
98192
+ import { createHash as createHash5 } from "crypto";
98266
98193
  import { lstat as lstat12, readFile as readFile22, readdir as readdir10, rm as rm12 } from "fs/promises";
98267
98194
  import { tmpdir as tmpdir3 } from "os";
98268
98195
  import { join as join48, posix as posix6 } from "path";
@@ -98540,7 +98467,7 @@ async function readRegularTrimmedFile(path) {
98540
98467
  return content.length > 0 ? content : null;
98541
98468
  }
98542
98469
  function shortDigest(value) {
98543
- return createHash4("sha256").update(value).digest("hex").slice(0, 16);
98470
+ return createHash5("sha256").update(value).digest("hex").slice(0, 16);
98544
98471
  }
98545
98472
  async function removeVersionDir(path) {
98546
98473
  await rm12(path, { recursive: true, force: true });
@@ -99611,7 +99538,7 @@ node "%~dp0omo" %*\r
99611
99538
  }
99612
99539
 
99613
99540
  // packages/omo-senpi/src/install/plugin-artifacts.ts
99614
- import { createHash as createHash6 } from "crypto";
99541
+ import { createHash as createHash7 } from "crypto";
99615
99542
  import { constants as constants9 } from "fs";
99616
99543
  import { access as access2, readFile as readFile29, stat as stat6 } from "fs/promises";
99617
99544
  import { dirname as dirname24, join as join63 } from "path";
@@ -99650,7 +99577,7 @@ async function readSettings(settingsPath) {
99650
99577
  throw error;
99651
99578
  }
99652
99579
  const parsed = JSON.parse(raw);
99653
- if (!isRecord16(parsed))
99580
+ if (!isRecord15(parsed))
99654
99581
  throw new Error(`${settingsPath} must contain a JSON object`);
99655
99582
  return parsed;
99656
99583
  }
@@ -99711,7 +99638,7 @@ async function nextBackupPath(settingsPath) {
99711
99638
  function timestampForBackup() {
99712
99639
  return new Date().toISOString().replace(/[-:.]/g, "");
99713
99640
  }
99714
- function isRecord16(value) {
99641
+ function isRecord15(value) {
99715
99642
  return typeof value === "object" && value !== null && !Array.isArray(value);
99716
99643
  }
99717
99644
  async function readPackageName(packagePath) {
@@ -99731,7 +99658,7 @@ async function readPackageName(packagePath) {
99731
99658
  return;
99732
99659
  throw error;
99733
99660
  }
99734
- return isRecord16(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
99661
+ return isRecord15(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
99735
99662
  }
99736
99663
  async function fileExists(path) {
99737
99664
  try {
@@ -99759,7 +99686,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
99759
99686
  join63("extensions", "omo-memory-commands.js"),
99760
99687
  join63("extensions", "omo-session-history.js"),
99761
99688
  join63("extensions", "omo-recall-store.js"),
99762
- join63("extensions", "omo-dori-migration.js"),
99763
99689
  join63("extensions", "omo-telemetry-posthog.js"),
99764
99690
  join63("extensions", "omo-memory-sync.js"),
99765
99691
  join63("extensions", "loro_wasm_bg.wasm"),
@@ -99856,7 +99782,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
99856
99782
  }
99857
99783
  let actualSha256;
99858
99784
  try {
99859
- actualSha256 = createHash6("sha256").update(await readFile29(runtimeEntry)).digest("hex");
99785
+ actualSha256 = createHash7("sha256").update(await readFile29(runtimeEntry)).digest("hex");
99860
99786
  } catch (error) {
99861
99787
  throw astGrepIntegrityError(runtimeEntry, `runtime hash could not be computed: ${messageOf(error)}`);
99862
99788
  }
@@ -99869,7 +99795,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
99869
99795
  }
99870
99796
  }
99871
99797
  function isAstGrepRuntimeManifest(value) {
99872
- if (!isRecord16(value))
99798
+ if (!isRecord15(value))
99873
99799
  return false;
99874
99800
  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));
99875
99801
  }
@@ -107967,13 +107893,11 @@ async function checkModels() {
107967
107893
 
107968
107894
  // packages/omo-opencode/src/cli/doctor/checks/legacy-config-leftovers.ts
107969
107895
  init_config_migration();
107970
- init_dori_section_rename();
107971
107896
  import { posix as posix12, win32 as win329 } from "path";
107972
107897
  function findLegacyConfigLeftovers(options) {
107973
107898
  const pathOperations = options.pathOperations ?? (process.platform === "win32" ? win329 : posix12);
107974
107899
  const paths = createLegacyConfigMigrationPlans({
107975
107900
  cwd: options.cwd,
107976
- doriSectionRename,
107977
107901
  environment: options.environment ?? process.env,
107978
107902
  homeDir: options.homeDir,
107979
107903
  pathOperations,
@@ -108172,14 +108096,14 @@ var CANONICAL_REPLACEMENT = new Map([
108172
108096
  var MIGRATE_SUFFIX = ", or run: oh-my-openagent config migrate";
108173
108097
  var TUNING_CONTAINERS = new Set(["agents", "categories", "models"]);
108174
108098
  var PASSTHROUGH_CONTAINERS = new Set(["provider_options", "providerOptions"]);
108175
- function isRecord17(value) {
108099
+ function isRecord16(value) {
108176
108100
  return value !== null && typeof value === "object" && !Array.isArray(value);
108177
108101
  }
108178
108102
  function isHarnessBlock(key) {
108179
108103
  return key.startsWith("[") && key.endsWith("]");
108180
108104
  }
108181
108105
  function collectIssues(configPath, value, prefix, fixSuffix) {
108182
- if (!isRecord17(value))
108106
+ if (!isRecord16(value))
108183
108107
  return [];
108184
108108
  const issues = [];
108185
108109
  for (const [key, child] of Object.entries(value)) {
@@ -108195,7 +108119,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
108195
108119
  });
108196
108120
  continue;
108197
108121
  }
108198
- if (!isRecord17(child))
108122
+ if (!isRecord16(child))
108199
108123
  continue;
108200
108124
  if (PASSTHROUGH_CONTAINERS.has(key))
108201
108125
  continue;
@@ -108214,7 +108138,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
108214
108138
  return issues;
108215
108139
  }
108216
108140
  function migrateFixSuffix(parsed) {
108217
- if (isRecord17(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
108141
+ if (isRecord16(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
108218
108142
  return "";
108219
108143
  return MIGRATE_SUFFIX;
108220
108144
  }
@@ -109079,10 +109003,6 @@ var package_default3 = {
109079
109003
  types: "./src/cli/service-auth/index.ts",
109080
109004
  import: "./src/cli/service-auth/index.ts"
109081
109005
  },
109082
- "./config-migration/dori-section-rename": {
109083
- types: "./src/config-migration/dori-section-rename.ts",
109084
- import: "./src/config-migration/dori-section-rename.ts"
109085
- },
109086
109006
  "./binary-downloader": {
109087
109007
  types: "./src/shared/binary-downloader.ts",
109088
109008
  import: "./src/shared/binary-downloader.ts"
@@ -109513,12 +109433,12 @@ async function auditBundleTargets(pluginRoot) {
109513
109433
  let referencedCount = 0;
109514
109434
  for (const manifestPath of await findManifestPaths(pluginRoot, ".mcp.json")) {
109515
109435
  const manifest = await readJson2(manifestPath);
109516
- if (manifest === null || !isRecord19(manifest["mcpServers"]))
109436
+ if (manifest === null || !isRecord18(manifest["mcpServers"]))
109517
109437
  continue;
109518
109438
  const manifestRoot = dirname39(manifestPath);
109519
109439
  const isRootManifest = resolve28(manifestRoot) === resolve28(pluginRoot);
109520
109440
  for (const server of Object.values(manifest["mcpServers"])) {
109521
- if (!isRecord19(server) || !Array.isArray(server["args"]))
109441
+ if (!isRecord18(server) || !Array.isArray(server["args"]))
109522
109442
  continue;
109523
109443
  for (const arg of server["args"]) {
109524
109444
  if (typeof arg !== "string" || !isPluginRuntimePathArg(arg))
@@ -109604,7 +109524,7 @@ function collectHookCommands(value, commands) {
109604
109524
  collectHookCommands(item, commands);
109605
109525
  return;
109606
109526
  }
109607
- if (!isRecord19(value))
109527
+ if (!isRecord18(value))
109608
109528
  return;
109609
109529
  if (value["type"] === "command") {
109610
109530
  if (typeof value["command"] === "string")
@@ -109659,7 +109579,7 @@ function parseDegradedEntries(value) {
109659
109579
  return [];
109660
109580
  const entries = [];
109661
109581
  for (const item of value) {
109662
- if (!isRecord19(item))
109582
+ if (!isRecord18(item))
109663
109583
  continue;
109664
109584
  if (typeof item["component"] !== "string" || typeof item["reason"] !== "string")
109665
109585
  continue;
@@ -109693,7 +109613,7 @@ function degradedDetailLines(entries) {
109693
109613
  async function readJson2(path) {
109694
109614
  try {
109695
109615
  const parsed = JSON.parse(await readFile31(path, "utf8"));
109696
- return isRecord19(parsed) ? parsed : null;
109616
+ return isRecord18(parsed) ? parsed : null;
109697
109617
  } catch (error) {
109698
109618
  if (error instanceof Error)
109699
109619
  return null;
@@ -109714,7 +109634,7 @@ function normalizeRelative(root, target) {
109714
109634
  function normalizePathSeparators(path) {
109715
109635
  return path.split("\\").join("/");
109716
109636
  }
109717
- function isRecord19(value) {
109637
+ function isRecord18(value) {
109718
109638
  return typeof value === "object" && value !== null && !Array.isArray(value);
109719
109639
  }
109720
109640
 
@@ -110259,7 +110179,7 @@ Doctor failed unexpectedly: ${message}`];
110259
110179
  init_commander();
110260
110180
 
110261
110181
  // packages/mcp-client-core/src/mcp-oauth/storage.ts
110262
- import { createHash as createHash7 } from "crypto";
110182
+ import { createHash as createHash8 } from "crypto";
110263
110183
  import {
110264
110184
  chmodSync as chmodSync5,
110265
110185
  existsSync as existsSync65,
@@ -110354,7 +110274,7 @@ function getMcpOauthStorageDir() {
110354
110274
  return join101(getOpenCodeCliConfigDir(), STORAGE_DIR_NAME);
110355
110275
  }
110356
110276
  function getMcpOauthServerHash(serverHost, resource) {
110357
- return createHash7("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
110277
+ return createHash8("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
110358
110278
  }
110359
110279
  function getMcpOauthStoragePath(serverHost, resource) {
110360
110280
  return join101(getMcpOauthStorageDir(), `${getMcpOauthServerHash(serverHost, resource)}.json`);
@@ -110728,13 +110648,13 @@ async function findAvailablePort2(startPort = DEFAULT_PORT) {
110728
110648
 
110729
110649
  // packages/mcp-client-core/src/mcp-oauth/oauth-authorization-flow.ts
110730
110650
  import { spawn as spawn4 } from "child_process";
110731
- import { createHash as createHash8, randomBytes as randomBytes2 } from "crypto";
110651
+ import { createHash as createHash9, randomBytes as randomBytes2 } from "crypto";
110732
110652
  import { createServer as createServer2 } from "http";
110733
110653
  function generateCodeVerifier() {
110734
110654
  return randomBytes2(32).toString("base64url");
110735
110655
  }
110736
110656
  function generateCodeChallenge(verifier) {
110737
- return createHash8("sha256").update(verifier).digest("base64url");
110657
+ return createHash9("sha256").update(verifier).digest("base64url");
110738
110658
  }
110739
110659
  function buildAuthorizationUrl(authorizationEndpoint, options) {
110740
110660
  const url = new URL(authorizationEndpoint);
@@ -112096,7 +112016,7 @@ async function loginDevice(session, options) {
112096
112016
  }
112097
112017
 
112098
112018
  // packages/omo-opencode/src/cli/service-auth/keystore.ts
112099
- import { createHash as createHash9 } from "crypto";
112019
+ import { createHash as createHash10 } from "crypto";
112100
112020
 
112101
112021
  // packages/omo-opencode/src/cli/service-auth/secret-service-lock.ts
112102
112022
  import { spawn as spawn5 } from "child_process";
@@ -112157,7 +112077,7 @@ var stderrNoticeOncePerProcess = (message) => {
112157
112077
  };
112158
112078
  var isLocked = (error) => error instanceof Error && (LOCKED.test(error.message) || LOCKED.test(String(error.code ?? "")));
112159
112079
  function credentialId(api) {
112160
- return createHash9("sha256").update(serviceOrigin(api)).digest("hex");
112080
+ return createHash10("sha256").update(serviceOrigin(api)).digest("hex");
112161
112081
  }
112162
112082
  function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
112163
112083
  if (!secrets)
@@ -112221,7 +112141,7 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
112221
112141
  }
112222
112142
 
112223
112143
  // packages/omo-opencode/src/cli/service-auth/loopback.ts
112224
- import { createHash as createHash10, randomBytes as randomBytes3, timingSafeEqual } from "crypto";
112144
+ import { createHash as createHash11, randomBytes as randomBytes3, timingSafeEqual } from "crypto";
112225
112145
  import { createServer as createServer3 } from "http";
112226
112146
  class BrowserUnavailable extends SignInError {
112227
112147
  }
@@ -112267,7 +112187,7 @@ async function authorize(options) {
112267
112187
  const url = new URL(serviceOrigin(options.accounts));
112268
112188
  url.search = new URLSearchParams({
112269
112189
  redirect_uri: `${origin}/callback`,
112270
- code_challenge: createHash10("sha256").update(verifier).digest("base64url"),
112190
+ code_challenge: createHash11("sha256").update(verifier).digest("base64url"),
112271
112191
  code_challenge_method: "S256",
112272
112192
  state
112273
112193
  }).toString();
@@ -112456,7 +112376,7 @@ async function publishLockRecord(lockPath, record) {
112456
112376
  }
112457
112377
 
112458
112378
  // packages/team-core/src/team-state-store/lock-reclaim.ts
112459
- import { createHash as createHash11 } from "crypto";
112379
+ import { createHash as createHash12 } from "crypto";
112460
112380
  import { unlink as unlink3 } from "fs/promises";
112461
112381
  var RECLAIM_UNLINK_ATTEMPTS = 3;
112462
112382
  var RECLAIM_UNLINK_RETRY_MS = 25;
@@ -112466,7 +112386,7 @@ function delay2(ms) {
112466
112386
  });
112467
112387
  }
112468
112388
  function reclaimGuardPath(lockPath, record) {
112469
- return `${lockPath}.reclaim-${createHash11("sha256").update(record).digest("hex").slice(0, 16)}`;
112389
+ return `${lockPath}.reclaim-${createHash12("sha256").update(record).digest("hex").slice(0, 16)}`;
112470
112390
  }
112471
112391
  async function unlinkWithRetry(path, deps) {
112472
112392
  const wait = deps.delay ?? delay2;