@contractspec/bundle.workspace 0.0.0-canary-20260113162409
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/LICENSE +21 -0
- package/README.md +83 -0
- 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 +168 -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 +71 -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 +76 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-codex-agent.mjs","names":[],"sources":["../../../src/ai/agents/openai-codex-agent.ts"],"sourcesContent":["/**\n * OpenAI Codex Agent - Uses OpenAI's code-optimized models\n * Supports GPT-4o and o1 reasoning models for complex code generation\n */\n\nimport { openai } from '@ai-sdk/openai';\nimport { generateText } from 'ai';\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\n\nexport class OpenAICodexAgent implements AgentProvider {\n name = 'openai-codex' as const;\n private apiKey: string | undefined;\n\n constructor() {\n this.apiKey = process.env.OPENAI_API_KEY;\n }\n\n canHandle(_task: AgentTask): boolean {\n return !!this.apiKey;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n if (!this.apiKey) {\n return {\n success: false,\n errors: [\n 'OPENAI_API_KEY not set. OpenAI Codex agent requires API access.',\n ],\n };\n }\n\n try {\n // Use o1 for complex generation, gpt-4o for standard\n const isComplex = this.isComplexTask(task);\n const modelName = isComplex ? 'o1' : 'gpt-4o';\n const model = openai(modelName);\n\n const systemPrompt = this.buildSystemPrompt(task);\n const userPrompt = this.buildUserPrompt(task);\n\n const result = await generateText({\n model,\n prompt: userPrompt,\n system: systemPrompt,\n temperature: 0.2,\n });\n\n const code = this.extractCode(result.text);\n\n return {\n success: true,\n code,\n metadata: {\n model: modelName,\n agentMode: 'openai-codex',\n usage: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n if (!this.apiKey) {\n return {\n success: false,\n errors: ['OPENAI_API_KEY not set'],\n };\n }\n\n try {\n const model = openai('gpt-4o');\n\n const prompt = `\nReview this code implementation against its specification.\n\nSPECIFICATION:\n\\`\\`\\`typescript\n${task.specCode}\n\\`\\`\\`\n\nIMPLEMENTATION:\n\\`\\`\\`typescript\n${task.existingCode || '// No implementation'}\n\\`\\`\\`\n\nProvide a detailed validation report including:\n1. Specification compliance\n2. Code quality assessment\n3. Potential bugs or issues\n4. Recommendations for improvement\n\nFormat as a structured report.\n`;\n\n const result = await generateText({\n model,\n prompt,\n system:\n 'You are a senior software engineer performing thorough code review.',\n temperature: 0.3,\n });\n\n const hasIssues = this.detectIssues(result.text);\n\n return {\n success: !hasIssues,\n code: result.text,\n errors: hasIssues ? this.extractErrors(result.text) : [],\n warnings: this.extractWarnings(result.text),\n metadata: {\n agentMode: 'openai-codex',\n validationType: 'ai-review',\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private isComplexTask(task: AgentTask): boolean {\n // Use o1 reasoning model for complex tasks\n const complexIndicators = [\n 'algorithm',\n 'optimization',\n 'complex logic',\n 'state management',\n 'concurrent',\n 'distributed',\n ];\n\n const taskStr = (task.specCode + (task.existingCode || '')).toLowerCase();\n return complexIndicators.some((indicator) => taskStr.includes(indicator));\n }\n\n private buildSystemPrompt(task: AgentTask): string {\n const basePrompt = `You are an expert TypeScript/JavaScript developer.\n\nGenerate production-quality code that is:\n- Type-safe and well-typed\n- Documented with clear comments\n- Following best practices and SOLID principles\n- Properly handling errors and edge cases\n- Testable and maintainable\n\nOutput only the code without explanations unless specifically asked.`;\n\n if (task.type === 'test') {\n return (\n basePrompt + '\\n\\nGenerate comprehensive test suites using Vitest.'\n );\n }\n\n return basePrompt;\n }\n\n private buildUserPrompt(task: AgentTask): string {\n switch (task.type) {\n case 'generate':\n return `Implement this specification:\\n\\n${task.specCode}\\n\\nProvide complete, production-ready TypeScript code.`;\n\n case 'test':\n return `Create comprehensive tests:\\n\\nSpec:\\n${task.specCode}\\n\\nImplementation:\\n${task.existingCode}\\n\\nGenerate complete Vitest test suite.`;\n\n case 'refactor':\n return `Refactor this code while maintaining functionality:\\n\\n${task.existingCode}\\n\\nSpec:\\n${task.specCode}`;\n\n default:\n return task.specCode;\n }\n }\n\n private extractCode(text: string): string {\n // Extract from markdown code blocks\n const match = text.match(\n /```(?:typescript|ts|tsx|javascript|js)?\\n([\\s\\S]*?)\\n```/\n );\n return match && match[1] ? match[1] : text;\n }\n\n private detectIssues(text: string): boolean {\n const issueKeywords = [\n 'issue',\n 'problem',\n 'bug',\n 'error',\n 'incorrect',\n 'missing',\n 'fails',\n 'violation',\n ];\n\n const lower = text.toLowerCase();\n return issueKeywords.some((keyword) => lower.includes(keyword));\n }\n\n private extractErrors(text: string): string[] {\n const errors: string[] = [];\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (\n line.toLowerCase().includes('error') ||\n line.toLowerCase().includes('bug') ||\n line.toLowerCase().includes('fails')\n ) {\n errors.push(line.trim());\n }\n }\n\n return errors;\n }\n\n private extractWarnings(text: string): string[] {\n const warnings: string[] = [];\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (\n line.toLowerCase().includes('warning') ||\n line.toLowerCase().includes('should') ||\n line.toLowerCase().includes('consider')\n ) {\n warnings.push(line.trim());\n }\n }\n\n return warnings;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Config } from "../../types/config.mjs";
|
|
2
|
+
import { AgentMode, AgentResult, AgentTask } from "./types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/ai/agents/orchestrator.d.ts
|
|
5
|
+
|
|
6
|
+
declare class AgentOrchestrator {
|
|
7
|
+
private config;
|
|
8
|
+
private agents;
|
|
9
|
+
private defaultAgent;
|
|
10
|
+
constructor(config: Config);
|
|
11
|
+
/**
|
|
12
|
+
* Execute a task using the configured agent with fallback support
|
|
13
|
+
*/
|
|
14
|
+
executeTask(task: AgentTask): Promise<AgentResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Generate code from specification
|
|
17
|
+
*/
|
|
18
|
+
generate(specCode: string, targetPath?: string): Promise<AgentResult>;
|
|
19
|
+
/**
|
|
20
|
+
* Generate tests for implementation
|
|
21
|
+
*/
|
|
22
|
+
generateTests(specCode: string, implementationCode: string): Promise<AgentResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Validate implementation against specification
|
|
25
|
+
*/
|
|
26
|
+
validate(specCode: string, implementationCode: string): Promise<AgentResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Refactor existing code
|
|
29
|
+
*/
|
|
30
|
+
refactor(specCode: string, existingCode: string): Promise<AgentResult>;
|
|
31
|
+
/**
|
|
32
|
+
* List available agents and their status
|
|
33
|
+
*/
|
|
34
|
+
getAvailableAgents(): Promise<{
|
|
35
|
+
mode: AgentMode;
|
|
36
|
+
available: boolean;
|
|
37
|
+
reason?: string;
|
|
38
|
+
}[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Get the configured agent mode
|
|
41
|
+
*/
|
|
42
|
+
private getAgentMode;
|
|
43
|
+
/**
|
|
44
|
+
* Get fallback mode for an agent
|
|
45
|
+
*/
|
|
46
|
+
private getFallbackMode;
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { AgentOrchestrator };
|
|
50
|
+
//# sourceMappingURL=orchestrator.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.mts","names":[],"sources":["../../../src/ai/agents/orchestrator.ts"],"sourcesContent":[],"mappings":";;;;;AAsC0B,cAxBb,iBAAA,CAwBa;EAAoB,QAAA,MAAA;EAAR,QAAA,MAAA;EAuE2B,QAAA,YAAA;EAAR,WAAA,CAAA,MAAA,EA3F3B,MA2F2B;EAc5C;;;EAcR,WAAA,CAAA,IAAA,EAnGqB,SAmGrB,CAAA,EAnGiC,OAmGjC,CAnGyC,WAmGzC,CAAA;EAW6D;;;EAWpC,QAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,CAAA,EAlD2B,OAkD3B,CAlDmC,WAkDnC,CAAA;EAAO;;;+DApChC,QAAQ;;;;0DAcR,QAAQ;;;;oDAW6C,QAAQ;;;;wBAWpC;UAClB"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { SimpleAgent } from "./simple-agent.mjs";
|
|
2
|
+
import { CursorAgent } from "./cursor-agent.mjs";
|
|
3
|
+
import { ClaudeCodeAgent } from "./claude-code-agent.mjs";
|
|
4
|
+
import { OpenAICodexAgent } from "./openai-codex-agent.mjs";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import ora from "ora";
|
|
7
|
+
|
|
8
|
+
//#region src/ai/agents/orchestrator.ts
|
|
9
|
+
/**
|
|
10
|
+
* Agent Orchestrator - Coordinates between different AI agents
|
|
11
|
+
* Selects the appropriate agent based on config and task requirements
|
|
12
|
+
*/
|
|
13
|
+
var AgentOrchestrator = class {
|
|
14
|
+
agents;
|
|
15
|
+
defaultAgent;
|
|
16
|
+
constructor(config) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.agents = /* @__PURE__ */ new Map();
|
|
19
|
+
const simpleAgent = new SimpleAgent(config);
|
|
20
|
+
const cursorAgent = new CursorAgent();
|
|
21
|
+
const claudeAgent = new ClaudeCodeAgent();
|
|
22
|
+
const openaiAgent = new OpenAICodexAgent();
|
|
23
|
+
this.agents.set("simple", simpleAgent);
|
|
24
|
+
this.agents.set("cursor", cursorAgent);
|
|
25
|
+
this.agents.set("claude-code", claudeAgent);
|
|
26
|
+
this.agents.set("openai-codex", openaiAgent);
|
|
27
|
+
this.defaultAgent = simpleAgent;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Execute a task using the configured agent with fallback support
|
|
31
|
+
*/
|
|
32
|
+
async executeTask(task) {
|
|
33
|
+
const agentMode = this.getAgentMode();
|
|
34
|
+
const agent = this.agents.get(agentMode);
|
|
35
|
+
if (!agent) {
|
|
36
|
+
console.log(chalk.yellow(`⚠️ Agent '${agentMode}' not found, using simple agent`));
|
|
37
|
+
return this.defaultAgent.generate(task);
|
|
38
|
+
}
|
|
39
|
+
if (!agent.canHandle(task)) {
|
|
40
|
+
console.log(chalk.yellow(`⚠️ Agent '${agentMode}' cannot handle this task, falling back to simple agent`));
|
|
41
|
+
return this.defaultAgent.generate(task);
|
|
42
|
+
}
|
|
43
|
+
const spinner = ora(`Executing with ${agentMode} agent...`).start();
|
|
44
|
+
try {
|
|
45
|
+
const result = task.type === "validate" ? await agent.validate(task) : await agent.generate(task);
|
|
46
|
+
if (result.success) {
|
|
47
|
+
spinner.succeed(chalk.green(`${agentMode} agent completed successfully`));
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
spinner.warn(chalk.yellow(`${agentMode} agent failed, trying fallback...`));
|
|
51
|
+
const fallbackMode = this.getFallbackMode(agentMode);
|
|
52
|
+
if (fallbackMode && fallbackMode !== agentMode) {
|
|
53
|
+
const fallbackAgent = this.agents.get(fallbackMode);
|
|
54
|
+
if (fallbackAgent && fallbackAgent.canHandle(task)) return task.type === "validate" ? await fallbackAgent.validate(task) : await fallbackAgent.generate(task);
|
|
55
|
+
}
|
|
56
|
+
spinner.info(chalk.gray("Using simple agent as ultimate fallback"));
|
|
57
|
+
return task.type === "validate" ? await this.defaultAgent.validate(task) : await this.defaultAgent.generate(task);
|
|
58
|
+
} catch (_error) {
|
|
59
|
+
spinner.fail(chalk.red("Agent execution failed"));
|
|
60
|
+
console.log(chalk.gray("Falling back to simple agent..."));
|
|
61
|
+
return task.type === "validate" ? await this.defaultAgent.validate(task) : await this.defaultAgent.generate(task);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate code from specification
|
|
66
|
+
*/
|
|
67
|
+
async generate(specCode, targetPath) {
|
|
68
|
+
return this.executeTask({
|
|
69
|
+
type: "generate",
|
|
70
|
+
specCode,
|
|
71
|
+
targetPath
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Generate tests for implementation
|
|
76
|
+
*/
|
|
77
|
+
async generateTests(specCode, implementationCode) {
|
|
78
|
+
return this.executeTask({
|
|
79
|
+
type: "test",
|
|
80
|
+
specCode,
|
|
81
|
+
existingCode: implementationCode
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Validate implementation against specification
|
|
86
|
+
*/
|
|
87
|
+
async validate(specCode, implementationCode) {
|
|
88
|
+
return this.executeTask({
|
|
89
|
+
type: "validate",
|
|
90
|
+
specCode,
|
|
91
|
+
existingCode: implementationCode
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Refactor existing code
|
|
96
|
+
*/
|
|
97
|
+
async refactor(specCode, existingCode) {
|
|
98
|
+
return this.executeTask({
|
|
99
|
+
type: "refactor",
|
|
100
|
+
specCode,
|
|
101
|
+
existingCode
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* List available agents and their status
|
|
106
|
+
*/
|
|
107
|
+
async getAvailableAgents() {
|
|
108
|
+
const results = [];
|
|
109
|
+
for (const [mode, agent] of this.agents) {
|
|
110
|
+
const canHandle = agent.canHandle({
|
|
111
|
+
type: "generate",
|
|
112
|
+
specCode: "test"
|
|
113
|
+
});
|
|
114
|
+
results.push({
|
|
115
|
+
mode,
|
|
116
|
+
available: canHandle,
|
|
117
|
+
reason: canHandle ? void 0 : "Not configured or dependencies missing"
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return results;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get the configured agent mode
|
|
124
|
+
*/
|
|
125
|
+
getAgentMode() {
|
|
126
|
+
return this.config.agentMode || "simple";
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get fallback mode for an agent
|
|
130
|
+
*/
|
|
131
|
+
getFallbackMode(mode) {
|
|
132
|
+
return {
|
|
133
|
+
cursor: "claude-code",
|
|
134
|
+
"claude-code": "openai-codex",
|
|
135
|
+
"openai-codex": "simple",
|
|
136
|
+
simple: "simple"
|
|
137
|
+
}[mode];
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
//#endregion
|
|
142
|
+
export { AgentOrchestrator };
|
|
143
|
+
//# sourceMappingURL=orchestrator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.mjs","names":[],"sources":["../../../src/ai/agents/orchestrator.ts"],"sourcesContent":["/**\n * Agent Orchestrator - Coordinates between different AI agents\n * Selects the appropriate agent based on config and task requirements\n */\n\nimport { SimpleAgent } from './simple-agent';\nimport { CursorAgent } from './cursor-agent';\nimport { ClaudeCodeAgent } from './claude-code-agent';\nimport { OpenAICodexAgent } from './openai-codex-agent';\nimport type { Config } from '../../types/config';\nimport type { AgentMode, AgentProvider, AgentResult, AgentTask } from './types';\nimport chalk from 'chalk';\nimport ora from 'ora';\n\nexport class AgentOrchestrator {\n private agents: Map<AgentMode, AgentProvider>;\n private defaultAgent: AgentProvider;\n\n constructor(private config: Config) {\n // Initialize all available agents\n this.agents = new Map();\n\n const simpleAgent = new SimpleAgent(config);\n const cursorAgent = new CursorAgent();\n const claudeAgent = new ClaudeCodeAgent();\n const openaiAgent = new OpenAICodexAgent();\n\n this.agents.set('simple', simpleAgent);\n this.agents.set('cursor', cursorAgent);\n this.agents.set('claude-code', claudeAgent);\n this.agents.set('openai-codex', openaiAgent);\n\n this.defaultAgent = simpleAgent;\n }\n\n /**\n * Execute a task using the configured agent with fallback support\n */\n async executeTask(task: AgentTask): Promise<AgentResult> {\n const agentMode = this.getAgentMode();\n const agent = this.agents.get(agentMode);\n\n if (!agent) {\n console.log(\n chalk.yellow(`⚠️ Agent '${agentMode}' not found, using simple agent`)\n );\n return this.defaultAgent.generate(task);\n }\n\n // Check if agent can handle the task\n if (!agent.canHandle(task)) {\n console.log(\n chalk.yellow(\n `⚠️ Agent '${agentMode}' cannot handle this task, falling back to simple agent`\n )\n );\n return this.defaultAgent.generate(task);\n }\n\n // Try primary agent\n const spinner = ora(`Executing with ${agentMode} agent...`).start();\n\n try {\n const result =\n task.type === 'validate'\n ? await agent.validate(task)\n : await agent.generate(task);\n\n if (result.success) {\n spinner.succeed(\n chalk.green(`${agentMode} agent completed successfully`)\n );\n return result;\n }\n\n // If primary agent failed, try fallback\n spinner.warn(\n chalk.yellow(`${agentMode} agent failed, trying fallback...`)\n );\n\n const fallbackMode = this.getFallbackMode(agentMode);\n if (fallbackMode && fallbackMode !== agentMode) {\n const fallbackAgent = this.agents.get(fallbackMode);\n if (fallbackAgent && fallbackAgent.canHandle(task)) {\n return task.type === 'validate'\n ? await fallbackAgent.validate(task)\n : await fallbackAgent.generate(task);\n }\n }\n\n // Ultimate fallback to simple agent\n spinner.info(chalk.gray('Using simple agent as ultimate fallback'));\n return task.type === 'validate'\n ? await this.defaultAgent.validate(task)\n : await this.defaultAgent.generate(task);\n } catch (_error) {\n spinner.fail(chalk.red('Agent execution failed'));\n\n // Fallback on error\n console.log(chalk.gray('Falling back to simple agent...'));\n return task.type === 'validate'\n ? await this.defaultAgent.validate(task)\n : await this.defaultAgent.generate(task);\n }\n }\n\n /**\n * Generate code from specification\n */\n async generate(specCode: string, targetPath?: string): Promise<AgentResult> {\n return this.executeTask({\n type: 'generate',\n specCode,\n targetPath,\n });\n }\n\n /**\n * Generate tests for implementation\n */\n async generateTests(\n specCode: string,\n implementationCode: string\n ): Promise<AgentResult> {\n return this.executeTask({\n type: 'test',\n specCode,\n existingCode: implementationCode,\n });\n }\n\n /**\n * Validate implementation against specification\n */\n async validate(\n specCode: string,\n implementationCode: string\n ): Promise<AgentResult> {\n return this.executeTask({\n type: 'validate',\n specCode,\n existingCode: implementationCode,\n });\n }\n\n /**\n * Refactor existing code\n */\n async refactor(specCode: string, existingCode: string): Promise<AgentResult> {\n return this.executeTask({\n type: 'refactor',\n specCode,\n existingCode,\n });\n }\n\n /**\n * List available agents and their status\n */\n async getAvailableAgents(): Promise<\n { mode: AgentMode; available: boolean; reason?: string }[]\n > {\n const results = [];\n\n for (const [mode, agent] of this.agents) {\n const testTask: AgentTask = {\n type: 'generate',\n specCode: 'test',\n };\n\n const canHandle = agent.canHandle(testTask);\n\n results.push({\n mode,\n available: canHandle,\n reason: canHandle\n ? undefined\n : 'Not configured or dependencies missing',\n });\n }\n\n return results;\n }\n\n /**\n * Get the configured agent mode\n */\n private getAgentMode(): AgentMode {\n // Check config for agent mode\n const mode = this.config.agentMode || 'simple';\n return mode;\n }\n\n /**\n * Get fallback mode for an agent\n */\n private getFallbackMode(mode: AgentMode): AgentMode {\n const fallbacks: Record<AgentMode, AgentMode> = {\n cursor: 'claude-code',\n 'claude-code': 'openai-codex',\n 'openai-codex': 'simple',\n simple: 'simple',\n };\n\n return fallbacks[mode];\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Config } from "../../types/config.mjs";
|
|
2
|
+
import { AgentProvider, AgentResult, AgentTask } from "./types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/ai/agents/simple-agent.d.ts
|
|
5
|
+
|
|
6
|
+
declare class SimpleAgent implements AgentProvider {
|
|
7
|
+
private config;
|
|
8
|
+
name: "simple";
|
|
9
|
+
constructor(config: Config);
|
|
10
|
+
canHandle(_task: AgentTask): boolean;
|
|
11
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
12
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
13
|
+
private buildPrompt;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { SimpleAgent };
|
|
17
|
+
//# sourceMappingURL=simple-agent.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-agent.d.mts","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":[],"mappings":";;;;;AAsBmB,cALN,WAAA,YAAuB,aAKjB,CAAA;EAKI,QAAA,MAAA;EAAoB,IAAA,EAAA,QAAA;EAAR,WAAA,CAAA,MAAA,EAPL,MAOK;EA4BZ,SAAA,CAAA,KAAA,EAjCJ,SAiCI,CAAA,EAAA,OAAA;EAAoB,QAAA,CAAA,IAAA,EA5BpB,SA4BoB,CAAA,EA5BR,OA4BQ,CA5BA,WA4BA,CAAA;EAAR,QAAA,CAAA,IAAA,EAAZ,SAAY,CAAA,EAAA,OAAA,CAAQ,WAAR,CAAA;EAtCC,QAAA,WAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { getAIProvider } from "../providers.mjs";
|
|
2
|
+
import { buildComponentPrompt, buildFormPrompt, buildHandlerPrompt, buildTestPrompt, getCodeGenSystemPrompt } from "../prompts/code-generation.mjs";
|
|
3
|
+
import { generateText } from "ai";
|
|
4
|
+
|
|
5
|
+
//#region src/ai/agents/simple-agent.ts
|
|
6
|
+
/**
|
|
7
|
+
* Simple LLM-based agent using direct API calls
|
|
8
|
+
* This is the default fallback for basic code generation
|
|
9
|
+
*/
|
|
10
|
+
var SimpleAgent = class {
|
|
11
|
+
name = "simple";
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
}
|
|
15
|
+
canHandle(_task) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
async generate(task) {
|
|
19
|
+
try {
|
|
20
|
+
const result = await generateText({
|
|
21
|
+
model: getAIProvider(this.config),
|
|
22
|
+
prompt: this.buildPrompt(task),
|
|
23
|
+
system: getCodeGenSystemPrompt()
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
success: true,
|
|
27
|
+
code: result.text,
|
|
28
|
+
metadata: {
|
|
29
|
+
model: this.config.aiModel,
|
|
30
|
+
provider: this.config.aiProvider,
|
|
31
|
+
tokens: result.usage
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
} catch (error) {
|
|
35
|
+
return {
|
|
36
|
+
success: false,
|
|
37
|
+
errors: [error instanceof Error ? error.message : String(error)]
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async validate(task) {
|
|
42
|
+
try {
|
|
43
|
+
const result = await generateText({
|
|
44
|
+
model: getAIProvider(this.config),
|
|
45
|
+
prompt: `
|
|
46
|
+
Review the following implementation against its specification.
|
|
47
|
+
|
|
48
|
+
Specification:
|
|
49
|
+
${task.specCode}
|
|
50
|
+
|
|
51
|
+
Implementation:
|
|
52
|
+
${task.existingCode || "// No implementation provided"}
|
|
53
|
+
|
|
54
|
+
Provide a detailed validation report:
|
|
55
|
+
1. Does the implementation match the spec?
|
|
56
|
+
2. Are there any missing features?
|
|
57
|
+
3. Are there any bugs or issues?
|
|
58
|
+
4. Suggestions for improvement
|
|
59
|
+
`,
|
|
60
|
+
system: "You are a code review expert. Provide thorough, constructive feedback."
|
|
61
|
+
});
|
|
62
|
+
const hasErrors = result.text.toLowerCase().includes("error") || result.text.toLowerCase().includes("missing") || result.text.toLowerCase().includes("incorrect");
|
|
63
|
+
return {
|
|
64
|
+
success: !hasErrors,
|
|
65
|
+
code: result.text,
|
|
66
|
+
warnings: hasErrors ? ["Implementation may not match specification"] : [],
|
|
67
|
+
metadata: { validationType: "simple-llm" }
|
|
68
|
+
};
|
|
69
|
+
} catch (error) {
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
errors: [error instanceof Error ? error.message : String(error)]
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
buildPrompt(task) {
|
|
77
|
+
switch (task.type) {
|
|
78
|
+
case "generate":
|
|
79
|
+
if (task.specCode.includes(".operation.") || task.specCode.includes("kind:")) return buildHandlerPrompt(task.specCode);
|
|
80
|
+
else if (task.specCode.includes(".presentation.")) return buildComponentPrompt(task.specCode);
|
|
81
|
+
else if (task.specCode.includes(".form.")) return buildFormPrompt(task.specCode);
|
|
82
|
+
return `Generate implementation for:\n${task.specCode}`;
|
|
83
|
+
case "test": return buildTestPrompt(task.specCode, task.existingCode || "", "handler");
|
|
84
|
+
case "validate": return `Validate this implementation:\n${task.existingCode}`;
|
|
85
|
+
default: return task.specCode;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
//#endregion
|
|
91
|
+
export { SimpleAgent };
|
|
92
|
+
//# sourceMappingURL=simple-agent.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-agent.mjs","names":[],"sources":["../../../src/ai/agents/simple-agent.ts"],"sourcesContent":["/**\n * Simple LLM-based agent using direct API calls\n * This is the default fallback for basic code generation\n */\n\nimport { generateText } from 'ai';\nimport { getAIProvider } from '../providers';\nimport type { Config } from '../../types/config';\nimport type { AgentProvider, AgentResult, AgentTask } from './types';\nimport {\n buildComponentPrompt,\n buildFormPrompt,\n buildHandlerPrompt,\n buildTestPrompt,\n getCodeGenSystemPrompt,\n} from '../prompts/code-generation';\n\nexport class SimpleAgent implements AgentProvider {\n name = 'simple' as const;\n\n constructor(private config: Config) {}\n\n canHandle(_task: AgentTask): boolean {\n // Simple agent can handle all tasks as a fallback\n return true;\n }\n\n async generate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n const prompt = this.buildPrompt(task);\n\n const result = await generateText({\n model,\n prompt,\n system: getCodeGenSystemPrompt(),\n });\n\n return {\n success: true,\n code: result.text,\n metadata: {\n model: this.config.aiModel,\n provider: this.config.aiProvider,\n tokens: result.usage,\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n async validate(task: AgentTask): Promise<AgentResult> {\n try {\n const model = getAIProvider(this.config);\n\n const prompt = `\nReview the following implementation against its specification.\n\nSpecification:\n${task.specCode}\n\nImplementation:\n${task.existingCode || '// No implementation provided'}\n\nProvide a detailed validation report:\n1. Does the implementation match the spec?\n2. Are there any missing features?\n3. Are there any bugs or issues?\n4. Suggestions for improvement\n`;\n\n const result = await generateText({\n model,\n prompt,\n system:\n 'You are a code review expert. Provide thorough, constructive feedback.',\n });\n\n // Parse validation result\n const hasErrors =\n result.text.toLowerCase().includes('error') ||\n result.text.toLowerCase().includes('missing') ||\n result.text.toLowerCase().includes('incorrect');\n\n return {\n success: !hasErrors,\n code: result.text,\n warnings: hasErrors\n ? ['Implementation may not match specification']\n : [],\n metadata: {\n validationType: 'simple-llm',\n },\n };\n } catch (error) {\n return {\n success: false,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private buildPrompt(task: AgentTask): string {\n switch (task.type) {\n case 'generate':\n // Infer what to generate from spec\n if (\n task.specCode.includes('.operation.') ||\n task.specCode.includes('kind:')\n ) {\n return buildHandlerPrompt(task.specCode);\n } else if (task.specCode.includes('.presentation.')) {\n return buildComponentPrompt(task.specCode);\n } else if (task.specCode.includes('.form.')) {\n return buildFormPrompt(task.specCode);\n }\n return `Generate implementation for:\\n${task.specCode}`;\n\n case 'test':\n return buildTestPrompt(\n task.specCode,\n task.existingCode || '',\n 'handler'\n );\n\n case 'validate':\n return `Validate this implementation:\\n${task.existingCode}`;\n\n default:\n return task.specCode;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAiBA,IAAa,cAAb,MAAkD;CAChD,OAAO;CAEP,YAAY,AAAQ,QAAgB;EAAhB;;CAEpB,UAAU,OAA2B;AAEnC,SAAO;;CAGT,MAAM,SAAS,MAAuC;AACpD,MAAI;GAIF,MAAM,SAAS,MAAM,aAAa;IAChC,OAJY,cAAc,KAAK,OAAO;IAKtC,QAJa,KAAK,YAAY,KAAK;IAKnC,QAAQ,wBAAwB;IACjC,CAAC;AAEF,UAAO;IACL,SAAS;IACT,MAAM,OAAO;IACb,UAAU;KACR,OAAO,KAAK,OAAO;KACnB,UAAU,KAAK,OAAO;KACtB,QAAQ,OAAO;KAChB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,MAAM,SAAS,MAAuC;AACpD,MAAI;GAmBF,MAAM,SAAS,MAAM,aAAa;IAChC,OAnBY,cAAc,KAAK,OAAO;IAoBtC,QAlBa;;;;EAInB,KAAK,SAAS;;;EAGd,KAAK,gBAAgB,gCAAgC;;;;;;;;IAY/C,QACE;IACH,CAAC;GAGF,MAAM,YACJ,OAAO,KAAK,aAAa,CAAC,SAAS,QAAQ,IAC3C,OAAO,KAAK,aAAa,CAAC,SAAS,UAAU,IAC7C,OAAO,KAAK,aAAa,CAAC,SAAS,YAAY;AAEjD,UAAO;IACL,SAAS,CAAC;IACV,MAAM,OAAO;IACb,UAAU,YACN,CAAC,6CAA6C,GAC9C,EAAE;IACN,UAAU,EACR,gBAAgB,cACjB;IACF;WACM,OAAO;AACd,UAAO;IACL,SAAS;IACT,QAAQ,CAAC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,CAAC;IACjE;;;CAIL,AAAQ,YAAY,MAAyB;AAC3C,UAAQ,KAAK,MAAb;GACE,KAAK;AAEH,QACE,KAAK,SAAS,SAAS,cAAc,IACrC,KAAK,SAAS,SAAS,QAAQ,CAE/B,QAAO,mBAAmB,KAAK,SAAS;aAC/B,KAAK,SAAS,SAAS,iBAAiB,CACjD,QAAO,qBAAqB,KAAK,SAAS;aACjC,KAAK,SAAS,SAAS,SAAS,CACzC,QAAO,gBAAgB,KAAK,SAAS;AAEvC,WAAO,iCAAiC,KAAK;GAE/C,KAAK,OACH,QAAO,gBACL,KAAK,UACL,KAAK,gBAAgB,IACrB,UACD;GAEH,KAAK,WACH,QAAO,kCAAkC,KAAK;GAEhD,QACE,QAAO,KAAK"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//#region src/ai/agents/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Agent types and interfaces for code generation and validation
|
|
4
|
+
*/
|
|
5
|
+
type AgentMode = 'simple' | 'cursor' | 'claude-code' | 'openai-codex';
|
|
6
|
+
interface AgentTask {
|
|
7
|
+
type: 'generate' | 'validate' | 'refactor' | 'test';
|
|
8
|
+
specCode: string;
|
|
9
|
+
existingCode?: string;
|
|
10
|
+
targetPath?: string;
|
|
11
|
+
options?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
interface AgentResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
code?: string;
|
|
16
|
+
errors?: string[];
|
|
17
|
+
warnings?: string[];
|
|
18
|
+
suggestions?: string[];
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface AgentProvider {
|
|
22
|
+
name: AgentMode;
|
|
23
|
+
generate(task: AgentTask): Promise<AgentResult>;
|
|
24
|
+
validate(task: AgentTask): Promise<AgentResult>;
|
|
25
|
+
canHandle(task: AgentTask): boolean;
|
|
26
|
+
}
|
|
27
|
+
interface AgentConfig {
|
|
28
|
+
mode: AgentMode;
|
|
29
|
+
fallbackMode?: AgentMode;
|
|
30
|
+
timeout?: number;
|
|
31
|
+
retries?: number;
|
|
32
|
+
options?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { AgentConfig, AgentMode, AgentProvider, AgentResult, AgentTask };
|
|
36
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/ai/agents/types.ts"],"sourcesContent":[],"mappings":";;AAIA;AAEA;AAQiB,KAVL,SAAA,GAUgB,QAMf,GAAA,QAAM,GAAA,aAAA,GAAA,cAAA;AAGF,UAjBA,SAAA,CAiBa;EACtB,IAAA,EAAA,UAAA,GAAA,UAAA,GAAA,UAAA,GAAA,MAAA;EACS,QAAA,EAAA,MAAA;EAAoB,YAAA,CAAA,EAAA,MAAA;EAAR,UAAA,CAAA,EAAA,MAAA;EACZ,OAAA,CAAA,EAfL,MAeK,CAAA,MAAA,EAAA,OAAA,CAAA;;AAAY,UAZZ,WAAA,CAYY;EACX,OAAA,EAAA,OAAA;EAAS,IAAA,CAAA,EAAA,MAAA;EAGV,MAAA,CAAA,EAAA,MAAW,EAAA;EACpB,QAAA,CAAA,EAAA,MAAA,EAAA;EACS,WAAA,CAAA,EAAA,MAAA,EAAA;EAGL,QAAA,CAAA,EAfC,MAeD,CAAA,MAAA,EAAA,OAAA,CAAA;;UAZK,aAAA;QACT;iBACS,YAAY,QAAQ;iBACpB,YAAY,QAAQ;kBACnB;;UAGD,WAAA;QACT;iBACS;;;YAGL"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Config } from "../types/config.mjs";
|
|
2
|
+
import { OpKind, PresentationKind } from "../types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/ai/client.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* AI Client for spec creation and code generation
|
|
8
|
+
*/
|
|
9
|
+
declare class AIClient {
|
|
10
|
+
private config;
|
|
11
|
+
constructor(config: Config);
|
|
12
|
+
/**
|
|
13
|
+
* Generate operation spec from natural language description
|
|
14
|
+
*/
|
|
15
|
+
generateOperationSpec(description: string, kind: OpKind): Promise<{
|
|
16
|
+
name: string;
|
|
17
|
+
version: number;
|
|
18
|
+
description: string;
|
|
19
|
+
goal: string;
|
|
20
|
+
context: string;
|
|
21
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
22
|
+
owners: string[];
|
|
23
|
+
tags: string[];
|
|
24
|
+
auth: "anonymous" | "user" | "admin";
|
|
25
|
+
inputShape: string;
|
|
26
|
+
outputShape: string;
|
|
27
|
+
flags: string[];
|
|
28
|
+
possibleEvents: string[];
|
|
29
|
+
analytics: string[];
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Generate event spec from description
|
|
33
|
+
*/
|
|
34
|
+
generateEventSpec(description: string): Promise<{
|
|
35
|
+
name: string;
|
|
36
|
+
version: number;
|
|
37
|
+
description: string;
|
|
38
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
39
|
+
owners: string[];
|
|
40
|
+
tags: string[];
|
|
41
|
+
payloadShape: string;
|
|
42
|
+
piiFields: string[];
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Generate presentation spec from description
|
|
46
|
+
*/
|
|
47
|
+
generatePresentationSpec(description: string, kind: PresentationKind): Promise<{
|
|
48
|
+
name: string;
|
|
49
|
+
version: number;
|
|
50
|
+
description: string;
|
|
51
|
+
stability: "experimental" | "beta" | "stable" | "deprecated";
|
|
52
|
+
owners: string[];
|
|
53
|
+
tags: string[];
|
|
54
|
+
componentKey?: string | undefined;
|
|
55
|
+
propsShape?: string | undefined;
|
|
56
|
+
content?: string | undefined;
|
|
57
|
+
mimeType?: string | undefined;
|
|
58
|
+
dataShape?: string | undefined;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Generate handler implementation from spec
|
|
62
|
+
*/
|
|
63
|
+
generateHandler(specCode: string): Promise<string>;
|
|
64
|
+
/**
|
|
65
|
+
* Generate React component from presentation spec
|
|
66
|
+
*/
|
|
67
|
+
generateComponent(specCode: string): Promise<string>;
|
|
68
|
+
/**
|
|
69
|
+
* Generate form component from form spec
|
|
70
|
+
*/
|
|
71
|
+
generateForm(specCode: string): Promise<string>;
|
|
72
|
+
/**
|
|
73
|
+
* Generate tests for implementation
|
|
74
|
+
*/
|
|
75
|
+
generateTests(specCode: string, implementationCode: string, testType: 'handler' | 'component'): Promise<string>;
|
|
76
|
+
/**
|
|
77
|
+
* Stream code generation for better UX
|
|
78
|
+
*/
|
|
79
|
+
streamCodeGeneration(prompt: string, onChunk: (text: string) => void): Promise<string>;
|
|
80
|
+
/**
|
|
81
|
+
* Chat with the AI model
|
|
82
|
+
*/
|
|
83
|
+
chat(messages: {
|
|
84
|
+
role: 'system' | 'user' | 'assistant';
|
|
85
|
+
content: string;
|
|
86
|
+
}[], system?: string): Promise<string>;
|
|
87
|
+
/**
|
|
88
|
+
* Stream chat with the AI model
|
|
89
|
+
*/
|
|
90
|
+
streamChat(messages: {
|
|
91
|
+
role: 'system' | 'user' | 'assistant';
|
|
92
|
+
content: string;
|
|
93
|
+
}[], onChunk: (text: string) => void, system?: string): Promise<string>;
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
export { AIClient };
|
|
97
|
+
//# sourceMappingURL=client.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.mts","names":[],"sources":["../../src/ai/client.ts"],"sourcesContent":[],"mappings":";;;;;;;AAsBA;AAC8B,cADjB,QAAA,CACiB;EAK2B,QAAA,MAAA;EAAM,WAAA,CAAA,MAAA,EALjC,MAKiC;EA6ClB;;;EAiEF,qBAAA,CAAA,WAAA,EAAA,MAAA,EAAA,IAAA,EA9Gc,MA8Gd,CAAA,EA9GoB,OA8GpB,CAAA;IAeE,IAAA,EAAA,MAAA;IAeL,OAAA,EAAA,MAAA;IAmBnC,WAAA,EAAA,MAAA;IAkBA,IAAA,EAAA,MAAA;IAyBA,OAAA,EAAA,MAAA;IAmBA,SAAA,EAAA,cAAA,GAAA,MAAA,GAAA,QAAA,GAAA,YAAA;IAAO,MAAA,EAAA,MAAA,EAAA;;;;;;;;;;;;0CAhLiC;;;;;;;;;;;;;sDA+Be,mBAAgB;;;;;;;;;;;;;;;;qCAkCjC;;;;uCAeE;;;;kCAeL;;;;kGAmBnC;;;;yEAkBA;;;;;;;yBAyBA;;;;;;;0DAmBA"}
|