@egentica/codemap 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +165 -0
- package/README.md +479 -0
- package/dist/adapters/EgenticaMcpAdapter.d.ts +128 -0
- package/dist/adapters/EgenticaMcpAdapter.d.ts.map +1 -0
- package/dist/adapters/EgenticaMcpAdapter.js +218 -0
- package/dist/adapters/EgenticaMcpAdapter.js.map +1 -0
- package/dist/assist/AssistEngine.d.ts +107 -0
- package/dist/assist/AssistEngine.d.ts.map +1 -0
- package/dist/assist/AssistEngine.js +188 -0
- package/dist/assist/AssistEngine.js.map +1 -0
- package/dist/assist/AssistScorer.d.ts +91 -0
- package/dist/assist/AssistScorer.d.ts.map +1 -0
- package/dist/assist/AssistScorer.js +254 -0
- package/dist/assist/AssistScorer.js.map +1 -0
- package/dist/assist/PatternAggregator.d.ts +116 -0
- package/dist/assist/PatternAggregator.d.ts.map +1 -0
- package/dist/assist/PatternAggregator.js +311 -0
- package/dist/assist/PatternAggregator.js.map +1 -0
- package/dist/assist/RelevanceScorer.d.ts +104 -0
- package/dist/assist/RelevanceScorer.d.ts.map +1 -0
- package/dist/assist/RelevanceScorer.js +240 -0
- package/dist/assist/RelevanceScorer.js.map +1 -0
- package/dist/assist/index.d.ts +6 -0
- package/dist/assist/index.d.ts.map +1 -0
- package/dist/assist/index.js +9 -0
- package/dist/assist/index.js.map +1 -0
- package/dist/core/AnnotationStore.d.ts +101 -0
- package/dist/core/AnnotationStore.d.ts.map +1 -0
- package/dist/core/AnnotationStore.js +236 -0
- package/dist/core/AnnotationStore.js.map +1 -0
- package/dist/core/BackupManager.d.ts +92 -0
- package/dist/core/BackupManager.d.ts.map +1 -0
- package/dist/core/BackupManager.js +311 -0
- package/dist/core/BackupManager.js.map +1 -0
- package/dist/core/ChecklistStore.d.ts +66 -0
- package/dist/core/ChecklistStore.d.ts.map +1 -0
- package/dist/core/ChecklistStore.js +199 -0
- package/dist/core/ChecklistStore.js.map +1 -0
- package/dist/core/CodeMap.d.ts +614 -0
- package/dist/core/CodeMap.d.ts.map +1 -0
- package/dist/core/CodeMap.js +880 -0
- package/dist/core/CodeMap.js.map +1 -0
- package/dist/core/DisplayFilter.d.ts +83 -0
- package/dist/core/DisplayFilter.d.ts.map +1 -0
- package/dist/core/DisplayFilter.js +228 -0
- package/dist/core/DisplayFilter.js.map +1 -0
- package/dist/core/EventBus.d.ts +114 -0
- package/dist/core/EventBus.d.ts.map +1 -0
- package/dist/core/EventBus.js +192 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/ExperienceStore.d.ts +170 -0
- package/dist/core/ExperienceStore.d.ts.map +1 -0
- package/dist/core/ExperienceStore.js +292 -0
- package/dist/core/ExperienceStore.js.map +1 -0
- package/dist/core/ExperienceTracker.d.ts +110 -0
- package/dist/core/ExperienceTracker.d.ts.map +1 -0
- package/dist/core/ExperienceTracker.js +291 -0
- package/dist/core/ExperienceTracker.js.map +1 -0
- package/dist/core/FileSystemGraph.d.ts +157 -0
- package/dist/core/FileSystemGraph.d.ts.map +1 -0
- package/dist/core/FileSystemGraph.js +316 -0
- package/dist/core/FileSystemGraph.js.map +1 -0
- package/dist/core/FileSystemIO.d.ts +222 -0
- package/dist/core/FileSystemIO.d.ts.map +1 -0
- package/dist/core/FileSystemIO.js +403 -0
- package/dist/core/FileSystemIO.js.map +1 -0
- package/dist/core/FuzzyMatcher.d.ts +51 -0
- package/dist/core/FuzzyMatcher.d.ts.map +1 -0
- package/dist/core/FuzzyMatcher.js +280 -0
- package/dist/core/FuzzyMatcher.js.map +1 -0
- package/dist/core/GroupStore.d.ts +114 -0
- package/dist/core/GroupStore.d.ts.map +1 -0
- package/dist/core/GroupStore.js +246 -0
- package/dist/core/GroupStore.js.map +1 -0
- package/dist/core/HelpRegistry.d.ts +116 -0
- package/dist/core/HelpRegistry.d.ts.map +1 -0
- package/dist/core/HelpRegistry.js +160 -0
- package/dist/core/HelpRegistry.js.map +1 -0
- package/dist/core/HintRegistry.d.ts +49 -0
- package/dist/core/HintRegistry.d.ts.map +1 -0
- package/dist/core/HintRegistry.js +81 -0
- package/dist/core/HintRegistry.js.map +1 -0
- package/dist/core/LabelStore.d.ts +88 -0
- package/dist/core/LabelStore.d.ts.map +1 -0
- package/dist/core/LabelStore.js +520 -0
- package/dist/core/LabelStore.js.map +1 -0
- package/dist/core/LineRangeWriter.d.ts +63 -0
- package/dist/core/LineRangeWriter.d.ts.map +1 -0
- package/dist/core/LineRangeWriter.js +179 -0
- package/dist/core/LineRangeWriter.js.map +1 -0
- package/dist/core/ParserRegistry.d.ts +70 -0
- package/dist/core/ParserRegistry.d.ts.map +1 -0
- package/dist/core/ParserRegistry.js +109 -0
- package/dist/core/ParserRegistry.js.map +1 -0
- package/dist/core/PluginRegistry.d.ts +120 -0
- package/dist/core/PluginRegistry.d.ts.map +1 -0
- package/dist/core/PluginRegistry.js +230 -0
- package/dist/core/PluginRegistry.js.map +1 -0
- package/dist/core/QueryEngine.d.ts +134 -0
- package/dist/core/QueryEngine.d.ts.map +1 -0
- package/dist/core/QueryEngine.js +211 -0
- package/dist/core/QueryEngine.js.map +1 -0
- package/dist/core/Scanner.d.ts +84 -0
- package/dist/core/Scanner.d.ts.map +1 -0
- package/dist/core/Scanner.js +184 -0
- package/dist/core/Scanner.js.map +1 -0
- package/dist/core/SessionTransactionLog.d.ts +138 -0
- package/dist/core/SessionTransactionLog.d.ts.map +1 -0
- package/dist/core/SessionTransactionLog.js +397 -0
- package/dist/core/SessionTransactionLog.js.map +1 -0
- package/dist/core/TargetParser.d.ts +85 -0
- package/dist/core/TargetParser.d.ts.map +1 -0
- package/dist/core/TargetParser.js +167 -0
- package/dist/core/TargetParser.js.map +1 -0
- package/dist/core/TargetResolver.d.ts +115 -0
- package/dist/core/TargetResolver.d.ts.map +1 -0
- package/dist/core/TargetResolver.js +237 -0
- package/dist/core/TargetResolver.js.map +1 -0
- package/dist/core/WriteSafetyGuard.d.ts +101 -0
- package/dist/core/WriteSafetyGuard.d.ts.map +1 -0
- package/dist/core/WriteSafetyGuard.js +265 -0
- package/dist/core/WriteSafetyGuard.js.map +1 -0
- package/dist/core/index.d.ts +38 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +51 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/query/DependencyTraversal.d.ts +23 -0
- package/dist/core/query/DependencyTraversal.d.ts.map +1 -0
- package/dist/core/query/DependencyTraversal.js +55 -0
- package/dist/core/query/DependencyTraversal.js.map +1 -0
- package/dist/core/query/ResultProcessor.d.ts +20 -0
- package/dist/core/query/ResultProcessor.d.ts.map +1 -0
- package/dist/core/query/ResultProcessor.js +99 -0
- package/dist/core/query/ResultProcessor.js.map +1 -0
- package/dist/core/query/SymbolSearchEngine.d.ts +20 -0
- package/dist/core/query/SymbolSearchEngine.d.ts.map +1 -0
- package/dist/core/query/SymbolSearchEngine.js +109 -0
- package/dist/core/query/SymbolSearchEngine.js.map +1 -0
- package/dist/core/query/TextSearchEngine.d.ts +23 -0
- package/dist/core/query/TextSearchEngine.d.ts.map +1 -0
- package/dist/core/query/TextSearchEngine.js +69 -0
- package/dist/core/query/TextSearchEngine.js.map +1 -0
- package/dist/core/query/index.d.ts +11 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/index.js +18 -0
- package/dist/core/query/index.js.map +1 -0
- package/dist/core/scan/DependencyResolver.d.ts +26 -0
- package/dist/core/scan/DependencyResolver.d.ts.map +1 -0
- package/dist/core/scan/DependencyResolver.js +81 -0
- package/dist/core/scan/DependencyResolver.js.map +1 -0
- package/dist/core/scan/DirectoryWalker.d.ts +39 -0
- package/dist/core/scan/DirectoryWalker.d.ts.map +1 -0
- package/dist/core/scan/DirectoryWalker.js +136 -0
- package/dist/core/scan/DirectoryWalker.js.map +1 -0
- package/dist/core/scan/IgnorePatternMatcher.d.ts +32 -0
- package/dist/core/scan/IgnorePatternMatcher.d.ts.map +1 -0
- package/dist/core/scan/IgnorePatternMatcher.js +120 -0
- package/dist/core/scan/IgnorePatternMatcher.js.map +1 -0
- package/dist/core/scan/index.d.ts +10 -0
- package/dist/core/scan/index.d.ts.map +1 -0
- package/dist/core/scan/index.js +16 -0
- package/dist/core/scan/index.js.map +1 -0
- package/dist/core/utils/packageDiscovery.d.ts +24 -0
- package/dist/core/utils/packageDiscovery.d.ts.map +1 -0
- package/dist/core/utils/packageDiscovery.js +37 -0
- package/dist/core/utils/packageDiscovery.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/operations/annotations.d.ts +9 -0
- package/dist/mcp/operations/annotations.d.ts.map +1 -0
- package/dist/mcp/operations/annotations.js +66 -0
- package/dist/mcp/operations/annotations.js.map +1 -0
- package/dist/mcp/operations/files.d.ts +13 -0
- package/dist/mcp/operations/files.d.ts.map +1 -0
- package/dist/mcp/operations/files.js +173 -0
- package/dist/mcp/operations/files.js.map +1 -0
- package/dist/mcp/operations/graph.d.ts +10 -0
- package/dist/mcp/operations/graph.d.ts.map +1 -0
- package/dist/mcp/operations/graph.js +69 -0
- package/dist/mcp/operations/graph.js.map +1 -0
- package/dist/mcp/operations/groups.d.ts +55 -0
- package/dist/mcp/operations/groups.d.ts.map +1 -0
- package/dist/mcp/operations/groups.js +233 -0
- package/dist/mcp/operations/groups.js.map +1 -0
- package/dist/mcp/operations/help.d.ts +36 -0
- package/dist/mcp/operations/help.d.ts.map +1 -0
- package/dist/mcp/operations/help.js +322 -0
- package/dist/mcp/operations/help.js.map +1 -0
- package/dist/mcp/operations/session.d.ts +13 -0
- package/dist/mcp/operations/session.d.ts.map +1 -0
- package/dist/mcp/operations/session.js +169 -0
- package/dist/mcp/operations/session.js.map +1 -0
- package/dist/mcp/operations/writes.d.ts +14 -0
- package/dist/mcp/operations/writes.d.ts.map +1 -0
- package/dist/mcp/operations/writes.js +287 -0
- package/dist/mcp/operations/writes.js.map +1 -0
- package/dist/mcp/registry/ToolRegistry.d.ts +54 -0
- package/dist/mcp/registry/ToolRegistry.d.ts.map +1 -0
- package/dist/mcp/registry/ToolRegistry.js +219 -0
- package/dist/mcp/registry/ToolRegistry.js.map +1 -0
- package/dist/mcp/registry/context-guard.d.ts +13 -0
- package/dist/mcp/registry/context-guard.d.ts.map +1 -0
- package/dist/mcp/registry/context-guard.js +19 -0
- package/dist/mcp/registry/context-guard.js.map +1 -0
- package/dist/mcp/registry/schemas.d.ts +221 -0
- package/dist/mcp/registry/schemas.d.ts.map +1 -0
- package/dist/mcp/registry/schemas.js +217 -0
- package/dist/mcp/registry/schemas.js.map +1 -0
- package/dist/mcp/registry/types.d.ts +50 -0
- package/dist/mcp/registry/types.d.ts.map +1 -0
- package/dist/mcp/registry/types.js +5 -0
- package/dist/mcp/registry/types.js.map +1 -0
- package/dist/mcp/server.d.ts +35 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +264 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/annotations/add.tool.d.ts +10 -0
- package/dist/mcp/tools/annotations/add.tool.d.ts.map +1 -0
- package/dist/mcp/tools/annotations/add.tool.js +88 -0
- package/dist/mcp/tools/annotations/add.tool.js.map +1 -0
- package/dist/mcp/tools/annotations/edit.tool.d.ts +10 -0
- package/dist/mcp/tools/annotations/edit.tool.d.ts.map +1 -0
- package/dist/mcp/tools/annotations/edit.tool.js +92 -0
- package/dist/mcp/tools/annotations/edit.tool.js.map +1 -0
- package/dist/mcp/tools/annotations/remove.tool.d.ts +9 -0
- package/dist/mcp/tools/annotations/remove.tool.d.ts.map +1 -0
- package/dist/mcp/tools/annotations/remove.tool.js +87 -0
- package/dist/mcp/tools/annotations/remove.tool.js.map +1 -0
- package/dist/mcp/tools/annotations/search-annotations.tool.d.ts +11 -0
- package/dist/mcp/tools/annotations/search-annotations.tool.d.ts.map +1 -0
- package/dist/mcp/tools/annotations/search-annotations.tool.js +91 -0
- package/dist/mcp/tools/annotations/search-annotations.tool.js.map +1 -0
- package/dist/mcp/tools/backup/list.tool.d.ts +16 -0
- package/dist/mcp/tools/backup/list.tool.d.ts.map +1 -0
- package/dist/mcp/tools/backup/list.tool.js +48 -0
- package/dist/mcp/tools/backup/list.tool.js.map +1 -0
- package/dist/mcp/tools/backup/restore.tool.d.ts +15 -0
- package/dist/mcp/tools/backup/restore.tool.d.ts.map +1 -0
- package/dist/mcp/tools/backup/restore.tool.js +138 -0
- package/dist/mcp/tools/backup/restore.tool.js.map +1 -0
- package/dist/mcp/tools/checklist/add.tool.d.ts +17 -0
- package/dist/mcp/tools/checklist/add.tool.d.ts.map +1 -0
- package/dist/mcp/tools/checklist/add.tool.js +53 -0
- package/dist/mcp/tools/checklist/add.tool.js.map +1 -0
- package/dist/mcp/tools/checklist/list.tool.d.ts +11 -0
- package/dist/mcp/tools/checklist/list.tool.d.ts.map +1 -0
- package/dist/mcp/tools/checklist/list.tool.js +53 -0
- package/dist/mcp/tools/checklist/list.tool.js.map +1 -0
- package/dist/mcp/tools/checklist/remove.tool.d.ts +9 -0
- package/dist/mcp/tools/checklist/remove.tool.d.ts.map +1 -0
- package/dist/mcp/tools/checklist/remove.tool.js +63 -0
- package/dist/mcp/tools/checklist/remove.tool.js.map +1 -0
- package/dist/mcp/tools/graph/get-dependencies.tool.d.ts +8 -0
- package/dist/mcp/tools/graph/get-dependencies.tool.d.ts.map +1 -0
- package/dist/mcp/tools/graph/get-dependencies.tool.js +58 -0
- package/dist/mcp/tools/graph/get-dependencies.tool.js.map +1 -0
- package/dist/mcp/tools/graph/get-related.tool.d.ts +9 -0
- package/dist/mcp/tools/graph/get-related.tool.d.ts.map +1 -0
- package/dist/mcp/tools/graph/get-related.tool.js +63 -0
- package/dist/mcp/tools/graph/get-related.tool.js.map +1 -0
- package/dist/mcp/tools/graph/impact-analysis.tool.d.ts +9 -0
- package/dist/mcp/tools/graph/impact-analysis.tool.d.ts.map +1 -0
- package/dist/mcp/tools/graph/impact-analysis.tool.js +61 -0
- package/dist/mcp/tools/graph/impact-analysis.tool.js.map +1 -0
- package/dist/mcp/tools/graph/traverse.tool.d.ts +13 -0
- package/dist/mcp/tools/graph/traverse.tool.d.ts.map +1 -0
- package/dist/mcp/tools/graph/traverse.tool.js +59 -0
- package/dist/mcp/tools/graph/traverse.tool.js.map +1 -0
- package/dist/mcp/tools/groups/add.tool.d.ts +10 -0
- package/dist/mcp/tools/groups/add.tool.d.ts.map +1 -0
- package/dist/mcp/tools/groups/add.tool.js +85 -0
- package/dist/mcp/tools/groups/add.tool.js.map +1 -0
- package/dist/mcp/tools/groups/notate.tool.d.ts +11 -0
- package/dist/mcp/tools/groups/notate.tool.d.ts.map +1 -0
- package/dist/mcp/tools/groups/notate.tool.js +86 -0
- package/dist/mcp/tools/groups/notate.tool.js.map +1 -0
- package/dist/mcp/tools/groups/search.tool.d.ts +8 -0
- package/dist/mcp/tools/groups/search.tool.d.ts.map +1 -0
- package/dist/mcp/tools/groups/search.tool.js +81 -0
- package/dist/mcp/tools/groups/search.tool.js.map +1 -0
- package/dist/mcp/tools/io/append.tool.d.ts +10 -0
- package/dist/mcp/tools/io/append.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/append.tool.js +103 -0
- package/dist/mcp/tools/io/append.tool.js.map +1 -0
- package/dist/mcp/tools/io/create.tool.d.ts +11 -0
- package/dist/mcp/tools/io/create.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/create.tool.js +119 -0
- package/dist/mcp/tools/io/create.tool.js.map +1 -0
- package/dist/mcp/tools/io/delete.tool.d.ts +9 -0
- package/dist/mcp/tools/io/delete.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/delete.tool.js +129 -0
- package/dist/mcp/tools/io/delete.tool.js.map +1 -0
- package/dist/mcp/tools/io/get-annotations.tool.d.ts +10 -0
- package/dist/mcp/tools/io/get-annotations.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/get-annotations.tool.js +97 -0
- package/dist/mcp/tools/io/get-annotations.tool.js.map +1 -0
- package/dist/mcp/tools/io/get-symbols.tool.d.ts +9 -0
- package/dist/mcp/tools/io/get-symbols.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/get-symbols.tool.js +63 -0
- package/dist/mcp/tools/io/get-symbols.tool.js.map +1 -0
- package/dist/mcp/tools/io/list.tool.d.ts +8 -0
- package/dist/mcp/tools/io/list.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/list.tool.js +68 -0
- package/dist/mcp/tools/io/list.tool.js.map +1 -0
- package/dist/mcp/tools/io/peek.tool.d.ts +11 -0
- package/dist/mcp/tools/io/peek.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/peek.tool.js +74 -0
- package/dist/mcp/tools/io/peek.tool.js.map +1 -0
- package/dist/mcp/tools/io/read-multiple.tool.d.ts +9 -0
- package/dist/mcp/tools/io/read-multiple.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/read-multiple.tool.js +72 -0
- package/dist/mcp/tools/io/read-multiple.tool.js.map +1 -0
- package/dist/mcp/tools/io/read.tool.d.ts +13 -0
- package/dist/mcp/tools/io/read.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/read.tool.js +132 -0
- package/dist/mcp/tools/io/read.tool.js.map +1 -0
- package/dist/mcp/tools/io/rename.tool.d.ts +9 -0
- package/dist/mcp/tools/io/rename.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/rename.tool.js +101 -0
- package/dist/mcp/tools/io/rename.tool.js.map +1 -0
- package/dist/mcp/tools/io/replace-many.tool.d.ts +10 -0
- package/dist/mcp/tools/io/replace-many.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/replace-many.tool.js +114 -0
- package/dist/mcp/tools/io/replace-many.tool.js.map +1 -0
- package/dist/mcp/tools/io/replace-text.tool.d.ts +12 -0
- package/dist/mcp/tools/io/replace-text.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/replace-text.tool.js +213 -0
- package/dist/mcp/tools/io/replace-text.tool.js.map +1 -0
- package/dist/mcp/tools/io/write.tool.d.ts +10 -0
- package/dist/mcp/tools/io/write.tool.d.ts.map +1 -0
- package/dist/mcp/tools/io/write.tool.js +103 -0
- package/dist/mcp/tools/io/write.tool.js.map +1 -0
- package/dist/mcp/tools/labels/assign.tool.d.ts +16 -0
- package/dist/mcp/tools/labels/assign.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/assign.tool.js +52 -0
- package/dist/mcp/tools/labels/assign.tool.js.map +1 -0
- package/dist/mcp/tools/labels/create.tool.d.ts +12 -0
- package/dist/mcp/tools/labels/create.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/create.tool.js +51 -0
- package/dist/mcp/tools/labels/create.tool.js.map +1 -0
- package/dist/mcp/tools/labels/delete.tool.d.ts +9 -0
- package/dist/mcp/tools/labels/delete.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/delete.tool.js +48 -0
- package/dist/mcp/tools/labels/delete.tool.js.map +1 -0
- package/dist/mcp/tools/labels/edit.tool.d.ts +13 -0
- package/dist/mcp/tools/labels/edit.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/edit.tool.js +58 -0
- package/dist/mcp/tools/labels/edit.tool.js.map +1 -0
- package/dist/mcp/tools/labels/list.tool.d.ts +11 -0
- package/dist/mcp/tools/labels/list.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/list.tool.js +47 -0
- package/dist/mcp/tools/labels/list.tool.js.map +1 -0
- package/dist/mcp/tools/labels/migrate.tool.d.ts +10 -0
- package/dist/mcp/tools/labels/migrate.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/migrate.tool.js +50 -0
- package/dist/mcp/tools/labels/migrate.tool.js.map +1 -0
- package/dist/mcp/tools/labels/search.tool.d.ts +16 -0
- package/dist/mcp/tools/labels/search.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/search.tool.js +55 -0
- package/dist/mcp/tools/labels/search.tool.js.map +1 -0
- package/dist/mcp/tools/labels/unassign.tool.d.ts +9 -0
- package/dist/mcp/tools/labels/unassign.tool.d.ts.map +1 -0
- package/dist/mcp/tools/labels/unassign.tool.js +49 -0
- package/dist/mcp/tools/labels/unassign.tool.js.map +1 -0
- package/dist/mcp/tools/search/find-by-name.tool.d.ts +8 -0
- package/dist/mcp/tools/search/find-by-name.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/find-by-name.tool.js +57 -0
- package/dist/mcp/tools/search/find-by-name.tool.js.map +1 -0
- package/dist/mcp/tools/search/find-relevant.tool.d.ts +9 -0
- package/dist/mcp/tools/search/find-relevant.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/find-relevant.tool.js +71 -0
- package/dist/mcp/tools/search/find-relevant.tool.js.map +1 -0
- package/dist/mcp/tools/search/scan.tool.d.ts +8 -0
- package/dist/mcp/tools/search/scan.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/scan.tool.js +103 -0
- package/dist/mcp/tools/search/scan.tool.js.map +1 -0
- package/dist/mcp/tools/search/search-elements.tool.d.ts +11 -0
- package/dist/mcp/tools/search/search-elements.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/search-elements.tool.js +71 -0
- package/dist/mcp/tools/search/search-elements.tool.js.map +1 -0
- package/dist/mcp/tools/search/search-in-files.tool.d.ts +14 -0
- package/dist/mcp/tools/search/search-in-files.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/search-in-files.tool.js +204 -0
- package/dist/mcp/tools/search/search-in-files.tool.js.map +1 -0
- package/dist/mcp/tools/search/search.tool.d.ts +25 -0
- package/dist/mcp/tools/search/search.tool.d.ts.map +1 -0
- package/dist/mcp/tools/search/search.tool.js +109 -0
- package/dist/mcp/tools/search/search.tool.js.map +1 -0
- package/dist/mcp/tools/session/audit.tool.d.ts +6 -0
- package/dist/mcp/tools/session/audit.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/audit.tool.js +64 -0
- package/dist/mcp/tools/session/audit.tool.js.map +1 -0
- package/dist/mcp/tools/session/close.tool.d.ts +11 -0
- package/dist/mcp/tools/session/close.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/close.tool.js +79 -0
- package/dist/mcp/tools/session/close.tool.js.map +1 -0
- package/dist/mcp/tools/session/execute-shell.tool.d.ts +11 -0
- package/dist/mcp/tools/session/execute-shell.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/execute-shell.tool.js +87 -0
- package/dist/mcp/tools/session/execute-shell.tool.js.map +1 -0
- package/dist/mcp/tools/session/help.tool.d.ts +8 -0
- package/dist/mcp/tools/session/help.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/help.tool.js +84 -0
- package/dist/mcp/tools/session/help.tool.js.map +1 -0
- package/dist/mcp/tools/session/list.tool.d.ts +9 -0
- package/dist/mcp/tools/session/list.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/list.tool.js +49 -0
- package/dist/mcp/tools/session/list.tool.js.map +1 -0
- package/dist/mcp/tools/session/next-session.tool.d.ts +8 -0
- package/dist/mcp/tools/session/next-session.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/next-session.tool.js +87 -0
- package/dist/mcp/tools/session/next-session.tool.js.map +1 -0
- package/dist/mcp/tools/session/orient.tool.d.ts +11 -0
- package/dist/mcp/tools/session/orient.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/orient.tool.js +239 -0
- package/dist/mcp/tools/session/orient.tool.js.map +1 -0
- package/dist/mcp/tools/session/read.tool.d.ts +8 -0
- package/dist/mcp/tools/session/read.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/read.tool.js +63 -0
- package/dist/mcp/tools/session/read.tool.js.map +1 -0
- package/dist/mcp/tools/session/reindex.tool.d.ts +6 -0
- package/dist/mcp/tools/session/reindex.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/reindex.tool.js +59 -0
- package/dist/mcp/tools/session/reindex.tool.js.map +1 -0
- package/dist/mcp/tools/session/start.tool.d.ts +8 -0
- package/dist/mcp/tools/session/start.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/start.tool.js +170 -0
- package/dist/mcp/tools/session/start.tool.js.map +1 -0
- package/dist/mcp/tools/session/stats.tool.d.ts +6 -0
- package/dist/mcp/tools/session/stats.tool.d.ts.map +1 -0
- package/dist/mcp/tools/session/stats.tool.js +46 -0
- package/dist/mcp/tools/session/stats.tool.js.map +1 -0
- package/dist/plugins/parser-typescript/index.d.ts +80 -0
- package/dist/plugins/parser-typescript/index.d.ts.map +1 -0
- package/dist/plugins/parser-typescript/index.js +467 -0
- package/dist/plugins/parser-typescript/index.js.map +1 -0
- package/dist/plugins/parser-vue/index.d.ts +20 -0
- package/dist/plugins/parser-vue/index.d.ts.map +1 -0
- package/dist/plugins/parser-vue/index.js +88 -0
- package/dist/plugins/parser-vue/index.js.map +1 -0
- package/dist/plugins/parser-vue/script-parser.d.ts +18 -0
- package/dist/plugins/parser-vue/script-parser.d.ts.map +1 -0
- package/dist/plugins/parser-vue/script-parser.js +100 -0
- package/dist/plugins/parser-vue/script-parser.js.map +1 -0
- package/dist/plugins/parser-vue/template-parser.d.ts +14 -0
- package/dist/plugins/parser-vue/template-parser.d.ts.map +1 -0
- package/dist/plugins/parser-vue/template-parser.js +95 -0
- package/dist/plugins/parser-vue/template-parser.js.map +1 -0
- package/dist/query/SymbolSearch.d.ts +56 -0
- package/dist/query/SymbolSearch.d.ts.map +1 -0
- package/dist/query/SymbolSearch.js +132 -0
- package/dist/query/SymbolSearch.js.map +1 -0
- package/dist/query/TextSearch.d.ts +47 -0
- package/dist/query/TextSearch.d.ts.map +1 -0
- package/dist/query/TextSearch.js +110 -0
- package/dist/query/TextSearch.js.map +1 -0
- package/dist/storage/NodeFsProvider.d.ts +148 -0
- package/dist/storage/NodeFsProvider.d.ts.map +1 -0
- package/dist/storage/NodeFsProvider.js +264 -0
- package/dist/storage/NodeFsProvider.js.map +1 -0
- package/dist/types/annotation.d.ts +79 -0
- package/dist/types/annotation.d.ts.map +1 -0
- package/dist/types/annotation.js +10 -0
- package/dist/types/annotation.js.map +1 -0
- package/dist/types/assist.d.ts +147 -0
- package/dist/types/assist.d.ts.map +1 -0
- package/dist/types/assist.js +12 -0
- package/dist/types/assist.js.map +1 -0
- package/dist/types/contracts/FileSystemProvider.d.ts +24 -0
- package/dist/types/contracts/FileSystemProvider.d.ts.map +1 -0
- package/dist/types/contracts/FileSystemProvider.js +9 -0
- package/dist/types/contracts/FileSystemProvider.js.map +1 -0
- package/dist/types/contracts/LanguageParser.d.ts +146 -0
- package/dist/types/contracts/LanguageParser.d.ts.map +1 -0
- package/dist/types/contracts/LanguageParser.js +43 -0
- package/dist/types/contracts/LanguageParser.js.map +1 -0
- package/dist/types/contracts/Plugin.d.ts +226 -0
- package/dist/types/contracts/Plugin.d.ts.map +1 -0
- package/dist/types/contracts/Plugin.js +21 -0
- package/dist/types/contracts/Plugin.js.map +1 -0
- package/dist/types/contracts/index.d.ts +10 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/contracts/index.js +26 -0
- package/dist/types/contracts/index.js.map +1 -0
- package/dist/types/core.d.ts +170 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +10 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/events.d.ts +29 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +18 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/experience.d.ts +153 -0
- package/dist/types/experience.d.ts.map +1 -0
- package/dist/types/experience.js +9 -0
- package/dist/types/experience.js.map +1 -0
- package/dist/types/graph.d.ts +35 -0
- package/dist/types/graph.d.ts.map +1 -0
- package/dist/types/graph.js +8 -0
- package/dist/types/graph.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +33 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/label.d.ts +150 -0
- package/dist/types/label.d.ts.map +1 -0
- package/dist/types/label.js +9 -0
- package/dist/types/label.js.map +1 -0
- package/dist/types/query.d.ts +104 -0
- package/dist/types/query.d.ts.map +1 -0
- package/dist/types/query.js +11 -0
- package/dist/types/query.js.map +1 -0
- package/dist/types/response.d.ts +133 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +60 -0
- package/dist/types/response.js.map +1 -0
- package/dist/types/target.d.ts +68 -0
- package/dist/types/target.d.ts.map +1 -0
- package/dist/types/target.js +11 -0
- package/dist/types/target.js.map +1 -0
- package/dist/utils/version.d.ts +9 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +30 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AssistScorer - Multi-phase scoring engine for file discovery.
|
|
3
|
+
*
|
|
4
|
+
* Implements the 4-phase scoring algorithm:
|
|
5
|
+
* - Phase A: Static scoring (keyword/symbol matching)
|
|
6
|
+
* - Phase B: Stack bias (language-specific patterns)
|
|
7
|
+
* - Phase C: Experience weighting (query history, usage, anti-results)
|
|
8
|
+
* - Phase D: Confidence + warnings
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const scorer = new AssistScorer(patternAggregator, config);
|
|
13
|
+
*
|
|
14
|
+
* const candidates = await scorer.score(
|
|
15
|
+
* 'make cards draggable',
|
|
16
|
+
* [file1, file2, file3]
|
|
17
|
+
* );
|
|
18
|
+
* // → Returns ranked candidates with confidence scores
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import type { AssistCandidate, StackPackBias } from '../types';
|
|
22
|
+
import type { FileEntry } from '../types';
|
|
23
|
+
import { PatternAggregator } from './PatternAggregator';
|
|
24
|
+
/**
|
|
25
|
+
* Scorer configuration.
|
|
26
|
+
*/
|
|
27
|
+
export interface AssistScorerConfig {
|
|
28
|
+
/** Stack pack bias rules (optional) */
|
|
29
|
+
stackBias?: StackPackBias;
|
|
30
|
+
/** Enable experience weighting */
|
|
31
|
+
useExperience?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare class AssistScorer {
|
|
34
|
+
private aggregator;
|
|
35
|
+
private config;
|
|
36
|
+
constructor(aggregator: PatternAggregator | null, config?: AssistScorerConfig);
|
|
37
|
+
/**
|
|
38
|
+
* Score file candidates using multi-phase algorithm.
|
|
39
|
+
*
|
|
40
|
+
* @param goal - Goal query
|
|
41
|
+
* @param candidates - File candidates to score
|
|
42
|
+
* @returns Ranked candidates with scores
|
|
43
|
+
*/
|
|
44
|
+
score(goal: string, candidates: FileEntry[]): Promise<AssistCandidate[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Phase A: Score candidates based on keyword and symbol matching.
|
|
47
|
+
*
|
|
48
|
+
* @param goal - Goal query
|
|
49
|
+
* @param candidates - File candidates
|
|
50
|
+
* @returns Raw candidates with static scores
|
|
51
|
+
*/
|
|
52
|
+
private phaseA_StaticScoring;
|
|
53
|
+
/**
|
|
54
|
+
* Phase B: Apply stack-specific bias rules.
|
|
55
|
+
*
|
|
56
|
+
* @param goal - Goal query
|
|
57
|
+
* @param candidates - Raw candidates
|
|
58
|
+
* @returns Candidates with bias applied
|
|
59
|
+
*/
|
|
60
|
+
private phaseB_StackBias;
|
|
61
|
+
/**
|
|
62
|
+
* Phase C: Apply experience-based scoring adjustments.
|
|
63
|
+
*
|
|
64
|
+
* This is where the self-improving magic happens:
|
|
65
|
+
* - Query history matching (+points for similar past queries)
|
|
66
|
+
* - Usage metadata matching (+points for curated usage phrases)
|
|
67
|
+
* - Anti-result penalties (-points for past failures)
|
|
68
|
+
* - File experience multiplier (success rate, recency, heat)
|
|
69
|
+
*
|
|
70
|
+
* @param goal - Goal query
|
|
71
|
+
* @param candidates - Raw candidates
|
|
72
|
+
* @returns Candidates with experience weighting
|
|
73
|
+
*/
|
|
74
|
+
private phaseC_ExperienceWeighting;
|
|
75
|
+
/**
|
|
76
|
+
* Phase D: Calculate final confidence scores and generate warnings.
|
|
77
|
+
*
|
|
78
|
+
* @param candidates - Raw candidates with total scores
|
|
79
|
+
* @returns Final candidates with confidence and warnings
|
|
80
|
+
*/
|
|
81
|
+
private phaseD_ConfidenceAndWarnings;
|
|
82
|
+
/**
|
|
83
|
+
* Extract keywords from text.
|
|
84
|
+
*/
|
|
85
|
+
private extractKeywords;
|
|
86
|
+
/**
|
|
87
|
+
* Calculate keyword overlap.
|
|
88
|
+
*/
|
|
89
|
+
private calculateOverlap;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=AssistScorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistScorer.d.ts","sourceRoot":"","sources":["../../src/assist/AssistScorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAWxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,YAAY;IAGrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;gBADN,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,MAAM,GAAE,kBAAuB;IAGzC;;;;;;OAMG;IACG,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,SAAS,EAAE,GACtB,OAAO,CAAC,eAAe,EAAE,CAAC;IAwB7B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;;;;;;;;;;;OAYG;YACW,0BAA0B;IAoExC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IA2CpC;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAazB"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AssistScorer - Multi-phase scoring engine for file discovery.
|
|
4
|
+
*
|
|
5
|
+
* Implements the 4-phase scoring algorithm:
|
|
6
|
+
* - Phase A: Static scoring (keyword/symbol matching)
|
|
7
|
+
* - Phase B: Stack bias (language-specific patterns)
|
|
8
|
+
* - Phase C: Experience weighting (query history, usage, anti-results)
|
|
9
|
+
* - Phase D: Confidence + warnings
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* const scorer = new AssistScorer(patternAggregator, config);
|
|
14
|
+
*
|
|
15
|
+
* const candidates = await scorer.score(
|
|
16
|
+
* 'make cards draggable',
|
|
17
|
+
* [file1, file2, file3]
|
|
18
|
+
* );
|
|
19
|
+
* // → Returns ranked candidates with confidence scores
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.AssistScorer = void 0;
|
|
24
|
+
class AssistScorer {
|
|
25
|
+
aggregator;
|
|
26
|
+
config;
|
|
27
|
+
constructor(aggregator, config = {}) {
|
|
28
|
+
this.aggregator = aggregator;
|
|
29
|
+
this.config = config;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Score file candidates using multi-phase algorithm.
|
|
33
|
+
*
|
|
34
|
+
* @param goal - Goal query
|
|
35
|
+
* @param candidates - File candidates to score
|
|
36
|
+
* @returns Ranked candidates with scores
|
|
37
|
+
*/
|
|
38
|
+
async score(goal, candidates) {
|
|
39
|
+
// Phase A: Static scoring
|
|
40
|
+
let raw = this.phaseA_StaticScoring(goal, candidates);
|
|
41
|
+
// Phase B: Stack bias (if configured)
|
|
42
|
+
if (this.config.stackBias) {
|
|
43
|
+
raw = this.phaseB_StackBias(goal, raw);
|
|
44
|
+
}
|
|
45
|
+
// Phase C: Experience weighting (if enabled and aggregator available)
|
|
46
|
+
if (this.config.useExperience !== false && this.aggregator) {
|
|
47
|
+
raw = await this.phaseC_ExperienceWeighting(goal, raw);
|
|
48
|
+
}
|
|
49
|
+
// Phase D: Confidence + warnings
|
|
50
|
+
const final = this.phaseD_ConfidenceAndWarnings(raw);
|
|
51
|
+
// Sort by confidence descending
|
|
52
|
+
return final.sort((a, b) => b.confidence - a.confidence);
|
|
53
|
+
}
|
|
54
|
+
// ── Phase A: Static Scoring ────────────────────────────────────────────────
|
|
55
|
+
/**
|
|
56
|
+
* Phase A: Score candidates based on keyword and symbol matching.
|
|
57
|
+
*
|
|
58
|
+
* @param goal - Goal query
|
|
59
|
+
* @param candidates - File candidates
|
|
60
|
+
* @returns Raw candidates with static scores
|
|
61
|
+
*/
|
|
62
|
+
phaseA_StaticScoring(goal, candidates) {
|
|
63
|
+
const keywords = this.extractKeywords(goal);
|
|
64
|
+
const raw = [];
|
|
65
|
+
for (const file of candidates) {
|
|
66
|
+
let score = 0;
|
|
67
|
+
const reasons = [];
|
|
68
|
+
// Path matching
|
|
69
|
+
const pathKeywords = this.extractKeywords(file.relativePath);
|
|
70
|
+
const pathOverlap = this.calculateOverlap(keywords, pathKeywords);
|
|
71
|
+
if (pathOverlap > 0) {
|
|
72
|
+
const pathScore = pathOverlap * 5;
|
|
73
|
+
score += pathScore;
|
|
74
|
+
reasons.push(`path match (+${pathScore.toFixed(1)})`);
|
|
75
|
+
}
|
|
76
|
+
// Symbol matching
|
|
77
|
+
if (file.symbols && file.symbols.length > 0) {
|
|
78
|
+
for (const symbol of file.symbols) {
|
|
79
|
+
const symbolKeywords = this.extractKeywords(symbol.name);
|
|
80
|
+
const symbolOverlap = this.calculateOverlap(keywords, symbolKeywords);
|
|
81
|
+
if (symbolOverlap > 0) {
|
|
82
|
+
const symbolScore = symbolOverlap * 3;
|
|
83
|
+
score += symbolScore;
|
|
84
|
+
reasons.push(`symbol ${symbol.name} (+${symbolScore.toFixed(1)})`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
raw.push({ file, score, reasons });
|
|
89
|
+
}
|
|
90
|
+
return raw;
|
|
91
|
+
}
|
|
92
|
+
// ── Phase B: Stack Bias ────────────────────────────────────────────────────
|
|
93
|
+
/**
|
|
94
|
+
* Phase B: Apply stack-specific bias rules.
|
|
95
|
+
*
|
|
96
|
+
* @param goal - Goal query
|
|
97
|
+
* @param candidates - Raw candidates
|
|
98
|
+
* @returns Candidates with bias applied
|
|
99
|
+
*/
|
|
100
|
+
phaseB_StackBias(goal, candidates) {
|
|
101
|
+
if (!this.config.stackBias)
|
|
102
|
+
return candidates;
|
|
103
|
+
for (const rule of this.config.stackBias.rules) {
|
|
104
|
+
// Check if rule applies to this goal
|
|
105
|
+
const matches = typeof rule.when === 'string'
|
|
106
|
+
? goal.includes(rule.when)
|
|
107
|
+
: rule.when.test(goal);
|
|
108
|
+
if (!matches)
|
|
109
|
+
continue;
|
|
110
|
+
// Apply boosts to matching paths
|
|
111
|
+
for (const candidate of candidates) {
|
|
112
|
+
for (const [pathPattern, boost] of Object.entries(rule.boost)) {
|
|
113
|
+
if (candidate.file.relativePath.includes(pathPattern)) {
|
|
114
|
+
candidate.score += boost;
|
|
115
|
+
candidate.reasons.push(`stack bias: ${pathPattern} (+${boost})`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return candidates;
|
|
121
|
+
}
|
|
122
|
+
// ── Phase C: Experience Weighting ──────────────────────────────────────────
|
|
123
|
+
/**
|
|
124
|
+
* Phase C: Apply experience-based scoring adjustments.
|
|
125
|
+
*
|
|
126
|
+
* This is where the self-improving magic happens:
|
|
127
|
+
* - Query history matching (+points for similar past queries)
|
|
128
|
+
* - Usage metadata matching (+points for curated usage phrases)
|
|
129
|
+
* - Anti-result penalties (-points for past failures)
|
|
130
|
+
* - File experience multiplier (success rate, recency, heat)
|
|
131
|
+
*
|
|
132
|
+
* @param goal - Goal query
|
|
133
|
+
* @param candidates - Raw candidates
|
|
134
|
+
* @returns Candidates with experience weighting
|
|
135
|
+
*/
|
|
136
|
+
async phaseC_ExperienceWeighting(goal, candidates) {
|
|
137
|
+
if (!this.aggregator)
|
|
138
|
+
return candidates;
|
|
139
|
+
for (const candidate of candidates) {
|
|
140
|
+
const filePath = candidate.file.relativePath;
|
|
141
|
+
// 1. Query history matching (+12 max)
|
|
142
|
+
const queryMatch = await this.aggregator.getQueryPatternMatches(filePath, goal);
|
|
143
|
+
if (queryMatch.matchingQueries.length > 0) {
|
|
144
|
+
const boost = Math.min(queryMatch.matchingQueries.length * 3, 12);
|
|
145
|
+
candidate.score += boost;
|
|
146
|
+
candidate.reasons.push(`query history (+${boost}, ${queryMatch.matchingQueries.length} matches)`);
|
|
147
|
+
}
|
|
148
|
+
// 2. Usage metadata matching (+16 max)
|
|
149
|
+
const usageMatches = await this.aggregator.getUsageMatches(goal);
|
|
150
|
+
const fileUsageMatch = usageMatches.find(m => m.file === filePath);
|
|
151
|
+
if (fileUsageMatch && fileUsageMatch.matchingUsages.length > 0) {
|
|
152
|
+
const boost = Math.min(fileUsageMatch.matchingUsages.length * 4, 16);
|
|
153
|
+
candidate.score += boost;
|
|
154
|
+
candidate.reasons.push(`usage metadata (+${boost}, ${fileUsageMatch.matchingUsages.length} phrases)`);
|
|
155
|
+
}
|
|
156
|
+
// 3. Anti-result penalty (-10 max)
|
|
157
|
+
const antiPenalty = await this.aggregator.getAntiResultPenalty(filePath, goal);
|
|
158
|
+
if (antiPenalty.penalty < 0) {
|
|
159
|
+
candidate.score += antiPenalty.penalty;
|
|
160
|
+
candidate.reasons.push(`anti-result penalty (${antiPenalty.penalty})`);
|
|
161
|
+
}
|
|
162
|
+
// 4. File experience multiplier (0.5–2.0×)
|
|
163
|
+
const metrics = await this.aggregator.getFileMetrics(filePath);
|
|
164
|
+
if (metrics.totalOps > 0) {
|
|
165
|
+
let multiplier = 1.0;
|
|
166
|
+
// Success rate influence
|
|
167
|
+
if (metrics.successRate < 0.5) {
|
|
168
|
+
multiplier *= 0.5;
|
|
169
|
+
}
|
|
170
|
+
else if (metrics.successRate > 0.75) {
|
|
171
|
+
multiplier *= 1.5;
|
|
172
|
+
}
|
|
173
|
+
// Recency boost
|
|
174
|
+
if (metrics.daysSinceAccess !== undefined && metrics.daysSinceAccess < 7) {
|
|
175
|
+
multiplier += 0.3;
|
|
176
|
+
}
|
|
177
|
+
// Heat score boost
|
|
178
|
+
multiplier += metrics.heatScore * 0.5;
|
|
179
|
+
// Apply multiplier
|
|
180
|
+
if (multiplier !== 1.0) {
|
|
181
|
+
candidate.score *= multiplier;
|
|
182
|
+
candidate.reasons.push(`experience multiplier (×${multiplier.toFixed(2)})`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return candidates;
|
|
187
|
+
}
|
|
188
|
+
// ── Phase D: Confidence + Warnings ─────────────────────────────────────────
|
|
189
|
+
/**
|
|
190
|
+
* Phase D: Calculate final confidence scores and generate warnings.
|
|
191
|
+
*
|
|
192
|
+
* @param candidates - Raw candidates with total scores
|
|
193
|
+
* @returns Final candidates with confidence and warnings
|
|
194
|
+
*/
|
|
195
|
+
phaseD_ConfidenceAndWarnings(candidates) {
|
|
196
|
+
// Find max score for normalization
|
|
197
|
+
const maxScore = Math.max(...candidates.map(c => c.score), 1);
|
|
198
|
+
const final = [];
|
|
199
|
+
for (const candidate of candidates) {
|
|
200
|
+
// Normalize to 0-1 confidence
|
|
201
|
+
const confidence = Math.min(candidate.score / maxScore, 1.0);
|
|
202
|
+
// Generate warnings
|
|
203
|
+
const warnings = [];
|
|
204
|
+
if (candidate.score < 3) {
|
|
205
|
+
warnings.push('Low confidence match');
|
|
206
|
+
}
|
|
207
|
+
if (candidate.file.symbols && candidate.file.symbols.length === 0) {
|
|
208
|
+
warnings.push('No symbols indexed');
|
|
209
|
+
}
|
|
210
|
+
final.push({
|
|
211
|
+
file: candidate.file.relativePath,
|
|
212
|
+
confidence,
|
|
213
|
+
rawScore: candidate.score,
|
|
214
|
+
scoring: {
|
|
215
|
+
static: 0, // Not tracked separately in this implementation
|
|
216
|
+
bias: 0, // Not tracked separately
|
|
217
|
+
experience: 0, // Not tracked separately
|
|
218
|
+
total: candidate.score
|
|
219
|
+
},
|
|
220
|
+
reasons: candidate.reasons,
|
|
221
|
+
warnings: warnings.length > 0 ? warnings : undefined
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
return final;
|
|
225
|
+
}
|
|
226
|
+
// ── Utilities ──────────────────────────────────────────────────────────────
|
|
227
|
+
/**
|
|
228
|
+
* Extract keywords from text.
|
|
229
|
+
*/
|
|
230
|
+
extractKeywords(text) {
|
|
231
|
+
const words = text.toLowerCase().split(/[^a-z0-9]+/);
|
|
232
|
+
const stopWords = new Set(['a', 'an', 'the', 'is', 'are', 'was', 'were', 'be', 'to', 'of', 'in', 'on', 'at']);
|
|
233
|
+
return words
|
|
234
|
+
.filter(w => w.length > 2 && !stopWords.has(w))
|
|
235
|
+
.filter((w, i, arr) => arr.indexOf(w) === i);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Calculate keyword overlap.
|
|
239
|
+
*/
|
|
240
|
+
calculateOverlap(keywords1, keywords2) {
|
|
241
|
+
if (keywords1.length === 0 || keywords2.length === 0)
|
|
242
|
+
return 0;
|
|
243
|
+
const set1 = new Set(keywords1);
|
|
244
|
+
const set2 = new Set(keywords2);
|
|
245
|
+
let overlap = 0;
|
|
246
|
+
for (const keyword of set1) {
|
|
247
|
+
if (set2.has(keyword))
|
|
248
|
+
overlap++;
|
|
249
|
+
}
|
|
250
|
+
return overlap / Math.max(keywords1.length, keywords2.length);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.AssistScorer = AssistScorer;
|
|
254
|
+
//# sourceMappingURL=AssistScorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistScorer.js","sourceRoot":"","sources":["../../src/assist/AssistScorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PatternAggregator - Analyzes experience data to extract scoring patterns.
|
|
3
|
+
*
|
|
4
|
+
* Reads from ExperienceStore and provides:
|
|
5
|
+
* - Query pattern matching (which queries led to which files)
|
|
6
|
+
* - Usage metadata matching (curated usage phrases)
|
|
7
|
+
* - Anti-result penalties (learn from mistakes)
|
|
8
|
+
* - File experience metrics (success rate, recency, heat)
|
|
9
|
+
* - Symbol experience metrics (edit history, keywords)
|
|
10
|
+
*
|
|
11
|
+
* This is the intelligence layer that powers AssistMap's experience scoring.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const aggregator = new PatternAggregator(experienceStore);
|
|
16
|
+
*
|
|
17
|
+
* // Get query pattern matches
|
|
18
|
+
* const matches = await aggregator.getQueryPatternMatches('file.ts', 'make cards draggable');
|
|
19
|
+
* // → Returns matching queries + confidence score
|
|
20
|
+
*
|
|
21
|
+
* // Get usage metadata matches
|
|
22
|
+
* const usageMatches = await aggregator.getUsageMatches('make cards draggable');
|
|
23
|
+
* // → Returns files with matching usage phrases
|
|
24
|
+
*
|
|
25
|
+
* // Get anti-result penalty
|
|
26
|
+
* const penalty = await aggregator.getAntiResultPenalty('file.ts', 'drag drop');
|
|
27
|
+
* // → Returns negative score if this file was previously rejected
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import type { QueryPatternMatch, UsageMatch, AntiResultPenalty, FileExperienceMetrics, SymbolExperienceMetrics } from '../types';
|
|
31
|
+
import { ExperienceStore } from '../core/ExperienceStore';
|
|
32
|
+
export declare class PatternAggregator {
|
|
33
|
+
private store;
|
|
34
|
+
constructor(store: ExperienceStore);
|
|
35
|
+
/**
|
|
36
|
+
* Get query pattern matches for a file.
|
|
37
|
+
*
|
|
38
|
+
* Finds successful queries from journey history that led to this file.
|
|
39
|
+
*
|
|
40
|
+
* @param filePath - Target file path
|
|
41
|
+
* @param currentQuery - Current query to compare against
|
|
42
|
+
* @returns Query pattern match result
|
|
43
|
+
*/
|
|
44
|
+
getQueryPatternMatches(filePath: string, currentQuery: string): Promise<QueryPatternMatch>;
|
|
45
|
+
/**
|
|
46
|
+
* Get usage metadata matches for a query.
|
|
47
|
+
*
|
|
48
|
+
* Finds files with usage phrases matching the query.
|
|
49
|
+
*
|
|
50
|
+
* @param query - Search query
|
|
51
|
+
* @returns Array of usage matches
|
|
52
|
+
*/
|
|
53
|
+
getUsageMatches(query: string): Promise<UsageMatch[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Get anti-result penalty for a file.
|
|
56
|
+
*
|
|
57
|
+
* Returns negative score if this file was previously shown but rejected
|
|
58
|
+
* or abandoned for similar queries.
|
|
59
|
+
*
|
|
60
|
+
* @param filePath - File path
|
|
61
|
+
* @param currentQuery - Current query
|
|
62
|
+
* @returns Anti-result penalty
|
|
63
|
+
*/
|
|
64
|
+
getAntiResultPenalty(filePath: string, currentQuery: string): Promise<AntiResultPenalty>;
|
|
65
|
+
/**
|
|
66
|
+
* Get experience metrics for a file.
|
|
67
|
+
*
|
|
68
|
+
* @param filePath - File path
|
|
69
|
+
* @returns File experience metrics
|
|
70
|
+
*/
|
|
71
|
+
getFileMetrics(filePath: string): Promise<FileExperienceMetrics>;
|
|
72
|
+
/**
|
|
73
|
+
* Get symbol experience metrics for a file.
|
|
74
|
+
*
|
|
75
|
+
* @param filePath - File path
|
|
76
|
+
* @returns Array of symbol metrics
|
|
77
|
+
*/
|
|
78
|
+
getSymbolMetrics(filePath: string): Promise<SymbolExperienceMetrics[]>;
|
|
79
|
+
/**
|
|
80
|
+
* Get all events for a specific file.
|
|
81
|
+
*
|
|
82
|
+
* @param filePath - File path
|
|
83
|
+
* @returns Array of events
|
|
84
|
+
*/
|
|
85
|
+
private getEventsForFile;
|
|
86
|
+
/**
|
|
87
|
+
* Extract keywords from a query string.
|
|
88
|
+
*
|
|
89
|
+
* @param text - Query text
|
|
90
|
+
* @returns Array of keywords
|
|
91
|
+
*/
|
|
92
|
+
private extractKeywords;
|
|
93
|
+
/**
|
|
94
|
+
* Calculate keyword overlap between two keyword sets.
|
|
95
|
+
*
|
|
96
|
+
* @param keywords1 - First set
|
|
97
|
+
* @param keywords2 - Second set
|
|
98
|
+
* @returns Overlap ratio (0-1)
|
|
99
|
+
*/
|
|
100
|
+
private calculateKeywordOverlap;
|
|
101
|
+
/**
|
|
102
|
+
* Calculate heat score based on recent activity.
|
|
103
|
+
*
|
|
104
|
+
* @param events - Events for a file
|
|
105
|
+
* @returns Heat score (0-1)
|
|
106
|
+
*/
|
|
107
|
+
private calculateHeatScore;
|
|
108
|
+
/**
|
|
109
|
+
* Extract domain keywords from a symbol reference.
|
|
110
|
+
*
|
|
111
|
+
* @param symbolRef - Symbol reference (e.g., "src/renderer/components/TaskCard.vue$handleDragStart")
|
|
112
|
+
* @returns Array of domain keywords
|
|
113
|
+
*/
|
|
114
|
+
private extractDomainKeywords;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=PatternAggregator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternAggregator.d.ts","sourceRoot":"","sources":["../../src/assist/PatternAggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,qBAAa,iBAAiB;IAEhB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI1C;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IA2C7B;;;;;;;OAOG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA+B3D;;;;;;;;;OASG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAoC7B;;;;;OAKG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAyCtE;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAsC5E;;;;;OAKG;YACW,gBAAgB;IAQ9B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}
|