@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,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Vue SFC parser with DOM element extraction (bundled).
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VueParser = void 0;
|
|
7
|
+
const template_parser_js_1 = require("./template-parser.js");
|
|
8
|
+
const script_parser_js_1 = require("./script-parser.js");
|
|
9
|
+
/**
|
|
10
|
+
* Vue SFC parser with DOM element extraction.
|
|
11
|
+
*/
|
|
12
|
+
class VueParser {
|
|
13
|
+
name = '@egentica/codemap-parser-vue';
|
|
14
|
+
version = '0.1.0';
|
|
15
|
+
fileExtensions = ['.vue'];
|
|
16
|
+
canParse(filePath) {
|
|
17
|
+
return filePath.endsWith('.vue');
|
|
18
|
+
}
|
|
19
|
+
async parse(filePath, content) {
|
|
20
|
+
const symbols = [];
|
|
21
|
+
const elements = [];
|
|
22
|
+
const dependencies = [];
|
|
23
|
+
const exports = [];
|
|
24
|
+
// Extract template DOM elements
|
|
25
|
+
const templateSection = this.extractTemplateSection(content);
|
|
26
|
+
if (templateSection) {
|
|
27
|
+
const domElements = (0, template_parser_js_1.extractDOMElements)(templateSection.content, templateSection.startLine);
|
|
28
|
+
elements.push(...domElements);
|
|
29
|
+
}
|
|
30
|
+
// Extract script symbols
|
|
31
|
+
const scriptSection = this.extractScriptSection(content);
|
|
32
|
+
if (scriptSection) {
|
|
33
|
+
dependencies.push(...(0, script_parser_js_1.extractImports)(scriptSection));
|
|
34
|
+
symbols.push(...(0, script_parser_js_1.extractProps)(scriptSection));
|
|
35
|
+
symbols.push(...(0, script_parser_js_1.extractEmits)(scriptSection));
|
|
36
|
+
}
|
|
37
|
+
// Add component symbol
|
|
38
|
+
const componentName = this.getComponentName(filePath);
|
|
39
|
+
symbols.unshift({
|
|
40
|
+
kind: 'component',
|
|
41
|
+
name: componentName,
|
|
42
|
+
startLine: 1,
|
|
43
|
+
startCol: 0,
|
|
44
|
+
endLine: 1,
|
|
45
|
+
endCol: 0,
|
|
46
|
+
exported: true,
|
|
47
|
+
line: 1,
|
|
48
|
+
bodyEnd: 1
|
|
49
|
+
});
|
|
50
|
+
exports.push(componentName);
|
|
51
|
+
return { symbols, elements, dependencies, exports };
|
|
52
|
+
}
|
|
53
|
+
register(codemap) {
|
|
54
|
+
codemap.on('scan:file', async (payload) => {
|
|
55
|
+
const { file, content } = payload;
|
|
56
|
+
if (!this.canParse(file.relativePath))
|
|
57
|
+
return;
|
|
58
|
+
const result = await this.parse(file.relativePath, content);
|
|
59
|
+
file.symbols = result.symbols;
|
|
60
|
+
if (result.elements && result.elements.length > 0) {
|
|
61
|
+
file.elements = result.elements;
|
|
62
|
+
}
|
|
63
|
+
if (result.dependencies && result.dependencies.length > 0) {
|
|
64
|
+
file.references = result.dependencies;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
extractTemplateSection(content) {
|
|
69
|
+
const templateMatch = content.match(/<template[^>]*>([\s\S]*?)<\/template>/);
|
|
70
|
+
if (!templateMatch)
|
|
71
|
+
return null;
|
|
72
|
+
const beforeTemplate = content.substring(0, templateMatch.index);
|
|
73
|
+
const startLine = (beforeTemplate.match(/\n/g) || []).length + 2;
|
|
74
|
+
return { content: templateMatch[1], startLine };
|
|
75
|
+
}
|
|
76
|
+
extractScriptSection(content) {
|
|
77
|
+
const scriptMatch = content.match(/<script[^>]*>([\s\S]*?)<\/script>/);
|
|
78
|
+
return scriptMatch ? scriptMatch[1] : null;
|
|
79
|
+
}
|
|
80
|
+
getComponentName(filePath) {
|
|
81
|
+
const parts = filePath.split('/');
|
|
82
|
+
const fileName = parts[parts.length - 1];
|
|
83
|
+
return fileName.replace('.vue', '');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.VueParser = VueParser;
|
|
87
|
+
exports.default = VueParser;
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/parser-vue/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Script parser for Vue SFCs.
|
|
3
|
+
* Extracts props, emits, and imports from <script> section.
|
|
4
|
+
*/
|
|
5
|
+
import type { SymbolEntry } from '../../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Extract props from script content.
|
|
8
|
+
*/
|
|
9
|
+
export declare function extractProps(scriptContent: string): SymbolEntry[];
|
|
10
|
+
/**
|
|
11
|
+
* Extract emits from script content.
|
|
12
|
+
*/
|
|
13
|
+
export declare function extractEmits(scriptContent: string): SymbolEntry[];
|
|
14
|
+
/**
|
|
15
|
+
* Extract imports from script content.
|
|
16
|
+
*/
|
|
17
|
+
export declare function extractImports(scriptContent: string): string[];
|
|
18
|
+
//# sourceMappingURL=script-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/parser-vue/script-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CAoDjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,CA4BjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Script parser for Vue SFCs.
|
|
4
|
+
* Extracts props, emits, and imports from <script> section.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.extractProps = extractProps;
|
|
8
|
+
exports.extractEmits = extractEmits;
|
|
9
|
+
exports.extractImports = extractImports;
|
|
10
|
+
/**
|
|
11
|
+
* Extract props from script content.
|
|
12
|
+
*/
|
|
13
|
+
function extractProps(scriptContent) {
|
|
14
|
+
const symbols = [];
|
|
15
|
+
const lines = scriptContent.split('\n');
|
|
16
|
+
for (let i = 0; i < lines.length; i++) {
|
|
17
|
+
const line = lines[i];
|
|
18
|
+
const lineNum = i + 1;
|
|
19
|
+
// defineProps<{prop: type}>
|
|
20
|
+
const defineMatch = line.match(/defineProps<{([^}]+)}>/);
|
|
21
|
+
if (defineMatch) {
|
|
22
|
+
const propsText = defineMatch[1];
|
|
23
|
+
const propNames = propsText.split(',').map(p => p.split(':')[0].trim()).filter(Boolean);
|
|
24
|
+
for (const propName of propNames) {
|
|
25
|
+
symbols.push({
|
|
26
|
+
kind: 'props',
|
|
27
|
+
name: propName,
|
|
28
|
+
startLine: lineNum,
|
|
29
|
+
startCol: 0,
|
|
30
|
+
endLine: lineNum,
|
|
31
|
+
endCol: 0,
|
|
32
|
+
exported: false,
|
|
33
|
+
line: lineNum,
|
|
34
|
+
bodyEnd: lineNum
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// props: {prop: {...}}
|
|
39
|
+
const optionMatch = line.match(/props:\s*{([^}]+)}/);
|
|
40
|
+
if (optionMatch) {
|
|
41
|
+
const propsText = optionMatch[1];
|
|
42
|
+
const propNames = propsText.split(',').map(p => p.split(':')[0].trim()).filter(Boolean);
|
|
43
|
+
for (const propName of propNames) {
|
|
44
|
+
symbols.push({
|
|
45
|
+
kind: 'props',
|
|
46
|
+
name: propName,
|
|
47
|
+
startLine: lineNum,
|
|
48
|
+
startCol: 0,
|
|
49
|
+
endLine: lineNum,
|
|
50
|
+
endCol: 0,
|
|
51
|
+
exported: false,
|
|
52
|
+
line: lineNum,
|
|
53
|
+
bodyEnd: lineNum
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return symbols;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Extract emits from script content.
|
|
62
|
+
*/
|
|
63
|
+
function extractEmits(scriptContent) {
|
|
64
|
+
const symbols = [];
|
|
65
|
+
const lines = scriptContent.split('\n');
|
|
66
|
+
for (let i = 0; i < lines.length; i++) {
|
|
67
|
+
const line = lines[i];
|
|
68
|
+
const lineNum = i + 1;
|
|
69
|
+
if (line.includes('defineEmits')) {
|
|
70
|
+
const eventMatches = line.matchAll(/['"]([a-zA-Z0-9:-]+)['"]/g);
|
|
71
|
+
for (const match of eventMatches) {
|
|
72
|
+
symbols.push({
|
|
73
|
+
kind: 'emits',
|
|
74
|
+
name: match[1],
|
|
75
|
+
startLine: lineNum,
|
|
76
|
+
startCol: 0,
|
|
77
|
+
endLine: lineNum,
|
|
78
|
+
endCol: 0,
|
|
79
|
+
exported: false,
|
|
80
|
+
line: lineNum,
|
|
81
|
+
bodyEnd: lineNum
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return symbols;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Extract imports from script content.
|
|
90
|
+
*/
|
|
91
|
+
function extractImports(scriptContent) {
|
|
92
|
+
const imports = [];
|
|
93
|
+
const importPattern = /import\s+(?:[\w{},\s*]+\s+from\s+)?['"]([^'"]+)['"]/g;
|
|
94
|
+
let match;
|
|
95
|
+
while ((match = importPattern.exec(scriptContent)) !== null) {
|
|
96
|
+
imports.push(match[1]);
|
|
97
|
+
}
|
|
98
|
+
return imports;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=script-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-parser.js","sourceRoot":"","sources":["../../../src/plugins/parser-vue/script-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template DOM parser for Vue SFCs.
|
|
3
|
+
* Uses @vue/compiler-dom to extract DOM elements with IDs and auto-numbering.
|
|
4
|
+
*/
|
|
5
|
+
import type { ElementEntry } from '../../types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Extract DOM elements from Vue template using AST.
|
|
8
|
+
*
|
|
9
|
+
* Extracts:
|
|
10
|
+
* - Elements with explicit IDs (e.g., <div id="header">)
|
|
11
|
+
* - Auto-numbered unnamed elements (e.g., div-1, span-2, table-1)
|
|
12
|
+
*/
|
|
13
|
+
export declare function extractDOMElements(templateContent: string, templateStartLine: number): ElementEntry[];
|
|
14
|
+
//# sourceMappingURL=template-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/parser-vue/template-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,GACxB,YAAY,EAAE,CAwFhB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template DOM parser for Vue SFCs.
|
|
4
|
+
* Uses @vue/compiler-dom to extract DOM elements with IDs and auto-numbering.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.extractDOMElements = extractDOMElements;
|
|
8
|
+
const compiler_dom_1 = require("@vue/compiler-dom");
|
|
9
|
+
/**
|
|
10
|
+
* Extract DOM elements from Vue template using AST.
|
|
11
|
+
*
|
|
12
|
+
* Extracts:
|
|
13
|
+
* - Elements with explicit IDs (e.g., <div id="header">)
|
|
14
|
+
* - Auto-numbered unnamed elements (e.g., div-1, span-2, table-1)
|
|
15
|
+
*/
|
|
16
|
+
function extractDOMElements(templateContent, templateStartLine) {
|
|
17
|
+
const elements = [];
|
|
18
|
+
try {
|
|
19
|
+
// Parse template into AST using Vue compiler
|
|
20
|
+
const ast = (0, compiler_dom_1.parse)(templateContent, {
|
|
21
|
+
comments: false,
|
|
22
|
+
whitespace: 'preserve'
|
|
23
|
+
});
|
|
24
|
+
// Track element counts for auto-numbering
|
|
25
|
+
const elementCounts = {};
|
|
26
|
+
// Traverse AST and extract elements
|
|
27
|
+
const traverse = (node) => {
|
|
28
|
+
if (node.type === compiler_dom_1.NodeTypes.ELEMENT) {
|
|
29
|
+
const element = node;
|
|
30
|
+
const tagName = element.tag;
|
|
31
|
+
// Calculate line number from node location
|
|
32
|
+
const lineNumber = templateStartLine + (node.loc.start.line - 1);
|
|
33
|
+
const column = node.loc.start.column - 1;
|
|
34
|
+
const endLine = templateStartLine + (node.loc.end.line - 1);
|
|
35
|
+
const endColumn = node.loc.end.column - 1;
|
|
36
|
+
// Check for ID attribute
|
|
37
|
+
const idProp = element.props.find(p => p.type === 6 && p.name === 'id');
|
|
38
|
+
let elementName;
|
|
39
|
+
let hasId;
|
|
40
|
+
if (idProp && idProp.type === 6 && idProp.value) {
|
|
41
|
+
// Element has explicit ID
|
|
42
|
+
elementName = idProp.value.content;
|
|
43
|
+
hasId = true;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// Auto-number unnamed element
|
|
47
|
+
if (!elementCounts[tagName]) {
|
|
48
|
+
elementCounts[tagName] = 0;
|
|
49
|
+
}
|
|
50
|
+
elementCounts[tagName]++;
|
|
51
|
+
elementName = `${tagName}-${elementCounts[tagName]}`;
|
|
52
|
+
hasId = false;
|
|
53
|
+
}
|
|
54
|
+
elements.push({
|
|
55
|
+
name: elementName,
|
|
56
|
+
tag: tagName,
|
|
57
|
+
hasId: hasId,
|
|
58
|
+
startLine: lineNumber,
|
|
59
|
+
startCol: column,
|
|
60
|
+
endLine: endLine,
|
|
61
|
+
endCol: endColumn
|
|
62
|
+
});
|
|
63
|
+
// Recurse into children
|
|
64
|
+
if (element.children) {
|
|
65
|
+
for (const child of element.children) {
|
|
66
|
+
traverse(child);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else if (node.type === compiler_dom_1.NodeTypes.IF || node.type === compiler_dom_1.NodeTypes.FOR) {
|
|
71
|
+
// Handle v-if / v-for branches
|
|
72
|
+
const branches = node.branches || [node.branch];
|
|
73
|
+
for (const branch of branches) {
|
|
74
|
+
if (branch.children) {
|
|
75
|
+
for (const child of branch.children) {
|
|
76
|
+
traverse(child);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
// Start traversal from root
|
|
83
|
+
if (ast.children) {
|
|
84
|
+
for (const child of ast.children) {
|
|
85
|
+
traverse(child);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
// Template parsing failed - skip DOM extraction
|
|
91
|
+
console.error('[VueParser] Template parse error:', error);
|
|
92
|
+
}
|
|
93
|
+
return elements;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=template-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-parser.js","sourceRoot":"","sources":["../../../src/plugins/parser-vue/template-parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAYH,gDA2FC;AArGD,oDAA+F;AAG/F;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,eAAuB,EACvB,iBAAyB;IAEzB,MAAM,QAAQ,GAAmB,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,GAAG,GAAG,IAAA,oBAAK,EAAC,eAAe,EAAE;YACjC,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,aAAa,GAA2B,EAAE,CAAC;QAEjD,oCAAoC;QACpC,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAS,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAmB,CAAC;gBACpC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;gBAE5B,2CAA2C;gBAC3C,MAAM,UAAU,GAAG,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAChC,CAAC;gBAEF,IAAI,WAAmB,CAAC;gBACxB,IAAI,KAAc,CAAC;gBAEnB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChD,0BAA0B;oBAC1B,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBACnC,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,8BAA8B;oBAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC;oBACD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,WAAW,GAAG,GAAG,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrD,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,UAAU;oBACrB,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAS,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAS,CAAC,GAAG,EAAE,CAAC;gBACrE,+BAA+B;gBAC/B,MAAM,QAAQ,GAAI,IAAY,CAAC,QAAQ,IAAI,CAAE,IAAY,CAAC,MAAM,CAAC,CAAC;gBAClE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACpC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,4BAA4B;QAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gDAAgD;QAChD,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SymbolSearch - Symbol-specific search operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - Symbol name matching (exact, partial, fuzzy)
|
|
6
|
+
* - Symbol kind filtering
|
|
7
|
+
* - Relevance scoring based on symbol properties
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const search = new SymbolSearch();
|
|
12
|
+
* const results = search.searchSymbols(query, files);
|
|
13
|
+
* // → Files containing matching symbols
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import type { FileEntry, SymbolMatch } from '../types';
|
|
17
|
+
export declare class SymbolSearch {
|
|
18
|
+
/**
|
|
19
|
+
* Search files by symbol name matching.
|
|
20
|
+
*
|
|
21
|
+
* @param query - Search query
|
|
22
|
+
* @param files - Files to search
|
|
23
|
+
* @param kinds - Optional symbol kind filter
|
|
24
|
+
* @returns Files with matching symbols
|
|
25
|
+
*/
|
|
26
|
+
searchSymbols(query: string, files: FileEntry[], kinds?: string[]): Array<{
|
|
27
|
+
file: FileEntry;
|
|
28
|
+
score: number;
|
|
29
|
+
symbolMatches: SymbolMatch[];
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Match a symbol against a query.
|
|
33
|
+
*
|
|
34
|
+
* @param symbol - Symbol to match
|
|
35
|
+
* @param queryLower - Lowercase query string
|
|
36
|
+
* @returns SymbolMatch or null
|
|
37
|
+
*/
|
|
38
|
+
private matchSymbol;
|
|
39
|
+
/**
|
|
40
|
+
* Fuzzy string matching.
|
|
41
|
+
* Checks if all characters from pattern appear in str in order.
|
|
42
|
+
*
|
|
43
|
+
* @param str - String to search in
|
|
44
|
+
* @param pattern - Pattern to find
|
|
45
|
+
* @returns True if fuzzy match
|
|
46
|
+
*/
|
|
47
|
+
private fuzzyMatch;
|
|
48
|
+
/**
|
|
49
|
+
* Get score for a symbol match.
|
|
50
|
+
*
|
|
51
|
+
* @param match - Symbol match
|
|
52
|
+
* @returns Score value
|
|
53
|
+
*/
|
|
54
|
+
private getSymbolScore;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=SymbolSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SymbolSearch.d.ts","sourceRoot":"","sources":["../../src/query/SymbolSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpE,qBAAa,YAAY;IAEvB;;;;;;;OAOG;IACH,aAAa,CACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IAmC1E;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiCnB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAclB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAiBvB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* SymbolSearch - Symbol-specific search operations.
|
|
4
|
+
*
|
|
5
|
+
* Provides:
|
|
6
|
+
* - Symbol name matching (exact, partial, fuzzy)
|
|
7
|
+
* - Symbol kind filtering
|
|
8
|
+
* - Relevance scoring based on symbol properties
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const search = new SymbolSearch();
|
|
13
|
+
* const results = search.searchSymbols(query, files);
|
|
14
|
+
* // → Files containing matching symbols
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SymbolSearch = void 0;
|
|
19
|
+
class SymbolSearch {
|
|
20
|
+
/**
|
|
21
|
+
* Search files by symbol name matching.
|
|
22
|
+
*
|
|
23
|
+
* @param query - Search query
|
|
24
|
+
* @param files - Files to search
|
|
25
|
+
* @param kinds - Optional symbol kind filter
|
|
26
|
+
* @returns Files with matching symbols
|
|
27
|
+
*/
|
|
28
|
+
searchSymbols(query, files, kinds) {
|
|
29
|
+
const results = [];
|
|
30
|
+
const queryLower = query.toLowerCase();
|
|
31
|
+
for (const file of files) {
|
|
32
|
+
if (!file.symbols || file.symbols.length === 0) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const symbolMatches = [];
|
|
36
|
+
let score = 0;
|
|
37
|
+
for (const symbol of file.symbols) {
|
|
38
|
+
// Kind filter
|
|
39
|
+
if (kinds && kinds.length > 0 && !kinds.includes(symbol.kind)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const match = this.matchSymbol(symbol, queryLower);
|
|
43
|
+
if (match) {
|
|
44
|
+
symbolMatches.push(match);
|
|
45
|
+
score += this.getSymbolScore(match);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (symbolMatches.length > 0) {
|
|
49
|
+
results.push({ file, score, symbolMatches });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Sort by score descending
|
|
53
|
+
return results.sort((a, b) => b.score - a.score);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Match a symbol against a query.
|
|
57
|
+
*
|
|
58
|
+
* @param symbol - Symbol to match
|
|
59
|
+
* @param queryLower - Lowercase query string
|
|
60
|
+
* @returns SymbolMatch or null
|
|
61
|
+
*/
|
|
62
|
+
matchSymbol(symbol, queryLower) {
|
|
63
|
+
const nameLower = symbol.name.toLowerCase();
|
|
64
|
+
// Exact match
|
|
65
|
+
if (nameLower === queryLower) {
|
|
66
|
+
return {
|
|
67
|
+
symbol,
|
|
68
|
+
score: 1.0,
|
|
69
|
+
matchType: 'exact'
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// Partial match (contains)
|
|
73
|
+
if (nameLower.includes(queryLower)) {
|
|
74
|
+
return {
|
|
75
|
+
symbol,
|
|
76
|
+
score: 0.7,
|
|
77
|
+
matchType: 'partial'
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Fuzzy match (all query characters present in order)
|
|
81
|
+
if (this.fuzzyMatch(nameLower, queryLower)) {
|
|
82
|
+
return {
|
|
83
|
+
symbol,
|
|
84
|
+
score: 0.4,
|
|
85
|
+
matchType: 'fuzzy'
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Fuzzy string matching.
|
|
92
|
+
* Checks if all characters from pattern appear in str in order.
|
|
93
|
+
*
|
|
94
|
+
* @param str - String to search in
|
|
95
|
+
* @param pattern - Pattern to find
|
|
96
|
+
* @returns True if fuzzy match
|
|
97
|
+
*/
|
|
98
|
+
fuzzyMatch(str, pattern) {
|
|
99
|
+
let strIndex = 0;
|
|
100
|
+
for (const char of pattern) {
|
|
101
|
+
const foundIndex = str.indexOf(char, strIndex);
|
|
102
|
+
if (foundIndex === -1) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
strIndex = foundIndex + 1;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get score for a symbol match.
|
|
111
|
+
*
|
|
112
|
+
* @param match - Symbol match
|
|
113
|
+
* @returns Score value
|
|
114
|
+
*/
|
|
115
|
+
getSymbolScore(match) {
|
|
116
|
+
let baseScore = match.score * 10;
|
|
117
|
+
// Boost by symbol kind
|
|
118
|
+
const kindBoosts = {
|
|
119
|
+
'function': 3,
|
|
120
|
+
'class': 3,
|
|
121
|
+
'interface': 2,
|
|
122
|
+
'type': 2,
|
|
123
|
+
'const': 1,
|
|
124
|
+
'let': 1,
|
|
125
|
+
'var': 1
|
|
126
|
+
};
|
|
127
|
+
const boost = kindBoosts[match.symbol.kind] || 0;
|
|
128
|
+
return baseScore + boost;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.SymbolSearch = SymbolSearch;
|
|
132
|
+
//# sourceMappingURL=SymbolSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SymbolSearch.js","sourceRoot":"","sources":["../../src/query/SymbolSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextSearch - Keyword-based text search in paths and symbols.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - Keyword extraction from queries
|
|
6
|
+
* - Path matching (keyword overlap)
|
|
7
|
+
* - Symbol name matching
|
|
8
|
+
* - Relevance scoring
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const search = new TextSearch();
|
|
13
|
+
* const results = search.searchFiles(query, files);
|
|
14
|
+
* // → Ranked files with relevance scores
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
import type { FileEntry, KeywordMatch } from '../types';
|
|
18
|
+
export declare class TextSearch {
|
|
19
|
+
/**
|
|
20
|
+
* Search files by text/keyword matching.
|
|
21
|
+
*
|
|
22
|
+
* @param query - Search query
|
|
23
|
+
* @param files - Files to search
|
|
24
|
+
* @returns Ranked results with scores
|
|
25
|
+
*/
|
|
26
|
+
searchFiles(query: string, files: FileEntry[]): Array<{
|
|
27
|
+
file: FileEntry;
|
|
28
|
+
score: number;
|
|
29
|
+
matches: KeywordMatch[];
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Extract keywords from text.
|
|
33
|
+
*
|
|
34
|
+
* @param text - Text to extract from
|
|
35
|
+
* @returns Array of keywords
|
|
36
|
+
*/
|
|
37
|
+
extractKeywords(text: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Calculate keyword overlap between two sets.
|
|
40
|
+
*
|
|
41
|
+
* @param keywords1 - First set
|
|
42
|
+
* @param keywords2 - Second set
|
|
43
|
+
* @returns Overlap ratio (0-1)
|
|
44
|
+
*/
|
|
45
|
+
calculateOverlap(keywords1: string[], keywords2: string[]): number;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=TextSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextSearch.d.ts","sourceRoot":"","sources":["../../src/query/TextSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExD,qBAAa,UAAU;IAErB;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAiDlH;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAevC;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAiBnE"}
|