oh-my-opencode 5.1.44 → 5.1.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/command/publish.md +9 -9
- package/.agents/skills/publish/SKILL.md +9 -9
- package/.opencode/command/publish.md +9 -9
- 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/cli/index.js +865 -413
- package/dist/cli/service-auth/keystore.d.ts +4 -2
- package/dist/cli-node/index.js +865 -413
- package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -1
- package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -1
- package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -1
- package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
- package/dist/index.js +5270 -2308
- package/dist/oh-my-opencode.schema.json +2 -2
- package/dist/plugin/command-execute-before.d.ts +3 -0
- package/dist/plugin/skill-context.d.ts +2 -0
- package/dist/plugin/skill-security-notice.d.ts +3 -0
- package/dist/plugin-config/omo-config-chain.d.ts +1 -0
- package/dist/skills/ast-grep/AGENTS.md +1 -1
- package/dist/skills/browser/SKILL.md +21 -22
- package/dist/skills/browser/references/commands.md +2 -9
- package/dist/skills/browser/references/install.md +1 -2
- package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
- package/dist/skills/browser/scripts/browser-doctor.mjs +2 -2
- package/dist/skills/browser/scripts/browser-engine-guard.mjs +63 -487
- package/dist/skills/browser/scripts/browser-install.mjs +1 -1
- package/dist/skills/browser/scripts/omowright.mjs +1 -10
- package/dist/skills/frontend/ATTRIBUTION.md +2 -2
- package/dist/skills/frontend/SKILL.md +79 -118
- package/dist/skills/frontend/references/design/README.md +75 -224
- package/dist/skills/frontend/references/design/stylegallery.md +32 -27
- package/dist/skills/frontend/references/perfection/README.md +2 -2
- package/dist/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
- package/dist/skills/frontend/scripts/perfection/check-draft-guard.test.ts +101 -0
- package/dist/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
- package/dist/skills/frontend/scripts/perfection/collect-files.test.ts +50 -0
- package/dist/skills/frontend/scripts/perfection/collect-files.ts +53 -0
- package/dist/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
- package/dist/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
- package/dist/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
- package/dist/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
- package/dist/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
- package/dist/skills/programming/SKILL.md +10 -7
- package/dist/skills/programming/references/typescript/README.md +10 -7
- package/dist/skills/programming/references/typescript/bootstrap.md +9 -23
- package/dist/skills/programming/references/typescript/oxc-lint.md +130 -0
- package/dist/skills/programming/references/typescript/tsconfig-strict.md +6 -62
- package/dist/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
- package/dist/skills/programming/scripts/typescript/new-project.test.ts +162 -0
- package/dist/skills/programming/scripts/typescript/new-project.ts +20 -81
- package/dist/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
- package/dist/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
- package/dist/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
- package/dist/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
- package/dist/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
- package/dist/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
- package/dist/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
- package/dist/skills/refactor/SKILL.md +13 -13
- package/dist/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/dist/skills/ulw-execute/SKILL.md +1 -1
- package/dist/skills/ulw-research/AGENTS.md +21 -3
- package/dist/skills/ulw-research/SKILL.md +37 -12
- package/dist/skills/ulw-research/references/deliverable-phase.md +77 -16
- package/dist/skills/ulw-research/references/fact-ledger-grammar.md +134 -0
- 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 +68 -3
- 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/claims-index.mjs +125 -0
- package/dist/skills/ulw-research/scripts/claims-index.test.ts +149 -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 +89 -3
- package/dist/skills/ulw-research/scripts/contracts.test.ts +100 -12
- 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 +191 -0
- package/dist/skills/ulw-research/scripts/fact-commands-verify.mjs +164 -0
- package/dist/skills/ulw-research/scripts/fact-commands.mjs +239 -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 +197 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-kinds.mjs +250 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +156 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-legacy.test.ts +160 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-schema.mjs +221 -0
- package/dist/skills/ulw-research/scripts/fact-ledger-schema.test.ts +43 -0
- package/dist/skills/ulw-research/scripts/fact-ledger.mjs +123 -0
- package/dist/skills/ulw-research/scripts/fact-ledger.test.ts +254 -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 +187 -0
- package/dist/skills/ulw-research/scripts/fact-pairs.test.ts +167 -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 +150 -0
- package/dist/skills/ulw-research/scripts/fidelity-brief.test.ts +179 -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 +64 -0
- package/dist/skills/ulw-research/scripts/fidelity-state.test.ts +46 -0
- 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-context.test.ts +64 -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 +29 -9
- package/dist/skills/ulw-research/scripts/gates-structure.mjs +1 -1
- package/dist/skills/ulw-research/scripts/gates-text.mjs +1 -27
- 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/lexicon.mjs +47 -0
- package/dist/skills/ulw-research/scripts/lexicon.test.ts +57 -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/numerals.mjs +226 -0
- package/dist/skills/ulw-research/scripts/numerals.test.ts +120 -0
- package/dist/skills/ulw-research/scripts/outcome.mjs +8 -8
- package/dist/skills/ulw-research/scripts/outcome.test.ts +29 -0
- package/dist/skills/ulw-research/scripts/particles-ko.mjs +108 -0
- package/dist/skills/ulw-research/scripts/particles-ko.test.ts +86 -0
- 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/rational.mjs +139 -0
- package/dist/skills/ulw-research/scripts/rational.test.ts +46 -0
- package/dist/skills/ulw-research/scripts/report-tools-commands.mjs +21 -10
- package/dist/skills/ulw-research/scripts/report-tools.mjs +15 -0
- package/dist/skills/ulw-research/scripts/report-tools.test.ts +458 -2
- package/dist/skills/ulw-research/scripts/sentence-split.mjs +77 -0
- package/dist/skills/ulw-research/scripts/sentence-split.test.ts +109 -0
- 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/claim-graph.md +13 -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/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/tests/fixtures/fidelity-brief-locked.md +17 -0
- package/dist/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-pending.md +17 -0
- package/dist/skills/ulw-research/scripts/text-normalize.mjs +82 -0
- package/dist/skills/ulw-research/scripts/text-normalize.test.ts +73 -0
- package/dist/skills/ulw-research/scripts/text-similarity.mjs +28 -0
- package/dist/skills/ulw-research/scripts/text-similarity.test.ts +38 -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 +105 -0
- package/dist/skills/ulw-research/scripts/units.test.ts +83 -0
- package/dist/skills/visual-qa/SKILL.md +70 -63
- package/dist/skills/visual-qa/scripts/skill-doc-fields.test.ts +34 -0
- package/dist/testing/module-mock-lifecycle.d.ts +1 -1
- package/dist/tools/delegate-task/constants.d.ts +1 -1
- package/dist/tools/session-manager/constants.d.ts +1 -1
- package/dist/tools/session-manager/file-storage.d.ts +9 -2
- package/dist/tools/session-manager/sdk-storage.d.ts +19 -1
- package/dist/tools/session-manager/session-formatter.d.ts +3 -3
- package/dist/tools/session-manager/storage.d.ts +8 -2
- package/dist/tools/skill/mcp-capability-formatter.d.ts +1 -1
- package/dist/tools/skill/native-skills.d.ts +2 -2
- package/dist/tools/skill/skill-mcp-authority.d.ts +3 -0
- package/dist/tui.js +537 -104
- package/docs/reference/web-terminal-visual-qa.md +8 -0
- package/package.json +24 -16
- package/packages/lsp-core/src/lsp/client-wrapper.ts +4 -4
- package/packages/lsp-core/src/mcp-protocol-pin.test.ts +29 -0
- package/packages/lsp-core/src/mcp.ts +5 -2
- package/packages/lsp-core/src/post-edit/not-installed.test.ts +2 -2
- package/packages/lsp-daemon/dist/cli.js +7 -7
- package/packages/lsp-daemon/dist/client.js +7 -7
- package/packages/lsp-daemon/dist/index.js +7 -7
- package/packages/lsp-daemon/package.json +3 -3
- package/packages/lsp-tools-mcp/dist/cli.js +7 -7
- package/packages/lsp-tools-mcp/dist/mcp.js +7 -7
- package/packages/lsp-tools-mcp/dist/tools.js +4 -4
- package/packages/lsp-tools-mcp/package.json +3 -3
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +77 -26
- 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/bootstrap/src/hook.ts +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/biome.json +1 -21
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +4 -4
- 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/biome.json +1 -21
- 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 +4 -4
- package/packages/omo-codex/plugin/components/lsp/biome.json +1 -21
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +4 -4
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +4 -4
- package/packages/omo-codex/plugin/components/lsp/scripts/build-runtime.mjs +0 -1
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook-not-installed.test.ts +1 -1
- package/packages/omo-codex/plugin/components/rules/biome.json +1 -21
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +4 -4
- 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/biome.json +1 -21
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +90 -1
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +91 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +4 -4
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/directive.md +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 +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +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 +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-mutations.mjs +2 -0
- 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 +14 -9
- package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/skills/browser/SKILL.md +21 -22
- package/packages/omo-codex/plugin/skills/browser/references/commands.md +2 -9
- package/packages/omo-codex/plugin/skills/browser/references/install.md +1 -2
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +2 -2
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-engine-guard.mjs +63 -487
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +1 -1
- package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +1 -10
- package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +79 -118
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +75 -224
- package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +32 -27
- package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/collect-files.ts +53 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +10 -7
- package/packages/omo-codex/plugin/skills/programming/references/typescript/README.md +10 -7
- package/packages/omo-codex/plugin/skills/programming/references/typescript/bootstrap.md +9 -23
- package/packages/omo-codex/plugin/skills/programming/references/typescript/oxc-lint.md +130 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/tsconfig-strict.md +6 -62
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/new-project.ts +20 -81
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +14 -14
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/AGENTS.md +21 -3
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +37 -12
- package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +77 -16
- package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger-grammar.md +134 -0
- 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 +68 -3
- 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/claims-index.mjs +125 -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 +89 -3
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-meaning.mjs +191 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands-verify.mjs +164 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-commands.mjs +239 -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 +250 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-schema.mjs +221 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger.mjs +123 -0
- 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 +187 -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 +150 -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 +64 -0
- 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 +29 -9
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-structure.mjs +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-text.mjs +1 -27
- 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/lexicon.mjs +47 -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/numerals.mjs +226 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/outcome.mjs +8 -8
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/particles-ko.mjs +108 -0
- 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/rational.mjs +139 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools-commands.mjs +21 -10
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools.mjs +15 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/sentence-split.mjs +77 -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/text-normalize.mjs +82 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/text-similarity.mjs +28 -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 +105 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +71 -64
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +4 -1
- 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 +12 -8
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +169 -30
- package/packages/shared-skills/skills/ast-grep/AGENTS.md +1 -1
- package/packages/shared-skills/skills/browser/SKILL.md +21 -22
- package/packages/shared-skills/skills/browser/references/commands.md +2 -9
- package/packages/shared-skills/skills/browser/references/install.md +1 -2
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +2 -2
- package/packages/shared-skills/skills/browser/scripts/browser-engine-guard.mjs +63 -487
- package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +1 -1
- package/packages/shared-skills/skills/browser/scripts/omowright.mjs +1 -10
- package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +2 -2
- package/packages/shared-skills/skills/frontend/SKILL.md +79 -118
- package/packages/shared-skills/skills/frontend/references/design/README.md +75 -224
- package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +32 -27
- package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -2
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.test.ts +101 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.test.ts +50 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.ts +53 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
- package/packages/shared-skills/skills/programming/SKILL.md +10 -7
- package/packages/shared-skills/skills/programming/references/typescript/README.md +10 -7
- package/packages/shared-skills/skills/programming/references/typescript/bootstrap.md +9 -23
- package/packages/shared-skills/skills/programming/references/typescript/oxc-lint.md +130 -0
- package/packages/shared-skills/skills/programming/references/typescript/tsconfig-strict.md +6 -62
- package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
- package/packages/shared-skills/skills/programming/scripts/typescript/new-project.test.ts +162 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/new-project.ts +20 -81
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
- package/packages/shared-skills/skills/refactor/SKILL.md +13 -13
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +1 -1
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-research/AGENTS.md +21 -3
- package/packages/shared-skills/skills/ulw-research/SKILL.md +37 -12
- package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +77 -16
- package/packages/shared-skills/skills/ulw-research/references/fact-ledger-grammar.md +134 -0
- 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 +68 -3
- 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/claims-index.mjs +125 -0
- package/packages/shared-skills/skills/ulw-research/scripts/claims-index.test.ts +149 -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 +89 -3
- package/packages/shared-skills/skills/ulw-research/scripts/contracts.test.ts +100 -12
- 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 +191 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands-verify.mjs +164 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-commands.mjs +239 -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 +197 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.mjs +250 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +156 -0
- 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 +221 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.test.ts +43 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.mjs +123 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.test.ts +254 -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 +187 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-pairs.test.ts +167 -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 +150 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.test.ts +179 -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 +64 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.test.ts +46 -0
- 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-context.test.ts +64 -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 +29 -9
- package/packages/shared-skills/skills/ulw-research/scripts/gates-structure.mjs +1 -1
- package/packages/shared-skills/skills/ulw-research/scripts/gates-text.mjs +1 -27
- 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/lexicon.mjs +47 -0
- package/packages/shared-skills/skills/ulw-research/scripts/lexicon.test.ts +57 -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/numerals.mjs +226 -0
- package/packages/shared-skills/skills/ulw-research/scripts/numerals.test.ts +120 -0
- package/packages/shared-skills/skills/ulw-research/scripts/outcome.mjs +8 -8
- package/packages/shared-skills/skills/ulw-research/scripts/outcome.test.ts +29 -0
- package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.mjs +108 -0
- package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.test.ts +86 -0
- 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/rational.mjs +139 -0
- package/packages/shared-skills/skills/ulw-research/scripts/rational.test.ts +46 -0
- package/packages/shared-skills/skills/ulw-research/scripts/report-tools-commands.mjs +21 -10
- 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 +458 -2
- package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.mjs +77 -0
- package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.test.ts +109 -0
- 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/claim-graph.md +13 -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/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/tests/fixtures/fidelity-brief-locked.md +17 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-pending.md +17 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.mjs +82 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.test.ts +73 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.mjs +28 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.test.ts +38 -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 +105 -0
- package/packages/shared-skills/skills/ulw-research/scripts/units.test.ts +83 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +70 -63
- package/packages/shared-skills/skills/visual-qa/scripts/skill-doc-fields.test.ts +34 -0
- package/script/qa/web-terminal-visual-qa.mjs +6 -2
- package/script/qa/xterm-live-terminal.mjs +26 -3
package/dist/tui.js
CHANGED
|
@@ -2362,6 +2362,20 @@ var init_logger = __esm(() => {
|
|
|
2362
2362
|
DEFAULT_MAX_LOG_FILE_SIZE_BYTES = 50 * 1024 * 1024;
|
|
2363
2363
|
});
|
|
2364
2364
|
|
|
2365
|
+
// packages/utils/src/logging/product-identity.ts
|
|
2366
|
+
function createProductIdentity(input) {
|
|
2367
|
+
return {
|
|
2368
|
+
pluginName: input.pluginName,
|
|
2369
|
+
legacyPluginName: input.legacyPluginName,
|
|
2370
|
+
publishedPackageName: input.publishedPackageName,
|
|
2371
|
+
acceptedPackageNames: input.acceptedPackageNames ?? [input.publishedPackageName, input.pluginName],
|
|
2372
|
+
configBasename: input.configBasename,
|
|
2373
|
+
legacyConfigBasename: input.legacyConfigBasename,
|
|
2374
|
+
logFileName: input.logFileName,
|
|
2375
|
+
cacheDirName: input.cacheDirName
|
|
2376
|
+
};
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2365
2379
|
// packages/utils/src/logging/index.ts
|
|
2366
2380
|
var init_logging = __esm(() => {
|
|
2367
2381
|
init_logger();
|
|
@@ -2416,8 +2430,17 @@ var init_ast_grep = __esm(() => {
|
|
|
2416
2430
|
// packages/utils/src/classify-path-environment.ts
|
|
2417
2431
|
var init_classify_path_environment = () => {};
|
|
2418
2432
|
|
|
2433
|
+
// packages/utils/src/command-executor/home-directory.ts
|
|
2434
|
+
import { homedir } from "os";
|
|
2435
|
+
function getHomeDirectory() {
|
|
2436
|
+
return process.env.HOME || process.env.USERPROFILE || homedir();
|
|
2437
|
+
}
|
|
2438
|
+
var init_home_directory = () => {};
|
|
2439
|
+
|
|
2419
2440
|
// packages/utils/src/command-executor.ts
|
|
2420
|
-
var init_command_executor = () => {
|
|
2441
|
+
var init_command_executor = __esm(() => {
|
|
2442
|
+
init_home_directory();
|
|
2443
|
+
});
|
|
2421
2444
|
|
|
2422
2445
|
// packages/utils/src/git-worktree/index.ts
|
|
2423
2446
|
var init_git_worktree = () => {};
|
|
@@ -2510,6 +2533,25 @@ var init_agent_names = __esm(() => {
|
|
|
2510
2533
|
]);
|
|
2511
2534
|
});
|
|
2512
2535
|
|
|
2536
|
+
// packages/model-core/src/latest-models.ts
|
|
2537
|
+
var LATEST_MODEL_BY_FAMILY;
|
|
2538
|
+
var init_latest_models = __esm(() => {
|
|
2539
|
+
LATEST_MODEL_BY_FAMILY = {
|
|
2540
|
+
claudeOpus: "claude-opus-5-5",
|
|
2541
|
+
claudeSonnet: "claude-sonnet-5-5",
|
|
2542
|
+
claudeHaiku: "claude-haiku-5-5",
|
|
2543
|
+
claudeFable: "claude-fable-5-1",
|
|
2544
|
+
gptAstra: "gpt-6-astra",
|
|
2545
|
+
gptSol: "gpt-6.1-sol",
|
|
2546
|
+
gptSolFast: "gpt-6.1-sol-fast",
|
|
2547
|
+
gptLunaFast: "gpt-6-luna-fast",
|
|
2548
|
+
glm: "glm-5.3",
|
|
2549
|
+
glmFlash: "glm-5.3-flash",
|
|
2550
|
+
kimi: "kimi-k3",
|
|
2551
|
+
geminiPro: "gemini-4-argon"
|
|
2552
|
+
};
|
|
2553
|
+
});
|
|
2554
|
+
|
|
2513
2555
|
// packages/utils/src/migration/agent-category.ts
|
|
2514
2556
|
function configureMigrationCategoryDefaults(defaults) {
|
|
2515
2557
|
categoryDefaults = defaults ?? {};
|
|
@@ -3346,17 +3388,18 @@ var init_file_reference_resolver = __esm(() => {
|
|
|
3346
3388
|
// packages/model-core/src/agent-model-requirements.ts
|
|
3347
3389
|
var AGENT_MODEL_REQUIREMENTS;
|
|
3348
3390
|
var init_agent_model_requirements = __esm(() => {
|
|
3391
|
+
init_latest_models();
|
|
3349
3392
|
AGENT_MODEL_REQUIREMENTS = {
|
|
3350
3393
|
sisyphus: {
|
|
3351
3394
|
fallbackChain: [
|
|
3352
3395
|
{
|
|
3353
3396
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3354
|
-
model:
|
|
3397
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3355
3398
|
variant: "max"
|
|
3356
3399
|
},
|
|
3357
3400
|
{
|
|
3358
3401
|
providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode", "bailian-coding-plan", "moonshotai-cn", "firmware", "ollama-cloud", "aihubmix"],
|
|
3359
|
-
model:
|
|
3402
|
+
model: LATEST_MODEL_BY_FAMILY.kimi
|
|
3360
3403
|
},
|
|
3361
3404
|
{
|
|
3362
3405
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
@@ -3390,7 +3433,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3390
3433
|
{ providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "high" },
|
|
3391
3434
|
{
|
|
3392
3435
|
providers: ["google", "google-vertex", "opencode"],
|
|
3393
|
-
model:
|
|
3436
|
+
model: LATEST_MODEL_BY_FAMILY.geminiPro,
|
|
3394
3437
|
variant: "high"
|
|
3395
3438
|
},
|
|
3396
3439
|
{
|
|
@@ -3400,7 +3443,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3400
3443
|
},
|
|
3401
3444
|
{
|
|
3402
3445
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3403
|
-
model:
|
|
3446
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3404
3447
|
variant: "max"
|
|
3405
3448
|
},
|
|
3406
3449
|
{ providers: ["opencode-go"], model: "glm-5.2" }
|
|
@@ -3409,8 +3452,8 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3409
3452
|
librarian: {
|
|
3410
3453
|
fallbackChain: [
|
|
3411
3454
|
{ providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
|
|
3412
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3413
|
-
{ providers: ["anthropic", "github-copilot"], model:
|
|
3455
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptLunaFast, variant: "low" },
|
|
3456
|
+
{ providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "medium" },
|
|
3414
3457
|
{ providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
|
|
3415
3458
|
{ providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
|
|
3416
3459
|
{ providers: ["opencode-go"], model: "minimax-m2.7" }
|
|
@@ -3419,8 +3462,8 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3419
3462
|
explore: {
|
|
3420
3463
|
fallbackChain: [
|
|
3421
3464
|
{ providers: ["kimi-for-coding"], model: "kimi-for-coding-highspeed", variant: "off" },
|
|
3422
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3423
|
-
{ providers: ["anthropic", "github-copilot"], model:
|
|
3465
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptLunaFast, variant: "low" },
|
|
3466
|
+
{ providers: ["anthropic", "github-copilot"], model: LATEST_MODEL_BY_FAMILY.claudeHaiku, variant: "medium" },
|
|
3424
3467
|
{ providers: ["deepseek"], model: "deepseek-flash", variant: "max" },
|
|
3425
3468
|
{ providers: ["opencode-go", "bailian-coding-plan"], model: "qwen3.7-plus" },
|
|
3426
3469
|
{ providers: ["opencode-go"], model: "minimax-m2.7" }
|
|
@@ -3429,7 +3472,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3429
3472
|
"multimodal-looker": {
|
|
3430
3473
|
fallbackChain: [
|
|
3431
3474
|
{ providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "low" },
|
|
3432
|
-
{ providers: ["opencode-go"], model:
|
|
3475
|
+
{ providers: ["opencode-go"], model: LATEST_MODEL_BY_FAMILY.kimi },
|
|
3433
3476
|
{ providers: ["zai-coding-plan"], model: "glm-4.6v" },
|
|
3434
3477
|
{ providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"], model: "gpt-5-nano" }
|
|
3435
3478
|
]
|
|
@@ -3438,17 +3481,17 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3438
3481
|
fallbackChain: [
|
|
3439
3482
|
{
|
|
3440
3483
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3441
|
-
model:
|
|
3484
|
+
model: LATEST_MODEL_BY_FAMILY.claudeFable,
|
|
3442
3485
|
variant: "xhigh"
|
|
3443
3486
|
},
|
|
3444
3487
|
{
|
|
3445
3488
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3446
|
-
model:
|
|
3489
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3447
3490
|
variant: "max"
|
|
3448
3491
|
},
|
|
3449
3492
|
{
|
|
3450
3493
|
providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode"],
|
|
3451
|
-
model:
|
|
3494
|
+
model: LATEST_MODEL_BY_FAMILY.kimi,
|
|
3452
3495
|
variant: "max"
|
|
3453
3496
|
}
|
|
3454
3497
|
]
|
|
@@ -3457,34 +3500,34 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3457
3500
|
fallbackChain: [
|
|
3458
3501
|
{
|
|
3459
3502
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3460
|
-
model:
|
|
3503
|
+
model: LATEST_MODEL_BY_FAMILY.claudeFable,
|
|
3461
3504
|
variant: "max"
|
|
3462
3505
|
},
|
|
3463
3506
|
{
|
|
3464
3507
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3465
|
-
model:
|
|
3508
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3466
3509
|
variant: "max"
|
|
3467
3510
|
},
|
|
3468
3511
|
{
|
|
3469
3512
|
providers: ["opencode-go", "kimi-for-coding", "moonshotai", "opencode"],
|
|
3470
|
-
model:
|
|
3513
|
+
model: LATEST_MODEL_BY_FAMILY.kimi,
|
|
3471
3514
|
variant: "max"
|
|
3472
3515
|
}
|
|
3473
3516
|
]
|
|
3474
3517
|
},
|
|
3475
3518
|
momus: {
|
|
3476
3519
|
fallbackChain: [
|
|
3477
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3478
|
-
{ providers: ["github-copilot"], model:
|
|
3479
|
-
{ providers: ["openai", "chatgpt-subscription", "opencode"], model:
|
|
3520
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "xhigh" },
|
|
3521
|
+
{ providers: ["github-copilot"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "high" },
|
|
3522
|
+
{ providers: ["openai", "chatgpt-subscription", "opencode"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "high" },
|
|
3480
3523
|
{
|
|
3481
3524
|
providers: ["anthropic", "github-copilot", "opencode"],
|
|
3482
|
-
model:
|
|
3525
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3483
3526
|
variant: "max"
|
|
3484
3527
|
},
|
|
3485
3528
|
{
|
|
3486
3529
|
providers: ["google", "google-vertex", "opencode"],
|
|
3487
|
-
model:
|
|
3530
|
+
model: LATEST_MODEL_BY_FAMILY.geminiPro,
|
|
3488
3531
|
variant: "high"
|
|
3489
3532
|
},
|
|
3490
3533
|
{
|
|
@@ -3498,7 +3541,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3498
3541
|
atlas: {
|
|
3499
3542
|
fallbackChain: [
|
|
3500
3543
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
|
|
3501
|
-
{ providers: ["opencode-go"], model:
|
|
3544
|
+
{ providers: ["opencode-go"], model: LATEST_MODEL_BY_FAMILY.kimi },
|
|
3502
3545
|
{
|
|
3503
3546
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3504
3547
|
model: "gpt-5.6-sol",
|
|
@@ -3512,7 +3555,7 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3512
3555
|
"sisyphus-junior": {
|
|
3513
3556
|
fallbackChain: [
|
|
3514
3557
|
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-5" },
|
|
3515
|
-
{ providers: ["opencode-go"], model:
|
|
3558
|
+
{ providers: ["opencode-go"], model: LATEST_MODEL_BY_FAMILY.kimi },
|
|
3516
3559
|
{
|
|
3517
3560
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3518
3561
|
model: "gpt-5.6-sol",
|
|
@@ -3530,32 +3573,33 @@ var init_agent_model_requirements = __esm(() => {
|
|
|
3530
3573
|
// packages/model-core/src/category-model-requirements.ts
|
|
3531
3574
|
var CATEGORY_MODEL_REQUIREMENTS;
|
|
3532
3575
|
var init_category_model_requirements = __esm(() => {
|
|
3576
|
+
init_latest_models();
|
|
3533
3577
|
CATEGORY_MODEL_REQUIREMENTS = {
|
|
3534
3578
|
"visual-engineering": {
|
|
3535
3579
|
fallbackChain: [
|
|
3536
|
-
{ providers: ["google", "google-vertex", "opencode"], model:
|
|
3580
|
+
{ providers: ["google", "google-vertex", "opencode"], model: LATEST_MODEL_BY_FAMILY.geminiPro, variant: "low" },
|
|
3537
3581
|
{
|
|
3538
3582
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3539
|
-
model:
|
|
3583
|
+
model: LATEST_MODEL_BY_FAMILY.claudeFable,
|
|
3540
3584
|
variant: "max"
|
|
3541
3585
|
},
|
|
3542
3586
|
{
|
|
3543
3587
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3544
|
-
model:
|
|
3588
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3545
3589
|
variant: "max"
|
|
3546
3590
|
},
|
|
3547
3591
|
{
|
|
3548
3592
|
providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
|
|
3549
|
-
model:
|
|
3593
|
+
model: LATEST_MODEL_BY_FAMILY.kimi,
|
|
3550
3594
|
variant: "max"
|
|
3551
3595
|
}
|
|
3552
3596
|
]
|
|
3553
3597
|
},
|
|
3554
3598
|
ultrabrain: {
|
|
3555
3599
|
fallbackChain: [
|
|
3556
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3557
|
-
{ providers: ["github-copilot"], model:
|
|
3558
|
-
{ providers: ["openai", "chatgpt-subscription", "opencode"], model:
|
|
3600
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "max" },
|
|
3601
|
+
{ providers: ["github-copilot"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "max" },
|
|
3602
|
+
{ providers: ["openai", "chatgpt-subscription", "opencode"], model: LATEST_MODEL_BY_FAMILY.gptAstra, variant: "max" },
|
|
3559
3603
|
{ providers: ["openai", "chatgpt-subscription"], model: "gpt-5.6-sol", variant: "max" },
|
|
3560
3604
|
{ providers: ["github-copilot"], model: "gpt-5.6-sol", variant: "max" },
|
|
3561
3605
|
{ providers: ["openai", "chatgpt-subscription", "opencode"], model: "gpt-5.6-sol", variant: "max" }
|
|
@@ -3563,8 +3607,8 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3563
3607
|
},
|
|
3564
3608
|
"deep-low": {
|
|
3565
3609
|
fallbackChain: [
|
|
3566
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3567
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3610
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "medium" },
|
|
3611
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSolFast, variant: "medium" },
|
|
3568
3612
|
{
|
|
3569
3613
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3570
3614
|
model: "gpt-5.6-sol",
|
|
@@ -3577,7 +3621,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3577
3621
|
fallbackChain: [
|
|
3578
3622
|
{
|
|
3579
3623
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3580
|
-
model:
|
|
3624
|
+
model: LATEST_MODEL_BY_FAMILY.gptAstra,
|
|
3581
3625
|
variant: "high"
|
|
3582
3626
|
}
|
|
3583
3627
|
]
|
|
@@ -3586,27 +3630,27 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3586
3630
|
fallbackChain: [
|
|
3587
3631
|
{
|
|
3588
3632
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3589
|
-
model:
|
|
3633
|
+
model: LATEST_MODEL_BY_FAMILY.claudeFable,
|
|
3590
3634
|
variant: "max"
|
|
3591
3635
|
},
|
|
3592
3636
|
{
|
|
3593
3637
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3594
|
-
model:
|
|
3638
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3595
3639
|
variant: "max"
|
|
3596
3640
|
},
|
|
3597
3641
|
{
|
|
3598
3642
|
providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
|
|
3599
|
-
model:
|
|
3643
|
+
model: LATEST_MODEL_BY_FAMILY.kimi,
|
|
3600
3644
|
variant: "max"
|
|
3601
3645
|
}
|
|
3602
3646
|
]
|
|
3603
3647
|
},
|
|
3604
3648
|
quick: {
|
|
3605
3649
|
fallbackChain: [
|
|
3606
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3650
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptLunaFast, variant: "low" },
|
|
3607
3651
|
{
|
|
3608
3652
|
providers: ["anthropic", "anthropic-api", "github-copilot"],
|
|
3609
|
-
model:
|
|
3653
|
+
model: LATEST_MODEL_BY_FAMILY.claudeHaiku,
|
|
3610
3654
|
variant: "medium"
|
|
3611
3655
|
},
|
|
3612
3656
|
{ providers: ["deepseek"], model: "deepseek-flash", variant: "off" },
|
|
@@ -3618,7 +3662,7 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3618
3662
|
{ providers: ["opencode-go"], model: "minimax-m3", variant: "max" },
|
|
3619
3663
|
{ providers: ["opencode-go"], model: "minimax-m2.7", variant: "max" },
|
|
3620
3664
|
{ providers: ["xai"], model: "grok-4.20-0309-non-reasoning" },
|
|
3621
|
-
{ providers: ["zai-coding-plan"], model:
|
|
3665
|
+
{ providers: ["zai-coding-plan"], model: LATEST_MODEL_BY_FAMILY.glmFlash, variant: "low" },
|
|
3622
3666
|
{ providers: ["xiaomi"], model: "mimo-v2.6-flash", variant: "low" }
|
|
3623
3667
|
]
|
|
3624
3668
|
},
|
|
@@ -3626,13 +3670,13 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3626
3670
|
fallbackChain: [
|
|
3627
3671
|
{
|
|
3628
3672
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3629
|
-
model:
|
|
3673
|
+
model: LATEST_MODEL_BY_FAMILY.claudeSonnet,
|
|
3630
3674
|
variant: "medium"
|
|
3631
3675
|
},
|
|
3632
3676
|
{ providers: ["xiaomi", "opencode-go"], model: "mimo-v2.6-pro", variant: "max" },
|
|
3633
3677
|
{ providers: ["xai", "github-copilot", "opencode-go"], model: "grok-4.7", variant: "xhigh" },
|
|
3634
|
-
{ providers: ["zai-coding-plan", "opencode-go"], model:
|
|
3635
|
-
{ providers: ["openai", "chatgpt-subscription"], model:
|
|
3678
|
+
{ providers: ["zai-coding-plan", "opencode-go"], model: LATEST_MODEL_BY_FAMILY.glm, variant: "high" },
|
|
3679
|
+
{ providers: ["openai", "chatgpt-subscription"], model: LATEST_MODEL_BY_FAMILY.gptSol, variant: "medium" },
|
|
3636
3680
|
{
|
|
3637
3681
|
providers: ["openai", "chatgpt-subscription", "github-copilot", "opencode"],
|
|
3638
3682
|
model: "gpt-5.6-sol",
|
|
@@ -3656,13 +3700,13 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3656
3700
|
fallbackChain: [
|
|
3657
3701
|
{
|
|
3658
3702
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3659
|
-
model:
|
|
3703
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3660
3704
|
variant: "medium"
|
|
3661
3705
|
},
|
|
3662
|
-
{ providers: ["zai-coding-plan", "opencode-go"], model:
|
|
3706
|
+
{ providers: ["zai-coding-plan", "opencode-go"], model: LATEST_MODEL_BY_FAMILY.glm, variant: "max" },
|
|
3663
3707
|
{
|
|
3664
3708
|
providers: ["kimi-for-coding", "moonshotai", "opencode-go", "opencode"],
|
|
3665
|
-
model:
|
|
3709
|
+
model: LATEST_MODEL_BY_FAMILY.kimi,
|
|
3666
3710
|
variant: "max"
|
|
3667
3711
|
}
|
|
3668
3712
|
]
|
|
@@ -3670,10 +3714,10 @@ var init_category_model_requirements = __esm(() => {
|
|
|
3670
3714
|
writing: {
|
|
3671
3715
|
requiresAnyModel: true,
|
|
3672
3716
|
fallbackChain: [
|
|
3673
|
-
{ providers: ["google", "google-vertex", "opencode"], model:
|
|
3717
|
+
{ providers: ["google", "google-vertex", "opencode"], model: LATEST_MODEL_BY_FAMILY.geminiPro, variant: "low" },
|
|
3674
3718
|
{
|
|
3675
3719
|
providers: ["anthropic", "anthropic-api", "github-copilot", "opencode"],
|
|
3676
|
-
model:
|
|
3720
|
+
model: LATEST_MODEL_BY_FAMILY.claudeOpus,
|
|
3677
3721
|
variant: "low"
|
|
3678
3722
|
},
|
|
3679
3723
|
{
|
|
@@ -4942,6 +4986,7 @@ var MODELS_DEV_SOURCE_URL = "https://models.dev/api.json";
|
|
|
4942
4986
|
var init_src2 = __esm(() => {
|
|
4943
4987
|
init_model_resolver();
|
|
4944
4988
|
init_model_requirements();
|
|
4989
|
+
init_latest_models();
|
|
4945
4990
|
init_model_family_detectors();
|
|
4946
4991
|
init_model_capability_aliases();
|
|
4947
4992
|
init_model_capability_heuristics();
|
|
@@ -5179,16 +5224,17 @@ Approach:
|
|
|
5179
5224
|
- This is for tasks requiring exceptional creativity
|
|
5180
5225
|
</Category_Context>`, GOOGLE_CATEGORIES;
|
|
5181
5226
|
var init_google_categories = __esm(() => {
|
|
5227
|
+
init_latest_models();
|
|
5182
5228
|
GOOGLE_CATEGORIES = [
|
|
5183
5229
|
{
|
|
5184
5230
|
name: "visual-engineering",
|
|
5185
|
-
config: { model:
|
|
5231
|
+
config: { model: `google/${LATEST_MODEL_BY_FAMILY.geminiPro}`, variant: "low" },
|
|
5186
5232
|
description: "Visual design, UI/UX, frontend, styling, animation, and design systems",
|
|
5187
5233
|
promptAppend: VISUAL_CATEGORY_PROMPT_APPEND
|
|
5188
5234
|
},
|
|
5189
5235
|
{
|
|
5190
5236
|
name: "artistry",
|
|
5191
|
-
config: { model:
|
|
5237
|
+
config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeFable}`, variant: "max" },
|
|
5192
5238
|
description: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
|
|
5193
5239
|
promptAppend: ARTISTRY_CATEGORY_PROMPT_APPEND
|
|
5194
5240
|
}
|
|
@@ -5222,10 +5268,11 @@ ANTI-AI-SLOP RULES (NON-NEGOTIABLE):
|
|
|
5222
5268
|
- Write like a human, not a corporate template.
|
|
5223
5269
|
</Category_Context>`, KIMI_CATEGORIES;
|
|
5224
5270
|
var init_kimi_categories = __esm(() => {
|
|
5271
|
+
init_latest_models();
|
|
5225
5272
|
KIMI_CATEGORIES = [
|
|
5226
5273
|
{
|
|
5227
5274
|
name: "writing",
|
|
5228
|
-
config: { model:
|
|
5275
|
+
config: { model: `google/${LATEST_MODEL_BY_FAMILY.geminiPro}`, variant: "low" },
|
|
5229
5276
|
description: "Documentation, prose, technical writing",
|
|
5230
5277
|
promptAppend: WRITING_CATEGORY_PROMPT_APPEND
|
|
5231
5278
|
}
|
|
@@ -5360,21 +5407,23 @@ You are working on tasks that don't fit specific categories but require moderate
|
|
|
5360
5407
|
</Category_Context>`, UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits, effort is moderate, and scope stays within a few files/modules. Prefer any matching specialist category.</Selection_Gate>
|
|
5361
5408
|
<Caller_Warning>Provide explicit must-do steps, forbidden scope, and concrete success criteria.</Caller_Warning>`, UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
5362
5409
|
You are working on tasks that don't fit specific categories but require substantial effort.
|
|
5363
|
-
</Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, DEEP_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Of the two deep lanes this is the default: the child settles its decisions from what it reads. When unsure, choose deep-low; a misrouted child returns \`ESCALATE: deep-high\` after one cheap attempt, and you re-spawn the same brief as deep-high with its findings.</Selection_Gate>`, DEEP_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here only when you can name the decision evidence cannot settle: a trade-off with no single right answer, a contract change crossing a package or process boundary, a mechanism with no in-repo pattern to copy, or correctness argued from invariants rather than observed in a test. Wide scope with easy decisions is deep-low or unspecified-high; reasoning as the deliverable is ultrabrain.</Selection_Gate>`, DEEP_LOW_GATE_MODELS, DEEP_HIGH_GATE_MODEL
|
|
5410
|
+
</Category_Context>`, UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Use only when no specialist category fits and substantial effort spans systems/modules with broad impact. Use unspecified-low for contained moderate work.</Selection_Gate>`, DEEP_LOW_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Of the two deep lanes this is the default: the child settles its decisions from what it reads. When unsure, choose deep-low; a misrouted child returns \`ESCALATE: deep-high\` after one cheap attempt, and you re-spawn the same brief as deep-high with its findings.</Selection_Gate>`, DEEP_HIGH_CATEGORY_CALLER_GUIDANCE = `<Selection_Gate>Route here only when you can name the decision evidence cannot settle: a trade-off with no single right answer, a contract change crossing a package or process boundary, a mechanism with no in-repo pattern to copy, or correctness argued from invariants rather than observed in a test. Wide scope with easy decisions is deep-low or unspecified-high; reasoning as the deliverable is ultrabrain.</Selection_Gate>`, DEEP_LOW_GATE_MODELS, DEEP_HIGH_GATE_MODEL, OPENAI_CATEGORIES;
|
|
5364
5411
|
var init_openai_categories = __esm(() => {
|
|
5365
5412
|
init_types();
|
|
5366
|
-
|
|
5413
|
+
init_latest_models();
|
|
5414
|
+
DEEP_LOW_GATE_MODELS = [LATEST_MODEL_BY_FAMILY.gptSol, LATEST_MODEL_BY_FAMILY.gptSolFast, "gpt-5.6-sol-fast", "gpt-5.6-sol"];
|
|
5415
|
+
DEEP_HIGH_GATE_MODEL = LATEST_MODEL_BY_FAMILY.gptAstra;
|
|
5367
5416
|
OPENAI_CATEGORIES = [
|
|
5368
5417
|
{
|
|
5369
5418
|
name: "ultrabrain",
|
|
5370
|
-
config: { model:
|
|
5419
|
+
config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptAstra}`, variant: "max" },
|
|
5371
5420
|
description: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
|
|
5372
5421
|
promptAppend: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
|
|
5373
5422
|
resolvePromptAppend: resolveUltrabrainCategoryPromptAppend
|
|
5374
5423
|
},
|
|
5375
5424
|
{
|
|
5376
5425
|
name: "deep-low",
|
|
5377
|
-
config: { model:
|
|
5426
|
+
config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptSol}`, variant: "medium" },
|
|
5378
5427
|
description: "Default deep lane: one goal, one deliverable, decisions the child can settle from what it reads; preferred over deep-high for 3D graphics, computer/browser use, CAPTCHA, multimodal, backend, logic, and algorithm work. Multiple goals fan out as parallel calls.",
|
|
5379
5428
|
callerGuidance: DEEP_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
5380
5429
|
promptAppend: DEEP_LOW_CATEGORY_PROMPT_APPEND,
|
|
@@ -5383,7 +5432,7 @@ var init_openai_categories = __esm(() => {
|
|
|
5383
5432
|
},
|
|
5384
5433
|
{
|
|
5385
5434
|
name: "deep-high",
|
|
5386
|
-
config: { model:
|
|
5435
|
+
config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptAstra}`, variant: "high" },
|
|
5387
5436
|
description: "Escalation deep lane: a goal whose central decision cannot be settled from evidence alone. Same one-goal, one-deliverable contract as deep-low.",
|
|
5388
5437
|
callerGuidance: DEEP_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
5389
5438
|
promptAppend: DEEP_HIGH_CATEGORY_PROMPT_APPEND,
|
|
@@ -5392,21 +5441,21 @@ var init_openai_categories = __esm(() => {
|
|
|
5392
5441
|
},
|
|
5393
5442
|
{
|
|
5394
5443
|
name: "quick",
|
|
5395
|
-
config: { model:
|
|
5444
|
+
config: { model: `openai/${LATEST_MODEL_BY_FAMILY.gptLunaFast}`, variant: "low" },
|
|
5396
5445
|
description: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
5397
5446
|
callerGuidance: QUICK_CATEGORY_CALLER_GUIDANCE,
|
|
5398
5447
|
promptAppend: QUICK_CATEGORY_PROMPT_APPEND
|
|
5399
5448
|
},
|
|
5400
5449
|
{
|
|
5401
5450
|
name: "unspecified-low",
|
|
5402
|
-
config: { model:
|
|
5451
|
+
config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeSonnet}`, variant: "medium" },
|
|
5403
5452
|
description: "Tasks that don't fit other categories, low effort required",
|
|
5404
5453
|
callerGuidance: UNSPECIFIED_LOW_CATEGORY_CALLER_GUIDANCE,
|
|
5405
5454
|
promptAppend: UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND
|
|
5406
5455
|
},
|
|
5407
5456
|
{
|
|
5408
5457
|
name: "unspecified-high",
|
|
5409
|
-
config: { model:
|
|
5458
|
+
config: { model: `anthropic/${LATEST_MODEL_BY_FAMILY.claudeOpus}`, variant: "medium" },
|
|
5410
5459
|
description: "Tasks that don't fit other categories, high effort required",
|
|
5411
5460
|
callerGuidance: UNSPECIFIED_HIGH_CATEGORY_CALLER_GUIDANCE,
|
|
5412
5461
|
promptAppend: UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
|
|
@@ -5456,7 +5505,7 @@ var init_migration2 = __esm(() => {
|
|
|
5456
5505
|
|
|
5457
5506
|
// packages/omo-opencode/src/shared/opencode-config-dir.ts
|
|
5458
5507
|
import { existsSync as existsSync2, realpathSync } from "fs";
|
|
5459
|
-
import { homedir as
|
|
5508
|
+
import { homedir as homedir3 } from "os";
|
|
5460
5509
|
import { join as join3, posix, resolve, win32 } from "path";
|
|
5461
5510
|
function isDevBuild(version) {
|
|
5462
5511
|
if (!version)
|
|
@@ -5467,14 +5516,14 @@ function getTauriConfigDir(identifier) {
|
|
|
5467
5516
|
const platform = process.platform;
|
|
5468
5517
|
switch (platform) {
|
|
5469
5518
|
case "darwin":
|
|
5470
|
-
return join3(
|
|
5519
|
+
return join3(homedir3(), "Library", "Application Support", identifier);
|
|
5471
5520
|
case "win32": {
|
|
5472
|
-
const appData = process.env.APPDATA || join3(
|
|
5521
|
+
const appData = process.env.APPDATA || join3(homedir3(), "AppData", "Roaming");
|
|
5473
5522
|
return win32.join(appData, identifier);
|
|
5474
5523
|
}
|
|
5475
5524
|
case "linux":
|
|
5476
5525
|
default: {
|
|
5477
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME || join3(
|
|
5526
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join3(homedir3(), ".config");
|
|
5478
5527
|
return join3(xdgConfig, identifier);
|
|
5479
5528
|
}
|
|
5480
5529
|
}
|
|
@@ -5518,7 +5567,7 @@ function getWslLinuxHomeDir(windowsConfigRoot) {
|
|
|
5518
5567
|
function getCliDefaultConfigDir() {
|
|
5519
5568
|
const envXdgConfig = process.env.XDG_CONFIG_HOME?.trim();
|
|
5520
5569
|
const shouldIgnoreWindowsXdg = envXdgConfig !== undefined && envXdgConfig.length > 0 && isWslEnvironment() && isWindowsUserConfigRoot(envXdgConfig);
|
|
5521
|
-
const xdgConfig = shouldIgnoreWindowsXdg ? posix.join(getWslLinuxHomeDir(envXdgConfig) ?? "/home", ".config") : envXdgConfig || join3(
|
|
5570
|
+
const xdgConfig = shouldIgnoreWindowsXdg ? posix.join(getWslLinuxHomeDir(envXdgConfig) ?? "/home", ".config") : envXdgConfig || join3(homedir3(), ".config");
|
|
5522
5571
|
const configDir = isWslEnvironment() ? posix.join(xdgConfig, "opencode") : join3(xdgConfig, "opencode");
|
|
5523
5572
|
return resolveConfigPath(configDir);
|
|
5524
5573
|
}
|
|
@@ -63697,10 +63746,11 @@ var ANTHROPIC_PREFIX = "anthropic/", CLAUDE_CODE_ALIAS_MAP;
|
|
|
63697
63746
|
var init_claude_model_mapper = __esm(() => {
|
|
63698
63747
|
init_model_format_normalizer();
|
|
63699
63748
|
init_model_normalization2();
|
|
63749
|
+
init_latest_models();
|
|
63700
63750
|
CLAUDE_CODE_ALIAS_MAP = new Map([
|
|
63701
|
-
["sonnet", `${ANTHROPIC_PREFIX}
|
|
63702
|
-
["opus", `${ANTHROPIC_PREFIX}
|
|
63703
|
-
["haiku", `${ANTHROPIC_PREFIX}
|
|
63751
|
+
["sonnet", `${ANTHROPIC_PREFIX}${LATEST_MODEL_BY_FAMILY.claudeSonnet}`],
|
|
63752
|
+
["opus", `${ANTHROPIC_PREFIX}${LATEST_MODEL_BY_FAMILY.claudeOpus}`],
|
|
63753
|
+
["haiku", `${ANTHROPIC_PREFIX}${LATEST_MODEL_BY_FAMILY.claudeHaiku}`]
|
|
63704
63754
|
]);
|
|
63705
63755
|
});
|
|
63706
63756
|
|
|
@@ -70090,7 +70140,7 @@ var init_git_master = __esm(() => {
|
|
|
70090
70140
|
OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
|
|
70091
70141
|
OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
|
|
70092
70142
|
commit_footer: union([boolean2(), string2()]).default(false),
|
|
70093
|
-
include_co_authored_by: boolean2().default(
|
|
70143
|
+
include_co_authored_by: boolean2().default(true),
|
|
70094
70144
|
git_env_prefix: GitEnvPrefixSchema.default("GIT_MASTER=1")
|
|
70095
70145
|
}).strict();
|
|
70096
70146
|
});
|
|
@@ -70124,7 +70174,7 @@ var init_memory_agreements = __esm(() => {
|
|
|
70124
70174
|
});
|
|
70125
70175
|
|
|
70126
70176
|
// packages/omo-config-core/src/schema/memory.ts
|
|
70127
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemoryAutoIdentitySchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
70177
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryProjectScopeSchema, OmoMemoryProjectScopeLayerSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemoryAutoIdentitySchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
70128
70178
|
var init_memory = __esm(() => {
|
|
70129
70179
|
init_zod();
|
|
70130
70180
|
init_memory_agreements();
|
|
@@ -70139,6 +70189,7 @@ var init_memory = __esm(() => {
|
|
|
70139
70189
|
merge: _enum(["auto", "integration"]).default("auto"),
|
|
70140
70190
|
category: string2().min(1).default("quick"),
|
|
70141
70191
|
timeout_minutes: number2().int().positive().default(15),
|
|
70192
|
+
max_concurrent_runs: number2().int().positive().default(1),
|
|
70142
70193
|
sandbox: _enum(["auto", "required", "off"]).default("auto")
|
|
70143
70194
|
}).strict();
|
|
70144
70195
|
OmoMemorySyncSchema = object({
|
|
@@ -70164,6 +70215,14 @@ var init_memory = __esm(() => {
|
|
|
70164
70215
|
tool_budget: number2().int().positive().default(8),
|
|
70165
70216
|
query_expansion: boolean2().default(false)
|
|
70166
70217
|
}).strict();
|
|
70218
|
+
OmoMemoryProjectScopeSchema = object({
|
|
70219
|
+
nudge: boolean2().default(true),
|
|
70220
|
+
recall: boolean2().default(true)
|
|
70221
|
+
}).strict();
|
|
70222
|
+
OmoMemoryProjectScopeLayerSchema = object({
|
|
70223
|
+
nudge: boolean2().optional(),
|
|
70224
|
+
recall: boolean2().optional()
|
|
70225
|
+
}).strict();
|
|
70167
70226
|
OmoMemoryNudgeSchema = object({
|
|
70168
70227
|
enabled: boolean2().default(true),
|
|
70169
70228
|
every_user_turns: number2().int().min(1).default(10)
|
|
@@ -70202,6 +70261,7 @@ var init_memory = __esm(() => {
|
|
|
70202
70261
|
merge: _enum(["auto", "integration"]).optional(),
|
|
70203
70262
|
category: string2().min(1).optional(),
|
|
70204
70263
|
timeout_minutes: number2().int().positive().optional(),
|
|
70264
|
+
max_concurrent_runs: number2().int().positive().optional(),
|
|
70205
70265
|
sandbox: _enum(["auto", "required", "off"]).optional()
|
|
70206
70266
|
}).strict();
|
|
70207
70267
|
OmoMemorySyncLayerSchema = object({
|
|
@@ -70266,7 +70326,7 @@ var init_memory = __esm(() => {
|
|
|
70266
70326
|
OmoMemoryAgentOverridesSchema = object({
|
|
70267
70327
|
enabled: boolean2().optional(),
|
|
70268
70328
|
agent: string2().min(1).optional(),
|
|
70269
|
-
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
70329
|
+
reflection: OmoMemoryReflectionLayerSchema.omit({ max_concurrent_runs: true }).optional(),
|
|
70270
70330
|
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
70271
70331
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
70272
70332
|
dream: OmoMemoryDreamLayerSchema.optional(),
|
|
@@ -70291,6 +70351,7 @@ var init_memory = __esm(() => {
|
|
|
70291
70351
|
merge: "auto",
|
|
70292
70352
|
category: "quick",
|
|
70293
70353
|
timeout_minutes: 15,
|
|
70354
|
+
max_concurrent_runs: 1,
|
|
70294
70355
|
sandbox: "auto"
|
|
70295
70356
|
}),
|
|
70296
70357
|
nudge: OmoMemoryNudgeSchema.default({ enabled: true, every_user_turns: 10 }),
|
|
@@ -70319,6 +70380,7 @@ var init_memory = __esm(() => {
|
|
|
70319
70380
|
tool_budget: 8,
|
|
70320
70381
|
query_expansion: false
|
|
70321
70382
|
}),
|
|
70383
|
+
project_scope: OmoMemoryProjectScopeSchema.default({ nudge: true, recall: true }),
|
|
70322
70384
|
projection: OmoMemoryProjectionSchema.default({ max_entries_per_directory: 40, max_bytes: 24576 }),
|
|
70323
70385
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
70324
70386
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
@@ -70338,6 +70400,7 @@ var init_memory = __esm(() => {
|
|
|
70338
70400
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
70339
70401
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
70340
70402
|
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
70403
|
+
project_scope: OmoMemoryProjectScopeLayerSchema.optional(),
|
|
70341
70404
|
projection: OmoMemoryProjectionLayerSchema.optional(),
|
|
70342
70405
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
70343
70406
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
@@ -70635,7 +70698,8 @@ var OmoTelemetrySettingsShape, OmoTelemetrySettingsLayerSchema, OmoTelemetrySett
|
|
|
70635
70698
|
var init_telemetry = __esm(() => {
|
|
70636
70699
|
init_zod();
|
|
70637
70700
|
OmoTelemetrySettingsShape = {
|
|
70638
|
-
enabled: boolean2()
|
|
70701
|
+
enabled: boolean2(),
|
|
70702
|
+
rawTurnSampleRate: number2().min(0).max(1)
|
|
70639
70703
|
};
|
|
70640
70704
|
OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
|
|
70641
70705
|
OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
@@ -70662,11 +70726,17 @@ var init_format_on_mutation = __esm(() => {
|
|
|
70662
70726
|
}).strict();
|
|
70663
70727
|
});
|
|
70664
70728
|
|
|
70665
|
-
// packages/omo-config-core/src/schema/
|
|
70666
|
-
var
|
|
70667
|
-
var
|
|
70729
|
+
// packages/omo-config-core/src/schema/provenance.ts
|
|
70730
|
+
var OmoProvenanceSettingsSchema;
|
|
70731
|
+
var init_provenance = __esm(() => {
|
|
70668
70732
|
init_zod();
|
|
70669
|
-
|
|
70733
|
+
OmoProvenanceSettingsSchema = object({
|
|
70734
|
+
workspaces: array(object({
|
|
70735
|
+
name: string2().trim().min(1).regex(/\S/),
|
|
70736
|
+
git_owners: array(string2().trim().min(1).regex(/\S/)).optional(),
|
|
70737
|
+
paths: array(string2().trim().min(1).regex(/\S/)).optional()
|
|
70738
|
+
}).strict()).optional()
|
|
70739
|
+
}).strict();
|
|
70670
70740
|
});
|
|
70671
70741
|
|
|
70672
70742
|
// packages/omo-config-core/src/schema/config.ts
|
|
@@ -70685,13 +70755,13 @@ var init_config = __esm(() => {
|
|
|
70685
70755
|
init_team();
|
|
70686
70756
|
init_telemetry();
|
|
70687
70757
|
init_format_on_mutation();
|
|
70688
|
-
|
|
70758
|
+
init_provenance();
|
|
70689
70759
|
OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
70690
70760
|
OmoDisabledSkillsSchema = array(string2());
|
|
70691
70761
|
OmoExcludedModelsSchema = array(string2());
|
|
70692
70762
|
OmoTypedHarnessConfigSchema = object({
|
|
70763
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
70693
70764
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
70694
|
-
gateway: OmoGatewaySectionSchema.optional(),
|
|
70695
70765
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
70696
70766
|
agents: OmoAgentsConfigSchema.optional(),
|
|
70697
70767
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -70708,6 +70778,7 @@ var init_config = __esm(() => {
|
|
|
70708
70778
|
exclude_models: OmoExcludedModelsSchema.optional()
|
|
70709
70779
|
}).strict();
|
|
70710
70780
|
OmoConfigProfileSchema = object({
|
|
70781
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
70711
70782
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
70712
70783
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
70713
70784
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -70729,8 +70800,8 @@ var init_config = __esm(() => {
|
|
|
70729
70800
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
70730
70801
|
}).strict();
|
|
70731
70802
|
OmoConfigSchema = object({
|
|
70803
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
70732
70804
|
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
70733
|
-
gateway: OmoGatewaySectionSchema.optional(),
|
|
70734
70805
|
$schema: string2().optional(),
|
|
70735
70806
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
70736
70807
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -70755,8 +70826,8 @@ var init_config = __esm(() => {
|
|
|
70755
70826
|
legacy_migrations: record(string2(), unknown()).optional()
|
|
70756
70827
|
}).strict();
|
|
70757
70828
|
OmoConfigLayerSchema = object({
|
|
70829
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
70758
70830
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
70759
|
-
gateway: OmoGatewaySectionSchema.optional(),
|
|
70760
70831
|
$schema: string2().optional(),
|
|
70761
70832
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
70762
70833
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -70899,7 +70970,6 @@ var init_schema = __esm(() => {
|
|
|
70899
70970
|
init_config();
|
|
70900
70971
|
init_fallback_models();
|
|
70901
70972
|
init_format_on_mutation();
|
|
70902
|
-
init_gateway();
|
|
70903
70973
|
init_git_master();
|
|
70904
70974
|
init_harness();
|
|
70905
70975
|
init_legacy_category_names();
|
|
@@ -70908,6 +70978,7 @@ var init_schema = __esm(() => {
|
|
|
70908
70978
|
init_model_catalog();
|
|
70909
70979
|
init_model_profile();
|
|
70910
70980
|
init_model_ref();
|
|
70981
|
+
init_provenance();
|
|
70911
70982
|
init_side_panel();
|
|
70912
70983
|
init_task();
|
|
70913
70984
|
init_team();
|
|
@@ -71173,6 +71244,7 @@ function pruneInvalidConfigPaths(config, issues, validate, maxPasses = MAX_PRUNE
|
|
|
71173
71244
|
var MAX_PRUNE_PASSES = 32;
|
|
71174
71245
|
|
|
71175
71246
|
// packages/omo-config-core/src/loader/layer-validation.ts
|
|
71247
|
+
import { createHash } from "crypto";
|
|
71176
71248
|
function validationDiagnostic(path, issues) {
|
|
71177
71249
|
const issuePaths = issues.map((issue) => issue.path.map((segment) => String(segment)).join("."));
|
|
71178
71250
|
return {
|
|
@@ -71196,6 +71268,9 @@ function unrecognizedKeyIssues(issues) {
|
|
|
71196
71268
|
function isRecord11(value) {
|
|
71197
71269
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
71198
71270
|
}
|
|
71271
|
+
function isRetiredSection(key) {
|
|
71272
|
+
return RETIRED_SECTION_DIGESTS.has(createHash("sha256").update(key.toLowerCase()).digest("hex"));
|
|
71273
|
+
}
|
|
71199
71274
|
function sanitizeUnsafeKeys(value, path = []) {
|
|
71200
71275
|
if (Array.isArray(value)) {
|
|
71201
71276
|
const issues = [];
|
|
@@ -71214,6 +71289,9 @@ function sanitizeUnsafeKeys(value, path = []) {
|
|
|
71214
71289
|
}
|
|
71215
71290
|
const sanitized = {};
|
|
71216
71291
|
for (const [key, entry] of Object.entries(value)) {
|
|
71292
|
+
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] ?? "");
|
|
71293
|
+
if (isConfigContainer && isRetiredSection(key))
|
|
71294
|
+
continue;
|
|
71217
71295
|
if (isUnsafeObjectKey2(key)) {
|
|
71218
71296
|
issues.push({ keys: [key], path });
|
|
71219
71297
|
continue;
|
|
@@ -71300,13 +71378,18 @@ function validateConfigLayer(path, data) {
|
|
|
71300
71378
|
return rejected;
|
|
71301
71379
|
return { loaded: true, diagnostics: [...diagnostics, ...invalidValueDiagnostics(path, pruned.dropped)], value: pruned.config };
|
|
71302
71380
|
}
|
|
71303
|
-
var validateLayerRecord = (record) => {
|
|
71381
|
+
var RETIRED_SECTION_DIGESTS, HARNESS_BLOCKS, validateLayerRecord = (record) => {
|
|
71304
71382
|
const parsed = OmoConfigLayerSchema.safeParse(record);
|
|
71305
71383
|
return parsed.success ? { success: true } : { success: false, issues: parsed.error.issues };
|
|
71306
71384
|
};
|
|
71307
71385
|
var init_layer_validation = __esm(() => {
|
|
71308
71386
|
init_schema();
|
|
71309
71387
|
init_merge();
|
|
71388
|
+
RETIRED_SECTION_DIGESTS = new Set([
|
|
71389
|
+
"447f75a8ebdbdb79a57f0b8cebbfba183820cf54a8119ac01449b30499e5ef0e",
|
|
71390
|
+
"4ea5ee68fea05586106890ded5733820bb77d919cda27bc4b8139b7cd33b8889"
|
|
71391
|
+
]);
|
|
71392
|
+
HARNESS_BLOCKS = new Set(["[opencode]", "[native]", "[senpi]", "[codex]"]);
|
|
71310
71393
|
});
|
|
71311
71394
|
|
|
71312
71395
|
// packages/omo-config-core/src/internal/posix-path.ts
|
|
@@ -72016,6 +72099,323 @@ var init_shared = __esm(() => {
|
|
|
72016
72099
|
init_legacy_workspace_migration();
|
|
72017
72100
|
init_replace_tool_args();
|
|
72018
72101
|
});
|
|
72102
|
+
// packages/skills-loader-core/src/shared/skill-path-resolver.ts
|
|
72103
|
+
var init_skill_path_resolver3 = __esm(() => {
|
|
72104
|
+
init_skill_path_resolver();
|
|
72105
|
+
});
|
|
72106
|
+
// packages/shared-skills/index.mjs
|
|
72107
|
+
import { existsSync as existsSync8 } from "fs";
|
|
72108
|
+
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
72109
|
+
function sharedSkillsRootPath() {
|
|
72110
|
+
const candidates = SKILLS_PROBE_SPECIFIERS.map((specifier) => fileURLToPath2(new URL(specifier, import.meta.url)));
|
|
72111
|
+
return candidates.find((candidate) => existsSync8(candidate)) ?? candidates[0];
|
|
72112
|
+
}
|
|
72113
|
+
var SKILLS_PROBE_SPECIFIERS;
|
|
72114
|
+
var init_shared_skills = __esm(() => {
|
|
72115
|
+
SKILLS_PROBE_SPECIFIERS = ["./skills/", "../skills/", "../../skills/"];
|
|
72116
|
+
});
|
|
72117
|
+
|
|
72118
|
+
// packages/skills-loader-core/src/shared/claude-config-dir.ts
|
|
72119
|
+
import { join as join13 } from "path";
|
|
72120
|
+
function getClaudeConfigDir() {
|
|
72121
|
+
const envConfigDir = process.env.CLAUDE_CONFIG_DIR;
|
|
72122
|
+
if (envConfigDir) {
|
|
72123
|
+
return envConfigDir;
|
|
72124
|
+
}
|
|
72125
|
+
return join13(getHomeDirectory(), ".claude");
|
|
72126
|
+
}
|
|
72127
|
+
var init_claude_config_dir2 = __esm(() => {
|
|
72128
|
+
init_src();
|
|
72129
|
+
});
|
|
72130
|
+
|
|
72131
|
+
// packages/skills-loader-core/src/shared/plugin-identity.ts
|
|
72132
|
+
var PRODUCT_IDENTITY, PLUGIN_NAME2, LEGACY_PLUGIN_NAME2, PUBLISHED_PACKAGE_NAME2, CONFIG_BASENAME, LEGACY_CONFIG_BASENAME, LOG_FILENAME3, CACHE_DIR_NAME2;
|
|
72133
|
+
var init_plugin_identity2 = __esm(() => {
|
|
72134
|
+
init_src();
|
|
72135
|
+
PRODUCT_IDENTITY = createProductIdentity({
|
|
72136
|
+
pluginName: "oh-my-openagent",
|
|
72137
|
+
legacyPluginName: "oh-my-opencode",
|
|
72138
|
+
publishedPackageName: "oh-my-opencode",
|
|
72139
|
+
configBasename: "oh-my-openagent",
|
|
72140
|
+
legacyConfigBasename: "oh-my-opencode",
|
|
72141
|
+
logFileName: "oh-my-opencode.log",
|
|
72142
|
+
cacheDirName: "oh-my-opencode"
|
|
72143
|
+
});
|
|
72144
|
+
PLUGIN_NAME2 = PRODUCT_IDENTITY.pluginName;
|
|
72145
|
+
LEGACY_PLUGIN_NAME2 = PRODUCT_IDENTITY.legacyPluginName;
|
|
72146
|
+
PUBLISHED_PACKAGE_NAME2 = PRODUCT_IDENTITY.publishedPackageName;
|
|
72147
|
+
CONFIG_BASENAME = PRODUCT_IDENTITY.configBasename;
|
|
72148
|
+
LEGACY_CONFIG_BASENAME = PRODUCT_IDENTITY.legacyConfigBasename;
|
|
72149
|
+
LOG_FILENAME3 = PRODUCT_IDENTITY.logFileName;
|
|
72150
|
+
CACHE_DIR_NAME2 = PRODUCT_IDENTITY.cacheDirName;
|
|
72151
|
+
});
|
|
72152
|
+
|
|
72153
|
+
// packages/skills-loader-core/src/shared/opencode-config-dir.ts
|
|
72154
|
+
import { existsSync as existsSync9, realpathSync as realpathSync5 } from "fs";
|
|
72155
|
+
import { homedir as homedir5 } from "os";
|
|
72156
|
+
import { join as join14, posix as posix3, resolve as resolve5, win32 as win322 } from "path";
|
|
72157
|
+
function isDevBuild2(version) {
|
|
72158
|
+
if (!version)
|
|
72159
|
+
return false;
|
|
72160
|
+
return version.includes("-dev") || version.includes(".dev");
|
|
72161
|
+
}
|
|
72162
|
+
function getTauriConfigDir2(identifier) {
|
|
72163
|
+
const platform = process.platform;
|
|
72164
|
+
switch (platform) {
|
|
72165
|
+
case "darwin":
|
|
72166
|
+
return join14(homedir5(), "Library", "Application Support", identifier);
|
|
72167
|
+
case "win32": {
|
|
72168
|
+
const appData = process.env.APPDATA || join14(homedir5(), "AppData", "Roaming");
|
|
72169
|
+
return win322.join(appData, identifier);
|
|
72170
|
+
}
|
|
72171
|
+
case "linux":
|
|
72172
|
+
default: {
|
|
72173
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join14(homedir5(), ".config");
|
|
72174
|
+
return join14(xdgConfig, identifier);
|
|
72175
|
+
}
|
|
72176
|
+
}
|
|
72177
|
+
}
|
|
72178
|
+
function resolveConfigPath2(pathValue) {
|
|
72179
|
+
if (isWslEnvironment2() && pathValue.startsWith("/")) {
|
|
72180
|
+
return posix3.normalize(pathValue);
|
|
72181
|
+
}
|
|
72182
|
+
const resolvedPath = resolve5(pathValue);
|
|
72183
|
+
if (!existsSync9(resolvedPath))
|
|
72184
|
+
return resolvedPath;
|
|
72185
|
+
try {
|
|
72186
|
+
return realpathSync5(resolvedPath);
|
|
72187
|
+
} catch (error) {
|
|
72188
|
+
if (error instanceof Error) {
|
|
72189
|
+
return resolvedPath;
|
|
72190
|
+
}
|
|
72191
|
+
return resolvedPath;
|
|
72192
|
+
}
|
|
72193
|
+
}
|
|
72194
|
+
function isWslEnvironment2() {
|
|
72195
|
+
return process.platform === "linux" && (Boolean(process.env.WSL_DISTRO_NAME?.trim()) || Boolean(process.env.WSL_INTEROP?.trim()));
|
|
72196
|
+
}
|
|
72197
|
+
function isWindowsUserConfigRoot2(pathValue) {
|
|
72198
|
+
const normalizedPath = pathValue.replaceAll("\\", "/").toLowerCase();
|
|
72199
|
+
return /^[a-z]:\/users\//.test(normalizedPath) || /^\/mnt\/[a-z]\/users\//.test(normalizedPath);
|
|
72200
|
+
}
|
|
72201
|
+
function getWindowsUserFromConfigRoot2(pathValue) {
|
|
72202
|
+
const normalizedPath = pathValue.replaceAll("\\", "/");
|
|
72203
|
+
const match = /^(?:[a-z]:|\/mnt\/[a-z])\/Users\/([^/]+)/i.exec(normalizedPath);
|
|
72204
|
+
return match?.[1] ?? null;
|
|
72205
|
+
}
|
|
72206
|
+
function getWslLinuxHomeDir2(windowsConfigRoot) {
|
|
72207
|
+
const envHome = process.env.HOME?.trim();
|
|
72208
|
+
if (envHome && envHome.startsWith("/") && !isWindowsUserConfigRoot2(envHome)) {
|
|
72209
|
+
return envHome;
|
|
72210
|
+
}
|
|
72211
|
+
const user = process.env.USER?.trim() || process.env.LOGNAME?.trim() || process.env.SUDO_USER?.trim() || (windowsConfigRoot ? getWindowsUserFromConfigRoot2(windowsConfigRoot) : undefined);
|
|
72212
|
+
return user ? posix3.join("/home", user) : null;
|
|
72213
|
+
}
|
|
72214
|
+
function getCliDefaultConfigDir2() {
|
|
72215
|
+
const envXdgConfig = process.env.XDG_CONFIG_HOME?.trim();
|
|
72216
|
+
const shouldIgnoreWindowsXdg = envXdgConfig !== undefined && envXdgConfig.length > 0 && isWslEnvironment2() && isWindowsUserConfigRoot2(envXdgConfig);
|
|
72217
|
+
const xdgConfig = shouldIgnoreWindowsXdg ? posix3.join(getWslLinuxHomeDir2(envXdgConfig) ?? "/home", ".config") : envXdgConfig || join14(homedir5(), ".config");
|
|
72218
|
+
const configDir = isWslEnvironment2() ? posix3.join(xdgConfig, "opencode") : join14(xdgConfig, "opencode");
|
|
72219
|
+
return resolveConfigPath2(configDir);
|
|
72220
|
+
}
|
|
72221
|
+
function getCliCustomConfigDir2() {
|
|
72222
|
+
const envConfigDir = process.env.OPENCODE_CONFIG_DIR?.trim();
|
|
72223
|
+
if (!envConfigDir) {
|
|
72224
|
+
return null;
|
|
72225
|
+
}
|
|
72226
|
+
return resolveConfigPath2(envConfigDir);
|
|
72227
|
+
}
|
|
72228
|
+
function getCliConfigDir2() {
|
|
72229
|
+
return getCliCustomConfigDir2() ?? getCliDefaultConfigDir2();
|
|
72230
|
+
}
|
|
72231
|
+
function getOpenCodeConfigDirs2(options) {
|
|
72232
|
+
if (options.binary !== "opencode") {
|
|
72233
|
+
return [getOpenCodeConfigDir2(options)];
|
|
72234
|
+
}
|
|
72235
|
+
const customConfigDir = getCliCustomConfigDir2();
|
|
72236
|
+
return Array.from(new Set([
|
|
72237
|
+
...customConfigDir ? [customConfigDir] : [],
|
|
72238
|
+
getCliDefaultConfigDir2()
|
|
72239
|
+
]));
|
|
72240
|
+
}
|
|
72241
|
+
function getOpenCodeConfigDir2(options) {
|
|
72242
|
+
const { binary, version, checkExisting = true } = options;
|
|
72243
|
+
if (binary === "opencode") {
|
|
72244
|
+
return getCliConfigDir2();
|
|
72245
|
+
}
|
|
72246
|
+
const identifier = isDevBuild2(version) ? TAURI_APP_IDENTIFIER_DEV2 : TAURI_APP_IDENTIFIER2;
|
|
72247
|
+
const tauriDirBase = getTauriConfigDir2(identifier);
|
|
72248
|
+
const tauriDir = process.platform === "win32" ? win322.isAbsolute(tauriDirBase) ? win322.normalize(tauriDirBase) : win322.resolve(tauriDirBase) : resolveConfigPath2(tauriDirBase);
|
|
72249
|
+
if (checkExisting) {
|
|
72250
|
+
const legacyDir = getCliConfigDir2();
|
|
72251
|
+
const legacyConfig = join14(legacyDir, "opencode.json");
|
|
72252
|
+
const legacyConfigC = join14(legacyDir, "opencode.jsonc");
|
|
72253
|
+
if (existsSync9(legacyConfig) || existsSync9(legacyConfigC)) {
|
|
72254
|
+
return legacyDir;
|
|
72255
|
+
}
|
|
72256
|
+
}
|
|
72257
|
+
return tauriDir;
|
|
72258
|
+
}
|
|
72259
|
+
var TAURI_APP_IDENTIFIER2 = "ai.opencode.desktop", TAURI_APP_IDENTIFIER_DEV2 = "ai.opencode.desktop.dev";
|
|
72260
|
+
var init_opencode_config_dir2 = __esm(() => {
|
|
72261
|
+
init_plugin_identity2();
|
|
72262
|
+
});
|
|
72263
|
+
|
|
72264
|
+
// packages/skills-loader-core/src/shared/opencode-command-dirs.ts
|
|
72265
|
+
var init_opencode_command_dirs2 = __esm(() => {
|
|
72266
|
+
init_opencode_config_dir2();
|
|
72267
|
+
});
|
|
72268
|
+
// packages/skills-loader-core/src/shared/jsonc-parser.ts
|
|
72269
|
+
var init_jsonc_parser3 = () => {};
|
|
72270
|
+
|
|
72271
|
+
// packages/skills-loader-core/src/shared/project-discovery-dirs.ts
|
|
72272
|
+
import { execFileSync } from "child_process";
|
|
72273
|
+
import { existsSync as existsSync10, realpathSync as realpathSync6 } from "fs";
|
|
72274
|
+
import { dirname as dirname5, join as join15, resolve as resolve6, win32 as win323 } from "path";
|
|
72275
|
+
function normalizePath(path) {
|
|
72276
|
+
const resolvedPath = process.platform !== "win32" && win323.isAbsolute(path) ? path : resolve6(path);
|
|
72277
|
+
if (!existsSync10(resolvedPath)) {
|
|
72278
|
+
return resolvedPath;
|
|
72279
|
+
}
|
|
72280
|
+
try {
|
|
72281
|
+
return realpathSync6.native(resolvedPath);
|
|
72282
|
+
} catch (error) {
|
|
72283
|
+
if (!(error instanceof Error)) {
|
|
72284
|
+
throw error;
|
|
72285
|
+
}
|
|
72286
|
+
try {
|
|
72287
|
+
return realpathSync6(resolvedPath);
|
|
72288
|
+
} catch (fallbackError) {
|
|
72289
|
+
if (!(fallbackError instanceof Error)) {
|
|
72290
|
+
throw fallbackError;
|
|
72291
|
+
}
|
|
72292
|
+
return resolvedPath;
|
|
72293
|
+
}
|
|
72294
|
+
}
|
|
72295
|
+
}
|
|
72296
|
+
function pathKey(path) {
|
|
72297
|
+
const normalized = path.replace(/\\/g, "/");
|
|
72298
|
+
return process.platform === "win32" ? normalized.toLowerCase() : normalized;
|
|
72299
|
+
}
|
|
72300
|
+
function detectWorktreePath(directory) {
|
|
72301
|
+
const resolvedDirectory = resolve6(directory);
|
|
72302
|
+
const cacheKey = pathKey(normalizePath(resolvedDirectory));
|
|
72303
|
+
if (worktreePathCache2.has(cacheKey)) {
|
|
72304
|
+
return worktreePathCache2.get(cacheKey);
|
|
72305
|
+
}
|
|
72306
|
+
let ancestor = normalizePath(resolvedDirectory);
|
|
72307
|
+
while (true) {
|
|
72308
|
+
if (existsSync10(join15(ancestor, ".git"))) {
|
|
72309
|
+
worktreePathCache2.set(cacheKey, ancestor);
|
|
72310
|
+
return ancestor;
|
|
72311
|
+
}
|
|
72312
|
+
const parent = dirname5(ancestor);
|
|
72313
|
+
if (parent === ancestor)
|
|
72314
|
+
break;
|
|
72315
|
+
ancestor = parent;
|
|
72316
|
+
}
|
|
72317
|
+
try {
|
|
72318
|
+
const worktreePath = execFileSync("git", ["rev-parse", "--show-toplevel"], {
|
|
72319
|
+
cwd: resolvedDirectory,
|
|
72320
|
+
encoding: "utf-8",
|
|
72321
|
+
timeout: 5000,
|
|
72322
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
72323
|
+
}).trim();
|
|
72324
|
+
const normalizedWorktreePath = normalizePath(worktreePath);
|
|
72325
|
+
worktreePathCache2.set(cacheKey, normalizedWorktreePath);
|
|
72326
|
+
return normalizedWorktreePath;
|
|
72327
|
+
} catch (error) {
|
|
72328
|
+
if (!(error instanceof Error)) {
|
|
72329
|
+
throw error;
|
|
72330
|
+
}
|
|
72331
|
+
worktreePathCache2.set(cacheKey, undefined);
|
|
72332
|
+
return;
|
|
72333
|
+
}
|
|
72334
|
+
}
|
|
72335
|
+
var worktreePathCache2;
|
|
72336
|
+
var init_project_discovery_dirs2 = __esm(() => {
|
|
72337
|
+
init_jsonc_parser3();
|
|
72338
|
+
init_plugin_identity2();
|
|
72339
|
+
worktreePathCache2 = new Map;
|
|
72340
|
+
});
|
|
72341
|
+
|
|
72342
|
+
// packages/skills-loader-core/src/shared/internal-initiator-marker.ts
|
|
72343
|
+
var init_internal_initiator_marker3 = __esm(() => {
|
|
72344
|
+
init_internal_initiator_marker();
|
|
72345
|
+
});
|
|
72346
|
+
|
|
72347
|
+
// packages/skills-loader-core/src/shared/index.ts
|
|
72348
|
+
var init_shared2 = __esm(() => {
|
|
72349
|
+
init_claude_config_dir2();
|
|
72350
|
+
init_opencode_command_dirs2();
|
|
72351
|
+
init_opencode_config_dir2();
|
|
72352
|
+
init_project_discovery_dirs2();
|
|
72353
|
+
init_skill_path_resolver3();
|
|
72354
|
+
init_internal_initiator_marker3();
|
|
72355
|
+
});
|
|
72356
|
+
|
|
72357
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/skill-provenance.ts
|
|
72358
|
+
import { basename as basename3, dirname as dirname6, join as join16, resolve as resolve7, sep } from "path";
|
|
72359
|
+
import { homedir as homedir6 } from "os";
|
|
72360
|
+
function knownUserSkillRoots() {
|
|
72361
|
+
const home = homedir6();
|
|
72362
|
+
return [
|
|
72363
|
+
join16(getClaudeConfigDir(), "skills"),
|
|
72364
|
+
join16(home, ".agents", "skills"),
|
|
72365
|
+
join16(home, ".omo", "agent", "skills"),
|
|
72366
|
+
join16(home, ".senpi", "agent", "skills"),
|
|
72367
|
+
sharedSkillsRootPath(),
|
|
72368
|
+
...getOpenCodeConfigDirs2({ binary: "opencode" }).flatMap((dir) => [
|
|
72369
|
+
join16(dir, "skills"),
|
|
72370
|
+
join16(dir, "skill")
|
|
72371
|
+
])
|
|
72372
|
+
];
|
|
72373
|
+
}
|
|
72374
|
+
var observers;
|
|
72375
|
+
var init_skill_provenance = __esm(() => {
|
|
72376
|
+
init_shared_skills();
|
|
72377
|
+
init_shared2();
|
|
72378
|
+
observers = new Set;
|
|
72379
|
+
});
|
|
72380
|
+
|
|
72381
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/checked-skill-read.ts
|
|
72382
|
+
var init_checked_skill_read = __esm(() => {
|
|
72383
|
+
init_skill_provenance();
|
|
72384
|
+
});
|
|
72385
|
+
|
|
72386
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/skill-mcp-config.ts
|
|
72387
|
+
var init_skill_mcp_config = __esm(() => {
|
|
72388
|
+
init_js_yaml();
|
|
72389
|
+
init_checked_skill_read();
|
|
72390
|
+
init_skill_provenance();
|
|
72391
|
+
});
|
|
72392
|
+
|
|
72393
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/loaded-skill-from-path.ts
|
|
72394
|
+
var init_loaded_skill_from_path = __esm(() => {
|
|
72395
|
+
init_skill_path_resolver3();
|
|
72396
|
+
init_skill_mcp_config();
|
|
72397
|
+
init_checked_skill_read();
|
|
72398
|
+
init_skill_provenance();
|
|
72399
|
+
});
|
|
72400
|
+
|
|
72401
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/skill-directory-loader.ts
|
|
72402
|
+
var init_skill_directory_loader = __esm(() => {
|
|
72403
|
+
init_loaded_skill_from_path();
|
|
72404
|
+
init_skill_provenance();
|
|
72405
|
+
});
|
|
72406
|
+
|
|
72407
|
+
// packages/skills-loader-core/src/features/opencode-skill-loader/config-source-discovery.ts
|
|
72408
|
+
function setSkillSourceProvenance(config, provenance) {
|
|
72409
|
+
sourceOrigins.set(config, provenance);
|
|
72410
|
+
}
|
|
72411
|
+
var sourceOrigins;
|
|
72412
|
+
var init_config_source_discovery = __esm(() => {
|
|
72413
|
+
init_skill_directory_loader();
|
|
72414
|
+
init_loaded_skill_from_path();
|
|
72415
|
+
init_project_discovery_dirs2();
|
|
72416
|
+
init_skill_provenance();
|
|
72417
|
+
sourceOrigins = new WeakMap;
|
|
72418
|
+
});
|
|
72019
72419
|
|
|
72020
72420
|
// packages/omo-opencode/src/shared/disabled-providers.ts
|
|
72021
72421
|
function getModelProvider(model) {
|
|
@@ -72135,7 +72535,7 @@ function appendViews(views, layers, select, keyPrefix) {
|
|
|
72135
72535
|
for (const layer of layers) {
|
|
72136
72536
|
const config = select(layer.config);
|
|
72137
72537
|
if (Object.keys(config).length > 0)
|
|
72138
|
-
views.push({ config, keyPrefix, path: layer.source.path });
|
|
72538
|
+
views.push({ config, keyPrefix, path: layer.source.path, scope: layer.source.scope });
|
|
72139
72539
|
}
|
|
72140
72540
|
}
|
|
72141
72541
|
function recordFields(value, fields) {
|
|
@@ -72741,7 +73141,7 @@ var init_git_master2 = __esm(() => {
|
|
|
72741
73141
|
init_git_env_prefix2();
|
|
72742
73142
|
GitMasterConfigSchema = object({
|
|
72743
73143
|
commit_footer: union([boolean2(), string2()]).default(false),
|
|
72744
|
-
include_co_authored_by: boolean2().default(
|
|
73144
|
+
include_co_authored_by: boolean2().default(true),
|
|
72745
73145
|
git_env_prefix: GitEnvPrefixSchema2
|
|
72746
73146
|
});
|
|
72747
73147
|
});
|
|
@@ -73146,7 +73546,7 @@ var init_oh_my_opencode_config = __esm(() => {
|
|
|
73146
73546
|
babysitting: BabysittingConfigSchema.optional(),
|
|
73147
73547
|
git_master: GitMasterConfigSchema.default({
|
|
73148
73548
|
commit_footer: false,
|
|
73149
|
-
include_co_authored_by:
|
|
73549
|
+
include_co_authored_by: true,
|
|
73150
73550
|
git_env_prefix: "GIT_MASTER=1"
|
|
73151
73551
|
}),
|
|
73152
73552
|
browser_automation_engine: BrowserAutomationConfigSchema.optional(),
|
|
@@ -73221,7 +73621,7 @@ var init_prune_plugin_view = __esm(() => {
|
|
|
73221
73621
|
});
|
|
73222
73622
|
|
|
73223
73623
|
// packages/omo-opencode/src/config/validate.ts
|
|
73224
|
-
import { relative } from "path";
|
|
73624
|
+
import { dirname as dirname7, isAbsolute, join as join17, relative } from "path";
|
|
73225
73625
|
function shortPath(configPath) {
|
|
73226
73626
|
const candidate = relative(process.cwd(), configPath);
|
|
73227
73627
|
return candidate.length > 0 ? candidate : configPath;
|
|
@@ -73357,6 +73757,28 @@ function validatePluginConfig(directory, environment = process.env) {
|
|
|
73357
73757
|
const userConfig = parseConfig(prunePluginView({ config: chain.protectedUserView, homeDir, keyPrefix: "", path: "" }).config);
|
|
73358
73758
|
const config = applyDisabledProviders(materializeAgentModelChains(protectUserFields(mergeViews(views), userConfig)));
|
|
73359
73759
|
warnLegacyUlwExecuteKey(chain.views);
|
|
73760
|
+
if (config.skills) {
|
|
73761
|
+
const owner = chain.views.findLast((view) => Object.hasOwn(view.config, "skills"));
|
|
73762
|
+
const userRoots = [...knownUserSkillRoots()];
|
|
73763
|
+
for (const view of chain.views.filter((candidate) => candidate.scope === "user")) {
|
|
73764
|
+
const settings = OhMyOpenCodeConfigSchema.safeParse({ skills: view.config.skills });
|
|
73765
|
+
const skills = settings.success ? settings.data.skills : undefined;
|
|
73766
|
+
if (!skills || Array.isArray(skills))
|
|
73767
|
+
continue;
|
|
73768
|
+
for (const source of skills.sources ?? []) {
|
|
73769
|
+
const path = typeof source === "string" ? source : source.path;
|
|
73770
|
+
if (/^https?:\/\//.test(path))
|
|
73771
|
+
continue;
|
|
73772
|
+
userRoots.push(path.startsWith("~/") ? join17(homeDir ?? "", path.slice(2)) : isAbsolute(path) ? path : join17(dirname7(view.path), path));
|
|
73773
|
+
}
|
|
73774
|
+
}
|
|
73775
|
+
setSkillSourceProvenance(config.skills, {
|
|
73776
|
+
kind: owner?.scope === "user" ? "user" : "project-auto",
|
|
73777
|
+
selectedRoot: owner ? dirname7(owner.path) : directory,
|
|
73778
|
+
projectRoot: detectWorktreePath(directory) ?? directory,
|
|
73779
|
+
userRoots
|
|
73780
|
+
});
|
|
73781
|
+
}
|
|
73360
73782
|
return {
|
|
73361
73783
|
valid: messages.length === 0,
|
|
73362
73784
|
messages,
|
|
@@ -73367,6 +73789,9 @@ function validatePluginConfig(directory, environment = process.env) {
|
|
|
73367
73789
|
}
|
|
73368
73790
|
var START_WORK_DEPRECATION_MESSAGE = 'config key "start_work" is deprecated, rename to "ulw_execute" - will be removed next release', deprecationWarningSink;
|
|
73369
73791
|
var init_validate = __esm(() => {
|
|
73792
|
+
init_config_source_discovery();
|
|
73793
|
+
init_skill_provenance();
|
|
73794
|
+
init_project_discovery_dirs2();
|
|
73370
73795
|
init_src4();
|
|
73371
73796
|
init_disabled_providers();
|
|
73372
73797
|
init_logger2();
|
|
@@ -75096,7 +75521,7 @@ init_shared();
|
|
|
75096
75521
|
// package.json
|
|
75097
75522
|
var package_default = {
|
|
75098
75523
|
name: "oh-my-opencode",
|
|
75099
|
-
version: "5.1.
|
|
75524
|
+
version: "5.1.46",
|
|
75100
75525
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
75101
75526
|
main: "./dist/index.js",
|
|
75102
75527
|
types: "dist/index.d.ts",
|
|
@@ -75216,6 +75641,8 @@ var package_default = {
|
|
|
75216
75641
|
"build:senpi-plugin": "bun run build:lsp-daemon && bun run build:ast-grep-mcp && bun run build:senpi-plugin:stage",
|
|
75217
75642
|
"build:senpi-plugin:native": "node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/build-daemon-launch-spec.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
|
|
75218
75643
|
"build:senpi-plugin:stage": "bun run build:materialize-frontend && node packages/omo-senpi/plugin/scripts/stage-lsp-daemon-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-ast-grep-mcp-runtime.mjs && node packages/omo-senpi/plugin/scripts/stage-x-search-skill.mjs && node packages/omo-senpi/plugin/scripts/build-extension.mjs && node packages/omo-senpi/plugin/scripts/build-daemon-launch-spec.mjs && node packages/omo-senpi/plugin/scripts/sync-skills.mjs && node packages/omo-senpi/plugin/scripts/embed-directive.mjs --check && node packages/omo-senpi/plugin/scripts/build-install.mjs",
|
|
75644
|
+
"bundle-inputs": "node packages/omo-senpi/plugin/scripts/bundle-inputs.mjs",
|
|
75645
|
+
"bundle-inputs:check": "node packages/omo-senpi/plugin/scripts/bundle-inputs.mjs --check",
|
|
75219
75646
|
"build:materialize-frontend": "node packages/omo-codex/plugin/scripts/materialize-shared-upstreams.mjs --strict",
|
|
75220
75647
|
"build:shared-skills-assets": "bun run build:materialize-frontend && rm -rf dist/skills && cp -R packages/shared-skills/skills dist/skills",
|
|
75221
75648
|
"build:lsp-tools-mcp": "npm --prefix packages/lsp-tools-mcp ci && npm --prefix packages/lsp-tools-mcp run build",
|
|
@@ -75234,7 +75661,8 @@ var package_default = {
|
|
|
75234
75661
|
postinstall: "node postinstall.mjs",
|
|
75235
75662
|
prepublishOnly: "bun run clean && bun run build:lsp-tools-mcp && bun run build:lsp-daemon && bun run build",
|
|
75236
75663
|
"test:model-capabilities": "bun test --timeout 20000 packages/model-core/src/model-capability-aliases.test.ts packages/model-core/src/model-capability-guardrails.test.ts packages/model-core/src/model-capabilities.test.ts packages/omo-opencode/src/cli/doctor/checks/model-resolution.test.ts --bail",
|
|
75237
|
-
|
|
75664
|
+
"check:copy": "bun script/check-copy.ts",
|
|
75665
|
+
typecheck: "bun run check:copy && tsgo --noEmit && bun run typecheck:script && bun run typecheck:packages",
|
|
75238
75666
|
"typecheck:packages": "tsgo --noEmit -p packages/rules-engine/tsconfig.json && tsgo --noEmit -p packages/delegate-core/tsconfig.json && tsgo --noEmit -p packages/mcp-stdio-core/tsconfig.json && tsgo --noEmit -p packages/mcp-client-core/tsconfig.json && tsgo --noEmit -p packages/git-bash-mcp/tsconfig.json && tsgo --noEmit -p packages/ast-grep-mcp/tsconfig.json && tsgo --noEmit -p packages/lsp-core/tsconfig.json && tsgo --noEmit -p packages/utils/tsconfig.json && tsgo --noEmit -p packages/model-core/tsconfig.json && tsgo --noEmit -p packages/omo-config-core/tsconfig.json && tsgo --noEmit -p packages/prompts-core/tsconfig.json && tsgo --noEmit -p packages/comment-checker-core/tsconfig.json && tsgo --noEmit -p packages/hashline-core/tsconfig.json && tsgo --noEmit -p packages/tmux-core/tsconfig.json && tsgo --noEmit -p packages/team-core/tsconfig.json && tsgo --noEmit -p packages/openclaw-core/tsconfig.json && tsgo --noEmit -p packages/boulder-state/tsconfig.json && tsgo --noEmit -p packages/isolation-core/tsconfig.json && tsgo --noEmit -p packages/memory-core/tsconfig.json && tsgo --noEmit -p packages/telemetry-core/tsconfig.json && tsgo --noEmit -p packages/claude-code-compat-core/tsconfig.json && tsgo --noEmit -p packages/skills-loader-core/tsconfig.json && tsgo --noEmit -p packages/agents-md-core/tsconfig.json && tsgo --noEmit -p packages/omo-codex/plugin/shared/tsconfig.json && tsgo --noEmit -p packages/omo-codex/tsconfig.json && tsgo --noEmit -p packages/omo-senpi/tsconfig.json && tsgo --noEmit -p packages/senpi-task/tsconfig.json && tsgo --noEmit -p packages/omo-opencode/tsconfig.json && tsgo --noEmit -p packages/omo-native/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-protocol/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-engine/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-prelude/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-service/tsconfig.json && tsgo --noEmit -p packages/senpi-desktop-tool/tsconfig.json",
|
|
75239
75667
|
"typecheck:script": "tsgo --noEmit -p script/tsconfig.json",
|
|
75240
75668
|
test: "bun test --timeout 20000",
|
|
@@ -75245,7 +75673,10 @@ var package_default = {
|
|
|
75245
75673
|
"test:windows-codex": "bun run test:codex",
|
|
75246
75674
|
"build:git-bash-mcp": "bun run --cwd packages/git-bash-mcp build",
|
|
75247
75675
|
"build:ast-grep-mcp": "bun run --cwd packages/ast-grep-mcp build",
|
|
75248
|
-
"test:desktop": "bun script/check-cargo-pinned-deps.mjs && bun run --cwd packages/senpi-desktop-protocol test && bun run --cwd packages/senpi-desktop-engine test && bun run --cwd packages/senpi-desktop-prelude test && bun run --cwd packages/senpi-desktop-service test && bun run --cwd packages/senpi-desktop-tool test"
|
|
75676
|
+
"test:desktop": "bun script/check-cargo-pinned-deps.mjs && bun run --cwd packages/senpi-desktop-protocol test && bun run --cwd packages/senpi-desktop-engine test && bun run --cwd packages/senpi-desktop-prelude test && bun run --cwd packages/senpi-desktop-service test && bun run --cwd packages/senpi-desktop-tool test",
|
|
75677
|
+
"lint:ratchet": "bun script/lint-ratchet.ts",
|
|
75678
|
+
"lint:ratchet:update": "bun script/lint-ratchet.ts --update",
|
|
75679
|
+
lint: "bun run check:copy && oxlint packages/lsp-tools-mcp packages/lsp-daemon packages/web packages/omo-codex/plugin/components/comment-checker packages/omo-codex/plugin/components/lazycodex-executor-verify packages/omo-codex/plugin/components/lsp packages/omo-codex/plugin/components/rules packages/omo-codex/plugin/components/telemetry packages/omo-codex/plugin/components/ultrawork packages/omo-codex/plugin/components/ulw-execute-continuation packages/omo-codex/plugin/components/ulw-loop"
|
|
75249
75680
|
},
|
|
75250
75681
|
keywords: [
|
|
75251
75682
|
"opencode",
|
|
@@ -75273,7 +75704,7 @@ var package_default = {
|
|
|
75273
75704
|
},
|
|
75274
75705
|
devDependencies: {
|
|
75275
75706
|
"@clack/prompts": "^1.8.1",
|
|
75276
|
-
"@code-yeongyu/senpi": "2026.10.
|
|
75707
|
+
"@code-yeongyu/senpi": "2026.10.23-1",
|
|
75277
75708
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
75278
75709
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
75279
75710
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -75327,6 +75758,8 @@ var package_default = {
|
|
|
75327
75758
|
"jsonc-parser": "^3.3.1",
|
|
75328
75759
|
"node-pty": "^1.1.0",
|
|
75329
75760
|
omowright: "github:code-yeongyu/omowright#f87ef4d63fe7b56fe117dbab246c8ad88dd8a780",
|
|
75761
|
+
"oxc-parser": "0.148.0",
|
|
75762
|
+
oxlint: "1.89.0",
|
|
75330
75763
|
picocolors: "^1.1.1",
|
|
75331
75764
|
picomatch: "^4.0.7",
|
|
75332
75765
|
"posthog-node": "^5.52.4",
|
|
@@ -75334,18 +75767,18 @@ var package_default = {
|
|
|
75334
75767
|
typescript: "^7.0.2"
|
|
75335
75768
|
},
|
|
75336
75769
|
optionalDependencies: {
|
|
75337
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
75338
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
75339
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
75340
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
75341
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
75342
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
75343
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
75344
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
75345
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
75346
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
75347
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
75348
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
75770
|
+
"oh-my-opencode-darwin-arm64": "5.1.46",
|
|
75771
|
+
"oh-my-opencode-darwin-x64": "5.1.46",
|
|
75772
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.46",
|
|
75773
|
+
"oh-my-opencode-linux-arm64": "5.1.46",
|
|
75774
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.46",
|
|
75775
|
+
"oh-my-opencode-linux-x64": "5.1.46",
|
|
75776
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.46",
|
|
75777
|
+
"oh-my-opencode-linux-x64-musl": "5.1.46",
|
|
75778
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.46",
|
|
75779
|
+
"oh-my-opencode-windows-arm64": "5.1.46",
|
|
75780
|
+
"oh-my-opencode-windows-x64": "5.1.46",
|
|
75781
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.46"
|
|
75349
75782
|
},
|
|
75350
75783
|
overrides: {
|
|
75351
75784
|
hono: "^4.13.8",
|
|
@@ -75752,12 +76185,12 @@ import { mkdirSync as mkdirSync7, readFileSync as readFileSync6 } from "fs";
|
|
|
75752
76185
|
init_write_file_atomically();
|
|
75753
76186
|
|
|
75754
76187
|
// packages/omo-opencode/src/features/tui-sidebar/mirror-path.ts
|
|
75755
|
-
import { createHash } from "crypto";
|
|
76188
|
+
import { createHash as createHash2 } from "crypto";
|
|
75756
76189
|
import { realpathSync as realpathSync4 } from "fs";
|
|
75757
|
-
import { homedir as
|
|
76190
|
+
import { homedir as homedir4 } from "os";
|
|
75758
76191
|
import { join as join11, resolve as resolve4 } from "path";
|
|
75759
76192
|
function mirrorStorageDir() {
|
|
75760
|
-
return join11(process.env.XDG_DATA_HOME ?? join11(
|
|
76193
|
+
return join11(process.env.XDG_DATA_HOME ?? join11(homedir4(), ".local", "share"), "opencode", "storage", "oh-my-openagent", MIRROR_DIR_NAME);
|
|
75761
76194
|
}
|
|
75762
76195
|
function canonicalProjectDir(projectDir) {
|
|
75763
76196
|
try {
|
|
@@ -75770,7 +76203,7 @@ function canonicalProjectDir(projectDir) {
|
|
|
75770
76203
|
}
|
|
75771
76204
|
}
|
|
75772
76205
|
function mirrorFilePath(projectDir) {
|
|
75773
|
-
const projectHash =
|
|
76206
|
+
const projectHash = createHash2("sha1").update(canonicalProjectDir(projectDir)).digest("hex").slice(0, 16);
|
|
75774
76207
|
return join11(mirrorStorageDir(), `${projectHash}.json`);
|
|
75775
76208
|
}
|
|
75776
76209
|
|