@harness-engineering/cli 1.0.1 → 1.1.0
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/dist/agents/agents/personas/architecture-enforcer.yaml +27 -0
- package/dist/agents/agents/personas/documentation-maintainer.yaml +25 -0
- package/dist/agents/agents/personas/entropy-cleaner.yaml +21 -0
- package/dist/agents/agents/skills/.turbo/turbo-test.log +16 -0
- package/dist/agents/agents/skills/README.md +64 -0
- package/dist/agents/agents/skills/claude-code/add-harness-component/SKILL.md +182 -0
- package/dist/agents/agents/skills/claude-code/add-harness-component/skill.yaml +32 -0
- package/dist/agents/agents/skills/claude-code/align-documentation/SKILL.md +181 -0
- package/dist/agents/agents/skills/claude-code/align-documentation/skill.yaml +31 -0
- package/dist/agents/agents/skills/claude-code/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/agents/skills/claude-code/check-mechanical-constraints/skill.yaml +32 -0
- package/dist/agents/agents/skills/claude-code/cleanup-dead-code/SKILL.md +202 -0
- package/dist/agents/agents/skills/claude-code/cleanup-dead-code/skill.yaml +30 -0
- package/dist/agents/agents/skills/claude-code/detect-doc-drift/SKILL.md +159 -0
- package/dist/agents/agents/skills/claude-code/detect-doc-drift/skill.yaml +30 -0
- package/dist/agents/agents/skills/claude-code/enforce-architecture/SKILL.md +165 -0
- package/dist/agents/agents/skills/claude-code/enforce-architecture/skill.yaml +31 -0
- package/dist/agents/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +388 -0
- package/dist/agents/agents/skills/claude-code/harness-architecture-advisor/skill.yaml +48 -0
- package/dist/agents/agents/skills/claude-code/harness-brainstorming/SKILL.md +247 -0
- package/dist/agents/agents/skills/claude-code/harness-brainstorming/skill.yaml +47 -0
- package/dist/agents/agents/skills/claude-code/harness-code-review/SKILL.md +403 -0
- package/dist/agents/agents/skills/claude-code/harness-code-review/skill.yaml +32 -0
- package/dist/agents/agents/skills/claude-code/harness-debugging/SKILL.md +356 -0
- package/dist/agents/agents/skills/claude-code/harness-debugging/skill.yaml +47 -0
- package/dist/agents/agents/skills/claude-code/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/agents/skills/claude-code/harness-diagnostics/skill.yaml +50 -0
- package/dist/agents/agents/skills/claude-code/harness-execution/SKILL.md +298 -0
- package/dist/agents/agents/skills/claude-code/harness-execution/skill.yaml +50 -0
- package/dist/agents/agents/skills/claude-code/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/agents/skills/claude-code/harness-git-workflow/skill.yaml +31 -0
- package/dist/agents/agents/skills/claude-code/harness-integrity/SKILL.md +119 -0
- package/dist/agents/agents/skills/claude-code/harness-integrity/skill.yaml +47 -0
- package/dist/agents/agents/skills/claude-code/harness-onboarding/SKILL.md +260 -0
- package/dist/agents/agents/skills/claude-code/harness-onboarding/skill.yaml +30 -0
- package/dist/agents/agents/skills/claude-code/harness-parallel-agents/SKILL.md +162 -0
- package/dist/agents/agents/skills/claude-code/harness-parallel-agents/skill.yaml +33 -0
- package/dist/agents/agents/skills/claude-code/harness-planning/SKILL.md +326 -0
- package/dist/agents/agents/skills/claude-code/harness-planning/skill.yaml +47 -0
- package/dist/agents/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +231 -0
- package/dist/agents/agents/skills/claude-code/harness-pre-commit-review/skill.yaml +33 -0
- package/dist/agents/agents/skills/claude-code/harness-refactoring/SKILL.md +150 -0
- package/dist/agents/agents/skills/claude-code/harness-refactoring/skill.yaml +33 -0
- package/dist/agents/agents/skills/claude-code/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/agents/skills/claude-code/harness-skill-authoring/skill.yaml +32 -0
- package/dist/agents/agents/skills/claude-code/harness-state-management/SKILL.md +295 -0
- package/dist/agents/agents/skills/claude-code/harness-state-management/skill.yaml +32 -0
- package/dist/agents/agents/skills/claude-code/harness-tdd/SKILL.md +167 -0
- package/dist/agents/agents/skills/claude-code/harness-tdd/skill.yaml +48 -0
- package/dist/agents/agents/skills/claude-code/harness-verification/SKILL.md +262 -0
- package/dist/agents/agents/skills/claude-code/harness-verification/skill.yaml +41 -0
- package/dist/agents/agents/skills/claude-code/harness-verify/SKILL.md +122 -0
- package/dist/agents/agents/skills/claude-code/harness-verify/skill.yaml +40 -0
- package/dist/agents/agents/skills/claude-code/initialize-harness-project/SKILL.md +200 -0
- package/dist/agents/agents/skills/claude-code/initialize-harness-project/skill.yaml +31 -0
- package/dist/agents/agents/skills/claude-code/validate-context-engineering/SKILL.md +129 -0
- package/dist/agents/agents/skills/claude-code/validate-context-engineering/skill.yaml +31 -0
- package/dist/agents/agents/skills/gemini-cli/add-harness-component/SKILL.md +182 -0
- package/dist/agents/agents/skills/gemini-cli/add-harness-component/skill.yaml +32 -0
- package/dist/agents/agents/skills/gemini-cli/align-documentation/SKILL.md +181 -0
- package/dist/agents/agents/skills/gemini-cli/align-documentation/skill.yaml +31 -0
- package/dist/agents/agents/skills/gemini-cli/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/agents/skills/gemini-cli/check-mechanical-constraints/skill.yaml +32 -0
- package/dist/agents/agents/skills/gemini-cli/cleanup-dead-code/SKILL.md +202 -0
- package/dist/agents/agents/skills/gemini-cli/cleanup-dead-code/skill.yaml +30 -0
- package/dist/agents/agents/skills/gemini-cli/detect-doc-drift/SKILL.md +159 -0
- package/dist/agents/agents/skills/gemini-cli/detect-doc-drift/skill.yaml +30 -0
- package/dist/agents/agents/skills/gemini-cli/enforce-architecture/SKILL.md +165 -0
- package/dist/agents/agents/skills/gemini-cli/enforce-architecture/skill.yaml +31 -0
- package/dist/agents/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +388 -0
- package/dist/agents/agents/skills/gemini-cli/harness-architecture-advisor/skill.yaml +48 -0
- package/dist/agents/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +247 -0
- package/dist/agents/agents/skills/gemini-cli/harness-brainstorming/skill.yaml +47 -0
- package/dist/agents/agents/skills/gemini-cli/harness-code-review/SKILL.md +403 -0
- package/dist/agents/agents/skills/gemini-cli/harness-code-review/skill.yaml +32 -0
- package/dist/agents/agents/skills/gemini-cli/harness-debugging/SKILL.md +356 -0
- package/dist/agents/agents/skills/gemini-cli/harness-debugging/skill.yaml +47 -0
- package/dist/agents/agents/skills/gemini-cli/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/agents/skills/gemini-cli/harness-diagnostics/skill.yaml +50 -0
- package/dist/agents/agents/skills/gemini-cli/harness-execution/SKILL.md +298 -0
- package/dist/agents/agents/skills/gemini-cli/harness-execution/skill.yaml +50 -0
- package/dist/agents/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/agents/skills/gemini-cli/harness-git-workflow/skill.yaml +31 -0
- package/dist/agents/agents/skills/gemini-cli/harness-integrity/SKILL.md +119 -0
- package/dist/agents/agents/skills/gemini-cli/harness-integrity/skill.yaml +47 -0
- package/dist/agents/agents/skills/gemini-cli/harness-onboarding/SKILL.md +260 -0
- package/dist/agents/agents/skills/gemini-cli/harness-onboarding/skill.yaml +30 -0
- package/dist/agents/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +162 -0
- package/dist/agents/agents/skills/gemini-cli/harness-parallel-agents/skill.yaml +33 -0
- package/dist/agents/agents/skills/gemini-cli/harness-planning/SKILL.md +326 -0
- package/dist/agents/agents/skills/gemini-cli/harness-planning/skill.yaml +47 -0
- package/dist/agents/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +231 -0
- package/dist/agents/agents/skills/gemini-cli/harness-pre-commit-review/skill.yaml +33 -0
- package/dist/agents/agents/skills/gemini-cli/harness-refactoring/SKILL.md +150 -0
- package/dist/agents/agents/skills/gemini-cli/harness-refactoring/skill.yaml +33 -0
- package/dist/agents/agents/skills/gemini-cli/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/agents/skills/gemini-cli/harness-skill-authoring/skill.yaml +32 -0
- package/dist/agents/agents/skills/gemini-cli/harness-state-management/SKILL.md +295 -0
- package/dist/agents/agents/skills/gemini-cli/harness-state-management/skill.yaml +32 -0
- package/dist/agents/agents/skills/gemini-cli/harness-tdd/SKILL.md +167 -0
- package/dist/agents/agents/skills/gemini-cli/harness-tdd/skill.yaml +48 -0
- package/dist/agents/agents/skills/gemini-cli/harness-verification/SKILL.md +262 -0
- package/dist/agents/agents/skills/gemini-cli/harness-verification/skill.yaml +41 -0
- package/dist/agents/agents/skills/gemini-cli/harness-verify/SKILL.md +122 -0
- package/dist/agents/agents/skills/gemini-cli/harness-verify/skill.yaml +40 -0
- package/dist/agents/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +200 -0
- package/dist/agents/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +31 -0
- package/dist/agents/agents/skills/gemini-cli/validate-context-engineering/SKILL.md +129 -0
- package/dist/agents/agents/skills/gemini-cli/validate-context-engineering/skill.yaml +31 -0
- package/dist/agents/agents/skills/node_modules/.bin/glob +17 -0
- package/dist/agents/agents/skills/node_modules/.bin/vitest +17 -0
- package/dist/agents/agents/skills/node_modules/.bin/yaml +17 -0
- package/dist/agents/agents/skills/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/dist/agents/agents/skills/node_modules/glob/LICENSE +15 -0
- package/dist/agents/agents/skills/node_modules/glob/README.md +1265 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/index.js +68 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/package.json +3 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/bin.d.mts +3 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/bin.mjs +346 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/bin.mjs.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/glob.js +243 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/ignore.js +115 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/index.js +55 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/index.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/package.json +3 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/pattern.js +215 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/processor.js +294 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/walker.js +381 -0
- package/dist/agents/agents/skills/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/dist/agents/agents/skills/node_modules/glob/node_modules/.bin/glob +17 -0
- package/dist/agents/agents/skills/node_modules/glob/package.json +99 -0
- package/dist/agents/agents/skills/node_modules/vitest/LICENSE.md +691 -0
- package/dist/agents/agents/skills/node_modules/vitest/README.md +7 -0
- package/dist/agents/agents/skills/node_modules/vitest/browser/context.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/vitest/browser/context.js +20 -0
- package/dist/agents/agents/skills/node_modules/vitest/config.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/vitest/coverage.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/browser.d.ts +46 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/browser.js +20 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/base.CJ0Y4ePK.js +165 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/benchmark.B3N2zMcH.js +40 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts +24 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/browser.d.ChKACdzH.d.ts +59 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/cac.DVeoLl0M.js +1409 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/cli-api.B7PN_QUv.js +13657 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/config.d.Cy95HiCx.d.ts +210 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/console.Cf-YriPC.js +146 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/constants.D_Q9UYh-.js +36 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/coverage.AVPTjMgw.js +3292 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/coverage.D_JHT54q.js +25 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/coverage.d.BZtK59WP.d.ts +37 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/creator.DAmOKTvJ.js +673 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +73 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/defaults.BOqNVLsY.js +74 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/env.D4Lgay0q.js +8 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts +29 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +17 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/git.Bm2pzPAa.js +71 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/global.d.B15mdLcR.d.ts +99 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/globals.DOayXfHP.js +30 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.6Qv1eEA6.js +109 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.C5r1PdPD.js +231 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +206 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.CyBMJtT7.js +727 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.D3XRDfWc.js +213 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.D4KonVSU.js +6343 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.M8mOzt4Y.js +3839 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/index.Z5E_ObnR.js +37 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/init-forks._y3TW739.js +41 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/init-threads.DBO2kn-p.js +18 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/init.B6MLFIaN.js +334 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/inspector.CvyFGlXm.js +53 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/modules.BJuCwlRJ.js +36 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/node.Ce0vMQM7.js +14 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/plugin.d.CtqpEehP.d.ts +38 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/reporters.d.CWXNI2jG.d.ts +3271 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/rpc.BoxB0q7B.js +76 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/rpc.d.RH3apGEf.d.ts +64 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/setup-common.Cm-kSBVi.js +60 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/startModuleRunner.DEj0jb3e.js +861 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/suite.d.BJWk38HB.d.ts +10 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/test.B8ej_ZHS.js +254 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js +217 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/traces.d.402V_yFI.d.ts +18 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/utils.DvEY5TfP.js +52 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/vi.2VT5v0um.js +3919 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/vm.D3epNOPZ.js +744 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/chunks/worker.d.Dyxm8DEL.d.ts +255 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/cli.js +28 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/config.cjs +94 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/config.d.ts +104 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/config.js +15 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/coverage.d.ts +118 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/coverage.js +23 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/environments.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/environments.js +3 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/index.d.ts +510 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/index.js +20 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/mocker.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/mocker.js +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/module-evaluator.d.ts +124 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/module-evaluator.js +343 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/module-runner.js +17 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/node.d.ts +251 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/node.js +98 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/path.js +7 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/reporters.d.ts +27 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/reporters.js +24 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/runners.d.ts +50 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/runners.js +19 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/snapshot.d.ts +9 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/snapshot.js +4 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/spy.js +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/suite.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/suite.js +6 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/worker.d.ts +32 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/worker.js +48 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/workers/forks.js +54 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/workers/runVmTests.js +95 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/workers/threads.js +55 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/workers/vmForks.js +36 -0
- package/dist/agents/agents/skills/node_modules/vitest/dist/workers/vmThreads.js +37 -0
- package/dist/agents/agents/skills/node_modules/vitest/environments.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/globals.d.ts +20 -0
- package/dist/agents/agents/skills/node_modules/vitest/import-meta.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/vitest/importMeta.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/vitest/index.cjs +5 -0
- package/dist/agents/agents/skills/node_modules/vitest/index.d.cts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/jsdom.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/vitest/mocker.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/node.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/node_modules/.bin/vite +17 -0
- package/dist/agents/agents/skills/node_modules/vitest/node_modules/.bin/why-is-node-running +17 -0
- package/dist/agents/agents/skills/node_modules/vitest/optional-types.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/vitest/package.json +224 -0
- package/dist/agents/agents/skills/node_modules/vitest/reporters.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/runners.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/snapshot.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/suite.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/vitest/suppress-warnings.cjs +21 -0
- package/dist/agents/agents/skills/node_modules/vitest/vitest.mjs +2 -0
- package/dist/agents/agents/skills/node_modules/vitest/worker.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/yaml/LICENSE +13 -0
- package/dist/agents/agents/skills/node_modules/yaml/README.md +172 -0
- package/dist/agents/agents/skills/node_modules/yaml/bin.mjs +11 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/compose-node.js +102 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/composer.js +217 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/errors.js +57 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/index.js +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/log.js +11 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/Alias.js +114 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/lexer.js +717 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/parse/parser.js +967 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +64 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringify.js +128 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +143 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/util.js +11 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/dist/visit.js +233 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/index.js +5 -0
- package/dist/agents/agents/skills/node_modules/yaml/browser/package.json +3 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/cli.d.ts +8 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/cli.mjs +201 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-node.js +105 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/composer.js +222 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/Document.js +337 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/doc/directives.js +178 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/errors.d.ts +21 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/errors.js +62 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/index.d.ts +25 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/index.js +50 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/log.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/log.js +19 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Alias.js +116 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Scalar.d.ts +43 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/options.d.ts +344 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/cst.js +112 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/lexer.js +719 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/parse/parser.js +972 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/public-api.js +107 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/tags.js +99 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringify.js +131 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyCollection.js +145 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/test-events.js +134 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/util.d.ts +16 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/util.js +28 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/visit.d.ts +102 -0
- package/dist/agents/agents/skills/node_modules/yaml/dist/visit.js +236 -0
- package/dist/agents/agents/skills/node_modules/yaml/node_modules/.bin/yaml +17 -0
- package/dist/agents/agents/skills/node_modules/yaml/package.json +97 -0
- package/dist/agents/agents/skills/node_modules/yaml/util.js +2 -0
- package/{LICENSE → dist/agents/agents/skills/node_modules/zod/LICENSE} +1 -1
- package/dist/agents/agents/skills/node_modules/zod/README.md +208 -0
- package/dist/agents/agents/skills/node_modules/zod/index.cjs +33 -0
- package/dist/agents/agents/skills/node_modules/zod/index.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/index.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/index.js +4 -0
- package/dist/agents/agents/skills/node_modules/zod/package.json +118 -0
- package/dist/agents/agents/skills/node_modules/zod/src/index.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/errors.ts +13 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/external.ts +6 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/index.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/function.test.ts +257 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v3/types.ts +5136 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/checks.ts +30 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/compat.ts +66 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/errors.ts +75 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/external.ts +50 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/parse.ts +33 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/api.ts +1594 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/checks.ts +1283 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/config.ts +15 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/core.ts +134 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/errors.ts +424 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/function.ts +176 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/index.ts +15 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/json-schema.ts +143 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/parse.ts +94 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/regexes.ts +135 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/registries.ts +96 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/schemas.ts +3842 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/util.ts +775 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/index.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ar.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/az.ts +121 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/be.ts +184 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ca.ts +127 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/cs.ts +142 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/de.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/en.ts +127 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/eo.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/es.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/fa.ts +134 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/fi.ts +131 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/fr.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/he.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/hu.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/id.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/index.ts +39 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/it.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ja.ts +122 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/kh.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ko.ts +131 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/mk.ts +127 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ms.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/nl.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/no.ts +124 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ota.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/pl.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ps.ts +133 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/pt.ts +123 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ru.ts +184 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/sl.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/sv.ts +127 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ta.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/th.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/tr.ts +121 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ua.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/ur.ts +126 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/vi.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/coerce.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/iso.ts +62 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/parse.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
- package/dist/agents/agents/skills/node_modules/zod/src/v4-mini/index.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/ZodError.cjs +138 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/ZodError.js +133 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/errors.cjs +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/errors.d.cts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/errors.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/errors.js +9 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/external.cjs +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/external.d.cts +6 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/external.d.ts +6 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/external.js +6 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/helpers/util.js +133 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/index.cjs +33 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/index.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/index.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/index.js +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/locales/en.cjs +111 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/locales/en.js +109 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/standard-schema.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/types.cjs +3775 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/types.d.cts +1031 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/types.d.ts +1031 -0
- package/dist/agents/agents/skills/node_modules/zod/v3/types.js +3693 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/checks.cjs +32 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/checks.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/coerce.js +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/compat.cjs +57 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/compat.d.cts +46 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/compat.d.ts +46 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/compat.js +27 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/errors.cjs +67 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/errors.js +41 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/external.cjs +70 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/external.d.cts +13 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/external.d.ts +13 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/external.js +18 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/index.cjs +33 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/index.js +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/iso.js +30 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/parse.cjs +32 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/parse.d.cts +23 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/parse.d.ts +23 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/parse.js +6 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/schemas.cjs +1109 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/schemas.d.cts +630 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/schemas.d.ts +630 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/classic/schemas.js +1006 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/api.cjs +1039 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/api.d.cts +284 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/api.d.ts +284 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/api.js +906 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/checks.cjs +591 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/checks.js +565 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/core.cjs +67 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/core.d.cts +49 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/core.d.ts +49 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/core.js +61 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/doc.cjs +39 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/doc.js +35 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/errors.cjs +226 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/errors.d.cts +208 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/errors.d.ts +208 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/errors.js +195 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/function.cjs +102 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/function.d.cts +52 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/function.d.ts +52 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/function.js +75 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/index.cjs +44 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/index.d.cts +15 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/index.d.ts +15 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/index.js +15 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/json-schema.d.cts +87 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/json-schema.d.ts +87 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/json-schema.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/parse.cjs +87 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/parse.d.cts +25 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/parse.d.ts +25 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/parse.js +57 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/regexes.cjs +103 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/regexes.d.cts +62 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/regexes.d.ts +62 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/regexes.js +95 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/registries.cjs +56 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/registries.js +51 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/schemas.cjs +1748 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/schemas.d.cts +1041 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/schemas.d.ts +1041 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/schemas.js +1717 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/to-json-schema.js +849 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/util.cjs +539 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/util.d.cts +183 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/util.d.ts +183 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/util.js +493 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/versions.cjs +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/core/versions.js +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/index.cjs +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/index.d.cts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/index.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/index.js +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ar.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ar.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ar.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/az.cjs +141 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/az.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/az.js +115 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/be.cjs +190 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/be.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/be.js +164 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ca.cjs +144 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ca.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ca.js +118 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/cs.cjs +161 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/cs.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/cs.js +135 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/de.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/de.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/de.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/en.cjs +145 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/en.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/en.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/eo.cjs +144 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/eo.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/eo.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/es.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/es.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/es.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fa.cjs +148 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fa.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fa.js +122 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fi.cjs +148 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fi.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fi.js +122 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr-CA.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/fr.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/he.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/he.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/he.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/hu.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/hu.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/hu.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/id.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/id.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/id.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/index.cjs +84 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/index.d.cts +39 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/index.d.ts +39 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/index.js +39 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/it.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/it.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/it.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ja.cjs +141 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ja.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ja.js +115 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/kh.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/kh.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/kh.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/kh.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ko.cjs +147 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ko.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ko.js +121 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/mk.cjs +144 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/mk.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/mk.js +118 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ms.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ms.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ms.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/nl.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/nl.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/nl.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/no.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/no.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/no.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ota.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ota.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ota.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pl.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pl.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pl.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ps.cjs +148 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ps.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ps.js +122 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pt.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pt.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/pt.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ru.cjs +190 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ru.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ru.js +164 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sl.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sl.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sl.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sv.cjs +144 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sv.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/sv.js +118 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ta.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ta.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ta.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/th.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/th.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/th.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/tr.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/tr.d.ts +5 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/tr.js +115 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ua.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ua.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ua.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ua.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ur.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ur.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/ur.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/vi.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/vi.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/vi.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-CN.js +116 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/locales/zh-TW.js +117 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/checks.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/coerce.cjs +47 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/coerce.js +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/external.cjs +62 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/external.d.cts +11 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/external.d.ts +11 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/external.js +13 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/index.cjs +32 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/index.js +3 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/iso.cjs +60 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/iso.js +30 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/parse.cjs +8 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/parse.js +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/schemas.cjs +839 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/schemas.d.cts +356 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/schemas.d.ts +356 -0
- package/dist/agents/agents/skills/node_modules/zod/v4/mini/schemas.js +732 -0
- package/dist/agents/agents/skills/node_modules/zod/v4-mini/index.cjs +17 -0
- package/dist/agents/agents/skills/node_modules/zod/v4-mini/index.d.cts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4-mini/index.d.ts +1 -0
- package/dist/agents/agents/skills/node_modules/zod/v4-mini/index.js +1 -0
- package/dist/agents/agents/skills/package.json +17 -0
- package/dist/agents/agents/skills/tests/references.test.ts +85 -0
- package/dist/agents/agents/skills/tests/schema.test.ts +95 -0
- package/dist/agents/agents/skills/tests/schema.ts +66 -0
- package/dist/agents/agents/skills/tests/structure.test.ts +82 -0
- package/dist/agents/agents/skills/tsconfig.json +12 -0
- package/dist/agents/agents/skills/vitest.config.mts +9 -0
- package/dist/agents/personas/architecture-enforcer.yaml +27 -0
- package/dist/agents/personas/documentation-maintainer.yaml +25 -0
- package/dist/agents/personas/entropy-cleaner.yaml +21 -0
- package/dist/agents/skills/.turbo/turbo-test.log +16 -0
- package/dist/agents/skills/README.md +64 -0
- package/dist/agents/skills/claude-code/add-harness-component/SKILL.md +182 -0
- package/dist/agents/skills/claude-code/add-harness-component/skill.yaml +32 -0
- package/dist/agents/skills/claude-code/align-documentation/SKILL.md +181 -0
- package/dist/agents/skills/claude-code/align-documentation/skill.yaml +31 -0
- package/dist/agents/skills/claude-code/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/claude-code/check-mechanical-constraints/skill.yaml +32 -0
- package/dist/agents/skills/claude-code/cleanup-dead-code/SKILL.md +202 -0
- package/dist/agents/skills/claude-code/cleanup-dead-code/skill.yaml +30 -0
- package/dist/agents/skills/claude-code/detect-doc-drift/SKILL.md +159 -0
- package/dist/agents/skills/claude-code/detect-doc-drift/skill.yaml +30 -0
- package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +165 -0
- package/dist/agents/skills/claude-code/enforce-architecture/skill.yaml +31 -0
- package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +388 -0
- package/dist/agents/skills/claude-code/harness-architecture-advisor/skill.yaml +48 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +247 -0
- package/dist/agents/skills/claude-code/harness-brainstorming/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +403 -0
- package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +32 -0
- package/dist/agents/skills/claude-code/harness-debugging/SKILL.md +356 -0
- package/dist/agents/skills/claude-code/harness-debugging/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/claude-code/harness-diagnostics/skill.yaml +50 -0
- package/dist/agents/skills/claude-code/harness-execution/SKILL.md +298 -0
- package/dist/agents/skills/claude-code/harness-execution/skill.yaml +50 -0
- package/dist/agents/skills/claude-code/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/claude-code/harness-git-workflow/skill.yaml +31 -0
- package/dist/agents/skills/claude-code/harness-integrity/SKILL.md +119 -0
- package/dist/agents/skills/claude-code/harness-integrity/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-onboarding/SKILL.md +260 -0
- package/dist/agents/skills/claude-code/harness-onboarding/skill.yaml +30 -0
- package/dist/agents/skills/claude-code/harness-parallel-agents/SKILL.md +162 -0
- package/dist/agents/skills/claude-code/harness-parallel-agents/skill.yaml +33 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +326 -0
- package/dist/agents/skills/claude-code/harness-planning/skill.yaml +47 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +231 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/skill.yaml +33 -0
- package/dist/agents/skills/claude-code/harness-refactoring/SKILL.md +150 -0
- package/dist/agents/skills/claude-code/harness-refactoring/skill.yaml +33 -0
- package/dist/agents/skills/claude-code/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/claude-code/harness-skill-authoring/skill.yaml +32 -0
- package/dist/agents/skills/claude-code/harness-state-management/SKILL.md +295 -0
- package/dist/agents/skills/claude-code/harness-state-management/skill.yaml +32 -0
- package/dist/agents/skills/claude-code/harness-tdd/SKILL.md +167 -0
- package/dist/agents/skills/claude-code/harness-tdd/skill.yaml +48 -0
- package/dist/agents/skills/claude-code/harness-verification/SKILL.md +262 -0
- package/dist/agents/skills/claude-code/harness-verification/skill.yaml +41 -0
- package/dist/agents/skills/claude-code/harness-verify/SKILL.md +122 -0
- package/dist/agents/skills/claude-code/harness-verify/skill.yaml +40 -0
- package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +200 -0
- package/dist/agents/skills/claude-code/initialize-harness-project/skill.yaml +31 -0
- package/dist/agents/skills/claude-code/validate-context-engineering/SKILL.md +129 -0
- package/dist/agents/skills/claude-code/validate-context-engineering/skill.yaml +31 -0
- package/dist/agents/skills/gemini-cli/add-harness-component/SKILL.md +182 -0
- package/dist/agents/skills/gemini-cli/add-harness-component/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/align-documentation/SKILL.md +181 -0
- package/dist/agents/skills/gemini-cli/align-documentation/skill.yaml +31 -0
- package/dist/agents/skills/gemini-cli/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/gemini-cli/check-mechanical-constraints/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/cleanup-dead-code/SKILL.md +202 -0
- package/dist/agents/skills/gemini-cli/cleanup-dead-code/skill.yaml +30 -0
- package/dist/agents/skills/gemini-cli/detect-doc-drift/SKILL.md +159 -0
- package/dist/agents/skills/gemini-cli/detect-doc-drift/skill.yaml +30 -0
- package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +165 -0
- package/dist/agents/skills/gemini-cli/enforce-architecture/skill.yaml +31 -0
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +388 -0
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/skill.yaml +48 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +247 -0
- package/dist/agents/skills/gemini-cli/harness-brainstorming/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +403 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/harness-debugging/SKILL.md +356 -0
- package/dist/agents/skills/gemini-cli/harness-debugging/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/gemini-cli/harness-diagnostics/skill.yaml +50 -0
- package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +298 -0
- package/dist/agents/skills/gemini-cli/harness-execution/skill.yaml +50 -0
- package/dist/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/gemini-cli/harness-git-workflow/skill.yaml +31 -0
- package/dist/agents/skills/gemini-cli/harness-integrity/SKILL.md +119 -0
- package/dist/agents/skills/gemini-cli/harness-integrity/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-onboarding/SKILL.md +260 -0
- package/dist/agents/skills/gemini-cli/harness-onboarding/skill.yaml +30 -0
- package/dist/agents/skills/gemini-cli/harness-parallel-agents/SKILL.md +162 -0
- package/dist/agents/skills/gemini-cli/harness-parallel-agents/skill.yaml +33 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +326 -0
- package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +47 -0
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +231 -0
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/skill.yaml +33 -0
- package/dist/agents/skills/gemini-cli/harness-refactoring/SKILL.md +150 -0
- package/dist/agents/skills/gemini-cli/harness-refactoring/skill.yaml +33 -0
- package/dist/agents/skills/gemini-cli/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/gemini-cli/harness-skill-authoring/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/harness-state-management/SKILL.md +295 -0
- package/dist/agents/skills/gemini-cli/harness-state-management/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/harness-tdd/SKILL.md +167 -0
- package/dist/agents/skills/gemini-cli/harness-tdd/skill.yaml +48 -0
- package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +262 -0
- package/dist/agents/skills/gemini-cli/harness-verification/skill.yaml +41 -0
- package/dist/agents/skills/gemini-cli/harness-verify/SKILL.md +122 -0
- package/dist/agents/skills/gemini-cli/harness-verify/skill.yaml +40 -0
- package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +200 -0
- package/dist/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +31 -0
- package/dist/agents/skills/gemini-cli/validate-context-engineering/SKILL.md +129 -0
- package/dist/agents/skills/gemini-cli/validate-context-engineering/skill.yaml +31 -0
- package/dist/agents/skills/node_modules/.bin/glob +17 -0
- package/dist/agents/skills/node_modules/.bin/vitest +17 -0
- package/dist/agents/skills/node_modules/.bin/yaml +17 -0
- package/dist/agents/skills/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/dist/agents/skills/node_modules/glob/LICENSE +15 -0
- package/dist/agents/skills/node_modules/glob/README.md +1265 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/index.js +68 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/package.json +3 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/dist/agents/skills/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/bin.d.mts +3 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/bin.mjs +346 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/bin.mjs.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/glob.js +243 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/ignore.js +115 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/index.js +55 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/index.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/package.json +3 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/pattern.js +215 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/processor.js +294 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/walker.js +381 -0
- package/dist/agents/skills/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/dist/agents/skills/node_modules/glob/node_modules/.bin/glob +17 -0
- package/dist/agents/skills/node_modules/glob/package.json +99 -0
- package/dist/agents/skills/node_modules/vitest/LICENSE.md +691 -0
- package/dist/agents/skills/node_modules/vitest/README.md +7 -0
- package/dist/agents/skills/node_modules/vitest/browser/context.d.ts +7 -0
- package/dist/agents/skills/node_modules/vitest/browser/context.js +20 -0
- package/dist/agents/skills/node_modules/vitest/config.d.ts +3 -0
- package/dist/agents/skills/node_modules/vitest/coverage.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/dist/browser.d.ts +46 -0
- package/dist/agents/skills/node_modules/vitest/dist/browser.js +20 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/base.CJ0Y4ePK.js +165 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/benchmark.B3N2zMcH.js +40 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts +24 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/browser.d.ChKACdzH.d.ts +59 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/cac.DVeoLl0M.js +1409 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/cli-api.B7PN_QUv.js +13657 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/config.d.Cy95HiCx.d.ts +210 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/console.Cf-YriPC.js +146 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/constants.D_Q9UYh-.js +36 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/coverage.AVPTjMgw.js +3292 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/coverage.D_JHT54q.js +25 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/coverage.d.BZtK59WP.d.ts +37 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/creator.DAmOKTvJ.js +673 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js +73 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/defaults.BOqNVLsY.js +74 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/env.D4Lgay0q.js +8 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts +29 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +17 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts +7 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/git.Bm2pzPAa.js +71 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/global.d.B15mdLcR.d.ts +99 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/globals.DOayXfHP.js +30 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.6Qv1eEA6.js +109 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.C5r1PdPD.js +231 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +206 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.CyBMJtT7.js +727 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.D3XRDfWc.js +213 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.D4KonVSU.js +6343 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.M8mOzt4Y.js +3839 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/index.Z5E_ObnR.js +37 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/init-forks._y3TW739.js +41 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/init-threads.DBO2kn-p.js +18 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/init.B6MLFIaN.js +334 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/inspector.CvyFGlXm.js +53 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/modules.BJuCwlRJ.js +36 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/node.Ce0vMQM7.js +14 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/plugin.d.CtqpEehP.d.ts +38 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/reporters.d.CWXNI2jG.d.ts +3271 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/rpc.BoxB0q7B.js +76 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/rpc.d.RH3apGEf.d.ts +64 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/setup-common.Cm-kSBVi.js +60 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/startModuleRunner.DEj0jb3e.js +861 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/suite.d.BJWk38HB.d.ts +10 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/test.B8ej_ZHS.js +254 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js +217 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/traces.d.402V_yFI.d.ts +18 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/utils.DvEY5TfP.js +52 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/vi.2VT5v0um.js +3919 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/vm.D3epNOPZ.js +744 -0
- package/dist/agents/skills/node_modules/vitest/dist/chunks/worker.d.Dyxm8DEL.d.ts +255 -0
- package/dist/agents/skills/node_modules/vitest/dist/cli.js +28 -0
- package/dist/agents/skills/node_modules/vitest/dist/config.cjs +94 -0
- package/dist/agents/skills/node_modules/vitest/dist/config.d.ts +104 -0
- package/dist/agents/skills/node_modules/vitest/dist/config.js +15 -0
- package/dist/agents/skills/node_modules/vitest/dist/coverage.d.ts +118 -0
- package/dist/agents/skills/node_modules/vitest/dist/coverage.js +23 -0
- package/dist/agents/skills/node_modules/vitest/dist/environments.d.ts +22 -0
- package/dist/agents/skills/node_modules/vitest/dist/environments.js +3 -0
- package/dist/agents/skills/node_modules/vitest/dist/index.d.ts +510 -0
- package/dist/agents/skills/node_modules/vitest/dist/index.js +20 -0
- package/dist/agents/skills/node_modules/vitest/dist/mocker.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/dist/mocker.js +1 -0
- package/dist/agents/skills/node_modules/vitest/dist/module-evaluator.d.ts +124 -0
- package/dist/agents/skills/node_modules/vitest/dist/module-evaluator.js +343 -0
- package/dist/agents/skills/node_modules/vitest/dist/module-runner.js +17 -0
- package/dist/agents/skills/node_modules/vitest/dist/node.d.ts +251 -0
- package/dist/agents/skills/node_modules/vitest/dist/node.js +98 -0
- package/dist/agents/skills/node_modules/vitest/dist/path.js +7 -0
- package/dist/agents/skills/node_modules/vitest/dist/reporters.d.ts +27 -0
- package/dist/agents/skills/node_modules/vitest/dist/reporters.js +24 -0
- package/dist/agents/skills/node_modules/vitest/dist/runners.d.ts +50 -0
- package/dist/agents/skills/node_modules/vitest/dist/runners.js +19 -0
- package/dist/agents/skills/node_modules/vitest/dist/snapshot.d.ts +9 -0
- package/dist/agents/skills/node_modules/vitest/dist/snapshot.js +4 -0
- package/dist/agents/skills/node_modules/vitest/dist/spy.js +1 -0
- package/dist/agents/skills/node_modules/vitest/dist/suite.d.ts +5 -0
- package/dist/agents/skills/node_modules/vitest/dist/suite.js +6 -0
- package/dist/agents/skills/node_modules/vitest/dist/worker.d.ts +32 -0
- package/dist/agents/skills/node_modules/vitest/dist/worker.js +48 -0
- package/dist/agents/skills/node_modules/vitest/dist/workers/forks.js +54 -0
- package/dist/agents/skills/node_modules/vitest/dist/workers/runVmTests.js +95 -0
- package/dist/agents/skills/node_modules/vitest/dist/workers/threads.js +55 -0
- package/dist/agents/skills/node_modules/vitest/dist/workers/vmForks.js +36 -0
- package/dist/agents/skills/node_modules/vitest/dist/workers/vmThreads.js +37 -0
- package/dist/agents/skills/node_modules/vitest/environments.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/globals.d.ts +20 -0
- package/dist/agents/skills/node_modules/vitest/import-meta.d.ts +5 -0
- package/dist/agents/skills/node_modules/vitest/importMeta.d.ts +4 -0
- package/dist/agents/skills/node_modules/vitest/index.cjs +5 -0
- package/dist/agents/skills/node_modules/vitest/index.d.cts +1 -0
- package/dist/agents/skills/node_modules/vitest/jsdom.d.ts +6 -0
- package/dist/agents/skills/node_modules/vitest/mocker.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/node.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/node_modules/.bin/vite +17 -0
- package/dist/agents/skills/node_modules/vitest/node_modules/.bin/why-is-node-running +17 -0
- package/dist/agents/skills/node_modules/vitest/optional-types.d.ts +7 -0
- package/dist/agents/skills/node_modules/vitest/package.json +224 -0
- package/dist/agents/skills/node_modules/vitest/reporters.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/runners.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/snapshot.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/suite.d.ts +1 -0
- package/dist/agents/skills/node_modules/vitest/suppress-warnings.cjs +21 -0
- package/dist/agents/skills/node_modules/vitest/vitest.mjs +2 -0
- package/dist/agents/skills/node_modules/vitest/worker.d.ts +1 -0
- package/dist/agents/skills/node_modules/yaml/LICENSE +13 -0
- package/dist/agents/skills/node_modules/yaml/README.md +172 -0
- package/dist/agents/skills/node_modules/yaml/bin.mjs +11 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/compose-node.js +102 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/composer.js +217 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/errors.js +57 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/index.js +17 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/log.js +11 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/Alias.js +114 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/lexer.js +717 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/parse/parser.js +967 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +64 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringify.js +128 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +143 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/util.js +11 -0
- package/dist/agents/skills/node_modules/yaml/browser/dist/visit.js +233 -0
- package/dist/agents/skills/node_modules/yaml/browser/index.js +5 -0
- package/dist/agents/skills/node_modules/yaml/browser/package.json +3 -0
- package/dist/agents/skills/node_modules/yaml/dist/cli.d.ts +8 -0
- package/dist/agents/skills/node_modules/yaml/dist/cli.mjs +201 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-node.js +105 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/composer.js +222 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/Document.js +337 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/dist/agents/skills/node_modules/yaml/dist/doc/directives.js +178 -0
- package/dist/agents/skills/node_modules/yaml/dist/errors.d.ts +21 -0
- package/dist/agents/skills/node_modules/yaml/dist/errors.js +62 -0
- package/dist/agents/skills/node_modules/yaml/dist/index.d.ts +25 -0
- package/dist/agents/skills/node_modules/yaml/dist/index.js +50 -0
- package/dist/agents/skills/node_modules/yaml/dist/log.d.ts +3 -0
- package/dist/agents/skills/node_modules/yaml/dist/log.js +19 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Alias.js +116 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Scalar.d.ts +43 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/dist/agents/skills/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/dist/agents/skills/node_modules/yaml/dist/options.d.ts +344 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/cst.js +112 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/lexer.js +719 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/dist/agents/skills/node_modules/yaml/dist/parse/parser.js +972 -0
- package/dist/agents/skills/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/dist/agents/skills/node_modules/yaml/dist/public-api.js +107 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/tags.js +99 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/dist/agents/skills/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringify.js +131 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyCollection.js +145 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/dist/agents/skills/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/dist/agents/skills/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/dist/agents/skills/node_modules/yaml/dist/test-events.js +134 -0
- package/dist/agents/skills/node_modules/yaml/dist/util.d.ts +16 -0
- package/dist/agents/skills/node_modules/yaml/dist/util.js +28 -0
- package/dist/agents/skills/node_modules/yaml/dist/visit.d.ts +102 -0
- package/dist/agents/skills/node_modules/yaml/dist/visit.js +236 -0
- package/dist/agents/skills/node_modules/yaml/node_modules/.bin/yaml +17 -0
- package/dist/agents/skills/node_modules/yaml/package.json +97 -0
- package/dist/agents/skills/node_modules/yaml/util.js +2 -0
- package/dist/agents/skills/node_modules/zod/LICENSE +21 -0
- package/dist/agents/skills/node_modules/zod/README.md +208 -0
- package/dist/agents/skills/node_modules/zod/index.cjs +33 -0
- package/dist/agents/skills/node_modules/zod/index.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/index.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/index.js +4 -0
- package/dist/agents/skills/node_modules/zod/package.json +118 -0
- package/dist/agents/skills/node_modules/zod/src/index.ts +4 -0
- package/dist/agents/skills/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/dist/agents/skills/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/dist/agents/skills/node_modules/zod/src/v3/errors.ts +13 -0
- package/dist/agents/skills/node_modules/zod/src/v3/external.ts +6 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/dist/agents/skills/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/dist/agents/skills/node_modules/zod/src/v3/index.ts +4 -0
- package/dist/agents/skills/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/function.test.ts +257 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/dist/agents/skills/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/dist/agents/skills/node_modules/zod/src/v3/types.ts +5136 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/checks.ts +30 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/compat.ts +66 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/errors.ts +75 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/external.ts +50 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/parse.ts +33 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/dist/agents/skills/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/api.ts +1594 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/checks.ts +1283 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/config.ts +15 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/core.ts +134 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/errors.ts +424 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/function.ts +176 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/index.ts +15 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/json-schema.ts +143 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/parse.ts +94 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/regexes.ts +135 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/registries.ts +96 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/schemas.ts +3842 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/util.ts +775 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/dist/agents/skills/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/dist/agents/skills/node_modules/zod/src/v4/index.ts +4 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ar.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/az.ts +121 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/be.ts +184 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ca.ts +127 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/cs.ts +142 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/de.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/en.ts +127 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/eo.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/es.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/fa.ts +134 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/fi.ts +131 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/fr.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/he.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/hu.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/id.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/index.ts +39 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/it.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ja.ts +122 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/kh.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ko.ts +131 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/mk.ts +127 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ms.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/nl.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/no.ts +124 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ota.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/pl.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ps.ts +133 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/pt.ts +123 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ru.ts +184 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/sl.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/sv.ts +127 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ta.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/th.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/tr.ts +121 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ua.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/ur.ts +126 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/vi.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
- package/dist/agents/skills/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/coerce.ts +22 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/iso.ts +62 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/parse.ts +1 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/dist/agents/skills/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
- package/dist/agents/skills/node_modules/zod/src/v4-mini/index.ts +1 -0
- package/dist/agents/skills/node_modules/zod/v3/ZodError.cjs +138 -0
- package/dist/agents/skills/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/dist/agents/skills/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/dist/agents/skills/node_modules/zod/v3/ZodError.js +133 -0
- package/dist/agents/skills/node_modules/zod/v3/errors.cjs +17 -0
- package/dist/agents/skills/node_modules/zod/v3/errors.d.cts +5 -0
- package/dist/agents/skills/node_modules/zod/v3/errors.d.ts +5 -0
- package/dist/agents/skills/node_modules/zod/v3/errors.js +9 -0
- package/dist/agents/skills/node_modules/zod/v3/external.cjs +22 -0
- package/dist/agents/skills/node_modules/zod/v3/external.d.cts +6 -0
- package/dist/agents/skills/node_modules/zod/v3/external.d.ts +6 -0
- package/dist/agents/skills/node_modules/zod/v3/external.js +6 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/dist/agents/skills/node_modules/zod/v3/helpers/util.js +133 -0
- package/dist/agents/skills/node_modules/zod/v3/index.cjs +33 -0
- package/dist/agents/skills/node_modules/zod/v3/index.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v3/index.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v3/index.js +4 -0
- package/dist/agents/skills/node_modules/zod/v3/locales/en.cjs +111 -0
- package/dist/agents/skills/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/dist/agents/skills/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/dist/agents/skills/node_modules/zod/v3/locales/en.js +109 -0
- package/dist/agents/skills/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/dist/agents/skills/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/dist/agents/skills/node_modules/zod/v3/standard-schema.js +1 -0
- package/dist/agents/skills/node_modules/zod/v3/types.cjs +3775 -0
- package/dist/agents/skills/node_modules/zod/v3/types.d.cts +1031 -0
- package/dist/agents/skills/node_modules/zod/v3/types.d.ts +1031 -0
- package/dist/agents/skills/node_modules/zod/v3/types.js +3693 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/checks.cjs +32 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/checks.js +1 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/coerce.js +17 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/compat.cjs +57 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/compat.d.cts +46 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/compat.d.ts +46 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/compat.js +27 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/errors.cjs +67 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/errors.js +41 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/external.cjs +70 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/external.d.cts +13 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/external.d.ts +13 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/external.js +18 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/index.cjs +33 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/index.js +4 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/iso.js +30 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/parse.cjs +32 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/parse.d.cts +23 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/parse.d.ts +23 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/parse.js +6 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/schemas.cjs +1109 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/schemas.d.cts +630 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/schemas.d.ts +630 -0
- package/dist/agents/skills/node_modules/zod/v4/classic/schemas.js +1006 -0
- package/dist/agents/skills/node_modules/zod/v4/core/api.cjs +1039 -0
- package/dist/agents/skills/node_modules/zod/v4/core/api.d.cts +284 -0
- package/dist/agents/skills/node_modules/zod/v4/core/api.d.ts +284 -0
- package/dist/agents/skills/node_modules/zod/v4/core/api.js +906 -0
- package/dist/agents/skills/node_modules/zod/v4/core/checks.cjs +591 -0
- package/dist/agents/skills/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/dist/agents/skills/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/dist/agents/skills/node_modules/zod/v4/core/checks.js +565 -0
- package/dist/agents/skills/node_modules/zod/v4/core/core.cjs +67 -0
- package/dist/agents/skills/node_modules/zod/v4/core/core.d.cts +49 -0
- package/dist/agents/skills/node_modules/zod/v4/core/core.d.ts +49 -0
- package/dist/agents/skills/node_modules/zod/v4/core/core.js +61 -0
- package/dist/agents/skills/node_modules/zod/v4/core/doc.cjs +39 -0
- package/dist/agents/skills/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/dist/agents/skills/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/dist/agents/skills/node_modules/zod/v4/core/doc.js +35 -0
- package/dist/agents/skills/node_modules/zod/v4/core/errors.cjs +226 -0
- package/dist/agents/skills/node_modules/zod/v4/core/errors.d.cts +208 -0
- package/dist/agents/skills/node_modules/zod/v4/core/errors.d.ts +208 -0
- package/dist/agents/skills/node_modules/zod/v4/core/errors.js +195 -0
- package/dist/agents/skills/node_modules/zod/v4/core/function.cjs +102 -0
- package/dist/agents/skills/node_modules/zod/v4/core/function.d.cts +52 -0
- package/dist/agents/skills/node_modules/zod/v4/core/function.d.ts +52 -0
- package/dist/agents/skills/node_modules/zod/v4/core/function.js +75 -0
- package/dist/agents/skills/node_modules/zod/v4/core/index.cjs +44 -0
- package/dist/agents/skills/node_modules/zod/v4/core/index.d.cts +15 -0
- package/dist/agents/skills/node_modules/zod/v4/core/index.d.ts +15 -0
- package/dist/agents/skills/node_modules/zod/v4/core/index.js +15 -0
- package/dist/agents/skills/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v4/core/json-schema.d.cts +87 -0
- package/dist/agents/skills/node_modules/zod/v4/core/json-schema.d.ts +87 -0
- package/dist/agents/skills/node_modules/zod/v4/core/json-schema.js +1 -0
- package/dist/agents/skills/node_modules/zod/v4/core/parse.cjs +87 -0
- package/dist/agents/skills/node_modules/zod/v4/core/parse.d.cts +25 -0
- package/dist/agents/skills/node_modules/zod/v4/core/parse.d.ts +25 -0
- package/dist/agents/skills/node_modules/zod/v4/core/parse.js +57 -0
- package/dist/agents/skills/node_modules/zod/v4/core/regexes.cjs +103 -0
- package/dist/agents/skills/node_modules/zod/v4/core/regexes.d.cts +62 -0
- package/dist/agents/skills/node_modules/zod/v4/core/regexes.d.ts +62 -0
- package/dist/agents/skills/node_modules/zod/v4/core/regexes.js +95 -0
- package/dist/agents/skills/node_modules/zod/v4/core/registries.cjs +56 -0
- package/dist/agents/skills/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/dist/agents/skills/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/dist/agents/skills/node_modules/zod/v4/core/registries.js +51 -0
- package/dist/agents/skills/node_modules/zod/v4/core/schemas.cjs +1748 -0
- package/dist/agents/skills/node_modules/zod/v4/core/schemas.d.cts +1041 -0
- package/dist/agents/skills/node_modules/zod/v4/core/schemas.d.ts +1041 -0
- package/dist/agents/skills/node_modules/zod/v4/core/schemas.js +1717 -0
- package/dist/agents/skills/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/dist/agents/skills/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
- package/dist/agents/skills/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
- package/dist/agents/skills/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/dist/agents/skills/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
- package/dist/agents/skills/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
- package/dist/agents/skills/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
- package/dist/agents/skills/node_modules/zod/v4/core/to-json-schema.js +849 -0
- package/dist/agents/skills/node_modules/zod/v4/core/util.cjs +539 -0
- package/dist/agents/skills/node_modules/zod/v4/core/util.d.cts +183 -0
- package/dist/agents/skills/node_modules/zod/v4/core/util.d.ts +183 -0
- package/dist/agents/skills/node_modules/zod/v4/core/util.js +493 -0
- package/dist/agents/skills/node_modules/zod/v4/core/versions.cjs +8 -0
- package/dist/agents/skills/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/core/versions.js +5 -0
- package/dist/agents/skills/node_modules/zod/v4/index.cjs +22 -0
- package/dist/agents/skills/node_modules/zod/v4/index.d.cts +3 -0
- package/dist/agents/skills/node_modules/zod/v4/index.d.ts +3 -0
- package/dist/agents/skills/node_modules/zod/v4/index.js +3 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ar.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ar.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ar.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/az.cjs +141 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/az.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/az.js +115 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/be.cjs +190 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/be.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/be.js +164 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ca.cjs +144 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ca.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ca.js +118 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/cs.cjs +161 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/cs.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/cs.js +135 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/de.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/de.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/de.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/en.cjs +145 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/en.d.ts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/en.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/eo.cjs +144 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/eo.d.ts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/eo.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/es.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/es.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/es.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fa.cjs +148 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fa.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fa.js +122 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fi.cjs +148 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fi.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fi.js +122 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr-CA.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/fr.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/he.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/he.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/he.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/hu.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/hu.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/hu.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/id.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/id.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/id.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/index.cjs +84 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/index.d.cts +39 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/index.d.ts +39 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/index.js +39 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/it.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/it.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/it.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ja.cjs +141 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ja.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ja.js +115 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/kh.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/kh.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/kh.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/kh.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ko.cjs +147 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ko.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ko.js +121 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/mk.cjs +144 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/mk.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/mk.js +118 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ms.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ms.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ms.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/nl.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/nl.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/nl.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/no.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/no.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/no.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ota.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ota.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ota.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pl.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pl.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pl.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ps.cjs +148 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ps.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ps.js +122 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pt.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pt.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/pt.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ru.cjs +190 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ru.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ru.js +164 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sl.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sl.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sl.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sv.cjs +144 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sv.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/sv.js +118 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ta.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ta.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ta.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/th.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/th.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/th.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/tr.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/tr.d.ts +5 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/tr.js +115 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ua.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ua.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ua.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ua.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ur.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ur.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/ur.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/vi.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/vi.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/vi.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-CN.js +116 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/dist/agents/skills/node_modules/zod/v4/locales/zh-TW.js +117 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/checks.js +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/coerce.cjs +47 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/coerce.js +17 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/external.cjs +62 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/external.d.cts +11 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/external.d.ts +11 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/external.js +13 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/index.cjs +32 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/index.js +3 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/iso.cjs +60 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/iso.js +30 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/parse.cjs +8 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/parse.js +1 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/schemas.cjs +839 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/schemas.d.cts +356 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/schemas.d.ts +356 -0
- package/dist/agents/skills/node_modules/zod/v4/mini/schemas.js +732 -0
- package/dist/agents/skills/node_modules/zod/v4-mini/index.cjs +17 -0
- package/dist/agents/skills/node_modules/zod/v4-mini/index.d.cts +1 -0
- package/dist/agents/skills/node_modules/zod/v4-mini/index.d.ts +1 -0
- package/dist/agents/skills/node_modules/zod/v4-mini/index.js +1 -0
- package/dist/agents/skills/package.json +17 -0
- package/dist/agents/skills/tests/references.test.ts +85 -0
- package/dist/agents/skills/tests/schema.test.ts +95 -0
- package/dist/agents/skills/tests/schema.ts +66 -0
- package/dist/agents/skills/tests/structure.test.ts +82 -0
- package/dist/agents/skills/tsconfig.json +12 -0
- package/dist/agents/skills/vitest.config.mts +9 -0
- package/dist/bin/harness.js +1 -1
- package/dist/chunk-JR7ZYYNL.js +2744 -0
- package/dist/chunk-ZW7OXJCM.js +2639 -0
- package/dist/index.js +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,2744 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CLIError,
|
|
3
|
+
ExitCode,
|
|
4
|
+
SkillMetadataSchema,
|
|
5
|
+
createCreateSkillCommand,
|
|
6
|
+
logger
|
|
7
|
+
} from "./chunk-EFZOLZFB.js";
|
|
8
|
+
|
|
9
|
+
// src/index.ts
|
|
10
|
+
import { Command as Command28 } from "commander";
|
|
11
|
+
import { VERSION } from "@harness-engineering/core";
|
|
12
|
+
|
|
13
|
+
// src/commands/validate.ts
|
|
14
|
+
import { Command } from "commander";
|
|
15
|
+
import * as path2 from "path";
|
|
16
|
+
import { Ok as Ok2 } from "@harness-engineering/core";
|
|
17
|
+
import { validateAgentsMap, validateKnowledgeMap } from "@harness-engineering/core";
|
|
18
|
+
|
|
19
|
+
// src/config/loader.ts
|
|
20
|
+
import * as fs from "fs";
|
|
21
|
+
import * as path from "path";
|
|
22
|
+
import { Ok, Err } from "@harness-engineering/core";
|
|
23
|
+
|
|
24
|
+
// src/config/schema.ts
|
|
25
|
+
import { z } from "zod";
|
|
26
|
+
var LayerSchema = z.object({
|
|
27
|
+
name: z.string(),
|
|
28
|
+
pattern: z.string(),
|
|
29
|
+
allowedDependencies: z.array(z.string())
|
|
30
|
+
});
|
|
31
|
+
var ForbiddenImportSchema = z.object({
|
|
32
|
+
from: z.string(),
|
|
33
|
+
disallow: z.array(z.string()),
|
|
34
|
+
message: z.string().optional()
|
|
35
|
+
});
|
|
36
|
+
var BoundaryConfigSchema = z.object({
|
|
37
|
+
requireSchema: z.array(z.string())
|
|
38
|
+
});
|
|
39
|
+
var AgentConfigSchema = z.object({
|
|
40
|
+
executor: z.enum(["subprocess", "cloud", "noop"]).default("subprocess"),
|
|
41
|
+
timeout: z.number().default(3e5),
|
|
42
|
+
skills: z.array(z.string()).optional()
|
|
43
|
+
});
|
|
44
|
+
var EntropyConfigSchema = z.object({
|
|
45
|
+
excludePatterns: z.array(z.string()).default(["**/node_modules/**", "**/*.test.ts"]),
|
|
46
|
+
autoFix: z.boolean().default(false)
|
|
47
|
+
});
|
|
48
|
+
var PhaseGateMappingSchema = z.object({
|
|
49
|
+
implPattern: z.string(),
|
|
50
|
+
specPattern: z.string()
|
|
51
|
+
});
|
|
52
|
+
var PhaseGatesConfigSchema = z.object({
|
|
53
|
+
enabled: z.boolean().default(false),
|
|
54
|
+
severity: z.enum(["error", "warning"]).default("error"),
|
|
55
|
+
mappings: z.array(PhaseGateMappingSchema).default([{ implPattern: "src/**/*.ts", specPattern: "docs/specs/{feature}.md" }])
|
|
56
|
+
});
|
|
57
|
+
var HarnessConfigSchema = z.object({
|
|
58
|
+
version: z.literal(1),
|
|
59
|
+
name: z.string().optional(),
|
|
60
|
+
rootDir: z.string().default("."),
|
|
61
|
+
layers: z.array(LayerSchema).optional(),
|
|
62
|
+
forbiddenImports: z.array(ForbiddenImportSchema).optional(),
|
|
63
|
+
boundaries: BoundaryConfigSchema.optional(),
|
|
64
|
+
agentsMapPath: z.string().default("./AGENTS.md"),
|
|
65
|
+
docsDir: z.string().default("./docs"),
|
|
66
|
+
agent: AgentConfigSchema.optional(),
|
|
67
|
+
entropy: EntropyConfigSchema.optional(),
|
|
68
|
+
template: z.object({
|
|
69
|
+
level: z.enum(["basic", "intermediate", "advanced"]),
|
|
70
|
+
framework: z.string().optional(),
|
|
71
|
+
version: z.number()
|
|
72
|
+
}).optional(),
|
|
73
|
+
phaseGates: PhaseGatesConfigSchema.optional()
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// src/config/loader.ts
|
|
77
|
+
var CONFIG_FILENAMES = ["harness.config.json"];
|
|
78
|
+
function findConfigFile(startDir = process.cwd()) {
|
|
79
|
+
let currentDir = path.resolve(startDir);
|
|
80
|
+
const root = path.parse(currentDir).root;
|
|
81
|
+
while (currentDir !== root) {
|
|
82
|
+
for (const filename of CONFIG_FILENAMES) {
|
|
83
|
+
const configPath = path.join(currentDir, filename);
|
|
84
|
+
if (fs.existsSync(configPath)) {
|
|
85
|
+
return Ok(configPath);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
currentDir = path.dirname(currentDir);
|
|
89
|
+
}
|
|
90
|
+
return Err(
|
|
91
|
+
new CLIError('No harness.config.json found. Run "harness init" to create one.', ExitCode.ERROR)
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
function loadConfig(configPath) {
|
|
95
|
+
if (!fs.existsSync(configPath)) {
|
|
96
|
+
return Err(new CLIError(`Config file not found: ${configPath}`, ExitCode.ERROR));
|
|
97
|
+
}
|
|
98
|
+
let rawConfig;
|
|
99
|
+
try {
|
|
100
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
101
|
+
rawConfig = JSON.parse(content);
|
|
102
|
+
} catch (error) {
|
|
103
|
+
return Err(
|
|
104
|
+
new CLIError(
|
|
105
|
+
`Failed to parse config: ${error instanceof Error ? error.message : "Unknown error"}`,
|
|
106
|
+
ExitCode.ERROR
|
|
107
|
+
)
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
const parsed = HarnessConfigSchema.safeParse(rawConfig);
|
|
111
|
+
if (!parsed.success) {
|
|
112
|
+
const issues = parsed.error.issues.map((i) => ` - ${i.path.join(".")}: ${i.message}`).join("\n");
|
|
113
|
+
return Err(new CLIError(`Invalid config:
|
|
114
|
+
${issues}`, ExitCode.ERROR));
|
|
115
|
+
}
|
|
116
|
+
return Ok(parsed.data);
|
|
117
|
+
}
|
|
118
|
+
function resolveConfig(configPath) {
|
|
119
|
+
if (configPath) {
|
|
120
|
+
return loadConfig(configPath);
|
|
121
|
+
}
|
|
122
|
+
const findResult = findConfigFile();
|
|
123
|
+
if (!findResult.ok) {
|
|
124
|
+
return findResult;
|
|
125
|
+
}
|
|
126
|
+
return loadConfig(findResult.value);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// src/output/formatter.ts
|
|
130
|
+
import chalk from "chalk";
|
|
131
|
+
var OutputMode = {
|
|
132
|
+
JSON: "json",
|
|
133
|
+
TEXT: "text",
|
|
134
|
+
QUIET: "quiet",
|
|
135
|
+
VERBOSE: "verbose"
|
|
136
|
+
};
|
|
137
|
+
var OutputFormatter = class {
|
|
138
|
+
constructor(mode = OutputMode.TEXT) {
|
|
139
|
+
this.mode = mode;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Format raw data (for JSON mode)
|
|
143
|
+
*/
|
|
144
|
+
format(data) {
|
|
145
|
+
if (this.mode === OutputMode.JSON) {
|
|
146
|
+
return JSON.stringify(data, null, 2);
|
|
147
|
+
}
|
|
148
|
+
return String(data);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Format validation result
|
|
152
|
+
*/
|
|
153
|
+
formatValidation(result) {
|
|
154
|
+
if (this.mode === OutputMode.JSON) {
|
|
155
|
+
return JSON.stringify(result, null, 2);
|
|
156
|
+
}
|
|
157
|
+
if (this.mode === OutputMode.QUIET) {
|
|
158
|
+
if (result.valid) return "";
|
|
159
|
+
return result.issues.map((i) => `${i.file ?? ""}: ${i.message}`).join("\n");
|
|
160
|
+
}
|
|
161
|
+
const lines = [];
|
|
162
|
+
if (result.valid) {
|
|
163
|
+
lines.push(chalk.green("v validation passed"));
|
|
164
|
+
} else {
|
|
165
|
+
lines.push(chalk.red(`x Validation failed (${result.issues.length} issues)`));
|
|
166
|
+
lines.push("");
|
|
167
|
+
for (const issue of result.issues) {
|
|
168
|
+
const location = issue.file ? issue.line ? `${issue.file}:${issue.line}` : issue.file : "unknown";
|
|
169
|
+
lines.push(` ${chalk.yellow("*")} ${chalk.dim(location)}`);
|
|
170
|
+
lines.push(` ${issue.message}`);
|
|
171
|
+
if (issue.suggestion && this.mode === OutputMode.VERBOSE) {
|
|
172
|
+
lines.push(` ${chalk.dim("->")} ${issue.suggestion}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return lines.join("\n");
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Format a summary line
|
|
180
|
+
*/
|
|
181
|
+
formatSummary(label, value, success) {
|
|
182
|
+
if (this.mode === OutputMode.JSON || this.mode === OutputMode.QUIET) {
|
|
183
|
+
return "";
|
|
184
|
+
}
|
|
185
|
+
const icon = success ? chalk.green("v") : chalk.red("x");
|
|
186
|
+
return `${icon} ${label}: ${value}`;
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
// src/commands/validate.ts
|
|
191
|
+
async function runValidate(options) {
|
|
192
|
+
const configResult = resolveConfig(options.configPath);
|
|
193
|
+
if (!configResult.ok) {
|
|
194
|
+
return configResult;
|
|
195
|
+
}
|
|
196
|
+
const config = configResult.value;
|
|
197
|
+
const cwd = options.cwd ?? (options.configPath ? path2.dirname(path2.resolve(options.configPath)) : process.cwd());
|
|
198
|
+
const result = {
|
|
199
|
+
valid: true,
|
|
200
|
+
checks: {
|
|
201
|
+
agentsMap: false,
|
|
202
|
+
fileStructure: false,
|
|
203
|
+
knowledgeMap: false
|
|
204
|
+
},
|
|
205
|
+
issues: []
|
|
206
|
+
};
|
|
207
|
+
const agentsMapPath = path2.resolve(cwd, config.agentsMapPath);
|
|
208
|
+
const agentsResult = await validateAgentsMap(agentsMapPath);
|
|
209
|
+
if (agentsResult.ok) {
|
|
210
|
+
result.checks.agentsMap = true;
|
|
211
|
+
} else {
|
|
212
|
+
result.valid = false;
|
|
213
|
+
result.issues.push({
|
|
214
|
+
check: "agentsMap",
|
|
215
|
+
file: config.agentsMapPath,
|
|
216
|
+
message: agentsResult.error.message,
|
|
217
|
+
...agentsResult.error.suggestions?.[0] !== void 0 && {
|
|
218
|
+
suggestion: agentsResult.error.suggestions[0]
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
const knowledgeResult = await validateKnowledgeMap(cwd);
|
|
223
|
+
if (knowledgeResult.ok && knowledgeResult.value.brokenLinks.length === 0) {
|
|
224
|
+
result.checks.knowledgeMap = true;
|
|
225
|
+
} else if (knowledgeResult.ok) {
|
|
226
|
+
result.valid = false;
|
|
227
|
+
for (const broken of knowledgeResult.value.brokenLinks) {
|
|
228
|
+
result.issues.push({
|
|
229
|
+
check: "knowledgeMap",
|
|
230
|
+
file: broken.path,
|
|
231
|
+
message: `Broken link: ${broken.path}`,
|
|
232
|
+
suggestion: broken.suggestion || "Remove or fix the broken link"
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
} else {
|
|
236
|
+
result.valid = false;
|
|
237
|
+
result.issues.push({
|
|
238
|
+
check: "knowledgeMap",
|
|
239
|
+
message: knowledgeResult.error.message
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
result.checks.fileStructure = true;
|
|
243
|
+
return Ok2(result);
|
|
244
|
+
}
|
|
245
|
+
function createValidateCommand() {
|
|
246
|
+
const command = new Command("validate").description("Run all validation checks").option("--cross-check", "Run cross-artifact consistency validation").action(async (opts, cmd) => {
|
|
247
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
248
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
249
|
+
const formatter = new OutputFormatter(mode);
|
|
250
|
+
const result = await runValidate({
|
|
251
|
+
configPath: globalOpts.config,
|
|
252
|
+
json: globalOpts.json,
|
|
253
|
+
verbose: globalOpts.verbose,
|
|
254
|
+
quiet: globalOpts.quiet
|
|
255
|
+
});
|
|
256
|
+
if (!result.ok) {
|
|
257
|
+
if (mode === OutputMode.JSON) {
|
|
258
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
259
|
+
} else {
|
|
260
|
+
logger.error(result.error.message);
|
|
261
|
+
}
|
|
262
|
+
process.exit(result.error.exitCode);
|
|
263
|
+
}
|
|
264
|
+
if (opts.crossCheck) {
|
|
265
|
+
const { runCrossCheck } = await import("./validate-cross-check-N75UV2CO.js");
|
|
266
|
+
const cwd = process.cwd();
|
|
267
|
+
const specsDir = path2.join(cwd, "docs", "specs");
|
|
268
|
+
const plansDir = path2.join(cwd, "docs", "plans");
|
|
269
|
+
const crossResult = await runCrossCheck({ specsDir, plansDir, projectPath: cwd });
|
|
270
|
+
if (crossResult.ok && crossResult.value.warnings > 0) {
|
|
271
|
+
console.log("\nCross-artifact validation:");
|
|
272
|
+
for (const w of crossResult.value.planToImpl) console.log(` ! ${w}`);
|
|
273
|
+
for (const w of crossResult.value.staleness) console.log(` ! ${w}`);
|
|
274
|
+
console.log(`
|
|
275
|
+
${crossResult.value.warnings} warnings`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
const output = formatter.formatValidation({
|
|
279
|
+
valid: result.value.valid,
|
|
280
|
+
issues: result.value.issues
|
|
281
|
+
});
|
|
282
|
+
if (output) {
|
|
283
|
+
console.log(output);
|
|
284
|
+
}
|
|
285
|
+
process.exit(result.value.valid ? ExitCode.SUCCESS : ExitCode.VALIDATION_FAILED);
|
|
286
|
+
});
|
|
287
|
+
return command;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
// src/commands/check-deps.ts
|
|
291
|
+
import { Command as Command2 } from "commander";
|
|
292
|
+
import * as path3 from "path";
|
|
293
|
+
import { Ok as Ok3 } from "@harness-engineering/core";
|
|
294
|
+
import {
|
|
295
|
+
validateDependencies,
|
|
296
|
+
detectCircularDepsInFiles,
|
|
297
|
+
defineLayer,
|
|
298
|
+
TypeScriptParser
|
|
299
|
+
} from "@harness-engineering/core";
|
|
300
|
+
|
|
301
|
+
// src/utils/files.ts
|
|
302
|
+
import { glob } from "glob";
|
|
303
|
+
async function findFiles(pattern, cwd = process.cwd()) {
|
|
304
|
+
return glob(pattern, { cwd, absolute: true });
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// src/commands/check-deps.ts
|
|
308
|
+
async function runCheckDeps(options) {
|
|
309
|
+
const cwd = options.cwd ?? process.cwd();
|
|
310
|
+
const configResult = resolveConfig(options.configPath);
|
|
311
|
+
if (!configResult.ok) {
|
|
312
|
+
return configResult;
|
|
313
|
+
}
|
|
314
|
+
const config = configResult.value;
|
|
315
|
+
const result = {
|
|
316
|
+
valid: true,
|
|
317
|
+
layerViolations: [],
|
|
318
|
+
circularDeps: []
|
|
319
|
+
};
|
|
320
|
+
if (!config.layers || config.layers.length === 0) {
|
|
321
|
+
return Ok3(result);
|
|
322
|
+
}
|
|
323
|
+
const rootDir = path3.resolve(cwd, config.rootDir);
|
|
324
|
+
const parser = new TypeScriptParser();
|
|
325
|
+
const layers = config.layers.map((l) => defineLayer(l.name, [l.pattern], l.allowedDependencies));
|
|
326
|
+
const layerConfig = {
|
|
327
|
+
layers,
|
|
328
|
+
rootDir,
|
|
329
|
+
parser,
|
|
330
|
+
fallbackBehavior: "warn"
|
|
331
|
+
};
|
|
332
|
+
const depsResult = await validateDependencies(layerConfig);
|
|
333
|
+
if (depsResult.ok) {
|
|
334
|
+
for (const violation of depsResult.value.violations) {
|
|
335
|
+
result.valid = false;
|
|
336
|
+
result.layerViolations.push({
|
|
337
|
+
file: violation.file,
|
|
338
|
+
imports: violation.imports,
|
|
339
|
+
fromLayer: violation.fromLayer ?? "unknown",
|
|
340
|
+
toLayer: violation.toLayer ?? "unknown",
|
|
341
|
+
message: violation.reason
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
const allFiles = [];
|
|
346
|
+
for (const layer of config.layers) {
|
|
347
|
+
const files = await findFiles(layer.pattern, rootDir);
|
|
348
|
+
allFiles.push(...files);
|
|
349
|
+
}
|
|
350
|
+
const uniqueFiles = [...new Set(allFiles)];
|
|
351
|
+
if (uniqueFiles.length > 0) {
|
|
352
|
+
const circularResult = await detectCircularDepsInFiles(uniqueFiles, parser);
|
|
353
|
+
if (circularResult.ok && circularResult.value.hasCycles) {
|
|
354
|
+
result.valid = false;
|
|
355
|
+
for (const cycle of circularResult.value.cycles) {
|
|
356
|
+
result.circularDeps.push({ cycle: cycle.cycle });
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return Ok3(result);
|
|
361
|
+
}
|
|
362
|
+
function createCheckDepsCommand() {
|
|
363
|
+
const command = new Command2("check-deps").description("Validate dependency layers and detect circular dependencies").action(async (_opts, cmd) => {
|
|
364
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
365
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
366
|
+
const formatter = new OutputFormatter(mode);
|
|
367
|
+
const result = await runCheckDeps({
|
|
368
|
+
configPath: globalOpts.config,
|
|
369
|
+
json: globalOpts.json,
|
|
370
|
+
verbose: globalOpts.verbose,
|
|
371
|
+
quiet: globalOpts.quiet
|
|
372
|
+
});
|
|
373
|
+
if (!result.ok) {
|
|
374
|
+
if (mode === OutputMode.JSON) {
|
|
375
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
376
|
+
} else {
|
|
377
|
+
logger.error(result.error.message);
|
|
378
|
+
}
|
|
379
|
+
process.exit(result.error.exitCode);
|
|
380
|
+
}
|
|
381
|
+
const issues = [
|
|
382
|
+
...result.value.layerViolations.map((v) => ({
|
|
383
|
+
file: v.file,
|
|
384
|
+
message: `Layer violation: ${v.fromLayer} -> ${v.toLayer} (${v.message})`
|
|
385
|
+
})),
|
|
386
|
+
...result.value.circularDeps.map((c) => ({
|
|
387
|
+
message: `Circular dependency: ${c.cycle.join(" -> ")}`
|
|
388
|
+
}))
|
|
389
|
+
];
|
|
390
|
+
const output = formatter.formatValidation({
|
|
391
|
+
valid: result.value.valid,
|
|
392
|
+
issues
|
|
393
|
+
});
|
|
394
|
+
if (output) {
|
|
395
|
+
console.log(output);
|
|
396
|
+
}
|
|
397
|
+
process.exit(result.value.valid ? ExitCode.SUCCESS : ExitCode.VALIDATION_FAILED);
|
|
398
|
+
});
|
|
399
|
+
return command;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
// src/commands/check-docs.ts
|
|
403
|
+
import { Command as Command3 } from "commander";
|
|
404
|
+
import * as path4 from "path";
|
|
405
|
+
import { Ok as Ok4, Err as Err2 } from "@harness-engineering/core";
|
|
406
|
+
import { checkDocCoverage, validateKnowledgeMap as validateKnowledgeMap2 } from "@harness-engineering/core";
|
|
407
|
+
async function runCheckDocs(options) {
|
|
408
|
+
const cwd = options.cwd ?? process.cwd();
|
|
409
|
+
const minCoverage = options.minCoverage ?? 80;
|
|
410
|
+
const configResult = resolveConfig(options.configPath);
|
|
411
|
+
if (!configResult.ok) {
|
|
412
|
+
return configResult;
|
|
413
|
+
}
|
|
414
|
+
const config = configResult.value;
|
|
415
|
+
const docsDir = path4.resolve(cwd, config.docsDir);
|
|
416
|
+
const sourceDir = path4.resolve(cwd, config.rootDir);
|
|
417
|
+
const coverageResult = await checkDocCoverage("project", {
|
|
418
|
+
docsDir,
|
|
419
|
+
sourceDir,
|
|
420
|
+
excludePatterns: ["**/*.test.ts", "**/*.spec.ts", "**/node_modules/**"]
|
|
421
|
+
});
|
|
422
|
+
if (!coverageResult.ok) {
|
|
423
|
+
return Err2(
|
|
424
|
+
new CLIError(
|
|
425
|
+
`Documentation coverage check failed: ${coverageResult.error.message}`,
|
|
426
|
+
ExitCode.ERROR
|
|
427
|
+
)
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
const knowledgeResult = await validateKnowledgeMap2(cwd);
|
|
431
|
+
let brokenLinks = [];
|
|
432
|
+
if (knowledgeResult.ok) {
|
|
433
|
+
brokenLinks = knowledgeResult.value.brokenLinks.map((b) => b.path);
|
|
434
|
+
} else {
|
|
435
|
+
logger.warn(`Knowledge map validation failed: ${knowledgeResult.error.message}`);
|
|
436
|
+
}
|
|
437
|
+
const coveragePercent = coverageResult.value.coveragePercentage;
|
|
438
|
+
const result = {
|
|
439
|
+
valid: coveragePercent >= minCoverage && brokenLinks.length === 0,
|
|
440
|
+
coveragePercent,
|
|
441
|
+
documented: coverageResult.value.documented,
|
|
442
|
+
undocumented: coverageResult.value.undocumented,
|
|
443
|
+
brokenLinks
|
|
444
|
+
};
|
|
445
|
+
return Ok4(result);
|
|
446
|
+
}
|
|
447
|
+
function createCheckDocsCommand() {
|
|
448
|
+
const command = new Command3("check-docs").description("Check documentation coverage").option("--min-coverage <percent>", "Minimum coverage percentage", "80").action(async (opts, cmd) => {
|
|
449
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
450
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
451
|
+
const formatter = new OutputFormatter(mode);
|
|
452
|
+
const result = await runCheckDocs({
|
|
453
|
+
configPath: globalOpts.config,
|
|
454
|
+
minCoverage: parseInt(opts.minCoverage, 10),
|
|
455
|
+
json: globalOpts.json,
|
|
456
|
+
verbose: globalOpts.verbose,
|
|
457
|
+
quiet: globalOpts.quiet
|
|
458
|
+
});
|
|
459
|
+
if (!result.ok) {
|
|
460
|
+
if (mode === OutputMode.JSON) {
|
|
461
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
462
|
+
} else {
|
|
463
|
+
logger.error(result.error.message);
|
|
464
|
+
}
|
|
465
|
+
process.exit(result.error.exitCode);
|
|
466
|
+
}
|
|
467
|
+
if (mode === OutputMode.JSON) {
|
|
468
|
+
console.log(JSON.stringify(result.value, null, 2));
|
|
469
|
+
} else if (mode !== OutputMode.QUIET) {
|
|
470
|
+
const { value } = result;
|
|
471
|
+
console.log(
|
|
472
|
+
formatter.formatSummary(
|
|
473
|
+
"Documentation coverage",
|
|
474
|
+
`${value.coveragePercent.toFixed(1)}%`,
|
|
475
|
+
value.valid
|
|
476
|
+
)
|
|
477
|
+
);
|
|
478
|
+
if (value.undocumented.length > 0 && (mode === OutputMode.VERBOSE || !value.valid)) {
|
|
479
|
+
console.log("\nUndocumented files:");
|
|
480
|
+
for (const file of value.undocumented.slice(0, 10)) {
|
|
481
|
+
console.log(` - ${file}`);
|
|
482
|
+
}
|
|
483
|
+
if (value.undocumented.length > 10) {
|
|
484
|
+
console.log(` ... and ${value.undocumented.length - 10} more`);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
if (value.brokenLinks.length > 0) {
|
|
488
|
+
console.log("\nBroken links:");
|
|
489
|
+
for (const link of value.brokenLinks) {
|
|
490
|
+
console.log(` - ${link}`);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
process.exit(result.value.valid ? ExitCode.SUCCESS : ExitCode.VALIDATION_FAILED);
|
|
495
|
+
});
|
|
496
|
+
return command;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
// src/commands/init.ts
|
|
500
|
+
import { Command as Command5 } from "commander";
|
|
501
|
+
import chalk3 from "chalk";
|
|
502
|
+
import * as fs5 from "fs";
|
|
503
|
+
import * as path8 from "path";
|
|
504
|
+
import { Ok as Ok6, Err as Err4 } from "@harness-engineering/core";
|
|
505
|
+
|
|
506
|
+
// src/templates/engine.ts
|
|
507
|
+
import * as fs2 from "fs";
|
|
508
|
+
import * as path5 from "path";
|
|
509
|
+
import Handlebars from "handlebars";
|
|
510
|
+
import { Ok as Ok5, Err as Err3 } from "@harness-engineering/core";
|
|
511
|
+
|
|
512
|
+
// src/templates/schema.ts
|
|
513
|
+
import { z as z2 } from "zod";
|
|
514
|
+
var MergeStrategySchema = z2.object({
|
|
515
|
+
json: z2.enum(["deep-merge", "overlay-wins"]).default("deep-merge"),
|
|
516
|
+
files: z2.literal("overlay-wins").default("overlay-wins")
|
|
517
|
+
});
|
|
518
|
+
var TemplateMetadataSchema = z2.object({
|
|
519
|
+
name: z2.string(),
|
|
520
|
+
description: z2.string(),
|
|
521
|
+
level: z2.enum(["basic", "intermediate", "advanced"]).optional(),
|
|
522
|
+
framework: z2.string().optional(),
|
|
523
|
+
extends: z2.string().optional(),
|
|
524
|
+
mergeStrategy: MergeStrategySchema.default({}),
|
|
525
|
+
version: z2.literal(1)
|
|
526
|
+
});
|
|
527
|
+
|
|
528
|
+
// src/templates/merger.ts
|
|
529
|
+
function isPlainObject(val) {
|
|
530
|
+
return typeof val === "object" && val !== null && !Array.isArray(val);
|
|
531
|
+
}
|
|
532
|
+
function deepMergeJson(base, overlay) {
|
|
533
|
+
const result = { ...base };
|
|
534
|
+
for (const key of Object.keys(overlay)) {
|
|
535
|
+
if (isPlainObject(result[key]) && isPlainObject(overlay[key])) {
|
|
536
|
+
result[key] = deepMergeJson(
|
|
537
|
+
result[key],
|
|
538
|
+
overlay[key]
|
|
539
|
+
);
|
|
540
|
+
} else {
|
|
541
|
+
result[key] = overlay[key];
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
return result;
|
|
545
|
+
}
|
|
546
|
+
var CONCAT_KEYS = /* @__PURE__ */ new Set(["dependencies", "devDependencies", "peerDependencies"]);
|
|
547
|
+
function mergePackageJson(base, overlay) {
|
|
548
|
+
const result = { ...base };
|
|
549
|
+
for (const key of Object.keys(overlay)) {
|
|
550
|
+
if (CONCAT_KEYS.has(key) && isPlainObject(result[key]) && isPlainObject(overlay[key])) {
|
|
551
|
+
result[key] = {
|
|
552
|
+
...result[key],
|
|
553
|
+
...overlay[key]
|
|
554
|
+
};
|
|
555
|
+
} else if (isPlainObject(result[key]) && isPlainObject(overlay[key])) {
|
|
556
|
+
result[key] = deepMergeJson(
|
|
557
|
+
result[key],
|
|
558
|
+
overlay[key]
|
|
559
|
+
);
|
|
560
|
+
} else {
|
|
561
|
+
result[key] = overlay[key];
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
return result;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
// src/templates/engine.ts
|
|
568
|
+
var TemplateEngine = class {
|
|
569
|
+
constructor(templatesDir) {
|
|
570
|
+
this.templatesDir = templatesDir;
|
|
571
|
+
}
|
|
572
|
+
listTemplates() {
|
|
573
|
+
try {
|
|
574
|
+
const entries = fs2.readdirSync(this.templatesDir, { withFileTypes: true });
|
|
575
|
+
const templates = [];
|
|
576
|
+
for (const entry of entries) {
|
|
577
|
+
if (!entry.isDirectory()) continue;
|
|
578
|
+
const metaPath = path5.join(this.templatesDir, entry.name, "template.json");
|
|
579
|
+
if (!fs2.existsSync(metaPath)) continue;
|
|
580
|
+
const raw = JSON.parse(fs2.readFileSync(metaPath, "utf-8"));
|
|
581
|
+
const parsed = TemplateMetadataSchema.safeParse(raw);
|
|
582
|
+
if (parsed.success) templates.push(parsed.data);
|
|
583
|
+
}
|
|
584
|
+
return Ok5(templates);
|
|
585
|
+
} catch (error) {
|
|
586
|
+
return Err3(
|
|
587
|
+
new Error(
|
|
588
|
+
`Failed to list templates: ${error instanceof Error ? error.message : String(error)}`
|
|
589
|
+
)
|
|
590
|
+
);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
resolveTemplate(level, framework) {
|
|
594
|
+
const levelDir = this.findTemplateDir(level, "level");
|
|
595
|
+
if (!levelDir) return Err3(new Error(`Template not found for level: ${level}`));
|
|
596
|
+
const metaPath = path5.join(levelDir, "template.json");
|
|
597
|
+
const metaRaw = JSON.parse(fs2.readFileSync(metaPath, "utf-8"));
|
|
598
|
+
const metaResult = TemplateMetadataSchema.safeParse(metaRaw);
|
|
599
|
+
if (!metaResult.success)
|
|
600
|
+
return Err3(new Error(`Invalid template.json in ${level}: ${metaResult.error.message}`));
|
|
601
|
+
const metadata = metaResult.data;
|
|
602
|
+
let files = [];
|
|
603
|
+
if (metadata.extends) {
|
|
604
|
+
const baseDir = path5.join(this.templatesDir, metadata.extends);
|
|
605
|
+
if (fs2.existsSync(baseDir)) files = this.collectFiles(baseDir, metadata.extends);
|
|
606
|
+
}
|
|
607
|
+
const levelFiles = this.collectFiles(levelDir, level);
|
|
608
|
+
files = this.mergeFileLists(files, levelFiles);
|
|
609
|
+
let overlayMetadata;
|
|
610
|
+
if (framework) {
|
|
611
|
+
const frameworkDir = this.findTemplateDir(framework, "framework");
|
|
612
|
+
if (!frameworkDir) return Err3(new Error(`Framework template not found: ${framework}`));
|
|
613
|
+
const fMetaPath = path5.join(frameworkDir, "template.json");
|
|
614
|
+
const fMetaRaw = JSON.parse(fs2.readFileSync(fMetaPath, "utf-8"));
|
|
615
|
+
const fMetaResult = TemplateMetadataSchema.safeParse(fMetaRaw);
|
|
616
|
+
if (fMetaResult.success) overlayMetadata = fMetaResult.data;
|
|
617
|
+
const frameworkFiles = this.collectFiles(frameworkDir, framework);
|
|
618
|
+
files = this.mergeFileLists(files, frameworkFiles);
|
|
619
|
+
}
|
|
620
|
+
files = files.filter((f) => f.relativePath !== "template.json");
|
|
621
|
+
const resolved = { metadata, files };
|
|
622
|
+
if (overlayMetadata !== void 0) resolved.overlayMetadata = overlayMetadata;
|
|
623
|
+
return Ok5(resolved);
|
|
624
|
+
}
|
|
625
|
+
render(template, context) {
|
|
626
|
+
const rendered = [];
|
|
627
|
+
const jsonBuffers = /* @__PURE__ */ new Map();
|
|
628
|
+
for (const file of template.files) {
|
|
629
|
+
const outputPath = file.relativePath.replace(/\.hbs$/, "");
|
|
630
|
+
if (file.isHandlebars) {
|
|
631
|
+
try {
|
|
632
|
+
const raw = fs2.readFileSync(file.absolutePath, "utf-8");
|
|
633
|
+
const compiled = Handlebars.compile(raw, { strict: true });
|
|
634
|
+
const content = compiled(context);
|
|
635
|
+
if (outputPath.endsWith(".json") && file.relativePath.endsWith(".json.hbs")) {
|
|
636
|
+
if (!jsonBuffers.has(outputPath)) jsonBuffers.set(outputPath, []);
|
|
637
|
+
jsonBuffers.get(outputPath).push(JSON.parse(content));
|
|
638
|
+
} else {
|
|
639
|
+
rendered.push({ relativePath: outputPath, content });
|
|
640
|
+
}
|
|
641
|
+
} catch (error) {
|
|
642
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
643
|
+
return Err3(
|
|
644
|
+
new Error(
|
|
645
|
+
`Template render failed in ${file.sourceTemplate}/${file.relativePath}: ${msg}`
|
|
646
|
+
)
|
|
647
|
+
);
|
|
648
|
+
}
|
|
649
|
+
} else {
|
|
650
|
+
try {
|
|
651
|
+
const content = fs2.readFileSync(file.absolutePath, "utf-8");
|
|
652
|
+
rendered.push({ relativePath: file.relativePath, content });
|
|
653
|
+
} catch (error) {
|
|
654
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
655
|
+
return Err3(
|
|
656
|
+
new Error(
|
|
657
|
+
`Template render failed in ${file.sourceTemplate}/${file.relativePath}: ${msg}`
|
|
658
|
+
)
|
|
659
|
+
);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
try {
|
|
664
|
+
for (const [outputPath, jsons] of jsonBuffers) {
|
|
665
|
+
let merged = {};
|
|
666
|
+
for (const json of jsons) {
|
|
667
|
+
merged = outputPath === "package.json" ? mergePackageJson(merged, json) : deepMergeJson(merged, json);
|
|
668
|
+
}
|
|
669
|
+
rendered.push({ relativePath: outputPath, content: JSON.stringify(merged, null, 2) });
|
|
670
|
+
}
|
|
671
|
+
} catch (error) {
|
|
672
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
673
|
+
return Err3(new Error(`JSON merge failed: ${msg}`));
|
|
674
|
+
}
|
|
675
|
+
return Ok5({ files: rendered });
|
|
676
|
+
}
|
|
677
|
+
write(files, targetDir, options) {
|
|
678
|
+
try {
|
|
679
|
+
const written = [];
|
|
680
|
+
for (const file of files.files) {
|
|
681
|
+
const targetPath = path5.join(targetDir, file.relativePath);
|
|
682
|
+
const dir = path5.dirname(targetPath);
|
|
683
|
+
if (!options.overwrite && fs2.existsSync(targetPath)) continue;
|
|
684
|
+
fs2.mkdirSync(dir, { recursive: true });
|
|
685
|
+
fs2.writeFileSync(targetPath, file.content);
|
|
686
|
+
written.push(file.relativePath);
|
|
687
|
+
}
|
|
688
|
+
return Ok5(written);
|
|
689
|
+
} catch (error) {
|
|
690
|
+
return Err3(
|
|
691
|
+
new Error(
|
|
692
|
+
`Failed to write files: ${error instanceof Error ? error.message : String(error)}`
|
|
693
|
+
)
|
|
694
|
+
);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
findTemplateDir(name, type) {
|
|
698
|
+
const entries = fs2.readdirSync(this.templatesDir, { withFileTypes: true });
|
|
699
|
+
for (const entry of entries) {
|
|
700
|
+
if (!entry.isDirectory()) continue;
|
|
701
|
+
const metaPath = path5.join(this.templatesDir, entry.name, "template.json");
|
|
702
|
+
if (!fs2.existsSync(metaPath)) continue;
|
|
703
|
+
const raw = JSON.parse(fs2.readFileSync(metaPath, "utf-8"));
|
|
704
|
+
const parsed = TemplateMetadataSchema.safeParse(raw);
|
|
705
|
+
if (!parsed.success) continue;
|
|
706
|
+
if (type === "level" && parsed.data.level === name)
|
|
707
|
+
return path5.join(this.templatesDir, entry.name);
|
|
708
|
+
if (type === "framework" && parsed.data.framework === name)
|
|
709
|
+
return path5.join(this.templatesDir, entry.name);
|
|
710
|
+
if (parsed.data.name === name) return path5.join(this.templatesDir, entry.name);
|
|
711
|
+
}
|
|
712
|
+
return null;
|
|
713
|
+
}
|
|
714
|
+
collectFiles(dir, sourceName) {
|
|
715
|
+
const files = [];
|
|
716
|
+
const walk = (currentDir) => {
|
|
717
|
+
const entries = fs2.readdirSync(currentDir, { withFileTypes: true });
|
|
718
|
+
for (const entry of entries) {
|
|
719
|
+
const fullPath = path5.join(currentDir, entry.name);
|
|
720
|
+
if (entry.isDirectory()) {
|
|
721
|
+
walk(fullPath);
|
|
722
|
+
} else {
|
|
723
|
+
files.push({
|
|
724
|
+
relativePath: path5.relative(dir, fullPath),
|
|
725
|
+
absolutePath: fullPath,
|
|
726
|
+
isHandlebars: entry.name.endsWith(".hbs"),
|
|
727
|
+
sourceTemplate: sourceName
|
|
728
|
+
});
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
};
|
|
732
|
+
walk(dir);
|
|
733
|
+
return files;
|
|
734
|
+
}
|
|
735
|
+
mergeFileLists(base, overlay) {
|
|
736
|
+
const map = /* @__PURE__ */ new Map();
|
|
737
|
+
for (const file of base) map.set(file.relativePath, file);
|
|
738
|
+
for (const file of overlay) {
|
|
739
|
+
if (file.relativePath.endsWith(".json.hbs")) {
|
|
740
|
+
const baseKey = base.find((f) => f.relativePath === file.relativePath);
|
|
741
|
+
if (baseKey) {
|
|
742
|
+
map.set(`__overlay__${file.relativePath}`, file);
|
|
743
|
+
} else {
|
|
744
|
+
map.set(file.relativePath, file);
|
|
745
|
+
}
|
|
746
|
+
} else {
|
|
747
|
+
map.set(file.relativePath, file);
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
return Array.from(map.values());
|
|
751
|
+
}
|
|
752
|
+
};
|
|
753
|
+
|
|
754
|
+
// src/utils/paths.ts
|
|
755
|
+
import * as fs3 from "fs";
|
|
756
|
+
import * as path6 from "path";
|
|
757
|
+
import { fileURLToPath } from "url";
|
|
758
|
+
var __filename = fileURLToPath(import.meta.url);
|
|
759
|
+
var __dirname = path6.dirname(__filename);
|
|
760
|
+
function findUpDir(targetName, marker, maxLevels = 8) {
|
|
761
|
+
let dir = __dirname;
|
|
762
|
+
for (let i = 0; i < maxLevels; i++) {
|
|
763
|
+
const candidate = path6.join(dir, targetName);
|
|
764
|
+
if (fs3.existsSync(candidate) && fs3.statSync(candidate).isDirectory()) {
|
|
765
|
+
if (fs3.existsSync(path6.join(candidate, marker))) {
|
|
766
|
+
return candidate;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
dir = path6.dirname(dir);
|
|
770
|
+
}
|
|
771
|
+
return null;
|
|
772
|
+
}
|
|
773
|
+
function resolveTemplatesDir() {
|
|
774
|
+
return findUpDir("templates", "base") ?? path6.join(__dirname, "templates");
|
|
775
|
+
}
|
|
776
|
+
function resolvePersonasDir() {
|
|
777
|
+
const agentsDir = findUpDir("agents", "personas");
|
|
778
|
+
if (agentsDir) {
|
|
779
|
+
return path6.join(agentsDir, "personas");
|
|
780
|
+
}
|
|
781
|
+
return path6.join(__dirname, "agents", "personas");
|
|
782
|
+
}
|
|
783
|
+
function resolveSkillsDir() {
|
|
784
|
+
const agentsDir = findUpDir("agents", "skills");
|
|
785
|
+
if (agentsDir) {
|
|
786
|
+
return path6.join(agentsDir, "skills", "claude-code");
|
|
787
|
+
}
|
|
788
|
+
return path6.join(__dirname, "agents", "skills", "claude-code");
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
// src/commands/setup-mcp.ts
|
|
792
|
+
import { Command as Command4 } from "commander";
|
|
793
|
+
import * as fs4 from "fs";
|
|
794
|
+
import * as path7 from "path";
|
|
795
|
+
import chalk2 from "chalk";
|
|
796
|
+
var HARNESS_MCP_ENTRY = {
|
|
797
|
+
command: "npx",
|
|
798
|
+
args: ["harness-mcp"]
|
|
799
|
+
};
|
|
800
|
+
function mergeConfig(existingPath, key) {
|
|
801
|
+
let config = {};
|
|
802
|
+
if (fs4.existsSync(existingPath)) {
|
|
803
|
+
try {
|
|
804
|
+
const content = fs4.readFileSync(existingPath, "utf-8");
|
|
805
|
+
config = JSON.parse(content);
|
|
806
|
+
} catch {
|
|
807
|
+
fs4.copyFileSync(existingPath, existingPath + ".bak");
|
|
808
|
+
config = {};
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
if (!config.mcpServers) {
|
|
812
|
+
config.mcpServers = {};
|
|
813
|
+
}
|
|
814
|
+
if (config.mcpServers[key]) {
|
|
815
|
+
return false;
|
|
816
|
+
}
|
|
817
|
+
config.mcpServers[key] = HARNESS_MCP_ENTRY;
|
|
818
|
+
const dir = path7.dirname(existingPath);
|
|
819
|
+
if (!fs4.existsSync(dir)) {
|
|
820
|
+
fs4.mkdirSync(dir, { recursive: true });
|
|
821
|
+
}
|
|
822
|
+
fs4.writeFileSync(existingPath, JSON.stringify(config, null, 2) + "\n");
|
|
823
|
+
return true;
|
|
824
|
+
}
|
|
825
|
+
function setupMcp(cwd, client) {
|
|
826
|
+
const configured = [];
|
|
827
|
+
const skipped = [];
|
|
828
|
+
const clients = [];
|
|
829
|
+
if (client === "all" || client === "claude") {
|
|
830
|
+
clients.push({
|
|
831
|
+
name: "Claude Code",
|
|
832
|
+
configPath: path7.join(cwd, ".claude", "settings.json"),
|
|
833
|
+
key: "harness"
|
|
834
|
+
});
|
|
835
|
+
}
|
|
836
|
+
if (client === "all" || client === "gemini") {
|
|
837
|
+
clients.push({
|
|
838
|
+
name: "Gemini CLI",
|
|
839
|
+
configPath: path7.join(cwd, ".gemini", "settings.json"),
|
|
840
|
+
key: "harness"
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
for (const c of clients) {
|
|
844
|
+
const wasAdded = mergeConfig(c.configPath, c.key);
|
|
845
|
+
if (wasAdded) {
|
|
846
|
+
configured.push(c.name);
|
|
847
|
+
} else {
|
|
848
|
+
skipped.push(c.name);
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
return { configured, skipped };
|
|
852
|
+
}
|
|
853
|
+
function createSetupMcpCommand() {
|
|
854
|
+
return new Command4("setup-mcp").description("Configure MCP server for AI agent integration").option("--client <client>", "Client to configure (claude, gemini, all)", "all").action(async (opts, cmd) => {
|
|
855
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
856
|
+
const cwd = process.cwd();
|
|
857
|
+
const { configured, skipped } = setupMcp(cwd, opts.client);
|
|
858
|
+
if (!globalOpts.quiet) {
|
|
859
|
+
console.log("");
|
|
860
|
+
if (configured.length > 0) {
|
|
861
|
+
logger.success("MCP server configured!");
|
|
862
|
+
console.log("");
|
|
863
|
+
for (const name of configured) {
|
|
864
|
+
console.log(` ${chalk2.green("+")} ${name}`);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
if (skipped.length > 0) {
|
|
868
|
+
console.log("");
|
|
869
|
+
logger.info("Already configured:");
|
|
870
|
+
for (const name of skipped) {
|
|
871
|
+
console.log(` ${chalk2.dim("-")} ${name}`);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
console.log("");
|
|
875
|
+
console.log(chalk2.bold("The harness MCP server provides:"));
|
|
876
|
+
console.log(" - 15 tools for validation, entropy detection, and skill execution");
|
|
877
|
+
console.log(" - 4 resources for project context, skills, rules, and learnings");
|
|
878
|
+
console.log("");
|
|
879
|
+
console.log(`Run ${chalk2.cyan("harness skill list")} to see available skills.`);
|
|
880
|
+
console.log("");
|
|
881
|
+
}
|
|
882
|
+
process.exit(ExitCode.SUCCESS);
|
|
883
|
+
});
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
// src/commands/init.ts
|
|
887
|
+
async function runInit(options) {
|
|
888
|
+
const cwd = options.cwd ?? process.cwd();
|
|
889
|
+
const name = options.name ?? path8.basename(cwd);
|
|
890
|
+
const level = options.level ?? "basic";
|
|
891
|
+
const force = options.force ?? false;
|
|
892
|
+
const configPath = path8.join(cwd, "harness.config.json");
|
|
893
|
+
if (!force && fs5.existsSync(configPath)) {
|
|
894
|
+
return Err4(
|
|
895
|
+
new CLIError("Project already initialized. Use --force to overwrite.", ExitCode.ERROR)
|
|
896
|
+
);
|
|
897
|
+
}
|
|
898
|
+
const templatesDir = resolveTemplatesDir();
|
|
899
|
+
const engine = new TemplateEngine(templatesDir);
|
|
900
|
+
const resolveResult = engine.resolveTemplate(level, options.framework);
|
|
901
|
+
if (!resolveResult.ok) {
|
|
902
|
+
return Err4(new CLIError(resolveResult.error.message, ExitCode.ERROR));
|
|
903
|
+
}
|
|
904
|
+
const renderResult = engine.render(resolveResult.value, {
|
|
905
|
+
projectName: name,
|
|
906
|
+
level,
|
|
907
|
+
...options.framework !== void 0 && { framework: options.framework }
|
|
908
|
+
});
|
|
909
|
+
if (!renderResult.ok) {
|
|
910
|
+
return Err4(new CLIError(renderResult.error.message, ExitCode.ERROR));
|
|
911
|
+
}
|
|
912
|
+
const writeResult = engine.write(renderResult.value, cwd, { overwrite: force });
|
|
913
|
+
if (!writeResult.ok) {
|
|
914
|
+
return Err4(new CLIError(writeResult.error.message, ExitCode.ERROR));
|
|
915
|
+
}
|
|
916
|
+
return Ok6({ filesCreated: writeResult.value });
|
|
917
|
+
}
|
|
918
|
+
function createInitCommand() {
|
|
919
|
+
const command = new Command5("init").description("Initialize a new harness-engineering project").option("-n, --name <name>", "Project name").option("-l, --level <level>", "Adoption level (basic, intermediate, advanced)", "basic").option("--framework <framework>", "Framework overlay (nextjs)").option("-f, --force", "Overwrite existing files").option("-y, --yes", "Use defaults without prompting").action(async (opts, cmd) => {
|
|
920
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
921
|
+
const result = await runInit({
|
|
922
|
+
name: opts.name,
|
|
923
|
+
level: opts.level,
|
|
924
|
+
framework: opts.framework,
|
|
925
|
+
force: opts.force
|
|
926
|
+
});
|
|
927
|
+
if (!result.ok) {
|
|
928
|
+
logger.error(result.error.message);
|
|
929
|
+
process.exit(result.error.exitCode);
|
|
930
|
+
}
|
|
931
|
+
const cwd = opts.cwd ?? process.cwd();
|
|
932
|
+
const mcpResult = setupMcp(cwd, "all");
|
|
933
|
+
if (!globalOpts.quiet) {
|
|
934
|
+
console.log("");
|
|
935
|
+
logger.success("Project initialized!");
|
|
936
|
+
console.log("");
|
|
937
|
+
logger.info("Created files:");
|
|
938
|
+
for (const file of result.value.filesCreated) {
|
|
939
|
+
console.log(` ${chalk3.green("+")} ${file}`);
|
|
940
|
+
}
|
|
941
|
+
if (mcpResult.configured.length > 0) {
|
|
942
|
+
console.log("");
|
|
943
|
+
logger.info("MCP server configured for:");
|
|
944
|
+
for (const name of mcpResult.configured) {
|
|
945
|
+
console.log(` ${chalk3.green("+")} ${name}`);
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
console.log("");
|
|
949
|
+
console.log(chalk3.bold("Next steps:"));
|
|
950
|
+
console.log(` 1. Review ${chalk3.cyan("harness.config.json")}`);
|
|
951
|
+
console.log(` 2. Update ${chalk3.cyan("AGENTS.md")} with your project context`);
|
|
952
|
+
console.log(` 3. Run ${chalk3.cyan("harness validate")} to check your setup`);
|
|
953
|
+
console.log("");
|
|
954
|
+
}
|
|
955
|
+
process.exit(ExitCode.SUCCESS);
|
|
956
|
+
});
|
|
957
|
+
return command;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
// src/commands/cleanup.ts
|
|
961
|
+
import { Command as Command6 } from "commander";
|
|
962
|
+
import * as path9 from "path";
|
|
963
|
+
import { Ok as Ok7, Err as Err5, EntropyAnalyzer } from "@harness-engineering/core";
|
|
964
|
+
async function runCleanup(options) {
|
|
965
|
+
const cwd = options.cwd ?? process.cwd();
|
|
966
|
+
const type = options.type ?? "all";
|
|
967
|
+
const configResult = resolveConfig(options.configPath);
|
|
968
|
+
if (!configResult.ok) {
|
|
969
|
+
return Err5(configResult.error);
|
|
970
|
+
}
|
|
971
|
+
const config = configResult.value;
|
|
972
|
+
const result = {
|
|
973
|
+
driftIssues: [],
|
|
974
|
+
deadCode: [],
|
|
975
|
+
patternViolations: [],
|
|
976
|
+
totalIssues: 0
|
|
977
|
+
};
|
|
978
|
+
const rootDir = path9.resolve(cwd, config.rootDir);
|
|
979
|
+
const docsDir = path9.resolve(cwd, config.docsDir);
|
|
980
|
+
const entropyConfig = {
|
|
981
|
+
rootDir,
|
|
982
|
+
entryPoints: [path9.join(rootDir, "src/index.ts")],
|
|
983
|
+
docPaths: [docsDir],
|
|
984
|
+
analyze: {
|
|
985
|
+
drift: type === "all" || type === "drift",
|
|
986
|
+
deadCode: type === "all" || type === "dead-code",
|
|
987
|
+
patterns: type === "all" || type === "patterns" ? { patterns: [] } : false
|
|
988
|
+
},
|
|
989
|
+
exclude: config.entropy?.excludePatterns ?? ["**/node_modules/**", "**/*.test.ts"]
|
|
990
|
+
};
|
|
991
|
+
const analyzer = new EntropyAnalyzer(entropyConfig);
|
|
992
|
+
const analysisResult = await analyzer.analyze();
|
|
993
|
+
if (!analysisResult.ok) {
|
|
994
|
+
return Err5(
|
|
995
|
+
new CLIError(`Entropy analysis failed: ${analysisResult.error.message}`, ExitCode.ERROR)
|
|
996
|
+
);
|
|
997
|
+
}
|
|
998
|
+
const report = analysisResult.value;
|
|
999
|
+
if (report.drift) {
|
|
1000
|
+
result.driftIssues = report.drift.drifts.map((d) => ({
|
|
1001
|
+
file: d.docFile,
|
|
1002
|
+
issue: `${d.issue}: ${d.details}`
|
|
1003
|
+
}));
|
|
1004
|
+
}
|
|
1005
|
+
if (report.deadCode) {
|
|
1006
|
+
result.deadCode = [
|
|
1007
|
+
...report.deadCode.deadFiles.map((f) => ({ file: f.path })),
|
|
1008
|
+
...report.deadCode.deadExports.map((e) => ({ file: e.file, symbol: e.name }))
|
|
1009
|
+
];
|
|
1010
|
+
}
|
|
1011
|
+
if (report.patterns) {
|
|
1012
|
+
result.patternViolations = report.patterns.violations.map((v) => ({
|
|
1013
|
+
file: v.file,
|
|
1014
|
+
pattern: v.pattern,
|
|
1015
|
+
message: v.message
|
|
1016
|
+
}));
|
|
1017
|
+
}
|
|
1018
|
+
result.totalIssues = result.driftIssues.length + result.deadCode.length + result.patternViolations.length;
|
|
1019
|
+
return Ok7(result);
|
|
1020
|
+
}
|
|
1021
|
+
function createCleanupCommand() {
|
|
1022
|
+
const command = new Command6("cleanup").description("Detect entropy issues (doc drift, dead code, patterns)").option("-t, --type <type>", "Issue type: drift, dead-code, patterns, all", "all").action(async (opts, cmd) => {
|
|
1023
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1024
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
1025
|
+
const formatter = new OutputFormatter(mode);
|
|
1026
|
+
const result = await runCleanup({
|
|
1027
|
+
configPath: globalOpts.config,
|
|
1028
|
+
type: opts.type,
|
|
1029
|
+
json: globalOpts.json,
|
|
1030
|
+
verbose: globalOpts.verbose,
|
|
1031
|
+
quiet: globalOpts.quiet
|
|
1032
|
+
});
|
|
1033
|
+
if (!result.ok) {
|
|
1034
|
+
if (mode === OutputMode.JSON) {
|
|
1035
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
1036
|
+
} else {
|
|
1037
|
+
logger.error(result.error.message);
|
|
1038
|
+
}
|
|
1039
|
+
process.exit(result.error.exitCode);
|
|
1040
|
+
}
|
|
1041
|
+
if (mode === OutputMode.JSON) {
|
|
1042
|
+
console.log(JSON.stringify(result.value, null, 2));
|
|
1043
|
+
} else if (mode !== OutputMode.QUIET || result.value.totalIssues > 0) {
|
|
1044
|
+
console.log(
|
|
1045
|
+
formatter.formatSummary(
|
|
1046
|
+
"Entropy issues",
|
|
1047
|
+
result.value.totalIssues.toString(),
|
|
1048
|
+
result.value.totalIssues === 0
|
|
1049
|
+
)
|
|
1050
|
+
);
|
|
1051
|
+
if (result.value.driftIssues.length > 0) {
|
|
1052
|
+
console.log("\nDocumentation drift:");
|
|
1053
|
+
for (const issue of result.value.driftIssues) {
|
|
1054
|
+
console.log(` - ${issue.file}: ${issue.issue}`);
|
|
1055
|
+
}
|
|
1056
|
+
}
|
|
1057
|
+
if (result.value.deadCode.length > 0) {
|
|
1058
|
+
console.log("\nDead code:");
|
|
1059
|
+
for (const item of result.value.deadCode.slice(0, 10)) {
|
|
1060
|
+
console.log(` - ${item.file}${item.symbol ? `: ${item.symbol}` : ""}`);
|
|
1061
|
+
}
|
|
1062
|
+
if (result.value.deadCode.length > 10) {
|
|
1063
|
+
console.log(` ... and ${result.value.deadCode.length - 10} more`);
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
if (result.value.patternViolations.length > 0) {
|
|
1067
|
+
console.log("\nPattern violations:");
|
|
1068
|
+
for (const violation of result.value.patternViolations.slice(0, 10)) {
|
|
1069
|
+
console.log(` - ${violation.file} [${violation.pattern}]: ${violation.message}`);
|
|
1070
|
+
}
|
|
1071
|
+
if (result.value.patternViolations.length > 10) {
|
|
1072
|
+
console.log(` ... and ${result.value.patternViolations.length - 10} more`);
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
process.exit(result.value.totalIssues === 0 ? ExitCode.SUCCESS : ExitCode.VALIDATION_FAILED);
|
|
1077
|
+
});
|
|
1078
|
+
return command;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
// src/commands/fix-drift.ts
|
|
1082
|
+
import { Command as Command7 } from "commander";
|
|
1083
|
+
import * as path10 from "path";
|
|
1084
|
+
import {
|
|
1085
|
+
Ok as Ok8,
|
|
1086
|
+
Err as Err6,
|
|
1087
|
+
buildSnapshot,
|
|
1088
|
+
detectDocDrift,
|
|
1089
|
+
detectDeadCode,
|
|
1090
|
+
createFixes,
|
|
1091
|
+
applyFixes,
|
|
1092
|
+
generateSuggestions
|
|
1093
|
+
} from "@harness-engineering/core";
|
|
1094
|
+
async function runFixDrift(options) {
|
|
1095
|
+
const cwd = options.cwd ?? process.cwd();
|
|
1096
|
+
const dryRun = options.dryRun !== false;
|
|
1097
|
+
const configResult = resolveConfig(options.configPath);
|
|
1098
|
+
if (!configResult.ok) {
|
|
1099
|
+
return Err6(configResult.error);
|
|
1100
|
+
}
|
|
1101
|
+
const config = configResult.value;
|
|
1102
|
+
const rootDir = path10.resolve(cwd, config.rootDir);
|
|
1103
|
+
const docsDir = path10.resolve(cwd, config.docsDir);
|
|
1104
|
+
const entropyConfig = {
|
|
1105
|
+
rootDir,
|
|
1106
|
+
entryPoints: [path10.join(rootDir, "src/index.ts")],
|
|
1107
|
+
docPaths: [docsDir],
|
|
1108
|
+
analyze: {
|
|
1109
|
+
drift: true,
|
|
1110
|
+
deadCode: true,
|
|
1111
|
+
patterns: false
|
|
1112
|
+
},
|
|
1113
|
+
exclude: config.entropy?.excludePatterns ?? ["**/node_modules/**", "**/*.test.ts"]
|
|
1114
|
+
};
|
|
1115
|
+
const snapshotResult = await buildSnapshot(entropyConfig);
|
|
1116
|
+
if (!snapshotResult.ok) {
|
|
1117
|
+
return Err6(
|
|
1118
|
+
new CLIError(`Failed to build snapshot: ${snapshotResult.error.message}`, ExitCode.ERROR)
|
|
1119
|
+
);
|
|
1120
|
+
}
|
|
1121
|
+
const snapshot = snapshotResult.value;
|
|
1122
|
+
const driftResult = await detectDocDrift(snapshot);
|
|
1123
|
+
if (!driftResult.ok) {
|
|
1124
|
+
return Err6(
|
|
1125
|
+
new CLIError(`Failed to detect drift: ${driftResult.error.message}`, ExitCode.ERROR)
|
|
1126
|
+
);
|
|
1127
|
+
}
|
|
1128
|
+
const driftReport = driftResult.value;
|
|
1129
|
+
const deadCodeResult = await detectDeadCode(snapshot);
|
|
1130
|
+
if (!deadCodeResult.ok) {
|
|
1131
|
+
return Err6(
|
|
1132
|
+
new CLIError(`Failed to detect dead code: ${deadCodeResult.error.message}`, ExitCode.ERROR)
|
|
1133
|
+
);
|
|
1134
|
+
}
|
|
1135
|
+
const deadCodeReport = deadCodeResult.value;
|
|
1136
|
+
const fixes = createFixes(deadCodeReport);
|
|
1137
|
+
const appliedFixes = [];
|
|
1138
|
+
if (!dryRun && fixes.length > 0) {
|
|
1139
|
+
const applyResult = await applyFixes(fixes, { dryRun: false });
|
|
1140
|
+
if (!applyResult.ok) {
|
|
1141
|
+
return Err6(
|
|
1142
|
+
new CLIError(`Failed to apply fixes: ${applyResult.error.message}`, ExitCode.ERROR)
|
|
1143
|
+
);
|
|
1144
|
+
}
|
|
1145
|
+
for (const fix of applyResult.value.applied) {
|
|
1146
|
+
appliedFixes.push({
|
|
1147
|
+
file: fix.file,
|
|
1148
|
+
action: fix.action,
|
|
1149
|
+
applied: true
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
for (const fix of applyResult.value.skipped) {
|
|
1153
|
+
appliedFixes.push({
|
|
1154
|
+
file: fix.file,
|
|
1155
|
+
action: fix.action,
|
|
1156
|
+
applied: false
|
|
1157
|
+
});
|
|
1158
|
+
}
|
|
1159
|
+
for (const { fix } of applyResult.value.errors) {
|
|
1160
|
+
appliedFixes.push({
|
|
1161
|
+
file: fix.file,
|
|
1162
|
+
action: fix.action,
|
|
1163
|
+
applied: false
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
} else {
|
|
1167
|
+
for (const fix of fixes) {
|
|
1168
|
+
appliedFixes.push({
|
|
1169
|
+
file: fix.file,
|
|
1170
|
+
action: fix.action,
|
|
1171
|
+
applied: false
|
|
1172
|
+
});
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
const suggestionReport = generateSuggestions(deadCodeReport, driftReport);
|
|
1176
|
+
const suggestions = [];
|
|
1177
|
+
for (const suggestion of suggestionReport.suggestions) {
|
|
1178
|
+
for (const file of suggestion.files) {
|
|
1179
|
+
suggestions.push({
|
|
1180
|
+
file,
|
|
1181
|
+
suggestion: suggestion.title
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
const result = {
|
|
1186
|
+
dryRun,
|
|
1187
|
+
fixes: appliedFixes,
|
|
1188
|
+
suggestions
|
|
1189
|
+
};
|
|
1190
|
+
return Ok8(result);
|
|
1191
|
+
}
|
|
1192
|
+
function createFixDriftCommand() {
|
|
1193
|
+
const command = new Command7("fix-drift").description("Auto-fix entropy issues (doc drift, dead code)").option("--no-dry-run", "Actually apply fixes (default is dry-run mode)").action(async (opts, cmd) => {
|
|
1194
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1195
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
1196
|
+
const formatter = new OutputFormatter(mode);
|
|
1197
|
+
const result = await runFixDrift({
|
|
1198
|
+
configPath: globalOpts.config,
|
|
1199
|
+
dryRun: opts.dryRun,
|
|
1200
|
+
json: globalOpts.json,
|
|
1201
|
+
verbose: globalOpts.verbose,
|
|
1202
|
+
quiet: globalOpts.quiet
|
|
1203
|
+
});
|
|
1204
|
+
if (!result.ok) {
|
|
1205
|
+
if (mode === OutputMode.JSON) {
|
|
1206
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
1207
|
+
} else {
|
|
1208
|
+
logger.error(result.error.message);
|
|
1209
|
+
}
|
|
1210
|
+
process.exit(result.error.exitCode);
|
|
1211
|
+
}
|
|
1212
|
+
if (mode === OutputMode.JSON) {
|
|
1213
|
+
console.log(JSON.stringify(result.value, null, 2));
|
|
1214
|
+
} else if (mode !== OutputMode.QUIET || result.value.fixes.length > 0 || result.value.suggestions.length > 0) {
|
|
1215
|
+
const { value } = result;
|
|
1216
|
+
const statusMessage = value.dryRun ? "(dry-run)" : "";
|
|
1217
|
+
console.log(
|
|
1218
|
+
formatter.formatSummary(
|
|
1219
|
+
`Fix drift ${statusMessage}`,
|
|
1220
|
+
`${value.fixes.length} fixes, ${value.suggestions.length} suggestions`,
|
|
1221
|
+
value.fixes.length === 0 && value.suggestions.length === 0
|
|
1222
|
+
)
|
|
1223
|
+
);
|
|
1224
|
+
if (value.fixes.length > 0) {
|
|
1225
|
+
console.log("\nFixes:");
|
|
1226
|
+
for (const fix of value.fixes.slice(0, 10)) {
|
|
1227
|
+
const status = fix.applied ? "[applied]" : "[pending]";
|
|
1228
|
+
console.log(` ${status} ${fix.action}: ${fix.file}`);
|
|
1229
|
+
}
|
|
1230
|
+
if (value.fixes.length > 10) {
|
|
1231
|
+
console.log(` ... and ${value.fixes.length - 10} more`);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
if (value.suggestions.length > 0 && (mode === OutputMode.VERBOSE || value.fixes.length === 0)) {
|
|
1235
|
+
console.log("\nSuggestions:");
|
|
1236
|
+
for (const suggestion of value.suggestions.slice(0, 10)) {
|
|
1237
|
+
console.log(` - ${suggestion.file}: ${suggestion.suggestion}`);
|
|
1238
|
+
}
|
|
1239
|
+
if (value.suggestions.length > 10) {
|
|
1240
|
+
console.log(` ... and ${value.suggestions.length - 10} more`);
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
if (value.dryRun && value.fixes.length > 0) {
|
|
1244
|
+
console.log("\nRun with --no-dry-run to apply fixes.");
|
|
1245
|
+
}
|
|
1246
|
+
}
|
|
1247
|
+
process.exit(ExitCode.SUCCESS);
|
|
1248
|
+
});
|
|
1249
|
+
return command;
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1252
|
+
// src/commands/agent/index.ts
|
|
1253
|
+
import { Command as Command10 } from "commander";
|
|
1254
|
+
|
|
1255
|
+
// src/commands/agent/run.ts
|
|
1256
|
+
import { Command as Command8 } from "commander";
|
|
1257
|
+
import * as path12 from "path";
|
|
1258
|
+
import * as childProcess from "child_process";
|
|
1259
|
+
import { Ok as Ok10, Err as Err8 } from "@harness-engineering/core";
|
|
1260
|
+
import { requestPeerReview } from "@harness-engineering/core";
|
|
1261
|
+
|
|
1262
|
+
// src/persona/loader.ts
|
|
1263
|
+
import * as fs6 from "fs";
|
|
1264
|
+
import * as path11 from "path";
|
|
1265
|
+
import YAML from "yaml";
|
|
1266
|
+
import { Ok as Ok9, Err as Err7 } from "@harness-engineering/core";
|
|
1267
|
+
|
|
1268
|
+
// src/persona/schema.ts
|
|
1269
|
+
import { z as z3 } from "zod";
|
|
1270
|
+
var PersonaTriggerSchema = z3.discriminatedUnion("event", [
|
|
1271
|
+
z3.object({
|
|
1272
|
+
event: z3.literal("on_pr"),
|
|
1273
|
+
conditions: z3.object({ paths: z3.array(z3.string()).optional() }).optional()
|
|
1274
|
+
}),
|
|
1275
|
+
z3.object({
|
|
1276
|
+
event: z3.literal("on_commit"),
|
|
1277
|
+
conditions: z3.object({ branches: z3.array(z3.string()).optional() }).optional()
|
|
1278
|
+
}),
|
|
1279
|
+
z3.object({
|
|
1280
|
+
event: z3.literal("scheduled"),
|
|
1281
|
+
cron: z3.string()
|
|
1282
|
+
})
|
|
1283
|
+
]);
|
|
1284
|
+
var PersonaConfigSchema = z3.object({
|
|
1285
|
+
severity: z3.enum(["error", "warning"]).default("error"),
|
|
1286
|
+
autoFix: z3.boolean().default(false),
|
|
1287
|
+
timeout: z3.number().default(3e5)
|
|
1288
|
+
});
|
|
1289
|
+
var PersonaOutputsSchema = z3.object({
|
|
1290
|
+
"agents-md": z3.boolean().default(true),
|
|
1291
|
+
"ci-workflow": z3.boolean().default(true),
|
|
1292
|
+
"runtime-config": z3.boolean().default(true)
|
|
1293
|
+
});
|
|
1294
|
+
var PersonaSchema = z3.object({
|
|
1295
|
+
version: z3.literal(1),
|
|
1296
|
+
name: z3.string(),
|
|
1297
|
+
description: z3.string(),
|
|
1298
|
+
role: z3.string(),
|
|
1299
|
+
skills: z3.array(z3.string()),
|
|
1300
|
+
commands: z3.array(z3.string()),
|
|
1301
|
+
triggers: z3.array(PersonaTriggerSchema),
|
|
1302
|
+
config: PersonaConfigSchema.default({}),
|
|
1303
|
+
outputs: PersonaOutputsSchema.default({})
|
|
1304
|
+
});
|
|
1305
|
+
|
|
1306
|
+
// src/persona/loader.ts
|
|
1307
|
+
function loadPersona(filePath) {
|
|
1308
|
+
try {
|
|
1309
|
+
if (!fs6.existsSync(filePath)) {
|
|
1310
|
+
return Err7(new Error(`Persona file not found: ${filePath}`));
|
|
1311
|
+
}
|
|
1312
|
+
const raw = fs6.readFileSync(filePath, "utf-8");
|
|
1313
|
+
const parsed = YAML.parse(raw);
|
|
1314
|
+
const result = PersonaSchema.safeParse(parsed);
|
|
1315
|
+
if (!result.success) {
|
|
1316
|
+
return Err7(new Error(`Invalid persona ${filePath}: ${result.error.message}`));
|
|
1317
|
+
}
|
|
1318
|
+
return Ok9(result.data);
|
|
1319
|
+
} catch (error) {
|
|
1320
|
+
return Err7(
|
|
1321
|
+
new Error(`Failed to load persona: ${error instanceof Error ? error.message : String(error)}`)
|
|
1322
|
+
);
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
function listPersonas(dir) {
|
|
1326
|
+
try {
|
|
1327
|
+
if (!fs6.existsSync(dir)) return Ok9([]);
|
|
1328
|
+
const entries = fs6.readdirSync(dir).filter((f) => f.endsWith(".yaml") || f.endsWith(".yml"));
|
|
1329
|
+
const personas = [];
|
|
1330
|
+
for (const entry of entries) {
|
|
1331
|
+
const filePath = path11.join(dir, entry);
|
|
1332
|
+
const result = loadPersona(filePath);
|
|
1333
|
+
if (result.ok) {
|
|
1334
|
+
personas.push({ name: result.value.name, description: result.value.description, filePath });
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
return Ok9(personas);
|
|
1338
|
+
} catch (error) {
|
|
1339
|
+
return Err7(
|
|
1340
|
+
new Error(
|
|
1341
|
+
`Failed to list personas: ${error instanceof Error ? error.message : String(error)}`
|
|
1342
|
+
)
|
|
1343
|
+
);
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
// src/persona/runner.ts
|
|
1348
|
+
var TIMEOUT_ERROR_MESSAGE = "__PERSONA_RUNNER_TIMEOUT__";
|
|
1349
|
+
async function runPersona(persona, executor) {
|
|
1350
|
+
const startTime = Date.now();
|
|
1351
|
+
const timeout = persona.config.timeout;
|
|
1352
|
+
const report = {
|
|
1353
|
+
persona: persona.name.toLowerCase().replace(/\s+/g, "-"),
|
|
1354
|
+
status: "pass",
|
|
1355
|
+
commands: [],
|
|
1356
|
+
totalDurationMs: 0
|
|
1357
|
+
};
|
|
1358
|
+
for (let i = 0; i < persona.commands.length; i++) {
|
|
1359
|
+
const command = persona.commands[i];
|
|
1360
|
+
if (command === void 0) continue;
|
|
1361
|
+
if (Date.now() - startTime >= timeout) {
|
|
1362
|
+
for (let j = i; j < persona.commands.length; j++) {
|
|
1363
|
+
const remaining = persona.commands[j];
|
|
1364
|
+
if (remaining !== void 0) {
|
|
1365
|
+
report.commands.push({ name: remaining, status: "skipped", durationMs: 0 });
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
report.status = "partial";
|
|
1369
|
+
break;
|
|
1370
|
+
}
|
|
1371
|
+
const cmdStart = Date.now();
|
|
1372
|
+
const remainingTime = timeout - (Date.now() - startTime);
|
|
1373
|
+
const result = await Promise.race([
|
|
1374
|
+
executor(command),
|
|
1375
|
+
new Promise(
|
|
1376
|
+
(resolve13) => setTimeout(
|
|
1377
|
+
() => resolve13({ ok: false, error: new Error(TIMEOUT_ERROR_MESSAGE) }),
|
|
1378
|
+
remainingTime
|
|
1379
|
+
)
|
|
1380
|
+
)
|
|
1381
|
+
]);
|
|
1382
|
+
const durationMs = Date.now() - cmdStart;
|
|
1383
|
+
if (result.ok) {
|
|
1384
|
+
report.commands.push({ name: command, status: "pass", result: result.value, durationMs });
|
|
1385
|
+
} else if (result.error.message === TIMEOUT_ERROR_MESSAGE) {
|
|
1386
|
+
report.commands.push({ name: command, status: "skipped", error: "timed out", durationMs });
|
|
1387
|
+
report.status = "partial";
|
|
1388
|
+
for (let j = i + 1; j < persona.commands.length; j++) {
|
|
1389
|
+
const skipped = persona.commands[j];
|
|
1390
|
+
if (skipped !== void 0) {
|
|
1391
|
+
report.commands.push({ name: skipped, status: "skipped", durationMs: 0 });
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
break;
|
|
1395
|
+
} else {
|
|
1396
|
+
report.commands.push({
|
|
1397
|
+
name: command,
|
|
1398
|
+
status: "fail",
|
|
1399
|
+
error: result.error.message,
|
|
1400
|
+
durationMs
|
|
1401
|
+
});
|
|
1402
|
+
report.status = "fail";
|
|
1403
|
+
for (let j = i + 1; j < persona.commands.length; j++) {
|
|
1404
|
+
const skipped = persona.commands[j];
|
|
1405
|
+
if (skipped !== void 0) {
|
|
1406
|
+
report.commands.push({ name: skipped, status: "skipped", durationMs: 0 });
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
break;
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
report.totalDurationMs = Date.now() - startTime;
|
|
1413
|
+
return report;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
// src/commands/agent/run.ts
|
|
1417
|
+
async function runAgentTask(task, options) {
|
|
1418
|
+
const configResult = resolveConfig(options.configPath);
|
|
1419
|
+
if (!configResult.ok) {
|
|
1420
|
+
return configResult;
|
|
1421
|
+
}
|
|
1422
|
+
const agentTypeMap = {
|
|
1423
|
+
review: "architecture-enforcer",
|
|
1424
|
+
"doc-review": "documentation-maintainer",
|
|
1425
|
+
"test-review": "test-reviewer"
|
|
1426
|
+
};
|
|
1427
|
+
const agentType = agentTypeMap[task];
|
|
1428
|
+
if (!agentType) {
|
|
1429
|
+
return Err8(
|
|
1430
|
+
new CLIError(
|
|
1431
|
+
`Unknown task: ${task}. Available: ${Object.keys(agentTypeMap).join(", ")}`,
|
|
1432
|
+
ExitCode.ERROR
|
|
1433
|
+
)
|
|
1434
|
+
);
|
|
1435
|
+
}
|
|
1436
|
+
const config = configResult.value;
|
|
1437
|
+
const timeout = options.timeout ?? config.agent?.timeout ?? 3e5;
|
|
1438
|
+
const reviewResult = await requestPeerReview(
|
|
1439
|
+
agentType,
|
|
1440
|
+
{
|
|
1441
|
+
files: [],
|
|
1442
|
+
diff: "",
|
|
1443
|
+
commitMessage: task,
|
|
1444
|
+
metadata: { task, timeout }
|
|
1445
|
+
},
|
|
1446
|
+
{ timeout }
|
|
1447
|
+
);
|
|
1448
|
+
if (!reviewResult.ok) {
|
|
1449
|
+
return Err8(new CLIError(`Agent task failed: ${reviewResult.error.message}`, ExitCode.ERROR));
|
|
1450
|
+
}
|
|
1451
|
+
const review = reviewResult.value;
|
|
1452
|
+
return Ok10({
|
|
1453
|
+
success: review.approved,
|
|
1454
|
+
output: review.approved ? `Agent task '${task}' completed successfully` : `Agent task '${task}' found issues:
|
|
1455
|
+
${review.comments.map((c) => ` - ${c.message}`).join("\n")}`
|
|
1456
|
+
});
|
|
1457
|
+
}
|
|
1458
|
+
function createRunCommand() {
|
|
1459
|
+
return new Command8("run").description("Run an agent task").argument("[task]", "Task to run (review, doc-review, test-review)").option("--timeout <ms>", "Timeout in milliseconds", "300000").option("--persona <name>", "Run a persona by name").action(async (task, opts, cmd) => {
|
|
1460
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1461
|
+
if (opts.persona) {
|
|
1462
|
+
const personasDir = resolvePersonasDir();
|
|
1463
|
+
const filePath = path12.join(personasDir, `${opts.persona}.yaml`);
|
|
1464
|
+
const personaResult = loadPersona(filePath);
|
|
1465
|
+
if (!personaResult.ok) {
|
|
1466
|
+
logger.error(personaResult.error.message);
|
|
1467
|
+
process.exit(ExitCode.ERROR);
|
|
1468
|
+
}
|
|
1469
|
+
const persona = personaResult.value;
|
|
1470
|
+
const ALLOWED_COMMANDS = /* @__PURE__ */ new Set([
|
|
1471
|
+
"validate",
|
|
1472
|
+
"check-deps",
|
|
1473
|
+
"check-docs",
|
|
1474
|
+
"cleanup",
|
|
1475
|
+
"fix-drift",
|
|
1476
|
+
"add"
|
|
1477
|
+
]);
|
|
1478
|
+
const executor = async (command) => {
|
|
1479
|
+
if (!ALLOWED_COMMANDS.has(command)) {
|
|
1480
|
+
return Err8(new Error(`Unknown harness command: ${command}`));
|
|
1481
|
+
}
|
|
1482
|
+
try {
|
|
1483
|
+
childProcess.execFileSync("npx", ["harness", command], { stdio: "inherit" });
|
|
1484
|
+
return Ok10(null);
|
|
1485
|
+
} catch (error) {
|
|
1486
|
+
return Err8(new Error(error instanceof Error ? error.message : String(error)));
|
|
1487
|
+
}
|
|
1488
|
+
};
|
|
1489
|
+
const report = await runPersona(persona, executor);
|
|
1490
|
+
if (!globalOpts.quiet) {
|
|
1491
|
+
logger.info(`Persona '${report.persona}' status: ${report.status}`);
|
|
1492
|
+
for (const c of report.commands) {
|
|
1493
|
+
const icon = c.status === "pass" ? "v" : c.status === "fail" ? "x" : "-";
|
|
1494
|
+
console.log(` [${icon}] ${c.name} (${c.durationMs}ms)`);
|
|
1495
|
+
}
|
|
1496
|
+
}
|
|
1497
|
+
process.exit(report.status === "fail" ? ExitCode.ERROR : ExitCode.SUCCESS);
|
|
1498
|
+
}
|
|
1499
|
+
if (!task) {
|
|
1500
|
+
logger.error("Either a task argument or --persona flag is required.");
|
|
1501
|
+
process.exit(ExitCode.ERROR);
|
|
1502
|
+
}
|
|
1503
|
+
const result = await runAgentTask(task, {
|
|
1504
|
+
configPath: globalOpts.config,
|
|
1505
|
+
timeout: parseInt(opts.timeout, 10)
|
|
1506
|
+
});
|
|
1507
|
+
if (!result.ok) {
|
|
1508
|
+
logger.error(result.error.message);
|
|
1509
|
+
process.exit(result.error.exitCode);
|
|
1510
|
+
}
|
|
1511
|
+
logger.success(result.value.output);
|
|
1512
|
+
process.exit(ExitCode.SUCCESS);
|
|
1513
|
+
});
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
// src/commands/agent/review.ts
|
|
1517
|
+
import { Command as Command9 } from "commander";
|
|
1518
|
+
import { execSync } from "child_process";
|
|
1519
|
+
import { Ok as Ok11, Err as Err9 } from "@harness-engineering/core";
|
|
1520
|
+
import { createSelfReview, parseDiff } from "@harness-engineering/core";
|
|
1521
|
+
async function runAgentReview(options) {
|
|
1522
|
+
const configResult = resolveConfig(options.configPath);
|
|
1523
|
+
if (!configResult.ok) {
|
|
1524
|
+
return configResult;
|
|
1525
|
+
}
|
|
1526
|
+
const config = configResult.value;
|
|
1527
|
+
let diff;
|
|
1528
|
+
try {
|
|
1529
|
+
diff = execSync("git diff --cached", { encoding: "utf-8" });
|
|
1530
|
+
if (!diff) {
|
|
1531
|
+
diff = execSync("git diff", { encoding: "utf-8" });
|
|
1532
|
+
}
|
|
1533
|
+
} catch {
|
|
1534
|
+
return Err9(new CLIError("Failed to get git diff", ExitCode.ERROR));
|
|
1535
|
+
}
|
|
1536
|
+
if (!diff) {
|
|
1537
|
+
return Ok11({
|
|
1538
|
+
passed: true,
|
|
1539
|
+
checklist: [{ check: "No changes to review", passed: true }]
|
|
1540
|
+
});
|
|
1541
|
+
}
|
|
1542
|
+
const parsedDiffResult = parseDiff(diff);
|
|
1543
|
+
if (!parsedDiffResult.ok) {
|
|
1544
|
+
return Err9(new CLIError(parsedDiffResult.error.message, ExitCode.ERROR));
|
|
1545
|
+
}
|
|
1546
|
+
const codeChanges = parsedDiffResult.value;
|
|
1547
|
+
const review = await createSelfReview(codeChanges, {
|
|
1548
|
+
rootDir: config.rootDir,
|
|
1549
|
+
diffAnalysis: {
|
|
1550
|
+
enabled: true,
|
|
1551
|
+
checkTestCoverage: true
|
|
1552
|
+
}
|
|
1553
|
+
});
|
|
1554
|
+
if (!review.ok) {
|
|
1555
|
+
return Err9(new CLIError(review.error.message, ExitCode.ERROR));
|
|
1556
|
+
}
|
|
1557
|
+
return Ok11({
|
|
1558
|
+
passed: review.value.passed,
|
|
1559
|
+
checklist: review.value.items.map((item) => ({
|
|
1560
|
+
check: item.check,
|
|
1561
|
+
passed: item.passed,
|
|
1562
|
+
details: item.details
|
|
1563
|
+
}))
|
|
1564
|
+
});
|
|
1565
|
+
}
|
|
1566
|
+
function createReviewCommand() {
|
|
1567
|
+
return new Command9("review").description("Run self-review on current changes").action(async (_opts, cmd) => {
|
|
1568
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1569
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : OutputMode.TEXT;
|
|
1570
|
+
const result = await runAgentReview({
|
|
1571
|
+
configPath: globalOpts.config,
|
|
1572
|
+
json: globalOpts.json,
|
|
1573
|
+
verbose: globalOpts.verbose,
|
|
1574
|
+
quiet: globalOpts.quiet
|
|
1575
|
+
});
|
|
1576
|
+
if (!result.ok) {
|
|
1577
|
+
if (mode === OutputMode.JSON) {
|
|
1578
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
1579
|
+
} else {
|
|
1580
|
+
logger.error(result.error.message);
|
|
1581
|
+
}
|
|
1582
|
+
process.exit(result.error.exitCode);
|
|
1583
|
+
}
|
|
1584
|
+
if (mode === OutputMode.JSON) {
|
|
1585
|
+
console.log(JSON.stringify(result.value, null, 2));
|
|
1586
|
+
} else if (mode !== OutputMode.QUIET) {
|
|
1587
|
+
console.log(result.value.passed ? "v Self-review passed" : "x Self-review found issues");
|
|
1588
|
+
console.log("");
|
|
1589
|
+
for (const item of result.value.checklist) {
|
|
1590
|
+
const icon = item.passed ? "v" : "x";
|
|
1591
|
+
console.log(` ${icon} ${item.check}`);
|
|
1592
|
+
if (item.details && !item.passed) {
|
|
1593
|
+
console.log(` ${item.details}`);
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
process.exit(result.value.passed ? ExitCode.SUCCESS : ExitCode.VALIDATION_FAILED);
|
|
1598
|
+
});
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
// src/commands/agent/index.ts
|
|
1602
|
+
function createAgentCommand() {
|
|
1603
|
+
const command = new Command10("agent").description("Agent orchestration commands");
|
|
1604
|
+
command.addCommand(createRunCommand());
|
|
1605
|
+
command.addCommand(createReviewCommand());
|
|
1606
|
+
return command;
|
|
1607
|
+
}
|
|
1608
|
+
|
|
1609
|
+
// src/commands/add.ts
|
|
1610
|
+
import { Command as Command11 } from "commander";
|
|
1611
|
+
import * as fs7 from "fs";
|
|
1612
|
+
import * as path13 from "path";
|
|
1613
|
+
import { Ok as Ok12, Err as Err10 } from "@harness-engineering/core";
|
|
1614
|
+
var LAYER_INDEX_TEMPLATE = (name) => `// ${name} layer
|
|
1615
|
+
// Add your ${name} exports here
|
|
1616
|
+
|
|
1617
|
+
export {};
|
|
1618
|
+
`;
|
|
1619
|
+
var MODULE_TEMPLATE = (name) => `/**
|
|
1620
|
+
* ${name} module
|
|
1621
|
+
*/
|
|
1622
|
+
|
|
1623
|
+
export function ${name}(): void {
|
|
1624
|
+
// Add implementation
|
|
1625
|
+
}
|
|
1626
|
+
`;
|
|
1627
|
+
var DOC_TEMPLATE = (name) => `# ${name}
|
|
1628
|
+
|
|
1629
|
+
## Overview
|
|
1630
|
+
|
|
1631
|
+
[Describe what ${name} does and why it exists.]
|
|
1632
|
+
|
|
1633
|
+
## Usage
|
|
1634
|
+
|
|
1635
|
+
\`\`\`typescript
|
|
1636
|
+
import { ${name} } from './${name}';
|
|
1637
|
+
\`\`\`
|
|
1638
|
+
`;
|
|
1639
|
+
async function runAdd(componentType, name, options) {
|
|
1640
|
+
const cwd = options.cwd ?? process.cwd();
|
|
1641
|
+
const NAME_PATTERN = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
|
|
1642
|
+
if (!name || !NAME_PATTERN.test(name)) {
|
|
1643
|
+
return Err10(
|
|
1644
|
+
new CLIError(
|
|
1645
|
+
"Invalid name. Must start with a letter and contain only alphanumeric characters, hyphens, and underscores.",
|
|
1646
|
+
ExitCode.ERROR
|
|
1647
|
+
)
|
|
1648
|
+
);
|
|
1649
|
+
}
|
|
1650
|
+
const configResult = resolveConfig(options.configPath);
|
|
1651
|
+
if (!configResult.ok) {
|
|
1652
|
+
}
|
|
1653
|
+
const created = [];
|
|
1654
|
+
try {
|
|
1655
|
+
switch (componentType) {
|
|
1656
|
+
case "layer": {
|
|
1657
|
+
const layerDir = path13.join(cwd, "src", name);
|
|
1658
|
+
if (!fs7.existsSync(layerDir)) {
|
|
1659
|
+
fs7.mkdirSync(layerDir, { recursive: true });
|
|
1660
|
+
created.push(`src/${name}/`);
|
|
1661
|
+
}
|
|
1662
|
+
const indexPath = path13.join(layerDir, "index.ts");
|
|
1663
|
+
if (!fs7.existsSync(indexPath)) {
|
|
1664
|
+
fs7.writeFileSync(indexPath, LAYER_INDEX_TEMPLATE(name));
|
|
1665
|
+
created.push(`src/${name}/index.ts`);
|
|
1666
|
+
}
|
|
1667
|
+
break;
|
|
1668
|
+
}
|
|
1669
|
+
case "module": {
|
|
1670
|
+
const modulePath = path13.join(cwd, "src", `${name}.ts`);
|
|
1671
|
+
if (fs7.existsSync(modulePath)) {
|
|
1672
|
+
return Err10(new CLIError(`Module ${name} already exists`, ExitCode.ERROR));
|
|
1673
|
+
}
|
|
1674
|
+
fs7.writeFileSync(modulePath, MODULE_TEMPLATE(name));
|
|
1675
|
+
created.push(`src/${name}.ts`);
|
|
1676
|
+
break;
|
|
1677
|
+
}
|
|
1678
|
+
case "doc": {
|
|
1679
|
+
const docsDir = path13.join(cwd, "docs");
|
|
1680
|
+
if (!fs7.existsSync(docsDir)) {
|
|
1681
|
+
fs7.mkdirSync(docsDir, { recursive: true });
|
|
1682
|
+
}
|
|
1683
|
+
const docPath = path13.join(docsDir, `${name}.md`);
|
|
1684
|
+
if (fs7.existsSync(docPath)) {
|
|
1685
|
+
return Err10(new CLIError(`Doc ${name} already exists`, ExitCode.ERROR));
|
|
1686
|
+
}
|
|
1687
|
+
fs7.writeFileSync(docPath, DOC_TEMPLATE(name));
|
|
1688
|
+
created.push(`docs/${name}.md`);
|
|
1689
|
+
break;
|
|
1690
|
+
}
|
|
1691
|
+
case "skill": {
|
|
1692
|
+
const { generateSkillFiles } = await import("./create-skill-4GKJZB5R.js");
|
|
1693
|
+
generateSkillFiles({
|
|
1694
|
+
name,
|
|
1695
|
+
description: `${name} skill`,
|
|
1696
|
+
outputDir: path13.join(cwd, "agents", "skills", "claude-code")
|
|
1697
|
+
});
|
|
1698
|
+
created.push(`agents/skills/claude-code/${name}/skill.yaml`);
|
|
1699
|
+
created.push(`agents/skills/claude-code/${name}/SKILL.md`);
|
|
1700
|
+
break;
|
|
1701
|
+
}
|
|
1702
|
+
case "persona": {
|
|
1703
|
+
const personasDir = path13.join(cwd, "agents", "personas");
|
|
1704
|
+
if (!fs7.existsSync(personasDir)) {
|
|
1705
|
+
fs7.mkdirSync(personasDir, { recursive: true });
|
|
1706
|
+
}
|
|
1707
|
+
const personaPath = path13.join(personasDir, `${name}.yaml`);
|
|
1708
|
+
if (fs7.existsSync(personaPath)) {
|
|
1709
|
+
return Err10(new CLIError(`Persona ${name} already exists`, ExitCode.ERROR));
|
|
1710
|
+
}
|
|
1711
|
+
fs7.writeFileSync(
|
|
1712
|
+
personaPath,
|
|
1713
|
+
`name: ${name}
|
|
1714
|
+
description: ${name} persona
|
|
1715
|
+
triggers:
|
|
1716
|
+
- manual
|
|
1717
|
+
focus_areas: []
|
|
1718
|
+
`
|
|
1719
|
+
);
|
|
1720
|
+
created.push(`agents/personas/${name}.yaml`);
|
|
1721
|
+
break;
|
|
1722
|
+
}
|
|
1723
|
+
default: {
|
|
1724
|
+
const _exhaustive = componentType;
|
|
1725
|
+
return Err10(
|
|
1726
|
+
new CLIError(
|
|
1727
|
+
`Unknown component type: ${String(_exhaustive)}. Use: layer, module, doc, skill, persona`,
|
|
1728
|
+
ExitCode.ERROR
|
|
1729
|
+
)
|
|
1730
|
+
);
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1733
|
+
return Ok12({ created });
|
|
1734
|
+
} catch (error) {
|
|
1735
|
+
return Err10(
|
|
1736
|
+
new CLIError(
|
|
1737
|
+
`Failed to add ${componentType}: ${error instanceof Error ? error.message : "Unknown error"}`,
|
|
1738
|
+
ExitCode.ERROR
|
|
1739
|
+
)
|
|
1740
|
+
);
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1743
|
+
function createAddCommand() {
|
|
1744
|
+
const command = new Command11("add").description("Add a component to the project").argument("<type>", "Component type (layer, module, doc, skill, persona)").argument("<name>", "Component name").action(async (type, name, _opts, cmd) => {
|
|
1745
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1746
|
+
const result = await runAdd(type, name, {
|
|
1747
|
+
...globalOpts.config !== void 0 && { configPath: globalOpts.config }
|
|
1748
|
+
});
|
|
1749
|
+
if (!result.ok) {
|
|
1750
|
+
logger.error(result.error.message);
|
|
1751
|
+
process.exit(result.error.exitCode);
|
|
1752
|
+
}
|
|
1753
|
+
if (!globalOpts.quiet) {
|
|
1754
|
+
logger.success(`Added ${type}: ${name}`);
|
|
1755
|
+
for (const file of result.value.created) {
|
|
1756
|
+
console.log(` + ${file}`);
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
process.exit(ExitCode.SUCCESS);
|
|
1760
|
+
});
|
|
1761
|
+
return command;
|
|
1762
|
+
}
|
|
1763
|
+
|
|
1764
|
+
// src/commands/linter/index.ts
|
|
1765
|
+
import { Command as Command14 } from "commander";
|
|
1766
|
+
|
|
1767
|
+
// src/commands/linter/generate.ts
|
|
1768
|
+
import { Command as Command12 } from "commander";
|
|
1769
|
+
import { generate } from "@harness-engineering/linter-gen";
|
|
1770
|
+
function createGenerateCommand() {
|
|
1771
|
+
return new Command12("generate").description("Generate ESLint rules from harness-linter.yml").option("-c, --config <path>", "Path to harness-linter.yml", "./harness-linter.yml").option("-o, --output <dir>", "Override output directory").option("--clean", "Remove existing files before generating").option("--dry-run", "Preview without writing files").option("--json", "Output as JSON").option("--verbose", "Show detailed output").action(async (options) => {
|
|
1772
|
+
try {
|
|
1773
|
+
if (options.verbose) {
|
|
1774
|
+
logger.info(`Parsing config: ${options.config}`);
|
|
1775
|
+
}
|
|
1776
|
+
const result = await generate({
|
|
1777
|
+
configPath: options.config,
|
|
1778
|
+
outputDir: options.output,
|
|
1779
|
+
clean: options.clean,
|
|
1780
|
+
dryRun: options.dryRun
|
|
1781
|
+
});
|
|
1782
|
+
if (!result.success) {
|
|
1783
|
+
const errorMessages = result.errors.map((e) => {
|
|
1784
|
+
switch (e.type) {
|
|
1785
|
+
case "parse":
|
|
1786
|
+
return `Config error: ${e.error.message}`;
|
|
1787
|
+
case "template":
|
|
1788
|
+
return `Template error for '${e.ruleName}': ${e.error.message}`;
|
|
1789
|
+
case "render":
|
|
1790
|
+
return `Render error for '${e.ruleName}': ${e.error.message}`;
|
|
1791
|
+
case "write":
|
|
1792
|
+
return `Write error for '${e.path}': ${e.error.message}`;
|
|
1793
|
+
}
|
|
1794
|
+
});
|
|
1795
|
+
if (options.json) {
|
|
1796
|
+
console.log(JSON.stringify({ success: false, errors: errorMessages }, null, 2));
|
|
1797
|
+
} else {
|
|
1798
|
+
errorMessages.forEach((msg) => logger.error(msg));
|
|
1799
|
+
}
|
|
1800
|
+
process.exit(ExitCode.VALIDATION_FAILED);
|
|
1801
|
+
}
|
|
1802
|
+
if (options.json) {
|
|
1803
|
+
console.log(
|
|
1804
|
+
JSON.stringify(
|
|
1805
|
+
{
|
|
1806
|
+
success: true,
|
|
1807
|
+
outputDir: result.outputDir,
|
|
1808
|
+
rulesGenerated: result.rulesGenerated,
|
|
1809
|
+
dryRun: result.dryRun
|
|
1810
|
+
},
|
|
1811
|
+
null,
|
|
1812
|
+
2
|
|
1813
|
+
)
|
|
1814
|
+
);
|
|
1815
|
+
} else {
|
|
1816
|
+
if (result.dryRun) {
|
|
1817
|
+
logger.info("Dry run - no files written");
|
|
1818
|
+
}
|
|
1819
|
+
result.rulesGenerated.forEach((name) => {
|
|
1820
|
+
logger.success(`Generated ${name}.ts`);
|
|
1821
|
+
});
|
|
1822
|
+
logger.success(`Generated index.ts`);
|
|
1823
|
+
logger.info(`
|
|
1824
|
+
Generated ${result.rulesGenerated.length} rules to ${result.outputDir}`);
|
|
1825
|
+
}
|
|
1826
|
+
} catch (err) {
|
|
1827
|
+
throw new CLIError(`Generation failed: ${err.message}`, ExitCode.ERROR);
|
|
1828
|
+
}
|
|
1829
|
+
});
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
// src/commands/linter/validate.ts
|
|
1833
|
+
import { Command as Command13 } from "commander";
|
|
1834
|
+
import { validate } from "@harness-engineering/linter-gen";
|
|
1835
|
+
function createValidateCommand2() {
|
|
1836
|
+
return new Command13("validate").description("Validate harness-linter.yml config").option("-c, --config <path>", "Path to harness-linter.yml", "./harness-linter.yml").option("--json", "Output as JSON").action(async (options) => {
|
|
1837
|
+
try {
|
|
1838
|
+
const result = await validate({ configPath: options.config });
|
|
1839
|
+
if (options.json) {
|
|
1840
|
+
console.log(JSON.stringify(result, null, 2));
|
|
1841
|
+
} else if (result.success) {
|
|
1842
|
+
logger.success(`Config valid: ${result.ruleCount} rules defined`);
|
|
1843
|
+
} else {
|
|
1844
|
+
logger.error(`Config invalid: ${result.error.message}`);
|
|
1845
|
+
process.exit(ExitCode.VALIDATION_FAILED);
|
|
1846
|
+
}
|
|
1847
|
+
} catch (err) {
|
|
1848
|
+
throw new CLIError(`Validation failed: ${err.message}`, ExitCode.ERROR);
|
|
1849
|
+
}
|
|
1850
|
+
});
|
|
1851
|
+
}
|
|
1852
|
+
|
|
1853
|
+
// src/commands/linter/index.ts
|
|
1854
|
+
function createLinterCommand() {
|
|
1855
|
+
const linter = new Command14("linter").description(
|
|
1856
|
+
"Generate and validate ESLint rules from YAML config"
|
|
1857
|
+
);
|
|
1858
|
+
linter.addCommand(createGenerateCommand());
|
|
1859
|
+
linter.addCommand(createValidateCommand2());
|
|
1860
|
+
return linter;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
// src/commands/persona/index.ts
|
|
1864
|
+
import { Command as Command17 } from "commander";
|
|
1865
|
+
|
|
1866
|
+
// src/commands/persona/list.ts
|
|
1867
|
+
import { Command as Command15 } from "commander";
|
|
1868
|
+
function createListCommand() {
|
|
1869
|
+
return new Command15("list").description("List available agent personas").action(async (_opts, cmd) => {
|
|
1870
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
1871
|
+
const personasDir = resolvePersonasDir();
|
|
1872
|
+
const result = listPersonas(personasDir);
|
|
1873
|
+
if (!result.ok) {
|
|
1874
|
+
logger.error(result.error.message);
|
|
1875
|
+
process.exit(ExitCode.ERROR);
|
|
1876
|
+
}
|
|
1877
|
+
if (globalOpts.json) {
|
|
1878
|
+
logger.raw(result.value);
|
|
1879
|
+
} else if (globalOpts.quiet) {
|
|
1880
|
+
for (const p of result.value) console.log(p.name);
|
|
1881
|
+
} else {
|
|
1882
|
+
if (result.value.length === 0) {
|
|
1883
|
+
logger.info("No personas found.");
|
|
1884
|
+
} else {
|
|
1885
|
+
console.log("Available personas:\n");
|
|
1886
|
+
for (const p of result.value) {
|
|
1887
|
+
console.log(` ${p.name}`);
|
|
1888
|
+
console.log(` ${p.description}
|
|
1889
|
+
`);
|
|
1890
|
+
}
|
|
1891
|
+
}
|
|
1892
|
+
}
|
|
1893
|
+
process.exit(ExitCode.SUCCESS);
|
|
1894
|
+
});
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
// src/commands/persona/generate.ts
|
|
1898
|
+
import { Command as Command16 } from "commander";
|
|
1899
|
+
import * as fs8 from "fs";
|
|
1900
|
+
import * as path14 from "path";
|
|
1901
|
+
|
|
1902
|
+
// src/persona/generators/runtime.ts
|
|
1903
|
+
import { Ok as Ok13, Err as Err11 } from "@harness-engineering/core";
|
|
1904
|
+
|
|
1905
|
+
// src/utils/string.ts
|
|
1906
|
+
function toKebabCase(name) {
|
|
1907
|
+
return name.toLowerCase().replace(/\s+/g, "-");
|
|
1908
|
+
}
|
|
1909
|
+
|
|
1910
|
+
// src/persona/generators/runtime.ts
|
|
1911
|
+
function generateRuntime(persona) {
|
|
1912
|
+
try {
|
|
1913
|
+
const config = {
|
|
1914
|
+
name: toKebabCase(persona.name),
|
|
1915
|
+
skills: persona.skills,
|
|
1916
|
+
commands: persona.commands,
|
|
1917
|
+
timeout: persona.config.timeout,
|
|
1918
|
+
severity: persona.config.severity
|
|
1919
|
+
};
|
|
1920
|
+
return Ok13(JSON.stringify(config, null, 2));
|
|
1921
|
+
} catch (error) {
|
|
1922
|
+
return Err11(
|
|
1923
|
+
new Error(
|
|
1924
|
+
`Failed to generate runtime config: ${error instanceof Error ? error.message : String(error)}`
|
|
1925
|
+
)
|
|
1926
|
+
);
|
|
1927
|
+
}
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
// src/persona/generators/agents-md.ts
|
|
1931
|
+
import { Ok as Ok14, Err as Err12 } from "@harness-engineering/core";
|
|
1932
|
+
function formatTrigger(trigger) {
|
|
1933
|
+
switch (trigger.event) {
|
|
1934
|
+
case "on_pr": {
|
|
1935
|
+
const paths = trigger.conditions?.paths?.join(", ") ?? "all files";
|
|
1936
|
+
return `On PR (${paths})`;
|
|
1937
|
+
}
|
|
1938
|
+
case "on_commit": {
|
|
1939
|
+
const branches = trigger.conditions?.branches?.join(", ") ?? "all branches";
|
|
1940
|
+
return `On commit (${branches})`;
|
|
1941
|
+
}
|
|
1942
|
+
case "scheduled":
|
|
1943
|
+
return `Scheduled (cron: ${trigger.cron})`;
|
|
1944
|
+
}
|
|
1945
|
+
}
|
|
1946
|
+
function generateAgentsMd(persona) {
|
|
1947
|
+
try {
|
|
1948
|
+
const triggers = persona.triggers.map(formatTrigger).join(", ");
|
|
1949
|
+
const skills = persona.skills.join(", ");
|
|
1950
|
+
const commands = persona.commands.map((c) => `\`harness ${c}\``).join(", ");
|
|
1951
|
+
const fragment = `## ${persona.name} Agent
|
|
1952
|
+
|
|
1953
|
+
**Role:** ${persona.role}
|
|
1954
|
+
|
|
1955
|
+
**Triggers:** ${triggers}
|
|
1956
|
+
|
|
1957
|
+
**Skills:** ${skills}
|
|
1958
|
+
|
|
1959
|
+
**When this agent flags an issue:** Fix violations before merging. Run ${commands} locally to validate.
|
|
1960
|
+
`;
|
|
1961
|
+
return Ok14(fragment);
|
|
1962
|
+
} catch (error) {
|
|
1963
|
+
return Err12(
|
|
1964
|
+
new Error(
|
|
1965
|
+
`Failed to generate AGENTS.md fragment: ${error instanceof Error ? error.message : String(error)}`
|
|
1966
|
+
)
|
|
1967
|
+
);
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
// src/persona/generators/ci-workflow.ts
|
|
1972
|
+
import YAML2 from "yaml";
|
|
1973
|
+
import { Ok as Ok15, Err as Err13 } from "@harness-engineering/core";
|
|
1974
|
+
function buildGitHubTriggers(triggers) {
|
|
1975
|
+
const on = {};
|
|
1976
|
+
for (const trigger of triggers) {
|
|
1977
|
+
switch (trigger.event) {
|
|
1978
|
+
case "on_pr": {
|
|
1979
|
+
const prConfig = {};
|
|
1980
|
+
if (trigger.conditions?.paths) prConfig.paths = trigger.conditions.paths;
|
|
1981
|
+
on.pull_request = prConfig;
|
|
1982
|
+
break;
|
|
1983
|
+
}
|
|
1984
|
+
case "on_commit": {
|
|
1985
|
+
const pushConfig = {};
|
|
1986
|
+
if (trigger.conditions?.branches) pushConfig.branches = trigger.conditions.branches;
|
|
1987
|
+
on.push = pushConfig;
|
|
1988
|
+
break;
|
|
1989
|
+
}
|
|
1990
|
+
case "scheduled":
|
|
1991
|
+
on.schedule = [{ cron: trigger.cron }];
|
|
1992
|
+
break;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
return on;
|
|
1996
|
+
}
|
|
1997
|
+
function generateCIWorkflow(persona, platform) {
|
|
1998
|
+
try {
|
|
1999
|
+
if (platform === "gitlab") return Err13(new Error("GitLab CI generation is not yet supported"));
|
|
2000
|
+
const severity = persona.config.severity;
|
|
2001
|
+
const steps = [
|
|
2002
|
+
{ uses: "actions/checkout@v4" },
|
|
2003
|
+
{ uses: "actions/setup-node@v4", with: { "node-version": "20" } },
|
|
2004
|
+
{ uses: "pnpm/action-setup@v4", with: { run_install: "frozen" } }
|
|
2005
|
+
];
|
|
2006
|
+
for (const cmd of persona.commands) {
|
|
2007
|
+
const severityFlag = severity ? ` --severity ${severity}` : "";
|
|
2008
|
+
steps.push({ run: `npx harness ${cmd}${severityFlag}` });
|
|
2009
|
+
}
|
|
2010
|
+
const workflow = {
|
|
2011
|
+
name: persona.name,
|
|
2012
|
+
on: buildGitHubTriggers(persona.triggers),
|
|
2013
|
+
jobs: {
|
|
2014
|
+
enforce: {
|
|
2015
|
+
"runs-on": "ubuntu-latest",
|
|
2016
|
+
steps
|
|
2017
|
+
}
|
|
2018
|
+
}
|
|
2019
|
+
};
|
|
2020
|
+
return Ok15(YAML2.stringify(workflow, { lineWidth: 0 }));
|
|
2021
|
+
} catch (error) {
|
|
2022
|
+
return Err13(
|
|
2023
|
+
new Error(
|
|
2024
|
+
`Failed to generate CI workflow: ${error instanceof Error ? error.message : String(error)}`
|
|
2025
|
+
)
|
|
2026
|
+
);
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
// src/commands/persona/generate.ts
|
|
2031
|
+
function createGenerateCommand2() {
|
|
2032
|
+
return new Command16("generate").description("Generate artifacts from a persona config").argument("<name>", "Persona name (e.g., architecture-enforcer)").option("--output-dir <dir>", "Output directory", ".").option("--only <type>", "Generate only: ci, agents-md, runtime").action(async (name, opts, cmd) => {
|
|
2033
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2034
|
+
const personasDir = resolvePersonasDir();
|
|
2035
|
+
const filePath = path14.join(personasDir, `${name}.yaml`);
|
|
2036
|
+
const personaResult = loadPersona(filePath);
|
|
2037
|
+
if (!personaResult.ok) {
|
|
2038
|
+
logger.error(personaResult.error.message);
|
|
2039
|
+
process.exit(ExitCode.ERROR);
|
|
2040
|
+
}
|
|
2041
|
+
const persona = personaResult.value;
|
|
2042
|
+
const outputDir = path14.resolve(opts.outputDir);
|
|
2043
|
+
const slug = toKebabCase(persona.name);
|
|
2044
|
+
const only = opts.only;
|
|
2045
|
+
const generated = [];
|
|
2046
|
+
if (!only || only === "runtime") {
|
|
2047
|
+
const result = generateRuntime(persona);
|
|
2048
|
+
if (result.ok) {
|
|
2049
|
+
const outPath = path14.join(outputDir, `${slug}.runtime.json`);
|
|
2050
|
+
fs8.mkdirSync(path14.dirname(outPath), { recursive: true });
|
|
2051
|
+
fs8.writeFileSync(outPath, result.value);
|
|
2052
|
+
generated.push(outPath);
|
|
2053
|
+
}
|
|
2054
|
+
}
|
|
2055
|
+
if (!only || only === "agents-md") {
|
|
2056
|
+
const result = generateAgentsMd(persona);
|
|
2057
|
+
if (result.ok) {
|
|
2058
|
+
const outPath = path14.join(outputDir, `${slug}.agents.md`);
|
|
2059
|
+
fs8.writeFileSync(outPath, result.value);
|
|
2060
|
+
generated.push(outPath);
|
|
2061
|
+
}
|
|
2062
|
+
}
|
|
2063
|
+
if (!only || only === "ci") {
|
|
2064
|
+
const result = generateCIWorkflow(persona, "github");
|
|
2065
|
+
if (result.ok) {
|
|
2066
|
+
const outPath = path14.join(outputDir, ".github", "workflows", `${slug}.yml`);
|
|
2067
|
+
fs8.mkdirSync(path14.dirname(outPath), { recursive: true });
|
|
2068
|
+
fs8.writeFileSync(outPath, result.value);
|
|
2069
|
+
generated.push(outPath);
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
if (!globalOpts.quiet) {
|
|
2073
|
+
logger.success(`Generated ${generated.length} artifacts for ${persona.name}:`);
|
|
2074
|
+
for (const f of generated) console.log(` - ${f}`);
|
|
2075
|
+
}
|
|
2076
|
+
process.exit(ExitCode.SUCCESS);
|
|
2077
|
+
});
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
// src/commands/persona/index.ts
|
|
2081
|
+
function createPersonaCommand() {
|
|
2082
|
+
const command = new Command17("persona").description("Agent persona management commands");
|
|
2083
|
+
command.addCommand(createListCommand());
|
|
2084
|
+
command.addCommand(createGenerateCommand2());
|
|
2085
|
+
return command;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
// src/commands/skill/index.ts
|
|
2089
|
+
import { Command as Command22 } from "commander";
|
|
2090
|
+
|
|
2091
|
+
// src/commands/skill/list.ts
|
|
2092
|
+
import { Command as Command18 } from "commander";
|
|
2093
|
+
import * as fs9 from "fs";
|
|
2094
|
+
import * as path15 from "path";
|
|
2095
|
+
import { parse as parse2 } from "yaml";
|
|
2096
|
+
function createListCommand2() {
|
|
2097
|
+
return new Command18("list").description("List available skills").action(async (_opts, cmd) => {
|
|
2098
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2099
|
+
const skillsDir = resolveSkillsDir();
|
|
2100
|
+
if (!fs9.existsSync(skillsDir)) {
|
|
2101
|
+
logger.info("No skills directory found.");
|
|
2102
|
+
process.exit(ExitCode.SUCCESS);
|
|
2103
|
+
return;
|
|
2104
|
+
}
|
|
2105
|
+
const entries = fs9.readdirSync(skillsDir, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
|
|
2106
|
+
const skills = [];
|
|
2107
|
+
for (const name of entries) {
|
|
2108
|
+
const yamlPath = path15.join(skillsDir, name, "skill.yaml");
|
|
2109
|
+
if (!fs9.existsSync(yamlPath)) continue;
|
|
2110
|
+
try {
|
|
2111
|
+
const raw = fs9.readFileSync(yamlPath, "utf-8");
|
|
2112
|
+
const parsed = parse2(raw);
|
|
2113
|
+
const result = SkillMetadataSchema.safeParse(parsed);
|
|
2114
|
+
if (result.success) {
|
|
2115
|
+
skills.push(result.data);
|
|
2116
|
+
}
|
|
2117
|
+
} catch {
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2120
|
+
if (globalOpts.json) {
|
|
2121
|
+
logger.raw(skills);
|
|
2122
|
+
} else if (globalOpts.quiet) {
|
|
2123
|
+
for (const s of skills) console.log(s.name);
|
|
2124
|
+
} else {
|
|
2125
|
+
if (skills.length === 0) {
|
|
2126
|
+
logger.info("No skills found.");
|
|
2127
|
+
} else {
|
|
2128
|
+
console.log("Available skills:\n");
|
|
2129
|
+
for (const s of skills) {
|
|
2130
|
+
console.log(` ${s.name} (${s.type})`);
|
|
2131
|
+
console.log(` ${s.description}
|
|
2132
|
+
`);
|
|
2133
|
+
}
|
|
2134
|
+
}
|
|
2135
|
+
}
|
|
2136
|
+
process.exit(ExitCode.SUCCESS);
|
|
2137
|
+
});
|
|
2138
|
+
}
|
|
2139
|
+
|
|
2140
|
+
// src/commands/skill/run.ts
|
|
2141
|
+
import { Command as Command19 } from "commander";
|
|
2142
|
+
import * as fs10 from "fs";
|
|
2143
|
+
import * as path16 from "path";
|
|
2144
|
+
import { parse as parse3 } from "yaml";
|
|
2145
|
+
|
|
2146
|
+
// src/skill/complexity.ts
|
|
2147
|
+
import { execSync as execSync2 } from "child_process";
|
|
2148
|
+
function evaluateSignals(signals) {
|
|
2149
|
+
if (signals.fileCount >= 3) return "full";
|
|
2150
|
+
if (signals.newDir) return "full";
|
|
2151
|
+
if (signals.newDep) return "full";
|
|
2152
|
+
if (signals.fileCount <= 1) return "light";
|
|
2153
|
+
if (signals.testOnly) return "light";
|
|
2154
|
+
if (signals.docsOnly) return "light";
|
|
2155
|
+
return "full";
|
|
2156
|
+
}
|
|
2157
|
+
function detectComplexity(projectPath) {
|
|
2158
|
+
try {
|
|
2159
|
+
const base = execSync2("git merge-base HEAD main", {
|
|
2160
|
+
cwd: projectPath,
|
|
2161
|
+
encoding: "utf-8",
|
|
2162
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
2163
|
+
}).trim();
|
|
2164
|
+
const diffFiles = execSync2(`git diff --name-only ${base}`, {
|
|
2165
|
+
cwd: projectPath,
|
|
2166
|
+
encoding: "utf-8",
|
|
2167
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
2168
|
+
}).trim().split("\n").filter(Boolean);
|
|
2169
|
+
const diffStat = execSync2(`git diff --stat ${base}`, {
|
|
2170
|
+
cwd: projectPath,
|
|
2171
|
+
encoding: "utf-8",
|
|
2172
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
2173
|
+
}).trim();
|
|
2174
|
+
const signals = {
|
|
2175
|
+
fileCount: diffFiles.length,
|
|
2176
|
+
testOnly: diffFiles.every((f) => f.match(/\.(test|spec)\./)),
|
|
2177
|
+
docsOnly: diffFiles.every((f) => f.startsWith("docs/") || f.endsWith(".md")),
|
|
2178
|
+
newDir: diffStat.includes("create mode") || diffFiles.some((f) => {
|
|
2179
|
+
const parts = f.split("/");
|
|
2180
|
+
return parts.length > 1;
|
|
2181
|
+
}),
|
|
2182
|
+
newDep: diffFiles.some(
|
|
2183
|
+
(f) => ["package.json", "Cargo.toml", "go.mod", "requirements.txt"].includes(f)
|
|
2184
|
+
)
|
|
2185
|
+
};
|
|
2186
|
+
return evaluateSignals(signals);
|
|
2187
|
+
} catch {
|
|
2188
|
+
return "full";
|
|
2189
|
+
}
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
// src/commands/skill/preamble.ts
|
|
2193
|
+
function buildPreamble(options) {
|
|
2194
|
+
const sections = [];
|
|
2195
|
+
if (options.complexity && options.phases && options.phases.length > 0) {
|
|
2196
|
+
const lines = [`## Active Phases (complexity: ${options.complexity})`];
|
|
2197
|
+
for (const phase of options.phases) {
|
|
2198
|
+
if (options.complexity === "light" && !phase.required) {
|
|
2199
|
+
lines.push(`- ~~${phase.name.toUpperCase()}~~ (skipped in light mode)`);
|
|
2200
|
+
} else {
|
|
2201
|
+
lines.push(`- ${phase.name.toUpperCase()} (${phase.required ? "required" : "optional"})`);
|
|
2202
|
+
}
|
|
2203
|
+
}
|
|
2204
|
+
sections.push(lines.join("\n"));
|
|
2205
|
+
}
|
|
2206
|
+
if (options.principles) {
|
|
2207
|
+
sections.push(`## Project Principles (from docs/principles.md)
|
|
2208
|
+
${options.principles}`);
|
|
2209
|
+
}
|
|
2210
|
+
if (options.phase) {
|
|
2211
|
+
const lines = [`## Resuming at Phase: ${options.phase}`];
|
|
2212
|
+
if (options.priorState) {
|
|
2213
|
+
lines.push(`## Prior state loaded
|
|
2214
|
+
${options.priorState}`);
|
|
2215
|
+
}
|
|
2216
|
+
if (options.stateWarning) {
|
|
2217
|
+
lines.push(`> ${options.stateWarning}`);
|
|
2218
|
+
}
|
|
2219
|
+
sections.push(lines.join("\n"));
|
|
2220
|
+
}
|
|
2221
|
+
if (options.party) {
|
|
2222
|
+
sections.push(
|
|
2223
|
+
"## Party Mode: Active\nEvaluate each approach from multiple contextually relevant perspectives before converging on a recommendation."
|
|
2224
|
+
);
|
|
2225
|
+
}
|
|
2226
|
+
return sections.length > 0 ? sections.join("\n\n---\n\n") + "\n\n---\n\n" : "";
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2229
|
+
// src/commands/skill/run.ts
|
|
2230
|
+
function createRunCommand2() {
|
|
2231
|
+
return new Command19("run").description("Run a skill (outputs SKILL.md content with context preamble)").argument("<name>", "Skill name (e.g., harness-tdd)").option("--path <path>", "Project root path for context injection").option("--complexity <level>", "Complexity: auto, light, full", "auto").option("--phase <name>", "Start at a specific phase (for re-entry)").option("--party", "Enable multi-perspective evaluation").action(async (name, opts, _cmd) => {
|
|
2232
|
+
const skillsDir = resolveSkillsDir();
|
|
2233
|
+
const skillDir = path16.join(skillsDir, name);
|
|
2234
|
+
if (!fs10.existsSync(skillDir)) {
|
|
2235
|
+
logger.error(`Skill not found: ${name}`);
|
|
2236
|
+
process.exit(ExitCode.ERROR);
|
|
2237
|
+
return;
|
|
2238
|
+
}
|
|
2239
|
+
const yamlPath = path16.join(skillDir, "skill.yaml");
|
|
2240
|
+
let metadata = null;
|
|
2241
|
+
if (fs10.existsSync(yamlPath)) {
|
|
2242
|
+
try {
|
|
2243
|
+
const raw = fs10.readFileSync(yamlPath, "utf-8");
|
|
2244
|
+
const parsed = parse3(raw);
|
|
2245
|
+
const result = SkillMetadataSchema.safeParse(parsed);
|
|
2246
|
+
if (result.success) metadata = result.data;
|
|
2247
|
+
} catch {
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
let complexity;
|
|
2251
|
+
if (metadata?.phases && metadata.phases.length > 0) {
|
|
2252
|
+
const requested = opts.complexity ?? "auto";
|
|
2253
|
+
if (requested === "auto") {
|
|
2254
|
+
const projectPath2 = opts.path ? path16.resolve(opts.path) : process.cwd();
|
|
2255
|
+
complexity = detectComplexity(projectPath2);
|
|
2256
|
+
} else {
|
|
2257
|
+
complexity = requested;
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
let principles;
|
|
2261
|
+
const projectPath = opts.path ? path16.resolve(opts.path) : process.cwd();
|
|
2262
|
+
const principlesPath = path16.join(projectPath, "docs", "principles.md");
|
|
2263
|
+
if (fs10.existsSync(principlesPath)) {
|
|
2264
|
+
principles = fs10.readFileSync(principlesPath, "utf-8");
|
|
2265
|
+
}
|
|
2266
|
+
let priorState;
|
|
2267
|
+
let stateWarning;
|
|
2268
|
+
if (opts.phase) {
|
|
2269
|
+
if (metadata?.phases) {
|
|
2270
|
+
const validPhases = metadata.phases.map((p) => p.name);
|
|
2271
|
+
if (!validPhases.includes(opts.phase)) {
|
|
2272
|
+
logger.error(`Unknown phase: ${opts.phase}. Valid phases: ${validPhases.join(", ")}`);
|
|
2273
|
+
process.exit(ExitCode.ERROR);
|
|
2274
|
+
return;
|
|
2275
|
+
}
|
|
2276
|
+
}
|
|
2277
|
+
if (metadata?.state.persistent && metadata.state.files.length > 0) {
|
|
2278
|
+
for (const stateFilePath of metadata.state.files) {
|
|
2279
|
+
const fullPath = path16.join(projectPath, stateFilePath);
|
|
2280
|
+
if (fs10.existsSync(fullPath)) {
|
|
2281
|
+
const stat = fs10.statSync(fullPath);
|
|
2282
|
+
if (stat.isDirectory()) {
|
|
2283
|
+
const files = fs10.readdirSync(fullPath).map((f) => ({ name: f, mtime: fs10.statSync(path16.join(fullPath, f)).mtimeMs })).sort((a, b) => b.mtime - a.mtime);
|
|
2284
|
+
if (files.length > 0) {
|
|
2285
|
+
priorState = fs10.readFileSync(path16.join(fullPath, files[0].name), "utf-8");
|
|
2286
|
+
}
|
|
2287
|
+
} else {
|
|
2288
|
+
priorState = fs10.readFileSync(fullPath, "utf-8");
|
|
2289
|
+
}
|
|
2290
|
+
break;
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
if (!priorState) {
|
|
2294
|
+
stateWarning = "No prior phase data found. Earlier phases have not been completed. Proceed with caution.";
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
}
|
|
2298
|
+
const preamble = buildPreamble({
|
|
2299
|
+
...complexity !== void 0 && { complexity },
|
|
2300
|
+
phases: metadata?.phases,
|
|
2301
|
+
...principles !== void 0 && { principles },
|
|
2302
|
+
phase: opts.phase,
|
|
2303
|
+
...priorState !== void 0 && { priorState },
|
|
2304
|
+
...stateWarning !== void 0 && { stateWarning },
|
|
2305
|
+
party: opts.party
|
|
2306
|
+
});
|
|
2307
|
+
const skillMdPath = path16.join(skillDir, "SKILL.md");
|
|
2308
|
+
if (!fs10.existsSync(skillMdPath)) {
|
|
2309
|
+
logger.error(`SKILL.md not found for skill: ${name}`);
|
|
2310
|
+
process.exit(ExitCode.ERROR);
|
|
2311
|
+
return;
|
|
2312
|
+
}
|
|
2313
|
+
let content = fs10.readFileSync(skillMdPath, "utf-8");
|
|
2314
|
+
if (metadata?.state.persistent && opts.path) {
|
|
2315
|
+
const stateFile = path16.join(projectPath, ".harness", "state.json");
|
|
2316
|
+
if (fs10.existsSync(stateFile)) {
|
|
2317
|
+
const stateContent = fs10.readFileSync(stateFile, "utf-8");
|
|
2318
|
+
content += `
|
|
2319
|
+
|
|
2320
|
+
---
|
|
2321
|
+
## Project State
|
|
2322
|
+
\`\`\`json
|
|
2323
|
+
${stateContent}
|
|
2324
|
+
\`\`\`
|
|
2325
|
+
`;
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
process.stdout.write(preamble + content);
|
|
2329
|
+
process.exit(ExitCode.SUCCESS);
|
|
2330
|
+
});
|
|
2331
|
+
}
|
|
2332
|
+
|
|
2333
|
+
// src/commands/skill/validate.ts
|
|
2334
|
+
import { Command as Command20 } from "commander";
|
|
2335
|
+
import * as fs11 from "fs";
|
|
2336
|
+
import * as path17 from "path";
|
|
2337
|
+
import { parse as parse4 } from "yaml";
|
|
2338
|
+
var REQUIRED_SECTIONS = [
|
|
2339
|
+
"## When to Use",
|
|
2340
|
+
"## Process",
|
|
2341
|
+
"## Harness Integration",
|
|
2342
|
+
"## Success Criteria",
|
|
2343
|
+
"## Examples"
|
|
2344
|
+
];
|
|
2345
|
+
function createValidateCommand3() {
|
|
2346
|
+
return new Command20("validate").description("Validate all skill.yaml files and SKILL.md structure").action(async (_opts, cmd) => {
|
|
2347
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2348
|
+
const skillsDir = resolveSkillsDir();
|
|
2349
|
+
if (!fs11.existsSync(skillsDir)) {
|
|
2350
|
+
logger.info("No skills directory found.");
|
|
2351
|
+
process.exit(ExitCode.SUCCESS);
|
|
2352
|
+
return;
|
|
2353
|
+
}
|
|
2354
|
+
const entries = fs11.readdirSync(skillsDir, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
|
|
2355
|
+
const errors = [];
|
|
2356
|
+
let validated = 0;
|
|
2357
|
+
for (const name of entries) {
|
|
2358
|
+
const skillDir = path17.join(skillsDir, name);
|
|
2359
|
+
const yamlPath = path17.join(skillDir, "skill.yaml");
|
|
2360
|
+
const skillMdPath = path17.join(skillDir, "SKILL.md");
|
|
2361
|
+
if (!fs11.existsSync(yamlPath)) {
|
|
2362
|
+
errors.push(`${name}: missing skill.yaml`);
|
|
2363
|
+
continue;
|
|
2364
|
+
}
|
|
2365
|
+
try {
|
|
2366
|
+
const raw = fs11.readFileSync(yamlPath, "utf-8");
|
|
2367
|
+
const parsed = parse4(raw);
|
|
2368
|
+
const result = SkillMetadataSchema.safeParse(parsed);
|
|
2369
|
+
if (!result.success) {
|
|
2370
|
+
errors.push(`${name}/skill.yaml: ${result.error.message}`);
|
|
2371
|
+
continue;
|
|
2372
|
+
}
|
|
2373
|
+
if (fs11.existsSync(skillMdPath)) {
|
|
2374
|
+
const mdContent = fs11.readFileSync(skillMdPath, "utf-8");
|
|
2375
|
+
for (const section of REQUIRED_SECTIONS) {
|
|
2376
|
+
if (!mdContent.includes(section)) {
|
|
2377
|
+
errors.push(`${name}/SKILL.md: missing section "${section}"`);
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2380
|
+
if (!mdContent.trim().startsWith("# ")) {
|
|
2381
|
+
errors.push(`${name}/SKILL.md: must start with an h1 heading`);
|
|
2382
|
+
}
|
|
2383
|
+
if (result.data.type === "rigid") {
|
|
2384
|
+
if (!mdContent.includes("## Gates")) {
|
|
2385
|
+
errors.push(`${name}/SKILL.md: rigid skill missing "## Gates" section`);
|
|
2386
|
+
}
|
|
2387
|
+
if (!mdContent.includes("## Escalation")) {
|
|
2388
|
+
errors.push(`${name}/SKILL.md: rigid skill missing "## Escalation" section`);
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
} else {
|
|
2392
|
+
errors.push(`${name}: missing SKILL.md`);
|
|
2393
|
+
}
|
|
2394
|
+
validated++;
|
|
2395
|
+
} catch (e) {
|
|
2396
|
+
errors.push(`${name}: parse error \u2014 ${e instanceof Error ? e.message : String(e)}`);
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
if (globalOpts.json) {
|
|
2400
|
+
logger.raw({ validated, errors });
|
|
2401
|
+
} else if (errors.length > 0) {
|
|
2402
|
+
logger.error(`Validation failed with ${errors.length} error(s):`);
|
|
2403
|
+
for (const err of errors) console.error(` - ${err}`);
|
|
2404
|
+
process.exit(ExitCode.ERROR);
|
|
2405
|
+
} else {
|
|
2406
|
+
if (!globalOpts.quiet) {
|
|
2407
|
+
logger.success(`All ${validated} skill(s) validated successfully.`);
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
process.exit(ExitCode.SUCCESS);
|
|
2411
|
+
});
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
// src/commands/skill/info.ts
|
|
2415
|
+
import { Command as Command21 } from "commander";
|
|
2416
|
+
import * as fs12 from "fs";
|
|
2417
|
+
import * as path18 from "path";
|
|
2418
|
+
import { parse as parse5 } from "yaml";
|
|
2419
|
+
function createInfoCommand() {
|
|
2420
|
+
return new Command21("info").description("Show metadata for a skill").argument("<name>", "Skill name (e.g., harness-tdd)").action(async (name, _opts, cmd) => {
|
|
2421
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2422
|
+
const skillsDir = resolveSkillsDir();
|
|
2423
|
+
const skillDir = path18.join(skillsDir, name);
|
|
2424
|
+
if (!fs12.existsSync(skillDir)) {
|
|
2425
|
+
logger.error(`Skill not found: ${name}`);
|
|
2426
|
+
process.exit(ExitCode.ERROR);
|
|
2427
|
+
return;
|
|
2428
|
+
}
|
|
2429
|
+
const yamlPath = path18.join(skillDir, "skill.yaml");
|
|
2430
|
+
if (!fs12.existsSync(yamlPath)) {
|
|
2431
|
+
logger.error(`skill.yaml not found for skill: ${name}`);
|
|
2432
|
+
process.exit(ExitCode.ERROR);
|
|
2433
|
+
return;
|
|
2434
|
+
}
|
|
2435
|
+
try {
|
|
2436
|
+
const raw = fs12.readFileSync(yamlPath, "utf-8");
|
|
2437
|
+
const parsed = parse5(raw);
|
|
2438
|
+
const result = SkillMetadataSchema.safeParse(parsed);
|
|
2439
|
+
if (!result.success) {
|
|
2440
|
+
logger.error(`Invalid skill.yaml: ${result.error.message}`);
|
|
2441
|
+
process.exit(ExitCode.ERROR);
|
|
2442
|
+
return;
|
|
2443
|
+
}
|
|
2444
|
+
const skill = result.data;
|
|
2445
|
+
if (globalOpts.json) {
|
|
2446
|
+
logger.raw(skill);
|
|
2447
|
+
} else {
|
|
2448
|
+
console.log(`Name: ${skill.name}`);
|
|
2449
|
+
console.log(`Version: ${skill.version}`);
|
|
2450
|
+
console.log(`Type: ${skill.type}`);
|
|
2451
|
+
console.log(`Description: ${skill.description}`);
|
|
2452
|
+
console.log(`Triggers: ${skill.triggers.join(", ")}`);
|
|
2453
|
+
console.log(`Platforms: ${skill.platforms.join(", ")}`);
|
|
2454
|
+
console.log(`Tools: ${skill.tools.join(", ")}`);
|
|
2455
|
+
if (skill.phases && skill.phases.length > 0) {
|
|
2456
|
+
console.log(`Phases:`);
|
|
2457
|
+
for (const p of skill.phases) {
|
|
2458
|
+
console.log(` - ${p.name}: ${p.description}`);
|
|
2459
|
+
}
|
|
2460
|
+
}
|
|
2461
|
+
if (skill.depends_on.length > 0) {
|
|
2462
|
+
console.log(`Depends on: ${skill.depends_on.join(", ")}`);
|
|
2463
|
+
}
|
|
2464
|
+
console.log(`Persistent: ${skill.state.persistent}`);
|
|
2465
|
+
}
|
|
2466
|
+
} catch (e) {
|
|
2467
|
+
logger.error(`Failed to read skill: ${e instanceof Error ? e.message : String(e)}`);
|
|
2468
|
+
process.exit(ExitCode.ERROR);
|
|
2469
|
+
return;
|
|
2470
|
+
}
|
|
2471
|
+
process.exit(ExitCode.SUCCESS);
|
|
2472
|
+
});
|
|
2473
|
+
}
|
|
2474
|
+
|
|
2475
|
+
// src/commands/skill/index.ts
|
|
2476
|
+
function createSkillCommand() {
|
|
2477
|
+
const command = new Command22("skill").description("Skill management commands");
|
|
2478
|
+
command.addCommand(createListCommand2());
|
|
2479
|
+
command.addCommand(createRunCommand2());
|
|
2480
|
+
command.addCommand(createValidateCommand3());
|
|
2481
|
+
command.addCommand(createInfoCommand());
|
|
2482
|
+
return command;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
// src/commands/state/index.ts
|
|
2486
|
+
import { Command as Command26 } from "commander";
|
|
2487
|
+
|
|
2488
|
+
// src/commands/state/show.ts
|
|
2489
|
+
import { Command as Command23 } from "commander";
|
|
2490
|
+
import * as path19 from "path";
|
|
2491
|
+
import { loadState } from "@harness-engineering/core";
|
|
2492
|
+
function createShowCommand() {
|
|
2493
|
+
return new Command23("show").description("Show current project state").option("--path <path>", "Project root path", ".").action(async (opts, cmd) => {
|
|
2494
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2495
|
+
const projectPath = path19.resolve(opts.path);
|
|
2496
|
+
const result = await loadState(projectPath);
|
|
2497
|
+
if (!result.ok) {
|
|
2498
|
+
logger.error(result.error.message);
|
|
2499
|
+
process.exit(ExitCode.ERROR);
|
|
2500
|
+
return;
|
|
2501
|
+
}
|
|
2502
|
+
const state = result.value;
|
|
2503
|
+
if (globalOpts.json) {
|
|
2504
|
+
logger.raw(state);
|
|
2505
|
+
} else if (globalOpts.quiet) {
|
|
2506
|
+
console.log(JSON.stringify(state));
|
|
2507
|
+
} else {
|
|
2508
|
+
console.log(`Schema Version: ${state.schemaVersion}`);
|
|
2509
|
+
if (state.position.phase) console.log(`Phase: ${state.position.phase}`);
|
|
2510
|
+
if (state.position.task) console.log(`Task: ${state.position.task}`);
|
|
2511
|
+
if (state.lastSession) {
|
|
2512
|
+
console.log(`Last Session: ${state.lastSession.date} \u2014 ${state.lastSession.summary}`);
|
|
2513
|
+
}
|
|
2514
|
+
if (Object.keys(state.progress).length > 0) {
|
|
2515
|
+
console.log("\nProgress:");
|
|
2516
|
+
for (const [task, status] of Object.entries(state.progress)) {
|
|
2517
|
+
console.log(` ${task}: ${status}`);
|
|
2518
|
+
}
|
|
2519
|
+
}
|
|
2520
|
+
if (state.decisions.length > 0) {
|
|
2521
|
+
console.log(`
|
|
2522
|
+
Decisions: ${state.decisions.length}`);
|
|
2523
|
+
}
|
|
2524
|
+
if (state.blockers.length > 0) {
|
|
2525
|
+
const open = state.blockers.filter((b) => b.status === "open").length;
|
|
2526
|
+
console.log(`Blockers: ${open} open / ${state.blockers.length} total`);
|
|
2527
|
+
}
|
|
2528
|
+
}
|
|
2529
|
+
process.exit(ExitCode.SUCCESS);
|
|
2530
|
+
});
|
|
2531
|
+
}
|
|
2532
|
+
|
|
2533
|
+
// src/commands/state/reset.ts
|
|
2534
|
+
import { Command as Command24 } from "commander";
|
|
2535
|
+
import * as fs13 from "fs";
|
|
2536
|
+
import * as path20 from "path";
|
|
2537
|
+
import * as readline from "readline";
|
|
2538
|
+
function createResetCommand() {
|
|
2539
|
+
return new Command24("reset").description("Reset project state (deletes .harness/state.json)").option("--path <path>", "Project root path", ".").option("--yes", "Skip confirmation prompt").action(async (opts, _cmd) => {
|
|
2540
|
+
const projectPath = path20.resolve(opts.path);
|
|
2541
|
+
const statePath = path20.join(projectPath, ".harness", "state.json");
|
|
2542
|
+
if (!fs13.existsSync(statePath)) {
|
|
2543
|
+
logger.info("No state file found. Nothing to reset.");
|
|
2544
|
+
process.exit(ExitCode.SUCCESS);
|
|
2545
|
+
return;
|
|
2546
|
+
}
|
|
2547
|
+
if (!opts.yes) {
|
|
2548
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
2549
|
+
const answer = await new Promise((resolve13) => {
|
|
2550
|
+
rl.question("Reset project state? This cannot be undone. [y/N] ", resolve13);
|
|
2551
|
+
});
|
|
2552
|
+
rl.close();
|
|
2553
|
+
if (answer.toLowerCase() !== "y" && answer.toLowerCase() !== "yes") {
|
|
2554
|
+
logger.info("Reset cancelled.");
|
|
2555
|
+
process.exit(ExitCode.SUCCESS);
|
|
2556
|
+
return;
|
|
2557
|
+
}
|
|
2558
|
+
}
|
|
2559
|
+
try {
|
|
2560
|
+
fs13.unlinkSync(statePath);
|
|
2561
|
+
logger.success("Project state reset.");
|
|
2562
|
+
} catch (e) {
|
|
2563
|
+
logger.error(`Failed to reset state: ${e instanceof Error ? e.message : String(e)}`);
|
|
2564
|
+
process.exit(ExitCode.ERROR);
|
|
2565
|
+
return;
|
|
2566
|
+
}
|
|
2567
|
+
process.exit(ExitCode.SUCCESS);
|
|
2568
|
+
});
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2571
|
+
// src/commands/state/learn.ts
|
|
2572
|
+
import { Command as Command25 } from "commander";
|
|
2573
|
+
import * as path21 from "path";
|
|
2574
|
+
import { appendLearning } from "@harness-engineering/core";
|
|
2575
|
+
function createLearnCommand() {
|
|
2576
|
+
return new Command25("learn").description("Append a learning to .harness/learnings.md").argument("<message>", "The learning to record").option("--path <path>", "Project root path", ".").action(async (message, opts, _cmd) => {
|
|
2577
|
+
const projectPath = path21.resolve(opts.path);
|
|
2578
|
+
const result = await appendLearning(projectPath, message);
|
|
2579
|
+
if (!result.ok) {
|
|
2580
|
+
logger.error(result.error.message);
|
|
2581
|
+
process.exit(ExitCode.ERROR);
|
|
2582
|
+
return;
|
|
2583
|
+
}
|
|
2584
|
+
logger.success(`Learning recorded.`);
|
|
2585
|
+
process.exit(ExitCode.SUCCESS);
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
// src/commands/state/index.ts
|
|
2590
|
+
function createStateCommand() {
|
|
2591
|
+
const command = new Command26("state").description("Project state management commands");
|
|
2592
|
+
command.addCommand(createShowCommand());
|
|
2593
|
+
command.addCommand(createResetCommand());
|
|
2594
|
+
command.addCommand(createLearnCommand());
|
|
2595
|
+
return command;
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2598
|
+
// src/commands/check-phase-gate.ts
|
|
2599
|
+
import { Command as Command27 } from "commander";
|
|
2600
|
+
import * as path22 from "path";
|
|
2601
|
+
import * as fs14 from "fs";
|
|
2602
|
+
import { Ok as Ok16 } from "@harness-engineering/core";
|
|
2603
|
+
function resolveSpecPath(implFile, implPattern, specPattern, cwd) {
|
|
2604
|
+
const relImpl = path22.relative(cwd, implFile);
|
|
2605
|
+
const implBase = (implPattern.split("*")[0] ?? "").replace(/\/+$/, "");
|
|
2606
|
+
const afterBase = relImpl.startsWith(implBase + "/") ? relImpl.slice(implBase.length + 1) : relImpl;
|
|
2607
|
+
const segments = afterBase.split("/");
|
|
2608
|
+
const firstSegment = segments[0] ?? "";
|
|
2609
|
+
const feature = segments.length > 1 ? firstSegment : path22.basename(firstSegment, path22.extname(firstSegment));
|
|
2610
|
+
const specRelative = specPattern.replace("{feature}", feature);
|
|
2611
|
+
return path22.resolve(cwd, specRelative);
|
|
2612
|
+
}
|
|
2613
|
+
async function runCheckPhaseGate(options) {
|
|
2614
|
+
const configResult = resolveConfig(options.configPath);
|
|
2615
|
+
if (!configResult.ok) {
|
|
2616
|
+
return configResult;
|
|
2617
|
+
}
|
|
2618
|
+
const config = configResult.value;
|
|
2619
|
+
const cwd = options.cwd ?? (options.configPath ? path22.dirname(path22.resolve(options.configPath)) : process.cwd());
|
|
2620
|
+
if (!config.phaseGates?.enabled) {
|
|
2621
|
+
return Ok16({
|
|
2622
|
+
pass: true,
|
|
2623
|
+
skipped: true,
|
|
2624
|
+
missingSpecs: [],
|
|
2625
|
+
checkedFiles: 0
|
|
2626
|
+
});
|
|
2627
|
+
}
|
|
2628
|
+
const phaseGates = config.phaseGates;
|
|
2629
|
+
const missingSpecs = [];
|
|
2630
|
+
let checkedFiles = 0;
|
|
2631
|
+
for (const mapping of phaseGates.mappings) {
|
|
2632
|
+
const implFiles = await findFiles(mapping.implPattern, cwd);
|
|
2633
|
+
for (const implFile of implFiles) {
|
|
2634
|
+
checkedFiles++;
|
|
2635
|
+
const expectedSpec = resolveSpecPath(implFile, mapping.implPattern, mapping.specPattern, cwd);
|
|
2636
|
+
if (!fs14.existsSync(expectedSpec)) {
|
|
2637
|
+
missingSpecs.push({
|
|
2638
|
+
implFile: path22.relative(cwd, implFile),
|
|
2639
|
+
expectedSpec: path22.relative(cwd, expectedSpec)
|
|
2640
|
+
});
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
const pass = missingSpecs.length === 0;
|
|
2645
|
+
return Ok16({
|
|
2646
|
+
pass,
|
|
2647
|
+
skipped: false,
|
|
2648
|
+
severity: phaseGates.severity,
|
|
2649
|
+
missingSpecs,
|
|
2650
|
+
checkedFiles
|
|
2651
|
+
});
|
|
2652
|
+
}
|
|
2653
|
+
function createCheckPhaseGateCommand() {
|
|
2654
|
+
const command = new Command27("check-phase-gate").description("Verify that implementation files have matching spec documents").action(async (_opts, cmd) => {
|
|
2655
|
+
const globalOpts = cmd.optsWithGlobals();
|
|
2656
|
+
const mode = globalOpts.json ? OutputMode.JSON : globalOpts.quiet ? OutputMode.QUIET : globalOpts.verbose ? OutputMode.VERBOSE : OutputMode.TEXT;
|
|
2657
|
+
const formatter = new OutputFormatter(mode);
|
|
2658
|
+
const result = await runCheckPhaseGate({
|
|
2659
|
+
configPath: globalOpts.config,
|
|
2660
|
+
json: globalOpts.json,
|
|
2661
|
+
verbose: globalOpts.verbose,
|
|
2662
|
+
quiet: globalOpts.quiet
|
|
2663
|
+
});
|
|
2664
|
+
if (!result.ok) {
|
|
2665
|
+
if (mode === OutputMode.JSON) {
|
|
2666
|
+
console.log(JSON.stringify({ error: result.error.message }));
|
|
2667
|
+
} else {
|
|
2668
|
+
logger.error(result.error.message);
|
|
2669
|
+
}
|
|
2670
|
+
process.exit(result.error.exitCode);
|
|
2671
|
+
}
|
|
2672
|
+
const value = result.value;
|
|
2673
|
+
if (value.skipped) {
|
|
2674
|
+
if (mode === OutputMode.JSON) {
|
|
2675
|
+
console.log(formatter.format(value));
|
|
2676
|
+
} else if (mode !== OutputMode.QUIET) {
|
|
2677
|
+
logger.dim("Phase gates not enabled, skipping.");
|
|
2678
|
+
}
|
|
2679
|
+
process.exit(ExitCode.SUCCESS);
|
|
2680
|
+
}
|
|
2681
|
+
const output = formatter.formatValidation({
|
|
2682
|
+
valid: value.pass,
|
|
2683
|
+
issues: value.missingSpecs.map((m) => ({
|
|
2684
|
+
file: m.implFile,
|
|
2685
|
+
message: `Missing spec: ${m.expectedSpec}`
|
|
2686
|
+
}))
|
|
2687
|
+
});
|
|
2688
|
+
if (output) {
|
|
2689
|
+
console.log(output);
|
|
2690
|
+
}
|
|
2691
|
+
const summary = formatter.formatSummary(
|
|
2692
|
+
"Phase gate check",
|
|
2693
|
+
`${value.checkedFiles} files checked, ${value.missingSpecs.length} missing specs`,
|
|
2694
|
+
value.pass
|
|
2695
|
+
);
|
|
2696
|
+
if (summary) {
|
|
2697
|
+
console.log(summary);
|
|
2698
|
+
}
|
|
2699
|
+
if (!value.pass && value.severity === "error") {
|
|
2700
|
+
process.exit(ExitCode.VALIDATION_FAILED);
|
|
2701
|
+
}
|
|
2702
|
+
process.exit(ExitCode.SUCCESS);
|
|
2703
|
+
});
|
|
2704
|
+
return command;
|
|
2705
|
+
}
|
|
2706
|
+
|
|
2707
|
+
// src/index.ts
|
|
2708
|
+
function createProgram() {
|
|
2709
|
+
const program = new Command28();
|
|
2710
|
+
program.name("harness").description("CLI for Harness Engineering toolkit").version(VERSION).option("-c, --config <path>", "Path to config file").option("--json", "Output as JSON").option("--verbose", "Verbose output").option("--quiet", "Minimal output");
|
|
2711
|
+
program.addCommand(createValidateCommand());
|
|
2712
|
+
program.addCommand(createCheckDepsCommand());
|
|
2713
|
+
program.addCommand(createCheckDocsCommand());
|
|
2714
|
+
program.addCommand(createInitCommand());
|
|
2715
|
+
program.addCommand(createCleanupCommand());
|
|
2716
|
+
program.addCommand(createFixDriftCommand());
|
|
2717
|
+
program.addCommand(createAgentCommand());
|
|
2718
|
+
program.addCommand(createAddCommand());
|
|
2719
|
+
program.addCommand(createLinterCommand());
|
|
2720
|
+
program.addCommand(createPersonaCommand());
|
|
2721
|
+
program.addCommand(createSkillCommand());
|
|
2722
|
+
program.addCommand(createStateCommand());
|
|
2723
|
+
program.addCommand(createCheckPhaseGateCommand());
|
|
2724
|
+
program.addCommand(createCreateSkillCommand());
|
|
2725
|
+
program.addCommand(createSetupMcpCommand());
|
|
2726
|
+
return program;
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
export {
|
|
2730
|
+
findConfigFile,
|
|
2731
|
+
loadConfig,
|
|
2732
|
+
resolveConfig,
|
|
2733
|
+
OutputMode,
|
|
2734
|
+
OutputFormatter,
|
|
2735
|
+
TemplateEngine,
|
|
2736
|
+
loadPersona,
|
|
2737
|
+
listPersonas,
|
|
2738
|
+
runPersona,
|
|
2739
|
+
generateRuntime,
|
|
2740
|
+
generateAgentsMd,
|
|
2741
|
+
generateCIWorkflow,
|
|
2742
|
+
buildPreamble,
|
|
2743
|
+
createProgram
|
|
2744
|
+
};
|