@su-record/vibe 2.7.2 → 2.7.5
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/.env.example +37 -37
- package/CLAUDE.md +222 -222
- package/LICENSE +21 -21
- package/README.md +580 -580
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +260 -260
- package/commands/vibe.run.md +1 -1
- package/commands/vibe.spec.md +8 -8
- package/commands/vibe.spec.review.md +558 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.voice.md +79 -79
- package/dist/agent/AgentLoop.d.ts +97 -0
- package/dist/agent/AgentLoop.d.ts.map +1 -0
- package/dist/agent/AgentLoop.js +546 -0
- package/dist/agent/AgentLoop.js.map +1 -0
- package/dist/agent/ConversationState.d.ts +29 -0
- package/dist/agent/ConversationState.d.ts.map +1 -0
- package/dist/agent/ConversationState.js +107 -0
- package/dist/agent/ConversationState.js.map +1 -0
- package/dist/agent/ConversationStore.d.ts +31 -0
- package/dist/agent/ConversationStore.d.ts.map +1 -0
- package/dist/agent/ConversationStore.integration.test.d.ts +2 -0
- package/dist/agent/ConversationStore.integration.test.d.ts.map +1 -0
- package/dist/agent/ConversationStore.integration.test.js +162 -0
- package/dist/agent/ConversationStore.integration.test.js.map +1 -0
- package/dist/agent/ConversationStore.js +126 -0
- package/dist/agent/ConversationStore.js.map +1 -0
- package/dist/agent/ConversationStore.test.d.ts +2 -0
- package/dist/agent/ConversationStore.test.d.ts.map +1 -0
- package/dist/agent/ConversationStore.test.js +93 -0
- package/dist/agent/ConversationStore.test.js.map +1 -0
- package/dist/agent/HeadModelSelector.d.ts +36 -0
- package/dist/agent/HeadModelSelector.d.ts.map +1 -0
- package/dist/agent/HeadModelSelector.js +124 -0
- package/dist/agent/HeadModelSelector.js.map +1 -0
- package/dist/agent/RateLimiter.d.ts +44 -0
- package/dist/agent/RateLimiter.d.ts.map +1 -0
- package/dist/agent/RateLimiter.js +71 -0
- package/dist/agent/RateLimiter.js.map +1 -0
- package/dist/agent/SystemPrompt.d.ts +35 -0
- package/dist/agent/SystemPrompt.d.ts.map +1 -0
- package/dist/agent/SystemPrompt.js +151 -0
- package/dist/agent/SystemPrompt.js.map +1 -0
- package/dist/agent/ToolExecutor.d.ts +33 -0
- package/dist/agent/ToolExecutor.d.ts.map +1 -0
- package/dist/agent/ToolExecutor.js +123 -0
- package/dist/agent/ToolExecutor.js.map +1 -0
- package/dist/agent/ToolRegistry.d.ts +37 -0
- package/dist/agent/ToolRegistry.d.ts.map +1 -0
- package/dist/agent/ToolRegistry.js +125 -0
- package/dist/agent/ToolRegistry.js.map +1 -0
- package/dist/agent/__tests__/AgentLoop.test.d.ts +6 -0
- package/dist/agent/__tests__/AgentLoop.test.d.ts.map +1 -0
- package/dist/agent/__tests__/AgentLoop.test.js +208 -0
- package/dist/agent/__tests__/AgentLoop.test.js.map +1 -0
- package/dist/agent/__tests__/ConversationState.test.d.ts +6 -0
- package/dist/agent/__tests__/ConversationState.test.d.ts.map +1 -0
- package/dist/agent/__tests__/ConversationState.test.js +102 -0
- package/dist/agent/__tests__/ConversationState.test.js.map +1 -0
- package/dist/agent/__tests__/HeadModelSelector.test.d.ts +6 -0
- package/dist/agent/__tests__/HeadModelSelector.test.d.ts.map +1 -0
- package/dist/agent/__tests__/HeadModelSelector.test.js +132 -0
- package/dist/agent/__tests__/HeadModelSelector.test.js.map +1 -0
- package/dist/agent/__tests__/JobManager.test.d.ts +6 -0
- package/dist/agent/__tests__/JobManager.test.d.ts.map +1 -0
- package/dist/agent/__tests__/JobManager.test.js +197 -0
- package/dist/agent/__tests__/JobManager.test.js.map +1 -0
- package/dist/agent/__tests__/MediaPreprocessor.test.d.ts +6 -0
- package/dist/agent/__tests__/MediaPreprocessor.test.d.ts.map +1 -0
- package/dist/agent/__tests__/MediaPreprocessor.test.js +163 -0
- package/dist/agent/__tests__/MediaPreprocessor.test.js.map +1 -0
- package/dist/agent/__tests__/ToolExecutor.test.d.ts +6 -0
- package/dist/agent/__tests__/ToolExecutor.test.d.ts.map +1 -0
- package/dist/agent/__tests__/ToolExecutor.test.js +140 -0
- package/dist/agent/__tests__/ToolExecutor.test.js.map +1 -0
- package/dist/agent/__tests__/ToolRegistry.test.d.ts +6 -0
- package/dist/agent/__tests__/ToolRegistry.test.d.ts.map +1 -0
- package/dist/agent/__tests__/ToolRegistry.test.js +172 -0
- package/dist/agent/__tests__/ToolRegistry.test.js.map +1 -0
- package/dist/agent/__tests__/tools.test.d.ts +6 -0
- package/dist/agent/__tests__/tools.test.d.ts.map +1 -0
- package/dist/agent/__tests__/tools.test.js +177 -0
- package/dist/agent/__tests__/tools.test.js.map +1 -0
- package/dist/agent/index.d.ts +19 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +18 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/jobs/JobManager.d.ts +46 -0
- package/dist/agent/jobs/JobManager.d.ts.map +1 -0
- package/dist/agent/jobs/JobManager.js +213 -0
- package/dist/agent/jobs/JobManager.js.map +1 -0
- package/dist/agent/jobs/ProgressReporter.d.ts +32 -0
- package/dist/agent/jobs/ProgressReporter.d.ts.map +1 -0
- package/dist/agent/jobs/ProgressReporter.js +82 -0
- package/dist/agent/jobs/ProgressReporter.js.map +1 -0
- package/dist/agent/jobs/types.d.ts +32 -0
- package/dist/agent/jobs/types.d.ts.map +1 -0
- package/dist/agent/jobs/types.js +6 -0
- package/dist/agent/jobs/types.js.map +1 -0
- package/dist/agent/policy-integration.test.d.ts +6 -0
- package/dist/agent/policy-integration.test.d.ts.map +1 -0
- package/dist/agent/policy-integration.test.js +148 -0
- package/dist/agent/policy-integration.test.js.map +1 -0
- package/dist/agent/preprocessors/MediaPreprocessor.d.ts +63 -0
- package/dist/agent/preprocessors/MediaPreprocessor.d.ts.map +1 -0
- package/dist/agent/preprocessors/MediaPreprocessor.js +320 -0
- package/dist/agent/preprocessors/MediaPreprocessor.js.map +1 -0
- package/dist/agent/providers/claude-head.d.ts +17 -0
- package/dist/agent/providers/claude-head.d.ts.map +1 -0
- package/dist/agent/providers/claude-head.js +124 -0
- package/dist/agent/providers/claude-head.js.map +1 -0
- package/dist/agent/providers/gpt-head.d.ts +30 -0
- package/dist/agent/providers/gpt-head.d.ts.map +1 -0
- package/dist/agent/providers/gpt-head.js +359 -0
- package/dist/agent/providers/gpt-head.js.map +1 -0
- package/dist/agent/tools/claude-code.d.ts +11 -0
- package/dist/agent/tools/claude-code.d.ts.map +1 -0
- package/dist/agent/tools/claude-code.js +148 -0
- package/dist/agent/tools/claude-code.js.map +1 -0
- package/dist/agent/tools/dm-pair.d.ts +23 -0
- package/dist/agent/tools/dm-pair.d.ts.map +1 -0
- package/dist/agent/tools/dm-pair.js +70 -0
- package/dist/agent/tools/dm-pair.js.map +1 -0
- package/dist/agent/tools/dm-pair.test.d.ts +6 -0
- package/dist/agent/tools/dm-pair.test.d.ts.map +1 -0
- package/dist/agent/tools/dm-pair.test.js +106 -0
- package/dist/agent/tools/dm-pair.test.js.map +1 -0
- package/dist/agent/tools/gemini-stt.d.ts +9 -0
- package/dist/agent/tools/gemini-stt.d.ts.map +1 -0
- package/dist/agent/tools/gemini-stt.js +33 -0
- package/dist/agent/tools/gemini-stt.js.map +1 -0
- package/dist/agent/tools/google-search.d.ts +9 -0
- package/dist/agent/tools/google-search.d.ts.map +1 -0
- package/dist/agent/tools/google-search.js +38 -0
- package/dist/agent/tools/google-search.js.map +1 -0
- package/dist/agent/tools/index.d.ts +22 -0
- package/dist/agent/tools/index.d.ts.map +1 -0
- package/dist/agent/tools/index.js +37 -0
- package/dist/agent/tools/index.js.map +1 -0
- package/dist/agent/tools/kimi-analyze.d.ts +9 -0
- package/dist/agent/tools/kimi-analyze.d.ts.map +1 -0
- package/dist/agent/tools/kimi-analyze.js +49 -0
- package/dist/agent/tools/kimi-analyze.js.map +1 -0
- package/dist/agent/tools/manage-memory.d.ts +10 -0
- package/dist/agent/tools/manage-memory.d.ts.map +1 -0
- package/dist/agent/tools/manage-memory.js +70 -0
- package/dist/agent/tools/manage-memory.js.map +1 -0
- package/dist/agent/tools/send-imessage.d.ts +19 -0
- package/dist/agent/tools/send-imessage.d.ts.map +1 -0
- package/dist/agent/tools/send-imessage.js +67 -0
- package/dist/agent/tools/send-imessage.js.map +1 -0
- package/dist/agent/tools/send-slack.d.ts +21 -0
- package/dist/agent/tools/send-slack.d.ts.map +1 -0
- package/dist/agent/tools/send-slack.js +63 -0
- package/dist/agent/tools/send-slack.js.map +1 -0
- package/dist/agent/tools/send-telegram.d.ts +20 -0
- package/dist/agent/tools/send-telegram.d.ts.map +1 -0
- package/dist/agent/tools/send-telegram.js +58 -0
- package/dist/agent/tools/send-telegram.js.map +1 -0
- package/dist/agent/tools/vision-analyze.d.ts +11 -0
- package/dist/agent/tools/vision-analyze.d.ts.map +1 -0
- package/dist/agent/tools/vision-analyze.js +103 -0
- package/dist/agent/tools/vision-analyze.js.map +1 -0
- package/dist/agent/tools/vision-capture.d.ts +13 -0
- package/dist/agent/tools/vision-capture.d.ts.map +1 -0
- package/dist/agent/tools/vision-capture.js +87 -0
- package/dist/agent/tools/vision-capture.js.map +1 -0
- package/dist/agent/tools/web-browse.d.ts +20 -0
- package/dist/agent/tools/web-browse.d.ts.map +1 -0
- package/dist/agent/tools/web-browse.js +196 -0
- package/dist/agent/tools/web-browse.js.map +1 -0
- package/dist/agent/types.d.ts +151 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +6 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/bridge/telegram-assistant-bridge.d.ts +10 -0
- package/dist/bridge/telegram-assistant-bridge.d.ts.map +1 -0
- package/dist/bridge/telegram-assistant-bridge.js +274 -0
- package/dist/bridge/telegram-assistant-bridge.js.map +1 -0
- package/dist/bridge/telegram-bridge.d.ts +10 -0
- package/dist/bridge/telegram-bridge.d.ts.map +1 -0
- package/dist/bridge/telegram-bridge.js +154 -0
- package/dist/bridge/telegram-bridge.js.map +1 -0
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/autostart.d.ts +19 -0
- package/dist/cli/commands/autostart.d.ts.map +1 -0
- package/dist/cli/commands/autostart.js +213 -0
- package/dist/cli/commands/autostart.js.map +1 -0
- package/dist/cli/commands/browser.d.ts +12 -0
- package/dist/cli/commands/browser.d.ts.map +1 -0
- package/dist/cli/commands/browser.js +50 -0
- package/dist/cli/commands/browser.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +16 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +277 -0
- package/dist/cli/commands/daemon.js.map +1 -0
- package/dist/cli/commands/device.d.ts +9 -0
- package/dist/cli/commands/device.d.ts.map +1 -0
- package/dist/cli/commands/device.js +56 -0
- package/dist/cli/commands/device.js.map +1 -0
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/google.d.ts +12 -0
- package/dist/cli/commands/google.d.ts.map +1 -0
- package/dist/cli/commands/google.js +83 -0
- package/dist/cli/commands/google.js.map +1 -0
- package/dist/cli/commands/imessage.d.ts +11 -0
- package/dist/cli/commands/imessage.d.ts.map +1 -0
- package/dist/cli/commands/imessage.js +85 -0
- package/dist/cli/commands/imessage.js.map +1 -0
- package/dist/cli/commands/info.js +54 -54
- package/dist/cli/commands/init.js +6 -6
- package/dist/cli/commands/interface.d.ts +15 -0
- package/dist/cli/commands/interface.d.ts.map +1 -0
- package/dist/cli/commands/interface.js +167 -0
- package/dist/cli/commands/interface.js.map +1 -0
- package/dist/cli/commands/job.d.ts +14 -0
- package/dist/cli/commands/job.d.ts.map +1 -0
- package/dist/cli/commands/job.js +170 -0
- package/dist/cli/commands/job.js.map +1 -0
- package/dist/cli/commands/pc.d.ts +12 -0
- package/dist/cli/commands/pc.d.ts.map +1 -0
- package/dist/cli/commands/pc.js +75 -0
- package/dist/cli/commands/pc.js.map +1 -0
- package/dist/cli/commands/policy.d.ts +10 -0
- package/dist/cli/commands/policy.d.ts.map +1 -0
- package/dist/cli/commands/policy.js +75 -0
- package/dist/cli/commands/policy.js.map +1 -0
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sandbox.d.ts +10 -0
- package/dist/cli/commands/sandbox.d.ts.map +1 -0
- package/dist/cli/commands/sandbox.js +53 -0
- package/dist/cli/commands/sandbox.js.map +1 -0
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +1 -25
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/sync.d.ts +9 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +167 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/vision.d.ts +12 -0
- package/dist/cli/commands/vision.d.ts.map +1 -0
- package/dist/cli/commands/vision.js +74 -0
- package/dist/cli/commands/vision.js.map +1 -0
- package/dist/cli/commands/voice.d.ts +12 -0
- package/dist/cli/commands/voice.d.ts.map +1 -0
- package/dist/cli/commands/voice.js +67 -0
- package/dist/cli/commands/voice.js.map +1 -0
- package/dist/cli/commands/webhook.d.ts +9 -0
- package/dist/cli/commands/webhook.d.ts.map +1 -0
- package/dist/cli/commands/webhook.js +85 -0
- package/dist/cli/commands/webhook.js.map +1 -0
- package/dist/cli/detect.js +32 -32
- package/dist/cli/hud.d.ts +46 -0
- package/dist/cli/hud.d.ts.map +1 -0
- package/dist/cli/hud.js +392 -0
- package/dist/cli/hud.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +48 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/az-commands.d.ts +12 -0
- package/dist/cli/llm/az-commands.d.ts.map +1 -0
- package/dist/cli/llm/az-commands.js +99 -0
- package/dist/cli/llm/az-commands.js.map +1 -0
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +47 -47
- package/dist/cli/llm/gpt-commands.d.ts +6 -13
- package/dist/cli/llm/gpt-commands.d.ts.map +1 -1
- package/dist/cli/llm/gpt-commands.js +47 -117
- package/dist/cli/llm/gpt-commands.js.map +1 -1
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/llm/kimi-commands.d.ts +12 -0
- package/dist/cli/llm/kimi-commands.d.ts.map +1 -0
- package/dist/cli/llm/kimi-commands.js +100 -0
- package/dist/cli/llm/kimi-commands.js.map +1 -0
- package/dist/cli/llm/nvidia-commands.d.ts +16 -0
- package/dist/cli/llm/nvidia-commands.d.ts.map +1 -0
- package/dist/cli/llm/nvidia-commands.js +105 -0
- package/dist/cli/llm/nvidia-commands.js.map +1 -0
- package/dist/cli/llm/priority-commands.d.ts +18 -0
- package/dist/cli/llm/priority-commands.d.ts.map +1 -0
- package/dist/cli/llm/priority-commands.js +69 -0
- package/dist/cli/llm/priority-commands.js.map +1 -0
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/npmrc.d.ts +9 -0
- package/dist/cli/postinstall/npmrc.d.ts.map +1 -0
- package/dist/cli/postinstall/npmrc.js +80 -0
- package/dist/cli/postinstall/npmrc.js.map +1 -0
- package/dist/cli/types.d.ts +1 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/daemon/DaemonIPC.d.ts +40 -0
- package/dist/daemon/DaemonIPC.d.ts.map +1 -0
- package/dist/daemon/DaemonIPC.js +327 -0
- package/dist/daemon/DaemonIPC.js.map +1 -0
- package/dist/daemon/InterfaceManager.d.ts +62 -0
- package/dist/daemon/InterfaceManager.d.ts.map +1 -0
- package/dist/daemon/InterfaceManager.js +785 -0
- package/dist/daemon/InterfaceManager.js.map +1 -0
- package/dist/daemon/SessionPool.d.ts +80 -0
- package/dist/daemon/SessionPool.d.ts.map +1 -0
- package/dist/daemon/SessionPool.js +414 -0
- package/dist/daemon/SessionPool.js.map +1 -0
- package/dist/daemon/VibeDaemon.d.ts +69 -0
- package/dist/daemon/VibeDaemon.d.ts.map +1 -0
- package/dist/daemon/VibeDaemon.js +400 -0
- package/dist/daemon/VibeDaemon.js.map +1 -0
- package/dist/daemon/daemon.test.d.ts +6 -0
- package/dist/daemon/daemon.test.d.ts.map +1 -0
- package/dist/daemon/daemon.test.js +348 -0
- package/dist/daemon/daemon.test.js.map +1 -0
- package/dist/daemon/index.d.ts +10 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +9 -0
- package/dist/daemon/index.js.map +1 -0
- package/dist/daemon/pipeline.test.d.ts +6 -0
- package/dist/daemon/pipeline.test.d.ts.map +1 -0
- package/dist/daemon/pipeline.test.js +258 -0
- package/dist/daemon/pipeline.test.js.map +1 -0
- package/dist/daemon/preflight.d.ts +23 -0
- package/dist/daemon/preflight.d.ts.map +1 -0
- package/dist/daemon/preflight.js +204 -0
- package/dist/daemon/preflight.js.map +1 -0
- package/dist/daemon/preflight.test.d.ts +6 -0
- package/dist/daemon/preflight.test.d.ts.map +1 -0
- package/dist/daemon/preflight.test.js +88 -0
- package/dist/daemon/preflight.test.js.map +1 -0
- package/dist/daemon/types.d.ts +117 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +15 -0
- package/dist/daemon/types.js.map +1 -0
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/az/auth.d.ts +15 -0
- package/dist/infra/lib/az/auth.d.ts.map +1 -0
- package/dist/infra/lib/az/auth.js +67 -0
- package/dist/infra/lib/az/auth.js.map +1 -0
- package/dist/infra/lib/az/chat.d.ts +26 -0
- package/dist/infra/lib/az/chat.d.ts.map +1 -0
- package/dist/infra/lib/az/chat.js +116 -0
- package/dist/infra/lib/az/chat.js.map +1 -0
- package/dist/infra/lib/az/embedding.d.ts +13 -0
- package/dist/infra/lib/az/embedding.d.ts.map +1 -0
- package/dist/infra/lib/az/embedding.js +60 -0
- package/dist/infra/lib/az/embedding.js.map +1 -0
- package/dist/infra/lib/az/index.d.ts +9 -0
- package/dist/infra/lib/az/index.d.ts.map +1 -0
- package/dist/infra/lib/az/index.js +9 -0
- package/dist/infra/lib/az/index.js.map +1 -0
- package/dist/infra/lib/az/orchestration.d.ts +11 -0
- package/dist/infra/lib/az/orchestration.d.ts.map +1 -0
- package/dist/infra/lib/az/orchestration.js +24 -0
- package/dist/infra/lib/az/orchestration.js.map +1 -0
- package/dist/infra/lib/az/types.d.ts +35 -0
- package/dist/infra/lib/az/types.d.ts.map +1 -0
- package/dist/infra/lib/az/types.js +5 -0
- package/dist/infra/lib/az/types.js.map +1 -0
- package/dist/infra/lib/az-api.d.ts +5 -0
- package/dist/infra/lib/az-api.d.ts.map +1 -0
- package/dist/infra/lib/az-api.js +5 -0
- package/dist/infra/lib/az-api.js.map +1 -0
- package/dist/infra/lib/az-constants.d.ts +44 -0
- package/dist/infra/lib/az-constants.d.ts.map +1 -0
- package/dist/infra/lib/az-constants.js +58 -0
- package/dist/infra/lib/az-constants.js.map +1 -0
- package/dist/infra/lib/az-storage.d.ts +12 -0
- package/dist/infra/lib/az-storage.d.ts.map +1 -0
- package/dist/infra/lib/az-storage.js +59 -0
- package/dist/infra/lib/az-storage.js.map +1 -0
- package/dist/infra/lib/claude-storage.d.ts +12 -0
- package/dist/infra/lib/claude-storage.d.ts.map +1 -0
- package/dist/infra/lib/claude-storage.js +59 -0
- package/dist/infra/lib/claude-storage.js.map +1 -0
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/constants.js +14 -14
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gemini-api.d.ts +13 -0
- package/dist/infra/lib/gemini-api.d.ts.map +1 -0
- package/dist/infra/lib/gemini-api.js +13 -0
- package/dist/infra/lib/gemini-api.js.map +1 -0
- package/dist/infra/lib/gemini-constants.d.ts +19 -0
- package/dist/infra/lib/gemini-constants.d.ts.map +1 -0
- package/dist/infra/lib/gemini-constants.js +34 -0
- package/dist/infra/lib/gemini-constants.js.map +1 -0
- package/dist/infra/lib/gemini-oauth.d.ts +60 -0
- package/dist/infra/lib/gemini-oauth.d.ts.map +1 -0
- package/dist/infra/lib/gemini-oauth.js +386 -0
- package/dist/infra/lib/gemini-oauth.js.map +1 -0
- package/dist/infra/lib/gemini-storage.d.ts +64 -0
- package/dist/infra/lib/gemini-storage.d.ts.map +1 -0
- package/dist/infra/lib/gemini-storage.js +177 -0
- package/dist/infra/lib/gemini-storage.js.map +1 -0
- package/dist/infra/lib/gpt/auth.d.ts +18 -2
- package/dist/infra/lib/gpt/auth.d.ts.map +1 -1
- package/dist/infra/lib/gpt/auth.js +91 -7
- package/dist/infra/lib/gpt/auth.js.map +1 -1
- package/dist/infra/lib/gpt/chat.d.ts.map +1 -1
- package/dist/infra/lib/gpt/chat.js +1 -0
- package/dist/infra/lib/gpt/chat.js.map +1 -1
- package/dist/infra/lib/gpt/oauth.js +44 -44
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/gpt/types.d.ts +1 -1
- package/dist/infra/lib/gpt/types.d.ts.map +1 -1
- package/dist/infra/lib/gpt-api.d.ts +13 -0
- package/dist/infra/lib/gpt-api.d.ts.map +1 -0
- package/dist/infra/lib/gpt-api.js +13 -0
- package/dist/infra/lib/gpt-api.js.map +1 -0
- package/dist/infra/lib/gpt-constants.d.ts +12 -0
- package/dist/infra/lib/gpt-constants.d.ts.map +1 -0
- package/dist/infra/lib/gpt-constants.js +18 -0
- package/dist/infra/lib/gpt-constants.js.map +1 -0
- package/dist/infra/lib/gpt-oauth.d.ts +66 -0
- package/dist/infra/lib/gpt-oauth.d.ts.map +1 -0
- package/dist/infra/lib/gpt-oauth.js +389 -0
- package/dist/infra/lib/gpt-oauth.js.map +1 -0
- package/dist/infra/lib/gpt-storage.d.ts +64 -0
- package/dist/infra/lib/gpt-storage.d.ts.map +1 -0
- package/dist/infra/lib/gpt-storage.js +180 -0
- package/dist/infra/lib/gpt-storage.js.map +1 -0
- package/dist/infra/lib/kimi/auth.d.ts +10 -0
- package/dist/infra/lib/kimi/auth.d.ts.map +1 -0
- package/dist/infra/lib/kimi/auth.js +45 -0
- package/dist/infra/lib/kimi/auth.js.map +1 -0
- package/dist/infra/lib/kimi/chat.d.ts +26 -0
- package/dist/infra/lib/kimi/chat.d.ts.map +1 -0
- package/dist/infra/lib/kimi/chat.js +115 -0
- package/dist/infra/lib/kimi/chat.js.map +1 -0
- package/dist/infra/lib/kimi/index.d.ts +8 -0
- package/dist/infra/lib/kimi/index.d.ts.map +1 -0
- package/dist/infra/lib/kimi/index.js +8 -0
- package/dist/infra/lib/kimi/index.js.map +1 -0
- package/dist/infra/lib/kimi/orchestration.d.ts +10 -0
- package/dist/infra/lib/kimi/orchestration.d.ts.map +1 -0
- package/dist/infra/lib/kimi/orchestration.js +22 -0
- package/dist/infra/lib/kimi/orchestration.js.map +1 -0
- package/dist/infra/lib/kimi/types.d.ts +30 -0
- package/dist/infra/lib/kimi/types.d.ts.map +1 -0
- package/dist/infra/lib/kimi/types.js +5 -0
- package/dist/infra/lib/kimi/types.js.map +1 -0
- package/dist/infra/lib/kimi-api.d.ts +5 -0
- package/dist/infra/lib/kimi-api.d.ts.map +1 -0
- package/dist/infra/lib/kimi-api.js +5 -0
- package/dist/infra/lib/kimi-api.js.map +1 -0
- package/dist/infra/lib/kimi-constants.d.ts +27 -0
- package/dist/infra/lib/kimi-constants.d.ts.map +1 -0
- package/dist/infra/lib/kimi-constants.js +31 -0
- package/dist/infra/lib/kimi-constants.js.map +1 -0
- package/dist/infra/lib/kimi-storage.d.ts +12 -0
- package/dist/infra/lib/kimi-storage.d.ts.map +1 -0
- package/dist/infra/lib/kimi-storage.js +59 -0
- package/dist/infra/lib/kimi-storage.js.map +1 -0
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/lib/priority-config.d.ts +39 -0
- package/dist/infra/lib/priority-config.d.ts.map +1 -0
- package/dist/infra/lib/priority-config.js +137 -0
- package/dist/infra/lib/priority-config.js.map +1 -0
- package/dist/infra/lib/sync/constants.d.ts +21 -0
- package/dist/infra/lib/sync/constants.d.ts.map +1 -0
- package/dist/infra/lib/sync/constants.js +78 -0
- package/dist/infra/lib/sync/constants.js.map +1 -0
- package/dist/infra/lib/sync/crypto.d.ts +23 -0
- package/dist/infra/lib/sync/crypto.d.ts.map +1 -0
- package/dist/infra/lib/sync/crypto.js +55 -0
- package/dist/infra/lib/sync/crypto.js.map +1 -0
- package/dist/infra/lib/sync/drive.d.ts +22 -0
- package/dist/infra/lib/sync/drive.d.ts.map +1 -0
- package/dist/infra/lib/sync/drive.js +99 -0
- package/dist/infra/lib/sync/drive.js.map +1 -0
- package/dist/infra/lib/sync/index.d.ts +9 -0
- package/dist/infra/lib/sync/index.d.ts.map +1 -0
- package/dist/infra/lib/sync/index.js +9 -0
- package/dist/infra/lib/sync/index.js.map +1 -0
- package/dist/infra/lib/sync/oauth.d.ts +12 -0
- package/dist/infra/lib/sync/oauth.d.ts.map +1 -0
- package/dist/infra/lib/sync/oauth.js +157 -0
- package/dist/infra/lib/sync/oauth.js.map +1 -0
- package/dist/infra/lib/sync/storage.d.ts +21 -0
- package/dist/infra/lib/sync/storage.d.ts.map +1 -0
- package/dist/infra/lib/sync/storage.js +32 -0
- package/dist/infra/lib/sync/storage.js.map +1 -0
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/infra/policy/Evidence.d.ts +30 -0
- package/dist/infra/policy/Evidence.d.ts.map +1 -0
- package/dist/infra/policy/Evidence.js +134 -0
- package/dist/infra/policy/Evidence.js.map +1 -0
- package/dist/infra/policy/PolicyEngine.d.ts +34 -0
- package/dist/infra/policy/PolicyEngine.d.ts.map +1 -0
- package/dist/infra/policy/PolicyEngine.js +219 -0
- package/dist/infra/policy/PolicyEngine.js.map +1 -0
- package/dist/infra/policy/PolicyStore.d.ts +36 -0
- package/dist/infra/policy/PolicyStore.d.ts.map +1 -0
- package/dist/infra/policy/PolicyStore.js +160 -0
- package/dist/infra/policy/PolicyStore.js.map +1 -0
- package/dist/infra/policy/RiskCalculator.d.ts +20 -0
- package/dist/infra/policy/RiskCalculator.d.ts.map +1 -0
- package/dist/infra/policy/RiskCalculator.js +64 -0
- package/dist/infra/policy/RiskCalculator.js.map +1 -0
- package/dist/infra/policy/default-policies.d.ts +13 -0
- package/dist/infra/policy/default-policies.d.ts.map +1 -0
- package/dist/infra/policy/default-policies.js +99 -0
- package/dist/infra/policy/default-policies.js.map +1 -0
- package/dist/infra/policy/index.d.ts +11 -0
- package/dist/infra/policy/index.d.ts.map +1 -0
- package/dist/infra/policy/index.js +10 -0
- package/dist/infra/policy/index.js.map +1 -0
- package/dist/infra/policy/policy.test.d.ts +5 -0
- package/dist/infra/policy/policy.test.d.ts.map +1 -0
- package/dist/infra/policy/policy.test.js +628 -0
- package/dist/infra/policy/policy.test.js.map +1 -0
- package/dist/infra/policy/types.d.ts +71 -0
- package/dist/infra/policy/types.d.ts.map +1 -0
- package/dist/infra/policy/types.js +18 -0
- package/dist/infra/policy/types.js.map +1 -0
- package/dist/interface/BaseInterface.d.ts +37 -0
- package/dist/interface/BaseInterface.d.ts.map +1 -0
- package/dist/interface/BaseInterface.js +105 -0
- package/dist/interface/BaseInterface.js.map +1 -0
- package/dist/interface/ClaudeCodeBridge.d.ts +38 -0
- package/dist/interface/ClaudeCodeBridge.d.ts.map +1 -0
- package/dist/interface/ClaudeCodeBridge.js +216 -0
- package/dist/interface/ClaudeCodeBridge.js.map +1 -0
- package/dist/interface/imessage/IMessageBot.d.ts +33 -0
- package/dist/interface/imessage/IMessageBot.d.ts.map +1 -0
- package/dist/interface/imessage/IMessageBot.js +222 -0
- package/dist/interface/imessage/IMessageBot.js.map +1 -0
- package/dist/interface/imessage/IMessageFormatter.d.ts +15 -0
- package/dist/interface/imessage/IMessageFormatter.d.ts.map +1 -0
- package/dist/interface/imessage/IMessageFormatter.js +81 -0
- package/dist/interface/imessage/IMessageFormatter.js.map +1 -0
- package/dist/interface/imessage/IMessageRpcClient.d.ts +39 -0
- package/dist/interface/imessage/IMessageRpcClient.d.ts.map +1 -0
- package/dist/interface/imessage/IMessageRpcClient.js +174 -0
- package/dist/interface/imessage/IMessageRpcClient.js.map +1 -0
- package/dist/interface/imessage/IMessageSender.d.ts +19 -0
- package/dist/interface/imessage/IMessageSender.d.ts.map +1 -0
- package/dist/interface/imessage/IMessageSender.js +136 -0
- package/dist/interface/imessage/IMessageSender.js.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts +5 -0
- package/dist/interface/imessage/__tests__/IMessageBot.test.d.ts.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageBot.test.js +60 -0
- package/dist/interface/imessage/__tests__/IMessageBot.test.js.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts +5 -0
- package/dist/interface/imessage/__tests__/IMessageFormatter.test.d.ts.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageFormatter.test.js +110 -0
- package/dist/interface/imessage/__tests__/IMessageFormatter.test.js.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts +5 -0
- package/dist/interface/imessage/__tests__/IMessageSender.test.d.ts.map +1 -0
- package/dist/interface/imessage/__tests__/IMessageSender.test.js +67 -0
- package/dist/interface/imessage/__tests__/IMessageSender.test.js.map +1 -0
- package/dist/interface/imessage/index.d.ts +8 -0
- package/dist/interface/imessage/index.d.ts.map +1 -0
- package/dist/interface/imessage/index.js +8 -0
- package/dist/interface/imessage/index.js.map +1 -0
- package/dist/interface/index.d.ts +26 -0
- package/dist/interface/index.d.ts.map +1 -0
- package/dist/interface/index.js +26 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/interface.test.d.ts +5 -0
- package/dist/interface/interface.test.d.ts.map +1 -0
- package/dist/interface/interface.test.js +442 -0
- package/dist/interface/interface.test.js.map +1 -0
- package/dist/interface/slack/SlackBot.d.ts +83 -0
- package/dist/interface/slack/SlackBot.d.ts.map +1 -0
- package/dist/interface/slack/SlackBot.js +563 -0
- package/dist/interface/slack/SlackBot.js.map +1 -0
- package/dist/interface/slack/SlackFormatter.d.ts +19 -0
- package/dist/interface/slack/SlackFormatter.d.ts.map +1 -0
- package/dist/interface/slack/SlackFormatter.js +76 -0
- package/dist/interface/slack/SlackFormatter.js.map +1 -0
- package/dist/interface/slack/__tests__/SlackBot.test.d.ts +5 -0
- package/dist/interface/slack/__tests__/SlackBot.test.d.ts.map +1 -0
- package/dist/interface/slack/__tests__/SlackBot.test.js +37 -0
- package/dist/interface/slack/__tests__/SlackBot.test.js.map +1 -0
- package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts +5 -0
- package/dist/interface/slack/__tests__/SlackFormatter.test.d.ts.map +1 -0
- package/dist/interface/slack/__tests__/SlackFormatter.test.js +93 -0
- package/dist/interface/slack/__tests__/SlackFormatter.test.js.map +1 -0
- package/dist/interface/slack/index.d.ts +7 -0
- package/dist/interface/slack/index.d.ts.map +1 -0
- package/dist/interface/slack/index.js +7 -0
- package/dist/interface/slack/index.js.map +1 -0
- package/dist/interface/telegram/TelegramBot.d.ts +60 -0
- package/dist/interface/telegram/TelegramBot.d.ts.map +1 -0
- package/dist/interface/telegram/TelegramBot.js +400 -0
- package/dist/interface/telegram/TelegramBot.js.map +1 -0
- package/dist/interface/telegram/TelegramFormatter.d.ts +19 -0
- package/dist/interface/telegram/TelegramFormatter.d.ts.map +1 -0
- package/dist/interface/telegram/TelegramFormatter.js +66 -0
- package/dist/interface/telegram/TelegramFormatter.js.map +1 -0
- package/dist/interface/types.d.ts +167 -0
- package/dist/interface/types.d.ts.map +1 -0
- package/dist/interface/types.js +6 -0
- package/dist/interface/types.js.map +1 -0
- package/dist/interface/utils/MessageCombiner.d.ts +14 -0
- package/dist/interface/utils/MessageCombiner.d.ts.map +1 -0
- package/dist/interface/utils/MessageCombiner.js +48 -0
- package/dist/interface/utils/MessageCombiner.js.map +1 -0
- package/dist/interface/vision/AdaptiveFrameSampler.d.ts +44 -0
- package/dist/interface/vision/AdaptiveFrameSampler.d.ts.map +1 -0
- package/dist/interface/vision/AdaptiveFrameSampler.js +109 -0
- package/dist/interface/vision/AdaptiveFrameSampler.js.map +1 -0
- package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts +7 -0
- package/dist/interface/vision/AdaptiveFrameSampler.test.d.ts.map +1 -0
- package/dist/interface/vision/AdaptiveFrameSampler.test.js +113 -0
- package/dist/interface/vision/AdaptiveFrameSampler.test.js.map +1 -0
- package/dist/interface/vision/GeminiLive.d.ts +37 -0
- package/dist/interface/vision/GeminiLive.d.ts.map +1 -0
- package/dist/interface/vision/GeminiLive.js +272 -0
- package/dist/interface/vision/GeminiLive.js.map +1 -0
- package/dist/interface/vision/GeminiLive.test.d.ts +6 -0
- package/dist/interface/vision/GeminiLive.test.d.ts.map +1 -0
- package/dist/interface/vision/GeminiLive.test.js +40 -0
- package/dist/interface/vision/GeminiLive.test.js.map +1 -0
- package/dist/interface/vision/GeminiLiveStream.d.ts +55 -0
- package/dist/interface/vision/GeminiLiveStream.d.ts.map +1 -0
- package/dist/interface/vision/GeminiLiveStream.js +213 -0
- package/dist/interface/vision/GeminiLiveStream.js.map +1 -0
- package/dist/interface/vision/GeminiVision.d.ts +25 -0
- package/dist/interface/vision/GeminiVision.d.ts.map +1 -0
- package/dist/interface/vision/GeminiVision.js +202 -0
- package/dist/interface/vision/GeminiVision.js.map +1 -0
- package/dist/interface/vision/ScreenCapture.d.ts +77 -0
- package/dist/interface/vision/ScreenCapture.d.ts.map +1 -0
- package/dist/interface/vision/ScreenCapture.js +314 -0
- package/dist/interface/vision/ScreenCapture.js.map +1 -0
- package/dist/interface/vision/ScreenCaptureEngine.d.ts +55 -0
- package/dist/interface/vision/ScreenCaptureEngine.d.ts.map +1 -0
- package/dist/interface/vision/ScreenCaptureEngine.js +223 -0
- package/dist/interface/vision/ScreenCaptureEngine.js.map +1 -0
- package/dist/interface/vision/ScreenCaptureEngine.test.d.ts +8 -0
- package/dist/interface/vision/ScreenCaptureEngine.test.d.ts.map +1 -0
- package/dist/interface/vision/ScreenCaptureEngine.test.js +175 -0
- package/dist/interface/vision/ScreenCaptureEngine.test.js.map +1 -0
- package/dist/interface/vision/VisionInterface.d.ts +26 -0
- package/dist/interface/vision/VisionInterface.d.ts.map +1 -0
- package/dist/interface/vision/VisionInterface.js +105 -0
- package/dist/interface/vision/VisionInterface.js.map +1 -0
- package/dist/interface/vision/VisionSession.d.ts +66 -0
- package/dist/interface/vision/VisionSession.d.ts.map +1 -0
- package/dist/interface/vision/VisionSession.js +274 -0
- package/dist/interface/vision/VisionSession.js.map +1 -0
- package/dist/interface/vision/VisionSession.test.d.ts +7 -0
- package/dist/interface/vision/VisionSession.test.d.ts.map +1 -0
- package/dist/interface/vision/VisionSession.test.js +218 -0
- package/dist/interface/vision/VisionSession.test.js.map +1 -0
- package/dist/interface/vision/__tests__/GeminiVision.test.d.ts +5 -0
- package/dist/interface/vision/__tests__/GeminiVision.test.d.ts.map +1 -0
- package/dist/interface/vision/__tests__/GeminiVision.test.js +92 -0
- package/dist/interface/vision/__tests__/GeminiVision.test.js.map +1 -0
- package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts +5 -0
- package/dist/interface/vision/__tests__/ScreenCapture.test.d.ts.map +1 -0
- package/dist/interface/vision/__tests__/ScreenCapture.test.js +24 -0
- package/dist/interface/vision/__tests__/ScreenCapture.test.js.map +1 -0
- package/dist/interface/vision/__tests__/VisionInterface.test.d.ts +5 -0
- package/dist/interface/vision/__tests__/VisionInterface.test.d.ts.map +1 -0
- package/dist/interface/vision/__tests__/VisionInterface.test.js +59 -0
- package/dist/interface/vision/__tests__/VisionInterface.test.js.map +1 -0
- package/dist/interface/vision/index.d.ts +20 -0
- package/dist/interface/vision/index.d.ts.map +1 -0
- package/dist/interface/vision/index.js +16 -0
- package/dist/interface/vision/index.js.map +1 -0
- package/dist/interface/vision/types.d.ts +79 -0
- package/dist/interface/vision/types.d.ts.map +1 -0
- package/dist/interface/vision/types.js +22 -0
- package/dist/interface/vision/types.js.map +1 -0
- package/dist/interface/voice/STTProvider.d.ts +48 -0
- package/dist/interface/voice/STTProvider.d.ts.map +1 -0
- package/dist/interface/voice/STTProvider.js +254 -0
- package/dist/interface/voice/STTProvider.js.map +1 -0
- package/dist/interface/voice/STTProvider.test.d.ts +8 -0
- package/dist/interface/voice/STTProvider.test.d.ts.map +1 -0
- package/dist/interface/voice/STTProvider.test.js +144 -0
- package/dist/interface/voice/STTProvider.test.js.map +1 -0
- package/dist/interface/voice/TTSProvider.d.ts +44 -0
- package/dist/interface/voice/TTSProvider.d.ts.map +1 -0
- package/dist/interface/voice/TTSProvider.js +252 -0
- package/dist/interface/voice/TTSProvider.js.map +1 -0
- package/dist/interface/voice/TTSProvider.test.d.ts +8 -0
- package/dist/interface/voice/TTSProvider.test.d.ts.map +1 -0
- package/dist/interface/voice/TTSProvider.test.js +143 -0
- package/dist/interface/voice/TTSProvider.test.js.map +1 -0
- package/dist/interface/voice/VADProcessor.d.ts +34 -0
- package/dist/interface/voice/VADProcessor.d.ts.map +1 -0
- package/dist/interface/voice/VADProcessor.js +116 -0
- package/dist/interface/voice/VADProcessor.js.map +1 -0
- package/dist/interface/voice/VADProcessor.test.d.ts +8 -0
- package/dist/interface/voice/VADProcessor.test.d.ts.map +1 -0
- package/dist/interface/voice/VADProcessor.test.js +159 -0
- package/dist/interface/voice/VADProcessor.test.js.map +1 -0
- package/dist/interface/voice/VoiceSession.d.ts +77 -0
- package/dist/interface/voice/VoiceSession.d.ts.map +1 -0
- package/dist/interface/voice/VoiceSession.js +249 -0
- package/dist/interface/voice/VoiceSession.js.map +1 -0
- package/dist/interface/voice/VoiceSession.test.d.ts +8 -0
- package/dist/interface/voice/VoiceSession.test.d.ts.map +1 -0
- package/dist/interface/voice/VoiceSession.test.js +260 -0
- package/dist/interface/voice/VoiceSession.test.js.map +1 -0
- package/dist/interface/voice/VoiceWebSocket.d.ts +52 -0
- package/dist/interface/voice/VoiceWebSocket.d.ts.map +1 -0
- package/dist/interface/voice/VoiceWebSocket.js +165 -0
- package/dist/interface/voice/VoiceWebSocket.js.map +1 -0
- package/dist/interface/voice/types.d.ts +144 -0
- package/dist/interface/voice/types.d.ts.map +1 -0
- package/dist/interface/voice/types.js +23 -0
- package/dist/interface/voice/types.js.map +1 -0
- package/dist/interface/voice/types.test.d.ts +8 -0
- package/dist/interface/voice/types.test.d.ts.map +1 -0
- package/dist/interface/voice/types.test.js +90 -0
- package/dist/interface/voice/types.test.js.map +1 -0
- package/dist/interface/web/WebServer.d.ts +80 -0
- package/dist/interface/web/WebServer.d.ts.map +1 -0
- package/dist/interface/web/WebServer.js +999 -0
- package/dist/interface/web/WebServer.js.map +1 -0
- package/dist/interface/web/__tests__/WebServer.test.d.ts +5 -0
- package/dist/interface/web/__tests__/WebServer.test.d.ts.map +1 -0
- package/dist/interface/web/__tests__/WebServer.test.js +345 -0
- package/dist/interface/web/__tests__/WebServer.test.js.map +1 -0
- package/dist/interface/web/types.d.ts +109 -0
- package/dist/interface/web/types.d.ts.map +1 -0
- package/dist/interface/web/types.js +67 -0
- package/dist/interface/web/types.js.map +1 -0
- package/dist/interface/webhook/WebhookHandler.d.ts +45 -0
- package/dist/interface/webhook/WebhookHandler.d.ts.map +1 -0
- package/dist/interface/webhook/WebhookHandler.js +273 -0
- package/dist/interface/webhook/WebhookHandler.js.map +1 -0
- package/dist/job/ActionPlanGenerator.d.ts +21 -0
- package/dist/job/ActionPlanGenerator.d.ts.map +1 -0
- package/dist/job/ActionPlanGenerator.js +153 -0
- package/dist/job/ActionPlanGenerator.js.map +1 -0
- package/dist/job/AgentJobManager.d.ts +46 -0
- package/dist/job/AgentJobManager.d.ts.map +1 -0
- package/dist/job/AgentJobManager.js +213 -0
- package/dist/job/AgentJobManager.js.map +1 -0
- package/dist/job/AgentJobManager.test.d.ts +6 -0
- package/dist/job/AgentJobManager.test.d.ts.map +1 -0
- package/dist/job/AgentJobManager.test.js +197 -0
- package/dist/job/AgentJobManager.test.js.map +1 -0
- package/dist/job/IntentParser.d.ts +21 -0
- package/dist/job/IntentParser.d.ts.map +1 -0
- package/dist/job/IntentParser.js +142 -0
- package/dist/job/IntentParser.js.map +1 -0
- package/dist/job/JobManager.d.ts +54 -0
- package/dist/job/JobManager.d.ts.map +1 -0
- package/dist/job/JobManager.js +220 -0
- package/dist/job/JobManager.js.map +1 -0
- package/dist/job/JobQueue.d.ts +41 -0
- package/dist/job/JobQueue.d.ts.map +1 -0
- package/dist/job/JobQueue.js +153 -0
- package/dist/job/JobQueue.js.map +1 -0
- package/dist/job/JobStore.d.ts +36 -0
- package/dist/job/JobStore.d.ts.map +1 -0
- package/dist/job/JobStore.js +260 -0
- package/dist/job/JobStore.js.map +1 -0
- package/dist/job/ProgressReporter.d.ts +32 -0
- package/dist/job/ProgressReporter.d.ts.map +1 -0
- package/dist/job/ProgressReporter.js +82 -0
- package/dist/job/ProgressReporter.js.map +1 -0
- package/dist/job/agent-job-types.d.ts +32 -0
- package/dist/job/agent-job-types.d.ts.map +1 -0
- package/dist/job/agent-job-types.js +6 -0
- package/dist/job/agent-job-types.js.map +1 -0
- package/dist/job/index.d.ts +15 -0
- package/dist/job/index.d.ts.map +1 -0
- package/dist/job/index.js +15 -0
- package/dist/job/index.js.map +1 -0
- package/dist/job/job.test.d.ts +5 -0
- package/dist/job/job.test.d.ts.map +1 -0
- package/dist/job/job.test.js +303 -0
- package/dist/job/job.test.js.map +1 -0
- package/dist/job/types.d.ts +82 -0
- package/dist/job/types.d.ts.map +1 -0
- package/dist/job/types.js +40 -0
- package/dist/job/types.js.map +1 -0
- package/dist/orchestrator/AgentAnnouncer.d.ts +64 -0
- package/dist/orchestrator/AgentAnnouncer.d.ts.map +1 -0
- package/dist/orchestrator/AgentAnnouncer.js +127 -0
- package/dist/orchestrator/AgentAnnouncer.js.map +1 -0
- package/dist/orchestrator/AgentAnnouncer.test.d.ts +5 -0
- package/dist/orchestrator/AgentAnnouncer.test.d.ts.map +1 -0
- package/dist/orchestrator/AgentAnnouncer.test.js +119 -0
- package/dist/orchestrator/AgentAnnouncer.test.js.map +1 -0
- package/dist/orchestrator/AgentExecutor.d.ts +23 -0
- package/dist/orchestrator/AgentExecutor.d.ts.map +1 -0
- package/dist/orchestrator/AgentExecutor.js +231 -0
- package/dist/orchestrator/AgentExecutor.js.map +1 -0
- package/dist/orchestrator/AgentManager.d.ts +73 -0
- package/dist/orchestrator/AgentManager.d.ts.map +1 -0
- package/dist/orchestrator/AgentManager.js +184 -0
- package/dist/orchestrator/AgentManager.js.map +1 -0
- package/dist/orchestrator/AgentRegistry.d.ts +76 -0
- package/dist/orchestrator/AgentRegistry.d.ts.map +1 -0
- package/dist/orchestrator/AgentRegistry.js +217 -0
- package/dist/orchestrator/AgentRegistry.js.map +1 -0
- package/dist/orchestrator/AgentRegistry.test.d.ts +5 -0
- package/dist/orchestrator/AgentRegistry.test.d.ts.map +1 -0
- package/dist/orchestrator/AgentRegistry.test.js +122 -0
- package/dist/orchestrator/AgentRegistry.test.js.map +1 -0
- package/dist/orchestrator/BackgroundManager.d.ts +114 -0
- package/dist/orchestrator/BackgroundManager.d.ts.map +1 -0
- package/dist/orchestrator/BackgroundManager.js +517 -0
- package/dist/orchestrator/BackgroundManager.js.map +1 -0
- package/dist/orchestrator/BackgroundManager.test.d.ts +6 -0
- package/dist/orchestrator/BackgroundManager.test.d.ts.map +1 -0
- package/dist/orchestrator/BackgroundManager.test.js +162 -0
- package/dist/orchestrator/BackgroundManager.test.js.map +1 -0
- package/dist/orchestrator/CheckpointManager.d.ts +54 -0
- package/dist/orchestrator/CheckpointManager.d.ts.map +1 -0
- package/dist/orchestrator/CheckpointManager.js +121 -0
- package/dist/orchestrator/CheckpointManager.js.map +1 -0
- package/dist/orchestrator/LLMCluster.d.ts +91 -0
- package/dist/orchestrator/LLMCluster.d.ts.map +1 -0
- package/dist/orchestrator/LLMCluster.js +124 -0
- package/dist/orchestrator/LLMCluster.js.map +1 -0
- package/dist/orchestrator/MultiLlmResearch.d.ts +27 -0
- package/dist/orchestrator/MultiLlmResearch.d.ts.map +1 -0
- package/dist/orchestrator/MultiLlmResearch.js +145 -0
- package/dist/orchestrator/MultiLlmResearch.js.map +1 -0
- package/dist/orchestrator/PhasePipeline.d.ts +123 -0
- package/dist/orchestrator/PhasePipeline.d.ts.map +1 -0
- package/dist/orchestrator/PhasePipeline.js +382 -0
- package/dist/orchestrator/PhasePipeline.js.map +1 -0
- package/dist/orchestrator/PhaseResultStore.d.ts +39 -0
- package/dist/orchestrator/PhaseResultStore.d.ts.map +1 -0
- package/dist/orchestrator/PhaseResultStore.js +151 -0
- package/dist/orchestrator/PhaseResultStore.js.map +1 -0
- package/dist/orchestrator/SessionStore.d.ts +41 -0
- package/dist/orchestrator/SessionStore.d.ts.map +1 -0
- package/dist/orchestrator/SessionStore.js +117 -0
- package/dist/orchestrator/SessionStore.js.map +1 -0
- package/dist/orchestrator/SmartRouter.d.ts +77 -0
- package/dist/orchestrator/SmartRouter.d.ts.map +1 -0
- package/dist/orchestrator/SmartRouter.js +305 -0
- package/dist/orchestrator/SmartRouter.js.map +1 -0
- package/dist/orchestrator/SwarmOrchestrator.d.ts +144 -0
- package/dist/orchestrator/SwarmOrchestrator.d.ts.map +1 -0
- package/dist/orchestrator/SwarmOrchestrator.js +361 -0
- package/dist/orchestrator/SwarmOrchestrator.js.map +1 -0
- package/dist/orchestrator/SwarmOrchestrator.test.d.ts +5 -0
- package/dist/orchestrator/SwarmOrchestrator.test.d.ts.map +1 -0
- package/dist/orchestrator/SwarmOrchestrator.test.js +95 -0
- package/dist/orchestrator/SwarmOrchestrator.test.js.map +1 -0
- package/dist/orchestrator/agentDiscovery.d.ts +18 -0
- package/dist/orchestrator/agentDiscovery.d.ts.map +1 -0
- package/dist/orchestrator/agentDiscovery.js +175 -0
- package/dist/orchestrator/agentDiscovery.js.map +1 -0
- package/dist/orchestrator/backgroundAgent.d.ts +15 -0
- package/dist/orchestrator/backgroundAgent.d.ts.map +1 -0
- package/dist/orchestrator/backgroundAgent.js +16 -0
- package/dist/orchestrator/backgroundAgent.js.map +1 -0
- package/dist/orchestrator/index.d.ts +213 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +391 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts +63 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.js +217 -0
- package/dist/orchestrator/orchestrator.js.map +1 -0
- package/dist/orchestrator/parallelResearch.d.ts +30 -0
- package/dist/orchestrator/parallelResearch.d.ts.map +1 -0
- package/dist/orchestrator/parallelResearch.js +247 -0
- package/dist/orchestrator/parallelResearch.js.map +1 -0
- package/dist/orchestrator/types.d.ts +185 -0
- package/dist/orchestrator/types.d.ts.map +1 -0
- package/dist/orchestrator/types.js +21 -0
- package/dist/orchestrator/types.js.map +1 -0
- package/dist/pc/CommandDispatcher.d.ts +31 -0
- package/dist/pc/CommandDispatcher.d.ts.map +1 -0
- package/dist/pc/CommandDispatcher.js +132 -0
- package/dist/pc/CommandDispatcher.js.map +1 -0
- package/dist/pc/CommandDispatcher.test.d.ts +2 -0
- package/dist/pc/CommandDispatcher.test.d.ts.map +1 -0
- package/dist/pc/CommandDispatcher.test.js +360 -0
- package/dist/pc/CommandDispatcher.test.js.map +1 -0
- package/dist/pc/ModuleRegistry.d.ts +40 -0
- package/dist/pc/ModuleRegistry.d.ts.map +1 -0
- package/dist/pc/ModuleRegistry.js +163 -0
- package/dist/pc/ModuleRegistry.js.map +1 -0
- package/dist/pc/ResultFormatter.d.ts +27 -0
- package/dist/pc/ResultFormatter.d.ts.map +1 -0
- package/dist/pc/ResultFormatter.js +128 -0
- package/dist/pc/ResultFormatter.js.map +1 -0
- package/dist/pc/ResultFormatter.test.d.ts +2 -0
- package/dist/pc/ResultFormatter.test.d.ts.map +1 -0
- package/dist/pc/ResultFormatter.test.js +115 -0
- package/dist/pc/ResultFormatter.test.js.map +1 -0
- package/dist/pc/SecurityGate.d.ts +53 -0
- package/dist/pc/SecurityGate.d.ts.map +1 -0
- package/dist/pc/SecurityGate.js +142 -0
- package/dist/pc/SecurityGate.js.map +1 -0
- package/dist/pc/SecurityGate.test.d.ts +2 -0
- package/dist/pc/SecurityGate.test.d.ts.map +1 -0
- package/dist/pc/SecurityGate.test.js +160 -0
- package/dist/pc/SecurityGate.test.js.map +1 -0
- package/dist/pc/SessionContext.d.ts +31 -0
- package/dist/pc/SessionContext.d.ts.map +1 -0
- package/dist/pc/SessionContext.js +108 -0
- package/dist/pc/SessionContext.js.map +1 -0
- package/dist/pc/browser/BrowserActions.d.ts +22 -0
- package/dist/pc/browser/BrowserActions.d.ts.map +1 -0
- package/dist/pc/browser/BrowserActions.js +223 -0
- package/dist/pc/browser/BrowserActions.js.map +1 -0
- package/dist/pc/browser/BrowserActions.test.d.ts +7 -0
- package/dist/pc/browser/BrowserActions.test.d.ts.map +1 -0
- package/dist/pc/browser/BrowserActions.test.js +150 -0
- package/dist/pc/browser/BrowserActions.test.js.map +1 -0
- package/dist/pc/browser/BrowserService.d.ts +66 -0
- package/dist/pc/browser/BrowserService.d.ts.map +1 -0
- package/dist/pc/browser/BrowserService.js +319 -0
- package/dist/pc/browser/BrowserService.js.map +1 -0
- package/dist/pc/browser/BrowserService.test.d.ts +7 -0
- package/dist/pc/browser/BrowserService.test.d.ts.map +1 -0
- package/dist/pc/browser/BrowserService.test.js +160 -0
- package/dist/pc/browser/BrowserService.test.js.map +1 -0
- package/dist/pc/browser/RefLocator.d.ts +39 -0
- package/dist/pc/browser/RefLocator.d.ts.map +1 -0
- package/dist/pc/browser/RefLocator.js +88 -0
- package/dist/pc/browser/RefLocator.js.map +1 -0
- package/dist/pc/browser/RoleSnapshotManager.d.ts +22 -0
- package/dist/pc/browser/RoleSnapshotManager.d.ts.map +1 -0
- package/dist/pc/browser/RoleSnapshotManager.js +143 -0
- package/dist/pc/browser/RoleSnapshotManager.js.map +1 -0
- package/dist/pc/browser/RoleSnapshotManager.test.d.ts +7 -0
- package/dist/pc/browser/RoleSnapshotManager.test.d.ts.map +1 -0
- package/dist/pc/browser/RoleSnapshotManager.test.js +152 -0
- package/dist/pc/browser/RoleSnapshotManager.test.js.map +1 -0
- package/dist/pc/browser/Security.test.d.ts +7 -0
- package/dist/pc/browser/Security.test.d.ts.map +1 -0
- package/dist/pc/browser/Security.test.js +171 -0
- package/dist/pc/browser/Security.test.js.map +1 -0
- package/dist/pc/browser/types.d.ts +142 -0
- package/dist/pc/browser/types.d.ts.map +1 -0
- package/dist/pc/browser/types.js +60 -0
- package/dist/pc/browser/types.js.map +1 -0
- package/dist/pc/google/OAuthFlow.d.ts +58 -0
- package/dist/pc/google/OAuthFlow.d.ts.map +1 -0
- package/dist/pc/google/OAuthFlow.js +322 -0
- package/dist/pc/google/OAuthFlow.js.map +1 -0
- package/dist/pc/google/OAuthFlow.test.d.ts +7 -0
- package/dist/pc/google/OAuthFlow.test.d.ts.map +1 -0
- package/dist/pc/google/OAuthFlow.test.js +178 -0
- package/dist/pc/google/OAuthFlow.test.js.map +1 -0
- package/dist/pc/google/ScopeManager.d.ts +28 -0
- package/dist/pc/google/ScopeManager.d.ts.map +1 -0
- package/dist/pc/google/ScopeManager.js +75 -0
- package/dist/pc/google/ScopeManager.js.map +1 -0
- package/dist/pc/google/TokenStore.d.ts +49 -0
- package/dist/pc/google/TokenStore.d.ts.map +1 -0
- package/dist/pc/google/TokenStore.js +324 -0
- package/dist/pc/google/TokenStore.js.map +1 -0
- package/dist/pc/google/TokenStore.test.d.ts +7 -0
- package/dist/pc/google/TokenStore.test.d.ts.map +1 -0
- package/dist/pc/google/TokenStore.test.js +134 -0
- package/dist/pc/google/TokenStore.test.js.map +1 -0
- package/dist/pc/google/services/CalendarService.d.ts +45 -0
- package/dist/pc/google/services/CalendarService.d.ts.map +1 -0
- package/dist/pc/google/services/CalendarService.js +148 -0
- package/dist/pc/google/services/CalendarService.js.map +1 -0
- package/dist/pc/google/services/DriveService.d.ts +33 -0
- package/dist/pc/google/services/DriveService.d.ts.map +1 -0
- package/dist/pc/google/services/DriveService.js +199 -0
- package/dist/pc/google/services/DriveService.js.map +1 -0
- package/dist/pc/google/services/GmailService.d.ts +50 -0
- package/dist/pc/google/services/GmailService.d.ts.map +1 -0
- package/dist/pc/google/services/GmailService.js +177 -0
- package/dist/pc/google/services/GmailService.js.map +1 -0
- package/dist/pc/google/services/Services.test.d.ts +8 -0
- package/dist/pc/google/services/Services.test.d.ts.map +1 -0
- package/dist/pc/google/services/Services.test.js +148 -0
- package/dist/pc/google/services/Services.test.js.map +1 -0
- package/dist/pc/google/services/SheetsService.d.ts +27 -0
- package/dist/pc/google/services/SheetsService.d.ts.map +1 -0
- package/dist/pc/google/services/SheetsService.js +107 -0
- package/dist/pc/google/services/SheetsService.js.map +1 -0
- package/dist/pc/google/types.d.ts +97 -0
- package/dist/pc/google/types.d.ts.map +1 -0
- package/dist/pc/google/types.js +39 -0
- package/dist/pc/google/types.js.map +1 -0
- package/dist/pc/google/types.test.d.ts +8 -0
- package/dist/pc/google/types.test.d.ts.map +1 -0
- package/dist/pc/google/types.test.js +131 -0
- package/dist/pc/google/types.test.js.map +1 -0
- package/dist/pc/sandbox/ContainerConfig.d.ts +24 -0
- package/dist/pc/sandbox/ContainerConfig.d.ts.map +1 -0
- package/dist/pc/sandbox/ContainerConfig.js +103 -0
- package/dist/pc/sandbox/ContainerConfig.js.map +1 -0
- package/dist/pc/sandbox/ContainerManager.d.ts +31 -0
- package/dist/pc/sandbox/ContainerManager.d.ts.map +1 -0
- package/dist/pc/sandbox/ContainerManager.js +245 -0
- package/dist/pc/sandbox/ContainerManager.js.map +1 -0
- package/dist/pc/sandbox/ContainerManager.test.d.ts +2 -0
- package/dist/pc/sandbox/ContainerManager.test.d.ts.map +1 -0
- package/dist/pc/sandbox/ContainerManager.test.js +249 -0
- package/dist/pc/sandbox/ContainerManager.test.js.map +1 -0
- package/dist/pc/sandbox/ExecAllowlist.d.ts +35 -0
- package/dist/pc/sandbox/ExecAllowlist.d.ts.map +1 -0
- package/dist/pc/sandbox/ExecAllowlist.js +148 -0
- package/dist/pc/sandbox/ExecAllowlist.js.map +1 -0
- package/dist/pc/sandbox/ExecAllowlist.test.d.ts +2 -0
- package/dist/pc/sandbox/ExecAllowlist.test.d.ts.map +1 -0
- package/dist/pc/sandbox/ExecAllowlist.test.js +210 -0
- package/dist/pc/sandbox/ExecAllowlist.test.js.map +1 -0
- package/dist/pc/sandbox/SandboxBrowser.d.ts +29 -0
- package/dist/pc/sandbox/SandboxBrowser.d.ts.map +1 -0
- package/dist/pc/sandbox/SandboxBrowser.js +72 -0
- package/dist/pc/sandbox/SandboxBrowser.js.map +1 -0
- package/dist/pc/sandbox/ToolPolicy.d.ts +24 -0
- package/dist/pc/sandbox/ToolPolicy.d.ts.map +1 -0
- package/dist/pc/sandbox/ToolPolicy.js +127 -0
- package/dist/pc/sandbox/ToolPolicy.js.map +1 -0
- package/dist/pc/sandbox/ToolPolicy.test.d.ts +2 -0
- package/dist/pc/sandbox/ToolPolicy.test.d.ts.map +1 -0
- package/dist/pc/sandbox/ToolPolicy.test.js +189 -0
- package/dist/pc/sandbox/ToolPolicy.test.js.map +1 -0
- package/dist/pc/sandbox/types.d.ts +109 -0
- package/dist/pc/sandbox/types.d.ts.map +1 -0
- package/dist/pc/sandbox/types.js +26 -0
- package/dist/pc/sandbox/types.js.map +1 -0
- package/dist/pc/types.d.ts +84 -0
- package/dist/pc/types.d.ts.map +1 -0
- package/dist/pc/types.js +7 -0
- package/dist/pc/types.js.map +1 -0
- package/dist/policy/Evidence.d.ts +30 -0
- package/dist/policy/Evidence.d.ts.map +1 -0
- package/dist/policy/Evidence.js +134 -0
- package/dist/policy/Evidence.js.map +1 -0
- package/dist/policy/PolicyEngine.d.ts +34 -0
- package/dist/policy/PolicyEngine.d.ts.map +1 -0
- package/dist/policy/PolicyEngine.js +219 -0
- package/dist/policy/PolicyEngine.js.map +1 -0
- package/dist/policy/PolicyStore.d.ts +36 -0
- package/dist/policy/PolicyStore.d.ts.map +1 -0
- package/dist/policy/PolicyStore.js +160 -0
- package/dist/policy/PolicyStore.js.map +1 -0
- package/dist/policy/RiskCalculator.d.ts +20 -0
- package/dist/policy/RiskCalculator.d.ts.map +1 -0
- package/dist/policy/RiskCalculator.js +64 -0
- package/dist/policy/RiskCalculator.js.map +1 -0
- package/dist/policy/default-policies.d.ts +13 -0
- package/dist/policy/default-policies.d.ts.map +1 -0
- package/dist/policy/default-policies.js +99 -0
- package/dist/policy/default-policies.js.map +1 -0
- package/dist/policy/index.d.ts +11 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +10 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/policy.test.d.ts +5 -0
- package/dist/policy/policy.test.d.ts.map +1 -0
- package/dist/policy/policy.test.js +628 -0
- package/dist/policy/policy.test.js.map +1 -0
- package/dist/policy/types.d.ts +71 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +18 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/router/ModelARouter.d.ts +79 -0
- package/dist/router/ModelARouter.d.ts.map +1 -0
- package/dist/router/ModelARouter.js +325 -0
- package/dist/router/ModelARouter.js.map +1 -0
- package/dist/router/ModelARouter.test.d.ts +6 -0
- package/dist/router/ModelARouter.test.d.ts.map +1 -0
- package/dist/router/ModelARouter.test.js +100 -0
- package/dist/router/ModelARouter.test.js.map +1 -0
- package/dist/router/MultiChannelRouter.d.ts +54 -0
- package/dist/router/MultiChannelRouter.d.ts.map +1 -0
- package/dist/router/MultiChannelRouter.js +138 -0
- package/dist/router/MultiChannelRouter.js.map +1 -0
- package/dist/router/RouteRegistry.d.ts +23 -0
- package/dist/router/RouteRegistry.d.ts.map +1 -0
- package/dist/router/RouteRegistry.js +42 -0
- package/dist/router/RouteRegistry.js.map +1 -0
- package/dist/router/browser/BrowserAgent.d.ts +30 -0
- package/dist/router/browser/BrowserAgent.d.ts.map +1 -0
- package/dist/router/browser/BrowserAgent.js +232 -0
- package/dist/router/browser/BrowserAgent.js.map +1 -0
- package/dist/router/browser/BrowserManager.d.ts +36 -0
- package/dist/router/browser/BrowserManager.d.ts.map +1 -0
- package/dist/router/browser/BrowserManager.js +106 -0
- package/dist/router/browser/BrowserManager.js.map +1 -0
- package/dist/router/browser/BrowserPool.d.ts +37 -0
- package/dist/router/browser/BrowserPool.d.ts.map +1 -0
- package/dist/router/browser/BrowserPool.js +114 -0
- package/dist/router/browser/BrowserPool.js.map +1 -0
- package/dist/router/handlers/GitOpsHandler.d.ts +24 -0
- package/dist/router/handlers/GitOpsHandler.d.ts.map +1 -0
- package/dist/router/handlers/GitOpsHandler.js +66 -0
- package/dist/router/handlers/GitOpsHandler.js.map +1 -0
- package/dist/router/index.d.ts +22 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +29 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/index.test.d.ts +2 -0
- package/dist/router/index.test.d.ts.map +1 -0
- package/dist/router/index.test.js +78 -0
- package/dist/router/index.test.js.map +1 -0
- package/dist/router/notifications/NotificationManager.d.ts +37 -0
- package/dist/router/notifications/NotificationManager.d.ts.map +1 -0
- package/dist/router/notifications/NotificationManager.js +118 -0
- package/dist/router/notifications/NotificationManager.js.map +1 -0
- package/dist/router/planner/TaskExecutor.d.ts +48 -0
- package/dist/router/planner/TaskExecutor.d.ts.map +1 -0
- package/dist/router/planner/TaskExecutor.js +160 -0
- package/dist/router/planner/TaskExecutor.js.map +1 -0
- package/dist/router/planner/TaskExecutor.test.d.ts +6 -0
- package/dist/router/planner/TaskExecutor.test.d.ts.map +1 -0
- package/dist/router/planner/TaskExecutor.test.js +121 -0
- package/dist/router/planner/TaskExecutor.test.js.map +1 -0
- package/dist/router/planner/TaskPlanner.d.ts +37 -0
- package/dist/router/planner/TaskPlanner.d.ts.map +1 -0
- package/dist/router/planner/TaskPlanner.js +176 -0
- package/dist/router/planner/TaskPlanner.js.map +1 -0
- package/dist/router/planner/TaskPlanner.test.d.ts +6 -0
- package/dist/router/planner/TaskPlanner.test.d.ts.map +1 -0
- package/dist/router/planner/TaskPlanner.test.js +119 -0
- package/dist/router/planner/TaskPlanner.test.js.map +1 -0
- package/dist/router/qa/TelegramQABridge.d.ts +37 -0
- package/dist/router/qa/TelegramQABridge.d.ts.map +1 -0
- package/dist/router/qa/TelegramQABridge.js +147 -0
- package/dist/router/qa/TelegramQABridge.js.map +1 -0
- package/dist/router/qa/TelegramQABridge.test.d.ts +6 -0
- package/dist/router/qa/TelegramQABridge.test.d.ts.map +1 -0
- package/dist/router/qa/TelegramQABridge.test.js +143 -0
- package/dist/router/qa/TelegramQABridge.test.js.map +1 -0
- package/dist/router/resolvers/RepoResolver.d.ts +29 -0
- package/dist/router/resolvers/RepoResolver.d.ts.map +1 -0
- package/dist/router/resolvers/RepoResolver.js +105 -0
- package/dist/router/resolvers/RepoResolver.js.map +1 -0
- package/dist/router/resolvers/RepoResolver.test.d.ts +6 -0
- package/dist/router/resolvers/RepoResolver.test.d.ts.map +1 -0
- package/dist/router/resolvers/RepoResolver.test.js +92 -0
- package/dist/router/resolvers/RepoResolver.test.js.map +1 -0
- package/dist/router/routes/BaseRoute.d.ts +22 -0
- package/dist/router/routes/BaseRoute.d.ts.map +1 -0
- package/dist/router/routes/BaseRoute.js +55 -0
- package/dist/router/routes/BaseRoute.js.map +1 -0
- package/dist/router/routes/BrowseRoute.d.ts +21 -0
- package/dist/router/routes/BrowseRoute.d.ts.map +1 -0
- package/dist/router/routes/BrowseRoute.js +121 -0
- package/dist/router/routes/BrowseRoute.js.map +1 -0
- package/dist/router/routes/CompositeRoute.d.ts +28 -0
- package/dist/router/routes/CompositeRoute.d.ts.map +1 -0
- package/dist/router/routes/CompositeRoute.js +125 -0
- package/dist/router/routes/CompositeRoute.js.map +1 -0
- package/dist/router/routes/CompositeRoute.test.d.ts +6 -0
- package/dist/router/routes/CompositeRoute.test.d.ts.map +1 -0
- package/dist/router/routes/CompositeRoute.test.js +82 -0
- package/dist/router/routes/CompositeRoute.test.js.map +1 -0
- package/dist/router/routes/DevRoute.d.ts +26 -0
- package/dist/router/routes/DevRoute.d.ts.map +1 -0
- package/dist/router/routes/DevRoute.js +118 -0
- package/dist/router/routes/DevRoute.js.map +1 -0
- package/dist/router/routes/GoogleRoute.d.ts +46 -0
- package/dist/router/routes/GoogleRoute.d.ts.map +1 -0
- package/dist/router/routes/GoogleRoute.js +293 -0
- package/dist/router/routes/GoogleRoute.js.map +1 -0
- package/dist/router/routes/GoogleRoute.test.d.ts +6 -0
- package/dist/router/routes/GoogleRoute.test.d.ts.map +1 -0
- package/dist/router/routes/GoogleRoute.test.js +171 -0
- package/dist/router/routes/GoogleRoute.test.js.map +1 -0
- package/dist/router/routes/MonitorRoute.d.ts +25 -0
- package/dist/router/routes/MonitorRoute.d.ts.map +1 -0
- package/dist/router/routes/MonitorRoute.js +112 -0
- package/dist/router/routes/MonitorRoute.js.map +1 -0
- package/dist/router/routes/MonitorRoute.test.d.ts +6 -0
- package/dist/router/routes/MonitorRoute.test.d.ts.map +1 -0
- package/dist/router/routes/MonitorRoute.test.js +97 -0
- package/dist/router/routes/MonitorRoute.test.js.map +1 -0
- package/dist/router/routes/ResearchRoute.d.ts +25 -0
- package/dist/router/routes/ResearchRoute.d.ts.map +1 -0
- package/dist/router/routes/ResearchRoute.js +113 -0
- package/dist/router/routes/ResearchRoute.js.map +1 -0
- package/dist/router/routes/ResearchRoute.test.d.ts +6 -0
- package/dist/router/routes/ResearchRoute.test.d.ts.map +1 -0
- package/dist/router/routes/ResearchRoute.test.js +104 -0
- package/dist/router/routes/ResearchRoute.test.js.map +1 -0
- package/dist/router/routes/UtilityRoute.d.ts +32 -0
- package/dist/router/routes/UtilityRoute.d.ts.map +1 -0
- package/dist/router/routes/UtilityRoute.js +144 -0
- package/dist/router/routes/UtilityRoute.js.map +1 -0
- package/dist/router/routes/UtilityRoute.test.d.ts +6 -0
- package/dist/router/routes/UtilityRoute.test.d.ts.map +1 -0
- package/dist/router/routes/UtilityRoute.test.js +134 -0
- package/dist/router/routes/UtilityRoute.test.js.map +1 -0
- package/dist/router/services/BookmarkService.d.ts +34 -0
- package/dist/router/services/BookmarkService.d.ts.map +1 -0
- package/dist/router/services/BookmarkService.js +86 -0
- package/dist/router/services/BookmarkService.js.map +1 -0
- package/dist/router/services/BookmarkService.test.d.ts +6 -0
- package/dist/router/services/BookmarkService.test.d.ts.map +1 -0
- package/dist/router/services/BookmarkService.test.js +82 -0
- package/dist/router/services/BookmarkService.test.js.map +1 -0
- package/dist/router/services/CalendarService.d.ts +30 -0
- package/dist/router/services/CalendarService.d.ts.map +1 -0
- package/dist/router/services/CalendarService.js +168 -0
- package/dist/router/services/CalendarService.js.map +1 -0
- package/dist/router/services/CalendarService.test.d.ts +6 -0
- package/dist/router/services/CalendarService.test.d.ts.map +1 -0
- package/dist/router/services/CalendarService.test.js +107 -0
- package/dist/router/services/CalendarService.test.js.map +1 -0
- package/dist/router/services/ContentSummarizer.d.ts +32 -0
- package/dist/router/services/ContentSummarizer.d.ts.map +1 -0
- package/dist/router/services/ContentSummarizer.js +108 -0
- package/dist/router/services/ContentSummarizer.js.map +1 -0
- package/dist/router/services/ContentSummarizer.test.d.ts +6 -0
- package/dist/router/services/ContentSummarizer.test.d.ts.map +1 -0
- package/dist/router/services/ContentSummarizer.test.js +82 -0
- package/dist/router/services/ContentSummarizer.test.js.map +1 -0
- package/dist/router/services/DailyReportGenerator.d.ts +34 -0
- package/dist/router/services/DailyReportGenerator.d.ts.map +1 -0
- package/dist/router/services/DailyReportGenerator.js +110 -0
- package/dist/router/services/DailyReportGenerator.js.map +1 -0
- package/dist/router/services/DocumentGenerator.d.ts +20 -0
- package/dist/router/services/DocumentGenerator.d.ts.map +1 -0
- package/dist/router/services/DocumentGenerator.js +34 -0
- package/dist/router/services/DocumentGenerator.js.map +1 -0
- package/dist/router/services/DriveService.d.ts +29 -0
- package/dist/router/services/DriveService.d.ts.map +1 -0
- package/dist/router/services/DriveService.js +176 -0
- package/dist/router/services/DriveService.js.map +1 -0
- package/dist/router/services/DriveService.test.d.ts +6 -0
- package/dist/router/services/DriveService.test.d.ts.map +1 -0
- package/dist/router/services/DriveService.test.js +83 -0
- package/dist/router/services/DriveService.test.js.map +1 -0
- package/dist/router/services/FileAnalyzer.d.ts +26 -0
- package/dist/router/services/FileAnalyzer.d.ts.map +1 -0
- package/dist/router/services/FileAnalyzer.js +82 -0
- package/dist/router/services/FileAnalyzer.js.map +1 -0
- package/dist/router/services/GitHubMonitor.d.ts +38 -0
- package/dist/router/services/GitHubMonitor.d.ts.map +1 -0
- package/dist/router/services/GitHubMonitor.js +82 -0
- package/dist/router/services/GitHubMonitor.js.map +1 -0
- package/dist/router/services/GitHubMonitor.test.d.ts +6 -0
- package/dist/router/services/GitHubMonitor.test.d.ts.map +1 -0
- package/dist/router/services/GitHubMonitor.test.js +103 -0
- package/dist/router/services/GitHubMonitor.test.js.map +1 -0
- package/dist/router/services/GmailService.d.ts +28 -0
- package/dist/router/services/GmailService.d.ts.map +1 -0
- package/dist/router/services/GmailService.js +169 -0
- package/dist/router/services/GmailService.js.map +1 -0
- package/dist/router/services/GmailService.test.d.ts +6 -0
- package/dist/router/services/GmailService.test.d.ts.map +1 -0
- package/dist/router/services/GmailService.test.js +113 -0
- package/dist/router/services/GmailService.test.js.map +1 -0
- package/dist/router/services/GoogleAuthManager.d.ts +31 -0
- package/dist/router/services/GoogleAuthManager.d.ts.map +1 -0
- package/dist/router/services/GoogleAuthManager.js +219 -0
- package/dist/router/services/GoogleAuthManager.js.map +1 -0
- package/dist/router/services/GoogleAuthManager.test.d.ts +6 -0
- package/dist/router/services/GoogleAuthManager.test.d.ts.map +1 -0
- package/dist/router/services/GoogleAuthManager.test.js +153 -0
- package/dist/router/services/GoogleAuthManager.test.js.map +1 -0
- package/dist/router/services/ImageGenerator.d.ts +20 -0
- package/dist/router/services/ImageGenerator.d.ts.map +1 -0
- package/dist/router/services/ImageGenerator.js +41 -0
- package/dist/router/services/ImageGenerator.js.map +1 -0
- package/dist/router/services/NoteService.d.ts +36 -0
- package/dist/router/services/NoteService.d.ts.map +1 -0
- package/dist/router/services/NoteService.js +125 -0
- package/dist/router/services/NoteService.js.map +1 -0
- package/dist/router/services/NoteService.test.d.ts +6 -0
- package/dist/router/services/NoteService.test.d.ts.map +1 -0
- package/dist/router/services/NoteService.test.js +90 -0
- package/dist/router/services/NoteService.test.js.map +1 -0
- package/dist/router/services/ProgressReporter.d.ts +32 -0
- package/dist/router/services/ProgressReporter.d.ts.map +1 -0
- package/dist/router/services/ProgressReporter.js +81 -0
- package/dist/router/services/ProgressReporter.js.map +1 -0
- package/dist/router/services/SchedulerEngine.d.ts +55 -0
- package/dist/router/services/SchedulerEngine.d.ts.map +1 -0
- package/dist/router/services/SchedulerEngine.js +215 -0
- package/dist/router/services/SchedulerEngine.js.map +1 -0
- package/dist/router/services/SchedulerEngine.test.d.ts +6 -0
- package/dist/router/services/SchedulerEngine.test.d.ts.map +1 -0
- package/dist/router/services/SchedulerEngine.test.js +102 -0
- package/dist/router/services/SchedulerEngine.test.js.map +1 -0
- package/dist/router/services/ScreenshotService.d.ts +22 -0
- package/dist/router/services/ScreenshotService.d.ts.map +1 -0
- package/dist/router/services/ScreenshotService.js +39 -0
- package/dist/router/services/ScreenshotService.js.map +1 -0
- package/dist/router/services/SheetsService.d.ts +27 -0
- package/dist/router/services/SheetsService.d.ts.map +1 -0
- package/dist/router/services/SheetsService.js +91 -0
- package/dist/router/services/SheetsService.js.map +1 -0
- package/dist/router/services/SheetsService.test.d.ts +6 -0
- package/dist/router/services/SheetsService.test.d.ts.map +1 -0
- package/dist/router/services/SheetsService.test.js +86 -0
- package/dist/router/services/SheetsService.test.js.map +1 -0
- package/dist/router/services/TranslationService.d.ts +21 -0
- package/dist/router/services/TranslationService.d.ts.map +1 -0
- package/dist/router/services/TranslationService.js +76 -0
- package/dist/router/services/TranslationService.js.map +1 -0
- package/dist/router/services/TranslationService.test.d.ts +6 -0
- package/dist/router/services/TranslationService.test.d.ts.map +1 -0
- package/dist/router/services/TranslationService.test.js +61 -0
- package/dist/router/services/TranslationService.test.js.map +1 -0
- package/dist/router/services/WebSearchService.d.ts +24 -0
- package/dist/router/services/WebSearchService.d.ts.map +1 -0
- package/dist/router/services/WebSearchService.js +78 -0
- package/dist/router/services/WebSearchService.js.map +1 -0
- package/dist/router/services/WebSearchService.test.d.ts +6 -0
- package/dist/router/services/WebSearchService.test.d.ts.map +1 -0
- package/dist/router/services/WebSearchService.test.js +75 -0
- package/dist/router/services/WebSearchService.test.js.map +1 -0
- package/dist/router/services/YouTubeService.d.ts +30 -0
- package/dist/router/services/YouTubeService.d.ts.map +1 -0
- package/dist/router/services/YouTubeService.js +145 -0
- package/dist/router/services/YouTubeService.js.map +1 -0
- package/dist/router/services/YouTubeService.test.d.ts +6 -0
- package/dist/router/services/YouTubeService.test.d.ts.map +1 -0
- package/dist/router/services/YouTubeService.test.js +128 -0
- package/dist/router/services/YouTubeService.test.js.map +1 -0
- package/dist/router/services/google-types.d.ts +222 -0
- package/dist/router/services/google-types.d.ts.map +1 -0
- package/dist/router/services/google-types.js +6 -0
- package/dist/router/services/google-types.js.map +1 -0
- package/dist/router/sessions/DevSessionManager.d.ts +39 -0
- package/dist/router/sessions/DevSessionManager.d.ts.map +1 -0
- package/dist/router/sessions/DevSessionManager.js +151 -0
- package/dist/router/sessions/DevSessionManager.js.map +1 -0
- package/dist/router/types.d.ts +117 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +25 -0
- package/dist/router/types.js.map +1 -0
- package/dist/sync/ConflictResolver.d.ts +29 -0
- package/dist/sync/ConflictResolver.d.ts.map +1 -0
- package/dist/sync/ConflictResolver.js +106 -0
- package/dist/sync/ConflictResolver.js.map +1 -0
- package/dist/sync/DataSerializer.d.ts +33 -0
- package/dist/sync/DataSerializer.d.ts.map +1 -0
- package/dist/sync/DataSerializer.js +207 -0
- package/dist/sync/DataSerializer.js.map +1 -0
- package/dist/sync/DeviceManager.d.ts +31 -0
- package/dist/sync/DeviceManager.d.ts.map +1 -0
- package/dist/sync/DeviceManager.js +141 -0
- package/dist/sync/DeviceManager.js.map +1 -0
- package/dist/sync/SyncEngine.d.ts +56 -0
- package/dist/sync/SyncEngine.d.ts.map +1 -0
- package/dist/sync/SyncEngine.js +172 -0
- package/dist/sync/SyncEngine.js.map +1 -0
- package/dist/sync/SyncStore.d.ts +46 -0
- package/dist/sync/SyncStore.d.ts.map +1 -0
- package/dist/sync/SyncStore.js +219 -0
- package/dist/sync/SyncStore.js.map +1 -0
- package/dist/sync/index.d.ts +12 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +11 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/sync.test.d.ts +5 -0
- package/dist/sync/sync.test.d.ts.map +1 -0
- package/dist/sync/sync.test.js +416 -0
- package/dist/sync/sync.test.js.map +1 -0
- package/dist/sync/types.d.ts +80 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +12 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/tools/browser/index.d.ts +47 -0
- package/dist/tools/browser/index.d.ts.map +1 -0
- package/dist/tools/browser/index.js +413 -0
- package/dist/tools/browser/index.js.map +1 -0
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/google/index.d.ts +84 -0
- package/dist/tools/google/index.d.ts.map +1 -0
- package/dist/tools/google/index.js +508 -0
- package/dist/tools/google/index.js.map +1 -0
- package/dist/tools/integration/index.d.ts +24 -0
- package/dist/tools/integration/index.d.ts.map +1 -0
- package/dist/tools/integration/index.js +223 -0
- package/dist/tools/integration/index.js.map +1 -0
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/sandbox/index.d.ts +25 -0
- package/dist/tools/sandbox/index.d.ts.map +1 -0
- package/dist/tools/sandbox/index.js +255 -0
- package/dist/tools/sandbox/index.js.map +1 -0
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.d.ts +2 -0
- package/dist/tools/semantic/astGrep.d.ts.map +1 -1
- package/dist/tools/semantic/astGrep.js +61 -35
- package/dist/tools/semantic/astGrep.js.map +1 -1
- package/dist/tools/semantic/astGrep.test.js +15 -7
- package/dist/tools/semantic/astGrep.test.js.map +1 -1
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/dist/tools/vision/index.d.ts +45 -0
- package/dist/tools/vision/index.d.ts.map +1 -0
- package/dist/tools/vision/index.js +328 -0
- package/dist/tools/vision/index.js.map +1 -0
- package/dist/tools/voice/index.d.ts +24 -0
- package/dist/tools/voice/index.d.ts.map +1 -0
- package/dist/tools/voice/index.js +204 -0
- package/dist/tools/voice/index.js.map +1 -0
- package/dist/types/tool.d.ts +64 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +3 -0
- package/dist/types/tool.js.map +1 -0
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +200 -200
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +646 -511
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -119
- package/skills/brand-assets/SKILL.md +138 -138
- package/skills/commerce-patterns/SKILL.md +361 -361
- package/skills/commit-push-pr/SKILL.md +118 -118
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/e2e-commerce/SKILL.md +304 -304
- package/skills/frontend-design/SKILL.md +92 -92
- package/skills/git-worktree/SKILL.md +184 -184
- package/skills/handoff/SKILL.md +101 -101
- package/skills/priority-todos/SKILL.md +242 -242
- package/skills/seo-checklist/SKILL.md +244 -244
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +193 -193
- package/skills/typescript-advanced-types/SKILL.md +720 -720
- package/skills/ui-ux-pro-max/SKILL.md +386 -386
- package/skills/vercel-react-best-practices/SKILL.md +304 -304
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,558 +1,558 @@
|
|
|
1
|
-
# /vibe.spec.review - SPEC Quality Review
|
|
2
|
-
|
|
3
|
-
Review and enhance SPEC with GPT/Gemini cross-validation.
|
|
4
|
-
|
|
5
|
-
**Purpose:** Run this command in a NEW session after `/vibe.spec` to ensure accurate review execution.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Usage
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
/vibe.spec.review "feature-name"
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**Prerequisites:**
|
|
16
|
-
- SPEC file exists: `.claude/vibe/specs/{feature-name}.md` (single) or `.claude/vibe/specs/{feature-name}/_index.md` (split)
|
|
17
|
-
- Feature file exists: `.claude/vibe/features/{feature-name}.feature` (single) or `.claude/vibe/features/{feature-name}/_index.feature` (split)
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
> **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
|
|
22
|
-
|
|
23
|
-
## Workflow
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
/vibe.spec "feature" → SPEC created
|
|
27
|
-
↓
|
|
28
|
-
/new (new session)
|
|
29
|
-
↓
|
|
30
|
-
/vibe.spec.review "feature" → Quality validation + GPT/Gemini review
|
|
31
|
-
↓
|
|
32
|
-
/vibe.run "feature"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Step 1: Load SPEC Files
|
|
38
|
-
|
|
39
|
-
Detect SPEC structure (single file or split folder) and read files:
|
|
40
|
-
|
|
41
|
-
**Single file structure:**
|
|
42
|
-
```
|
|
43
|
-
.claude/vibe/specs/{feature-name}.md
|
|
44
|
-
.claude/vibe/features/{feature-name}.feature
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Split folder structure:**
|
|
48
|
-
```
|
|
49
|
-
.claude/vibe/specs/{feature-name}/_index.md (+ phase files)
|
|
50
|
-
.claude/vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
|
|
51
|
-
.claude/vibe/features/{feature-name}/_index.feature (+ phase files)
|
|
52
|
-
.claude/vibe/features/{feature-name}/phase-*.feature
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Detection logic:**
|
|
56
|
-
1. Check if `.claude/vibe/specs/{feature-name}/` directory exists → Split mode
|
|
57
|
-
2. Otherwise check `.claude/vibe/specs/{feature-name}.md` → Single mode
|
|
58
|
-
3. If neither exists → Error
|
|
59
|
-
|
|
60
|
-
**Split mode file loading:**
|
|
61
|
-
1. Read `_index.md` for master SPEC overview
|
|
62
|
-
2. Glob `phase-*.md` files and read all phase SPECs
|
|
63
|
-
3. Read corresponding `_index.feature` and `phase-*.feature` files
|
|
64
|
-
|
|
65
|
-
**Output:**
|
|
66
|
-
```
|
|
67
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
68
|
-
📋 SPEC REVIEW: {feature-name}
|
|
69
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
|
-
|
|
71
|
-
Loading files...
|
|
72
|
-
Mode: {single|split}
|
|
73
|
-
✅ SPEC: .claude/vibe/specs/{feature-name}.md (or _index.md + N phase files)
|
|
74
|
-
✅ Feature: .claude/vibe/features/{feature-name}.feature (or _index.feature + N phase files)
|
|
75
|
-
|
|
76
|
-
Extracted info:
|
|
77
|
-
- Feature: {feature description}
|
|
78
|
-
- Stack: {tech stack}
|
|
79
|
-
- Phases: {number of phases}
|
|
80
|
-
- Scenarios: {number of scenarios}
|
|
81
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## Step 2: Quality Validation (95-Point Gate)
|
|
87
|
-
|
|
88
|
-
**🚨 MANDATORY: Score must be ≥ 95 to proceed**
|
|
89
|
-
|
|
90
|
-
### 2.1 Quality Checklist
|
|
91
|
-
|
|
92
|
-
| Category | Check Item | Weight |
|
|
93
|
-
|----------|------------|--------|
|
|
94
|
-
| **Completeness** | All user flows included in Task | 15% |
|
|
95
|
-
| **Completeness** | All ACs converted to Feature scenarios | 10% |
|
|
96
|
-
| **Completeness** | Error handling scenarios defined | 10% |
|
|
97
|
-
| **Specificity** | All numbers specified (timeout, limits, etc.) | 15% |
|
|
98
|
-
| **Specificity** | No ambiguous terms ("appropriate", "proper", etc.) | 10% |
|
|
99
|
-
| **Testability** | Each AC is verifiable | 10% |
|
|
100
|
-
| **Testability** | Feature scenarios have concrete Given/When/Then | 10% |
|
|
101
|
-
| **Security** | Auth/permission requirements specified | 10% |
|
|
102
|
-
| **Performance** | Response time/load requirements specified | 10% |
|
|
103
|
-
|
|
104
|
-
### 2.2 Quality Gate Loop
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
max_iterations = 3
|
|
108
|
-
iteration = 0
|
|
109
|
-
|
|
110
|
-
while iteration < max_iterations:
|
|
111
|
-
iteration += 1
|
|
112
|
-
score = calculate_quality_score(spec, feature)
|
|
113
|
-
|
|
114
|
-
print(f"━━━ Quality Check [{iteration}/{max_iterations}] ━━━")
|
|
115
|
-
print(f"Score: {score}/100")
|
|
116
|
-
|
|
117
|
-
if score >= 95:
|
|
118
|
-
print("✅ Quality Gate PASSED")
|
|
119
|
-
break
|
|
120
|
-
|
|
121
|
-
# Auto-fix missing items
|
|
122
|
-
missing_items = identify_missing_items(spec)
|
|
123
|
-
for item in missing_items:
|
|
124
|
-
auto_fix(item)
|
|
125
|
-
update_spec()
|
|
126
|
-
update_feature()
|
|
127
|
-
|
|
128
|
-
print(f"✅ Applied {len(missing_items)} fixes - Re-evaluating...")
|
|
129
|
-
|
|
130
|
-
if score < 95:
|
|
131
|
-
print(f"❌ BLOCKED: Score {score} < 95 after {max_iterations} iterations")
|
|
132
|
-
print("Manual intervention required.")
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Output format:**
|
|
136
|
-
```
|
|
137
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
138
|
-
📊 QUALITY GATE [1/3]
|
|
139
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
-
Score: 87/100 ⚠️ BELOW THRESHOLD (95)
|
|
141
|
-
|
|
142
|
-
Missing items:
|
|
143
|
-
❌ Error handling scenarios (10%)
|
|
144
|
-
❌ Performance targets (5%)
|
|
145
|
-
|
|
146
|
-
Auto-fixing...
|
|
147
|
-
✅ Added network error handling scenario
|
|
148
|
-
✅ Added response time targets (<500ms)
|
|
149
|
-
|
|
150
|
-
Re-evaluating...
|
|
151
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
-
|
|
153
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
154
|
-
📊 QUALITY GATE [2/3]
|
|
155
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
156
|
-
Score: 96/100 ✅ PASSED
|
|
157
|
-
|
|
158
|
-
✅ Quality Gate PASSED - proceeding to GPT/Gemini review
|
|
159
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### 2.3 Auto-Fix Rules
|
|
163
|
-
|
|
164
|
-
| Missing Item | Auto-Fix Method |
|
|
165
|
-
|--------------|-----------------|
|
|
166
|
-
| Missing AC | Auto-generate AC based on Task |
|
|
167
|
-
| Numbers not specified | Apply project defaults (timeout 30s, etc.) |
|
|
168
|
-
| Missing error handling | Add common error scenarios |
|
|
169
|
-
| Missing performance targets | Apply industry standard criteria |
|
|
170
|
-
| Missing security | Add auth/data protection requirements |
|
|
171
|
-
| Ambiguous terms | Replace with specific values |
|
|
172
|
-
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
## Step 3: Race Review (GPT + Gemini Cross-Validation) - 3 Rounds (v2.6.9)
|
|
176
|
-
|
|
177
|
-
**🚨🚨🚨 CRITICAL: YOU MUST EXECUTE ALL 3 ROUNDS. DO NOT SKIP THIS STEP. 🚨🚨🚨**
|
|
178
|
-
|
|
179
|
-
**🚨 ABSOLUTE RULES FOR RACE REVIEW:**
|
|
180
|
-
|
|
181
|
-
1. **YOU MUST** use the Bash tool to call `llm-orchestrate.js` directly
|
|
182
|
-
2. **DO NOT** skip GPT/Gemini calls
|
|
183
|
-
3. **DO NOT** simulate or fake review results
|
|
184
|
-
4. **YOU MUST** run all 3 rounds sequentially (each round uses updated SPEC)
|
|
185
|
-
|
|
186
|
-
> Race Mode reviews SPEC with GPT and Gemini in parallel, then cross-validates findings for higher confidence.
|
|
187
|
-
|
|
188
|
-
### 3.1 Review Loop (3 Rounds)
|
|
189
|
-
|
|
190
|
-
**For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool.**
|
|
191
|
-
|
|
192
|
-
**🚨 IMPORTANT: SPEC content is too large for CLI arguments. Use --input file method (no pipe needed).**
|
|
193
|
-
|
|
194
|
-
**Procedure for each round:**
|
|
195
|
-
|
|
196
|
-
**Step A: Save SPEC content + prompt as JSON to scratchpad temp file (using Write tool):**
|
|
197
|
-
- Write JSON to `[SCRATCHPAD]/spec-review-input.json` with content:
|
|
198
|
-
```json
|
|
199
|
-
{"prompt": "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"}
|
|
200
|
-
```
|
|
201
|
-
- Where `[SPEC_CONTENT]` is the full SPEC text (properly JSON-escaped inside the prompt string)
|
|
202
|
-
|
|
203
|
-
**Step B: Script path:**
|
|
204
|
-
- `[LLM_SCRIPT]` = `{{VIBE_PATH}}/hooks/scripts/llm-orchestrate.js`
|
|
205
|
-
|
|
206
|
-
**Step C: Run GPT + Gemini in PARALLEL (two separate Bash tool calls at once):**
|
|
207
|
-
|
|
208
|
-
```bash
|
|
209
|
-
# GPT review (Bash tool call 1)
|
|
210
|
-
node "[LLM_SCRIPT]" gpt orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
# Gemini review (Bash tool call 2 - run in parallel with GPT)
|
|
215
|
-
node "[LLM_SCRIPT]" gemini orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
**🚨 MANDATORY: Replace `[SCRATCHPAD]` with the actual scratchpad directory path.**
|
|
219
|
-
**🚨 Replace `[N]` with the current round number (1, 2, or 3).**
|
|
220
|
-
**🚨 Replace `[LLM_SCRIPT]` with the resolved absolute path from Step B.**
|
|
221
|
-
**🚨 Run GPT and Gemini calls in PARALLEL (two separate Bash tool calls at once).**
|
|
222
|
-
|
|
223
|
-
- Round 1: Write SPEC → Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
|
|
224
|
-
- Round 2: Write updated SPEC → Run → Cross-validate → Apply fixes → Update SPEC file
|
|
225
|
-
- Round 3: Write final SPEC → Run → Cross-validate → Confirm no issues remain
|
|
226
|
-
|
|
227
|
-
### 3.2 Cross-Validation Rules
|
|
228
|
-
|
|
229
|
-
| Agreement | Priority | Action |
|
|
230
|
-
|-----------|----------|--------|
|
|
231
|
-
| Both models agree (100%) | P1 | Auto-apply immediately |
|
|
232
|
-
| 1 model only (50%) | P2 | Auto-apply with note |
|
|
233
|
-
|
|
234
|
-
**After each round:**
|
|
235
|
-
|
|
236
|
-
1. Cross-validate findings (issues found by 2+ models → P1, single model → P2)
|
|
237
|
-
2. Merge feedback with confidence scores
|
|
238
|
-
3. Auto-apply P1/P2 improvements to SPEC and Feature files (use Edit tool)
|
|
239
|
-
4. Continue to next round with updated SPEC content
|
|
240
|
-
|
|
241
|
-
### 3.3 User Decision Checkpoint (Round 3 이후)
|
|
242
|
-
|
|
243
|
-
**🚨 MANDATORY: 3라운드 완료 후 사용자 판단 체크포인트 실행**
|
|
244
|
-
|
|
245
|
-
> Type 6 (Iterative-Reasoning) 패턴: AI가 혼자 결정하지 않고, 사용자와 함께 판단
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
249
|
-
🔍 USER CHECKPOINT: 리뷰 결과 검토
|
|
250
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
251
|
-
|
|
252
|
-
3라운드 리뷰에서 발견된 주요 변경사항:
|
|
253
|
-
|
|
254
|
-
| # | 변경 내용 | 출처 | 신뢰도 |
|
|
255
|
-
|---|----------|------|--------|
|
|
256
|
-
| 1 | {변경1} | GPT+Gemini | 100% |
|
|
257
|
-
| 2 | {변경2} | GPT only | 50% |
|
|
258
|
-
| ... | ... | ... | ... |
|
|
259
|
-
|
|
260
|
-
질문:
|
|
261
|
-
1. 위 변경사항 중 제외하고 싶은 항목이 있나요?
|
|
262
|
-
2. 추가로 명시해야 할 요구사항이 있나요?
|
|
263
|
-
3. 기술적 접근 방식에 동의하시나요?
|
|
264
|
-
|
|
265
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
**Checkpoint 행동 규칙:**
|
|
269
|
-
|
|
270
|
-
| 상황 | 행동 |
|
|
271
|
-
|------|------|
|
|
272
|
-
| `ultrawork` 모드 | 체크포인트 스킵, 자동 진행 |
|
|
273
|
-
| 일반 모드 | 반드시 사용자 응답 대기 |
|
|
274
|
-
| 사용자가 변경 요청 | 수정 후 다시 체크포인트 |
|
|
275
|
-
| 사용자가 승인 | Step 4로 진행 |
|
|
276
|
-
|
|
277
|
-
**Output format:**
|
|
278
|
-
```
|
|
279
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
280
|
-
🏁 SPEC RACE REVIEW - Round 1/3
|
|
281
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
282
|
-
|
|
283
|
-
Model Results:
|
|
284
|
-
| Model | Issues | Duration |
|
|
285
|
-
|--------|--------|----------|
|
|
286
|
-
| GPT | 2 | 1823ms |
|
|
287
|
-
| Gemini | 2 | 2156ms |
|
|
288
|
-
|
|
289
|
-
Cross-Validated Issues:
|
|
290
|
-
| Issue | GPT | Gemini | Confidence |
|
|
291
|
-
|--------------------------|-----|--------|------------|
|
|
292
|
-
| Missing retry logic | ✅ | ✅ | 100% → P1 |
|
|
293
|
-
| Missing rate limiting | ✅ | ✅ | 100% → P1 |
|
|
294
|
-
| Token refresh unclear | ✅ | ❌ | 50% → P2 |
|
|
295
|
-
|
|
296
|
-
Auto-applying...
|
|
297
|
-
✅ [P1] Added retry logic (3 attempts, exponential backoff)
|
|
298
|
-
✅ [P1] Added rate limiting (100 req/min)
|
|
299
|
-
✅ [P2] Added token refresh flow
|
|
300
|
-
|
|
301
|
-
✅ Round 1 complete - 3 improvements (2 P1, 1 P2)
|
|
302
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
303
|
-
|
|
304
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
305
|
-
🏁 SPEC RACE REVIEW - Round 2/3
|
|
306
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
307
|
-
|
|
308
|
-
Cross-Validated Issues:
|
|
309
|
-
| Issue | GPT | Gemini | Confidence |
|
|
310
|
-
|-----------------------------|-----|--------|------------|
|
|
311
|
-
| Concurrent session unclear | ✅ | ❌ | 50% → P2 |
|
|
312
|
-
|
|
313
|
-
Auto-applying...
|
|
314
|
-
✅ [P2] Added concurrent session policy
|
|
315
|
-
|
|
316
|
-
✅ Round 2 complete - 1 improvement
|
|
317
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
318
|
-
|
|
319
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
320
|
-
🏁 SPEC RACE REVIEW - Round 3/3
|
|
321
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
322
|
-
|
|
323
|
-
Cross-Validated Issues: None
|
|
324
|
-
|
|
325
|
-
✅ No changes needed - SPEC is complete
|
|
326
|
-
✅ Consensus Rate: 100%
|
|
327
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Step 3.5: Review Debate Team (Agent Teams)
|
|
333
|
-
|
|
334
|
-
> **조건**: Agent Teams 활성화 + 3라운드 완료 후 P1/P2 이슈 2개 이상 발견 시
|
|
335
|
-
> 여러 관점에서 교차 검증하여 오탐 제거 및 우선순위 조정
|
|
336
|
-
|
|
337
|
-
**팀 구성:**
|
|
338
|
-
|
|
339
|
-
| 팀원 | 역할 |
|
|
340
|
-
|------|------|
|
|
341
|
-
| security-reviewer (리더) | 보안 관점 우선순위 결정, 교차 검증 주도 |
|
|
342
|
-
| architecture-reviewer | 구조적 영향 평가, 설계 일관성 확인 |
|
|
343
|
-
| performance-reviewer | 성능 영향 평가, 불필요한 최적화 식별 |
|
|
344
|
-
| simplicity-reviewer | 과잉 설계 여부, YAGNI 위반 식별 |
|
|
345
|
-
|
|
346
|
-
**활성화 조건:**
|
|
347
|
-
|
|
348
|
-
| 상황 | 행동 |
|
|
349
|
-
|------|------|
|
|
350
|
-
| P1/P2 이슈 2개 이상 | 자동 활성화 |
|
|
351
|
-
| P1/P2 이슈 1개 이하 | 스킵 → Step 4로 진행 |
|
|
352
|
-
| Agent Teams 비활성화 | 스킵 → Step 4로 진행 |
|
|
353
|
-
|
|
354
|
-
**spawn 패턴:**
|
|
355
|
-
|
|
356
|
-
```text
|
|
357
|
-
TeamCreate(team_name="spec-debate-{feature}", description="SPEC review debate for {feature}")
|
|
358
|
-
|
|
359
|
-
Task(team_name="spec-debate-{feature}", name="security-reviewer", subagent_type="security-reviewer",
|
|
360
|
-
mode="bypassPermissions",
|
|
361
|
-
prompt="SPEC 리뷰 팀 리더. GPT/Gemini가 발견한 P1/P2 이슈를 교차 검증하세요.
|
|
362
|
-
SPEC: {spec_content}
|
|
363
|
-
발견된 이슈: {p1_p2_issues}
|
|
364
|
-
역할: 각 이슈가 진짜인지(오탐 아닌지) 검증. 실제 영향도 기준으로 우선순위 조정.
|
|
365
|
-
분쟁이 있는 이슈는 해당 리뷰어에게 SendMessage로 확인 요청하세요.")
|
|
366
|
-
|
|
367
|
-
Task(team_name="spec-debate-{feature}", name="architecture-reviewer", subagent_type="architecture-reviewer",
|
|
368
|
-
mode="bypassPermissions",
|
|
369
|
-
prompt="SPEC 리뷰 팀 아키텍처 전문가. 아키텍처 관련 이슈를 검증하세요.
|
|
370
|
-
SPEC: {spec_content}
|
|
371
|
-
역할: 구조적 일관성, SOLID 원칙, 레이어 경계 검증.
|
|
372
|
-
우선순위 변경 필요 시 security-reviewer에게 SendMessage로 알리세요.")
|
|
373
|
-
|
|
374
|
-
Task(team_name="spec-debate-{feature}", name="performance-reviewer", subagent_type="performance-reviewer",
|
|
375
|
-
mode="bypassPermissions",
|
|
376
|
-
prompt="SPEC 리뷰 팀 성능 전문가. 성능 관련 이슈를 검증하세요.
|
|
377
|
-
SPEC: {spec_content}
|
|
378
|
-
역할: 성능 요구사항 현실성 평가, 불필요한 최적화 식별.
|
|
379
|
-
P2→P1 승격이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
|
|
380
|
-
|
|
381
|
-
Task(team_name="spec-debate-{feature}", name="simplicity-reviewer", subagent_type="simplicity-reviewer",
|
|
382
|
-
mode="bypassPermissions",
|
|
383
|
-
prompt="SPEC 리뷰 팀 단순성 전문가. 과잉 설계 여부를 검증하세요.
|
|
384
|
-
SPEC: {spec_content}
|
|
385
|
-
역할: YAGNI 위반, 불필요한 복잡성 식별.
|
|
386
|
-
P1→P2 강등이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
**결과 통합:**
|
|
390
|
-
- 팀 합의 결과를 SPEC에 반영 (P1 즉시 적용, P2 노트 추가)
|
|
391
|
-
- 팀원 shutdown_request → TeamDelete로 정리
|
|
392
|
-
- Step 4 (Final Summary)로 진행
|
|
393
|
-
|
|
394
|
-
---
|
|
395
|
-
|
|
396
|
-
## Step 4: Final Summary
|
|
397
|
-
|
|
398
|
-
```
|
|
399
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
400
|
-
✅ SPEC REVIEW COMPLETE: {feature-name}
|
|
401
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
402
|
-
|
|
403
|
-
Quality Score: 96/100 ✅
|
|
404
|
-
Review Rounds: 3/3 ✅
|
|
405
|
-
Total Improvements: 4
|
|
406
|
-
⏱️ Started: {start_time}
|
|
407
|
-
⏱️ Completed: {getCurrentTime 결과}
|
|
408
|
-
|
|
409
|
-
Updated files:
|
|
410
|
-
📋 .claude/vibe/specs/{feature-name}.md (or split folder)
|
|
411
|
-
📋 .claude/vibe/features/{feature-name}.feature (or split folder)
|
|
412
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
---
|
|
416
|
-
|
|
417
|
-
## Step 5: SPEC Summary for User Review
|
|
418
|
-
|
|
419
|
-
**🚨 MANDATORY: Always output this summary before proceeding to `/vibe.run`.**
|
|
420
|
-
|
|
421
|
-
After all review rounds, present the finalized SPEC to the user in a readable format:
|
|
422
|
-
|
|
423
|
-
```
|
|
424
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
425
|
-
📋 SPEC SUMMARY: {feature-name}
|
|
426
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
427
|
-
|
|
428
|
-
## Feature Overview
|
|
429
|
-
{1-2 line summary of feature purpose from SPEC's <role> and <context>}
|
|
430
|
-
|
|
431
|
-
## Tech Stack
|
|
432
|
-
{Tech stack list extracted from <context>}
|
|
433
|
-
|
|
434
|
-
## Implementation Phases
|
|
435
|
-
| Phase | Name | Key Tasks |
|
|
436
|
-
|-------|------|-----------|
|
|
437
|
-
| 1 | {phase name} | {1-line summary of core task} |
|
|
438
|
-
| 2 | {phase name} | {1-line summary of core task} |
|
|
439
|
-
| ... | ... | ... |
|
|
440
|
-
|
|
441
|
-
## Key Scenarios ({N} total)
|
|
442
|
-
{Scenario name list from Feature file}
|
|
443
|
-
- Scenario: {name1}
|
|
444
|
-
- Scenario: {name2}
|
|
445
|
-
- ...
|
|
446
|
-
|
|
447
|
-
## Key Constraints
|
|
448
|
-
{3-5 key items from <constraints>}
|
|
449
|
-
|
|
450
|
-
## Acceptance Criteria
|
|
451
|
-
{Summary of key items from <acceptance>}
|
|
452
|
-
|
|
453
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
454
|
-
If anything above is incorrect, please request changes.
|
|
455
|
-
If no issues, proceed with /vibe.run "{feature-name}".
|
|
456
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
457
|
-
```
|
|
458
|
-
|
|
459
|
-
**Important:**
|
|
460
|
-
|
|
461
|
-
- List ALL Phases, Scenarios, and Constraints from SPEC without omission
|
|
462
|
-
- Keep it concise for quick user review
|
|
463
|
-
- Wait for user confirmation after review (unless ultrawork mode)
|
|
464
|
-
- In ultrawork mode: output summary then auto-proceed to `/vibe.run`
|
|
465
|
-
|
|
466
|
-
### 5.1 Final User Checkpoint
|
|
467
|
-
|
|
468
|
-
**🚨 MANDATORY: `/vibe.run` 진행 전 최종 사용자 확인**
|
|
469
|
-
|
|
470
|
-
```
|
|
471
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
472
|
-
✅ SPEC 리뷰 완료 - 최종 확인
|
|
473
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
474
|
-
|
|
475
|
-
다음 질문에 답변해 주세요:
|
|
476
|
-
|
|
477
|
-
1. **요구사항 정확성**: 위 SPEC이 원래 의도한 기능을 정확히 설명하고 있나요?
|
|
478
|
-
2. **범위 적절성**: 구현 범위가 너무 크거나 작지 않나요?
|
|
479
|
-
3. **기술 스택**: 선택된 기술 스택에 동의하시나요?
|
|
480
|
-
4. **우선순위**: Phase 순서와 우선순위가 맞나요?
|
|
481
|
-
|
|
482
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
483
|
-
💡 "ok" 또는 "진행"으로 승인 / 수정 사항이 있으면 말씀해 주세요
|
|
484
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
485
|
-
```
|
|
486
|
-
|
|
487
|
-
**Why This Checkpoint Matters:**
|
|
488
|
-
|
|
489
|
-
> AI가 더 많이 해준다고 좋은 게 아닙니다.
|
|
490
|
-
> 사용자가 AI와 함께 생각하고 판단할 때 최고의 결과가 나옵니다.
|
|
491
|
-
> 이 체크포인트는 Type 6 (Iterative-Reasoning) 패턴을 유도합니다.
|
|
492
|
-
|
|
493
|
-
---
|
|
494
|
-
|
|
495
|
-
## Next Step
|
|
496
|
-
|
|
497
|
-
```
|
|
498
|
-
/vibe.run "{feature-name}"
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
---
|
|
502
|
-
|
|
503
|
-
## Error Handling
|
|
504
|
-
|
|
505
|
-
### SPEC Not Found
|
|
506
|
-
```
|
|
507
|
-
❌ ERROR: SPEC file not found
|
|
508
|
-
|
|
509
|
-
Expected (single): .claude/vibe/specs/{feature-name}.md
|
|
510
|
-
Expected (split): .claude/vibe/specs/{feature-name}/_index.md
|
|
511
|
-
|
|
512
|
-
Please run /vibe.spec "{feature-name}" first to create the SPEC.
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
### Feature Not Found
|
|
516
|
-
```
|
|
517
|
-
❌ ERROR: Feature file not found
|
|
518
|
-
|
|
519
|
-
Expected (single): .claude/vibe/features/{feature-name}.feature
|
|
520
|
-
Expected (split): .claude/vibe/features/{feature-name}/_index.feature
|
|
521
|
-
|
|
522
|
-
Please run /vibe.spec "{feature-name}" first to create the Feature file.
|
|
523
|
-
```
|
|
524
|
-
|
|
525
|
-
### GPT/Gemini Call Failed
|
|
526
|
-
```
|
|
527
|
-
⚠️ WARNING: {GPT|Gemini} call failed
|
|
528
|
-
|
|
529
|
-
Error: {error message}
|
|
530
|
-
|
|
531
|
-
Continuing with {other model} results only...
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
---
|
|
535
|
-
|
|
536
|
-
## Quick Mode
|
|
537
|
-
|
|
538
|
-
For faster iteration (1 round only):
|
|
539
|
-
|
|
540
|
-
```bash
|
|
541
|
-
/vibe.spec.review "feature-name" --quick
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
---
|
|
545
|
-
|
|
546
|
-
ARGUMENTS: $ARGUMENTS
|
|
547
|
-
|
|
548
|
-
**File Detection (execute before Step 1):**
|
|
549
|
-
|
|
550
|
-
```
|
|
551
|
-
Feature name: $ARGUMENTS
|
|
552
|
-
|
|
553
|
-
1. Check split folder: .claude/vibe/specs/$ARGUMENTS/_index.md
|
|
554
|
-
- If exists → Split mode (read all files in folder)
|
|
555
|
-
2. Check single file: .claude/vibe/specs/$ARGUMENTS.md
|
|
556
|
-
- If exists → Single mode
|
|
557
|
-
3. Neither exists → Show error with both expected paths
|
|
558
|
-
```
|
|
1
|
+
# /vibe.spec.review - SPEC Quality Review
|
|
2
|
+
|
|
3
|
+
Review and enhance SPEC with GPT/Gemini cross-validation.
|
|
4
|
+
|
|
5
|
+
**Purpose:** Run this command in a NEW session after `/vibe.spec` to ensure accurate review execution.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
/vibe.spec.review "feature-name"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Prerequisites:**
|
|
16
|
+
- SPEC file exists: `.claude/vibe/specs/{feature-name}.md` (single) or `.claude/vibe/specs/{feature-name}/_index.md` (split)
|
|
17
|
+
- Feature file exists: `.claude/vibe/features/{feature-name}.feature` (single) or `.claude/vibe/features/{feature-name}/_index.feature` (split)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
> **⏱️ Timer**: Call `getCurrentTime` tool at the START. Record the result as `{start_time}`.
|
|
22
|
+
|
|
23
|
+
## Workflow
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/vibe.spec "feature" → SPEC created
|
|
27
|
+
↓
|
|
28
|
+
/new (new session)
|
|
29
|
+
↓
|
|
30
|
+
/vibe.spec.review "feature" → Quality validation + GPT/Gemini review
|
|
31
|
+
↓
|
|
32
|
+
/vibe.run "feature"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Step 1: Load SPEC Files
|
|
38
|
+
|
|
39
|
+
Detect SPEC structure (single file or split folder) and read files:
|
|
40
|
+
|
|
41
|
+
**Single file structure:**
|
|
42
|
+
```
|
|
43
|
+
.claude/vibe/specs/{feature-name}.md
|
|
44
|
+
.claude/vibe/features/{feature-name}.feature
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Split folder structure:**
|
|
48
|
+
```
|
|
49
|
+
.claude/vibe/specs/{feature-name}/_index.md (+ phase files)
|
|
50
|
+
.claude/vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
|
|
51
|
+
.claude/vibe/features/{feature-name}/_index.feature (+ phase files)
|
|
52
|
+
.claude/vibe/features/{feature-name}/phase-*.feature
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Detection logic:**
|
|
56
|
+
1. Check if `.claude/vibe/specs/{feature-name}/` directory exists → Split mode
|
|
57
|
+
2. Otherwise check `.claude/vibe/specs/{feature-name}.md` → Single mode
|
|
58
|
+
3. If neither exists → Error
|
|
59
|
+
|
|
60
|
+
**Split mode file loading:**
|
|
61
|
+
1. Read `_index.md` for master SPEC overview
|
|
62
|
+
2. Glob `phase-*.md` files and read all phase SPECs
|
|
63
|
+
3. Read corresponding `_index.feature` and `phase-*.feature` files
|
|
64
|
+
|
|
65
|
+
**Output:**
|
|
66
|
+
```
|
|
67
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
68
|
+
📋 SPEC REVIEW: {feature-name}
|
|
69
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
70
|
+
|
|
71
|
+
Loading files...
|
|
72
|
+
Mode: {single|split}
|
|
73
|
+
✅ SPEC: .claude/vibe/specs/{feature-name}.md (or _index.md + N phase files)
|
|
74
|
+
✅ Feature: .claude/vibe/features/{feature-name}.feature (or _index.feature + N phase files)
|
|
75
|
+
|
|
76
|
+
Extracted info:
|
|
77
|
+
- Feature: {feature description}
|
|
78
|
+
- Stack: {tech stack}
|
|
79
|
+
- Phases: {number of phases}
|
|
80
|
+
- Scenarios: {number of scenarios}
|
|
81
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Step 2: Quality Validation (95-Point Gate)
|
|
87
|
+
|
|
88
|
+
**🚨 MANDATORY: Score must be ≥ 95 to proceed**
|
|
89
|
+
|
|
90
|
+
### 2.1 Quality Checklist
|
|
91
|
+
|
|
92
|
+
| Category | Check Item | Weight |
|
|
93
|
+
|----------|------------|--------|
|
|
94
|
+
| **Completeness** | All user flows included in Task | 15% |
|
|
95
|
+
| **Completeness** | All ACs converted to Feature scenarios | 10% |
|
|
96
|
+
| **Completeness** | Error handling scenarios defined | 10% |
|
|
97
|
+
| **Specificity** | All numbers specified (timeout, limits, etc.) | 15% |
|
|
98
|
+
| **Specificity** | No ambiguous terms ("appropriate", "proper", etc.) | 10% |
|
|
99
|
+
| **Testability** | Each AC is verifiable | 10% |
|
|
100
|
+
| **Testability** | Feature scenarios have concrete Given/When/Then | 10% |
|
|
101
|
+
| **Security** | Auth/permission requirements specified | 10% |
|
|
102
|
+
| **Performance** | Response time/load requirements specified | 10% |
|
|
103
|
+
|
|
104
|
+
### 2.2 Quality Gate Loop
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
max_iterations = 3
|
|
108
|
+
iteration = 0
|
|
109
|
+
|
|
110
|
+
while iteration < max_iterations:
|
|
111
|
+
iteration += 1
|
|
112
|
+
score = calculate_quality_score(spec, feature)
|
|
113
|
+
|
|
114
|
+
print(f"━━━ Quality Check [{iteration}/{max_iterations}] ━━━")
|
|
115
|
+
print(f"Score: {score}/100")
|
|
116
|
+
|
|
117
|
+
if score >= 95:
|
|
118
|
+
print("✅ Quality Gate PASSED")
|
|
119
|
+
break
|
|
120
|
+
|
|
121
|
+
# Auto-fix missing items
|
|
122
|
+
missing_items = identify_missing_items(spec)
|
|
123
|
+
for item in missing_items:
|
|
124
|
+
auto_fix(item)
|
|
125
|
+
update_spec()
|
|
126
|
+
update_feature()
|
|
127
|
+
|
|
128
|
+
print(f"✅ Applied {len(missing_items)} fixes - Re-evaluating...")
|
|
129
|
+
|
|
130
|
+
if score < 95:
|
|
131
|
+
print(f"❌ BLOCKED: Score {score} < 95 after {max_iterations} iterations")
|
|
132
|
+
print("Manual intervention required.")
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Output format:**
|
|
136
|
+
```
|
|
137
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
138
|
+
📊 QUALITY GATE [1/3]
|
|
139
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
140
|
+
Score: 87/100 ⚠️ BELOW THRESHOLD (95)
|
|
141
|
+
|
|
142
|
+
Missing items:
|
|
143
|
+
❌ Error handling scenarios (10%)
|
|
144
|
+
❌ Performance targets (5%)
|
|
145
|
+
|
|
146
|
+
Auto-fixing...
|
|
147
|
+
✅ Added network error handling scenario
|
|
148
|
+
✅ Added response time targets (<500ms)
|
|
149
|
+
|
|
150
|
+
Re-evaluating...
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
|
|
153
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
154
|
+
📊 QUALITY GATE [2/3]
|
|
155
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
156
|
+
Score: 96/100 ✅ PASSED
|
|
157
|
+
|
|
158
|
+
✅ Quality Gate PASSED - proceeding to GPT/Gemini review
|
|
159
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 2.3 Auto-Fix Rules
|
|
163
|
+
|
|
164
|
+
| Missing Item | Auto-Fix Method |
|
|
165
|
+
|--------------|-----------------|
|
|
166
|
+
| Missing AC | Auto-generate AC based on Task |
|
|
167
|
+
| Numbers not specified | Apply project defaults (timeout 30s, etc.) |
|
|
168
|
+
| Missing error handling | Add common error scenarios |
|
|
169
|
+
| Missing performance targets | Apply industry standard criteria |
|
|
170
|
+
| Missing security | Add auth/data protection requirements |
|
|
171
|
+
| Ambiguous terms | Replace with specific values |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Step 3: Race Review (GPT + Gemini Cross-Validation) - 3 Rounds (v2.6.9)
|
|
176
|
+
|
|
177
|
+
**🚨🚨🚨 CRITICAL: YOU MUST EXECUTE ALL 3 ROUNDS. DO NOT SKIP THIS STEP. 🚨🚨🚨**
|
|
178
|
+
|
|
179
|
+
**🚨 ABSOLUTE RULES FOR RACE REVIEW:**
|
|
180
|
+
|
|
181
|
+
1. **YOU MUST** use the Bash tool to call `llm-orchestrate.js` directly
|
|
182
|
+
2. **DO NOT** skip GPT/Gemini calls
|
|
183
|
+
3. **DO NOT** simulate or fake review results
|
|
184
|
+
4. **YOU MUST** run all 3 rounds sequentially (each round uses updated SPEC)
|
|
185
|
+
|
|
186
|
+
> Race Mode reviews SPEC with GPT and Gemini in parallel, then cross-validates findings for higher confidence.
|
|
187
|
+
|
|
188
|
+
### 3.1 Review Loop (3 Rounds)
|
|
189
|
+
|
|
190
|
+
**For EACH round (1, 2, 3), run GPT + Gemini in PARALLEL via Bash tool.**
|
|
191
|
+
|
|
192
|
+
**🚨 IMPORTANT: SPEC content is too large for CLI arguments. Use --input file method (no pipe needed).**
|
|
193
|
+
|
|
194
|
+
**Procedure for each round:**
|
|
195
|
+
|
|
196
|
+
**Step A: Save SPEC content + prompt as JSON to scratchpad temp file (using Write tool):**
|
|
197
|
+
- Write JSON to `[SCRATCHPAD]/spec-review-input.json` with content:
|
|
198
|
+
```json
|
|
199
|
+
{"prompt": "Review this SPEC for completeness, specificity, testability, security, and performance. Round [N]/3. Find issues and improvements. Return JSON: {issues: [{id, title, description, severity, suggestion}]}. SPEC content: [SPEC_CONTENT]"}
|
|
200
|
+
```
|
|
201
|
+
- Where `[SPEC_CONTENT]` is the full SPEC text (properly JSON-escaped inside the prompt string)
|
|
202
|
+
|
|
203
|
+
**Step B: Script path:**
|
|
204
|
+
- `[LLM_SCRIPT]` = `{{VIBE_PATH}}/hooks/scripts/llm-orchestrate.js`
|
|
205
|
+
|
|
206
|
+
**Step C: Run GPT + Gemini in PARALLEL (two separate Bash tool calls at once):**
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
# GPT review (Bash tool call 1)
|
|
210
|
+
node "[LLM_SCRIPT]" gpt orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
# Gemini review (Bash tool call 2 - run in parallel with GPT)
|
|
215
|
+
node "[LLM_SCRIPT]" gemini orchestrate-json --input "[SCRATCHPAD]/spec-review-input.json"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**🚨 MANDATORY: Replace `[SCRATCHPAD]` with the actual scratchpad directory path.**
|
|
219
|
+
**🚨 Replace `[N]` with the current round number (1, 2, or 3).**
|
|
220
|
+
**🚨 Replace `[LLM_SCRIPT]` with the resolved absolute path from Step B.**
|
|
221
|
+
**🚨 Run GPT and Gemini calls in PARALLEL (two separate Bash tool calls at once).**
|
|
222
|
+
|
|
223
|
+
- Round 1: Write SPEC → Run GPT + Gemini in parallel → Cross-validate → Apply fixes → Update SPEC file
|
|
224
|
+
- Round 2: Write updated SPEC → Run → Cross-validate → Apply fixes → Update SPEC file
|
|
225
|
+
- Round 3: Write final SPEC → Run → Cross-validate → Confirm no issues remain
|
|
226
|
+
|
|
227
|
+
### 3.2 Cross-Validation Rules
|
|
228
|
+
|
|
229
|
+
| Agreement | Priority | Action |
|
|
230
|
+
|-----------|----------|--------|
|
|
231
|
+
| Both models agree (100%) | P1 | Auto-apply immediately |
|
|
232
|
+
| 1 model only (50%) | P2 | Auto-apply with note |
|
|
233
|
+
|
|
234
|
+
**After each round:**
|
|
235
|
+
|
|
236
|
+
1. Cross-validate findings (issues found by 2+ models → P1, single model → P2)
|
|
237
|
+
2. Merge feedback with confidence scores
|
|
238
|
+
3. Auto-apply P1/P2 improvements to SPEC and Feature files (use Edit tool)
|
|
239
|
+
4. Continue to next round with updated SPEC content
|
|
240
|
+
|
|
241
|
+
### 3.3 User Decision Checkpoint (Round 3 이후)
|
|
242
|
+
|
|
243
|
+
**🚨 MANDATORY: 3라운드 완료 후 사용자 판단 체크포인트 실행**
|
|
244
|
+
|
|
245
|
+
> Type 6 (Iterative-Reasoning) 패턴: AI가 혼자 결정하지 않고, 사용자와 함께 판단
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
249
|
+
🔍 USER CHECKPOINT: 리뷰 결과 검토
|
|
250
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
251
|
+
|
|
252
|
+
3라운드 리뷰에서 발견된 주요 변경사항:
|
|
253
|
+
|
|
254
|
+
| # | 변경 내용 | 출처 | 신뢰도 |
|
|
255
|
+
|---|----------|------|--------|
|
|
256
|
+
| 1 | {변경1} | GPT+Gemini | 100% |
|
|
257
|
+
| 2 | {변경2} | GPT only | 50% |
|
|
258
|
+
| ... | ... | ... | ... |
|
|
259
|
+
|
|
260
|
+
질문:
|
|
261
|
+
1. 위 변경사항 중 제외하고 싶은 항목이 있나요?
|
|
262
|
+
2. 추가로 명시해야 할 요구사항이 있나요?
|
|
263
|
+
3. 기술적 접근 방식에 동의하시나요?
|
|
264
|
+
|
|
265
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Checkpoint 행동 규칙:**
|
|
269
|
+
|
|
270
|
+
| 상황 | 행동 |
|
|
271
|
+
|------|------|
|
|
272
|
+
| `ultrawork` 모드 | 체크포인트 스킵, 자동 진행 |
|
|
273
|
+
| 일반 모드 | 반드시 사용자 응답 대기 |
|
|
274
|
+
| 사용자가 변경 요청 | 수정 후 다시 체크포인트 |
|
|
275
|
+
| 사용자가 승인 | Step 4로 진행 |
|
|
276
|
+
|
|
277
|
+
**Output format:**
|
|
278
|
+
```
|
|
279
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
280
|
+
🏁 SPEC RACE REVIEW - Round 1/3
|
|
281
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
282
|
+
|
|
283
|
+
Model Results:
|
|
284
|
+
| Model | Issues | Duration |
|
|
285
|
+
|--------|--------|----------|
|
|
286
|
+
| GPT | 2 | 1823ms |
|
|
287
|
+
| Gemini | 2 | 2156ms |
|
|
288
|
+
|
|
289
|
+
Cross-Validated Issues:
|
|
290
|
+
| Issue | GPT | Gemini | Confidence |
|
|
291
|
+
|--------------------------|-----|--------|------------|
|
|
292
|
+
| Missing retry logic | ✅ | ✅ | 100% → P1 |
|
|
293
|
+
| Missing rate limiting | ✅ | ✅ | 100% → P1 |
|
|
294
|
+
| Token refresh unclear | ✅ | ❌ | 50% → P2 |
|
|
295
|
+
|
|
296
|
+
Auto-applying...
|
|
297
|
+
✅ [P1] Added retry logic (3 attempts, exponential backoff)
|
|
298
|
+
✅ [P1] Added rate limiting (100 req/min)
|
|
299
|
+
✅ [P2] Added token refresh flow
|
|
300
|
+
|
|
301
|
+
✅ Round 1 complete - 3 improvements (2 P1, 1 P2)
|
|
302
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
303
|
+
|
|
304
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
305
|
+
🏁 SPEC RACE REVIEW - Round 2/3
|
|
306
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
307
|
+
|
|
308
|
+
Cross-Validated Issues:
|
|
309
|
+
| Issue | GPT | Gemini | Confidence |
|
|
310
|
+
|-----------------------------|-----|--------|------------|
|
|
311
|
+
| Concurrent session unclear | ✅ | ❌ | 50% → P2 |
|
|
312
|
+
|
|
313
|
+
Auto-applying...
|
|
314
|
+
✅ [P2] Added concurrent session policy
|
|
315
|
+
|
|
316
|
+
✅ Round 2 complete - 1 improvement
|
|
317
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
318
|
+
|
|
319
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
320
|
+
🏁 SPEC RACE REVIEW - Round 3/3
|
|
321
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
322
|
+
|
|
323
|
+
Cross-Validated Issues: None
|
|
324
|
+
|
|
325
|
+
✅ No changes needed - SPEC is complete
|
|
326
|
+
✅ Consensus Rate: 100%
|
|
327
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Step 3.5: Review Debate Team (Agent Teams)
|
|
333
|
+
|
|
334
|
+
> **조건**: Agent Teams 활성화 + 3라운드 완료 후 P1/P2 이슈 2개 이상 발견 시
|
|
335
|
+
> 여러 관점에서 교차 검증하여 오탐 제거 및 우선순위 조정
|
|
336
|
+
|
|
337
|
+
**팀 구성:**
|
|
338
|
+
|
|
339
|
+
| 팀원 | 역할 |
|
|
340
|
+
|------|------|
|
|
341
|
+
| security-reviewer (리더) | 보안 관점 우선순위 결정, 교차 검증 주도 |
|
|
342
|
+
| architecture-reviewer | 구조적 영향 평가, 설계 일관성 확인 |
|
|
343
|
+
| performance-reviewer | 성능 영향 평가, 불필요한 최적화 식별 |
|
|
344
|
+
| simplicity-reviewer | 과잉 설계 여부, YAGNI 위반 식별 |
|
|
345
|
+
|
|
346
|
+
**활성화 조건:**
|
|
347
|
+
|
|
348
|
+
| 상황 | 행동 |
|
|
349
|
+
|------|------|
|
|
350
|
+
| P1/P2 이슈 2개 이상 | 자동 활성화 |
|
|
351
|
+
| P1/P2 이슈 1개 이하 | 스킵 → Step 4로 진행 |
|
|
352
|
+
| Agent Teams 비활성화 | 스킵 → Step 4로 진행 |
|
|
353
|
+
|
|
354
|
+
**spawn 패턴:**
|
|
355
|
+
|
|
356
|
+
```text
|
|
357
|
+
TeamCreate(team_name="spec-debate-{feature}", description="SPEC review debate for {feature}")
|
|
358
|
+
|
|
359
|
+
Task(team_name="spec-debate-{feature}", name="security-reviewer", subagent_type="security-reviewer",
|
|
360
|
+
mode="bypassPermissions",
|
|
361
|
+
prompt="SPEC 리뷰 팀 리더. GPT/Gemini가 발견한 P1/P2 이슈를 교차 검증하세요.
|
|
362
|
+
SPEC: {spec_content}
|
|
363
|
+
발견된 이슈: {p1_p2_issues}
|
|
364
|
+
역할: 각 이슈가 진짜인지(오탐 아닌지) 검증. 실제 영향도 기준으로 우선순위 조정.
|
|
365
|
+
분쟁이 있는 이슈는 해당 리뷰어에게 SendMessage로 확인 요청하세요.")
|
|
366
|
+
|
|
367
|
+
Task(team_name="spec-debate-{feature}", name="architecture-reviewer", subagent_type="architecture-reviewer",
|
|
368
|
+
mode="bypassPermissions",
|
|
369
|
+
prompt="SPEC 리뷰 팀 아키텍처 전문가. 아키텍처 관련 이슈를 검증하세요.
|
|
370
|
+
SPEC: {spec_content}
|
|
371
|
+
역할: 구조적 일관성, SOLID 원칙, 레이어 경계 검증.
|
|
372
|
+
우선순위 변경 필요 시 security-reviewer에게 SendMessage로 알리세요.")
|
|
373
|
+
|
|
374
|
+
Task(team_name="spec-debate-{feature}", name="performance-reviewer", subagent_type="performance-reviewer",
|
|
375
|
+
mode="bypassPermissions",
|
|
376
|
+
prompt="SPEC 리뷰 팀 성능 전문가. 성능 관련 이슈를 검증하세요.
|
|
377
|
+
SPEC: {spec_content}
|
|
378
|
+
역할: 성능 요구사항 현실성 평가, 불필요한 최적화 식별.
|
|
379
|
+
P2→P1 승격이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
|
|
380
|
+
|
|
381
|
+
Task(team_name="spec-debate-{feature}", name="simplicity-reviewer", subagent_type="simplicity-reviewer",
|
|
382
|
+
mode="bypassPermissions",
|
|
383
|
+
prompt="SPEC 리뷰 팀 단순성 전문가. 과잉 설계 여부를 검증하세요.
|
|
384
|
+
SPEC: {spec_content}
|
|
385
|
+
역할: YAGNI 위반, 불필요한 복잡성 식별.
|
|
386
|
+
P1→P2 강등이 필요하면 security-reviewer에게 SendMessage로 알리세요.")
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**결과 통합:**
|
|
390
|
+
- 팀 합의 결과를 SPEC에 반영 (P1 즉시 적용, P2 노트 추가)
|
|
391
|
+
- 팀원 shutdown_request → TeamDelete로 정리
|
|
392
|
+
- Step 4 (Final Summary)로 진행
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## Step 4: Final Summary
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
400
|
+
✅ SPEC REVIEW COMPLETE: {feature-name}
|
|
401
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
402
|
+
|
|
403
|
+
Quality Score: 96/100 ✅
|
|
404
|
+
Review Rounds: 3/3 ✅
|
|
405
|
+
Total Improvements: 4
|
|
406
|
+
⏱️ Started: {start_time}
|
|
407
|
+
⏱️ Completed: {getCurrentTime 결과}
|
|
408
|
+
|
|
409
|
+
Updated files:
|
|
410
|
+
📋 .claude/vibe/specs/{feature-name}.md (or split folder)
|
|
411
|
+
📋 .claude/vibe/features/{feature-name}.feature (or split folder)
|
|
412
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Step 5: SPEC Summary for User Review
|
|
418
|
+
|
|
419
|
+
**🚨 MANDATORY: Always output this summary before proceeding to `/vibe.run`.**
|
|
420
|
+
|
|
421
|
+
After all review rounds, present the finalized SPEC to the user in a readable format:
|
|
422
|
+
|
|
423
|
+
```
|
|
424
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
425
|
+
📋 SPEC SUMMARY: {feature-name}
|
|
426
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
427
|
+
|
|
428
|
+
## Feature Overview
|
|
429
|
+
{1-2 line summary of feature purpose from SPEC's <role> and <context>}
|
|
430
|
+
|
|
431
|
+
## Tech Stack
|
|
432
|
+
{Tech stack list extracted from <context>}
|
|
433
|
+
|
|
434
|
+
## Implementation Phases
|
|
435
|
+
| Phase | Name | Key Tasks |
|
|
436
|
+
|-------|------|-----------|
|
|
437
|
+
| 1 | {phase name} | {1-line summary of core task} |
|
|
438
|
+
| 2 | {phase name} | {1-line summary of core task} |
|
|
439
|
+
| ... | ... | ... |
|
|
440
|
+
|
|
441
|
+
## Key Scenarios ({N} total)
|
|
442
|
+
{Scenario name list from Feature file}
|
|
443
|
+
- Scenario: {name1}
|
|
444
|
+
- Scenario: {name2}
|
|
445
|
+
- ...
|
|
446
|
+
|
|
447
|
+
## Key Constraints
|
|
448
|
+
{3-5 key items from <constraints>}
|
|
449
|
+
|
|
450
|
+
## Acceptance Criteria
|
|
451
|
+
{Summary of key items from <acceptance>}
|
|
452
|
+
|
|
453
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
454
|
+
If anything above is incorrect, please request changes.
|
|
455
|
+
If no issues, proceed with /vibe.run "{feature-name}".
|
|
456
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
**Important:**
|
|
460
|
+
|
|
461
|
+
- List ALL Phases, Scenarios, and Constraints from SPEC without omission
|
|
462
|
+
- Keep it concise for quick user review
|
|
463
|
+
- Wait for user confirmation after review (unless ultrawork mode)
|
|
464
|
+
- In ultrawork mode: output summary then auto-proceed to `/vibe.run`
|
|
465
|
+
|
|
466
|
+
### 5.1 Final User Checkpoint
|
|
467
|
+
|
|
468
|
+
**🚨 MANDATORY: `/vibe.run` 진행 전 최종 사용자 확인**
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
472
|
+
✅ SPEC 리뷰 완료 - 최종 확인
|
|
473
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
474
|
+
|
|
475
|
+
다음 질문에 답변해 주세요:
|
|
476
|
+
|
|
477
|
+
1. **요구사항 정확성**: 위 SPEC이 원래 의도한 기능을 정확히 설명하고 있나요?
|
|
478
|
+
2. **범위 적절성**: 구현 범위가 너무 크거나 작지 않나요?
|
|
479
|
+
3. **기술 스택**: 선택된 기술 스택에 동의하시나요?
|
|
480
|
+
4. **우선순위**: Phase 순서와 우선순위가 맞나요?
|
|
481
|
+
|
|
482
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
483
|
+
💡 "ok" 또는 "진행"으로 승인 / 수정 사항이 있으면 말씀해 주세요
|
|
484
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Why This Checkpoint Matters:**
|
|
488
|
+
|
|
489
|
+
> AI가 더 많이 해준다고 좋은 게 아닙니다.
|
|
490
|
+
> 사용자가 AI와 함께 생각하고 판단할 때 최고의 결과가 나옵니다.
|
|
491
|
+
> 이 체크포인트는 Type 6 (Iterative-Reasoning) 패턴을 유도합니다.
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Next Step
|
|
496
|
+
|
|
497
|
+
```
|
|
498
|
+
/vibe.run "{feature-name}"
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
## Error Handling
|
|
504
|
+
|
|
505
|
+
### SPEC Not Found
|
|
506
|
+
```
|
|
507
|
+
❌ ERROR: SPEC file not found
|
|
508
|
+
|
|
509
|
+
Expected (single): .claude/vibe/specs/{feature-name}.md
|
|
510
|
+
Expected (split): .claude/vibe/specs/{feature-name}/_index.md
|
|
511
|
+
|
|
512
|
+
Please run /vibe.spec "{feature-name}" first to create the SPEC.
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### Feature Not Found
|
|
516
|
+
```
|
|
517
|
+
❌ ERROR: Feature file not found
|
|
518
|
+
|
|
519
|
+
Expected (single): .claude/vibe/features/{feature-name}.feature
|
|
520
|
+
Expected (split): .claude/vibe/features/{feature-name}/_index.feature
|
|
521
|
+
|
|
522
|
+
Please run /vibe.spec "{feature-name}" first to create the Feature file.
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### GPT/Gemini Call Failed
|
|
526
|
+
```
|
|
527
|
+
⚠️ WARNING: {GPT|Gemini} call failed
|
|
528
|
+
|
|
529
|
+
Error: {error message}
|
|
530
|
+
|
|
531
|
+
Continuing with {other model} results only...
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## Quick Mode
|
|
537
|
+
|
|
538
|
+
For faster iteration (1 round only):
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
/vibe.spec.review "feature-name" --quick
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
ARGUMENTS: $ARGUMENTS
|
|
547
|
+
|
|
548
|
+
**File Detection (execute before Step 1):**
|
|
549
|
+
|
|
550
|
+
```
|
|
551
|
+
Feature name: $ARGUMENTS
|
|
552
|
+
|
|
553
|
+
1. Check split folder: .claude/vibe/specs/$ARGUMENTS/_index.md
|
|
554
|
+
- If exists → Split mode (read all files in folder)
|
|
555
|
+
2. Check single file: .claude/vibe/specs/$ARGUMENTS.md
|
|
556
|
+
- If exists → Single mode
|
|
557
|
+
3. Neither exists → Show error with both expected paths
|
|
558
|
+
```
|