oh-my-opencode 5.1.45 → 5.1.47
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.
- package/.agents/command/publish.md +12 -13
- package/.agents/skills/publish/SKILL.md +12 -13
- package/.opencode/command/publish.md +12 -13
- package/README.de.md +0 -5
- package/README.es.md +0 -5
- package/README.fr.md +0 -5
- package/README.it.md +0 -5
- package/README.ja.md +0 -5
- package/README.ko.md +0 -5
- package/README.md +4 -5
- package/README.pt-br.md +0 -5
- package/README.ru.md +0 -6
- package/README.zh-cn.md +0 -5
- package/dist/agents/atlas/agent.d.ts +3 -2
- package/dist/agents/sisyphus/index.d.ts +1 -0
- package/dist/agents/sisyphus/kimi-k3-1.d.ts +9 -0
- package/dist/agents/sisyphus-agent-factory.d.ts +1 -1
- package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
- package/dist/agents/sisyphus-junior/index.d.ts +1 -0
- package/dist/agents/sisyphus-junior/kimi-k3-1.d.ts +6 -0
- package/dist/agents/types.d.ts +2 -2
- package/dist/cli/index.js +91 -163
- package/dist/cli/service-auth/keystore.d.ts +8 -3
- package/dist/cli-node/index.js +91 -163
- package/dist/config-migration/index.d.ts +2 -2
- package/dist/config-migration/migration-plans.d.ts +0 -10
- package/dist/index.js +1784 -1204
- package/dist/skills/ast-grep/AGENTS.md +1 -1
- package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
- package/dist/skills/frontend/ATTRIBUTION.md +2 -2
- package/dist/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/dist/skills/ulw-research/AGENTS.md +14 -2
- package/dist/skills/ulw-research/SKILL.md +37 -12
- package/dist/skills/ulw-research/references/deliverable-phase.md +81 -14
- package/dist/skills/ulw-research/references/fact-ledger-grammar.md +19 -1
- package/dist/skills/ulw-research/references/fact-ledger.md +95 -0
- package/dist/skills/ulw-research/references/fidelity-claim-kinds.md +19 -0
- package/dist/skills/ulw-research/references/report-gates.md +21 -4
- package/dist/skills/ulw-research/references/report-visualization.md +2 -0
- package/dist/skills/ulw-research/references/unit-rules.md +157 -0
- package/dist/skills/ulw-research/scripts/claim-kinds.mjs +116 -0
- package/dist/skills/ulw-research/scripts/claim-kinds.test.ts +193 -0
- package/dist/skills/ulw-research/scripts/cli-support.mjs +19 -5
- package/dist/skills/ulw-research/scripts/cli-support.test.ts +13 -2
- package/dist/skills/ulw-research/scripts/contracts.mjs +27 -6
- package/dist/skills/ulw-research/scripts/contracts.test.ts +3 -0
- package/dist/skills/ulw-research/scripts/copy-returns-polish.test.ts +209 -0
- package/dist/skills/ulw-research/scripts/copy-returns.test.ts +183 -0
- package/dist/skills/ulw-research/scripts/delivery-barrier.test.ts +245 -0
- package/dist/skills/ulw-research/scripts/fact-commands-meaning.mjs +176 -0
- package/dist/skills/ulw-research/scripts/fact-commands-polish.mjs +127 -0
- package/dist/skills/ulw-research/scripts/fact-commands-verify.mjs +183 -0
- package/dist/skills/ulw-research/scripts/fact-commands.mjs +241 -0
- package/dist/skills/ulw-research/scripts/fact-derive.mjs +66 -0
- package/dist/skills/ulw-research/scripts/fact-derive.test.ts +375 -0
- package/dist/skills/ulw-research/scripts/fact-expr.mjs +108 -0
- package/dist/skills/ulw-research/scripts/fact-fill.mjs +194 -0
- package/dist/skills/ulw-research/scripts/fact-fill.test.ts +221 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-grammar.test.ts +9 -2
- package/dist/skills/ulw-research/scripts/fact-ledger-kinds.mjs +127 -13
- package/dist/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +18 -3
- package/dist/skills/ulw-research/scripts/fact-ledger-legacy.test.ts +160 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-schema.mjs +33 -16
- package/dist/skills/ulw-research/scripts/fact-ledger.mjs +29 -9
- package/dist/skills/ulw-research/scripts/fact-ledger.test.ts +2 -0
- package/dist/skills/ulw-research/scripts/fact-locate.mjs +231 -0
- package/dist/skills/ulw-research/scripts/fact-locate.test.ts +118 -0
- package/dist/skills/ulw-research/scripts/fact-pairs.mjs +185 -0
- package/dist/skills/ulw-research/scripts/fact-pairs.test.ts +151 -0
- package/dist/skills/ulw-research/scripts/fact-recompute.mjs +89 -0
- package/dist/skills/ulw-research/scripts/fact-unit-dimensions.test.ts +409 -0
- package/dist/skills/ulw-research/scripts/fact-unit-rules.test.ts +388 -0
- package/dist/skills/ulw-research/scripts/fidelity-binding.mjs +130 -0
- package/dist/skills/ulw-research/scripts/fidelity-binding.test.ts +81 -0
- package/dist/skills/ulw-research/scripts/fidelity-brief.mjs +5 -0
- package/dist/skills/ulw-research/scripts/fidelity-claims.mjs +89 -0
- package/dist/skills/ulw-research/scripts/fidelity-lexicon.mjs +145 -0
- package/dist/skills/ulw-research/scripts/fidelity-lexicon.test.ts +117 -0
- package/dist/skills/ulw-research/scripts/fidelity-records.mjs +163 -0
- package/dist/skills/ulw-research/scripts/fidelity-state.mjs +2 -1
- package/dist/skills/ulw-research/scripts/fidelity-trace.mjs +85 -0
- package/dist/skills/ulw-research/scripts/fidelity-trace.test.ts +58 -0
- package/dist/skills/ulw-research/scripts/fidelity-values.mjs +229 -0
- package/dist/skills/ulw-research/scripts/fidelity-values.test.ts +270 -0
- package/dist/skills/ulw-research/scripts/gates-fidelity.mjs +113 -0
- package/dist/skills/ulw-research/scripts/gates-fidelity.test.ts +73 -0
- package/dist/skills/ulw-research/scripts/gates-static.mjs +28 -8
- package/dist/skills/ulw-research/scripts/html-lite.mjs +2 -2
- package/dist/skills/ulw-research/scripts/html-markup.mjs +182 -0
- package/dist/skills/ulw-research/scripts/md-lite.mjs +193 -0
- package/dist/skills/ulw-research/scripts/md-lite.test.ts +271 -0
- package/dist/skills/ulw-research/scripts/meaning-check.mjs +196 -0
- package/dist/skills/ulw-research/scripts/meaning-check.test.ts +228 -0
- package/dist/skills/ulw-research/scripts/outcome.mjs +6 -5
- package/dist/skills/ulw-research/scripts/placeholder.mjs +184 -0
- package/dist/skills/ulw-research/scripts/placeholder.test.ts +77 -0
- package/dist/skills/ulw-research/scripts/polish-apply.mjs +115 -0
- package/dist/skills/ulw-research/scripts/polish-apply.test.ts +363 -0
- package/dist/skills/ulw-research/scripts/polish-diff.mjs +31 -0
- package/dist/skills/ulw-research/scripts/polish-diff.test.ts +168 -0
- package/dist/skills/ulw-research/scripts/polish-markup.test.ts +187 -0
- package/dist/skills/ulw-research/scripts/polish-project.mjs +125 -0
- package/dist/skills/ulw-research/scripts/polish-rules.mjs +170 -0
- package/dist/skills/ulw-research/scripts/references-fences.test.ts +25 -0
- package/dist/skills/ulw-research/scripts/report-tools-commands.mjs +19 -8
- package/dist/skills/ulw-research/scripts/report-tools.mjs +15 -0
- package/dist/skills/ulw-research/scripts/report-tools.test.ts +545 -2
- package/dist/skills/ulw-research/scripts/source-commands.mjs +140 -0
- package/dist/skills/ulw-research/scripts/source-snapshot.mjs +176 -0
- package/dist/skills/ulw-research/scripts/source-snapshot.test.ts +113 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/assets/share.csv +3 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/gen-legacy-dev.mjs +89 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-basic.json +223 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-legacy-dev.json +859 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-verify.json +420 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/polish-edits.json +12 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/report-bad.html +19 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/report-good.html +39 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/acronyms.json +3 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/meta.json +9 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/sentences.jsonl +7 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/text.txt +7 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4.html +19 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/acronyms.json +1 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/meta.json +9 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/sentences.jsonl +1 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/text.txt +1 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S9.txt +1 -0
- package/dist/skills/ulw-research/scripts/unit-algebra.mjs +101 -0
- package/dist/skills/ulw-research/scripts/unit-errors.mjs +23 -0
- package/dist/skills/ulw-research/scripts/unit-metadata.mjs +31 -0
- package/dist/skills/ulw-research/scripts/unit-pairs.mjs +72 -0
- package/dist/skills/ulw-research/scripts/unit-precision.mjs +44 -0
- package/dist/skills/ulw-research/scripts/unit-rules-shapes.mjs +64 -0
- package/dist/skills/ulw-research/scripts/unit-rules.mjs +173 -0
- package/dist/skills/ulw-research/scripts/units.mjs +4 -4
- package/dist/testing/module-mock-lifecycle.d.ts +1 -1
- package/dist/tui.js +32 -34
- package/package.json +13 -13
- package/packages/lsp-core/src/mcp-protocol-pin.test.ts +29 -0
- package/packages/lsp-core/src/mcp.ts +5 -2
- package/packages/lsp-daemon/dist/cli.js +3 -3
- package/packages/lsp-daemon/dist/client.js +3 -3
- package/packages/lsp-daemon/dist/index.js +3 -3
- package/packages/lsp-tools-mcp/dist/cli.js +3 -3
- package/packages/lsp-tools-mcp/dist/mcp.js +3 -3
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +23 -14
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +8 -3
- package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +0 -2
- package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +2 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/AGENTS.md +14 -2
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +36 -11
- package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +81 -14
- package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger-grammar.md +19 -1
- package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger.md +95 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/fidelity-claim-kinds.md +19 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/report-gates.md +21 -4
- package/packages/omo-codex/plugin/skills/ulw-research/references/report-visualization.md +2 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/unit-rules.md +157 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/claim-kinds.mjs +116 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/cli-support.mjs +19 -5
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/contracts.mjs +27 -6
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-meaning.mjs +176 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-polish.mjs +127 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-verify.mjs +183 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands.mjs +241 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-derive.mjs +66 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-expr.mjs +108 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-fill.mjs +194 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-kinds.mjs +127 -13
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-schema.mjs +33 -16
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger.mjs +29 -9
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-locate.mjs +231 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-pairs.mjs +185 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-recompute.mjs +89 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-binding.mjs +130 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-brief.mjs +5 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-claims.mjs +89 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-lexicon.mjs +145 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-records.mjs +163 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-state.mjs +2 -1
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-trace.mjs +85 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-values.mjs +229 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-fidelity.mjs +113 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-static.mjs +28 -8
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/html-lite.mjs +2 -2
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/html-markup.mjs +182 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/md-lite.mjs +193 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/meaning-check.mjs +196 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/outcome.mjs +6 -5
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/placeholder.mjs +184 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-apply.mjs +115 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-diff.mjs +31 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-project.mjs +125 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/polish-rules.mjs +170 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools-commands.mjs +19 -8
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools.mjs +15 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/source-commands.mjs +140 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/source-snapshot.mjs +176 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-algebra.mjs +101 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-errors.mjs +23 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-metadata.mjs +31 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-pairs.mjs +72 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-precision.mjs +44 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-rules-shapes.mjs +64 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/unit-rules.mjs +173 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/units.mjs +4 -4
- package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +19 -0
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +7 -3
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +28 -19
- package/packages/shared-skills/skills/ast-grep/AGENTS.md +1 -1
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/shared-skills/skills/ulw-research/AGENTS.md +14 -2
- package/packages/shared-skills/skills/ulw-research/SKILL.md +37 -12
- package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +81 -14
- package/packages/shared-skills/skills/ulw-research/references/fact-ledger-grammar.md +19 -1
- package/packages/shared-skills/skills/ulw-research/references/fact-ledger.md +95 -0
- package/packages/shared-skills/skills/ulw-research/references/fidelity-claim-kinds.md +19 -0
- package/packages/shared-skills/skills/ulw-research/references/report-gates.md +21 -4
- package/packages/shared-skills/skills/ulw-research/references/report-visualization.md +2 -0
- package/packages/shared-skills/skills/ulw-research/references/unit-rules.md +157 -0
- package/packages/shared-skills/skills/ulw-research/scripts/claim-kinds.mjs +116 -0
- package/packages/shared-skills/skills/ulw-research/scripts/claim-kinds.test.ts +193 -0
- package/packages/shared-skills/skills/ulw-research/scripts/cli-support.mjs +19 -5
- package/packages/shared-skills/skills/ulw-research/scripts/cli-support.test.ts +13 -2
- package/packages/shared-skills/skills/ulw-research/scripts/contracts.mjs +27 -6
- package/packages/shared-skills/skills/ulw-research/scripts/contracts.test.ts +3 -0
- package/packages/shared-skills/skills/ulw-research/scripts/copy-returns-polish.test.ts +209 -0
- package/packages/shared-skills/skills/ulw-research/scripts/copy-returns.test.ts +183 -0
- package/packages/shared-skills/skills/ulw-research/scripts/delivery-barrier.test.ts +245 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-meaning.mjs +176 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-polish.mjs +127 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-verify.mjs +183 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands.mjs +241 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-derive.mjs +66 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-derive.test.ts +375 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-expr.mjs +108 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-fill.mjs +194 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-fill.test.ts +221 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-grammar.test.ts +9 -2
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.mjs +127 -13
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +18 -3
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-legacy.test.ts +160 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.mjs +33 -16
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.mjs +29 -9
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.test.ts +2 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-locate.mjs +231 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-locate.test.ts +118 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-pairs.mjs +185 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-pairs.test.ts +151 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-recompute.mjs +89 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-unit-dimensions.test.ts +409 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-unit-rules.test.ts +388 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-binding.mjs +130 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-binding.test.ts +81 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.mjs +5 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-claims.mjs +89 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-lexicon.mjs +145 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-lexicon.test.ts +117 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-records.mjs +163 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.mjs +2 -1
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-trace.mjs +85 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-trace.test.ts +58 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-values.mjs +229 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-values.test.ts +270 -0
- package/packages/shared-skills/skills/ulw-research/scripts/gates-fidelity.mjs +113 -0
- package/packages/shared-skills/skills/ulw-research/scripts/gates-fidelity.test.ts +73 -0
- package/packages/shared-skills/skills/ulw-research/scripts/gates-static.mjs +28 -8
- package/packages/shared-skills/skills/ulw-research/scripts/html-lite.mjs +2 -2
- package/packages/shared-skills/skills/ulw-research/scripts/html-markup.mjs +182 -0
- package/packages/shared-skills/skills/ulw-research/scripts/md-lite.mjs +193 -0
- package/packages/shared-skills/skills/ulw-research/scripts/md-lite.test.ts +271 -0
- package/packages/shared-skills/skills/ulw-research/scripts/meaning-check.mjs +196 -0
- package/packages/shared-skills/skills/ulw-research/scripts/meaning-check.test.ts +228 -0
- package/packages/shared-skills/skills/ulw-research/scripts/outcome.mjs +6 -5
- package/packages/shared-skills/skills/ulw-research/scripts/placeholder.mjs +184 -0
- package/packages/shared-skills/skills/ulw-research/scripts/placeholder.test.ts +77 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-apply.mjs +115 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-apply.test.ts +363 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-diff.mjs +31 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-diff.test.ts +168 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-markup.test.ts +187 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-project.mjs +125 -0
- package/packages/shared-skills/skills/ulw-research/scripts/polish-rules.mjs +170 -0
- package/packages/shared-skills/skills/ulw-research/scripts/references-fences.test.ts +25 -0
- package/packages/shared-skills/skills/ulw-research/scripts/report-tools-commands.mjs +19 -8
- package/packages/shared-skills/skills/ulw-research/scripts/report-tools.mjs +15 -0
- package/packages/shared-skills/skills/ulw-research/scripts/report-tools.test.ts +545 -2
- package/packages/shared-skills/skills/ulw-research/scripts/source-commands.mjs +140 -0
- package/packages/shared-skills/skills/ulw-research/scripts/source-snapshot.mjs +176 -0
- package/packages/shared-skills/skills/ulw-research/scripts/source-snapshot.test.ts +113 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/assets/share.csv +3 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/gen-legacy-dev.mjs +89 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-basic.json +223 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-legacy-dev.json +859 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/ledger-verify.json +420 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/polish-edits.json +12 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/report-bad.html +19 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/report-good.html +39 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/acronyms.json +3 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/meta.json +9 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/sentences.jsonl +7 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4/text.txt +7 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S4.html +19 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/acronyms.json +1 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/meta.json +9 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/sentences.jsonl +1 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S5/text.txt +1 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/sources/S9.txt +1 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-algebra.mjs +101 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-errors.mjs +23 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-metadata.mjs +31 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-pairs.mjs +72 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-precision.mjs +44 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-rules-shapes.mjs +64 -0
- package/packages/shared-skills/skills/ulw-research/scripts/unit-rules.mjs +173 -0
- package/packages/shared-skills/skills/ulw-research/scripts/units.mjs +4 -4
- package/dist/config-migration/dori-section-rename.d.ts +0 -3
package/dist/cli-node/index.js
CHANGED
|
@@ -2133,7 +2133,7 @@ var package_default;
|
|
|
2133
2133
|
var init_package = __esm(() => {
|
|
2134
2134
|
package_default = {
|
|
2135
2135
|
name: "oh-my-opencode",
|
|
2136
|
-
version: "5.1.
|
|
2136
|
+
version: "5.1.47",
|
|
2137
2137
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2138
2138
|
main: "./dist/index.js",
|
|
2139
2139
|
types: "dist/index.d.ts",
|
|
@@ -2379,18 +2379,18 @@ var init_package = __esm(() => {
|
|
|
2379
2379
|
typescript: "^7.0.2"
|
|
2380
2380
|
},
|
|
2381
2381
|
optionalDependencies: {
|
|
2382
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2383
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2384
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2385
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2386
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2387
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2388
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2389
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2390
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2391
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2392
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2393
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2382
|
+
"oh-my-opencode-darwin-arm64": "5.1.47",
|
|
2383
|
+
"oh-my-opencode-darwin-x64": "5.1.47",
|
|
2384
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.47",
|
|
2385
|
+
"oh-my-opencode-linux-arm64": "5.1.47",
|
|
2386
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.47",
|
|
2387
|
+
"oh-my-opencode-linux-x64": "5.1.47",
|
|
2388
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.47",
|
|
2389
|
+
"oh-my-opencode-linux-x64-musl": "5.1.47",
|
|
2390
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.47",
|
|
2391
|
+
"oh-my-opencode-windows-arm64": "5.1.47",
|
|
2392
|
+
"oh-my-opencode-windows-x64": "5.1.47",
|
|
2393
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.47"
|
|
2394
2394
|
},
|
|
2395
2395
|
overrides: {
|
|
2396
2396
|
hono: "^4.13.8",
|
|
@@ -7164,7 +7164,7 @@ function resolveStdio(options) {
|
|
|
7164
7164
|
return [options.stdin ?? "ignore", options.stdout ?? "pipe", options.stderr ?? "inherit"];
|
|
7165
7165
|
}
|
|
7166
7166
|
function createBunSpawnOptions(options) {
|
|
7167
|
-
return { ...options, windowsHide: true };
|
|
7167
|
+
return { ...options, env: options.env ?? process.env, windowsHide: true };
|
|
7168
7168
|
}
|
|
7169
7169
|
function createNodeSpawnOptions(options, platform = process.platform) {
|
|
7170
7170
|
const nodeOptions = {
|
|
@@ -10185,6 +10185,10 @@ function transformModelForProviderUsingAnthropicBehavior(provider, model) {
|
|
|
10185
10185
|
return "k3";
|
|
10186
10186
|
if (model === "kimi-k3-256k")
|
|
10187
10187
|
return "k3-256k";
|
|
10188
|
+
if (model === "kimi-k3.1-pro")
|
|
10189
|
+
return "k3.1-pro";
|
|
10190
|
+
if (model === "kimi-k3.1-pro-highspeed")
|
|
10191
|
+
return "k3.1-pro-highspeed";
|
|
10188
10192
|
}
|
|
10189
10193
|
return model;
|
|
10190
10194
|
}
|
|
@@ -76982,6 +76986,7 @@ var init_memory = __esm(() => {
|
|
|
76982
76986
|
merge: _enum(["auto", "integration"]).default("auto"),
|
|
76983
76987
|
category: string2().min(1).default("quick"),
|
|
76984
76988
|
timeout_minutes: number2().int().positive().default(15),
|
|
76989
|
+
max_concurrent_runs: number2().int().positive().default(1),
|
|
76985
76990
|
sandbox: _enum(["auto", "required", "off"]).default("auto")
|
|
76986
76991
|
}).strict();
|
|
76987
76992
|
OmoMemorySyncSchema = object({
|
|
@@ -77053,6 +77058,7 @@ var init_memory = __esm(() => {
|
|
|
77053
77058
|
merge: _enum(["auto", "integration"]).optional(),
|
|
77054
77059
|
category: string2().min(1).optional(),
|
|
77055
77060
|
timeout_minutes: number2().int().positive().optional(),
|
|
77061
|
+
max_concurrent_runs: number2().int().positive().optional(),
|
|
77056
77062
|
sandbox: _enum(["auto", "required", "off"]).optional()
|
|
77057
77063
|
}).strict();
|
|
77058
77064
|
OmoMemorySyncLayerSchema = object({
|
|
@@ -77117,7 +77123,7 @@ var init_memory = __esm(() => {
|
|
|
77117
77123
|
OmoMemoryAgentOverridesSchema = object({
|
|
77118
77124
|
enabled: boolean2().optional(),
|
|
77119
77125
|
agent: string2().min(1).optional(),
|
|
77120
|
-
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
77126
|
+
reflection: OmoMemoryReflectionLayerSchema.omit({ max_concurrent_runs: true }).optional(),
|
|
77121
77127
|
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
77122
77128
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
77123
77129
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
@@ -77142,6 +77148,7 @@ var init_memory = __esm(() => {
|
|
|
77142
77148
|
merge: "auto",
|
|
77143
77149
|
category: "quick",
|
|
77144
77150
|
timeout_minutes: 15,
|
|
77151
|
+
max_concurrent_runs: 1,
|
|
77145
77152
|
sandbox: "auto"
|
|
77146
77153
|
}),
|
|
77147
77154
|
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
@@ -77516,13 +77523,6 @@ var init_format_on_mutation = __esm(() => {
|
|
|
77516
77523
|
}).strict();
|
|
77517
77524
|
});
|
|
77518
77525
|
|
|
77519
|
-
// packages/omo-config-core/src/schema/dori.ts
|
|
77520
|
-
var OmoDoriSectionSchema;
|
|
77521
|
-
var init_dori = __esm(() => {
|
|
77522
|
-
init_zod();
|
|
77523
|
-
OmoDoriSectionSchema = record(string2(), unknown()).describe("Chat-surface dori settings, owned and validated by a separately installed dori package. omo accepts the key and never reads it.");
|
|
77524
|
-
});
|
|
77525
|
-
|
|
77526
77526
|
// packages/omo-config-core/src/schema/provenance.ts
|
|
77527
77527
|
var OmoProvenanceSettingsSchema;
|
|
77528
77528
|
var init_provenance = __esm(() => {
|
|
@@ -77552,7 +77552,6 @@ var init_config = __esm(() => {
|
|
|
77552
77552
|
init_team();
|
|
77553
77553
|
init_telemetry();
|
|
77554
77554
|
init_format_on_mutation();
|
|
77555
|
-
init_dori();
|
|
77556
77555
|
init_provenance();
|
|
77557
77556
|
OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
77558
77557
|
OmoDisabledSkillsSchema = array(string2());
|
|
@@ -77560,7 +77559,6 @@ var init_config = __esm(() => {
|
|
|
77560
77559
|
OmoTypedHarnessConfigSchema = object({
|
|
77561
77560
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77562
77561
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77563
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77564
77562
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77565
77563
|
agents: OmoAgentsConfigSchema.optional(),
|
|
77566
77564
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -77579,7 +77577,6 @@ var init_config = __esm(() => {
|
|
|
77579
77577
|
OmoConfigProfileSchema = object({
|
|
77580
77578
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77581
77579
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77582
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77583
77580
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77584
77581
|
agents: OmoAgentsConfigSchema.optional(),
|
|
77585
77582
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -77602,7 +77599,6 @@ var init_config = __esm(() => {
|
|
|
77602
77599
|
OmoConfigSchema = object({
|
|
77603
77600
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77604
77601
|
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
77605
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77606
77602
|
$schema: string2().optional(),
|
|
77607
77603
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77608
77604
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -77629,7 +77625,6 @@ var init_config = __esm(() => {
|
|
|
77629
77625
|
OmoConfigLayerSchema = object({
|
|
77630
77626
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77631
77627
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77632
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77633
77628
|
$schema: string2().optional(),
|
|
77634
77629
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77635
77630
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -77771,54 +77766,6 @@ var init_legacy_harness_names = __esm(() => {
|
|
|
77771
77766
|
init_harness();
|
|
77772
77767
|
});
|
|
77773
77768
|
|
|
77774
|
-
// packages/omo-config-core/src/schema/legacy-dori-section.ts
|
|
77775
|
-
function isRecord11(value) {
|
|
77776
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
77777
|
-
}
|
|
77778
|
-
function migrateLegacyDoriSection(document) {
|
|
77779
|
-
if (!isRecord11(document))
|
|
77780
|
-
return { document: {}, diagnostics: [] };
|
|
77781
|
-
const diagnostics = [];
|
|
77782
|
-
const rename = (container, path) => {
|
|
77783
|
-
const result = { ...container };
|
|
77784
|
-
if (Object.hasOwn(container, "gateway")) {
|
|
77785
|
-
if (Object.hasOwn(container, "dori")) {
|
|
77786
|
-
diagnostics.push(`${[...path, "gateway"].join(".")} removed: dori is already configured`);
|
|
77787
|
-
} else {
|
|
77788
|
-
result.dori = container.gateway;
|
|
77789
|
-
diagnostics.push(`${[...path, "gateway"].join(".")} renamed to dori`);
|
|
77790
|
-
}
|
|
77791
|
-
delete result.gateway;
|
|
77792
|
-
}
|
|
77793
|
-
return result;
|
|
77794
|
-
};
|
|
77795
|
-
const layer = (container, path) => {
|
|
77796
|
-
const result = rename(container, path);
|
|
77797
|
-
for (const key of HARNESS_BLOCKS) {
|
|
77798
|
-
const block = container[key];
|
|
77799
|
-
if (isRecord11(block))
|
|
77800
|
-
result[key] = rename(block, [...path, key]);
|
|
77801
|
-
}
|
|
77802
|
-
return result;
|
|
77803
|
-
};
|
|
77804
|
-
const result = layer(document, []);
|
|
77805
|
-
if (isRecord11(document.profiles)) {
|
|
77806
|
-
const profiles = {};
|
|
77807
|
-
for (const [name, profile] of Object.entries(document.profiles)) {
|
|
77808
|
-
profiles[name] = isRecord11(profile) ? layer(profile, ["profiles", name]) : profile;
|
|
77809
|
-
}
|
|
77810
|
-
result.profiles = profiles;
|
|
77811
|
-
}
|
|
77812
|
-
return { document: result, diagnostics };
|
|
77813
|
-
}
|
|
77814
|
-
function hasLegacyGatewaySection(document) {
|
|
77815
|
-
return migrateLegacyDoriSection(document).diagnostics.length > 0;
|
|
77816
|
-
}
|
|
77817
|
-
var HARNESS_BLOCKS;
|
|
77818
|
-
var init_legacy_dori_section = __esm(() => {
|
|
77819
|
-
HARNESS_BLOCKS = ["[opencode]", "[native]", "[senpi]", "[codex]"];
|
|
77820
|
-
});
|
|
77821
|
-
|
|
77822
77769
|
// packages/omo-config-core/src/schema/index.ts
|
|
77823
77770
|
var init_schema = __esm(() => {
|
|
77824
77771
|
init_agent();
|
|
@@ -77826,12 +77773,10 @@ var init_schema = __esm(() => {
|
|
|
77826
77773
|
init_config();
|
|
77827
77774
|
init_fallback_models();
|
|
77828
77775
|
init_format_on_mutation();
|
|
77829
|
-
init_dori();
|
|
77830
77776
|
init_git_master();
|
|
77831
77777
|
init_harness();
|
|
77832
77778
|
init_legacy_category_names();
|
|
77833
77779
|
init_legacy_harness_names();
|
|
77834
|
-
init_legacy_dori_section();
|
|
77835
77780
|
init_memory();
|
|
77836
77781
|
init_model_catalog();
|
|
77837
77782
|
init_model_profile();
|
|
@@ -78102,6 +78047,7 @@ function pruneInvalidConfigPaths(config, issues, validate, maxPasses = MAX_PRUNE
|
|
|
78102
78047
|
var MAX_PRUNE_PASSES = 32;
|
|
78103
78048
|
|
|
78104
78049
|
// packages/omo-config-core/src/loader/layer-validation.ts
|
|
78050
|
+
import { createHash as createHash2 } from "node:crypto";
|
|
78105
78051
|
function validationDiagnostic(path, issues) {
|
|
78106
78052
|
const issuePaths = issues.map((issue) => issue.path.map((segment) => String(segment)).join("."));
|
|
78107
78053
|
return {
|
|
@@ -78122,9 +78068,12 @@ function invalidValueDiagnostics(path, dropped) {
|
|
|
78122
78068
|
function unrecognizedKeyIssues(issues) {
|
|
78123
78069
|
return issues.flatMap((issue) => issue.code === "unrecognized_keys" ? [{ keys: issue.keys, path: issue.path.map((segment) => String(segment)) }] : []);
|
|
78124
78070
|
}
|
|
78125
|
-
function
|
|
78071
|
+
function isRecord11(value) {
|
|
78126
78072
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
78127
78073
|
}
|
|
78074
|
+
function isRetiredSection(key) {
|
|
78075
|
+
return RETIRED_SECTION_DIGESTS.has(createHash2("sha256").update(key.toLowerCase()).digest("hex"));
|
|
78076
|
+
}
|
|
78128
78077
|
function sanitizeUnsafeKeys(value, path = []) {
|
|
78129
78078
|
if (Array.isArray(value)) {
|
|
78130
78079
|
const issues = [];
|
|
@@ -78135,7 +78084,7 @@ function sanitizeUnsafeKeys(value, path = []) {
|
|
|
78135
78084
|
});
|
|
78136
78085
|
return { issues, value: sanitized };
|
|
78137
78086
|
}
|
|
78138
|
-
if (!
|
|
78087
|
+
if (!isRecord11(value))
|
|
78139
78088
|
return { issues: [], value };
|
|
78140
78089
|
const issues = [];
|
|
78141
78090
|
if (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) {
|
|
@@ -78143,6 +78092,9 @@ function sanitizeUnsafeKeys(value, path = []) {
|
|
|
78143
78092
|
}
|
|
78144
78093
|
const sanitized = {};
|
|
78145
78094
|
for (const [key, entry] of Object.entries(value)) {
|
|
78095
|
+
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] ?? "");
|
|
78096
|
+
if (isConfigContainer && isRetiredSection(key))
|
|
78097
|
+
continue;
|
|
78146
78098
|
if (isUnsafeObjectKey2(key)) {
|
|
78147
78099
|
issues.push({ keys: [key], path });
|
|
78148
78100
|
continue;
|
|
@@ -78161,13 +78113,13 @@ function containerAt(record, path) {
|
|
|
78161
78113
|
if (!Number.isInteger(index) || index < 0 || index >= node.length)
|
|
78162
78114
|
return null;
|
|
78163
78115
|
node = node[index];
|
|
78164
|
-
} else if (
|
|
78116
|
+
} else if (isRecord11(node) && Object.hasOwn(node, segment)) {
|
|
78165
78117
|
node = node[segment];
|
|
78166
78118
|
} else {
|
|
78167
78119
|
return null;
|
|
78168
78120
|
}
|
|
78169
78121
|
}
|
|
78170
|
-
return
|
|
78122
|
+
return isRecord11(node) ? node : null;
|
|
78171
78123
|
}
|
|
78172
78124
|
function stripUnrecognizedKeys(record, issues) {
|
|
78173
78125
|
const stripped = structuredClone(record);
|
|
@@ -78229,13 +78181,18 @@ function validateConfigLayer(path, data) {
|
|
|
78229
78181
|
return rejected;
|
|
78230
78182
|
return { loaded: true, diagnostics: [...diagnostics, ...invalidValueDiagnostics(path, pruned.dropped)], value: pruned.config };
|
|
78231
78183
|
}
|
|
78232
|
-
var validateLayerRecord = (record) => {
|
|
78184
|
+
var RETIRED_SECTION_DIGESTS, HARNESS_BLOCKS, validateLayerRecord = (record) => {
|
|
78233
78185
|
const parsed = OmoConfigLayerSchema.safeParse(record);
|
|
78234
78186
|
return parsed.success ? { success: true } : { success: false, issues: parsed.error.issues };
|
|
78235
78187
|
};
|
|
78236
78188
|
var init_layer_validation = __esm(() => {
|
|
78237
78189
|
init_schema();
|
|
78238
78190
|
init_merge();
|
|
78191
|
+
RETIRED_SECTION_DIGESTS = new Set([
|
|
78192
|
+
"447f75a8ebdbdb79a57f0b8cebbfba183820cf54a8119ac01449b30499e5ef0e",
|
|
78193
|
+
"4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889"
|
|
78194
|
+
]);
|
|
78195
|
+
HARNESS_BLOCKS = new Set(["[opencode]", "[native]", "[senpi]", "[codex]"]);
|
|
78239
78196
|
});
|
|
78240
78197
|
|
|
78241
78198
|
// packages/omo-config-core/src/internal/posix-path.ts
|
|
@@ -81795,18 +81752,6 @@ function subscriptionProviderRenamePlan(targetPath) {
|
|
|
81795
81752
|
transform: inspect
|
|
81796
81753
|
};
|
|
81797
81754
|
}
|
|
81798
|
-
function doriSectionRenamePlan(targetPath, rename) {
|
|
81799
|
-
const inspect = (sources) => rename.transform(sources[0]?.value);
|
|
81800
|
-
return {
|
|
81801
|
-
id: DORI_SECTION_RENAME_MIGRATION_ID,
|
|
81802
|
-
inspect,
|
|
81803
|
-
mode: "replace-target",
|
|
81804
|
-
shouldRun: rename.shouldRun,
|
|
81805
|
-
sources: [],
|
|
81806
|
-
targetPath,
|
|
81807
|
-
transform: inspect
|
|
81808
|
-
};
|
|
81809
|
-
}
|
|
81810
81755
|
function existingOmoConfigPath(directory, options) {
|
|
81811
81756
|
const fileSystem = discoveryFileSystem(options);
|
|
81812
81757
|
for (const fileName of ["omo.jsonc", "omo.json"]) {
|
|
@@ -81868,7 +81813,6 @@ function createLegacyConfigMigrationPlans(options) {
|
|
|
81868
81813
|
addReasoningTarget(plan.targetPath);
|
|
81869
81814
|
const inPlaceTargets = [...reasoningTargets.values()];
|
|
81870
81815
|
return [
|
|
81871
|
-
...inPlaceTargets.map((targetPath) => doriSectionRenamePlan(targetPath, options.doriSectionRename)),
|
|
81872
81816
|
...legacyPlans,
|
|
81873
81817
|
...inPlaceTargets.map(reasoningPlan),
|
|
81874
81818
|
...inPlaceTargets.map(categoryDeepSplitPlan),
|
|
@@ -81876,7 +81820,6 @@ function createLegacyConfigMigrationPlans(options) {
|
|
|
81876
81820
|
...inPlaceTargets.map(subscriptionProviderRenamePlan)
|
|
81877
81821
|
];
|
|
81878
81822
|
}
|
|
81879
|
-
var DORI_SECTION_RENAME_MIGRATION_ID = "2026-10-dori-section-rename";
|
|
81880
81823
|
var init_migration_plans = __esm(() => {
|
|
81881
81824
|
init_discovery2();
|
|
81882
81825
|
init_discovery_paths2();
|
|
@@ -81903,16 +81846,6 @@ var init_config_migration = __esm(() => {
|
|
|
81903
81846
|
init_reasoning_unification();
|
|
81904
81847
|
});
|
|
81905
81848
|
|
|
81906
|
-
// packages/omo-opencode/src/config-migration/dori-section-rename.ts
|
|
81907
|
-
var doriSectionRename;
|
|
81908
|
-
var init_dori_section_rename = __esm(() => {
|
|
81909
|
-
init_src4();
|
|
81910
|
-
doriSectionRename = {
|
|
81911
|
-
shouldRun: hasLegacyGatewaySection,
|
|
81912
|
-
transform: migrateLegacyDoriSection
|
|
81913
|
-
};
|
|
81914
|
-
});
|
|
81915
|
-
|
|
81916
81849
|
// packages/omo-opencode/src/startup-migration.ts
|
|
81917
81850
|
import { posix as posix5 } from "node:path";
|
|
81918
81851
|
function homeDirectory(options) {
|
|
@@ -81952,7 +81885,6 @@ function runOpenCodeStartupMigration(options) {
|
|
|
81952
81885
|
...options.backupTimestamp === undefined ? {} : { backupTimestamp: options.backupTimestamp },
|
|
81953
81886
|
cwd: options.cwd,
|
|
81954
81887
|
...options.discoveryFileSystem === undefined ? {} : { fileSystem: options.discoveryFileSystem },
|
|
81955
|
-
doriSectionRename,
|
|
81956
81888
|
environment: options.environment ?? process.env,
|
|
81957
81889
|
homeDir,
|
|
81958
81890
|
pathOperations: options.pathOperations ?? posix5,
|
|
@@ -81989,7 +81921,6 @@ function runOpenCodeStartupMigration(options) {
|
|
|
81989
81921
|
var init_startup_migration = __esm(() => {
|
|
81990
81922
|
init_src4();
|
|
81991
81923
|
init_config_migration();
|
|
81992
|
-
init_dori_section_rename();
|
|
81993
81924
|
});
|
|
81994
81925
|
|
|
81995
81926
|
// packages/omo-opencode/src/cli/config-manager/deep-merge-record.ts
|
|
@@ -82731,7 +82662,7 @@ function shouldRetainLine(line, cutoffMs) {
|
|
|
82731
82662
|
function parseDiagnosticLine(line) {
|
|
82732
82663
|
try {
|
|
82733
82664
|
const parsed = JSON.parse(line);
|
|
82734
|
-
if (!
|
|
82665
|
+
if (!isRecord13(parsed)) {
|
|
82735
82666
|
return null;
|
|
82736
82667
|
}
|
|
82737
82668
|
return parsed;
|
|
@@ -82742,7 +82673,7 @@ function parseDiagnosticLine(line) {
|
|
|
82742
82673
|
throw error;
|
|
82743
82674
|
}
|
|
82744
82675
|
}
|
|
82745
|
-
function
|
|
82676
|
+
function isRecord13(value) {
|
|
82746
82677
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
82747
82678
|
}
|
|
82748
82679
|
function trimToMaxBytes(lines) {
|
|
@@ -82862,13 +82793,13 @@ var init_event_id = __esm(() => {
|
|
|
82862
82793
|
});
|
|
82863
82794
|
|
|
82864
82795
|
// packages/telemetry-core/src/machine-id.ts
|
|
82865
|
-
import { createHash as
|
|
82796
|
+
import { createHash as createHash6 } from "node:crypto";
|
|
82866
82797
|
import os4 from "node:os";
|
|
82867
82798
|
function getDefaultTelemetryOsProvider() {
|
|
82868
82799
|
return os4;
|
|
82869
82800
|
}
|
|
82870
82801
|
function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
|
|
82871
|
-
return
|
|
82802
|
+
return createHash6("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
|
|
82872
82803
|
}
|
|
82873
82804
|
var init_machine_id = () => {};
|
|
82874
82805
|
|
|
@@ -90430,7 +90361,7 @@ function coerceBool(value) {
|
|
|
90430
90361
|
function coerceString(value) {
|
|
90431
90362
|
return typeof value == "string" ? value : undefined;
|
|
90432
90363
|
}
|
|
90433
|
-
function
|
|
90364
|
+
function isRecord14(value) {
|
|
90434
90365
|
return typeof value == "object" && value !== null && !Array.isArray(value);
|
|
90435
90366
|
}
|
|
90436
90367
|
function toRfc3339(timestamp) {
|
|
@@ -90452,7 +90383,7 @@ function relocateInto(properties, key, value) {
|
|
|
90452
90383
|
properties[key] = value;
|
|
90453
90384
|
}
|
|
90454
90385
|
function buildV1Event(message) {
|
|
90455
|
-
const sourceProperties =
|
|
90386
|
+
const sourceProperties = isRecord14(message.properties) ? message.properties : {};
|
|
90456
90387
|
const properties = {
|
|
90457
90388
|
...sourceProperties
|
|
90458
90389
|
};
|
|
@@ -92533,7 +92464,7 @@ var package_default2;
|
|
|
92533
92464
|
var init_package2 = __esm(() => {
|
|
92534
92465
|
package_default2 = {
|
|
92535
92466
|
name: "@oh-my-opencode/omo-codex",
|
|
92536
|
-
version: "5.1.
|
|
92467
|
+
version: "5.1.47",
|
|
92537
92468
|
type: "module",
|
|
92538
92469
|
private: true,
|
|
92539
92470
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -94106,8 +94037,7 @@ function windowsNodeDiscoveryLines() {
|
|
|
94106
94037
|
' for /f "tokens=* delims= " %%N in ("!OMO_NODE_BINARY!") do set "OMO_NODE_BINARY=%%N"',
|
|
94107
94038
|
` if "!OMO_NODE_BINARY:~0,1!"=="'" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~1!"`,
|
|
94108
94039
|
` if "!OMO_NODE_BINARY:~-1!"=="'" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~0,-1!"`,
|
|
94109
|
-
'
|
|
94110
|
-
' if "!OMO_NODE_BINARY:~-1!"=="^"" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~0,-1!"',
|
|
94040
|
+
' set "OMO_NODE_BINARY=!OMO_NODE_BINARY:"=!"',
|
|
94111
94041
|
' if defined OMO_NODE_BINARY if not exist "!OMO_NODE_BINARY!" set "OMO_NODE_BINARY="',
|
|
94112
94042
|
")",
|
|
94113
94043
|
'if not defined OMO_NODE_BINARY where node >nul 2>nul && set "OMO_NODE_BINARY=node"'
|
|
@@ -96703,10 +96633,10 @@ function readCatalogMultiAgentVersion(model, cachePath) {
|
|
|
96703
96633
|
} catch {
|
|
96704
96634
|
return null;
|
|
96705
96635
|
}
|
|
96706
|
-
if (!
|
|
96636
|
+
if (!isRecord12(cache) || !Array.isArray(cache.models))
|
|
96707
96637
|
return null;
|
|
96708
96638
|
for (const entry of cache.models) {
|
|
96709
|
-
if (!
|
|
96639
|
+
if (!isRecord12(entry))
|
|
96710
96640
|
continue;
|
|
96711
96641
|
if (entry.slug !== model && entry.id !== model)
|
|
96712
96642
|
continue;
|
|
@@ -96731,7 +96661,7 @@ function readRootModelCatalogPath(config) {
|
|
|
96731
96661
|
const single = config.match(/^\s*model_catalog_json\s*=\s*'([^']+)'/m);
|
|
96732
96662
|
return single?.[1] ?? null;
|
|
96733
96663
|
}
|
|
96734
|
-
function
|
|
96664
|
+
function isRecord12(value) {
|
|
96735
96665
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
96736
96666
|
}
|
|
96737
96667
|
function removeFeatureFlagSetting(config, featureName) {
|
|
@@ -96849,7 +96779,7 @@ function isMissingFileError(error) {
|
|
|
96849
96779
|
}
|
|
96850
96780
|
|
|
96851
96781
|
// packages/omo-codex/src/install/codex-hook-trust.ts
|
|
96852
|
-
import { createHash as
|
|
96782
|
+
import { createHash as createHash3 } from "node:crypto";
|
|
96853
96783
|
import { readFile as readFile12 } from "node:fs/promises";
|
|
96854
96784
|
import { join as join38 } from "node:path";
|
|
96855
96785
|
var EVENT_LABELS = new Map([
|
|
@@ -96941,7 +96871,7 @@ function commandHookHash(eventName, matcher, handler, command) {
|
|
|
96941
96871
|
if (typeof matcher === "string")
|
|
96942
96872
|
identity.matcher = matcher;
|
|
96943
96873
|
const canonical = JSON.stringify(canonicalJson(identity));
|
|
96944
|
-
return `sha256:${
|
|
96874
|
+
return `sha256:${createHash3("sha256").update(canonical).digest("hex")}`;
|
|
96945
96875
|
}
|
|
96946
96876
|
function canonicalJson(value) {
|
|
96947
96877
|
if (Array.isArray(value))
|
|
@@ -97620,7 +97550,7 @@ function nodeErrorCode2(error) {
|
|
|
97620
97550
|
}
|
|
97621
97551
|
|
|
97622
97552
|
// packages/omo-codex/src/install/default-agent-role.ts
|
|
97623
|
-
import { createHash as
|
|
97553
|
+
import { createHash as createHash4 } from "node:crypto";
|
|
97624
97554
|
import { lstat as lstat9, readFile as readFile16, rm as rm10 } from "node:fs/promises";
|
|
97625
97555
|
import { join as join43 } from "node:path";
|
|
97626
97556
|
var REGISTRATION = { name: "default", configFile: "./agents/default.toml" };
|
|
@@ -97676,7 +97606,7 @@ async function readIfPresent(path) {
|
|
|
97676
97606
|
}
|
|
97677
97607
|
}
|
|
97678
97608
|
function hash(content) {
|
|
97679
|
-
return
|
|
97609
|
+
return createHash4("sha256").update(content).digest("hex");
|
|
97680
97610
|
}
|
|
97681
97611
|
|
|
97682
97612
|
// packages/omo-codex/src/install/link-cached-plugin-agents.ts
|
|
@@ -98341,7 +98271,7 @@ function formatUnknownError(error) {
|
|
|
98341
98271
|
}
|
|
98342
98272
|
|
|
98343
98273
|
// packages/omo-codex/src/install/lsp-daemon-reaper.ts
|
|
98344
|
-
import { createHash as
|
|
98274
|
+
import { createHash as createHash5 } from "node:crypto";
|
|
98345
98275
|
import { lstat as lstat12, readFile as readFile22, readdir as readdir10, rm as rm12 } from "node:fs/promises";
|
|
98346
98276
|
import { tmpdir as tmpdir3 } from "node:os";
|
|
98347
98277
|
import { join as join48, posix as posix6 } from "node:path";
|
|
@@ -98619,7 +98549,7 @@ async function readRegularTrimmedFile(path) {
|
|
|
98619
98549
|
return content.length > 0 ? content : null;
|
|
98620
98550
|
}
|
|
98621
98551
|
function shortDigest(value) {
|
|
98622
|
-
return
|
|
98552
|
+
return createHash5("sha256").update(value).digest("hex").slice(0, 16);
|
|
98623
98553
|
}
|
|
98624
98554
|
async function removeVersionDir(path) {
|
|
98625
98555
|
await rm12(path, { recursive: true, force: true });
|
|
@@ -99690,7 +99620,7 @@ node "%~dp0omo" %*\r
|
|
|
99690
99620
|
}
|
|
99691
99621
|
|
|
99692
99622
|
// packages/omo-senpi/src/install/plugin-artifacts.ts
|
|
99693
|
-
import { createHash as
|
|
99623
|
+
import { createHash as createHash7 } from "node:crypto";
|
|
99694
99624
|
import { constants as constants9 } from "node:fs";
|
|
99695
99625
|
import { access as access2, readFile as readFile29, stat as stat6 } from "node:fs/promises";
|
|
99696
99626
|
import { dirname as dirname24, join as join63 } from "node:path";
|
|
@@ -99729,7 +99659,7 @@ async function readSettings(settingsPath) {
|
|
|
99729
99659
|
throw error;
|
|
99730
99660
|
}
|
|
99731
99661
|
const parsed = JSON.parse(raw);
|
|
99732
|
-
if (!
|
|
99662
|
+
if (!isRecord15(parsed))
|
|
99733
99663
|
throw new Error(`${settingsPath} must contain a JSON object`);
|
|
99734
99664
|
return parsed;
|
|
99735
99665
|
}
|
|
@@ -99790,7 +99720,7 @@ async function nextBackupPath(settingsPath) {
|
|
|
99790
99720
|
function timestampForBackup() {
|
|
99791
99721
|
return new Date().toISOString().replace(/[-:.]/g, "");
|
|
99792
99722
|
}
|
|
99793
|
-
function
|
|
99723
|
+
function isRecord15(value) {
|
|
99794
99724
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
99795
99725
|
}
|
|
99796
99726
|
async function readPackageName(packagePath) {
|
|
@@ -99810,7 +99740,7 @@ async function readPackageName(packagePath) {
|
|
|
99810
99740
|
return;
|
|
99811
99741
|
throw error;
|
|
99812
99742
|
}
|
|
99813
|
-
return
|
|
99743
|
+
return isRecord15(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
|
|
99814
99744
|
}
|
|
99815
99745
|
async function fileExists(path) {
|
|
99816
99746
|
try {
|
|
@@ -99838,7 +99768,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99838
99768
|
join63("extensions", "omo-memory-commands.js"),
|
|
99839
99769
|
join63("extensions", "omo-session-history.js"),
|
|
99840
99770
|
join63("extensions", "omo-recall-store.js"),
|
|
99841
|
-
join63("extensions", "omo-dori-migration.js"),
|
|
99842
99771
|
join63("extensions", "omo-telemetry-posthog.js"),
|
|
99843
99772
|
join63("extensions", "omo-memory-sync.js"),
|
|
99844
99773
|
join63("extensions", "loro_wasm_bg.wasm"),
|
|
@@ -99935,7 +99864,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
|
|
|
99935
99864
|
}
|
|
99936
99865
|
let actualSha256;
|
|
99937
99866
|
try {
|
|
99938
|
-
actualSha256 =
|
|
99867
|
+
actualSha256 = createHash7("sha256").update(await readFile29(runtimeEntry)).digest("hex");
|
|
99939
99868
|
} catch (error) {
|
|
99940
99869
|
throw astGrepIntegrityError(runtimeEntry, `runtime hash could not be computed: ${messageOf(error)}`);
|
|
99941
99870
|
}
|
|
@@ -99948,7 +99877,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
|
|
|
99948
99877
|
}
|
|
99949
99878
|
}
|
|
99950
99879
|
function isAstGrepRuntimeManifest(value) {
|
|
99951
|
-
if (!
|
|
99880
|
+
if (!isRecord15(value))
|
|
99952
99881
|
return false;
|
|
99953
99882
|
return typeof value.sha256 === "string" && /^[a-f0-9]{64}$/.test(value.sha256) && typeof value.mode === "number" && Number.isInteger(value.mode) && typeof value.stagedAtUtc === "string" && !Number.isNaN(Date.parse(value.stagedAtUtc));
|
|
99954
99883
|
}
|
|
@@ -108046,13 +107975,11 @@ async function checkModels() {
|
|
|
108046
107975
|
|
|
108047
107976
|
// packages/omo-opencode/src/cli/doctor/checks/legacy-config-leftovers.ts
|
|
108048
107977
|
init_config_migration();
|
|
108049
|
-
init_dori_section_rename();
|
|
108050
107978
|
import { posix as posix12, win32 as win329 } from "node:path";
|
|
108051
107979
|
function findLegacyConfigLeftovers(options) {
|
|
108052
107980
|
const pathOperations = options.pathOperations ?? (process.platform === "win32" ? win329 : posix12);
|
|
108053
107981
|
const paths = createLegacyConfigMigrationPlans({
|
|
108054
107982
|
cwd: options.cwd,
|
|
108055
|
-
doriSectionRename,
|
|
108056
107983
|
environment: options.environment ?? process.env,
|
|
108057
107984
|
homeDir: options.homeDir,
|
|
108058
107985
|
pathOperations,
|
|
@@ -108251,14 +108178,14 @@ var CANONICAL_REPLACEMENT = new Map([
|
|
|
108251
108178
|
var MIGRATE_SUFFIX = ", or run: oh-my-openagent config migrate";
|
|
108252
108179
|
var TUNING_CONTAINERS = new Set(["agents", "categories", "models"]);
|
|
108253
108180
|
var PASSTHROUGH_CONTAINERS = new Set(["provider_options", "providerOptions"]);
|
|
108254
|
-
function
|
|
108181
|
+
function isRecord16(value) {
|
|
108255
108182
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
108256
108183
|
}
|
|
108257
108184
|
function isHarnessBlock(key) {
|
|
108258
108185
|
return key.startsWith("[") && key.endsWith("]");
|
|
108259
108186
|
}
|
|
108260
108187
|
function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
108261
|
-
if (!
|
|
108188
|
+
if (!isRecord16(value))
|
|
108262
108189
|
return [];
|
|
108263
108190
|
const issues = [];
|
|
108264
108191
|
for (const [key, child] of Object.entries(value)) {
|
|
@@ -108274,7 +108201,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
|
108274
108201
|
});
|
|
108275
108202
|
continue;
|
|
108276
108203
|
}
|
|
108277
|
-
if (!
|
|
108204
|
+
if (!isRecord16(child))
|
|
108278
108205
|
continue;
|
|
108279
108206
|
if (PASSTHROUGH_CONTAINERS.has(key))
|
|
108280
108207
|
continue;
|
|
@@ -108293,7 +108220,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
|
108293
108220
|
return issues;
|
|
108294
108221
|
}
|
|
108295
108222
|
function migrateFixSuffix(parsed) {
|
|
108296
|
-
if (
|
|
108223
|
+
if (isRecord16(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
|
|
108297
108224
|
return "";
|
|
108298
108225
|
return MIGRATE_SUFFIX;
|
|
108299
108226
|
}
|
|
@@ -109158,10 +109085,6 @@ var package_default3 = {
|
|
|
109158
109085
|
types: "./src/cli/service-auth/index.ts",
|
|
109159
109086
|
import: "./src/cli/service-auth/index.ts"
|
|
109160
109087
|
},
|
|
109161
|
-
"./config-migration/dori-section-rename": {
|
|
109162
|
-
types: "./src/config-migration/dori-section-rename.ts",
|
|
109163
|
-
import: "./src/config-migration/dori-section-rename.ts"
|
|
109164
|
-
},
|
|
109165
109088
|
"./binary-downloader": {
|
|
109166
109089
|
types: "./src/shared/binary-downloader.ts",
|
|
109167
109090
|
import: "./src/shared/binary-downloader.ts"
|
|
@@ -109592,12 +109515,12 @@ async function auditBundleTargets(pluginRoot) {
|
|
|
109592
109515
|
let referencedCount = 0;
|
|
109593
109516
|
for (const manifestPath of await findManifestPaths(pluginRoot, ".mcp.json")) {
|
|
109594
109517
|
const manifest = await readJson2(manifestPath);
|
|
109595
|
-
if (manifest === null || !
|
|
109518
|
+
if (manifest === null || !isRecord18(manifest["mcpServers"]))
|
|
109596
109519
|
continue;
|
|
109597
109520
|
const manifestRoot = dirname39(manifestPath);
|
|
109598
109521
|
const isRootManifest = resolve28(manifestRoot) === resolve28(pluginRoot);
|
|
109599
109522
|
for (const server of Object.values(manifest["mcpServers"])) {
|
|
109600
|
-
if (!
|
|
109523
|
+
if (!isRecord18(server) || !Array.isArray(server["args"]))
|
|
109601
109524
|
continue;
|
|
109602
109525
|
for (const arg of server["args"]) {
|
|
109603
109526
|
if (typeof arg !== "string" || !isPluginRuntimePathArg(arg))
|
|
@@ -109683,7 +109606,7 @@ function collectHookCommands(value, commands) {
|
|
|
109683
109606
|
collectHookCommands(item, commands);
|
|
109684
109607
|
return;
|
|
109685
109608
|
}
|
|
109686
|
-
if (!
|
|
109609
|
+
if (!isRecord18(value))
|
|
109687
109610
|
return;
|
|
109688
109611
|
if (value["type"] === "command") {
|
|
109689
109612
|
if (typeof value["command"] === "string")
|
|
@@ -109738,7 +109661,7 @@ function parseDegradedEntries(value) {
|
|
|
109738
109661
|
return [];
|
|
109739
109662
|
const entries = [];
|
|
109740
109663
|
for (const item of value) {
|
|
109741
|
-
if (!
|
|
109664
|
+
if (!isRecord18(item))
|
|
109742
109665
|
continue;
|
|
109743
109666
|
if (typeof item["component"] !== "string" || typeof item["reason"] !== "string")
|
|
109744
109667
|
continue;
|
|
@@ -109772,7 +109695,7 @@ function degradedDetailLines(entries) {
|
|
|
109772
109695
|
async function readJson2(path) {
|
|
109773
109696
|
try {
|
|
109774
109697
|
const parsed = JSON.parse(await readFile31(path, "utf8"));
|
|
109775
|
-
return
|
|
109698
|
+
return isRecord18(parsed) ? parsed : null;
|
|
109776
109699
|
} catch (error) {
|
|
109777
109700
|
if (error instanceof Error)
|
|
109778
109701
|
return null;
|
|
@@ -109793,7 +109716,7 @@ function normalizeRelative(root, target) {
|
|
|
109793
109716
|
function normalizePathSeparators(path) {
|
|
109794
109717
|
return path.split("\\").join("/");
|
|
109795
109718
|
}
|
|
109796
|
-
function
|
|
109719
|
+
function isRecord18(value) {
|
|
109797
109720
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
109798
109721
|
}
|
|
109799
109722
|
|
|
@@ -110338,7 +110261,7 @@ Doctor failed unexpectedly: ${message}`];
|
|
|
110338
110261
|
init_commander();
|
|
110339
110262
|
|
|
110340
110263
|
// packages/mcp-client-core/src/mcp-oauth/storage.ts
|
|
110341
|
-
import { createHash as
|
|
110264
|
+
import { createHash as createHash8 } from "node:crypto";
|
|
110342
110265
|
import {
|
|
110343
110266
|
chmodSync as chmodSync5,
|
|
110344
110267
|
existsSync as existsSync65,
|
|
@@ -110433,7 +110356,7 @@ function getMcpOauthStorageDir() {
|
|
|
110433
110356
|
return join101(getOpenCodeCliConfigDir(), STORAGE_DIR_NAME);
|
|
110434
110357
|
}
|
|
110435
110358
|
function getMcpOauthServerHash(serverHost, resource) {
|
|
110436
|
-
return
|
|
110359
|
+
return createHash8("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
|
|
110437
110360
|
}
|
|
110438
110361
|
function getMcpOauthStoragePath(serverHost, resource) {
|
|
110439
110362
|
return join101(getMcpOauthStorageDir(), `${getMcpOauthServerHash(serverHost, resource)}.json`);
|
|
@@ -110807,13 +110730,13 @@ async function findAvailablePort2(startPort = DEFAULT_PORT) {
|
|
|
110807
110730
|
|
|
110808
110731
|
// packages/mcp-client-core/src/mcp-oauth/oauth-authorization-flow.ts
|
|
110809
110732
|
import { spawn as spawn4 } from "node:child_process";
|
|
110810
|
-
import { createHash as
|
|
110733
|
+
import { createHash as createHash9, randomBytes as randomBytes2 } from "node:crypto";
|
|
110811
110734
|
import { createServer as createServer2 } from "node:http";
|
|
110812
110735
|
function generateCodeVerifier() {
|
|
110813
110736
|
return randomBytes2(32).toString("base64url");
|
|
110814
110737
|
}
|
|
110815
110738
|
function generateCodeChallenge(verifier) {
|
|
110816
|
-
return
|
|
110739
|
+
return createHash9("sha256").update(verifier).digest("base64url");
|
|
110817
110740
|
}
|
|
110818
110741
|
function buildAuthorizationUrl(authorizationEndpoint, options) {
|
|
110819
110742
|
const url = new URL(authorizationEndpoint);
|
|
@@ -112175,7 +112098,7 @@ async function loginDevice(session, options) {
|
|
|
112175
112098
|
}
|
|
112176
112099
|
|
|
112177
112100
|
// packages/omo-opencode/src/cli/service-auth/keystore.ts
|
|
112178
|
-
import { createHash as
|
|
112101
|
+
import { createHash as createHash10 } from "node:crypto";
|
|
112179
112102
|
|
|
112180
112103
|
// packages/omo-opencode/src/cli/service-auth/secret-service-lock.ts
|
|
112181
112104
|
import { spawn as spawn5 } from "node:child_process";
|
|
@@ -112224,6 +112147,8 @@ class CredentialStoreError extends SignInError {
|
|
|
112224
112147
|
|
|
112225
112148
|
class KeychainLockedError extends CredentialStoreError {
|
|
112226
112149
|
}
|
|
112150
|
+
class InvalidCredentialState extends SignInError {
|
|
112151
|
+
}
|
|
112227
112152
|
var LOCKED = /-25308|errSecInteractionNotAllowed|interaction is not allowed|locked collection/i;
|
|
112228
112153
|
var UNLOCKED_REUSE_MS = 30000;
|
|
112229
112154
|
var fallbackNoticed = false;
|
|
@@ -112236,15 +112161,18 @@ var stderrNoticeOncePerProcess = (message) => {
|
|
|
112236
112161
|
};
|
|
112237
112162
|
var isLocked = (error) => error instanceof Error && (LOCKED.test(error.message) || LOCKED.test(String(error.code ?? "")));
|
|
112238
112163
|
function credentialId(api) {
|
|
112239
|
-
return
|
|
112164
|
+
return createHash10("sha256").update(serviceOrigin(api)).digest("hex");
|
|
112240
112165
|
}
|
|
112241
112166
|
function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
|
|
112167
|
+
return createSealedStore(api, "omo-cli", credentialSchema, secrets, platform, lockProbe, notice);
|
|
112168
|
+
}
|
|
112169
|
+
function createSealedStore(api, namespace, schema, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
|
|
112242
112170
|
if (!secrets)
|
|
112243
112171
|
throw new SignInError("OmO sign-in needs Bun 1.4 or newer with OS credential storage. No file fallback is available.");
|
|
112244
112172
|
const platformName = platform === "darwin" ? "macOS Keychain" : platform === "linux" ? "Linux Secret Service (libsecret and an unlocked keyring)" : platform === "win32" ? "Windows Credential Manager" : null;
|
|
112245
112173
|
if (platformName === null)
|
|
112246
112174
|
throw new SignInError("This platform has no supported OS credential store.");
|
|
112247
|
-
const key = { service:
|
|
112175
|
+
const key = { service: namespace, name: credentialId(api) };
|
|
112248
112176
|
const unavailable = (error) => isLocked(error) ? new KeychainLockedError(`${platformName} is locked. Unlock it, then try again. Credentials are never saved to a file.`) : new CredentialStoreError(`Cannot access ${platformName}. Unlock or enable the OS credential store and try again. Credentials are never saved to a file.`);
|
|
112249
112177
|
let unlockedUntil = 0;
|
|
112250
112178
|
let noticed = false;
|
|
@@ -112275,15 +112203,15 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
|
|
|
112275
112203
|
if (value === null)
|
|
112276
112204
|
return null;
|
|
112277
112205
|
try {
|
|
112278
|
-
return
|
|
112206
|
+
return schema.parse(JSON.parse(value));
|
|
112279
112207
|
} catch {
|
|
112280
|
-
throw new
|
|
112208
|
+
throw new InvalidCredentialState("Stored sign-in data is invalid. Run omo logout, then omo login.");
|
|
112281
112209
|
}
|
|
112282
112210
|
},
|
|
112283
112211
|
async write(value) {
|
|
112284
112212
|
await assertUsable();
|
|
112285
112213
|
try {
|
|
112286
|
-
await secrets.set({ ...key, value: JSON.stringify(
|
|
112214
|
+
await secrets.set({ ...key, value: JSON.stringify(schema.parse(value)) });
|
|
112287
112215
|
} catch (error) {
|
|
112288
112216
|
throw unavailable(error);
|
|
112289
112217
|
}
|
|
@@ -112300,7 +112228,7 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
|
|
|
112300
112228
|
}
|
|
112301
112229
|
|
|
112302
112230
|
// packages/omo-opencode/src/cli/service-auth/loopback.ts
|
|
112303
|
-
import { createHash as
|
|
112231
|
+
import { createHash as createHash11, randomBytes as randomBytes3, timingSafeEqual } from "node:crypto";
|
|
112304
112232
|
import { createServer as createServer3 } from "node:http";
|
|
112305
112233
|
class BrowserUnavailable extends SignInError {
|
|
112306
112234
|
}
|
|
@@ -112346,7 +112274,7 @@ async function authorize(options) {
|
|
|
112346
112274
|
const url = new URL(serviceOrigin(options.accounts));
|
|
112347
112275
|
url.search = new URLSearchParams({
|
|
112348
112276
|
redirect_uri: `${origin}/callback`,
|
|
112349
|
-
code_challenge:
|
|
112277
|
+
code_challenge: createHash11("sha256").update(verifier).digest("base64url"),
|
|
112350
112278
|
code_challenge_method: "S256",
|
|
112351
112279
|
state
|
|
112352
112280
|
}).toString();
|
|
@@ -112535,7 +112463,7 @@ async function publishLockRecord(lockPath, record) {
|
|
|
112535
112463
|
}
|
|
112536
112464
|
|
|
112537
112465
|
// packages/team-core/src/team-state-store/lock-reclaim.ts
|
|
112538
|
-
import { createHash as
|
|
112466
|
+
import { createHash as createHash12 } from "node:crypto";
|
|
112539
112467
|
import { unlink as unlink3 } from "node:fs/promises";
|
|
112540
112468
|
var RECLAIM_UNLINK_ATTEMPTS = 3;
|
|
112541
112469
|
var RECLAIM_UNLINK_RETRY_MS = 25;
|
|
@@ -112545,7 +112473,7 @@ function delay2(ms) {
|
|
|
112545
112473
|
});
|
|
112546
112474
|
}
|
|
112547
112475
|
function reclaimGuardPath(lockPath, record) {
|
|
112548
|
-
return `${lockPath}.reclaim-${
|
|
112476
|
+
return `${lockPath}.reclaim-${createHash12("sha256").update(record).digest("hex").slice(0, 16)}`;
|
|
112549
112477
|
}
|
|
112550
112478
|
async function unlinkWithRetry(path, deps) {
|
|
112551
112479
|
const wait = deps.delay ?? delay2;
|