@contractspec/bundle.workspace 1.46.1 → 1.47.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 +125 -0
- package/dist/index.mjs +110 -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/index.d.mts +103 -0
- package/dist/services/index.mjs +100 -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 +23 -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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
//#region src/services/test-link/test-ref-validator.ts
|
|
2
|
+
/**
|
|
3
|
+
* Build a spec key from key and version.
|
|
4
|
+
*/
|
|
5
|
+
function makeSpecKey(key, version) {
|
|
6
|
+
return `${key}.v${version}`;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Validate that all test references in a spec exist in the test inventory.
|
|
10
|
+
*
|
|
11
|
+
* @param specFile - The spec file being validated
|
|
12
|
+
* @param specKey - The spec's key (for error messages)
|
|
13
|
+
* @param specVersion - The spec's version (for error messages)
|
|
14
|
+
* @param testRefs - Array of test references from the spec
|
|
15
|
+
* @param testIndex - Map of test spec keys to their locations
|
|
16
|
+
* @param options - Validation options
|
|
17
|
+
* @returns Validation result with found/missing tests and errors
|
|
18
|
+
*/
|
|
19
|
+
function validateTestRefs(specFile, specKey, specVersion, testRefs, testIndex, options = {}) {
|
|
20
|
+
const { treatMissingAsError = true } = options;
|
|
21
|
+
if (!testRefs || testRefs.length === 0) return {
|
|
22
|
+
valid: true,
|
|
23
|
+
foundTests: [],
|
|
24
|
+
missingTests: [],
|
|
25
|
+
errors: [],
|
|
26
|
+
specFile
|
|
27
|
+
};
|
|
28
|
+
const foundTests = [];
|
|
29
|
+
const missingTests = [];
|
|
30
|
+
const errors = [];
|
|
31
|
+
for (const ref of testRefs) {
|
|
32
|
+
const testKey = makeSpecKey(ref.key, ref.version);
|
|
33
|
+
if (testIndex.has(testKey)) foundTests.push(ref);
|
|
34
|
+
else {
|
|
35
|
+
missingTests.push(ref);
|
|
36
|
+
if (treatMissingAsError) errors.push(`Spec ${specKey}.v${specVersion} references test ${ref.key}.v${ref.version} which does not exist`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
valid: missingTests.length === 0,
|
|
41
|
+
foundTests,
|
|
42
|
+
missingTests,
|
|
43
|
+
errors,
|
|
44
|
+
specFile
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { validateTestRefs };
|
|
50
|
+
//# sourceMappingURL=test-ref-validator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-ref-validator.mjs","names":[],"sources":["../../../src/services/test-link/test-ref-validator.ts"],"sourcesContent":["/**\n * Test reference validator.\n *\n * Validates that OperationSpec.tests references point to existing TestSpecs.\n */\n\nimport type { SpecLocation } from '../integrity';\nimport type { RefInfo } from '@contractspec/module.workspace';\n\n/**\n * Options for test reference validation.\n */\nexport interface TestRefValidationOptions {\n /**\n * Treat missing tests as errors (default: true).\n * When false, missing tests are reported as warnings.\n */\n treatMissingAsError?: boolean;\n}\n\n/**\n * Result of validating test references for a spec.\n */\nexport interface TestRefValidationResult {\n /**\n * Whether all referenced tests are valid.\n */\n valid: boolean;\n\n /**\n * Test refs that were found and valid.\n */\n foundTests: RefInfo[];\n\n /**\n * Test refs that were not found.\n */\n missingTests: RefInfo[];\n\n /**\n * Error messages for missing tests.\n */\n errors: string[];\n\n /**\n * The source file being validated.\n */\n specFile: string;\n}\n\n/**\n * Build a spec key from key and version.\n */\nfunction makeSpecKey(key: string, version: string): string {\n return `${key}.v${version}`;\n}\n\n/**\n * Validate that all test references in a spec exist in the test inventory.\n *\n * @param specFile - The spec file being validated\n * @param specKey - The spec's key (for error messages)\n * @param specVersion - The spec's version (for error messages)\n * @param testRefs - Array of test references from the spec\n * @param testIndex - Map of test spec keys to their locations\n * @param options - Validation options\n * @returns Validation result with found/missing tests and errors\n */\nexport function validateTestRefs(\n specFile: string,\n specKey: string,\n specVersion: string,\n testRefs: RefInfo[] | undefined,\n testIndex: Map<string, SpecLocation>,\n options: TestRefValidationOptions = {}\n): TestRefValidationResult {\n const { treatMissingAsError = true } = options;\n\n if (!testRefs || testRefs.length === 0) {\n return {\n valid: true,\n foundTests: [],\n missingTests: [],\n errors: [],\n specFile,\n };\n }\n\n const foundTests: RefInfo[] = [];\n const missingTests: RefInfo[] = [];\n const errors: string[] = [];\n\n for (const ref of testRefs) {\n const testKey = makeSpecKey(ref.key, ref.version);\n\n if (testIndex.has(testKey)) {\n foundTests.push(ref);\n } else {\n missingTests.push(ref);\n if (treatMissingAsError) {\n errors.push(\n `Spec ${specKey}.v${specVersion} references test ${ref.key}.v${ref.version} which does not exist`\n );\n }\n }\n }\n\n return {\n valid: missingTests.length === 0,\n foundTests,\n missingTests,\n errors,\n specFile,\n };\n}\n\n/**\n * Batch validate test references for multiple specs.\n *\n * @param specs - Array of specs with their test refs\n * @param testIndex - Map of test spec keys to their locations\n * @param options - Validation options\n * @returns Array of validation results\n */\nexport function validateAllTestRefs(\n specs: {\n specFile: string;\n specKey: string;\n specVersion: string;\n testRefs: RefInfo[] | undefined;\n }[],\n testIndex: Map<string, SpecLocation>,\n options: TestRefValidationOptions = {}\n): TestRefValidationResult[] {\n return specs.map((spec) =>\n validateTestRefs(\n spec.specFile,\n spec.specKey,\n spec.specVersion,\n spec.testRefs,\n testIndex,\n options\n )\n );\n}\n\n/**\n * Aggregate validation results into a summary.\n */\nexport function aggregateValidationResults(\n results: TestRefValidationResult[]\n): {\n totalSpecs: number;\n specsWithRefs: number;\n totalRefs: number;\n foundRefs: number;\n missingRefs: number;\n allValid: boolean;\n allErrors: string[];\n} {\n let specsWithRefs = 0;\n let totalRefs = 0;\n let foundRefs = 0;\n let missingRefs = 0;\n const allErrors: string[] = [];\n\n for (const result of results) {\n const refCount = result.foundTests.length + result.missingTests.length;\n if (refCount > 0) {\n specsWithRefs++;\n totalRefs += refCount;\n foundRefs += result.foundTests.length;\n missingRefs += result.missingTests.length;\n allErrors.push(...result.errors);\n }\n }\n\n return {\n totalSpecs: results.length,\n specsWithRefs,\n totalRefs,\n foundRefs,\n missingRefs,\n allValid: missingRefs === 0,\n allErrors,\n };\n}\n"],"mappings":";;;;AAqDA,SAAS,YAAY,KAAa,SAAyB;AACzD,QAAO,GAAG,IAAI,IAAI;;;;;;;;;;;;;AAcpB,SAAgB,iBACd,UACA,SACA,aACA,UACA,WACA,UAAoC,EAAE,EACb;CACzB,MAAM,EAAE,sBAAsB,SAAS;AAEvC,KAAI,CAAC,YAAY,SAAS,WAAW,EACnC,QAAO;EACL,OAAO;EACP,YAAY,EAAE;EACd,cAAc,EAAE;EAChB,QAAQ,EAAE;EACV;EACD;CAGH,MAAM,aAAwB,EAAE;CAChC,MAAM,eAA0B,EAAE;CAClC,MAAM,SAAmB,EAAE;AAE3B,MAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,UAAU,YAAY,IAAI,KAAK,IAAI,QAAQ;AAEjD,MAAI,UAAU,IAAI,QAAQ,CACxB,YAAW,KAAK,IAAI;OACf;AACL,gBAAa,KAAK,IAAI;AACtB,OAAI,oBACF,QAAO,KACL,QAAQ,QAAQ,IAAI,YAAY,mBAAmB,IAAI,IAAI,IAAI,IAAI,QAAQ,uBAC5E;;;AAKP,QAAO;EACL,OAAO,aAAa,WAAW;EAC/B;EACA;EACA;EACA;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ConfigUpgradeInfo, PackageUpgradeInfo, UpgradeAnalysisResult, UpgradeApplyResult, UpgradeOptions } from "./types.mjs";
|
|
2
|
+
import { analyzeUpgrades, applyConfigUpgrades, getDefaultHooksConfig, getDefaultVersioningConfig, getPackageUpgradeCommand } from "./upgrade-service.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/services/upgrade/index.d.ts
|
|
5
|
+
declare namespace index_d_exports {
|
|
6
|
+
export { ConfigUpgradeInfo, PackageUpgradeInfo, UpgradeAnalysisResult, UpgradeApplyResult, UpgradeOptions, analyzeUpgrades, applyConfigUpgrades, getDefaultHooksConfig, getDefaultVersioningConfig, getPackageUpgradeCommand };
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { index_d_exports };
|
|
10
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/upgrade/index.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
|
|
2
|
+
import { analyzeUpgrades, applyConfigUpgrades, getDefaultHooksConfig, getDefaultVersioningConfig, getPackageUpgradeCommand } from "./upgrade-service.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/services/upgrade/index.ts
|
|
5
|
+
var upgrade_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
analyzeUpgrades: () => analyzeUpgrades,
|
|
7
|
+
applyConfigUpgrades: () => applyConfigUpgrades,
|
|
8
|
+
getDefaultHooksConfig: () => getDefaultHooksConfig,
|
|
9
|
+
getDefaultVersioningConfig: () => getDefaultVersioningConfig,
|
|
10
|
+
getPackageUpgradeCommand: () => getPackageUpgradeCommand
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { upgrade_exports };
|
|
15
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/upgrade/index.ts"],"sourcesContent":["/**\n * Upgrade service module.\n *\n * Provides upgrade analysis and application for ContractSpec SDK and config.\n */\n\nexport * from './types';\nexport {\n analyzeUpgrades,\n applyConfigUpgrades,\n getPackageUpgradeCommand,\n getDefaultVersioningConfig,\n getDefaultHooksConfig,\n} from './upgrade-service';\n"],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//#region src/services/upgrade/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Upgrade service types.
|
|
4
|
+
*
|
|
5
|
+
* Types for upgrading ContractSpec SDK and configuration.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Options for running an upgrade.
|
|
9
|
+
*/
|
|
10
|
+
interface UpgradeOptions {
|
|
11
|
+
/** Root directory of the workspace. */
|
|
12
|
+
workspaceRoot: string;
|
|
13
|
+
/** Upgrade SDK packages. */
|
|
14
|
+
upgradePackages?: boolean;
|
|
15
|
+
/** Upgrade configuration. */
|
|
16
|
+
upgradeConfig?: boolean;
|
|
17
|
+
/** Preview changes without applying. */
|
|
18
|
+
dryRun?: boolean;
|
|
19
|
+
/** Use @latest tag instead of caret range. */
|
|
20
|
+
useLatest?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Result of a package upgrade check.
|
|
24
|
+
*/
|
|
25
|
+
interface PackageUpgradeInfo {
|
|
26
|
+
/** Package name. */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Current version. */
|
|
29
|
+
currentVersion: string;
|
|
30
|
+
/** Latest available version (if known). */
|
|
31
|
+
latestVersion?: string;
|
|
32
|
+
/** Whether this is a dev dependency. */
|
|
33
|
+
isDevDependency: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Result of a config upgrade check.
|
|
37
|
+
*/
|
|
38
|
+
interface ConfigUpgradeInfo {
|
|
39
|
+
/** Config key that needs upgrading. */
|
|
40
|
+
key: string;
|
|
41
|
+
/** Current value (if any). */
|
|
42
|
+
currentValue?: unknown;
|
|
43
|
+
/** Suggested new value. */
|
|
44
|
+
suggestedValue: unknown;
|
|
45
|
+
/** Whether this is a new key. */
|
|
46
|
+
isNew: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Result of the upgrade analysis.
|
|
50
|
+
*/
|
|
51
|
+
interface UpgradeAnalysisResult {
|
|
52
|
+
/** Detected package manager. */
|
|
53
|
+
packageManager: string;
|
|
54
|
+
/** Packages that can be upgraded. */
|
|
55
|
+
packages: PackageUpgradeInfo[];
|
|
56
|
+
/** Config sections that need upgrading. */
|
|
57
|
+
configUpgrades: ConfigUpgradeInfo[];
|
|
58
|
+
/** Whether any upgrades are available. */
|
|
59
|
+
hasUpgrades: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Result of applying an upgrade.
|
|
63
|
+
*/
|
|
64
|
+
interface UpgradeApplyResult {
|
|
65
|
+
/** Whether the upgrade was successful. */
|
|
66
|
+
success: boolean;
|
|
67
|
+
/** Number of packages upgraded. */
|
|
68
|
+
packagesUpgraded: number;
|
|
69
|
+
/** Number of config sections upgraded. */
|
|
70
|
+
configSectionsUpgraded: number;
|
|
71
|
+
/** Error message if failed. */
|
|
72
|
+
error?: string;
|
|
73
|
+
/** Summary message. */
|
|
74
|
+
summary: string;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { ConfigUpgradeInfo, PackageUpgradeInfo, UpgradeAnalysisResult, UpgradeApplyResult, UpgradeOptions };
|
|
78
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/services/upgrade/types.ts"],"sourcesContent":[],"mappings":";;AAaA;AAgBA;AAcA;AAcA;AAcA;;;UA1DiB,cAAA;;;;;;;;;;;;;;;UAgBA,kBAAA;;;;;;;;;;;;;UAcA,iBAAA;;;;;;;;;;;;;UAcA,qBAAA;;;;YAIL;;kBAEM;;;;;;;UAQD,kBAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { FsAdapter } from "../../ports/fs.mjs";
|
|
2
|
+
import { LoggerAdapter } from "../../ports/logger.mjs";
|
|
3
|
+
import { PackageUpgradeInfo, UpgradeAnalysisResult, UpgradeApplyResult, UpgradeOptions } from "./types.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/services/upgrade/upgrade-service.d.ts
|
|
6
|
+
|
|
7
|
+
interface ServiceAdapters {
|
|
8
|
+
fs: FsAdapter;
|
|
9
|
+
logger: LoggerAdapter;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Analyze what upgrades are available.
|
|
13
|
+
*/
|
|
14
|
+
declare function analyzeUpgrades(adapters: ServiceAdapters, options: UpgradeOptions): Promise<UpgradeAnalysisResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Apply configuration upgrades.
|
|
17
|
+
*
|
|
18
|
+
* Note: Package upgrades must be applied by the app layer (CLI, VSCode)
|
|
19
|
+
* since they require running npm/bun/yarn commands which is platform-specific.
|
|
20
|
+
*/
|
|
21
|
+
declare function applyConfigUpgrades(adapters: ServiceAdapters, options: UpgradeOptions): Promise<UpgradeApplyResult>;
|
|
22
|
+
/**
|
|
23
|
+
* Get the command to upgrade packages.
|
|
24
|
+
*
|
|
25
|
+
* Returns the shell command string that the app layer should execute.
|
|
26
|
+
*/
|
|
27
|
+
declare function getPackageUpgradeCommand(packageManager: string, packages: PackageUpgradeInfo[], useLatest: boolean): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get default versioning configuration.
|
|
30
|
+
*/
|
|
31
|
+
declare function getDefaultVersioningConfig(): Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Get default hooks configuration.
|
|
34
|
+
*/
|
|
35
|
+
declare function getDefaultHooksConfig(): Record<string, string[]>;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { analyzeUpgrades, applyConfigUpgrades, getDefaultHooksConfig, getDefaultVersioningConfig, getPackageUpgradeCommand };
|
|
38
|
+
//# sourceMappingURL=upgrade-service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-service.d.mts","names":[],"sources":["../../../src/services/upgrade/upgrade-service.ts"],"sourcesContent":[],"mappings":";;;;;;UAmCU,eAAA,CAeA;EAoJY,EAAA,EAlKhB,SAkKgB;EACV,MAAA,EAlKF,aAkKE;;;;;AA4FI,iBApPM,eAAA,CAoPkB,QAE5B,EArPA,eAqPkB,EAAA,OAAA,EApPnB,cAoPmB,CAAA,EAnP3B,OAmP2B,CAnPnB,qBAmPmB,CAAA;AA0B9B;AAeA;;;;;iBAxIsB,mBAAA,WACV,0BACD,iBACR,QAAQ;;;;;;iBA0FK,wBAAA,mCAEJ;;;;iBA0BI,0BAAA,CAAA,GAA8B;;;;iBAe9B,qBAAA,CAAA,GAAyB"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { detectPackageManager, findWorkspaceRoot } from "../../adapters/workspace.mjs";
|
|
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.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade-service.mjs","names":[],"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,MAAM,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,MAAM,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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FsAdapter } from "../../ports/fs.mjs";
|
|
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.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint-validator.d.mts","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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
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.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint-validator.mjs","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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FsAdapter } from "../../ports/fs.mjs";
|
|
2
|
+
import { Config } from "../../types/config.mjs";
|
|
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.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementation-agent-validator.d.mts","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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AgentOrchestrator } from "../../ai/agents/orchestrator.mjs";
|
|
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$1 of possiblePaths) if (await fs.exists(path$1)) {
|
|
19
|
+
implementationPath = path$1;
|
|
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.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implementation-agent-validator.mjs","names":["path"],"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,MAAMA,UAAQ,cACjB,KAAI,MAAM,GAAG,OAAOA,OAAK,EAAE;AACzB,wBAAqBA;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"}
|