@contractspec/bundle.workspace 1.46.2 → 1.48.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/_virtual/rolldown_runtime.mjs +20 -0
- package/dist/adapters/ai.d.mts +12 -0
- package/dist/adapters/ai.d.mts.map +1 -0
- package/dist/adapters/ai.mjs +83 -0
- package/dist/adapters/ai.mjs.map +1 -0
- package/dist/adapters/factory.d.mts +29 -0
- package/dist/adapters/factory.d.mts.map +1 -0
- package/dist/adapters/factory.mjs +37 -0
- package/dist/adapters/factory.mjs.map +1 -0
- package/dist/adapters/fs.d.mts +12 -0
- package/dist/adapters/fs.d.mts.map +1 -0
- package/dist/adapters/fs.mjs +133 -0
- package/dist/adapters/fs.mjs.map +1 -0
- package/dist/adapters/git.d.mts +11 -0
- package/dist/adapters/git.d.mts.map +1 -0
- package/dist/adapters/git.mjs +84 -0
- package/dist/adapters/git.mjs.map +1 -0
- package/dist/adapters/index.d.mts +7 -0
- package/dist/adapters/index.mjs +9 -0
- package/dist/adapters/logger.d.mts +18 -0
- package/dist/adapters/logger.d.mts.map +1 -0
- package/dist/adapters/logger.mjs +81 -0
- package/dist/adapters/logger.mjs.map +1 -0
- package/dist/adapters/watcher.d.mts +11 -0
- package/dist/adapters/watcher.d.mts.map +1 -0
- package/dist/adapters/watcher.mjs +74 -0
- package/dist/adapters/watcher.mjs.map +1 -0
- package/dist/adapters/workspace.d.mts +148 -0
- package/dist/adapters/workspace.d.mts.map +1 -0
- package/dist/adapters/workspace.mjs +275 -0
- package/dist/adapters/workspace.mjs.map +1 -0
- package/dist/ai/agents/claude-code-agent.d.mts +22 -0
- package/dist/ai/agents/claude-code-agent.d.mts.map +1 -0
- package/dist/ai/agents/claude-code-agent.mjs +182 -0
- package/dist/ai/agents/claude-code-agent.mjs.map +1 -0
- package/dist/ai/agents/cursor-agent.d.mts +68 -0
- package/dist/ai/agents/cursor-agent.d.mts.map +1 -0
- package/dist/ai/agents/cursor-agent.mjs +436 -0
- package/dist/ai/agents/cursor-agent.mjs.map +1 -0
- package/dist/ai/agents/index.mjs +7 -0
- package/dist/ai/agents/openai-codex-agent.d.mts +22 -0
- package/dist/ai/agents/openai-codex-agent.d.mts.map +1 -0
- package/dist/ai/agents/openai-codex-agent.mjs +167 -0
- package/dist/ai/agents/openai-codex-agent.mjs.map +1 -0
- package/dist/ai/agents/orchestrator.d.mts +50 -0
- package/dist/ai/agents/orchestrator.d.mts.map +1 -0
- package/dist/ai/agents/orchestrator.mjs +143 -0
- package/dist/ai/agents/orchestrator.mjs.map +1 -0
- package/dist/ai/agents/simple-agent.d.mts +17 -0
- package/dist/ai/agents/simple-agent.d.mts.map +1 -0
- package/dist/ai/agents/simple-agent.mjs +92 -0
- package/dist/ai/agents/simple-agent.mjs.map +1 -0
- package/dist/ai/agents/types.d.mts +36 -0
- package/dist/ai/agents/types.d.mts.map +1 -0
- package/dist/ai/client.d.mts +97 -0
- package/dist/ai/client.d.mts.map +1 -0
- package/dist/ai/client.mjs +189 -0
- package/dist/ai/client.mjs.map +1 -0
- package/dist/ai/index.d.mts +9 -0
- package/dist/ai/index.mjs +11 -0
- package/dist/ai/prompts/code-generation.d.mts +26 -0
- package/dist/ai/prompts/code-generation.d.mts.map +1 -0
- package/dist/ai/prompts/code-generation.mjs +143 -0
- package/dist/ai/prompts/code-generation.mjs.map +1 -0
- package/dist/ai/prompts/index.d.mts +10 -0
- package/dist/ai/prompts/index.d.mts.map +1 -0
- package/dist/ai/prompts/index.mjs +13 -0
- package/dist/ai/prompts/index.mjs.map +1 -0
- package/dist/ai/prompts/spec-creation.d.mts +29 -0
- package/dist/ai/prompts/spec-creation.d.mts.map +1 -0
- package/dist/ai/prompts/spec-creation.mjs +111 -0
- package/dist/ai/prompts/spec-creation.mjs.map +1 -0
- package/dist/ai/providers.d.mts +29 -0
- package/dist/ai/providers.d.mts.map +1 -0
- package/dist/ai/providers.mjs +39 -0
- package/dist/ai/providers.mjs.map +1 -0
- package/dist/formatters/index.d.mts +11 -0
- package/dist/formatters/index.d.mts.map +1 -0
- package/dist/formatters/index.mjs +17 -0
- package/dist/formatters/index.mjs.map +1 -0
- package/dist/formatters/json.d.mts +56 -0
- package/dist/formatters/json.d.mts.map +1 -0
- package/dist/formatters/json.mjs +43 -0
- package/dist/formatters/json.mjs.map +1 -0
- package/dist/formatters/sarif.d.mts +101 -0
- package/dist/formatters/sarif.d.mts.map +1 -0
- package/dist/formatters/sarif.mjs +163 -0
- package/dist/formatters/sarif.mjs.map +1 -0
- package/dist/formatters/text.d.mts +35 -0
- package/dist/formatters/text.d.mts.map +1 -0
- package/dist/formatters/text.mjs +209 -0
- package/dist/formatters/text.mjs.map +1 -0
- package/dist/index.d.mts +128 -0
- package/dist/index.mjs +113 -0
- package/dist/ports/ai.d.mts +59 -0
- package/dist/ports/ai.d.mts.map +1 -0
- package/dist/ports/fs.d.mts +81 -0
- package/dist/ports/fs.d.mts.map +1 -0
- package/dist/ports/git.d.mts +46 -0
- package/dist/ports/git.d.mts.map +1 -0
- package/dist/ports/index.d.mts +6 -0
- package/dist/ports/logger.d.mts +88 -0
- package/dist/ports/logger.d.mts.map +1 -0
- package/dist/ports/rulesync.d.mts +38 -0
- package/dist/ports/rulesync.d.mts.map +1 -0
- package/dist/ports/watcher.d.mts +52 -0
- package/dist/ports/watcher.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/claude-code.d.mts +35 -0
- package/dist/services/agent-guide/adapters/claude-code.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/claude-code.mjs +144 -0
- package/dist/services/agent-guide/adapters/claude-code.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts +39 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/cursor-cli.mjs +135 -0
- package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts +53 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/generic-mcp.mjs +159 -0
- package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/index.d.mts +23 -0
- package/dist/services/agent-guide/adapters/index.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/index.mjs +31 -0
- package/dist/services/agent-guide/adapters/index.mjs.map +1 -0
- package/dist/services/agent-guide/agent-guide-service.d.mts +56 -0
- package/dist/services/agent-guide/agent-guide-service.d.mts.map +1 -0
- package/dist/services/agent-guide/agent-guide-service.mjs +147 -0
- package/dist/services/agent-guide/agent-guide-service.mjs.map +1 -0
- package/dist/services/agent-guide/index.d.mts +6 -0
- package/dist/services/agent-guide/index.mjs +7 -0
- package/dist/services/agent-guide/types.d.mts +58 -0
- package/dist/services/agent-guide/types.d.mts.map +1 -0
- package/dist/services/build.d.mts +61 -0
- package/dist/services/build.d.mts.map +1 -0
- package/dist/services/build.mjs +151 -0
- package/dist/services/build.mjs.map +1 -0
- package/dist/services/ci-check/checks/coverage.mjs +77 -0
- package/dist/services/ci-check/checks/coverage.mjs.map +1 -0
- package/dist/services/ci-check/checks/deps.mjs +32 -0
- package/dist/services/ci-check/checks/deps.mjs.map +1 -0
- package/dist/services/ci-check/checks/doctor.mjs +38 -0
- package/dist/services/ci-check/checks/doctor.mjs.map +1 -0
- package/dist/services/ci-check/checks/drift.mjs +40 -0
- package/dist/services/ci-check/checks/drift.mjs.map +1 -0
- package/dist/services/ci-check/checks/handlers.mjs +38 -0
- package/dist/services/ci-check/checks/handlers.mjs.map +1 -0
- package/dist/services/ci-check/checks/implementation.mjs +73 -0
- package/dist/services/ci-check/checks/implementation.mjs.map +1 -0
- package/dist/services/ci-check/checks/index.mjs +13 -0
- package/dist/services/ci-check/checks/integrity.mjs +31 -0
- package/dist/services/ci-check/checks/integrity.mjs.map +1 -0
- package/dist/services/ci-check/checks/layers.mjs +66 -0
- package/dist/services/ci-check/checks/layers.mjs.map +1 -0
- package/dist/services/ci-check/checks/structure.mjs +35 -0
- package/dist/services/ci-check/checks/structure.mjs.map +1 -0
- package/dist/services/ci-check/checks/test-refs.mjs +63 -0
- package/dist/services/ci-check/checks/test-refs.mjs.map +1 -0
- package/dist/services/ci-check/checks/tests.mjs +38 -0
- package/dist/services/ci-check/checks/tests.mjs.map +1 -0
- package/dist/services/ci-check/ci-check-service.d.mts +16 -0
- package/dist/services/ci-check/ci-check-service.d.mts.map +1 -0
- package/dist/services/ci-check/ci-check-service.mjs +129 -0
- package/dist/services/ci-check/ci-check-service.mjs.map +1 -0
- package/dist/services/ci-check/index.d.mts +2 -0
- package/dist/services/ci-check/index.mjs +4 -0
- package/dist/services/ci-check/types.d.mts +147 -0
- package/dist/services/ci-check/types.d.mts.map +1 -0
- package/dist/services/ci-check/types.mjs +37 -0
- package/dist/services/ci-check/types.mjs.map +1 -0
- package/dist/services/ci-check/utils.mjs +76 -0
- package/dist/services/ci-check/utils.mjs.map +1 -0
- package/dist/services/clean.d.mts +41 -0
- package/dist/services/clean.d.mts.map +1 -0
- package/dist/services/clean.mjs +72 -0
- package/dist/services/clean.mjs.map +1 -0
- package/dist/services/config.d.mts +16 -0
- package/dist/services/config.d.mts.map +1 -0
- package/dist/services/config.mjs +63 -0
- package/dist/services/config.mjs.map +1 -0
- package/dist/services/coverage/parsers/index.mjs +34 -0
- package/dist/services/coverage/parsers/index.mjs.map +1 -0
- package/dist/services/coverage/parsers/istanbul-parser.mjs +108 -0
- package/dist/services/coverage/parsers/istanbul-parser.mjs.map +1 -0
- package/dist/services/coverage/validator.mjs +55 -0
- package/dist/services/coverage/validator.mjs.map +1 -0
- package/dist/services/create/ai-generator.d.mts +84 -0
- package/dist/services/create/ai-generator.d.mts.map +1 -0
- package/dist/services/create/ai-generator.mjs +178 -0
- package/dist/services/create/ai-generator.mjs.map +1 -0
- package/dist/services/create/index.d.mts +28 -0
- package/dist/services/create/index.d.mts.map +1 -0
- package/dist/services/create/index.mjs +37 -0
- package/dist/services/create/index.mjs.map +1 -0
- package/dist/services/create/templates.d.mts +22 -0
- package/dist/services/create/templates.d.mts.map +1 -0
- package/dist/services/create/templates.mjs +39 -0
- package/dist/services/create/templates.mjs.map +1 -0
- package/dist/services/deps.d.mts +53 -0
- package/dist/services/deps.d.mts.map +1 -0
- package/dist/services/deps.mjs +62 -0
- package/dist/services/deps.mjs.map +1 -0
- package/dist/services/diff.d.mts +34 -0
- package/dist/services/diff.d.mts.map +1 -0
- package/dist/services/diff.mjs +34 -0
- package/dist/services/diff.mjs.map +1 -0
- package/dist/services/docs/docs-service.d.mts +20 -0
- package/dist/services/docs/docs-service.d.mts.map +1 -0
- package/dist/services/docs/docs-service.mjs +59 -0
- package/dist/services/docs/docs-service.mjs.map +1 -0
- package/dist/services/docs/index.d.mts +1 -0
- package/dist/services/docs/index.mjs +3 -0
- package/dist/services/doctor/checks/ai.mjs +119 -0
- package/dist/services/doctor/checks/ai.mjs.map +1 -0
- package/dist/services/doctor/checks/cli.mjs +156 -0
- package/dist/services/doctor/checks/cli.mjs.map +1 -0
- package/dist/services/doctor/checks/config.mjs +303 -0
- package/dist/services/doctor/checks/config.mjs.map +1 -0
- package/dist/services/doctor/checks/deps.mjs +267 -0
- package/dist/services/doctor/checks/deps.mjs.map +1 -0
- package/dist/services/doctor/checks/index.mjs +9 -0
- package/dist/services/doctor/checks/layers.mjs +139 -0
- package/dist/services/doctor/checks/layers.mjs.map +1 -0
- package/dist/services/doctor/checks/mcp.mjs +145 -0
- package/dist/services/doctor/checks/mcp.mjs.map +1 -0
- package/dist/services/doctor/checks/workspace.mjs +263 -0
- package/dist/services/doctor/checks/workspace.mjs.map +1 -0
- package/dist/services/doctor/doctor-service.d.mts +24 -0
- package/dist/services/doctor/doctor-service.d.mts.map +1 -0
- package/dist/services/doctor/doctor-service.mjs +118 -0
- package/dist/services/doctor/doctor-service.mjs.map +1 -0
- package/dist/services/doctor/index.d.mts +2 -0
- package/dist/services/doctor/index.mjs +4 -0
- package/dist/services/doctor/types.d.mts +118 -0
- package/dist/services/doctor/types.d.mts.map +1 -0
- package/dist/services/doctor/types.mjs +29 -0
- package/dist/services/doctor/types.mjs.map +1 -0
- package/dist/services/drift.mjs +73 -0
- package/dist/services/drift.mjs.map +1 -0
- package/dist/services/extract.d.mts +12 -0
- package/dist/services/extract.d.mts.map +1 -0
- package/dist/services/extract.mjs +33 -0
- package/dist/services/extract.mjs.map +1 -0
- package/dist/services/features/completion.d.mts +21 -0
- package/dist/services/features/completion.d.mts.map +1 -0
- package/dist/services/features/completion.mjs +70 -0
- package/dist/services/features/completion.mjs.map +1 -0
- package/dist/services/features/feature-editor.d.mts +27 -0
- package/dist/services/features/feature-editor.d.mts.map +1 -0
- package/dist/services/features/feature-editor.mjs +37 -0
- package/dist/services/features/feature-editor.mjs.map +1 -0
- package/dist/services/features/index.d.mts +11 -0
- package/dist/services/features/index.d.mts.map +1 -0
- package/dist/services/features/index.mjs +16 -0
- package/dist/services/features/index.mjs.map +1 -0
- package/dist/services/features/validation.d.mts +21 -0
- package/dist/services/features/validation.d.mts.map +1 -0
- package/dist/services/features/validation.mjs +27 -0
- package/dist/services/features/validation.mjs.map +1 -0
- package/dist/services/fix/fix-link-formatter.d.mts +12 -0
- package/dist/services/fix/fix-link-formatter.d.mts.map +1 -0
- package/dist/services/fix/fix-link-formatter.mjs +38 -0
- package/dist/services/fix/fix-link-formatter.mjs.map +1 -0
- package/dist/services/fix/fix-service.d.mts +74 -0
- package/dist/services/fix/fix-service.d.mts.map +1 -0
- package/dist/services/fix/fix-service.mjs +169 -0
- package/dist/services/fix/fix-service.mjs.map +1 -0
- package/dist/services/fix/index.d.mts +16 -0
- package/dist/services/fix/index.d.mts.map +1 -0
- package/dist/services/fix/index.mjs +24 -0
- package/dist/services/fix/index.mjs.map +1 -0
- package/dist/services/fix/path-resolver.mjs +83 -0
- package/dist/services/fix/path-resolver.mjs.map +1 -0
- package/dist/services/fix/schemas.d.mts +17 -0
- package/dist/services/fix/schemas.d.mts.map +1 -0
- package/dist/services/fix/schemas.mjs +12 -0
- package/dist/services/fix/schemas.mjs.map +1 -0
- package/dist/services/fix/strategies/implement-ai.d.mts +18 -0
- package/dist/services/fix/strategies/implement-ai.d.mts.map +1 -0
- package/dist/services/fix/strategies/implement-ai.mjs +139 -0
- package/dist/services/fix/strategies/implement-ai.mjs.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.d.mts +14 -0
- package/dist/services/fix/strategies/implement-skeleton.d.mts.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.mjs +77 -0
- package/dist/services/fix/strategies/implement-skeleton.mjs.map +1 -0
- package/dist/services/fix/strategies/index.d.mts +3 -0
- package/dist/services/fix/strategies/remove-reference.d.mts +17 -0
- package/dist/services/fix/strategies/remove-reference.d.mts.map +1 -0
- package/dist/services/fix/strategies/remove-reference.mjs +98 -0
- package/dist/services/fix/strategies/remove-reference.mjs.map +1 -0
- package/dist/services/fix/types.d.mts +207 -0
- package/dist/services/fix/types.d.mts.map +1 -0
- package/dist/services/fix/types.mjs +20 -0
- package/dist/services/fix/types.mjs.map +1 -0
- package/dist/services/formatter.d.mts +15 -0
- package/dist/services/formatter.d.mts.map +1 -0
- package/dist/services/formatter.mjs +26 -0
- package/dist/services/formatter.mjs.map +1 -0
- package/dist/services/gap.d.mts +18 -0
- package/dist/services/gap.d.mts.map +1 -0
- package/dist/services/gap.mjs +44 -0
- package/dist/services/gap.mjs.map +1 -0
- package/dist/services/generate-artifacts.d.mts +11 -0
- package/dist/services/generate-artifacts.d.mts.map +1 -0
- package/dist/services/generate-artifacts.mjs +27 -0
- package/dist/services/generate-artifacts.mjs.map +1 -0
- package/dist/services/hooks/hooks-service.d.mts +24 -0
- package/dist/services/hooks/hooks-service.d.mts.map +1 -0
- package/dist/services/hooks/hooks-service.mjs +126 -0
- package/dist/services/hooks/hooks-service.mjs.map +1 -0
- package/dist/services/hooks/index.d.mts +10 -0
- package/dist/services/hooks/index.d.mts.map +1 -0
- package/dist/services/hooks/index.mjs +12 -0
- package/dist/services/hooks/index.mjs.map +1 -0
- package/dist/services/hooks/types.d.mts +56 -0
- package/dist/services/hooks/types.d.mts.map +1 -0
- package/dist/services/impact/formatters.d.mts +27 -0
- package/dist/services/impact/formatters.d.mts.map +1 -0
- package/dist/services/impact/formatters.mjs +139 -0
- package/dist/services/impact/formatters.mjs.map +1 -0
- package/dist/services/impact/impact-detection-service.d.mts +22 -0
- package/dist/services/impact/impact-detection-service.d.mts.map +1 -0
- package/dist/services/impact/impact-detection-service.mjs +96 -0
- package/dist/services/impact/impact-detection-service.mjs.map +1 -0
- package/dist/services/impact/index.d.mts +11 -0
- package/dist/services/impact/index.d.mts.map +1 -0
- package/dist/services/impact/index.mjs +16 -0
- package/dist/services/impact/index.mjs.map +1 -0
- package/dist/services/impact/types.d.mts +63 -0
- package/dist/services/impact/types.d.mts.map +1 -0
- package/dist/services/implementation/discovery.d.mts +30 -0
- package/dist/services/implementation/discovery.d.mts.map +1 -0
- package/dist/services/implementation/discovery.mjs +144 -0
- package/dist/services/implementation/discovery.mjs.map +1 -0
- package/dist/services/implementation/index.d.mts +6 -0
- package/dist/services/implementation/index.mjs +7 -0
- package/dist/services/implementation/resolver/conventions.d.mts +18 -0
- package/dist/services/implementation/resolver/conventions.d.mts.map +1 -0
- package/dist/services/implementation/resolver/conventions.mjs +59 -0
- package/dist/services/implementation/resolver/conventions.mjs.map +1 -0
- package/dist/services/implementation/resolver/index.d.mts +24 -0
- package/dist/services/implementation/resolver/index.d.mts.map +1 -0
- package/dist/services/implementation/resolver/index.mjs +111 -0
- package/dist/services/implementation/resolver/index.mjs.map +1 -0
- package/dist/services/implementation/resolver/parsers.d.mts +16 -0
- package/dist/services/implementation/resolver/parsers.d.mts.map +1 -0
- package/dist/services/implementation/resolver/parsers.mjs +100 -0
- package/dist/services/implementation/resolver/parsers.mjs.map +1 -0
- package/dist/services/implementation/resolver/status.d.mts +21 -0
- package/dist/services/implementation/resolver/status.d.mts.map +1 -0
- package/dist/services/implementation/resolver/status.mjs +31 -0
- package/dist/services/implementation/resolver/status.mjs.map +1 -0
- package/dist/services/implementation/types.d.mts +89 -0
- package/dist/services/implementation/types.d.mts.map +1 -0
- package/dist/services/import/import-service.d.mts +47 -0
- package/dist/services/import/import-service.d.mts.map +1 -0
- package/dist/services/import/import-service.mjs +196 -0
- package/dist/services/import/import-service.mjs.map +1 -0
- package/dist/services/import/index.d.mts +3 -0
- package/dist/services/import/index.mjs +5 -0
- package/dist/services/import/report-service.d.mts +31 -0
- package/dist/services/import/report-service.d.mts.map +1 -0
- package/dist/services/import/report-service.mjs +124 -0
- package/dist/services/import/report-service.mjs.map +1 -0
- package/dist/services/import/verify-service.d.mts +67 -0
- package/dist/services/import/verify-service.d.mts.map +1 -0
- package/dist/services/import/verify-service.mjs +105 -0
- package/dist/services/import/verify-service.mjs.map +1 -0
- package/dist/services/index.d.mts +107 -0
- package/dist/services/index.mjs +104 -0
- package/dist/services/integrity-diagram.d.mts +36 -0
- package/dist/services/integrity-diagram.d.mts.map +1 -0
- package/dist/services/integrity-diagram.mjs +275 -0
- package/dist/services/integrity-diagram.mjs.map +1 -0
- package/dist/services/integrity.d.mts +152 -0
- package/dist/services/integrity.d.mts.map +1 -0
- package/dist/services/integrity.mjs +361 -0
- package/dist/services/integrity.mjs.map +1 -0
- package/dist/services/layer-discovery.d.mts +77 -0
- package/dist/services/layer-discovery.d.mts.map +1 -0
- package/dist/services/layer-discovery.mjs +121 -0
- package/dist/services/layer-discovery.mjs.map +1 -0
- package/dist/services/list.d.mts +37 -0
- package/dist/services/list.d.mts.map +1 -0
- package/dist/services/list.mjs +46 -0
- package/dist/services/list.mjs.map +1 -0
- package/dist/services/llm/index.d.mts +28 -0
- package/dist/services/llm/index.d.mts.map +1 -0
- package/dist/services/llm/index.mjs +187 -0
- package/dist/services/llm/index.mjs.map +1 -0
- package/dist/services/llm/verify-static.d.mts +26 -0
- package/dist/services/llm/verify-static.d.mts.map +1 -0
- package/dist/services/llm/verify-static.mjs +82 -0
- package/dist/services/llm/verify-static.mjs.map +1 -0
- package/dist/services/modules/module-resolver.mjs +61 -0
- package/dist/services/modules/module-resolver.mjs.map +1 -0
- package/dist/services/openapi/export-service.d.mts +53 -0
- package/dist/services/openapi/export-service.d.mts.map +1 -0
- package/dist/services/openapi/export-service.mjs +50 -0
- package/dist/services/openapi/export-service.mjs.map +1 -0
- package/dist/services/openapi/import-service.d.mts +17 -0
- package/dist/services/openapi/import-service.d.mts.map +1 -0
- package/dist/services/openapi/import-service.mjs +165 -0
- package/dist/services/openapi/import-service.mjs.map +1 -0
- package/dist/services/openapi/index.d.mts +5 -0
- package/dist/services/openapi/index.mjs +6 -0
- package/dist/services/openapi/sync-service.d.mts +17 -0
- package/dist/services/openapi/sync-service.d.mts.map +1 -0
- package/dist/services/openapi/sync-service.mjs +120 -0
- package/dist/services/openapi/sync-service.mjs.map +1 -0
- package/dist/services/openapi/types.d.mts +162 -0
- package/dist/services/openapi/types.d.mts.map +1 -0
- package/dist/services/openapi/validate-service.d.mts +16 -0
- package/dist/services/openapi/validate-service.d.mts.map +1 -0
- package/dist/services/openapi/validate-service.mjs +130 -0
- package/dist/services/openapi/validate-service.mjs.map +1 -0
- package/dist/services/quickstart/dependencies.d.mts +31 -0
- package/dist/services/quickstart/dependencies.d.mts.map +1 -0
- package/dist/services/quickstart/dependencies.mjs +57 -0
- package/dist/services/quickstart/dependencies.mjs.map +1 -0
- package/dist/services/quickstart/index.mjs +4 -0
- package/dist/services/quickstart/quickstart-service.d.mts +20 -0
- package/dist/services/quickstart/quickstart-service.d.mts.map +1 -0
- package/dist/services/quickstart/quickstart-service.mjs +196 -0
- package/dist/services/quickstart/quickstart-service.mjs.map +1 -0
- package/dist/services/quickstart/types.d.mts +81 -0
- package/dist/services/quickstart/types.d.mts.map +1 -0
- package/dist/services/regenerator.d.mts +18 -0
- package/dist/services/regenerator.d.mts.map +1 -0
- package/dist/services/regenerator.mjs +23 -0
- package/dist/services/regenerator.mjs.map +1 -0
- package/dist/services/registry.d.mts +53 -0
- package/dist/services/registry.d.mts.map +1 -0
- package/dist/services/registry.mjs +74 -0
- package/dist/services/registry.mjs.map +1 -0
- package/dist/services/rulesync.d.mts +17 -0
- package/dist/services/rulesync.d.mts.map +1 -0
- package/dist/services/rulesync.mjs +72 -0
- package/dist/services/rulesync.mjs.map +1 -0
- package/dist/services/setup/config-generators.d.mts +42 -0
- package/dist/services/setup/config-generators.d.mts.map +1 -0
- package/dist/services/setup/config-generators.mjs +252 -0
- package/dist/services/setup/config-generators.mjs.map +1 -0
- package/dist/services/setup/file-merger.d.mts +27 -0
- package/dist/services/setup/file-merger.d.mts.map +1 -0
- package/dist/services/setup/file-merger.mjs +61 -0
- package/dist/services/setup/file-merger.mjs.map +1 -0
- package/dist/services/setup/setup-service.d.mts +12 -0
- package/dist/services/setup/setup-service.d.mts.map +1 -0
- package/dist/services/setup/setup-service.mjs +96 -0
- package/dist/services/setup/setup-service.mjs.map +1 -0
- package/dist/services/setup/targets/agents-md.mjs +47 -0
- package/dist/services/setup/targets/agents-md.mjs.map +1 -0
- package/dist/services/setup/targets/cli-config.mjs +60 -0
- package/dist/services/setup/targets/cli-config.mjs.map +1 -0
- package/dist/services/setup/targets/cursor-rules.mjs +48 -0
- package/dist/services/setup/targets/cursor-rules.mjs.map +1 -0
- package/dist/services/setup/targets/mcp-claude.mjs +60 -0
- package/dist/services/setup/targets/mcp-claude.mjs.map +1 -0
- package/dist/services/setup/targets/mcp-cursor.mjs +59 -0
- package/dist/services/setup/targets/mcp-cursor.mjs.map +1 -0
- package/dist/services/setup/targets/vscode-settings.mjs +63 -0
- package/dist/services/setup/targets/vscode-settings.mjs.map +1 -0
- package/dist/services/setup/types.d.mts +85 -0
- package/dist/services/setup/types.d.mts.map +1 -0
- package/dist/services/setup/types.mjs +27 -0
- package/dist/services/setup/types.mjs.map +1 -0
- package/dist/services/sync.d.mts +42 -0
- package/dist/services/sync.d.mts.map +1 -0
- package/dist/services/sync.mjs +64 -0
- package/dist/services/sync.mjs.map +1 -0
- package/dist/services/test/index.d.mts +2 -0
- package/dist/services/test/index.mjs +4 -0
- package/dist/services/test/test-generator-service.d.mts +24 -0
- package/dist/services/test/test-generator-service.d.mts.map +1 -0
- package/dist/services/test/test-generator-service.mjs +92 -0
- package/dist/services/test/test-generator-service.mjs.map +1 -0
- package/dist/services/test/test-service.d.mts +27 -0
- package/dist/services/test/test-service.d.mts.map +1 -0
- package/dist/services/test/test-service.mjs +94 -0
- package/dist/services/test/test-service.mjs.map +1 -0
- package/dist/services/test-link/index.d.mts +18 -0
- package/dist/services/test-link/index.d.mts.map +1 -0
- package/dist/services/test-link/index.mjs +60 -0
- package/dist/services/test-link/index.mjs.map +1 -0
- package/dist/services/test-link/test-ref-validator.d.mts +2 -0
- package/dist/services/test-link/test-ref-validator.mjs +50 -0
- package/dist/services/test-link/test-ref-validator.mjs.map +1 -0
- package/dist/services/upgrade/index.d.mts +10 -0
- package/dist/services/upgrade/index.d.mts.map +1 -0
- package/dist/services/upgrade/index.mjs +15 -0
- package/dist/services/upgrade/index.mjs.map +1 -0
- package/dist/services/upgrade/types.d.mts +78 -0
- package/dist/services/upgrade/types.d.mts.map +1 -0
- package/dist/services/upgrade/upgrade-service.d.mts +38 -0
- package/dist/services/upgrade/upgrade-service.d.mts.map +1 -0
- package/dist/services/upgrade/upgrade-service.mjs +201 -0
- package/dist/services/upgrade/upgrade-service.mjs.map +1 -0
- package/dist/services/validate/blueprint-validator.d.mts +23 -0
- package/dist/services/validate/blueprint-validator.d.mts.map +1 -0
- package/dist/services/validate/blueprint-validator.mjs +50 -0
- package/dist/services/validate/blueprint-validator.mjs.map +1 -0
- package/dist/services/validate/implementation-agent-validator.d.mts +20 -0
- package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -0
- package/dist/services/validate/implementation-agent-validator.mjs +42 -0
- package/dist/services/validate/implementation-agent-validator.mjs.map +1 -0
- package/dist/services/validate/implementation-validator.d.mts +32 -0
- package/dist/services/validate/implementation-validator.d.mts.map +1 -0
- package/dist/services/validate/implementation-validator.mjs +64 -0
- package/dist/services/validate/implementation-validator.mjs.map +1 -0
- package/dist/services/validate/index.d.mts +5 -0
- package/dist/services/validate/index.mjs +7 -0
- package/dist/services/validate/spec-validator.d.mts +42 -0
- package/dist/services/validate/spec-validator.d.mts.map +1 -0
- package/dist/services/validate/spec-validator.mjs +49 -0
- package/dist/services/validate/spec-validator.mjs.map +1 -0
- package/dist/services/validate/tenant-validator.d.mts +21 -0
- package/dist/services/validate/tenant-validator.d.mts.map +1 -0
- package/dist/services/validate/tenant-validator.mjs +165 -0
- package/dist/services/validate/tenant-validator.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/filesystem.d.mts +46 -0
- package/dist/services/verification-cache/adapters/filesystem.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/filesystem.mjs +120 -0
- package/dist/services/verification-cache/adapters/filesystem.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/in-memory.d.mts +27 -0
- package/dist/services/verification-cache/adapters/in-memory.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/in-memory.mjs +46 -0
- package/dist/services/verification-cache/adapters/in-memory.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/index.d.mts +3 -0
- package/dist/services/verification-cache/adapters/index.mjs +5 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.mts +49 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/workspace-state.mjs +91 -0
- package/dist/services/verification-cache/adapters/workspace-state.mjs.map +1 -0
- package/dist/services/verification-cache/cache-service.d.mts +70 -0
- package/dist/services/verification-cache/cache-service.d.mts.map +1 -0
- package/dist/services/verification-cache/cache-service.mjs +256 -0
- package/dist/services/verification-cache/cache-service.mjs.map +1 -0
- package/dist/services/verification-cache/index.d.mts +6 -0
- package/dist/services/verification-cache/index.mjs +8 -0
- package/dist/services/verification-cache/types.d.mts +124 -0
- package/dist/services/verification-cache/types.d.mts.map +1 -0
- package/dist/services/verification-cache/types.mjs +16 -0
- package/dist/services/verification-cache/types.mjs.map +1 -0
- package/dist/services/verify/ai-verifier.d.mts +25 -0
- package/dist/services/verify/ai-verifier.d.mts.map +1 -0
- package/dist/services/verify/ai-verifier.mjs +403 -0
- package/dist/services/verify/ai-verifier.mjs.map +1 -0
- package/dist/services/verify/behavior-verifier.d.mts +12 -0
- package/dist/services/verify/behavior-verifier.d.mts.map +1 -0
- package/dist/services/verify/behavior-verifier.mjs +186 -0
- package/dist/services/verify/behavior-verifier.mjs.map +1 -0
- package/dist/services/verify/index.d.mts +5 -0
- package/dist/services/verify/index.mjs +6 -0
- package/dist/services/verify/structure-verifier.d.mts +12 -0
- package/dist/services/verify/structure-verifier.d.mts.map +1 -0
- package/dist/services/verify/structure-verifier.mjs +196 -0
- package/dist/services/verify/structure-verifier.mjs.map +1 -0
- package/dist/services/verify/types.d.mts +137 -0
- package/dist/services/verify/types.d.mts.map +1 -0
- package/dist/services/verify/verify-service.d.mts +60 -0
- package/dist/services/verify/verify-service.d.mts.map +1 -0
- package/dist/services/verify/verify-service.mjs +204 -0
- package/dist/services/verify/verify-service.mjs.map +1 -0
- package/dist/services/versioning/changelog-formatter.d.mts +24 -0
- package/dist/services/versioning/changelog-formatter.d.mts.map +1 -0
- package/dist/services/versioning/changelog-formatter.mjs +155 -0
- package/dist/services/versioning/changelog-formatter.mjs.map +1 -0
- package/dist/services/versioning/conventional-commits.d.mts +95 -0
- package/dist/services/versioning/conventional-commits.d.mts.map +1 -0
- package/dist/services/versioning/conventional-commits.mjs +184 -0
- package/dist/services/versioning/conventional-commits.mjs.map +1 -0
- package/dist/services/versioning/index.d.mts +12 -0
- package/dist/services/versioning/index.d.mts.map +1 -0
- package/dist/services/versioning/index.mjs +28 -0
- package/dist/services/versioning/index.mjs.map +1 -0
- package/dist/services/versioning/types.d.mts +135 -0
- package/dist/services/versioning/types.d.mts.map +1 -0
- package/dist/services/versioning/versioning-service.d.mts +74 -0
- package/dist/services/versioning/versioning-service.d.mts.map +1 -0
- package/dist/services/versioning/versioning-service.mjs +501 -0
- package/dist/services/versioning/versioning-service.mjs.map +1 -0
- package/dist/services/vibe/config.d.mts +12 -0
- package/dist/services/vibe/config.d.mts.map +1 -0
- package/dist/services/vibe/config.mjs +43 -0
- package/dist/services/vibe/config.mjs.map +1 -0
- package/dist/services/vibe/context.d.mts +19 -0
- package/dist/services/vibe/context.d.mts.map +1 -0
- package/dist/services/vibe/context.mjs +92 -0
- package/dist/services/vibe/context.mjs.map +1 -0
- package/dist/services/vibe/definitions.d.mts +8 -0
- package/dist/services/vibe/definitions.d.mts.map +1 -0
- package/dist/services/vibe/definitions.mjs +129 -0
- package/dist/services/vibe/definitions.mjs.map +1 -0
- package/dist/services/vibe/engine.d.mts +44 -0
- package/dist/services/vibe/engine.d.mts.map +1 -0
- package/dist/services/vibe/engine.mjs +147 -0
- package/dist/services/vibe/engine.mjs.map +1 -0
- package/dist/services/vibe/index.d.mts +15 -0
- package/dist/services/vibe/index.d.mts.map +1 -0
- package/dist/services/vibe/index.mjs +26 -0
- package/dist/services/vibe/index.mjs.map +1 -0
- package/dist/services/vibe/loader.d.mts +15 -0
- package/dist/services/vibe/loader.d.mts.map +1 -0
- package/dist/services/vibe/loader.mjs +48 -0
- package/dist/services/vibe/loader.mjs.map +1 -0
- package/dist/services/vibe/pack.d.mts +19 -0
- package/dist/services/vibe/pack.d.mts.map +1 -0
- package/dist/services/vibe/pack.mjs +66 -0
- package/dist/services/vibe/pack.mjs.map +1 -0
- package/dist/services/vibe/types.d.mts +59 -0
- package/dist/services/vibe/types.d.mts.map +1 -0
- package/dist/services/vibe/types.mjs +12 -0
- package/dist/services/vibe/types.mjs.map +1 -0
- package/dist/services/view/index.d.mts +11 -0
- package/dist/services/view/index.d.mts.map +1 -0
- package/dist/services/view/index.mjs +119 -0
- package/dist/services/view/index.mjs.map +1 -0
- package/dist/services/watch.d.mts +25 -0
- package/dist/services/watch.d.mts.map +1 -0
- package/dist/services/watch.mjs +33 -0
- package/dist/services/watch.mjs.map +1 -0
- package/dist/services/workspace-info.d.mts +62 -0
- package/dist/services/workspace-info.d.mts.map +1 -0
- package/dist/services/workspace-info.mjs +103 -0
- package/dist/services/workspace-info.mjs.map +1 -0
- package/dist/templates/app-config.template.d.mts +7 -0
- package/dist/templates/app-config.template.d.mts.map +1 -0
- package/dist/templates/app-config.template.mjs +107 -0
- package/dist/templates/app-config.template.mjs.map +1 -0
- package/dist/templates/data-view.template.d.mts +7 -0
- package/dist/templates/data-view.template.d.mts.map +1 -0
- package/dist/templates/data-view.template.mjs +70 -0
- package/dist/templates/data-view.template.mjs.map +1 -0
- package/dist/templates/event.template.d.mts +11 -0
- package/dist/templates/event.template.d.mts.map +1 -0
- package/dist/templates/event.template.mjs +42 -0
- package/dist/templates/event.template.mjs.map +1 -0
- package/dist/templates/experiment.template.d.mts +7 -0
- package/dist/templates/experiment.template.d.mts.map +1 -0
- package/dist/templates/experiment.template.mjs +89 -0
- package/dist/templates/experiment.template.mjs.map +1 -0
- package/dist/templates/feature.template.d.mts +33 -0
- package/dist/templates/feature.template.d.mts.map +1 -0
- package/dist/templates/feature.template.mjs +52 -0
- package/dist/templates/feature.template.mjs.map +1 -0
- package/dist/templates/fix/skeleton-capability.mjs +49 -0
- package/dist/templates/fix/skeleton-capability.mjs.map +1 -0
- package/dist/templates/fix/skeleton-event.mjs +56 -0
- package/dist/templates/fix/skeleton-event.mjs.map +1 -0
- package/dist/templates/fix/skeleton-operation.mjs +122 -0
- package/dist/templates/fix/skeleton-operation.mjs.map +1 -0
- package/dist/templates/fix/skeleton-presentation.mjs +65 -0
- package/dist/templates/fix/skeleton-presentation.mjs.map +1 -0
- package/dist/templates/fix/utils.mjs +34 -0
- package/dist/templates/fix/utils.mjs.map +1 -0
- package/dist/templates/handler.template.d.mts +16 -0
- package/dist/templates/handler.template.d.mts.map +1 -0
- package/dist/templates/handler.template.mjs +100 -0
- package/dist/templates/handler.template.mjs.map +1 -0
- package/dist/templates/index.d.mts +22 -0
- package/dist/templates/index.d.mts.map +1 -0
- package/dist/templates/index.mjs +39 -0
- package/dist/templates/index.mjs.map +1 -0
- package/dist/templates/integration.template.d.mts +7 -0
- package/dist/templates/integration.template.d.mts.map +1 -0
- package/dist/templates/integration.template.mjs +160 -0
- package/dist/templates/integration.template.mjs.map +1 -0
- package/dist/templates/knowledge.template.d.mts +7 -0
- package/dist/templates/knowledge.template.d.mts.map +1 -0
- package/dist/templates/knowledge.template.mjs +75 -0
- package/dist/templates/knowledge.template.mjs.map +1 -0
- package/dist/templates/migration.template.d.mts +7 -0
- package/dist/templates/migration.template.d.mts.map +1 -0
- package/dist/templates/migration.template.mjs +62 -0
- package/dist/templates/migration.template.mjs.map +1 -0
- package/dist/templates/operation.template.d.mts +11 -0
- package/dist/templates/operation.template.d.mts.map +1 -0
- package/dist/templates/operation.template.mjs +107 -0
- package/dist/templates/operation.template.mjs.map +1 -0
- package/dist/templates/presentation.template.d.mts +11 -0
- package/dist/templates/presentation.template.d.mts.map +1 -0
- package/dist/templates/presentation.template.mjs +80 -0
- package/dist/templates/presentation.template.mjs.map +1 -0
- package/dist/templates/telemetry.template.d.mts +7 -0
- package/dist/templates/telemetry.template.d.mts.map +1 -0
- package/dist/templates/telemetry.template.mjs +91 -0
- package/dist/templates/telemetry.template.mjs.map +1 -0
- package/dist/templates/workflow-runner.template.d.mts +16 -0
- package/dist/templates/workflow-runner.template.d.mts.map +1 -0
- package/dist/templates/workflow-runner.template.mjs +50 -0
- package/dist/templates/workflow-runner.template.mjs.map +1 -0
- package/dist/templates/workflow.template.d.mts +7 -0
- package/dist/templates/workflow.template.d.mts.map +1 -0
- package/dist/templates/workflow.template.mjs +69 -0
- package/dist/templates/workflow.template.mjs.map +1 -0
- package/dist/types/config.d.mts +34 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types.d.mts +324 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/utils/filter.d.mts +16 -0
- package/dist/utils/filter.d.mts.map +1 -0
- package/dist/utils/filter.mjs +22 -0
- package/dist/utils/filter.mjs.map +1 -0
- package/dist/utils/index.d.mts +11 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +20 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/module-loader.d.mts +5 -0
- package/dist/utils/module-loader.d.mts.map +1 -0
- package/dist/utils/module-loader.mjs +41 -0
- package/dist/utils/module-loader.mjs.map +1 -0
- package/dist/utils/validation.d.mts +37 -0
- package/dist/utils/validation.d.mts.map +1 -0
- package/dist/utils/validation.mjs +43 -0
- package/dist/utils/validation.mjs.map +1 -0
- package/package.json +24 -19
- package/dist/_virtual/rolldown_runtime.js +0 -18
- package/dist/adapters/ai.d.ts +0 -12
- package/dist/adapters/ai.d.ts.map +0 -1
- package/dist/adapters/ai.js +0 -83
- package/dist/adapters/ai.js.map +0 -1
- package/dist/adapters/factory.d.ts +0 -29
- package/dist/adapters/factory.d.ts.map +0 -1
- package/dist/adapters/factory.js +0 -37
- package/dist/adapters/factory.js.map +0 -1
- package/dist/adapters/fs.d.ts +0 -12
- package/dist/adapters/fs.d.ts.map +0 -1
- package/dist/adapters/fs.js +0 -131
- package/dist/adapters/fs.js.map +0 -1
- package/dist/adapters/git.d.ts +0 -11
- package/dist/adapters/git.d.ts.map +0 -1
- package/dist/adapters/git.js +0 -84
- package/dist/adapters/git.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -7
- package/dist/adapters/index.js +0 -7
- package/dist/adapters/logger.d.ts +0 -18
- package/dist/adapters/logger.d.ts.map +0 -1
- package/dist/adapters/logger.js +0 -81
- package/dist/adapters/logger.js.map +0 -1
- package/dist/adapters/watcher.d.ts +0 -11
- package/dist/adapters/watcher.d.ts.map +0 -1
- package/dist/adapters/watcher.js +0 -74
- package/dist/adapters/watcher.js.map +0 -1
- package/dist/adapters/workspace.d.ts +0 -148
- package/dist/adapters/workspace.d.ts.map +0 -1
- package/dist/adapters/workspace.js +0 -275
- package/dist/adapters/workspace.js.map +0 -1
- package/dist/ai/agents/claude-code-agent.d.ts +0 -22
- package/dist/ai/agents/claude-code-agent.d.ts.map +0 -1
- package/dist/ai/agents/claude-code-agent.js +0 -182
- package/dist/ai/agents/claude-code-agent.js.map +0 -1
- package/dist/ai/agents/cursor-agent.d.ts +0 -68
- package/dist/ai/agents/cursor-agent.d.ts.map +0 -1
- package/dist/ai/agents/cursor-agent.js +0 -436
- package/dist/ai/agents/cursor-agent.js.map +0 -1
- package/dist/ai/agents/index.js +0 -5
- package/dist/ai/agents/openai-codex-agent.d.ts +0 -22
- package/dist/ai/agents/openai-codex-agent.d.ts.map +0 -1
- package/dist/ai/agents/openai-codex-agent.js +0 -167
- package/dist/ai/agents/openai-codex-agent.js.map +0 -1
- package/dist/ai/agents/orchestrator.d.ts +0 -50
- package/dist/ai/agents/orchestrator.d.ts.map +0 -1
- package/dist/ai/agents/orchestrator.js +0 -143
- package/dist/ai/agents/orchestrator.js.map +0 -1
- package/dist/ai/agents/simple-agent.d.ts +0 -17
- package/dist/ai/agents/simple-agent.d.ts.map +0 -1
- package/dist/ai/agents/simple-agent.js +0 -92
- package/dist/ai/agents/simple-agent.js.map +0 -1
- package/dist/ai/agents/types.d.ts +0 -36
- package/dist/ai/agents/types.d.ts.map +0 -1
- package/dist/ai/client.d.ts +0 -97
- package/dist/ai/client.d.ts.map +0 -1
- package/dist/ai/client.js +0 -189
- package/dist/ai/client.js.map +0 -1
- package/dist/ai/index.d.ts +0 -9
- package/dist/ai/index.js +0 -9
- package/dist/ai/prompts/code-generation.d.ts +0 -26
- package/dist/ai/prompts/code-generation.d.ts.map +0 -1
- package/dist/ai/prompts/code-generation.js +0 -143
- package/dist/ai/prompts/code-generation.js.map +0 -1
- package/dist/ai/prompts/index.d.ts +0 -10
- package/dist/ai/prompts/index.d.ts.map +0 -1
- package/dist/ai/prompts/index.js +0 -13
- package/dist/ai/prompts/index.js.map +0 -1
- package/dist/ai/prompts/spec-creation.d.ts +0 -29
- package/dist/ai/prompts/spec-creation.d.ts.map +0 -1
- package/dist/ai/prompts/spec-creation.js +0 -111
- package/dist/ai/prompts/spec-creation.js.map +0 -1
- package/dist/ai/providers.d.ts +0 -29
- package/dist/ai/providers.d.ts.map +0 -1
- package/dist/ai/providers.js +0 -39
- package/dist/ai/providers.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -11
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -19
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/json.d.ts +0 -89
- package/dist/formatters/json.d.ts.map +0 -1
- package/dist/formatters/json.js +0 -72
- package/dist/formatters/json.js.map +0 -1
- package/dist/formatters/sarif.d.ts +0 -101
- package/dist/formatters/sarif.d.ts.map +0 -1
- package/dist/formatters/sarif.js +0 -163
- package/dist/formatters/sarif.js.map +0 -1
- package/dist/formatters/text.d.ts +0 -35
- package/dist/formatters/text.d.ts.map +0 -1
- package/dist/formatters/text.js +0 -209
- package/dist/formatters/text.js.map +0 -1
- package/dist/index.d.ts +0 -111
- package/dist/index.js +0 -97
- package/dist/ports/ai.d.ts +0 -59
- package/dist/ports/ai.d.ts.map +0 -1
- package/dist/ports/fs.d.ts +0 -81
- package/dist/ports/fs.d.ts.map +0 -1
- package/dist/ports/git.d.ts +0 -46
- package/dist/ports/git.d.ts.map +0 -1
- package/dist/ports/index.d.ts +0 -6
- package/dist/ports/logger.d.ts +0 -88
- package/dist/ports/logger.d.ts.map +0 -1
- package/dist/ports/rulesync.d.ts +0 -38
- package/dist/ports/rulesync.d.ts.map +0 -1
- package/dist/ports/watcher.d.ts +0 -52
- package/dist/ports/watcher.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.d.ts +0 -35
- package/dist/services/agent-guide/adapters/claude-code.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.js +0 -144
- package/dist/services/agent-guide/adapters/claude-code.js.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts +0 -39
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.js +0 -135
- package/dist/services/agent-guide/adapters/cursor-cli.js.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts +0 -53
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.js +0 -159
- package/dist/services/agent-guide/adapters/generic-mcp.js.map +0 -1
- package/dist/services/agent-guide/adapters/index.d.ts +0 -23
- package/dist/services/agent-guide/adapters/index.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/index.js +0 -31
- package/dist/services/agent-guide/adapters/index.js.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.d.ts +0 -56
- package/dist/services/agent-guide/agent-guide-service.d.ts.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.js +0 -147
- package/dist/services/agent-guide/agent-guide-service.js.map +0 -1
- package/dist/services/agent-guide/index.d.ts +0 -6
- package/dist/services/agent-guide/index.js +0 -5
- package/dist/services/agent-guide/types.d.ts +0 -58
- package/dist/services/agent-guide/types.d.ts.map +0 -1
- package/dist/services/build.d.ts +0 -59
- package/dist/services/build.d.ts.map +0 -1
- package/dist/services/build.js +0 -140
- package/dist/services/build.js.map +0 -1
- package/dist/services/ci-check/ci-check-service.d.ts +0 -16
- package/dist/services/ci-check/ci-check-service.d.ts.map +0 -1
- package/dist/services/ci-check/ci-check-service.js +0 -459
- package/dist/services/ci-check/ci-check-service.js.map +0 -1
- package/dist/services/ci-check/index.d.ts +0 -2
- package/dist/services/ci-check/index.js +0 -2
- package/dist/services/ci-check/types.d.ts +0 -143
- package/dist/services/ci-check/types.d.ts.map +0 -1
- package/dist/services/ci-check/types.js +0 -31
- package/dist/services/ci-check/types.js.map +0 -1
- package/dist/services/clean.d.ts +0 -41
- package/dist/services/clean.d.ts.map +0 -1
- package/dist/services/clean.js +0 -72
- package/dist/services/clean.js.map +0 -1
- package/dist/services/config.d.ts +0 -16
- package/dist/services/config.d.ts.map +0 -1
- package/dist/services/config.js +0 -63
- package/dist/services/config.js.map +0 -1
- package/dist/services/create/ai-generator.d.ts +0 -84
- package/dist/services/create/ai-generator.d.ts.map +0 -1
- package/dist/services/create/ai-generator.js +0 -178
- package/dist/services/create/ai-generator.js.map +0 -1
- package/dist/services/create/index.d.ts +0 -27
- package/dist/services/create/index.d.ts.map +0 -1
- package/dist/services/create/index.js +0 -36
- package/dist/services/create/index.js.map +0 -1
- package/dist/services/create/templates.d.ts +0 -21
- package/dist/services/create/templates.d.ts.map +0 -1
- package/dist/services/create/templates.js +0 -37
- package/dist/services/create/templates.js.map +0 -1
- package/dist/services/deps.d.ts +0 -53
- package/dist/services/deps.d.ts.map +0 -1
- package/dist/services/deps.js +0 -62
- package/dist/services/deps.js.map +0 -1
- package/dist/services/diff.d.ts +0 -34
- package/dist/services/diff.d.ts.map +0 -1
- package/dist/services/diff.js +0 -34
- package/dist/services/diff.js.map +0 -1
- package/dist/services/docs/docs-service.d.ts +0 -19
- package/dist/services/docs/docs-service.d.ts.map +0 -1
- package/dist/services/docs/docs-service.js +0 -41
- package/dist/services/docs/docs-service.js.map +0 -1
- package/dist/services/docs/index.d.ts +0 -1
- package/dist/services/docs/index.js +0 -1
- package/dist/services/doctor/checks/ai.js +0 -119
- package/dist/services/doctor/checks/ai.js.map +0 -1
- package/dist/services/doctor/checks/cli.js +0 -156
- package/dist/services/doctor/checks/cli.js.map +0 -1
- package/dist/services/doctor/checks/config.js +0 -303
- package/dist/services/doctor/checks/config.js.map +0 -1
- package/dist/services/doctor/checks/deps.js +0 -267
- package/dist/services/doctor/checks/deps.js.map +0 -1
- package/dist/services/doctor/checks/index.js +0 -7
- package/dist/services/doctor/checks/layers.js +0 -139
- package/dist/services/doctor/checks/layers.js.map +0 -1
- package/dist/services/doctor/checks/mcp.js +0 -145
- package/dist/services/doctor/checks/mcp.js.map +0 -1
- package/dist/services/doctor/checks/workspace.js +0 -263
- package/dist/services/doctor/checks/workspace.js.map +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -24
- package/dist/services/doctor/doctor-service.d.ts.map +0 -1
- package/dist/services/doctor/doctor-service.js +0 -118
- package/dist/services/doctor/doctor-service.js.map +0 -1
- package/dist/services/doctor/index.d.ts +0 -2
- package/dist/services/doctor/index.js +0 -2
- package/dist/services/doctor/types.d.ts +0 -118
- package/dist/services/doctor/types.d.ts.map +0 -1
- package/dist/services/doctor/types.js +0 -29
- package/dist/services/doctor/types.js.map +0 -1
- package/dist/services/formatter.d.ts +0 -15
- package/dist/services/formatter.d.ts.map +0 -1
- package/dist/services/formatter.js +0 -26
- package/dist/services/formatter.js.map +0 -1
- package/dist/services/hooks/hooks-service.d.ts +0 -24
- package/dist/services/hooks/hooks-service.d.ts.map +0 -1
- package/dist/services/hooks/hooks-service.js +0 -126
- package/dist/services/hooks/hooks-service.js.map +0 -1
- package/dist/services/hooks/index.d.ts +0 -10
- package/dist/services/hooks/index.d.ts.map +0 -1
- package/dist/services/hooks/index.js +0 -12
- package/dist/services/hooks/index.js.map +0 -1
- package/dist/services/hooks/types.d.ts +0 -56
- package/dist/services/hooks/types.d.ts.map +0 -1
- package/dist/services/impact/formatters.d.ts +0 -27
- package/dist/services/impact/formatters.d.ts.map +0 -1
- package/dist/services/impact/formatters.js +0 -111
- package/dist/services/impact/formatters.js.map +0 -1
- package/dist/services/impact/impact-detection-service.d.ts +0 -22
- package/dist/services/impact/impact-detection-service.d.ts.map +0 -1
- package/dist/services/impact/impact-detection-service.js +0 -96
- package/dist/services/impact/impact-detection-service.js.map +0 -1
- package/dist/services/impact/index.d.ts +0 -11
- package/dist/services/impact/index.d.ts.map +0 -1
- package/dist/services/impact/index.js +0 -16
- package/dist/services/impact/index.js.map +0 -1
- package/dist/services/impact/types.d.ts +0 -58
- package/dist/services/impact/types.d.ts.map +0 -1
- package/dist/services/implementation/discovery.d.ts +0 -30
- package/dist/services/implementation/discovery.d.ts.map +0 -1
- package/dist/services/implementation/discovery.js +0 -144
- package/dist/services/implementation/discovery.js.map +0 -1
- package/dist/services/implementation/index.d.ts +0 -3
- package/dist/services/implementation/index.js +0 -2
- package/dist/services/implementation/resolver.d.ts +0 -44
- package/dist/services/implementation/resolver.d.ts.map +0 -1
- package/dist/services/implementation/resolver.js +0 -224
- package/dist/services/implementation/resolver.js.map +0 -1
- package/dist/services/implementation/types.d.ts +0 -79
- package/dist/services/implementation/types.d.ts.map +0 -1
- package/dist/services/index.d.ts +0 -91
- package/dist/services/index.js +0 -87
- package/dist/services/integrity-diagram.d.ts +0 -36
- package/dist/services/integrity-diagram.d.ts.map +0 -1
- package/dist/services/integrity-diagram.js +0 -275
- package/dist/services/integrity-diagram.js.map +0 -1
- package/dist/services/integrity.d.ts +0 -134
- package/dist/services/integrity.d.ts.map +0 -1
- package/dist/services/integrity.js +0 -272
- package/dist/services/integrity.js.map +0 -1
- package/dist/services/layer-discovery.d.ts +0 -77
- package/dist/services/layer-discovery.d.ts.map +0 -1
- package/dist/services/layer-discovery.js +0 -121
- package/dist/services/layer-discovery.js.map +0 -1
- package/dist/services/list.d.ts +0 -31
- package/dist/services/list.d.ts.map +0 -1
- package/dist/services/list.js +0 -36
- package/dist/services/list.js.map +0 -1
- package/dist/services/llm/index.d.ts +0 -28
- package/dist/services/llm/index.d.ts.map +0 -1
- package/dist/services/llm/index.js +0 -187
- package/dist/services/llm/index.js.map +0 -1
- package/dist/services/llm/verify-static.d.ts +0 -26
- package/dist/services/llm/verify-static.d.ts.map +0 -1
- package/dist/services/llm/verify-static.js +0 -82
- package/dist/services/llm/verify-static.js.map +0 -1
- package/dist/services/openapi/export-service.d.ts +0 -53
- package/dist/services/openapi/export-service.d.ts.map +0 -1
- package/dist/services/openapi/export-service.js +0 -50
- package/dist/services/openapi/export-service.js.map +0 -1
- package/dist/services/openapi/import-service.d.ts +0 -17
- package/dist/services/openapi/import-service.d.ts.map +0 -1
- package/dist/services/openapi/import-service.js +0 -168
- package/dist/services/openapi/import-service.js.map +0 -1
- package/dist/services/openapi/index.d.ts +0 -5
- package/dist/services/openapi/index.js +0 -4
- package/dist/services/openapi/sync-service.d.ts +0 -17
- package/dist/services/openapi/sync-service.d.ts.map +0 -1
- package/dist/services/openapi/sync-service.js +0 -120
- package/dist/services/openapi/sync-service.js.map +0 -1
- package/dist/services/openapi/types.d.ts +0 -162
- package/dist/services/openapi/types.d.ts.map +0 -1
- package/dist/services/openapi/validate-service.d.ts +0 -16
- package/dist/services/openapi/validate-service.d.ts.map +0 -1
- package/dist/services/openapi/validate-service.js +0 -130
- package/dist/services/openapi/validate-service.js.map +0 -1
- package/dist/services/quickstart/dependencies.d.ts +0 -31
- package/dist/services/quickstart/dependencies.d.ts.map +0 -1
- package/dist/services/quickstart/dependencies.js +0 -57
- package/dist/services/quickstart/dependencies.js.map +0 -1
- package/dist/services/quickstart/index.js +0 -2
- package/dist/services/quickstart/quickstart-service.d.ts +0 -20
- package/dist/services/quickstart/quickstart-service.d.ts.map +0 -1
- package/dist/services/quickstart/quickstart-service.js +0 -196
- package/dist/services/quickstart/quickstart-service.js.map +0 -1
- package/dist/services/quickstart/types.d.ts +0 -81
- package/dist/services/quickstart/types.d.ts.map +0 -1
- package/dist/services/regenerator.d.ts +0 -18
- package/dist/services/regenerator.d.ts.map +0 -1
- package/dist/services/regenerator.js +0 -23
- package/dist/services/regenerator.js.map +0 -1
- package/dist/services/registry.d.ts +0 -53
- package/dist/services/registry.d.ts.map +0 -1
- package/dist/services/registry.js +0 -74
- package/dist/services/registry.js.map +0 -1
- package/dist/services/rulesync.d.ts +0 -17
- package/dist/services/rulesync.d.ts.map +0 -1
- package/dist/services/rulesync.js +0 -71
- package/dist/services/rulesync.js.map +0 -1
- package/dist/services/setup/config-generators.d.ts +0 -42
- package/dist/services/setup/config-generators.d.ts.map +0 -1
- package/dist/services/setup/config-generators.js +0 -252
- package/dist/services/setup/config-generators.js.map +0 -1
- package/dist/services/setup/file-merger.d.ts +0 -27
- package/dist/services/setup/file-merger.d.ts.map +0 -1
- package/dist/services/setup/file-merger.js +0 -61
- package/dist/services/setup/file-merger.js.map +0 -1
- package/dist/services/setup/index.js +0 -4
- package/dist/services/setup/setup-service.d.ts +0 -12
- package/dist/services/setup/setup-service.d.ts.map +0 -1
- package/dist/services/setup/setup-service.js +0 -96
- package/dist/services/setup/setup-service.js.map +0 -1
- package/dist/services/setup/targets/agents-md.js +0 -47
- package/dist/services/setup/targets/agents-md.js.map +0 -1
- package/dist/services/setup/targets/cli-config.js +0 -60
- package/dist/services/setup/targets/cli-config.js.map +0 -1
- package/dist/services/setup/targets/cursor-rules.js +0 -48
- package/dist/services/setup/targets/cursor-rules.js.map +0 -1
- package/dist/services/setup/targets/mcp-claude.js +0 -60
- package/dist/services/setup/targets/mcp-claude.js.map +0 -1
- package/dist/services/setup/targets/mcp-cursor.js +0 -59
- package/dist/services/setup/targets/mcp-cursor.js.map +0 -1
- package/dist/services/setup/targets/vscode-settings.js +0 -63
- package/dist/services/setup/targets/vscode-settings.js.map +0 -1
- package/dist/services/setup/types.d.ts +0 -85
- package/dist/services/setup/types.d.ts.map +0 -1
- package/dist/services/setup/types.js +0 -27
- package/dist/services/setup/types.js.map +0 -1
- package/dist/services/sync.d.ts +0 -42
- package/dist/services/sync.d.ts.map +0 -1
- package/dist/services/sync.js +0 -64
- package/dist/services/sync.js.map +0 -1
- package/dist/services/test/index.d.ts +0 -1
- package/dist/services/test/index.js +0 -1
- package/dist/services/test/test-service.d.ts +0 -22
- package/dist/services/test/test-service.d.ts.map +0 -1
- package/dist/services/test/test-service.js +0 -81
- package/dist/services/test/test-service.js.map +0 -1
- package/dist/services/upgrade/index.d.ts +0 -10
- package/dist/services/upgrade/index.d.ts.map +0 -1
- package/dist/services/upgrade/index.js +0 -15
- package/dist/services/upgrade/index.js.map +0 -1
- package/dist/services/upgrade/types.d.ts +0 -78
- package/dist/services/upgrade/types.d.ts.map +0 -1
- package/dist/services/upgrade/upgrade-service.d.ts +0 -38
- package/dist/services/upgrade/upgrade-service.d.ts.map +0 -1
- package/dist/services/upgrade/upgrade-service.js +0 -201
- package/dist/services/upgrade/upgrade-service.js.map +0 -1
- package/dist/services/validate/blueprint-validator.d.ts +0 -23
- package/dist/services/validate/blueprint-validator.d.ts.map +0 -1
- package/dist/services/validate/blueprint-validator.js +0 -50
- package/dist/services/validate/blueprint-validator.js.map +0 -1
- package/dist/services/validate/implementation-agent-validator.d.ts +0 -20
- package/dist/services/validate/implementation-agent-validator.d.ts.map +0 -1
- package/dist/services/validate/implementation-agent-validator.js +0 -42
- package/dist/services/validate/implementation-agent-validator.js.map +0 -1
- package/dist/services/validate/implementation-validator.d.ts +0 -32
- package/dist/services/validate/implementation-validator.d.ts.map +0 -1
- package/dist/services/validate/implementation-validator.js +0 -64
- package/dist/services/validate/implementation-validator.js.map +0 -1
- package/dist/services/validate/index.d.ts +0 -5
- package/dist/services/validate/index.js +0 -5
- package/dist/services/validate/spec-validator.d.ts +0 -42
- package/dist/services/validate/spec-validator.d.ts.map +0 -1
- package/dist/services/validate/spec-validator.js +0 -50
- package/dist/services/validate/spec-validator.js.map +0 -1
- package/dist/services/validate/tenant-validator.d.ts +0 -21
- package/dist/services/validate/tenant-validator.d.ts.map +0 -1
- package/dist/services/validate/tenant-validator.js +0 -165
- package/dist/services/validate/tenant-validator.js.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.d.ts +0 -46
- package/dist/services/verification-cache/adapters/filesystem.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.js +0 -120
- package/dist/services/verification-cache/adapters/filesystem.js.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.d.ts +0 -27
- package/dist/services/verification-cache/adapters/in-memory.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.js +0 -46
- package/dist/services/verification-cache/adapters/in-memory.js.map +0 -1
- package/dist/services/verification-cache/adapters/index.d.ts +0 -3
- package/dist/services/verification-cache/adapters/index.js +0 -3
- package/dist/services/verification-cache/adapters/workspace-state.d.ts +0 -49
- package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/workspace-state.js +0 -91
- package/dist/services/verification-cache/adapters/workspace-state.js.map +0 -1
- package/dist/services/verification-cache/cache-service.d.ts +0 -70
- package/dist/services/verification-cache/cache-service.d.ts.map +0 -1
- package/dist/services/verification-cache/cache-service.js +0 -256
- package/dist/services/verification-cache/cache-service.js.map +0 -1
- package/dist/services/verification-cache/index.d.ts +0 -6
- package/dist/services/verification-cache/index.js +0 -6
- package/dist/services/verification-cache/types.d.ts +0 -124
- package/dist/services/verification-cache/types.d.ts.map +0 -1
- package/dist/services/verification-cache/types.js +0 -16
- package/dist/services/verification-cache/types.js.map +0 -1
- package/dist/services/verify/ai-verifier.d.ts +0 -25
- package/dist/services/verify/ai-verifier.d.ts.map +0 -1
- package/dist/services/verify/ai-verifier.js +0 -403
- package/dist/services/verify/ai-verifier.js.map +0 -1
- package/dist/services/verify/behavior-verifier.d.ts +0 -12
- package/dist/services/verify/behavior-verifier.d.ts.map +0 -1
- package/dist/services/verify/behavior-verifier.js +0 -186
- package/dist/services/verify/behavior-verifier.js.map +0 -1
- package/dist/services/verify/index.d.ts +0 -5
- package/dist/services/verify/index.js +0 -4
- package/dist/services/verify/structure-verifier.d.ts +0 -12
- package/dist/services/verify/structure-verifier.d.ts.map +0 -1
- package/dist/services/verify/structure-verifier.js +0 -196
- package/dist/services/verify/structure-verifier.js.map +0 -1
- package/dist/services/verify/types.d.ts +0 -137
- package/dist/services/verify/types.d.ts.map +0 -1
- package/dist/services/verify/verify-service.d.ts +0 -60
- package/dist/services/verify/verify-service.d.ts.map +0 -1
- package/dist/services/verify/verify-service.js +0 -204
- package/dist/services/verify/verify-service.js.map +0 -1
- package/dist/services/versioning/changelog-formatter.d.ts +0 -24
- package/dist/services/versioning/changelog-formatter.d.ts.map +0 -1
- package/dist/services/versioning/changelog-formatter.js +0 -155
- package/dist/services/versioning/changelog-formatter.js.map +0 -1
- package/dist/services/versioning/conventional-commits.d.ts +0 -95
- package/dist/services/versioning/conventional-commits.d.ts.map +0 -1
- package/dist/services/versioning/conventional-commits.js +0 -184
- package/dist/services/versioning/conventional-commits.js.map +0 -1
- package/dist/services/versioning/index.d.ts +0 -12
- package/dist/services/versioning/index.d.ts.map +0 -1
- package/dist/services/versioning/index.js +0 -28
- package/dist/services/versioning/index.js.map +0 -1
- package/dist/services/versioning/types.d.ts +0 -135
- package/dist/services/versioning/types.d.ts.map +0 -1
- package/dist/services/versioning/versioning-service.d.ts +0 -74
- package/dist/services/versioning/versioning-service.d.ts.map +0 -1
- package/dist/services/versioning/versioning-service.js +0 -501
- package/dist/services/versioning/versioning-service.js.map +0 -1
- package/dist/services/watch.d.ts +0 -25
- package/dist/services/watch.d.ts.map +0 -1
- package/dist/services/watch.js +0 -33
- package/dist/services/watch.js.map +0 -1
- package/dist/services/workspace-info.d.ts +0 -62
- package/dist/services/workspace-info.d.ts.map +0 -1
- package/dist/services/workspace-info.js +0 -103
- package/dist/services/workspace-info.js.map +0 -1
- package/dist/templates/app-config.template.d.ts +0 -7
- package/dist/templates/app-config.template.d.ts.map +0 -1
- package/dist/templates/app-config.template.js +0 -107
- package/dist/templates/app-config.template.js.map +0 -1
- package/dist/templates/data-view.template.d.ts +0 -7
- package/dist/templates/data-view.template.d.ts.map +0 -1
- package/dist/templates/data-view.template.js +0 -70
- package/dist/templates/data-view.template.js.map +0 -1
- package/dist/templates/event.template.d.ts +0 -11
- package/dist/templates/event.template.d.ts.map +0 -1
- package/dist/templates/event.template.js +0 -42
- package/dist/templates/event.template.js.map +0 -1
- package/dist/templates/experiment.template.d.ts +0 -7
- package/dist/templates/experiment.template.d.ts.map +0 -1
- package/dist/templates/experiment.template.js +0 -89
- package/dist/templates/experiment.template.js.map +0 -1
- package/dist/templates/handler.template.d.ts +0 -16
- package/dist/templates/handler.template.d.ts.map +0 -1
- package/dist/templates/handler.template.js +0 -100
- package/dist/templates/handler.template.js.map +0 -1
- package/dist/templates/index.d.ts +0 -21
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -37
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/integration.template.d.ts +0 -7
- package/dist/templates/integration.template.d.ts.map +0 -1
- package/dist/templates/integration.template.js +0 -160
- package/dist/templates/integration.template.js.map +0 -1
- package/dist/templates/knowledge.template.d.ts +0 -7
- package/dist/templates/knowledge.template.d.ts.map +0 -1
- package/dist/templates/knowledge.template.js +0 -75
- package/dist/templates/knowledge.template.js.map +0 -1
- package/dist/templates/migration.template.d.ts +0 -7
- package/dist/templates/migration.template.d.ts.map +0 -1
- package/dist/templates/migration.template.js +0 -62
- package/dist/templates/migration.template.js.map +0 -1
- package/dist/templates/operation.template.d.ts +0 -11
- package/dist/templates/operation.template.d.ts.map +0 -1
- package/dist/templates/operation.template.js +0 -107
- package/dist/templates/operation.template.js.map +0 -1
- package/dist/templates/presentation.template.d.ts +0 -11
- package/dist/templates/presentation.template.d.ts.map +0 -1
- package/dist/templates/presentation.template.js +0 -80
- package/dist/templates/presentation.template.js.map +0 -1
- package/dist/templates/telemetry.template.d.ts +0 -7
- package/dist/templates/telemetry.template.d.ts.map +0 -1
- package/dist/templates/telemetry.template.js +0 -91
- package/dist/templates/telemetry.template.js.map +0 -1
- package/dist/templates/workflow-runner.template.d.ts +0 -16
- package/dist/templates/workflow-runner.template.d.ts.map +0 -1
- package/dist/templates/workflow-runner.template.js +0 -50
- package/dist/templates/workflow-runner.template.js.map +0 -1
- package/dist/templates/workflow.template.d.ts +0 -7
- package/dist/templates/workflow.template.d.ts.map +0 -1
- package/dist/templates/workflow.template.js +0 -69
- package/dist/templates/workflow.template.js.map +0 -1
- package/dist/types/config.d.ts +0 -34
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types.d.ts +0 -324
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/module-loader.js +0 -41
- package/dist/utils/module-loader.js.map +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { detectPackageManager, findWorkspaceRoot } from "../../adapters/workspace.js";
|
|
2
|
-
|
|
3
|
-
//#region src/services/upgrade/upgrade-service.ts
|
|
4
|
-
const LATEST_SCHEMA_URL = `https://${process.env["CONTRACTSPEC_API_HOST"] ?? "api.contractspec.io"}/schemas/contractsrc.json`;
|
|
5
|
-
/**
|
|
6
|
-
* Analyze what upgrades are available.
|
|
7
|
-
*/
|
|
8
|
-
async function analyzeUpgrades(adapters, options) {
|
|
9
|
-
const { fs, logger } = adapters;
|
|
10
|
-
const workspaceRoot = findWorkspaceRoot(options.workspaceRoot);
|
|
11
|
-
const packageManager = detectPackageManager(workspaceRoot);
|
|
12
|
-
logger.info("Analyzing available upgrades...", {
|
|
13
|
-
workspaceRoot,
|
|
14
|
-
packageManager
|
|
15
|
-
});
|
|
16
|
-
const packages = await analyzePackages(fs, workspaceRoot);
|
|
17
|
-
const configUpgrades = await analyzeConfig(fs, workspaceRoot);
|
|
18
|
-
return {
|
|
19
|
-
packageManager,
|
|
20
|
-
packages,
|
|
21
|
-
configUpgrades,
|
|
22
|
-
hasUpgrades: packages.length > 0 || configUpgrades.length > 0
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Analyze installed packages for potential updates.
|
|
27
|
-
* Checks for all packages in the workspace that match ContractSpec patterns.
|
|
28
|
-
*/
|
|
29
|
-
async function analyzePackages(fs, workspaceRoot) {
|
|
30
|
-
const packageJsonPath = fs.join(workspaceRoot, "package.json");
|
|
31
|
-
if (!await fs.exists(packageJsonPath)) return [];
|
|
32
|
-
try {
|
|
33
|
-
const content = await fs.readFile(packageJsonPath);
|
|
34
|
-
const packageJson = JSON.parse(content);
|
|
35
|
-
const deps = packageJson.dependencies ?? {};
|
|
36
|
-
const devDeps = packageJson.devDependencies ?? {};
|
|
37
|
-
const packages = [];
|
|
38
|
-
const allDeps = {
|
|
39
|
-
...deps,
|
|
40
|
-
...devDeps
|
|
41
|
-
};
|
|
42
|
-
for (const [name, version] of Object.entries(allDeps)) if (name.startsWith("@contractspec/") || name === "contractspec" || name.startsWith("@lssm/")) packages.push({
|
|
43
|
-
name,
|
|
44
|
-
currentVersion: version,
|
|
45
|
-
isDevDependency: !!devDeps[name]
|
|
46
|
-
});
|
|
47
|
-
return packages;
|
|
48
|
-
} catch {
|
|
49
|
-
return [];
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Analyze configuration for upgrade opportunities.
|
|
54
|
-
*/
|
|
55
|
-
async function analyzeConfig(fs, workspaceRoot) {
|
|
56
|
-
const configPath = fs.join(workspaceRoot, ".contractsrc.json");
|
|
57
|
-
if (!await fs.exists(configPath)) return [];
|
|
58
|
-
try {
|
|
59
|
-
const content = await fs.readFile(configPath);
|
|
60
|
-
const config = JSON.parse(content);
|
|
61
|
-
const upgrades = [];
|
|
62
|
-
const currentSchema = config["$schema"];
|
|
63
|
-
if (!currentSchema || currentSchema !== LATEST_SCHEMA_URL) upgrades.push({
|
|
64
|
-
key: "$schema",
|
|
65
|
-
currentValue: currentSchema,
|
|
66
|
-
suggestedValue: LATEST_SCHEMA_URL,
|
|
67
|
-
isNew: !currentSchema
|
|
68
|
-
});
|
|
69
|
-
if (!config["versioning"]) upgrades.push({
|
|
70
|
-
key: "versioning",
|
|
71
|
-
currentValue: void 0,
|
|
72
|
-
suggestedValue: getDefaultVersioningConfig(),
|
|
73
|
-
isNew: true
|
|
74
|
-
});
|
|
75
|
-
else if (config["versioning"]["integrateWithChangesets"] === void 0) upgrades.push({
|
|
76
|
-
key: "versioning.integrateWithChangesets",
|
|
77
|
-
currentValue: void 0,
|
|
78
|
-
suggestedValue: false,
|
|
79
|
-
isNew: true
|
|
80
|
-
});
|
|
81
|
-
if (!config["hooks"]) upgrades.push({
|
|
82
|
-
key: "hooks",
|
|
83
|
-
currentValue: void 0,
|
|
84
|
-
suggestedValue: getDefaultHooksConfig(),
|
|
85
|
-
isNew: true
|
|
86
|
-
});
|
|
87
|
-
return upgrades;
|
|
88
|
-
} catch {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Apply configuration upgrades.
|
|
94
|
-
*
|
|
95
|
-
* Note: Package upgrades must be applied by the app layer (CLI, VSCode)
|
|
96
|
-
* since they require running npm/bun/yarn commands which is platform-specific.
|
|
97
|
-
*/
|
|
98
|
-
async function applyConfigUpgrades(adapters, options) {
|
|
99
|
-
const { fs, logger } = adapters;
|
|
100
|
-
const workspaceRoot = findWorkspaceRoot(options.workspaceRoot);
|
|
101
|
-
if (options.dryRun) logger.info("Dry run - no changes will be made");
|
|
102
|
-
const configPath = fs.join(workspaceRoot, ".contractsrc.json");
|
|
103
|
-
if (!await fs.exists(configPath)) return {
|
|
104
|
-
success: false,
|
|
105
|
-
packagesUpgraded: 0,
|
|
106
|
-
configSectionsUpgraded: 0,
|
|
107
|
-
error: "No .contractsrc.json found",
|
|
108
|
-
summary: "No configuration file to upgrade"
|
|
109
|
-
};
|
|
110
|
-
try {
|
|
111
|
-
const content = await fs.readFile(configPath);
|
|
112
|
-
const config = JSON.parse(content);
|
|
113
|
-
let sectionsUpgraded = 0;
|
|
114
|
-
const currentSchema = config["$schema"];
|
|
115
|
-
if (!currentSchema || currentSchema !== LATEST_SCHEMA_URL) {
|
|
116
|
-
config["$schema"] = LATEST_SCHEMA_URL;
|
|
117
|
-
sectionsUpgraded++;
|
|
118
|
-
}
|
|
119
|
-
if (!config["versioning"]) {
|
|
120
|
-
config["versioning"] = getDefaultVersioningConfig();
|
|
121
|
-
sectionsUpgraded++;
|
|
122
|
-
} else {
|
|
123
|
-
const versioning = config["versioning"];
|
|
124
|
-
if (versioning["integrateWithChangesets"] === void 0) {
|
|
125
|
-
versioning["integrateWithChangesets"] = false;
|
|
126
|
-
sectionsUpgraded++;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (!config["hooks"]) {
|
|
130
|
-
config["hooks"] = getDefaultHooksConfig();
|
|
131
|
-
sectionsUpgraded++;
|
|
132
|
-
}
|
|
133
|
-
if (sectionsUpgraded === 0) return {
|
|
134
|
-
success: true,
|
|
135
|
-
packagesUpgraded: 0,
|
|
136
|
-
configSectionsUpgraded: 0,
|
|
137
|
-
summary: "Configuration is already up to date"
|
|
138
|
-
};
|
|
139
|
-
if (!options.dryRun) {
|
|
140
|
-
await fs.writeFile(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
141
|
-
logger.info("Configuration upgraded", { sectionsUpgraded });
|
|
142
|
-
}
|
|
143
|
-
return {
|
|
144
|
-
success: true,
|
|
145
|
-
packagesUpgraded: 0,
|
|
146
|
-
configSectionsUpgraded: sectionsUpgraded,
|
|
147
|
-
summary: options.dryRun ? `Would upgrade ${sectionsUpgraded} config section(s)` : `Upgraded ${sectionsUpgraded} config section(s)`
|
|
148
|
-
};
|
|
149
|
-
} catch (error) {
|
|
150
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
151
|
-
return {
|
|
152
|
-
success: false,
|
|
153
|
-
packagesUpgraded: 0,
|
|
154
|
-
configSectionsUpgraded: 0,
|
|
155
|
-
error: msg,
|
|
156
|
-
summary: `Failed to upgrade config: ${msg}`
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Get the command to upgrade packages.
|
|
162
|
-
*
|
|
163
|
-
* Returns the shell command string that the app layer should execute.
|
|
164
|
-
*/
|
|
165
|
-
function getPackageUpgradeCommand(packageManager, packages, useLatest) {
|
|
166
|
-
const pkgList = useLatest ? packages.map((p) => `${p.name}@latest`).join(" ") : packages.map((p) => p.name).join(" ");
|
|
167
|
-
switch (packageManager) {
|
|
168
|
-
case "bun": return `bun add ${pkgList}`;
|
|
169
|
-
case "pnpm": return `pnpm add ${pkgList}`;
|
|
170
|
-
case "yarn": return `yarn add ${pkgList}`;
|
|
171
|
-
default: return `npm install ${pkgList}`;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Get default versioning configuration.
|
|
176
|
-
*/
|
|
177
|
-
function getDefaultVersioningConfig() {
|
|
178
|
-
return {
|
|
179
|
-
autoBump: false,
|
|
180
|
-
bumpStrategy: "impact",
|
|
181
|
-
changelogTiers: [
|
|
182
|
-
"spec",
|
|
183
|
-
"library",
|
|
184
|
-
"monorepo"
|
|
185
|
-
],
|
|
186
|
-
format: "keep-a-changelog",
|
|
187
|
-
commitChanges: false,
|
|
188
|
-
createTags: false,
|
|
189
|
-
integrateWithChangesets: true
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Get default hooks configuration.
|
|
194
|
-
*/
|
|
195
|
-
function getDefaultHooksConfig() {
|
|
196
|
-
return { "pre-commit": ["contractspec validate", "contractspec integrity check"] };
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
//#endregion
|
|
200
|
-
export { analyzeUpgrades, applyConfigUpgrades, getDefaultHooksConfig, getDefaultVersioningConfig, getPackageUpgradeCommand };
|
|
201
|
-
//# sourceMappingURL=upgrade-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-service.js","names":["packages: PackageUpgradeInfo[]","upgrades: ConfigUpgradeInfo[]"],"sources":["../../../src/services/upgrade/upgrade-service.ts"],"sourcesContent":["/**\n * Upgrade service.\n *\n * Analyzes and applies upgrades to ContractSpec SDK packages and configuration.\n * This service is platform-agnostic and can be used by CLI, VSCode, or other apps.\n *\n * @module services/upgrade\n */\n\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\nimport {\n detectPackageManager,\n findWorkspaceRoot,\n} from '../../adapters/workspace';\nimport type {\n UpgradeOptions,\n UpgradeAnalysisResult,\n UpgradeApplyResult,\n PackageUpgradeInfo,\n ConfigUpgradeInfo,\n} from './types';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Constants\n// ─────────────────────────────────────────────────────────────────────────────\n\n/** Latest schema URL. */\nconst API_HOST = process.env['CONTRACTSPEC_API_HOST'] ?? 'api.contractspec.io';\nconst LATEST_SCHEMA_URL = `https://${API_HOST}/schemas/contractsrc.json`;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Adapters Type\n// ─────────────────────────────────────────────────────────────────────────────\n\ninterface ServiceAdapters {\n fs: FsAdapter;\n logger: LoggerAdapter;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Analysis\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Analyze what upgrades are available.\n */\nexport async function analyzeUpgrades(\n adapters: ServiceAdapters,\n options: UpgradeOptions\n): Promise<UpgradeAnalysisResult> {\n const { fs, logger } = adapters;\n const workspaceRoot = findWorkspaceRoot(options.workspaceRoot);\n const packageManager = detectPackageManager(workspaceRoot);\n\n logger.info('Analyzing available upgrades...', {\n workspaceRoot,\n packageManager,\n });\n\n const packages = await analyzePackages(fs, workspaceRoot);\n const configUpgrades = await analyzeConfig(fs, workspaceRoot);\n\n const hasUpgrades = packages.length > 0 || configUpgrades.length > 0;\n\n return {\n packageManager,\n packages,\n configUpgrades,\n hasUpgrades,\n };\n}\n\n/**\n * Analyze installed packages for potential updates.\n * Checks for all packages in the workspace that match ContractSpec patterns.\n */\nasync function analyzePackages(\n fs: FsAdapter,\n workspaceRoot: string\n): Promise<PackageUpgradeInfo[]> {\n const packageJsonPath = fs.join(workspaceRoot, 'package.json');\n\n if (!(await fs.exists(packageJsonPath))) {\n return [];\n }\n\n try {\n const content = await fs.readFile(packageJsonPath);\n const packageJson = JSON.parse(content) as {\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n };\n\n const deps = packageJson.dependencies ?? {};\n const devDeps = packageJson.devDependencies ?? {};\n\n const packages: PackageUpgradeInfo[] = [];\n const allDeps = { ...deps, ...devDeps };\n\n for (const [name, version] of Object.entries(allDeps)) {\n // Check for ContractSpec related packages\n // Matches @contractspec/*, contractspec, @lssm/* (if internal)\n if (\n name.startsWith('@contractspec/') ||\n name === 'contractspec' ||\n name.startsWith('@lssm/')\n ) {\n packages.push({\n name,\n currentVersion: version,\n isDevDependency: !!devDeps[name],\n });\n }\n }\n\n return packages;\n } catch {\n return [];\n }\n}\n\n/**\n * Analyze configuration for upgrade opportunities.\n */\nasync function analyzeConfig(\n fs: FsAdapter,\n workspaceRoot: string\n): Promise<ConfigUpgradeInfo[]> {\n const configPath = fs.join(workspaceRoot, '.contractsrc.json');\n\n if (!(await fs.exists(configPath))) {\n return [];\n }\n\n try {\n const content = await fs.readFile(configPath);\n const config = JSON.parse(content) as Record<string, unknown>;\n\n const upgrades: ConfigUpgradeInfo[] = [];\n\n // Check $schema\n const currentSchema = config['$schema'] as string | undefined;\n if (!currentSchema || currentSchema !== LATEST_SCHEMA_URL) {\n upgrades.push({\n key: '$schema',\n currentValue: currentSchema,\n suggestedValue: LATEST_SCHEMA_URL,\n isNew: !currentSchema,\n });\n }\n\n // Check versioning\n if (!config['versioning']) {\n upgrades.push({\n key: 'versioning',\n currentValue: undefined,\n suggestedValue: getDefaultVersioningConfig(),\n isNew: true,\n });\n } else {\n const versioning = config['versioning'] as Record<string, unknown>;\n if (versioning['integrateWithChangesets'] === undefined) {\n upgrades.push({\n key: 'versioning.integrateWithChangesets',\n currentValue: undefined,\n suggestedValue: false,\n isNew: true,\n });\n }\n }\n\n // Check hooks\n if (!config['hooks']) {\n upgrades.push({\n key: 'hooks',\n currentValue: undefined,\n suggestedValue: getDefaultHooksConfig(),\n isNew: true,\n });\n }\n\n return upgrades;\n } catch {\n return [];\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Apply Upgrades\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Apply configuration upgrades.\n *\n * Note: Package upgrades must be applied by the app layer (CLI, VSCode)\n * since they require running npm/bun/yarn commands which is platform-specific.\n */\nexport async function applyConfigUpgrades(\n adapters: ServiceAdapters,\n options: UpgradeOptions\n): Promise<UpgradeApplyResult> {\n const { fs, logger } = adapters;\n const workspaceRoot = findWorkspaceRoot(options.workspaceRoot);\n\n if (options.dryRun) {\n logger.info('Dry run - no changes will be made');\n }\n\n const configPath = fs.join(workspaceRoot, '.contractsrc.json');\n\n if (!(await fs.exists(configPath))) {\n return {\n success: false,\n packagesUpgraded: 0,\n configSectionsUpgraded: 0,\n error: 'No .contractsrc.json found',\n summary: 'No configuration file to upgrade',\n };\n }\n\n try {\n const content = await fs.readFile(configPath);\n const config = JSON.parse(content) as Record<string, unknown>;\n\n let sectionsUpgraded = 0;\n\n // Update $schema\n const currentSchema = config['$schema'] as string | undefined;\n if (!currentSchema || currentSchema !== LATEST_SCHEMA_URL) {\n config['$schema'] = LATEST_SCHEMA_URL;\n sectionsUpgraded++;\n }\n\n // Add versioning if missing\n if (!config['versioning']) {\n config['versioning'] = getDefaultVersioningConfig();\n sectionsUpgraded++;\n } else {\n const versioning = config['versioning'] as Record<string, unknown>;\n if (versioning['integrateWithChangesets'] === undefined) {\n versioning['integrateWithChangesets'] = false;\n sectionsUpgraded++;\n }\n }\n\n // Add hooks if missing\n if (!config['hooks']) {\n config['hooks'] = getDefaultHooksConfig();\n sectionsUpgraded++;\n }\n\n if (sectionsUpgraded === 0) {\n return {\n success: true,\n packagesUpgraded: 0,\n configSectionsUpgraded: 0,\n summary: 'Configuration is already up to date',\n };\n }\n\n if (!options.dryRun) {\n await fs.writeFile(configPath, JSON.stringify(config, null, 2) + '\\n');\n logger.info('Configuration upgraded', { sectionsUpgraded });\n }\n\n return {\n success: true,\n packagesUpgraded: 0,\n configSectionsUpgraded: sectionsUpgraded,\n summary: options.dryRun\n ? `Would upgrade ${sectionsUpgraded} config section(s)`\n : `Upgraded ${sectionsUpgraded} config section(s)`,\n };\n } catch (error) {\n const msg = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n packagesUpgraded: 0,\n configSectionsUpgraded: 0,\n error: msg,\n summary: `Failed to upgrade config: ${msg}`,\n };\n }\n}\n\n/**\n * Get the command to upgrade packages.\n *\n * Returns the shell command string that the app layer should execute.\n */\nexport function getPackageUpgradeCommand(\n packageManager: string,\n packages: PackageUpgradeInfo[],\n useLatest: boolean\n): string {\n const pkgList = useLatest\n ? packages.map((p) => `${p.name}@latest`).join(' ')\n : packages.map((p) => p.name).join(' ');\n\n switch (packageManager) {\n case 'bun':\n return `bun add ${pkgList}`;\n case 'pnpm':\n return `pnpm add ${pkgList}`;\n case 'yarn':\n return `yarn add ${pkgList}`;\n default:\n return `npm install ${pkgList}`;\n }\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default Configs\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Get default versioning configuration.\n */\nexport function getDefaultVersioningConfig(): Record<string, unknown> {\n return {\n autoBump: false,\n bumpStrategy: 'impact',\n changelogTiers: ['spec', 'library', 'monorepo'],\n format: 'keep-a-changelog',\n commitChanges: false,\n createTags: false,\n integrateWithChangesets: true,\n };\n}\n\n/**\n * Get default hooks configuration.\n */\nexport function getDefaultHooksConfig(): Record<string, string[]> {\n return {\n 'pre-commit': ['contractspec validate', 'contractspec integrity check'],\n };\n}\n"],"mappings":";;;AA6BA,MAAM,oBAAoB,WADT,QAAQ,IAAI,4BAA4B,sBACX;;;;AAkB9C,eAAsB,gBACpB,UACA,SACgC;CAChC,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,gBAAgB,kBAAkB,QAAQ,cAAc;CAC9D,MAAM,iBAAiB,qBAAqB,cAAc;AAE1D,QAAO,KAAK,mCAAmC;EAC7C;EACA;EACD,CAAC;CAEF,MAAM,WAAW,MAAM,gBAAgB,IAAI,cAAc;CACzD,MAAM,iBAAiB,MAAM,cAAc,IAAI,cAAc;AAI7D,QAAO;EACL;EACA;EACA;EACA,aANkB,SAAS,SAAS,KAAK,eAAe,SAAS;EAOlE;;;;;;AAOH,eAAe,gBACb,IACA,eAC+B;CAC/B,MAAM,kBAAkB,GAAG,KAAK,eAAe,eAAe;AAE9D,KAAI,CAAE,MAAM,GAAG,OAAO,gBAAgB,CACpC,QAAO,EAAE;AAGX,KAAI;EACF,MAAM,UAAU,MAAM,GAAG,SAAS,gBAAgB;EAClD,MAAM,cAAc,KAAK,MAAM,QAAQ;EAKvC,MAAM,OAAO,YAAY,gBAAgB,EAAE;EAC3C,MAAM,UAAU,YAAY,mBAAmB,EAAE;EAEjD,MAAMA,WAAiC,EAAE;EACzC,MAAM,UAAU;GAAE,GAAG;GAAM,GAAG;GAAS;AAEvC,OAAK,MAAM,CAAC,MAAM,YAAY,OAAO,QAAQ,QAAQ,CAGnD,KACE,KAAK,WAAW,iBAAiB,IACjC,SAAS,kBACT,KAAK,WAAW,SAAS,CAEzB,UAAS,KAAK;GACZ;GACA,gBAAgB;GAChB,iBAAiB,CAAC,CAAC,QAAQ;GAC5B,CAAC;AAIN,SAAO;SACD;AACN,SAAO,EAAE;;;;;;AAOb,eAAe,cACb,IACA,eAC8B;CAC9B,MAAM,aAAa,GAAG,KAAK,eAAe,oBAAoB;AAE9D,KAAI,CAAE,MAAM,GAAG,OAAO,WAAW,CAC/B,QAAO,EAAE;AAGX,KAAI;EACF,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW;EAC7C,MAAM,SAAS,KAAK,MAAM,QAAQ;EAElC,MAAMC,WAAgC,EAAE;EAGxC,MAAM,gBAAgB,OAAO;AAC7B,MAAI,CAAC,iBAAiB,kBAAkB,kBACtC,UAAS,KAAK;GACZ,KAAK;GACL,cAAc;GACd,gBAAgB;GAChB,OAAO,CAAC;GACT,CAAC;AAIJ,MAAI,CAAC,OAAO,cACV,UAAS,KAAK;GACZ,KAAK;GACL,cAAc;GACd,gBAAgB,4BAA4B;GAC5C,OAAO;GACR,CAAC;WAEiB,OAAO,cACX,+BAA+B,OAC5C,UAAS,KAAK;GACZ,KAAK;GACL,cAAc;GACd,gBAAgB;GAChB,OAAO;GACR,CAAC;AAKN,MAAI,CAAC,OAAO,SACV,UAAS,KAAK;GACZ,KAAK;GACL,cAAc;GACd,gBAAgB,uBAAuB;GACvC,OAAO;GACR,CAAC;AAGJ,SAAO;SACD;AACN,SAAO,EAAE;;;;;;;;;AAcb,eAAsB,oBACpB,UACA,SAC6B;CAC7B,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,gBAAgB,kBAAkB,QAAQ,cAAc;AAE9D,KAAI,QAAQ,OACV,QAAO,KAAK,oCAAoC;CAGlD,MAAM,aAAa,GAAG,KAAK,eAAe,oBAAoB;AAE9D,KAAI,CAAE,MAAM,GAAG,OAAO,WAAW,CAC/B,QAAO;EACL,SAAS;EACT,kBAAkB;EAClB,wBAAwB;EACxB,OAAO;EACP,SAAS;EACV;AAGH,KAAI;EACF,MAAM,UAAU,MAAM,GAAG,SAAS,WAAW;EAC7C,MAAM,SAAS,KAAK,MAAM,QAAQ;EAElC,IAAI,mBAAmB;EAGvB,MAAM,gBAAgB,OAAO;AAC7B,MAAI,CAAC,iBAAiB,kBAAkB,mBAAmB;AACzD,UAAO,aAAa;AACpB;;AAIF,MAAI,CAAC,OAAO,eAAe;AACzB,UAAO,gBAAgB,4BAA4B;AACnD;SACK;GACL,MAAM,aAAa,OAAO;AAC1B,OAAI,WAAW,+BAA+B,QAAW;AACvD,eAAW,6BAA6B;AACxC;;;AAKJ,MAAI,CAAC,OAAO,UAAU;AACpB,UAAO,WAAW,uBAAuB;AACzC;;AAGF,MAAI,qBAAqB,EACvB,QAAO;GACL,SAAS;GACT,kBAAkB;GAClB,wBAAwB;GACxB,SAAS;GACV;AAGH,MAAI,CAAC,QAAQ,QAAQ;AACnB,SAAM,GAAG,UAAU,YAAY,KAAK,UAAU,QAAQ,MAAM,EAAE,GAAG,KAAK;AACtE,UAAO,KAAK,0BAA0B,EAAE,kBAAkB,CAAC;;AAG7D,SAAO;GACL,SAAS;GACT,kBAAkB;GAClB,wBAAwB;GACxB,SAAS,QAAQ,SACb,iBAAiB,iBAAiB,sBAClC,YAAY,iBAAiB;GAClC;UACM,OAAO;EACd,MAAM,MAAM,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAClE,SAAO;GACL,SAAS;GACT,kBAAkB;GAClB,wBAAwB;GACxB,OAAO;GACP,SAAS,6BAA6B;GACvC;;;;;;;;AASL,SAAgB,yBACd,gBACA,UACA,WACQ;CACR,MAAM,UAAU,YACZ,SAAS,KAAK,MAAM,GAAG,EAAE,KAAK,SAAS,CAAC,KAAK,IAAI,GACjD,SAAS,KAAK,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI;AAEzC,SAAQ,gBAAR;EACE,KAAK,MACH,QAAO,WAAW;EACpB,KAAK,OACH,QAAO,YAAY;EACrB,KAAK,OACH,QAAO,YAAY;EACrB,QACE,QAAO,eAAe;;;;;;AAW5B,SAAgB,6BAAsD;AACpE,QAAO;EACL,UAAU;EACV,cAAc;EACd,gBAAgB;GAAC;GAAQ;GAAW;GAAW;EAC/C,QAAQ;EACR,eAAe;EACf,YAAY;EACZ,yBAAyB;EAC1B;;;;;AAMH,SAAgB,wBAAkD;AAChE,QAAO,EACL,cAAc,CAAC,yBAAyB,+BAA+B,EACxE"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { AppBlueprintSpec, validateBlueprint } from "@contractspec/lib.contracts";
|
|
3
|
-
|
|
4
|
-
//#region src/services/validate/blueprint-validator.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Result of blueprint validation.
|
|
8
|
-
*/
|
|
9
|
-
interface BlueprintValidationResult {
|
|
10
|
-
spec?: AppBlueprintSpec;
|
|
11
|
-
report?: ReturnType<typeof validateBlueprint>;
|
|
12
|
-
valid: boolean;
|
|
13
|
-
errors: string[];
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Validate a blueprint spec file.
|
|
17
|
-
*/
|
|
18
|
-
declare function validateBlueprint$1(blueprintPath: string, adapters: {
|
|
19
|
-
fs: FsAdapter;
|
|
20
|
-
}): Promise<BlueprintValidationResult>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { BlueprintValidationResult, validateBlueprint$1 as validateBlueprint };
|
|
23
|
-
//# sourceMappingURL=blueprint-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blueprint-validator.d.ts","names":[],"sources":["../../../src/services/validate/blueprint-validator.ts"],"sourcesContent":[],"mappings":";;;;;;;AAWA;AACS,UADQ,yBAAA,CACR;EACoB,IAAA,CAAA,EADpB,gBACoB;EAAlB,MAAA,CAAA,EAAA,UAAA,CAAA,OAAkB,iBAAlB,CAAA;EAAU,KAAA,EAAA,OAAA;EAQC,MAAA,EAAA,MAAA,EAAA;;;;;iBAAA,mBAAA;MAEJ;IACf,QAAQ"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { resolve } from "path";
|
|
2
|
-
import { pathToFileURL } from "url";
|
|
3
|
-
import { validateBlueprint } from "@contractspec/lib.contracts";
|
|
4
|
-
|
|
5
|
-
//#region src/services/validate/blueprint-validator.ts
|
|
6
|
-
/**
|
|
7
|
-
* Validate a blueprint spec file.
|
|
8
|
-
*/
|
|
9
|
-
async function validateBlueprint$1(blueprintPath, adapters) {
|
|
10
|
-
const { fs } = adapters;
|
|
11
|
-
const resolvedPath = resolve(process.cwd(), blueprintPath);
|
|
12
|
-
if (!await fs.exists(resolvedPath)) return {
|
|
13
|
-
valid: false,
|
|
14
|
-
errors: [`Blueprint file not found: ${resolvedPath}`]
|
|
15
|
-
};
|
|
16
|
-
try {
|
|
17
|
-
const spec = extractBlueprintSpec(await loadModule(resolvedPath));
|
|
18
|
-
const report = validateBlueprint(spec);
|
|
19
|
-
return {
|
|
20
|
-
spec,
|
|
21
|
-
report,
|
|
22
|
-
valid: report.valid,
|
|
23
|
-
errors: report.errors.map((e) => `[${e.code}] ${e.path}: ${e.message}`)
|
|
24
|
-
};
|
|
25
|
-
} catch (error) {
|
|
26
|
-
return {
|
|
27
|
-
valid: false,
|
|
28
|
-
errors: [error instanceof Error ? error.message : String(error)]
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async function loadModule(modulePath) {
|
|
33
|
-
try {
|
|
34
|
-
return await import(pathToFileURL(modulePath).href);
|
|
35
|
-
} catch (error) {
|
|
36
|
-
throw new Error(`Failed to load module at ${modulePath}: ${error}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
function extractBlueprintSpec(mod) {
|
|
40
|
-
const candidates = Object.values(mod).filter(isBlueprintSpec);
|
|
41
|
-
if (candidates.length === 0) throw new Error("Blueprint module does not export an AppBlueprintSpec.");
|
|
42
|
-
return candidates[0];
|
|
43
|
-
}
|
|
44
|
-
function isBlueprintSpec(value) {
|
|
45
|
-
return typeof value === "object" && value !== null && "meta" in value && typeof value.meta?.key === "string" && typeof value.meta?.version === "string";
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { validateBlueprint$1 as validateBlueprint };
|
|
50
|
-
//# sourceMappingURL=blueprint-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blueprint-validator.js","names":["validateBlueprint","validateBlueprintSpec"],"sources":["../../../src/services/validate/blueprint-validator.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { pathToFileURL } from 'url';\nimport {\n validateBlueprint as validateBlueprintSpec,\n type AppBlueprintSpec,\n} from '@contractspec/lib.contracts';\nimport type { FsAdapter } from '../../ports/fs';\n\n/**\n * Result of blueprint validation.\n */\nexport interface BlueprintValidationResult {\n spec?: AppBlueprintSpec;\n report?: ReturnType<typeof validateBlueprintSpec>;\n valid: boolean;\n errors: string[];\n}\n\n/**\n * Validate a blueprint spec file.\n */\nexport async function validateBlueprint(\n blueprintPath: string,\n adapters: { fs: FsAdapter }\n): Promise<BlueprintValidationResult> {\n const { fs } = adapters;\n const resolvedPath = resolve(process.cwd(), blueprintPath);\n\n if (!(await fs.exists(resolvedPath))) {\n return {\n valid: false,\n errors: [`Blueprint file not found: ${resolvedPath}`],\n };\n }\n\n try {\n const mod = await loadModule(resolvedPath);\n const spec = extractBlueprintSpec(mod);\n const report = validateBlueprintSpec(spec);\n\n return {\n spec,\n report,\n valid: report.valid,\n errors: report.errors.map((e) => `[${e.code}] ${e.path}: ${e.message}`),\n };\n } catch (error) {\n return {\n valid: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n}\n\nasync function loadModule(\n modulePath: string\n): Promise<Record<string, unknown>> {\n try {\n const url = pathToFileURL(modulePath).href;\n // Using native import which works with Bun and Node (if configured)\n const mod = await import(url);\n return mod;\n } catch (error) {\n throw new Error(`Failed to load module at ${modulePath}: ${error}`);\n }\n}\n\nfunction extractBlueprintSpec(mod: Record<string, unknown>): AppBlueprintSpec {\n const candidates = Object.values(mod).filter(isBlueprintSpec);\n if (candidates.length === 0) {\n throw new Error('Blueprint module does not export an AppBlueprintSpec.');\n }\n return candidates[0] as AppBlueprintSpec;\n}\n\nfunction isBlueprintSpec(value: unknown): value is AppBlueprintSpec {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'meta' in value &&\n typeof (value as AppBlueprintSpec).meta?.key === 'string' &&\n typeof (value as AppBlueprintSpec).meta?.version === 'string'\n );\n}\n"],"mappings":";;;;;;;;AAqBA,eAAsBA,oBACpB,eACA,UACoC;CACpC,MAAM,EAAE,OAAO;CACf,MAAM,eAAe,QAAQ,QAAQ,KAAK,EAAE,cAAc;AAE1D,KAAI,CAAE,MAAM,GAAG,OAAO,aAAa,CACjC,QAAO;EACL,OAAO;EACP,QAAQ,CAAC,6BAA6B,eAAe;EACtD;AAGH,KAAI;EAEF,MAAM,OAAO,qBADD,MAAM,WAAW,aAAa,CACJ;EACtC,MAAM,SAASC,kBAAsB,KAAK;AAE1C,SAAO;GACL;GACA;GACA,OAAO,OAAO;GACd,QAAQ,OAAO,OAAO,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU;GACxE;UACM,OAAO;AACd,SAAO;GACL,OAAO;GACP,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;GACjE;;;AAIL,eAAe,WACb,YACkC;AAClC,KAAI;AAIF,SADY,MAAM,OAFN,cAAc,WAAW,CAAC;UAI/B,OAAO;AACd,QAAM,IAAI,MAAM,4BAA4B,WAAW,IAAI,QAAQ;;;AAIvE,SAAS,qBAAqB,KAAgD;CAC5E,MAAM,aAAa,OAAO,OAAO,IAAI,CAAC,OAAO,gBAAgB;AAC7D,KAAI,WAAW,WAAW,EACxB,OAAM,IAAI,MAAM,wDAAwD;AAE1E,QAAO,WAAW;;AAGpB,SAAS,gBAAgB,OAA2C;AAClE,QACE,OAAO,UAAU,YACjB,UAAU,QACV,UAAU,SACV,OAAQ,MAA2B,MAAM,QAAQ,YACjD,OAAQ,MAA2B,MAAM,YAAY"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { Config } from "../../types/config.js";
|
|
3
|
-
|
|
4
|
-
//#region src/services/validate/implementation-agent-validator.d.ts
|
|
5
|
-
interface ImplementationValidatorOptions {
|
|
6
|
-
implementationPath?: string;
|
|
7
|
-
}
|
|
8
|
-
interface ImplementationValidationResult {
|
|
9
|
-
success: boolean;
|
|
10
|
-
errors: string[];
|
|
11
|
-
warnings: string[];
|
|
12
|
-
suggestions: string[];
|
|
13
|
-
report?: string;
|
|
14
|
-
}
|
|
15
|
-
declare function validateImplementationWithAgent(specFile: string, specCode: string, config: Config, options: ImplementationValidatorOptions, adapters: {
|
|
16
|
-
fs: FsAdapter;
|
|
17
|
-
}): Promise<ImplementationValidationResult>;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { ImplementationValidationResult, ImplementationValidatorOptions, validateImplementationWithAgent };
|
|
20
|
-
//# sourceMappingURL=implementation-agent-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-agent-validator.d.ts","names":[],"sources":["../../../src/services/validate/implementation-agent-validator.ts"],"sourcesContent":[],"mappings":";;;;UAKiB,8BAAA;;AAAjB;AAIiB,UAAA,8BAAA,CAA8B;EAQzB,OAAA,EAAA,OAAA;EAGZ,MAAA,EAAA,MAAA,EAAA;EACC,QAAA,EAAA,MAAA,EAAA;EACO,WAAA,EAAA,MAAA,EAAA;EACP,MAAA,CAAA,EAAA,MAAA;;AAAD,iBANY,+BAAA,CAMZ,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAHA,MAGA,EAAA,OAAA,EAFC,8BAED,EAAA,QAAA,EAAA;MADQ;IACf,QAAQ"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { AgentOrchestrator } from "../../ai/agents/orchestrator.js";
|
|
2
|
-
import { basename, dirname, join } from "path";
|
|
3
|
-
|
|
4
|
-
//#region src/services/validate/implementation-agent-validator.ts
|
|
5
|
-
async function validateImplementationWithAgent(specFile, specCode, config, options, adapters) {
|
|
6
|
-
const { fs } = adapters;
|
|
7
|
-
let implementationPath = options.implementationPath;
|
|
8
|
-
if (!implementationPath) {
|
|
9
|
-
const specDir = dirname(specFile);
|
|
10
|
-
const specBaseName = basename(specFile, ".ts");
|
|
11
|
-
const possiblePaths = [
|
|
12
|
-
join(specDir, specBaseName.replace(".contracts", ".handler") + ".ts"),
|
|
13
|
-
join(specDir, specBaseName.replace(".presentation", "") + ".tsx"),
|
|
14
|
-
join(specDir, specBaseName.replace(".form", ".form") + ".tsx"),
|
|
15
|
-
join(dirname(specDir), "handlers", specBaseName.replace(".contracts", ".handler") + ".ts"),
|
|
16
|
-
join(dirname(specDir), "components", specBaseName.replace(".presentation", "") + ".tsx")
|
|
17
|
-
];
|
|
18
|
-
for (const path of possiblePaths) if (await fs.exists(path)) {
|
|
19
|
-
implementationPath = path;
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (!implementationPath || !await fs.exists(implementationPath)) return {
|
|
24
|
-
success: true,
|
|
25
|
-
errors: [],
|
|
26
|
-
warnings: ["Implementation file not found. Specify with --implementation-path"],
|
|
27
|
-
suggestions: []
|
|
28
|
-
};
|
|
29
|
-
const implementationCode = await fs.readFile(implementationPath);
|
|
30
|
-
const result = await new AgentOrchestrator(config).validate(specCode, implementationCode);
|
|
31
|
-
return {
|
|
32
|
-
success: result.success,
|
|
33
|
-
errors: result.errors || [],
|
|
34
|
-
warnings: result.warnings || [],
|
|
35
|
-
suggestions: result.suggestions || [],
|
|
36
|
-
report: result.code
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
export { validateImplementationWithAgent };
|
|
42
|
-
//# sourceMappingURL=implementation-agent-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-agent-validator.js","names":[],"sources":["../../../src/services/validate/implementation-agent-validator.ts"],"sourcesContent":["import type { FsAdapter } from '../../ports/fs';\nimport { dirname, basename, join } from 'path';\nimport { AgentOrchestrator } from '../../ai/agents/orchestrator';\nimport type { Config } from '../../types/config';\n\nexport interface ImplementationValidatorOptions {\n implementationPath?: string;\n}\n\nexport interface ImplementationValidationResult {\n success: boolean;\n errors: string[];\n warnings: string[];\n suggestions: string[];\n report?: string;\n}\n\nexport async function validateImplementationWithAgent(\n specFile: string,\n specCode: string,\n config: Config,\n options: ImplementationValidatorOptions,\n adapters: { fs: FsAdapter }\n): Promise<ImplementationValidationResult> {\n const { fs } = adapters;\n\n // Find implementation file\n let implementationPath = options.implementationPath;\n\n if (!implementationPath) {\n // Try to infer from spec file path\n const specDir = dirname(specFile);\n const specBaseName = basename(specFile, '.ts');\n\n // Try common patterns\n const possiblePaths = [\n join(specDir, specBaseName.replace('.contracts', '.handler') + '.ts'),\n join(specDir, specBaseName.replace('.presentation', '') + '.tsx'),\n join(specDir, specBaseName.replace('.form', '.form') + '.tsx'),\n join(\n dirname(specDir),\n 'handlers',\n specBaseName.replace('.contracts', '.handler') + '.ts'\n ),\n join(\n dirname(specDir),\n 'components',\n specBaseName.replace('.presentation', '') + '.tsx'\n ),\n ];\n\n for (const path of possiblePaths) {\n if (await fs.exists(path)) {\n implementationPath = path;\n break;\n }\n }\n }\n\n if (!implementationPath || !(await fs.exists(implementationPath))) {\n return {\n success: true, // Not an error if file not found, just nothing to validate\n errors: [],\n warnings: [\n 'Implementation file not found. Specify with --implementation-path',\n ],\n suggestions: [],\n };\n }\n\n const implementationCode = await fs.readFile(implementationPath);\n\n // Use agent orchestrator to validate\n const orchestrator = new AgentOrchestrator(config);\n const result = await orchestrator.validate(specCode, implementationCode);\n\n return {\n success: result.success,\n errors: result.errors || [],\n warnings: result.warnings || [],\n suggestions: result.suggestions || [],\n report: result.code,\n };\n}\n"],"mappings":";;;;AAiBA,eAAsB,gCACpB,UACA,UACA,QACA,SACA,UACyC;CACzC,MAAM,EAAE,OAAO;CAGf,IAAI,qBAAqB,QAAQ;AAEjC,KAAI,CAAC,oBAAoB;EAEvB,MAAM,UAAU,QAAQ,SAAS;EACjC,MAAM,eAAe,SAAS,UAAU,MAAM;EAG9C,MAAM,gBAAgB;GACpB,KAAK,SAAS,aAAa,QAAQ,cAAc,WAAW,GAAG,MAAM;GACrE,KAAK,SAAS,aAAa,QAAQ,iBAAiB,GAAG,GAAG,OAAO;GACjE,KAAK,SAAS,aAAa,QAAQ,SAAS,QAAQ,GAAG,OAAO;GAC9D,KACE,QAAQ,QAAQ,EAChB,YACA,aAAa,QAAQ,cAAc,WAAW,GAAG,MAClD;GACD,KACE,QAAQ,QAAQ,EAChB,cACA,aAAa,QAAQ,iBAAiB,GAAG,GAAG,OAC7C;GACF;AAED,OAAK,MAAM,QAAQ,cACjB,KAAI,MAAM,GAAG,OAAO,KAAK,EAAE;AACzB,wBAAqB;AACrB;;;AAKN,KAAI,CAAC,sBAAsB,CAAE,MAAM,GAAG,OAAO,mBAAmB,CAC9D,QAAO;EACL,SAAS;EACT,QAAQ,EAAE;EACV,UAAU,CACR,oEACD;EACD,aAAa,EAAE;EAChB;CAGH,MAAM,qBAAqB,MAAM,GAAG,SAAS,mBAAmB;CAIhE,MAAM,SAAS,MADM,IAAI,kBAAkB,OAAO,CAChB,SAAS,UAAU,mBAAmB;AAExE,QAAO;EACL,SAAS,OAAO;EAChB,QAAQ,OAAO,UAAU,EAAE;EAC3B,UAAU,OAAO,YAAY,EAAE;EAC/B,aAAa,OAAO,eAAe,EAAE;EACrC,QAAQ,OAAO;EAChB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { WorkspaceConfig } from "@contractspec/module.workspace";
|
|
3
|
-
|
|
4
|
-
//#region src/services/validate/implementation-validator.d.ts
|
|
5
|
-
|
|
6
|
-
interface ValidateImplementationOptions {
|
|
7
|
-
checkHandlers?: boolean;
|
|
8
|
-
checkTests?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Override workspace outputDir (defaults to config.outputDir).
|
|
11
|
-
*/
|
|
12
|
-
outputDir?: string;
|
|
13
|
-
}
|
|
14
|
-
interface ValidateImplementationResult {
|
|
15
|
-
valid: boolean;
|
|
16
|
-
errors: string[];
|
|
17
|
-
warnings: string[];
|
|
18
|
-
expected: {
|
|
19
|
-
handlerPath?: string;
|
|
20
|
-
handlerTestPath?: string;
|
|
21
|
-
componentPath?: string;
|
|
22
|
-
componentTestPath?: string;
|
|
23
|
-
formPath?: string;
|
|
24
|
-
formTestPath?: string;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
declare function validateImplementationFiles(specFile: string, adapters: {
|
|
28
|
-
fs: FsAdapter;
|
|
29
|
-
}, config: WorkspaceConfig, options?: ValidateImplementationOptions): Promise<ValidateImplementationResult>;
|
|
30
|
-
//#endregion
|
|
31
|
-
export { ValidateImplementationOptions, ValidateImplementationResult, validateImplementationFiles };
|
|
32
|
-
//# sourceMappingURL=implementation-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-validator.d.ts","names":[],"sources":["../../../src/services/validate/implementation-validator.ts"],"sourcesContent":[],"mappings":";;;;;AAoDU,UAzCO,6BAAA,CAyCP;EACC,aAAA,CAAA,EAAA,OAAA;EACA,UAAA,CAAA,EAAA,OAAA;EAAR;;;;;UAlCc,4BAAA;;;;;;;;;;;;;iBA6BK,2BAAA;MAEJ;WACR,2BACC,gCACR,QAAQ"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { scanSpecSource } from "@contractspec/module.workspace";
|
|
2
|
-
|
|
3
|
-
//#region src/services/validate/implementation-validator.ts
|
|
4
|
-
function toKebabCase(value) {
|
|
5
|
-
return value.replace(/\./g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
|
|
6
|
-
}
|
|
7
|
-
function toPascalCase(value) {
|
|
8
|
-
return value.split(/[-_.]/).filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
|
|
9
|
-
}
|
|
10
|
-
async function validateImplementationFiles(specFile, adapters, config, options = {}) {
|
|
11
|
-
const { fs } = adapters;
|
|
12
|
-
const errors = [];
|
|
13
|
-
const warnings = [];
|
|
14
|
-
if (!await fs.exists(specFile)) return {
|
|
15
|
-
valid: false,
|
|
16
|
-
errors: [`Spec file not found: ${specFile}`],
|
|
17
|
-
warnings: [],
|
|
18
|
-
expected: {}
|
|
19
|
-
};
|
|
20
|
-
const scan = scanSpecSource(await fs.readFile(specFile), specFile);
|
|
21
|
-
const specName = scan.key ?? fs.basename(specFile).replace(/\.[jt]s$/, "");
|
|
22
|
-
const outRoot = options.outputDir ?? config.outputDir ?? "./src";
|
|
23
|
-
const kebab = toKebabCase(specName);
|
|
24
|
-
const expected = {};
|
|
25
|
-
if (scan.specType === "operation") {
|
|
26
|
-
expected.handlerPath = fs.join(outRoot, "handlers", `${kebab}.handler.ts`);
|
|
27
|
-
expected.handlerTestPath = fs.join(outRoot, "handlers", `${kebab}.handler.test.ts`);
|
|
28
|
-
}
|
|
29
|
-
if (scan.specType === "presentation") {
|
|
30
|
-
expected.componentPath = fs.join(outRoot, "components", `${kebab}.tsx`);
|
|
31
|
-
expected.componentTestPath = fs.join(outRoot, "components", `${kebab}.test.tsx`);
|
|
32
|
-
}
|
|
33
|
-
if (scan.specType === "form") {
|
|
34
|
-
expected.formPath = fs.join(outRoot, "forms", `${kebab}.form.tsx`);
|
|
35
|
-
expected.formTestPath = fs.join(outRoot, "forms", `${kebab}.form.test.tsx`);
|
|
36
|
-
}
|
|
37
|
-
if (options.checkHandlers && expected.handlerPath) if (!await fs.exists(expected.handlerPath)) errors.push(`Missing handler file: ${expected.handlerPath}`);
|
|
38
|
-
else {
|
|
39
|
-
const handlerCode = await fs.readFile(expected.handlerPath);
|
|
40
|
-
const expectedSpecVar = `${toPascalCase(specName.split(".").pop() ?? specName)}Spec`;
|
|
41
|
-
const hasContractHandlerType = /ContractHandler<\s*typeof\s+\w+\s*>/.test(handlerCode);
|
|
42
|
-
const referencesExpectedSpec = (/* @__PURE__ */ new RegExp(`typeof\\s+${expectedSpecVar}\\b`)).test(handlerCode);
|
|
43
|
-
if (!hasContractHandlerType) warnings.push(`Handler does not appear to type itself as ContractHandler<typeof Spec>: ${expected.handlerPath}`);
|
|
44
|
-
else if (!referencesExpectedSpec) warnings.push(`Handler ContractHandler typing does not reference expected spec var (${expectedSpecVar}): ${expected.handlerPath}`);
|
|
45
|
-
}
|
|
46
|
-
if (options.checkTests) {
|
|
47
|
-
const candidateTests = [
|
|
48
|
-
expected.handlerTestPath,
|
|
49
|
-
expected.componentTestPath,
|
|
50
|
-
expected.formTestPath
|
|
51
|
-
].filter((p) => typeof p === "string");
|
|
52
|
-
for (const testPath of candidateTests) if (!await fs.exists(testPath)) errors.push(`Missing test file: ${testPath}`);
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
valid: errors.length === 0,
|
|
56
|
-
errors,
|
|
57
|
-
warnings,
|
|
58
|
-
expected
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
//#endregion
|
|
63
|
-
export { validateImplementationFiles };
|
|
64
|
-
//# sourceMappingURL=implementation-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-validator.js","names":["errors: string[]","warnings: string[]","expected: ValidateImplementationResult['expected']"],"sources":["../../../src/services/validate/implementation-validator.ts"],"sourcesContent":["/**\n * Implementation validation service (handlers + tests).\n *\n * Deterministic, static checks intended for reuse across CLI/VSCode/web tooling.\n * This does NOT execute spec modules.\n */\n\nimport type { WorkspaceConfig } from '@contractspec/module.workspace';\nimport { scanSpecSource } from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../../ports/fs';\n\nexport interface ValidateImplementationOptions {\n checkHandlers?: boolean;\n checkTests?: boolean;\n /**\n * Override workspace outputDir (defaults to config.outputDir).\n */\n outputDir?: string;\n}\n\nexport interface ValidateImplementationResult {\n valid: boolean;\n errors: string[];\n warnings: string[];\n expected: {\n handlerPath?: string;\n handlerTestPath?: string;\n componentPath?: string;\n componentTestPath?: string;\n formPath?: string;\n formTestPath?: string;\n };\n}\n\nfunction toKebabCase(value: string): string {\n return value\n .replace(/\\./g, '-')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}\n\nfunction toPascalCase(value: string): string {\n return value\n .split(/[-_.]/)\n .filter(Boolean)\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join('');\n}\n\nexport async function validateImplementationFiles(\n specFile: string,\n adapters: { fs: FsAdapter },\n config: WorkspaceConfig,\n options: ValidateImplementationOptions = {}\n): Promise<ValidateImplementationResult> {\n const { fs } = adapters;\n const errors: string[] = [];\n const warnings: string[] = [];\n\n const exists = await fs.exists(specFile);\n if (!exists) {\n return {\n valid: false,\n errors: [`Spec file not found: ${specFile}`],\n warnings: [],\n expected: {},\n };\n }\n\n const code = await fs.readFile(specFile);\n const scan = scanSpecSource(code, specFile);\n const specName = scan.key ?? fs.basename(specFile).replace(/\\.[jt]s$/, '');\n const outRoot = options.outputDir ?? config.outputDir ?? './src';\n const kebab = toKebabCase(specName);\n\n const expected: ValidateImplementationResult['expected'] = {};\n\n if (scan.specType === 'operation') {\n expected.handlerPath = fs.join(outRoot, 'handlers', `${kebab}.handler.ts`);\n expected.handlerTestPath = fs.join(\n outRoot,\n 'handlers',\n `${kebab}.handler.test.ts`\n );\n }\n if (scan.specType === 'presentation') {\n expected.componentPath = fs.join(outRoot, 'components', `${kebab}.tsx`);\n expected.componentTestPath = fs.join(\n outRoot,\n 'components',\n `${kebab}.test.tsx`\n );\n }\n if (scan.specType === 'form') {\n expected.formPath = fs.join(outRoot, 'forms', `${kebab}.form.tsx`);\n expected.formTestPath = fs.join(outRoot, 'forms', `${kebab}.form.test.tsx`);\n }\n\n if (options.checkHandlers && expected.handlerPath) {\n const handlerExists = await fs.exists(expected.handlerPath);\n if (!handlerExists) {\n errors.push(`Missing handler file: ${expected.handlerPath}`);\n } else {\n const handlerCode = await fs.readFile(expected.handlerPath);\n\n const expectedSpecVar = `${toPascalCase(specName.split('.').pop() ?? specName)}Spec`;\n const hasContractHandlerType = /ContractHandler<\\s*typeof\\s+\\w+\\s*>/.test(\n handlerCode\n );\n const referencesExpectedSpec = new RegExp(\n `typeof\\\\s+${expectedSpecVar}\\\\b`\n ).test(handlerCode);\n if (!hasContractHandlerType) {\n warnings.push(\n `Handler does not appear to type itself as ContractHandler<typeof Spec>: ${expected.handlerPath}`\n );\n } else if (!referencesExpectedSpec) {\n warnings.push(\n `Handler ContractHandler typing does not reference expected spec var (${expectedSpecVar}): ${expected.handlerPath}`\n );\n }\n }\n }\n\n if (options.checkTests) {\n const candidateTests = [\n expected.handlerTestPath,\n expected.componentTestPath,\n expected.formTestPath,\n ].filter((p): p is string => typeof p === 'string');\n\n for (const testPath of candidateTests) {\n const testExists = await fs.exists(testPath);\n if (!testExists) {\n errors.push(`Missing test file: ${testPath}`);\n }\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n warnings,\n expected,\n };\n}\n"],"mappings":";;;AAkCA,SAAS,YAAY,OAAuB;AAC1C,QAAO,MACJ,QAAQ,OAAO,IAAI,CACnB,QAAQ,mBAAmB,QAAQ,CACnC,aAAa;;AAGlB,SAAS,aAAa,OAAuB;AAC3C,QAAO,MACJ,MAAM,QAAQ,CACd,OAAO,QAAQ,CACf,KAAK,SAAS,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE,CAAC,CAC3D,KAAK,GAAG;;AAGb,eAAsB,4BACpB,UACA,UACA,QACA,UAAyC,EAAE,EACJ;CACvC,MAAM,EAAE,OAAO;CACf,MAAMA,SAAmB,EAAE;CAC3B,MAAMC,WAAqB,EAAE;AAG7B,KAAI,CADW,MAAM,GAAG,OAAO,SAAS,CAEtC,QAAO;EACL,OAAO;EACP,QAAQ,CAAC,wBAAwB,WAAW;EAC5C,UAAU,EAAE;EACZ,UAAU,EAAE;EACb;CAIH,MAAM,OAAO,eADA,MAAM,GAAG,SAAS,SAAS,EACN,SAAS;CAC3C,MAAM,WAAW,KAAK,OAAO,GAAG,SAAS,SAAS,CAAC,QAAQ,YAAY,GAAG;CAC1E,MAAM,UAAU,QAAQ,aAAa,OAAO,aAAa;CACzD,MAAM,QAAQ,YAAY,SAAS;CAEnC,MAAMC,WAAqD,EAAE;AAE7D,KAAI,KAAK,aAAa,aAAa;AACjC,WAAS,cAAc,GAAG,KAAK,SAAS,YAAY,GAAG,MAAM,aAAa;AAC1E,WAAS,kBAAkB,GAAG,KAC5B,SACA,YACA,GAAG,MAAM,kBACV;;AAEH,KAAI,KAAK,aAAa,gBAAgB;AACpC,WAAS,gBAAgB,GAAG,KAAK,SAAS,cAAc,GAAG,MAAM,MAAM;AACvE,WAAS,oBAAoB,GAAG,KAC9B,SACA,cACA,GAAG,MAAM,WACV;;AAEH,KAAI,KAAK,aAAa,QAAQ;AAC5B,WAAS,WAAW,GAAG,KAAK,SAAS,SAAS,GAAG,MAAM,WAAW;AAClE,WAAS,eAAe,GAAG,KAAK,SAAS,SAAS,GAAG,MAAM,gBAAgB;;AAG7E,KAAI,QAAQ,iBAAiB,SAAS,YAEpC,KAAI,CADkB,MAAM,GAAG,OAAO,SAAS,YAAY,CAEzD,QAAO,KAAK,yBAAyB,SAAS,cAAc;MACvD;EACL,MAAM,cAAc,MAAM,GAAG,SAAS,SAAS,YAAY;EAE3D,MAAM,kBAAkB,GAAG,aAAa,SAAS,MAAM,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;EAC/E,MAAM,yBAAyB,sCAAsC,KACnE,YACD;EACD,MAAM,0CAAyB,IAAI,OACjC,aAAa,gBAAgB,KAC9B,EAAC,KAAK,YAAY;AACnB,MAAI,CAAC,uBACH,UAAS,KACP,2EAA2E,SAAS,cACrF;WACQ,CAAC,uBACV,UAAS,KACP,wEAAwE,gBAAgB,KAAK,SAAS,cACvG;;AAKP,KAAI,QAAQ,YAAY;EACtB,MAAM,iBAAiB;GACrB,SAAS;GACT,SAAS;GACT,SAAS;GACV,CAAC,QAAQ,MAAmB,OAAO,MAAM,SAAS;AAEnD,OAAK,MAAM,YAAY,eAErB,KAAI,CADe,MAAM,GAAG,OAAO,SAAS,CAE1C,QAAO,KAAK,sBAAsB,WAAW;;AAKnD,QAAO;EACL,OAAO,OAAO,WAAW;EACzB;EACA;EACA;EACD"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ValidateSpecOptions, ValidateSpecResult, validateSpec, validateSpecs } from "./spec-validator.js";
|
|
2
|
-
import { ValidateImplementationOptions, ValidateImplementationResult, validateImplementationFiles } from "./implementation-validator.js";
|
|
3
|
-
import { BlueprintValidationResult, validateBlueprint } from "./blueprint-validator.js";
|
|
4
|
-
import { TenantValidationContext, TenantValidationResult, validateTenantConfig } from "./tenant-validator.js";
|
|
5
|
-
import { ImplementationValidationResult, ImplementationValidatorOptions, validateImplementationWithAgent } from "./implementation-agent-validator.js";
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { validateSpec, validateSpecs } from "./spec-validator.js";
|
|
2
|
-
import { validateImplementationFiles } from "./implementation-validator.js";
|
|
3
|
-
import { validateBlueprint } from "./blueprint-validator.js";
|
|
4
|
-
import { validateTenantConfig } from "./tenant-validator.js";
|
|
5
|
-
import { validateImplementationWithAgent } from "./implementation-agent-validator.js";
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { LoggerAdapter } from "../../ports/logger.js";
|
|
3
|
-
import { ValidationResult } from "@contractspec/module.workspace";
|
|
4
|
-
|
|
5
|
-
//#region src/services/validate/spec-validator.d.ts
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Options for spec validation.
|
|
9
|
-
*/
|
|
10
|
-
interface ValidateSpecOptions {
|
|
11
|
-
/**
|
|
12
|
-
* Skip spec structure validation (e.g., for blueprint files).
|
|
13
|
-
*/
|
|
14
|
-
skipStructure?: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Result of spec validation.
|
|
18
|
-
*/
|
|
19
|
-
interface ValidateSpecResult {
|
|
20
|
-
valid: boolean;
|
|
21
|
-
structureResult?: ValidationResult;
|
|
22
|
-
errors: string[];
|
|
23
|
-
warnings: string[];
|
|
24
|
-
code?: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Validate a spec file.
|
|
28
|
-
*/
|
|
29
|
-
declare function validateSpec(specFile: string, adapters: {
|
|
30
|
-
fs: FsAdapter;
|
|
31
|
-
logger: LoggerAdapter;
|
|
32
|
-
}, options?: ValidateSpecOptions): Promise<ValidateSpecResult>;
|
|
33
|
-
/**
|
|
34
|
-
* Validate multiple spec files.
|
|
35
|
-
*/
|
|
36
|
-
declare function validateSpecs(specFiles: string[], adapters: {
|
|
37
|
-
fs: FsAdapter;
|
|
38
|
-
logger: LoggerAdapter;
|
|
39
|
-
}, options?: ValidateSpecOptions): Promise<Map<string, ValidateSpecResult>>;
|
|
40
|
-
//#endregion
|
|
41
|
-
export { ValidateSpecOptions, ValidateSpecResult, validateSpec, validateSpecs };
|
|
42
|
-
//# sourceMappingURL=spec-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec-validator.d.ts","names":[],"sources":["../../../src/services/validate/spec-validator.ts"],"sourcesContent":[],"mappings":";;;;;;AAwBA;AAWA;;AAEqC,UAvBpB,mBAAA,CAuBoB;EAC1B;;;EACD,aAAA,CAAA,EAAA,OAAA;AAsCV;;;;AAIuB,UAzDN,kBAAA,CAyDM;EAAZ,KAAA,EAAA,OAAA;EAAR,eAAA,CAAA,EAvDiB,gBAuDjB;EAAO,MAAA,EAAA,MAAA,EAAA;;;;;;;iBA9CY,YAAA;MAEJ;UAAmB;aAC1B,sBACR,QAAQ;;;;iBAsCW,aAAA;MAEJ;UAAmB;aAC1B,sBACR,QAAQ,YAAY"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { validateSpecStructure } from "@contractspec/module.workspace";
|
|
2
|
-
|
|
3
|
-
//#region src/services/validate/spec-validator.ts
|
|
4
|
-
/**
|
|
5
|
-
* Validation service.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Validate a spec file.
|
|
9
|
-
*/
|
|
10
|
-
async function validateSpec(specFile, adapters, options = {}) {
|
|
11
|
-
const { fs } = adapters;
|
|
12
|
-
if (!await fs.exists(specFile)) return {
|
|
13
|
-
valid: false,
|
|
14
|
-
errors: [`Spec file not found: ${specFile}`],
|
|
15
|
-
warnings: [],
|
|
16
|
-
code: void 0
|
|
17
|
-
};
|
|
18
|
-
const specCode = await fs.readFile(specFile);
|
|
19
|
-
const fileName = fs.basename(specFile);
|
|
20
|
-
const allErrors = [];
|
|
21
|
-
const allWarnings = [];
|
|
22
|
-
let structureResult;
|
|
23
|
-
if (!options.skipStructure) {
|
|
24
|
-
structureResult = validateSpecStructure(specCode, fileName);
|
|
25
|
-
allErrors.push(...structureResult.errors);
|
|
26
|
-
allWarnings.push(...structureResult.warnings);
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
valid: allErrors.length === 0,
|
|
30
|
-
structureResult,
|
|
31
|
-
errors: allErrors,
|
|
32
|
-
warnings: allWarnings,
|
|
33
|
-
code: specCode
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Validate multiple spec files.
|
|
38
|
-
*/
|
|
39
|
-
async function validateSpecs(specFiles, adapters, options = {}) {
|
|
40
|
-
const results = /* @__PURE__ */ new Map();
|
|
41
|
-
for (const specFile of specFiles) {
|
|
42
|
-
const result = await validateSpec(specFile, adapters, options);
|
|
43
|
-
results.set(specFile, result);
|
|
44
|
-
}
|
|
45
|
-
return results;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { validateSpec, validateSpecs };
|
|
50
|
-
//# sourceMappingURL=spec-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spec-validator.js","names":["allErrors: string[]","allWarnings: string[]","structureResult: ValidationResult | undefined"],"sources":["../../../src/services/validate/spec-validator.ts"],"sourcesContent":["/**\n * Validation service.\n */\n\nimport {\n validateSpecStructure,\n type ValidationResult,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\n\n/**\n * Options for spec validation.\n */\nexport interface ValidateSpecOptions {\n /**\n * Skip spec structure validation (e.g., for blueprint files).\n */\n skipStructure?: boolean;\n}\n\n/**\n * Result of spec validation.\n */\nexport interface ValidateSpecResult {\n valid: boolean;\n structureResult?: ValidationResult;\n errors: string[];\n warnings: string[];\n code?: string;\n}\n\n/**\n * Validate a spec file.\n */\nexport async function validateSpec(\n specFile: string,\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n options: ValidateSpecOptions = {}\n): Promise<ValidateSpecResult> {\n const { fs } = adapters;\n\n const exists = await fs.exists(specFile);\n if (!exists) {\n return {\n valid: false,\n errors: [`Spec file not found: ${specFile}`],\n warnings: [],\n code: undefined,\n };\n }\n\n const specCode = await fs.readFile(specFile);\n const fileName = fs.basename(specFile);\n\n const allErrors: string[] = [];\n const allWarnings: string[] = [];\n let structureResult: ValidationResult | undefined;\n\n if (!options.skipStructure) {\n structureResult = validateSpecStructure(specCode, fileName);\n allErrors.push(...structureResult.errors);\n allWarnings.push(...structureResult.warnings);\n }\n\n return {\n valid: allErrors.length === 0,\n structureResult,\n errors: allErrors,\n warnings: allWarnings,\n code: specCode,\n };\n}\n\n/**\n * Validate multiple spec files.\n */\nexport async function validateSpecs(\n specFiles: string[],\n adapters: { fs: FsAdapter; logger: LoggerAdapter },\n options: ValidateSpecOptions = {}\n): Promise<Map<string, ValidateSpecResult>> {\n const results = new Map<string, ValidateSpecResult>();\n\n for (const specFile of specFiles) {\n const result = await validateSpec(specFile, adapters, options);\n results.set(specFile, result);\n }\n\n return results;\n}\n"],"mappings":";;;;;;;;;AAmCA,eAAsB,aACpB,UACA,UACA,UAA+B,EAAE,EACJ;CAC7B,MAAM,EAAE,OAAO;AAGf,KAAI,CADW,MAAM,GAAG,OAAO,SAAS,CAEtC,QAAO;EACL,OAAO;EACP,QAAQ,CAAC,wBAAwB,WAAW;EAC5C,UAAU,EAAE;EACZ,MAAM;EACP;CAGH,MAAM,WAAW,MAAM,GAAG,SAAS,SAAS;CAC5C,MAAM,WAAW,GAAG,SAAS,SAAS;CAEtC,MAAMA,YAAsB,EAAE;CAC9B,MAAMC,cAAwB,EAAE;CAChC,IAAIC;AAEJ,KAAI,CAAC,QAAQ,eAAe;AAC1B,oBAAkB,sBAAsB,UAAU,SAAS;AAC3D,YAAU,KAAK,GAAG,gBAAgB,OAAO;AACzC,cAAY,KAAK,GAAG,gBAAgB,SAAS;;AAG/C,QAAO;EACL,OAAO,UAAU,WAAW;EAC5B;EACA,QAAQ;EACR,UAAU;EACV,MAAM;EACP;;;;;AAMH,eAAsB,cACpB,WACA,UACA,UAA+B,EAAE,EACS;CAC1C,MAAM,0BAAU,IAAI,KAAiC;AAErD,MAAK,MAAM,YAAY,WAAW;EAChC,MAAM,SAAS,MAAM,aAAa,UAAU,UAAU,QAAQ;AAC9D,UAAQ,IAAI,UAAU,OAAO;;AAG/B,QAAO"}
|