@su-record/vibe 2.7.10 → 2.7.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +37 -37
- package/CLAUDE.md +126 -222
- package/LICENSE +21 -21
- package/README.md +580 -580
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +266 -266
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +260 -260
- package/commands/vibe.run.md +83 -0
- package/commands/vibe.spec.review.md +558 -558
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.voice.md +79 -79
- package/dist/cli/auth.d.ts +1 -1
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +15 -7
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +62 -56
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +9 -6
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.d.ts +13 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +83 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +64 -47
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +47 -47
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts +8 -0
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +33 -0
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/postinstall/index.d.ts +1 -1
- package/dist/cli/postinstall/index.d.ts.map +1 -1
- package/dist/cli/postinstall/index.js +1 -1
- package/dist/cli/postinstall/index.js.map +1 -1
- package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
- package/dist/cli/setup/ProjectSetup.js +5 -0
- package/dist/cli/setup/ProjectSetup.js.map +1 -1
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/cli/types.d.ts +1 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts +79 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.d.ts.map +1 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +259 -0
- package/dist/infra/lib/evolution/DescriptionOptimizer.js.map +1 -0
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts +81 -0
- package/dist/infra/lib/evolution/SkillBenchmark.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillBenchmark.js +233 -0
- package/dist/infra/lib/evolution/SkillBenchmark.js.map +1 -0
- package/dist/infra/lib/evolution/SkillClassifier.d.ts +35 -0
- package/dist/infra/lib/evolution/SkillClassifier.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillClassifier.js +167 -0
- package/dist/infra/lib/evolution/SkillClassifier.js.map +1 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts +102 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.d.ts.map +1 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.js +256 -0
- package/dist/infra/lib/evolution/SkillEvalRunner.js.map +1 -0
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/evolution/__tests__/eval.test.d.ts +2 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.d.ts.map +1 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.js +539 -0
- package/dist/infra/lib/evolution/__tests__/eval.test.js.map +1 -0
- package/dist/infra/lib/evolution/index.d.ts +8 -0
- package/dist/infra/lib/evolution/index.d.ts.map +1 -1
- package/dist/infra/lib/evolution/index.js +5 -0
- package/dist/infra/lib/evolution/index.js.map +1 -1
- package/dist/infra/lib/gemini/constants.js +14 -14
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/oauth.js +44 -44
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +70 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +646 -646
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -0
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -0
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +59 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +48 -48
- package/skills/e2e-commerce/SKILL.md +57 -57
- package/skills/exec-plan/SKILL.md +147 -0
- package/skills/frontend-design/SKILL.md +73 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +65 -65
- package/skills/ui-ux-pro-max/SKILL.md +206 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval.test.js","sourceRoot":"","sources":["../../../../../src/infra/lib/evolution/__tests__/eval.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,4 +20,12 @@ export { LifecycleManager } from './LifecycleManager.js';
|
|
|
20
20
|
export { RollbackManager } from './RollbackManager.js';
|
|
21
21
|
export { CircuitBreaker } from './CircuitBreaker.js';
|
|
22
22
|
export type { CircuitState } from './CircuitBreaker.js';
|
|
23
|
+
export { SkillEvalRunner } from './SkillEvalRunner.js';
|
|
24
|
+
export type { SkillEvalCase, EvalAssertion, EvalRunResult, AssertionGrade, EvalStatus, EvalSetInput, } from './SkillEvalRunner.js';
|
|
25
|
+
export { SkillBenchmark } from './SkillBenchmark.js';
|
|
26
|
+
export type { BenchmarkResult, BenchmarkSummary, VariantStats, DeltaStats, EvalBreakdown, } from './SkillBenchmark.js';
|
|
27
|
+
export { SkillClassifier } from './SkillClassifier.js';
|
|
28
|
+
export type { SkillCategory, ClassificationResult } from './SkillClassifier.js';
|
|
29
|
+
export { DescriptionOptimizer } from './DescriptionOptimizer.js';
|
|
30
|
+
export type { TriggerEvalQuery, TriggerEvalResult, DescriptionCandidate, OptimizationRun, } from './DescriptionOptimizer.js';
|
|
23
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/evolution/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGnH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/evolution/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGnH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAC3D,UAAU,EAAE,YAAY,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EACV,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,GAC3E,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,GAC3E,MAAM,2BAA2B,CAAC"}
|
|
@@ -18,4 +18,9 @@ export { UsageTracker } from './UsageTracker.js';
|
|
|
18
18
|
export { LifecycleManager } from './LifecycleManager.js';
|
|
19
19
|
export { RollbackManager } from './RollbackManager.js';
|
|
20
20
|
export { CircuitBreaker } from './CircuitBreaker.js';
|
|
21
|
+
// Phase 5: Skill Testing & Evaluation
|
|
22
|
+
export { SkillEvalRunner } from './SkillEvalRunner.js';
|
|
23
|
+
export { SkillBenchmark } from './SkillBenchmark.js';
|
|
24
|
+
export { SkillClassifier } from './SkillClassifier.js';
|
|
25
|
+
export { DescriptionOptimizer } from './DescriptionOptimizer.js';
|
|
21
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/evolution/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,2BAA2B;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infra/lib/evolution/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,2BAA2B;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,2BAA2B;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -57,20 +57,20 @@ export const ANTIGRAVITY_METADATA = {
|
|
|
57
57
|
ideType: 'ANTIGRAVITY',
|
|
58
58
|
ideVersion: ANTIGRAVITY_IDE_VERSION,
|
|
59
59
|
};
|
|
60
|
-
export const ANTIGRAVITY_SYSTEM_INSTRUCTION = `<identity>
|
|
61
|
-
You are a powerful agentic AI coding assistant.
|
|
62
|
-
You are pair programming with a USER to solve their coding task.
|
|
63
|
-
</identity>
|
|
64
|
-
|
|
65
|
-
<tool_calling>
|
|
66
|
-
Call tools as you normally would. Always use absolute file paths.
|
|
67
|
-
</tool_calling>
|
|
68
|
-
|
|
69
|
-
<communication_style>
|
|
70
|
-
- Format responses in github-style markdown
|
|
71
|
-
- Be proactive in completing tasks
|
|
72
|
-
- Respond like a helpful software engineer
|
|
73
|
-
- Ask for clarification when unsure
|
|
60
|
+
export const ANTIGRAVITY_SYSTEM_INSTRUCTION = `<identity>
|
|
61
|
+
You are a powerful agentic AI coding assistant.
|
|
62
|
+
You are pair programming with a USER to solve their coding task.
|
|
63
|
+
</identity>
|
|
64
|
+
|
|
65
|
+
<tool_calling>
|
|
66
|
+
Call tools as you normally would. Always use absolute file paths.
|
|
67
|
+
</tool_calling>
|
|
68
|
+
|
|
69
|
+
<communication_style>
|
|
70
|
+
- Format responses in github-style markdown
|
|
71
|
+
- Be proactive in completing tasks
|
|
72
|
+
- Respond like a helpful software engineer
|
|
73
|
+
- Ask for clarification when unsure
|
|
74
74
|
</communication_style>`;
|
|
75
75
|
// =============================================
|
|
76
76
|
// Google OAuth URLs
|
|
@@ -28,35 +28,35 @@ export async function coreGeminiOrchestrate(prompt, systemPrompt, options = {})
|
|
|
28
28
|
* Core Spec 파싱 (Core Spec → 실행 계획)
|
|
29
29
|
*/
|
|
30
30
|
export async function coreGeminiParseSpec(spec) {
|
|
31
|
-
return coreGeminiOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
31
|
+
return coreGeminiOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
32
32
|
Output format: { "phases": [...], "files": [...], "dependencies": [...] }`);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Core 실행 계획 수립 (Task → Steps)
|
|
36
36
|
*/
|
|
37
37
|
export async function coreGeminiPlanExecution(task, context) {
|
|
38
|
-
return coreGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
38
|
+
return coreGeminiOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
39
39
|
Output format: { "steps": [{ "id": 1, "action": "...", "target": "...", "expected": "..." }], "estimatedComplexity": "low|medium|high" }`);
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Core 코드 분석 (빠른 구조 분석)
|
|
43
43
|
*/
|
|
44
44
|
export async function coreGeminiAnalyze(code, question) {
|
|
45
|
-
return coreGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
45
|
+
return coreGeminiOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
46
46
|
Output format: { "answer": "...", "confidence": 0.0-1.0, "relatedSymbols": [...] }`);
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Core 다음 액션 결정 (상태 기반)
|
|
50
50
|
*/
|
|
51
51
|
export async function coreGeminiDecideNextAction(currentState, availableActions, goal) {
|
|
52
|
-
return coreGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
52
|
+
return coreGeminiOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
53
53
|
Output format: { "selectedAction": "...", "reason": "...", "parameters": {} }`);
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Core UI/UX 분석 (검색 없이 내부 지식으로)
|
|
57
57
|
*/
|
|
58
58
|
export async function coreGeminiAnalyzeUX(description) {
|
|
59
|
-
return coreGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
|
|
59
|
+
return coreGeminiOrchestrate(description, `You are a UI/UX expert. Analyze the given design description and provide structured feedback.
|
|
60
60
|
Output format: { "issues": [...], "suggestions": [...], "accessibility": { "score": 0-100, "concerns": [...] } }`, { jsonMode: true });
|
|
61
61
|
}
|
|
62
62
|
//# sourceMappingURL=orchestration.js.map
|
|
@@ -238,16 +238,16 @@ export function startOAuthFlow() {
|
|
|
238
238
|
const errorDescription = url.searchParams.get('error_description');
|
|
239
239
|
if (error) {
|
|
240
240
|
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
241
|
-
res.end(`
|
|
242
|
-
<html>
|
|
243
|
-
<head><title>Authentication Failed</title></head>
|
|
244
|
-
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
245
|
-
<h1>Authentication Failed</h1>
|
|
246
|
-
<p>Error: ${error}</p>
|
|
247
|
-
<p>${errorDescription || ''}</p>
|
|
248
|
-
<p>Please close this window and try again.</p>
|
|
249
|
-
</body>
|
|
250
|
-
</html>
|
|
241
|
+
res.end(`
|
|
242
|
+
<html>
|
|
243
|
+
<head><title>Authentication Failed</title></head>
|
|
244
|
+
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
245
|
+
<h1>Authentication Failed</h1>
|
|
246
|
+
<p>Error: ${error}</p>
|
|
247
|
+
<p>${errorDescription || ''}</p>
|
|
248
|
+
<p>Please close this window and try again.</p>
|
|
249
|
+
</body>
|
|
250
|
+
</html>
|
|
251
251
|
`);
|
|
252
252
|
if (!isResolved) {
|
|
253
253
|
isResolved = true;
|
|
@@ -259,14 +259,14 @@ export function startOAuthFlow() {
|
|
|
259
259
|
// state 검증
|
|
260
260
|
if (state !== auth.state) {
|
|
261
261
|
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
262
|
-
res.end(`
|
|
263
|
-
<html>
|
|
264
|
-
<head><title>Authentication Failed</title></head>
|
|
265
|
-
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
266
|
-
<h1>Authentication Failed</h1>
|
|
267
|
-
<p>State mismatch - possible CSRF attack</p>
|
|
268
|
-
</body>
|
|
269
|
-
</html>
|
|
262
|
+
res.end(`
|
|
263
|
+
<html>
|
|
264
|
+
<head><title>Authentication Failed</title></head>
|
|
265
|
+
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
266
|
+
<h1>Authentication Failed</h1>
|
|
267
|
+
<p>State mismatch - possible CSRF attack</p>
|
|
268
|
+
</body>
|
|
269
|
+
</html>
|
|
270
270
|
`);
|
|
271
271
|
if (!isResolved) {
|
|
272
272
|
isResolved = true;
|
|
@@ -277,14 +277,14 @@ export function startOAuthFlow() {
|
|
|
277
277
|
}
|
|
278
278
|
if (!code) {
|
|
279
279
|
res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
280
|
-
res.end(`
|
|
281
|
-
<html>
|
|
282
|
-
<head><title>Authentication Failed</title></head>
|
|
283
|
-
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
284
|
-
<h1>Authentication Failed</h1>
|
|
285
|
-
<p>Authorization code missing.</p>
|
|
286
|
-
</body>
|
|
287
|
-
</html>
|
|
280
|
+
res.end(`
|
|
281
|
+
<html>
|
|
282
|
+
<head><title>Authentication Failed</title></head>
|
|
283
|
+
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
284
|
+
<h1>Authentication Failed</h1>
|
|
285
|
+
<p>Authorization code missing.</p>
|
|
286
|
+
</body>
|
|
287
|
+
</html>
|
|
288
288
|
`);
|
|
289
289
|
if (!isResolved) {
|
|
290
290
|
isResolved = true;
|
|
@@ -296,16 +296,16 @@ export function startOAuthFlow() {
|
|
|
296
296
|
try {
|
|
297
297
|
const tokens = await exchangeCodeForTokens(code, auth.verifier);
|
|
298
298
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
299
|
-
res.end(`
|
|
300
|
-
<html>
|
|
301
|
-
<head><title>Authentication Successful</title></head>
|
|
302
|
-
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
303
|
-
<h1>Authentication Successful!</h1>
|
|
304
|
-
<p>Logged in as ${tokens.email}.</p>
|
|
305
|
-
<p>You may close this window.</p>
|
|
306
|
-
<script>setTimeout(() => window.close(), 2000);</script>
|
|
307
|
-
</body>
|
|
308
|
-
</html>
|
|
299
|
+
res.end(`
|
|
300
|
+
<html>
|
|
301
|
+
<head><title>Authentication Successful</title></head>
|
|
302
|
+
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
303
|
+
<h1>Authentication Successful!</h1>
|
|
304
|
+
<p>Logged in as ${tokens.email}.</p>
|
|
305
|
+
<p>You may close this window.</p>
|
|
306
|
+
<script>setTimeout(() => window.close(), 2000);</script>
|
|
307
|
+
</body>
|
|
308
|
+
</html>
|
|
309
309
|
`);
|
|
310
310
|
if (!isResolved) {
|
|
311
311
|
isResolved = true;
|
|
@@ -315,14 +315,14 @@ export function startOAuthFlow() {
|
|
|
315
315
|
}
|
|
316
316
|
catch (err) {
|
|
317
317
|
res.writeHead(500, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
318
|
-
res.end(`
|
|
319
|
-
<html>
|
|
320
|
-
<head><title>Authentication Failed</title></head>
|
|
321
|
-
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
322
|
-
<h1>Authentication Failed</h1>
|
|
323
|
-
<p>${err.message}</p>
|
|
324
|
-
</body>
|
|
325
|
-
</html>
|
|
318
|
+
res.end(`
|
|
319
|
+
<html>
|
|
320
|
+
<head><title>Authentication Failed</title></head>
|
|
321
|
+
<body style="font-family: sans-serif; text-align: center; padding-top: 50px;">
|
|
322
|
+
<h1>Authentication Failed</h1>
|
|
323
|
+
<p>${err.message}</p>
|
|
324
|
+
</body>
|
|
325
|
+
</html>
|
|
326
326
|
`);
|
|
327
327
|
if (!isResolved) {
|
|
328
328
|
isResolved = true;
|
|
@@ -25,28 +25,28 @@ export async function coreGptOrchestrate(prompt, systemPrompt, options = {}) {
|
|
|
25
25
|
* Core Spec 파싱 (Core Spec → 실행 계획)
|
|
26
26
|
*/
|
|
27
27
|
export async function coreGptParseSpec(spec) {
|
|
28
|
-
return coreGptOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
28
|
+
return coreGptOrchestrate(spec, `You are a Core Spec parser. Parse the given specification and output a structured execution plan.
|
|
29
29
|
Output format: { "phases": [...], "files": [...], "dependencies": [...] }`);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Core 실행 계획 수립 (Task → Steps)
|
|
33
33
|
*/
|
|
34
34
|
export async function coreGptPlanExecution(task, context) {
|
|
35
|
-
return coreGptOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
35
|
+
return coreGptOrchestrate(`Task: ${task}\n\nContext:\n${context}`, `You are a Core execution planner. Given a task and context, create a step-by-step execution plan.
|
|
36
36
|
Output format: { "steps": [{ "id": 1, "action": "...", "target": "...", "expected": "..." }], "estimatedComplexity": "low|medium|high" }`);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Core 코드 분석 (빠른 구조 분석)
|
|
40
40
|
*/
|
|
41
41
|
export async function coreGptAnalyze(code, question) {
|
|
42
|
-
return coreGptOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
42
|
+
return coreGptOrchestrate(`Code:\n\`\`\`\n${code}\n\`\`\`\n\nQuestion: ${question}`, `You are a code analyzer. Answer the question about the given code concisely.
|
|
43
43
|
Output format: { "answer": "...", "confidence": 0.0-1.0, "relatedSymbols": [...] }`);
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Core 다음 액션 결정 (상태 기반)
|
|
47
47
|
*/
|
|
48
48
|
export async function coreGptDecideNextAction(currentState, availableActions, goal) {
|
|
49
|
-
return coreGptOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
49
|
+
return coreGptOrchestrate(`Current State:\n${currentState}\n\nAvailable Actions:\n${availableActions.join('\n')}\n\nGoal: ${goal}`, `You are an action decider. Based on the current state and goal, select the best next action.
|
|
50
50
|
Output format: { "selectedAction": "...", "reason": "...", "parameters": {} }`);
|
|
51
51
|
}
|
|
52
52
|
//# sourceMappingURL=orchestration.js.map
|
|
@@ -14,10 +14,10 @@ export class KnowledgeGraph {
|
|
|
14
14
|
const timestamp = new Date().toISOString();
|
|
15
15
|
const metadataJson = metadata ? JSON.stringify(metadata) : null;
|
|
16
16
|
try {
|
|
17
|
-
const stmt = this.db.prepare(`
|
|
18
|
-
INSERT OR REPLACE INTO memory_relations
|
|
19
|
-
(sourceKey, targetKey, relationType, strength, metadata, timestamp)
|
|
20
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
17
|
+
const stmt = this.db.prepare(`
|
|
18
|
+
INSERT OR REPLACE INTO memory_relations
|
|
19
|
+
(sourceKey, targetKey, relationType, strength, metadata, timestamp)
|
|
20
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
21
21
|
`);
|
|
22
22
|
stmt.run(sourceKey, targetKey, relationType, strength, metadataJson, timestamp);
|
|
23
23
|
return true;
|
|
@@ -62,22 +62,22 @@ export class MemorySearch {
|
|
|
62
62
|
return this.searchKeywordLike(query, limit, category);
|
|
63
63
|
}
|
|
64
64
|
if (category) {
|
|
65
|
-
const stmt = this.db.prepare(`
|
|
66
|
-
SELECT m.*, bm25(memories_fts) as rank
|
|
67
|
-
FROM memories_fts fts
|
|
68
|
-
JOIN memories m ON m.rowid = fts.rowid
|
|
69
|
-
WHERE memories_fts MATCH ? AND m.category = ?
|
|
70
|
-
ORDER BY rank
|
|
71
|
-
LIMIT ?
|
|
65
|
+
const stmt = this.db.prepare(`
|
|
66
|
+
SELECT m.*, bm25(memories_fts) as rank
|
|
67
|
+
FROM memories_fts fts
|
|
68
|
+
JOIN memories m ON m.rowid = fts.rowid
|
|
69
|
+
WHERE memories_fts MATCH ? AND m.category = ?
|
|
70
|
+
ORDER BY rank
|
|
71
|
+
LIMIT ?
|
|
72
72
|
`);
|
|
73
73
|
return stmt.all(MemoryStorage.sanitizeFTS5Query(query), category, limit);
|
|
74
74
|
}
|
|
75
75
|
return this.storage.searchFTS(query, limit);
|
|
76
76
|
}
|
|
77
77
|
searchKeywordLike(query, limit, category) {
|
|
78
|
-
let sql = `
|
|
79
|
-
SELECT * FROM memories
|
|
80
|
-
WHERE (key LIKE ? OR value LIKE ?)
|
|
78
|
+
let sql = `
|
|
79
|
+
SELECT * FROM memories
|
|
80
|
+
WHERE (key LIKE ? OR value LIKE ?)
|
|
81
81
|
`;
|
|
82
82
|
const params = [`%${query}%`, `%${query}%`];
|
|
83
83
|
if (category) {
|
|
@@ -89,20 +89,20 @@ export class MemorySearch {
|
|
|
89
89
|
return this.db.prepare(sql).all(...params);
|
|
90
90
|
}
|
|
91
91
|
searchTemporal(query, limit) {
|
|
92
|
-
const sql = `
|
|
93
|
-
SELECT * FROM memories
|
|
94
|
-
WHERE key LIKE ? OR value LIKE ?
|
|
95
|
-
ORDER BY timestamp DESC
|
|
96
|
-
LIMIT ?
|
|
92
|
+
const sql = `
|
|
93
|
+
SELECT * FROM memories
|
|
94
|
+
WHERE key LIKE ? OR value LIKE ?
|
|
95
|
+
ORDER BY timestamp DESC
|
|
96
|
+
LIMIT ?
|
|
97
97
|
`;
|
|
98
98
|
return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
|
|
99
99
|
}
|
|
100
100
|
searchByPriority(query, limit) {
|
|
101
|
-
const sql = `
|
|
102
|
-
SELECT * FROM memories
|
|
103
|
-
WHERE key LIKE ? OR value LIKE ?
|
|
104
|
-
ORDER BY priority DESC, lastAccessed DESC
|
|
105
|
-
LIMIT ?
|
|
101
|
+
const sql = `
|
|
102
|
+
SELECT * FROM memories
|
|
103
|
+
WHERE key LIKE ? OR value LIKE ?
|
|
104
|
+
ORDER BY priority DESC, lastAccessed DESC
|
|
105
|
+
LIMIT ?
|
|
106
106
|
`;
|
|
107
107
|
return this.db.prepare(sql).all(`%${query}%`, `%${query}%`, limit);
|
|
108
108
|
}
|
|
@@ -113,26 +113,26 @@ export class MemorySearch {
|
|
|
113
113
|
let sql;
|
|
114
114
|
const params = [];
|
|
115
115
|
if (category) {
|
|
116
|
-
sql = `
|
|
117
|
-
SELECT m.*,
|
|
118
|
-
(bm25(memories_fts) * -1 + m.priority * 0.5) as relevance_score
|
|
119
|
-
FROM memories_fts fts
|
|
120
|
-
JOIN memories m ON m.rowid = fts.rowid
|
|
121
|
-
WHERE memories_fts MATCH ? AND m.category = ?
|
|
122
|
-
ORDER BY relevance_score DESC, m.lastAccessed DESC
|
|
123
|
-
LIMIT ?
|
|
116
|
+
sql = `
|
|
117
|
+
SELECT m.*,
|
|
118
|
+
(bm25(memories_fts) * -1 + m.priority * 0.5) as relevance_score
|
|
119
|
+
FROM memories_fts fts
|
|
120
|
+
JOIN memories m ON m.rowid = fts.rowid
|
|
121
|
+
WHERE memories_fts MATCH ? AND m.category = ?
|
|
122
|
+
ORDER BY relevance_score DESC, m.lastAccessed DESC
|
|
123
|
+
LIMIT ?
|
|
124
124
|
`;
|
|
125
125
|
params.push(MemoryStorage.sanitizeFTS5Query(query), category, limit);
|
|
126
126
|
}
|
|
127
127
|
else {
|
|
128
|
-
sql = `
|
|
129
|
-
SELECT m.*,
|
|
130
|
-
(bm25(memories_fts) * -1 + m.priority * 0.5) as relevance_score
|
|
131
|
-
FROM memories_fts fts
|
|
132
|
-
JOIN memories m ON m.rowid = fts.rowid
|
|
133
|
-
WHERE memories_fts MATCH ?
|
|
134
|
-
ORDER BY relevance_score DESC, m.lastAccessed DESC
|
|
135
|
-
LIMIT ?
|
|
128
|
+
sql = `
|
|
129
|
+
SELECT m.*,
|
|
130
|
+
(bm25(memories_fts) * -1 + m.priority * 0.5) as relevance_score
|
|
131
|
+
FROM memories_fts fts
|
|
132
|
+
JOIN memories m ON m.rowid = fts.rowid
|
|
133
|
+
WHERE memories_fts MATCH ?
|
|
134
|
+
ORDER BY relevance_score DESC, m.lastAccessed DESC
|
|
135
|
+
LIMIT ?
|
|
136
136
|
`;
|
|
137
137
|
params.push(MemoryStorage.sanitizeFTS5Query(query), limit);
|
|
138
138
|
}
|
|
@@ -145,13 +145,13 @@ export class MemorySearch {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
// LIKE-based fallback
|
|
148
|
-
let sql = `
|
|
149
|
-
SELECT *,
|
|
150
|
-
(CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
|
|
151
|
-
CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
|
|
152
|
-
priority * 0.5) as relevance_score
|
|
153
|
-
FROM memories
|
|
154
|
-
WHERE key LIKE ? OR value LIKE ?
|
|
148
|
+
let sql = `
|
|
149
|
+
SELECT *,
|
|
150
|
+
(CASE WHEN key LIKE ? THEN 3 ELSE 0 END +
|
|
151
|
+
CASE WHEN value LIKE ? THEN 2 ELSE 0 END +
|
|
152
|
+
priority * 0.5) as relevance_score
|
|
153
|
+
FROM memories
|
|
154
|
+
WHERE key LIKE ? OR value LIKE ?
|
|
155
155
|
`;
|
|
156
156
|
const params = [`%${query}%`, `%${query}%`, `%${query}%`, `%${query}%`];
|
|
157
157
|
if (category) {
|
|
@@ -247,24 +247,24 @@ export class MemorySearch {
|
|
|
247
247
|
let sql;
|
|
248
248
|
const params = [];
|
|
249
249
|
if (category) {
|
|
250
|
-
sql = `
|
|
251
|
-
SELECT m.key, bm25(memories_fts) as rank
|
|
252
|
-
FROM memories_fts fts
|
|
253
|
-
JOIN memories m ON m.rowid = fts.rowid
|
|
254
|
-
WHERE memories_fts MATCH ? AND m.category = ?
|
|
255
|
-
ORDER BY rank
|
|
256
|
-
LIMIT ?
|
|
250
|
+
sql = `
|
|
251
|
+
SELECT m.key, bm25(memories_fts) as rank
|
|
252
|
+
FROM memories_fts fts
|
|
253
|
+
JOIN memories m ON m.rowid = fts.rowid
|
|
254
|
+
WHERE memories_fts MATCH ? AND m.category = ?
|
|
255
|
+
ORDER BY rank
|
|
256
|
+
LIMIT ?
|
|
257
257
|
`;
|
|
258
258
|
params.push(MemoryStorage.sanitizeFTS5Query(query), category, limit);
|
|
259
259
|
}
|
|
260
260
|
else {
|
|
261
|
-
sql = `
|
|
262
|
-
SELECT m.key, bm25(memories_fts) as rank
|
|
263
|
-
FROM memories_fts fts
|
|
264
|
-
JOIN memories m ON m.rowid = fts.rowid
|
|
265
|
-
WHERE memories_fts MATCH ?
|
|
266
|
-
ORDER BY rank
|
|
267
|
-
LIMIT ?
|
|
261
|
+
sql = `
|
|
262
|
+
SELECT m.key, bm25(memories_fts) as rank
|
|
263
|
+
FROM memories_fts fts
|
|
264
|
+
JOIN memories m ON m.rowid = fts.rowid
|
|
265
|
+
WHERE memories_fts MATCH ?
|
|
266
|
+
ORDER BY rank
|
|
267
|
+
LIMIT ?
|
|
268
268
|
`;
|
|
269
269
|
params.push(MemoryStorage.sanitizeFTS5Query(query), limit);
|
|
270
270
|
}
|