@su-record/vibe 3.2.62 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +100 -288
- package/card.md +9 -0
- package/dist/cli.js +584 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/check.js +245 -0
- package/dist/core/check.js.map +1 -0
- package/dist/core/checks/eval.js +66 -0
- package/dist/core/checks/eval.js.map +1 -0
- package/dist/core/checks/file.js +88 -0
- package/dist/core/checks/file.js.map +1 -0
- package/dist/core/checks/http.js +48 -0
- package/dist/core/checks/http.js.map +1 -0
- package/dist/core/checks/run.js +42 -0
- package/dist/core/checks/run.js.map +1 -0
- package/dist/core/client.js +35 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/config.js +30 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/errors.js +12 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/github.js +49 -0
- package/dist/core/github.js.map +1 -0
- package/dist/core/inbox.js +73 -0
- package/dist/core/inbox.js.map +1 -0
- package/dist/core/intent.js +91 -0
- package/dist/core/intent.js.map +1 -0
- package/dist/core/knowledge.js +22 -0
- package/dist/core/knowledge.js.map +1 -0
- package/dist/core/ledger.js +124 -0
- package/dist/core/ledger.js.map +1 -0
- package/dist/core/paths.js +29 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/profile.js +88 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/regress.js +66 -0
- package/dist/core/regress.js.map +1 -0
- package/dist/core/research.js +205 -0
- package/dist/core/research.js.map +1 -0
- package/dist/core/scenarios.js +193 -0
- package/dist/core/scenarios.js.map +1 -0
- package/dist/core/skills.js +276 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/state.js +70 -0
- package/dist/core/state.js.map +1 -0
- package/dist/core/store.js +59 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/table.js +106 -0
- package/dist/core/table.js.map +1 -0
- package/dist/core/tokens.js +67 -0
- package/dist/core/tokens.js.map +1 -0
- package/dist/core/tree.js +97 -0
- package/dist/core/tree.js.map +1 -0
- package/dist/core/view.js +67 -0
- package/dist/core/view.js.map +1 -0
- package/dist/install/plugin.js +145 -0
- package/dist/install/plugin.js.map +1 -0
- package/dist/install/project.js +213 -0
- package/dist/install/project.js.map +1 -0
- package/hooks/notify.js +92 -0
- package/package.json +27 -118
- package/skills/vibe/SKILL.md +20 -265
- package/skills/vibe.build/SKILL.md +35 -0
- package/skills/vibe.discover/SKILL.md +35 -0
- package/skills/vibe.handoff/SKILL.md +21 -6
- package/skills/vibe.prove/SKILL.md +19 -0
- package/skills/vibe.scope/SKILL.md +39 -0
- package/.claude-plugin/plugin.json +0 -22
- package/.codex-plugin/plugin.json +0 -34
- package/.env.example +0 -52
- package/CLAUDE.md +0 -216
- package/README.en.md +0 -347
- package/agents/architect.md +0 -38
- package/agents/build-error-resolver.md +0 -46
- package/agents/code-reviewer.md +0 -89
- package/agents/e2e-tester.md +0 -66
- package/agents/event/event-ops.md +0 -61
- package/agents/event/event-planner.md +0 -63
- package/agents/implementer.md +0 -39
- package/agents/security-reviewer.md +0 -56
- package/agents/tester.md +0 -53
- package/agents/ui/design-reviewer.md +0 -62
- package/agents/ui/design-system-gen.md +0 -63
- package/dist/cli/auth.d.ts +0 -30
- package/dist/cli/auth.d.ts.map +0 -1
- package/dist/cli/auth.js +0 -140
- package/dist/cli/auth.js.map +0 -1
- package/dist/cli/collaborator.d.ts +0 -12
- package/dist/cli/collaborator.d.ts.map +0 -1
- package/dist/cli/collaborator.js +0 -150
- package/dist/cli/collaborator.js.map +0 -1
- package/dist/cli/commands/codex-proxy.d.ts +0 -10
- package/dist/cli/commands/codex-proxy.d.ts.map +0 -1
- package/dist/cli/commands/codex-proxy.js +0 -272
- package/dist/cli/commands/codex-proxy.js.map +0 -1
- package/dist/cli/commands/config.d.ts +0 -17
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js +0 -209
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/evolution.d.ts +0 -16
- package/dist/cli/commands/evolution.d.ts.map +0 -1
- package/dist/cli/commands/evolution.js +0 -211
- package/dist/cli/commands/evolution.js.map +0 -1
- package/dist/cli/commands/figma.d.ts +0 -29
- package/dist/cli/commands/figma.d.ts.map +0 -1
- package/dist/cli/commands/figma.js +0 -147
- package/dist/cli/commands/figma.js.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -19
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/index.js +0 -19
- package/dist/cli/commands/index.js.map +0 -1
- package/dist/cli/commands/info.d.ts +0 -72
- package/dist/cli/commands/info.d.ts.map +0 -1
- package/dist/cli/commands/info.js +0 -263
- package/dist/cli/commands/info.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -36
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -393
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/llm.d.ts +0 -11
- package/dist/cli/commands/llm.d.ts.map +0 -1
- package/dist/cli/commands/llm.js +0 -63
- package/dist/cli/commands/llm.js.map +0 -1
- package/dist/cli/commands/plugin.d.ts +0 -5
- package/dist/cli/commands/plugin.d.ts.map +0 -1
- package/dist/cli/commands/plugin.js +0 -223
- package/dist/cli/commands/plugin.js.map +0 -1
- package/dist/cli/commands/remove.d.ts +0 -8
- package/dist/cli/commands/remove.d.ts.map +0 -1
- package/dist/cli/commands/remove.js +0 -157
- package/dist/cli/commands/remove.js.map +0 -1
- package/dist/cli/commands/sentinel.d.ts +0 -22
- package/dist/cli/commands/sentinel.d.ts.map +0 -1
- package/dist/cli/commands/sentinel.js +0 -324
- package/dist/cli/commands/sentinel.js.map +0 -1
- package/dist/cli/commands/setup.d.ts +0 -9
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/setup.js +0 -223
- package/dist/cli/commands/setup.js.map +0 -1
- package/dist/cli/commands/skills.d.ts +0 -13
- package/dist/cli/commands/skills.d.ts.map +0 -1
- package/dist/cli/commands/skills.js +0 -117
- package/dist/cli/commands/skills.js.map +0 -1
- package/dist/cli/commands/slack.d.ts +0 -11
- package/dist/cli/commands/slack.d.ts.map +0 -1
- package/dist/cli/commands/slack.js +0 -83
- package/dist/cli/commands/slack.js.map +0 -1
- package/dist/cli/commands/stats.d.ts +0 -13
- package/dist/cli/commands/stats.d.ts.map +0 -1
- package/dist/cli/commands/stats.js +0 -281
- package/dist/cli/commands/stats.js.map +0 -1
- package/dist/cli/commands/telegram.d.ts +0 -13
- package/dist/cli/commands/telegram.d.ts.map +0 -1
- package/dist/cli/commands/telegram.js +0 -236
- package/dist/cli/commands/telegram.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -10
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -168
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/upgrade.d.ts +0 -96
- package/dist/cli/commands/upgrade.d.ts.map +0 -1
- package/dist/cli/commands/upgrade.js +0 -357
- package/dist/cli/commands/upgrade.js.map +0 -1
- package/dist/cli/design/design-md-parser.d.ts +0 -25
- package/dist/cli/design/design-md-parser.d.ts.map +0 -1
- package/dist/cli/design/design-md-parser.js +0 -86
- package/dist/cli/design/design-md-parser.js.map +0 -1
- package/dist/cli/detect/matcher.d.ts +0 -15
- package/dist/cli/detect/matcher.d.ts.map +0 -1
- package/dist/cli/detect/matcher.js +0 -278
- package/dist/cli/detect/matcher.js.map +0 -1
- package/dist/cli/detect/signatures.d.ts +0 -76
- package/dist/cli/detect/signatures.d.ts.map +0 -1
- package/dist/cli/detect/signatures.js +0 -175
- package/dist/cli/detect/signatures.js.map +0 -1
- package/dist/cli/detect/workspace.d.ts +0 -7
- package/dist/cli/detect/workspace.d.ts.map +0 -1
- package/dist/cli/detect/workspace.js +0 -112
- package/dist/cli/detect/workspace.js.map +0 -1
- package/dist/cli/detect.d.ts +0 -35
- package/dist/cli/detect.d.ts.map +0 -1
- package/dist/cli/detect.js +0 -213
- package/dist/cli/detect.js.map +0 -1
- package/dist/cli/generate-release-notes.d.ts +0 -3
- package/dist/cli/generate-release-notes.d.ts.map +0 -1
- package/dist/cli/generate-release-notes.js +0 -49
- package/dist/cli/generate-release-notes.js.map +0 -1
- package/dist/cli/index.d.ts +0 -30
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -475
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/llm/antigravity-commands.d.ts +0 -25
- package/dist/cli/llm/antigravity-commands.d.ts.map +0 -1
- package/dist/cli/llm/antigravity-commands.js +0 -142
- package/dist/cli/llm/antigravity-commands.js.map +0 -1
- package/dist/cli/llm/claude-commands.d.ts +0 -12
- package/dist/cli/llm/claude-commands.d.ts.map +0 -1
- package/dist/cli/llm/claude-commands.js +0 -75
- package/dist/cli/llm/claude-commands.js.map +0 -1
- package/dist/cli/llm/config.d.ts +0 -19
- package/dist/cli/llm/config.d.ts.map +0 -1
- package/dist/cli/llm/config.js +0 -137
- package/dist/cli/llm/config.js.map +0 -1
- package/dist/cli/llm/gpt-commands.d.ts +0 -17
- package/dist/cli/llm/gpt-commands.d.ts.map +0 -1
- package/dist/cli/llm/gpt-commands.js +0 -85
- package/dist/cli/llm/gpt-commands.js.map +0 -1
- package/dist/cli/llm/help.d.ts +0 -12
- package/dist/cli/llm/help.d.ts.map +0 -1
- package/dist/cli/llm/help.js +0 -37
- package/dist/cli/llm/help.js.map +0 -1
- package/dist/cli/llm/index.d.ts +0 -10
- package/dist/cli/llm/index.d.ts.map +0 -1
- package/dist/cli/llm/index.js +0 -10
- package/dist/cli/llm/index.js.map +0 -1
- package/dist/cli/llm/model-refresh.d.ts +0 -29
- package/dist/cli/llm/model-refresh.d.ts.map +0 -1
- package/dist/cli/llm/model-refresh.js +0 -139
- package/dist/cli/llm/model-refresh.js.map +0 -1
- package/dist/cli/llm/zai-commands.d.ts +0 -15
- package/dist/cli/llm/zai-commands.d.ts.map +0 -1
- package/dist/cli/llm/zai-commands.js +0 -64
- package/dist/cli/llm/zai-commands.js.map +0 -1
- package/dist/cli/llm.d.ts +0 -13
- package/dist/cli/llm.d.ts.map +0 -1
- package/dist/cli/llm.js +0 -13
- package/dist/cli/llm.js.map +0 -1
- package/dist/cli/postinstall/claude-agents.d.ts +0 -35
- package/dist/cli/postinstall/claude-agents.d.ts.map +0 -1
- package/dist/cli/postinstall/claude-agents.js +0 -177
- package/dist/cli/postinstall/claude-agents.js.map +0 -1
- package/dist/cli/postinstall/constants.d.ts +0 -134
- package/dist/cli/postinstall/constants.d.ts.map +0 -1
- package/dist/cli/postinstall/constants.js +0 -554
- package/dist/cli/postinstall/constants.js.map +0 -1
- package/dist/cli/postinstall/fs-utils.d.ts +0 -94
- package/dist/cli/postinstall/fs-utils.d.ts.map +0 -1
- package/dist/cli/postinstall/fs-utils.js +0 -376
- package/dist/cli/postinstall/fs-utils.js.map +0 -1
- package/dist/cli/postinstall/global-config.d.ts +0 -22
- package/dist/cli/postinstall/global-config.d.ts.map +0 -1
- package/dist/cli/postinstall/global-config.js +0 -165
- package/dist/cli/postinstall/global-config.js.map +0 -1
- package/dist/cli/postinstall/inline-skills.d.ts +0 -8
- package/dist/cli/postinstall/inline-skills.d.ts.map +0 -1
- package/dist/cli/postinstall/inline-skills.js +0 -158
- package/dist/cli/postinstall/inline-skills.js.map +0 -1
- package/dist/cli/postinstall/main.d.ts +0 -20
- package/dist/cli/postinstall/main.d.ts.map +0 -1
- package/dist/cli/postinstall/main.js +0 -250
- package/dist/cli/postinstall/main.js.map +0 -1
- package/dist/cli/postinstall.d.ts +0 -9
- package/dist/cli/postinstall.d.ts.map +0 -1
- package/dist/cli/postinstall.js +0 -11
- package/dist/cli/postinstall.js.map +0 -1
- package/dist/cli/prompt.d.ts +0 -28
- package/dist/cli/prompt.d.ts.map +0 -1
- package/dist/cli/prompt.js +0 -64
- package/dist/cli/prompt.js.map +0 -1
- package/dist/cli/setup/CodexHooks.d.ts +0 -39
- package/dist/cli/setup/CodexHooks.d.ts.map +0 -1
- package/dist/cli/setup/CodexHooks.js +0 -73
- package/dist/cli/setup/CodexHooks.js.map +0 -1
- package/dist/cli/setup/GlobalInstaller.d.ts +0 -10
- package/dist/cli/setup/GlobalInstaller.d.ts.map +0 -1
- package/dist/cli/setup/GlobalInstaller.js +0 -34
- package/dist/cli/setup/GlobalInstaller.js.map +0 -1
- package/dist/cli/setup/InstallHome.d.ts +0 -27
- package/dist/cli/setup/InstallHome.d.ts.map +0 -1
- package/dist/cli/setup/InstallHome.js +0 -105
- package/dist/cli/setup/InstallHome.js.map +0 -1
- package/dist/cli/setup/LanguageDetector.d.ts +0 -15
- package/dist/cli/setup/LanguageDetector.d.ts.map +0 -1
- package/dist/cli/setup/LanguageDetector.js +0 -48
- package/dist/cli/setup/LanguageDetector.js.map +0 -1
- package/dist/cli/setup/LegacyMigration.d.ts +0 -38
- package/dist/cli/setup/LegacyMigration.d.ts.map +0 -1
- package/dist/cli/setup/LegacyMigration.js +0 -301
- package/dist/cli/setup/LegacyMigration.js.map +0 -1
- package/dist/cli/setup/NativeDeps.d.ts +0 -29
- package/dist/cli/setup/NativeDeps.d.ts.map +0 -1
- package/dist/cli/setup/NativeDeps.js +0 -79
- package/dist/cli/setup/NativeDeps.js.map +0 -1
- package/dist/cli/setup/ProjectSetup.d.ts +0 -105
- package/dist/cli/setup/ProjectSetup.d.ts.map +0 -1
- package/dist/cli/setup/ProjectSetup.js +0 -694
- package/dist/cli/setup/ProjectSetup.js.map +0 -1
- package/dist/cli/setup/Provisioner.d.ts +0 -28
- package/dist/cli/setup/Provisioner.d.ts.map +0 -1
- package/dist/cli/setup/Provisioner.js +0 -215
- package/dist/cli/setup/Provisioner.js.map +0 -1
- package/dist/cli/setup.d.ts +0 -9
- package/dist/cli/setup.d.ts.map +0 -1
- package/dist/cli/setup.js +0 -12
- package/dist/cli/setup.js.map +0 -1
- package/dist/cli/types.d.ts +0 -195
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/cli/types.js +0 -5
- package/dist/cli/types.js.map +0 -1
- package/dist/cli/utils/cli-detector.d.ts +0 -35
- package/dist/cli/utils/cli-detector.d.ts.map +0 -1
- package/dist/cli/utils/cli-detector.js +0 -99
- package/dist/cli/utils/cli-detector.js.map +0 -1
- package/dist/cli/utils.d.ts +0 -49
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/cli/utils.js +0 -137
- package/dist/cli/utils.js.map +0 -1
- package/dist/infra/lib/AutomationLevel.d.ts +0 -48
- package/dist/infra/lib/AutomationLevel.d.ts.map +0 -1
- package/dist/infra/lib/AutomationLevel.js +0 -157
- package/dist/infra/lib/AutomationLevel.js.map +0 -1
- package/dist/infra/lib/ComponentRegistry.d.ts +0 -35
- package/dist/infra/lib/ComponentRegistry.d.ts.map +0 -1
- package/dist/infra/lib/ComponentRegistry.js +0 -59
- package/dist/infra/lib/ComponentRegistry.js.map +0 -1
- package/dist/infra/lib/CostAccumulator.d.ts +0 -75
- package/dist/infra/lib/CostAccumulator.d.ts.map +0 -1
- package/dist/infra/lib/CostAccumulator.js +0 -189
- package/dist/infra/lib/CostAccumulator.js.map +0 -1
- package/dist/infra/lib/DecisionTracer.d.ts +0 -85
- package/dist/infra/lib/DecisionTracer.d.ts.map +0 -1
- package/dist/infra/lib/DecisionTracer.js +0 -139
- package/dist/infra/lib/DecisionTracer.js.map +0 -1
- package/dist/infra/lib/InteractiveCheckpoint.d.ts +0 -75
- package/dist/infra/lib/InteractiveCheckpoint.d.ts.map +0 -1
- package/dist/infra/lib/InteractiveCheckpoint.js +0 -179
- package/dist/infra/lib/InteractiveCheckpoint.js.map +0 -1
- package/dist/infra/lib/IterationTracker.d.ts +0 -125
- package/dist/infra/lib/IterationTracker.d.ts.map +0 -1
- package/dist/infra/lib/IterationTracker.js +0 -444
- package/dist/infra/lib/IterationTracker.js.map +0 -1
- package/dist/infra/lib/LoopBreaker.d.ts +0 -60
- package/dist/infra/lib/LoopBreaker.d.ts.map +0 -1
- package/dist/infra/lib/LoopBreaker.js +0 -113
- package/dist/infra/lib/LoopBreaker.js.map +0 -1
- package/dist/infra/lib/MemoryManager.d.ts +0 -96
- package/dist/infra/lib/MemoryManager.d.ts.map +0 -1
- package/dist/infra/lib/MemoryManager.js +0 -312
- package/dist/infra/lib/MemoryManager.js.map +0 -1
- package/dist/infra/lib/ProjectCache.d.ts +0 -28
- package/dist/infra/lib/ProjectCache.d.ts.map +0 -1
- package/dist/infra/lib/ProjectCache.js +0 -130
- package/dist/infra/lib/ProjectCache.js.map +0 -1
- package/dist/infra/lib/PythonParser.d.ts +0 -47
- package/dist/infra/lib/PythonParser.d.ts.map +0 -1
- package/dist/infra/lib/PythonParser.js +0 -268
- package/dist/infra/lib/PythonParser.js.map +0 -1
- package/dist/infra/lib/SkillFrontmatter.d.ts +0 -70
- package/dist/infra/lib/SkillFrontmatter.d.ts.map +0 -1
- package/dist/infra/lib/SkillFrontmatter.js +0 -240
- package/dist/infra/lib/SkillFrontmatter.js.map +0 -1
- package/dist/infra/lib/TaskContext.d.ts +0 -43
- package/dist/infra/lib/TaskContext.d.ts.map +0 -1
- package/dist/infra/lib/TaskContext.js +0 -84
- package/dist/infra/lib/TaskContext.js.map +0 -1
- package/dist/infra/lib/VerificationLoop.d.ts +0 -171
- package/dist/infra/lib/VerificationLoop.d.ts.map +0 -1
- package/dist/infra/lib/VerificationLoop.js +0 -308
- package/dist/infra/lib/VerificationLoop.js.map +0 -1
- package/dist/infra/lib/antigravity/auth.d.ts +0 -18
- package/dist/infra/lib/antigravity/auth.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/auth.js +0 -32
- package/dist/infra/lib/antigravity/auth.js.map +0 -1
- package/dist/infra/lib/antigravity/capabilities.d.ts +0 -28
- package/dist/infra/lib/antigravity/capabilities.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/capabilities.js +0 -178
- package/dist/infra/lib/antigravity/capabilities.js.map +0 -1
- package/dist/infra/lib/antigravity/chat.d.ts +0 -34
- package/dist/infra/lib/antigravity/chat.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/chat.js +0 -166
- package/dist/infra/lib/antigravity/chat.js.map +0 -1
- package/dist/infra/lib/antigravity/completion.d.ts +0 -12
- package/dist/infra/lib/antigravity/completion.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/completion.js +0 -13
- package/dist/infra/lib/antigravity/completion.js.map +0 -1
- package/dist/infra/lib/antigravity/constants.d.ts +0 -8
- package/dist/infra/lib/antigravity/constants.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/constants.js +0 -11
- package/dist/infra/lib/antigravity/constants.js.map +0 -1
- package/dist/infra/lib/antigravity/index.d.ts +0 -13
- package/dist/infra/lib/antigravity/index.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/index.js +0 -12
- package/dist/infra/lib/antigravity/index.js.map +0 -1
- package/dist/infra/lib/antigravity/models.d.ts +0 -11
- package/dist/infra/lib/antigravity/models.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/models.js +0 -38
- package/dist/infra/lib/antigravity/models.js.map +0 -1
- package/dist/infra/lib/antigravity/orchestration.d.ts +0 -33
- package/dist/infra/lib/antigravity/orchestration.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/orchestration.js +0 -74
- package/dist/infra/lib/antigravity/orchestration.js.map +0 -1
- package/dist/infra/lib/antigravity/types.d.ts +0 -123
- package/dist/infra/lib/antigravity/types.d.ts.map +0 -1
- package/dist/infra/lib/antigravity/types.js +0 -5
- package/dist/infra/lib/antigravity/types.js.map +0 -1
- package/dist/infra/lib/browser/capture.d.ts +0 -26
- package/dist/infra/lib/browser/capture.d.ts.map +0 -1
- package/dist/infra/lib/browser/capture.js +0 -115
- package/dist/infra/lib/browser/capture.js.map +0 -1
- package/dist/infra/lib/browser/compare.d.ts +0 -46
- package/dist/infra/lib/browser/compare.d.ts.map +0 -1
- package/dist/infra/lib/browser/compare.js +0 -188
- package/dist/infra/lib/browser/compare.js.map +0 -1
- package/dist/infra/lib/browser/index.d.ts +0 -6
- package/dist/infra/lib/browser/index.d.ts.map +0 -1
- package/dist/infra/lib/browser/index.js +0 -4
- package/dist/infra/lib/browser/index.js.map +0 -1
- package/dist/infra/lib/browser/launch.d.ts +0 -19
- package/dist/infra/lib/browser/launch.d.ts.map +0 -1
- package/dist/infra/lib/browser/launch.js +0 -58
- package/dist/infra/lib/browser/launch.js.map +0 -1
- package/dist/infra/lib/browser/types.d.ts +0 -103
- package/dist/infra/lib/browser/types.d.ts.map +0 -1
- package/dist/infra/lib/browser/types.js +0 -8
- package/dist/infra/lib/browser/types.js.map +0 -1
- package/dist/infra/lib/codex-proxy.d.ts +0 -150
- package/dist/infra/lib/codex-proxy.d.ts.map +0 -1
- package/dist/infra/lib/codex-proxy.js +0 -961
- package/dist/infra/lib/codex-proxy.js.map +0 -1
- package/dist/infra/lib/config/GlobalConfigManager.d.ts +0 -40
- package/dist/infra/lib/config/GlobalConfigManager.d.ts.map +0 -1
- package/dist/infra/lib/config/GlobalConfigManager.js +0 -396
- package/dist/infra/lib/config/GlobalConfigManager.js.map +0 -1
- package/dist/infra/lib/constants.d.ts +0 -81
- package/dist/infra/lib/constants.d.ts.map +0 -1
- package/dist/infra/lib/constants.js +0 -97
- package/dist/infra/lib/constants.js.map +0 -1
- package/dist/infra/lib/embedding/EmbeddingProvider.d.ts +0 -20
- package/dist/infra/lib/embedding/EmbeddingProvider.d.ts.map +0 -1
- package/dist/infra/lib/embedding/EmbeddingProvider.js +0 -83
- package/dist/infra/lib/embedding/EmbeddingProvider.js.map +0 -1
- package/dist/infra/lib/embedding/VectorStore.d.ts +0 -54
- package/dist/infra/lib/embedding/VectorStore.d.ts.map +0 -1
- package/dist/infra/lib/embedding/VectorStore.js +0 -139
- package/dist/infra/lib/embedding/VectorStore.js.map +0 -1
- package/dist/infra/lib/embedding/cosine.d.ts +0 -19
- package/dist/infra/lib/embedding/cosine.d.ts.map +0 -1
- package/dist/infra/lib/embedding/cosine.js +0 -40
- package/dist/infra/lib/embedding/cosine.js.map +0 -1
- package/dist/infra/lib/embedding/index.d.ts +0 -9
- package/dist/infra/lib/embedding/index.d.ts.map +0 -1
- package/dist/infra/lib/embedding/index.js +0 -8
- package/dist/infra/lib/embedding/index.js.map +0 -1
- package/dist/infra/lib/embedding/types.d.ts +0 -30
- package/dist/infra/lib/embedding/types.d.ts.map +0 -1
- package/dist/infra/lib/embedding/types.js +0 -12
- package/dist/infra/lib/embedding/types.js.map +0 -1
- package/dist/infra/lib/evolution/AgentAnalyzer.d.ts +0 -15
- package/dist/infra/lib/evolution/AgentAnalyzer.d.ts.map +0 -1
- package/dist/infra/lib/evolution/AgentAnalyzer.js +0 -84
- package/dist/infra/lib/evolution/AgentAnalyzer.js.map +0 -1
- package/dist/infra/lib/evolution/CircuitBreaker.d.ts +0 -31
- package/dist/infra/lib/evolution/CircuitBreaker.d.ts.map +0 -1
- package/dist/infra/lib/evolution/CircuitBreaker.js +0 -86
- package/dist/infra/lib/evolution/CircuitBreaker.js.map +0 -1
- package/dist/infra/lib/evolution/DeprecationDetector.d.ts +0 -68
- package/dist/infra/lib/evolution/DeprecationDetector.d.ts.map +0 -1
- package/dist/infra/lib/evolution/DeprecationDetector.js +0 -207
- package/dist/infra/lib/evolution/DeprecationDetector.js.map +0 -1
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts +0 -124
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts.map +0 -1
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +0 -410
- package/dist/infra/lib/evolution/DescriptionOptimizer.js.map +0 -1
- package/dist/infra/lib/evolution/EvolutionOrchestrator.d.ts +0 -35
- package/dist/infra/lib/evolution/EvolutionOrchestrator.d.ts.map +0 -1
- package/dist/infra/lib/evolution/EvolutionOrchestrator.js +0 -212
- package/dist/infra/lib/evolution/EvolutionOrchestrator.js.map +0 -1
- package/dist/infra/lib/evolution/GenerationRegistry.d.ts +0 -53
- package/dist/infra/lib/evolution/GenerationRegistry.d.ts.map +0 -1
- package/dist/infra/lib/evolution/GenerationRegistry.js +0 -121
- package/dist/infra/lib/evolution/GenerationRegistry.js.map +0 -1
- package/dist/infra/lib/evolution/GuardAnalyzer.d.ts +0 -44
- package/dist/infra/lib/evolution/GuardAnalyzer.d.ts.map +0 -1
- package/dist/infra/lib/evolution/GuardAnalyzer.js +0 -116
- package/dist/infra/lib/evolution/GuardAnalyzer.js.map +0 -1
- package/dist/infra/lib/evolution/HookTraceReader.d.ts +0 -45
- package/dist/infra/lib/evolution/HookTraceReader.d.ts.map +0 -1
- package/dist/infra/lib/evolution/HookTraceReader.js +0 -108
- package/dist/infra/lib/evolution/HookTraceReader.js.map +0 -1
- package/dist/infra/lib/evolution/InsightExtractor.d.ts +0 -24
- package/dist/infra/lib/evolution/InsightExtractor.d.ts.map +0 -1
- package/dist/infra/lib/evolution/InsightExtractor.js +0 -131
- package/dist/infra/lib/evolution/InsightExtractor.js.map +0 -1
- package/dist/infra/lib/evolution/InsightStore.d.ts +0 -55
- package/dist/infra/lib/evolution/InsightStore.d.ts.map +0 -1
- package/dist/infra/lib/evolution/InsightStore.js +0 -219
- package/dist/infra/lib/evolution/InsightStore.js.map +0 -1
- package/dist/infra/lib/evolution/LifecycleManager.d.ts +0 -43
- package/dist/infra/lib/evolution/LifecycleManager.d.ts.map +0 -1
- package/dist/infra/lib/evolution/LifecycleManager.js +0 -134
- package/dist/infra/lib/evolution/LifecycleManager.js.map +0 -1
- package/dist/infra/lib/evolution/ParityTester.d.ts +0 -74
- package/dist/infra/lib/evolution/ParityTester.d.ts.map +0 -1
- package/dist/infra/lib/evolution/ParityTester.js +0 -238
- package/dist/infra/lib/evolution/ParityTester.js.map +0 -1
- package/dist/infra/lib/evolution/RollbackManager.d.ts +0 -26
- package/dist/infra/lib/evolution/RollbackManager.d.ts.map +0 -1
- package/dist/infra/lib/evolution/RollbackManager.js +0 -133
- package/dist/infra/lib/evolution/RollbackManager.js.map +0 -1
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts +0 -81
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts.map +0 -1
- package/dist/infra/lib/evolution/SkillBenchmark.js +0 -233
- package/dist/infra/lib/evolution/SkillBenchmark.js.map +0 -1
- package/dist/infra/lib/evolution/SkillClassifier.d.ts +0 -35
- package/dist/infra/lib/evolution/SkillClassifier.d.ts.map +0 -1
- package/dist/infra/lib/evolution/SkillClassifier.js +0 -167
- package/dist/infra/lib/evolution/SkillClassifier.js.map +0 -1
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts +0 -102
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts.map +0 -1
- package/dist/infra/lib/evolution/SkillEvalRunner.js +0 -256
- package/dist/infra/lib/evolution/SkillEvalRunner.js.map +0 -1
- package/dist/infra/lib/evolution/SkillGapDetector.d.ts +0 -22
- package/dist/infra/lib/evolution/SkillGapDetector.d.ts.map +0 -1
- package/dist/infra/lib/evolution/SkillGapDetector.js +0 -81
- package/dist/infra/lib/evolution/SkillGapDetector.js.map +0 -1
- package/dist/infra/lib/evolution/TriggerCollisionDetector.d.ts +0 -27
- package/dist/infra/lib/evolution/TriggerCollisionDetector.d.ts.map +0 -1
- package/dist/infra/lib/evolution/TriggerCollisionDetector.js +0 -100
- package/dist/infra/lib/evolution/TriggerCollisionDetector.js.map +0 -1
- package/dist/infra/lib/evolution/UsageTracker.d.ts +0 -53
- package/dist/infra/lib/evolution/UsageTracker.d.ts.map +0 -1
- package/dist/infra/lib/evolution/UsageTracker.js +0 -157
- package/dist/infra/lib/evolution/UsageTracker.js.map +0 -1
- package/dist/infra/lib/evolution/generators/AgentGenerator.d.ts +0 -14
- package/dist/infra/lib/evolution/generators/AgentGenerator.d.ts.map +0 -1
- package/dist/infra/lib/evolution/generators/AgentGenerator.js +0 -55
- package/dist/infra/lib/evolution/generators/AgentGenerator.js.map +0 -1
- package/dist/infra/lib/evolution/generators/RuleGenerator.d.ts +0 -13
- package/dist/infra/lib/evolution/generators/RuleGenerator.d.ts.map +0 -1
- package/dist/infra/lib/evolution/generators/RuleGenerator.js +0 -52
- package/dist/infra/lib/evolution/generators/RuleGenerator.js.map +0 -1
- package/dist/infra/lib/evolution/generators/SkillGenerator.d.ts +0 -15
- package/dist/infra/lib/evolution/generators/SkillGenerator.d.ts.map +0 -1
- package/dist/infra/lib/evolution/generators/SkillGenerator.js +0 -73
- package/dist/infra/lib/evolution/generators/SkillGenerator.js.map +0 -1
- package/dist/infra/lib/evolution/index.d.ts +0 -39
- package/dist/infra/lib/evolution/index.d.ts.map +0 -1
- package/dist/infra/lib/evolution/index.js +0 -32
- package/dist/infra/lib/evolution/index.js.map +0 -1
- package/dist/infra/lib/figma/api.d.ts +0 -9
- package/dist/infra/lib/figma/api.d.ts.map +0 -1
- package/dist/infra/lib/figma/api.js +0 -73
- package/dist/infra/lib/figma/api.js.map +0 -1
- package/dist/infra/lib/figma/audit.d.ts +0 -37
- package/dist/infra/lib/figma/audit.d.ts.map +0 -1
- package/dist/infra/lib/figma/audit.js +0 -128
- package/dist/infra/lib/figma/audit.js.map +0 -1
- package/dist/infra/lib/figma/extract.d.ts +0 -37
- package/dist/infra/lib/figma/extract.d.ts.map +0 -1
- package/dist/infra/lib/figma/extract.js +0 -414
- package/dist/infra/lib/figma/extract.js.map +0 -1
- package/dist/infra/lib/figma/index.d.ts +0 -6
- package/dist/infra/lib/figma/index.d.ts.map +0 -1
- package/dist/infra/lib/figma/index.js +0 -4
- package/dist/infra/lib/figma/index.js.map +0 -1
- package/dist/infra/lib/figma/types.d.ts +0 -182
- package/dist/infra/lib/figma/types.d.ts.map +0 -1
- package/dist/infra/lib/figma/types.js +0 -13
- package/dist/infra/lib/figma/types.js.map +0 -1
- package/dist/infra/lib/gpt/auth.d.ts +0 -31
- package/dist/infra/lib/gpt/auth.d.ts.map +0 -1
- package/dist/infra/lib/gpt/auth.js +0 -178
- package/dist/infra/lib/gpt/auth.js.map +0 -1
- package/dist/infra/lib/gpt/chat.d.ts +0 -40
- package/dist/infra/lib/gpt/chat.d.ts.map +0 -1
- package/dist/infra/lib/gpt/chat.js +0 -514
- package/dist/infra/lib/gpt/chat.js.map +0 -1
- package/dist/infra/lib/gpt/constants.d.ts +0 -9
- package/dist/infra/lib/gpt/constants.d.ts.map +0 -1
- package/dist/infra/lib/gpt/constants.js +0 -13
- package/dist/infra/lib/gpt/constants.js.map +0 -1
- package/dist/infra/lib/gpt/embedding.d.ts +0 -15
- package/dist/infra/lib/gpt/embedding.d.ts.map +0 -1
- package/dist/infra/lib/gpt/embedding.js +0 -80
- package/dist/infra/lib/gpt/embedding.js.map +0 -1
- package/dist/infra/lib/gpt/index.d.ts +0 -17
- package/dist/infra/lib/gpt/index.d.ts.map +0 -1
- package/dist/infra/lib/gpt/index.js +0 -17
- package/dist/infra/lib/gpt/index.js.map +0 -1
- package/dist/infra/lib/gpt/oauth.d.ts +0 -39
- package/dist/infra/lib/gpt/oauth.d.ts.map +0 -1
- package/dist/infra/lib/gpt/oauth.js +0 -103
- package/dist/infra/lib/gpt/oauth.js.map +0 -1
- package/dist/infra/lib/gpt/orchestration.d.ts +0 -28
- package/dist/infra/lib/gpt/orchestration.d.ts.map +0 -1
- package/dist/infra/lib/gpt/orchestration.js +0 -64
- package/dist/infra/lib/gpt/orchestration.js.map +0 -1
- package/dist/infra/lib/gpt/specializations.d.ts +0 -12
- package/dist/infra/lib/gpt/specializations.d.ts.map +0 -1
- package/dist/infra/lib/gpt/specializations.js +0 -32
- package/dist/infra/lib/gpt/specializations.js.map +0 -1
- package/dist/infra/lib/gpt/types.d.ts +0 -80
- package/dist/infra/lib/gpt/types.d.ts.map +0 -1
- package/dist/infra/lib/gpt/types.js +0 -5
- package/dist/infra/lib/gpt/types.js.map +0 -1
- package/dist/infra/lib/llm/auth/ApiKeyManager.d.ts +0 -21
- package/dist/infra/lib/llm/auth/ApiKeyManager.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/ApiKeyManager.js +0 -43
- package/dist/infra/lib/llm/auth/ApiKeyManager.js.map +0 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts +0 -59
- package/dist/infra/lib/llm/auth/AuthProfileManager.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/AuthProfileManager.js +0 -248
- package/dist/infra/lib/llm/auth/AuthProfileManager.js.map +0 -1
- package/dist/infra/lib/llm/auth/ConfigManager.d.ts +0 -32
- package/dist/infra/lib/llm/auth/ConfigManager.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/ConfigManager.js +0 -66
- package/dist/infra/lib/llm/auth/ConfigManager.js.map +0 -1
- package/dist/infra/lib/llm/auth/ProfileFileLock.d.ts +0 -16
- package/dist/infra/lib/llm/auth/ProfileFileLock.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/ProfileFileLock.js +0 -99
- package/dist/infra/lib/llm/auth/ProfileFileLock.js.map +0 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.d.ts +0 -35
- package/dist/infra/lib/llm/auth/TokenRefresher.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/TokenRefresher.js +0 -217
- package/dist/infra/lib/llm/auth/TokenRefresher.js.map +0 -1
- package/dist/infra/lib/llm/auth/index.d.ts +0 -20
- package/dist/infra/lib/llm/auth/index.d.ts.map +0 -1
- package/dist/infra/lib/llm/auth/index.js +0 -28
- package/dist/infra/lib/llm/auth/index.js.map +0 -1
- package/dist/infra/lib/llm/index.d.ts +0 -10
- package/dist/infra/lib/llm/index.d.ts.map +0 -1
- package/dist/infra/lib/llm/index.js +0 -12
- package/dist/infra/lib/llm/index.js.map +0 -1
- package/dist/infra/lib/llm/timeout.d.ts +0 -34
- package/dist/infra/lib/llm/timeout.d.ts.map +0 -1
- package/dist/infra/lib/llm/timeout.js +0 -45
- package/dist/infra/lib/llm/timeout.js.map +0 -1
- package/dist/infra/lib/llm/types.d.ts +0 -96
- package/dist/infra/lib/llm/types.d.ts.map +0 -1
- package/dist/infra/lib/llm/types.js +0 -17
- package/dist/infra/lib/llm/types.js.map +0 -1
- package/dist/infra/lib/llm/utils/index.d.ts +0 -6
- package/dist/infra/lib/llm/utils/index.d.ts.map +0 -1
- package/dist/infra/lib/llm/utils/index.js +0 -6
- package/dist/infra/lib/llm/utils/index.js.map +0 -1
- package/dist/infra/lib/llm/utils/retry.d.ts +0 -25
- package/dist/infra/lib/llm/utils/retry.d.ts.map +0 -1
- package/dist/infra/lib/llm/utils/retry.js +0 -72
- package/dist/infra/lib/llm/utils/retry.js.map +0 -1
- package/dist/infra/lib/llm/utils/stream.d.ts +0 -13
- package/dist/infra/lib/llm/utils/stream.d.ts.map +0 -1
- package/dist/infra/lib/llm/utils/stream.js +0 -110
- package/dist/infra/lib/llm/utils/stream.js.map +0 -1
- package/dist/infra/lib/llm-availability.d.ts +0 -28
- package/dist/infra/lib/llm-availability.d.ts.map +0 -1
- package/dist/infra/lib/llm-availability.js +0 -69
- package/dist/infra/lib/llm-availability.js.map +0 -1
- package/dist/infra/lib/memory/IMemoryStorage.d.ts +0 -16
- package/dist/infra/lib/memory/IMemoryStorage.d.ts.map +0 -1
- package/dist/infra/lib/memory/IMemoryStorage.js +0 -7
- package/dist/infra/lib/memory/IMemoryStorage.js.map +0 -1
- package/dist/infra/lib/memory/InMemoryStorage.d.ts +0 -13
- package/dist/infra/lib/memory/InMemoryStorage.d.ts.map +0 -1
- package/dist/infra/lib/memory/InMemoryStorage.js +0 -44
- package/dist/infra/lib/memory/InMemoryStorage.js.map +0 -1
- package/dist/infra/lib/memory/KnowledgeGraph.d.ts +0 -34
- package/dist/infra/lib/memory/KnowledgeGraph.d.ts.map +0 -1
- package/dist/infra/lib/memory/KnowledgeGraph.js +0 -222
- package/dist/infra/lib/memory/KnowledgeGraph.js.map +0 -1
- package/dist/infra/lib/memory/MemorySearch.d.ts +0 -59
- package/dist/infra/lib/memory/MemorySearch.d.ts.map +0 -1
- package/dist/infra/lib/memory/MemorySearch.js +0 -330
- package/dist/infra/lib/memory/MemorySearch.js.map +0 -1
- package/dist/infra/lib/memory/MemoryStorage.d.ts +0 -133
- package/dist/infra/lib/memory/MemoryStorage.d.ts.map +0 -1
- package/dist/infra/lib/memory/MemoryStorage.js +0 -612
- package/dist/infra/lib/memory/MemoryStorage.js.map +0 -1
- package/dist/infra/lib/memory/ObservationStore.d.ts +0 -61
- package/dist/infra/lib/memory/ObservationStore.d.ts.map +0 -1
- package/dist/infra/lib/memory/ObservationStore.js +0 -119
- package/dist/infra/lib/memory/ObservationStore.js.map +0 -1
- package/dist/infra/lib/memory/ReflectionStore.d.ts +0 -60
- package/dist/infra/lib/memory/ReflectionStore.d.ts.map +0 -1
- package/dist/infra/lib/memory/ReflectionStore.js +0 -153
- package/dist/infra/lib/memory/ReflectionStore.js.map +0 -1
- package/dist/infra/lib/memory/SessionRAGRetriever.d.ts +0 -89
- package/dist/infra/lib/memory/SessionRAGRetriever.d.ts.map +0 -1
- package/dist/infra/lib/memory/SessionRAGRetriever.js +0 -348
- package/dist/infra/lib/memory/SessionRAGRetriever.js.map +0 -1
- package/dist/infra/lib/memory/SessionRAGStore.d.ts +0 -168
- package/dist/infra/lib/memory/SessionRAGStore.d.ts.map +0 -1
- package/dist/infra/lib/memory/SessionRAGStore.js +0 -763
- package/dist/infra/lib/memory/SessionRAGStore.js.map +0 -1
- package/dist/infra/lib/memory/SessionSummarizer.d.ts +0 -50
- package/dist/infra/lib/memory/SessionSummarizer.d.ts.map +0 -1
- package/dist/infra/lib/memory/SessionSummarizer.js +0 -157
- package/dist/infra/lib/memory/SessionSummarizer.js.map +0 -1
- package/dist/infra/lib/memory/index.d.ts +0 -15
- package/dist/infra/lib/memory/index.d.ts.map +0 -1
- package/dist/infra/lib/memory/index.js +0 -16
- package/dist/infra/lib/memory/index.js.map +0 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +0 -66
- package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +0 -1
- package/dist/infra/lib/telemetry/SkillTelemetry.js +0 -168
- package/dist/infra/lib/telemetry/SkillTelemetry.js.map +0 -1
- package/dist/infra/lib/telemetry/VibeSpan.d.ts +0 -20
- package/dist/infra/lib/telemetry/VibeSpan.d.ts.map +0 -1
- package/dist/infra/lib/telemetry/VibeSpan.js +0 -26
- package/dist/infra/lib/telemetry/VibeSpan.js.map +0 -1
- package/dist/infra/lib/ui-ux/Bm25Engine.d.ts +0 -67
- package/dist/infra/lib/ui-ux/Bm25Engine.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/Bm25Engine.js +0 -153
- package/dist/infra/lib/ui-ux/Bm25Engine.js.map +0 -1
- package/dist/infra/lib/ui-ux/CsvDataLoader.d.ts +0 -57
- package/dist/infra/lib/ui-ux/CsvDataLoader.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/CsvDataLoader.js +0 -158
- package/dist/infra/lib/ui-ux/CsvDataLoader.js.map +0 -1
- package/dist/infra/lib/ui-ux/DesignSystemGenerator.d.ts +0 -119
- package/dist/infra/lib/ui-ux/DesignSystemGenerator.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/DesignSystemGenerator.js +0 -519
- package/dist/infra/lib/ui-ux/DesignSystemGenerator.js.map +0 -1
- package/dist/infra/lib/ui-ux/SearchService.d.ts +0 -64
- package/dist/infra/lib/ui-ux/SearchService.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/SearchService.js +0 -240
- package/dist/infra/lib/ui-ux/SearchService.js.map +0 -1
- package/dist/infra/lib/ui-ux/UiUxWorkflow.d.ts +0 -58
- package/dist/infra/lib/ui-ux/UiUxWorkflow.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/UiUxWorkflow.js +0 -181
- package/dist/infra/lib/ui-ux/UiUxWorkflow.js.map +0 -1
- package/dist/infra/lib/ui-ux/constants.d.ts +0 -39
- package/dist/infra/lib/ui-ux/constants.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/constants.js +0 -203
- package/dist/infra/lib/ui-ux/constants.js.map +0 -1
- package/dist/infra/lib/ui-ux/index.d.ts +0 -11
- package/dist/infra/lib/ui-ux/index.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/index.js +0 -11
- package/dist/infra/lib/ui-ux/index.js.map +0 -1
- package/dist/infra/lib/ui-ux/types.d.ts +0 -243
- package/dist/infra/lib/ui-ux/types.d.ts.map +0 -1
- package/dist/infra/lib/ui-ux/types.js +0 -7
- package/dist/infra/lib/ui-ux/types.js.map +0 -1
- package/dist/infra/lib/utils.d.ts +0 -66
- package/dist/infra/lib/utils.d.ts.map +0 -1
- package/dist/infra/lib/utils.js +0 -152
- package/dist/infra/lib/utils.js.map +0 -1
- package/dist/infra/lib/zai/client.d.ts +0 -30
- package/dist/infra/lib/zai/client.d.ts.map +0 -1
- package/dist/infra/lib/zai/client.js +0 -124
- package/dist/infra/lib/zai/client.js.map +0 -1
- package/dist/infra/lib/zai/index.d.ts +0 -11
- package/dist/infra/lib/zai/index.d.ts.map +0 -1
- package/dist/infra/lib/zai/index.js +0 -10
- package/dist/infra/lib/zai/index.js.map +0 -1
- package/dist/infra/lib/zai/orchestration.d.ts +0 -15
- package/dist/infra/lib/zai/orchestration.d.ts.map +0 -1
- package/dist/infra/lib/zai/orchestration.js +0 -54
- package/dist/infra/lib/zai/orchestration.js.map +0 -1
- package/dist/infra/lib/zai/types.d.ts +0 -40
- package/dist/infra/lib/zai/types.d.ts.map +0 -1
- package/dist/infra/lib/zai/types.js +0 -5
- package/dist/infra/lib/zai/types.js.map +0 -1
- package/dist/infra/types/tool.d.ts +0 -71
- package/dist/infra/types/tool.d.ts.map +0 -1
- package/dist/infra/types/tool.js +0 -3
- package/dist/infra/types/tool.js.map +0 -1
- package/dist/tools/convention/analyzeComplexity.d.ts +0 -9
- package/dist/tools/convention/analyzeComplexity.d.ts.map +0 -1
- package/dist/tools/convention/analyzeComplexity.js +0 -330
- package/dist/tools/convention/analyzeComplexity.js.map +0 -1
- package/dist/tools/convention/applyQualityRules.d.ts +0 -7
- package/dist/tools/convention/applyQualityRules.d.ts.map +0 -1
- package/dist/tools/convention/applyQualityRules.js +0 -107
- package/dist/tools/convention/applyQualityRules.js.map +0 -1
- package/dist/tools/convention/checkCouplingCohesion.d.ts +0 -8
- package/dist/tools/convention/checkCouplingCohesion.d.ts.map +0 -1
- package/dist/tools/convention/checkCouplingCohesion.js +0 -224
- package/dist/tools/convention/checkCouplingCohesion.js.map +0 -1
- package/dist/tools/convention/index.d.ts +0 -9
- package/dist/tools/convention/index.d.ts.map +0 -1
- package/dist/tools/convention/index.js +0 -9
- package/dist/tools/convention/index.js.map +0 -1
- package/dist/tools/convention/suggestImprovements.d.ts +0 -8
- package/dist/tools/convention/suggestImprovements.d.ts.map +0 -1
- package/dist/tools/convention/suggestImprovements.js +0 -262
- package/dist/tools/convention/suggestImprovements.js.map +0 -1
- package/dist/tools/convention/validateCodeQuality.d.ts +0 -41
- package/dist/tools/convention/validateCodeQuality.d.ts.map +0 -1
- package/dist/tools/convention/validateCodeQuality.js +0 -327
- package/dist/tools/convention/validateCodeQuality.js.map +0 -1
- package/dist/tools/dispatch/costGate.d.ts +0 -59
- package/dist/tools/dispatch/costGate.d.ts.map +0 -1
- package/dist/tools/dispatch/costGate.js +0 -85
- package/dist/tools/dispatch/costGate.js.map +0 -1
- package/dist/tools/dispatch/deterministicSignals.d.ts +0 -61
- package/dist/tools/dispatch/deterministicSignals.d.ts.map +0 -1
- package/dist/tools/dispatch/deterministicSignals.js +0 -136
- package/dist/tools/dispatch/deterministicSignals.js.map +0 -1
- package/dist/tools/dispatch/index.d.ts +0 -5
- package/dist/tools/dispatch/index.d.ts.map +0 -1
- package/dist/tools/dispatch/index.js +0 -3
- package/dist/tools/dispatch/index.js.map +0 -1
- package/dist/tools/dispatch/vibePaths.d.ts +0 -7
- package/dist/tools/dispatch/vibePaths.d.ts.map +0 -1
- package/dist/tools/dispatch/vibePaths.js +0 -35
- package/dist/tools/dispatch/vibePaths.js.map +0 -1
- package/dist/tools/docs/agentsMd.d.ts +0 -45
- package/dist/tools/docs/agentsMd.d.ts.map +0 -1
- package/dist/tools/docs/agentsMd.js +0 -51
- package/dist/tools/docs/agentsMd.js.map +0 -1
- package/dist/tools/docs/cacheSurface.d.ts +0 -37
- package/dist/tools/docs/cacheSurface.d.ts.map +0 -1
- package/dist/tools/docs/cacheSurface.js +0 -98
- package/dist/tools/docs/cacheSurface.js.map +0 -1
- package/dist/tools/evolution/dashboardTools.d.ts +0 -26
- package/dist/tools/evolution/dashboardTools.d.ts.map +0 -1
- package/dist/tools/evolution/dashboardTools.js +0 -216
- package/dist/tools/evolution/dashboardTools.js.map +0 -1
- package/dist/tools/evolution/index.d.ts +0 -3
- package/dist/tools/evolution/index.d.ts.map +0 -1
- package/dist/tools/evolution/index.js +0 -6
- package/dist/tools/evolution/index.js.map +0 -1
- package/dist/tools/evolution/insightTools.d.ts +0 -21
- package/dist/tools/evolution/insightTools.d.ts.map +0 -1
- package/dist/tools/evolution/insightTools.js +0 -184
- package/dist/tools/evolution/insightTools.js.map +0 -1
- package/dist/tools/index.d.ts +0 -75
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -88
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/interaction/askUser.d.ts +0 -113
- package/dist/tools/interaction/askUser.d.ts.map +0 -1
- package/dist/tools/interaction/askUser.js +0 -502
- package/dist/tools/interaction/askUser.js.map +0 -1
- package/dist/tools/interaction/index.d.ts +0 -6
- package/dist/tools/interaction/index.d.ts.map +0 -1
- package/dist/tools/interaction/index.js +0 -15
- package/dist/tools/interaction/index.js.map +0 -1
- package/dist/tools/loop/index.d.ts +0 -6
- package/dist/tools/loop/index.d.ts.map +0 -1
- package/dist/tools/loop/index.js +0 -5
- package/dist/tools/loop/index.js.map +0 -1
- package/dist/tools/loop/validateLoopDefinition.d.ts +0 -67
- package/dist/tools/loop/validateLoopDefinition.d.ts.map +0 -1
- package/dist/tools/loop/validateLoopDefinition.js +0 -281
- package/dist/tools/loop/validateLoopDefinition.js.map +0 -1
- package/dist/tools/memory/addObservation.d.ts +0 -16
- package/dist/tools/memory/addObservation.d.ts.map +0 -1
- package/dist/tools/memory/addObservation.js +0 -71
- package/dist/tools/memory/addObservation.js.map +0 -1
- package/dist/tools/memory/autoSaveContext.d.ts +0 -11
- package/dist/tools/memory/autoSaveContext.d.ts.map +0 -1
- package/dist/tools/memory/autoSaveContext.js +0 -71
- package/dist/tools/memory/autoSaveContext.js.map +0 -1
- package/dist/tools/memory/createMemoryTimeline.d.ts +0 -13
- package/dist/tools/memory/createMemoryTimeline.d.ts.map +0 -1
- package/dist/tools/memory/createMemoryTimeline.js +0 -193
- package/dist/tools/memory/createMemoryTimeline.js.map +0 -1
- package/dist/tools/memory/deleteMemory.d.ts +0 -7
- package/dist/tools/memory/deleteMemory.d.ts.map +0 -1
- package/dist/tools/memory/deleteMemory.js +0 -45
- package/dist/tools/memory/deleteMemory.js.map +0 -1
- package/dist/tools/memory/getMemoryGraph.d.ts +0 -12
- package/dist/tools/memory/getMemoryGraph.d.ts.map +0 -1
- package/dist/tools/memory/getMemoryGraph.js +0 -204
- package/dist/tools/memory/getMemoryGraph.js.map +0 -1
- package/dist/tools/memory/getSessionContext.d.ts +0 -14
- package/dist/tools/memory/getSessionContext.d.ts.map +0 -1
- package/dist/tools/memory/getSessionContext.js +0 -252
- package/dist/tools/memory/getSessionContext.js.map +0 -1
- package/dist/tools/memory/index.d.ts +0 -25
- package/dist/tools/memory/index.d.ts.map +0 -1
- package/dist/tools/memory/index.js +0 -27
- package/dist/tools/memory/index.js.map +0 -1
- package/dist/tools/memory/linkMemories.d.ts +0 -13
- package/dist/tools/memory/linkMemories.d.ts.map +0 -1
- package/dist/tools/memory/linkMemories.js +0 -116
- package/dist/tools/memory/linkMemories.js.map +0 -1
- package/dist/tools/memory/listMemories.d.ts +0 -8
- package/dist/tools/memory/listMemories.d.ts.map +0 -1
- package/dist/tools/memory/listMemories.js +0 -48
- package/dist/tools/memory/listMemories.js.map +0 -1
- package/dist/tools/memory/manageGoals.d.ts +0 -11
- package/dist/tools/memory/manageGoals.d.ts.map +0 -1
- package/dist/tools/memory/manageGoals.js +0 -152
- package/dist/tools/memory/manageGoals.js.map +0 -1
- package/dist/tools/memory/prioritizeMemory.d.ts +0 -11
- package/dist/tools/memory/prioritizeMemory.d.ts.map +0 -1
- package/dist/tools/memory/prioritizeMemory.js +0 -115
- package/dist/tools/memory/prioritizeMemory.js.map +0 -1
- package/dist/tools/memory/recallMemory.d.ts +0 -8
- package/dist/tools/memory/recallMemory.d.ts.map +0 -1
- package/dist/tools/memory/recallMemory.js +0 -50
- package/dist/tools/memory/recallMemory.js.map +0 -1
- package/dist/tools/memory/reflectionTools.d.ts +0 -27
- package/dist/tools/memory/reflectionTools.d.ts.map +0 -1
- package/dist/tools/memory/reflectionTools.js +0 -180
- package/dist/tools/memory/reflectionTools.js.map +0 -1
- package/dist/tools/memory/restoreSessionContext.d.ts +0 -9
- package/dist/tools/memory/restoreSessionContext.d.ts.map +0 -1
- package/dist/tools/memory/restoreSessionContext.js +0 -75
- package/dist/tools/memory/restoreSessionContext.js.map +0 -1
- package/dist/tools/memory/retrieveSessionContext.d.ts +0 -9
- package/dist/tools/memory/retrieveSessionContext.d.ts.map +0 -1
- package/dist/tools/memory/retrieveSessionContext.js +0 -140
- package/dist/tools/memory/retrieveSessionContext.js.map +0 -1
- package/dist/tools/memory/saveMemory.d.ts +0 -9
- package/dist/tools/memory/saveMemory.d.ts.map +0 -1
- package/dist/tools/memory/saveMemory.js +0 -45
- package/dist/tools/memory/saveMemory.js.map +0 -1
- package/dist/tools/memory/saveSessionItem.d.ts +0 -26
- package/dist/tools/memory/saveSessionItem.d.ts.map +0 -1
- package/dist/tools/memory/saveSessionItem.js +0 -218
- package/dist/tools/memory/saveSessionItem.js.map +0 -1
- package/dist/tools/memory/searchMemories.d.ts +0 -8
- package/dist/tools/memory/searchMemories.d.ts.map +0 -1
- package/dist/tools/memory/searchMemories.js +0 -43
- package/dist/tools/memory/searchMemories.js.map +0 -1
- package/dist/tools/memory/searchMemoriesAdvanced.d.ts +0 -15
- package/dist/tools/memory/searchMemoriesAdvanced.d.ts.map +0 -1
- package/dist/tools/memory/searchMemoriesAdvanced.js +0 -168
- package/dist/tools/memory/searchMemoriesAdvanced.js.map +0 -1
- package/dist/tools/memory/searchObservations.d.ts +0 -12
- package/dist/tools/memory/searchObservations.d.ts.map +0 -1
- package/dist/tools/memory/searchObservations.js +0 -67
- package/dist/tools/memory/searchObservations.js.map +0 -1
- package/dist/tools/memory/startSession.d.ts +0 -9
- package/dist/tools/memory/startSession.d.ts.map +0 -1
- package/dist/tools/memory/startSession.js +0 -238
- package/dist/tools/memory/startSession.js.map +0 -1
- package/dist/tools/memory/updateMemory.d.ts +0 -9
- package/dist/tools/memory/updateMemory.d.ts.map +0 -1
- package/dist/tools/memory/updateMemory.js +0 -52
- package/dist/tools/memory/updateMemory.js.map +0 -1
- package/dist/tools/release/releaseNotes.d.ts +0 -43
- package/dist/tools/release/releaseNotes.d.ts.map +0 -1
- package/dist/tools/release/releaseNotes.js +0 -151
- package/dist/tools/release/releaseNotes.js.map +0 -1
- package/dist/tools/spec/executionPacket.d.ts +0 -102
- package/dist/tools/spec/executionPacket.d.ts.map +0 -1
- package/dist/tools/spec/executionPacket.js +0 -396
- package/dist/tools/spec/executionPacket.js.map +0 -1
- package/dist/tools/spec/index.d.ts +0 -18
- package/dist/tools/spec/index.d.ts.map +0 -1
- package/dist/tools/spec/index.js +0 -19
- package/dist/tools/spec/index.js.map +0 -1
- package/dist/tools/spec/prdParser.d.ts +0 -42
- package/dist/tools/spec/prdParser.d.ts.map +0 -1
- package/dist/tools/spec/prdParser.js +0 -293
- package/dist/tools/spec/prdParser.js.map +0 -1
- package/dist/tools/spec/requirementId.d.ts +0 -64
- package/dist/tools/spec/requirementId.d.ts.map +0 -1
- package/dist/tools/spec/requirementId.js +0 -160
- package/dist/tools/spec/requirementId.js.map +0 -1
- package/dist/tools/spec/specGenerator.d.ts +0 -50
- package/dist/tools/spec/specGenerator.d.ts.map +0 -1
- package/dist/tools/spec/specGenerator.js +0 -505
- package/dist/tools/spec/specGenerator.js.map +0 -1
- package/dist/tools/spec/specLifecycle.d.ts +0 -40
- package/dist/tools/spec/specLifecycle.d.ts.map +0 -1
- package/dist/tools/spec/specLifecycle.js +0 -147
- package/dist/tools/spec/specLifecycle.js.map +0 -1
- package/dist/tools/spec/traceabilityMatrix.d.ts +0 -56
- package/dist/tools/spec/traceabilityMatrix.d.ts.map +0 -1
- package/dist/tools/spec/traceabilityMatrix.js +0 -479
- package/dist/tools/spec/traceabilityMatrix.js.map +0 -1
- package/dist/tools/spec/validateSpecDocument.d.ts +0 -30
- package/dist/tools/spec/validateSpecDocument.d.ts.map +0 -1
- package/dist/tools/spec/validateSpecDocument.js +0 -280
- package/dist/tools/spec/validateSpecDocument.js.map +0 -1
- package/dist/tools/time/getCurrentTime.d.ts +0 -7
- package/dist/tools/time/getCurrentTime.d.ts.map +0 -1
- package/dist/tools/time/getCurrentTime.js +0 -58
- package/dist/tools/time/getCurrentTime.js.map +0 -1
- package/dist/tools/time/index.d.ts +0 -5
- package/dist/tools/time/index.d.ts.map +0 -1
- package/dist/tools/time/index.js +0 -5
- package/dist/tools/time/index.js.map +0 -1
- package/dist/tools/ui/generateDesignSystem.d.ts +0 -7
- package/dist/tools/ui/generateDesignSystem.d.ts.map +0 -1
- package/dist/tools/ui/generateDesignSystem.js +0 -70
- package/dist/tools/ui/generateDesignSystem.js.map +0 -1
- package/dist/tools/ui/index.d.ts +0 -9
- package/dist/tools/ui/index.d.ts.map +0 -1
- package/dist/tools/ui/index.js +0 -9
- package/dist/tools/ui/index.js.map +0 -1
- package/dist/tools/ui/persistDesignSystem.d.ts +0 -8
- package/dist/tools/ui/persistDesignSystem.d.ts.map +0 -1
- package/dist/tools/ui/persistDesignSystem.js +0 -77
- package/dist/tools/ui/persistDesignSystem.js.map +0 -1
- package/dist/tools/ui/previewUiAscii.d.ts +0 -14
- package/dist/tools/ui/previewUiAscii.d.ts.map +0 -1
- package/dist/tools/ui/previewUiAscii.js +0 -237
- package/dist/tools/ui/previewUiAscii.js.map +0 -1
- package/dist/tools/ui/searchUiUx.d.ts +0 -8
- package/dist/tools/ui/searchUiUx.d.ts.map +0 -1
- package/dist/tools/ui/searchUiUx.js +0 -82
- package/dist/tools/ui/searchUiUx.js.map +0 -1
- package/dist/tools/ui/searchUiUxStack.d.ts +0 -8
- package/dist/tools/ui/searchUiUxStack.d.ts.map +0 -1
- package/dist/tools/ui/searchUiUxStack.js +0 -83
- package/dist/tools/ui/searchUiUxStack.js.map +0 -1
- package/hooks/antigravity-hooks.json +0 -73
- package/hooks/claude-plugin-hooks.json +0 -123
- package/hooks/hooks.json +0 -128
- package/hooks/plugin-hooks.json +0 -123
- package/hooks/scripts/auto-commit.js +0 -123
- package/hooks/scripts/auto-format.js +0 -125
- package/hooks/scripts/auto-test.js +0 -222
- package/hooks/scripts/clone-extract.js +0 -1306
- package/hooks/scripts/clone-merge-responsive.js +0 -184
- package/hooks/scripts/clone-refine.js +0 -642
- package/hooks/scripts/clone-spec.js +0 -262
- package/hooks/scripts/clone-to-scss.js +0 -275
- package/hooks/scripts/clone-validate.js +0 -286
- package/hooks/scripts/code-check.js +0 -347
- package/hooks/scripts/codex-detect.js +0 -46
- package/hooks/scripts/codex-hook-adapter.js +0 -183
- package/hooks/scripts/codex-notify.js +0 -49
- package/hooks/scripts/codex-review-gate.js +0 -84
- package/hooks/scripts/command-log.js +0 -42
- package/hooks/scripts/context-save.js +0 -342
- package/hooks/scripts/devlog-gen.js +0 -230
- package/hooks/scripts/figma-extract.js +0 -885
- package/hooks/scripts/figma-refine.js +0 -315
- package/hooks/scripts/figma-to-scss.js +0 -401
- package/hooks/scripts/figma-validate.js +0 -353
- package/hooks/scripts/hook-payload.js +0 -64
- package/hooks/scripts/lib/anchor.js +0 -99
- package/hooks/scripts/lib/console-allow.js +0 -66
- package/hooks/scripts/lib/curation-index.js +0 -101
- package/hooks/scripts/lib/dispatcher.js +0 -204
- package/hooks/scripts/lib/gates.js +0 -138
- package/hooks/scripts/lib/glob.js +0 -32
- package/hooks/scripts/lib/hook-context.js +0 -147
- package/hooks/scripts/lib/inbox.js +0 -68
- package/hooks/scripts/lib/loop-ledger.js +0 -217
- package/hooks/scripts/lib/pr-gate-runner.js +0 -62
- package/hooks/scripts/lib/run-ledger.js +0 -271
- package/hooks/scripts/lib/scope-from-spec.js +0 -340
- package/hooks/scripts/llm-orchestrate.js +0 -699
- package/hooks/scripts/loop-ledger.js +0 -159
- package/hooks/scripts/plugin-hook-entry.js +0 -57
- package/hooks/scripts/post-edit-dispatcher.js +0 -101
- package/hooks/scripts/post-edit.js +0 -55
- package/hooks/scripts/pr-test-gate.js +0 -23
- package/hooks/scripts/pre-tool-dispatcher.js +0 -46
- package/hooks/scripts/pre-tool-guard.js +0 -262
- package/hooks/scripts/prompt-dispatcher.js +0 -237
- package/hooks/scripts/recipe-extractor.js +0 -249
- package/hooks/scripts/scope-guard.js +0 -107
- package/hooks/scripts/sentinel-guard.js +0 -115
- package/hooks/scripts/session-start.js +0 -229
- package/hooks/scripts/step-counter.js +0 -335
- package/hooks/scripts/stop-dispatcher.js +0 -56
- package/hooks/scripts/stop-notify.js +0 -209
- package/hooks/scripts/utils.js +0 -410
- package/hooks/scripts/verify-ledger.js +0 -42
- package/languages/csharp-unity.md +0 -515
- package/languages/dart-flutter.md +0 -510
- package/languages/gdscript-godot.md +0 -470
- package/languages/go.md +0 -397
- package/languages/java-spring.md +0 -587
- package/languages/kotlin-android.md +0 -492
- package/languages/python-django.md +0 -372
- package/languages/python-fastapi.md +0 -387
- package/languages/ruby-rails.md +0 -489
- package/languages/rust.md +0 -426
- package/languages/swift-ios.md +0 -517
- package/languages/typescript-angular.md +0 -433
- package/languages/typescript-astro.md +0 -416
- package/languages/typescript-electron.md +0 -406
- package/languages/typescript-nestjs.md +0 -524
- package/languages/typescript-nextjs.md +0 -442
- package/languages/typescript-node.md +0 -376
- package/languages/typescript-nuxt.md +0 -522
- package/languages/typescript-react-native.md +0 -447
- package/languages/typescript-react.md +0 -526
- package/languages/typescript-svelte.md +0 -407
- package/languages/typescript-tauri.md +0 -365
- package/languages/typescript-vue.md +0 -354
- package/skills/vibe/references/routing-examples.md +0 -85
- package/skills/vibe.agents-md/SKILL.md +0 -172
- package/skills/vibe.agents-md/rubrics/what-to-keep.md +0 -49
- package/skills/vibe.agents-md/templates/agents-md.md +0 -36
- package/skills/vibe.agents-md/templates/claude-md.md +0 -54
- package/skills/vibe.analyze/SKILL.md +0 -105
- package/skills/vibe.analyze/references/mode1-feature.md +0 -81
- package/skills/vibe.analyze/references/mode2-document.md +0 -50
- package/skills/vibe.analyze/references/mode3-website.md +0 -47
- package/skills/vibe.analyze/references/mode4-quality.md +0 -35
- package/skills/vibe.analyze/references/output-templates.md +0 -188
- package/skills/vibe.analyze/references/quality-gate.md +0 -93
- package/skills/vibe.brand-assets/SKILL.md +0 -148
- package/skills/vibe.brand-assets/references/mobile-assets.md +0 -6
- package/skills/vibe.brand-assets/rubrics/asset-checklist.md +0 -98
- package/skills/vibe.brand-assets/templates/brand-guide.md +0 -161
- package/skills/vibe.capability-loop/SKILL.md +0 -208
- package/skills/vibe.capability-loop/agents/capability-designer.md +0 -61
- package/skills/vibe.capability-loop/agents/failure-analyst.md +0 -55
- package/skills/vibe.capability-loop/agents/implementer.md +0 -50
- package/skills/vibe.capability-loop/agents/tester.md +0 -53
- package/skills/vibe.capability-loop/references/escalate.md +0 -86
- package/skills/vibe.capability-loop/templates/capability-spec.md +0 -118
- package/skills/vibe.capability-loop/templates/failure-analysis.md +0 -118
- package/skills/vibe.chub-usage/SKILL.md +0 -11
- package/skills/vibe.clone/SKILL.md +0 -136
- package/skills/vibe.clone/references/capture-rules.md +0 -48
- package/skills/vibe.clone/references/legal-and-error-recovery.md +0 -40
- package/skills/vibe.clone/references/phase-commands.md +0 -118
- package/skills/vibe.clone/references/refine-rules.md +0 -61
- package/skills/vibe.clone/references/scaffold-phases.md +0 -59
- package/skills/vibe.clone/references/setup-and-layout.md +0 -64
- package/skills/vibe.clone/references/verification-loops.md +0 -67
- package/skills/vibe.commerce-patterns/SKILL.md +0 -65
- package/skills/vibe.commerce-patterns/rubrics/checkout-flow.md +0 -48
- package/skills/vibe.commerce-patterns/templates/product-schema.md +0 -85
- package/skills/vibe.commit-push-pr/SKILL.md +0 -83
- package/skills/vibe.commit-push-pr/agents/change-analyzer.md +0 -55
- package/skills/vibe.commit-push-pr/agents/message-writer.md +0 -50
- package/skills/vibe.commit-push-pr/agents/pr-writer.md +0 -58
- package/skills/vibe.commit-push-pr/agents/reviewer.md +0 -52
- package/skills/vibe.commit-push-pr/rubrics/commit-message.md +0 -73
- package/skills/vibe.commit-push-pr/templates/pr-body.md +0 -63
- package/skills/vibe.context7-usage/SKILL.md +0 -11
- package/skills/vibe.continue/SKILL.md +0 -42
- package/skills/vibe.continue/agents/context-summarizer.md +0 -51
- package/skills/vibe.continue/agents/document-writer.md +0 -63
- package/skills/vibe.continue/agents/state-collector.md +0 -53
- package/skills/vibe.continue/agents/verifier.md +0 -48
- package/skills/vibe.continue/references/handoff-completeness.md +0 -62
- package/skills/vibe.continue/references/handoff.md +0 -142
- package/skills/vibe.contract/SKILL.md +0 -232
- package/skills/vibe.create-prd/SKILL.md +0 -98
- package/skills/vibe.create-prd/agents/edge-case-finder.md +0 -48
- package/skills/vibe.create-prd/agents/prioritizer.md +0 -60
- package/skills/vibe.create-prd/agents/requirements-writer.md +0 -48
- package/skills/vibe.create-prd/agents/researcher.md +0 -55
- package/skills/vibe.create-prd/agents/reviewer.md +0 -54
- package/skills/vibe.create-prd/frameworks/jobs-to-be-done.md +0 -96
- package/skills/vibe.create-prd/frameworks/rice-scoring.md +0 -97
- package/skills/vibe.create-prd/orchestrator.md +0 -72
- package/skills/vibe.create-prd/rubrics/completeness.md +0 -58
- package/skills/vibe.create-prd/templates/prd.md +0 -139
- package/skills/vibe.design/SKILL.md +0 -236
- package/skills/vibe.design/heuristics/code-extract.md +0 -100
- package/skills/vibe.design/references/README.md +0 -39
- package/skills/vibe.design/references/brand-personality.md +0 -73
- package/skills/vibe.design/references/design-context.md +0 -184
- package/skills/vibe.design/references/ui-preview.md +0 -20
- package/skills/vibe.design/templates/DESIGN.md.template +0 -100
- package/skills/vibe.design/templates/design-context.json +0 -36
- package/skills/vibe.design-refine/SKILL.md +0 -147
- package/skills/vibe.design-refine/rubrics/polish-checklist.md +0 -68
- package/skills/vibe.design-refine/rubrics/token-naming.md +0 -117
- package/skills/vibe.design-refine/templates/design-system.md +0 -132
- package/skills/vibe.design-refine/templates/polish-report.md +0 -64
- package/skills/vibe.design-refine/templates/token-audit.md +0 -89
- package/skills/vibe.design-review/SKILL.md +0 -150
- package/skills/vibe.design-review/agents/a11y-auditor.md +0 -43
- package/skills/vibe.design-review/agents/performance-auditor.md +0 -46
- package/skills/vibe.design-review/agents/responsive-auditor.md +0 -46
- package/skills/vibe.design-review/agents/scorer.md +0 -47
- package/skills/vibe.design-review/agents/slop-detector.md +0 -47
- package/skills/vibe.design-review/frameworks/core-web-vitals.md +0 -107
- package/skills/vibe.design-review/frameworks/wcag-checklist.md +0 -64
- package/skills/vibe.design-review/orchestrator.md +0 -66
- package/skills/vibe.design-review/rubrics/ai-slop-patterns.md +0 -83
- package/skills/vibe.design-review/rubrics/scoring.md +0 -63
- package/skills/vibe.design-review/rubrics/ux-heuristics.md +0 -143
- package/skills/vibe.design-review/templates/critique-report.md +0 -86
- package/skills/vibe.design-review/templates/report.md +0 -88
- package/skills/vibe.design-teach/SKILL.md +0 -11
- package/skills/vibe.devlog/SKILL.md +0 -147
- package/skills/vibe.devlog/references/auto-push.md +0 -10
- package/skills/vibe.docs/SKILL.md +0 -121
- package/skills/vibe.docs/references/agent.md +0 -59
- package/skills/vibe.docs/references/api-docs-changelog.md +0 -34
- package/skills/vibe.docs/references/arch.md +0 -28
- package/skills/vibe.docs/references/codemaps-output.md +0 -23
- package/skills/vibe.docs/references/codemaps.md +0 -17
- package/skills/vibe.docs/references/diagram-spec.md +0 -34
- package/skills/vibe.docs/references/diagram.md +0 -24
- package/skills/vibe.docs/references/guide.md +0 -23
- package/skills/vibe.docs/references/readme.md +0 -45
- package/skills/vibe.docs/references/release.md +0 -31
- package/skills/vibe.docs/templates/architecture.md +0 -80
- package/skills/vibe.docs/templates/behavioral-principles.md +0 -47
- package/skills/vibe.docs/templates/readme.md +0 -84
- package/skills/vibe.docs/templates/release-notes.md +0 -74
- package/skills/vibe.documentation-provider/SKILL.md +0 -22
- package/skills/vibe.documentation-provider/references/chub.md +0 -141
- package/skills/vibe.documentation-provider/references/context7-when-to-use.md +0 -50
- package/skills/vibe.documentation-provider/references/context7.md +0 -107
- package/skills/vibe.e2e-commerce/SKILL.md +0 -63
- package/skills/vibe.e2e-commerce/templates/test-scenarios.md +0 -170
- package/skills/vibe.educational-content/SKILL.md +0 -164
- package/skills/vibe.educational-content/references/learning-design.md +0 -81
- package/skills/vibe.educational-content/references/output-patterns.md +0 -109
- package/skills/vibe.educational-content/references/source-method.md +0 -40
- package/skills/vibe.event/SKILL.md +0 -66
- package/skills/vibe.event/references/comms.md +0 -173
- package/skills/vibe.event/references/contingency.md +0 -85
- package/skills/vibe.event/references/d-day-checklist-template.md +0 -65
- package/skills/vibe.event/references/email-invite-template.md +0 -99
- package/skills/vibe.event/references/event-plan-template.md +0 -91
- package/skills/vibe.event/references/operations.md +0 -208
- package/skills/vibe.event/references/orchestration-legacy.md +0 -97
- package/skills/vibe.event/references/planning.md +0 -145
- package/skills/vibe.event/references/sns-post-template.md +0 -133
- package/skills/vibe.event/references/timeline.md +0 -70
- package/skills/vibe.event-comms/SKILL.md +0 -11
- package/skills/vibe.event-ops/SKILL.md +0 -11
- package/skills/vibe.event-planning/SKILL.md +0 -11
- package/skills/vibe.figma/SKILL.md +0 -173
- package/skills/vibe.figma/references/branch-phases.md +0 -113
- package/skills/vibe.figma/references/branch1-read-convention.md +0 -82
- package/skills/vibe.figma/references/branch2-read-standalone.md +0 -69
- package/skills/vibe.figma/references/branch3-write.md +0 -122
- package/skills/vibe.figma/references/core-implementation.md +0 -453
- package/skills/vibe.figma/references/state-schema.md +0 -42
- package/skills/vibe.figma/references/step-algorithms.md +0 -204
- package/skills/vibe.figma/rubrics/conversion-rules.md +0 -141
- package/skills/vibe.figma/rubrics/css-mapping.md +0 -125
- package/skills/vibe.figma/rubrics/extraction-checklist.md +0 -51
- package/skills/vibe.figma/rubrics/image-rules.md +0 -157
- package/skills/vibe.figma/templates/component-index.md +0 -126
- package/skills/vibe.figma/templates/component-spec.md +0 -168
- package/skills/vibe.figma/templates/component.md +0 -140
- package/skills/vibe.figma/templates/figma-handoff.md +0 -100
- package/skills/vibe.figma/templates/remapped-tree.md +0 -277
- package/skills/vibe.git-worktree/SKILL.md +0 -70
- package/skills/vibe.git-worktree/references/troubleshooting.md +0 -9
- package/skills/vibe.git-worktree/rubrics/when-to-use.md +0 -55
- package/skills/vibe.harness/SKILL.md +0 -144
- package/skills/vibe.harness/references/report-template.md +0 -46
- package/skills/vibe.image/SKILL.md +0 -77
- package/skills/vibe.image/references/image-generation-examples.md +0 -39
- package/skills/vibe.llm/SKILL.md +0 -57
- package/skills/vibe.loop/SKILL.md +0 -147
- package/skills/vibe.loop/references/install-adapters.md +0 -25
- package/skills/vibe.parallel-research/SKILL.md +0 -92
- package/skills/vibe.parallel-research/agents/best-practices.md +0 -43
- package/skills/vibe.parallel-research/agents/codebase-patterns.md +0 -46
- package/skills/vibe.parallel-research/agents/framework-docs.md +0 -45
- package/skills/vibe.parallel-research/agents/security-advisory.md +0 -46
- package/skills/vibe.parallel-research/agents/synthesizer.md +0 -57
- package/skills/vibe.parallel-research/experts/best-practices.md +0 -50
- package/skills/vibe.parallel-research/experts/codebase-patterns.md +0 -70
- package/skills/vibe.parallel-research/experts/framework-docs.md +0 -65
- package/skills/vibe.parallel-research/experts/security-advisory.md +0 -69
- package/skills/vibe.parallel-research/orchestrator.md +0 -81
- package/skills/vibe.parallel-research/templates/awesome-list.md +0 -32
- package/skills/vibe.parallel-research/templates/paper.md +0 -88
- package/skills/vibe.parallel-research/templates/synthesis.md +0 -101
- package/skills/vibe.presentation/SKILL.md +0 -90
- package/skills/vibe.presentation/references/style-presets.md +0 -25
- package/skills/vibe.prioritization/SKILL.md +0 -95
- package/skills/vibe.prioritization/rubrics/frameworks.md +0 -79
- package/skills/vibe.prioritization/templates/scoring-matrix.md +0 -69
- package/skills/vibe.priority-todos/SKILL.md +0 -11
- package/skills/vibe.react-best-practices/SKILL.md +0 -61
- package/skills/vibe.react-best-practices/rubrics/performance.md +0 -82
- package/skills/vibe.react-best-practices/rubrics/server-components.md +0 -86
- package/skills/vibe.reason/SKILL.md +0 -160
- package/skills/vibe.reason/references/output-format-template.md +0 -57
- package/skills/vibe.reason/references/quality-rubrics.md +0 -94
- package/skills/vibe.reason/references/worked-example.md +0 -45
- package/skills/vibe.regress/SKILL.md +0 -233
- package/skills/vibe.regress/templates/bug.md +0 -44
- package/skills/vibe.regress/templates/test-template.md +0 -30
- package/skills/vibe.review/SKILL.md +0 -321
- package/skills/vibe.review/references/boundary-check.md +0 -25
- package/skills/vibe.review/references/output-template.md +0 -74
- package/skills/vibe.review/references/priority-todos.md +0 -66
- package/skills/vibe.review/references/quality-gate.md +0 -84
- package/skills/vibe.review/references/race-mode.md +0 -117
- package/skills/vibe.review/references/todo-board-template.md +0 -59
- package/skills/vibe.review/references/todo-prioritization.md +0 -70
- package/skills/vibe.review/references/ui-ux-review.md +0 -39
- package/skills/vibe.review/references/worked-examples.md +0 -94
- package/skills/vibe.run/SKILL.md +0 -254
- package/skills/vibe.run/internal/arch-guard/agents/detector.md +0 -48
- package/skills/vibe.run/internal/arch-guard/agents/reporter.md +0 -48
- package/skills/vibe.run/internal/arch-guard/agents/rule-generator.md +0 -49
- package/skills/vibe.run/internal/arch-guard/agents/violation-checker.md +0 -51
- package/skills/vibe.run/internal/arch-guard/frameworks/clean-architecture.md +0 -108
- package/skills/vibe.run/internal/arch-guard/frameworks/solid.md +0 -102
- package/skills/vibe.run/internal/arch-guard/scripts/check-boundaries.js +0 -90
- package/skills/vibe.run/internal/arch-guard/templates/arch-rules.json +0 -47
- package/skills/vibe.run/internal/arch-guard/templates/violation-report.md +0 -53
- package/skills/vibe.run/internal/exec-plan/agents/decomposer.md +0 -47
- package/skills/vibe.run/internal/exec-plan/agents/dependency-mapper.md +0 -44
- package/skills/vibe.run/internal/exec-plan/agents/estimator.md +0 -43
- package/skills/vibe.run/internal/exec-plan/agents/validator.md +0 -55
- package/skills/vibe.run/internal/exec-plan/orchestrator.md +0 -72
- package/skills/vibe.run/internal/exec-plan/rubrics/complexity-scoring.md +0 -75
- package/skills/vibe.run/internal/exec-plan/templates/plan.md +0 -147
- package/skills/vibe.run/references/arch-guard.md +0 -178
- package/skills/vibe.run/references/automation-level.md +0 -51
- package/skills/vibe.run/references/brand-assets.md +0 -59
- package/skills/vibe.run/references/coverage-loop.md +0 -94
- package/skills/vibe.run/references/e2e-and-autofix.md +0 -43
- package/skills/vibe.run/references/exec-plan.md +0 -145
- package/skills/vibe.run/references/guidelines-and-tools.md +0 -84
- package/skills/vibe.run/references/parallel-agents.md +0 -253
- package/skills/vibe.run/references/process-steps.md +0 -179
- package/skills/vibe.run/references/race-review.md +0 -272
- package/skills/vibe.run/references/restraint.md +0 -66
- package/skills/vibe.scaffold/SKILL.md +0 -193
- package/skills/vibe.scaffold/references/clean-architecture.md +0 -17
- package/skills/vibe.seo-checklist/SKILL.md +0 -59
- package/skills/vibe.seo-checklist/frameworks/structured-data.md +0 -153
- package/skills/vibe.seo-checklist/rubrics/content-seo.md +0 -42
- package/skills/vibe.seo-checklist/rubrics/technical-seo.md +0 -48
- package/skills/vibe.spec/SKILL.md +0 -327
- package/skills/vibe.spec/references/legacy-artifacts.md +0 -6
- package/skills/vibe.test/SKILL.md +0 -209
- package/skills/vibe.test/references/report-template.md +0 -101
- package/skills/vibe.tool-fallback/SKILL.md +0 -83
- package/skills/vibe.tool-fallback/references/external-llm.md +0 -10
- package/skills/vibe.tool-fallback/references/file-lookup.md +0 -9
- package/skills/vibe.tool-fallback/references/web-search.md +0 -11
- package/skills/vibe.tool-fallback/rubrics/fallback-chain.md +0 -58
- package/skills/vibe.trace/SKILL.md +0 -8
- package/skills/vibe.ui-ux-pro-max/SKILL.md +0 -236
- package/skills/vibe.ui-ux-pro-max/reference/color-and-contrast.md +0 -517
- package/skills/vibe.ui-ux-pro-max/reference/interaction-design.md +0 -544
- package/skills/vibe.ui-ux-pro-max/reference/motion-design.md +0 -591
- package/skills/vibe.ui-ux-pro-max/reference/responsive-design.md +0 -463
- package/skills/vibe.ui-ux-pro-max/reference/spatial-design.md +0 -390
- package/skills/vibe.ui-ux-pro-max/reference/typography.md +0 -455
- package/skills/vibe.ui-ux-pro-max/reference/ux-writing.md +0 -469
- package/skills/vibe.ui-ux-pro-max/references/charts-and-data.md +0 -7
- package/skills/vibe.ui-ux-pro-max/rubrics/interaction-states.md +0 -83
- package/skills/vibe.ui-ux-pro-max/rubrics/responsive-breakpoints.md +0 -99
- package/skills/vibe.user-personas/SKILL.md +0 -83
- package/skills/vibe.user-personas/rubrics/research-methods.md +0 -56
- package/skills/vibe.user-personas/templates/persona.md +0 -89
- package/skills/vibe.verify/SKILL.md +0 -175
- package/skills/vibe.verify/references/trace-mode.md +0 -271
- package/skills/vibe.video-production/SKILL.md +0 -72
- package/skills/vibe.video-production/rubrics/quality-checklist.md +0 -58
- package/skills/vibe.video-production/templates/production-plan.md +0 -104
- package/vibe/config.json +0 -30
- package/vibe/constitution.md +0 -254
- package/vibe/rules/loop-contract.md +0 -236
- package/vibe/rules/orchestrator-contract.md +0 -57
- package/vibe/rules/prefix-cache-surface.md +0 -98
- package/vibe/rules/principles/communication-guide.md +0 -98
- package/vibe/rules/principles/development-philosophy.md +0 -52
- package/vibe/rules/principles/dual-harness-doctrine.md +0 -74
- package/vibe/rules/principles/quick-start.md +0 -102
- package/vibe/rules/quality/bdd-contract-testing.md +0 -393
- package/vibe/rules/quality/checklist.md +0 -276
- package/vibe/rules/quality/performance.md +0 -236
- package/vibe/rules/quality/testing-strategy.md +0 -440
- package/vibe/rules/standards/anti-patterns.md +0 -541
- package/vibe/rules/standards/code-structure.md +0 -291
- package/vibe/rules/standards/complexity-metrics.md +0 -313
- package/vibe/rules/standards/git-workflow.md +0 -237
- package/vibe/rules/standards/naming-conventions.md +0 -198
- package/vibe/rules/standards/security.md +0 -305
- package/vibe/rules/writing/document-style.md +0 -74
- package/vibe/setup.sh +0 -31
- package/vibe/templates/claudemd-template.md +0 -62
- package/vibe/templates/constitution-template.md +0 -267
- package/vibe/templates/contract-backend-template.md +0 -526
- package/vibe/templates/contract-frontend-template.md +0 -599
- package/vibe/templates/feature-template.md +0 -96
- package/vibe/templates/loop-template.md +0 -85
- package/vibe/templates/plan-template.md +0 -194
- package/vibe/templates/spec-template.md +0 -170
- package/vibe/ui-ux-data/charts.csv +0 -26
- package/vibe/ui-ux-data/colors.csv +0 -97
- package/vibe/ui-ux-data/icons.csv +0 -101
- package/vibe/ui-ux-data/landing.csv +0 -31
- package/vibe/ui-ux-data/products.csv +0 -97
- package/vibe/ui-ux-data/react-performance.csv +0 -45
- package/vibe/ui-ux-data/stacks/astro.csv +0 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +0 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +0 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +0 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +0 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +0 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +0 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +0 -52
- package/vibe/ui-ux-data/stacks/react.csv +0 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +0 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +0 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +0 -51
- package/vibe/ui-ux-data/stacks/vue.csv +0 -50
- package/vibe/ui-ux-data/styles.csv +0 -68
- package/vibe/ui-ux-data/typography.csv +0 -58
- package/vibe/ui-ux-data/ui-reasoning.csv +0 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +0 -100
- package/vibe/ui-ux-data/version.json +0 -31
- package/vibe/ui-ux-data/web-interface.csv +0 -31
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { evalCheck } from './checks/eval.js';
|
|
3
|
+
import { fileCheck } from './checks/file.js';
|
|
4
|
+
import { httpCheck } from './checks/http.js';
|
|
5
|
+
import { runCheck } from './checks/run.js';
|
|
6
|
+
import { detectClient, detectHarness, detectModel, reportedCostUsd, reportedTurns } from './client.js';
|
|
7
|
+
import { invalidTransition } from './errors.js';
|
|
8
|
+
import { ask, hasOpenQuestion } from './inbox.js';
|
|
9
|
+
import { record } from './ledger.js';
|
|
10
|
+
import { vibePath } from './paths.js';
|
|
11
|
+
import { loadScenarios } from './intent.js';
|
|
12
|
+
import { listRegressions } from './regress.js';
|
|
13
|
+
import { ancestorsOf, isHuman } from './scenarios.js';
|
|
14
|
+
import { readState, transition, writeState } from './state.js';
|
|
15
|
+
import { nowIso, readJson, writeJson } from './store.js';
|
|
16
|
+
import { changedBlobs, changedSince, treeHash } from './tree.js';
|
|
17
|
+
/** Checks that may run at the same time — independent scenarios only, never a dependent before its parent. */
|
|
18
|
+
export const MAX_PARALLEL = 4;
|
|
19
|
+
export function resultsPath(root) {
|
|
20
|
+
return vibePath(root, 'results.json');
|
|
21
|
+
}
|
|
22
|
+
export function readResults(root) {
|
|
23
|
+
return readJson(resultsPath(root)) ?? {};
|
|
24
|
+
}
|
|
25
|
+
async function execute(scenario, root) {
|
|
26
|
+
const check = scenario.check;
|
|
27
|
+
switch (check.type) {
|
|
28
|
+
case 'run':
|
|
29
|
+
return runCheck(check, root);
|
|
30
|
+
case 'file':
|
|
31
|
+
return fileCheck(check, root);
|
|
32
|
+
case 'http':
|
|
33
|
+
return httpCheck(check, root);
|
|
34
|
+
case 'eval':
|
|
35
|
+
return evalCheck(check, root);
|
|
36
|
+
case 'human':
|
|
37
|
+
return { pass: false, exit: null, ms: 0, tail: check.question, reason: 'human — not judged by the harness' };
|
|
38
|
+
default:
|
|
39
|
+
return { pass: false, exit: null, ms: 0, tail: '', reason: `unknown check type` };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function failHashOf(outcomes) {
|
|
43
|
+
const failed = outcomes.filter((o) => o.status === 'fail').sort((a, b) => a.id.localeCompare(b.id));
|
|
44
|
+
if (failed.length === 0)
|
|
45
|
+
return null;
|
|
46
|
+
const hash = createHash('sha256');
|
|
47
|
+
for (const o of failed)
|
|
48
|
+
hash.update(`${o.id}|${o.exit}|${o.tail.split('\n')[0] ?? ''}\n`);
|
|
49
|
+
return hash.digest('hex').slice(0, 8);
|
|
50
|
+
}
|
|
51
|
+
export function scenarioSetHash(scenarios) {
|
|
52
|
+
const hash = createHash('sha256');
|
|
53
|
+
for (const s of [...scenarios].sort((a, b) => a.id.localeCompare(b.id)))
|
|
54
|
+
hash.update(`${s.id}|${JSON.stringify(s.check)}\n`);
|
|
55
|
+
return hash.digest('hex').slice(0, 12);
|
|
56
|
+
}
|
|
57
|
+
function nextRunId(state) {
|
|
58
|
+
return `r-${state.runs + 1}`;
|
|
59
|
+
}
|
|
60
|
+
function askHumanOnce(root, scenario) {
|
|
61
|
+
if (scenario.check.type !== 'human')
|
|
62
|
+
return;
|
|
63
|
+
const question = scenario.check.question;
|
|
64
|
+
if (hasOpenQuestion(root, (q) => q.scenario === scenario.id))
|
|
65
|
+
return;
|
|
66
|
+
ask(root, { question, scenario: scenario.id });
|
|
67
|
+
}
|
|
68
|
+
async function runOne(root, scenario) {
|
|
69
|
+
const result = await execute(scenario, root);
|
|
70
|
+
const status = isHuman(scenario) ? 'pending' : result.pass ? 'pass' : 'fail';
|
|
71
|
+
if (isHuman(scenario))
|
|
72
|
+
askHumanOnce(root, scenario);
|
|
73
|
+
const outcome = { id: scenario.id, type: scenario.check.type, status, exit: result.exit, ms: result.ms, tail: result.tail };
|
|
74
|
+
if (result.reason)
|
|
75
|
+
outcome.reason = result.reason;
|
|
76
|
+
if (scenario.regression)
|
|
77
|
+
outcome.regression = true;
|
|
78
|
+
return outcome;
|
|
79
|
+
}
|
|
80
|
+
function blocked(scenario, by) {
|
|
81
|
+
const outcome = { id: scenario.id, type: scenario.check.type, status: 'blocked', exit: null, ms: 0, tail: '', reason: `blocked — needs ${by.join(', ')}`, blockedBy: by };
|
|
82
|
+
if (scenario.regression)
|
|
83
|
+
outcome.regression = true;
|
|
84
|
+
return outcome;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The work graph decides the order: every scenario whose parents have all passed runs in the
|
|
88
|
+
* current layer, at most MAX_PARALLEL at a time; the rest wait for the next layer. A scenario
|
|
89
|
+
* whose parent ended anywhere but `pass` is blocked and never run. Cycles cannot reach here —
|
|
90
|
+
* the parser rejects them.
|
|
91
|
+
*/
|
|
92
|
+
async function runLayers(root, selected, previous) {
|
|
93
|
+
const last = {};
|
|
94
|
+
for (const [id, r] of Object.entries(previous))
|
|
95
|
+
last[id] = r.last;
|
|
96
|
+
const outcomes = [];
|
|
97
|
+
let waiting = [...selected];
|
|
98
|
+
while (waiting.length > 0) {
|
|
99
|
+
const stillToRun = new Set(waiting.map((s) => s.id));
|
|
100
|
+
const ready = waiting.filter((s) => (s.needs ?? []).every((n) => last[n] === 'pass'));
|
|
101
|
+
// A parent that will not run in this invocation and has not passed blocks its dependents.
|
|
102
|
+
const stuck = waiting.filter((s) => !ready.includes(s) && (s.needs ?? []).some((n) => !stillToRun.has(n) && last[n] !== 'pass'));
|
|
103
|
+
for (const s of stuck) {
|
|
104
|
+
outcomes.push(blocked(s, (s.needs ?? []).filter((n) => last[n] !== 'pass')));
|
|
105
|
+
last[s.id] = 'blocked';
|
|
106
|
+
}
|
|
107
|
+
waiting = waiting.filter((s) => !ready.includes(s) && !stuck.includes(s));
|
|
108
|
+
if (ready.length === 0 && stuck.length === 0) {
|
|
109
|
+
// Only a cycle could leave scenarios waiting on each other; the parser rejects cycles, so this is a guard.
|
|
110
|
+
for (const s of waiting)
|
|
111
|
+
outcomes.push(blocked(s, s.needs ?? []));
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
for (let i = 0; i < ready.length; i += MAX_PARALLEL) {
|
|
115
|
+
const batch = await Promise.all(ready.slice(i, i + MAX_PARALLEL).map((s) => runOne(root, s)));
|
|
116
|
+
for (const o of batch) {
|
|
117
|
+
outcomes.push(o);
|
|
118
|
+
last[o.id] = o.status;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const order = new Map(selected.map((s, i) => [s.id, i]));
|
|
123
|
+
return outcomes.sort((a, b) => (order.get(a.id) ?? 0) - (order.get(b.id) ?? 0));
|
|
124
|
+
}
|
|
125
|
+
function snapshotPath(root) {
|
|
126
|
+
return vibePath(root, 'snapshot.json');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* A scenario that just passed for the first time implements the files that changed since the
|
|
130
|
+
* previous check — not everything dirty in the tree. The snapshot of changed-file content ids is
|
|
131
|
+
* kept between checks so the diff is exact.
|
|
132
|
+
*/
|
|
133
|
+
function implementsEdges(root, scenarioIds) {
|
|
134
|
+
const current = changedBlobs(root);
|
|
135
|
+
const files = changedSince(readJson(snapshotPath(root)), current);
|
|
136
|
+
writeJson(snapshotPath(root), current);
|
|
137
|
+
if (scenarioIds.length === 0)
|
|
138
|
+
return [];
|
|
139
|
+
const edges = [];
|
|
140
|
+
for (const id of scenarioIds)
|
|
141
|
+
for (const file of files)
|
|
142
|
+
edges.push({ type: 'implements', from: `scenario:${id}`, to: `file:${file}` });
|
|
143
|
+
return edges;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The only verdict path. The harness runs the checks and writes the evidence.
|
|
147
|
+
* First call moves APPROVED→RUNNING; all gates passing → DONE; the same failure hash
|
|
148
|
+
* twice in a row → STUCK.
|
|
149
|
+
*/
|
|
150
|
+
export async function runChecks(root, options = {}) {
|
|
151
|
+
const state = readState(root);
|
|
152
|
+
if (!['APPROVED', 'RUNNING', 'DONE', 'STUCK'].includes(state.state)) {
|
|
153
|
+
throw invalidTransition(`check runs only after approval (current state ${state.state})`);
|
|
154
|
+
}
|
|
155
|
+
const scenarios = loadScenarios(root);
|
|
156
|
+
const regressions = listRegressions(root);
|
|
157
|
+
const universe = [...scenarios, ...regressions.map((r) => ({ ...r, regression: true }))];
|
|
158
|
+
const previous = readResults(root);
|
|
159
|
+
let selected;
|
|
160
|
+
if (options.ids && options.ids.length > 0) {
|
|
161
|
+
const missing = options.ids.filter((id) => !universe.some((s) => s.id === id));
|
|
162
|
+
if (missing.length > 0)
|
|
163
|
+
throw invalidTransition(`unknown scenario: ${missing.join(', ')}`);
|
|
164
|
+
// An explicit id pulls in the ancestors that have not passed yet — `check tests` builds first.
|
|
165
|
+
const wanted = new Set([...options.ids, ...ancestorsOf(universe, options.ids).filter((id) => previous[id]?.last !== 'pass')]);
|
|
166
|
+
selected = universe.filter((s) => wanted.has(s.id));
|
|
167
|
+
}
|
|
168
|
+
else if (options.all) {
|
|
169
|
+
selected = universe;
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
selected = universe.filter((s) => isHuman(s) || previous[s.id]?.last !== 'pass');
|
|
173
|
+
}
|
|
174
|
+
if (state.state === 'APPROVED')
|
|
175
|
+
transition(root, 'RUNNING');
|
|
176
|
+
const run = nextRunId(state);
|
|
177
|
+
const at = nowIso();
|
|
178
|
+
const outcomes = await runLayers(root, selected, previous);
|
|
179
|
+
const results = { ...previous };
|
|
180
|
+
for (const o of outcomes)
|
|
181
|
+
results[o.id] = { last: o.status, at, run };
|
|
182
|
+
writeJson(resultsPath(root), results);
|
|
183
|
+
const implemented = outcomes.filter((o) => o.status === 'pass' && previous[o.id]?.last !== 'pass').map((o) => o.id);
|
|
184
|
+
const edges = implementsEdges(root, implemented);
|
|
185
|
+
const gated = universe.filter((s) => !isHuman(s));
|
|
186
|
+
const remaining = gated.filter((s) => results[s.id]?.last !== 'pass').map((s) => s.id);
|
|
187
|
+
const passed = outcomes.filter((o) => o.status === 'pass').length;
|
|
188
|
+
const failed = outcomes.filter((o) => o.status === 'fail').length;
|
|
189
|
+
const pending = outcomes.filter((o) => o.status === 'pending').length;
|
|
190
|
+
const failHash = failHashOf(outcomes);
|
|
191
|
+
const current = readState(root);
|
|
192
|
+
let stuck = false;
|
|
193
|
+
let done = false;
|
|
194
|
+
let next = { ...current, runs: current.runs + 1 };
|
|
195
|
+
if (failHash !== null) {
|
|
196
|
+
const streak = failHash === current.lastFailHash ? current.failStreak + 1 : 1;
|
|
197
|
+
next = { ...next, lastFailHash: failHash, failStreak: streak };
|
|
198
|
+
if (streak >= 2) {
|
|
199
|
+
stuck = true;
|
|
200
|
+
next.state = 'STUCK';
|
|
201
|
+
if (!hasOpenQuestion(root, (q) => q.question.startsWith('STUCK'))) {
|
|
202
|
+
ask(root, { question: `STUCK: the same failure (${failHash}) happened twice in a row — ${outcomes.filter((o) => o.status === 'fail').map((o) => o.id).join(', ')}. How should we proceed?`, options: ['give a hint', 'change the scenario', 'abandon'] });
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
else if (current.state === 'DONE' || current.state === 'STUCK') {
|
|
206
|
+
next.state = 'RUNNING';
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
next = { ...next, lastFailHash: null, failStreak: 0 };
|
|
211
|
+
if (remaining.length === 0) {
|
|
212
|
+
done = true;
|
|
213
|
+
next.state = 'DONE';
|
|
214
|
+
next.doneAt = at;
|
|
215
|
+
next.doneTree = treeHash(root);
|
|
216
|
+
}
|
|
217
|
+
else if (current.state === 'STUCK') {
|
|
218
|
+
next.state = 'RUNNING';
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
writeState(root, next);
|
|
222
|
+
const evidence = { run, at, client: detectClient(), model: detectModel(), scenarioSet: scenarioSetHash(scenarios), results: outcomes };
|
|
223
|
+
writeJson(vibePath(root, 'evidence', `${run}.json`), evidence);
|
|
224
|
+
const scenarioMap = {};
|
|
225
|
+
for (const o of outcomes)
|
|
226
|
+
scenarioMap[o.id] = o.status;
|
|
227
|
+
const harness = detectHarness();
|
|
228
|
+
record(root, { event: 'check', client: evidence.client, model: evidence.model, ...(harness ? { harness } : {}), run, scenarioSet: evidence.scenarioSet, scenarios: scenarioMap, passed, failed, failHash, turns: reportedTurns(), costUsd: reportedCostUsd(), ms: outcomes.reduce((a, o) => a + o.ms, 0), edges });
|
|
229
|
+
if (stuck)
|
|
230
|
+
record(root, { event: 'stuck', client: evidence.client, model: evidence.model, run, failHash });
|
|
231
|
+
if (done)
|
|
232
|
+
record(root, { event: 'done', client: evidence.client, model: evidence.model, run });
|
|
233
|
+
return { run, at, state: next.state, outcomes, passed, failed, pending, failHash, stuck, done, remaining };
|
|
234
|
+
}
|
|
235
|
+
/** DONE with a changed tree goes back to RUNNING. `state` calls this every time. */
|
|
236
|
+
export function invalidateDoneIfEdited(root) {
|
|
237
|
+
const state = readState(root);
|
|
238
|
+
if (state.state !== 'DONE' || !state.doneTree)
|
|
239
|
+
return false;
|
|
240
|
+
if (treeHash(root) === state.doneTree)
|
|
241
|
+
return false;
|
|
242
|
+
writeState(root, { ...state, state: 'RUNNING', doneAt: null, doneTree: null });
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/core/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
const DEFAULT_CASE_TIMEOUT_MS = 60_000;
|
|
5
|
+
const MAX_MISMATCHES_SHOWN = 5;
|
|
6
|
+
function runCase(cmd, cwd, input, timeoutMs) {
|
|
7
|
+
return new Promise((resolve) => {
|
|
8
|
+
const child = spawn(cmd, { cwd, shell: true, env: { ...process.env, VIBE_CHECK: '1' }, stdio: ['pipe', 'pipe', 'ignore'] });
|
|
9
|
+
let out = '';
|
|
10
|
+
child.stdout.on('data', (chunk) => void (out += chunk.toString('utf-8')));
|
|
11
|
+
const timer = setTimeout(() => child.kill('SIGKILL'), timeoutMs);
|
|
12
|
+
child.on('error', () => resolve({ out, exit: null }));
|
|
13
|
+
child.on('close', (code) => {
|
|
14
|
+
clearTimeout(timer);
|
|
15
|
+
resolve({ out, exit: code });
|
|
16
|
+
});
|
|
17
|
+
child.stdin.end(input);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function matches(out, expected) {
|
|
21
|
+
const text = out.trim();
|
|
22
|
+
if (typeof expected === 'string')
|
|
23
|
+
return text === expected.trim();
|
|
24
|
+
try {
|
|
25
|
+
return JSON.stringify(JSON.parse(text)) === JSON.stringify(expected);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* `eval` check — a labelled case set against a runner. The verdict is a count of matching cases
|
|
33
|
+
* (never a ratio): pass when at least `expect.pass` cases match. Each case is one line of JSONL
|
|
34
|
+
* `{ "input": …, "expected": … }`; input goes to the runner's stdin, stdout is compared to expected.
|
|
35
|
+
*/
|
|
36
|
+
export async function evalCheck(check, root) {
|
|
37
|
+
const started = Date.now();
|
|
38
|
+
let cases;
|
|
39
|
+
try {
|
|
40
|
+
const lines = fs.readFileSync(path.resolve(root, check.cases), 'utf-8').split('\n').filter((l) => l.trim());
|
|
41
|
+
cases = lines.map((line, i) => {
|
|
42
|
+
const item = JSON.parse(line);
|
|
43
|
+
return { id: item.id ?? `#${i + 1}`, input: item.input, expected: item.expected };
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return { pass: false, exit: null, ms: Date.now() - started, tail: '', reason: `cases unreadable: ${error.message}` };
|
|
48
|
+
}
|
|
49
|
+
const mismatches = [];
|
|
50
|
+
let matched = 0;
|
|
51
|
+
for (const c of cases) {
|
|
52
|
+
const input = typeof c.input === 'string' ? c.input : JSON.stringify(c.input);
|
|
53
|
+
const { out } = await runCase(check.runner, root, input, check.timeoutMs ?? DEFAULT_CASE_TIMEOUT_MS);
|
|
54
|
+
if (matches(out, c.expected))
|
|
55
|
+
matched += 1;
|
|
56
|
+
else if (mismatches.length < MAX_MISMATCHES_SHOWN)
|
|
57
|
+
mismatches.push(`${c.id}: got ${JSON.stringify(out.trim()).slice(0, 80)} · expected ${JSON.stringify(c.expected).slice(0, 80)}`);
|
|
58
|
+
}
|
|
59
|
+
const pass = matched >= check.expect.pass;
|
|
60
|
+
const summary = `${matched} of ${cases.length} cases matched (need ${check.expect.pass})`;
|
|
61
|
+
const result = { pass, exit: pass ? 0 : 1, ms: Date.now() - started, tail: [summary, ...mismatches].join('\n') };
|
|
62
|
+
if (!pass)
|
|
63
|
+
result.reason = summary;
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=eval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/core/checks/eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAQ/B,SAAS,OAAO,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa,EAAE,SAAiB;IACzE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5H,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACjE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,QAAiB;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAgB,EAAE,IAAY;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5G,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyD,CAAC;YACtF,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAsB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;IAClI,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,uBAAuB,CAAC,CAAC;QACrG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;aACtC,IAAI,UAAU,CAAC,MAAM,GAAG,oBAAoB;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtL,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,OAAO,OAAO,KAAK,CAAC,MAAM,wBAAwB,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC1F,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9H,IAAI,CAAC,IAAI;QAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { Ajv } from 'ajv';
|
|
4
|
+
import { formatOf, parseTable } from '../table.js';
|
|
5
|
+
function done(pass, started, tail, reason) {
|
|
6
|
+
const result = { pass, exit: pass ? 0 : 1, ms: Date.now() - started, tail };
|
|
7
|
+
if (reason)
|
|
8
|
+
result.reason = reason;
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
/** `file` check — existence · regex · substring · JSON Schema. Every rule present must pass. */
|
|
12
|
+
export function fileCheck(check, root) {
|
|
13
|
+
const started = Date.now();
|
|
14
|
+
const target = path.resolve(root, check.path);
|
|
15
|
+
const exists = fs.existsSync(target);
|
|
16
|
+
if (check.exists === false)
|
|
17
|
+
return done(!exists, started, exists ? `exists: ${check.path}` : `absent: ${check.path}`);
|
|
18
|
+
if (!exists)
|
|
19
|
+
return done(false, started, `missing: ${check.path}`, 'file not found');
|
|
20
|
+
let content;
|
|
21
|
+
try {
|
|
22
|
+
content = fs.readFileSync(target, 'utf-8');
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
return done(false, started, '', `read failed: ${error.message}`);
|
|
26
|
+
}
|
|
27
|
+
if (check.pattern !== undefined) {
|
|
28
|
+
let re;
|
|
29
|
+
try {
|
|
30
|
+
re = new RegExp(check.pattern, 'm');
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return done(false, started, '', `bad pattern: ${error.message}`);
|
|
34
|
+
}
|
|
35
|
+
if (!re.test(content))
|
|
36
|
+
return done(false, started, `pattern not found: /${check.pattern}/`);
|
|
37
|
+
}
|
|
38
|
+
if (check.contains !== undefined && !content.includes(check.contains)) {
|
|
39
|
+
return done(false, started, `text not found: ${JSON.stringify(check.contains)}`);
|
|
40
|
+
}
|
|
41
|
+
if (check.schema !== undefined) {
|
|
42
|
+
let schema;
|
|
43
|
+
let data;
|
|
44
|
+
try {
|
|
45
|
+
schema = JSON.parse(fs.readFileSync(path.resolve(root, check.schema), 'utf-8'));
|
|
46
|
+
data = JSON.parse(content);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return done(false, started, '', `schema/json parse failed: ${error.message}`);
|
|
50
|
+
}
|
|
51
|
+
const ajv = new Ajv({ allErrors: true, strict: false });
|
|
52
|
+
const validate = ajv.compile(schema);
|
|
53
|
+
if (!validate(data)) {
|
|
54
|
+
const errors = (validate.errors ?? []).slice(0, 5).map((e) => `${e.instancePath || '/'} ${e.message ?? ''}`).join('\n');
|
|
55
|
+
return done(false, started, errors, 'schema mismatch');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (check.sum !== undefined) {
|
|
59
|
+
const format = formatOf(check.path);
|
|
60
|
+
if (!format)
|
|
61
|
+
return done(false, started, '', 'sum needs a csv · tsv · jsonl · json file');
|
|
62
|
+
let total = 0;
|
|
63
|
+
let counted = 0;
|
|
64
|
+
try {
|
|
65
|
+
const table = parseTable(content, format);
|
|
66
|
+
if (!table.columns.includes(check.sum.column))
|
|
67
|
+
return done(false, started, `columns: ${table.columns.join(', ')}`, `no column "${check.sum.column}"`);
|
|
68
|
+
for (const row of table.rows) {
|
|
69
|
+
const cell = row[check.sum.column];
|
|
70
|
+
if (typeof cell === 'number') {
|
|
71
|
+
total += cell;
|
|
72
|
+
counted += 1;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return done(false, started, '', `table parse failed: ${error.message}`);
|
|
78
|
+
}
|
|
79
|
+
const tolerance = check.sum.tolerance ?? 0;
|
|
80
|
+
const ok = Math.abs(total - check.sum.equals) <= tolerance;
|
|
81
|
+
const line = `sum(${check.sum.column}) = ${total} over ${counted} numeric rows · expected ${check.sum.equals}${tolerance ? ` ± ${tolerance}` : ''}`;
|
|
82
|
+
if (!ok)
|
|
83
|
+
return done(false, started, line, 'sum mismatch');
|
|
84
|
+
return done(true, started, line);
|
|
85
|
+
}
|
|
86
|
+
return done(true, started, `ok: ${check.path}`);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/core/checks/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { Ajv } from 'ajv';
|
|
4
|
+
import { tail } from './run.js';
|
|
5
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
6
|
+
/** `http` check — status code, body against a JSON Schema, latency ceiling. The harness makes the request. */
|
|
7
|
+
export async function httpCheck(check, root) {
|
|
8
|
+
const started = Date.now();
|
|
9
|
+
const controller = new AbortController();
|
|
10
|
+
const timer = setTimeout(() => controller.abort(), check.timeoutMs ?? DEFAULT_TIMEOUT_MS);
|
|
11
|
+
let response;
|
|
12
|
+
let body;
|
|
13
|
+
try {
|
|
14
|
+
response = await fetch(check.url, { method: check.method ?? 'GET', signal: controller.signal, redirect: 'manual' });
|
|
15
|
+
body = await response.text();
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
clearTimeout(timer);
|
|
19
|
+
return { pass: false, exit: null, ms: Date.now() - started, tail: '', reason: `request failed: ${error.message}` };
|
|
20
|
+
}
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
const ms = Date.now() - started;
|
|
23
|
+
const expect = check.expect ?? {};
|
|
24
|
+
const status = expect.status ?? 200;
|
|
25
|
+
const base = { exit: response.status, ms, tail: tail(body) };
|
|
26
|
+
if (response.status !== status)
|
|
27
|
+
return { ...base, pass: false, reason: `status ${response.status}, expected ${status}` };
|
|
28
|
+
if (expect.maxMs !== undefined && ms > expect.maxMs)
|
|
29
|
+
return { ...base, pass: false, reason: `${ms}ms, limit ${expect.maxMs}ms` };
|
|
30
|
+
if (expect.schema !== undefined) {
|
|
31
|
+
let schema;
|
|
32
|
+
let data;
|
|
33
|
+
try {
|
|
34
|
+
schema = JSON.parse(fs.readFileSync(path.resolve(root, expect.schema), 'utf-8'));
|
|
35
|
+
data = JSON.parse(body);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return { ...base, pass: false, reason: `schema/json parse failed: ${error.message}` };
|
|
39
|
+
}
|
|
40
|
+
const validate = new Ajv({ allErrors: true, strict: false }).compile(schema);
|
|
41
|
+
if (!validate(data)) {
|
|
42
|
+
const errors = (validate.errors ?? []).slice(0, 5).map((e) => `${e.instancePath || '/'} ${e.message ?? ''}`).join('\n');
|
|
43
|
+
return { ...base, pass: false, tail: errors, reason: 'schema mismatch' };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return { ...base, pass: true };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/core/checks/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAoB,MAAM,UAAU,CAAC;AAElD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,8GAA8G;AAC9G,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAgB,EAAE,IAAY;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IAC1F,IAAI,QAAkB,CAAC;IACvB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,mBAAoB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;IAChI,CAAC;IACD,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,QAAQ,CAAC,MAAM,cAAc,MAAM,EAAE,EAAE,CAAC;IACzH,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,MAAe,CAAC;QACpB,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACjF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA8B,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QACnG,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAA6C,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpK,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
const DEFAULT_TIMEOUT_MS = 600_000;
|
|
4
|
+
const TAIL_LINES = 8;
|
|
5
|
+
const MAX_CAPTURE = 256 * 1024;
|
|
6
|
+
export function tail(text, lines = TAIL_LINES) {
|
|
7
|
+
return text.trim().split('\n').slice(-lines).join('\n');
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* `run` check — the harness executes the command itself. A model saying "I ran it" never
|
|
11
|
+
* reaches this function. The command string comes from scenarios.yaml, so it runs in a shell.
|
|
12
|
+
*/
|
|
13
|
+
export function runCheck(check, root) {
|
|
14
|
+
const cwd = check.cwd ? path.resolve(root, check.cwd) : root;
|
|
15
|
+
const timeoutMs = check.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
16
|
+
const expect = check.expect ?? 0;
|
|
17
|
+
const started = Date.now();
|
|
18
|
+
return new Promise((resolve) => {
|
|
19
|
+
const child = spawn(check.cmd, { cwd, shell: true, env: { ...process.env, VIBE_CHECK: '1' }, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
20
|
+
let captured = '';
|
|
21
|
+
const capture = (chunk) => {
|
|
22
|
+
if (captured.length < MAX_CAPTURE)
|
|
23
|
+
captured += chunk.toString('utf-8');
|
|
24
|
+
};
|
|
25
|
+
child.stdout.on('data', capture);
|
|
26
|
+
child.stderr.on('data', capture);
|
|
27
|
+
const timer = setTimeout(() => {
|
|
28
|
+
child.kill('SIGKILL');
|
|
29
|
+
captured += `\n[vibe] killed after ${timeoutMs}ms`;
|
|
30
|
+
}, timeoutMs);
|
|
31
|
+
child.on('error', (error) => {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
resolve({ pass: false, exit: null, ms: Date.now() - started, tail: tail(captured), reason: `spawn failed: ${error.message}` });
|
|
34
|
+
});
|
|
35
|
+
child.on('close', (code) => {
|
|
36
|
+
clearTimeout(timer);
|
|
37
|
+
const exit = code ?? null;
|
|
38
|
+
resolve({ pass: exit === expect, exit, ms: Date.now() - started, tail: tail(captured) });
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/core/checks/run.ts"],"names":[],"mappings":"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"}
|