@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,316 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* FileSystemGraph — The Foundation Layer
|
|
4
|
+
*
|
|
5
|
+
* Passive knowledge base for files, directories, symbols, and import dependencies.
|
|
6
|
+
* Pure in-memory graph operations — no I/O, no side effects.
|
|
7
|
+
*
|
|
8
|
+
* @codemap.domain.name Dependency Graph
|
|
9
|
+
* @codemap.usage Add new query methods for graph traversal (find related files, traverse dependencies)
|
|
10
|
+
* @codemap.usage Modify symbol or dependency storage structures
|
|
11
|
+
* @codemap.usage Implement new graph algorithms (shortest path, connected components, etc)
|
|
12
|
+
* @codemap.usage Add caching or indexing optimizations for queries
|
|
13
|
+
* @codemap.usage Fix bugs in dependency tracking or symbol lookups
|
|
14
|
+
* @codemap.policy This is a pure data structure. No file operations, no event emission.
|
|
15
|
+
* @codemap.policy All I/O happens in FileSystemIO (the gateway). Graph is read-only to plugins.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.FileSystemGraph = void 0;
|
|
19
|
+
/**
|
|
20
|
+
* FileSystemGraph stores the complete project knowledge graph.
|
|
21
|
+
*
|
|
22
|
+
* Data structures:
|
|
23
|
+
* - files: Map<relativePath, FileEntry>
|
|
24
|
+
* - directories: Map<relativePath, DirEntry>
|
|
25
|
+
* - dependencies: Set<DependencyEdge> (import edges)
|
|
26
|
+
*
|
|
27
|
+
* Query methods:
|
|
28
|
+
* - getFile, getDirectory, getSymbol
|
|
29
|
+
* - findImporters, findImports (dependency traversal)
|
|
30
|
+
* - traverse (BFS/DFS graph traversal)
|
|
31
|
+
*/
|
|
32
|
+
class FileSystemGraph {
|
|
33
|
+
files;
|
|
34
|
+
directories;
|
|
35
|
+
dependencies; // Stored as "from->to" strings for deduplication
|
|
36
|
+
/**
|
|
37
|
+
* Root path of the project this graph represents.
|
|
38
|
+
*/
|
|
39
|
+
rootPath;
|
|
40
|
+
/**
|
|
41
|
+
* Timestamp of last full scan.
|
|
42
|
+
*/
|
|
43
|
+
lastFullScan;
|
|
44
|
+
constructor(rootPath) {
|
|
45
|
+
this.rootPath = rootPath;
|
|
46
|
+
this.files = new Map();
|
|
47
|
+
this.directories = new Map();
|
|
48
|
+
this.dependencies = new Set();
|
|
49
|
+
this.lastFullScan = 0;
|
|
50
|
+
}
|
|
51
|
+
// ── File Operations ────────────────────────────────────────────────────────
|
|
52
|
+
/**
|
|
53
|
+
* Add or update a file in the graph.
|
|
54
|
+
*/
|
|
55
|
+
addFile(file) {
|
|
56
|
+
this.files.set(file.relativePath, file);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get a file by relative path.
|
|
60
|
+
*/
|
|
61
|
+
getFile(relativePath) {
|
|
62
|
+
return this.files.get(relativePath);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Remove a file from the graph.
|
|
66
|
+
*/
|
|
67
|
+
removeFile(relativePath) {
|
|
68
|
+
return this.files.delete(relativePath);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get all files in the graph.
|
|
72
|
+
*/
|
|
73
|
+
getAllFiles() {
|
|
74
|
+
return Array.from(this.files.values());
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Get file count.
|
|
78
|
+
*/
|
|
79
|
+
getFileCount() {
|
|
80
|
+
return this.files.size;
|
|
81
|
+
}
|
|
82
|
+
// ── Directory Operations ───────────────────────────────────────────────────
|
|
83
|
+
/**
|
|
84
|
+
* Add or update a directory in the graph.
|
|
85
|
+
*/
|
|
86
|
+
addDirectory(dir) {
|
|
87
|
+
this.directories.set(dir.relativePath, dir);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get a directory by relative path.
|
|
91
|
+
*/
|
|
92
|
+
getDirectory(relativePath) {
|
|
93
|
+
return this.directories.get(relativePath);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Remove a directory from the graph.
|
|
97
|
+
*/
|
|
98
|
+
removeDirectory(relativePath) {
|
|
99
|
+
return this.directories.delete(relativePath);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get all directories in the graph.
|
|
103
|
+
*/
|
|
104
|
+
getAllDirectories() {
|
|
105
|
+
return Array.from(this.directories.values());
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get directory count.
|
|
109
|
+
*/
|
|
110
|
+
getDirectoryCount() {
|
|
111
|
+
return this.directories.size;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get dependency count.
|
|
115
|
+
*/
|
|
116
|
+
getDependencyCount() {
|
|
117
|
+
return this.dependencies.size;
|
|
118
|
+
}
|
|
119
|
+
// ── Symbol Operations ──────────────────────────────────────────────────────
|
|
120
|
+
/**
|
|
121
|
+
* Get a symbol by searching all files.
|
|
122
|
+
* Returns first match (symbols should be unique per file, not globally).
|
|
123
|
+
*
|
|
124
|
+
* @param symbolName - Name of the symbol to find
|
|
125
|
+
* @param kind - Optional: filter by symbol kind
|
|
126
|
+
*/
|
|
127
|
+
getSymbol(symbolName, kind) {
|
|
128
|
+
for (const file of this.files.values()) {
|
|
129
|
+
if (!file.symbols)
|
|
130
|
+
continue;
|
|
131
|
+
for (const symbol of file.symbols) {
|
|
132
|
+
if (symbol.name === symbolName && (!kind || symbol.kind === kind)) {
|
|
133
|
+
return { file, symbol };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Find all symbols matching a predicate.
|
|
141
|
+
*/
|
|
142
|
+
findSymbols(predicate) {
|
|
143
|
+
const results = [];
|
|
144
|
+
for (const file of this.files.values()) {
|
|
145
|
+
if (!file.symbols)
|
|
146
|
+
continue;
|
|
147
|
+
for (const symbol of file.symbols) {
|
|
148
|
+
if (predicate(symbol, file)) {
|
|
149
|
+
results.push({ file, symbol });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return results;
|
|
154
|
+
}
|
|
155
|
+
// ── Dependency Operations ──────────────────────────────────────────────────
|
|
156
|
+
/**
|
|
157
|
+
* Add a dependency edge (import relationship).
|
|
158
|
+
*
|
|
159
|
+
* @param from - Source file relativePath
|
|
160
|
+
* @param to - Imported file relativePath
|
|
161
|
+
*/
|
|
162
|
+
addDependency(from, to) {
|
|
163
|
+
this.dependencies.add(`${from}->${to}`);
|
|
164
|
+
// Also update FileEntry.references and FileEntry.referencedBy
|
|
165
|
+
const fromFile = this.files.get(from);
|
|
166
|
+
const toFile = this.files.get(to);
|
|
167
|
+
if (fromFile && !fromFile.references.includes(to)) {
|
|
168
|
+
fromFile.references.push(to);
|
|
169
|
+
}
|
|
170
|
+
if (toFile && !toFile.referencedBy.includes(from)) {
|
|
171
|
+
toFile.referencedBy.push(from);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Remove a dependency edge.
|
|
176
|
+
*/
|
|
177
|
+
removeDependency(from, to) {
|
|
178
|
+
const key = `${from}->${to}`;
|
|
179
|
+
const deleted = this.dependencies.delete(key);
|
|
180
|
+
if (deleted) {
|
|
181
|
+
// Also update FileEntry arrays
|
|
182
|
+
const fromFile = this.files.get(from);
|
|
183
|
+
const toFile = this.files.get(to);
|
|
184
|
+
if (fromFile) {
|
|
185
|
+
fromFile.references = fromFile.references.filter(r => r !== to);
|
|
186
|
+
}
|
|
187
|
+
if (toFile) {
|
|
188
|
+
toFile.referencedBy = toFile.referencedBy.filter(r => r !== from);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return deleted;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Find all files that import the given file.
|
|
195
|
+
*
|
|
196
|
+
* @param relativePath - File to find importers for
|
|
197
|
+
* @returns Array of files that import this file
|
|
198
|
+
*/
|
|
199
|
+
findImporters(relativePath) {
|
|
200
|
+
const file = this.files.get(relativePath);
|
|
201
|
+
if (!file)
|
|
202
|
+
return [];
|
|
203
|
+
return file.referencedBy
|
|
204
|
+
.map(path => this.files.get(path))
|
|
205
|
+
.filter((f) => f !== undefined);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Find all files imported by the given file.
|
|
209
|
+
*
|
|
210
|
+
* @param relativePath - File to find imports for
|
|
211
|
+
* @returns Array of files imported by this file
|
|
212
|
+
*/
|
|
213
|
+
findImports(relativePath) {
|
|
214
|
+
const file = this.files.get(relativePath);
|
|
215
|
+
if (!file)
|
|
216
|
+
return [];
|
|
217
|
+
return file.references
|
|
218
|
+
.map(path => this.files.get(path))
|
|
219
|
+
.filter((f) => f !== undefined);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Get related files (both importers and imports).
|
|
223
|
+
*/
|
|
224
|
+
getRelated(relativePath) {
|
|
225
|
+
return {
|
|
226
|
+
references: this.findImports(relativePath),
|
|
227
|
+
referencedBy: this.findImporters(relativePath),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
// ── Traversal ──────────────────────────────────────────────────────────────
|
|
231
|
+
/**
|
|
232
|
+
* Traverse the dependency graph starting from a file.
|
|
233
|
+
*
|
|
234
|
+
* @param startPath - Starting file relativePath
|
|
235
|
+
* @param direction - 'imports' (follow references) or 'importers' (follow referencedBy)
|
|
236
|
+
* @param maxDepth - Maximum depth to traverse (default: 3)
|
|
237
|
+
* @returns Array of files visited during traversal (BFS order)
|
|
238
|
+
*/
|
|
239
|
+
traverse(startPath, direction, maxDepth = 3) {
|
|
240
|
+
const visited = new Set();
|
|
241
|
+
const result = [];
|
|
242
|
+
const queue = [{ path: startPath, depth: 0 }];
|
|
243
|
+
while (queue.length > 0) {
|
|
244
|
+
const { path, depth } = queue.shift();
|
|
245
|
+
if (visited.has(path) || depth > maxDepth)
|
|
246
|
+
continue;
|
|
247
|
+
const file = this.files.get(path);
|
|
248
|
+
if (!file)
|
|
249
|
+
continue;
|
|
250
|
+
visited.add(path);
|
|
251
|
+
result.push(file);
|
|
252
|
+
// Get next level based on direction
|
|
253
|
+
const nextPaths = direction === 'imports' ? file.references : file.referencedBy;
|
|
254
|
+
for (const nextPath of nextPaths) {
|
|
255
|
+
if (!visited.has(nextPath)) {
|
|
256
|
+
queue.push({ path: nextPath, depth: depth + 1 });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return result;
|
|
261
|
+
}
|
|
262
|
+
// ── Export / Import ────────────────────────────────────────────────────────
|
|
263
|
+
/**
|
|
264
|
+
* Export the entire graph as ProjectMapData (for persistence).
|
|
265
|
+
*/
|
|
266
|
+
toJSON() {
|
|
267
|
+
const filesObj = {};
|
|
268
|
+
const dirsObj = {};
|
|
269
|
+
for (const [path, file] of this.files) {
|
|
270
|
+
filesObj[path] = file;
|
|
271
|
+
}
|
|
272
|
+
for (const [path, dir] of this.directories) {
|
|
273
|
+
dirsObj[path] = dir;
|
|
274
|
+
}
|
|
275
|
+
return {
|
|
276
|
+
rootPath: this.rootPath,
|
|
277
|
+
lastFullScan: this.lastFullScan,
|
|
278
|
+
files: filesObj,
|
|
279
|
+
directories: dirsObj,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Import graph data from ProjectMapData (load from persistence).
|
|
284
|
+
*/
|
|
285
|
+
fromJSON(data) {
|
|
286
|
+
this.files.clear();
|
|
287
|
+
this.directories.clear();
|
|
288
|
+
this.dependencies.clear();
|
|
289
|
+
this.lastFullScan = data.lastFullScan;
|
|
290
|
+
// Load files
|
|
291
|
+
for (const [path, file] of Object.entries(data.files)) {
|
|
292
|
+
this.files.set(path, file);
|
|
293
|
+
}
|
|
294
|
+
// Load directories
|
|
295
|
+
for (const [path, dir] of Object.entries(data.directories)) {
|
|
296
|
+
this.directories.set(path, dir);
|
|
297
|
+
}
|
|
298
|
+
// Rebuild dependencies from FileEntry.references
|
|
299
|
+
for (const file of this.files.values()) {
|
|
300
|
+
for (const ref of file.references) {
|
|
301
|
+
this.dependencies.add(`${file.relativePath}->${ref}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Clear all data from the graph.
|
|
307
|
+
*/
|
|
308
|
+
clear() {
|
|
309
|
+
this.files.clear();
|
|
310
|
+
this.directories.clear();
|
|
311
|
+
this.dependencies.clear();
|
|
312
|
+
this.lastFullScan = 0;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
exports.FileSystemGraph = FileSystemGraph;
|
|
316
|
+
//# sourceMappingURL=FileSystemGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSystemGraph.js","sourceRoot":"","sources":["../../src/core/FileSystemGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileSystemIO — The Controlled Gateway
|
|
3
|
+
*
|
|
4
|
+
* All file operations in CodeMap flow through this gateway.
|
|
5
|
+
* Wraps FileSystemProvider and emits lifecycle events for plugins.
|
|
6
|
+
*
|
|
7
|
+
* NEW FEATURES:
|
|
8
|
+
* - Line range writes via LineRangeWriter
|
|
9
|
+
* - Target parsing with wildcards and line ranges
|
|
10
|
+
* - Annotation metadata via AnnotationStore
|
|
11
|
+
*
|
|
12
|
+
* This is where TimeWarp hooks into file:write:before to capture snapshots.
|
|
13
|
+
* Plugins CANNOT bypass this gateway — no direct FS access allowed.
|
|
14
|
+
*
|
|
15
|
+
* @codemap.domain.name File System Gateway
|
|
16
|
+
* @codemap.usage Add new file operation types (copy, move, chmod, etc)
|
|
17
|
+
* @codemap.usage Modify event emission logic for lifecycle hooks (file:write:before, file:write:after)
|
|
18
|
+
* @codemap.usage Integrate new features (line range operations, wildcards, safety guards)
|
|
19
|
+
* @codemap.usage Fix file operation bugs or add validation/safety checks
|
|
20
|
+
* @codemap.usage Change how FileSystemProvider is wrapped or called
|
|
21
|
+
* @codemap.policy This is the ONLY place in CodeMap that touches FileSystemProvider.
|
|
22
|
+
* @codemap.policy All plugins must use codemap.fs — no bypass, no history gaps.
|
|
23
|
+
* @codemap.warning Event handlers are async. await emit() before continuing.
|
|
24
|
+
*/
|
|
25
|
+
import type { FileSystemProvider } from '../types/contracts/FileSystemProvider';
|
|
26
|
+
import type { EventHandler } from '../types/contracts/Plugin';
|
|
27
|
+
import type { CodeMapEvent } from '../types/events';
|
|
28
|
+
import type { ParsedTarget, LineRangeWriteResult } from '../types';
|
|
29
|
+
import { AnnotationStore } from './AnnotationStore';
|
|
30
|
+
import { WriteSafetyGuard } from './WriteSafetyGuard';
|
|
31
|
+
import type { SafeWriteResult } from './WriteSafetyGuard';
|
|
32
|
+
/**
|
|
33
|
+
* Write operation parameters.
|
|
34
|
+
*/
|
|
35
|
+
interface WriteOptions {
|
|
36
|
+
/** If true, interpret content as line range replacement */
|
|
37
|
+
lineRange?: {
|
|
38
|
+
start: number;
|
|
39
|
+
end: number;
|
|
40
|
+
};
|
|
41
|
+
/** Emit events (default: true) */
|
|
42
|
+
emitEvents?: boolean;
|
|
43
|
+
/** Skip syntax validation (default: false) */
|
|
44
|
+
skipValidation?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* FileSystemIO wraps a storage provider and emits lifecycle events.
|
|
48
|
+
*
|
|
49
|
+
* Lifecycle flow:
|
|
50
|
+
* 1. Plugin registers handler via codemap.on('file:write:before', handler)
|
|
51
|
+
* 2. User calls codemap.fs.write(path, content)
|
|
52
|
+
* 3. FileSystemIO emits 'file:write:before' → handlers run (TimeWarp captures)
|
|
53
|
+
* 4. FileSystemIO calls provider.write(path, content)
|
|
54
|
+
* 5. FileSystemIO emits 'file:write:after' → handlers run (graph updates)
|
|
55
|
+
*
|
|
56
|
+
* Result: No writes can bypass history tracking.
|
|
57
|
+
*/
|
|
58
|
+
export declare class FileSystemIO {
|
|
59
|
+
private provider;
|
|
60
|
+
private eventHandlers;
|
|
61
|
+
private targetParser;
|
|
62
|
+
private lineRangeWriter;
|
|
63
|
+
private annotationStore;
|
|
64
|
+
private safetyGuard;
|
|
65
|
+
private codemap;
|
|
66
|
+
constructor(provider: FileSystemProvider, codemapRoot?: string);
|
|
67
|
+
/**
|
|
68
|
+
* Set CodeMap reference for parser access.
|
|
69
|
+
* Called during CodeMap initialization.
|
|
70
|
+
*
|
|
71
|
+
* @param codemap - CodeMap instance
|
|
72
|
+
*/
|
|
73
|
+
setCodeMap(codemap: any): void;
|
|
74
|
+
/**
|
|
75
|
+
* Register an event handler.
|
|
76
|
+
* Used internally by CodeMap to wire up plugin hooks.
|
|
77
|
+
*/
|
|
78
|
+
on(event: CodeMapEvent, handler: EventHandler): void;
|
|
79
|
+
/**
|
|
80
|
+
* Emit an event to all registered handlers.
|
|
81
|
+
* Handlers run sequentially (await each before next).
|
|
82
|
+
*/
|
|
83
|
+
private emit;
|
|
84
|
+
/**
|
|
85
|
+
* Parse a target string (supports wildcards and line ranges).
|
|
86
|
+
*
|
|
87
|
+
* @param target - Target string (e.g., "file.ts:10-20" or "src/*.vue")
|
|
88
|
+
* @returns Parsed target structure
|
|
89
|
+
*/
|
|
90
|
+
parseTarget(target: string): ParsedTarget;
|
|
91
|
+
/**
|
|
92
|
+
* Resolve wildcards to concrete file paths.
|
|
93
|
+
*
|
|
94
|
+
* @param _pattern - Wildcard pattern (e.g., "src/components/*.vue")
|
|
95
|
+
* @returns Array of matching file paths
|
|
96
|
+
*/
|
|
97
|
+
resolveWildcard(_pattern: string): Promise<string[]>;
|
|
98
|
+
/**
|
|
99
|
+
* Read file content.
|
|
100
|
+
* Supports line range extraction via target parsing.
|
|
101
|
+
*
|
|
102
|
+
* @param target - File path or "file.ts:10-20" for line range
|
|
103
|
+
* @returns File content (full or line range)
|
|
104
|
+
*/
|
|
105
|
+
read(target: string): Promise<string>;
|
|
106
|
+
/**
|
|
107
|
+
* Check if file/directory exists.
|
|
108
|
+
* No lifecycle events — read is passive.
|
|
109
|
+
*/
|
|
110
|
+
exists(path: string): Promise<boolean>;
|
|
111
|
+
/**
|
|
112
|
+
* Read directory contents.
|
|
113
|
+
* No lifecycle events — read is passive.
|
|
114
|
+
*/
|
|
115
|
+
readdir(path: string): Promise<string[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Get file/directory stats.
|
|
118
|
+
* No lifecycle events — read is passive.
|
|
119
|
+
*/
|
|
120
|
+
stat(path: string): Promise<{
|
|
121
|
+
isDirectory: boolean;
|
|
122
|
+
size: number;
|
|
123
|
+
mtime: number;
|
|
124
|
+
}>;
|
|
125
|
+
/**
|
|
126
|
+
* Write file content.
|
|
127
|
+
* Supports line range replacement via target parsing.
|
|
128
|
+
*
|
|
129
|
+
* @param target - File path or "file.ts:10-20" for line range replacement
|
|
130
|
+
* @param content - Content to write
|
|
131
|
+
* @param options - Write options
|
|
132
|
+
* @returns Line range result if applicable, otherwise void
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* // Full file write
|
|
136
|
+
* await fs.write("file.ts", "content")
|
|
137
|
+
*
|
|
138
|
+
* // Line range replacement
|
|
139
|
+
* await fs.write("file.ts:10-15", "new content")
|
|
140
|
+
* // → Replaces lines 10-15 with new content
|
|
141
|
+
*/
|
|
142
|
+
write(target: string, content: string, options?: WriteOptions): Promise<void | LineRangeWriteResult>;
|
|
143
|
+
/**
|
|
144
|
+
* Append content to file.
|
|
145
|
+
*
|
|
146
|
+
* @param path - File path
|
|
147
|
+
* @param content - Content to append
|
|
148
|
+
* @param options - Write options (including skipValidation)
|
|
149
|
+
*/
|
|
150
|
+
append(path: string, content: string, options?: WriteOptions): Promise<void>;
|
|
151
|
+
/**
|
|
152
|
+
* Remove file.
|
|
153
|
+
* Emits: file:delete
|
|
154
|
+
*
|
|
155
|
+
* TimeWarp can hook into this for deletion tracking.
|
|
156
|
+
*/
|
|
157
|
+
remove(path: string): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Create directory.
|
|
160
|
+
* No lifecycle events — directory creation is structural.
|
|
161
|
+
*/
|
|
162
|
+
mkdir(path: string): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Remove directory.
|
|
165
|
+
* No lifecycle events for now — can add if needed.
|
|
166
|
+
*/
|
|
167
|
+
rmdir(path: string, options?: {
|
|
168
|
+
recursive?: boolean;
|
|
169
|
+
}): Promise<void>;
|
|
170
|
+
/**
|
|
171
|
+
* Rename/move file.
|
|
172
|
+
* Emits: file:rename
|
|
173
|
+
*
|
|
174
|
+
* TimeWarp can hook into this for history continuity across renames.
|
|
175
|
+
*/
|
|
176
|
+
rename(oldPath: string, newPath: string): Promise<void>;
|
|
177
|
+
/**
|
|
178
|
+
* Get annotation store for direct access.
|
|
179
|
+
* Used by higher-level operations that manage annotations.
|
|
180
|
+
*/
|
|
181
|
+
getAnnotationStore(): AnnotationStore;
|
|
182
|
+
/**
|
|
183
|
+
* Attach annotations to a file (convenience method).
|
|
184
|
+
*
|
|
185
|
+
* @param target - File path
|
|
186
|
+
* @param annotations - Array of annotation strings
|
|
187
|
+
* @returns Attachment result
|
|
188
|
+
*/
|
|
189
|
+
attachAnnotations(target: string, annotations: string[]): Promise<import("../types").AttachAnnotationsResult>;
|
|
190
|
+
/**
|
|
191
|
+
* Get annotations for a file (convenience method).
|
|
192
|
+
*
|
|
193
|
+
* @param target - File path
|
|
194
|
+
* @returns Annotation set (inline + meta)
|
|
195
|
+
*/
|
|
196
|
+
getAnnotations(target: string): Promise<import("../types").AnnotationSet>;
|
|
197
|
+
/**
|
|
198
|
+
* Verify a replace operation before executing.
|
|
199
|
+
* Returns context around matches for user confirmation.
|
|
200
|
+
*
|
|
201
|
+
* @param path - File path
|
|
202
|
+
* @param oldString - String to find
|
|
203
|
+
* @returns Verification result
|
|
204
|
+
*/
|
|
205
|
+
verifyReplace(path: string, oldString: string): Promise<import("./WriteSafetyGuard").ReplaceVerification>;
|
|
206
|
+
/**
|
|
207
|
+
* Safely replace text in file.
|
|
208
|
+
* Uses all write safety guarantees.
|
|
209
|
+
*
|
|
210
|
+
* @param path - File path
|
|
211
|
+
* @param oldString - Text to find (must be unique)
|
|
212
|
+
* @param newString - Replacement text
|
|
213
|
+
* @returns Write result
|
|
214
|
+
*/
|
|
215
|
+
safeReplace(path: string, oldString: string, newString: string): Promise<SafeWriteResult>;
|
|
216
|
+
/**
|
|
217
|
+
* Get the safety guard instance for advanced operations.
|
|
218
|
+
*/
|
|
219
|
+
getSafetyGuard(): WriteSafetyGuard;
|
|
220
|
+
}
|
|
221
|
+
export {};
|
|
222
|
+
//# sourceMappingURL=FileSystemIO.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileSystemIO.d.ts","sourceRoot":"","sources":["../../src/core/FileSystemIO.ts"],"names":[],"mappings":"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"}
|