@contractspec/bundle.workspace 1.57.0 → 1.58.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/adapters/ai.d.ts +10 -0
- package/dist/adapters/ai.d.ts.map +1 -0
- package/dist/adapters/factory.d.ts +27 -0
- package/dist/adapters/factory.d.ts.map +1 -0
- package/dist/adapters/fs.bun.d.ts +9 -0
- package/dist/adapters/fs.bun.d.ts.map +1 -0
- package/dist/adapters/fs.d.ts +3 -0
- package/dist/adapters/fs.d.ts.map +1 -0
- package/dist/adapters/fs.node.d.ts +9 -0
- package/dist/adapters/fs.node.d.ts.map +1 -0
- package/dist/adapters/fs.node.test.d.ts +2 -0
- package/dist/adapters/fs.node.test.d.ts.map +1 -0
- package/dist/adapters/git.d.ts +9 -0
- package/dist/adapters/git.d.ts.map +1 -0
- package/dist/adapters/git.test.d.ts +2 -0
- package/dist/adapters/git.test.d.ts.map +1 -0
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/logger.d.ts +18 -0
- package/dist/adapters/logger.d.ts.map +1 -0
- package/dist/adapters/logger.test.d.ts +2 -0
- package/dist/adapters/logger.test.d.ts.map +1 -0
- package/dist/adapters/watcher.d.ts +9 -0
- package/dist/adapters/watcher.d.ts.map +1 -0
- package/dist/adapters/watcher.test.d.ts +2 -0
- package/dist/adapters/watcher.test.d.ts.map +1 -0
- package/dist/adapters/workspace.d.ts +145 -0
- package/dist/adapters/workspace.d.ts.map +1 -0
- package/dist/adapters/workspace.test.d.ts +7 -0
- package/dist/adapters/workspace.test.d.ts.map +1 -0
- package/dist/ai/agents/claude-code-agent.d.ts +21 -0
- package/dist/ai/agents/claude-code-agent.d.ts.map +1 -0
- package/dist/ai/agents/cursor-agent.d.ts +67 -0
- package/dist/ai/agents/cursor-agent.d.ts.map +1 -0
- package/dist/ai/agents/index.d.ts +10 -0
- package/dist/ai/agents/index.d.ts.map +1 -0
- package/dist/ai/agents/openai-codex-agent.d.ts +21 -0
- package/dist/ai/agents/openai-codex-agent.d.ts.map +1 -0
- package/dist/ai/agents/orchestrator.d.ts +49 -0
- package/dist/ai/agents/orchestrator.d.ts.map +1 -0
- package/dist/ai/agents/simple-agent.d.ts +16 -0
- package/dist/ai/agents/simple-agent.d.ts.map +1 -0
- package/dist/ai/agents/types.d.ts +33 -0
- package/dist/ai/agents/types.d.ts.map +1 -0
- package/dist/ai/agents/unified-adapter.d.ts +16 -0
- package/dist/ai/agents/unified-adapter.d.ts.map +1 -0
- package/dist/ai/index.d.ts +7 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/prompts/code-generation.d.ts +21 -0
- package/dist/ai/prompts/code-generation.d.ts.map +1 -0
- package/dist/ai/prompts/index.d.ts +6 -0
- package/dist/ai/prompts/index.d.ts.map +1 -0
- package/dist/ai/prompts/spec-creation.d.ts +22 -0
- package/dist/ai/prompts/spec-creation.d.ts.map +1 -0
- package/dist/ai/providers.d.ts +14 -0
- package/dist/ai/providers.d.ts.map +1 -0
- package/dist/contracts/features/cli.feature.d.ts +2 -0
- package/dist/contracts/features/cli.feature.d.ts.map +1 -0
- package/dist/contracts/operations/init.operation.d.ts +31 -0
- package/dist/contracts/operations/init.operation.d.ts.map +1 -0
- package/dist/contracts/operations/test.operation.d.ts +10 -0
- package/dist/contracts/operations/test.operation.d.ts.map +1 -0
- package/dist/contracts/operations/validate.operation.d.ts +12 -0
- package/dist/contracts/operations/validate.operation.d.ts.map +1 -0
- package/dist/formatters/index.d.ts +7 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/json.d.ts +57 -0
- package/dist/formatters/json.d.ts.map +1 -0
- package/dist/formatters/json.test.d.ts +2 -0
- package/dist/formatters/json.test.d.ts.map +1 -0
- package/dist/formatters/sarif.d.ts +105 -0
- package/dist/formatters/sarif.d.ts.map +1 -0
- package/dist/formatters/sarif.test.d.ts +2 -0
- package/dist/formatters/sarif.test.d.ts.map +1 -0
- package/dist/formatters/text.d.ts +36 -0
- package/dist/formatters/text.d.ts.map +1 -0
- package/dist/formatters/text.test.d.ts +2 -0
- package/dist/formatters/text.test.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17012 -0
- package/dist/node/index.js +17012 -0
- package/dist/ports/ai.d.ts +61 -0
- package/dist/ports/ai.d.ts.map +1 -0
- package/dist/ports/fs.d.ts +78 -0
- package/dist/ports/fs.d.ts.map +1 -0
- package/dist/ports/git.d.ts +48 -0
- package/dist/ports/git.d.ts.map +1 -0
- package/dist/ports/index.d.ts +11 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/logger.d.ts +80 -0
- package/dist/ports/logger.d.ts.map +1 -0
- package/dist/ports/rulesync.d.ts +36 -0
- package/dist/ports/rulesync.d.ts.map +1 -0
- package/dist/ports/watcher.d.ts +49 -0
- package/dist/ports/watcher.d.ts.map +1 -0
- package/dist/registry.d.ts +10 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/services/action-drift/index.d.ts +3 -0
- package/dist/services/action-drift/index.d.ts.map +1 -0
- package/dist/services/action-drift/service.d.ts +6 -0
- package/dist/services/action-drift/service.d.ts.map +1 -0
- package/dist/services/action-drift/types.d.ts +20 -0
- package/dist/services/action-drift/types.d.ts.map +1 -0
- package/dist/services/action-pr/index.d.ts +3 -0
- package/dist/services/action-pr/index.d.ts.map +1 -0
- package/dist/services/action-pr/service.d.ts +13 -0
- package/dist/services/action-pr/service.d.ts.map +1 -0
- package/dist/services/action-pr/types.d.ts +64 -0
- package/dist/services/action-pr/types.d.ts.map +1 -0
- package/dist/services/agent-guide/adapters/claude-code.d.ts +36 -0
- package/dist/services/agent-guide/adapters/claude-code.d.ts.map +1 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts +40 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +1 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts +54 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +1 -0
- package/dist/services/agent-guide/adapters/index.d.ts +24 -0
- package/dist/services/agent-guide/adapters/index.d.ts.map +1 -0
- package/dist/services/agent-guide/agent-guide-service.d.ts +57 -0
- package/dist/services/agent-guide/agent-guide-service.d.ts.map +1 -0
- package/dist/services/agent-guide/index.d.ts +12 -0
- package/dist/services/agent-guide/index.d.ts.map +1 -0
- package/dist/services/agent-guide/types.d.ts +56 -0
- package/dist/services/agent-guide/types.d.ts.map +1 -0
- package/dist/services/build.d.ts +62 -0
- package/dist/services/build.d.ts.map +1 -0
- package/dist/services/build.test.d.ts +2 -0
- package/dist/services/build.test.d.ts.map +1 -0
- package/dist/services/ci-check/checks/coverage.d.ts +18 -0
- package/dist/services/ci-check/checks/coverage.d.ts.map +1 -0
- package/dist/services/ci-check/checks/deps.d.ts +14 -0
- package/dist/services/ci-check/checks/deps.d.ts.map +1 -0
- package/dist/services/ci-check/checks/doctor.d.ts +14 -0
- package/dist/services/ci-check/checks/doctor.d.ts.map +1 -0
- package/dist/services/ci-check/checks/drift.d.ts +16 -0
- package/dist/services/ci-check/checks/drift.d.ts.map +1 -0
- package/dist/services/ci-check/checks/handlers.d.ts +15 -0
- package/dist/services/ci-check/checks/handlers.d.ts.map +1 -0
- package/dist/services/ci-check/checks/implementation.d.ts +15 -0
- package/dist/services/ci-check/checks/implementation.d.ts.map +1 -0
- package/dist/services/ci-check/checks/index.d.ts +15 -0
- package/dist/services/ci-check/checks/index.d.ts.map +1 -0
- package/dist/services/ci-check/checks/integrity.d.ts +14 -0
- package/dist/services/ci-check/checks/integrity.d.ts.map +1 -0
- package/dist/services/ci-check/checks/layers.d.ts +14 -0
- package/dist/services/ci-check/checks/layers.d.ts.map +1 -0
- package/dist/services/ci-check/checks/structure.d.ts +10 -0
- package/dist/services/ci-check/checks/structure.d.ts.map +1 -0
- package/dist/services/ci-check/checks/test-refs.d.ts +13 -0
- package/dist/services/ci-check/checks/test-refs.d.ts.map +1 -0
- package/dist/services/ci-check/checks/tests.d.ts +15 -0
- package/dist/services/ci-check/checks/tests.d.ts.map +1 -0
- package/dist/services/ci-check/ci-check-service.d.ts +17 -0
- package/dist/services/ci-check/ci-check-service.d.ts.map +1 -0
- package/dist/services/ci-check/index.d.ts +6 -0
- package/dist/services/ci-check/index.d.ts.map +1 -0
- package/dist/services/ci-check/types.d.ts +147 -0
- package/dist/services/ci-check/types.d.ts.map +1 -0
- package/dist/services/ci-check/utils.d.ts +28 -0
- package/dist/services/ci-check/utils.d.ts.map +1 -0
- package/dist/services/clean.d.ts +41 -0
- package/dist/services/clean.d.ts.map +1 -0
- package/dist/services/clean.test.d.ts +2 -0
- package/dist/services/clean.test.d.ts.map +1 -0
- package/dist/services/config.d.ts +14 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/coverage/index.d.ts +11 -0
- package/dist/services/coverage/index.d.ts.map +1 -0
- package/dist/services/coverage/parsers/index.d.ts +39 -0
- package/dist/services/coverage/parsers/index.d.ts.map +1 -0
- package/dist/services/coverage/parsers/istanbul-parser.d.ts +18 -0
- package/dist/services/coverage/parsers/istanbul-parser.d.ts.map +1 -0
- package/dist/services/coverage/types.d.ts +117 -0
- package/dist/services/coverage/types.d.ts.map +1 -0
- package/dist/services/coverage/validator.d.ts +38 -0
- package/dist/services/coverage/validator.d.ts.map +1 -0
- package/dist/services/create/ai-generator.d.ts +84 -0
- package/dist/services/create/ai-generator.d.ts.map +1 -0
- package/dist/services/create/index.d.ts +17 -0
- package/dist/services/create/index.d.ts.map +1 -0
- package/dist/services/create/templates.d.ts +7 -0
- package/dist/services/create/templates.d.ts.map +1 -0
- package/dist/services/deps.d.ts +51 -0
- package/dist/services/deps.d.ts.map +1 -0
- package/dist/services/deps.test.d.ts +2 -0
- package/dist/services/deps.test.d.ts.map +1 -0
- package/dist/services/diff.d.ts +32 -0
- package/dist/services/diff.d.ts.map +1 -0
- package/dist/services/diff.test.d.ts +2 -0
- package/dist/services/diff.test.d.ts.map +1 -0
- package/dist/services/docs/docs-service.d.ts +16 -0
- package/dist/services/docs/docs-service.d.ts.map +1 -0
- package/dist/services/docs/index.d.ts +2 -0
- package/dist/services/docs/index.d.ts.map +1 -0
- package/dist/services/doctor/checks/ai.d.ts +10 -0
- package/dist/services/doctor/checks/ai.d.ts.map +1 -0
- package/dist/services/doctor/checks/cli.d.ts +10 -0
- package/dist/services/doctor/checks/cli.d.ts.map +1 -0
- package/dist/services/doctor/checks/config.d.ts +10 -0
- package/dist/services/doctor/checks/config.d.ts.map +1 -0
- package/dist/services/doctor/checks/deps.d.ts +10 -0
- package/dist/services/doctor/checks/deps.d.ts.map +1 -0
- package/dist/services/doctor/checks/index.d.ts +11 -0
- package/dist/services/doctor/checks/index.d.ts.map +1 -0
- package/dist/services/doctor/checks/layers.d.ts +12 -0
- package/dist/services/doctor/checks/layers.d.ts.map +1 -0
- package/dist/services/doctor/checks/mcp.d.ts +10 -0
- package/dist/services/doctor/checks/mcp.d.ts.map +1 -0
- package/dist/services/doctor/checks/workspace.d.ts +12 -0
- package/dist/services/doctor/checks/workspace.d.ts.map +1 -0
- package/dist/services/doctor/doctor-service.d.ts +24 -0
- package/dist/services/doctor/doctor-service.d.ts.map +1 -0
- package/dist/services/doctor/doctor-service.test.d.ts +2 -0
- package/dist/services/doctor/doctor-service.test.d.ts.map +1 -0
- package/dist/services/doctor/index.d.ts +8 -0
- package/dist/services/doctor/index.d.ts.map +1 -0
- package/dist/services/doctor/types.d.ts +115 -0
- package/dist/services/doctor/types.d.ts.map +1 -0
- package/dist/services/drift.d.ts +28 -0
- package/dist/services/drift.d.ts.map +1 -0
- package/dist/services/extract.d.ts +8 -0
- package/dist/services/extract.d.ts.map +1 -0
- package/dist/services/extract.test.d.ts +2 -0
- package/dist/services/extract.test.d.ts.map +1 -0
- package/dist/services/features/completion.d.ts +16 -0
- package/dist/services/features/completion.d.ts.map +1 -0
- package/dist/services/features/completion.test.d.ts +2 -0
- package/dist/services/features/completion.test.d.ts.map +1 -0
- package/dist/services/features/feature-editor.d.ts +24 -0
- package/dist/services/features/feature-editor.d.ts.map +1 -0
- package/dist/services/features/index.d.ts +4 -0
- package/dist/services/features/index.d.ts.map +1 -0
- package/dist/services/features/validation.d.ts +16 -0
- package/dist/services/features/validation.d.ts.map +1 -0
- package/dist/services/features/validation.test.d.ts +2 -0
- package/dist/services/features/validation.test.d.ts.map +1 -0
- package/dist/services/fix/fix-link-formatter.d.ts +12 -0
- package/dist/services/fix/fix-link-formatter.d.ts.map +1 -0
- package/dist/services/fix/fix-service.d.ts +74 -0
- package/dist/services/fix/fix-service.d.ts.map +1 -0
- package/dist/services/fix/format-applicator.d.ts +10 -0
- package/dist/services/fix/format-applicator.d.ts.map +1 -0
- package/dist/services/fix/index.d.ts +9 -0
- package/dist/services/fix/index.d.ts.map +1 -0
- package/dist/services/fix/path-resolver.d.ts +14 -0
- package/dist/services/fix/path-resolver.d.ts.map +1 -0
- package/dist/services/fix/schemas.d.ts +12 -0
- package/dist/services/fix/schemas.d.ts.map +1 -0
- package/dist/services/fix/strategies/implement-ai.d.ts +18 -0
- package/dist/services/fix/strategies/implement-ai.d.ts.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.d.ts +14 -0
- package/dist/services/fix/strategies/implement-skeleton.d.ts.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.test.d.ts +2 -0
- package/dist/services/fix/strategies/implement-skeleton.test.d.ts.map +1 -0
- package/dist/services/fix/strategies/index.d.ts +7 -0
- package/dist/services/fix/strategies/index.d.ts.map +1 -0
- package/dist/services/fix/strategies/remove-reference.d.ts +17 -0
- package/dist/services/fix/strategies/remove-reference.d.ts.map +1 -0
- package/dist/services/fix/strategies/remove-reference.test.d.ts +2 -0
- package/dist/services/fix/strategies/remove-reference.test.d.ts.map +1 -0
- package/dist/services/fix/types.d.ts +207 -0
- package/dist/services/fix/types.d.ts.map +1 -0
- package/dist/services/formatter.d.ts +12 -0
- package/dist/services/formatter.d.ts.map +1 -0
- package/dist/services/gap.d.ts +14 -0
- package/dist/services/gap.d.ts.map +1 -0
- package/dist/services/gap.test.d.ts +2 -0
- package/dist/services/gap.test.d.ts.map +1 -0
- package/dist/services/generate-artifacts.d.ts +7 -0
- package/dist/services/generate-artifacts.d.ts.map +1 -0
- package/dist/services/generate-artifacts.test.d.ts +2 -0
- package/dist/services/generate-artifacts.test.d.ts.map +1 -0
- package/dist/services/hooks/hooks-service.d.ts +28 -0
- package/dist/services/hooks/hooks-service.d.ts.map +1 -0
- package/dist/services/hooks/index.d.ts +8 -0
- package/dist/services/hooks/index.d.ts.map +1 -0
- package/dist/services/hooks/types.d.ts +53 -0
- package/dist/services/hooks/types.d.ts.map +1 -0
- package/dist/services/impact/formatters.d.ts +48 -0
- package/dist/services/impact/formatters.d.ts.map +1 -0
- package/dist/services/impact/impact-detection-service.d.ts +23 -0
- package/dist/services/impact/impact-detection-service.d.ts.map +1 -0
- package/dist/services/impact/impact.docblock.d.ts +10 -0
- package/dist/services/impact/impact.docblock.d.ts.map +1 -0
- package/dist/services/impact/index.d.ts +7 -0
- package/dist/services/impact/index.d.ts.map +1 -0
- package/dist/services/impact/types.d.ts +62 -0
- package/dist/services/impact/types.d.ts.map +1 -0
- package/dist/services/implementation/discovery.d.ts +31 -0
- package/dist/services/implementation/discovery.d.ts.map +1 -0
- package/dist/services/implementation/index.d.ts +7 -0
- package/dist/services/implementation/index.d.ts.map +1 -0
- package/dist/services/implementation/resolver/conventions.d.ts +16 -0
- package/dist/services/implementation/resolver/conventions.d.ts.map +1 -0
- package/dist/services/implementation/resolver/conventions.test.d.ts +2 -0
- package/dist/services/implementation/resolver/conventions.test.d.ts.map +1 -0
- package/dist/services/implementation/resolver/index.d.ts +29 -0
- package/dist/services/implementation/resolver/index.d.ts.map +1 -0
- package/dist/services/implementation/resolver/parsers.d.ts +10 -0
- package/dist/services/implementation/resolver/parsers.d.ts.map +1 -0
- package/dist/services/implementation/resolver/parsers.test.d.ts +2 -0
- package/dist/services/implementation/resolver/parsers.test.d.ts.map +1 -0
- package/dist/services/implementation/resolver/status.d.ts +19 -0
- package/dist/services/implementation/resolver/status.d.ts.map +1 -0
- package/dist/services/implementation/resolver/status.test.d.ts +2 -0
- package/dist/services/implementation/resolver/status.test.d.ts.map +1 -0
- package/dist/services/implementation/types.d.ts +89 -0
- package/dist/services/implementation/types.d.ts.map +1 -0
- package/dist/services/import/import-service.d.ts +47 -0
- package/dist/services/import/import-service.d.ts.map +1 -0
- package/dist/services/import/index.d.ts +9 -0
- package/dist/services/import/index.d.ts.map +1 -0
- package/dist/services/import/report-service.d.ts +31 -0
- package/dist/services/import/report-service.d.ts.map +1 -0
- package/dist/services/import/verify-service.d.ts +67 -0
- package/dist/services/import/verify-service.d.ts.map +1 -0
- package/dist/services/index.d.ts +49 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/integrity-diagram.d.ts +39 -0
- package/dist/services/integrity-diagram.d.ts.map +1 -0
- package/dist/services/integrity.d.ts +155 -0
- package/dist/services/integrity.d.ts.map +1 -0
- package/dist/services/integrity.test.d.ts +2 -0
- package/dist/services/integrity.test.d.ts.map +1 -0
- package/dist/services/layer-discovery.d.ts +81 -0
- package/dist/services/layer-discovery.d.ts.map +1 -0
- package/dist/services/layer-discovery.test.d.ts +2 -0
- package/dist/services/layer-discovery.test.d.ts.map +1 -0
- package/dist/services/list.d.ts +36 -0
- package/dist/services/list.d.ts.map +1 -0
- package/dist/services/list.test.d.ts +2 -0
- package/dist/services/list.test.d.ts.map +1 -0
- package/dist/services/llm/index.d.ts +29 -0
- package/dist/services/llm/index.d.ts.map +1 -0
- package/dist/services/llm/verify-static.d.ts +27 -0
- package/dist/services/llm/verify-static.d.ts.map +1 -0
- package/dist/services/modules/module-resolver.d.ts +24 -0
- package/dist/services/modules/module-resolver.d.ts.map +1 -0
- package/dist/services/modules/module-resolver.test.d.ts +2 -0
- package/dist/services/modules/module-resolver.test.d.ts.map +1 -0
- package/dist/services/openapi/export-service.d.ts +51 -0
- package/dist/services/openapi/export-service.d.ts.map +1 -0
- package/dist/services/openapi/import-service.d.ts +15 -0
- package/dist/services/openapi/import-service.d.ts.map +1 -0
- package/dist/services/openapi/index.d.ts +10 -0
- package/dist/services/openapi/index.d.ts.map +1 -0
- package/dist/services/openapi/sync-service.d.ts +15 -0
- package/dist/services/openapi/sync-service.d.ts.map +1 -0
- package/dist/services/openapi/types.d.ts +160 -0
- package/dist/services/openapi/types.d.ts.map +1 -0
- package/dist/services/openapi/validate-service.d.ts +14 -0
- package/dist/services/openapi/validate-service.d.ts.map +1 -0
- package/dist/services/quickstart/dependencies.d.ts +32 -0
- package/dist/services/quickstart/dependencies.d.ts.map +1 -0
- package/dist/services/quickstart/index.d.ts +10 -0
- package/dist/services/quickstart/index.d.ts.map +1 -0
- package/dist/services/quickstart/quickstart-service.d.ts +21 -0
- package/dist/services/quickstart/quickstart-service.d.ts.map +1 -0
- package/dist/services/quickstart/types.d.ts +78 -0
- package/dist/services/quickstart/types.d.ts.map +1 -0
- package/dist/services/regenerator.d.ts +19 -0
- package/dist/services/regenerator.d.ts.map +1 -0
- package/dist/services/registry.d.ts +51 -0
- package/dist/services/registry.d.ts.map +1 -0
- package/dist/services/registry.test.d.ts +2 -0
- package/dist/services/registry.test.d.ts.map +1 -0
- package/dist/services/rulesync.d.ts +15 -0
- package/dist/services/rulesync.d.ts.map +1 -0
- package/dist/services/rulesync.test.d.ts +2 -0
- package/dist/services/rulesync.test.d.ts.map +1 -0
- package/dist/services/setup/config-generators.d.ts +42 -0
- package/dist/services/setup/config-generators.d.ts.map +1 -0
- package/dist/services/setup/file-merger.d.ts +24 -0
- package/dist/services/setup/file-merger.d.ts.map +1 -0
- package/dist/services/setup/index.d.ts +10 -0
- package/dist/services/setup/index.d.ts.map +1 -0
- package/dist/services/setup/setup-service.d.ts +13 -0
- package/dist/services/setup/setup-service.d.ts.map +1 -0
- package/dist/services/setup/setup-service.test.d.ts +2 -0
- package/dist/services/setup/setup-service.test.d.ts.map +1 -0
- package/dist/services/setup/targets/agents-md.d.ts +12 -0
- package/dist/services/setup/targets/agents-md.d.ts.map +1 -0
- package/dist/services/setup/targets/cli-config.d.ts +12 -0
- package/dist/services/setup/targets/cli-config.d.ts.map +1 -0
- package/dist/services/setup/targets/cursor-rules.d.ts +10 -0
- package/dist/services/setup/targets/cursor-rules.d.ts.map +1 -0
- package/dist/services/setup/targets/index.d.ts +10 -0
- package/dist/services/setup/targets/index.d.ts.map +1 -0
- package/dist/services/setup/targets/mcp-claude.d.ts +11 -0
- package/dist/services/setup/targets/mcp-claude.d.ts.map +1 -0
- package/dist/services/setup/targets/mcp-cursor.d.ts +10 -0
- package/dist/services/setup/targets/mcp-cursor.d.ts.map +1 -0
- package/dist/services/setup/targets/vscode-settings.d.ts +13 -0
- package/dist/services/setup/targets/vscode-settings.d.ts.map +1 -0
- package/dist/services/setup/types.d.ts +82 -0
- package/dist/services/setup/types.d.ts.map +1 -0
- package/dist/services/sync.d.ts +42 -0
- package/dist/services/sync.d.ts.map +1 -0
- package/dist/services/sync.test.d.ts +2 -0
- package/dist/services/sync.test.d.ts.map +1 -0
- package/dist/services/test/index.d.ts +3 -0
- package/dist/services/test/index.d.ts.map +1 -0
- package/dist/services/test/test-generator-service.d.ts +19 -0
- package/dist/services/test/test-generator-service.d.ts.map +1 -0
- package/dist/services/test/test-generator-service.test.d.ts +2 -0
- package/dist/services/test/test-generator-service.test.d.ts.map +1 -0
- package/dist/services/test/test-service.d.ts +23 -0
- package/dist/services/test/test-service.d.ts.map +1 -0
- package/dist/services/test/test-service.test.d.ts +2 -0
- package/dist/services/test/test-service.test.d.ts.map +1 -0
- package/dist/services/test-link/index.d.ts +81 -0
- package/dist/services/test-link/index.d.ts.map +1 -0
- package/dist/services/test-link/test-ref-validator.d.ts +81 -0
- package/dist/services/test-link/test-ref-validator.d.ts.map +1 -0
- package/dist/services/upgrade/index.d.ts +8 -0
- package/dist/services/upgrade/index.d.ts.map +1 -0
- package/dist/services/upgrade/types.d.ts +75 -0
- package/dist/services/upgrade/types.d.ts.map +1 -0
- package/dist/services/upgrade/upgrade-service.d.ts +42 -0
- package/dist/services/upgrade/upgrade-service.d.ts.map +1 -0
- package/dist/services/validate/blueprint-validator.d.ts +18 -0
- package/dist/services/validate/blueprint-validator.d.ts.map +1 -0
- package/dist/services/validate/implementation-agent-validator.d.ts +16 -0
- package/dist/services/validate/implementation-agent-validator.d.ts.map +1 -0
- package/dist/services/validate/implementation-validator.d.ts +34 -0
- package/dist/services/validate/implementation-validator.d.ts.map +1 -0
- package/dist/services/validate/index.d.ts +6 -0
- package/dist/services/validate/index.d.ts.map +1 -0
- package/dist/services/validate/spec-validator.d.ts +40 -0
- package/dist/services/validate/spec-validator.d.ts.map +1 -0
- package/dist/services/validate/tenant-validator.d.ts +17 -0
- package/dist/services/validate/tenant-validator.d.ts.map +1 -0
- package/dist/services/verification-cache/adapters/filesystem.d.ts +47 -0
- package/dist/services/verification-cache/adapters/filesystem.d.ts.map +1 -0
- package/dist/services/verification-cache/adapters/in-memory.d.ts +28 -0
- package/dist/services/verification-cache/adapters/in-memory.d.ts.map +1 -0
- package/dist/services/verification-cache/adapters/index.d.ts +7 -0
- package/dist/services/verification-cache/adapters/index.d.ts.map +1 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.ts +50 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +1 -0
- package/dist/services/verification-cache/cache-service.d.ts +71 -0
- package/dist/services/verification-cache/cache-service.d.ts.map +1 -0
- package/dist/services/verification-cache/index.d.ts +7 -0
- package/dist/services/verification-cache/index.d.ts.map +1 -0
- package/dist/services/verification-cache/types.d.ts +122 -0
- package/dist/services/verification-cache/types.d.ts.map +1 -0
- package/dist/services/verify/ai-verifier.d.ts +26 -0
- package/dist/services/verify/ai-verifier.d.ts.map +1 -0
- package/dist/services/verify/behavior-verifier.d.ts +13 -0
- package/dist/services/verify/behavior-verifier.d.ts.map +1 -0
- package/dist/services/verify/index.d.ts +18 -0
- package/dist/services/verify/index.d.ts.map +1 -0
- package/dist/services/verify/structure-verifier.d.ts +15 -0
- package/dist/services/verify/structure-verifier.d.ts.map +1 -0
- package/dist/services/verify/types.d.ts +135 -0
- package/dist/services/verify/types.d.ts.map +1 -0
- package/dist/services/verify/verify-service.d.ts +61 -0
- package/dist/services/verify/verify-service.d.ts.map +1 -0
- package/dist/services/verify/verify-service.test.d.ts +2 -0
- package/dist/services/verify/verify-service.test.d.ts.map +1 -0
- package/dist/services/versioning/changelog-formatter.d.ts +25 -0
- package/dist/services/versioning/changelog-formatter.d.ts.map +1 -0
- package/dist/services/versioning/conventional-commits.d.ts +103 -0
- package/dist/services/versioning/conventional-commits.d.ts.map +1 -0
- package/dist/services/versioning/conventional-commits.test.d.ts +2 -0
- package/dist/services/versioning/conventional-commits.test.d.ts.map +1 -0
- package/dist/services/versioning/index.d.ts +10 -0
- package/dist/services/versioning/index.d.ts.map +1 -0
- package/dist/services/versioning/types.d.ts +137 -0
- package/dist/services/versioning/types.d.ts.map +1 -0
- package/dist/services/versioning/versioning-service.d.ts +76 -0
- package/dist/services/versioning/versioning-service.d.ts.map +1 -0
- package/dist/services/vibe/config.d.ts +14 -0
- package/dist/services/vibe/config.d.ts.map +1 -0
- package/dist/services/vibe/context.d.ts +16 -0
- package/dist/services/vibe/context.d.ts.map +1 -0
- package/dist/services/vibe/definitions.d.ts +8 -0
- package/dist/services/vibe/definitions.d.ts.map +1 -0
- package/dist/services/vibe/engine.d.ts +44 -0
- package/dist/services/vibe/engine.d.ts.map +1 -0
- package/dist/services/vibe/index.d.ts +14 -0
- package/dist/services/vibe/index.d.ts.map +1 -0
- package/dist/services/vibe/loader.d.ts +15 -0
- package/dist/services/vibe/loader.d.ts.map +1 -0
- package/dist/services/vibe/pack.d.ts +16 -0
- package/dist/services/vibe/pack.d.ts.map +1 -0
- package/dist/services/vibe/types.d.ts +56 -0
- package/dist/services/vibe/types.d.ts.map +1 -0
- package/dist/services/view/index.d.ts +107 -0
- package/dist/services/view/index.d.ts.map +1 -0
- package/dist/services/watch.d.ts +25 -0
- package/dist/services/watch.d.ts.map +1 -0
- package/dist/services/watch.test.d.ts +2 -0
- package/dist/services/watch.test.d.ts.map +1 -0
- package/dist/services/workspace-info.d.ts +64 -0
- package/dist/services/workspace-info.d.ts.map +1 -0
- package/dist/services/workspace-info.test.d.ts +2 -0
- package/dist/services/workspace-info.test.d.ts.map +1 -0
- package/dist/templates/app-config.template.d.ts +3 -0
- package/dist/templates/app-config.template.d.ts.map +1 -0
- package/dist/templates/data-view.template.d.ts +3 -0
- package/dist/templates/data-view.template.d.ts.map +1 -0
- package/dist/templates/event.template.d.ts +6 -0
- package/dist/templates/event.template.d.ts.map +1 -0
- package/dist/templates/experiment.template.d.ts +3 -0
- package/dist/templates/experiment.template.d.ts.map +1 -0
- package/dist/templates/feature.template.d.ts +30 -0
- package/dist/templates/feature.template.d.ts.map +1 -0
- package/dist/templates/feature.template.test.d.ts +2 -0
- package/dist/templates/feature.template.test.d.ts.map +1 -0
- package/dist/templates/fix/index.d.ts +10 -0
- package/dist/templates/fix/index.d.ts.map +1 -0
- package/dist/templates/fix/skeleton-capability.d.ts +8 -0
- package/dist/templates/fix/skeleton-capability.d.ts.map +1 -0
- package/dist/templates/fix/skeleton-event.d.ts +11 -0
- package/dist/templates/fix/skeleton-event.d.ts.map +1 -0
- package/dist/templates/fix/skeleton-operation.d.ts +11 -0
- package/dist/templates/fix/skeleton-operation.d.ts.map +1 -0
- package/dist/templates/fix/skeleton-presentation.d.ts +11 -0
- package/dist/templates/fix/skeleton-presentation.d.ts.map +1 -0
- package/dist/templates/fix/skeletons.test.d.ts +2 -0
- package/dist/templates/fix/skeletons.test.d.ts.map +1 -0
- package/dist/templates/fix/utils.d.ts +16 -0
- package/dist/templates/fix/utils.d.ts.map +1 -0
- package/dist/templates/handler.template.d.ts +13 -0
- package/dist/templates/handler.template.d.ts.map +1 -0
- package/dist/templates/handler.template.test.d.ts +2 -0
- package/dist/templates/handler.template.test.d.ts.map +1 -0
- package/dist/templates/index.d.ts +18 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/integration.template.d.ts +3 -0
- package/dist/templates/integration.template.d.ts.map +1 -0
- package/dist/templates/knowledge.template.d.ts +3 -0
- package/dist/templates/knowledge.template.d.ts.map +1 -0
- package/dist/templates/migration.template.d.ts +3 -0
- package/dist/templates/migration.template.d.ts.map +1 -0
- package/dist/templates/operation.template.d.ts +6 -0
- package/dist/templates/operation.template.d.ts.map +1 -0
- package/dist/templates/operation.template.test.d.ts +2 -0
- package/dist/templates/operation.template.test.d.ts.map +1 -0
- package/dist/templates/presentation.template.d.ts +6 -0
- package/dist/templates/presentation.template.d.ts.map +1 -0
- package/dist/templates/telemetry.template.d.ts +3 -0
- package/dist/templates/telemetry.template.d.ts.map +1 -0
- package/dist/templates/workflow-runner.template.d.ts +9 -0
- package/dist/templates/workflow-runner.template.d.ts.map +1 -0
- package/dist/templates/workflow.template.d.ts +3 -0
- package/dist/templates/workflow.template.d.ts.map +1 -0
- package/dist/types/config.d.ts +25 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types.d.ts +339 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/filter.d.ts +23 -0
- package/dist/utils/filter.d.ts.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/module-loader.d.ts +2 -0
- package/dist/utils/module-loader.d.ts.map +1 -0
- package/dist/utils/validation.d.ts +32 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/package.json +25 -21
- package/dist/_virtual/_rolldown/runtime.mjs +0 -20
- package/dist/adapters/ai.d.mts +0 -11
- package/dist/adapters/ai.d.mts.map +0 -1
- package/dist/adapters/ai.mjs +0 -83
- package/dist/adapters/ai.mjs.map +0 -1
- package/dist/adapters/factory.d.mts +0 -28
- package/dist/adapters/factory.d.mts.map +0 -1
- package/dist/adapters/factory.mjs +0 -26
- package/dist/adapters/factory.mjs.map +0 -1
- package/dist/adapters/fs.bun.d.mts +0 -10
- package/dist/adapters/fs.bun.d.mts.map +0 -1
- package/dist/adapters/fs.bun.mjs +0 -81
- package/dist/adapters/fs.bun.mjs.map +0 -1
- package/dist/adapters/fs.d.mts +0 -6
- package/dist/adapters/fs.d.mts.map +0 -1
- package/dist/adapters/fs.mjs +0 -49
- package/dist/adapters/fs.mjs.map +0 -1
- package/dist/adapters/fs.node.d.mts +0 -10
- package/dist/adapters/fs.node.d.mts.map +0 -1
- package/dist/adapters/fs.node.mjs +0 -84
- package/dist/adapters/fs.node.mjs.map +0 -1
- package/dist/adapters/git.d.mts +0 -10
- package/dist/adapters/git.d.mts.map +0 -1
- package/dist/adapters/git.mjs +0 -99
- package/dist/adapters/git.mjs.map +0 -1
- package/dist/adapters/index.d.mts +0 -9
- package/dist/adapters/index.mjs +0 -11
- package/dist/adapters/logger.d.mts +0 -17
- package/dist/adapters/logger.d.mts.map +0 -1
- package/dist/adapters/logger.mjs +0 -81
- package/dist/adapters/logger.mjs.map +0 -1
- package/dist/adapters/watcher.d.mts +0 -10
- package/dist/adapters/watcher.d.mts.map +0 -1
- package/dist/adapters/watcher.mjs +0 -74
- package/dist/adapters/watcher.mjs.map +0 -1
- package/dist/adapters/workspace.d.mts +0 -148
- package/dist/adapters/workspace.d.mts.map +0 -1
- package/dist/adapters/workspace.mjs +0 -275
- package/dist/adapters/workspace.mjs.map +0 -1
- package/dist/ai/agents/claude-code-agent.d.mts +0 -21
- package/dist/ai/agents/claude-code-agent.d.mts.map +0 -1
- package/dist/ai/agents/claude-code-agent.mjs +0 -182
- package/dist/ai/agents/claude-code-agent.mjs.map +0 -1
- package/dist/ai/agents/cursor-agent.d.mts +0 -67
- package/dist/ai/agents/cursor-agent.d.mts.map +0 -1
- package/dist/ai/agents/cursor-agent.mjs +0 -436
- package/dist/ai/agents/cursor-agent.mjs.map +0 -1
- package/dist/ai/agents/index.d.mts +0 -6
- package/dist/ai/agents/index.mjs +0 -7
- package/dist/ai/agents/openai-codex-agent.d.mts +0 -21
- package/dist/ai/agents/openai-codex-agent.d.mts.map +0 -1
- package/dist/ai/agents/openai-codex-agent.mjs +0 -167
- package/dist/ai/agents/openai-codex-agent.mjs.map +0 -1
- package/dist/ai/agents/orchestrator.d.mts +0 -49
- package/dist/ai/agents/orchestrator.d.mts.map +0 -1
- package/dist/ai/agents/orchestrator.mjs +0 -148
- package/dist/ai/agents/orchestrator.mjs.map +0 -1
- package/dist/ai/agents/simple-agent.d.mts +0 -16
- package/dist/ai/agents/simple-agent.d.mts.map +0 -1
- package/dist/ai/agents/simple-agent.mjs +0 -92
- package/dist/ai/agents/simple-agent.mjs.map +0 -1
- package/dist/ai/agents/types.d.mts +0 -34
- package/dist/ai/agents/types.d.mts.map +0 -1
- package/dist/ai/agents/unified-adapter.mjs +0 -70
- package/dist/ai/agents/unified-adapter.mjs.map +0 -1
- package/dist/ai/index.d.mts +0 -9
- package/dist/ai/index.mjs +0 -10
- package/dist/ai/prompts/code-generation.d.mts +0 -26
- package/dist/ai/prompts/code-generation.d.mts.map +0 -1
- package/dist/ai/prompts/code-generation.mjs +0 -143
- package/dist/ai/prompts/code-generation.mjs.map +0 -1
- package/dist/ai/prompts/index.d.mts +0 -10
- package/dist/ai/prompts/index.d.mts.map +0 -1
- package/dist/ai/prompts/index.mjs +0 -13
- package/dist/ai/prompts/index.mjs.map +0 -1
- package/dist/ai/prompts/spec-creation.d.mts +0 -29
- package/dist/ai/prompts/spec-creation.d.mts.map +0 -1
- package/dist/ai/prompts/spec-creation.mjs +0 -111
- package/dist/ai/prompts/spec-creation.mjs.map +0 -1
- package/dist/ai/providers.d.mts +0 -13
- package/dist/ai/providers.d.mts.map +0 -1
- package/dist/ai/providers.mjs +0 -19
- package/dist/ai/providers.mjs.map +0 -1
- package/dist/formatters/index.d.mts +0 -11
- package/dist/formatters/index.d.mts.map +0 -1
- package/dist/formatters/index.mjs +0 -17
- package/dist/formatters/index.mjs.map +0 -1
- package/dist/formatters/json.d.mts +0 -55
- package/dist/formatters/json.d.mts.map +0 -1
- package/dist/formatters/json.mjs +0 -43
- package/dist/formatters/json.mjs.map +0 -1
- package/dist/formatters/sarif.d.mts +0 -100
- package/dist/formatters/sarif.d.mts.map +0 -1
- package/dist/formatters/sarif.mjs +0 -163
- package/dist/formatters/sarif.mjs.map +0 -1
- package/dist/formatters/text.d.mts +0 -34
- package/dist/formatters/text.d.mts.map +0 -1
- package/dist/formatters/text.mjs +0 -209
- package/dist/formatters/text.mjs.map +0 -1
- package/dist/index.d.mts +0 -133
- package/dist/index.mjs +0 -117
- package/dist/ports/ai.d.mts +0 -62
- package/dist/ports/ai.d.mts.map +0 -1
- package/dist/ports/fs.d.mts +0 -81
- package/dist/ports/fs.d.mts.map +0 -1
- package/dist/ports/git.d.mts +0 -51
- package/dist/ports/git.d.mts.map +0 -1
- package/dist/ports/index.d.mts +0 -6
- package/dist/ports/logger.d.mts +0 -88
- package/dist/ports/logger.d.mts.map +0 -1
- package/dist/ports/rulesync.d.mts +0 -37
- package/dist/ports/rulesync.d.mts.map +0 -1
- package/dist/ports/watcher.d.mts +0 -52
- package/dist/ports/watcher.d.mts.map +0 -1
- package/dist/registry.d.mts +0 -14
- package/dist/registry.d.mts.map +0 -1
- package/dist/registry.mjs +0 -19
- package/dist/registry.mjs.map +0 -1
- package/dist/services/action-drift/service.d.mts +0 -11
- package/dist/services/action-drift/service.d.mts.map +0 -1
- package/dist/services/action-drift/service.mjs +0 -43
- package/dist/services/action-drift/service.mjs.map +0 -1
- package/dist/services/action-drift/types.d.mts +0 -23
- package/dist/services/action-drift/types.d.mts.map +0 -1
- package/dist/services/action-pr/service.d.mts +0 -17
- package/dist/services/action-pr/service.d.mts.map +0 -1
- package/dist/services/action-pr/service.mjs +0 -205
- package/dist/services/action-pr/service.mjs.map +0 -1
- package/dist/services/action-pr/types.d.mts +0 -67
- package/dist/services/action-pr/types.d.mts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.d.mts +0 -34
- package/dist/services/agent-guide/adapters/claude-code.d.mts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.mjs +0 -144
- package/dist/services/agent-guide/adapters/claude-code.mjs.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts +0 -38
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.mjs +0 -135
- package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts +0 -52
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.mjs +0 -159
- package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +0 -1
- package/dist/services/agent-guide/adapters/index.d.mts +0 -22
- package/dist/services/agent-guide/adapters/index.d.mts.map +0 -1
- package/dist/services/agent-guide/adapters/index.mjs +0 -31
- package/dist/services/agent-guide/adapters/index.mjs.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.d.mts +0 -55
- package/dist/services/agent-guide/agent-guide-service.d.mts.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.mjs +0 -147
- package/dist/services/agent-guide/agent-guide-service.mjs.map +0 -1
- package/dist/services/agent-guide/index.d.mts +0 -6
- package/dist/services/agent-guide/index.mjs +0 -7
- package/dist/services/agent-guide/types.d.mts +0 -57
- package/dist/services/agent-guide/types.d.mts.map +0 -1
- package/dist/services/build.d.mts +0 -61
- package/dist/services/build.d.mts.map +0 -1
- package/dist/services/build.mjs +0 -151
- package/dist/services/build.mjs.map +0 -1
- package/dist/services/ci-check/checks/coverage.mjs +0 -66
- package/dist/services/ci-check/checks/coverage.mjs.map +0 -1
- package/dist/services/ci-check/checks/deps.mjs +0 -32
- package/dist/services/ci-check/checks/deps.mjs.map +0 -1
- package/dist/services/ci-check/checks/doctor.mjs +0 -38
- package/dist/services/ci-check/checks/doctor.mjs.map +0 -1
- package/dist/services/ci-check/checks/drift.mjs +0 -40
- package/dist/services/ci-check/checks/drift.mjs.map +0 -1
- package/dist/services/ci-check/checks/handlers.mjs +0 -38
- package/dist/services/ci-check/checks/handlers.mjs.map +0 -1
- package/dist/services/ci-check/checks/implementation.mjs +0 -73
- package/dist/services/ci-check/checks/implementation.mjs.map +0 -1
- package/dist/services/ci-check/checks/index.mjs +0 -13
- package/dist/services/ci-check/checks/integrity.mjs +0 -31
- package/dist/services/ci-check/checks/integrity.mjs.map +0 -1
- package/dist/services/ci-check/checks/layers.mjs +0 -66
- package/dist/services/ci-check/checks/layers.mjs.map +0 -1
- package/dist/services/ci-check/checks/structure.mjs +0 -34
- package/dist/services/ci-check/checks/structure.mjs.map +0 -1
- package/dist/services/ci-check/checks/test-refs.mjs +0 -53
- package/dist/services/ci-check/checks/test-refs.mjs.map +0 -1
- package/dist/services/ci-check/checks/tests.mjs +0 -38
- package/dist/services/ci-check/checks/tests.mjs.map +0 -1
- package/dist/services/ci-check/ci-check-service.d.mts +0 -15
- package/dist/services/ci-check/ci-check-service.d.mts.map +0 -1
- package/dist/services/ci-check/ci-check-service.mjs +0 -124
- package/dist/services/ci-check/ci-check-service.mjs.map +0 -1
- package/dist/services/ci-check/index.d.mts +0 -2
- package/dist/services/ci-check/index.mjs +0 -4
- package/dist/services/ci-check/types.d.mts +0 -142
- package/dist/services/ci-check/types.d.mts.map +0 -1
- package/dist/services/ci-check/types.mjs +0 -37
- package/dist/services/ci-check/types.mjs.map +0 -1
- package/dist/services/ci-check/utils.mjs +0 -76
- package/dist/services/ci-check/utils.mjs.map +0 -1
- package/dist/services/clean.d.mts +0 -40
- package/dist/services/clean.d.mts.map +0 -1
- package/dist/services/clean.mjs +0 -72
- package/dist/services/clean.mjs.map +0 -1
- package/dist/services/config.d.mts +0 -15
- package/dist/services/config.d.mts.map +0 -1
- package/dist/services/config.mjs +0 -41
- package/dist/services/config.mjs.map +0 -1
- package/dist/services/coverage/parsers/index.mjs +0 -34
- package/dist/services/coverage/parsers/index.mjs.map +0 -1
- package/dist/services/coverage/parsers/istanbul-parser.mjs +0 -108
- package/dist/services/coverage/parsers/istanbul-parser.mjs.map +0 -1
- package/dist/services/coverage/validator.mjs +0 -55
- package/dist/services/coverage/validator.mjs.map +0 -1
- package/dist/services/create/ai-generator.d.mts +0 -83
- package/dist/services/create/ai-generator.d.mts.map +0 -1
- package/dist/services/create/ai-generator.mjs +0 -178
- package/dist/services/create/ai-generator.mjs.map +0 -1
- package/dist/services/create/index.d.mts +0 -28
- package/dist/services/create/index.d.mts.map +0 -1
- package/dist/services/create/index.mjs +0 -37
- package/dist/services/create/index.mjs.map +0 -1
- package/dist/services/create/templates.d.mts +0 -22
- package/dist/services/create/templates.d.mts.map +0 -1
- package/dist/services/create/templates.mjs +0 -39
- package/dist/services/create/templates.mjs.map +0 -1
- package/dist/services/deps.d.mts +0 -52
- package/dist/services/deps.d.mts.map +0 -1
- package/dist/services/deps.mjs +0 -62
- package/dist/services/deps.mjs.map +0 -1
- package/dist/services/diff.d.mts +0 -33
- package/dist/services/diff.d.mts.map +0 -1
- package/dist/services/diff.mjs +0 -34
- package/dist/services/diff.mjs.map +0 -1
- package/dist/services/docs/docs-service.d.mts +0 -20
- package/dist/services/docs/docs-service.d.mts.map +0 -1
- package/dist/services/docs/docs-service.mjs +0 -62
- package/dist/services/docs/docs-service.mjs.map +0 -1
- package/dist/services/docs/index.d.mts +0 -1
- package/dist/services/docs/index.mjs +0 -3
- package/dist/services/doctor/checks/ai.mjs +0 -119
- package/dist/services/doctor/checks/ai.mjs.map +0 -1
- package/dist/services/doctor/checks/cli.mjs +0 -156
- package/dist/services/doctor/checks/cli.mjs.map +0 -1
- package/dist/services/doctor/checks/config.mjs +0 -303
- package/dist/services/doctor/checks/config.mjs.map +0 -1
- package/dist/services/doctor/checks/deps.mjs +0 -267
- package/dist/services/doctor/checks/deps.mjs.map +0 -1
- package/dist/services/doctor/checks/index.mjs +0 -9
- package/dist/services/doctor/checks/layers.mjs +0 -139
- package/dist/services/doctor/checks/layers.mjs.map +0 -1
- package/dist/services/doctor/checks/mcp.mjs +0 -145
- package/dist/services/doctor/checks/mcp.mjs.map +0 -1
- package/dist/services/doctor/checks/workspace.mjs +0 -263
- package/dist/services/doctor/checks/workspace.mjs.map +0 -1
- package/dist/services/doctor/doctor-service.d.mts +0 -23
- package/dist/services/doctor/doctor-service.d.mts.map +0 -1
- package/dist/services/doctor/doctor-service.mjs +0 -118
- package/dist/services/doctor/doctor-service.mjs.map +0 -1
- package/dist/services/doctor/index.d.mts +0 -2
- package/dist/services/doctor/index.mjs +0 -4
- package/dist/services/doctor/types.d.mts +0 -118
- package/dist/services/doctor/types.d.mts.map +0 -1
- package/dist/services/doctor/types.mjs +0 -29
- package/dist/services/doctor/types.mjs.map +0 -1
- package/dist/services/drift.mjs +0 -73
- package/dist/services/drift.mjs.map +0 -1
- package/dist/services/extract.d.mts +0 -12
- package/dist/services/extract.d.mts.map +0 -1
- package/dist/services/extract.mjs +0 -25
- package/dist/services/extract.mjs.map +0 -1
- package/dist/services/features/completion.d.mts +0 -20
- package/dist/services/features/completion.d.mts.map +0 -1
- package/dist/services/features/completion.mjs +0 -70
- package/dist/services/features/completion.mjs.map +0 -1
- package/dist/services/features/feature-editor.d.mts +0 -27
- package/dist/services/features/feature-editor.d.mts.map +0 -1
- package/dist/services/features/feature-editor.mjs +0 -37
- package/dist/services/features/feature-editor.mjs.map +0 -1
- package/dist/services/features/index.d.mts +0 -11
- package/dist/services/features/index.d.mts.map +0 -1
- package/dist/services/features/index.mjs +0 -16
- package/dist/services/features/index.mjs.map +0 -1
- package/dist/services/features/validation.d.mts +0 -20
- package/dist/services/features/validation.d.mts.map +0 -1
- package/dist/services/features/validation.mjs +0 -27
- package/dist/services/features/validation.mjs.map +0 -1
- package/dist/services/fix/fix-link-formatter.d.mts +0 -11
- package/dist/services/fix/fix-link-formatter.d.mts.map +0 -1
- package/dist/services/fix/fix-link-formatter.mjs +0 -38
- package/dist/services/fix/fix-link-formatter.mjs.map +0 -1
- package/dist/services/fix/fix-service.d.mts +0 -73
- package/dist/services/fix/fix-service.d.mts.map +0 -1
- package/dist/services/fix/fix-service.mjs +0 -169
- package/dist/services/fix/fix-service.mjs.map +0 -1
- package/dist/services/fix/index.d.mts +0 -16
- package/dist/services/fix/index.d.mts.map +0 -1
- package/dist/services/fix/index.mjs +0 -24
- package/dist/services/fix/index.mjs.map +0 -1
- package/dist/services/fix/path-resolver.mjs +0 -83
- package/dist/services/fix/path-resolver.mjs.map +0 -1
- package/dist/services/fix/schemas.d.mts +0 -16
- package/dist/services/fix/schemas.d.mts.map +0 -1
- package/dist/services/fix/schemas.mjs +0 -12
- package/dist/services/fix/schemas.mjs.map +0 -1
- package/dist/services/fix/strategies/implement-ai.d.mts +0 -17
- package/dist/services/fix/strategies/implement-ai.d.mts.map +0 -1
- package/dist/services/fix/strategies/implement-ai.mjs +0 -139
- package/dist/services/fix/strategies/implement-ai.mjs.map +0 -1
- package/dist/services/fix/strategies/implement-skeleton.d.mts +0 -13
- package/dist/services/fix/strategies/implement-skeleton.d.mts.map +0 -1
- package/dist/services/fix/strategies/implement-skeleton.mjs +0 -77
- package/dist/services/fix/strategies/implement-skeleton.mjs.map +0 -1
- package/dist/services/fix/strategies/index.d.mts +0 -3
- package/dist/services/fix/strategies/remove-reference.d.mts +0 -16
- package/dist/services/fix/strategies/remove-reference.d.mts.map +0 -1
- package/dist/services/fix/strategies/remove-reference.mjs +0 -98
- package/dist/services/fix/strategies/remove-reference.mjs.map +0 -1
- package/dist/services/fix/types.d.mts +0 -206
- package/dist/services/fix/types.d.mts.map +0 -1
- package/dist/services/fix/types.mjs +0 -20
- package/dist/services/fix/types.mjs.map +0 -1
- package/dist/services/formatter.d.mts +0 -15
- package/dist/services/formatter.d.mts.map +0 -1
- package/dist/services/formatter.mjs +0 -26
- package/dist/services/formatter.mjs.map +0 -1
- package/dist/services/gap.d.mts +0 -18
- package/dist/services/gap.d.mts.map +0 -1
- package/dist/services/gap.mjs +0 -44
- package/dist/services/gap.mjs.map +0 -1
- package/dist/services/generate-artifacts.d.mts +0 -11
- package/dist/services/generate-artifacts.d.mts.map +0 -1
- package/dist/services/generate-artifacts.mjs +0 -27
- package/dist/services/generate-artifacts.mjs.map +0 -1
- package/dist/services/hooks/hooks-service.d.mts +0 -23
- package/dist/services/hooks/hooks-service.d.mts.map +0 -1
- package/dist/services/hooks/hooks-service.mjs +0 -126
- package/dist/services/hooks/hooks-service.mjs.map +0 -1
- package/dist/services/hooks/index.d.mts +0 -10
- package/dist/services/hooks/index.d.mts.map +0 -1
- package/dist/services/hooks/index.mjs +0 -12
- package/dist/services/hooks/index.mjs.map +0 -1
- package/dist/services/hooks/types.d.mts +0 -56
- package/dist/services/hooks/types.d.mts.map +0 -1
- package/dist/services/impact/formatters.d.mts +0 -26
- package/dist/services/impact/formatters.d.mts.map +0 -1
- package/dist/services/impact/formatters.mjs +0 -139
- package/dist/services/impact/formatters.mjs.map +0 -1
- package/dist/services/impact/impact-detection-service.d.mts +0 -21
- package/dist/services/impact/impact-detection-service.d.mts.map +0 -1
- package/dist/services/impact/impact-detection-service.mjs +0 -96
- package/dist/services/impact/impact-detection-service.mjs.map +0 -1
- package/dist/services/impact/index.d.mts +0 -11
- package/dist/services/impact/index.d.mts.map +0 -1
- package/dist/services/impact/index.mjs +0 -16
- package/dist/services/impact/index.mjs.map +0 -1
- package/dist/services/impact/types.d.mts +0 -62
- package/dist/services/impact/types.d.mts.map +0 -1
- package/dist/services/implementation/discovery.d.mts +0 -29
- package/dist/services/implementation/discovery.d.mts.map +0 -1
- package/dist/services/implementation/discovery.mjs +0 -136
- package/dist/services/implementation/discovery.mjs.map +0 -1
- package/dist/services/implementation/index.d.mts +0 -6
- package/dist/services/implementation/index.mjs +0 -7
- package/dist/services/implementation/resolver/conventions.d.mts +0 -17
- package/dist/services/implementation/resolver/conventions.d.mts.map +0 -1
- package/dist/services/implementation/resolver/conventions.mjs +0 -59
- package/dist/services/implementation/resolver/conventions.mjs.map +0 -1
- package/dist/services/implementation/resolver/index.d.mts +0 -25
- package/dist/services/implementation/resolver/index.d.mts.map +0 -1
- package/dist/services/implementation/resolver/index.mjs +0 -113
- package/dist/services/implementation/resolver/index.mjs.map +0 -1
- package/dist/services/implementation/resolver/parsers.d.mts +0 -11
- package/dist/services/implementation/resolver/parsers.d.mts.map +0 -1
- package/dist/services/implementation/resolver/parsers.mjs +0 -82
- package/dist/services/implementation/resolver/parsers.mjs.map +0 -1
- package/dist/services/implementation/resolver/status.d.mts +0 -20
- package/dist/services/implementation/resolver/status.d.mts.map +0 -1
- package/dist/services/implementation/resolver/status.mjs +0 -31
- package/dist/services/implementation/resolver/status.mjs.map +0 -1
- package/dist/services/implementation/types.d.mts +0 -90
- package/dist/services/implementation/types.d.mts.map +0 -1
- package/dist/services/import/import-service.d.mts +0 -46
- package/dist/services/import/import-service.d.mts.map +0 -1
- package/dist/services/import/import-service.mjs +0 -196
- package/dist/services/import/import-service.mjs.map +0 -1
- package/dist/services/import/index.d.mts +0 -3
- package/dist/services/import/index.mjs +0 -5
- package/dist/services/import/report-service.d.mts +0 -30
- package/dist/services/import/report-service.d.mts.map +0 -1
- package/dist/services/import/report-service.mjs +0 -124
- package/dist/services/import/report-service.mjs.map +0 -1
- package/dist/services/import/verify-service.d.mts +0 -66
- package/dist/services/import/verify-service.d.mts.map +0 -1
- package/dist/services/import/verify-service.mjs +0 -105
- package/dist/services/import/verify-service.mjs.map +0 -1
- package/dist/services/index.d.mts +0 -111
- package/dist/services/index.mjs +0 -106
- package/dist/services/integrity-diagram.d.mts +0 -35
- package/dist/services/integrity-diagram.d.mts.map +0 -1
- package/dist/services/integrity-diagram.mjs +0 -275
- package/dist/services/integrity-diagram.mjs.map +0 -1
- package/dist/services/integrity.d.mts +0 -151
- package/dist/services/integrity.d.mts.map +0 -1
- package/dist/services/integrity.mjs +0 -361
- package/dist/services/integrity.mjs.map +0 -1
- package/dist/services/layer-discovery.d.mts +0 -76
- package/dist/services/layer-discovery.d.mts.map +0 -1
- package/dist/services/layer-discovery.mjs +0 -121
- package/dist/services/layer-discovery.mjs.map +0 -1
- package/dist/services/list.d.mts +0 -37
- package/dist/services/list.d.mts.map +0 -1
- package/dist/services/list.mjs +0 -48
- package/dist/services/list.mjs.map +0 -1
- package/dist/services/llm/index.d.mts +0 -27
- package/dist/services/llm/index.d.mts.map +0 -1
- package/dist/services/llm/index.mjs +0 -186
- package/dist/services/llm/index.mjs.map +0 -1
- package/dist/services/llm/verify-static.d.mts +0 -25
- package/dist/services/llm/verify-static.d.mts.map +0 -1
- package/dist/services/llm/verify-static.mjs +0 -82
- package/dist/services/llm/verify-static.mjs.map +0 -1
- package/dist/services/modules/module-resolver.mjs +0 -61
- package/dist/services/modules/module-resolver.mjs.map +0 -1
- package/dist/services/openapi/export-service.d.mts +0 -52
- package/dist/services/openapi/export-service.d.mts.map +0 -1
- package/dist/services/openapi/export-service.mjs +0 -50
- package/dist/services/openapi/export-service.mjs.map +0 -1
- package/dist/services/openapi/import-service.d.mts +0 -16
- package/dist/services/openapi/import-service.d.mts.map +0 -1
- package/dist/services/openapi/import-service.mjs +0 -165
- package/dist/services/openapi/import-service.mjs.map +0 -1
- package/dist/services/openapi/index.d.mts +0 -5
- package/dist/services/openapi/index.mjs +0 -6
- package/dist/services/openapi/sync-service.d.mts +0 -16
- package/dist/services/openapi/sync-service.d.mts.map +0 -1
- package/dist/services/openapi/sync-service.mjs +0 -120
- package/dist/services/openapi/sync-service.mjs.map +0 -1
- package/dist/services/openapi/types.d.mts +0 -161
- package/dist/services/openapi/types.d.mts.map +0 -1
- package/dist/services/openapi/validate-service.d.mts +0 -15
- package/dist/services/openapi/validate-service.d.mts.map +0 -1
- package/dist/services/openapi/validate-service.mjs +0 -130
- package/dist/services/openapi/validate-service.mjs.map +0 -1
- package/dist/services/quickstart/dependencies.d.mts +0 -30
- package/dist/services/quickstart/dependencies.d.mts.map +0 -1
- package/dist/services/quickstart/dependencies.mjs +0 -57
- package/dist/services/quickstart/dependencies.mjs.map +0 -1
- package/dist/services/quickstart/index.mjs +0 -4
- package/dist/services/quickstart/quickstart-service.d.mts +0 -19
- package/dist/services/quickstart/quickstart-service.d.mts.map +0 -1
- package/dist/services/quickstart/quickstart-service.mjs +0 -196
- package/dist/services/quickstart/quickstart-service.mjs.map +0 -1
- package/dist/services/quickstart/types.d.mts +0 -81
- package/dist/services/quickstart/types.d.mts.map +0 -1
- package/dist/services/regenerator.d.mts +0 -17
- package/dist/services/regenerator.d.mts.map +0 -1
- package/dist/services/regenerator.mjs +0 -23
- package/dist/services/regenerator.mjs.map +0 -1
- package/dist/services/registry.d.mts +0 -52
- package/dist/services/registry.d.mts.map +0 -1
- package/dist/services/registry.mjs +0 -74
- package/dist/services/registry.mjs.map +0 -1
- package/dist/services/rulesync.d.mts +0 -16
- package/dist/services/rulesync.d.mts.map +0 -1
- package/dist/services/rulesync.mjs +0 -72
- package/dist/services/rulesync.mjs.map +0 -1
- package/dist/services/setup/config-generators.d.mts +0 -41
- package/dist/services/setup/config-generators.d.mts.map +0 -1
- package/dist/services/setup/config-generators.mjs +0 -252
- package/dist/services/setup/config-generators.mjs.map +0 -1
- package/dist/services/setup/file-merger.d.mts +0 -27
- package/dist/services/setup/file-merger.d.mts.map +0 -1
- package/dist/services/setup/file-merger.mjs +0 -61
- package/dist/services/setup/file-merger.mjs.map +0 -1
- package/dist/services/setup/setup-service.d.mts +0 -11
- package/dist/services/setup/setup-service.d.mts.map +0 -1
- package/dist/services/setup/setup-service.mjs +0 -96
- package/dist/services/setup/setup-service.mjs.map +0 -1
- package/dist/services/setup/targets/agents-md.mjs +0 -47
- package/dist/services/setup/targets/agents-md.mjs.map +0 -1
- package/dist/services/setup/targets/cli-config.mjs +0 -60
- package/dist/services/setup/targets/cli-config.mjs.map +0 -1
- package/dist/services/setup/targets/cursor-rules.mjs +0 -48
- package/dist/services/setup/targets/cursor-rules.mjs.map +0 -1
- package/dist/services/setup/targets/mcp-claude.mjs +0 -60
- package/dist/services/setup/targets/mcp-claude.mjs.map +0 -1
- package/dist/services/setup/targets/mcp-cursor.mjs +0 -59
- package/dist/services/setup/targets/mcp-cursor.mjs.map +0 -1
- package/dist/services/setup/targets/vscode-settings.mjs +0 -63
- package/dist/services/setup/targets/vscode-settings.mjs.map +0 -1
- package/dist/services/setup/types.d.mts +0 -85
- package/dist/services/setup/types.d.mts.map +0 -1
- package/dist/services/setup/types.mjs +0 -27
- package/dist/services/setup/types.mjs.map +0 -1
- package/dist/services/sync.d.mts +0 -41
- package/dist/services/sync.d.mts.map +0 -1
- package/dist/services/sync.mjs +0 -64
- package/dist/services/sync.mjs.map +0 -1
- package/dist/services/test/index.d.mts +0 -2
- package/dist/services/test/index.mjs +0 -4
- package/dist/services/test/test-generator-service.d.mts +0 -23
- package/dist/services/test/test-generator-service.d.mts.map +0 -1
- package/dist/services/test/test-generator-service.mjs +0 -92
- package/dist/services/test/test-generator-service.mjs.map +0 -1
- package/dist/services/test/test-service.d.mts +0 -27
- package/dist/services/test/test-service.d.mts.map +0 -1
- package/dist/services/test/test-service.mjs +0 -94
- package/dist/services/test/test-service.mjs.map +0 -1
- package/dist/services/test-link/index.d.mts +0 -17
- package/dist/services/test-link/index.d.mts.map +0 -1
- package/dist/services/test-link/index.mjs +0 -60
- package/dist/services/test-link/index.mjs.map +0 -1
- package/dist/services/test-link/test-ref-validator.d.mts +0 -2
- package/dist/services/test-link/test-ref-validator.mjs +0 -50
- package/dist/services/test-link/test-ref-validator.mjs.map +0 -1
- package/dist/services/upgrade/index.d.mts +0 -10
- package/dist/services/upgrade/index.d.mts.map +0 -1
- package/dist/services/upgrade/index.mjs +0 -15
- package/dist/services/upgrade/index.mjs.map +0 -1
- package/dist/services/upgrade/types.d.mts +0 -78
- package/dist/services/upgrade/types.d.mts.map +0 -1
- package/dist/services/upgrade/upgrade-service.d.mts +0 -37
- package/dist/services/upgrade/upgrade-service.d.mts.map +0 -1
- package/dist/services/upgrade/upgrade-service.mjs +0 -201
- package/dist/services/upgrade/upgrade-service.mjs.map +0 -1
- package/dist/services/validate/blueprint-validator.d.mts +0 -22
- package/dist/services/validate/blueprint-validator.d.mts.map +0 -1
- package/dist/services/validate/blueprint-validator.mjs +0 -50
- package/dist/services/validate/blueprint-validator.mjs.map +0 -1
- package/dist/services/validate/implementation-agent-validator.d.mts +0 -20
- package/dist/services/validate/implementation-agent-validator.d.mts.map +0 -1
- package/dist/services/validate/implementation-agent-validator.mjs +0 -42
- package/dist/services/validate/implementation-agent-validator.mjs.map +0 -1
- package/dist/services/validate/implementation-validator.d.mts +0 -32
- package/dist/services/validate/implementation-validator.d.mts.map +0 -1
- package/dist/services/validate/implementation-validator.mjs +0 -55
- package/dist/services/validate/implementation-validator.mjs.map +0 -1
- package/dist/services/validate/index.d.mts +0 -5
- package/dist/services/validate/index.mjs +0 -7
- package/dist/services/validate/spec-validator.d.mts +0 -41
- package/dist/services/validate/spec-validator.d.mts.map +0 -1
- package/dist/services/validate/spec-validator.mjs +0 -53
- package/dist/services/validate/spec-validator.mjs.map +0 -1
- package/dist/services/validate/tenant-validator.d.mts +0 -21
- package/dist/services/validate/tenant-validator.d.mts.map +0 -1
- package/dist/services/validate/tenant-validator.mjs +0 -165
- package/dist/services/validate/tenant-validator.mjs.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.d.mts +0 -45
- package/dist/services/verification-cache/adapters/filesystem.d.mts.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.mjs +0 -120
- package/dist/services/verification-cache/adapters/filesystem.mjs.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.d.mts +0 -26
- package/dist/services/verification-cache/adapters/in-memory.d.mts.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.mjs +0 -46
- package/dist/services/verification-cache/adapters/in-memory.mjs.map +0 -1
- package/dist/services/verification-cache/adapters/index.d.mts +0 -3
- package/dist/services/verification-cache/adapters/index.mjs +0 -5
- package/dist/services/verification-cache/adapters/workspace-state.d.mts +0 -48
- package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +0 -1
- package/dist/services/verification-cache/adapters/workspace-state.mjs +0 -91
- package/dist/services/verification-cache/adapters/workspace-state.mjs.map +0 -1
- package/dist/services/verification-cache/cache-service.d.mts +0 -69
- package/dist/services/verification-cache/cache-service.d.mts.map +0 -1
- package/dist/services/verification-cache/cache-service.mjs +0 -256
- package/dist/services/verification-cache/cache-service.mjs.map +0 -1
- package/dist/services/verification-cache/index.d.mts +0 -6
- package/dist/services/verification-cache/index.mjs +0 -8
- package/dist/services/verification-cache/types.d.mts +0 -123
- package/dist/services/verification-cache/types.d.mts.map +0 -1
- package/dist/services/verification-cache/types.mjs +0 -16
- package/dist/services/verification-cache/types.mjs.map +0 -1
- package/dist/services/verify/ai-verifier.d.mts +0 -24
- package/dist/services/verify/ai-verifier.d.mts.map +0 -1
- package/dist/services/verify/ai-verifier.mjs +0 -403
- package/dist/services/verify/ai-verifier.mjs.map +0 -1
- package/dist/services/verify/behavior-verifier.d.mts +0 -11
- package/dist/services/verify/behavior-verifier.d.mts.map +0 -1
- package/dist/services/verify/behavior-verifier.mjs +0 -186
- package/dist/services/verify/behavior-verifier.mjs.map +0 -1
- package/dist/services/verify/index.d.mts +0 -5
- package/dist/services/verify/index.mjs +0 -6
- package/dist/services/verify/structure-verifier.d.mts +0 -11
- package/dist/services/verify/structure-verifier.d.mts.map +0 -1
- package/dist/services/verify/structure-verifier.mjs +0 -196
- package/dist/services/verify/structure-verifier.mjs.map +0 -1
- package/dist/services/verify/types.d.mts +0 -136
- package/dist/services/verify/types.d.mts.map +0 -1
- package/dist/services/verify/verify-service.d.mts +0 -59
- package/dist/services/verify/verify-service.d.mts.map +0 -1
- package/dist/services/verify/verify-service.mjs +0 -204
- package/dist/services/verify/verify-service.mjs.map +0 -1
- package/dist/services/versioning/changelog-formatter.d.mts +0 -23
- package/dist/services/versioning/changelog-formatter.d.mts.map +0 -1
- package/dist/services/versioning/changelog-formatter.mjs +0 -155
- package/dist/services/versioning/changelog-formatter.mjs.map +0 -1
- package/dist/services/versioning/conventional-commits.d.mts +0 -94
- package/dist/services/versioning/conventional-commits.d.mts.map +0 -1
- package/dist/services/versioning/conventional-commits.mjs +0 -184
- package/dist/services/versioning/conventional-commits.mjs.map +0 -1
- package/dist/services/versioning/index.d.mts +0 -12
- package/dist/services/versioning/index.d.mts.map +0 -1
- package/dist/services/versioning/index.mjs +0 -28
- package/dist/services/versioning/index.mjs.map +0 -1
- package/dist/services/versioning/types.d.mts +0 -134
- package/dist/services/versioning/types.d.mts.map +0 -1
- package/dist/services/versioning/versioning-service.d.mts +0 -73
- package/dist/services/versioning/versioning-service.d.mts.map +0 -1
- package/dist/services/versioning/versioning-service.mjs +0 -501
- package/dist/services/versioning/versioning-service.mjs.map +0 -1
- package/dist/services/vibe/config.d.mts +0 -11
- package/dist/services/vibe/config.d.mts.map +0 -1
- package/dist/services/vibe/config.mjs +0 -43
- package/dist/services/vibe/config.mjs.map +0 -1
- package/dist/services/vibe/context.d.mts +0 -19
- package/dist/services/vibe/context.d.mts.map +0 -1
- package/dist/services/vibe/context.mjs +0 -92
- package/dist/services/vibe/context.mjs.map +0 -1
- package/dist/services/vibe/definitions.d.mts +0 -7
- package/dist/services/vibe/definitions.d.mts.map +0 -1
- package/dist/services/vibe/definitions.mjs +0 -129
- package/dist/services/vibe/definitions.mjs.map +0 -1
- package/dist/services/vibe/engine.d.mts +0 -43
- package/dist/services/vibe/engine.d.mts.map +0 -1
- package/dist/services/vibe/engine.mjs +0 -147
- package/dist/services/vibe/engine.mjs.map +0 -1
- package/dist/services/vibe/index.d.mts +0 -15
- package/dist/services/vibe/index.d.mts.map +0 -1
- package/dist/services/vibe/index.mjs +0 -26
- package/dist/services/vibe/index.mjs.map +0 -1
- package/dist/services/vibe/loader.d.mts +0 -14
- package/dist/services/vibe/loader.d.mts.map +0 -1
- package/dist/services/vibe/loader.mjs +0 -48
- package/dist/services/vibe/loader.mjs.map +0 -1
- package/dist/services/vibe/pack.d.mts +0 -19
- package/dist/services/vibe/pack.d.mts.map +0 -1
- package/dist/services/vibe/pack.mjs +0 -66
- package/dist/services/vibe/pack.mjs.map +0 -1
- package/dist/services/vibe/types.d.mts +0 -59
- package/dist/services/vibe/types.d.mts.map +0 -1
- package/dist/services/vibe/types.mjs +0 -12
- package/dist/services/vibe/types.mjs.map +0 -1
- package/dist/services/view/index.d.mts +0 -111
- package/dist/services/view/index.d.mts.map +0 -1
- package/dist/services/view/index.mjs +0 -217
- package/dist/services/view/index.mjs.map +0 -1
- package/dist/services/watch.d.mts +0 -24
- package/dist/services/watch.d.mts.map +0 -1
- package/dist/services/watch.mjs +0 -33
- package/dist/services/watch.mjs.map +0 -1
- package/dist/services/workspace-info.d.mts +0 -61
- package/dist/services/workspace-info.d.mts.map +0 -1
- package/dist/services/workspace-info.mjs +0 -103
- package/dist/services/workspace-info.mjs.map +0 -1
- package/dist/templates/app-config.template.d.mts +0 -7
- package/dist/templates/app-config.template.d.mts.map +0 -1
- package/dist/templates/app-config.template.mjs +0 -107
- package/dist/templates/app-config.template.mjs.map +0 -1
- package/dist/templates/data-view.template.d.mts +0 -7
- package/dist/templates/data-view.template.d.mts.map +0 -1
- package/dist/templates/data-view.template.mjs +0 -70
- package/dist/templates/data-view.template.mjs.map +0 -1
- package/dist/templates/event.template.d.mts +0 -10
- package/dist/templates/event.template.d.mts.map +0 -1
- package/dist/templates/event.template.mjs +0 -42
- package/dist/templates/event.template.mjs.map +0 -1
- package/dist/templates/experiment.template.d.mts +0 -7
- package/dist/templates/experiment.template.d.mts.map +0 -1
- package/dist/templates/experiment.template.mjs +0 -89
- package/dist/templates/experiment.template.mjs.map +0 -1
- package/dist/templates/feature.template.d.mts +0 -33
- package/dist/templates/feature.template.d.mts.map +0 -1
- package/dist/templates/feature.template.mjs +0 -52
- package/dist/templates/feature.template.mjs.map +0 -1
- package/dist/templates/fix/skeleton-capability.mjs +0 -49
- package/dist/templates/fix/skeleton-capability.mjs.map +0 -1
- package/dist/templates/fix/skeleton-event.mjs +0 -56
- package/dist/templates/fix/skeleton-event.mjs.map +0 -1
- package/dist/templates/fix/skeleton-operation.mjs +0 -122
- package/dist/templates/fix/skeleton-operation.mjs.map +0 -1
- package/dist/templates/fix/skeleton-presentation.mjs +0 -65
- package/dist/templates/fix/skeleton-presentation.mjs.map +0 -1
- package/dist/templates/fix/utils.mjs +0 -34
- package/dist/templates/fix/utils.mjs.map +0 -1
- package/dist/templates/handler.template.d.mts +0 -16
- package/dist/templates/handler.template.d.mts.map +0 -1
- package/dist/templates/handler.template.mjs +0 -100
- package/dist/templates/handler.template.mjs.map +0 -1
- package/dist/templates/index.d.mts +0 -22
- package/dist/templates/index.d.mts.map +0 -1
- package/dist/templates/index.mjs +0 -39
- package/dist/templates/index.mjs.map +0 -1
- package/dist/templates/integration.template.d.mts +0 -7
- package/dist/templates/integration.template.d.mts.map +0 -1
- package/dist/templates/integration.template.mjs +0 -157
- package/dist/templates/integration.template.mjs.map +0 -1
- package/dist/templates/knowledge.template.d.mts +0 -7
- package/dist/templates/knowledge.template.d.mts.map +0 -1
- package/dist/templates/knowledge.template.mjs +0 -74
- package/dist/templates/knowledge.template.mjs.map +0 -1
- package/dist/templates/migration.template.d.mts +0 -7
- package/dist/templates/migration.template.d.mts.map +0 -1
- package/dist/templates/migration.template.mjs +0 -61
- package/dist/templates/migration.template.mjs.map +0 -1
- package/dist/templates/operation.template.d.mts +0 -10
- package/dist/templates/operation.template.d.mts.map +0 -1
- package/dist/templates/operation.template.mjs +0 -107
- package/dist/templates/operation.template.mjs.map +0 -1
- package/dist/templates/presentation.template.d.mts +0 -10
- package/dist/templates/presentation.template.d.mts.map +0 -1
- package/dist/templates/presentation.template.mjs +0 -80
- package/dist/templates/presentation.template.mjs.map +0 -1
- package/dist/templates/telemetry.template.d.mts +0 -7
- package/dist/templates/telemetry.template.d.mts.map +0 -1
- package/dist/templates/telemetry.template.mjs +0 -91
- package/dist/templates/telemetry.template.mjs.map +0 -1
- package/dist/templates/workflow-runner.template.d.mts +0 -16
- package/dist/templates/workflow-runner.template.d.mts.map +0 -1
- package/dist/templates/workflow-runner.template.mjs +0 -50
- package/dist/templates/workflow-runner.template.mjs.map +0 -1
- package/dist/templates/workflow.template.d.mts +0 -7
- package/dist/templates/workflow.template.d.mts.map +0 -1
- package/dist/templates/workflow.template.mjs +0 -69
- package/dist/templates/workflow.template.mjs.map +0 -1
- package/dist/types.d.mts +0 -324
- package/dist/types.d.mts.map +0 -1
- package/dist/utils/filter.d.mts +0 -24
- package/dist/utils/filter.d.mts.map +0 -1
- package/dist/utils/filter.mjs +0 -49
- package/dist/utils/filter.mjs.map +0 -1
- package/dist/utils/index.d.mts +0 -11
- package/dist/utils/index.d.mts.map +0 -1
- package/dist/utils/index.mjs +0 -21
- package/dist/utils/index.mjs.map +0 -1
- package/dist/utils/module-loader.d.mts +0 -5
- package/dist/utils/module-loader.d.mts.map +0 -1
- package/dist/utils/module-loader.mjs +0 -41
- package/dist/utils/module-loader.mjs.map +0 -1
- package/dist/utils/validation.d.mts +0 -36
- package/dist/utils/validation.d.mts.map +0 -1
- package/dist/utils/validation.mjs +0 -43
- package/dist/utils/validation.mjs.map +0 -1
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ClaudeCodeAdapter, claudeCodeAdapter } from "./claude-code.mjs";
|
|
2
|
-
import { CursorCLIAdapter, cursorCLIAdapter } from "./cursor-cli.mjs";
|
|
3
|
-
import { GenericMCPAdapter, genericMCPAdapter } from "./generic-mcp.mjs";
|
|
4
|
-
|
|
5
|
-
//#region src/services/agent-guide/adapters/index.ts
|
|
6
|
-
/**
|
|
7
|
-
* Registry of all available agent adapters.
|
|
8
|
-
*/
|
|
9
|
-
const agentAdapters = {
|
|
10
|
-
"claude-code": claudeCodeAdapter,
|
|
11
|
-
"cursor-cli": cursorCLIAdapter,
|
|
12
|
-
"generic-mcp": genericMCPAdapter
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Get an adapter for a specific agent type.
|
|
16
|
-
*/
|
|
17
|
-
function getAgentAdapter(agent) {
|
|
18
|
-
const adapter = agentAdapters[agent];
|
|
19
|
-
if (!adapter) throw new Error(`Unknown agent type: ${agent}`);
|
|
20
|
-
return adapter;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* List all available agent types.
|
|
24
|
-
*/
|
|
25
|
-
function listAgentTypes() {
|
|
26
|
-
return Object.keys(agentAdapters);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
//#endregion
|
|
30
|
-
export { agentAdapters, getAgentAdapter, listAgentTypes };
|
|
31
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/services/agent-guide/adapters/index.ts"],"sourcesContent":["/**\n * Agent Adapters\n *\n * Exports all agent-specific adapters for formatting implementation\n * plans and prompts.\n */\n\nexport { ClaudeCodeAdapter, claudeCodeAdapter } from './claude-code';\nexport { CursorCLIAdapter, cursorCLIAdapter } from './cursor-cli';\nexport { GenericMCPAdapter, genericMCPAdapter } from './generic-mcp';\n\nimport type { AgentType } from '@contractspec/lib.contracts/llm';\nimport type { AgentAdapter } from '../types';\nimport { claudeCodeAdapter } from './claude-code';\nimport { cursorCLIAdapter } from './cursor-cli';\nimport { genericMCPAdapter } from './generic-mcp';\n\n/**\n * Registry of all available agent adapters.\n */\nexport const agentAdapters: Record<AgentType, AgentAdapter> = {\n 'claude-code': claudeCodeAdapter,\n 'cursor-cli': cursorCLIAdapter,\n 'generic-mcp': genericMCPAdapter,\n};\n\n/**\n * Get an adapter for a specific agent type.\n */\nexport function getAgentAdapter(agent: AgentType): AgentAdapter {\n const adapter = agentAdapters[agent];\n if (!adapter) {\n throw new Error(`Unknown agent type: ${agent}`);\n }\n return adapter;\n}\n\n/**\n * List all available agent types.\n */\nexport function listAgentTypes(): AgentType[] {\n return Object.keys(agentAdapters) as AgentType[];\n}\n"],"mappings":";;;;;;;;AAoBA,MAAa,gBAAiD;CAC5D,eAAe;CACf,cAAc;CACd,eAAe;CAChB;;;;AAKD,SAAgB,gBAAgB,OAAgC;CAC9D,MAAM,UAAU,cAAc;AAC9B,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,uBAAuB,QAAQ;AAEjD,QAAO;;;;;AAMT,SAAgB,iBAA8B;AAC5C,QAAO,OAAO,KAAK,cAAc"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { AgentGuideConfig, GuideOptions, GuideResult } from "./types.mjs";
|
|
2
|
-
import { AnyOperationSpec, OperationSpecRegistry, PresentationRegistry } from "@contractspec/lib.contracts";
|
|
3
|
-
import { AgentType } from "@contractspec/lib.contracts/llm";
|
|
4
|
-
import { FeatureModuleSpec } from "@contractspec/lib.contracts/features";
|
|
5
|
-
|
|
6
|
-
//#region src/services/agent-guide/agent-guide-service.d.ts
|
|
7
|
-
/**
|
|
8
|
-
* Agent Guide Service
|
|
9
|
-
*
|
|
10
|
-
* Main service for generating implementation guidance for AI coding agents.
|
|
11
|
-
*/
|
|
12
|
-
declare class AgentGuideService {
|
|
13
|
-
private config;
|
|
14
|
-
constructor(config?: Partial<AgentGuideConfig>);
|
|
15
|
-
/**
|
|
16
|
-
* Generate an implementation guide for a spec.
|
|
17
|
-
*/
|
|
18
|
-
generateGuide(spec: AnyOperationSpec, options?: GuideOptions): GuideResult;
|
|
19
|
-
/**
|
|
20
|
-
* Generate a guide for a feature (includes all related specs).
|
|
21
|
-
*/
|
|
22
|
-
generateFeatureGuide(feature: FeatureModuleSpec, deps: {
|
|
23
|
-
specs?: OperationSpecRegistry;
|
|
24
|
-
presentations?: PresentationRegistry;
|
|
25
|
-
}, options?: GuideOptions): GuideResult;
|
|
26
|
-
/**
|
|
27
|
-
* Generate agent-specific configuration (e.g., cursor rules).
|
|
28
|
-
*/
|
|
29
|
-
generateAgentConfig(spec: AnyOperationSpec, agent?: AgentType): string | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* Export a spec in a specific format for an agent.
|
|
32
|
-
*/
|
|
33
|
-
exportForAgent(spec: AnyOperationSpec, _agent: AgentType, taskType?: 'implement' | 'test' | 'refactor' | 'review', existingCode?: string): string;
|
|
34
|
-
/**
|
|
35
|
-
* List available agent types.
|
|
36
|
-
*/
|
|
37
|
-
listAgentTypes(): AgentType[];
|
|
38
|
-
/**
|
|
39
|
-
* Get the default agent type.
|
|
40
|
-
*/
|
|
41
|
-
getDefaultAgent(): AgentType;
|
|
42
|
-
/**
|
|
43
|
-
* Update configuration.
|
|
44
|
-
*/
|
|
45
|
-
configure(config: Partial<AgentGuideConfig>): void;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Create a new AgentGuideService instance.
|
|
49
|
-
*/
|
|
50
|
-
declare function createAgentGuideService(config?: Partial<AgentGuideConfig>): AgentGuideService;
|
|
51
|
-
/** Default singleton instance */
|
|
52
|
-
declare const agentGuideService: AgentGuideService;
|
|
53
|
-
//#endregion
|
|
54
|
-
export { AgentGuideService, agentGuideService, createAgentGuideService };
|
|
55
|
-
//# sourceMappingURL=agent-guide-service.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-guide-service.d.mts","names":[],"sources":["../../../src/services/agent-guide/agent-guide-service.ts"],"mappings":";;;;;;;;;;;cAoCa,iBAAA;EAAA,QACH,MAAA;cAEI,MAAA,GAAQ,OAAA,CAAQ,gBAAA;EA2CzB;;;EApCH,aAAA,CACE,IAAA,EAAM,gBAAA,EACN,OAAA,GAAS,YAAA,GACR,WAAA;EAiIO;;;EAvGV,oBAAA,CACE,OAAA,EAAS,iBAAA,EACT,IAAA;IACE,KAAA,GAAQ,qBAAA;IACR,aAAA,GAAgB,oBAAA;EAAA,GAElB,OAAA,GAAS,YAAA,GACR,WAAA;EA7CK;;;EAgIR,mBAAA,CACE,IAAA,EAAM,gBAAA,EACN,KAAA,GAAQ,SAAA;EAhIE;;;EAyIZ,cAAA,CACE,IAAA,EAAM,gBAAA,EACN,MAAA,EAAQ,SAAA,EACR,QAAA,iDACA,YAAA;EApIS;;;EA4IX,cAAA,CAAA,GAAkB,SAAA;EAhHP;;;EAuHX,eAAA,CAAA,GAAmB,SAAA;EApHf;;;EA2HJ,SAAA,CAAU,MAAA,EAAQ,OAAA,CAAQ,gBAAA;AAAA;;;;iBAQZ,uBAAA,CACd,MAAA,GAAS,OAAA,CAAQ,gBAAA,IAChB,iBAAA;;cAKU,iBAAA,EAAiB,iBAAA"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { getAgentAdapter, listAgentTypes } from "./adapters/index.mjs";
|
|
2
|
-
import { featureToMarkdown, generateImplementationPlan, operationSpecToAgentPrompt, operationSpecToFullMarkdown } from "@contractspec/lib.contracts/llm";
|
|
3
|
-
|
|
4
|
-
//#region src/services/agent-guide/agent-guide-service.ts
|
|
5
|
-
const DEFAULT_CONFIG = {
|
|
6
|
-
defaultAgent: "generic-mcp",
|
|
7
|
-
verbose: false
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Agent Guide Service
|
|
11
|
-
*
|
|
12
|
-
* Main service for generating implementation guidance for AI coding agents.
|
|
13
|
-
*/
|
|
14
|
-
var AgentGuideService = class {
|
|
15
|
-
config;
|
|
16
|
-
constructor(config = {}) {
|
|
17
|
-
this.config = {
|
|
18
|
-
...DEFAULT_CONFIG,
|
|
19
|
-
...config
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Generate an implementation guide for a spec.
|
|
24
|
-
*/
|
|
25
|
-
generateGuide(spec, options = {}) {
|
|
26
|
-
const adapter = getAgentAdapter(options.agent ?? this.config.defaultAgent);
|
|
27
|
-
const plan = generateImplementationPlan(spec, {
|
|
28
|
-
projectRoot: this.config.projectRoot,
|
|
29
|
-
existingFiles: options.targetPath ? [options.targetPath] : void 0
|
|
30
|
-
});
|
|
31
|
-
return {
|
|
32
|
-
plan,
|
|
33
|
-
prompt: adapter.formatPlan(plan),
|
|
34
|
-
markdown: operationSpecToFullMarkdown(spec)
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Generate a guide for a feature (includes all related specs).
|
|
39
|
-
*/
|
|
40
|
-
generateFeatureGuide(feature, deps, options = {}) {
|
|
41
|
-
const adapter = getAgentAdapter(options.agent ?? this.config.defaultAgent);
|
|
42
|
-
const firstOp = feature.operations?.[0];
|
|
43
|
-
const spec = firstOp ? deps.specs?.get(firstOp.key, firstOp.version) : void 0;
|
|
44
|
-
let plan;
|
|
45
|
-
if (spec) {
|
|
46
|
-
plan = generateImplementationPlan(spec, { projectRoot: this.config.projectRoot });
|
|
47
|
-
plan.target = {
|
|
48
|
-
type: "feature",
|
|
49
|
-
key: feature.meta.key,
|
|
50
|
-
version: "1.0.0"
|
|
51
|
-
};
|
|
52
|
-
plan.context.goal = feature.meta.description ?? plan.context.goal;
|
|
53
|
-
} else plan = {
|
|
54
|
-
target: {
|
|
55
|
-
type: "feature",
|
|
56
|
-
key: feature.meta.key,
|
|
57
|
-
version: "1.0.0"
|
|
58
|
-
},
|
|
59
|
-
context: {
|
|
60
|
-
goal: feature.meta.description ?? `Implement feature ${feature.meta.key}`,
|
|
61
|
-
description: feature.meta.title ?? feature.meta.key,
|
|
62
|
-
background: ""
|
|
63
|
-
},
|
|
64
|
-
specMarkdown: featureToMarkdown(feature, deps),
|
|
65
|
-
fileStructure: [],
|
|
66
|
-
steps: [{
|
|
67
|
-
order: 1,
|
|
68
|
-
title: "Implement Feature",
|
|
69
|
-
description: `Implement the ${feature.meta.key} feature`,
|
|
70
|
-
acceptanceCriteria: []
|
|
71
|
-
}],
|
|
72
|
-
constraints: {
|
|
73
|
-
policy: [],
|
|
74
|
-
security: [],
|
|
75
|
-
pii: []
|
|
76
|
-
},
|
|
77
|
-
verificationChecklist: []
|
|
78
|
-
};
|
|
79
|
-
plan.specMarkdown = featureToMarkdown(feature, deps, {
|
|
80
|
-
format: "full",
|
|
81
|
-
includeRelatedSpecs: true,
|
|
82
|
-
includeRelatedEvents: true,
|
|
83
|
-
includeRelatedPresentations: true
|
|
84
|
-
});
|
|
85
|
-
if (feature.operations?.length) plan.steps = feature.operations.map((op, idx) => ({
|
|
86
|
-
order: idx + 1,
|
|
87
|
-
title: `Implement ${op.key}`,
|
|
88
|
-
description: `Implement operation ${op.key}.v${op.version}`,
|
|
89
|
-
acceptanceCriteria: [`Operation ${op.key} works as specified`]
|
|
90
|
-
}));
|
|
91
|
-
const prompt = adapter.formatPlan(plan);
|
|
92
|
-
const markdown = featureToMarkdown(feature, deps);
|
|
93
|
-
return {
|
|
94
|
-
plan,
|
|
95
|
-
prompt,
|
|
96
|
-
markdown
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Generate agent-specific configuration (e.g., cursor rules).
|
|
101
|
-
*/
|
|
102
|
-
generateAgentConfig(spec, agent) {
|
|
103
|
-
return getAgentAdapter(agent ?? this.config.defaultAgent).generateConfig?.(spec);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Export a spec in a specific format for an agent.
|
|
107
|
-
*/
|
|
108
|
-
exportForAgent(spec, _agent, taskType = "implement", existingCode) {
|
|
109
|
-
return operationSpecToAgentPrompt(spec, {
|
|
110
|
-
taskType,
|
|
111
|
-
existingCode
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* List available agent types.
|
|
116
|
-
*/
|
|
117
|
-
listAgentTypes() {
|
|
118
|
-
return listAgentTypes();
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Get the default agent type.
|
|
122
|
-
*/
|
|
123
|
-
getDefaultAgent() {
|
|
124
|
-
return this.config.defaultAgent;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Update configuration.
|
|
128
|
-
*/
|
|
129
|
-
configure(config) {
|
|
130
|
-
this.config = {
|
|
131
|
-
...this.config,
|
|
132
|
-
...config
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
/**
|
|
137
|
-
* Create a new AgentGuideService instance.
|
|
138
|
-
*/
|
|
139
|
-
function createAgentGuideService(config) {
|
|
140
|
-
return new AgentGuideService(config);
|
|
141
|
-
}
|
|
142
|
-
/** Default singleton instance */
|
|
143
|
-
const agentGuideService = new AgentGuideService();
|
|
144
|
-
|
|
145
|
-
//#endregion
|
|
146
|
-
export { AgentGuideService, agentGuideService, createAgentGuideService };
|
|
147
|
-
//# sourceMappingURL=agent-guide-service.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-guide-service.mjs","names":[],"sources":["../../../src/services/agent-guide/agent-guide-service.ts"],"sourcesContent":["/**\n * Agent Guide Service\n *\n * Generates implementation plans and prompts for AI coding agents.\n * Bridges ContractSpec specifications with agent-specific formats.\n */\n\nimport type {\n AnyOperationSpec,\n OperationSpecRegistry,\n PresentationRegistry,\n} from '@contractspec/lib.contracts';\nimport type { FeatureModuleSpec } from '@contractspec/lib.contracts/features';\nimport type {\n AgentType,\n ImplementationPlan,\n} from '@contractspec/lib.contracts/llm';\nimport {\n featureToMarkdown,\n generateImplementationPlan,\n operationSpecToAgentPrompt,\n operationSpecToFullMarkdown,\n} from '@contractspec/lib.contracts/llm';\nimport { getAgentAdapter, listAgentTypes } from './adapters';\nimport type { AgentGuideConfig, GuideOptions, GuideResult } from './types';\n\nconst DEFAULT_CONFIG: AgentGuideConfig = {\n defaultAgent: 'generic-mcp',\n verbose: false,\n};\n\n/**\n * Agent Guide Service\n *\n * Main service for generating implementation guidance for AI coding agents.\n */\nexport class AgentGuideService {\n private config: AgentGuideConfig;\n\n constructor(config: Partial<AgentGuideConfig> = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n }\n\n /**\n * Generate an implementation guide for a spec.\n */\n generateGuide(\n spec: AnyOperationSpec,\n options: GuideOptions = {}\n ): GuideResult {\n const agent = options.agent ?? this.config.defaultAgent;\n const adapter = getAgentAdapter(agent);\n\n // Generate the implementation plan\n const plan = generateImplementationPlan(spec, {\n projectRoot: this.config.projectRoot,\n existingFiles: options.targetPath ? [options.targetPath] : undefined,\n });\n\n // Format for the target agent\n const prompt = adapter.formatPlan(plan);\n\n // Generate raw markdown for clipboard/export\n const markdown = operationSpecToFullMarkdown(spec);\n\n return {\n plan,\n prompt,\n markdown,\n };\n }\n\n /**\n * Generate a guide for a feature (includes all related specs).\n */\n generateFeatureGuide(\n feature: FeatureModuleSpec,\n deps: {\n specs?: OperationSpecRegistry;\n presentations?: PresentationRegistry;\n },\n options: GuideOptions = {}\n ): GuideResult {\n const agent = options.agent ?? this.config.defaultAgent;\n const adapter = getAgentAdapter(agent);\n\n // Create a composite plan for the feature\n const firstOp = feature.operations?.[0];\n const spec = firstOp\n ? deps.specs?.get(firstOp.key, firstOp.version)\n : undefined;\n\n // Generate base plan from first spec or create feature-level plan\n let plan: ImplementationPlan;\n if (spec) {\n plan = generateImplementationPlan(spec, {\n projectRoot: this.config.projectRoot,\n });\n // Override target to indicate it's a feature\n plan.target = {\n type: 'feature',\n key: feature.meta.key,\n version: '1.0.0',\n };\n plan.context.goal = feature.meta.description ?? plan.context.goal;\n } else {\n // Create a minimal plan for features without specs\n plan = {\n target: {\n type: 'feature',\n key: feature.meta.key,\n version: '1.0.0',\n },\n context: {\n goal:\n feature.meta.description ?? `Implement feature ${feature.meta.key}`,\n description: feature.meta.title ?? feature.meta.key,\n background: '',\n },\n specMarkdown: featureToMarkdown(feature, deps),\n fileStructure: [],\n steps: [\n {\n order: 1,\n title: 'Implement Feature',\n description: `Implement the ${feature.meta.key} feature`,\n acceptanceCriteria: [],\n },\n ],\n constraints: { policy: [], security: [], pii: [] },\n verificationChecklist: [],\n };\n }\n\n // Enhance spec markdown with full feature context\n plan.specMarkdown = featureToMarkdown(feature, deps, {\n format: 'full',\n includeRelatedSpecs: true,\n includeRelatedEvents: true,\n includeRelatedPresentations: true,\n });\n\n // Add steps for each operation\n if (feature.operations?.length) {\n plan.steps = feature.operations.map((op, idx) => ({\n order: idx + 1,\n title: `Implement ${op.key}`,\n description: `Implement operation ${op.key}.v${op.version}`,\n acceptanceCriteria: [`Operation ${op.key} works as specified`],\n }));\n }\n\n const prompt = adapter.formatPlan(plan);\n const markdown = featureToMarkdown(feature, deps);\n\n return {\n plan,\n prompt,\n markdown,\n };\n }\n\n /**\n * Generate agent-specific configuration (e.g., cursor rules).\n */\n generateAgentConfig(\n spec: AnyOperationSpec,\n agent?: AgentType\n ): string | undefined {\n const adapter = getAgentAdapter(agent ?? this.config.defaultAgent);\n return adapter.generateConfig?.(spec);\n }\n\n /**\n * Export a spec in a specific format for an agent.\n */\n exportForAgent(\n spec: AnyOperationSpec,\n _agent: AgentType,\n taskType: 'implement' | 'test' | 'refactor' | 'review' = 'implement',\n existingCode?: string\n ): string {\n return operationSpecToAgentPrompt(spec, { taskType, existingCode });\n }\n\n /**\n * List available agent types.\n */\n listAgentTypes(): AgentType[] {\n return listAgentTypes();\n }\n\n /**\n * Get the default agent type.\n */\n getDefaultAgent(): AgentType {\n return this.config.defaultAgent;\n }\n\n /**\n * Update configuration.\n */\n configure(config: Partial<AgentGuideConfig>): void {\n this.config = { ...this.config, ...config };\n }\n}\n\n/**\n * Create a new AgentGuideService instance.\n */\nexport function createAgentGuideService(\n config?: Partial<AgentGuideConfig>\n): AgentGuideService {\n return new AgentGuideService(config);\n}\n\n/** Default singleton instance */\nexport const agentGuideService = new AgentGuideService();\n"],"mappings":";;;;AA0BA,MAAM,iBAAmC;CACvC,cAAc;CACd,SAAS;CACV;;;;;;AAOD,IAAa,oBAAb,MAA+B;CAC7B,AAAQ;CAER,YAAY,SAAoC,EAAE,EAAE;AAClD,OAAK,SAAS;GAAE,GAAG;GAAgB,GAAG;GAAQ;;;;;CAMhD,cACE,MACA,UAAwB,EAAE,EACb;EAEb,MAAM,UAAU,gBADF,QAAQ,SAAS,KAAK,OAAO,aACL;EAGtC,MAAM,OAAO,2BAA2B,MAAM;GAC5C,aAAa,KAAK,OAAO;GACzB,eAAe,QAAQ,aAAa,CAAC,QAAQ,WAAW,GAAG;GAC5D,CAAC;AAQF,SAAO;GACL;GACA,QAPa,QAAQ,WAAW,KAAK;GAQrC,UALe,4BAA4B,KAAK;GAMjD;;;;;CAMH,qBACE,SACA,MAIA,UAAwB,EAAE,EACb;EAEb,MAAM,UAAU,gBADF,QAAQ,SAAS,KAAK,OAAO,aACL;EAGtC,MAAM,UAAU,QAAQ,aAAa;EACrC,MAAM,OAAO,UACT,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,QAAQ,GAC7C;EAGJ,IAAI;AACJ,MAAI,MAAM;AACR,UAAO,2BAA2B,MAAM,EACtC,aAAa,KAAK,OAAO,aAC1B,CAAC;AAEF,QAAK,SAAS;IACZ,MAAM;IACN,KAAK,QAAQ,KAAK;IAClB,SAAS;IACV;AACD,QAAK,QAAQ,OAAO,QAAQ,KAAK,eAAe,KAAK,QAAQ;QAG7D,QAAO;GACL,QAAQ;IACN,MAAM;IACN,KAAK,QAAQ,KAAK;IAClB,SAAS;IACV;GACD,SAAS;IACP,MACE,QAAQ,KAAK,eAAe,qBAAqB,QAAQ,KAAK;IAChE,aAAa,QAAQ,KAAK,SAAS,QAAQ,KAAK;IAChD,YAAY;IACb;GACD,cAAc,kBAAkB,SAAS,KAAK;GAC9C,eAAe,EAAE;GACjB,OAAO,CACL;IACE,OAAO;IACP,OAAO;IACP,aAAa,iBAAiB,QAAQ,KAAK,IAAI;IAC/C,oBAAoB,EAAE;IACvB,CACF;GACD,aAAa;IAAE,QAAQ,EAAE;IAAE,UAAU,EAAE;IAAE,KAAK,EAAE;IAAE;GAClD,uBAAuB,EAAE;GAC1B;AAIH,OAAK,eAAe,kBAAkB,SAAS,MAAM;GACnD,QAAQ;GACR,qBAAqB;GACrB,sBAAsB;GACtB,6BAA6B;GAC9B,CAAC;AAGF,MAAI,QAAQ,YAAY,OACtB,MAAK,QAAQ,QAAQ,WAAW,KAAK,IAAI,SAAS;GAChD,OAAO,MAAM;GACb,OAAO,aAAa,GAAG;GACvB,aAAa,uBAAuB,GAAG,IAAI,IAAI,GAAG;GAClD,oBAAoB,CAAC,aAAa,GAAG,IAAI,qBAAqB;GAC/D,EAAE;EAGL,MAAM,SAAS,QAAQ,WAAW,KAAK;EACvC,MAAM,WAAW,kBAAkB,SAAS,KAAK;AAEjD,SAAO;GACL;GACA;GACA;GACD;;;;;CAMH,oBACE,MACA,OACoB;AAEpB,SADgB,gBAAgB,SAAS,KAAK,OAAO,aAAa,CACnD,iBAAiB,KAAK;;;;;CAMvC,eACE,MACA,QACA,WAAyD,aACzD,cACQ;AACR,SAAO,2BAA2B,MAAM;GAAE;GAAU;GAAc,CAAC;;;;;CAMrE,iBAA8B;AAC5B,SAAO,gBAAgB;;;;;CAMzB,kBAA6B;AAC3B,SAAO,KAAK,OAAO;;;;;CAMrB,UAAU,QAAyC;AACjD,OAAK,SAAS;GAAE,GAAG,KAAK;GAAQ,GAAG;GAAQ;;;;;;AAO/C,SAAgB,wBACd,QACmB;AACnB,QAAO,IAAI,kBAAkB,OAAO;;;AAItC,MAAa,oBAAoB,IAAI,mBAAmB"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { AgentAdapter, AgentGuideConfig, FormatOptions, GuideOptions, GuideResult } from "./types.mjs";
|
|
2
|
-
import { AgentGuideService, agentGuideService, createAgentGuideService } from "./agent-guide-service.mjs";
|
|
3
|
-
import { ClaudeCodeAdapter, claudeCodeAdapter } from "./adapters/claude-code.mjs";
|
|
4
|
-
import { CursorCLIAdapter, cursorCLIAdapter } from "./adapters/cursor-cli.mjs";
|
|
5
|
-
import { GenericMCPAdapter, genericMCPAdapter } from "./adapters/generic-mcp.mjs";
|
|
6
|
-
import { agentAdapters, getAgentAdapter, listAgentTypes } from "./adapters/index.mjs";
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ClaudeCodeAdapter, claudeCodeAdapter } from "./adapters/claude-code.mjs";
|
|
2
|
-
import { CursorCLIAdapter, cursorCLIAdapter } from "./adapters/cursor-cli.mjs";
|
|
3
|
-
import { GenericMCPAdapter, genericMCPAdapter } from "./adapters/generic-mcp.mjs";
|
|
4
|
-
import { agentAdapters, getAgentAdapter, listAgentTypes } from "./adapters/index.mjs";
|
|
5
|
-
import { AgentGuideService, agentGuideService, createAgentGuideService } from "./agent-guide-service.mjs";
|
|
6
|
-
|
|
7
|
-
export { };
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { AnyOperationSpec } from "@contractspec/lib.contracts";
|
|
2
|
-
import { AgentPrompt, AgentType, ImplementationPlan } from "@contractspec/lib.contracts/llm";
|
|
3
|
-
|
|
4
|
-
//#region src/services/agent-guide/types.d.ts
|
|
5
|
-
/** Configuration for the agent guide service */
|
|
6
|
-
interface AgentGuideConfig {
|
|
7
|
-
/** Default agent to use if not specified */
|
|
8
|
-
defaultAgent: AgentType;
|
|
9
|
-
/** Project root path */
|
|
10
|
-
projectRoot?: string;
|
|
11
|
-
/** Enable verbose logging */
|
|
12
|
-
verbose?: boolean;
|
|
13
|
-
}
|
|
14
|
-
/** Options for generating an implementation guide */
|
|
15
|
-
interface GuideOptions {
|
|
16
|
-
/** Target agent type */
|
|
17
|
-
agent?: AgentType;
|
|
18
|
-
/** Existing code to consider */
|
|
19
|
-
existingCode?: string;
|
|
20
|
-
/** Target file path for implementation */
|
|
21
|
-
targetPath?: string;
|
|
22
|
-
/** Include related specs */
|
|
23
|
-
includeRelated?: boolean;
|
|
24
|
-
}
|
|
25
|
-
/** Options for formatting output */
|
|
26
|
-
interface FormatOptions {
|
|
27
|
-
/** Output format */
|
|
28
|
-
format: 'markdown' | 'json' | 'cursor-rules';
|
|
29
|
-
/** Include system prompt */
|
|
30
|
-
includeSystemPrompt?: boolean;
|
|
31
|
-
}
|
|
32
|
-
/** Result of generating a guide */
|
|
33
|
-
interface GuideResult {
|
|
34
|
-
/** The generated plan */
|
|
35
|
-
plan: ImplementationPlan;
|
|
36
|
-
/** Formatted prompt for the target agent */
|
|
37
|
-
prompt: AgentPrompt;
|
|
38
|
-
/** Raw markdown for clipboard/export */
|
|
39
|
-
markdown: string;
|
|
40
|
-
}
|
|
41
|
-
/** Adapter interface for specific agent types */
|
|
42
|
-
interface AgentAdapter {
|
|
43
|
-
/** Agent type this adapter handles */
|
|
44
|
-
agentType: AgentType;
|
|
45
|
-
/** Format a plan for this agent */
|
|
46
|
-
formatPlan(plan: ImplementationPlan): AgentPrompt;
|
|
47
|
-
/** Generate agent-specific configuration (e.g., cursor rules) */
|
|
48
|
-
generateConfig?(spec: AnyOperationSpec): string;
|
|
49
|
-
/** Parse agent output to extract code */
|
|
50
|
-
parseOutput?(output: string): {
|
|
51
|
-
code?: string;
|
|
52
|
-
errors?: string[];
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
//#endregion
|
|
56
|
-
export { AgentAdapter, AgentGuideConfig, FormatOptions, GuideOptions, GuideResult };
|
|
57
|
-
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/services/agent-guide/types.ts"],"mappings":";;;;;UAYiB,gBAAA;EAEQ;EAAvB,YAAA,EAAc,SAAA;EAAA;EAEd,WAAA;EAEA;EAAA,OAAA;AAAA;AAIF;AAAA,UAAiB,YAAA;;EAEf,KAAA,GAAQ,SAAA;EAAR;EAEA,YAAA;EAAA;EAEA,UAAA;EAEA;EAAA,cAAA;AAAA;AAIF;AAAA,UAAiB,aAAA;;EAEf,MAAA;EAEmB;EAAnB,mBAAA;AAAA;;UAIe,WAAA;EAEf;EAAA,IAAA,EAAM,kBAAA;EAEN;EAAA,MAAA,EAAQ,WAAA;EAER;EAAA,QAAA;AAAA;AAIF;AAAA,UAAiB,YAAA;;EAEf,SAAA,EAAW,SAAA;EAGM;EAAjB,UAAA,CAAW,IAAA,EAAM,kBAAA,GAAqB,WAAA;EAGhB;EAAtB,cAAA,EAAgB,IAAA,EAAM,gBAAA;EAAgB;EAGtC,WAAA,EAAa,MAAA;IAAmB,IAAA;IAAe,MAAA;EAAA;AAAA"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../ports/fs.mjs";
|
|
2
|
-
import { LoggerAdapter } from "../ports/logger.mjs";
|
|
3
|
-
import * as _contractspec_module_workspace0 from "@contractspec/module.workspace";
|
|
4
|
-
import { SpecScanResult } from "@contractspec/module.workspace";
|
|
5
|
-
import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
|
|
6
|
-
|
|
7
|
-
//#region src/services/build.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Build target types.
|
|
10
|
-
*/
|
|
11
|
-
type BuildTarget = 'handler' | 'component' | 'test';
|
|
12
|
-
/**
|
|
13
|
-
* Options for building from a spec.
|
|
14
|
-
*/
|
|
15
|
-
interface BuildSpecOptions {
|
|
16
|
-
/**
|
|
17
|
-
* Which artifacts to generate.
|
|
18
|
-
*/
|
|
19
|
-
targets?: BuildTarget[];
|
|
20
|
-
/**
|
|
21
|
-
* Override output directory.
|
|
22
|
-
*/
|
|
23
|
-
outputDir?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Whether to overwrite existing files.
|
|
26
|
-
*/
|
|
27
|
-
overwrite?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Skip writing files (dry run).
|
|
30
|
-
*/
|
|
31
|
-
dryRun?: boolean;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Result of a single build target.
|
|
35
|
-
*/
|
|
36
|
-
interface BuildTargetResult {
|
|
37
|
-
target: BuildTarget;
|
|
38
|
-
outputPath: string;
|
|
39
|
-
success: boolean;
|
|
40
|
-
skipped?: boolean;
|
|
41
|
-
error?: string;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Result of building from a spec.
|
|
45
|
-
*/
|
|
46
|
-
interface BuildSpecResult {
|
|
47
|
-
specPath: string;
|
|
48
|
-
specInfo: SpecScanResult;
|
|
49
|
-
results: BuildTargetResult[];
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Build implementation files from a spec.
|
|
53
|
-
*/
|
|
54
|
-
declare function buildSpec(specPath: string, adapters: {
|
|
55
|
-
fs: FsAdapter;
|
|
56
|
-
logger: LoggerAdapter;
|
|
57
|
-
workspace?: typeof _contractspec_module_workspace0;
|
|
58
|
-
}, config: ResolvedContractsrcConfig, options?: BuildSpecOptions): Promise<BuildSpecResult>;
|
|
59
|
-
//#endregion
|
|
60
|
-
export { BuildSpecOptions, BuildSpecResult, BuildTarget, BuildTargetResult, buildSpec };
|
|
61
|
-
//# sourceMappingURL=build.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.mts","names":[],"sources":["../../src/services/build.ts"],"mappings":";;;;;;;;;AA2BA;KALY,WAAA;;;;UAKK,gBAAA;EASf;;;EALA,OAAA,GAAU,WAAA;EAeJ;AAMR;;EAhBE,SAAA;EAiBmB;;;EAZnB,SAAA;EAcA;;;EATA,MAAA;AAAA;AAiBF;;;AAAA,UAXiB,iBAAA;EACf,MAAA,EAAQ,WAAA;EACR,UAAA;EACA,OAAA;EACA,OAAA;EACA,KAAA;AAAA;;AAeF;;UATiB,eAAA;EACf,QAAA;EACA,QAAA,EAAU,cAAA;EACV,OAAA,EAAS,iBAAA;AAAA;;;;iBAMW,SAAA,CACpB,QAAA,UACA,QAAA;EACE,EAAA,EAAI,SAAA;EACJ,MAAA,EAAQ,aAAA;EACR,SAAA,UADqB,+BAAA;AAAA,GAGvB,MAAA,EAAQ,yBAAA,EACR,OAAA,GAAS,gBAAA,GACR,OAAA,CAAQ,eAAA"}
|
package/dist/services/build.mjs
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { generateComponentTemplate, generateHandlerTemplate, generateTestTemplate, inferSpecTypeFromFilePath, scanSpecSource } from "@contractspec/module.workspace";
|
|
2
|
-
|
|
3
|
-
//#region src/services/build.ts
|
|
4
|
-
/**
|
|
5
|
-
* Build/scaffold service for generating implementation files from specs.
|
|
6
|
-
*
|
|
7
|
-
* Uses templates from @contractspec/module.workspace to generate
|
|
8
|
-
* handler, component, and test skeletons without requiring AI.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Build implementation files from a spec.
|
|
12
|
-
*/
|
|
13
|
-
async function buildSpec(specPath, adapters, config, options = {}) {
|
|
14
|
-
const { fs, logger, workspace } = adapters;
|
|
15
|
-
const scan = workspace?.scanSpecSource ?? scanSpecSource;
|
|
16
|
-
const inferType = workspace?.inferSpecTypeFromFilePath ?? inferSpecTypeFromFilePath;
|
|
17
|
-
const genHandler = workspace?.generateHandlerTemplate ?? generateHandlerTemplate;
|
|
18
|
-
const genComponent = workspace?.generateComponentTemplate ?? generateComponentTemplate;
|
|
19
|
-
const genTest = workspace?.generateTestTemplate ?? generateTestTemplate;
|
|
20
|
-
const { targets = detectDefaultTargets(specPath, inferType), outputDir = config.outputDir, overwrite = false, dryRun = false } = options;
|
|
21
|
-
const specCode = await fs.readFile(specPath);
|
|
22
|
-
const specInfo = scan(specCode, specPath);
|
|
23
|
-
const specType = inferType(specPath);
|
|
24
|
-
logger.info(`Building from spec: ${specPath}`, { specType });
|
|
25
|
-
const results = [];
|
|
26
|
-
for (const target of targets) try {
|
|
27
|
-
const result = await buildTarget(target, specPath, specCode, specInfo, specType, {
|
|
28
|
-
fs,
|
|
29
|
-
logger
|
|
30
|
-
}, outputDir, overwrite, dryRun, {
|
|
31
|
-
genHandler,
|
|
32
|
-
genComponent,
|
|
33
|
-
genTest
|
|
34
|
-
});
|
|
35
|
-
results.push(result);
|
|
36
|
-
} catch (error) {
|
|
37
|
-
results.push({
|
|
38
|
-
target,
|
|
39
|
-
outputPath: "",
|
|
40
|
-
success: false,
|
|
41
|
-
error: error instanceof Error ? error.message : String(error),
|
|
42
|
-
skipped: false
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
specPath,
|
|
47
|
-
specInfo,
|
|
48
|
-
results
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Build a single target from a spec.
|
|
53
|
-
*/
|
|
54
|
-
async function buildTarget(target, specPath, _specCode, specInfo, specType, adapters, outputDir, overwrite, dryRun, generators) {
|
|
55
|
-
const { fs, logger } = adapters;
|
|
56
|
-
const { genHandler, genComponent, genTest } = generators;
|
|
57
|
-
let code;
|
|
58
|
-
let outputPath;
|
|
59
|
-
switch (target) {
|
|
60
|
-
case "handler": {
|
|
61
|
-
if (specType !== "operation") return {
|
|
62
|
-
target,
|
|
63
|
-
outputPath: "",
|
|
64
|
-
success: false,
|
|
65
|
-
skipped: true,
|
|
66
|
-
error: `Handler generation only supported for operation specs (got ${specType})`
|
|
67
|
-
};
|
|
68
|
-
const kind = specInfo.kind === "command" || specInfo.kind === "query" ? specInfo.kind : "command";
|
|
69
|
-
code = genHandler(specInfo.key ?? "unknown", kind);
|
|
70
|
-
outputPath = resolveOutputPath(specPath, outputDir, "handlers", specInfo.key ?? "unknown", ".handler.ts", adapters.fs);
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case "component":
|
|
74
|
-
if (specType !== "presentation") return {
|
|
75
|
-
target,
|
|
76
|
-
outputPath: "",
|
|
77
|
-
success: false,
|
|
78
|
-
skipped: true,
|
|
79
|
-
error: `Component generation only supported for presentation specs (got ${specType})`
|
|
80
|
-
};
|
|
81
|
-
code = genComponent(specInfo.key ?? "unknown", specInfo.description ?? "");
|
|
82
|
-
outputPath = resolveOutputPath(specPath, outputDir, "components", specInfo.key ?? "unknown", ".tsx", adapters.fs);
|
|
83
|
-
break;
|
|
84
|
-
case "test": {
|
|
85
|
-
const testType = specType === "operation" ? "handler" : "component";
|
|
86
|
-
code = genTest(specInfo.key ?? "unknown", testType);
|
|
87
|
-
outputPath = resolveOutputPath(specPath, outputDir, "__tests__", specInfo.key ?? "unknown", ".test.ts", adapters.fs);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
default: return {
|
|
91
|
-
target,
|
|
92
|
-
outputPath: "",
|
|
93
|
-
success: false,
|
|
94
|
-
error: `Unknown target: ${target}`
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
if (await fs.exists(outputPath) && !overwrite) return {
|
|
98
|
-
target,
|
|
99
|
-
outputPath,
|
|
100
|
-
success: false,
|
|
101
|
-
skipped: true,
|
|
102
|
-
error: "File already exists (use overwrite option)"
|
|
103
|
-
};
|
|
104
|
-
if (dryRun) {
|
|
105
|
-
logger.info(`[dry-run] Would write: ${outputPath}`);
|
|
106
|
-
return {
|
|
107
|
-
target,
|
|
108
|
-
outputPath,
|
|
109
|
-
success: true
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
const dirPath = fs.dirname(outputPath);
|
|
113
|
-
await fs.mkdir(dirPath);
|
|
114
|
-
await fs.writeFile(outputPath, code);
|
|
115
|
-
logger.info(`Generated: ${outputPath}`);
|
|
116
|
-
return {
|
|
117
|
-
target,
|
|
118
|
-
outputPath,
|
|
119
|
-
success: true
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Detect default targets based on spec type.
|
|
124
|
-
*/
|
|
125
|
-
function detectDefaultTargets(specPath, inferType) {
|
|
126
|
-
switch (inferType(specPath)) {
|
|
127
|
-
case "operation": return ["handler"];
|
|
128
|
-
case "presentation": return ["component"];
|
|
129
|
-
default: return [];
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Resolve output path for generated file.
|
|
134
|
-
*/
|
|
135
|
-
function resolveOutputPath(specPath, outputDir, subdir, specName, extension, fs) {
|
|
136
|
-
const sanitizedName = toKebabCase(specName.split(".").pop() ?? "unknown");
|
|
137
|
-
let baseDir;
|
|
138
|
-
if (outputDir.startsWith(".")) baseDir = fs.resolve(fs.dirname(specPath), "..", outputDir, subdir);
|
|
139
|
-
else baseDir = fs.resolve(outputDir, subdir);
|
|
140
|
-
return fs.join(baseDir, `${sanitizedName}${extension}`);
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Convert string to kebab-case.
|
|
144
|
-
*/
|
|
145
|
-
function toKebabCase(str) {
|
|
146
|
-
return str.replace(/\./g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
//#endregion
|
|
150
|
-
export { buildSpec };
|
|
151
|
-
//# sourceMappingURL=build.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.mjs","names":[],"sources":["../../src/services/build.ts"],"sourcesContent":["/**\n * Build/scaffold service for generating implementation files from specs.\n *\n * Uses templates from @contractspec/module.workspace to generate\n * handler, component, and test skeletons without requiring AI.\n */\n\nimport {\n generateComponentTemplate,\n generateHandlerTemplate,\n generateTestTemplate,\n inferSpecTypeFromFilePath,\n scanSpecSource,\n type SpecScanResult,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\nimport type { LoggerAdapter } from '../ports/logger';\nimport type { ResolvedContractsrcConfig } from '@contractspec/lib.contracts';\n\n/**\n * Build target types.\n */\nexport type BuildTarget = 'handler' | 'component' | 'test';\n\n/**\n * Options for building from a spec.\n */\nexport interface BuildSpecOptions {\n /**\n * Which artifacts to generate.\n */\n targets?: BuildTarget[];\n\n /**\n * Override output directory.\n */\n outputDir?: string;\n\n /**\n * Whether to overwrite existing files.\n */\n overwrite?: boolean;\n\n /**\n * Skip writing files (dry run).\n */\n dryRun?: boolean;\n}\n\n/**\n * Result of a single build target.\n */\nexport interface BuildTargetResult {\n target: BuildTarget;\n outputPath: string;\n success: boolean;\n skipped?: boolean;\n error?: string;\n}\n\n/**\n * Result of building from a spec.\n */\nexport interface BuildSpecResult {\n specPath: string;\n specInfo: SpecScanResult;\n results: BuildTargetResult[];\n}\n\n/**\n * Build implementation files from a spec.\n */\nexport async function buildSpec(\n specPath: string,\n adapters: {\n fs: FsAdapter;\n logger: LoggerAdapter;\n workspace?: typeof import('@contractspec/module.workspace');\n },\n config: ResolvedContractsrcConfig,\n options: BuildSpecOptions = {}\n): Promise<BuildSpecResult> {\n const { fs, logger, workspace } = adapters;\n\n // Use injected modules or defaults\n const scan = workspace?.scanSpecSource ?? scanSpecSource;\n const inferType =\n workspace?.inferSpecTypeFromFilePath ?? inferSpecTypeFromFilePath;\n const genHandler =\n workspace?.generateHandlerTemplate ?? generateHandlerTemplate;\n const genComponent =\n workspace?.generateComponentTemplate ?? generateComponentTemplate;\n const genTest = workspace?.generateTestTemplate ?? generateTestTemplate;\n\n const {\n targets = detectDefaultTargets(specPath, inferType),\n outputDir = config.outputDir,\n overwrite = false,\n dryRun = false,\n } = options;\n\n // Read and scan spec\n const specCode = await fs.readFile(specPath);\n const specInfo = scan(specCode, specPath);\n const specType = inferType(specPath);\n\n logger.info(`Building from spec: ${specPath}`, { specType });\n\n const results: BuildTargetResult[] = [];\n\n for (const target of targets) {\n try {\n const result = await buildTarget(\n target,\n specPath,\n specCode,\n specInfo,\n specType,\n { fs, logger },\n outputDir,\n overwrite,\n dryRun,\n { genHandler, genComponent, genTest }\n );\n results.push(result);\n } catch (error) {\n results.push({\n target,\n outputPath: '',\n success: false,\n error: error instanceof Error ? error.message : String(error),\n skipped: false, // Default to false unless overridden\n });\n }\n }\n\n return {\n specPath,\n specInfo,\n results,\n };\n}\n\n/**\n * Build a single target from a spec.\n */\nasync function buildTarget(\n target: BuildTarget,\n specPath: string,\n _specCode: string,\n specInfo: SpecScanResult,\n specType: string,\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n outputDir: string,\n overwrite: boolean,\n dryRun: boolean,\n generators: {\n genHandler: typeof generateHandlerTemplate;\n genComponent: typeof generateComponentTemplate;\n genTest: typeof generateTestTemplate;\n }\n): Promise<BuildTargetResult> {\n const { fs, logger } = adapters;\n const { genHandler, genComponent, genTest } = generators;\n\n let code: string;\n let outputPath: string;\n\n switch (target) {\n case 'handler': {\n if (specType !== 'operation') {\n return {\n target,\n outputPath: '',\n success: false,\n skipped: true,\n error: `Handler generation only supported for operation specs (got ${specType})`,\n };\n }\n\n const kind =\n specInfo.kind === 'command' || specInfo.kind === 'query'\n ? specInfo.kind\n : 'command';\n\n code = genHandler(specInfo.key ?? 'unknown', kind);\n outputPath = resolveOutputPath(\n specPath,\n outputDir,\n 'handlers',\n specInfo.key ?? 'unknown',\n '.handler.ts',\n adapters.fs\n );\n break;\n }\n\n case 'component': {\n if (specType !== 'presentation') {\n return {\n target,\n outputPath: '',\n success: false,\n skipped: true,\n error: `Component generation only supported for presentation specs (got ${specType})`,\n };\n }\n\n code = genComponent(\n specInfo.key ?? 'unknown',\n specInfo.description ?? ''\n );\n outputPath = resolveOutputPath(\n specPath,\n outputDir,\n 'components',\n specInfo.key ?? 'unknown',\n '.tsx',\n adapters.fs\n );\n break;\n }\n\n case 'test': {\n const testType = specType === 'operation' ? 'handler' : 'component';\n code = genTest(specInfo.key ?? 'unknown', testType);\n outputPath = resolveOutputPath(\n specPath,\n outputDir,\n '__tests__',\n specInfo.key ?? 'unknown',\n '.test.ts',\n adapters.fs\n );\n break;\n }\n\n default:\n return {\n target,\n outputPath: '',\n success: false,\n error: `Unknown target: ${target}`,\n };\n }\n\n // Check if file exists\n const exists = await fs.exists(outputPath);\n if (exists && !overwrite) {\n return {\n target,\n outputPath,\n success: false,\n skipped: true,\n error: 'File already exists (use overwrite option)',\n };\n }\n\n if (dryRun) {\n logger.info(`[dry-run] Would write: ${outputPath}`);\n return {\n target,\n outputPath,\n success: true,\n };\n }\n\n // Ensure directory exists\n const dirPath = fs.dirname(outputPath);\n await fs.mkdir(dirPath);\n\n // Write file\n await fs.writeFile(outputPath, code);\n logger.info(`Generated: ${outputPath}`);\n\n return {\n target,\n outputPath,\n success: true,\n };\n}\n\n/**\n * Detect default targets based on spec type.\n */\nfunction detectDefaultTargets(\n specPath: string,\n inferType: typeof inferSpecTypeFromFilePath\n): BuildTarget[] {\n const specType = inferType(specPath);\n\n switch (specType) {\n case 'operation':\n return ['handler'];\n case 'presentation':\n return ['component'];\n default:\n return [];\n }\n}\n\n/**\n * Resolve output path for generated file.\n */\nfunction resolveOutputPath(\n specPath: string,\n outputDir: string,\n subdir: string,\n specName: string,\n extension: string,\n fs: FsAdapter\n): string {\n const sanitizedName = toKebabCase(specName.split('.').pop() ?? 'unknown');\n\n let baseDir: string;\n if (outputDir.startsWith('.')) {\n // Relative to spec file location\n baseDir = fs.resolve(fs.dirname(specPath), '..', outputDir, subdir);\n } else {\n // Absolute or relative to cwd\n baseDir = fs.resolve(outputDir, subdir);\n }\n\n return fs.join(baseDir, `${sanitizedName}${extension}`);\n}\n\n/**\n * Convert string to kebab-case.\n */\nfunction toKebabCase(str: string): string {\n return str\n .replace(/\\./g, '-')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}\n"],"mappings":";;;;;;;;;;;;AAwEA,eAAsB,UACpB,UACA,UAKA,QACA,UAA4B,EAAE,EACJ;CAC1B,MAAM,EAAE,IAAI,QAAQ,cAAc;CAGlC,MAAM,OAAO,WAAW,kBAAkB;CAC1C,MAAM,YACJ,WAAW,6BAA6B;CAC1C,MAAM,aACJ,WAAW,2BAA2B;CACxC,MAAM,eACJ,WAAW,6BAA6B;CAC1C,MAAM,UAAU,WAAW,wBAAwB;CAEnD,MAAM,EACJ,UAAU,qBAAqB,UAAU,UAAU,EACnD,YAAY,OAAO,WACnB,YAAY,OACZ,SAAS,UACP;CAGJ,MAAM,WAAW,MAAM,GAAG,SAAS,SAAS;CAC5C,MAAM,WAAW,KAAK,UAAU,SAAS;CACzC,MAAM,WAAW,UAAU,SAAS;AAEpC,QAAO,KAAK,uBAAuB,YAAY,EAAE,UAAU,CAAC;CAE5D,MAAM,UAA+B,EAAE;AAEvC,MAAK,MAAM,UAAU,QACnB,KAAI;EACF,MAAM,SAAS,MAAM,YACnB,QACA,UACA,UACA,UACA,UACA;GAAE;GAAI;GAAQ,EACd,WACA,WACA,QACA;GAAE;GAAY;GAAc;GAAS,CACtC;AACD,UAAQ,KAAK,OAAO;UACb,OAAO;AACd,UAAQ,KAAK;GACX;GACA,YAAY;GACZ,SAAS;GACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;GAC7D,SAAS;GACV,CAAC;;AAIN,QAAO;EACL;EACA;EACA;EACD;;;;;AAMH,eAAe,YACb,QACA,UACA,WACA,UACA,UACA,UACA,WACA,WACA,QACA,YAK4B;CAC5B,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,EAAE,YAAY,cAAc,YAAY;CAE9C,IAAI;CACJ,IAAI;AAEJ,SAAQ,QAAR;EACE,KAAK,WAAW;AACd,OAAI,aAAa,YACf,QAAO;IACL;IACA,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO,8DAA8D,SAAS;IAC/E;GAGH,MAAM,OACJ,SAAS,SAAS,aAAa,SAAS,SAAS,UAC7C,SAAS,OACT;AAEN,UAAO,WAAW,SAAS,OAAO,WAAW,KAAK;AAClD,gBAAa,kBACX,UACA,WACA,YACA,SAAS,OAAO,WAChB,eACA,SAAS,GACV;AACD;;EAGF,KAAK;AACH,OAAI,aAAa,eACf,QAAO;IACL;IACA,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO,mEAAmE,SAAS;IACpF;AAGH,UAAO,aACL,SAAS,OAAO,WAChB,SAAS,eAAe,GACzB;AACD,gBAAa,kBACX,UACA,WACA,cACA,SAAS,OAAO,WAChB,QACA,SAAS,GACV;AACD;EAGF,KAAK,QAAQ;GACX,MAAM,WAAW,aAAa,cAAc,YAAY;AACxD,UAAO,QAAQ,SAAS,OAAO,WAAW,SAAS;AACnD,gBAAa,kBACX,UACA,WACA,aACA,SAAS,OAAO,WAChB,YACA,SAAS,GACV;AACD;;EAGF,QACE,QAAO;GACL;GACA,YAAY;GACZ,SAAS;GACT,OAAO,mBAAmB;GAC3B;;AAKL,KADe,MAAM,GAAG,OAAO,WAAW,IAC5B,CAAC,UACb,QAAO;EACL;EACA;EACA,SAAS;EACT,SAAS;EACT,OAAO;EACR;AAGH,KAAI,QAAQ;AACV,SAAO,KAAK,0BAA0B,aAAa;AACnD,SAAO;GACL;GACA;GACA,SAAS;GACV;;CAIH,MAAM,UAAU,GAAG,QAAQ,WAAW;AACtC,OAAM,GAAG,MAAM,QAAQ;AAGvB,OAAM,GAAG,UAAU,YAAY,KAAK;AACpC,QAAO,KAAK,cAAc,aAAa;AAEvC,QAAO;EACL;EACA;EACA,SAAS;EACV;;;;;AAMH,SAAS,qBACP,UACA,WACe;AAGf,SAFiB,UAAU,SAAS,EAEpC;EACE,KAAK,YACH,QAAO,CAAC,UAAU;EACpB,KAAK,eACH,QAAO,CAAC,YAAY;EACtB,QACE,QAAO,EAAE;;;;;;AAOf,SAAS,kBACP,UACA,WACA,QACA,UACA,WACA,IACQ;CACR,MAAM,gBAAgB,YAAY,SAAS,MAAM,IAAI,CAAC,KAAK,IAAI,UAAU;CAEzE,IAAI;AACJ,KAAI,UAAU,WAAW,IAAI,CAE3B,WAAU,GAAG,QAAQ,GAAG,QAAQ,SAAS,EAAE,MAAM,WAAW,OAAO;KAGnE,WAAU,GAAG,QAAQ,WAAW,OAAO;AAGzC,QAAO,GAAG,KAAK,SAAS,GAAG,gBAAgB,YAAY;;;;;AAMzD,SAAS,YAAY,KAAqB;AACxC,QAAO,IACJ,QAAQ,OAAO,IAAI,CACnB,QAAQ,mBAAmB,QAAQ,CACnC,aAAa"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { createParser, detectFormat } from "../../coverage/parsers/index.mjs";
|
|
2
|
-
import { validateCoverage } from "../../coverage/validator.mjs";
|
|
3
|
-
import "@contractspec/module.workspace";
|
|
4
|
-
|
|
5
|
-
//#region src/services/ci-check/checks/coverage.ts
|
|
6
|
-
/**
|
|
7
|
-
* Run coverage goal enforcement checks.
|
|
8
|
-
*/
|
|
9
|
-
async function runCoverageChecks(adapters, specFiles, options) {
|
|
10
|
-
const { fs, logger } = adapters;
|
|
11
|
-
const issues = [];
|
|
12
|
-
const coverageDir = options.workspaceRoot ? `${options.workspaceRoot}/coverage` : "./coverage";
|
|
13
|
-
const possiblePaths = [
|
|
14
|
-
`${coverageDir}/coverage-final.json`,
|
|
15
|
-
`${coverageDir}/coverage.json`,
|
|
16
|
-
`${coverageDir}/coverage-summary.json`
|
|
17
|
-
];
|
|
18
|
-
let coverageContent;
|
|
19
|
-
let coveragePath;
|
|
20
|
-
for (const path of possiblePaths) if (await fs.exists(path)) {
|
|
21
|
-
coverageContent = await fs.readFile(path);
|
|
22
|
-
coveragePath = path;
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
if (!coverageContent) {
|
|
26
|
-
logger.info("No coverage report found, skipping coverage checks");
|
|
27
|
-
return issues;
|
|
28
|
-
}
|
|
29
|
-
const coverageReport = createParser(detectFormat(coveragePath ?? "coverage.json")).parse(coverageContent);
|
|
30
|
-
for (const specFile of specFiles) {
|
|
31
|
-
if (specFile.specType !== "test-spec" || !specFile.key || !specFile.version || !specFile.sourceBlock) continue;
|
|
32
|
-
const coverageMatch = specFile.sourceBlock.match(/coverage\s*:\s*\{([^}]+)\}/);
|
|
33
|
-
if (!coverageMatch || !coverageMatch[1]) continue;
|
|
34
|
-
const coverageBlock = coverageMatch[1];
|
|
35
|
-
const requirements = {};
|
|
36
|
-
const statementsMatch = coverageBlock.match(/statements\s*:\s*(\d+)/);
|
|
37
|
-
if (statementsMatch && statementsMatch[1]) requirements.statements = parseInt(statementsMatch[1], 10);
|
|
38
|
-
const branchesMatch = coverageBlock.match(/branches\s*:\s*(\d+)/);
|
|
39
|
-
if (branchesMatch && branchesMatch[1]) requirements.branches = parseInt(branchesMatch[1], 10);
|
|
40
|
-
const functionsMatch = coverageBlock.match(/functions\s*:\s*(\d+)/);
|
|
41
|
-
if (functionsMatch && functionsMatch[1]) requirements.functions = parseInt(functionsMatch[1], 10);
|
|
42
|
-
const linesMatch = coverageBlock.match(/lines\s*:\s*(\d+)/);
|
|
43
|
-
if (linesMatch && linesMatch[1]) requirements.lines = parseInt(linesMatch[1], 10);
|
|
44
|
-
if (Object.keys(requirements).length === 0) continue;
|
|
45
|
-
const result = validateCoverage(specFile.key, specFile.version, requirements, coverageReport.total);
|
|
46
|
-
for (const failure of result.failures) issues.push({
|
|
47
|
-
ruleId: "coverage-below-threshold",
|
|
48
|
-
severity: "error",
|
|
49
|
-
message: failure.message,
|
|
50
|
-
category: "coverage",
|
|
51
|
-
file: specFile.filePath,
|
|
52
|
-
context: {
|
|
53
|
-
specKey: specFile.key,
|
|
54
|
-
specVersion: specFile.version,
|
|
55
|
-
metric: failure.metric,
|
|
56
|
-
required: failure.required,
|
|
57
|
-
actual: failure.actual
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return issues;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
//#endregion
|
|
65
|
-
export { runCoverageChecks };
|
|
66
|
-
//# sourceMappingURL=coverage.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coverage.mjs","names":[],"sources":["../../../../src/services/ci-check/checks/coverage.ts"],"sourcesContent":["/**\n * Coverage goal enforcement checks.\n *\n * Validates that TestSpec.coverage requirements are met by actual coverage data.\n * Requires a coverage report file to exist (from a previous test run).\n */\n\nimport { type SpecScanResult } from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../../../ports/fs';\nimport type { LoggerAdapter } from '../../../ports/logger';\nimport { createParser, detectFormat, validateCoverage } from '../../coverage';\nimport type { CICheckOptions, CIIssue } from '../types';\n\n/**\n * Run coverage goal enforcement checks.\n */\nexport async function runCoverageChecks(\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n specFiles: SpecScanResult[],\n options: CICheckOptions\n): Promise<CIIssue[]> {\n const { fs, logger } = adapters;\n const issues: CIIssue[] = [];\n\n // Try to find coverage report\n const coverageDir = options.workspaceRoot\n ? `${options.workspaceRoot}/coverage`\n : './coverage';\n\n const possiblePaths = [\n `${coverageDir}/coverage-final.json`,\n `${coverageDir}/coverage.json`,\n `${coverageDir}/coverage-summary.json`,\n ];\n\n let coverageContent: string | undefined;\n let coveragePath: string | undefined;\n\n for (const path of possiblePaths) {\n const exists = await fs.exists(path);\n if (exists) {\n coverageContent = await fs.readFile(path);\n coveragePath = path;\n break;\n }\n }\n\n if (!coverageContent) {\n logger.info('No coverage report found, skipping coverage checks');\n return issues;\n }\n\n // Parse coverage report\n const format = detectFormat(coveragePath ?? 'coverage.json');\n const parser = createParser(format);\n const coverageReport = parser.parse(coverageContent);\n\n // Scan for test specs with coverage requirements\n for (const specFile of specFiles) {\n if (\n specFile.specType !== 'test-spec' ||\n !specFile.key ||\n !specFile.version ||\n !specFile.sourceBlock\n )\n continue;\n\n // Extract coverage requirements (simplified - actual extraction would need more parsing)\n const coverageMatch = specFile.sourceBlock.match(\n /coverage\\s*:\\s*\\{([^}]+)\\}/\n );\n if (!coverageMatch || !coverageMatch[1]) continue;\n\n // Parse coverage requirements\n const coverageBlock = coverageMatch[1];\n const requirements: Record<string, number> = {};\n\n const statementsMatch = coverageBlock.match(/statements\\s*:\\s*(\\d+)/);\n if (statementsMatch && statementsMatch[1])\n requirements.statements = parseInt(statementsMatch[1], 10);\n\n const branchesMatch = coverageBlock.match(/branches\\s*:\\s*(\\d+)/);\n if (branchesMatch && branchesMatch[1])\n requirements.branches = parseInt(branchesMatch[1], 10);\n\n const functionsMatch = coverageBlock.match(/functions\\s*:\\s*(\\d+)/);\n if (functionsMatch && functionsMatch[1])\n requirements.functions = parseInt(functionsMatch[1], 10);\n\n const linesMatch = coverageBlock.match(/lines\\s*:\\s*(\\d+)/);\n if (linesMatch && linesMatch[1])\n requirements.lines = parseInt(linesMatch[1], 10);\n\n if (Object.keys(requirements).length === 0) continue;\n\n // Validate coverage against requirements\n const result = validateCoverage(\n specFile.key,\n specFile.version,\n requirements,\n coverageReport.total\n );\n\n // Report failures as errors\n for (const failure of result.failures) {\n issues.push({\n ruleId: 'coverage-below-threshold',\n severity: 'error',\n message: failure.message,\n category: 'coverage',\n file: specFile.filePath,\n context: {\n specKey: specFile.key,\n specVersion: specFile.version,\n metric: failure.metric,\n required: failure.required,\n actual: failure.actual,\n },\n });\n }\n }\n\n return issues;\n}\n"],"mappings":";;;;;;;;AAgBA,eAAsB,kBACpB,UACA,WACA,SACoB;CACpB,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,SAAoB,EAAE;CAG5B,MAAM,cAAc,QAAQ,gBACxB,GAAG,QAAQ,cAAc,aACzB;CAEJ,MAAM,gBAAgB;EACpB,GAAG,YAAY;EACf,GAAG,YAAY;EACf,GAAG,YAAY;EAChB;CAED,IAAI;CACJ,IAAI;AAEJ,MAAK,MAAM,QAAQ,cAEjB,KADe,MAAM,GAAG,OAAO,KAAK,EACxB;AACV,oBAAkB,MAAM,GAAG,SAAS,KAAK;AACzC,iBAAe;AACf;;AAIJ,KAAI,CAAC,iBAAiB;AACpB,SAAO,KAAK,qDAAqD;AACjE,SAAO;;CAMT,MAAM,iBADS,aADA,aAAa,gBAAgB,gBAAgB,CACzB,CACL,MAAM,gBAAgB;AAGpD,MAAK,MAAM,YAAY,WAAW;AAChC,MACE,SAAS,aAAa,eACtB,CAAC,SAAS,OACV,CAAC,SAAS,WACV,CAAC,SAAS,YAEV;EAGF,MAAM,gBAAgB,SAAS,YAAY,MACzC,6BACD;AACD,MAAI,CAAC,iBAAiB,CAAC,cAAc,GAAI;EAGzC,MAAM,gBAAgB,cAAc;EACpC,MAAM,eAAuC,EAAE;EAE/C,MAAM,kBAAkB,cAAc,MAAM,yBAAyB;AACrE,MAAI,mBAAmB,gBAAgB,GACrC,cAAa,aAAa,SAAS,gBAAgB,IAAI,GAAG;EAE5D,MAAM,gBAAgB,cAAc,MAAM,uBAAuB;AACjE,MAAI,iBAAiB,cAAc,GACjC,cAAa,WAAW,SAAS,cAAc,IAAI,GAAG;EAExD,MAAM,iBAAiB,cAAc,MAAM,wBAAwB;AACnE,MAAI,kBAAkB,eAAe,GACnC,cAAa,YAAY,SAAS,eAAe,IAAI,GAAG;EAE1D,MAAM,aAAa,cAAc,MAAM,oBAAoB;AAC3D,MAAI,cAAc,WAAW,GAC3B,cAAa,QAAQ,SAAS,WAAW,IAAI,GAAG;AAElD,MAAI,OAAO,KAAK,aAAa,CAAC,WAAW,EAAG;EAG5C,MAAM,SAAS,iBACb,SAAS,KACT,SAAS,SACT,cACA,eAAe,MAChB;AAGD,OAAK,MAAM,WAAW,OAAO,SAC3B,QAAO,KAAK;GACV,QAAQ;GACR,UAAU;GACV,SAAS,QAAQ;GACjB,UAAU;GACV,MAAM,SAAS;GACf,SAAS;IACP,SAAS,SAAS;IAClB,aAAa,SAAS;IACtB,QAAQ,QAAQ;IAChB,UAAU,QAAQ;IAClB,QAAQ,QAAQ;IACjB;GACF,CAAC;;AAIN,QAAO"}
|