@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,169 @@
|
|
|
1
|
+
import { analyzeIntegrity } from "../integrity.mjs";
|
|
2
|
+
import { removeReferenceStrategy } from "./strategies/remove-reference.mjs";
|
|
3
|
+
import { implementSkeletonStrategy } from "./strategies/implement-skeleton.mjs";
|
|
4
|
+
import { implementAiStrategy } from "./strategies/implement-ai.mjs";
|
|
5
|
+
|
|
6
|
+
//#region src/services/fix/fix-service.ts
|
|
7
|
+
/**
|
|
8
|
+
* Service for fixing integrity issues.
|
|
9
|
+
*/
|
|
10
|
+
var FixService = class {
|
|
11
|
+
strategies;
|
|
12
|
+
constructor(adapters) {
|
|
13
|
+
this.adapters = adapters;
|
|
14
|
+
this.strategies = /* @__PURE__ */ new Map();
|
|
15
|
+
this.registerStrategy({
|
|
16
|
+
type: "remove-reference",
|
|
17
|
+
fix: (issue, opts) => removeReferenceStrategy(issue, opts, { fs: this.adapters.fs })
|
|
18
|
+
});
|
|
19
|
+
this.registerStrategy({
|
|
20
|
+
type: "implement-skeleton",
|
|
21
|
+
fix: (issue, opts) => implementSkeletonStrategy(issue, opts, { fs: this.adapters.fs })
|
|
22
|
+
});
|
|
23
|
+
this.registerStrategy({
|
|
24
|
+
type: "implement-ai",
|
|
25
|
+
fix: (issue, opts) => implementAiStrategy(issue, opts, this.adapters)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Register a fix strategy.
|
|
30
|
+
*/
|
|
31
|
+
registerStrategy(strategy) {
|
|
32
|
+
this.strategies.set(strategy.type, strategy);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get available strategies for an issue.
|
|
36
|
+
*/
|
|
37
|
+
getStrategiesForIssue(issue) {
|
|
38
|
+
const strategies = [];
|
|
39
|
+
if (issue.type === "unresolved-ref") {
|
|
40
|
+
strategies.push("remove-reference");
|
|
41
|
+
strategies.push("implement-skeleton");
|
|
42
|
+
strategies.push("implement-ai");
|
|
43
|
+
} else if (issue.type === "broken-link") {
|
|
44
|
+
strategies.push("remove-reference");
|
|
45
|
+
strategies.push("implement-skeleton");
|
|
46
|
+
}
|
|
47
|
+
return strategies;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Parse CI issue into a fixable issue context.
|
|
51
|
+
*/
|
|
52
|
+
parseFixableIssue(issue) {
|
|
53
|
+
if (!issue.ref || !issue.featureKey || !issue.specType) return;
|
|
54
|
+
return {
|
|
55
|
+
issue,
|
|
56
|
+
ref: issue.ref,
|
|
57
|
+
specType: issue.specType,
|
|
58
|
+
featureFile: issue.file,
|
|
59
|
+
featureKey: issue.featureKey
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Fix a single issue.
|
|
64
|
+
*/
|
|
65
|
+
async fixIssue(issue, options) {
|
|
66
|
+
const strategy = this.strategies.get(options.strategy);
|
|
67
|
+
if (!strategy) return {
|
|
68
|
+
success: false,
|
|
69
|
+
strategy: options.strategy,
|
|
70
|
+
issue,
|
|
71
|
+
filesChanged: [],
|
|
72
|
+
error: `Strategy ${options.strategy} not found`
|
|
73
|
+
};
|
|
74
|
+
this.adapters.logger.info(`Applying fix ${options.strategy} for ${issue.ref.key}`, { dryRun: options.dryRun });
|
|
75
|
+
return strategy.fix(issue, options);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Batch fix multiple issues.
|
|
79
|
+
*/
|
|
80
|
+
async batchFix(request) {
|
|
81
|
+
const results = [];
|
|
82
|
+
let succeeded = 0;
|
|
83
|
+
let failed = 0;
|
|
84
|
+
for (const issue of request.issues) try {
|
|
85
|
+
const result = await this.fixIssue(issue, request.options);
|
|
86
|
+
results.push(result);
|
|
87
|
+
if (result.success) succeeded++;
|
|
88
|
+
else failed++;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
failed++;
|
|
91
|
+
results.push({
|
|
92
|
+
success: false,
|
|
93
|
+
strategy: request.options.strategy,
|
|
94
|
+
issue,
|
|
95
|
+
filesChanged: [],
|
|
96
|
+
error: error instanceof Error ? error.message : String(error)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
total: request.issues.length,
|
|
101
|
+
succeeded,
|
|
102
|
+
failed,
|
|
103
|
+
results
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Scan for integrity issues and return fixable ones.
|
|
108
|
+
*/
|
|
109
|
+
async scanAndGetFixables(options = {}) {
|
|
110
|
+
return (await analyzeIntegrity(this.adapters, {
|
|
111
|
+
pattern: options.pattern,
|
|
112
|
+
cwd: options.cwd
|
|
113
|
+
})).issues.map((issue) => this.getToFix(issue)).filter((item) => item !== null);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Convert an integrity issue into a FixableIssue with strategies.
|
|
117
|
+
*/
|
|
118
|
+
getToFix(issue) {
|
|
119
|
+
const strategies = this.getStrategiesForIssue(issue);
|
|
120
|
+
if (strategies.length === 0) return null;
|
|
121
|
+
const fixable = this.parseFixableIssue(issue);
|
|
122
|
+
if (!fixable) return null;
|
|
123
|
+
return {
|
|
124
|
+
...fixable,
|
|
125
|
+
availableStrategies: strategies,
|
|
126
|
+
strategies: []
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Determine the best strategy for an issue.
|
|
131
|
+
*
|
|
132
|
+
* Logic moved from CLI to be shared.
|
|
133
|
+
*/
|
|
134
|
+
resolveStrategy(issue, options) {
|
|
135
|
+
const { forceStrategy, preferAi, select } = options;
|
|
136
|
+
if (forceStrategy) return Promise.resolve(forceStrategy);
|
|
137
|
+
if (preferAi && issue.availableStrategies.includes("implement-ai")) return Promise.resolve("implement-ai");
|
|
138
|
+
if (issue.availableStrategies.length === 1) return Promise.resolve(issue.availableStrategies[0]);
|
|
139
|
+
if (issue.availableStrategies.length > 1) {
|
|
140
|
+
if (typeof select === "function") return select(issue, issue.availableStrategies);
|
|
141
|
+
return Promise.resolve(issue.availableStrategies[0]);
|
|
142
|
+
}
|
|
143
|
+
return Promise.resolve(void 0);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Determine scan options based on input target.
|
|
147
|
+
*/
|
|
148
|
+
async determineScanOptions(target) {
|
|
149
|
+
try {
|
|
150
|
+
if ((await this.adapters.fs.stat(target)).isDirectory) return { cwd: target };
|
|
151
|
+
else return { pattern: target };
|
|
152
|
+
} catch {
|
|
153
|
+
return { pattern: target };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Parse CI output JSON into FixableIssues.
|
|
158
|
+
*/
|
|
159
|
+
parseIssuesFromCIResult(ciIssues) {
|
|
160
|
+
if (!Array.isArray(ciIssues)) return [];
|
|
161
|
+
return ciIssues.map((issue) => {
|
|
162
|
+
return this.getToFix(issue);
|
|
163
|
+
}).filter((item) => item !== null);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
//#endregion
|
|
168
|
+
export { FixService };
|
|
169
|
+
//# sourceMappingURL=fix-service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-service.mjs","names":[],"sources":["../../../src/services/fix/fix-service.ts"],"sourcesContent":["/**\n * Fix Service.\n *\n * Orchestrates the application of fixes for integrity issues.\n */\n\nimport type { FsAdapter } from '../../ports/fs';\nimport type { LoggerAdapter } from '../../ports/logger';\nimport type { IntegrityIssue } from '../integrity';\nimport {\n type BatchFixRequest,\n type BatchFixResult,\n type FixableIssue,\n type FixResult,\n type FixStrategy,\n type FixStrategyType,\n type FixOptions,\n} from './types';\nimport {\n removeReferenceStrategy,\n implementSkeletonStrategy,\n implementAiStrategy,\n} from './strategies';\nimport { analyzeIntegrity } from '../integrity';\n\n/**\n * Service for fixing integrity issues.\n */\nexport class FixService {\n private strategies: Map<FixStrategyType, FixStrategy>;\n\n constructor(\n private readonly adapters: { fs: FsAdapter; logger: LoggerAdapter }\n ) {\n this.strategies = new Map();\n this.registerStrategy({\n type: 'remove-reference',\n fix: (issue, opts) =>\n removeReferenceStrategy(issue, opts, { fs: this.adapters.fs }),\n });\n this.registerStrategy({\n type: 'implement-skeleton',\n fix: (issue, opts) =>\n implementSkeletonStrategy(issue, opts, { fs: this.adapters.fs }),\n });\n this.registerStrategy({\n type: 'implement-ai',\n fix: (issue, opts) => implementAiStrategy(issue, opts, this.adapters),\n });\n }\n\n /**\n * Register a fix strategy.\n */\n private registerStrategy(strategy: FixStrategy): void {\n this.strategies.set(strategy.type, strategy);\n }\n\n /**\n * Get available strategies for an issue.\n */\n getStrategiesForIssue(issue: IntegrityIssue): FixStrategyType[] {\n const strategies: FixStrategyType[] = [];\n\n if (issue.type === 'unresolved-ref') {\n strategies.push('remove-reference');\n strategies.push('implement-skeleton');\n strategies.push('implement-ai');\n } else if (issue.type === 'broken-link') {\n // Can usually only remove the link or implement the missng target\n strategies.push('remove-reference'); // Assuming generic removal works for links too\n strategies.push('implement-skeleton');\n }\n\n return strategies;\n }\n\n /**\n * Parse CI issue into a fixable issue context.\n */\n parseFixableIssue(\n issue: IntegrityIssue\n ): Omit<FixableIssue, 'availableStrategies' | 'strategies'> | undefined {\n if (!issue.ref || !issue.featureKey || !issue.specType) {\n return undefined;\n }\n\n return {\n issue,\n ref: issue.ref,\n specType: issue.specType,\n featureFile: issue.file,\n featureKey: issue.featureKey,\n };\n }\n\n /**\n * Fix a single issue.\n */\n async fixIssue(issue: FixableIssue, options: FixOptions): Promise<FixResult> {\n const strategy = this.strategies.get(options.strategy);\n\n if (!strategy) {\n return {\n success: false,\n strategy: options.strategy,\n issue,\n filesChanged: [],\n error: `Strategy ${options.strategy} not found`,\n };\n }\n\n this.adapters.logger.info(\n `Applying fix ${options.strategy} for ${issue.ref.key}`,\n {\n dryRun: options.dryRun,\n }\n );\n\n return strategy.fix(issue, options);\n }\n\n /**\n * Batch fix multiple issues.\n */\n async batchFix(request: BatchFixRequest): Promise<BatchFixResult> {\n const results: FixResult[] = [];\n let succeeded = 0;\n let failed = 0;\n\n for (const issue of request.issues) {\n try {\n const result = await this.fixIssue(issue, request.options);\n results.push(result);\n if (result.success) {\n succeeded++;\n } else {\n failed++;\n }\n } catch (error) {\n failed++;\n results.push({\n success: false,\n strategy: request.options.strategy,\n issue,\n filesChanged: [],\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n\n return {\n total: request.issues.length,\n succeeded,\n failed,\n results,\n };\n }\n\n /**\n * Scan for integrity issues and return fixable ones.\n */\n async scanAndGetFixables(\n options: { pattern?: string; cwd?: string } = {}\n ): Promise<FixableIssue[]> {\n const scanResult = await analyzeIntegrity(this.adapters, {\n pattern: options.pattern,\n cwd: options.cwd,\n });\n\n return scanResult.issues\n .map((issue) => this.getToFix(issue))\n .filter((item): item is FixableIssue => item !== null);\n }\n\n /**\n * Convert an integrity issue into a FixableIssue with strategies.\n */\n getToFix(issue: IntegrityIssue): FixableIssue | null {\n const strategies = this.getStrategiesForIssue(issue);\n if (strategies.length === 0) {\n return null;\n }\n\n const fixable = this.parseFixableIssue(issue);\n if (!fixable) {\n return null;\n }\n\n return {\n ...fixable,\n availableStrategies: strategies,\n strategies: [], // Strategies are managed by service, not attached to issue object in this implementation\n } as FixableIssue;\n }\n\n /**\n * Determine the best strategy for an issue.\n *\n * Logic moved from CLI to be shared.\n */\n resolveStrategy(\n issue: FixableIssue,\n options: {\n forceStrategy?: FixStrategyType;\n preferAi?: boolean;\n interactive?: boolean;\n // Optional callback for interactive selection if environment supports it\n select?: (\n issue: FixableIssue,\n strategies: FixStrategyType[]\n ) => Promise<FixStrategyType | undefined>;\n }\n ): Promise<FixStrategyType | undefined> {\n const { forceStrategy, preferAi, select } = options;\n\n // 1. Forced strategy\n if (forceStrategy) {\n // Validate it's available? Or trust caller?\n // For now, trust caller or checks downstream\n return Promise.resolve(forceStrategy);\n }\n\n // 2. AI Preference\n if (preferAi && issue.availableStrategies.includes('implement-ai')) {\n return Promise.resolve('implement-ai');\n }\n\n // 3. Single strategy available\n if (issue.availableStrategies.length === 1) {\n return Promise.resolve(issue.availableStrategies[0]);\n }\n\n // 4. Multiple strategies\n if (issue.availableStrategies.length > 1) {\n if (typeof select === 'function') {\n return select(issue, issue.availableStrategies);\n }\n // Default to first if non-interactive or no selector provided\n // Usually the most standard compliant/safest one is first\n return Promise.resolve(issue.availableStrategies[0]);\n }\n\n return Promise.resolve(undefined);\n }\n\n /**\n * Determine scan options based on input target.\n */\n async determineScanOptions(\n target: string\n ): Promise<{ pattern?: string; cwd?: string }> {\n try {\n const stats = await this.adapters.fs.stat(target);\n if (stats.isDirectory) {\n return { cwd: target };\n } else {\n return { pattern: target };\n }\n } catch {\n // Likely a glob pattern or non-existent path (treated as pattern)\n return { pattern: target };\n }\n }\n\n /**\n * Parse CI output JSON into FixableIssues.\n */\n parseIssuesFromCIResult(ciIssues: unknown[]): FixableIssue[] {\n // Check if input is array\n if (!Array.isArray(ciIssues)) return [];\n\n return ciIssues\n .map((issue) => {\n // CI issues might be wrapped or have different shape.\n // Assuming they are serialized IntegrityIssues.\n return this.getToFix(issue as IntegrityIssue);\n })\n .filter((item): item is FixableIssue => item !== null);\n }\n}\n"],"mappings":";;;;;;;;;AA4BA,IAAa,aAAb,MAAwB;CACtB,AAAQ;CAER,YACE,AAAiB,UACjB;EADiB;AAEjB,OAAK,6BAAa,IAAI,KAAK;AAC3B,OAAK,iBAAiB;GACpB,MAAM;GACN,MAAM,OAAO,SACX,wBAAwB,OAAO,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC;GACjE,CAAC;AACF,OAAK,iBAAiB;GACpB,MAAM;GACN,MAAM,OAAO,SACX,0BAA0B,OAAO,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC;GACnE,CAAC;AACF,OAAK,iBAAiB;GACpB,MAAM;GACN,MAAM,OAAO,SAAS,oBAAoB,OAAO,MAAM,KAAK,SAAS;GACtE,CAAC;;;;;CAMJ,AAAQ,iBAAiB,UAA6B;AACpD,OAAK,WAAW,IAAI,SAAS,MAAM,SAAS;;;;;CAM9C,sBAAsB,OAA0C;EAC9D,MAAM,aAAgC,EAAE;AAExC,MAAI,MAAM,SAAS,kBAAkB;AACnC,cAAW,KAAK,mBAAmB;AACnC,cAAW,KAAK,qBAAqB;AACrC,cAAW,KAAK,eAAe;aACtB,MAAM,SAAS,eAAe;AAEvC,cAAW,KAAK,mBAAmB;AACnC,cAAW,KAAK,qBAAqB;;AAGvC,SAAO;;;;;CAMT,kBACE,OACsE;AACtE,MAAI,CAAC,MAAM,OAAO,CAAC,MAAM,cAAc,CAAC,MAAM,SAC5C;AAGF,SAAO;GACL;GACA,KAAK,MAAM;GACX,UAAU,MAAM;GAChB,aAAa,MAAM;GACnB,YAAY,MAAM;GACnB;;;;;CAMH,MAAM,SAAS,OAAqB,SAAyC;EAC3E,MAAM,WAAW,KAAK,WAAW,IAAI,QAAQ,SAAS;AAEtD,MAAI,CAAC,SACH,QAAO;GACL,SAAS;GACT,UAAU,QAAQ;GAClB;GACA,cAAc,EAAE;GAChB,OAAO,YAAY,QAAQ,SAAS;GACrC;AAGH,OAAK,SAAS,OAAO,KACnB,gBAAgB,QAAQ,SAAS,OAAO,MAAM,IAAI,OAClD,EACE,QAAQ,QAAQ,QACjB,CACF;AAED,SAAO,SAAS,IAAI,OAAO,QAAQ;;;;;CAMrC,MAAM,SAAS,SAAmD;EAChE,MAAM,UAAuB,EAAE;EAC/B,IAAI,YAAY;EAChB,IAAI,SAAS;AAEb,OAAK,MAAM,SAAS,QAAQ,OAC1B,KAAI;GACF,MAAM,SAAS,MAAM,KAAK,SAAS,OAAO,QAAQ,QAAQ;AAC1D,WAAQ,KAAK,OAAO;AACpB,OAAI,OAAO,QACT;OAEA;WAEK,OAAO;AACd;AACA,WAAQ,KAAK;IACX,SAAS;IACT,UAAU,QAAQ,QAAQ;IAC1B;IACA,cAAc,EAAE;IAChB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;IAC9D,CAAC;;AAIN,SAAO;GACL,OAAO,QAAQ,OAAO;GACtB;GACA;GACA;GACD;;;;;CAMH,MAAM,mBACJ,UAA8C,EAAE,EACvB;AAMzB,UALmB,MAAM,iBAAiB,KAAK,UAAU;GACvD,SAAS,QAAQ;GACjB,KAAK,QAAQ;GACd,CAAC,EAEgB,OACf,KAAK,UAAU,KAAK,SAAS,MAAM,CAAC,CACpC,QAAQ,SAA+B,SAAS,KAAK;;;;;CAM1D,SAAS,OAA4C;EACnD,MAAM,aAAa,KAAK,sBAAsB,MAAM;AACpD,MAAI,WAAW,WAAW,EACxB,QAAO;EAGT,MAAM,UAAU,KAAK,kBAAkB,MAAM;AAC7C,MAAI,CAAC,QACH,QAAO;AAGT,SAAO;GACL,GAAG;GACH,qBAAqB;GACrB,YAAY,EAAE;GACf;;;;;;;CAQH,gBACE,OACA,SAUsC;EACtC,MAAM,EAAE,eAAe,UAAU,WAAW;AAG5C,MAAI,cAGF,QAAO,QAAQ,QAAQ,cAAc;AAIvC,MAAI,YAAY,MAAM,oBAAoB,SAAS,eAAe,CAChE,QAAO,QAAQ,QAAQ,eAAe;AAIxC,MAAI,MAAM,oBAAoB,WAAW,EACvC,QAAO,QAAQ,QAAQ,MAAM,oBAAoB,GAAG;AAItD,MAAI,MAAM,oBAAoB,SAAS,GAAG;AACxC,OAAI,OAAO,WAAW,WACpB,QAAO,OAAO,OAAO,MAAM,oBAAoB;AAIjD,UAAO,QAAQ,QAAQ,MAAM,oBAAoB,GAAG;;AAGtD,SAAO,QAAQ,QAAQ,OAAU;;;;;CAMnC,MAAM,qBACJ,QAC6C;AAC7C,MAAI;AAEF,QADc,MAAM,KAAK,SAAS,GAAG,KAAK,OAAO,EACvC,YACR,QAAO,EAAE,KAAK,QAAQ;OAEtB,QAAO,EAAE,SAAS,QAAQ;UAEtB;AAEN,UAAO,EAAE,SAAS,QAAQ;;;;;;CAO9B,wBAAwB,UAAqC;AAE3D,MAAI,CAAC,MAAM,QAAQ,SAAS,CAAE,QAAO,EAAE;AAEvC,SAAO,SACJ,KAAK,UAAU;AAGd,UAAO,KAAK,SAAS,MAAwB;IAC7C,CACD,QAAQ,SAA+B,SAAS,KAAK"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BatchFixRequest, BatchFixResult, CIIssueWithFixLinks, FIX_STRATEGY_LABELS, FIX_STRATEGY_STABILITY, FixAIConfig, FixFileChange, FixLink, FixLinkOptions, FixLinkType, FixOptions, FixResult, FixStrategy, FixStrategyType, FixableIssue, SpecGenerationContext } from "./types.mjs";
|
|
2
|
+
import { FixService } from "./fix-service.mjs";
|
|
3
|
+
import { CiOutput, CiOutputSchema } from "./schemas.mjs";
|
|
4
|
+
import { generateFixLinks } from "./fix-link-formatter.mjs";
|
|
5
|
+
import { removeReferenceStrategy } from "./strategies/remove-reference.mjs";
|
|
6
|
+
import { implementSkeletonStrategy } from "./strategies/implement-skeleton.mjs";
|
|
7
|
+
import { implementAiStrategy } from "./strategies/implement-ai.mjs";
|
|
8
|
+
import "./strategies/index.mjs";
|
|
9
|
+
|
|
10
|
+
//#region src/services/fix/index.d.ts
|
|
11
|
+
declare namespace index_d_exports {
|
|
12
|
+
export { BatchFixRequest, BatchFixResult, CIIssueWithFixLinks, CiOutput, CiOutputSchema, FIX_STRATEGY_LABELS, FIX_STRATEGY_STABILITY, FixAIConfig, FixFileChange, FixLink, FixLinkOptions, FixLinkType, FixOptions, FixResult, FixService, FixStrategy, FixStrategyType, FixableIssue, SpecGenerationContext, generateFixLinks, implementAiStrategy, implementSkeletonStrategy, removeReferenceStrategy };
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { index_d_exports };
|
|
16
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/services/fix/index.ts"],"sourcesContent":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
|
|
2
|
+
import { FIX_STRATEGY_LABELS, FIX_STRATEGY_STABILITY } from "./types.mjs";
|
|
3
|
+
import { removeReferenceStrategy } from "./strategies/remove-reference.mjs";
|
|
4
|
+
import { implementSkeletonStrategy } from "./strategies/implement-skeleton.mjs";
|
|
5
|
+
import { implementAiStrategy } from "./strategies/implement-ai.mjs";
|
|
6
|
+
import { FixService } from "./fix-service.mjs";
|
|
7
|
+
import { CiOutputSchema } from "./schemas.mjs";
|
|
8
|
+
import { generateFixLinks } from "./fix-link-formatter.mjs";
|
|
9
|
+
|
|
10
|
+
//#region src/services/fix/index.ts
|
|
11
|
+
var fix_exports = /* @__PURE__ */ __exportAll({
|
|
12
|
+
CiOutputSchema: () => CiOutputSchema,
|
|
13
|
+
FIX_STRATEGY_LABELS: () => FIX_STRATEGY_LABELS,
|
|
14
|
+
FIX_STRATEGY_STABILITY: () => FIX_STRATEGY_STABILITY,
|
|
15
|
+
FixService: () => FixService,
|
|
16
|
+
generateFixLinks: () => generateFixLinks,
|
|
17
|
+
implementAiStrategy: () => implementAiStrategy,
|
|
18
|
+
implementSkeletonStrategy: () => implementSkeletonStrategy,
|
|
19
|
+
removeReferenceStrategy: () => removeReferenceStrategy
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { fix_exports };
|
|
24
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/services/fix/index.ts"],"sourcesContent":["/**\n * Fix service exports.\n */\n\nexport * from './types';\nexport * from './fix-service';\nexport * from './schemas';\nexport * from './fix-link-formatter';\nexport * from './strategies';\n"],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
3
|
+
//#region src/services/fix/path-resolver.ts
|
|
4
|
+
/**
|
|
5
|
+
* Fix path resolution utilities.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the output file path for a new spec.
|
|
9
|
+
*
|
|
10
|
+
* Strategies:
|
|
11
|
+
* 1. If outputDir is provided in options, use it.
|
|
12
|
+
* 2. If featureFile is present, try to find the 'src' directory relative to it.
|
|
13
|
+
* 3. Fallback to workspaceRoot/specs/[type]/...
|
|
14
|
+
*/
|
|
15
|
+
function resolveOutputPath(issue, options) {
|
|
16
|
+
if (options.outputDir) return buildPath(options.outputDir, issue.ref.key, issue.specType);
|
|
17
|
+
if (issue.featureFile) {
|
|
18
|
+
const srcDir = findSrcDir(issue.featureFile);
|
|
19
|
+
if (srcDir) return buildPath(srcDir, issue.ref.key, issue.specType);
|
|
20
|
+
}
|
|
21
|
+
return buildPath(path.join(options.workspaceRoot, "specs"), issue.ref.key, issue.specType);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Find the 'src' directory by walking up from the file path.
|
|
25
|
+
*/
|
|
26
|
+
function findSrcDir(filePath) {
|
|
27
|
+
let current = path.dirname(filePath);
|
|
28
|
+
const root = path.parse(filePath).root;
|
|
29
|
+
let iterations = 0;
|
|
30
|
+
while (current !== root && iterations < 50) {
|
|
31
|
+
if (path.basename(current) === "src") return current;
|
|
32
|
+
current = path.dirname(current);
|
|
33
|
+
iterations++;
|
|
34
|
+
}
|
|
35
|
+
current = path.dirname(filePath);
|
|
36
|
+
iterations = 0;
|
|
37
|
+
while (current !== root && iterations < 50) {
|
|
38
|
+
current = path.dirname(current);
|
|
39
|
+
iterations++;
|
|
40
|
+
}
|
|
41
|
+
const srcIndex = filePath.lastIndexOf(`${path.sep}src${path.sep}`);
|
|
42
|
+
if (srcIndex !== -1) return filePath.substring(0, srcIndex + 5);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Build the full file path.
|
|
47
|
+
*/
|
|
48
|
+
function buildPath(baseDir, key, specType) {
|
|
49
|
+
const fileName = key.replace(/\./g, "-").toLowerCase();
|
|
50
|
+
const extension = getFileExtension(specType);
|
|
51
|
+
const subDir = getSubDirectory(specType);
|
|
52
|
+
return path.join(baseDir, subDir, `${fileName}${extension}`);
|
|
53
|
+
}
|
|
54
|
+
function getFileExtension(specType) {
|
|
55
|
+
return {
|
|
56
|
+
operation: ".operation.ts",
|
|
57
|
+
event: ".event.ts",
|
|
58
|
+
presentation: ".presentation.ts",
|
|
59
|
+
workflow: ".workflow.ts",
|
|
60
|
+
"data-view": ".data-view.ts",
|
|
61
|
+
form: ".form.ts",
|
|
62
|
+
migration: ".migration.ts",
|
|
63
|
+
experiment: ".experiment.ts",
|
|
64
|
+
capability: ".capability.ts"
|
|
65
|
+
}[specType] || ".ts";
|
|
66
|
+
}
|
|
67
|
+
function getSubDirectory(specType) {
|
|
68
|
+
return {
|
|
69
|
+
operation: "operations",
|
|
70
|
+
event: "events",
|
|
71
|
+
presentation: "presentations",
|
|
72
|
+
workflow: "workflows",
|
|
73
|
+
"data-view": "data-views",
|
|
74
|
+
form: "forms",
|
|
75
|
+
migration: "migrations",
|
|
76
|
+
experiment: "experiments",
|
|
77
|
+
capability: "capabilities"
|
|
78
|
+
}[specType] || "specs";
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
export { resolveOutputPath };
|
|
83
|
+
//# sourceMappingURL=path-resolver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-resolver.mjs","names":[],"sources":["../../../src/services/fix/path-resolver.ts"],"sourcesContent":["/**\n * Fix path resolution utilities.\n */\n\nimport path from 'node:path';\nimport type { FixableIssue, FixOptions } from './types';\n\n/**\n * Resolve the output file path for a new spec.\n *\n * Strategies:\n * 1. If outputDir is provided in options, use it.\n * 2. If featureFile is present, try to find the 'src' directory relative to it.\n * 3. Fallback to workspaceRoot/specs/[type]/...\n */\nexport function resolveOutputPath(\n issue: FixableIssue,\n options: FixOptions\n): string {\n if (options.outputDir) {\n return buildPath(options.outputDir, issue.ref.key, issue.specType);\n }\n\n // Try to locate src directory from feature file\n if (issue.featureFile) {\n const srcDir = findSrcDir(issue.featureFile);\n if (srcDir) {\n return buildPath(srcDir, issue.ref.key, issue.specType);\n }\n }\n\n // Fallback to workspace root\n return buildPath(\n path.join(options.workspaceRoot, 'specs'),\n issue.ref.key,\n issue.specType\n );\n}\n\n/**\n * Find the 'src' directory by walking up from the file path.\n */\nfunction findSrcDir(filePath: string): string | null {\n let current = path.dirname(filePath);\n const root = path.parse(filePath).root;\n\n // Safety break to prevent infinite loops\n let iterations = 0;\n while (current !== root && iterations < 50) {\n if (path.basename(current) === 'src') {\n return current;\n }\n // If we hit a package.json, we might assume src is inside (or we are at root)\n // But checking for 'src' explicit is safer for monorepo structures\n current = path.dirname(current);\n iterations++;\n }\n\n // Second pass: look for package.json and append /src\n current = path.dirname(filePath);\n iterations = 0;\n while (current !== root && iterations < 50) {\n // We can't synchronously check for file existence easily here without FS adapter access\n // passing FS adapter everywhere is annoying.\n // relying on 'src' convention in URL path string is often enough for now.\n // Let's rely on the first pass for \"src\" segment presence.\n current = path.dirname(current);\n iterations++;\n }\n\n // If the file path itself contains '/src/', extract it\n const srcIndex = filePath.lastIndexOf(`${path.sep}src${path.sep}`);\n if (srcIndex !== -1) {\n return filePath.substring(0, srcIndex + 5); // include /src/\n }\n\n return null;\n}\n\n/**\n * Build the full file path.\n */\nfunction buildPath(baseDir: string, key: string, specType: string): string {\n // Convert key to file name\n // Logic:\n // - If key matches spec type (e.g. \"billing\" for a billing op), keep it simple\n // - Replace dots with dashes? Or keep dots? User mentioned \"docs.search\" -> \"search.ts\" or \"search.operation.ts\"\n // Let's try to be smart: if key namespace matches package/domain, simplify.\n\n // Simple for now: normalized key\n // \"docs.search\" -> \"docs-search\"\n // \"search\" -> \"search\"\n const fileName = key.replace(/\\./g, '-').toLowerCase();\n\n // Optimization: if the key has multiple parts (domain.name), and we are placing it inside a domain folder?\n // Current requirement: just place in src/[type]s/\n\n const extension = getFileExtension(specType);\n const subDir = getSubDirectory(specType);\n\n return path.join(baseDir, subDir, `${fileName}${extension}`);\n}\n\nfunction getFileExtension(specType: string): string {\n const extensions: Record<string, string> = {\n operation: '.operation.ts', // Explicit .operation.ts preferred by user guidelines\n event: '.event.ts',\n presentation: '.presentation.ts',\n workflow: '.workflow.ts',\n 'data-view': '.data-view.ts',\n form: '.form.ts',\n migration: '.migration.ts',\n experiment: '.experiment.ts',\n capability: '.capability.ts',\n };\n\n return extensions[specType] || '.ts';\n}\n\nfunction getSubDirectory(specType: string): string {\n const dirs: Record<string, string> = {\n operation: 'operations',\n event: 'events',\n presentation: 'presentations',\n workflow: 'workflows',\n 'data-view': 'data-views',\n form: 'forms',\n migration: 'migrations',\n experiment: 'experiments',\n capability: 'capabilities',\n };\n\n return dirs[specType] || 'specs';\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,SAAgB,kBACd,OACA,SACQ;AACR,KAAI,QAAQ,UACV,QAAO,UAAU,QAAQ,WAAW,MAAM,IAAI,KAAK,MAAM,SAAS;AAIpE,KAAI,MAAM,aAAa;EACrB,MAAM,SAAS,WAAW,MAAM,YAAY;AAC5C,MAAI,OACF,QAAO,UAAU,QAAQ,MAAM,IAAI,KAAK,MAAM,SAAS;;AAK3D,QAAO,UACL,KAAK,KAAK,QAAQ,eAAe,QAAQ,EACzC,MAAM,IAAI,KACV,MAAM,SACP;;;;;AAMH,SAAS,WAAW,UAAiC;CACnD,IAAI,UAAU,KAAK,QAAQ,SAAS;CACpC,MAAM,OAAO,KAAK,MAAM,SAAS,CAAC;CAGlC,IAAI,aAAa;AACjB,QAAO,YAAY,QAAQ,aAAa,IAAI;AAC1C,MAAI,KAAK,SAAS,QAAQ,KAAK,MAC7B,QAAO;AAIT,YAAU,KAAK,QAAQ,QAAQ;AAC/B;;AAIF,WAAU,KAAK,QAAQ,SAAS;AAChC,cAAa;AACb,QAAO,YAAY,QAAQ,aAAa,IAAI;AAK1C,YAAU,KAAK,QAAQ,QAAQ;AAC/B;;CAIF,MAAM,WAAW,SAAS,YAAY,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM;AAClE,KAAI,aAAa,GACf,QAAO,SAAS,UAAU,GAAG,WAAW,EAAE;AAG5C,QAAO;;;;;AAMT,SAAS,UAAU,SAAiB,KAAa,UAA0B;CAUzE,MAAM,WAAW,IAAI,QAAQ,OAAO,IAAI,CAAC,aAAa;CAKtD,MAAM,YAAY,iBAAiB,SAAS;CAC5C,MAAM,SAAS,gBAAgB,SAAS;AAExC,QAAO,KAAK,KAAK,SAAS,QAAQ,GAAG,WAAW,YAAY;;AAG9D,SAAS,iBAAiB,UAA0B;AAalD,QAZ2C;EACzC,WAAW;EACX,OAAO;EACP,cAAc;EACd,UAAU;EACV,aAAa;EACb,MAAM;EACN,WAAW;EACX,YAAY;EACZ,YAAY;EACb,CAEiB,aAAa;;AAGjC,SAAS,gBAAgB,UAA0B;AAajD,QAZqC;EACnC,WAAW;EACX,OAAO;EACP,cAAc;EACd,UAAU;EACV,aAAa;EACb,MAAM;EACN,WAAW;EACX,YAAY;EACZ,YAAY;EACb,CAEW,aAAa"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/services/fix/schemas.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Schema for parsing CI output JSON file.
|
|
7
|
+
* Handles both direct array and nested { issues: [...] } formats.
|
|
8
|
+
*/
|
|
9
|
+
declare const CiOutputSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodUnknown>, z.ZodPipe<z.ZodObject<{
|
|
10
|
+
issues: z.ZodArray<z.ZodUnknown>;
|
|
11
|
+
}, z.core.$strip>, z.ZodTransform<unknown[], {
|
|
12
|
+
issues: unknown[];
|
|
13
|
+
}>>]>;
|
|
14
|
+
type CiOutput = z.infer<typeof CiOutputSchema>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { CiOutput, CiOutputSchema };
|
|
17
|
+
//# sourceMappingURL=schemas.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.mts","names":[],"sources":["../../../src/services/fix/schemas.ts"],"sourcesContent":[],"mappings":";;;;;;AAMA;;AAA2B,cAAd,cAAc,EAAA,CAAA,CAAA,QAAA,CAAA,SAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,SAAA,CAAA;;;;CAAA,CAAA,CAAA,CAAA,CAAA;KAKf,QAAA,GAAW,CAAA,CAAE,aAAa"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/services/fix/schemas.ts
|
|
4
|
+
/**
|
|
5
|
+
* Schema for parsing CI output JSON file.
|
|
6
|
+
* Handles both direct array and nested { issues: [...] } formats.
|
|
7
|
+
*/
|
|
8
|
+
const CiOutputSchema = z.union([z.array(z.unknown()), z.object({ issues: z.array(z.unknown()) }).transform((data) => data.issues)]);
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { CiOutputSchema };
|
|
12
|
+
//# sourceMappingURL=schemas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.mjs","names":[],"sources":["../../../src/services/fix/schemas.ts"],"sourcesContent":["import { z } from 'zod';\n\n/**\n * Schema for parsing CI output JSON file.\n * Handles both direct array and nested { issues: [...] } formats.\n */\nexport const CiOutputSchema = z.union([\n z.array(z.unknown()),\n z.object({ issues: z.array(z.unknown()) }).transform((data) => data.issues),\n]);\n\nexport type CiOutput = z.infer<typeof CiOutputSchema>;\n"],"mappings":";;;;;;;AAMA,MAAa,iBAAiB,EAAE,MAAM,CACpC,EAAE,MAAM,EAAE,SAAS,CAAC,EACpB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,WAAW,SAAS,KAAK,OAAO,CAC5E,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FsAdapter } from "../../../ports/fs.mjs";
|
|
2
|
+
import { LoggerAdapter } from "../../../ports/logger.mjs";
|
|
3
|
+
import { FixOptions, FixResult, FixableIssue } from "../types.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/services/fix/strategies/implement-ai.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Create a spec with AI-generated content.
|
|
9
|
+
*
|
|
10
|
+
* Falls back to skeleton if AI is not available or fails.
|
|
11
|
+
*/
|
|
12
|
+
declare function implementAiStrategy(issue: FixableIssue, options: FixOptions, adapters: {
|
|
13
|
+
fs: FsAdapter;
|
|
14
|
+
logger: LoggerAdapter;
|
|
15
|
+
}): Promise<FixResult>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { implementAiStrategy };
|
|
18
|
+
//# sourceMappingURL=implement-ai.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-ai.d.mts","names":[],"sources":["../../../../src/services/fix/strategies/implement-ai.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;iBA8BsB,mBAAA,QACb,uBACE;MACO;UAAmB;IAClC,QAAQ"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { FIX_STRATEGY_STABILITY } from "../types.mjs";
|
|
2
|
+
import { generateSkeletonOperation } from "../../../templates/fix/skeleton-operation.mjs";
|
|
3
|
+
import { generateSkeletonEvent } from "../../../templates/fix/skeleton-event.mjs";
|
|
4
|
+
import { generateSkeletonPresentation } from "../../../templates/fix/skeleton-presentation.mjs";
|
|
5
|
+
import { generateSkeletonCapability } from "../../../templates/fix/skeleton-capability.mjs";
|
|
6
|
+
import { resolveOutputPath } from "../path-resolver.mjs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
|
|
9
|
+
//#region src/services/fix/strategies/implement-ai.ts
|
|
10
|
+
/**
|
|
11
|
+
* Create a spec with AI-generated content.
|
|
12
|
+
*
|
|
13
|
+
* Falls back to skeleton if AI is not available or fails.
|
|
14
|
+
*/
|
|
15
|
+
async function implementAiStrategy(issue, options, adapters) {
|
|
16
|
+
const { fs, logger } = adapters;
|
|
17
|
+
const { ref, specType, featureKey } = issue;
|
|
18
|
+
try {
|
|
19
|
+
const ctx = {
|
|
20
|
+
key: ref.key,
|
|
21
|
+
version: ref.version,
|
|
22
|
+
specType,
|
|
23
|
+
stability: FIX_STRATEGY_STABILITY["implement-ai"],
|
|
24
|
+
featureKey
|
|
25
|
+
};
|
|
26
|
+
let enrichedCtx = ctx;
|
|
27
|
+
if (options.aiConfig) try {
|
|
28
|
+
enrichedCtx = await enrichWithAI(ctx, options, logger);
|
|
29
|
+
} catch (aiError) {
|
|
30
|
+
logger.warn("AI enrichment failed, falling back to skeleton", { error: aiError instanceof Error ? aiError.message : String(aiError) });
|
|
31
|
+
}
|
|
32
|
+
else logger.info("No AI config provided, using skeleton with experimental stability");
|
|
33
|
+
const code = generateSpecCode(enrichedCtx);
|
|
34
|
+
if (!code) return {
|
|
35
|
+
success: false,
|
|
36
|
+
strategy: "implement-ai",
|
|
37
|
+
issue,
|
|
38
|
+
filesChanged: [],
|
|
39
|
+
error: `Unsupported spec type: ${specType}`
|
|
40
|
+
};
|
|
41
|
+
const filePath = resolveOutputPath(issue, options);
|
|
42
|
+
const filesChanged = [];
|
|
43
|
+
if (!options.dryRun) {
|
|
44
|
+
const dir = path.dirname(filePath);
|
|
45
|
+
await fs.mkdir(dir);
|
|
46
|
+
await fs.writeFile(filePath, code);
|
|
47
|
+
filesChanged.push({
|
|
48
|
+
path: filePath,
|
|
49
|
+
action: "created"
|
|
50
|
+
});
|
|
51
|
+
} else filesChanged.push({
|
|
52
|
+
path: filePath,
|
|
53
|
+
action: "created"
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
success: true,
|
|
57
|
+
strategy: "implement-ai",
|
|
58
|
+
issue,
|
|
59
|
+
filesChanged
|
|
60
|
+
};
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
strategy: "implement-ai",
|
|
65
|
+
issue,
|
|
66
|
+
filesChanged: [],
|
|
67
|
+
error: error instanceof Error ? error.message : String(error)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Enrich the generation context with AI-generated content.
|
|
73
|
+
*/
|
|
74
|
+
async function enrichWithAI(ctx, _options, logger) {
|
|
75
|
+
logger.info("Generating AI content for spec", {
|
|
76
|
+
key: ctx.key,
|
|
77
|
+
type: ctx.specType
|
|
78
|
+
});
|
|
79
|
+
const enrichment = inferEnrichmentFromKey(ctx.key, ctx.specType);
|
|
80
|
+
return {
|
|
81
|
+
...ctx,
|
|
82
|
+
description: enrichment.description,
|
|
83
|
+
enrichment: {
|
|
84
|
+
goal: enrichment.goal,
|
|
85
|
+
context: enrichment.context,
|
|
86
|
+
owners: ["@team"],
|
|
87
|
+
tags: enrichment.tags
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Infer enrichment content from the spec key.
|
|
93
|
+
*/
|
|
94
|
+
function inferEnrichmentFromKey(key, specType) {
|
|
95
|
+
const parts = key.split(".");
|
|
96
|
+
const domain = parts[0] || "unknown";
|
|
97
|
+
const action = parts.slice(1).join(" ").replace(/_/g, " ");
|
|
98
|
+
const domainTags = [domain];
|
|
99
|
+
const actionKeywords = action.toLowerCase().split(" ");
|
|
100
|
+
const matchedTags = [
|
|
101
|
+
"auth",
|
|
102
|
+
"user",
|
|
103
|
+
"admin",
|
|
104
|
+
"api",
|
|
105
|
+
"data",
|
|
106
|
+
"search",
|
|
107
|
+
"create",
|
|
108
|
+
"update",
|
|
109
|
+
"delete"
|
|
110
|
+
].filter((tag) => actionKeywords.some((kw) => kw.includes(tag)));
|
|
111
|
+
return {
|
|
112
|
+
description: `${capitalize(specType)} for ${domain} ${action}`,
|
|
113
|
+
goal: `Enable ${action} functionality in the ${domain} domain`,
|
|
114
|
+
context: `Part of the ${domain} feature set. Generated by ContractSpec AI fix.`,
|
|
115
|
+
tags: [...domainTags, ...matchedTags]
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Generate spec code based on type.
|
|
120
|
+
*/
|
|
121
|
+
function generateSpecCode(ctx) {
|
|
122
|
+
switch (ctx.specType) {
|
|
123
|
+
case "operation": return generateSkeletonOperation(ctx);
|
|
124
|
+
case "event": return generateSkeletonEvent(ctx);
|
|
125
|
+
case "presentation": return generateSkeletonPresentation(ctx);
|
|
126
|
+
case "capability": return generateSkeletonCapability(ctx);
|
|
127
|
+
default: return;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Capitalize the first letter of a string.
|
|
132
|
+
*/
|
|
133
|
+
function capitalize(str) {
|
|
134
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
export { implementAiStrategy };
|
|
139
|
+
//# sourceMappingURL=implement-ai.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-ai.mjs","names":[],"sources":["../../../../src/services/fix/strategies/implement-ai.ts"],"sourcesContent":["/**\n * Implement AI strategy.\n *\n * Creates a spec with AI-generated content using experimental stability.\n */\n\nimport type {\n FixableIssue,\n FixOptions,\n FixResult,\n FixFileChange,\n SpecGenerationContext,\n} from '../types';\nimport type { FsAdapter } from '../../../ports/fs';\nimport type { LoggerAdapter } from '../../../ports/logger';\nimport { FIX_STRATEGY_STABILITY } from '../types';\nimport {\n generateSkeletonOperation,\n generateSkeletonEvent,\n generateSkeletonPresentation,\n generateSkeletonCapability,\n} from '../../../templates/fix';\nimport { resolveOutputPath } from '../path-resolver';\nimport path from 'node:path';\n\n/**\n * Create a spec with AI-generated content.\n *\n * Falls back to skeleton if AI is not available or fails.\n */\nexport async function implementAiStrategy(\n issue: FixableIssue,\n options: FixOptions,\n adapters: { fs: FsAdapter; logger: LoggerAdapter }\n): Promise<FixResult> {\n const { fs, logger } = adapters;\n const { ref, specType, featureKey } = issue;\n\n try {\n // Build generation context with AI enrichment\n const ctx: SpecGenerationContext = {\n key: ref.key,\n version: ref.version,\n specType,\n stability: FIX_STRATEGY_STABILITY['implement-ai'],\n featureKey,\n };\n\n // Try to get AI-generated content\n let enrichedCtx = ctx;\n if (options.aiConfig) {\n try {\n enrichedCtx = await enrichWithAI(ctx, options, logger);\n } catch (aiError) {\n logger.warn('AI enrichment failed, falling back to skeleton', {\n error: aiError instanceof Error ? aiError.message : String(aiError),\n });\n // Continue with unenriched context\n }\n } else {\n logger.info(\n 'No AI config provided, using skeleton with experimental stability'\n );\n }\n\n // Generate the spec code\n const code = generateSpecCode(enrichedCtx);\n if (!code) {\n return {\n success: false,\n strategy: 'implement-ai',\n issue,\n filesChanged: [],\n error: `Unsupported spec type: ${specType}`,\n };\n }\n\n // Determine output path\n const filePath = resolveOutputPath(issue, options);\n\n const filesChanged: FixFileChange[] = [];\n\n // Write the file (unless dry run)\n if (!options.dryRun) {\n // Ensure directory exists\n const dir = path.dirname(filePath);\n await fs.mkdir(dir);\n\n // Write the spec file\n await fs.writeFile(filePath, code);\n\n filesChanged.push({\n path: filePath,\n action: 'created',\n });\n } else {\n // For dry run, report what would be created\n filesChanged.push({\n path: filePath,\n action: 'created',\n });\n }\n\n return {\n success: true,\n strategy: 'implement-ai',\n issue,\n filesChanged,\n };\n } catch (error) {\n return {\n success: false,\n strategy: 'implement-ai',\n issue,\n filesChanged: [],\n error: error instanceof Error ? error.message : String(error),\n };\n }\n}\n\n/**\n * Enrich the generation context with AI-generated content.\n */\nasync function enrichWithAI(\n ctx: SpecGenerationContext,\n _options: FixOptions,\n logger: LoggerAdapter\n): Promise<SpecGenerationContext> {\n // TODO: Integrate with existing AIGenerator from services/create/ai-generator.ts\n // For now, generate reasonable defaults based on the key\n\n logger.info('Generating AI content for spec', {\n key: ctx.key,\n type: ctx.specType,\n });\n\n const enrichment = inferEnrichmentFromKey(ctx.key, ctx.specType);\n\n return {\n ...ctx,\n description: enrichment.description,\n enrichment: {\n goal: enrichment.goal,\n context: enrichment.context,\n owners: ['@team'],\n tags: enrichment.tags,\n },\n };\n}\n\n/**\n * Infer enrichment content from the spec key.\n */\nfunction inferEnrichmentFromKey(\n key: string,\n specType: string\n): {\n description: string;\n goal: string;\n context: string;\n tags: string[];\n} {\n const parts = key.split('.');\n const domain = parts[0] || 'unknown';\n const action = parts.slice(1).join(' ').replace(/_/g, ' ');\n\n const domainTags = [domain];\n const actionKeywords = action.toLowerCase().split(' ');\n\n // Add relevant tags based on action keywords\n const tagKeywords = [\n 'auth',\n 'user',\n 'admin',\n 'api',\n 'data',\n 'search',\n 'create',\n 'update',\n 'delete',\n ];\n const matchedTags = tagKeywords.filter((tag) =>\n actionKeywords.some((kw) => kw.includes(tag))\n );\n\n return {\n description: `${capitalize(specType)} for ${domain} ${action}`,\n goal: `Enable ${action} functionality in the ${domain} domain`,\n context: `Part of the ${domain} feature set. Generated by ContractSpec AI fix.`,\n tags: [...domainTags, ...matchedTags],\n };\n}\n\n/**\n * Generate spec code based on type.\n */\nfunction generateSpecCode(ctx: SpecGenerationContext): string | undefined {\n switch (ctx.specType) {\n case 'operation':\n return generateSkeletonOperation(ctx);\n case 'event':\n return generateSkeletonEvent(ctx);\n case 'presentation':\n return generateSkeletonPresentation(ctx);\n case 'capability':\n return generateSkeletonCapability(ctx);\n default:\n return undefined;\n }\n}\n\n/**\n * Capitalize the first letter of a string.\n */\nfunction capitalize(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n"],"mappings":";;;;;;;;;;;;;;AA8BA,eAAsB,oBACpB,OACA,SACA,UACoB;CACpB,MAAM,EAAE,IAAI,WAAW;CACvB,MAAM,EAAE,KAAK,UAAU,eAAe;AAEtC,KAAI;EAEF,MAAM,MAA6B;GACjC,KAAK,IAAI;GACT,SAAS,IAAI;GACb;GACA,WAAW,uBAAuB;GAClC;GACD;EAGD,IAAI,cAAc;AAClB,MAAI,QAAQ,SACV,KAAI;AACF,iBAAc,MAAM,aAAa,KAAK,SAAS,OAAO;WAC/C,SAAS;AAChB,UAAO,KAAK,kDAAkD,EAC5D,OAAO,mBAAmB,QAAQ,QAAQ,UAAU,OAAO,QAAQ,EACpE,CAAC;;MAIJ,QAAO,KACL,oEACD;EAIH,MAAM,OAAO,iBAAiB,YAAY;AAC1C,MAAI,CAAC,KACH,QAAO;GACL,SAAS;GACT,UAAU;GACV;GACA,cAAc,EAAE;GAChB,OAAO,0BAA0B;GAClC;EAIH,MAAM,WAAW,kBAAkB,OAAO,QAAQ;EAElD,MAAM,eAAgC,EAAE;AAGxC,MAAI,CAAC,QAAQ,QAAQ;GAEnB,MAAM,MAAM,KAAK,QAAQ,SAAS;AAClC,SAAM,GAAG,MAAM,IAAI;AAGnB,SAAM,GAAG,UAAU,UAAU,KAAK;AAElC,gBAAa,KAAK;IAChB,MAAM;IACN,QAAQ;IACT,CAAC;QAGF,cAAa,KAAK;GAChB,MAAM;GACN,QAAQ;GACT,CAAC;AAGJ,SAAO;GACL,SAAS;GACT,UAAU;GACV;GACA;GACD;UACM,OAAO;AACd,SAAO;GACL,SAAS;GACT,UAAU;GACV;GACA,cAAc,EAAE;GAChB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;GAC9D;;;;;;AAOL,eAAe,aACb,KACA,UACA,QACgC;AAIhC,QAAO,KAAK,kCAAkC;EAC5C,KAAK,IAAI;EACT,MAAM,IAAI;EACX,CAAC;CAEF,MAAM,aAAa,uBAAuB,IAAI,KAAK,IAAI,SAAS;AAEhE,QAAO;EACL,GAAG;EACH,aAAa,WAAW;EACxB,YAAY;GACV,MAAM,WAAW;GACjB,SAAS,WAAW;GACpB,QAAQ,CAAC,QAAQ;GACjB,MAAM,WAAW;GAClB;EACF;;;;;AAMH,SAAS,uBACP,KACA,UAMA;CACA,MAAM,QAAQ,IAAI,MAAM,IAAI;CAC5B,MAAM,SAAS,MAAM,MAAM;CAC3B,MAAM,SAAS,MAAM,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,MAAM,IAAI;CAE1D,MAAM,aAAa,CAAC,OAAO;CAC3B,MAAM,iBAAiB,OAAO,aAAa,CAAC,MAAM,IAAI;CActD,MAAM,cAXc;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAC+B,QAAQ,QACtC,eAAe,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,CAC9C;AAED,QAAO;EACL,aAAa,GAAG,WAAW,SAAS,CAAC,OAAO,OAAO,GAAG;EACtD,MAAM,UAAU,OAAO,wBAAwB,OAAO;EACtD,SAAS,eAAe,OAAO;EAC/B,MAAM,CAAC,GAAG,YAAY,GAAG,YAAY;EACtC;;;;;AAMH,SAAS,iBAAiB,KAAgD;AACxE,SAAQ,IAAI,UAAZ;EACE,KAAK,YACH,QAAO,0BAA0B,IAAI;EACvC,KAAK,QACH,QAAO,sBAAsB,IAAI;EACnC,KAAK,eACH,QAAO,6BAA6B,IAAI;EAC1C,KAAK,aACH,QAAO,2BAA2B,IAAI;EACxC,QACE;;;;;;AAON,SAAS,WAAW,KAAqB;AACvC,QAAO,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FsAdapter } from "../../../ports/fs.mjs";
|
|
2
|
+
import { FixOptions, FixResult, FixableIssue } from "../types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/services/fix/strategies/implement-skeleton.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Create a skeleton spec for a missing reference.
|
|
8
|
+
*/
|
|
9
|
+
declare function implementSkeletonStrategy(issue: FixableIssue, options: FixOptions, adapters: {
|
|
10
|
+
fs: FsAdapter;
|
|
11
|
+
}): Promise<FixResult>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { implementSkeletonStrategy };
|
|
14
|
+
//# sourceMappingURL=implement-skeleton.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implement-skeleton.d.mts","names":[],"sources":["../../../../src/services/fix/strategies/implement-skeleton.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA+BU,iBAJY,yBAAA,CAIZ,KAAA,EAHD,YAGC,EAAA,OAAA,EAFC,UAED,EAAA,QAAA,EAAA;MADQ;IACf,QAAQ"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { FIX_STRATEGY_STABILITY } from "../types.mjs";
|
|
2
|
+
import { generateSkeletonOperation } from "../../../templates/fix/skeleton-operation.mjs";
|
|
3
|
+
import { generateSkeletonEvent } from "../../../templates/fix/skeleton-event.mjs";
|
|
4
|
+
import { generateSkeletonPresentation } from "../../../templates/fix/skeleton-presentation.mjs";
|
|
5
|
+
import { generateSkeletonCapability } from "../../../templates/fix/skeleton-capability.mjs";
|
|
6
|
+
import { resolveOutputPath } from "../path-resolver.mjs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
|
|
9
|
+
//#region src/services/fix/strategies/implement-skeleton.ts
|
|
10
|
+
/**
|
|
11
|
+
* Create a skeleton spec for a missing reference.
|
|
12
|
+
*/
|
|
13
|
+
async function implementSkeletonStrategy(issue, options, adapters) {
|
|
14
|
+
const { fs } = adapters;
|
|
15
|
+
const { ref, specType, featureKey } = issue;
|
|
16
|
+
try {
|
|
17
|
+
const code = generateSpecCode({
|
|
18
|
+
key: ref.key,
|
|
19
|
+
version: ref.version,
|
|
20
|
+
specType,
|
|
21
|
+
stability: FIX_STRATEGY_STABILITY["implement-skeleton"],
|
|
22
|
+
description: `Skeleton spec for ${ref.key}`,
|
|
23
|
+
featureKey
|
|
24
|
+
});
|
|
25
|
+
if (!code) return {
|
|
26
|
+
success: false,
|
|
27
|
+
strategy: "implement-skeleton",
|
|
28
|
+
issue,
|
|
29
|
+
filesChanged: [],
|
|
30
|
+
error: `Unsupported spec type: ${specType}`
|
|
31
|
+
};
|
|
32
|
+
const filePath = resolveOutputPath(issue, options);
|
|
33
|
+
const filesChanged = [];
|
|
34
|
+
if (!options.dryRun) {
|
|
35
|
+
const dir = path.dirname(filePath);
|
|
36
|
+
await fs.mkdir(dir);
|
|
37
|
+
await fs.writeFile(filePath, code);
|
|
38
|
+
filesChanged.push({
|
|
39
|
+
path: filePath,
|
|
40
|
+
action: "created"
|
|
41
|
+
});
|
|
42
|
+
} else filesChanged.push({
|
|
43
|
+
path: filePath,
|
|
44
|
+
action: "created"
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
success: true,
|
|
48
|
+
strategy: "implement-skeleton",
|
|
49
|
+
issue,
|
|
50
|
+
filesChanged
|
|
51
|
+
};
|
|
52
|
+
} catch (error) {
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
strategy: "implement-skeleton",
|
|
56
|
+
issue,
|
|
57
|
+
filesChanged: [],
|
|
58
|
+
error: error instanceof Error ? error.message : String(error)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Generate spec code based on type.
|
|
64
|
+
*/
|
|
65
|
+
function generateSpecCode(ctx) {
|
|
66
|
+
switch (ctx.specType) {
|
|
67
|
+
case "operation": return generateSkeletonOperation(ctx);
|
|
68
|
+
case "event": return generateSkeletonEvent(ctx);
|
|
69
|
+
case "presentation": return generateSkeletonPresentation(ctx);
|
|
70
|
+
case "capability": return generateSkeletonCapability(ctx);
|
|
71
|
+
default: return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
//#endregion
|
|
76
|
+
export { implementSkeletonStrategy };
|
|
77
|
+
//# sourceMappingURL=implement-skeleton.mjs.map
|