@contractspec/bundle.workspace 1.46.2 → 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
package/dist/services/list.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../ports/fs.js";
|
|
2
|
-
import { SpecScanResult } from "@contractspec/module.workspace";
|
|
3
|
-
|
|
4
|
-
//#region src/services/list.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Options for listing specs.
|
|
8
|
-
*/
|
|
9
|
-
interface ListSpecsOptions {
|
|
10
|
-
/**
|
|
11
|
-
* File pattern to search.
|
|
12
|
-
*/
|
|
13
|
-
pattern?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Filter by spec type.
|
|
16
|
-
*/
|
|
17
|
-
type?: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* List all spec files in the workspace.
|
|
21
|
-
*/
|
|
22
|
-
declare function listSpecs(adapters: {
|
|
23
|
-
fs: FsAdapter;
|
|
24
|
-
}, options?: ListSpecsOptions): Promise<SpecScanResult[]>;
|
|
25
|
-
/**
|
|
26
|
-
* Group specs by type.
|
|
27
|
-
*/
|
|
28
|
-
declare function groupSpecsByType(specs: SpecScanResult[]): Map<string, SpecScanResult[]>;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { ListSpecsOptions, groupSpecsByType, listSpecs };
|
|
31
|
-
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","names":[],"sources":["../../src/services/list.ts"],"sourcesContent":[],"mappings":";;;;;AA4BA;;;AAGW,UAlBM,gBAAA,CAkBN;EAAR;;AAuBH;EACS,OAAA,CAAA,EAAA,MAAA;EACM;;;;;;;;iBA5BO,SAAA;MACJ;aACP,mBACR,QAAQ;;;;iBAuBK,gBAAA,QACP,mBACN,YAAY"}
|
package/dist/services/list.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { scanSpecSource } from "@contractspec/module.workspace";
|
|
2
|
-
|
|
3
|
-
//#region src/services/list.ts
|
|
4
|
-
/**
|
|
5
|
-
* List specs service.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* List all spec files in the workspace.
|
|
9
|
-
*/
|
|
10
|
-
async function listSpecs(adapters, options = {}) {
|
|
11
|
-
const { fs } = adapters;
|
|
12
|
-
const files = await fs.glob({ pattern: options.pattern });
|
|
13
|
-
const results = [];
|
|
14
|
-
for (const file of files) {
|
|
15
|
-
const result = scanSpecSource(await fs.readFile(file), file);
|
|
16
|
-
if (options.type && result.specType !== options.type) continue;
|
|
17
|
-
results.push(result);
|
|
18
|
-
}
|
|
19
|
-
return results;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Group specs by type.
|
|
23
|
-
*/
|
|
24
|
-
function groupSpecsByType(specs) {
|
|
25
|
-
const groups = /* @__PURE__ */ new Map();
|
|
26
|
-
for (const spec of specs) {
|
|
27
|
-
const group = groups.get(spec.specType) ?? [];
|
|
28
|
-
group.push(spec);
|
|
29
|
-
groups.set(spec.specType, group);
|
|
30
|
-
}
|
|
31
|
-
return groups;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
//#endregion
|
|
35
|
-
export { groupSpecsByType, listSpecs };
|
|
36
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","names":["results: SpecScanResult[]"],"sources":["../../src/services/list.ts"],"sourcesContent":["/**\n * List specs service.\n */\n\nimport {\n scanSpecSource,\n type SpecScanResult,\n} from '@contractspec/module.workspace';\nimport type { FsAdapter } from '../ports/fs';\n\n/**\n * Options for listing specs.\n */\nexport interface ListSpecsOptions {\n /**\n * File pattern to search.\n */\n pattern?: string;\n\n /**\n * Filter by spec type.\n */\n type?: string;\n}\n\n/**\n * List all spec files in the workspace.\n */\nexport async function listSpecs(\n adapters: { fs: FsAdapter },\n options: ListSpecsOptions = {}\n): Promise<SpecScanResult[]> {\n const { fs } = adapters;\n\n const files = await fs.glob({ pattern: options.pattern });\n const results: SpecScanResult[] = [];\n\n for (const file of files) {\n const content = await fs.readFile(file);\n const result = scanSpecSource(content, file);\n\n if (options.type && result.specType !== options.type) {\n continue;\n }\n\n results.push(result);\n }\n\n return results;\n}\n\n/**\n * Group specs by type.\n */\nexport function groupSpecsByType(\n specs: SpecScanResult[]\n): Map<string, SpecScanResult[]> {\n const groups = new Map<string, SpecScanResult[]>();\n\n for (const spec of specs) {\n const group = groups.get(spec.specType) ?? [];\n group.push(spec);\n groups.set(spec.specType, group);\n }\n\n return groups;\n}\n"],"mappings":";;;;;;;;;AA4BA,eAAsB,UACpB,UACA,UAA4B,EAAE,EACH;CAC3B,MAAM,EAAE,OAAO;CAEf,MAAM,QAAQ,MAAM,GAAG,KAAK,EAAE,SAAS,QAAQ,SAAS,CAAC;CACzD,MAAMA,UAA4B,EAAE;AAEpC,MAAK,MAAM,QAAQ,OAAO;EAExB,MAAM,SAAS,eADC,MAAM,GAAG,SAAS,KAAK,EACA,KAAK;AAE5C,MAAI,QAAQ,QAAQ,OAAO,aAAa,QAAQ,KAC9C;AAGF,UAAQ,KAAK,OAAO;;AAGtB,QAAO;;;;;AAMT,SAAgB,iBACd,OAC+B;CAC/B,MAAM,yBAAS,IAAI,KAA+B;AAElD,MAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,QAAQ,OAAO,IAAI,KAAK,SAAS,IAAI,EAAE;AAC7C,QAAM,KAAK,KAAK;AAChB,SAAO,IAAI,KAAK,UAAU,MAAM;;AAGlC,QAAO"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { VerificationIssue, formatVerificationReport, verifyImplementationAgainstParsedSpec } from "./verify-static.js";
|
|
3
|
-
import { AgentType, ParsedSpec } from "@contractspec/module.workspace";
|
|
4
|
-
|
|
5
|
-
//#region src/services/llm/index.d.ts
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Generate full markdown context for a feature, including referenced specs.
|
|
9
|
-
*/
|
|
10
|
-
declare function generateFeatureContextMarkdown(feature: ParsedSpec, adapters: {
|
|
11
|
-
fs: FsAdapter;
|
|
12
|
-
}): Promise<string>;
|
|
13
|
-
/**
|
|
14
|
-
* Generate an implementation guide for a parsed spec.
|
|
15
|
-
* This logic was extracted from VSCode extension.
|
|
16
|
-
*/
|
|
17
|
-
declare function generateGuideFromParsedSpec(spec: ParsedSpec, agent: AgentType): string;
|
|
18
|
-
/**
|
|
19
|
-
* Generate Cursor rules from parsed spec.
|
|
20
|
-
*/
|
|
21
|
-
declare function generateCursorRulesFromParsedSpec(spec: ParsedSpec): string;
|
|
22
|
-
/**
|
|
23
|
-
* Export spec to clipboard format suitable for pasting into LLM.
|
|
24
|
-
*/
|
|
25
|
-
declare function exportSpecForLLM(spec: ParsedSpec, format: 'guide' | 'rules' | 'prompt' | 'context' | 'full', agent?: AgentType): string;
|
|
26
|
-
//#endregion
|
|
27
|
-
export { exportSpecForLLM, generateCursorRulesFromParsedSpec, generateFeatureContextMarkdown, generateGuideFromParsedSpec };
|
|
28
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/services/llm/index.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgGA;AAiIA;AAqCgB,iBAjPM,8BAAA,CAoPb,OAAyB,EAnPvB,UAmPuB,EAAA,QAAA,EAAA;MAlPhB;IACf;;;;;iBAwEa,2BAAA,OACR,mBACC;;;;iBA+HO,iCAAA,OAAwC;;;;iBAqCxC,gBAAA,OACR,+EAEC"}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { listSpecs } from "../list.js";
|
|
2
|
-
import { formatVerificationReport, verifyImplementationAgainstParsedSpec } from "./verify-static.js";
|
|
3
|
-
import { loadSpecFromSource, specToMarkdown } from "@contractspec/module.workspace";
|
|
4
|
-
|
|
5
|
-
//#region src/services/llm/index.ts
|
|
6
|
-
/**
|
|
7
|
-
* LLM Service
|
|
8
|
-
*
|
|
9
|
-
* Provides services for generating LLM-friendly content from specs.
|
|
10
|
-
* Primarily used by VSCode and CLI for "Ask AI" features.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Generate full markdown context for a feature, including referenced specs.
|
|
14
|
-
*/
|
|
15
|
-
async function generateFeatureContextMarkdown(feature, adapters) {
|
|
16
|
-
const parts = [];
|
|
17
|
-
parts.push(specToMarkdown(feature, "context"));
|
|
18
|
-
const allSpecs = await listSpecs(adapters);
|
|
19
|
-
const loadChild = async (ref) => {
|
|
20
|
-
const found = allSpecs.find((s) => s.key === ref.name && s.version === ref.version);
|
|
21
|
-
if (!found) return null;
|
|
22
|
-
return (await loadSpecFromSource(found.filePath)).find((s) => s.meta.key === ref.name) ?? null;
|
|
23
|
-
};
|
|
24
|
-
if (feature.operations?.length) {
|
|
25
|
-
parts.push(`\n## Operations (${feature.operations.length})\n`);
|
|
26
|
-
for (const op of feature.operations) {
|
|
27
|
-
const child = await loadChild(op);
|
|
28
|
-
if (child) parts.push(specToMarkdown(child, "full"));
|
|
29
|
-
else parts.push(`### ${op.name} (v${op.version})\n\n*Spec not found*`);
|
|
30
|
-
parts.push("---");
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (feature.events?.length) {
|
|
34
|
-
parts.push(`\n## Events (${feature.events.length})\n`);
|
|
35
|
-
for (const ev of feature.events) {
|
|
36
|
-
const child = await loadChild(ev);
|
|
37
|
-
if (child) parts.push(specToMarkdown(child, "full"));
|
|
38
|
-
else parts.push(`### ${ev.name} (v${ev.version})\n\n*Spec not found*`);
|
|
39
|
-
parts.push("---");
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (feature.presentations?.length) {
|
|
43
|
-
parts.push(`\n## Presentations (${feature.presentations.length})\n`);
|
|
44
|
-
for (const pres of feature.presentations) {
|
|
45
|
-
const child = await loadChild(pres);
|
|
46
|
-
if (child) parts.push(specToMarkdown(child, "full"));
|
|
47
|
-
else parts.push(`### ${pres.name} (v${pres.version})\n\n*Spec not found*`);
|
|
48
|
-
parts.push("---");
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return parts.join("\n");
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Generate an implementation guide for a parsed spec.
|
|
55
|
-
* This logic was extracted from VSCode extension.
|
|
56
|
-
*/
|
|
57
|
-
function generateGuideFromParsedSpec(spec, agent) {
|
|
58
|
-
const lines = [];
|
|
59
|
-
lines.push(`# Implementation Guide: ${spec.meta.key}`);
|
|
60
|
-
lines.push("");
|
|
61
|
-
lines.push(`**Target Agent**: ${agent}`);
|
|
62
|
-
lines.push(`**Spec Type**: ${spec.specType}${spec.kind ? ` (${spec.kind})` : ""}`);
|
|
63
|
-
lines.push("");
|
|
64
|
-
if (spec.meta.description) {
|
|
65
|
-
lines.push("## Overview");
|
|
66
|
-
lines.push("");
|
|
67
|
-
lines.push(spec.meta.description);
|
|
68
|
-
lines.push("");
|
|
69
|
-
}
|
|
70
|
-
if (spec.meta.goal) {
|
|
71
|
-
lines.push("## Goal");
|
|
72
|
-
lines.push("");
|
|
73
|
-
lines.push(spec.meta.goal);
|
|
74
|
-
lines.push("");
|
|
75
|
-
}
|
|
76
|
-
if (spec.meta.context) {
|
|
77
|
-
lines.push("## Context");
|
|
78
|
-
lines.push("");
|
|
79
|
-
lines.push(spec.meta.context);
|
|
80
|
-
lines.push("");
|
|
81
|
-
}
|
|
82
|
-
lines.push("## Implementation Steps");
|
|
83
|
-
lines.push("");
|
|
84
|
-
if (spec.specType === "operation") {
|
|
85
|
-
lines.push(`1. Create the ${spec.kind ?? "operation"} handler function`);
|
|
86
|
-
if (spec.hasIo) {
|
|
87
|
-
lines.push("2. Implement input validation according to the schema");
|
|
88
|
-
lines.push("3. Implement the core business logic");
|
|
89
|
-
lines.push("4. Return output matching the expected schema");
|
|
90
|
-
}
|
|
91
|
-
if (spec.hasPolicy) lines.push("5. Enforce authorization and policies");
|
|
92
|
-
if (spec.emittedEvents && spec.emittedEvents.length > 0) {
|
|
93
|
-
lines.push("6. Emit events on success:");
|
|
94
|
-
for (const ev of spec.emittedEvents) lines.push(` - \`${ev.name}\` (v${ev.version})`);
|
|
95
|
-
}
|
|
96
|
-
lines.push("7. Add error handling for expected failure cases");
|
|
97
|
-
lines.push("8. Write tests covering success and error scenarios");
|
|
98
|
-
} else if (spec.specType === "feature") {
|
|
99
|
-
lines.push("1. Set up the feature module structure");
|
|
100
|
-
if (spec.operations && spec.operations.length > 0) {
|
|
101
|
-
lines.push("2. Implement operations:");
|
|
102
|
-
for (const op of spec.operations) lines.push(` - \`${op.name}\` (v${op.version})`);
|
|
103
|
-
}
|
|
104
|
-
if (spec.presentations && spec.presentations.length > 0) {
|
|
105
|
-
lines.push("3. Implement presentations:");
|
|
106
|
-
for (const pres of spec.presentations) lines.push(` - \`${pres.name}\` (v${pres.version})`);
|
|
107
|
-
}
|
|
108
|
-
lines.push("4. Wire up feature exports");
|
|
109
|
-
lines.push("5. Add integration tests");
|
|
110
|
-
} else {
|
|
111
|
-
lines.push("1. Review the spec requirements");
|
|
112
|
-
lines.push("2. Implement the core logic");
|
|
113
|
-
lines.push("3. Add tests");
|
|
114
|
-
lines.push("4. Document the implementation");
|
|
115
|
-
}
|
|
116
|
-
lines.push("");
|
|
117
|
-
lines.push("## Constraints");
|
|
118
|
-
lines.push("");
|
|
119
|
-
lines.push(`- Stability: ${spec.meta.stability ?? "experimental"}`);
|
|
120
|
-
if (spec.meta.owners && spec.meta.owners.length > 0) lines.push(`- Owners: ${spec.meta.owners.join(", ")}`);
|
|
121
|
-
if (spec.meta.tags && spec.meta.tags.length > 0) lines.push(`- Tags: ${spec.meta.tags.join(", ")}`);
|
|
122
|
-
lines.push("");
|
|
123
|
-
if (agent === "cursor-cli") {
|
|
124
|
-
lines.push("## Cursor Notes");
|
|
125
|
-
lines.push("");
|
|
126
|
-
lines.push("- Use Composer mode for multi-file changes");
|
|
127
|
-
lines.push("- Reference this guide in your cursor rules");
|
|
128
|
-
lines.push("- Break implementation into small, focused commits");
|
|
129
|
-
} else if (agent === "claude-code") {
|
|
130
|
-
lines.push("## Claude Code Notes");
|
|
131
|
-
lines.push("");
|
|
132
|
-
lines.push("- Use extended thinking for complex logic");
|
|
133
|
-
lines.push("- Ask for clarification on ambiguous requirements");
|
|
134
|
-
lines.push("- Provide step-by-step reasoning");
|
|
135
|
-
} else if (agent === "generic-mcp") {
|
|
136
|
-
lines.push("## General Notes");
|
|
137
|
-
lines.push("");
|
|
138
|
-
lines.push("- Use inline comments to guide generation");
|
|
139
|
-
lines.push("- Review generated code carefully");
|
|
140
|
-
}
|
|
141
|
-
lines.push("");
|
|
142
|
-
lines.push("## Spec Definition");
|
|
143
|
-
lines.push("");
|
|
144
|
-
lines.push(specToMarkdown(spec, "full"));
|
|
145
|
-
return lines.join("\n");
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Generate Cursor rules from parsed spec.
|
|
149
|
-
*/
|
|
150
|
-
function generateCursorRulesFromParsedSpec(spec) {
|
|
151
|
-
const lines = [];
|
|
152
|
-
lines.push(`# ${spec.meta.key}`);
|
|
153
|
-
lines.push("");
|
|
154
|
-
lines.push(`Description: ${spec.meta.description ?? "No description"}`);
|
|
155
|
-
lines.push("");
|
|
156
|
-
lines.push("## Rules");
|
|
157
|
-
lines.push("");
|
|
158
|
-
if (spec.specType === "operation") {
|
|
159
|
-
lines.push(`- This is a ${spec.kind ?? "operation"} spec`);
|
|
160
|
-
if (spec.hasIo) lines.push("- Validate input and output against schemas");
|
|
161
|
-
if (spec.hasPolicy) lines.push("- Enforce authorization policies");
|
|
162
|
-
if (spec.emittedEvents && spec.emittedEvents.length > 0) lines.push("- Emit documented events");
|
|
163
|
-
} else if (spec.specType === "feature") {
|
|
164
|
-
lines.push("- Implement all operations and presentations");
|
|
165
|
-
lines.push("- Follow modular architecture");
|
|
166
|
-
} else lines.push(`- Follow ${spec.specType} patterns`);
|
|
167
|
-
lines.push("- Follow project code quality standards");
|
|
168
|
-
lines.push("- Write tests for new functionality");
|
|
169
|
-
return lines.join("\n");
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Export spec to clipboard format suitable for pasting into LLM.
|
|
173
|
-
*/
|
|
174
|
-
function exportSpecForLLM(spec, format, agent = "generic-mcp") {
|
|
175
|
-
switch (format) {
|
|
176
|
-
case "guide": return generateGuideFromParsedSpec(spec, agent);
|
|
177
|
-
case "rules": return generateCursorRulesFromParsedSpec(spec);
|
|
178
|
-
case "prompt": return specToMarkdown(spec, "prompt");
|
|
179
|
-
case "context": return specToMarkdown(spec, "context");
|
|
180
|
-
case "full":
|
|
181
|
-
default: return specToMarkdown(spec, "full");
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
//#endregion
|
|
186
|
-
export { exportSpecForLLM, generateCursorRulesFromParsedSpec, generateFeatureContextMarkdown, generateGuideFromParsedSpec };
|
|
187
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["parts: string[]","lines: string[]"],"sources":["../../../src/services/llm/index.ts"],"sourcesContent":["/**\n * LLM Service\n *\n * Provides services for generating LLM-friendly content from specs.\n * Primarily used by VSCode and CLI for \"Ask AI\" features.\n */\n\nimport {\n type AgentType,\n loadSpecFromSource,\n type ParsedSpec,\n specToMarkdown,\n} from '@contractspec/module.workspace';\nimport { listSpecs } from '../list';\nimport type { FsAdapter } from '../../ports/fs';\n\nexport * from './verify-static';\n\n/**\n * Generate full markdown context for a feature, including referenced specs.\n */\nexport async function generateFeatureContextMarkdown(\n feature: ParsedSpec,\n adapters: { fs: FsAdapter }\n): Promise<string> {\n const parts: string[] = [];\n\n // 1. Render feature header/context\n parts.push(specToMarkdown(feature, 'context'));\n\n // 2. Find all referenced specs\n // We need to scan the workspace to find them\n // Optimization: In a real app we might have a pre-built index\n const allSpecs = await listSpecs(adapters);\n\n // Helper to find and load a spec\n const loadChild = async (ref: { name: string; version: string }) => {\n const found = allSpecs.find(\n (s) => s.key === ref.name && s.version === ref.version\n );\n if (!found) return null;\n\n // Load full parsed spec\n const specs = await loadSpecFromSource(found.filePath);\n return specs.find((s) => s.meta.key === ref.name) ?? null;\n };\n\n // 3. Render operations\n if (feature.operations?.length) {\n parts.push(`\\n## Operations (${feature.operations.length})\\n`);\n for (const op of feature.operations) {\n const child = await loadChild(op);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${op.name} (v${op.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n // 4. Render events\n if (feature.events?.length) {\n parts.push(`\\n## Events (${feature.events.length})\\n`);\n for (const ev of feature.events) {\n const child = await loadChild(ev);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${ev.name} (v${ev.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n // 5. Render presentations\n if (feature.presentations?.length) {\n parts.push(`\\n## Presentations (${feature.presentations.length})\\n`);\n for (const pres of feature.presentations) {\n const child = await loadChild(pres);\n if (child) {\n parts.push(specToMarkdown(child, 'full'));\n } else {\n parts.push(`### ${pres.name} (v${pres.version})\\n\\n*Spec not found*`);\n }\n parts.push('---');\n }\n }\n\n return parts.join('\\n');\n}\n\n/**\n * Generate an implementation guide for a parsed spec.\n * This logic was extracted from VSCode extension.\n */\nexport function generateGuideFromParsedSpec(\n spec: ParsedSpec,\n agent: AgentType\n): string {\n const lines: string[] = [];\n\n // Header\n lines.push(`# Implementation Guide: ${spec.meta.key}`);\n lines.push('');\n lines.push(`**Target Agent**: ${agent}`);\n lines.push(\n `**Spec Type**: ${spec.specType}${spec.kind ? ` (${spec.kind})` : ''}`\n );\n lines.push('');\n\n // Description\n if (spec.meta.description) {\n lines.push('## Overview');\n lines.push('');\n lines.push(spec.meta.description);\n lines.push('');\n }\n\n // Goal and Context\n if (spec.meta.goal) {\n lines.push('## Goal');\n lines.push('');\n lines.push(spec.meta.goal);\n lines.push('');\n }\n\n if (spec.meta.context) {\n lines.push('## Context');\n lines.push('');\n lines.push(spec.meta.context);\n lines.push('');\n }\n\n // Implementation Steps\n lines.push('## Implementation Steps');\n lines.push('');\n\n if (spec.specType === 'operation') {\n lines.push(`1. Create the ${spec.kind ?? 'operation'} handler function`);\n if (spec.hasIo) {\n lines.push('2. Implement input validation according to the schema');\n lines.push('3. Implement the core business logic');\n lines.push('4. Return output matching the expected schema');\n }\n if (spec.hasPolicy) {\n lines.push('5. Enforce authorization and policies');\n }\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n lines.push('6. Emit events on success:');\n for (const ev of spec.emittedEvents) {\n lines.push(` - \\`${ev.name}\\` (v${ev.version})`);\n }\n }\n lines.push('7. Add error handling for expected failure cases');\n lines.push('8. Write tests covering success and error scenarios');\n } else if (spec.specType === 'feature') {\n lines.push('1. Set up the feature module structure');\n if (spec.operations && spec.operations.length > 0) {\n lines.push('2. Implement operations:');\n for (const op of spec.operations) {\n lines.push(` - \\`${op.name}\\` (v${op.version})`);\n }\n }\n if (spec.presentations && spec.presentations.length > 0) {\n lines.push('3. Implement presentations:');\n for (const pres of spec.presentations) {\n lines.push(` - \\`${pres.name}\\` (v${pres.version})`);\n }\n }\n lines.push('4. Wire up feature exports');\n lines.push('5. Add integration tests');\n } else {\n lines.push('1. Review the spec requirements');\n lines.push('2. Implement the core logic');\n lines.push('3. Add tests');\n lines.push('4. Document the implementation');\n }\n\n lines.push('');\n\n // Constraints\n lines.push('## Constraints');\n lines.push('');\n lines.push(`- Stability: ${spec.meta.stability ?? 'experimental'}`);\n if (spec.meta.owners && spec.meta.owners.length > 0) {\n lines.push(`- Owners: ${spec.meta.owners.join(', ')}`);\n }\n if (spec.meta.tags && spec.meta.tags.length > 0) {\n lines.push(`- Tags: ${spec.meta.tags.join(', ')}`);\n }\n lines.push('');\n\n // Agent-specific notes\n if (agent === 'cursor-cli') {\n lines.push('## Cursor Notes');\n lines.push('');\n lines.push('- Use Composer mode for multi-file changes');\n lines.push('- Reference this guide in your cursor rules');\n lines.push('- Break implementation into small, focused commits');\n } else if (agent === 'claude-code') {\n lines.push('## Claude Code Notes');\n lines.push('');\n lines.push('- Use extended thinking for complex logic');\n lines.push('- Ask for clarification on ambiguous requirements');\n lines.push('- Provide step-by-step reasoning');\n } else if (agent === 'generic-mcp') {\n lines.push('## General Notes');\n lines.push('');\n lines.push('- Use inline comments to guide generation');\n lines.push('- Review generated code carefully');\n }\n\n // Append context formatted spec\n lines.push('');\n lines.push('## Spec Definition');\n lines.push('');\n lines.push(specToMarkdown(spec, 'full'));\n\n return lines.join('\\n');\n}\n\n/**\n * Generate Cursor rules from parsed spec.\n */\nexport function generateCursorRulesFromParsedSpec(spec: ParsedSpec): string {\n const lines: string[] = [];\n\n lines.push(`# ${spec.meta.key}`);\n lines.push('');\n lines.push(`Description: ${spec.meta.description ?? 'No description'}`);\n lines.push('');\n lines.push('## Rules');\n lines.push('');\n\n if (spec.specType === 'operation') {\n lines.push(`- This is a ${spec.kind ?? 'operation'} spec`);\n if (spec.hasIo) {\n lines.push('- Validate input and output against schemas');\n }\n if (spec.hasPolicy) {\n lines.push('- Enforce authorization policies');\n }\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n lines.push('- Emit documented events');\n }\n } else if (spec.specType === 'feature') {\n lines.push('- Implement all operations and presentations');\n lines.push('- Follow modular architecture');\n } else {\n lines.push(`- Follow ${spec.specType} patterns`);\n }\n\n lines.push('- Follow project code quality standards');\n lines.push('- Write tests for new functionality');\n\n return lines.join('\\n');\n}\n\n/**\n * Export spec to clipboard format suitable for pasting into LLM.\n */\nexport function exportSpecForLLM(\n spec: ParsedSpec,\n format: 'guide' | 'rules' | 'prompt' | 'context' | 'full',\n agent: AgentType = 'generic-mcp'\n): string {\n switch (format) {\n case 'guide':\n return generateGuideFromParsedSpec(spec, agent);\n case 'rules':\n return generateCursorRulesFromParsedSpec(spec);\n case 'prompt':\n return specToMarkdown(spec, 'prompt');\n case 'context':\n return specToMarkdown(spec, 'context');\n case 'full':\n default:\n return specToMarkdown(spec, 'full');\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,eAAsB,+BACpB,SACA,UACiB;CACjB,MAAMA,QAAkB,EAAE;AAG1B,OAAM,KAAK,eAAe,SAAS,UAAU,CAAC;CAK9C,MAAM,WAAW,MAAM,UAAU,SAAS;CAG1C,MAAM,YAAY,OAAO,QAA2C;EAClE,MAAM,QAAQ,SAAS,MACpB,MAAM,EAAE,QAAQ,IAAI,QAAQ,EAAE,YAAY,IAAI,QAChD;AACD,MAAI,CAAC,MAAO,QAAO;AAInB,UADc,MAAM,mBAAmB,MAAM,SAAS,EACzC,MAAM,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,IAAI;;AAIvD,KAAI,QAAQ,YAAY,QAAQ;AAC9B,QAAM,KAAK,oBAAoB,QAAQ,WAAW,OAAO,KAAK;AAC9D,OAAK,MAAM,MAAM,QAAQ,YAAY;GACnC,MAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,GAAG,KAAK,KAAK,GAAG,QAAQ,uBAAuB;AAEnE,SAAM,KAAK,MAAM;;;AAKrB,KAAI,QAAQ,QAAQ,QAAQ;AAC1B,QAAM,KAAK,gBAAgB,QAAQ,OAAO,OAAO,KAAK;AACtD,OAAK,MAAM,MAAM,QAAQ,QAAQ;GAC/B,MAAM,QAAQ,MAAM,UAAU,GAAG;AACjC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,GAAG,KAAK,KAAK,GAAG,QAAQ,uBAAuB;AAEnE,SAAM,KAAK,MAAM;;;AAKrB,KAAI,QAAQ,eAAe,QAAQ;AACjC,QAAM,KAAK,uBAAuB,QAAQ,cAAc,OAAO,KAAK;AACpE,OAAK,MAAM,QAAQ,QAAQ,eAAe;GACxC,MAAM,QAAQ,MAAM,UAAU,KAAK;AACnC,OAAI,MACF,OAAM,KAAK,eAAe,OAAO,OAAO,CAAC;OAEzC,OAAM,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,QAAQ,uBAAuB;AAEvE,SAAM,KAAK,MAAM;;;AAIrB,QAAO,MAAM,KAAK,KAAK;;;;;;AAOzB,SAAgB,4BACd,MACA,OACQ;CACR,MAAMC,QAAkB,EAAE;AAG1B,OAAM,KAAK,2BAA2B,KAAK,KAAK,MAAM;AACtD,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,qBAAqB,QAAQ;AACxC,OAAM,KACJ,kBAAkB,KAAK,WAAW,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,KACnE;AACD,OAAM,KAAK,GAAG;AAGd,KAAI,KAAK,KAAK,aAAa;AACzB,QAAM,KAAK,cAAc;AACzB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,YAAY;AACjC,QAAM,KAAK,GAAG;;AAIhB,KAAI,KAAK,KAAK,MAAM;AAClB,QAAM,KAAK,UAAU;AACrB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,KAAK;AAC1B,QAAM,KAAK,GAAG;;AAGhB,KAAI,KAAK,KAAK,SAAS;AACrB,QAAM,KAAK,aAAa;AACxB,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,KAAK,KAAK,QAAQ;AAC7B,QAAM,KAAK,GAAG;;AAIhB,OAAM,KAAK,0BAA0B;AACrC,OAAM,KAAK,GAAG;AAEd,KAAI,KAAK,aAAa,aAAa;AACjC,QAAM,KAAK,iBAAiB,KAAK,QAAQ,YAAY,mBAAmB;AACxE,MAAI,KAAK,OAAO;AACd,SAAM,KAAK,wDAAwD;AACnE,SAAM,KAAK,uCAAuC;AAClD,SAAM,KAAK,gDAAgD;;AAE7D,MAAI,KAAK,UACP,OAAM,KAAK,wCAAwC;AAErD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AACvD,SAAM,KAAK,6BAA6B;AACxC,QAAK,MAAM,MAAM,KAAK,cACpB,OAAM,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG,QAAQ,GAAG;;AAGtD,QAAM,KAAK,mDAAmD;AAC9D,QAAM,KAAK,sDAAsD;YACxD,KAAK,aAAa,WAAW;AACtC,QAAM,KAAK,yCAAyC;AACpD,MAAI,KAAK,cAAc,KAAK,WAAW,SAAS,GAAG;AACjD,SAAM,KAAK,2BAA2B;AACtC,QAAK,MAAM,MAAM,KAAK,WACpB,OAAM,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG,QAAQ,GAAG;;AAGtD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAAG;AACvD,SAAM,KAAK,8BAA8B;AACzC,QAAK,MAAM,QAAQ,KAAK,cACtB,OAAM,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK,QAAQ,GAAG;;AAG1D,QAAM,KAAK,6BAA6B;AACxC,QAAM,KAAK,2BAA2B;QACjC;AACL,QAAM,KAAK,kCAAkC;AAC7C,QAAM,KAAK,8BAA8B;AACzC,QAAM,KAAK,eAAe;AAC1B,QAAM,KAAK,iCAAiC;;AAG9C,OAAM,KAAK,GAAG;AAGd,OAAM,KAAK,iBAAiB;AAC5B,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,gBAAgB,KAAK,KAAK,aAAa,iBAAiB;AACnE,KAAI,KAAK,KAAK,UAAU,KAAK,KAAK,OAAO,SAAS,EAChD,OAAM,KAAK,aAAa,KAAK,KAAK,OAAO,KAAK,KAAK,GAAG;AAExD,KAAI,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,SAAS,EAC5C,OAAM,KAAK,WAAW,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAEpD,OAAM,KAAK,GAAG;AAGd,KAAI,UAAU,cAAc;AAC1B,QAAM,KAAK,kBAAkB;AAC7B,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,6CAA6C;AACxD,QAAM,KAAK,8CAA8C;AACzD,QAAM,KAAK,qDAAqD;YACvD,UAAU,eAAe;AAClC,QAAM,KAAK,uBAAuB;AAClC,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,4CAA4C;AACvD,QAAM,KAAK,oDAAoD;AAC/D,QAAM,KAAK,mCAAmC;YACrC,UAAU,eAAe;AAClC,QAAM,KAAK,mBAAmB;AAC9B,QAAM,KAAK,GAAG;AACd,QAAM,KAAK,4CAA4C;AACvD,QAAM,KAAK,oCAAoC;;AAIjD,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,qBAAqB;AAChC,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,eAAe,MAAM,OAAO,CAAC;AAExC,QAAO,MAAM,KAAK,KAAK;;;;;AAMzB,SAAgB,kCAAkC,MAA0B;CAC1E,MAAMA,QAAkB,EAAE;AAE1B,OAAM,KAAK,KAAK,KAAK,KAAK,MAAM;AAChC,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,gBAAgB,KAAK,KAAK,eAAe,mBAAmB;AACvE,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,WAAW;AACtB,OAAM,KAAK,GAAG;AAEd,KAAI,KAAK,aAAa,aAAa;AACjC,QAAM,KAAK,eAAe,KAAK,QAAQ,YAAY,OAAO;AAC1D,MAAI,KAAK,MACP,OAAM,KAAK,8CAA8C;AAE3D,MAAI,KAAK,UACP,OAAM,KAAK,mCAAmC;AAEhD,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,EACpD,OAAM,KAAK,2BAA2B;YAE/B,KAAK,aAAa,WAAW;AACtC,QAAM,KAAK,+CAA+C;AAC1D,QAAM,KAAK,gCAAgC;OAE3C,OAAM,KAAK,YAAY,KAAK,SAAS,WAAW;AAGlD,OAAM,KAAK,0CAA0C;AACrD,OAAM,KAAK,sCAAsC;AAEjD,QAAO,MAAM,KAAK,KAAK;;;;;AAMzB,SAAgB,iBACd,MACA,QACA,QAAmB,eACX;AACR,SAAQ,QAAR;EACE,KAAK,QACH,QAAO,4BAA4B,MAAM,MAAM;EACjD,KAAK,QACH,QAAO,kCAAkC,KAAK;EAChD,KAAK,SACH,QAAO,eAAe,MAAM,SAAS;EACvC,KAAK,UACH,QAAO,eAAe,MAAM,UAAU;EACxC,KAAK;EACL,QACE,QAAO,eAAe,MAAM,OAAO"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ParsedSpec } from "@contractspec/module.workspace";
|
|
2
|
-
import { VerificationTier } from "@contractspec/lib.contracts/llm";
|
|
3
|
-
|
|
4
|
-
//#region src/services/llm/verify-static.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Verification issue found during static check.
|
|
8
|
-
*/
|
|
9
|
-
interface VerificationIssue$1 {
|
|
10
|
-
severity: 'error' | 'warning' | 'info';
|
|
11
|
-
message: string;
|
|
12
|
-
category: string;
|
|
13
|
-
line?: number;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Verify implementation against parsed spec.
|
|
17
|
-
* This is a simplified verification that checks for basic patterns.
|
|
18
|
-
*/
|
|
19
|
-
declare function verifyImplementationAgainstParsedSpec(spec: ParsedSpec, implementationCode: string, tiers: VerificationTier[]): VerificationIssue$1[];
|
|
20
|
-
/**
|
|
21
|
-
* Format verification report as markdown.
|
|
22
|
-
*/
|
|
23
|
-
declare function formatVerificationReport(spec: ParsedSpec, issues: VerificationIssue$1[]): string;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { VerificationIssue$1 as VerificationIssue, formatVerificationReport, verifyImplementationAgainstParsedSpec };
|
|
26
|
-
//# sourceMappingURL=verify-static.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-static.d.ts","names":[],"sources":["../../../src/services/llm/verify-static.ts"],"sourcesContent":[],"mappings":";;;;;;;AAyGA;UA5FiB,mBAAA;;;;;;;;;;iBAWD,qCAAA,OACR,+CAEC,qBACN;;;;iBA6Ea,wBAAA,OACR,oBACE"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
//#region src/services/llm/verify-static.ts
|
|
2
|
-
/**
|
|
3
|
-
* Verify implementation against parsed spec.
|
|
4
|
-
* This is a simplified verification that checks for basic patterns.
|
|
5
|
-
*/
|
|
6
|
-
function verifyImplementationAgainstParsedSpec(spec, implementationCode, tiers) {
|
|
7
|
-
const issues = [];
|
|
8
|
-
if (tiers.includes("structure")) {
|
|
9
|
-
if (!/export\s+(async\s+)?function|export\s+class|export\s+const/.test(implementationCode)) issues.push({
|
|
10
|
-
severity: "warning",
|
|
11
|
-
message: "No exports found in implementation",
|
|
12
|
-
category: "structure"
|
|
13
|
-
});
|
|
14
|
-
if (spec.meta.key && !implementationCode.includes(spec.meta.key)) issues.push({
|
|
15
|
-
severity: "info",
|
|
16
|
-
message: `Spec name "${spec.meta.key}" not found in implementation`,
|
|
17
|
-
category: "structure"
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
if (tiers.includes("behavior")) {
|
|
21
|
-
if (!/try\s*{|catch\s*\(|throw\s+new/.test(implementationCode)) issues.push({
|
|
22
|
-
severity: "warning",
|
|
23
|
-
message: "No error handling patterns found",
|
|
24
|
-
category: "behavior"
|
|
25
|
-
});
|
|
26
|
-
if (spec.specType === "operation") {
|
|
27
|
-
if (!/async\s+|await\s+|Promise/.test(implementationCode)) issues.push({
|
|
28
|
-
severity: "info",
|
|
29
|
-
message: "No async patterns found (operations typically use async)",
|
|
30
|
-
category: "behavior"
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (spec.emittedEvents && spec.emittedEvents.length > 0) {
|
|
34
|
-
if (!/emit|publish|dispatch|fire/i.test(implementationCode)) issues.push({
|
|
35
|
-
severity: "warning",
|
|
36
|
-
message: `Spec emits ${spec.emittedEvents.length} event(s) but no event emission found`,
|
|
37
|
-
category: "behavior"
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return issues;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Format verification report as markdown.
|
|
45
|
-
*/
|
|
46
|
-
function formatVerificationReport(spec, issues) {
|
|
47
|
-
const lines = [];
|
|
48
|
-
lines.push(`# Verification Report: ${spec.meta.key}`);
|
|
49
|
-
lines.push("");
|
|
50
|
-
const errors = issues.filter((i) => i.severity === "error");
|
|
51
|
-
const warnings = issues.filter((i) => i.severity === "warning");
|
|
52
|
-
const infos = issues.filter((i) => i.severity === "info");
|
|
53
|
-
lines.push("## Summary");
|
|
54
|
-
lines.push("");
|
|
55
|
-
lines.push(`- Errors: ${errors.length}`);
|
|
56
|
-
lines.push(`- Warnings: ${warnings.length}`);
|
|
57
|
-
lines.push(`- Info: ${infos.length}`);
|
|
58
|
-
lines.push("");
|
|
59
|
-
if (errors.length > 0) {
|
|
60
|
-
lines.push("## Errors");
|
|
61
|
-
lines.push("");
|
|
62
|
-
for (const issue of errors) lines.push(`- ❌ **${issue.category}**: ${issue.message}`);
|
|
63
|
-
lines.push("");
|
|
64
|
-
}
|
|
65
|
-
if (warnings.length > 0) {
|
|
66
|
-
lines.push("## Warnings");
|
|
67
|
-
lines.push("");
|
|
68
|
-
for (const issue of warnings) lines.push(`- ⚠️ **${issue.category}**: ${issue.message}`);
|
|
69
|
-
lines.push("");
|
|
70
|
-
}
|
|
71
|
-
if (infos.length > 0) {
|
|
72
|
-
lines.push("## Info");
|
|
73
|
-
lines.push("");
|
|
74
|
-
for (const issue of infos) lines.push(`- ℹ️ **${issue.category}**: ${issue.message}`);
|
|
75
|
-
lines.push("");
|
|
76
|
-
}
|
|
77
|
-
return lines.join("\n");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
//#endregion
|
|
81
|
-
export { formatVerificationReport, verifyImplementationAgainstParsedSpec };
|
|
82
|
-
//# sourceMappingURL=verify-static.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"verify-static.js","names":["issues: VerificationIssue[]","lines: string[]"],"sources":["../../../src/services/llm/verify-static.ts"],"sourcesContent":["/**\n * Static verification of implementation against parsed spec.\n *\n * This performs lightweight checks based on regex and static analysis\n * without requiring a full build or runtime environment.\n */\n\nimport type { VerificationTier } from '@contractspec/lib.contracts/llm';\nimport type { ParsedSpec } from '@contractspec/module.workspace';\n\n/**\n * Verification issue found during static check.\n */\nexport interface VerificationIssue {\n severity: 'error' | 'warning' | 'info';\n message: string;\n category: string;\n line?: number;\n}\n\n/**\n * Verify implementation against parsed spec.\n * This is a simplified verification that checks for basic patterns.\n */\nexport function verifyImplementationAgainstParsedSpec(\n spec: ParsedSpec,\n implementationCode: string,\n tiers: VerificationTier[]\n): VerificationIssue[] {\n const issues: VerificationIssue[] = [];\n\n // Structure checks (Tier 1)\n if (tiers.includes('structure')) {\n // Check for function/class export\n const hasExport =\n /export\\s+(async\\s+)?function|export\\s+class|export\\s+const/.test(\n implementationCode\n );\n if (!hasExport) {\n issues.push({\n severity: 'warning',\n message: 'No exports found in implementation',\n category: 'structure',\n });\n }\n\n // Check for spec name reference\n if (spec.meta.key && !implementationCode.includes(spec.meta.key)) {\n issues.push({\n severity: 'info',\n message: `Spec name \"${spec.meta.key}\" not found in implementation`,\n category: 'structure',\n });\n }\n }\n\n // Behavior checks (Tier 2)\n if (tiers.includes('behavior')) {\n // Check for error handling\n const hasErrorHandling = /try\\s*{|catch\\s*\\(|throw\\s+new/.test(\n implementationCode\n );\n if (!hasErrorHandling) {\n issues.push({\n severity: 'warning',\n message: 'No error handling patterns found',\n category: 'behavior',\n });\n }\n\n // Check for async patterns if needed\n if (spec.specType === 'operation') {\n const hasAsyncPattern = /async\\s+|await\\s+|Promise/.test(\n implementationCode\n );\n if (!hasAsyncPattern) {\n issues.push({\n severity: 'info',\n message: 'No async patterns found (operations typically use async)',\n category: 'behavior',\n });\n }\n }\n\n // Check for event emission if spec defines emitted events\n if (spec.emittedEvents && spec.emittedEvents.length > 0) {\n const hasEventEmit = /emit|publish|dispatch|fire/i.test(\n implementationCode\n );\n if (!hasEventEmit) {\n issues.push({\n severity: 'warning',\n message: `Spec emits ${spec.emittedEvents.length} event(s) but no event emission found`,\n category: 'behavior',\n });\n }\n }\n }\n\n return issues;\n}\n\n/**\n * Format verification report as markdown.\n */\nexport function formatVerificationReport(\n spec: ParsedSpec,\n issues: VerificationIssue[]\n): string {\n const lines: string[] = [];\n\n lines.push(`# Verification Report: ${spec.meta.key}`);\n lines.push('');\n\n const errors = issues.filter((i) => i.severity === 'error');\n const warnings = issues.filter((i) => i.severity === 'warning');\n const infos = issues.filter((i) => i.severity === 'info');\n\n lines.push('## Summary');\n lines.push('');\n lines.push(`- Errors: ${errors.length}`);\n lines.push(`- Warnings: ${warnings.length}`);\n lines.push(`- Info: ${infos.length}`);\n lines.push('');\n\n if (errors.length > 0) {\n lines.push('## Errors');\n lines.push('');\n for (const issue of errors) {\n lines.push(`- ❌ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n if (warnings.length > 0) {\n lines.push('## Warnings');\n lines.push('');\n for (const issue of warnings) {\n lines.push(`- ⚠️ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n if (infos.length > 0) {\n lines.push('## Info');\n lines.push('');\n for (const issue of infos) {\n lines.push(`- ℹ️ **${issue.category}**: ${issue.message}`);\n }\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n"],"mappings":";;;;;AAwBA,SAAgB,sCACd,MACA,oBACA,OACqB;CACrB,MAAMA,SAA8B,EAAE;AAGtC,KAAI,MAAM,SAAS,YAAY,EAAE;AAM/B,MAAI,CAHF,6DAA6D,KAC3D,mBACD,CAED,QAAO,KAAK;GACV,UAAU;GACV,SAAS;GACT,UAAU;GACX,CAAC;AAIJ,MAAI,KAAK,KAAK,OAAO,CAAC,mBAAmB,SAAS,KAAK,KAAK,IAAI,CAC9D,QAAO,KAAK;GACV,UAAU;GACV,SAAS,cAAc,KAAK,KAAK,IAAI;GACrC,UAAU;GACX,CAAC;;AAKN,KAAI,MAAM,SAAS,WAAW,EAAE;AAK9B,MAAI,CAHqB,iCAAiC,KACxD,mBACD,CAEC,QAAO,KAAK;GACV,UAAU;GACV,SAAS;GACT,UAAU;GACX,CAAC;AAIJ,MAAI,KAAK,aAAa,aAIpB;OAAI,CAHoB,4BAA4B,KAClD,mBACD,CAEC,QAAO,KAAK;IACV,UAAU;IACV,SAAS;IACT,UAAU;IACX,CAAC;;AAKN,MAAI,KAAK,iBAAiB,KAAK,cAAc,SAAS,GAIpD;OAAI,CAHiB,8BAA8B,KACjD,mBACD,CAEC,QAAO,KAAK;IACV,UAAU;IACV,SAAS,cAAc,KAAK,cAAc,OAAO;IACjD,UAAU;IACX,CAAC;;;AAKR,QAAO;;;;;AAMT,SAAgB,yBACd,MACA,QACQ;CACR,MAAMC,QAAkB,EAAE;AAE1B,OAAM,KAAK,0BAA0B,KAAK,KAAK,MAAM;AACrD,OAAM,KAAK,GAAG;CAEd,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE,aAAa,QAAQ;CAC3D,MAAM,WAAW,OAAO,QAAQ,MAAM,EAAE,aAAa,UAAU;CAC/D,MAAM,QAAQ,OAAO,QAAQ,MAAM,EAAE,aAAa,OAAO;AAEzD,OAAM,KAAK,aAAa;AACxB,OAAM,KAAK,GAAG;AACd,OAAM,KAAK,aAAa,OAAO,SAAS;AACxC,OAAM,KAAK,eAAe,SAAS,SAAS;AAC5C,OAAM,KAAK,WAAW,MAAM,SAAS;AACrC,OAAM,KAAK,GAAG;AAEd,KAAI,OAAO,SAAS,GAAG;AACrB,QAAM,KAAK,YAAY;AACvB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,SAAS,MAAM,SAAS,MAAM,MAAM,UAAU;AAE3D,QAAM,KAAK,GAAG;;AAGhB,KAAI,SAAS,SAAS,GAAG;AACvB,QAAM,KAAK,cAAc;AACzB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,SAClB,OAAM,KAAK,UAAU,MAAM,SAAS,MAAM,MAAM,UAAU;AAE5D,QAAM,KAAK,GAAG;;AAGhB,KAAI,MAAM,SAAS,GAAG;AACpB,QAAM,KAAK,UAAU;AACrB,QAAM,KAAK,GAAG;AACd,OAAK,MAAM,SAAS,MAClB,OAAM,KAAK,UAAU,MAAM,SAAS,MAAM,MAAM,UAAU;AAE5D,QAAM,KAAK,GAAG;;AAGhB,QAAO,MAAM,KAAK,KAAK"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { LoggerAdapter } from "../../ports/logger.js";
|
|
3
|
-
import { OpenApiDocument, OpenApiServer } from "@contractspec/lib.contracts";
|
|
4
|
-
|
|
5
|
-
//#region src/services/openapi/export-service.d.ts
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Options for OpenAPI export.
|
|
9
|
-
*/
|
|
10
|
-
interface OpenApiExportOptions {
|
|
11
|
-
/**
|
|
12
|
-
* Path to module exporting OperationSpecRegistry.
|
|
13
|
-
*/
|
|
14
|
-
registryPath: string;
|
|
15
|
-
/**
|
|
16
|
-
* Output file path.
|
|
17
|
-
*/
|
|
18
|
-
outputPath?: string;
|
|
19
|
-
/**
|
|
20
|
-
* OpenAPI title.
|
|
21
|
-
*/
|
|
22
|
-
title?: string;
|
|
23
|
-
/**
|
|
24
|
-
* OpenAPI version.
|
|
25
|
-
*/
|
|
26
|
-
version?: string;
|
|
27
|
-
/**
|
|
28
|
-
* OpenAPI description.
|
|
29
|
-
*/
|
|
30
|
-
description?: string;
|
|
31
|
-
/**
|
|
32
|
-
* Server URLs to include.
|
|
33
|
-
*/
|
|
34
|
-
servers?: OpenApiServer[];
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Result of OpenAPI export.
|
|
38
|
-
*/
|
|
39
|
-
interface OpenApiExportResult {
|
|
40
|
-
document: OpenApiDocument;
|
|
41
|
-
outputPath: string;
|
|
42
|
-
json: string;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Export OpenAPI document from a OperationSpecRegistry.
|
|
46
|
-
*/
|
|
47
|
-
declare function exportOpenApi(options: OpenApiExportOptions, adapters: {
|
|
48
|
-
fs: FsAdapter;
|
|
49
|
-
logger: LoggerAdapter;
|
|
50
|
-
}): Promise<OpenApiExportResult>;
|
|
51
|
-
//#endregion
|
|
52
|
-
export { OpenApiExportOptions, OpenApiExportResult, exportOpenApi };
|
|
53
|
-
//# sourceMappingURL=export-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export-service.d.ts","names":[],"sources":["../../../src/services/openapi/export-service.ts"],"sourcesContent":[],"mappings":";;;;;;AAmDA;AAkBA;;AAEkB,UAvDD,oBAAA,CAuDC;EAAmB;;;EAC3B,YAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;YA3BE;;;;;UAMK,mBAAA;YACL;;;;;;;iBAiBU,aAAA,UACX;MACO;UAAmB;IAClC,QAAQ"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { OperationSpecRegistry, openApiForRegistry } from "@contractspec/lib.contracts";
|
|
2
|
-
|
|
3
|
-
//#region src/services/openapi/export-service.ts
|
|
4
|
-
/**
|
|
5
|
-
* OpenAPI export service - generates OpenAPI documents from OperationSpecRegistry.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Export OpenAPI document from a OperationSpecRegistry.
|
|
9
|
-
*/
|
|
10
|
-
async function exportOpenApi(options, adapters) {
|
|
11
|
-
const { fs, logger } = adapters;
|
|
12
|
-
const { registryPath, outputPath = "./openapi.json" } = options;
|
|
13
|
-
logger.info("Loading registry...", { registryPath });
|
|
14
|
-
const registry = await loadRegistry(registryPath, fs);
|
|
15
|
-
logger.info("Generating OpenAPI document...");
|
|
16
|
-
const document = openApiForRegistry(registry, {
|
|
17
|
-
title: options.title,
|
|
18
|
-
version: options.version,
|
|
19
|
-
description: options.description,
|
|
20
|
-
servers: options.servers
|
|
21
|
-
});
|
|
22
|
-
const json = JSON.stringify(document, null, 2) + "\n";
|
|
23
|
-
const resolvedPath = fs.resolve(outputPath);
|
|
24
|
-
await fs.mkdir(fs.dirname(resolvedPath));
|
|
25
|
-
await fs.writeFile(resolvedPath, json);
|
|
26
|
-
logger.info(`OpenAPI document written to ${resolvedPath}`);
|
|
27
|
-
return {
|
|
28
|
-
document,
|
|
29
|
-
outputPath: resolvedPath,
|
|
30
|
-
json
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Load a OperationSpecRegistry from a module.
|
|
35
|
-
*/
|
|
36
|
-
async function loadRegistry(modulePath, fs) {
|
|
37
|
-
const exports = await import(fs.resolve(modulePath));
|
|
38
|
-
if (exports instanceof OperationSpecRegistry) return exports;
|
|
39
|
-
if (exports.registry instanceof OperationSpecRegistry) return exports.registry;
|
|
40
|
-
const factory = typeof exports.createRegistry === "function" ? exports.createRegistry : typeof exports.default === "function" ? exports.default : void 0;
|
|
41
|
-
if (factory) {
|
|
42
|
-
const result = await factory();
|
|
43
|
-
if (result instanceof OperationSpecRegistry) return result;
|
|
44
|
-
}
|
|
45
|
-
throw new Error(`Registry module ${modulePath} must export a OperationSpecRegistry instance or a factory function returning one.`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { exportOpenApi };
|
|
50
|
-
//# sourceMappingURL=export-service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"export-service.js","names":[],"sources":["../../../src/services/openapi/export-service.ts"],"sourcesContent":["/**\n * OpenAPI export service - generates OpenAPI documents from OperationSpecRegistry.\n */\n\nimport {\n type OpenApiDocument,\n openApiForRegistry,\n type OpenApiServer,\n OperationSpecRegistry,\n} from '@contractspec/lib.contracts';\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\n\n/**\n * Options for OpenAPI export.\n */\nexport interface OpenApiExportOptions {\n /**\n * Path to module exporting OperationSpecRegistry.\n */\n registryPath: string;\n\n /**\n * Output file path.\n */\n outputPath?: string;\n\n /**\n * OpenAPI title.\n */\n title?: string;\n\n /**\n * OpenAPI version.\n */\n version?: string;\n\n /**\n * OpenAPI description.\n */\n description?: string;\n\n /**\n * Server URLs to include.\n */\n servers?: OpenApiServer[];\n}\n\n/**\n * Result of OpenAPI export.\n */\nexport interface OpenApiExportResult {\n document: OpenApiDocument;\n outputPath: string;\n json: string;\n}\n\n/**\n * Module that exports a OperationSpecRegistry.\n */\ninterface LoadedRegistryModule {\n default?: unknown;\n createRegistry?: () => Promise<OperationSpecRegistry> | OperationSpecRegistry;\n registry?: OperationSpecRegistry;\n}\n\n/**\n * Export OpenAPI document from a OperationSpecRegistry.\n */\nexport async function exportOpenApi(\n options: OpenApiExportOptions,\n adapters: { fs: FsAdapter; logger: LoggerAdapter }\n): Promise<OpenApiExportResult> {\n const { fs, logger } = adapters;\n const { registryPath, outputPath = './openapi.json' } = options;\n\n logger.info('Loading registry...', { registryPath });\n\n // Load the registry\n const registry = await loadRegistry(registryPath, fs);\n\n logger.info('Generating OpenAPI document...');\n\n // Generate OpenAPI document\n const document = openApiForRegistry(registry, {\n title: options.title,\n version: options.version,\n description: options.description,\n servers: options.servers,\n });\n\n // Serialize to JSON\n const json = JSON.stringify(document, null, 2) + '\\n';\n\n // Resolve output path\n const resolvedPath = fs.resolve(outputPath);\n\n // Ensure directory exists\n await fs.mkdir(fs.dirname(resolvedPath));\n\n // Write file\n await fs.writeFile(resolvedPath, json);\n\n logger.info(`OpenAPI document written to ${resolvedPath}`);\n\n return {\n document,\n outputPath: resolvedPath,\n json,\n };\n}\n\n/**\n * Load a OperationSpecRegistry from a module.\n */\nasync function loadRegistry(\n modulePath: string,\n fs: FsAdapter\n): Promise<OperationSpecRegistry> {\n // Resolve absolute path\n const absPath = fs.resolve(modulePath);\n\n // Dynamic import\n const exports = (await import(absPath)) as LoadedRegistryModule;\n\n // Check if exports is already a registry\n if (exports instanceof OperationSpecRegistry) {\n return exports;\n }\n\n // Check if registry property exists\n if (exports.registry instanceof OperationSpecRegistry) {\n return exports.registry;\n }\n\n // Check for factory function\n const factory =\n typeof exports.createRegistry === 'function'\n ? exports.createRegistry\n : typeof exports.default === 'function'\n ? (exports.default as () =>\n | Promise<OperationSpecRegistry>\n | OperationSpecRegistry)\n : undefined;\n\n if (factory) {\n const result = await factory();\n if (result instanceof OperationSpecRegistry) {\n return result;\n }\n }\n\n throw new Error(\n `Registry module ${modulePath} must export a OperationSpecRegistry instance or a factory function returning one.`\n );\n}\n"],"mappings":";;;;;;;;;AAqEA,eAAsB,cACpB,SACA,UAC8B;CAC9B,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,EAAE,cAAc,aAAa,qBAAqB;AAExD,QAAO,KAAK,uBAAuB,EAAE,cAAc,CAAC;CAGpD,MAAM,WAAW,MAAM,aAAa,cAAc,GAAG;AAErD,QAAO,KAAK,iCAAiC;CAG7C,MAAM,WAAW,mBAAmB,UAAU;EAC5C,OAAO,QAAQ;EACf,SAAS,QAAQ;EACjB,aAAa,QAAQ;EACrB,SAAS,QAAQ;EAClB,CAAC;CAGF,MAAM,OAAO,KAAK,UAAU,UAAU,MAAM,EAAE,GAAG;CAGjD,MAAM,eAAe,GAAG,QAAQ,WAAW;AAG3C,OAAM,GAAG,MAAM,GAAG,QAAQ,aAAa,CAAC;AAGxC,OAAM,GAAG,UAAU,cAAc,KAAK;AAEtC,QAAO,KAAK,+BAA+B,eAAe;AAE1D,QAAO;EACL;EACA,YAAY;EACZ;EACD;;;;;AAMH,eAAe,aACb,YACA,IACgC;CAKhC,MAAM,UAAW,MAAM,OAHP,GAAG,QAAQ,WAAW;AAMtC,KAAI,mBAAmB,sBACrB,QAAO;AAIT,KAAI,QAAQ,oBAAoB,sBAC9B,QAAO,QAAQ;CAIjB,MAAM,UACJ,OAAO,QAAQ,mBAAmB,aAC9B,QAAQ,iBACR,OAAO,QAAQ,YAAY,aACxB,QAAQ,UAGT;AAER,KAAI,SAAS;EACX,MAAM,SAAS,MAAM,SAAS;AAC9B,MAAI,kBAAkB,sBACpB,QAAO;;AAIX,OAAM,IAAI,MACR,mBAAmB,WAAW,oFAC/B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { FsAdapter } from "../../ports/fs.js";
|
|
2
|
-
import { LoggerAdapter } from "../../ports/logger.js";
|
|
3
|
-
import { OpenApiImportServiceOptions, OpenApiImportServiceResult } from "./types.js";
|
|
4
|
-
import { ContractsrcConfig } from "@contractspec/lib.contracts";
|
|
5
|
-
|
|
6
|
-
//#region src/services/openapi/import-service.d.ts
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Import ContractSpec specs from an OpenAPI document.
|
|
10
|
-
*/
|
|
11
|
-
declare function importFromOpenApiService(contractspecOptions: ContractsrcConfig, options: OpenApiImportServiceOptions, adapters: {
|
|
12
|
-
fs: FsAdapter;
|
|
13
|
-
logger: LoggerAdapter;
|
|
14
|
-
}): Promise<OpenApiImportServiceResult>;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { importFromOpenApiService };
|
|
17
|
-
//# sourceMappingURL=import-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"import-service.d.ts","names":[],"sources":["../../../src/services/openapi/import-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AA2DqC,iBAHf,wBAAA,CAGe,mBAAA,EAFd,iBAEc,EAAA,OAAA,EAD1B,2BAC0B,EAAA,QAAA,EAAA;EAC1B,EAAA,EADO,SACP;EAAR,MAAA,EADkC,aAClC;CAAO,CAAA,EAAP,OAAO,CAAC,0BAAD,CAAA"}
|