lazycodex-ai 5.1.43 → 5.1.45

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 (273) hide show
  1. package/dist/cli/index.js +948 -416
  2. package/dist/cli/service-auth/keystore.d.ts +4 -2
  3. package/dist/cli-node/index.js +948 -416
  4. package/docs/reference/web-terminal-visual-qa.md +8 -0
  5. package/package.json +1 -1
  6. package/packages/lsp-daemon/dist/cli.js +4 -4
  7. package/packages/lsp-daemon/dist/client.js +4 -4
  8. package/packages/lsp-daemon/dist/index.js +4 -4
  9. package/packages/lsp-daemon/package.json +3 -3
  10. package/packages/lsp-tools-mcp/dist/cli.js +4 -4
  11. package/packages/lsp-tools-mcp/dist/mcp.js +4 -4
  12. package/packages/lsp-tools-mcp/dist/tools.js +4 -4
  13. package/packages/lsp-tools-mcp/package.json +3 -3
  14. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  15. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +62 -21
  16. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  17. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -1
  19. package/packages/omo-codex/plugin/components/comment-checker/biome.json +1 -21
  20. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  21. package/packages/omo-codex/plugin/components/comment-checker/package.json +4 -4
  22. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  23. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +1 -21
  25. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  26. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +4 -4
  27. package/packages/omo-codex/plugin/components/lsp/biome.json +1 -21
  28. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
  29. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +4 -4
  30. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  31. package/packages/omo-codex/plugin/components/lsp/package.json +4 -4
  32. package/packages/omo-codex/plugin/components/lsp/scripts/build-runtime.mjs +0 -1
  33. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-not-installed.test.ts +1 -1
  34. package/packages/omo-codex/plugin/components/rules/biome.json +1 -21
  35. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  36. package/packages/omo-codex/plugin/components/rules/package.json +4 -4
  37. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  38. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  39. package/packages/omo-codex/plugin/components/telemetry/biome.json +1 -21
  40. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +90 -1
  41. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +91 -1
  42. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  43. package/packages/omo-codex/plugin/components/telemetry/package.json +4 -4
  44. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +2 -2
  45. package/packages/omo-codex/plugin/components/ultrawork/biome.json +1 -21
  46. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  47. package/packages/omo-codex/plugin/components/ultrawork/package.json +4 -4
  48. package/packages/omo-codex/plugin/components/ulw-execute-continuation/biome.json +1 -21
  49. package/packages/omo-codex/plugin/components/ulw-execute-continuation/directive.md +1 -1
  50. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  51. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +4 -4
  52. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +1 -21
  53. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +1 -1
  54. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +7 -7
  55. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +5 -5
  56. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +1 -1
  57. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  58. package/packages/omo-codex/plugin/components/ulw-loop/package.json +4 -4
  59. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +1 -1
  60. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +5 -5
  61. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +1 -1
  62. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-mutations.mjs +2 -0
  63. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  64. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  65. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  66. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  67. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  68. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  69. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  70. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  71. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  74. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  76. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  77. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  78. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  79. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  80. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  84. package/packages/omo-codex/plugin/package-lock.json +12 -12
  85. package/packages/omo-codex/plugin/package.json +1 -1
  86. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +7 -7
  87. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +2 -0
  88. package/packages/omo-codex/plugin/skills/browser/SKILL.md +21 -22
  89. package/packages/omo-codex/plugin/skills/browser/references/commands.md +2 -9
  90. package/packages/omo-codex/plugin/skills/browser/references/install.md +1 -2
  91. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  92. package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +2 -2
  93. package/packages/omo-codex/plugin/skills/browser/scripts/browser-engine-guard.mjs +63 -487
  94. package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +1 -1
  95. package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +1 -10
  96. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +79 -118
  97. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +75 -224
  98. package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +32 -27
  99. package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -2
  100. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
  101. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
  102. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/collect-files.ts +53 -0
  103. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
  104. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
  105. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
  106. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
  107. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
  108. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
  109. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
  110. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
  111. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
  112. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
  113. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
  114. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
  115. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
  116. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
  117. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
  118. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
  119. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
  120. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
  121. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
  122. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
  123. package/packages/omo-codex/plugin/skills/programming/SKILL.md +10 -7
  124. package/packages/omo-codex/plugin/skills/programming/references/typescript/README.md +10 -7
  125. package/packages/omo-codex/plugin/skills/programming/references/typescript/bootstrap.md +9 -23
  126. package/packages/omo-codex/plugin/skills/programming/references/typescript/oxc-lint.md +130 -0
  127. package/packages/omo-codex/plugin/skills/programming/references/typescript/tsconfig-strict.md +6 -62
  128. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
  129. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/new-project.ts +20 -81
  130. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
  131. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
  132. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
  133. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
  134. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
  135. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
  136. package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
  137. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +14 -14
  138. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
  139. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +2 -2
  140. package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +2 -2
  141. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
  142. package/packages/omo-codex/plugin/skills/ulw-research/AGENTS.md +9 -3
  143. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +2 -2
  144. package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +7 -6
  145. package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger-grammar.md +116 -0
  146. package/packages/omo-codex/plugin/skills/ulw-research/references/report-gates.md +51 -3
  147. package/packages/omo-codex/plugin/skills/ulw-research/scripts/claims-index.mjs +125 -0
  148. package/packages/omo-codex/plugin/skills/ulw-research/scripts/contracts.mjs +68 -3
  149. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-kinds.mjs +136 -0
  150. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-schema.mjs +204 -0
  151. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger.mjs +103 -0
  152. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-brief.mjs +145 -0
  153. package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-state.mjs +63 -0
  154. package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-static.mjs +1 -1
  155. package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-structure.mjs +1 -1
  156. package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-text.mjs +1 -27
  157. package/packages/omo-codex/plugin/skills/ulw-research/scripts/lexicon.mjs +47 -0
  158. package/packages/omo-codex/plugin/skills/ulw-research/scripts/numerals.mjs +226 -0
  159. package/packages/omo-codex/plugin/skills/ulw-research/scripts/outcome.mjs +2 -3
  160. package/packages/omo-codex/plugin/skills/ulw-research/scripts/particles-ko.mjs +108 -0
  161. package/packages/omo-codex/plugin/skills/ulw-research/scripts/rational.mjs +139 -0
  162. package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools-commands.mjs +2 -2
  163. package/packages/omo-codex/plugin/skills/ulw-research/scripts/sentence-split.mjs +77 -0
  164. package/packages/omo-codex/plugin/skills/ulw-research/scripts/text-normalize.mjs +82 -0
  165. package/packages/omo-codex/plugin/skills/ulw-research/scripts/text-similarity.mjs +28 -0
  166. package/packages/omo-codex/plugin/skills/ulw-research/scripts/units.mjs +105 -0
  167. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +71 -64
  168. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +4 -1
  169. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +6 -6
  170. package/packages/omo-codex/scripts/install-dist/install-local.mjs +152 -23
  171. package/packages/shared-skills/skills/browser/SKILL.md +21 -22
  172. package/packages/shared-skills/skills/browser/references/commands.md +2 -9
  173. package/packages/shared-skills/skills/browser/references/install.md +1 -2
  174. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  175. package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +2 -2
  176. package/packages/shared-skills/skills/browser/scripts/browser-engine-guard.mjs +63 -487
  177. package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +1 -1
  178. package/packages/shared-skills/skills/browser/scripts/omowright.mjs +1 -10
  179. package/packages/shared-skills/skills/frontend/SKILL.md +79 -118
  180. package/packages/shared-skills/skills/frontend/references/design/README.md +75 -224
  181. package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +32 -27
  182. package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -2
  183. package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
  184. package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.test.ts +101 -0
  185. package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
  186. package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.test.ts +50 -0
  187. package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.ts +53 -0
  188. package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
  189. package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
  190. package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
  191. package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
  192. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
  193. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
  194. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
  195. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
  196. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
  197. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
  198. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
  199. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
  200. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
  201. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
  202. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
  203. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
  204. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
  205. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
  206. package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
  207. package/packages/shared-skills/skills/programming/SKILL.md +10 -7
  208. package/packages/shared-skills/skills/programming/references/typescript/README.md +10 -7
  209. package/packages/shared-skills/skills/programming/references/typescript/bootstrap.md +9 -23
  210. package/packages/shared-skills/skills/programming/references/typescript/oxc-lint.md +130 -0
  211. package/packages/shared-skills/skills/programming/references/typescript/tsconfig-strict.md +6 -62
  212. package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
  213. package/packages/shared-skills/skills/programming/scripts/typescript/new-project.test.ts +162 -0
  214. package/packages/shared-skills/skills/programming/scripts/typescript/new-project.ts +20 -81
  215. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
  216. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
  217. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
  218. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
  219. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
  220. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
  221. package/packages/shared-skills/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
  222. package/packages/shared-skills/skills/refactor/SKILL.md +13 -13
  223. package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
  224. package/packages/shared-skills/skills/ulw-research/AGENTS.md +9 -3
  225. package/packages/shared-skills/skills/ulw-research/SKILL.md +2 -2
  226. package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +7 -6
  227. package/packages/shared-skills/skills/ulw-research/references/fact-ledger-grammar.md +116 -0
  228. package/packages/shared-skills/skills/ulw-research/references/report-gates.md +51 -3
  229. package/packages/shared-skills/skills/ulw-research/scripts/claims-index.mjs +125 -0
  230. package/packages/shared-skills/skills/ulw-research/scripts/claims-index.test.ts +149 -0
  231. package/packages/shared-skills/skills/ulw-research/scripts/contracts.mjs +68 -3
  232. package/packages/shared-skills/skills/ulw-research/scripts/contracts.test.ts +97 -12
  233. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-grammar.test.ts +190 -0
  234. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.mjs +136 -0
  235. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +141 -0
  236. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.mjs +204 -0
  237. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.test.ts +43 -0
  238. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.mjs +103 -0
  239. package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.test.ts +252 -0
  240. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.mjs +145 -0
  241. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.test.ts +179 -0
  242. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.mjs +63 -0
  243. package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.test.ts +46 -0
  244. package/packages/shared-skills/skills/ulw-research/scripts/gates-context.test.ts +64 -0
  245. package/packages/shared-skills/skills/ulw-research/scripts/gates-static.mjs +1 -1
  246. package/packages/shared-skills/skills/ulw-research/scripts/gates-structure.mjs +1 -1
  247. package/packages/shared-skills/skills/ulw-research/scripts/gates-text.mjs +1 -27
  248. package/packages/shared-skills/skills/ulw-research/scripts/lexicon.mjs +47 -0
  249. package/packages/shared-skills/skills/ulw-research/scripts/lexicon.test.ts +57 -0
  250. package/packages/shared-skills/skills/ulw-research/scripts/numerals.mjs +226 -0
  251. package/packages/shared-skills/skills/ulw-research/scripts/numerals.test.ts +120 -0
  252. package/packages/shared-skills/skills/ulw-research/scripts/outcome.mjs +2 -3
  253. package/packages/shared-skills/skills/ulw-research/scripts/outcome.test.ts +29 -0
  254. package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.mjs +108 -0
  255. package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.test.ts +86 -0
  256. package/packages/shared-skills/skills/ulw-research/scripts/rational.mjs +139 -0
  257. package/packages/shared-skills/skills/ulw-research/scripts/rational.test.ts +46 -0
  258. package/packages/shared-skills/skills/ulw-research/scripts/report-tools-commands.mjs +2 -2
  259. package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.mjs +77 -0
  260. package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.test.ts +109 -0
  261. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/claim-graph.md +13 -0
  262. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-locked.md +17 -0
  263. package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-pending.md +17 -0
  264. package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.mjs +82 -0
  265. package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.test.ts +73 -0
  266. package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.mjs +28 -0
  267. package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.test.ts +38 -0
  268. package/packages/shared-skills/skills/ulw-research/scripts/units.mjs +105 -0
  269. package/packages/shared-skills/skills/ulw-research/scripts/units.test.ts +83 -0
  270. package/packages/shared-skills/skills/visual-qa/SKILL.md +70 -63
  271. package/packages/shared-skills/skills/visual-qa/scripts/skill-doc-fields.test.ts +34 -0
  272. package/script/qa/web-terminal-visual-qa.mjs +6 -2
  273. package/script/qa/xterm-live-terminal.mjs +26 -3
@@ -32,6 +32,14 @@ node script/qa/web-terminal-visual-qa.mjs --title "menu nav" --command "my-tui"
32
32
  --dwell-ms 2000 --evidence-dir .omo/evidence/run/menu
33
33
  ```
34
34
 
35
+ A TUI that takes a while to start can drop the first keystrokes. Put `{WaitFor:<text>}` before them: it polls the rendered xterm buffer until `<text>` appears, then continues. If the text never appears within `--wait-for-timeout-ms` (default 10000), the capture fails with an error that names the text and the timeout:
36
+
37
+ ```bash
38
+ node script/qa/web-terminal-visual-qa.mjs --title "mcp" --command "senpi" \
39
+ --input "{WaitFor:❯}" --input "/mcp" --input "{Enter}" --input "{WaitFor:MCP servers}" \
40
+ --evidence-dir .omo/evidence/run/mcp
41
+ ```
42
+
35
43
  ## Redaction Contract
36
44
 
37
45
  The helper redacts terminal content before writing `terminal.txt`, `terminal-ansi.txt`, and - when a rule matches - re-renders the masked stream so `terminal.png` never shows the secret. Built-in rules cover common authorization headers, token/password/key assignments, GitHub tokens, and OpenAI-style `sk-...` tokens.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "5.1.43",
3
+ "version": "5.1.45",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -4893,7 +4893,7 @@ function formatInstallOptions(serverId, installHint) {
4893
4893
  return ["To install, run:", ` ${installHint}`];
4894
4894
  }
4895
4895
  return [
4896
- "To install in THIS repository (preferred — no global install needed):",
4896
+ "To install in THIS repository (preferred, no global install needed):",
4897
4897
  ` ${localHint}`,
4898
4898
  "",
4899
4899
  "Or install it globally:",
@@ -4906,7 +4906,7 @@ function formatNotInstalled(result) {
4906
4906
  const decision = loadInstallDecision(server.id)?.decision;
4907
4907
  const context = lspRequestContext();
4908
4908
  if (decision === "declined") {
4909
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
4909
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
4910
4910
  }
4911
4911
  const header = [
4912
4912
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -4928,7 +4928,7 @@ function formatNotInstalled(result) {
4928
4928
  ...header,
4929
4929
  ...installOptions,
4930
4930
  "",
4931
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4931
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4932
4932
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
4933
4933
  ].join(`
4934
4934
  `);
@@ -4937,7 +4937,7 @@ function formatNotInstalled(result) {
4937
4937
  ...header,
4938
4938
  ...installOptions,
4939
4939
  "",
4940
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4940
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4941
4941
  "- If the user agrees: run the install command above, then retry this tool.",
4942
4942
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
4943
4943
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -5129,7 +5129,7 @@ function formatInstallOptions(serverId, installHint) {
5129
5129
  return ["To install, run:", ` ${installHint}`];
5130
5130
  }
5131
5131
  return [
5132
- "To install in THIS repository (preferred — no global install needed):",
5132
+ "To install in THIS repository (preferred, no global install needed):",
5133
5133
  ` ${localHint}`,
5134
5134
  "",
5135
5135
  "Or install it globally:",
@@ -5142,7 +5142,7 @@ function formatNotInstalled(result) {
5142
5142
  const decision = loadInstallDecision(server.id)?.decision;
5143
5143
  const context = lspRequestContext();
5144
5144
  if (decision === "declined") {
5145
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
5145
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
5146
5146
  }
5147
5147
  const header = [
5148
5148
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -5164,7 +5164,7 @@ function formatNotInstalled(result) {
5164
5164
  ...header,
5165
5165
  ...installOptions,
5166
5166
  "",
5167
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
5167
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
5168
5168
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
5169
5169
  ].join(`
5170
5170
  `);
@@ -5173,7 +5173,7 @@ function formatNotInstalled(result) {
5173
5173
  ...header,
5174
5174
  ...installOptions,
5175
5175
  "",
5176
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
5176
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
5177
5177
  "- If the user agrees: run the install command above, then retry this tool.",
5178
5178
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
5179
5179
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -5124,7 +5124,7 @@ function formatInstallOptions(serverId, installHint) {
5124
5124
  return ["To install, run:", ` ${installHint}`];
5125
5125
  }
5126
5126
  return [
5127
- "To install in THIS repository (preferred — no global install needed):",
5127
+ "To install in THIS repository (preferred, no global install needed):",
5128
5128
  ` ${localHint}`,
5129
5129
  "",
5130
5130
  "Or install it globally:",
@@ -5137,7 +5137,7 @@ function formatNotInstalled(result) {
5137
5137
  const decision = loadInstallDecision(server.id)?.decision;
5138
5138
  const context = lspRequestContext();
5139
5139
  if (decision === "declined") {
5140
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
5140
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
5141
5141
  }
5142
5142
  const header = [
5143
5143
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -5159,7 +5159,7 @@ function formatNotInstalled(result) {
5159
5159
  ...header,
5160
5160
  ...installOptions,
5161
5161
  "",
5162
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
5162
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
5163
5163
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
5164
5164
  ].join(`
5165
5165
  `);
@@ -5168,7 +5168,7 @@ function formatNotInstalled(result) {
5168
5168
  ...header,
5169
5169
  ...installOptions,
5170
5170
  "",
5171
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
5171
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
5172
5172
  "- If the user agrees: run the install command above, then retry this tool.",
5173
5173
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
5174
5174
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -30,9 +30,9 @@
30
30
  "test": "vitest --run",
31
31
  "test:watch": "vitest",
32
32
  "typecheck": "tsc --noEmit",
33
- "lint": "biome check .",
34
- "lint:fix": "biome check --write .",
35
- "check": "tsc --noEmit && biome check . && npm run build"
33
+ "lint": "biome format .",
34
+ "lint:fix": "biome format --write .",
35
+ "check": "tsc --noEmit && biome format . && npm run build"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@vitest/coverage-v8": "5.0.1",
@@ -4462,7 +4462,7 @@ function formatInstallOptions(serverId, installHint) {
4462
4462
  return ["To install, run:", ` ${installHint}`];
4463
4463
  }
4464
4464
  return [
4465
- "To install in THIS repository (preferred — no global install needed):",
4465
+ "To install in THIS repository (preferred, no global install needed):",
4466
4466
  ` ${localHint}`,
4467
4467
  "",
4468
4468
  "Or install it globally:",
@@ -4475,7 +4475,7 @@ function formatNotInstalled(result) {
4475
4475
  const decision = loadInstallDecision(server.id)?.decision;
4476
4476
  const context = lspRequestContext();
4477
4477
  if (decision === "declined") {
4478
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
4478
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
4479
4479
  }
4480
4480
  const header = [
4481
4481
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -4497,7 +4497,7 @@ function formatNotInstalled(result) {
4497
4497
  ...header,
4498
4498
  ...installOptions,
4499
4499
  "",
4500
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4500
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4501
4501
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
4502
4502
  ].join(`
4503
4503
  `);
@@ -4506,7 +4506,7 @@ function formatNotInstalled(result) {
4506
4506
  ...header,
4507
4507
  ...installOptions,
4508
4508
  "",
4509
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4509
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4510
4510
  "- If the user agrees: run the install command above, then retry this tool.",
4511
4511
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
4512
4512
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -4458,7 +4458,7 @@ function formatInstallOptions(serverId, installHint) {
4458
4458
  return ["To install, run:", ` ${installHint}`];
4459
4459
  }
4460
4460
  return [
4461
- "To install in THIS repository (preferred — no global install needed):",
4461
+ "To install in THIS repository (preferred, no global install needed):",
4462
4462
  ` ${localHint}`,
4463
4463
  "",
4464
4464
  "Or install it globally:",
@@ -4471,7 +4471,7 @@ function formatNotInstalled(result) {
4471
4471
  const decision = loadInstallDecision(server.id)?.decision;
4472
4472
  const context = lspRequestContext();
4473
4473
  if (decision === "declined") {
4474
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
4474
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
4475
4475
  }
4476
4476
  const header = [
4477
4477
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -4493,7 +4493,7 @@ function formatNotInstalled(result) {
4493
4493
  ...header,
4494
4494
  ...installOptions,
4495
4495
  "",
4496
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4496
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4497
4497
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
4498
4498
  ].join(`
4499
4499
  `);
@@ -4502,7 +4502,7 @@ function formatNotInstalled(result) {
4502
4502
  ...header,
4503
4503
  ...installOptions,
4504
4504
  "",
4505
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4505
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4506
4506
  "- If the user agrees: run the install command above, then retry this tool.",
4507
4507
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
4508
4508
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -4146,7 +4146,7 @@ function formatInstallOptions(serverId, installHint) {
4146
4146
  return ["To install, run:", ` ${installHint}`];
4147
4147
  }
4148
4148
  return [
4149
- "To install in THIS repository (preferred — no global install needed):",
4149
+ "To install in THIS repository (preferred, no global install needed):",
4150
4150
  ` ${localHint}`,
4151
4151
  "",
4152
4152
  "Or install it globally:",
@@ -4159,7 +4159,7 @@ function formatNotInstalled(result) {
4159
4159
  const decision = loadInstallDecision(server.id)?.decision;
4160
4160
  const context = lspRequestContext();
4161
4161
  if (decision === "declined") {
4162
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
4162
+ return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
4163
4163
  }
4164
4164
  const header = [
4165
4165
  `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
@@ -4181,7 +4181,7 @@ function formatNotInstalled(result) {
4181
4181
  ...header,
4182
4182
  ...installOptions,
4183
4183
  "",
4184
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4184
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4185
4185
  "Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
4186
4186
  ].join(`
4187
4187
  `);
@@ -4190,7 +4190,7 @@ function formatNotInstalled(result) {
4190
4190
  ...header,
4191
4191
  ...installOptions,
4192
4192
  "",
4193
- "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
4193
+ "ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
4194
4194
  "- If the user agrees: run the install command above, then retry this tool.",
4195
4195
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
4196
4196
  ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
@@ -36,9 +36,9 @@
36
36
  "test": "vitest --run",
37
37
  "test:watch": "vitest",
38
38
  "typecheck": "tsc --noEmit",
39
- "lint": "biome check .",
40
- "lint:fix": "biome check --write .",
41
- "check": "tsc --noEmit && biome check . && npm run build"
39
+ "lint": "biome format .",
40
+ "lint:fix": "biome format --write .",
41
+ "check": "tsc --noEmit && biome format . && npm run build"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@vitest/coverage-v8": "5.0.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "5.1.43",
3
+ "version": "5.1.45",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -7112,7 +7112,7 @@ var OmoGitMasterSettingsShape = {
7112
7112
  var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
7113
7113
  var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
7114
7114
  commit_footer: union([boolean2(), string2()]).default(false),
7115
- include_co_authored_by: boolean2().default(false),
7115
+ include_co_authored_by: boolean2().default(true),
7116
7116
  git_env_prefix: GitEnvPrefixSchema.default("GIT_MASTER=1")
7117
7117
  }).strict();
7118
7118
 
@@ -7172,6 +7172,14 @@ var OmoMemoryRecallSchema = object({
7172
7172
  tool_budget: number2().int().positive().default(8),
7173
7173
  query_expansion: boolean2().default(false)
7174
7174
  }).strict();
7175
+ var OmoMemoryProjectScopeSchema = object({
7176
+ nudge: boolean2().default(true),
7177
+ recall: boolean2().default(true)
7178
+ }).strict();
7179
+ var OmoMemoryProjectScopeLayerSchema = object({
7180
+ nudge: boolean2().optional(),
7181
+ recall: boolean2().optional()
7182
+ }).strict();
7175
7183
  var OmoMemoryNudgeSchema = object({
7176
7184
  enabled: boolean2().default(true),
7177
7185
  every_user_turns: number2().int().min(1).default(10)
@@ -7327,6 +7335,7 @@ var OmoMemorySettingsSchema = object({
7327
7335
  tool_budget: 8,
7328
7336
  query_expansion: false
7329
7337
  }),
7338
+ project_scope: OmoMemoryProjectScopeSchema.default({ nudge: true, recall: true }),
7330
7339
  projection: OmoMemoryProjectionSchema.default({ max_entries_per_directory: 40, max_bytes: 24576 }),
7331
7340
  compile_warn_tokens: number2().int().positive().default(30000),
7332
7341
  agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
@@ -7346,6 +7355,7 @@ var OmoMemorySettingsLayerSchema = object({
7346
7355
  sync: OmoMemorySyncLayerSchema.optional(),
7347
7356
  search: OmoMemorySearchLayerSchema.optional(),
7348
7357
  recall: OmoMemoryRecallLayerSchema.optional(),
7358
+ project_scope: OmoMemoryProjectScopeLayerSchema.optional(),
7349
7359
  projection: OmoMemoryProjectionLayerSchema.optional(),
7350
7360
  compile_warn_tokens: number2().int().positive().optional(),
7351
7361
  agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
@@ -7617,7 +7627,8 @@ var OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
7617
7627
 
7618
7628
  // ../../omo-config-core/src/schema/telemetry.ts
7619
7629
  var OmoTelemetrySettingsShape = {
7620
- enabled: boolean2()
7630
+ enabled: boolean2(),
7631
+ rawTurnSampleRate: number2().min(0).max(1)
7621
7632
  };
7622
7633
  var OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
7623
7634
  var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
@@ -7639,16 +7650,26 @@ var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
7639
7650
  timeoutMs: number2().int().positive().default(3000)
7640
7651
  }).strict();
7641
7652
 
7642
- // ../../omo-config-core/src/schema/gateway.ts
7643
- var OmoGatewaySectionSchema = record(string2(), unknown()).describe("Chat-surface gateway settings, owned and validated by a separately installed gateway package. omo accepts the key and never reads it.");
7653
+ // ../../omo-config-core/src/schema/dori.ts
7654
+ var 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.");
7655
+
7656
+ // ../../omo-config-core/src/schema/provenance.ts
7657
+ var OmoProvenanceSettingsSchema = object({
7658
+ workspaces: array(object({
7659
+ name: string2().trim().min(1).regex(/\S/),
7660
+ git_owners: array(string2().trim().min(1).regex(/\S/)).optional(),
7661
+ paths: array(string2().trim().min(1).regex(/\S/)).optional()
7662
+ }).strict()).optional()
7663
+ }).strict();
7644
7664
 
7645
7665
  // ../../omo-config-core/src/schema/config.ts
7646
7666
  var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
7647
7667
  var OmoDisabledSkillsSchema = array(string2());
7648
7668
  var OmoExcludedModelsSchema = array(string2());
7649
7669
  var OmoTypedHarnessConfigSchema = object({
7670
+ provenance: OmoProvenanceSettingsSchema.optional(),
7650
7671
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
7651
- gateway: OmoGatewaySectionSchema.optional(),
7672
+ dori: OmoDoriSectionSchema.optional(),
7652
7673
  categories: OmoCategoriesConfigSchema.optional(),
7653
7674
  agents: OmoAgentsConfigSchema.optional(),
7654
7675
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -7665,7 +7686,9 @@ var OmoTypedHarnessConfigSchema = object({
7665
7686
  exclude_models: OmoExcludedModelsSchema.optional()
7666
7687
  }).strict();
7667
7688
  var OmoConfigProfileSchema = object({
7689
+ provenance: OmoProvenanceSettingsSchema.optional(),
7668
7690
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
7691
+ dori: OmoDoriSectionSchema.optional(),
7669
7692
  categories: OmoCategoriesConfigSchema.optional(),
7670
7693
  agents: OmoAgentsConfigSchema.optional(),
7671
7694
  git_master: OmoGitMasterSettingsLayerSchema.optional(),
@@ -7686,8 +7709,9 @@ var OmoConfigProfileSchema = object({
7686
7709
  "[codex]": OmoTypedHarnessConfigSchema.optional()
7687
7710
  }).strict();
7688
7711
  var OmoConfigSchema = object({
7712
+ provenance: OmoProvenanceSettingsSchema.optional(),
7689
7713
  formatOnMutation: OmoFormatOnMutationSchema.optional(),
7690
- gateway: OmoGatewaySectionSchema.optional(),
7714
+ dori: OmoDoriSectionSchema.optional(),
7691
7715
  $schema: string2().optional(),
7692
7716
  categories: OmoCategoriesConfigSchema.optional(),
7693
7717
  agents: OmoAgentsConfigSchema.optional(),
@@ -7712,8 +7736,9 @@ var OmoConfigSchema = object({
7712
7736
  legacy_migrations: record(string2(), unknown()).optional()
7713
7737
  }).strict();
7714
7738
  var OmoConfigLayerSchema = object({
7739
+ provenance: OmoProvenanceSettingsSchema.optional(),
7715
7740
  formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
7716
- gateway: OmoGatewaySectionSchema.optional(),
7741
+ dori: OmoDoriSectionSchema.optional(),
7717
7742
  $schema: string2().optional(),
7718
7743
  categories: OmoCategoriesConfigSchema.optional(),
7719
7744
  agents: OmoAgentsConfigSchema.optional(),
@@ -9961,6 +9986,22 @@ function stripTomlLineComment(line) {
9961
9986
  return line;
9962
9987
  }
9963
9988
 
9989
+ // ../../model-core/src/latest-models.ts
9990
+ var LATEST_MODEL_BY_FAMILY = {
9991
+ claudeOpus: "claude-opus-5-5",
9992
+ claudeSonnet: "claude-sonnet-5-5",
9993
+ claudeHaiku: "claude-haiku-5-5",
9994
+ claudeFable: "claude-fable-5-1",
9995
+ gptAstra: "gpt-6-astra",
9996
+ gptSol: "gpt-6.1-sol",
9997
+ gptSolFast: "gpt-6.1-sol-fast",
9998
+ gptLunaFast: "gpt-6-luna-fast",
9999
+ glm: "glm-5.3",
10000
+ glmFlash: "glm-5.3-flash",
10001
+ kimi: "kimi-k3",
10002
+ geminiPro: "gemini-4-argon"
10003
+ };
10004
+
9964
10005
  // ../src/install/managed-agent-reasoning-defaults.ts
9965
10006
  var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
9966
10007
  [
@@ -9976,7 +10017,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
9976
10017
  },
9977
10018
  {
9978
10019
  previous: { model: "gpt-5.6-luna", effort: "low" },
9979
- current: { model: "gpt-6-astra", effort: "low" }
10020
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
9980
10021
  }
9981
10022
  ]
9982
10023
  ],
@@ -9993,7 +10034,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
9993
10034
  },
9994
10035
  {
9995
10036
  previous: { model: "gpt-5.6-luna", effort: "low" },
9996
- current: { model: "gpt-6-astra", effort: "low" }
10037
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
9997
10038
  }
9998
10039
  ]
9999
10040
  ],
@@ -10002,7 +10043,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10002
10043
  [
10003
10044
  {
10004
10045
  previous: { model: "gpt-5.6-sol", effort: "high" },
10005
- current: { model: "gpt-6-astra", effort: "high" }
10046
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10006
10047
  }
10007
10048
  ]
10008
10049
  ],
@@ -10011,7 +10052,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10011
10052
  [
10012
10053
  {
10013
10054
  previous: { model: "gpt-5.6-luna", effort: "high" },
10014
- current: { model: "gpt-6-astra", effort: "high" }
10055
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10015
10056
  }
10016
10057
  ]
10017
10058
  ],
@@ -10028,7 +10069,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10028
10069
  },
10029
10070
  {
10030
10071
  previous: { model: "gpt-5.6-terra", effort: "high" },
10031
- current: { model: "gpt-6-astra", effort: "high" }
10072
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10032
10073
  }
10033
10074
  ]
10034
10075
  ],
@@ -10045,7 +10086,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10045
10086
  },
10046
10087
  {
10047
10088
  previous: { model: "gpt-5.6-sol", effort: "high" },
10048
- current: { model: "gpt-6-astra", effort: "high" }
10089
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10049
10090
  }
10050
10091
  ]
10051
10092
  ],
@@ -10062,7 +10103,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10062
10103
  },
10063
10104
  {
10064
10105
  previous: { model: "gpt-5.6-terra", effort: "high" },
10065
- current: { model: "gpt-6-astra", effort: "high" }
10106
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10066
10107
  }
10067
10108
  ]
10068
10109
  ],
@@ -10075,7 +10116,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10075
10116
  },
10076
10117
  {
10077
10118
  previous: { model: "gpt-5.6-sol", effort: "medium" },
10078
- current: { model: "gpt-6-astra", effort: "medium" }
10119
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "medium" }
10079
10120
  }
10080
10121
  ]
10081
10122
  ],
@@ -10088,7 +10129,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10088
10129
  },
10089
10130
  {
10090
10131
  previous: { model: "gpt-5.6-terra", effort: "medium" },
10091
- current: { model: "gpt-6-astra", effort: "medium" }
10132
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "medium" }
10092
10133
  }
10093
10134
  ]
10094
10135
  ],
@@ -10101,7 +10142,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10101
10142
  },
10102
10143
  {
10103
10144
  previous: { model: "gpt-5.6-terra", effort: "high" },
10104
- current: { model: "gpt-6-astra", effort: "high" }
10145
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10105
10146
  }
10106
10147
  ]
10107
10148
  ],
@@ -10114,7 +10155,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10114
10155
  },
10115
10156
  {
10116
10157
  previous: { model: "gpt-5.6-luna", effort: "high" },
10117
- current: { model: "gpt-6-astra", effort: "high" }
10158
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
10118
10159
  }
10119
10160
  ]
10120
10161
  ],
@@ -10131,7 +10172,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
10131
10172
  },
10132
10173
  {
10133
10174
  previous: { model: "gpt-5.6-sol", effort: "low" },
10134
- current: { model: "gpt-6-astra", effort: "low" }
10175
+ current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
10135
10176
  }
10136
10177
  ]
10137
10178
  ]
@@ -11707,7 +11748,7 @@ import { readFile as readFile12 } from "node:fs/promises";
11707
11748
  import { join as join19 } from "node:path";
11708
11749
  var FALLBACK_CODEX_MODEL_CATALOG = {
11709
11750
  current: {
11710
- model: "gpt-6-astra",
11751
+ model: LATEST_MODEL_BY_FAMILY.gptAstra,
11711
11752
  modelContextWindow: 600000,
11712
11753
  modelReasoningEffort: "high",
11713
11754
  planModeReasoningEffort: "xhigh"
@@ -12696,7 +12737,7 @@ function requireFlagValue(argv, index, flag) {
12696
12737
  }
12697
12738
 
12698
12739
  // components/bootstrap/src/hook.ts
12699
- var BOOTSTRAP_RESTART_NOTICE = "LazyCodex bootstrap running in background — restart the session when it completes";
12740
+ var BOOTSTRAP_RESTART_NOTICE = "LazyCodex bootstrap running in background: restart the session when it completes";
12700
12741
  async function runSessionStartHook(options) {
12701
12742
  return (await executeSessionStartHook(options)).exitCode;
12702
12743
  }
@@ -8,7 +8,7 @@
8
8
  "command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
9
9
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.1.43) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 5.1.45) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-bootstrap",
3
- "version": "5.1.43",
3
+ "version": "5.1.45",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -8,7 +8,7 @@ import { resolveBootstrapLockPath, resolveBootstrapStatePath } from "./environme
8
8
  import { readBootstrapState, readPluginVersion } from "./worker.ts";
9
9
 
10
10
  export const BOOTSTRAP_RESTART_NOTICE =
11
- "LazyCodex bootstrap running in background — restart the session when it completes";
11
+ "LazyCodex bootstrap running in background: restart the session when it completes";
12
12
 
13
13
  export type SessionStartAction =
14
14
  | "spawned"
@@ -1,27 +1,7 @@
1
1
  {
2
2
  "$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
3
3
  "linter": {
4
- "enabled": true,
5
- "rules": {
6
- "preset": "recommended",
7
- "style": {
8
- "noDefaultExport": "error",
9
- "noEnum": "error",
10
- "noNonNullAssertion": "error",
11
- "useImportType": "error",
12
- "useConst": "error",
13
- "useNodejsImportProtocol": "off"
14
- },
15
- "complexity": {
16
- "useLiteralKeys": "off"
17
- },
18
- "suspicious": {
19
- "noExplicitAny": "error",
20
- "noTsIgnore": "error",
21
- "noControlCharactersInRegex": "off",
22
- "noEmptyInterface": "off"
23
- }
24
- }
4
+ "enabled": false
25
5
  },
26
6
  "formatter": {
27
7
  "enabled": true,
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 5.1.43) Checking Comments"
11
+ "statusMessage": "(OmO 5.1.45) Checking Comments"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-yeongyu/codex-comment-checker",
3
- "version": "5.1.43",
3
+ "version": "5.1.45",
4
4
  "description": "Codex plugin that runs comment-checker after edit-like PostToolUse hooks.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -38,9 +38,9 @@
38
38
  "test": "npm run build --silent && vitest --run",
39
39
  "test:watch": "vitest",
40
40
  "typecheck": "tsc --noEmit",
41
- "lint": "biome check .",
42
- "lint:fix": "biome check --write .",
43
- "check": "tsc --noEmit && biome check . && npm run build"
41
+ "lint": "biome format .",
42
+ "lint:fix": "biome format --write .",
43
+ "check": "tsc --noEmit && biome format . && npm run build"
44
44
  },
45
45
  "optionalDependencies": {
46
46
  "@code-yeongyu/comment-checker": "^0.8.0"
@@ -8,7 +8,7 @@
8
8
  "type": "command",
9
9
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
10
10
  "timeout": 5,
11
- "statusMessage": "(OmO 5.1.43) Recommending Git Bash MCP"
11
+ "statusMessage": "(OmO 5.1.45) Recommending Git Bash MCP"
12
12
  }
13
13
  ]
14
14
  }
@@ -20,7 +20,7 @@
20
20
  "type": "command",
21
21
  "command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
22
22
  "timeout": 5,
23
- "statusMessage": "(OmO 5.1.43) Resetting Git Bash MCP Reminder"
23
+ "statusMessage": "(OmO 5.1.45) Resetting Git Bash MCP Reminder"
24
24
  }
25
25
  ]
26
26
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-git-bash-hook",
3
- "version": "5.1.43",
3
+ "version": "5.1.45",
4
4
  "description": "Codex hook component that reminds Windows sessions to prefer the OMO git_bash MCP.",
5
5
  "type": "module",
6
6
  "private": true,