oc-pilot 0.5.1 → 0.88.1
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/CHANGELOG.md +683 -0
- package/CONTRIBUTING.md +4 -2
- package/README.md +588 -20
- package/README.ru.md +572 -10
- package/dist/cli.js +185 -1
- package/dist/cli.js.map +1 -1
- package/dist/cli.test.js +1211 -1
- package/dist/cli.test.js.map +1 -1
- package/dist/commands/anti-regression.js +97 -0
- package/dist/commands/anti-regression.js.map +1 -0
- package/dist/commands/arch-diff.js +80 -0
- package/dist/commands/arch-diff.js.map +1 -0
- package/dist/commands/authz.js +167 -0
- package/dist/commands/authz.js.map +1 -0
- package/dist/commands/autopsy.js +64 -0
- package/dist/commands/autopsy.js.map +1 -0
- package/dist/commands/bankruptcy.js +60 -0
- package/dist/commands/bankruptcy.js.map +1 -0
- package/dist/commands/battle.js +119 -0
- package/dist/commands/battle.js.map +1 -0
- package/dist/commands/boundaries.js +114 -0
- package/dist/commands/boundaries.js.map +1 -0
- package/dist/commands/bounty.js +56 -0
- package/dist/commands/bounty.js.map +1 -0
- package/dist/commands/brag.js +62 -0
- package/dist/commands/brag.js.map +1 -0
- package/dist/commands/cache.js +62 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/cinema.js +61 -0
- package/dist/commands/cinema.js.map +1 -0
- package/dist/commands/cleanup.js +110 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/commit.js +177 -0
- package/dist/commands/commit.js.map +1 -0
- package/dist/commands/commit.test.js +160 -0
- package/dist/commands/commit.test.js.map +1 -0
- package/dist/commands/compliance.js +121 -0
- package/dist/commands/compliance.js.map +1 -0
- package/dist/commands/contract-drift.js +97 -0
- package/dist/commands/contract-drift.js.map +1 -0
- package/dist/commands/coverage.js +137 -0
- package/dist/commands/coverage.js.map +1 -0
- package/dist/commands/day.js +116 -0
- package/dist/commands/day.js.map +1 -0
- package/dist/commands/day.test.js +45 -0
- package/dist/commands/day.test.js.map +1 -0
- package/dist/commands/deps.js +245 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/docgen.js +4 -2
- package/dist/commands/docgen.js.map +1 -1
- package/dist/commands/doctor.js +146 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +69 -0
- package/dist/commands/doctor.test.js.map +1 -0
- package/dist/commands/echo.js +78 -0
- package/dist/commands/echo.js.map +1 -0
- package/dist/commands/ecosystem-verify.js +113 -0
- package/dist/commands/ecosystem-verify.js.map +1 -0
- package/dist/commands/env-sync.js +102 -0
- package/dist/commands/env-sync.js.map +1 -0
- package/dist/commands/explain.js +115 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/fix.js +145 -3
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/flaky.js +111 -0
- package/dist/commands/flaky.js.map +1 -0
- package/dist/commands/fuzz.js +119 -0
- package/dist/commands/fuzz.js.map +1 -0
- package/dist/commands/hivemind.js +124 -0
- package/dist/commands/hivemind.js.map +1 -0
- package/dist/commands/impact.js +73 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.js +73 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +138 -0
- package/dist/commands/init.test.js.map +1 -0
- package/dist/commands/install-hook.js +161 -0
- package/dist/commands/install-hook.js.map +1 -0
- package/dist/commands/install-hook.test.js +100 -0
- package/dist/commands/install-hook.test.js.map +1 -0
- package/dist/commands/invariants.js +103 -0
- package/dist/commands/invariants.js.map +1 -0
- package/dist/commands/mock-leak.js +97 -0
- package/dist/commands/mock-leak.js.map +1 -0
- package/dist/commands/mutate.js +99 -0
- package/dist/commands/mutate.js.map +1 -0
- package/dist/commands/pack.js +144 -0
- package/dist/commands/pack.js.map +1 -0
- package/dist/commands/preflight.js +137 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/query.js +57 -0
- package/dist/commands/query.js.map +1 -0
- package/dist/commands/ready.js +152 -0
- package/dist/commands/ready.js.map +1 -0
- package/dist/commands/receipt.js +289 -0
- package/dist/commands/receipt.js.map +1 -0
- package/dist/commands/replay.js +112 -0
- package/dist/commands/replay.js.map +1 -0
- package/dist/commands/replay.test.js +125 -0
- package/dist/commands/replay.test.js.map +1 -0
- package/dist/commands/restore.js +54 -0
- package/dist/commands/restore.js.map +1 -0
- package/dist/commands/review.js +263 -4
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/review.test.js +160 -0
- package/dist/commands/review.test.js.map +1 -0
- package/dist/commands/reviewers.js +86 -0
- package/dist/commands/reviewers.js.map +1 -0
- package/dist/commands/roast.js +102 -0
- package/dist/commands/roast.js.map +1 -0
- package/dist/commands/sandbox.js +82 -0
- package/dist/commands/sandbox.js.map +1 -0
- package/dist/commands/sast.js +162 -0
- package/dist/commands/sast.js.map +1 -0
- package/dist/commands/scan.js +47 -12
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/slop.js +145 -0
- package/dist/commands/slop.js.map +1 -0
- package/dist/commands/slop.test.js +135 -0
- package/dist/commands/slop.test.js.map +1 -0
- package/dist/commands/stats.js +61 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/test-gen.js +372 -0
- package/dist/commands/test-gen.js.map +1 -0
- package/dist/commands/test-guard.js +89 -0
- package/dist/commands/test-guard.js.map +1 -0
- package/dist/commands/test-plan.js +133 -0
- package/dist/commands/test-plan.js.map +1 -0
- package/dist/commands/zoom-symbol.js +52 -0
- package/dist/commands/zoom-symbol.js.map +1 -0
- package/dist/core/agent-rules.js +35 -0
- package/dist/core/agent-rules.js.map +1 -0
- package/dist/core/anthropic.test.js +116 -0
- package/dist/core/anthropic.test.js.map +1 -0
- package/dist/core/anti-regression.js +161 -0
- package/dist/core/anti-regression.js.map +1 -0
- package/dist/core/anti-regression.test.js +154 -0
- package/dist/core/anti-regression.test.js.map +1 -0
- package/dist/core/aql.js +220 -0
- package/dist/core/aql.js.map +1 -0
- package/dist/core/aql.test.js +64 -0
- package/dist/core/aql.test.js.map +1 -0
- package/dist/core/arch-diff.js +122 -0
- package/dist/core/arch-diff.js.map +1 -0
- package/dist/core/arch-diff.test.js +93 -0
- package/dist/core/arch-diff.test.js.map +1 -0
- package/dist/core/authz.js +292 -0
- package/dist/core/authz.js.map +1 -0
- package/dist/core/authz.test.js +115 -0
- package/dist/core/authz.test.js.map +1 -0
- package/dist/core/autopsy.js +230 -0
- package/dist/core/autopsy.js.map +1 -0
- package/dist/core/autopsy.test.js +106 -0
- package/dist/core/autopsy.test.js.map +1 -0
- package/dist/core/bankruptcy.js +232 -0
- package/dist/core/bankruptcy.js.map +1 -0
- package/dist/core/bankruptcy.test.js +91 -0
- package/dist/core/bankruptcy.test.js.map +1 -0
- package/dist/core/baseline.js +131 -0
- package/dist/core/baseline.js.map +1 -0
- package/dist/core/baseline.test.js +91 -0
- package/dist/core/baseline.test.js.map +1 -0
- package/dist/core/battle.js +213 -0
- package/dist/core/battle.js.map +1 -0
- package/dist/core/battle.test.js +116 -0
- package/dist/core/battle.test.js.map +1 -0
- package/dist/core/boundaries.js +200 -0
- package/dist/core/boundaries.js.map +1 -0
- package/dist/core/boundaries.test.js +62 -0
- package/dist/core/boundaries.test.js.map +1 -0
- package/dist/core/bounty.js +128 -0
- package/dist/core/bounty.js.map +1 -0
- package/dist/core/bounty.test.js +82 -0
- package/dist/core/bounty.test.js.map +1 -0
- package/dist/core/brag.js +174 -0
- package/dist/core/brag.js.map +1 -0
- package/dist/core/brag.test.js +43 -0
- package/dist/core/brag.test.js.map +1 -0
- package/dist/core/cache.js +189 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/cache.test.js +159 -0
- package/dist/core/cache.test.js.map +1 -0
- package/dist/core/cinema.js +242 -0
- package/dist/core/cinema.js.map +1 -0
- package/dist/core/cinema.test.js +73 -0
- package/dist/core/cinema.test.js.map +1 -0
- package/dist/core/cleanup.js +107 -0
- package/dist/core/cleanup.js.map +1 -0
- package/dist/core/compliance.js +193 -0
- package/dist/core/compliance.js.map +1 -0
- package/dist/core/compliance.test.js +123 -0
- package/dist/core/compliance.test.js.map +1 -0
- package/dist/core/config.js +78 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/config.test.js +66 -0
- package/dist/core/config.test.js.map +1 -1
- package/dist/core/contract-drift.js +296 -0
- package/dist/core/contract-drift.js.map +1 -0
- package/dist/core/contract-drift.test.js +166 -0
- package/dist/core/contract-drift.test.js.map +1 -0
- package/dist/core/cost.test.js +103 -0
- package/dist/core/cost.test.js.map +1 -0
- package/dist/core/coverage.js +335 -0
- package/dist/core/coverage.js.map +1 -0
- package/dist/core/coverage.test.js +190 -0
- package/dist/core/coverage.test.js.map +1 -0
- package/dist/core/deps-fix.js +169 -0
- package/dist/core/deps-fix.js.map +1 -0
- package/dist/core/deps-fix.test.js +176 -0
- package/dist/core/deps-fix.test.js.map +1 -0
- package/dist/core/deps-health.js +353 -0
- package/dist/core/deps-health.js.map +1 -0
- package/dist/core/deps-health.test.js +230 -0
- package/dist/core/deps-health.test.js.map +1 -0
- package/dist/core/deps-why.js +260 -0
- package/dist/core/deps-why.js.map +1 -0
- package/dist/core/deps-why.test.js +175 -0
- package/dist/core/deps-why.test.js.map +1 -0
- package/dist/core/deps.js +179 -0
- package/dist/core/deps.js.map +1 -0
- package/dist/core/deps.test.js +88 -0
- package/dist/core/deps.test.js.map +1 -0
- package/dist/core/diff-source.js +4 -2
- package/dist/core/diff-source.js.map +1 -1
- package/dist/core/echo.js +151 -0
- package/dist/core/echo.js.map +1 -0
- package/dist/core/echo.test.js +90 -0
- package/dist/core/echo.test.js.map +1 -0
- package/dist/core/ecosystem-verify.js +331 -0
- package/dist/core/ecosystem-verify.js.map +1 -0
- package/dist/core/ecosystem-verify.test.js +158 -0
- package/dist/core/ecosystem-verify.test.js.map +1 -0
- package/dist/core/engine-preset.test.js +60 -0
- package/dist/core/engine-preset.test.js.map +1 -0
- package/dist/core/engine.js +278 -32
- package/dist/core/engine.js.map +1 -1
- package/dist/core/engine.test.js +63 -0
- package/dist/core/engine.test.js.map +1 -1
- package/dist/core/env-sync.js +122 -0
- package/dist/core/env-sync.js.map +1 -0
- package/dist/core/env-sync.test.js +99 -0
- package/dist/core/env-sync.test.js.map +1 -0
- package/dist/core/file-context.js +4 -2
- package/dist/core/file-context.js.map +1 -1
- package/dist/core/findings-baseline.js +60 -0
- package/dist/core/findings-baseline.js.map +1 -0
- package/dist/core/findings-baseline.test.js +77 -0
- package/dist/core/findings-baseline.test.js.map +1 -0
- package/dist/core/findings.js +68 -21
- package/dist/core/findings.js.map +1 -1
- package/dist/core/flaky.js +137 -0
- package/dist/core/flaky.js.map +1 -0
- package/dist/core/flaky.test.js +97 -0
- package/dist/core/flaky.test.js.map +1 -0
- package/dist/core/format.js +5 -3
- package/dist/core/format.js.map +1 -1
- package/dist/core/fuzz.js +306 -0
- package/dist/core/fuzz.js.map +1 -0
- package/dist/core/fuzz.test.js +121 -0
- package/dist/core/fuzz.test.js.map +1 -0
- package/dist/core/git.js +22 -0
- package/dist/core/git.js.map +1 -1
- package/dist/core/gitlab.js +176 -0
- package/dist/core/gitlab.js.map +1 -0
- package/dist/core/gitlab.test.js +199 -0
- package/dist/core/gitlab.test.js.map +1 -0
- package/dist/core/hivemind.js +250 -0
- package/dist/core/hivemind.js.map +1 -0
- package/dist/core/hivemind.test.js +79 -0
- package/dist/core/hivemind.test.js.map +1 -0
- package/dist/core/hologram.js +463 -0
- package/dist/core/hologram.js.map +1 -0
- package/dist/core/hologram.test.js +124 -0
- package/dist/core/hologram.test.js.map +1 -0
- package/dist/core/impact.js +240 -0
- package/dist/core/impact.js.map +1 -0
- package/dist/core/impact.test.js +105 -0
- package/dist/core/impact.test.js.map +1 -0
- package/dist/core/import-graph.js +170 -0
- package/dist/core/import-graph.js.map +1 -0
- package/dist/core/import-graph.test.js +52 -0
- package/dist/core/import-graph.test.js.map +1 -0
- package/dist/core/injection.js +55 -0
- package/dist/core/injection.js.map +1 -0
- package/dist/core/injection.test.js +45 -0
- package/dist/core/injection.test.js.map +1 -0
- package/dist/core/invariants.js +286 -0
- package/dist/core/invariants.js.map +1 -0
- package/dist/core/invariants.test.js +87 -0
- package/dist/core/invariants.test.js.map +1 -0
- package/dist/core/last-review.js +92 -0
- package/dist/core/last-review.js.map +1 -0
- package/dist/core/last-review.test.js +97 -0
- package/dist/core/last-review.test.js.map +1 -0
- package/dist/core/lockfile-support.test.js +112 -0
- package/dist/core/lockfile-support.test.js.map +1 -0
- package/dist/core/lockfile.js +284 -0
- package/dist/core/lockfile.js.map +1 -0
- package/dist/core/lockfile.test.js +203 -0
- package/dist/core/lockfile.test.js.map +1 -0
- package/dist/core/mock-leak.js +120 -0
- package/dist/core/mock-leak.js.map +1 -0
- package/dist/core/mock-leak.test.js +79 -0
- package/dist/core/mock-leak.test.js.map +1 -0
- package/dist/core/mutation.js +206 -0
- package/dist/core/mutation.js.map +1 -0
- package/dist/core/mutation.test.js +104 -0
- package/dist/core/mutation.test.js.map +1 -0
- package/dist/core/opencode.js +15 -2
- package/dist/core/opencode.js.map +1 -1
- package/dist/core/opencode.test.js +10 -1
- package/dist/core/opencode.test.js.map +1 -1
- package/dist/core/options.js +51 -3
- package/dist/core/options.js.map +1 -1
- package/dist/core/osv.js +202 -0
- package/dist/core/osv.js.map +1 -0
- package/dist/core/osv.test.js +173 -0
- package/dist/core/osv.test.js.map +1 -0
- package/dist/core/output-format.test.js +102 -0
- package/dist/core/output-format.test.js.map +1 -0
- package/dist/core/pack.js +212 -0
- package/dist/core/pack.js.map +1 -0
- package/dist/core/pack.test.js +129 -0
- package/dist/core/pack.test.js.map +1 -0
- package/dist/core/phantom.js +155 -0
- package/dist/core/phantom.js.map +1 -0
- package/dist/core/phantom.test.js +58 -0
- package/dist/core/phantom.test.js.map +1 -0
- package/dist/core/pr-comment.js +116 -0
- package/dist/core/pr-comment.js.map +1 -0
- package/dist/core/pr-comment.test.js +53 -0
- package/dist/core/pr-comment.test.js.map +1 -0
- package/dist/core/pr-review.js +160 -0
- package/dist/core/pr-review.js.map +1 -0
- package/dist/core/pr-review.test.js +62 -0
- package/dist/core/pr-review.test.js.map +1 -0
- package/dist/core/preflight-run.js +106 -0
- package/dist/core/preflight-run.js.map +1 -0
- package/dist/core/preflight.js +173 -0
- package/dist/core/preflight.js.map +1 -0
- package/dist/core/preflight.test.js +187 -0
- package/dist/core/preflight.test.js.map +1 -0
- package/dist/core/presets.js +408 -0
- package/dist/core/presets.js.map +1 -0
- package/dist/core/presets.test.js +79 -0
- package/dist/core/presets.test.js.map +1 -0
- package/dist/core/prompt.golden.test.js +74 -0
- package/dist/core/prompt.golden.test.js.map +1 -0
- package/dist/core/prompt.js +43 -4
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/prompt.test.js +16 -0
- package/dist/core/prompt.test.js.map +1 -1
- package/dist/core/readiness-fix.js +111 -0
- package/dist/core/readiness-fix.js.map +1 -0
- package/dist/core/readiness-fix.test.js +99 -0
- package/dist/core/readiness-fix.test.js.map +1 -0
- package/dist/core/readiness.js +189 -0
- package/dist/core/readiness.js.map +1 -0
- package/dist/core/readiness.test.js +199 -0
- package/dist/core/readiness.test.js.map +1 -0
- package/dist/core/receipt.js +193 -0
- package/dist/core/receipt.js.map +1 -0
- package/dist/core/receipt.test.js +193 -0
- package/dist/core/receipt.test.js.map +1 -0
- package/dist/core/reviewers.js +179 -0
- package/dist/core/reviewers.js.map +1 -0
- package/dist/core/reviewers.test.js +105 -0
- package/dist/core/reviewers.test.js.map +1 -0
- package/dist/core/roast.js +27 -0
- package/dist/core/roast.js.map +1 -0
- package/dist/core/roast.test.js +19 -0
- package/dist/core/roast.test.js.map +1 -0
- package/dist/core/router.js +8 -0
- package/dist/core/router.js.map +1 -0
- package/dist/core/router.test.js +157 -0
- package/dist/core/router.test.js.map +1 -0
- package/dist/core/rules.js +2 -2
- package/dist/core/rules.js.map +1 -1
- package/dist/core/run.js +322 -20
- package/dist/core/run.js.map +1 -1
- package/dist/core/sarif.js +125 -0
- package/dist/core/sarif.js.map +1 -0
- package/dist/core/sarif.test.js +60 -0
- package/dist/core/sarif.test.js.map +1 -0
- package/dist/core/sast.js +324 -0
- package/dist/core/sast.js.map +1 -0
- package/dist/core/sast.test.js +105 -0
- package/dist/core/sast.test.js.map +1 -0
- package/dist/core/sbom.js +121 -0
- package/dist/core/sbom.js.map +1 -0
- package/dist/core/sbom.test.js +81 -0
- package/dist/core/sbom.test.js.map +1 -0
- package/dist/core/second-opinion.js +88 -0
- package/dist/core/second-opinion.js.map +1 -0
- package/dist/core/second-opinion.test.js +89 -0
- package/dist/core/second-opinion.test.js.map +1 -0
- package/dist/core/secrets.js +120 -5
- package/dist/core/secrets.js.map +1 -1
- package/dist/core/secrets.test.js +74 -1
- package/dist/core/secrets.test.js.map +1 -1
- package/dist/core/shadow.js +94 -0
- package/dist/core/shadow.js.map +1 -0
- package/dist/core/shadow.test.js +50 -0
- package/dist/core/shadow.test.js.map +1 -0
- package/dist/core/slicing.js +110 -0
- package/dist/core/slicing.js.map +1 -0
- package/dist/core/slicing.test.js +287 -0
- package/dist/core/slicing.test.js.map +1 -0
- package/dist/core/slop/churn.js +49 -0
- package/dist/core/slop/churn.js.map +1 -0
- package/dist/core/slop/collect.js +186 -0
- package/dist/core/slop/collect.js.map +1 -0
- package/dist/core/slop/dead-exports.js +101 -0
- package/dist/core/slop/dead-exports.js.map +1 -0
- package/dist/core/slop/duplicates.js +155 -0
- package/dist/core/slop/duplicates.js.map +1 -0
- package/dist/core/slop/index.js +72 -0
- package/dist/core/slop/index.js.map +1 -0
- package/dist/core/slop/model.js +2 -0
- package/dist/core/slop/model.js.map +1 -0
- package/dist/core/slop/score.js +185 -0
- package/dist/core/slop/score.js.map +1 -0
- package/dist/core/slop/slop.test.js +160 -0
- package/dist/core/slop/slop.test.js.map +1 -0
- package/dist/core/slop/source.js +129 -0
- package/dist/core/slop/source.js.map +1 -0
- package/dist/core/slop/test-debt.js +178 -0
- package/dist/core/slop/test-debt.js.map +1 -0
- package/dist/core/slop/test-debt.test.js +114 -0
- package/dist/core/slop/test-debt.test.js.map +1 -0
- package/dist/core/slop/todos.js +117 -0
- package/dist/core/slop/todos.js.map +1 -0
- package/dist/core/snapshot.js +214 -0
- package/dist/core/snapshot.js.map +1 -0
- package/dist/core/snapshot.test.js +101 -0
- package/dist/core/snapshot.test.js.map +1 -0
- package/dist/core/stats.js +119 -0
- package/dist/core/stats.js.map +1 -0
- package/dist/core/stats.test.js +86 -0
- package/dist/core/stats.test.js.map +1 -0
- package/dist/core/suppressions.js +96 -0
- package/dist/core/suppressions.js.map +1 -0
- package/dist/core/suppressions.test.js +90 -0
- package/dist/core/suppressions.test.js.map +1 -0
- package/dist/core/test-delta.js +53 -0
- package/dist/core/test-delta.js.map +1 -0
- package/dist/core/test-delta.test.js +41 -0
- package/dist/core/test-delta.test.js.map +1 -0
- package/dist/core/test-plan.js +212 -0
- package/dist/core/test-plan.js.map +1 -0
- package/dist/core/test-plan.test.js +94 -0
- package/dist/core/test-plan.test.js.map +1 -0
- package/dist/core/test-weakening.js +191 -0
- package/dist/core/test-weakening.js.map +1 -0
- package/dist/core/test-weakening.test.js +114 -0
- package/dist/core/test-weakening.test.js.map +1 -0
- package/dist/core/tree-scan.js +77 -0
- package/dist/core/tree-scan.js.map +1 -0
- package/dist/core/tree-scan.test.js +58 -0
- package/dist/core/tree-scan.test.js.map +1 -0
- package/dist/mcp-prompts.test.js +133 -0
- package/dist/mcp-prompts.test.js.map +1 -0
- package/dist/mcp.js +3303 -240
- package/dist/mcp.js.map +1 -1
- package/dist/mcp.test.js +1739 -1
- package/dist/mcp.test.js.map +1 -1
- package/dist/skills.test.js +221 -0
- package/dist/skills.test.js.map +1 -0
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/integrations.md +151 -7
- package/package.json +2 -1
- package/prompts/oc-pilot.en.md +8 -1
- package/prompts/oc-pilot.ru.md +8 -1
- package/server.json +2 -2
- package/skills/agent-self-review/SKILL.md +87 -0
- package/skills/commit-discipline/SKILL.md +86 -0
- package/skills/oc-pilot/SKILL.md +86 -0
- package/skills/secure-diff-gate/SKILL.md +101 -0
- package/skills/stack-review-packs/SKILL.md +76 -0
- package/skills/test-failure-triage/SKILL.md +88 -0
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,60 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { runCache } from "./commands/cache.js";
|
|
3
|
+
import { runDay } from "./commands/day.js";
|
|
4
|
+
import { runDeps } from "./commands/deps.js";
|
|
5
|
+
import { runEcosystemVerify } from "./commands/ecosystem-verify.js";
|
|
6
|
+
import { runEnvSync } from "./commands/env-sync.js";
|
|
7
|
+
import { runMockLeak } from "./commands/mock-leak.js";
|
|
8
|
+
import { runCoverage } from "./commands/coverage.js";
|
|
9
|
+
import { runPack } from "./commands/pack.js";
|
|
10
|
+
import { runZoomSymbol } from "./commands/zoom-symbol.js";
|
|
11
|
+
import { runContractDrift } from "./commands/contract-drift.js";
|
|
12
|
+
import { runAntiRegression } from "./commands/anti-regression.js";
|
|
13
|
+
import { runBoundaries } from "./commands/boundaries.js";
|
|
14
|
+
import { runTestPlan } from "./commands/test-plan.js";
|
|
15
|
+
import { runCompliance } from "./commands/compliance.js";
|
|
16
|
+
import { runBrag } from "./commands/brag.js";
|
|
17
|
+
import { runBattleCommand } from "./commands/battle.js";
|
|
18
|
+
import { runCleanup } from "./commands/cleanup.js";
|
|
19
|
+
import { runArchDiff } from "./commands/arch-diff.js";
|
|
20
|
+
import { runRoast } from "./commands/roast.js";
|
|
21
|
+
import { runCinema } from "./commands/cinema.js";
|
|
22
|
+
import { runBounty } from "./commands/bounty.js";
|
|
23
|
+
import { runAutopsy } from "./commands/autopsy.js";
|
|
24
|
+
import { runEcho } from "./commands/echo.js";
|
|
25
|
+
import { runInvariants } from "./commands/invariants.js";
|
|
26
|
+
import { runImpact } from "./commands/impact.js";
|
|
27
|
+
import { runExplain } from "./commands/explain.js";
|
|
28
|
+
import { runStats } from "./commands/stats.js";
|
|
29
|
+
import { runCommit } from "./commands/commit.js";
|
|
2
30
|
import { runCustom } from "./commands/custom.js";
|
|
3
31
|
import { runDoctor } from "./commands/doctor.js";
|
|
32
|
+
import { runInstallHook } from "./commands/install-hook.js";
|
|
33
|
+
import { runPreflight } from "./commands/preflight.js";
|
|
34
|
+
import { runReceipt } from "./commands/receipt.js";
|
|
35
|
+
import { runReady } from "./commands/ready.js";
|
|
36
|
+
import { runRestore } from "./commands/restore.js";
|
|
4
37
|
import { runDocgen } from "./commands/docgen.js";
|
|
5
38
|
import { runFix } from "./commands/fix.js";
|
|
6
39
|
import { runInit } from "./commands/init.js";
|
|
40
|
+
import { runReplay } from "./commands/replay.js";
|
|
7
41
|
import { runReview } from "./commands/review.js";
|
|
42
|
+
import { runReviewers } from "./commands/reviewers.js";
|
|
43
|
+
import { runSlop } from "./commands/slop.js";
|
|
8
44
|
import { runScan } from "./commands/scan.js";
|
|
9
45
|
import { runSetup } from "./commands/setup.js";
|
|
10
46
|
import { runTestFix } from "./commands/test-fix.js";
|
|
47
|
+
import { runTestGen } from "./commands/test-gen.js";
|
|
48
|
+
import { runTestGuard } from "./commands/test-guard.js";
|
|
49
|
+
import { runFlaky } from "./commands/flaky.js";
|
|
50
|
+
import { runMutate } from "./commands/mutate.js";
|
|
51
|
+
import { runFuzzCommand } from "./commands/fuzz.js";
|
|
52
|
+
import { runBankruptcy } from "./commands/bankruptcy.js";
|
|
53
|
+
import { runQuery } from "./commands/query.js";
|
|
54
|
+
import { runSandboxCommand } from "./commands/sandbox.js";
|
|
55
|
+
import { runHivemind } from "./commands/hivemind.js";
|
|
56
|
+
import { runSast } from "./commands/sast.js";
|
|
57
|
+
import { runAuthz } from "./commands/authz.js";
|
|
11
58
|
import { PilotError, toPilotError } from "./core/errors.js";
|
|
12
59
|
import { log } from "./core/log.js";
|
|
13
60
|
import { COMMON_HELP } from "./core/options.js";
|
|
@@ -15,11 +62,58 @@ import { runMcp } from "./mcp.js";
|
|
|
15
62
|
import { VERSION } from "./version.js";
|
|
16
63
|
const HANDLERS = {
|
|
17
64
|
review: runReview,
|
|
65
|
+
reviewers: runReviewers,
|
|
18
66
|
"test-fix": runTestFix,
|
|
67
|
+
"test-gen": runTestGen,
|
|
68
|
+
"test-guard": runTestGuard,
|
|
69
|
+
flaky: runFlaky,
|
|
70
|
+
mutate: runMutate,
|
|
71
|
+
fuzz: runFuzzCommand,
|
|
72
|
+
bankruptcy: runBankruptcy,
|
|
73
|
+
query: runQuery,
|
|
74
|
+
sandbox: runSandboxCommand,
|
|
75
|
+
hivemind: runHivemind,
|
|
76
|
+
sast: runSast,
|
|
77
|
+
authz: runAuthz,
|
|
19
78
|
fix: runFix,
|
|
20
79
|
docgen: runDocgen,
|
|
21
80
|
custom: runCustom,
|
|
22
81
|
scan: runScan,
|
|
82
|
+
deps: runDeps,
|
|
83
|
+
"ecosystem-verify": runEcosystemVerify,
|
|
84
|
+
"env-sync": runEnvSync,
|
|
85
|
+
"mock-leak": runMockLeak,
|
|
86
|
+
coverage: runCoverage,
|
|
87
|
+
pack: runPack,
|
|
88
|
+
"zoom-symbol": runZoomSymbol,
|
|
89
|
+
"contract-drift": runContractDrift,
|
|
90
|
+
"anti-regression": runAntiRegression,
|
|
91
|
+
boundaries: runBoundaries,
|
|
92
|
+
"test-plan": runTestPlan,
|
|
93
|
+
compliance: runCompliance,
|
|
94
|
+
brag: runBrag,
|
|
95
|
+
battle: runBattleCommand,
|
|
96
|
+
cleanup: runCleanup,
|
|
97
|
+
"arch-diff": runArchDiff,
|
|
98
|
+
roast: runRoast,
|
|
99
|
+
cinema: runCinema,
|
|
100
|
+
bounty: runBounty,
|
|
101
|
+
autopsy: runAutopsy,
|
|
102
|
+
echo: runEcho,
|
|
103
|
+
invariants: runInvariants,
|
|
104
|
+
preflight: runPreflight,
|
|
105
|
+
receipt: runReceipt,
|
|
106
|
+
ready: runReady,
|
|
107
|
+
commit: runCommit,
|
|
108
|
+
"install-hook": runInstallHook,
|
|
109
|
+
restore: runRestore,
|
|
110
|
+
cache: runCache,
|
|
111
|
+
stats: runStats,
|
|
112
|
+
day: runDay,
|
|
113
|
+
impact: runImpact,
|
|
114
|
+
explain: runExplain,
|
|
115
|
+
replay: runReplay,
|
|
116
|
+
slop: runSlop,
|
|
23
117
|
setup: runSetup,
|
|
24
118
|
doctor: runDoctor,
|
|
25
119
|
mcp: runMcp,
|
|
@@ -33,10 +127,59 @@ const HELP = `oc-pilot ${VERSION} — AI-ревью, разбор тестов
|
|
|
33
127
|
Команды:
|
|
34
128
|
review Ревью git-diff: баги, уязвимости, идиомы языка
|
|
35
129
|
test-fix Разбор падения тестов и минимальный фикс
|
|
130
|
+
test-gen Сгенерировать тесты на изменённый код и оставить только зелёные
|
|
131
|
+
test-guard Найти ослабление тестов: skip, удалённые проверки, матчеры
|
|
132
|
+
flaky Найти нестабильные тесты: несколько прогонов и сравнение
|
|
133
|
+
mutate Мутационное тестирование: проверить, что тесты ловят баги
|
|
134
|
+
fuzz Безопасный JIT-фаззинг экспортов из diff
|
|
135
|
+
bankruptcy Детерминированный прогноз техдолга и дата банкротства
|
|
136
|
+
query Графовый AQL-запрос к коду: find, where, select, count
|
|
137
|
+
sandbox Запуск JS/ESM в node:vm с заглушками и таймаутом
|
|
138
|
+
hivemind P2P-сеть агентов: ed25519, ECDH и шифрованный TCP
|
|
139
|
+
sast Детерминированный SAST: инъекции, SSRF, path traversal, XSS
|
|
140
|
+
authz Проверка маршрутов: авторизация, IDOR, админ-доступ
|
|
36
141
|
fix Патч от модели, git apply и цикл тестов с откатом
|
|
37
142
|
docgen Генерация GoDoc/RustDoc/JSDoc/docstrings
|
|
38
143
|
custom Свободный запрос к oc-pilot
|
|
39
144
|
scan Офлайн-поиск секретов в diff (без LLM)
|
|
145
|
+
deps Аудит зависимостей: фантомные импорты, лишние пакеты, lockfile
|
|
146
|
+
ecosystem-verify Проверить импорты и новые пакеты: выдуманные API, свежие зависимости
|
|
147
|
+
env-sync Переменные окружения из diff против .env и .env.example
|
|
148
|
+
mock-leak Заглушки и хардкод в прод-коде: пути, токены, if (true)
|
|
149
|
+
coverage Покрытие изменённых строк: непокрытые строки и гейт
|
|
150
|
+
pack Собрать компактный контекст задачи: подписи, связи, правила
|
|
151
|
+
zoom-symbol Достать полное тело одного символа из файла
|
|
152
|
+
contract-drift Дрейф контрактов: удалённые поля, типы, потребители
|
|
153
|
+
anti-regression Повторно добавленные строки, которые человек уже удалял
|
|
154
|
+
boundaries Границы слоёв: запрещённые импорты между модулями
|
|
155
|
+
test-plan Выбрать тесты, затронутые изменением, по графу импортов
|
|
156
|
+
compliance Подписанный аудит-манифест коммита: квитанция, проверки, SBOM
|
|
157
|
+
brag Локальная HTML-страница о работе: коммиты, запуски, находки
|
|
158
|
+
battle Два агента: Coder чинит, Hacker ищет дыры, до чистого состояния
|
|
159
|
+
cleanup План уборки: зависимости, slop, env, тесты
|
|
160
|
+
roast Прожарка diff: токсичный сеньор с конкретными претензиями
|
|
161
|
+
arch-diff Mermaid-схема добавленных и удалённых архитектурных связей
|
|
162
|
+
cinema Терминальный таймлапс сессии: коммиты, запуски, находки
|
|
163
|
+
bounty ASCII-плакат WANTED для самого проблемного файла
|
|
164
|
+
autopsy Разбор коммита: улики, подозреваемые и хронология
|
|
165
|
+
echo SVG-бейджи и опциональная анонимная отправка статистики
|
|
166
|
+
invariants Смысловые инварианты проекта против diff
|
|
167
|
+
preflight Офлайн-проверка изменения: секреты, зависимости, тесты, slop
|
|
168
|
+
receipt Квитанция о тестах и preflight, привязанная к коммиту
|
|
169
|
+
ready Оценить готовность репозитория к работе с ИИ-агентом
|
|
170
|
+
commit Сгенерировать commit-сообщение по staged (--apply — закоммитить)
|
|
171
|
+
|
|
172
|
+
install-hook Установить git-хуки pre-commit/pre-push (preflight/review)
|
|
173
|
+
|
|
174
|
+
restore Восстановить рабочее дерево из снимка fix --apply
|
|
175
|
+
cache Кеш ответов движка: --stats, --prune, --clear
|
|
176
|
+
stats Статистика использования: запуски, кеш, находки (--clear)
|
|
177
|
+
day Сводка активности агента за период (--since)
|
|
178
|
+
impact Показать, где ещё используются изменённые в diff символы
|
|
179
|
+
explain Объяснить находки последнего ревью для файла:строки
|
|
180
|
+
reviewers Предложить ревьюеров по истории файлов из diff и CODEOWNERS
|
|
181
|
+
replay Вывести последнее сохранённое ревью в text/json/sarif/md
|
|
182
|
+
slop Slop Index 0-100: дубликаты, мёртвый код, churn и TODO-кладбище
|
|
40
183
|
setup Установить MCP-сервер в Claude Code, Cursor, OpenCode, Codex, Gemini, DeepSeek Harness, VS Code
|
|
41
184
|
doctor Проверить установку, движок, ключи, git и MCP-конфиги
|
|
42
185
|
mcp Запустить MCP-сервер (stdio или --http)
|
|
@@ -53,12 +196,53 @@ ${COMMON_HELP}
|
|
|
53
196
|
oc-pilot review --no-repo-context
|
|
54
197
|
oc-pilot fix --apply --command "go test ./..."
|
|
55
198
|
oc-pilot test-fix --command "go test ./..."
|
|
199
|
+
oc-pilot test-gen --staged --apply
|
|
200
|
+
oc-pilot test-guard --staged --fail-on-weakening
|
|
201
|
+
oc-pilot flaky --runs 5
|
|
202
|
+
oc-pilot mutate --staged --min-score 80
|
|
203
|
+
oc-pilot fuzz --duration 2s --memory-limit 128MB
|
|
204
|
+
oc-pilot bankruptcy --history 30d --format json
|
|
205
|
+
oc-pilot query "find(CallExpression).where(name, 'stripe').select(file, line)"
|
|
206
|
+
oc-pilot sandbox run scripts/demo.mjs --timeout 500ms
|
|
207
|
+
oc-pilot hivemind init
|
|
208
|
+
oc-pilot coverage --staged --coverage-file coverage/lcov.info --fail-under 80
|
|
209
|
+
oc-pilot env-sync --staged --fail-on-missing
|
|
210
|
+
oc-pilot mock-leak --staged --fail-on-leak high
|
|
211
|
+
oc-pilot pack "fix the login redirect" --staged --budget 12000
|
|
212
|
+
oc-pilot pack --hologram --max-tokens 30000 --output context.md
|
|
213
|
+
oc-pilot zoom-symbol src/core/pack.ts buildPack
|
|
214
|
+
oc-pilot contract-drift --staged --fail-on-drift high
|
|
215
|
+
oc-pilot anti-regression --staged --fail-on-regression
|
|
216
|
+
oc-pilot boundaries --init
|
|
217
|
+
oc-pilot boundaries --staged --fail-on-violation
|
|
218
|
+
oc-pilot test-plan --staged --fail-on-uncovered
|
|
219
|
+
oc-pilot compliance --sign --key receipt.key
|
|
220
|
+
oc-pilot brag --since-days 30 --output brag.html
|
|
221
|
+
oc-pilot battle "fix the retry logic" --apply --rounds 3
|
|
222
|
+
oc-pilot cleanup --staged --fail-on-task high
|
|
223
|
+
oc-pilot arch-diff --staged --fail-on-removed
|
|
224
|
+
oc-pilot roast --staged --persona linus
|
|
225
|
+
oc-pilot cinema --since-days 30 --output cinema.html
|
|
226
|
+
oc-pilot bounty --limit 10 --since-days 90
|
|
227
|
+
oc-pilot autopsy HEAD~1 --depth 10
|
|
228
|
+
oc-pilot echo --name my-team --svg --output badges.svg
|
|
229
|
+
oc-pilot invariants --staged --fail-on violation
|
|
230
|
+
oc-pilot sast --staged --fail-on-issue high
|
|
231
|
+
oc-pilot authz --staged
|
|
232
|
+
oc-pilot deps --json
|
|
233
|
+
oc-pilot ecosystem-verify --staged --fail-on-issue high
|
|
234
|
+
oc-pilot preflight --staged
|
|
235
|
+
oc-pilot receipt --staged
|
|
56
236
|
oc-pilot docgen "src/**/*.ts" --symbol buildPrompt
|
|
57
237
|
git diff | oc-pilot scan --stdin
|
|
238
|
+
oc-pilot commit --apply
|
|
58
239
|
oc-pilot custom "Найди гонки данных" --git-diff
|
|
59
240
|
oc-pilot setup --all
|
|
60
241
|
oc-pilot setup --client claude --http https://example.com/mcp --token "$OC_PILOT_MCP_TOKEN"
|
|
61
242
|
oc-pilot doctor
|
|
243
|
+
oc-pilot reviewers --base main --limit 5
|
|
244
|
+
oc-pilot replay --as md -o pr-comment.md
|
|
245
|
+
oc-pilot slop --since origin/main --max-delta 10
|
|
62
246
|
oc-pilot review --engine openai --model deepseek-chat --base-url https://api.deepseek.com/v1
|
|
63
247
|
oc-pilot mcp --cwd /path/to/project
|
|
64
248
|
|
|
@@ -90,7 +274,7 @@ async function main(argv) {
|
|
|
90
274
|
});
|
|
91
275
|
}
|
|
92
276
|
throw new PilotError(`Неизвестная команда: ${command}`, {
|
|
93
|
-
hint: "Доступные команды: review, test-fix, fix, docgen, custom, scan, setup, init.",
|
|
277
|
+
hint: "Доступные команды: review, test-fix, test-gen, test-guard, flaky, mutate, fuzz, bankruptcy, query, sandbox, hivemind, sast, authz, fix, docgen, custom, scan, deps, ecosystem-verify, env-sync, mock-leak, coverage, pack, zoom-symbol, contract-drift, anti-regression, boundaries, test-plan, compliance, brag, battle, cleanup, arch-diff, roast, cinema, bounty, autopsy, echo, invariants, preflight, receipt, ready, commit, install-hook, restore, cache, stats, day, impact, explain, reviewers, replay, slop, setup, init.",
|
|
94
278
|
exitCode: 2,
|
|
95
279
|
});
|
|
96
280
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,QAAQ,GAA4B;IACxC,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,IAAI,GAAG,YAAY,OAAO
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,MAAM,QAAQ,GAA4B;IACxC,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,aAAa;IACzB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,kBAAkB,EAAE,kBAAkB;IACtC,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,WAAW;IACxB,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,OAAO;IACb,aAAa,EAAE,aAAa;IAC5B,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;IACpC,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,WAAW;IACxB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,cAAc;IAC9B,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,IAAI,GAAG,YAAY,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqE9B,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DZ,CAAC;AAEF,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/E,IAAI,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,UAAU,CAAC,iCAAiC,OAAO,EAAE,EAAE;gBAC/D,IAAI,EAAE,2DAA2D;gBACjE,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,wBAAwB,OAAO,EAAE,EAAE;YACtD,IAAI,EAAE,qgBAAqgB;YAC3gB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;IAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACxB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;IACb,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AACpC,CAAC,CAAC,CAAC"}
|