@contractspec/bundle.workspace 1.46.1 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/rolldown_runtime.mjs +20 -0
- package/dist/adapters/ai.d.mts +12 -0
- package/dist/adapters/ai.d.mts.map +1 -0
- package/dist/adapters/ai.mjs +83 -0
- package/dist/adapters/ai.mjs.map +1 -0
- package/dist/adapters/factory.d.mts +29 -0
- package/dist/adapters/factory.d.mts.map +1 -0
- package/dist/adapters/factory.mjs +37 -0
- package/dist/adapters/factory.mjs.map +1 -0
- package/dist/adapters/fs.d.mts +12 -0
- package/dist/adapters/fs.d.mts.map +1 -0
- package/dist/adapters/fs.mjs +133 -0
- package/dist/adapters/fs.mjs.map +1 -0
- package/dist/adapters/git.d.mts +11 -0
- package/dist/adapters/git.d.mts.map +1 -0
- package/dist/adapters/git.mjs +84 -0
- package/dist/adapters/git.mjs.map +1 -0
- package/dist/adapters/index.d.mts +7 -0
- package/dist/adapters/index.mjs +9 -0
- package/dist/adapters/logger.d.mts +18 -0
- package/dist/adapters/logger.d.mts.map +1 -0
- package/dist/adapters/logger.mjs +81 -0
- package/dist/adapters/logger.mjs.map +1 -0
- package/dist/adapters/watcher.d.mts +11 -0
- package/dist/adapters/watcher.d.mts.map +1 -0
- package/dist/adapters/watcher.mjs +74 -0
- package/dist/adapters/watcher.mjs.map +1 -0
- package/dist/adapters/workspace.d.mts +148 -0
- package/dist/adapters/workspace.d.mts.map +1 -0
- package/dist/adapters/workspace.mjs +275 -0
- package/dist/adapters/workspace.mjs.map +1 -0
- package/dist/ai/agents/claude-code-agent.d.mts +22 -0
- package/dist/ai/agents/claude-code-agent.d.mts.map +1 -0
- package/dist/ai/agents/claude-code-agent.mjs +182 -0
- package/dist/ai/agents/claude-code-agent.mjs.map +1 -0
- package/dist/ai/agents/cursor-agent.d.mts +68 -0
- package/dist/ai/agents/cursor-agent.d.mts.map +1 -0
- package/dist/ai/agents/cursor-agent.mjs +436 -0
- package/dist/ai/agents/cursor-agent.mjs.map +1 -0
- package/dist/ai/agents/index.mjs +7 -0
- package/dist/ai/agents/openai-codex-agent.d.mts +22 -0
- package/dist/ai/agents/openai-codex-agent.d.mts.map +1 -0
- package/dist/ai/agents/openai-codex-agent.mjs +167 -0
- package/dist/ai/agents/openai-codex-agent.mjs.map +1 -0
- package/dist/ai/agents/orchestrator.d.mts +50 -0
- package/dist/ai/agents/orchestrator.d.mts.map +1 -0
- package/dist/ai/agents/orchestrator.mjs +143 -0
- package/dist/ai/agents/orchestrator.mjs.map +1 -0
- package/dist/ai/agents/simple-agent.d.mts +17 -0
- package/dist/ai/agents/simple-agent.d.mts.map +1 -0
- package/dist/ai/agents/simple-agent.mjs +92 -0
- package/dist/ai/agents/simple-agent.mjs.map +1 -0
- package/dist/ai/agents/types.d.mts +36 -0
- package/dist/ai/agents/types.d.mts.map +1 -0
- package/dist/ai/client.d.mts +97 -0
- package/dist/ai/client.d.mts.map +1 -0
- package/dist/ai/client.mjs +189 -0
- package/dist/ai/client.mjs.map +1 -0
- package/dist/ai/index.d.mts +9 -0
- package/dist/ai/index.mjs +11 -0
- package/dist/ai/prompts/code-generation.d.mts +26 -0
- package/dist/ai/prompts/code-generation.d.mts.map +1 -0
- package/dist/ai/prompts/code-generation.mjs +143 -0
- package/dist/ai/prompts/code-generation.mjs.map +1 -0
- package/dist/ai/prompts/index.d.mts +10 -0
- package/dist/ai/prompts/index.d.mts.map +1 -0
- package/dist/ai/prompts/index.mjs +13 -0
- package/dist/ai/prompts/index.mjs.map +1 -0
- package/dist/ai/prompts/spec-creation.d.mts +29 -0
- package/dist/ai/prompts/spec-creation.d.mts.map +1 -0
- package/dist/ai/prompts/spec-creation.mjs +111 -0
- package/dist/ai/prompts/spec-creation.mjs.map +1 -0
- package/dist/ai/providers.d.mts +29 -0
- package/dist/ai/providers.d.mts.map +1 -0
- package/dist/ai/providers.mjs +39 -0
- package/dist/ai/providers.mjs.map +1 -0
- package/dist/formatters/index.d.mts +11 -0
- package/dist/formatters/index.d.mts.map +1 -0
- package/dist/formatters/index.mjs +17 -0
- package/dist/formatters/index.mjs.map +1 -0
- package/dist/formatters/json.d.mts +56 -0
- package/dist/formatters/json.d.mts.map +1 -0
- package/dist/formatters/json.mjs +43 -0
- package/dist/formatters/json.mjs.map +1 -0
- package/dist/formatters/sarif.d.mts +101 -0
- package/dist/formatters/sarif.d.mts.map +1 -0
- package/dist/formatters/sarif.mjs +163 -0
- package/dist/formatters/sarif.mjs.map +1 -0
- package/dist/formatters/text.d.mts +35 -0
- package/dist/formatters/text.d.mts.map +1 -0
- package/dist/formatters/text.mjs +209 -0
- package/dist/formatters/text.mjs.map +1 -0
- package/dist/index.d.mts +125 -0
- package/dist/index.mjs +110 -0
- package/dist/ports/ai.d.mts +59 -0
- package/dist/ports/ai.d.mts.map +1 -0
- package/dist/ports/fs.d.mts +81 -0
- package/dist/ports/fs.d.mts.map +1 -0
- package/dist/ports/git.d.mts +46 -0
- package/dist/ports/git.d.mts.map +1 -0
- package/dist/ports/index.d.mts +6 -0
- package/dist/ports/logger.d.mts +88 -0
- package/dist/ports/logger.d.mts.map +1 -0
- package/dist/ports/rulesync.d.mts +38 -0
- package/dist/ports/rulesync.d.mts.map +1 -0
- package/dist/ports/watcher.d.mts +52 -0
- package/dist/ports/watcher.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/claude-code.d.mts +35 -0
- package/dist/services/agent-guide/adapters/claude-code.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/claude-code.mjs +144 -0
- package/dist/services/agent-guide/adapters/claude-code.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts +39 -0
- package/dist/services/agent-guide/adapters/cursor-cli.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/cursor-cli.mjs +135 -0
- package/dist/services/agent-guide/adapters/cursor-cli.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts +53 -0
- package/dist/services/agent-guide/adapters/generic-mcp.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/generic-mcp.mjs +159 -0
- package/dist/services/agent-guide/adapters/generic-mcp.mjs.map +1 -0
- package/dist/services/agent-guide/adapters/index.d.mts +23 -0
- package/dist/services/agent-guide/adapters/index.d.mts.map +1 -0
- package/dist/services/agent-guide/adapters/index.mjs +31 -0
- package/dist/services/agent-guide/adapters/index.mjs.map +1 -0
- package/dist/services/agent-guide/agent-guide-service.d.mts +56 -0
- package/dist/services/agent-guide/agent-guide-service.d.mts.map +1 -0
- package/dist/services/agent-guide/agent-guide-service.mjs +147 -0
- package/dist/services/agent-guide/agent-guide-service.mjs.map +1 -0
- package/dist/services/agent-guide/index.d.mts +6 -0
- package/dist/services/agent-guide/index.mjs +7 -0
- package/dist/services/agent-guide/types.d.mts +58 -0
- package/dist/services/agent-guide/types.d.mts.map +1 -0
- package/dist/services/build.d.mts +61 -0
- package/dist/services/build.d.mts.map +1 -0
- package/dist/services/build.mjs +151 -0
- package/dist/services/build.mjs.map +1 -0
- package/dist/services/ci-check/checks/coverage.mjs +77 -0
- package/dist/services/ci-check/checks/coverage.mjs.map +1 -0
- package/dist/services/ci-check/checks/deps.mjs +32 -0
- package/dist/services/ci-check/checks/deps.mjs.map +1 -0
- package/dist/services/ci-check/checks/doctor.mjs +38 -0
- package/dist/services/ci-check/checks/doctor.mjs.map +1 -0
- package/dist/services/ci-check/checks/drift.mjs +40 -0
- package/dist/services/ci-check/checks/drift.mjs.map +1 -0
- package/dist/services/ci-check/checks/handlers.mjs +38 -0
- package/dist/services/ci-check/checks/handlers.mjs.map +1 -0
- package/dist/services/ci-check/checks/implementation.mjs +73 -0
- package/dist/services/ci-check/checks/implementation.mjs.map +1 -0
- package/dist/services/ci-check/checks/index.mjs +13 -0
- package/dist/services/ci-check/checks/integrity.mjs +31 -0
- package/dist/services/ci-check/checks/integrity.mjs.map +1 -0
- package/dist/services/ci-check/checks/layers.mjs +66 -0
- package/dist/services/ci-check/checks/layers.mjs.map +1 -0
- package/dist/services/ci-check/checks/structure.mjs +35 -0
- package/dist/services/ci-check/checks/structure.mjs.map +1 -0
- package/dist/services/ci-check/checks/test-refs.mjs +63 -0
- package/dist/services/ci-check/checks/test-refs.mjs.map +1 -0
- package/dist/services/ci-check/checks/tests.mjs +38 -0
- package/dist/services/ci-check/checks/tests.mjs.map +1 -0
- package/dist/services/ci-check/ci-check-service.d.mts +16 -0
- package/dist/services/ci-check/ci-check-service.d.mts.map +1 -0
- package/dist/services/ci-check/ci-check-service.mjs +129 -0
- package/dist/services/ci-check/ci-check-service.mjs.map +1 -0
- package/dist/services/ci-check/index.d.mts +2 -0
- package/dist/services/ci-check/index.mjs +4 -0
- package/dist/services/ci-check/types.d.mts +147 -0
- package/dist/services/ci-check/types.d.mts.map +1 -0
- package/dist/services/ci-check/types.mjs +37 -0
- package/dist/services/ci-check/types.mjs.map +1 -0
- package/dist/services/ci-check/utils.mjs +76 -0
- package/dist/services/ci-check/utils.mjs.map +1 -0
- package/dist/services/clean.d.mts +41 -0
- package/dist/services/clean.d.mts.map +1 -0
- package/dist/services/clean.mjs +72 -0
- package/dist/services/clean.mjs.map +1 -0
- package/dist/services/config.d.mts +16 -0
- package/dist/services/config.d.mts.map +1 -0
- package/dist/services/config.mjs +63 -0
- package/dist/services/config.mjs.map +1 -0
- package/dist/services/coverage/parsers/index.mjs +34 -0
- package/dist/services/coverage/parsers/index.mjs.map +1 -0
- package/dist/services/coverage/parsers/istanbul-parser.mjs +108 -0
- package/dist/services/coverage/parsers/istanbul-parser.mjs.map +1 -0
- package/dist/services/coverage/validator.mjs +55 -0
- package/dist/services/coverage/validator.mjs.map +1 -0
- package/dist/services/create/ai-generator.d.mts +84 -0
- package/dist/services/create/ai-generator.d.mts.map +1 -0
- package/dist/services/create/ai-generator.mjs +178 -0
- package/dist/services/create/ai-generator.mjs.map +1 -0
- package/dist/services/create/index.d.mts +28 -0
- package/dist/services/create/index.d.mts.map +1 -0
- package/dist/services/create/index.mjs +37 -0
- package/dist/services/create/index.mjs.map +1 -0
- package/dist/services/create/templates.d.mts +22 -0
- package/dist/services/create/templates.d.mts.map +1 -0
- package/dist/services/create/templates.mjs +39 -0
- package/dist/services/create/templates.mjs.map +1 -0
- package/dist/services/deps.d.mts +53 -0
- package/dist/services/deps.d.mts.map +1 -0
- package/dist/services/deps.mjs +62 -0
- package/dist/services/deps.mjs.map +1 -0
- package/dist/services/diff.d.mts +34 -0
- package/dist/services/diff.d.mts.map +1 -0
- package/dist/services/diff.mjs +34 -0
- package/dist/services/diff.mjs.map +1 -0
- package/dist/services/docs/docs-service.d.mts +20 -0
- package/dist/services/docs/docs-service.d.mts.map +1 -0
- package/dist/services/docs/docs-service.mjs +59 -0
- package/dist/services/docs/docs-service.mjs.map +1 -0
- package/dist/services/docs/index.d.mts +1 -0
- package/dist/services/docs/index.mjs +3 -0
- package/dist/services/doctor/checks/ai.mjs +119 -0
- package/dist/services/doctor/checks/ai.mjs.map +1 -0
- package/dist/services/doctor/checks/cli.mjs +156 -0
- package/dist/services/doctor/checks/cli.mjs.map +1 -0
- package/dist/services/doctor/checks/config.mjs +303 -0
- package/dist/services/doctor/checks/config.mjs.map +1 -0
- package/dist/services/doctor/checks/deps.mjs +267 -0
- package/dist/services/doctor/checks/deps.mjs.map +1 -0
- package/dist/services/doctor/checks/index.mjs +9 -0
- package/dist/services/doctor/checks/layers.mjs +139 -0
- package/dist/services/doctor/checks/layers.mjs.map +1 -0
- package/dist/services/doctor/checks/mcp.mjs +145 -0
- package/dist/services/doctor/checks/mcp.mjs.map +1 -0
- package/dist/services/doctor/checks/workspace.mjs +263 -0
- package/dist/services/doctor/checks/workspace.mjs.map +1 -0
- package/dist/services/doctor/doctor-service.d.mts +24 -0
- package/dist/services/doctor/doctor-service.d.mts.map +1 -0
- package/dist/services/doctor/doctor-service.mjs +118 -0
- package/dist/services/doctor/doctor-service.mjs.map +1 -0
- package/dist/services/doctor/index.d.mts +2 -0
- package/dist/services/doctor/index.mjs +4 -0
- package/dist/services/doctor/types.d.mts +118 -0
- package/dist/services/doctor/types.d.mts.map +1 -0
- package/dist/services/doctor/types.mjs +29 -0
- package/dist/services/doctor/types.mjs.map +1 -0
- package/dist/services/drift.mjs +73 -0
- package/dist/services/drift.mjs.map +1 -0
- package/dist/services/extract.d.mts +12 -0
- package/dist/services/extract.d.mts.map +1 -0
- package/dist/services/extract.mjs +33 -0
- package/dist/services/extract.mjs.map +1 -0
- package/dist/services/features/completion.d.mts +21 -0
- package/dist/services/features/completion.d.mts.map +1 -0
- package/dist/services/features/completion.mjs +70 -0
- package/dist/services/features/completion.mjs.map +1 -0
- package/dist/services/features/feature-editor.d.mts +27 -0
- package/dist/services/features/feature-editor.d.mts.map +1 -0
- package/dist/services/features/feature-editor.mjs +37 -0
- package/dist/services/features/feature-editor.mjs.map +1 -0
- package/dist/services/features/index.d.mts +11 -0
- package/dist/services/features/index.d.mts.map +1 -0
- package/dist/services/features/index.mjs +16 -0
- package/dist/services/features/index.mjs.map +1 -0
- package/dist/services/features/validation.d.mts +21 -0
- package/dist/services/features/validation.d.mts.map +1 -0
- package/dist/services/features/validation.mjs +27 -0
- package/dist/services/features/validation.mjs.map +1 -0
- package/dist/services/fix/fix-link-formatter.d.mts +12 -0
- package/dist/services/fix/fix-link-formatter.d.mts.map +1 -0
- package/dist/services/fix/fix-link-formatter.mjs +38 -0
- package/dist/services/fix/fix-link-formatter.mjs.map +1 -0
- package/dist/services/fix/fix-service.d.mts +74 -0
- package/dist/services/fix/fix-service.d.mts.map +1 -0
- package/dist/services/fix/fix-service.mjs +169 -0
- package/dist/services/fix/fix-service.mjs.map +1 -0
- package/dist/services/fix/index.d.mts +16 -0
- package/dist/services/fix/index.d.mts.map +1 -0
- package/dist/services/fix/index.mjs +24 -0
- package/dist/services/fix/index.mjs.map +1 -0
- package/dist/services/fix/path-resolver.mjs +83 -0
- package/dist/services/fix/path-resolver.mjs.map +1 -0
- package/dist/services/fix/schemas.d.mts +17 -0
- package/dist/services/fix/schemas.d.mts.map +1 -0
- package/dist/services/fix/schemas.mjs +12 -0
- package/dist/services/fix/schemas.mjs.map +1 -0
- package/dist/services/fix/strategies/implement-ai.d.mts +18 -0
- package/dist/services/fix/strategies/implement-ai.d.mts.map +1 -0
- package/dist/services/fix/strategies/implement-ai.mjs +139 -0
- package/dist/services/fix/strategies/implement-ai.mjs.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.d.mts +14 -0
- package/dist/services/fix/strategies/implement-skeleton.d.mts.map +1 -0
- package/dist/services/fix/strategies/implement-skeleton.mjs +77 -0
- package/dist/services/fix/strategies/implement-skeleton.mjs.map +1 -0
- package/dist/services/fix/strategies/index.d.mts +3 -0
- package/dist/services/fix/strategies/remove-reference.d.mts +17 -0
- package/dist/services/fix/strategies/remove-reference.d.mts.map +1 -0
- package/dist/services/fix/strategies/remove-reference.mjs +98 -0
- package/dist/services/fix/strategies/remove-reference.mjs.map +1 -0
- package/dist/services/fix/types.d.mts +207 -0
- package/dist/services/fix/types.d.mts.map +1 -0
- package/dist/services/fix/types.mjs +20 -0
- package/dist/services/fix/types.mjs.map +1 -0
- package/dist/services/formatter.d.mts +15 -0
- package/dist/services/formatter.d.mts.map +1 -0
- package/dist/services/formatter.mjs +26 -0
- package/dist/services/formatter.mjs.map +1 -0
- package/dist/services/gap.d.mts +18 -0
- package/dist/services/gap.d.mts.map +1 -0
- package/dist/services/gap.mjs +44 -0
- package/dist/services/gap.mjs.map +1 -0
- package/dist/services/generate-artifacts.d.mts +11 -0
- package/dist/services/generate-artifacts.d.mts.map +1 -0
- package/dist/services/generate-artifacts.mjs +27 -0
- package/dist/services/generate-artifacts.mjs.map +1 -0
- package/dist/services/hooks/hooks-service.d.mts +24 -0
- package/dist/services/hooks/hooks-service.d.mts.map +1 -0
- package/dist/services/hooks/hooks-service.mjs +126 -0
- package/dist/services/hooks/hooks-service.mjs.map +1 -0
- package/dist/services/hooks/index.d.mts +10 -0
- package/dist/services/hooks/index.d.mts.map +1 -0
- package/dist/services/hooks/index.mjs +12 -0
- package/dist/services/hooks/index.mjs.map +1 -0
- package/dist/services/hooks/types.d.mts +56 -0
- package/dist/services/hooks/types.d.mts.map +1 -0
- package/dist/services/impact/formatters.d.mts +27 -0
- package/dist/services/impact/formatters.d.mts.map +1 -0
- package/dist/services/impact/formatters.mjs +139 -0
- package/dist/services/impact/formatters.mjs.map +1 -0
- package/dist/services/impact/impact-detection-service.d.mts +22 -0
- package/dist/services/impact/impact-detection-service.d.mts.map +1 -0
- package/dist/services/impact/impact-detection-service.mjs +96 -0
- package/dist/services/impact/impact-detection-service.mjs.map +1 -0
- package/dist/services/impact/index.d.mts +11 -0
- package/dist/services/impact/index.d.mts.map +1 -0
- package/dist/services/impact/index.mjs +16 -0
- package/dist/services/impact/index.mjs.map +1 -0
- package/dist/services/impact/types.d.mts +63 -0
- package/dist/services/impact/types.d.mts.map +1 -0
- package/dist/services/implementation/discovery.d.mts +30 -0
- package/dist/services/implementation/discovery.d.mts.map +1 -0
- package/dist/services/implementation/discovery.mjs +144 -0
- package/dist/services/implementation/discovery.mjs.map +1 -0
- package/dist/services/implementation/index.d.mts +6 -0
- package/dist/services/implementation/index.mjs +7 -0
- package/dist/services/implementation/resolver/conventions.d.mts +18 -0
- package/dist/services/implementation/resolver/conventions.d.mts.map +1 -0
- package/dist/services/implementation/resolver/conventions.mjs +59 -0
- package/dist/services/implementation/resolver/conventions.mjs.map +1 -0
- package/dist/services/implementation/resolver/index.d.mts +24 -0
- package/dist/services/implementation/resolver/index.d.mts.map +1 -0
- package/dist/services/implementation/resolver/index.mjs +111 -0
- package/dist/services/implementation/resolver/index.mjs.map +1 -0
- package/dist/services/implementation/resolver/parsers.d.mts +16 -0
- package/dist/services/implementation/resolver/parsers.d.mts.map +1 -0
- package/dist/services/implementation/resolver/parsers.mjs +100 -0
- package/dist/services/implementation/resolver/parsers.mjs.map +1 -0
- package/dist/services/implementation/resolver/status.d.mts +21 -0
- package/dist/services/implementation/resolver/status.d.mts.map +1 -0
- package/dist/services/implementation/resolver/status.mjs +31 -0
- package/dist/services/implementation/resolver/status.mjs.map +1 -0
- package/dist/services/implementation/types.d.mts +89 -0
- package/dist/services/implementation/types.d.mts.map +1 -0
- package/dist/services/index.d.mts +103 -0
- package/dist/services/index.mjs +100 -0
- package/dist/services/integrity-diagram.d.mts +36 -0
- package/dist/services/integrity-diagram.d.mts.map +1 -0
- package/dist/services/integrity-diagram.mjs +275 -0
- package/dist/services/integrity-diagram.mjs.map +1 -0
- package/dist/services/integrity.d.mts +152 -0
- package/dist/services/integrity.d.mts.map +1 -0
- package/dist/services/integrity.mjs +361 -0
- package/dist/services/integrity.mjs.map +1 -0
- package/dist/services/layer-discovery.d.mts +77 -0
- package/dist/services/layer-discovery.d.mts.map +1 -0
- package/dist/services/layer-discovery.mjs +121 -0
- package/dist/services/layer-discovery.mjs.map +1 -0
- package/dist/services/list.d.mts +37 -0
- package/dist/services/list.d.mts.map +1 -0
- package/dist/services/list.mjs +46 -0
- package/dist/services/list.mjs.map +1 -0
- package/dist/services/llm/index.d.mts +28 -0
- package/dist/services/llm/index.d.mts.map +1 -0
- package/dist/services/llm/index.mjs +187 -0
- package/dist/services/llm/index.mjs.map +1 -0
- package/dist/services/llm/verify-static.d.mts +26 -0
- package/dist/services/llm/verify-static.d.mts.map +1 -0
- package/dist/services/llm/verify-static.mjs +82 -0
- package/dist/services/llm/verify-static.mjs.map +1 -0
- package/dist/services/modules/module-resolver.mjs +61 -0
- package/dist/services/modules/module-resolver.mjs.map +1 -0
- package/dist/services/openapi/export-service.d.mts +53 -0
- package/dist/services/openapi/export-service.d.mts.map +1 -0
- package/dist/services/openapi/export-service.mjs +50 -0
- package/dist/services/openapi/export-service.mjs.map +1 -0
- package/dist/services/openapi/import-service.d.mts +17 -0
- package/dist/services/openapi/import-service.d.mts.map +1 -0
- package/dist/services/openapi/import-service.mjs +165 -0
- package/dist/services/openapi/import-service.mjs.map +1 -0
- package/dist/services/openapi/index.d.mts +5 -0
- package/dist/services/openapi/index.mjs +6 -0
- package/dist/services/openapi/sync-service.d.mts +17 -0
- package/dist/services/openapi/sync-service.d.mts.map +1 -0
- package/dist/services/openapi/sync-service.mjs +120 -0
- package/dist/services/openapi/sync-service.mjs.map +1 -0
- package/dist/services/openapi/types.d.mts +162 -0
- package/dist/services/openapi/types.d.mts.map +1 -0
- package/dist/services/openapi/validate-service.d.mts +16 -0
- package/dist/services/openapi/validate-service.d.mts.map +1 -0
- package/dist/services/openapi/validate-service.mjs +130 -0
- package/dist/services/openapi/validate-service.mjs.map +1 -0
- package/dist/services/quickstart/dependencies.d.mts +31 -0
- package/dist/services/quickstart/dependencies.d.mts.map +1 -0
- package/dist/services/quickstart/dependencies.mjs +57 -0
- package/dist/services/quickstart/dependencies.mjs.map +1 -0
- package/dist/services/quickstart/index.mjs +4 -0
- package/dist/services/quickstart/quickstart-service.d.mts +20 -0
- package/dist/services/quickstart/quickstart-service.d.mts.map +1 -0
- package/dist/services/quickstart/quickstart-service.mjs +196 -0
- package/dist/services/quickstart/quickstart-service.mjs.map +1 -0
- package/dist/services/quickstart/types.d.mts +81 -0
- package/dist/services/quickstart/types.d.mts.map +1 -0
- package/dist/services/regenerator.d.mts +18 -0
- package/dist/services/regenerator.d.mts.map +1 -0
- package/dist/services/regenerator.mjs +23 -0
- package/dist/services/regenerator.mjs.map +1 -0
- package/dist/services/registry.d.mts +53 -0
- package/dist/services/registry.d.mts.map +1 -0
- package/dist/services/registry.mjs +74 -0
- package/dist/services/registry.mjs.map +1 -0
- package/dist/services/rulesync.d.mts +17 -0
- package/dist/services/rulesync.d.mts.map +1 -0
- package/dist/services/rulesync.mjs +72 -0
- package/dist/services/rulesync.mjs.map +1 -0
- package/dist/services/setup/config-generators.d.mts +42 -0
- package/dist/services/setup/config-generators.d.mts.map +1 -0
- package/dist/services/setup/config-generators.mjs +252 -0
- package/dist/services/setup/config-generators.mjs.map +1 -0
- package/dist/services/setup/file-merger.d.mts +27 -0
- package/dist/services/setup/file-merger.d.mts.map +1 -0
- package/dist/services/setup/file-merger.mjs +61 -0
- package/dist/services/setup/file-merger.mjs.map +1 -0
- package/dist/services/setup/setup-service.d.mts +12 -0
- package/dist/services/setup/setup-service.d.mts.map +1 -0
- package/dist/services/setup/setup-service.mjs +96 -0
- package/dist/services/setup/setup-service.mjs.map +1 -0
- package/dist/services/setup/targets/agents-md.mjs +47 -0
- package/dist/services/setup/targets/agents-md.mjs.map +1 -0
- package/dist/services/setup/targets/cli-config.mjs +60 -0
- package/dist/services/setup/targets/cli-config.mjs.map +1 -0
- package/dist/services/setup/targets/cursor-rules.mjs +48 -0
- package/dist/services/setup/targets/cursor-rules.mjs.map +1 -0
- package/dist/services/setup/targets/mcp-claude.mjs +60 -0
- package/dist/services/setup/targets/mcp-claude.mjs.map +1 -0
- package/dist/services/setup/targets/mcp-cursor.mjs +59 -0
- package/dist/services/setup/targets/mcp-cursor.mjs.map +1 -0
- package/dist/services/setup/targets/vscode-settings.mjs +63 -0
- package/dist/services/setup/targets/vscode-settings.mjs.map +1 -0
- package/dist/services/setup/types.d.mts +85 -0
- package/dist/services/setup/types.d.mts.map +1 -0
- package/dist/services/setup/types.mjs +27 -0
- package/dist/services/setup/types.mjs.map +1 -0
- package/dist/services/sync.d.mts +42 -0
- package/dist/services/sync.d.mts.map +1 -0
- package/dist/services/sync.mjs +64 -0
- package/dist/services/sync.mjs.map +1 -0
- package/dist/services/test/index.d.mts +2 -0
- package/dist/services/test/index.mjs +4 -0
- package/dist/services/test/test-generator-service.d.mts +24 -0
- package/dist/services/test/test-generator-service.d.mts.map +1 -0
- package/dist/services/test/test-generator-service.mjs +92 -0
- package/dist/services/test/test-generator-service.mjs.map +1 -0
- package/dist/services/test/test-service.d.mts +27 -0
- package/dist/services/test/test-service.d.mts.map +1 -0
- package/dist/services/test/test-service.mjs +94 -0
- package/dist/services/test/test-service.mjs.map +1 -0
- package/dist/services/test-link/index.d.mts +18 -0
- package/dist/services/test-link/index.d.mts.map +1 -0
- package/dist/services/test-link/index.mjs +60 -0
- package/dist/services/test-link/index.mjs.map +1 -0
- package/dist/services/test-link/test-ref-validator.d.mts +2 -0
- package/dist/services/test-link/test-ref-validator.mjs +50 -0
- package/dist/services/test-link/test-ref-validator.mjs.map +1 -0
- package/dist/services/upgrade/index.d.mts +10 -0
- package/dist/services/upgrade/index.d.mts.map +1 -0
- package/dist/services/upgrade/index.mjs +15 -0
- package/dist/services/upgrade/index.mjs.map +1 -0
- package/dist/services/upgrade/types.d.mts +78 -0
- package/dist/services/upgrade/types.d.mts.map +1 -0
- package/dist/services/upgrade/upgrade-service.d.mts +38 -0
- package/dist/services/upgrade/upgrade-service.d.mts.map +1 -0
- package/dist/services/upgrade/upgrade-service.mjs +201 -0
- package/dist/services/upgrade/upgrade-service.mjs.map +1 -0
- package/dist/services/validate/blueprint-validator.d.mts +23 -0
- package/dist/services/validate/blueprint-validator.d.mts.map +1 -0
- package/dist/services/validate/blueprint-validator.mjs +50 -0
- package/dist/services/validate/blueprint-validator.mjs.map +1 -0
- package/dist/services/validate/implementation-agent-validator.d.mts +20 -0
- package/dist/services/validate/implementation-agent-validator.d.mts.map +1 -0
- package/dist/services/validate/implementation-agent-validator.mjs +42 -0
- package/dist/services/validate/implementation-agent-validator.mjs.map +1 -0
- package/dist/services/validate/implementation-validator.d.mts +32 -0
- package/dist/services/validate/implementation-validator.d.mts.map +1 -0
- package/dist/services/validate/implementation-validator.mjs +64 -0
- package/dist/services/validate/implementation-validator.mjs.map +1 -0
- package/dist/services/validate/index.d.mts +5 -0
- package/dist/services/validate/index.mjs +7 -0
- package/dist/services/validate/spec-validator.d.mts +42 -0
- package/dist/services/validate/spec-validator.d.mts.map +1 -0
- package/dist/services/validate/spec-validator.mjs +49 -0
- package/dist/services/validate/spec-validator.mjs.map +1 -0
- package/dist/services/validate/tenant-validator.d.mts +21 -0
- package/dist/services/validate/tenant-validator.d.mts.map +1 -0
- package/dist/services/validate/tenant-validator.mjs +165 -0
- package/dist/services/validate/tenant-validator.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/filesystem.d.mts +46 -0
- package/dist/services/verification-cache/adapters/filesystem.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/filesystem.mjs +120 -0
- package/dist/services/verification-cache/adapters/filesystem.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/in-memory.d.mts +27 -0
- package/dist/services/verification-cache/adapters/in-memory.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/in-memory.mjs +46 -0
- package/dist/services/verification-cache/adapters/in-memory.mjs.map +1 -0
- package/dist/services/verification-cache/adapters/index.d.mts +3 -0
- package/dist/services/verification-cache/adapters/index.mjs +5 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.mts +49 -0
- package/dist/services/verification-cache/adapters/workspace-state.d.mts.map +1 -0
- package/dist/services/verification-cache/adapters/workspace-state.mjs +91 -0
- package/dist/services/verification-cache/adapters/workspace-state.mjs.map +1 -0
- package/dist/services/verification-cache/cache-service.d.mts +70 -0
- package/dist/services/verification-cache/cache-service.d.mts.map +1 -0
- package/dist/services/verification-cache/cache-service.mjs +256 -0
- package/dist/services/verification-cache/cache-service.mjs.map +1 -0
- package/dist/services/verification-cache/index.d.mts +6 -0
- package/dist/services/verification-cache/index.mjs +8 -0
- package/dist/services/verification-cache/types.d.mts +124 -0
- package/dist/services/verification-cache/types.d.mts.map +1 -0
- package/dist/services/verification-cache/types.mjs +16 -0
- package/dist/services/verification-cache/types.mjs.map +1 -0
- package/dist/services/verify/ai-verifier.d.mts +25 -0
- package/dist/services/verify/ai-verifier.d.mts.map +1 -0
- package/dist/services/verify/ai-verifier.mjs +403 -0
- package/dist/services/verify/ai-verifier.mjs.map +1 -0
- package/dist/services/verify/behavior-verifier.d.mts +12 -0
- package/dist/services/verify/behavior-verifier.d.mts.map +1 -0
- package/dist/services/verify/behavior-verifier.mjs +186 -0
- package/dist/services/verify/behavior-verifier.mjs.map +1 -0
- package/dist/services/verify/index.d.mts +5 -0
- package/dist/services/verify/index.mjs +6 -0
- package/dist/services/verify/structure-verifier.d.mts +12 -0
- package/dist/services/verify/structure-verifier.d.mts.map +1 -0
- package/dist/services/verify/structure-verifier.mjs +196 -0
- package/dist/services/verify/structure-verifier.mjs.map +1 -0
- package/dist/services/verify/types.d.mts +137 -0
- package/dist/services/verify/types.d.mts.map +1 -0
- package/dist/services/verify/verify-service.d.mts +60 -0
- package/dist/services/verify/verify-service.d.mts.map +1 -0
- package/dist/services/verify/verify-service.mjs +204 -0
- package/dist/services/verify/verify-service.mjs.map +1 -0
- package/dist/services/versioning/changelog-formatter.d.mts +24 -0
- package/dist/services/versioning/changelog-formatter.d.mts.map +1 -0
- package/dist/services/versioning/changelog-formatter.mjs +155 -0
- package/dist/services/versioning/changelog-formatter.mjs.map +1 -0
- package/dist/services/versioning/conventional-commits.d.mts +95 -0
- package/dist/services/versioning/conventional-commits.d.mts.map +1 -0
- package/dist/services/versioning/conventional-commits.mjs +184 -0
- package/dist/services/versioning/conventional-commits.mjs.map +1 -0
- package/dist/services/versioning/index.d.mts +12 -0
- package/dist/services/versioning/index.d.mts.map +1 -0
- package/dist/services/versioning/index.mjs +28 -0
- package/dist/services/versioning/index.mjs.map +1 -0
- package/dist/services/versioning/types.d.mts +135 -0
- package/dist/services/versioning/types.d.mts.map +1 -0
- package/dist/services/versioning/versioning-service.d.mts +74 -0
- package/dist/services/versioning/versioning-service.d.mts.map +1 -0
- package/dist/services/versioning/versioning-service.mjs +501 -0
- package/dist/services/versioning/versioning-service.mjs.map +1 -0
- package/dist/services/vibe/config.d.mts +12 -0
- package/dist/services/vibe/config.d.mts.map +1 -0
- package/dist/services/vibe/config.mjs +43 -0
- package/dist/services/vibe/config.mjs.map +1 -0
- package/dist/services/vibe/context.d.mts +19 -0
- package/dist/services/vibe/context.d.mts.map +1 -0
- package/dist/services/vibe/context.mjs +92 -0
- package/dist/services/vibe/context.mjs.map +1 -0
- package/dist/services/vibe/definitions.d.mts +8 -0
- package/dist/services/vibe/definitions.d.mts.map +1 -0
- package/dist/services/vibe/definitions.mjs +129 -0
- package/dist/services/vibe/definitions.mjs.map +1 -0
- package/dist/services/vibe/engine.d.mts +44 -0
- package/dist/services/vibe/engine.d.mts.map +1 -0
- package/dist/services/vibe/engine.mjs +147 -0
- package/dist/services/vibe/engine.mjs.map +1 -0
- package/dist/services/vibe/index.d.mts +15 -0
- package/dist/services/vibe/index.d.mts.map +1 -0
- package/dist/services/vibe/index.mjs +26 -0
- package/dist/services/vibe/index.mjs.map +1 -0
- package/dist/services/vibe/loader.d.mts +15 -0
- package/dist/services/vibe/loader.d.mts.map +1 -0
- package/dist/services/vibe/loader.mjs +48 -0
- package/dist/services/vibe/loader.mjs.map +1 -0
- package/dist/services/vibe/pack.d.mts +19 -0
- package/dist/services/vibe/pack.d.mts.map +1 -0
- package/dist/services/vibe/pack.mjs +66 -0
- package/dist/services/vibe/pack.mjs.map +1 -0
- package/dist/services/vibe/types.d.mts +59 -0
- package/dist/services/vibe/types.d.mts.map +1 -0
- package/dist/services/vibe/types.mjs +12 -0
- package/dist/services/vibe/types.mjs.map +1 -0
- package/dist/services/view/index.d.mts +11 -0
- package/dist/services/view/index.d.mts.map +1 -0
- package/dist/services/view/index.mjs +119 -0
- package/dist/services/view/index.mjs.map +1 -0
- package/dist/services/watch.d.mts +25 -0
- package/dist/services/watch.d.mts.map +1 -0
- package/dist/services/watch.mjs +33 -0
- package/dist/services/watch.mjs.map +1 -0
- package/dist/services/workspace-info.d.mts +62 -0
- package/dist/services/workspace-info.d.mts.map +1 -0
- package/dist/services/workspace-info.mjs +103 -0
- package/dist/services/workspace-info.mjs.map +1 -0
- package/dist/templates/app-config.template.d.mts +7 -0
- package/dist/templates/app-config.template.d.mts.map +1 -0
- package/dist/templates/app-config.template.mjs +107 -0
- package/dist/templates/app-config.template.mjs.map +1 -0
- package/dist/templates/data-view.template.d.mts +7 -0
- package/dist/templates/data-view.template.d.mts.map +1 -0
- package/dist/templates/data-view.template.mjs +70 -0
- package/dist/templates/data-view.template.mjs.map +1 -0
- package/dist/templates/event.template.d.mts +11 -0
- package/dist/templates/event.template.d.mts.map +1 -0
- package/dist/templates/event.template.mjs +42 -0
- package/dist/templates/event.template.mjs.map +1 -0
- package/dist/templates/experiment.template.d.mts +7 -0
- package/dist/templates/experiment.template.d.mts.map +1 -0
- package/dist/templates/experiment.template.mjs +89 -0
- package/dist/templates/experiment.template.mjs.map +1 -0
- package/dist/templates/feature.template.d.mts +33 -0
- package/dist/templates/feature.template.d.mts.map +1 -0
- package/dist/templates/feature.template.mjs +52 -0
- package/dist/templates/feature.template.mjs.map +1 -0
- package/dist/templates/fix/skeleton-capability.mjs +49 -0
- package/dist/templates/fix/skeleton-capability.mjs.map +1 -0
- package/dist/templates/fix/skeleton-event.mjs +56 -0
- package/dist/templates/fix/skeleton-event.mjs.map +1 -0
- package/dist/templates/fix/skeleton-operation.mjs +122 -0
- package/dist/templates/fix/skeleton-operation.mjs.map +1 -0
- package/dist/templates/fix/skeleton-presentation.mjs +65 -0
- package/dist/templates/fix/skeleton-presentation.mjs.map +1 -0
- package/dist/templates/fix/utils.mjs +34 -0
- package/dist/templates/fix/utils.mjs.map +1 -0
- package/dist/templates/handler.template.d.mts +16 -0
- package/dist/templates/handler.template.d.mts.map +1 -0
- package/dist/templates/handler.template.mjs +100 -0
- package/dist/templates/handler.template.mjs.map +1 -0
- package/dist/templates/index.d.mts +22 -0
- package/dist/templates/index.d.mts.map +1 -0
- package/dist/templates/index.mjs +39 -0
- package/dist/templates/index.mjs.map +1 -0
- package/dist/templates/integration.template.d.mts +7 -0
- package/dist/templates/integration.template.d.mts.map +1 -0
- package/dist/templates/integration.template.mjs +160 -0
- package/dist/templates/integration.template.mjs.map +1 -0
- package/dist/templates/knowledge.template.d.mts +7 -0
- package/dist/templates/knowledge.template.d.mts.map +1 -0
- package/dist/templates/knowledge.template.mjs +75 -0
- package/dist/templates/knowledge.template.mjs.map +1 -0
- package/dist/templates/migration.template.d.mts +7 -0
- package/dist/templates/migration.template.d.mts.map +1 -0
- package/dist/templates/migration.template.mjs +62 -0
- package/dist/templates/migration.template.mjs.map +1 -0
- package/dist/templates/operation.template.d.mts +11 -0
- package/dist/templates/operation.template.d.mts.map +1 -0
- package/dist/templates/operation.template.mjs +107 -0
- package/dist/templates/operation.template.mjs.map +1 -0
- package/dist/templates/presentation.template.d.mts +11 -0
- package/dist/templates/presentation.template.d.mts.map +1 -0
- package/dist/templates/presentation.template.mjs +80 -0
- package/dist/templates/presentation.template.mjs.map +1 -0
- package/dist/templates/telemetry.template.d.mts +7 -0
- package/dist/templates/telemetry.template.d.mts.map +1 -0
- package/dist/templates/telemetry.template.mjs +91 -0
- package/dist/templates/telemetry.template.mjs.map +1 -0
- package/dist/templates/workflow-runner.template.d.mts +16 -0
- package/dist/templates/workflow-runner.template.d.mts.map +1 -0
- package/dist/templates/workflow-runner.template.mjs +50 -0
- package/dist/templates/workflow-runner.template.mjs.map +1 -0
- package/dist/templates/workflow.template.d.mts +7 -0
- package/dist/templates/workflow.template.d.mts.map +1 -0
- package/dist/templates/workflow.template.mjs +69 -0
- package/dist/templates/workflow.template.mjs.map +1 -0
- package/dist/types/config.d.mts +34 -0
- package/dist/types/config.d.mts.map +1 -0
- package/dist/types.d.mts +324 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/utils/filter.d.mts +16 -0
- package/dist/utils/filter.d.mts.map +1 -0
- package/dist/utils/filter.mjs +22 -0
- package/dist/utils/filter.mjs.map +1 -0
- package/dist/utils/index.d.mts +11 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +20 -0
- package/dist/utils/index.mjs.map +1 -0
- package/dist/utils/module-loader.d.mts +5 -0
- package/dist/utils/module-loader.d.mts.map +1 -0
- package/dist/utils/module-loader.mjs +41 -0
- package/dist/utils/module-loader.mjs.map +1 -0
- package/dist/utils/validation.d.mts +37 -0
- package/dist/utils/validation.d.mts.map +1 -0
- package/dist/utils/validation.mjs +43 -0
- package/dist/utils/validation.mjs.map +1 -0
- package/package.json +23 -19
- package/dist/_virtual/rolldown_runtime.js +0 -18
- package/dist/adapters/ai.d.ts +0 -12
- package/dist/adapters/ai.d.ts.map +0 -1
- package/dist/adapters/ai.js +0 -83
- package/dist/adapters/ai.js.map +0 -1
- package/dist/adapters/factory.d.ts +0 -29
- package/dist/adapters/factory.d.ts.map +0 -1
- package/dist/adapters/factory.js +0 -37
- package/dist/adapters/factory.js.map +0 -1
- package/dist/adapters/fs.d.ts +0 -12
- package/dist/adapters/fs.d.ts.map +0 -1
- package/dist/adapters/fs.js +0 -131
- package/dist/adapters/fs.js.map +0 -1
- package/dist/adapters/git.d.ts +0 -11
- package/dist/adapters/git.d.ts.map +0 -1
- package/dist/adapters/git.js +0 -84
- package/dist/adapters/git.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -7
- package/dist/adapters/index.js +0 -7
- package/dist/adapters/logger.d.ts +0 -18
- package/dist/adapters/logger.d.ts.map +0 -1
- package/dist/adapters/logger.js +0 -81
- package/dist/adapters/logger.js.map +0 -1
- package/dist/adapters/watcher.d.ts +0 -11
- package/dist/adapters/watcher.d.ts.map +0 -1
- package/dist/adapters/watcher.js +0 -74
- package/dist/adapters/watcher.js.map +0 -1
- package/dist/adapters/workspace.d.ts +0 -148
- package/dist/adapters/workspace.d.ts.map +0 -1
- package/dist/adapters/workspace.js +0 -275
- package/dist/adapters/workspace.js.map +0 -1
- package/dist/ai/agents/claude-code-agent.d.ts +0 -22
- package/dist/ai/agents/claude-code-agent.d.ts.map +0 -1
- package/dist/ai/agents/claude-code-agent.js +0 -182
- package/dist/ai/agents/claude-code-agent.js.map +0 -1
- package/dist/ai/agents/cursor-agent.d.ts +0 -68
- package/dist/ai/agents/cursor-agent.d.ts.map +0 -1
- package/dist/ai/agents/cursor-agent.js +0 -436
- package/dist/ai/agents/cursor-agent.js.map +0 -1
- package/dist/ai/agents/index.js +0 -5
- package/dist/ai/agents/openai-codex-agent.d.ts +0 -22
- package/dist/ai/agents/openai-codex-agent.d.ts.map +0 -1
- package/dist/ai/agents/openai-codex-agent.js +0 -167
- package/dist/ai/agents/openai-codex-agent.js.map +0 -1
- package/dist/ai/agents/orchestrator.d.ts +0 -50
- package/dist/ai/agents/orchestrator.d.ts.map +0 -1
- package/dist/ai/agents/orchestrator.js +0 -143
- package/dist/ai/agents/orchestrator.js.map +0 -1
- package/dist/ai/agents/simple-agent.d.ts +0 -17
- package/dist/ai/agents/simple-agent.d.ts.map +0 -1
- package/dist/ai/agents/simple-agent.js +0 -92
- package/dist/ai/agents/simple-agent.js.map +0 -1
- package/dist/ai/agents/types.d.ts +0 -36
- package/dist/ai/agents/types.d.ts.map +0 -1
- package/dist/ai/client.d.ts +0 -97
- package/dist/ai/client.d.ts.map +0 -1
- package/dist/ai/client.js +0 -189
- package/dist/ai/client.js.map +0 -1
- package/dist/ai/index.d.ts +0 -9
- package/dist/ai/index.js +0 -9
- package/dist/ai/prompts/code-generation.d.ts +0 -26
- package/dist/ai/prompts/code-generation.d.ts.map +0 -1
- package/dist/ai/prompts/code-generation.js +0 -143
- package/dist/ai/prompts/code-generation.js.map +0 -1
- package/dist/ai/prompts/index.d.ts +0 -10
- package/dist/ai/prompts/index.d.ts.map +0 -1
- package/dist/ai/prompts/index.js +0 -13
- package/dist/ai/prompts/index.js.map +0 -1
- package/dist/ai/prompts/spec-creation.d.ts +0 -29
- package/dist/ai/prompts/spec-creation.d.ts.map +0 -1
- package/dist/ai/prompts/spec-creation.js +0 -111
- package/dist/ai/prompts/spec-creation.js.map +0 -1
- package/dist/ai/providers.d.ts +0 -29
- package/dist/ai/providers.d.ts.map +0 -1
- package/dist/ai/providers.js +0 -39
- package/dist/ai/providers.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -11
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -19
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/json.d.ts +0 -89
- package/dist/formatters/json.d.ts.map +0 -1
- package/dist/formatters/json.js +0 -72
- package/dist/formatters/json.js.map +0 -1
- package/dist/formatters/sarif.d.ts +0 -101
- package/dist/formatters/sarif.d.ts.map +0 -1
- package/dist/formatters/sarif.js +0 -163
- package/dist/formatters/sarif.js.map +0 -1
- package/dist/formatters/text.d.ts +0 -35
- package/dist/formatters/text.d.ts.map +0 -1
- package/dist/formatters/text.js +0 -209
- package/dist/formatters/text.js.map +0 -1
- package/dist/index.d.ts +0 -111
- package/dist/index.js +0 -97
- package/dist/ports/ai.d.ts +0 -59
- package/dist/ports/ai.d.ts.map +0 -1
- package/dist/ports/fs.d.ts +0 -81
- package/dist/ports/fs.d.ts.map +0 -1
- package/dist/ports/git.d.ts +0 -46
- package/dist/ports/git.d.ts.map +0 -1
- package/dist/ports/index.d.ts +0 -6
- package/dist/ports/logger.d.ts +0 -88
- package/dist/ports/logger.d.ts.map +0 -1
- package/dist/ports/rulesync.d.ts +0 -38
- package/dist/ports/rulesync.d.ts.map +0 -1
- package/dist/ports/watcher.d.ts +0 -52
- package/dist/ports/watcher.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.d.ts +0 -35
- package/dist/services/agent-guide/adapters/claude-code.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/claude-code.js +0 -144
- package/dist/services/agent-guide/adapters/claude-code.js.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts +0 -39
- package/dist/services/agent-guide/adapters/cursor-cli.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/cursor-cli.js +0 -135
- package/dist/services/agent-guide/adapters/cursor-cli.js.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts +0 -53
- package/dist/services/agent-guide/adapters/generic-mcp.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/generic-mcp.js +0 -159
- package/dist/services/agent-guide/adapters/generic-mcp.js.map +0 -1
- package/dist/services/agent-guide/adapters/index.d.ts +0 -23
- package/dist/services/agent-guide/adapters/index.d.ts.map +0 -1
- package/dist/services/agent-guide/adapters/index.js +0 -31
- package/dist/services/agent-guide/adapters/index.js.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.d.ts +0 -56
- package/dist/services/agent-guide/agent-guide-service.d.ts.map +0 -1
- package/dist/services/agent-guide/agent-guide-service.js +0 -147
- package/dist/services/agent-guide/agent-guide-service.js.map +0 -1
- package/dist/services/agent-guide/index.d.ts +0 -6
- package/dist/services/agent-guide/index.js +0 -5
- package/dist/services/agent-guide/types.d.ts +0 -58
- package/dist/services/agent-guide/types.d.ts.map +0 -1
- package/dist/services/build.d.ts +0 -59
- package/dist/services/build.d.ts.map +0 -1
- package/dist/services/build.js +0 -140
- package/dist/services/build.js.map +0 -1
- package/dist/services/ci-check/ci-check-service.d.ts +0 -16
- package/dist/services/ci-check/ci-check-service.d.ts.map +0 -1
- package/dist/services/ci-check/ci-check-service.js +0 -459
- package/dist/services/ci-check/ci-check-service.js.map +0 -1
- package/dist/services/ci-check/index.d.ts +0 -2
- package/dist/services/ci-check/index.js +0 -2
- package/dist/services/ci-check/types.d.ts +0 -143
- package/dist/services/ci-check/types.d.ts.map +0 -1
- package/dist/services/ci-check/types.js +0 -31
- package/dist/services/ci-check/types.js.map +0 -1
- package/dist/services/clean.d.ts +0 -41
- package/dist/services/clean.d.ts.map +0 -1
- package/dist/services/clean.js +0 -72
- package/dist/services/clean.js.map +0 -1
- package/dist/services/config.d.ts +0 -16
- package/dist/services/config.d.ts.map +0 -1
- package/dist/services/config.js +0 -63
- package/dist/services/config.js.map +0 -1
- package/dist/services/create/ai-generator.d.ts +0 -84
- package/dist/services/create/ai-generator.d.ts.map +0 -1
- package/dist/services/create/ai-generator.js +0 -178
- package/dist/services/create/ai-generator.js.map +0 -1
- package/dist/services/create/index.d.ts +0 -27
- package/dist/services/create/index.d.ts.map +0 -1
- package/dist/services/create/index.js +0 -36
- package/dist/services/create/index.js.map +0 -1
- package/dist/services/create/templates.d.ts +0 -21
- package/dist/services/create/templates.d.ts.map +0 -1
- package/dist/services/create/templates.js +0 -37
- package/dist/services/create/templates.js.map +0 -1
- package/dist/services/deps.d.ts +0 -53
- package/dist/services/deps.d.ts.map +0 -1
- package/dist/services/deps.js +0 -62
- package/dist/services/deps.js.map +0 -1
- package/dist/services/diff.d.ts +0 -34
- package/dist/services/diff.d.ts.map +0 -1
- package/dist/services/diff.js +0 -34
- package/dist/services/diff.js.map +0 -1
- package/dist/services/docs/docs-service.d.ts +0 -19
- package/dist/services/docs/docs-service.d.ts.map +0 -1
- package/dist/services/docs/docs-service.js +0 -41
- package/dist/services/docs/docs-service.js.map +0 -1
- package/dist/services/docs/index.d.ts +0 -1
- package/dist/services/docs/index.js +0 -1
- package/dist/services/doctor/checks/ai.js +0 -119
- package/dist/services/doctor/checks/ai.js.map +0 -1
- package/dist/services/doctor/checks/cli.js +0 -156
- package/dist/services/doctor/checks/cli.js.map +0 -1
- package/dist/services/doctor/checks/config.js +0 -303
- package/dist/services/doctor/checks/config.js.map +0 -1
- package/dist/services/doctor/checks/deps.js +0 -267
- package/dist/services/doctor/checks/deps.js.map +0 -1
- package/dist/services/doctor/checks/index.js +0 -7
- package/dist/services/doctor/checks/layers.js +0 -139
- package/dist/services/doctor/checks/layers.js.map +0 -1
- package/dist/services/doctor/checks/mcp.js +0 -145
- package/dist/services/doctor/checks/mcp.js.map +0 -1
- package/dist/services/doctor/checks/workspace.js +0 -263
- package/dist/services/doctor/checks/workspace.js.map +0 -1
- package/dist/services/doctor/doctor-service.d.ts +0 -24
- package/dist/services/doctor/doctor-service.d.ts.map +0 -1
- package/dist/services/doctor/doctor-service.js +0 -118
- package/dist/services/doctor/doctor-service.js.map +0 -1
- package/dist/services/doctor/index.d.ts +0 -2
- package/dist/services/doctor/index.js +0 -2
- package/dist/services/doctor/types.d.ts +0 -118
- package/dist/services/doctor/types.d.ts.map +0 -1
- package/dist/services/doctor/types.js +0 -29
- package/dist/services/doctor/types.js.map +0 -1
- package/dist/services/formatter.d.ts +0 -15
- package/dist/services/formatter.d.ts.map +0 -1
- package/dist/services/formatter.js +0 -26
- package/dist/services/formatter.js.map +0 -1
- package/dist/services/hooks/hooks-service.d.ts +0 -24
- package/dist/services/hooks/hooks-service.d.ts.map +0 -1
- package/dist/services/hooks/hooks-service.js +0 -126
- package/dist/services/hooks/hooks-service.js.map +0 -1
- package/dist/services/hooks/index.d.ts +0 -10
- package/dist/services/hooks/index.d.ts.map +0 -1
- package/dist/services/hooks/index.js +0 -12
- package/dist/services/hooks/index.js.map +0 -1
- package/dist/services/hooks/types.d.ts +0 -56
- package/dist/services/hooks/types.d.ts.map +0 -1
- package/dist/services/impact/formatters.d.ts +0 -27
- package/dist/services/impact/formatters.d.ts.map +0 -1
- package/dist/services/impact/formatters.js +0 -111
- package/dist/services/impact/formatters.js.map +0 -1
- package/dist/services/impact/impact-detection-service.d.ts +0 -22
- package/dist/services/impact/impact-detection-service.d.ts.map +0 -1
- package/dist/services/impact/impact-detection-service.js +0 -96
- package/dist/services/impact/impact-detection-service.js.map +0 -1
- package/dist/services/impact/index.d.ts +0 -11
- package/dist/services/impact/index.d.ts.map +0 -1
- package/dist/services/impact/index.js +0 -16
- package/dist/services/impact/index.js.map +0 -1
- package/dist/services/impact/types.d.ts +0 -58
- package/dist/services/impact/types.d.ts.map +0 -1
- package/dist/services/implementation/discovery.d.ts +0 -30
- package/dist/services/implementation/discovery.d.ts.map +0 -1
- package/dist/services/implementation/discovery.js +0 -144
- package/dist/services/implementation/discovery.js.map +0 -1
- package/dist/services/implementation/index.d.ts +0 -3
- package/dist/services/implementation/index.js +0 -2
- package/dist/services/implementation/resolver.d.ts +0 -44
- package/dist/services/implementation/resolver.d.ts.map +0 -1
- package/dist/services/implementation/resolver.js +0 -224
- package/dist/services/implementation/resolver.js.map +0 -1
- package/dist/services/implementation/types.d.ts +0 -79
- package/dist/services/implementation/types.d.ts.map +0 -1
- package/dist/services/index.d.ts +0 -91
- package/dist/services/index.js +0 -87
- package/dist/services/integrity-diagram.d.ts +0 -36
- package/dist/services/integrity-diagram.d.ts.map +0 -1
- package/dist/services/integrity-diagram.js +0 -275
- package/dist/services/integrity-diagram.js.map +0 -1
- package/dist/services/integrity.d.ts +0 -134
- package/dist/services/integrity.d.ts.map +0 -1
- package/dist/services/integrity.js +0 -272
- package/dist/services/integrity.js.map +0 -1
- package/dist/services/layer-discovery.d.ts +0 -77
- package/dist/services/layer-discovery.d.ts.map +0 -1
- package/dist/services/layer-discovery.js +0 -121
- package/dist/services/layer-discovery.js.map +0 -1
- package/dist/services/list.d.ts +0 -31
- package/dist/services/list.d.ts.map +0 -1
- package/dist/services/list.js +0 -36
- package/dist/services/list.js.map +0 -1
- package/dist/services/llm/index.d.ts +0 -28
- package/dist/services/llm/index.d.ts.map +0 -1
- package/dist/services/llm/index.js +0 -187
- package/dist/services/llm/index.js.map +0 -1
- package/dist/services/llm/verify-static.d.ts +0 -26
- package/dist/services/llm/verify-static.d.ts.map +0 -1
- package/dist/services/llm/verify-static.js +0 -82
- package/dist/services/llm/verify-static.js.map +0 -1
- package/dist/services/openapi/export-service.d.ts +0 -53
- package/dist/services/openapi/export-service.d.ts.map +0 -1
- package/dist/services/openapi/export-service.js +0 -50
- package/dist/services/openapi/export-service.js.map +0 -1
- package/dist/services/openapi/import-service.d.ts +0 -17
- package/dist/services/openapi/import-service.d.ts.map +0 -1
- package/dist/services/openapi/import-service.js +0 -168
- package/dist/services/openapi/import-service.js.map +0 -1
- package/dist/services/openapi/index.d.ts +0 -5
- package/dist/services/openapi/index.js +0 -4
- package/dist/services/openapi/sync-service.d.ts +0 -17
- package/dist/services/openapi/sync-service.d.ts.map +0 -1
- package/dist/services/openapi/sync-service.js +0 -120
- package/dist/services/openapi/sync-service.js.map +0 -1
- package/dist/services/openapi/types.d.ts +0 -162
- package/dist/services/openapi/types.d.ts.map +0 -1
- package/dist/services/openapi/validate-service.d.ts +0 -16
- package/dist/services/openapi/validate-service.d.ts.map +0 -1
- package/dist/services/openapi/validate-service.js +0 -130
- package/dist/services/openapi/validate-service.js.map +0 -1
- package/dist/services/quickstart/dependencies.d.ts +0 -31
- package/dist/services/quickstart/dependencies.d.ts.map +0 -1
- package/dist/services/quickstart/dependencies.js +0 -57
- package/dist/services/quickstart/dependencies.js.map +0 -1
- package/dist/services/quickstart/index.js +0 -2
- package/dist/services/quickstart/quickstart-service.d.ts +0 -20
- package/dist/services/quickstart/quickstart-service.d.ts.map +0 -1
- package/dist/services/quickstart/quickstart-service.js +0 -196
- package/dist/services/quickstart/quickstart-service.js.map +0 -1
- package/dist/services/quickstart/types.d.ts +0 -81
- package/dist/services/quickstart/types.d.ts.map +0 -1
- package/dist/services/regenerator.d.ts +0 -18
- package/dist/services/regenerator.d.ts.map +0 -1
- package/dist/services/regenerator.js +0 -23
- package/dist/services/regenerator.js.map +0 -1
- package/dist/services/registry.d.ts +0 -53
- package/dist/services/registry.d.ts.map +0 -1
- package/dist/services/registry.js +0 -74
- package/dist/services/registry.js.map +0 -1
- package/dist/services/rulesync.d.ts +0 -17
- package/dist/services/rulesync.d.ts.map +0 -1
- package/dist/services/rulesync.js +0 -71
- package/dist/services/rulesync.js.map +0 -1
- package/dist/services/setup/config-generators.d.ts +0 -42
- package/dist/services/setup/config-generators.d.ts.map +0 -1
- package/dist/services/setup/config-generators.js +0 -252
- package/dist/services/setup/config-generators.js.map +0 -1
- package/dist/services/setup/file-merger.d.ts +0 -27
- package/dist/services/setup/file-merger.d.ts.map +0 -1
- package/dist/services/setup/file-merger.js +0 -61
- package/dist/services/setup/file-merger.js.map +0 -1
- package/dist/services/setup/index.js +0 -4
- package/dist/services/setup/setup-service.d.ts +0 -12
- package/dist/services/setup/setup-service.d.ts.map +0 -1
- package/dist/services/setup/setup-service.js +0 -96
- package/dist/services/setup/setup-service.js.map +0 -1
- package/dist/services/setup/targets/agents-md.js +0 -47
- package/dist/services/setup/targets/agents-md.js.map +0 -1
- package/dist/services/setup/targets/cli-config.js +0 -60
- package/dist/services/setup/targets/cli-config.js.map +0 -1
- package/dist/services/setup/targets/cursor-rules.js +0 -48
- package/dist/services/setup/targets/cursor-rules.js.map +0 -1
- package/dist/services/setup/targets/mcp-claude.js +0 -60
- package/dist/services/setup/targets/mcp-claude.js.map +0 -1
- package/dist/services/setup/targets/mcp-cursor.js +0 -59
- package/dist/services/setup/targets/mcp-cursor.js.map +0 -1
- package/dist/services/setup/targets/vscode-settings.js +0 -63
- package/dist/services/setup/targets/vscode-settings.js.map +0 -1
- package/dist/services/setup/types.d.ts +0 -85
- package/dist/services/setup/types.d.ts.map +0 -1
- package/dist/services/setup/types.js +0 -27
- package/dist/services/setup/types.js.map +0 -1
- package/dist/services/sync.d.ts +0 -42
- package/dist/services/sync.d.ts.map +0 -1
- package/dist/services/sync.js +0 -64
- package/dist/services/sync.js.map +0 -1
- package/dist/services/test/index.d.ts +0 -1
- package/dist/services/test/index.js +0 -1
- package/dist/services/test/test-service.d.ts +0 -22
- package/dist/services/test/test-service.d.ts.map +0 -1
- package/dist/services/test/test-service.js +0 -81
- package/dist/services/test/test-service.js.map +0 -1
- package/dist/services/upgrade/index.d.ts +0 -10
- package/dist/services/upgrade/index.d.ts.map +0 -1
- package/dist/services/upgrade/index.js +0 -15
- package/dist/services/upgrade/index.js.map +0 -1
- package/dist/services/upgrade/types.d.ts +0 -78
- package/dist/services/upgrade/types.d.ts.map +0 -1
- package/dist/services/upgrade/upgrade-service.d.ts +0 -38
- package/dist/services/upgrade/upgrade-service.d.ts.map +0 -1
- package/dist/services/upgrade/upgrade-service.js +0 -201
- package/dist/services/upgrade/upgrade-service.js.map +0 -1
- package/dist/services/validate/blueprint-validator.d.ts +0 -23
- package/dist/services/validate/blueprint-validator.d.ts.map +0 -1
- package/dist/services/validate/blueprint-validator.js +0 -50
- package/dist/services/validate/blueprint-validator.js.map +0 -1
- package/dist/services/validate/implementation-agent-validator.d.ts +0 -20
- package/dist/services/validate/implementation-agent-validator.d.ts.map +0 -1
- package/dist/services/validate/implementation-agent-validator.js +0 -42
- package/dist/services/validate/implementation-agent-validator.js.map +0 -1
- package/dist/services/validate/implementation-validator.d.ts +0 -32
- package/dist/services/validate/implementation-validator.d.ts.map +0 -1
- package/dist/services/validate/implementation-validator.js +0 -64
- package/dist/services/validate/implementation-validator.js.map +0 -1
- package/dist/services/validate/index.d.ts +0 -5
- package/dist/services/validate/index.js +0 -5
- package/dist/services/validate/spec-validator.d.ts +0 -42
- package/dist/services/validate/spec-validator.d.ts.map +0 -1
- package/dist/services/validate/spec-validator.js +0 -50
- package/dist/services/validate/spec-validator.js.map +0 -1
- package/dist/services/validate/tenant-validator.d.ts +0 -21
- package/dist/services/validate/tenant-validator.d.ts.map +0 -1
- package/dist/services/validate/tenant-validator.js +0 -165
- package/dist/services/validate/tenant-validator.js.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.d.ts +0 -46
- package/dist/services/verification-cache/adapters/filesystem.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/filesystem.js +0 -120
- package/dist/services/verification-cache/adapters/filesystem.js.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.d.ts +0 -27
- package/dist/services/verification-cache/adapters/in-memory.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/in-memory.js +0 -46
- package/dist/services/verification-cache/adapters/in-memory.js.map +0 -1
- package/dist/services/verification-cache/adapters/index.d.ts +0 -3
- package/dist/services/verification-cache/adapters/index.js +0 -3
- package/dist/services/verification-cache/adapters/workspace-state.d.ts +0 -49
- package/dist/services/verification-cache/adapters/workspace-state.d.ts.map +0 -1
- package/dist/services/verification-cache/adapters/workspace-state.js +0 -91
- package/dist/services/verification-cache/adapters/workspace-state.js.map +0 -1
- package/dist/services/verification-cache/cache-service.d.ts +0 -70
- package/dist/services/verification-cache/cache-service.d.ts.map +0 -1
- package/dist/services/verification-cache/cache-service.js +0 -256
- package/dist/services/verification-cache/cache-service.js.map +0 -1
- package/dist/services/verification-cache/index.d.ts +0 -6
- package/dist/services/verification-cache/index.js +0 -6
- package/dist/services/verification-cache/types.d.ts +0 -124
- package/dist/services/verification-cache/types.d.ts.map +0 -1
- package/dist/services/verification-cache/types.js +0 -16
- package/dist/services/verification-cache/types.js.map +0 -1
- package/dist/services/verify/ai-verifier.d.ts +0 -25
- package/dist/services/verify/ai-verifier.d.ts.map +0 -1
- package/dist/services/verify/ai-verifier.js +0 -403
- package/dist/services/verify/ai-verifier.js.map +0 -1
- package/dist/services/verify/behavior-verifier.d.ts +0 -12
- package/dist/services/verify/behavior-verifier.d.ts.map +0 -1
- package/dist/services/verify/behavior-verifier.js +0 -186
- package/dist/services/verify/behavior-verifier.js.map +0 -1
- package/dist/services/verify/index.d.ts +0 -5
- package/dist/services/verify/index.js +0 -4
- package/dist/services/verify/structure-verifier.d.ts +0 -12
- package/dist/services/verify/structure-verifier.d.ts.map +0 -1
- package/dist/services/verify/structure-verifier.js +0 -196
- package/dist/services/verify/structure-verifier.js.map +0 -1
- package/dist/services/verify/types.d.ts +0 -137
- package/dist/services/verify/types.d.ts.map +0 -1
- package/dist/services/verify/verify-service.d.ts +0 -60
- package/dist/services/verify/verify-service.d.ts.map +0 -1
- package/dist/services/verify/verify-service.js +0 -204
- package/dist/services/verify/verify-service.js.map +0 -1
- package/dist/services/versioning/changelog-formatter.d.ts +0 -24
- package/dist/services/versioning/changelog-formatter.d.ts.map +0 -1
- package/dist/services/versioning/changelog-formatter.js +0 -155
- package/dist/services/versioning/changelog-formatter.js.map +0 -1
- package/dist/services/versioning/conventional-commits.d.ts +0 -95
- package/dist/services/versioning/conventional-commits.d.ts.map +0 -1
- package/dist/services/versioning/conventional-commits.js +0 -184
- package/dist/services/versioning/conventional-commits.js.map +0 -1
- package/dist/services/versioning/index.d.ts +0 -12
- package/dist/services/versioning/index.d.ts.map +0 -1
- package/dist/services/versioning/index.js +0 -28
- package/dist/services/versioning/index.js.map +0 -1
- package/dist/services/versioning/types.d.ts +0 -135
- package/dist/services/versioning/types.d.ts.map +0 -1
- package/dist/services/versioning/versioning-service.d.ts +0 -74
- package/dist/services/versioning/versioning-service.d.ts.map +0 -1
- package/dist/services/versioning/versioning-service.js +0 -501
- package/dist/services/versioning/versioning-service.js.map +0 -1
- package/dist/services/watch.d.ts +0 -25
- package/dist/services/watch.d.ts.map +0 -1
- package/dist/services/watch.js +0 -33
- package/dist/services/watch.js.map +0 -1
- package/dist/services/workspace-info.d.ts +0 -62
- package/dist/services/workspace-info.d.ts.map +0 -1
- package/dist/services/workspace-info.js +0 -103
- package/dist/services/workspace-info.js.map +0 -1
- package/dist/templates/app-config.template.d.ts +0 -7
- package/dist/templates/app-config.template.d.ts.map +0 -1
- package/dist/templates/app-config.template.js +0 -107
- package/dist/templates/app-config.template.js.map +0 -1
- package/dist/templates/data-view.template.d.ts +0 -7
- package/dist/templates/data-view.template.d.ts.map +0 -1
- package/dist/templates/data-view.template.js +0 -70
- package/dist/templates/data-view.template.js.map +0 -1
- package/dist/templates/event.template.d.ts +0 -11
- package/dist/templates/event.template.d.ts.map +0 -1
- package/dist/templates/event.template.js +0 -42
- package/dist/templates/event.template.js.map +0 -1
- package/dist/templates/experiment.template.d.ts +0 -7
- package/dist/templates/experiment.template.d.ts.map +0 -1
- package/dist/templates/experiment.template.js +0 -89
- package/dist/templates/experiment.template.js.map +0 -1
- package/dist/templates/handler.template.d.ts +0 -16
- package/dist/templates/handler.template.d.ts.map +0 -1
- package/dist/templates/handler.template.js +0 -100
- package/dist/templates/handler.template.js.map +0 -1
- package/dist/templates/index.d.ts +0 -21
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -37
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/integration.template.d.ts +0 -7
- package/dist/templates/integration.template.d.ts.map +0 -1
- package/dist/templates/integration.template.js +0 -160
- package/dist/templates/integration.template.js.map +0 -1
- package/dist/templates/knowledge.template.d.ts +0 -7
- package/dist/templates/knowledge.template.d.ts.map +0 -1
- package/dist/templates/knowledge.template.js +0 -75
- package/dist/templates/knowledge.template.js.map +0 -1
- package/dist/templates/migration.template.d.ts +0 -7
- package/dist/templates/migration.template.d.ts.map +0 -1
- package/dist/templates/migration.template.js +0 -62
- package/dist/templates/migration.template.js.map +0 -1
- package/dist/templates/operation.template.d.ts +0 -11
- package/dist/templates/operation.template.d.ts.map +0 -1
- package/dist/templates/operation.template.js +0 -107
- package/dist/templates/operation.template.js.map +0 -1
- package/dist/templates/presentation.template.d.ts +0 -11
- package/dist/templates/presentation.template.d.ts.map +0 -1
- package/dist/templates/presentation.template.js +0 -80
- package/dist/templates/presentation.template.js.map +0 -1
- package/dist/templates/telemetry.template.d.ts +0 -7
- package/dist/templates/telemetry.template.d.ts.map +0 -1
- package/dist/templates/telemetry.template.js +0 -91
- package/dist/templates/telemetry.template.js.map +0 -1
- package/dist/templates/workflow-runner.template.d.ts +0 -16
- package/dist/templates/workflow-runner.template.d.ts.map +0 -1
- package/dist/templates/workflow-runner.template.js +0 -50
- package/dist/templates/workflow-runner.template.js.map +0 -1
- package/dist/templates/workflow.template.d.ts +0 -7
- package/dist/templates/workflow.template.d.ts.map +0 -1
- package/dist/templates/workflow.template.js +0 -69
- package/dist/templates/workflow.template.js.map +0 -1
- package/dist/types/config.d.ts +0 -34
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types.d.ts +0 -324
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/module-loader.js +0 -41
- package/dist/utils/module-loader.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-service.d.mts","names":[],"sources":["../../../src/services/openapi/import-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAwDqC,iBAHf,wBAAA,CAGe,mBAAA,EAFd,yBAEc,EAAA,OAAA,EAD1B,2BAC0B,EAAA,QAAA,EAAA;EAC1B,EAAA,EADO,SACP;EAAR,MAAA,EADkC,aAClC;CAAO,CAAA,EAAP,OAAO,CAAC,0BAAD,CAAA"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { basename, dirname, join } from "path";
|
|
2
|
+
import { importFromOpenApi, parseOpenApi } from "@contractspec/lib.contracts-transformers/openapi";
|
|
3
|
+
|
|
4
|
+
//#region src/services/openapi/import-service.ts
|
|
5
|
+
/**
|
|
6
|
+
* OpenAPI import service - imports specs from OpenAPI documents.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Get output directory for spec type
|
|
10
|
+
*/
|
|
11
|
+
function getOutputDir(type, options, config) {
|
|
12
|
+
if (options.outputDir) return options.outputDir;
|
|
13
|
+
const baseDir = config.outputDir;
|
|
14
|
+
const conventions = config.conventions;
|
|
15
|
+
switch (type) {
|
|
16
|
+
case "operation": return join(baseDir, conventions.operations.split("|")[0] ?? "operations");
|
|
17
|
+
case "event": return join(baseDir, conventions.events);
|
|
18
|
+
case "model": return join(baseDir, "models");
|
|
19
|
+
default: return baseDir;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Import ContractSpec specs from an OpenAPI document.
|
|
24
|
+
*/
|
|
25
|
+
async function importFromOpenApiService(contractspecOptions, options, adapters) {
|
|
26
|
+
const { fs, logger } = adapters;
|
|
27
|
+
const { source, prefix, tags, exclude, defaultStability, defaultOwners, defaultAuth, dryRun = false } = options;
|
|
28
|
+
logger.info(`Importing from OpenAPI: ${source}`);
|
|
29
|
+
const parseResult = await parseOpenApi(source, {
|
|
30
|
+
fetch: globalThis.fetch,
|
|
31
|
+
readFile: (path$1) => fs.readFile(path$1)
|
|
32
|
+
});
|
|
33
|
+
if (parseResult.warnings.length > 0) for (const warning of parseResult.warnings) logger.warn(`Parse warning: ${warning}`);
|
|
34
|
+
logger.info(`Parsed ${parseResult.operations.length} operations from ${parseResult.info.title} v${parseResult.info.version}`);
|
|
35
|
+
const importResult = importFromOpenApi(parseResult, contractspecOptions, {
|
|
36
|
+
prefix,
|
|
37
|
+
tags,
|
|
38
|
+
exclude,
|
|
39
|
+
defaultStability,
|
|
40
|
+
defaultOwners,
|
|
41
|
+
defaultAuth
|
|
42
|
+
});
|
|
43
|
+
logger.info(`Import result: ${importResult.summary.imported} imported, ${importResult.summary.skipped} skipped, ${importResult.summary.errors} errors`);
|
|
44
|
+
const files = [];
|
|
45
|
+
const skippedOperations = [];
|
|
46
|
+
const errorMessages = [];
|
|
47
|
+
const specsByDir = /* @__PURE__ */ new Map();
|
|
48
|
+
for (const spec of importResult.operationSpecs) {
|
|
49
|
+
let type = "operation";
|
|
50
|
+
let match = null;
|
|
51
|
+
if (spec.code.includes("defineEvent(")) {
|
|
52
|
+
type = "event";
|
|
53
|
+
match = spec.code.match(/export const (\w+)\s*=\s*defineEvent/);
|
|
54
|
+
} else if ((spec.code.includes("defineSchemaModel(") || spec.code.includes("new EnumType(") || spec.code.includes("ScalarTypeEnum.") || spec.code.includes("new ZodSchemaType(") || spec.code.includes("z.enum(") || spec.code.includes("new JsonSchemaType(") || spec.code.includes("new GraphQLSchemaType(")) && !spec.code.includes("defineCommand(") && !spec.code.includes("defineQuery(")) type = "model";
|
|
55
|
+
else {
|
|
56
|
+
type = "operation";
|
|
57
|
+
match = spec.code.match(/export const (\w+)\s*=\s*define(?:Command|Query)/);
|
|
58
|
+
}
|
|
59
|
+
const filePath = join(getOutputDir(type, options, contractspecOptions), spec.fileName);
|
|
60
|
+
if (!match && type === "model") {
|
|
61
|
+
if (spec.code.includes("new ZodSchemaType(")) match = spec.code.match(/export const (\w+)\s*=\s*new ZodSchemaType\(/);
|
|
62
|
+
else if (spec.code.includes("new JsonSchemaType(")) match = spec.code.match(/export const (\w+)\s*=\s*new JsonSchemaType\(/);
|
|
63
|
+
else if (spec.code.includes("new GraphQLSchemaType(")) match = spec.code.match(/export const (\w+)\s*=\s*new GraphQLSchemaType\(/);
|
|
64
|
+
if (!match) match = spec.code.match(/export const (\w+)\s*=/);
|
|
65
|
+
}
|
|
66
|
+
if (dryRun) logger.info(`[DRY RUN] Would create: ${filePath}`);
|
|
67
|
+
else {
|
|
68
|
+
const dir = dirname(filePath);
|
|
69
|
+
if (!await fs.exists(dir)) await fs.mkdir(dir);
|
|
70
|
+
await fs.writeFile(filePath, spec.code);
|
|
71
|
+
logger.info(`Created: ${filePath}`);
|
|
72
|
+
}
|
|
73
|
+
files.push({
|
|
74
|
+
path: filePath,
|
|
75
|
+
operationId: spec.source.sourceId,
|
|
76
|
+
specName: spec.fileName.replace(".ts", "")
|
|
77
|
+
});
|
|
78
|
+
if (match) {
|
|
79
|
+
const dir = dirname(filePath);
|
|
80
|
+
const existing = specsByDir.get(dir) || [];
|
|
81
|
+
existing.push({
|
|
82
|
+
file: basename(filePath),
|
|
83
|
+
name: match[1],
|
|
84
|
+
type
|
|
85
|
+
});
|
|
86
|
+
specsByDir.set(dir, existing);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (!dryRun && files.length > 0) for (const [dir, specs] of specsByDir.entries()) {
|
|
90
|
+
if (specs.length === 0) continue;
|
|
91
|
+
const types = specs.map((s) => s.type);
|
|
92
|
+
const isOperations = types.every((t) => t === "operation");
|
|
93
|
+
const isEvents = types.every((t) => t === "event");
|
|
94
|
+
const isModels = types.every((t) => t === "model");
|
|
95
|
+
let registryCode = `/**\n * Auto-generated registry file.\n */\n`;
|
|
96
|
+
specs.forEach((s) => {
|
|
97
|
+
const importPath = `./${basename(s.file, ".ts")}`;
|
|
98
|
+
registryCode += `import { ${s.name} } from '${importPath}';\n`;
|
|
99
|
+
});
|
|
100
|
+
registryCode += "\n";
|
|
101
|
+
let hasRegistry = false;
|
|
102
|
+
if (isOperations) {
|
|
103
|
+
registryCode += `import { OperationSpecRegistry } from '@contractspec/lib.contracts';\n\n`;
|
|
104
|
+
registryCode += `export const operationRegistry = new OperationSpecRegistry();\n`;
|
|
105
|
+
specs.forEach((s) => {
|
|
106
|
+
registryCode += `operationRegistry.register(${s.name});\n`;
|
|
107
|
+
});
|
|
108
|
+
hasRegistry = true;
|
|
109
|
+
} else if (isEvents) {
|
|
110
|
+
registryCode += `import { EventRegistry } from '@contractspec/lib.contracts';\n\n`;
|
|
111
|
+
registryCode += `export const eventRegistry = new EventRegistry();\n`;
|
|
112
|
+
specs.forEach((s) => {
|
|
113
|
+
registryCode += `eventRegistry.register(${s.name});\n`;
|
|
114
|
+
});
|
|
115
|
+
hasRegistry = true;
|
|
116
|
+
} else if (isModels) {
|
|
117
|
+
registryCode += `import { ModelRegistry } from '@contractspec/lib.contracts';\n\n`;
|
|
118
|
+
registryCode += `export const modelRegistry = new ModelRegistry();\n`;
|
|
119
|
+
specs.forEach((s) => {
|
|
120
|
+
registryCode += `modelRegistry.register(${s.name});\n`;
|
|
121
|
+
});
|
|
122
|
+
hasRegistry = true;
|
|
123
|
+
}
|
|
124
|
+
if (hasRegistry) {
|
|
125
|
+
const registryPath = join(dir, "registry.ts");
|
|
126
|
+
await fs.writeFile(registryPath, registryCode);
|
|
127
|
+
logger.info(`Created/Updated registry: ${registryPath}`);
|
|
128
|
+
}
|
|
129
|
+
let indexCode = `/**\n * Auto-generated barrel file.\n */\n\n`;
|
|
130
|
+
specs.forEach((s) => {
|
|
131
|
+
const importPath = `./${basename(s.file, ".ts")}`;
|
|
132
|
+
indexCode += `export * from '${importPath}';\n`;
|
|
133
|
+
});
|
|
134
|
+
if (hasRegistry) indexCode += `export * from './registry';\n`;
|
|
135
|
+
const indexPath = join(dir, "index.ts");
|
|
136
|
+
await fs.writeFile(indexPath, indexCode);
|
|
137
|
+
logger.info(`Created/Updated index: ${indexPath}`);
|
|
138
|
+
}
|
|
139
|
+
for (const skipped of importResult.skipped) {
|
|
140
|
+
skippedOperations.push({
|
|
141
|
+
operationId: skipped.sourceId,
|
|
142
|
+
reason: skipped.reason
|
|
143
|
+
});
|
|
144
|
+
logger.debug(`Skipped: ${skipped.sourceId} - ${skipped.reason}`);
|
|
145
|
+
}
|
|
146
|
+
for (const error of importResult.errors) {
|
|
147
|
+
errorMessages.push({
|
|
148
|
+
operationId: error.sourceId,
|
|
149
|
+
error: error.error
|
|
150
|
+
});
|
|
151
|
+
logger.error(`Error: ${error.sourceId} - ${error.error}`);
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
imported: importResult.summary.imported,
|
|
155
|
+
skipped: importResult.summary.skipped,
|
|
156
|
+
errors: importResult.summary.errors,
|
|
157
|
+
files,
|
|
158
|
+
skippedOperations,
|
|
159
|
+
errorMessages
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
//#endregion
|
|
164
|
+
export { importFromOpenApiService };
|
|
165
|
+
//# sourceMappingURL=import-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-service.mjs","names":["path"],"sources":["../../../src/services/openapi/import-service.ts"],"sourcesContent":["/**\n * OpenAPI import service - imports specs from OpenAPI documents.\n */\n\nimport {\n importFromOpenApi,\n parseOpenApi,\n} from '@contractspec/lib.contracts-transformers/openapi';\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\nimport type {\n OpenApiImportServiceOptions,\n OpenApiImportServiceResult,\n} from './types';\nimport { dirname, join, basename } from 'path';\nimport type { ResolvedContractsrcConfig } from '@contractspec/lib.contracts';\n\n/**\n * Get output directory for spec type\n */\nfunction getOutputDir(\n type: 'operation' | 'event' | 'model',\n options: OpenApiImportServiceOptions,\n config: ResolvedContractsrcConfig\n): string {\n // If outputDir is explicitly set in options, use it for all types\n if (options.outputDir) {\n return options.outputDir;\n }\n\n // Default base\n const baseDir = config.outputDir;\n const conventions = config.conventions;\n\n switch (type) {\n case 'operation':\n // Conventions usually format like \"operations/**\" or \"operations\"\n return join(\n baseDir,\n conventions.operations.split('|')[0] ?? 'operations'\n );\n case 'event':\n return join(baseDir, conventions.events);\n case 'model':\n return join(baseDir, 'models'); // Standardize on 'models' for now\n default:\n return baseDir;\n }\n}\n\n/**\n * Import ContractSpec specs from an OpenAPI document.\n */\nexport async function importFromOpenApiService(\n contractspecOptions: ResolvedContractsrcConfig,\n options: OpenApiImportServiceOptions,\n adapters: { fs: FsAdapter; logger: LoggerAdapter }\n): Promise<OpenApiImportServiceResult> {\n const { fs, logger } = adapters;\n const {\n source,\n\n prefix,\n tags,\n exclude,\n defaultStability,\n defaultOwners,\n defaultAuth,\n dryRun = false,\n } = options;\n\n logger.info(`Importing from OpenAPI: ${source}`);\n\n // Parse the OpenAPI document\n // Use globalThis.fetch because adapters don't have networking yet\n // but we use fs.readFile for local files\n const parseResult = await parseOpenApi(source, {\n fetch: globalThis.fetch,\n readFile: (path) => fs.readFile(path),\n });\n\n if (parseResult.warnings.length > 0) {\n for (const warning of parseResult.warnings) {\n logger.warn(`Parse warning: ${warning}`);\n }\n }\n\n logger.info(\n `Parsed ${parseResult.operations.length} operations from ${parseResult.info.title} v${parseResult.info.version}`\n );\n\n // Import operations\n const importResult = importFromOpenApi(parseResult, contractspecOptions, {\n prefix,\n tags,\n exclude,\n defaultStability,\n defaultOwners,\n defaultAuth,\n });\n\n logger.info(\n `Import result: ${importResult.summary.imported} imported, ${importResult.summary.skipped} skipped, ${importResult.summary.errors} errors`\n );\n\n const files: OpenApiImportServiceResult['files'] = [];\n const skippedOperations: OpenApiImportServiceResult['skippedOperations'] = [];\n const errorMessages: OpenApiImportServiceResult['errorMessages'] = [];\n\n // Write imported specs\n const specsByDir = new Map<\n string,\n { file: string; name: string; type: 'operation' | 'event' | 'model' }[]\n >();\n\n for (const spec of importResult.operationSpecs) {\n // Determine type FIRST to resolve output directory\n let type: 'operation' | 'event' | 'model' = 'operation';\n let match: RegExpMatchArray | null = null;\n if (spec.code.includes('defineEvent(')) {\n type = 'event';\n match = spec.code.match(/export const (\\w+)\\s*=\\s*defineEvent/);\n } else if (\n (spec.code.includes('defineSchemaModel(') ||\n spec.code.includes('new EnumType(') ||\n spec.code.includes('ScalarTypeEnum.') ||\n spec.code.includes('new ZodSchemaType(') ||\n spec.code.includes('z.enum(') ||\n spec.code.includes('new JsonSchemaType(') ||\n spec.code.includes('new GraphQLSchemaType(')) &&\n !spec.code.includes('defineCommand(') &&\n !spec.code.includes('defineQuery(')\n ) {\n type = 'model';\n } else {\n type = 'operation';\n match = spec.code.match(\n /export const (\\w+)\\s*=\\s*define(?:Command|Query)/\n );\n }\n\n // Resolve output directory based on type\n const targetDir = getOutputDir(type, options, contractspecOptions);\n const filePath = join(targetDir, spec.fileName);\n\n if (!match && type === 'model') {\n if (spec.code.includes('new ZodSchemaType(')) {\n match = spec.code.match(/export const (\\w+)\\s*=\\s*new ZodSchemaType\\(/);\n } else if (spec.code.includes('new JsonSchemaType(')) {\n match = spec.code.match(\n /export const (\\w+)\\s*=\\s*new JsonSchemaType\\(/\n );\n } else if (spec.code.includes('new GraphQLSchemaType(')) {\n match = spec.code.match(\n /export const (\\w+)\\s*=\\s*new GraphQLSchemaType\\(/\n );\n }\n if (!match) {\n match = spec.code.match(/export const (\\w+)\\s*=/);\n }\n }\n\n if (dryRun) {\n logger.info(`[DRY RUN] Would create: ${filePath}`);\n } else {\n // Ensure directory exists\n const dir = dirname(filePath);\n const exists = await fs.exists(dir);\n if (!exists) {\n await fs.mkdir(dir);\n }\n\n // Write spec file\n await fs.writeFile(filePath, spec.code);\n logger.info(`Created: ${filePath}`);\n }\n\n files.push({\n path: filePath,\n operationId: spec.source.sourceId,\n specName: spec.fileName.replace('.ts', ''),\n });\n\n if (match) {\n const dir = dirname(filePath);\n const existing = specsByDir.get(dir) || [];\n existing.push({\n file: basename(filePath),\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: match[1]!,\n type,\n });\n specsByDir.set(dir, existing);\n }\n }\n\n // Generate registries\n if (!dryRun && files.length > 0) {\n for (const [dir, specs] of specsByDir.entries()) {\n if (specs.length === 0) continue;\n\n // Detect dominant type\n const types = specs.map((s) => s.type);\n const isOperations = types.every((t) => t === 'operation');\n const isEvents = types.every((t) => t === 'event');\n const isModels = types.every((t) => t === 'model');\n\n // Generate Registry File\n let registryCode = `/**\\n * Auto-generated registry file.\\n */\\n`;\n specs.forEach((s) => {\n const importPath = `./${basename(s.file, '.ts')}`;\n registryCode += `import { ${s.name} } from '${importPath}';\\n`;\n });\n registryCode += '\\n';\n\n let hasRegistry = false;\n if (isOperations) {\n registryCode += `import { OperationSpecRegistry } from '@contractspec/lib.contracts';\\n\\n`;\n registryCode += `export const operationRegistry = new OperationSpecRegistry();\\n`;\n specs.forEach((s) => {\n registryCode += `operationRegistry.register(${s.name});\\n`;\n });\n hasRegistry = true;\n } else if (isEvents) {\n registryCode += `import { EventRegistry } from '@contractspec/lib.contracts';\\n\\n`;\n registryCode += `export const eventRegistry = new EventRegistry();\\n`;\n specs.forEach((s) => {\n registryCode += `eventRegistry.register(${s.name});\\n`;\n });\n hasRegistry = true;\n } else if (isModels) {\n registryCode += `import { ModelRegistry } from '@contractspec/lib.contracts';\\n\\n`;\n registryCode += `export const modelRegistry = new ModelRegistry();\\n`;\n specs.forEach((s) => {\n registryCode += `modelRegistry.register(${s.name});\\n`;\n });\n hasRegistry = true;\n }\n\n if (hasRegistry) {\n const registryPath = join(dir, 'registry.ts');\n await fs.writeFile(registryPath, registryCode);\n logger.info(`Created/Updated registry: ${registryPath}`);\n }\n\n // Generate Index File\n let indexCode = `/**\\n * Auto-generated barrel file.\\n */\\n\\n`;\n specs.forEach((s) => {\n const importPath = `./${basename(s.file, '.ts')}`;\n indexCode += `export * from '${importPath}';\\n`;\n });\n\n if (hasRegistry) {\n indexCode += `export * from './registry';\\n`;\n }\n\n const indexPath = join(dir, 'index.ts');\n await fs.writeFile(indexPath, indexCode);\n logger.info(`Created/Updated index: ${indexPath}`);\n }\n }\n\n // Record skipped operations\n for (const skipped of importResult.skipped) {\n skippedOperations.push({\n operationId: skipped.sourceId,\n reason: skipped.reason,\n });\n logger.debug(`Skipped: ${skipped.sourceId} - ${skipped.reason}`);\n }\n\n // Record errors\n for (const error of importResult.errors) {\n errorMessages.push({\n operationId: error.sourceId,\n error: error.error,\n });\n logger.error(`Error: ${error.sourceId} - ${error.error}`);\n }\n\n return {\n imported: importResult.summary.imported,\n skipped: importResult.summary.skipped,\n errors: importResult.summary.errors,\n files,\n skippedOperations,\n errorMessages,\n };\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { OpenApiExportServiceOptions, OpenApiExportServiceResult, OpenApiImportServiceOptions, OpenApiImportServiceResult, OpenApiSyncServiceOptions, OpenApiSyncServiceResult, OpenApiValidateServiceOptions, OpenApiValidateServiceResult } from "./types.mjs";
|
|
2
|
+
import { importFromOpenApiService } from "./import-service.mjs";
|
|
3
|
+
import { syncWithOpenApiService } from "./sync-service.mjs";
|
|
4
|
+
import { validateAgainstOpenApiService } from "./validate-service.mjs";
|
|
5
|
+
import { OpenApiExportOptions, OpenApiExportResult, exportOpenApi } from "./export-service.mjs";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { importFromOpenApiService } from "./import-service.mjs";
|
|
2
|
+
import { syncWithOpenApiService } from "./sync-service.mjs";
|
|
3
|
+
import { validateAgainstOpenApiService } from "./validate-service.mjs";
|
|
4
|
+
import { exportOpenApi } from "./export-service.mjs";
|
|
5
|
+
|
|
6
|
+
export { };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FsAdapter } from "../../ports/fs.mjs";
|
|
2
|
+
import { LoggerAdapter } from "../../ports/logger.mjs";
|
|
3
|
+
import { OpenApiSyncServiceOptions, OpenApiSyncServiceResult } from "./types.mjs";
|
|
4
|
+
import { ResolvedContractsrcConfig } from "@contractspec/lib.contracts";
|
|
5
|
+
|
|
6
|
+
//#region src/services/openapi/sync-service.d.ts
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Sync ContractSpec specs with OpenAPI sources.
|
|
10
|
+
*/
|
|
11
|
+
declare function syncWithOpenApiService(options: OpenApiSyncServiceOptions, config: ResolvedContractsrcConfig, adapters: {
|
|
12
|
+
fs: FsAdapter;
|
|
13
|
+
logger: LoggerAdapter;
|
|
14
|
+
}): Promise<OpenApiSyncServiceResult>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { syncWithOpenApiService };
|
|
17
|
+
//# sourceMappingURL=sync-service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-service.d.mts","names":[],"sources":["../../../src/services/openapi/sync-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAuBqC,iBAHf,sBAAA,CAGe,OAAA,EAF1B,yBAE0B,EAAA,MAAA,EAD3B,yBAC2B,EAAA,QAAA,EAAA;EAC1B,EAAA,EADO,SACP;EAAR,MAAA,EADkC,aAClC;CAAO,CAAA,EAAP,OAAO,CAAC,wBAAD,CAAA"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { dirname, join } from "path";
|
|
2
|
+
import { importFromOpenApi, parseOpenApi } from "@contractspec/lib.contracts-transformers/openapi";
|
|
3
|
+
|
|
4
|
+
//#region src/services/openapi/sync-service.ts
|
|
5
|
+
/**
|
|
6
|
+
* OpenAPI sync service - syncs specs with OpenAPI sources.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Sync ContractSpec specs with OpenAPI sources.
|
|
10
|
+
*/
|
|
11
|
+
async function syncWithOpenApiService(options, config, adapters) {
|
|
12
|
+
const { fs, logger } = adapters;
|
|
13
|
+
const { sources: optSources, sourceName, interactive, force, dryRun } = options;
|
|
14
|
+
const { outputDir } = config;
|
|
15
|
+
let sourcesToSync = optSources ?? config.openapi?.sources ?? [];
|
|
16
|
+
if (sourceName) {
|
|
17
|
+
sourcesToSync = sourcesToSync.filter((s) => s.name === sourceName);
|
|
18
|
+
if (sourcesToSync.length === 0) throw new Error(`Source not found: ${sourceName}`);
|
|
19
|
+
}
|
|
20
|
+
if (sourcesToSync.length === 0) {
|
|
21
|
+
logger.warn("No OpenAPI sources configured. Add sources to .contractsrc.json");
|
|
22
|
+
return {
|
|
23
|
+
added: 0,
|
|
24
|
+
updated: 0,
|
|
25
|
+
unchanged: 0,
|
|
26
|
+
conflicts: 0,
|
|
27
|
+
changes: []
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const result = {
|
|
31
|
+
added: 0,
|
|
32
|
+
updated: 0,
|
|
33
|
+
unchanged: 0,
|
|
34
|
+
conflicts: 0,
|
|
35
|
+
changes: []
|
|
36
|
+
};
|
|
37
|
+
for (const source of sourcesToSync) {
|
|
38
|
+
logger.info(`Syncing with source: ${source.name}`);
|
|
39
|
+
const sourceLocation = source.url ?? source.file;
|
|
40
|
+
if (!sourceLocation) {
|
|
41
|
+
logger.warn(`Source ${source.name} has no url or file configured`);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const parseResult = await parseOpenApi(sourceLocation, {
|
|
45
|
+
fetch: globalThis.fetch,
|
|
46
|
+
readFile: (path$1) => fs.readFile(path$1)
|
|
47
|
+
});
|
|
48
|
+
logger.info(`Parsed ${parseResult.operations.length} operations from ${source.name}`);
|
|
49
|
+
const importResult = importFromOpenApi(parseResult, config, {
|
|
50
|
+
prefix: source.prefix,
|
|
51
|
+
tags: source.tags,
|
|
52
|
+
exclude: source.exclude,
|
|
53
|
+
defaultStability: source.defaultStability,
|
|
54
|
+
defaultAuth: source.defaultAuth
|
|
55
|
+
});
|
|
56
|
+
for (const imported of importResult.operationSpecs) {
|
|
57
|
+
const filePath = join(outputDir, imported.fileName);
|
|
58
|
+
if (!await fs.exists(filePath)) {
|
|
59
|
+
if (!dryRun) {
|
|
60
|
+
const dir = dirname(filePath);
|
|
61
|
+
await fs.mkdir(dir);
|
|
62
|
+
await fs.writeFile(filePath, imported.code);
|
|
63
|
+
}
|
|
64
|
+
result.added++;
|
|
65
|
+
result.changes.push({
|
|
66
|
+
operationId: imported.source.sourceId,
|
|
67
|
+
action: "added",
|
|
68
|
+
path: filePath
|
|
69
|
+
});
|
|
70
|
+
logger.info(`Added: ${imported.source.sourceId}`);
|
|
71
|
+
} else if (await fs.readFile(filePath) === imported.code) {
|
|
72
|
+
result.unchanged++;
|
|
73
|
+
result.changes.push({
|
|
74
|
+
operationId: imported.source.sourceId,
|
|
75
|
+
action: "unchanged",
|
|
76
|
+
path: filePath
|
|
77
|
+
});
|
|
78
|
+
} else if (force === "openapi") {
|
|
79
|
+
if (!dryRun) await fs.writeFile(filePath, imported.code);
|
|
80
|
+
result.updated++;
|
|
81
|
+
result.changes.push({
|
|
82
|
+
operationId: imported.source.sourceId,
|
|
83
|
+
action: "updated",
|
|
84
|
+
path: filePath
|
|
85
|
+
});
|
|
86
|
+
logger.info(`Updated: ${imported.source.sourceId}`);
|
|
87
|
+
} else if (force === "contractspec") {
|
|
88
|
+
result.unchanged++;
|
|
89
|
+
result.changes.push({
|
|
90
|
+
operationId: imported.source.sourceId,
|
|
91
|
+
action: "unchanged",
|
|
92
|
+
path: filePath
|
|
93
|
+
});
|
|
94
|
+
logger.info(`Kept: ${imported.source.sourceId}`);
|
|
95
|
+
} else if (interactive) {
|
|
96
|
+
result.conflicts++;
|
|
97
|
+
result.changes.push({
|
|
98
|
+
operationId: imported.source.sourceId,
|
|
99
|
+
action: "conflict",
|
|
100
|
+
path: filePath
|
|
101
|
+
});
|
|
102
|
+
logger.warn(`Conflict: ${imported.source.sourceId} - needs resolution`);
|
|
103
|
+
} else {
|
|
104
|
+
result.conflicts++;
|
|
105
|
+
result.changes.push({
|
|
106
|
+
operationId: imported.source.sourceId,
|
|
107
|
+
action: "conflict",
|
|
108
|
+
path: filePath
|
|
109
|
+
});
|
|
110
|
+
logger.warn(`Conflict: ${imported.source.sourceId}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
logger.info(`Sync complete: ${result.added} added, ${result.updated} updated, ${result.unchanged} unchanged, ${result.conflicts} conflicts`);
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
//#endregion
|
|
119
|
+
export { syncWithOpenApiService };
|
|
120
|
+
//# sourceMappingURL=sync-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-service.mjs","names":["path"],"sources":["../../../src/services/openapi/sync-service.ts"],"sourcesContent":["/**\n * OpenAPI sync service - syncs specs with OpenAPI sources.\n */\n\nimport {\n importFromOpenApi,\n parseOpenApi,\n} from '@contractspec/lib.contracts-transformers/openapi';\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\nimport type {\n OpenApiSyncServiceOptions,\n OpenApiSyncServiceResult,\n} from './types';\nimport { dirname, join } from 'path';\nimport type { ResolvedContractsrcConfig } from '@contractspec/lib.contracts';\n\n/**\n * Sync ContractSpec specs with OpenAPI sources.\n */\nexport async function syncWithOpenApiService(\n options: OpenApiSyncServiceOptions,\n config: ResolvedContractsrcConfig,\n adapters: { fs: FsAdapter; logger: LoggerAdapter }\n): Promise<OpenApiSyncServiceResult> {\n const { fs, logger } = adapters;\n const {\n sources: optSources,\n sourceName,\n interactive,\n force,\n dryRun,\n } = options;\n const { outputDir } = config;\n\n // Determine which sources to sync\n let sourcesToSync = optSources ?? config.openapi?.sources ?? [];\n\n if (sourceName) {\n sourcesToSync = sourcesToSync.filter((s) => s.name === sourceName);\n if (sourcesToSync.length === 0) {\n throw new Error(`Source not found: ${sourceName}`);\n }\n }\n\n if (sourcesToSync.length === 0) {\n logger.warn(\n 'No OpenAPI sources configured. Add sources to .contractsrc.json'\n );\n return {\n added: 0,\n updated: 0,\n unchanged: 0,\n conflicts: 0,\n changes: [],\n };\n }\n\n const result: OpenApiSyncServiceResult = {\n added: 0,\n updated: 0,\n unchanged: 0,\n conflicts: 0,\n changes: [],\n };\n\n for (const source of sourcesToSync) {\n logger.info(`Syncing with source: ${source.name}`);\n\n // Get source URL or file\n const sourceLocation = source.url ?? source.file;\n if (!sourceLocation) {\n logger.warn(`Source ${source.name} has no url or file configured`);\n continue;\n }\n\n // Parse the OpenAPI document\n const parseResult = await parseOpenApi(sourceLocation, {\n fetch: globalThis.fetch,\n readFile: (path) => fs.readFile(path),\n });\n\n logger.info(\n `Parsed ${parseResult.operations.length} operations from ${source.name}`\n );\n\n // Import operations to get the new specs\n const importResult = importFromOpenApi(parseResult, config, {\n prefix: source.prefix,\n tags: source.tags,\n exclude: source.exclude,\n defaultStability: source.defaultStability,\n defaultAuth: source.defaultAuth,\n });\n\n // Process each imported spec\n for (const imported of importResult.operationSpecs) {\n const filePath = join(outputDir, imported.fileName);\n const exists = await fs.exists(filePath);\n\n if (!exists) {\n // New spec - add it\n if (!dryRun) {\n const dir = dirname(filePath);\n await fs.mkdir(dir);\n await fs.writeFile(filePath, imported.code);\n }\n\n result.added++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'added',\n path: filePath,\n });\n logger.info(`Added: ${imported.source.sourceId}`);\n } else {\n // Existing spec - check for differences\n const existingCode = await fs.readFile(filePath);\n\n if (existingCode === imported.code) {\n // No changes\n result.unchanged++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'unchanged',\n path: filePath,\n });\n } else {\n // Differences detected\n if (force === 'openapi') {\n // Overwrite with OpenAPI version\n if (!dryRun) {\n await fs.writeFile(filePath, imported.code);\n }\n result.updated++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'updated',\n path: filePath,\n });\n logger.info(`Updated: ${imported.source.sourceId}`);\n } else if (force === 'contractspec') {\n // Keep ContractSpec version\n result.unchanged++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'unchanged',\n path: filePath,\n });\n logger.info(`Kept: ${imported.source.sourceId}`);\n } else if (interactive) {\n // Would prompt for resolution in CLI\n result.conflicts++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'conflict',\n path: filePath,\n });\n logger.warn(\n `Conflict: ${imported.source.sourceId} - needs resolution`\n );\n } else {\n // Default: report conflict\n result.conflicts++;\n result.changes.push({\n operationId: imported.source.sourceId,\n action: 'conflict',\n path: filePath,\n });\n logger.warn(`Conflict: ${imported.source.sourceId}`);\n }\n }\n }\n }\n }\n\n logger.info(\n `Sync complete: ${result.added} added, ${result.updated} updated, ${result.unchanged} unchanged, ${result.conflicts} conflicts`\n );\n\n return result;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { OpenApiSourceConfig } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
3
|
+
//#region src/services/openapi/types.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Options for OpenAPI import.
|
|
7
|
+
*/
|
|
8
|
+
interface OpenApiImportServiceOptions {
|
|
9
|
+
/** Source URL or file path */
|
|
10
|
+
source: string;
|
|
11
|
+
/** Output directory for generated spec files */
|
|
12
|
+
outputDir: string;
|
|
13
|
+
/** Prefix for generated spec names */
|
|
14
|
+
prefix?: string;
|
|
15
|
+
/** Only import operations with these tags */
|
|
16
|
+
tags?: string[];
|
|
17
|
+
/** Exclude operations with these operationIds */
|
|
18
|
+
exclude?: string[];
|
|
19
|
+
/** Default stability for imported specs */
|
|
20
|
+
defaultStability?: 'experimental' | 'beta' | 'stable' | 'deprecated';
|
|
21
|
+
/** Default owners for imported specs */
|
|
22
|
+
defaultOwners?: string[];
|
|
23
|
+
/** Default auth level for imported specs */
|
|
24
|
+
defaultAuth?: 'anonymous' | 'user' | 'admin';
|
|
25
|
+
/** Dry run - show what would be imported without writing files */
|
|
26
|
+
dryRun?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Result of OpenAPI import.
|
|
30
|
+
*/
|
|
31
|
+
interface OpenApiImportServiceResult {
|
|
32
|
+
/** Number of specs successfully imported */
|
|
33
|
+
imported: number;
|
|
34
|
+
/** Number of specs skipped */
|
|
35
|
+
skipped: number;
|
|
36
|
+
/** Number of errors */
|
|
37
|
+
errors: number;
|
|
38
|
+
/** List of imported spec files */
|
|
39
|
+
files: {
|
|
40
|
+
path: string;
|
|
41
|
+
operationId: string;
|
|
42
|
+
specName: string;
|
|
43
|
+
}[];
|
|
44
|
+
/** List of skipped operations */
|
|
45
|
+
skippedOperations: {
|
|
46
|
+
operationId: string;
|
|
47
|
+
reason: string;
|
|
48
|
+
}[];
|
|
49
|
+
/** List of errors */
|
|
50
|
+
errorMessages: {
|
|
51
|
+
operationId: string;
|
|
52
|
+
error: string;
|
|
53
|
+
}[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Options for OpenAPI sync.
|
|
57
|
+
*/
|
|
58
|
+
interface OpenApiSyncServiceOptions {
|
|
59
|
+
/** Sources to sync (uses config if not provided) */
|
|
60
|
+
sources?: OpenApiSourceConfig[];
|
|
61
|
+
/** Source name to sync (if syncing single source) */
|
|
62
|
+
sourceName?: string;
|
|
63
|
+
/** Interactive mode - prompt for conflict resolution */
|
|
64
|
+
interactive?: boolean;
|
|
65
|
+
/** Force resolution mode */
|
|
66
|
+
force?: 'openapi' | 'contractspec';
|
|
67
|
+
/** Dry run - show what would change without writing */
|
|
68
|
+
dryRun?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Result of OpenAPI sync.
|
|
72
|
+
*/
|
|
73
|
+
interface OpenApiSyncServiceResult {
|
|
74
|
+
/** Number of specs added */
|
|
75
|
+
added: number;
|
|
76
|
+
/** Number of specs updated */
|
|
77
|
+
updated: number;
|
|
78
|
+
/** Number of specs unchanged */
|
|
79
|
+
unchanged: number;
|
|
80
|
+
/** Number of conflicts */
|
|
81
|
+
conflicts: number;
|
|
82
|
+
/** Details of changes */
|
|
83
|
+
changes: {
|
|
84
|
+
operationId: string;
|
|
85
|
+
action: 'added' | 'updated' | 'unchanged' | 'conflict';
|
|
86
|
+
path?: string;
|
|
87
|
+
changeCount?: number;
|
|
88
|
+
}[];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Options for OpenAPI validation.
|
|
92
|
+
*/
|
|
93
|
+
interface OpenApiValidateServiceOptions {
|
|
94
|
+
/** Spec file or directory to validate */
|
|
95
|
+
specPath: string;
|
|
96
|
+
/** OpenAPI source to validate against */
|
|
97
|
+
openApiSource: string;
|
|
98
|
+
/** Ignore description differences */
|
|
99
|
+
ignoreDescriptions?: boolean;
|
|
100
|
+
/** Ignore tag differences */
|
|
101
|
+
ignoreTags?: boolean;
|
|
102
|
+
/** Ignore transport differences (path, method) */
|
|
103
|
+
ignoreTransport?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Result of OpenAPI validation.
|
|
107
|
+
*/
|
|
108
|
+
interface OpenApiValidateServiceResult {
|
|
109
|
+
/** Whether validation passed */
|
|
110
|
+
valid: boolean;
|
|
111
|
+
/** Number of specs validated */
|
|
112
|
+
specsValidated: number;
|
|
113
|
+
/** Number of specs with differences */
|
|
114
|
+
specsWithDiffs: number;
|
|
115
|
+
/** Validation details */
|
|
116
|
+
results: {
|
|
117
|
+
specPath: string;
|
|
118
|
+
operationId?: string;
|
|
119
|
+
valid: boolean;
|
|
120
|
+
diffs: {
|
|
121
|
+
path: string;
|
|
122
|
+
type: string;
|
|
123
|
+
description: string;
|
|
124
|
+
}[];
|
|
125
|
+
}[];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Options for OpenAPI export.
|
|
129
|
+
*/
|
|
130
|
+
interface OpenApiExportServiceOptions {
|
|
131
|
+
/** Path to module exporting OperationSpecRegistry */
|
|
132
|
+
registryPath: string;
|
|
133
|
+
/** Output file path */
|
|
134
|
+
outputPath?: string;
|
|
135
|
+
/** Output format */
|
|
136
|
+
format?: 'json' | 'yaml';
|
|
137
|
+
/** OpenAPI title */
|
|
138
|
+
title?: string;
|
|
139
|
+
/** OpenAPI version */
|
|
140
|
+
version?: string;
|
|
141
|
+
/** OpenAPI description */
|
|
142
|
+
description?: string;
|
|
143
|
+
/** Server URLs to include */
|
|
144
|
+
servers?: {
|
|
145
|
+
url: string;
|
|
146
|
+
description?: string;
|
|
147
|
+
}[];
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Result of OpenAPI export.
|
|
151
|
+
*/
|
|
152
|
+
interface OpenApiExportServiceResult {
|
|
153
|
+
/** Output file path */
|
|
154
|
+
outputPath: string;
|
|
155
|
+
/** Generated content */
|
|
156
|
+
content: string;
|
|
157
|
+
/** Number of operations exported */
|
|
158
|
+
operationCount: number;
|
|
159
|
+
}
|
|
160
|
+
//#endregion
|
|
161
|
+
export { OpenApiExportServiceOptions, OpenApiExportServiceResult, OpenApiImportServiceOptions, OpenApiImportServiceResult, OpenApiSyncServiceOptions, OpenApiSyncServiceResult, OpenApiValidateServiceOptions, OpenApiValidateServiceResult };
|
|
162
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/services/openapi/types.ts"],"sourcesContent":[],"mappings":";;;;AAiCA;AA4BA;AAgBA;AAqBiB,UAzFA,2BAAA,CAyF6B;EAgB7B;EAuBA,MAAA,EAAA,MAAA;EAuBA;;;;;;;;;;;;;;;;;;;;UA/HA,0BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BA,yBAAA;;YAEL;;;;;;;;;;;;;UAcK,wBAAA;;;;;;;;;;;;;;;;;;;;UAqBA,6BAAA;;;;;;;;;;;;;;;UAgBA,4BAAA;;;;;;;;;;;;;;;;;;;;;;UAuBA,2BAAA;;;;;;;;;;;;;;;;;;;;;;UAuBA,0BAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FsAdapter } from "../../ports/fs.mjs";
|
|
2
|
+
import { LoggerAdapter } from "../../ports/logger.mjs";
|
|
3
|
+
import { OpenApiValidateServiceOptions, OpenApiValidateServiceResult } from "./types.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/services/openapi/validate-service.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Validate ContractSpec specs against an OpenAPI source.
|
|
9
|
+
*/
|
|
10
|
+
declare function validateAgainstOpenApiService(options: OpenApiValidateServiceOptions, adapters: {
|
|
11
|
+
fs: FsAdapter;
|
|
12
|
+
logger: LoggerAdapter;
|
|
13
|
+
}): Promise<OpenApiValidateServiceResult>;
|
|
14
|
+
//#endregion
|
|
15
|
+
export { validateAgainstOpenApiService };
|
|
16
|
+
//# sourceMappingURL=validate-service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-service.d.mts","names":[],"sources":["../../../src/services/openapi/validate-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAqBW,iBAHW,6BAAA,CAGX,OAAA,EAFA,6BAEA,EAAA,QAAA,EAAA;EAAR,EAAA,EADe,SACf;EAAO,MAAA,EAD2B,aAC3B;IAAP,QAAQ"}
|