@su-record/vibe 3.2.64 → 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 -239
- 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/bench/benchCompare.d.ts +0 -78
- package/dist/tools/bench/benchCompare.d.ts.map +0 -1
- package/dist/tools/bench/benchCompare.js +0 -113
- package/dist/tools/bench/benchCompare.js.map +0 -1
- package/dist/tools/bench/benchDefinition.d.ts +0 -37
- package/dist/tools/bench/benchDefinition.d.ts.map +0 -1
- package/dist/tools/bench/benchDefinition.js +0 -69
- package/dist/tools/bench/benchDefinition.js.map +0 -1
- package/dist/tools/bench/benchReport.d.ts +0 -16
- package/dist/tools/bench/benchReport.d.ts.map +0 -1
- package/dist/tools/bench/benchReport.js +0 -64
- package/dist/tools/bench/benchReport.js.map +0 -1
- package/dist/tools/bench/index.d.ts +0 -10
- package/dist/tools/bench/index.d.ts.map +0 -1
- package/dist/tools/bench/index.js +0 -7
- package/dist/tools/bench/index.js.map +0 -1
- package/dist/tools/contract/agentContract.d.ts +0 -86
- package/dist/tools/contract/agentContract.d.ts.map +0 -1
- package/dist/tools/contract/agentContract.js +0 -140
- package/dist/tools/contract/agentContract.js.map +0 -1
- package/dist/tools/contract/index.d.ts +0 -8
- package/dist/tools/contract/index.d.ts.map +0 -1
- package/dist/tools/contract/index.js +0 -6
- package/dist/tools/contract/index.js.map +0 -1
- package/dist/tools/contract/reverseDrift.d.ts +0 -71
- package/dist/tools/contract/reverseDrift.d.ts.map +0 -1
- package/dist/tools/contract/reverseDrift.js +0 -136
- package/dist/tools/contract/reverseDrift.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 -81
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -94
- 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 -354
- 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/ephemeral-lane.js +0 -106
- 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/iteration-cost.js +0 -178
- package/hooks/scripts/lib/loop-ledger.js +0 -250
- 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 -167
- 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 -278
- 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 -364
- 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 -345
- 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 -193
- 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 -328
- 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 -256
- 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 -184
- 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
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import YAML from 'yaml';
|
|
4
|
+
import { detectClient, detectModel } from './client.js';
|
|
5
|
+
import { usage } from './errors.js';
|
|
6
|
+
import { githubClient } from './github.js';
|
|
7
|
+
import { appendJsonl, nowIso, readJson, readJsonl, writeAtomic, writeJson } from './store.js';
|
|
8
|
+
import { loadScenarios } from './intent.js';
|
|
9
|
+
import { inboxPath } from './inbox.js';
|
|
10
|
+
import { record } from './ledger.js';
|
|
11
|
+
import { vibePath } from './paths.js';
|
|
12
|
+
import { listRegressions } from './regress.js';
|
|
13
|
+
import { readState } from './state.js';
|
|
14
|
+
/**
|
|
15
|
+
* Project-local skills. Nothing accumulates globally: a skill lives in this repository's
|
|
16
|
+
* `.claude/skills` and `.codex/skills`, is registered in `.vibe/skills/registry.json`, and is
|
|
17
|
+
* installed only when bound to a check or carrying knowledge the model does not have. Proposals
|
|
18
|
+
* are proposals — installing, running remote commands and global installs never happen by themselves.
|
|
19
|
+
*/
|
|
20
|
+
export const COMMON_SKILLS = ['vibe', 'vibe.discover', 'vibe.scope', 'vibe.build', 'vibe.prove', 'vibe.handoff'];
|
|
21
|
+
const SKILL_DIRS = ['.claude/skills', '.codex/skills'];
|
|
22
|
+
const NAME_RE = /^[a-z][a-z0-9.-]{0,39}$/;
|
|
23
|
+
const DEFAULT_UNUSED_RUNS = 10;
|
|
24
|
+
const MAX_PROPOSALS = 3;
|
|
25
|
+
const MAX_COMMANDS_SHOWN = 20;
|
|
26
|
+
function registryPath(root) {
|
|
27
|
+
return vibePath(root, 'skills', 'registry.json');
|
|
28
|
+
}
|
|
29
|
+
function dismissedPath(root) {
|
|
30
|
+
return vibePath(root, 'skills', 'dismissed.jsonl');
|
|
31
|
+
}
|
|
32
|
+
export function readRegistry(root) {
|
|
33
|
+
return readJson(registryPath(root)) ?? { skills: [] };
|
|
34
|
+
}
|
|
35
|
+
function writeRegistry(root, registry) {
|
|
36
|
+
writeJson(registryPath(root), registry);
|
|
37
|
+
}
|
|
38
|
+
/** Install into every client directory that exists; `.claude/skills` when none does. */
|
|
39
|
+
function targetDirs(root) {
|
|
40
|
+
const present = SKILL_DIRS.filter((d) => fs.existsSync(path.join(root, path.dirname(d))));
|
|
41
|
+
return present.length > 0 ? [...present] : [SKILL_DIRS[0]];
|
|
42
|
+
}
|
|
43
|
+
function templateCheck(type, name) {
|
|
44
|
+
switch (type) {
|
|
45
|
+
case 'run':
|
|
46
|
+
return { type: 'run', cmd: `node scripts/${name}.js`, expect: 0 };
|
|
47
|
+
case 'file':
|
|
48
|
+
return { type: 'file', path: `out/${name}.csv`, exists: true };
|
|
49
|
+
case 'http':
|
|
50
|
+
return { type: 'http', url: 'https://example.com/health', expect: { status: 200 } };
|
|
51
|
+
case 'eval':
|
|
52
|
+
return { type: 'eval', cases: `evals/${name}.jsonl`, runner: `node scripts/${name}.js`, expect: { pass: 1 } };
|
|
53
|
+
default:
|
|
54
|
+
throw usage('skill create --check run|file|http|eval — a skill without a verdict is prose');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function skillBody(name, check, from) {
|
|
58
|
+
const scenario = YAML.stringify([{ id: name, then: from ? `[from scenario ${from}] fill in the success statement` : 'fill in the success statement', check }]).trim();
|
|
59
|
+
return [
|
|
60
|
+
'---', `name: ${name}`, 'description: "fill in — one line saying when this skill applies"', 'user-invocable: true', '---', '',
|
|
61
|
+
`# ${name}`, '', '## When', '', 'fill in — the situation that repeats in this project', '', '## Procedure', '',
|
|
62
|
+
`1. Run \`vibe skill used ${name}\` so the ledger knows the skill was applied.`, '2. fill in — the steps, each one checkable', '', '## Check', '',
|
|
63
|
+
'This skill is installed because it is bound to the check below. Add it to `scenarios.yaml` when the procedure is part of an intent.', '', '```yaml', scenario, '```', '',
|
|
64
|
+
].join('\n');
|
|
65
|
+
}
|
|
66
|
+
function writeSkillFiles(root, name, files) {
|
|
67
|
+
const written = [];
|
|
68
|
+
for (const dir of targetDirs(root)) {
|
|
69
|
+
for (const [file, content] of Object.entries(files)) {
|
|
70
|
+
const target = path.join(root, dir, name, file);
|
|
71
|
+
writeAtomic(target, content);
|
|
72
|
+
written.push(path.posix.join(dir, name, file));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return written;
|
|
76
|
+
}
|
|
77
|
+
function register(root, skill) {
|
|
78
|
+
const registry = readRegistry(root);
|
|
79
|
+
registry.skills = [...registry.skills.filter((s) => s.name !== skill.name), skill];
|
|
80
|
+
writeRegistry(root, registry);
|
|
81
|
+
}
|
|
82
|
+
export function createSkill(root, input) {
|
|
83
|
+
if (!NAME_RE.test(input.name))
|
|
84
|
+
throw usage('skill name: 1-40 chars of lowercase letters, digits, dots, hyphens');
|
|
85
|
+
if (COMMON_SKILLS.includes(input.name))
|
|
86
|
+
throw usage(`${input.name} is a common skill shipped with vibe`);
|
|
87
|
+
let check;
|
|
88
|
+
if (input.fromScenario) {
|
|
89
|
+
const scenario = loadScenarios(root).find((s) => s.id === input.fromScenario);
|
|
90
|
+
if (!scenario)
|
|
91
|
+
throw usage(`unknown scenario: ${input.fromScenario}`);
|
|
92
|
+
if (scenario.check.type === 'human')
|
|
93
|
+
throw usage('a human scenario has no verdict — a skill cannot be bound to it');
|
|
94
|
+
check = scenario.check;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
if (!input.checkType)
|
|
98
|
+
throw usage('skill create <name> --check run|file|http|eval [--from-scenario <id>]');
|
|
99
|
+
check = templateCheck(input.checkType, input.name);
|
|
100
|
+
}
|
|
101
|
+
const paths = writeSkillFiles(root, input.name, { 'SKILL.md': skillBody(input.name, check, input.fromScenario ?? null) });
|
|
102
|
+
const run = readState(root).runs;
|
|
103
|
+
register(root, { name: input.name, kind: 'created', source: 'created', check, license: null, installedAt: nowIso(), installedRun: run, lastUsedRun: null, lastUsedAt: null, paths });
|
|
104
|
+
const edges = input.fromScenario ? [{ type: 'implements', from: `skill:${input.name}`, to: `scenario:${input.fromScenario}` }] : [];
|
|
105
|
+
record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `create ${input.name} (${check.type})`, edges });
|
|
106
|
+
return { name: input.name, paths, check };
|
|
107
|
+
}
|
|
108
|
+
export function parseSkillRef(spec) {
|
|
109
|
+
const match = /^([\w.-]+)\/([\w.-]+)(?:@([\w./-]+))?$/.exec(spec);
|
|
110
|
+
if (!match)
|
|
111
|
+
throw usage('skill add owner/repo[@name] [--pin <sha>] [--yes]');
|
|
112
|
+
return { owner: match[1], repo: match[2], name: match[3] ?? null };
|
|
113
|
+
}
|
|
114
|
+
/** Lines a reader would run: fenced code and `$ ` lines. Shown before anything is installed. */
|
|
115
|
+
export function commandsIn(skillMd) {
|
|
116
|
+
const out = [];
|
|
117
|
+
let fenced = false;
|
|
118
|
+
for (const raw of skillMd.split('\n')) {
|
|
119
|
+
const line = raw.trim();
|
|
120
|
+
if (line.startsWith('```')) {
|
|
121
|
+
fenced = !fenced;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if ((fenced && line && !line.startsWith('#')) || line.startsWith('$ '))
|
|
125
|
+
out.push(line.replace(/^\$ /, ''));
|
|
126
|
+
}
|
|
127
|
+
return out.slice(0, MAX_COMMANDS_SHOWN);
|
|
128
|
+
}
|
|
129
|
+
async function locateSkill(client, owner, repo, name, sha) {
|
|
130
|
+
const dirs = name ? [`skills/${name}`, name] : [''];
|
|
131
|
+
for (const dir of dirs) {
|
|
132
|
+
try {
|
|
133
|
+
const entries = (await client.get(`/repos/${owner}/${repo}/contents/${dir}?ref=${sha}`));
|
|
134
|
+
if (Array.isArray(entries) && entries.some((e) => e.name === 'SKILL.md'))
|
|
135
|
+
return { dir, entries };
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
/* try the next layout */
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
throw usage(`no SKILL.md found in ${owner}/${repo}${name ? ` for ${name}` : ''} at ${sha.slice(0, 7)}`);
|
|
142
|
+
}
|
|
143
|
+
async function fetchFiles(client, owner, repo, entries, sha) {
|
|
144
|
+
const files = {};
|
|
145
|
+
for (const entry of entries) {
|
|
146
|
+
if (entry.type !== 'file' || !entry.name || !entry.path)
|
|
147
|
+
continue;
|
|
148
|
+
const full = (await client.get(`/repos/${owner}/${repo}/contents/${entry.path}?ref=${sha}`));
|
|
149
|
+
if (typeof full.content !== 'string')
|
|
150
|
+
continue;
|
|
151
|
+
files[entry.name] = full.encoding === 'base64' ? Buffer.from(full.content, 'base64').toString('utf-8') : full.content;
|
|
152
|
+
}
|
|
153
|
+
if (!files['SKILL.md'])
|
|
154
|
+
throw usage('SKILL.md could not be downloaded');
|
|
155
|
+
return files;
|
|
156
|
+
}
|
|
157
|
+
export async function addSkill(root, input, client = githubClient()) {
|
|
158
|
+
const { owner, repo, name } = parseSkillRef(input.spec);
|
|
159
|
+
const skillName = path.posix.basename(name ?? repo);
|
|
160
|
+
if (!NAME_RE.test(skillName))
|
|
161
|
+
throw usage(`cannot use "${skillName}" as a skill name`);
|
|
162
|
+
const meta = (await client.get(`/repos/${owner}/${repo}`));
|
|
163
|
+
const license = meta.license?.spdx_id ?? null;
|
|
164
|
+
let sha = input.pin ?? null;
|
|
165
|
+
if (!sha) {
|
|
166
|
+
const branch = (await client.get(`/repos/${owner}/${repo}/branches/${meta.default_branch ?? 'main'}`));
|
|
167
|
+
sha = branch.commit?.sha ?? null;
|
|
168
|
+
}
|
|
169
|
+
if (!sha)
|
|
170
|
+
throw usage('could not resolve a commit to pin');
|
|
171
|
+
const { entries } = await locateSkill(client, owner, repo, name, sha);
|
|
172
|
+
const files = await fetchFiles(client, owner, repo, entries, sha);
|
|
173
|
+
const commands = commandsIn(files['SKILL.md']);
|
|
174
|
+
const ref = `${owner}/${repo}${name ? `@${name}` : ''}#${sha.slice(0, 12)}`;
|
|
175
|
+
if (!input.yes)
|
|
176
|
+
return { installed: false, ref, sha, license, commands, files: Object.keys(files) };
|
|
177
|
+
const paths = writeSkillFiles(root, skillName, files);
|
|
178
|
+
register(root, { name: skillName, kind: 'added', source: ref, check: null, license, installedAt: nowIso(), installedRun: readState(root).runs, lastUsedRun: null, lastUsedAt: null, paths });
|
|
179
|
+
record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `add ${ref} (${license ?? 'no license'}) confirmed by --yes` });
|
|
180
|
+
return { installed: true, ref, sha, license, commands, paths };
|
|
181
|
+
}
|
|
182
|
+
export function listSkills(root) {
|
|
183
|
+
return { common: [...COMMON_SKILLS], project: readRegistry(root).skills, currentRun: readState(root).runs };
|
|
184
|
+
}
|
|
185
|
+
export function markUsed(root, name) {
|
|
186
|
+
const registry = readRegistry(root);
|
|
187
|
+
const skill = registry.skills.find((s) => s.name === name);
|
|
188
|
+
if (!skill)
|
|
189
|
+
throw usage(`not a project skill: ${name}`);
|
|
190
|
+
skill.lastUsedRun = readState(root).runs;
|
|
191
|
+
skill.lastUsedAt = nowIso();
|
|
192
|
+
writeRegistry(root, registry);
|
|
193
|
+
record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `used ${name}`, skillsUsed: [name] });
|
|
194
|
+
return skill;
|
|
195
|
+
}
|
|
196
|
+
export function pruneSkills(root, options = {}) {
|
|
197
|
+
const unusedRuns = options.unusedRuns ?? DEFAULT_UNUSED_RUNS;
|
|
198
|
+
const current = readState(root).runs;
|
|
199
|
+
const registry = readRegistry(root);
|
|
200
|
+
const stale = registry.skills.filter((s) => current - (s.lastUsedRun ?? s.installedRun) >= unusedRuns);
|
|
201
|
+
if (!options.dryRun) {
|
|
202
|
+
for (const s of stale)
|
|
203
|
+
for (const dir of SKILL_DIRS)
|
|
204
|
+
fs.rmSync(path.join(root, dir, s.name), { recursive: true, force: true });
|
|
205
|
+
registry.skills = registry.skills.filter((s) => !stale.includes(s));
|
|
206
|
+
writeRegistry(root, registry);
|
|
207
|
+
if (stale.length > 0)
|
|
208
|
+
record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `prune ${stale.map((s) => s.name).join(', ')} (unused ${unusedRuns} runs)` });
|
|
209
|
+
}
|
|
210
|
+
return { removed: stale.map((s) => s.name), kept: registry.skills.filter((s) => !stale.includes(s)).map((s) => s.name), threshold: unusedRuns };
|
|
211
|
+
}
|
|
212
|
+
export function dismissProposal(root, ref) {
|
|
213
|
+
if (!ref.trim())
|
|
214
|
+
throw usage('skill dismiss <ref>');
|
|
215
|
+
appendJsonl(dismissedPath(root), { ref, at: nowIso() });
|
|
216
|
+
record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `dismiss ${ref}` });
|
|
217
|
+
}
|
|
218
|
+
function hostSignals(root, project) {
|
|
219
|
+
const out = [];
|
|
220
|
+
for (const s of loadScenarios(root)) {
|
|
221
|
+
if (s.check.type !== 'http')
|
|
222
|
+
continue;
|
|
223
|
+
let key;
|
|
224
|
+
try {
|
|
225
|
+
key = new URL(s.check.url).hostname.replace(/^(www|api)\./, '').split('.')[0] ?? '';
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (!key || key === 'localhost' || /^\d+$/.test(key) || project.some((p) => p.name.includes(key)))
|
|
231
|
+
continue;
|
|
232
|
+
if (!out.some((p) => p.ref.endsWith(key)))
|
|
233
|
+
out.push({ kind: 'import', ref: `vibe skill search ${key}`, why: `scenario ${s.id} targets ${key}; no project skill covers it`, source: 'scenarios' });
|
|
234
|
+
}
|
|
235
|
+
return out;
|
|
236
|
+
}
|
|
237
|
+
function regressionSignals(root, project) {
|
|
238
|
+
const bySource = new Map();
|
|
239
|
+
for (const r of listRegressions(root)) {
|
|
240
|
+
const match = /source ([a-z0-9-]+):/.exec(r.then);
|
|
241
|
+
if (match)
|
|
242
|
+
bySource.set(match[1], (bySource.get(match[1]) ?? 0) + 1);
|
|
243
|
+
}
|
|
244
|
+
const scenarios = loadScenarios(root);
|
|
245
|
+
const out = [];
|
|
246
|
+
for (const [id, n] of bySource) {
|
|
247
|
+
const scenario = scenarios.find((s) => s.id === id);
|
|
248
|
+
if (n < 2 || !scenario || scenario.check.type === 'human' || project.some((p) => p.name === `${id}-guard`))
|
|
249
|
+
continue;
|
|
250
|
+
out.push({ kind: 'create', ref: `vibe skill create ${id}-guard --from-scenario ${id}`, why: `${n} regressions trace to scenario ${id}`, source: 'regressions' });
|
|
251
|
+
}
|
|
252
|
+
return out;
|
|
253
|
+
}
|
|
254
|
+
function questionSignals(root) {
|
|
255
|
+
const counts = new Map();
|
|
256
|
+
for (const e of readJsonl(inboxPath(root))) {
|
|
257
|
+
if (e.type !== 'question' || !e.question || e.question.startsWith('STUCK'))
|
|
258
|
+
continue;
|
|
259
|
+
counts.set(e.question, (counts.get(e.question) ?? 0) + 1);
|
|
260
|
+
}
|
|
261
|
+
return [...counts.entries()].filter(([, n]) => n >= 2).map(([q, n]) => ({ kind: 'knowledge', ref: `vibe knowledge add --title ${JSON.stringify(q.slice(0, 60))}`, why: `the same question was asked ${n} times — an answer in knowledge/ stops it`, source: 'inbox' }));
|
|
262
|
+
}
|
|
263
|
+
function handoffSignals(root, project) {
|
|
264
|
+
if (readState(root).state !== 'DONE')
|
|
265
|
+
return [];
|
|
266
|
+
return loadScenarios(root)
|
|
267
|
+
.filter((s) => s.irreversible && s.check.type !== 'human' && !project.some((p) => p.name === `run-${s.id}`))
|
|
268
|
+
.map((s) => ({ kind: 'create', ref: `vibe skill create run-${s.id} --from-scenario ${s.id}`, why: `handoff: ${s.id} is irreversible (${s.irreversible}) — the operator needs the procedure with its check`, source: 'state' }));
|
|
269
|
+
}
|
|
270
|
+
export function suggestSkills(root, all = false) {
|
|
271
|
+
const project = readRegistry(root).skills;
|
|
272
|
+
const dismissed = new Set(readJsonl(dismissedPath(root)).map((d) => d.ref));
|
|
273
|
+
const proposals = [...handoffSignals(root, project), ...regressionSignals(root, project), ...hostSignals(root, project), ...questionSignals(root)].filter((p) => !dismissed.has(p.ref));
|
|
274
|
+
return all ? proposals : proposals.slice(0, MAX_PROPOSALS);
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { invalidTransition } from './errors.js';
|
|
2
|
+
import { vibePath } from './paths.js';
|
|
3
|
+
import { nowIso, readJson, writeJson } from './store.js';
|
|
4
|
+
/** Allowed transitions. Anything else exits 4 — the model naming a state changes nothing. */
|
|
5
|
+
export const TRANSITIONS = {
|
|
6
|
+
NONE: ['DRAFT'],
|
|
7
|
+
DRAFT: ['DRAFT', 'APPROVED', 'ABANDONED'],
|
|
8
|
+
APPROVED: ['RUNNING', 'DRAFT', 'ABANDONED'],
|
|
9
|
+
RUNNING: ['RUNNING', 'DONE', 'STUCK', 'DRAFT', 'ABANDONED'],
|
|
10
|
+
STUCK: ['RUNNING', 'DRAFT', 'ABANDONED'],
|
|
11
|
+
DONE: ['RUNNING', 'DRAFT', 'ABANDONED'],
|
|
12
|
+
ABANDONED: ['DRAFT'],
|
|
13
|
+
};
|
|
14
|
+
export function emptyState() {
|
|
15
|
+
return {
|
|
16
|
+
state: 'NONE',
|
|
17
|
+
intentHash: null,
|
|
18
|
+
approvedAt: null,
|
|
19
|
+
runs: 0,
|
|
20
|
+
failStreak: 0,
|
|
21
|
+
lastFailHash: null,
|
|
22
|
+
doneAt: null,
|
|
23
|
+
doneTree: null,
|
|
24
|
+
abandonedReason: null,
|
|
25
|
+
updatedAt: nowIso(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function statePath(root) {
|
|
29
|
+
return vibePath(root, 'state.json');
|
|
30
|
+
}
|
|
31
|
+
export function readState(root) {
|
|
32
|
+
return readJson(statePath(root)) ?? emptyState();
|
|
33
|
+
}
|
|
34
|
+
export function writeState(root, next) {
|
|
35
|
+
const stamped = { ...next, updatedAt: nowIso() };
|
|
36
|
+
writeJson(statePath(root), stamped);
|
|
37
|
+
return stamped;
|
|
38
|
+
}
|
|
39
|
+
export function canTransition(from, to) {
|
|
40
|
+
return TRANSITIONS[from].includes(to);
|
|
41
|
+
}
|
|
42
|
+
/** The only write path that honours the transition table. */
|
|
43
|
+
export function transition(root, to, patch = {}) {
|
|
44
|
+
const current = readState(root);
|
|
45
|
+
if (!canTransition(current.state, to)) {
|
|
46
|
+
throw invalidTransition(`cannot go ${current.state} → ${to}`);
|
|
47
|
+
}
|
|
48
|
+
return writeState(root, { ...current, ...patch, state: to });
|
|
49
|
+
}
|
|
50
|
+
/** The stage is derived from state — never stored. */
|
|
51
|
+
export function stageOf(state, hasIntent, allPassedOnce) {
|
|
52
|
+
switch (state.state) {
|
|
53
|
+
case 'NONE':
|
|
54
|
+
return 'discover';
|
|
55
|
+
case 'DRAFT':
|
|
56
|
+
return hasIntent ? 'scope' : 'discover';
|
|
57
|
+
case 'APPROVED':
|
|
58
|
+
return 'build';
|
|
59
|
+
case 'RUNNING':
|
|
60
|
+
case 'STUCK':
|
|
61
|
+
return allPassedOnce ? 'prove' : 'build';
|
|
62
|
+
case 'DONE':
|
|
63
|
+
return 'handoff';
|
|
64
|
+
case 'ABANDONED':
|
|
65
|
+
return 'discover';
|
|
66
|
+
default:
|
|
67
|
+
return 'discover';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmBzD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAwC;IAC9D,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC;IACzC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IAC3C,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;IAC3D,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IACxC,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;IACvC,SAAS,EAAE,CAAC,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,MAAM,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAY,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAe;IACtD,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACjD,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAW,EAAE,EAAS;IAClD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,EAAS,EAAE,QAA4B,EAAE;IAChF,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,iBAAiB,CAAC,aAAa,OAAO,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,OAAO,CAAC,KAAgB,EAAE,SAAkB,EAAE,aAAsB;IAClF,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC1C,KAAK,UAAU;YACb,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3C,KAAK,MAAM;YACT,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
export function ensureDir(dir) {
|
|
4
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
5
|
+
}
|
|
6
|
+
export function readText(file) {
|
|
7
|
+
try {
|
|
8
|
+
return fs.readFileSync(file, 'utf-8');
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** Temp file → rename. Readers never see a half-written file. */
|
|
15
|
+
export function writeAtomic(file, text) {
|
|
16
|
+
ensureDir(path.dirname(file));
|
|
17
|
+
const tmp = `${file}.${process.pid}.${Date.now()}.tmp`;
|
|
18
|
+
fs.writeFileSync(tmp, text, 'utf-8');
|
|
19
|
+
fs.renameSync(tmp, file);
|
|
20
|
+
}
|
|
21
|
+
export function readJson(file) {
|
|
22
|
+
const text = readText(file);
|
|
23
|
+
if (text === null)
|
|
24
|
+
return null;
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(text);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function writeJson(file, value) {
|
|
33
|
+
writeAtomic(file, `${JSON.stringify(value, null, 2)}\n`);
|
|
34
|
+
}
|
|
35
|
+
export function appendJsonl(file, value) {
|
|
36
|
+
ensureDir(path.dirname(file));
|
|
37
|
+
fs.appendFileSync(file, `${JSON.stringify(value)}\n`, 'utf-8');
|
|
38
|
+
}
|
|
39
|
+
export function readJsonl(file) {
|
|
40
|
+
const text = readText(file);
|
|
41
|
+
if (text === null)
|
|
42
|
+
return [];
|
|
43
|
+
const out = [];
|
|
44
|
+
for (const line of text.split('\n')) {
|
|
45
|
+
if (!line.trim())
|
|
46
|
+
continue;
|
|
47
|
+
try {
|
|
48
|
+
out.push(JSON.parse(line));
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// skip broken lines — the trace of a crash mid-append
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
export function nowIso() {
|
|
57
|
+
return new Date().toISOString();
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAY;IACpD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACvD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,IAAY;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAc;IACpD,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAc;IACtD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,IAAY;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
export function formatOf(file) {
|
|
3
|
+
const ext = path.extname(file).toLowerCase();
|
|
4
|
+
if (ext === '.csv')
|
|
5
|
+
return 'csv';
|
|
6
|
+
if (ext === '.tsv')
|
|
7
|
+
return 'tsv';
|
|
8
|
+
if (ext === '.jsonl' || ext === '.ndjson')
|
|
9
|
+
return 'jsonl';
|
|
10
|
+
if (ext === '.json')
|
|
11
|
+
return 'json';
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
/** RFC 4180 fields: quotes, doubled quotes, delimiters and newlines inside quotes. */
|
|
15
|
+
function splitRecords(text, delimiter) {
|
|
16
|
+
const records = [];
|
|
17
|
+
let field = '';
|
|
18
|
+
let record = [];
|
|
19
|
+
let quoted = false;
|
|
20
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
21
|
+
const ch = text[i];
|
|
22
|
+
if (quoted) {
|
|
23
|
+
if (ch === '"' && text[i + 1] === '"') {
|
|
24
|
+
field += '"';
|
|
25
|
+
i += 1;
|
|
26
|
+
}
|
|
27
|
+
else if (ch === '"')
|
|
28
|
+
quoted = false;
|
|
29
|
+
else
|
|
30
|
+
field += ch;
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (ch === '"')
|
|
34
|
+
quoted = true;
|
|
35
|
+
else if (ch === delimiter) {
|
|
36
|
+
record.push(field);
|
|
37
|
+
field = '';
|
|
38
|
+
}
|
|
39
|
+
else if (ch === '\n' || ch === '\r') {
|
|
40
|
+
if (ch === '\r' && text[i + 1] === '\n')
|
|
41
|
+
i += 1;
|
|
42
|
+
record.push(field);
|
|
43
|
+
records.push(record);
|
|
44
|
+
record = [];
|
|
45
|
+
field = '';
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
field += ch;
|
|
49
|
+
}
|
|
50
|
+
if (field !== '' || record.length > 0) {
|
|
51
|
+
record.push(field);
|
|
52
|
+
records.push(record);
|
|
53
|
+
}
|
|
54
|
+
return records.filter((r) => !(r.length === 1 && r[0] === ''));
|
|
55
|
+
}
|
|
56
|
+
function cellOf(raw) {
|
|
57
|
+
const text = raw.trim();
|
|
58
|
+
if (text === '')
|
|
59
|
+
return null;
|
|
60
|
+
if (/^-?\d+(\.\d+)?$/.test(text) || /^-?\d{1,3}(,\d{3})+(\.\d+)?$/.test(text))
|
|
61
|
+
return Number(text.replace(/,/g, ''));
|
|
62
|
+
if (text === 'true' || text === 'false')
|
|
63
|
+
return text === 'true';
|
|
64
|
+
return raw;
|
|
65
|
+
}
|
|
66
|
+
function fromDelimited(text, delimiter, format) {
|
|
67
|
+
const records = splitRecords(text.replace(/^/, ''), delimiter);
|
|
68
|
+
const columns = (records[0] ?? []).map((c) => c.trim());
|
|
69
|
+
const rows = records.slice(1).map((r) => Object.fromEntries(columns.map((c, i) => [c, cellOf(r[i] ?? '')])));
|
|
70
|
+
return { format, columns, rows };
|
|
71
|
+
}
|
|
72
|
+
function normalise(value) {
|
|
73
|
+
if (value === null || value === undefined)
|
|
74
|
+
return null;
|
|
75
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
|
|
76
|
+
return value;
|
|
77
|
+
return JSON.stringify(value);
|
|
78
|
+
}
|
|
79
|
+
function fromObjects(objects, format) {
|
|
80
|
+
const columns = [];
|
|
81
|
+
const rows = [];
|
|
82
|
+
for (const item of objects) {
|
|
83
|
+
if (typeof item !== 'object' || item === null || Array.isArray(item))
|
|
84
|
+
continue;
|
|
85
|
+
const row = {};
|
|
86
|
+
for (const [key, value] of Object.entries(item)) {
|
|
87
|
+
if (!columns.includes(key))
|
|
88
|
+
columns.push(key);
|
|
89
|
+
row[key] = normalise(value);
|
|
90
|
+
}
|
|
91
|
+
rows.push(row);
|
|
92
|
+
}
|
|
93
|
+
return { format, columns, rows };
|
|
94
|
+
}
|
|
95
|
+
export function parseTable(text, format) {
|
|
96
|
+
if (format === 'csv')
|
|
97
|
+
return fromDelimited(text, ',', 'csv');
|
|
98
|
+
if (format === 'tsv')
|
|
99
|
+
return fromDelimited(text, '\t', 'tsv');
|
|
100
|
+
if (format === 'jsonl') {
|
|
101
|
+
return fromObjects(text.split('\n').filter((l) => l.trim()).map((l) => JSON.parse(l)), 'jsonl');
|
|
102
|
+
}
|
|
103
|
+
const parsed = JSON.parse(text);
|
|
104
|
+
return fromObjects(Array.isArray(parsed) ? parsed : [parsed], 'json');
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/core/table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createHash, randomInt } from 'node:crypto';
|
|
2
|
+
import { vibePath } from './paths.js';
|
|
3
|
+
import { appendJsonl, nowIso, readJsonl } from './store.js';
|
|
4
|
+
export const TOKEN_TTL_MS = 10 * 60 * 1000;
|
|
5
|
+
export const TOKEN_MAX_FAILURES = 3;
|
|
6
|
+
export function tokensPath(root) {
|
|
7
|
+
return vibePath(root, 'inbox.jsonl');
|
|
8
|
+
}
|
|
9
|
+
export function hashToken(digits) {
|
|
10
|
+
return createHash('sha256').update(`vibe-token:${digits}`).digest('hex');
|
|
11
|
+
}
|
|
12
|
+
export function hashTarget(value) {
|
|
13
|
+
return createHash('sha256').update(value).digest('hex').slice(0, 16);
|
|
14
|
+
}
|
|
15
|
+
export function foldTokens(root) {
|
|
16
|
+
const views = new Map();
|
|
17
|
+
for (const event of readJsonl(tokensPath(root))) {
|
|
18
|
+
if (event.type === 'token') {
|
|
19
|
+
views.set(event.id, { ...event, usedAt: null, failures: 0 });
|
|
20
|
+
}
|
|
21
|
+
else if (event.type === 'token-used') {
|
|
22
|
+
const view = views.get(event.id);
|
|
23
|
+
if (view)
|
|
24
|
+
view.usedAt = event.at;
|
|
25
|
+
}
|
|
26
|
+
else if (event.type === 'token-failed') {
|
|
27
|
+
const view = views.get(event.id);
|
|
28
|
+
if (view)
|
|
29
|
+
view.failures += 1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return views;
|
|
33
|
+
}
|
|
34
|
+
function formatDigits(digits) {
|
|
35
|
+
return `${digits.slice(0, 3)} ${digits.slice(3)}`;
|
|
36
|
+
}
|
|
37
|
+
export function issueToken(root, kind, target) {
|
|
38
|
+
const digits = String(randomInt(0, 1_000_000)).padStart(6, '0');
|
|
39
|
+
const issuedAt = nowIso();
|
|
40
|
+
const expiresAt = new Date(Date.now() + TOKEN_TTL_MS).toISOString();
|
|
41
|
+
const id = `t-${Date.now().toString(36)}-${randomInt(0, 4096).toString(36)}`;
|
|
42
|
+
const event = { type: 'token', id, kind, target, tokenHash: hashToken(digits), issuedAt, expiresAt };
|
|
43
|
+
appendJsonl(tokensPath(root), event);
|
|
44
|
+
return { id, token: formatDigits(digits), expiresAt };
|
|
45
|
+
}
|
|
46
|
+
/** Verify and consume once. Failures are recorded; three failures kill the token. */
|
|
47
|
+
export function verifyAndConsume(root, kind, target, token, now = new Date()) {
|
|
48
|
+
const digits = token.replace(/\D/g, '');
|
|
49
|
+
if (digits.length !== 6)
|
|
50
|
+
return { ok: false, reason: 'a token is six digits' };
|
|
51
|
+
const wanted = hashToken(digits);
|
|
52
|
+
const candidates = [...foldTokens(root).values()].filter((view) => view.kind === kind && view.target === target && view.usedAt === null);
|
|
53
|
+
if (candidates.length === 0)
|
|
54
|
+
return { ok: false, reason: `no ${kind} token was issued for this target — ask for a new one` };
|
|
55
|
+
const live = candidates.filter((view) => view.failures < TOKEN_MAX_FAILURES && new Date(view.expiresAt).getTime() > now.getTime());
|
|
56
|
+
if (live.length === 0)
|
|
57
|
+
return { ok: false, reason: 'token expired or revoked after 3 failures — ask for a new one' };
|
|
58
|
+
const match = live.find((view) => view.tokenHash === wanted);
|
|
59
|
+
if (!match) {
|
|
60
|
+
for (const view of live)
|
|
61
|
+
appendJsonl(tokensPath(root), { type: 'token-failed', id: view.id, at: nowIso() });
|
|
62
|
+
return { ok: false, reason: 'token does not match' };
|
|
63
|
+
}
|
|
64
|
+
appendJsonl(tokensPath(root), { type: 'token-used', id: match.id, at: nowIso() });
|
|
65
|
+
return { ok: true, id: match.id };
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/core/tokens.ts"],"names":[],"mappings":"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"}
|