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/index.js
CHANGED
|
@@ -2132,7 +2132,7 @@ var package_default;
|
|
|
2132
2132
|
var init_package = __esm(() => {
|
|
2133
2133
|
package_default = {
|
|
2134
2134
|
name: "oh-my-opencode",
|
|
2135
|
-
version: "5.1.
|
|
2135
|
+
version: "5.1.47",
|
|
2136
2136
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2137
2137
|
main: "./dist/index.js",
|
|
2138
2138
|
types: "dist/index.d.ts",
|
|
@@ -2378,18 +2378,18 @@ var init_package = __esm(() => {
|
|
|
2378
2378
|
typescript: "^7.0.2"
|
|
2379
2379
|
},
|
|
2380
2380
|
optionalDependencies: {
|
|
2381
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2382
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2383
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2384
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2385
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2386
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2387
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2388
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2389
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2390
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2391
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2392
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2381
|
+
"oh-my-opencode-darwin-arm64": "5.1.47",
|
|
2382
|
+
"oh-my-opencode-darwin-x64": "5.1.47",
|
|
2383
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.47",
|
|
2384
|
+
"oh-my-opencode-linux-arm64": "5.1.47",
|
|
2385
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.47",
|
|
2386
|
+
"oh-my-opencode-linux-x64": "5.1.47",
|
|
2387
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.47",
|
|
2388
|
+
"oh-my-opencode-linux-x64-musl": "5.1.47",
|
|
2389
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.47",
|
|
2390
|
+
"oh-my-opencode-windows-arm64": "5.1.47",
|
|
2391
|
+
"oh-my-opencode-windows-x64": "5.1.47",
|
|
2392
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.47"
|
|
2393
2393
|
},
|
|
2394
2394
|
overrides: {
|
|
2395
2395
|
hono: "^4.13.8",
|
|
@@ -7163,7 +7163,7 @@ function resolveStdio(options) {
|
|
|
7163
7163
|
return [options.stdin ?? "ignore", options.stdout ?? "pipe", options.stderr ?? "inherit"];
|
|
7164
7164
|
}
|
|
7165
7165
|
function createBunSpawnOptions(options) {
|
|
7166
|
-
return { ...options, windowsHide: true };
|
|
7166
|
+
return { ...options, env: options.env ?? process.env, windowsHide: true };
|
|
7167
7167
|
}
|
|
7168
7168
|
function createNodeSpawnOptions(options, platform = process.platform) {
|
|
7169
7169
|
const nodeOptions = {
|
|
@@ -10184,6 +10184,10 @@ function transformModelForProviderUsingAnthropicBehavior(provider, model) {
|
|
|
10184
10184
|
return "k3";
|
|
10185
10185
|
if (model === "kimi-k3-256k")
|
|
10186
10186
|
return "k3-256k";
|
|
10187
|
+
if (model === "kimi-k3.1-pro")
|
|
10188
|
+
return "k3.1-pro";
|
|
10189
|
+
if (model === "kimi-k3.1-pro-highspeed")
|
|
10190
|
+
return "k3.1-pro-highspeed";
|
|
10187
10191
|
}
|
|
10188
10192
|
return model;
|
|
10189
10193
|
}
|
|
@@ -76903,6 +76907,7 @@ var init_memory = __esm(() => {
|
|
|
76903
76907
|
merge: _enum(["auto", "integration"]).default("auto"),
|
|
76904
76908
|
category: string2().min(1).default("quick"),
|
|
76905
76909
|
timeout_minutes: number2().int().positive().default(15),
|
|
76910
|
+
max_concurrent_runs: number2().int().positive().default(1),
|
|
76906
76911
|
sandbox: _enum(["auto", "required", "off"]).default("auto")
|
|
76907
76912
|
}).strict();
|
|
76908
76913
|
OmoMemorySyncSchema = object({
|
|
@@ -76974,6 +76979,7 @@ var init_memory = __esm(() => {
|
|
|
76974
76979
|
merge: _enum(["auto", "integration"]).optional(),
|
|
76975
76980
|
category: string2().min(1).optional(),
|
|
76976
76981
|
timeout_minutes: number2().int().positive().optional(),
|
|
76982
|
+
max_concurrent_runs: number2().int().positive().optional(),
|
|
76977
76983
|
sandbox: _enum(["auto", "required", "off"]).optional()
|
|
76978
76984
|
}).strict();
|
|
76979
76985
|
OmoMemorySyncLayerSchema = object({
|
|
@@ -77038,7 +77044,7 @@ var init_memory = __esm(() => {
|
|
|
77038
77044
|
OmoMemoryAgentOverridesSchema = object({
|
|
77039
77045
|
enabled: boolean2().optional(),
|
|
77040
77046
|
agent: string2().min(1).optional(),
|
|
77041
|
-
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
77047
|
+
reflection: OmoMemoryReflectionLayerSchema.omit({ max_concurrent_runs: true }).optional(),
|
|
77042
77048
|
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
77043
77049
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
77044
77050
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
@@ -77063,6 +77069,7 @@ var init_memory = __esm(() => {
|
|
|
77063
77069
|
merge: "auto",
|
|
77064
77070
|
category: "quick",
|
|
77065
77071
|
timeout_minutes: 15,
|
|
77072
|
+
max_concurrent_runs: 1,
|
|
77066
77073
|
sandbox: "auto"
|
|
77067
77074
|
}),
|
|
77068
77075
|
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
@@ -77437,13 +77444,6 @@ var init_format_on_mutation = __esm(() => {
|
|
|
77437
77444
|
}).strict();
|
|
77438
77445
|
});
|
|
77439
77446
|
|
|
77440
|
-
// packages/omo-config-core/src/schema/dori.ts
|
|
77441
|
-
var OmoDoriSectionSchema;
|
|
77442
|
-
var init_dori = __esm(() => {
|
|
77443
|
-
init_zod();
|
|
77444
|
-
OmoDoriSectionSchema = record(string2(), unknown()).describe("Chat-surface dori settings, owned and validated by a separately installed dori package. omo accepts the key and never reads it.");
|
|
77445
|
-
});
|
|
77446
|
-
|
|
77447
77447
|
// packages/omo-config-core/src/schema/provenance.ts
|
|
77448
77448
|
var OmoProvenanceSettingsSchema;
|
|
77449
77449
|
var init_provenance = __esm(() => {
|
|
@@ -77473,7 +77473,6 @@ var init_config = __esm(() => {
|
|
|
77473
77473
|
init_team();
|
|
77474
77474
|
init_telemetry();
|
|
77475
77475
|
init_format_on_mutation();
|
|
77476
|
-
init_dori();
|
|
77477
77476
|
init_provenance();
|
|
77478
77477
|
OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
77479
77478
|
OmoDisabledSkillsSchema = array(string2());
|
|
@@ -77481,7 +77480,6 @@ var init_config = __esm(() => {
|
|
|
77481
77480
|
OmoTypedHarnessConfigSchema = object({
|
|
77482
77481
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77483
77482
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77484
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77485
77483
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77486
77484
|
agents: OmoAgentsConfigSchema.optional(),
|
|
77487
77485
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -77500,7 +77498,6 @@ var init_config = __esm(() => {
|
|
|
77500
77498
|
OmoConfigProfileSchema = object({
|
|
77501
77499
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77502
77500
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77503
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77504
77501
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77505
77502
|
agents: OmoAgentsConfigSchema.optional(),
|
|
77506
77503
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -77523,7 +77520,6 @@ var init_config = __esm(() => {
|
|
|
77523
77520
|
OmoConfigSchema = object({
|
|
77524
77521
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77525
77522
|
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
77526
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77527
77523
|
$schema: string2().optional(),
|
|
77528
77524
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77529
77525
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -77550,7 +77546,6 @@ var init_config = __esm(() => {
|
|
|
77550
77546
|
OmoConfigLayerSchema = object({
|
|
77551
77547
|
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
77552
77548
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77553
|
-
dori: OmoDoriSectionSchema.optional(),
|
|
77554
77549
|
$schema: string2().optional(),
|
|
77555
77550
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
77556
77551
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -77692,54 +77687,6 @@ var init_legacy_harness_names = __esm(() => {
|
|
|
77692
77687
|
init_harness();
|
|
77693
77688
|
});
|
|
77694
77689
|
|
|
77695
|
-
// packages/omo-config-core/src/schema/legacy-dori-section.ts
|
|
77696
|
-
function isRecord11(value) {
|
|
77697
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
77698
|
-
}
|
|
77699
|
-
function migrateLegacyDoriSection(document) {
|
|
77700
|
-
if (!isRecord11(document))
|
|
77701
|
-
return { document: {}, diagnostics: [] };
|
|
77702
|
-
const diagnostics = [];
|
|
77703
|
-
const rename = (container, path) => {
|
|
77704
|
-
const result = { ...container };
|
|
77705
|
-
if (Object.hasOwn(container, "gateway")) {
|
|
77706
|
-
if (Object.hasOwn(container, "dori")) {
|
|
77707
|
-
diagnostics.push(`${[...path, "gateway"].join(".")} removed: dori is already configured`);
|
|
77708
|
-
} else {
|
|
77709
|
-
result.dori = container.gateway;
|
|
77710
|
-
diagnostics.push(`${[...path, "gateway"].join(".")} renamed to dori`);
|
|
77711
|
-
}
|
|
77712
|
-
delete result.gateway;
|
|
77713
|
-
}
|
|
77714
|
-
return result;
|
|
77715
|
-
};
|
|
77716
|
-
const layer = (container, path) => {
|
|
77717
|
-
const result = rename(container, path);
|
|
77718
|
-
for (const key of HARNESS_BLOCKS) {
|
|
77719
|
-
const block = container[key];
|
|
77720
|
-
if (isRecord11(block))
|
|
77721
|
-
result[key] = rename(block, [...path, key]);
|
|
77722
|
-
}
|
|
77723
|
-
return result;
|
|
77724
|
-
};
|
|
77725
|
-
const result = layer(document, []);
|
|
77726
|
-
if (isRecord11(document.profiles)) {
|
|
77727
|
-
const profiles = {};
|
|
77728
|
-
for (const [name, profile] of Object.entries(document.profiles)) {
|
|
77729
|
-
profiles[name] = isRecord11(profile) ? layer(profile, ["profiles", name]) : profile;
|
|
77730
|
-
}
|
|
77731
|
-
result.profiles = profiles;
|
|
77732
|
-
}
|
|
77733
|
-
return { document: result, diagnostics };
|
|
77734
|
-
}
|
|
77735
|
-
function hasLegacyGatewaySection(document) {
|
|
77736
|
-
return migrateLegacyDoriSection(document).diagnostics.length > 0;
|
|
77737
|
-
}
|
|
77738
|
-
var HARNESS_BLOCKS;
|
|
77739
|
-
var init_legacy_dori_section = __esm(() => {
|
|
77740
|
-
HARNESS_BLOCKS = ["[opencode]", "[native]", "[senpi]", "[codex]"];
|
|
77741
|
-
});
|
|
77742
|
-
|
|
77743
77690
|
// packages/omo-config-core/src/schema/index.ts
|
|
77744
77691
|
var init_schema = __esm(() => {
|
|
77745
77692
|
init_agent();
|
|
@@ -77747,12 +77694,10 @@ var init_schema = __esm(() => {
|
|
|
77747
77694
|
init_config();
|
|
77748
77695
|
init_fallback_models();
|
|
77749
77696
|
init_format_on_mutation();
|
|
77750
|
-
init_dori();
|
|
77751
77697
|
init_git_master();
|
|
77752
77698
|
init_harness();
|
|
77753
77699
|
init_legacy_category_names();
|
|
77754
77700
|
init_legacy_harness_names();
|
|
77755
|
-
init_legacy_dori_section();
|
|
77756
77701
|
init_memory();
|
|
77757
77702
|
init_model_catalog();
|
|
77758
77703
|
init_model_profile();
|
|
@@ -78023,6 +77968,7 @@ function pruneInvalidConfigPaths(config, issues, validate, maxPasses = MAX_PRUNE
|
|
|
78023
77968
|
var MAX_PRUNE_PASSES = 32;
|
|
78024
77969
|
|
|
78025
77970
|
// packages/omo-config-core/src/loader/layer-validation.ts
|
|
77971
|
+
import { createHash as createHash2 } from "crypto";
|
|
78026
77972
|
function validationDiagnostic(path, issues) {
|
|
78027
77973
|
const issuePaths = issues.map((issue) => issue.path.map((segment) => String(segment)).join("."));
|
|
78028
77974
|
return {
|
|
@@ -78043,9 +77989,12 @@ function invalidValueDiagnostics(path, dropped) {
|
|
|
78043
77989
|
function unrecognizedKeyIssues(issues) {
|
|
78044
77990
|
return issues.flatMap((issue) => issue.code === "unrecognized_keys" ? [{ keys: issue.keys, path: issue.path.map((segment) => String(segment)) }] : []);
|
|
78045
77991
|
}
|
|
78046
|
-
function
|
|
77992
|
+
function isRecord11(value) {
|
|
78047
77993
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
78048
77994
|
}
|
|
77995
|
+
function isRetiredSection(key) {
|
|
77996
|
+
return RETIRED_SECTION_DIGESTS.has(createHash2("sha256").update(key.toLowerCase()).digest("hex"));
|
|
77997
|
+
}
|
|
78049
77998
|
function sanitizeUnsafeKeys(value, path = []) {
|
|
78050
77999
|
if (Array.isArray(value)) {
|
|
78051
78000
|
const issues = [];
|
|
@@ -78056,7 +78005,7 @@ function sanitizeUnsafeKeys(value, path = []) {
|
|
|
78056
78005
|
});
|
|
78057
78006
|
return { issues, value: sanitized };
|
|
78058
78007
|
}
|
|
78059
|
-
if (!
|
|
78008
|
+
if (!isRecord11(value))
|
|
78060
78009
|
return { issues: [], value };
|
|
78061
78010
|
const issues = [];
|
|
78062
78011
|
if (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) {
|
|
@@ -78064,6 +78013,9 @@ function sanitizeUnsafeKeys(value, path = []) {
|
|
|
78064
78013
|
}
|
|
78065
78014
|
const sanitized = {};
|
|
78066
78015
|
for (const [key, entry] of Object.entries(value)) {
|
|
78016
|
+
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] ?? "");
|
|
78017
|
+
if (isConfigContainer && isRetiredSection(key))
|
|
78018
|
+
continue;
|
|
78067
78019
|
if (isUnsafeObjectKey2(key)) {
|
|
78068
78020
|
issues.push({ keys: [key], path });
|
|
78069
78021
|
continue;
|
|
@@ -78082,13 +78034,13 @@ function containerAt(record, path) {
|
|
|
78082
78034
|
if (!Number.isInteger(index) || index < 0 || index >= node.length)
|
|
78083
78035
|
return null;
|
|
78084
78036
|
node = node[index];
|
|
78085
|
-
} else if (
|
|
78037
|
+
} else if (isRecord11(node) && Object.hasOwn(node, segment)) {
|
|
78086
78038
|
node = node[segment];
|
|
78087
78039
|
} else {
|
|
78088
78040
|
return null;
|
|
78089
78041
|
}
|
|
78090
78042
|
}
|
|
78091
|
-
return
|
|
78043
|
+
return isRecord11(node) ? node : null;
|
|
78092
78044
|
}
|
|
78093
78045
|
function stripUnrecognizedKeys(record, issues) {
|
|
78094
78046
|
const stripped = structuredClone(record);
|
|
@@ -78150,13 +78102,18 @@ function validateConfigLayer(path, data) {
|
|
|
78150
78102
|
return rejected;
|
|
78151
78103
|
return { loaded: true, diagnostics: [...diagnostics, ...invalidValueDiagnostics(path, pruned.dropped)], value: pruned.config };
|
|
78152
78104
|
}
|
|
78153
|
-
var validateLayerRecord = (record) => {
|
|
78105
|
+
var RETIRED_SECTION_DIGESTS, HARNESS_BLOCKS, validateLayerRecord = (record) => {
|
|
78154
78106
|
const parsed = OmoConfigLayerSchema.safeParse(record);
|
|
78155
78107
|
return parsed.success ? { success: true } : { success: false, issues: parsed.error.issues };
|
|
78156
78108
|
};
|
|
78157
78109
|
var init_layer_validation = __esm(() => {
|
|
78158
78110
|
init_schema();
|
|
78159
78111
|
init_merge();
|
|
78112
|
+
RETIRED_SECTION_DIGESTS = new Set([
|
|
78113
|
+
"447f75a8ebdbdb79a57f0b8cebbfba183820cf54a8119ac01449b30499e5ef0e",
|
|
78114
|
+
"4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889"
|
|
78115
|
+
]);
|
|
78116
|
+
HARNESS_BLOCKS = new Set(["[opencode]", "[native]", "[senpi]", "[codex]"]);
|
|
78160
78117
|
});
|
|
78161
78118
|
|
|
78162
78119
|
// packages/omo-config-core/src/internal/posix-path.ts
|
|
@@ -81716,18 +81673,6 @@ function subscriptionProviderRenamePlan(targetPath) {
|
|
|
81716
81673
|
transform: inspect
|
|
81717
81674
|
};
|
|
81718
81675
|
}
|
|
81719
|
-
function doriSectionRenamePlan(targetPath, rename) {
|
|
81720
|
-
const inspect = (sources) => rename.transform(sources[0]?.value);
|
|
81721
|
-
return {
|
|
81722
|
-
id: DORI_SECTION_RENAME_MIGRATION_ID,
|
|
81723
|
-
inspect,
|
|
81724
|
-
mode: "replace-target",
|
|
81725
|
-
shouldRun: rename.shouldRun,
|
|
81726
|
-
sources: [],
|
|
81727
|
-
targetPath,
|
|
81728
|
-
transform: inspect
|
|
81729
|
-
};
|
|
81730
|
-
}
|
|
81731
81676
|
function existingOmoConfigPath(directory, options) {
|
|
81732
81677
|
const fileSystem = discoveryFileSystem(options);
|
|
81733
81678
|
for (const fileName of ["omo.jsonc", "omo.json"]) {
|
|
@@ -81789,7 +81734,6 @@ function createLegacyConfigMigrationPlans(options) {
|
|
|
81789
81734
|
addReasoningTarget(plan.targetPath);
|
|
81790
81735
|
const inPlaceTargets = [...reasoningTargets.values()];
|
|
81791
81736
|
return [
|
|
81792
|
-
...inPlaceTargets.map((targetPath) => doriSectionRenamePlan(targetPath, options.doriSectionRename)),
|
|
81793
81737
|
...legacyPlans,
|
|
81794
81738
|
...inPlaceTargets.map(reasoningPlan),
|
|
81795
81739
|
...inPlaceTargets.map(categoryDeepSplitPlan),
|
|
@@ -81797,7 +81741,6 @@ function createLegacyConfigMigrationPlans(options) {
|
|
|
81797
81741
|
...inPlaceTargets.map(subscriptionProviderRenamePlan)
|
|
81798
81742
|
];
|
|
81799
81743
|
}
|
|
81800
|
-
var DORI_SECTION_RENAME_MIGRATION_ID = "2026-10-dori-section-rename";
|
|
81801
81744
|
var init_migration_plans = __esm(() => {
|
|
81802
81745
|
init_discovery2();
|
|
81803
81746
|
init_discovery_paths2();
|
|
@@ -81824,16 +81767,6 @@ var init_config_migration = __esm(() => {
|
|
|
81824
81767
|
init_reasoning_unification();
|
|
81825
81768
|
});
|
|
81826
81769
|
|
|
81827
|
-
// packages/omo-opencode/src/config-migration/dori-section-rename.ts
|
|
81828
|
-
var doriSectionRename;
|
|
81829
|
-
var init_dori_section_rename = __esm(() => {
|
|
81830
|
-
init_src4();
|
|
81831
|
-
doriSectionRename = {
|
|
81832
|
-
shouldRun: hasLegacyGatewaySection,
|
|
81833
|
-
transform: migrateLegacyDoriSection
|
|
81834
|
-
};
|
|
81835
|
-
});
|
|
81836
|
-
|
|
81837
81770
|
// packages/omo-opencode/src/startup-migration.ts
|
|
81838
81771
|
import { posix as posix5 } from "path";
|
|
81839
81772
|
function homeDirectory(options) {
|
|
@@ -81873,7 +81806,6 @@ function runOpenCodeStartupMigration(options) {
|
|
|
81873
81806
|
...options.backupTimestamp === undefined ? {} : { backupTimestamp: options.backupTimestamp },
|
|
81874
81807
|
cwd: options.cwd,
|
|
81875
81808
|
...options.discoveryFileSystem === undefined ? {} : { fileSystem: options.discoveryFileSystem },
|
|
81876
|
-
doriSectionRename,
|
|
81877
81809
|
environment: options.environment ?? process.env,
|
|
81878
81810
|
homeDir,
|
|
81879
81811
|
pathOperations: options.pathOperations ?? posix5,
|
|
@@ -81910,7 +81842,6 @@ function runOpenCodeStartupMigration(options) {
|
|
|
81910
81842
|
var init_startup_migration = __esm(() => {
|
|
81911
81843
|
init_src4();
|
|
81912
81844
|
init_config_migration();
|
|
81913
|
-
init_dori_section_rename();
|
|
81914
81845
|
});
|
|
81915
81846
|
|
|
81916
81847
|
// packages/omo-opencode/src/cli/config-manager/deep-merge-record.ts
|
|
@@ -82652,7 +82583,7 @@ function shouldRetainLine(line, cutoffMs) {
|
|
|
82652
82583
|
function parseDiagnosticLine(line) {
|
|
82653
82584
|
try {
|
|
82654
82585
|
const parsed = JSON.parse(line);
|
|
82655
|
-
if (!
|
|
82586
|
+
if (!isRecord13(parsed)) {
|
|
82656
82587
|
return null;
|
|
82657
82588
|
}
|
|
82658
82589
|
return parsed;
|
|
@@ -82663,7 +82594,7 @@ function parseDiagnosticLine(line) {
|
|
|
82663
82594
|
throw error;
|
|
82664
82595
|
}
|
|
82665
82596
|
}
|
|
82666
|
-
function
|
|
82597
|
+
function isRecord13(value) {
|
|
82667
82598
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
82668
82599
|
}
|
|
82669
82600
|
function trimToMaxBytes(lines) {
|
|
@@ -82783,13 +82714,13 @@ var init_event_id = __esm(() => {
|
|
|
82783
82714
|
});
|
|
82784
82715
|
|
|
82785
82716
|
// packages/telemetry-core/src/machine-id.ts
|
|
82786
|
-
import { createHash as
|
|
82717
|
+
import { createHash as createHash6 } from "crypto";
|
|
82787
82718
|
import os4 from "os";
|
|
82788
82719
|
function getDefaultTelemetryOsProvider() {
|
|
82789
82720
|
return os4;
|
|
82790
82721
|
}
|
|
82791
82722
|
function getTelemetryDistinctId(machineIdPrefix, osProvider = getDefaultTelemetryOsProvider()) {
|
|
82792
|
-
return
|
|
82723
|
+
return createHash6("sha256").update(`${machineIdPrefix}${osProvider.hostname()}`).digest("hex");
|
|
82793
82724
|
}
|
|
82794
82725
|
var init_machine_id = () => {};
|
|
82795
82726
|
|
|
@@ -90351,7 +90282,7 @@ function coerceBool(value) {
|
|
|
90351
90282
|
function coerceString(value) {
|
|
90352
90283
|
return typeof value == "string" ? value : undefined;
|
|
90353
90284
|
}
|
|
90354
|
-
function
|
|
90285
|
+
function isRecord14(value) {
|
|
90355
90286
|
return typeof value == "object" && value !== null && !Array.isArray(value);
|
|
90356
90287
|
}
|
|
90357
90288
|
function toRfc3339(timestamp) {
|
|
@@ -90373,7 +90304,7 @@ function relocateInto(properties, key, value) {
|
|
|
90373
90304
|
properties[key] = value;
|
|
90374
90305
|
}
|
|
90375
90306
|
function buildV1Event(message) {
|
|
90376
|
-
const sourceProperties =
|
|
90307
|
+
const sourceProperties = isRecord14(message.properties) ? message.properties : {};
|
|
90377
90308
|
const properties = {
|
|
90378
90309
|
...sourceProperties
|
|
90379
90310
|
};
|
|
@@ -92454,7 +92385,7 @@ var package_default2;
|
|
|
92454
92385
|
var init_package2 = __esm(() => {
|
|
92455
92386
|
package_default2 = {
|
|
92456
92387
|
name: "@oh-my-opencode/omo-codex",
|
|
92457
|
-
version: "5.1.
|
|
92388
|
+
version: "5.1.47",
|
|
92458
92389
|
type: "module",
|
|
92459
92390
|
private: true,
|
|
92460
92391
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -94027,8 +93958,7 @@ function windowsNodeDiscoveryLines() {
|
|
|
94027
93958
|
' for /f "tokens=* delims= " %%N in ("!OMO_NODE_BINARY!") do set "OMO_NODE_BINARY=%%N"',
|
|
94028
93959
|
` if "!OMO_NODE_BINARY:~0,1!"=="'" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~1!"`,
|
|
94029
93960
|
` if "!OMO_NODE_BINARY:~-1!"=="'" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~0,-1!"`,
|
|
94030
|
-
'
|
|
94031
|
-
' if "!OMO_NODE_BINARY:~-1!"=="^"" set "OMO_NODE_BINARY=!OMO_NODE_BINARY:~0,-1!"',
|
|
93961
|
+
' set "OMO_NODE_BINARY=!OMO_NODE_BINARY:"=!"',
|
|
94032
93962
|
' if defined OMO_NODE_BINARY if not exist "!OMO_NODE_BINARY!" set "OMO_NODE_BINARY="',
|
|
94033
93963
|
")",
|
|
94034
93964
|
'if not defined OMO_NODE_BINARY where node >nul 2>nul && set "OMO_NODE_BINARY=node"'
|
|
@@ -96624,10 +96554,10 @@ function readCatalogMultiAgentVersion(model, cachePath) {
|
|
|
96624
96554
|
} catch {
|
|
96625
96555
|
return null;
|
|
96626
96556
|
}
|
|
96627
|
-
if (!
|
|
96557
|
+
if (!isRecord12(cache) || !Array.isArray(cache.models))
|
|
96628
96558
|
return null;
|
|
96629
96559
|
for (const entry of cache.models) {
|
|
96630
|
-
if (!
|
|
96560
|
+
if (!isRecord12(entry))
|
|
96631
96561
|
continue;
|
|
96632
96562
|
if (entry.slug !== model && entry.id !== model)
|
|
96633
96563
|
continue;
|
|
@@ -96652,7 +96582,7 @@ function readRootModelCatalogPath(config) {
|
|
|
96652
96582
|
const single = config.match(/^\s*model_catalog_json\s*=\s*'([^']+)'/m);
|
|
96653
96583
|
return single?.[1] ?? null;
|
|
96654
96584
|
}
|
|
96655
|
-
function
|
|
96585
|
+
function isRecord12(value) {
|
|
96656
96586
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
96657
96587
|
}
|
|
96658
96588
|
function removeFeatureFlagSetting(config, featureName) {
|
|
@@ -96770,7 +96700,7 @@ function isMissingFileError(error) {
|
|
|
96770
96700
|
}
|
|
96771
96701
|
|
|
96772
96702
|
// packages/omo-codex/src/install/codex-hook-trust.ts
|
|
96773
|
-
import { createHash as
|
|
96703
|
+
import { createHash as createHash3 } from "crypto";
|
|
96774
96704
|
import { readFile as readFile12 } from "fs/promises";
|
|
96775
96705
|
import { join as join38 } from "path";
|
|
96776
96706
|
var EVENT_LABELS = new Map([
|
|
@@ -96862,7 +96792,7 @@ function commandHookHash(eventName, matcher, handler, command) {
|
|
|
96862
96792
|
if (typeof matcher === "string")
|
|
96863
96793
|
identity.matcher = matcher;
|
|
96864
96794
|
const canonical = JSON.stringify(canonicalJson(identity));
|
|
96865
|
-
return `sha256:${
|
|
96795
|
+
return `sha256:${createHash3("sha256").update(canonical).digest("hex")}`;
|
|
96866
96796
|
}
|
|
96867
96797
|
function canonicalJson(value) {
|
|
96868
96798
|
if (Array.isArray(value))
|
|
@@ -97541,7 +97471,7 @@ function nodeErrorCode2(error) {
|
|
|
97541
97471
|
}
|
|
97542
97472
|
|
|
97543
97473
|
// packages/omo-codex/src/install/default-agent-role.ts
|
|
97544
|
-
import { createHash as
|
|
97474
|
+
import { createHash as createHash4 } from "crypto";
|
|
97545
97475
|
import { lstat as lstat9, readFile as readFile16, rm as rm10 } from "fs/promises";
|
|
97546
97476
|
import { join as join43 } from "path";
|
|
97547
97477
|
var REGISTRATION = { name: "default", configFile: "./agents/default.toml" };
|
|
@@ -97597,7 +97527,7 @@ async function readIfPresent(path) {
|
|
|
97597
97527
|
}
|
|
97598
97528
|
}
|
|
97599
97529
|
function hash(content) {
|
|
97600
|
-
return
|
|
97530
|
+
return createHash4("sha256").update(content).digest("hex");
|
|
97601
97531
|
}
|
|
97602
97532
|
|
|
97603
97533
|
// packages/omo-codex/src/install/link-cached-plugin-agents.ts
|
|
@@ -98262,7 +98192,7 @@ function formatUnknownError(error) {
|
|
|
98262
98192
|
}
|
|
98263
98193
|
|
|
98264
98194
|
// packages/omo-codex/src/install/lsp-daemon-reaper.ts
|
|
98265
|
-
import { createHash as
|
|
98195
|
+
import { createHash as createHash5 } from "crypto";
|
|
98266
98196
|
import { lstat as lstat12, readFile as readFile22, readdir as readdir10, rm as rm12 } from "fs/promises";
|
|
98267
98197
|
import { tmpdir as tmpdir3 } from "os";
|
|
98268
98198
|
import { join as join48, posix as posix6 } from "path";
|
|
@@ -98540,7 +98470,7 @@ async function readRegularTrimmedFile(path) {
|
|
|
98540
98470
|
return content.length > 0 ? content : null;
|
|
98541
98471
|
}
|
|
98542
98472
|
function shortDigest(value) {
|
|
98543
|
-
return
|
|
98473
|
+
return createHash5("sha256").update(value).digest("hex").slice(0, 16);
|
|
98544
98474
|
}
|
|
98545
98475
|
async function removeVersionDir(path) {
|
|
98546
98476
|
await rm12(path, { recursive: true, force: true });
|
|
@@ -99611,7 +99541,7 @@ node "%~dp0omo" %*\r
|
|
|
99611
99541
|
}
|
|
99612
99542
|
|
|
99613
99543
|
// packages/omo-senpi/src/install/plugin-artifacts.ts
|
|
99614
|
-
import { createHash as
|
|
99544
|
+
import { createHash as createHash7 } from "crypto";
|
|
99615
99545
|
import { constants as constants9 } from "fs";
|
|
99616
99546
|
import { access as access2, readFile as readFile29, stat as stat6 } from "fs/promises";
|
|
99617
99547
|
import { dirname as dirname24, join as join63 } from "path";
|
|
@@ -99650,7 +99580,7 @@ async function readSettings(settingsPath) {
|
|
|
99650
99580
|
throw error;
|
|
99651
99581
|
}
|
|
99652
99582
|
const parsed = JSON.parse(raw);
|
|
99653
|
-
if (!
|
|
99583
|
+
if (!isRecord15(parsed))
|
|
99654
99584
|
throw new Error(`${settingsPath} must contain a JSON object`);
|
|
99655
99585
|
return parsed;
|
|
99656
99586
|
}
|
|
@@ -99711,7 +99641,7 @@ async function nextBackupPath(settingsPath) {
|
|
|
99711
99641
|
function timestampForBackup() {
|
|
99712
99642
|
return new Date().toISOString().replace(/[-:.]/g, "");
|
|
99713
99643
|
}
|
|
99714
|
-
function
|
|
99644
|
+
function isRecord15(value) {
|
|
99715
99645
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
99716
99646
|
}
|
|
99717
99647
|
async function readPackageName(packagePath) {
|
|
@@ -99731,7 +99661,7 @@ async function readPackageName(packagePath) {
|
|
|
99731
99661
|
return;
|
|
99732
99662
|
throw error;
|
|
99733
99663
|
}
|
|
99734
|
-
return
|
|
99664
|
+
return isRecord15(parsed) && typeof parsed.name === "string" ? parsed.name : undefined;
|
|
99735
99665
|
}
|
|
99736
99666
|
async function fileExists(path) {
|
|
99737
99667
|
try {
|
|
@@ -99759,7 +99689,6 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99759
99689
|
join63("extensions", "omo-memory-commands.js"),
|
|
99760
99690
|
join63("extensions", "omo-session-history.js"),
|
|
99761
99691
|
join63("extensions", "omo-recall-store.js"),
|
|
99762
|
-
join63("extensions", "omo-dori-migration.js"),
|
|
99763
99692
|
join63("extensions", "omo-telemetry-posthog.js"),
|
|
99764
99693
|
join63("extensions", "omo-memory-sync.js"),
|
|
99765
99694
|
join63("extensions", "loro_wasm_bg.wasm"),
|
|
@@ -99856,7 +99785,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
|
|
|
99856
99785
|
}
|
|
99857
99786
|
let actualSha256;
|
|
99858
99787
|
try {
|
|
99859
|
-
actualSha256 =
|
|
99788
|
+
actualSha256 = createHash7("sha256").update(await readFile29(runtimeEntry)).digest("hex");
|
|
99860
99789
|
} catch (error) {
|
|
99861
99790
|
throw astGrepIntegrityError(runtimeEntry, `runtime hash could not be computed: ${messageOf(error)}`);
|
|
99862
99791
|
}
|
|
@@ -99869,7 +99798,7 @@ async function verifyAstGrepRuntimeIntegrity(pluginPath, platform) {
|
|
|
99869
99798
|
}
|
|
99870
99799
|
}
|
|
99871
99800
|
function isAstGrepRuntimeManifest(value) {
|
|
99872
|
-
if (!
|
|
99801
|
+
if (!isRecord15(value))
|
|
99873
99802
|
return false;
|
|
99874
99803
|
return typeof value.sha256 === "string" && /^[a-f0-9]{64}$/.test(value.sha256) && typeof value.mode === "number" && Number.isInteger(value.mode) && typeof value.stagedAtUtc === "string" && !Number.isNaN(Date.parse(value.stagedAtUtc));
|
|
99875
99804
|
}
|
|
@@ -107967,13 +107896,11 @@ async function checkModels() {
|
|
|
107967
107896
|
|
|
107968
107897
|
// packages/omo-opencode/src/cli/doctor/checks/legacy-config-leftovers.ts
|
|
107969
107898
|
init_config_migration();
|
|
107970
|
-
init_dori_section_rename();
|
|
107971
107899
|
import { posix as posix12, win32 as win329 } from "path";
|
|
107972
107900
|
function findLegacyConfigLeftovers(options) {
|
|
107973
107901
|
const pathOperations = options.pathOperations ?? (process.platform === "win32" ? win329 : posix12);
|
|
107974
107902
|
const paths = createLegacyConfigMigrationPlans({
|
|
107975
107903
|
cwd: options.cwd,
|
|
107976
|
-
doriSectionRename,
|
|
107977
107904
|
environment: options.environment ?? process.env,
|
|
107978
107905
|
homeDir: options.homeDir,
|
|
107979
107906
|
pathOperations,
|
|
@@ -108172,14 +108099,14 @@ var CANONICAL_REPLACEMENT = new Map([
|
|
|
108172
108099
|
var MIGRATE_SUFFIX = ", or run: oh-my-openagent config migrate";
|
|
108173
108100
|
var TUNING_CONTAINERS = new Set(["agents", "categories", "models"]);
|
|
108174
108101
|
var PASSTHROUGH_CONTAINERS = new Set(["provider_options", "providerOptions"]);
|
|
108175
|
-
function
|
|
108102
|
+
function isRecord16(value) {
|
|
108176
108103
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
108177
108104
|
}
|
|
108178
108105
|
function isHarnessBlock(key) {
|
|
108179
108106
|
return key.startsWith("[") && key.endsWith("]");
|
|
108180
108107
|
}
|
|
108181
108108
|
function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
108182
|
-
if (!
|
|
108109
|
+
if (!isRecord16(value))
|
|
108183
108110
|
return [];
|
|
108184
108111
|
const issues = [];
|
|
108185
108112
|
for (const [key, child] of Object.entries(value)) {
|
|
@@ -108195,7 +108122,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
|
108195
108122
|
});
|
|
108196
108123
|
continue;
|
|
108197
108124
|
}
|
|
108198
|
-
if (!
|
|
108125
|
+
if (!isRecord16(child))
|
|
108199
108126
|
continue;
|
|
108200
108127
|
if (PASSTHROUGH_CONTAINERS.has(key))
|
|
108201
108128
|
continue;
|
|
@@ -108214,7 +108141,7 @@ function collectIssues(configPath, value, prefix, fixSuffix) {
|
|
|
108214
108141
|
return issues;
|
|
108215
108142
|
}
|
|
108216
108143
|
function migrateFixSuffix(parsed) {
|
|
108217
|
-
if (
|
|
108144
|
+
if (isRecord16(parsed) && hasMigrationMarker(parsed, REASONING_UNIFICATION_MIGRATION_ID))
|
|
108218
108145
|
return "";
|
|
108219
108146
|
return MIGRATE_SUFFIX;
|
|
108220
108147
|
}
|
|
@@ -109079,10 +109006,6 @@ var package_default3 = {
|
|
|
109079
109006
|
types: "./src/cli/service-auth/index.ts",
|
|
109080
109007
|
import: "./src/cli/service-auth/index.ts"
|
|
109081
109008
|
},
|
|
109082
|
-
"./config-migration/dori-section-rename": {
|
|
109083
|
-
types: "./src/config-migration/dori-section-rename.ts",
|
|
109084
|
-
import: "./src/config-migration/dori-section-rename.ts"
|
|
109085
|
-
},
|
|
109086
109009
|
"./binary-downloader": {
|
|
109087
109010
|
types: "./src/shared/binary-downloader.ts",
|
|
109088
109011
|
import: "./src/shared/binary-downloader.ts"
|
|
@@ -109513,12 +109436,12 @@ async function auditBundleTargets(pluginRoot) {
|
|
|
109513
109436
|
let referencedCount = 0;
|
|
109514
109437
|
for (const manifestPath of await findManifestPaths(pluginRoot, ".mcp.json")) {
|
|
109515
109438
|
const manifest = await readJson2(manifestPath);
|
|
109516
|
-
if (manifest === null || !
|
|
109439
|
+
if (manifest === null || !isRecord18(manifest["mcpServers"]))
|
|
109517
109440
|
continue;
|
|
109518
109441
|
const manifestRoot = dirname39(manifestPath);
|
|
109519
109442
|
const isRootManifest = resolve28(manifestRoot) === resolve28(pluginRoot);
|
|
109520
109443
|
for (const server of Object.values(manifest["mcpServers"])) {
|
|
109521
|
-
if (!
|
|
109444
|
+
if (!isRecord18(server) || !Array.isArray(server["args"]))
|
|
109522
109445
|
continue;
|
|
109523
109446
|
for (const arg of server["args"]) {
|
|
109524
109447
|
if (typeof arg !== "string" || !isPluginRuntimePathArg(arg))
|
|
@@ -109604,7 +109527,7 @@ function collectHookCommands(value, commands) {
|
|
|
109604
109527
|
collectHookCommands(item, commands);
|
|
109605
109528
|
return;
|
|
109606
109529
|
}
|
|
109607
|
-
if (!
|
|
109530
|
+
if (!isRecord18(value))
|
|
109608
109531
|
return;
|
|
109609
109532
|
if (value["type"] === "command") {
|
|
109610
109533
|
if (typeof value["command"] === "string")
|
|
@@ -109659,7 +109582,7 @@ function parseDegradedEntries(value) {
|
|
|
109659
109582
|
return [];
|
|
109660
109583
|
const entries = [];
|
|
109661
109584
|
for (const item of value) {
|
|
109662
|
-
if (!
|
|
109585
|
+
if (!isRecord18(item))
|
|
109663
109586
|
continue;
|
|
109664
109587
|
if (typeof item["component"] !== "string" || typeof item["reason"] !== "string")
|
|
109665
109588
|
continue;
|
|
@@ -109693,7 +109616,7 @@ function degradedDetailLines(entries) {
|
|
|
109693
109616
|
async function readJson2(path) {
|
|
109694
109617
|
try {
|
|
109695
109618
|
const parsed = JSON.parse(await readFile31(path, "utf8"));
|
|
109696
|
-
return
|
|
109619
|
+
return isRecord18(parsed) ? parsed : null;
|
|
109697
109620
|
} catch (error) {
|
|
109698
109621
|
if (error instanceof Error)
|
|
109699
109622
|
return null;
|
|
@@ -109714,7 +109637,7 @@ function normalizeRelative(root, target) {
|
|
|
109714
109637
|
function normalizePathSeparators(path) {
|
|
109715
109638
|
return path.split("\\").join("/");
|
|
109716
109639
|
}
|
|
109717
|
-
function
|
|
109640
|
+
function isRecord18(value) {
|
|
109718
109641
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
109719
109642
|
}
|
|
109720
109643
|
|
|
@@ -110259,7 +110182,7 @@ Doctor failed unexpectedly: ${message}`];
|
|
|
110259
110182
|
init_commander();
|
|
110260
110183
|
|
|
110261
110184
|
// packages/mcp-client-core/src/mcp-oauth/storage.ts
|
|
110262
|
-
import { createHash as
|
|
110185
|
+
import { createHash as createHash8 } from "crypto";
|
|
110263
110186
|
import {
|
|
110264
110187
|
chmodSync as chmodSync5,
|
|
110265
110188
|
existsSync as existsSync65,
|
|
@@ -110354,7 +110277,7 @@ function getMcpOauthStorageDir() {
|
|
|
110354
110277
|
return join101(getOpenCodeCliConfigDir(), STORAGE_DIR_NAME);
|
|
110355
110278
|
}
|
|
110356
110279
|
function getMcpOauthServerHash(serverHost, resource) {
|
|
110357
|
-
return
|
|
110280
|
+
return createHash8("sha256").update(buildKey(serverHost, resource)).digest("hex").slice(0, 32);
|
|
110358
110281
|
}
|
|
110359
110282
|
function getMcpOauthStoragePath(serverHost, resource) {
|
|
110360
110283
|
return join101(getMcpOauthStorageDir(), `${getMcpOauthServerHash(serverHost, resource)}.json`);
|
|
@@ -110728,13 +110651,13 @@ async function findAvailablePort2(startPort = DEFAULT_PORT) {
|
|
|
110728
110651
|
|
|
110729
110652
|
// packages/mcp-client-core/src/mcp-oauth/oauth-authorization-flow.ts
|
|
110730
110653
|
import { spawn as spawn4 } from "child_process";
|
|
110731
|
-
import { createHash as
|
|
110654
|
+
import { createHash as createHash9, randomBytes as randomBytes2 } from "crypto";
|
|
110732
110655
|
import { createServer as createServer2 } from "http";
|
|
110733
110656
|
function generateCodeVerifier() {
|
|
110734
110657
|
return randomBytes2(32).toString("base64url");
|
|
110735
110658
|
}
|
|
110736
110659
|
function generateCodeChallenge(verifier) {
|
|
110737
|
-
return
|
|
110660
|
+
return createHash9("sha256").update(verifier).digest("base64url");
|
|
110738
110661
|
}
|
|
110739
110662
|
function buildAuthorizationUrl(authorizationEndpoint, options) {
|
|
110740
110663
|
const url = new URL(authorizationEndpoint);
|
|
@@ -112096,7 +112019,7 @@ async function loginDevice(session, options) {
|
|
|
112096
112019
|
}
|
|
112097
112020
|
|
|
112098
112021
|
// packages/omo-opencode/src/cli/service-auth/keystore.ts
|
|
112099
|
-
import { createHash as
|
|
112022
|
+
import { createHash as createHash10 } from "crypto";
|
|
112100
112023
|
|
|
112101
112024
|
// packages/omo-opencode/src/cli/service-auth/secret-service-lock.ts
|
|
112102
112025
|
import { spawn as spawn5 } from "child_process";
|
|
@@ -112145,6 +112068,8 @@ class CredentialStoreError extends SignInError {
|
|
|
112145
112068
|
|
|
112146
112069
|
class KeychainLockedError extends CredentialStoreError {
|
|
112147
112070
|
}
|
|
112071
|
+
class InvalidCredentialState extends SignInError {
|
|
112072
|
+
}
|
|
112148
112073
|
var LOCKED = /-25308|errSecInteractionNotAllowed|interaction is not allowed|locked collection/i;
|
|
112149
112074
|
var UNLOCKED_REUSE_MS = 30000;
|
|
112150
112075
|
var fallbackNoticed = false;
|
|
@@ -112157,15 +112082,18 @@ var stderrNoticeOncePerProcess = (message) => {
|
|
|
112157
112082
|
};
|
|
112158
112083
|
var isLocked = (error) => error instanceof Error && (LOCKED.test(error.message) || LOCKED.test(String(error.code ?? "")));
|
|
112159
112084
|
function credentialId(api) {
|
|
112160
|
-
return
|
|
112085
|
+
return createHash10("sha256").update(serviceOrigin(api)).digest("hex");
|
|
112161
112086
|
}
|
|
112162
112087
|
function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
|
|
112088
|
+
return createSealedStore(api, "omo-cli", credentialSchema, secrets, platform, lockProbe, notice);
|
|
112089
|
+
}
|
|
112090
|
+
function createSealedStore(api, namespace, schema, secrets = typeof Bun === "undefined" ? null : Bun.secrets, platform = process.platform, lockProbe = probeSecretServiceLock, notice = stderrNoticeOncePerProcess) {
|
|
112163
112091
|
if (!secrets)
|
|
112164
112092
|
throw new SignInError("OmO sign-in needs Bun 1.4 or newer with OS credential storage. No file fallback is available.");
|
|
112165
112093
|
const platformName = platform === "darwin" ? "macOS Keychain" : platform === "linux" ? "Linux Secret Service (libsecret and an unlocked keyring)" : platform === "win32" ? "Windows Credential Manager" : null;
|
|
112166
112094
|
if (platformName === null)
|
|
112167
112095
|
throw new SignInError("This platform has no supported OS credential store.");
|
|
112168
|
-
const key = { service:
|
|
112096
|
+
const key = { service: namespace, name: credentialId(api) };
|
|
112169
112097
|
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.`);
|
|
112170
112098
|
let unlockedUntil = 0;
|
|
112171
112099
|
let noticed = false;
|
|
@@ -112196,15 +112124,15 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
|
|
|
112196
112124
|
if (value === null)
|
|
112197
112125
|
return null;
|
|
112198
112126
|
try {
|
|
112199
|
-
return
|
|
112127
|
+
return schema.parse(JSON.parse(value));
|
|
112200
112128
|
} catch {
|
|
112201
|
-
throw new
|
|
112129
|
+
throw new InvalidCredentialState("Stored sign-in data is invalid. Run omo logout, then omo login.");
|
|
112202
112130
|
}
|
|
112203
112131
|
},
|
|
112204
112132
|
async write(value) {
|
|
112205
112133
|
await assertUsable();
|
|
112206
112134
|
try {
|
|
112207
|
-
await secrets.set({ ...key, value: JSON.stringify(
|
|
112135
|
+
await secrets.set({ ...key, value: JSON.stringify(schema.parse(value)) });
|
|
112208
112136
|
} catch (error) {
|
|
112209
112137
|
throw unavailable(error);
|
|
112210
112138
|
}
|
|
@@ -112221,7 +112149,7 @@ function createCredentialStore(api, secrets = typeof Bun === "undefined" ? null
|
|
|
112221
112149
|
}
|
|
112222
112150
|
|
|
112223
112151
|
// packages/omo-opencode/src/cli/service-auth/loopback.ts
|
|
112224
|
-
import { createHash as
|
|
112152
|
+
import { createHash as createHash11, randomBytes as randomBytes3, timingSafeEqual } from "crypto";
|
|
112225
112153
|
import { createServer as createServer3 } from "http";
|
|
112226
112154
|
class BrowserUnavailable extends SignInError {
|
|
112227
112155
|
}
|
|
@@ -112267,7 +112195,7 @@ async function authorize(options) {
|
|
|
112267
112195
|
const url = new URL(serviceOrigin(options.accounts));
|
|
112268
112196
|
url.search = new URLSearchParams({
|
|
112269
112197
|
redirect_uri: `${origin}/callback`,
|
|
112270
|
-
code_challenge:
|
|
112198
|
+
code_challenge: createHash11("sha256").update(verifier).digest("base64url"),
|
|
112271
112199
|
code_challenge_method: "S256",
|
|
112272
112200
|
state
|
|
112273
112201
|
}).toString();
|
|
@@ -112456,7 +112384,7 @@ async function publishLockRecord(lockPath, record) {
|
|
|
112456
112384
|
}
|
|
112457
112385
|
|
|
112458
112386
|
// packages/team-core/src/team-state-store/lock-reclaim.ts
|
|
112459
|
-
import { createHash as
|
|
112387
|
+
import { createHash as createHash12 } from "crypto";
|
|
112460
112388
|
import { unlink as unlink3 } from "fs/promises";
|
|
112461
112389
|
var RECLAIM_UNLINK_ATTEMPTS = 3;
|
|
112462
112390
|
var RECLAIM_UNLINK_RETRY_MS = 25;
|
|
@@ -112466,7 +112394,7 @@ function delay2(ms) {
|
|
|
112466
112394
|
});
|
|
112467
112395
|
}
|
|
112468
112396
|
function reclaimGuardPath(lockPath, record) {
|
|
112469
|
-
return `${lockPath}.reclaim-${
|
|
112397
|
+
return `${lockPath}.reclaim-${createHash12("sha256").update(record).digest("hex").slice(0, 16)}`;
|
|
112470
112398
|
}
|
|
112471
112399
|
async function unlinkWithRetry(path, deps) {
|
|
112472
112400
|
const wait = deps.delay ?? delay2;
|