grepmind-core 0.1.0-alpha
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 +190 -0
- package/dist/config/types.d.ts +174 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +137 -0
- package/dist/config/types.js.map +1 -0
- package/dist/git.d.ts +98 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +298 -0
- package/dist/git.js.map +1 -0
- package/dist/git.test.d.ts +7 -0
- package/dist/git.test.d.ts.map +1 -0
- package/dist/git.test.js +242 -0
- package/dist/git.test.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer/branch.d.ts +121 -0
- package/dist/indexer/branch.d.ts.map +1 -0
- package/dist/indexer/branch.js +451 -0
- package/dist/indexer/branch.js.map +1 -0
- package/dist/indexer/chunker.d.ts +9 -0
- package/dist/indexer/chunker.d.ts.map +1 -0
- package/dist/indexer/chunker.js +70 -0
- package/dist/indexer/chunker.js.map +1 -0
- package/dist/indexer/chunker.test.d.ts +2 -0
- package/dist/indexer/chunker.test.d.ts.map +1 -0
- package/dist/indexer/chunker.test.js +180 -0
- package/dist/indexer/chunker.test.js.map +1 -0
- package/dist/indexer/code/branch.d.ts +155 -0
- package/dist/indexer/code/branch.d.ts.map +1 -0
- package/dist/indexer/code/branch.js +550 -0
- package/dist/indexer/code/branch.js.map +1 -0
- package/dist/indexer/code/branch.test.d.ts +7 -0
- package/dist/indexer/code/branch.test.d.ts.map +1 -0
- package/dist/indexer/code/branch.test.js +241 -0
- package/dist/indexer/code/branch.test.js.map +1 -0
- package/dist/indexer/code/chunker.d.ts +61 -0
- package/dist/indexer/code/chunker.d.ts.map +1 -0
- package/dist/indexer/code/chunker.js +311 -0
- package/dist/indexer/code/chunker.js.map +1 -0
- package/dist/indexer/code/chunker.test.d.ts +2 -0
- package/dist/indexer/code/chunker.test.d.ts.map +1 -0
- package/dist/indexer/code/chunker.test.js +552 -0
- package/dist/indexer/code/chunker.test.js.map +1 -0
- package/dist/indexer/code/fts.test.d.ts +2 -0
- package/dist/indexer/code/fts.test.d.ts.map +1 -0
- package/dist/indexer/code/fts.test.js +14 -0
- package/dist/indexer/code/fts.test.js.map +1 -0
- package/dist/indexer/code/graph/embedded.d.ts +11 -0
- package/dist/indexer/code/graph/embedded.d.ts.map +1 -0
- package/dist/indexer/code/graph/embedded.js +152 -0
- package/dist/indexer/code/graph/embedded.js.map +1 -0
- package/dist/indexer/code/graph/embedded.test.d.ts +2 -0
- package/dist/indexer/code/graph/embedded.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/embedded.test.js +105 -0
- package/dist/indexer/code/graph/embedded.test.js.map +1 -0
- package/dist/indexer/code/graph/facts.d.ts +11 -0
- package/dist/indexer/code/graph/facts.d.ts.map +1 -0
- package/dist/indexer/code/graph/facts.js +456 -0
- package/dist/indexer/code/graph/facts.js.map +1 -0
- package/dist/indexer/code/graph/facts.test.d.ts +2 -0
- package/dist/indexer/code/graph/facts.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/facts.test.js +181 -0
- package/dist/indexer/code/graph/facts.test.js.map +1 -0
- package/dist/indexer/code/graph/id.d.ts +14 -0
- package/dist/indexer/code/graph/id.d.ts.map +1 -0
- package/dist/indexer/code/graph/id.js +40 -0
- package/dist/indexer/code/graph/id.js.map +1 -0
- package/dist/indexer/code/graph/id.test.d.ts +2 -0
- package/dist/indexer/code/graph/id.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/id.test.js +86 -0
- package/dist/indexer/code/graph/id.test.js.map +1 -0
- package/dist/indexer/code/graph/index.d.ts +133 -0
- package/dist/indexer/code/graph/index.d.ts.map +1 -0
- package/dist/indexer/code/graph/index.js +1876 -0
- package/dist/indexer/code/graph/index.js.map +1 -0
- package/dist/indexer/code/graph/index.test.d.ts +2 -0
- package/dist/indexer/code/graph/index.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/index.test.js +210 -0
- package/dist/indexer/code/graph/index.test.js.map +1 -0
- package/dist/indexer/code/graph/queries.d.ts +22 -0
- package/dist/indexer/code/graph/queries.d.ts.map +1 -0
- package/dist/indexer/code/graph/queries.js +79 -0
- package/dist/indexer/code/graph/queries.js.map +1 -0
- package/dist/indexer/code/graph/queries.test.d.ts +2 -0
- package/dist/indexer/code/graph/queries.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/queries.test.js +108 -0
- package/dist/indexer/code/graph/queries.test.js.map +1 -0
- package/dist/indexer/code/graph/resolver.d.ts +136 -0
- package/dist/indexer/code/graph/resolver.d.ts.map +1 -0
- package/dist/indexer/code/graph/resolver.js +839 -0
- package/dist/indexer/code/graph/resolver.js.map +1 -0
- package/dist/indexer/code/graph/resolver.test.d.ts +2 -0
- package/dist/indexer/code/graph/resolver.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/resolver.test.js +482 -0
- package/dist/indexer/code/graph/resolver.test.js.map +1 -0
- package/dist/indexer/code/graph/semantic.d.ts +33 -0
- package/dist/indexer/code/graph/semantic.d.ts.map +1 -0
- package/dist/indexer/code/graph/semantic.js +279 -0
- package/dist/indexer/code/graph/semantic.js.map +1 -0
- package/dist/indexer/code/graph/semantic.test.d.ts +2 -0
- package/dist/indexer/code/graph/semantic.test.d.ts.map +1 -0
- package/dist/indexer/code/graph/semantic.test.js +127 -0
- package/dist/indexer/code/graph/semantic.test.js.map +1 -0
- package/dist/indexer/code/index.d.ts +404 -0
- package/dist/indexer/code/index.d.ts.map +1 -0
- package/dist/indexer/code/index.js +2070 -0
- package/dist/indexer/code/index.js.map +1 -0
- package/dist/indexer/code/languages/bash.d.ts +14 -0
- package/dist/indexer/code/languages/bash.d.ts.map +1 -0
- package/dist/indexer/code/languages/bash.js +125 -0
- package/dist/indexer/code/languages/bash.js.map +1 -0
- package/dist/indexer/code/languages/css.d.ts +16 -0
- package/dist/indexer/code/languages/css.d.ts.map +1 -0
- package/dist/indexer/code/languages/css.js +204 -0
- package/dist/indexer/code/languages/css.js.map +1 -0
- package/dist/indexer/code/languages/generic.d.ts +61 -0
- package/dist/indexer/code/languages/generic.d.ts.map +1 -0
- package/dist/indexer/code/languages/generic.js +150 -0
- package/dist/indexer/code/languages/generic.js.map +1 -0
- package/dist/indexer/code/languages/graphql.d.ts +13 -0
- package/dist/indexer/code/languages/graphql.d.ts.map +1 -0
- package/dist/indexer/code/languages/graphql.js +180 -0
- package/dist/indexer/code/languages/graphql.js.map +1 -0
- package/dist/indexer/code/languages/html.d.ts +16 -0
- package/dist/indexer/code/languages/html.d.ts.map +1 -0
- package/dist/indexer/code/languages/html.js +138 -0
- package/dist/indexer/code/languages/html.js.map +1 -0
- package/dist/indexer/code/languages/index.d.ts +9 -0
- package/dist/indexer/code/languages/index.d.ts.map +1 -0
- package/dist/indexer/code/languages/index.js +12 -0
- package/dist/indexer/code/languages/index.js.map +1 -0
- package/dist/indexer/code/languages/json.d.ts +12 -0
- package/dist/indexer/code/languages/json.d.ts.map +1 -0
- package/dist/indexer/code/languages/json.js +66 -0
- package/dist/indexer/code/languages/json.js.map +1 -0
- package/dist/indexer/code/languages/registry.d.ts +78 -0
- package/dist/indexer/code/languages/registry.d.ts.map +1 -0
- package/dist/indexer/code/languages/registry.js +72 -0
- package/dist/indexer/code/languages/registry.js.map +1 -0
- package/dist/indexer/code/languages/typescript.d.ts +39 -0
- package/dist/indexer/code/languages/typescript.d.ts.map +1 -0
- package/dist/indexer/code/languages/typescript.js +300 -0
- package/dist/indexer/code/languages/typescript.js.map +1 -0
- package/dist/indexer/code/languages/yaml.d.ts +13 -0
- package/dist/indexer/code/languages/yaml.d.ts.map +1 -0
- package/dist/indexer/code/languages/yaml.js +90 -0
- package/dist/indexer/code/languages/yaml.js.map +1 -0
- package/dist/indexer/code/parser.d.ts +26 -0
- package/dist/indexer/code/parser.d.ts.map +1 -0
- package/dist/indexer/code/parser.js +332 -0
- package/dist/indexer/code/parser.js.map +1 -0
- package/dist/indexer/code/retry.d.ts +58 -0
- package/dist/indexer/code/retry.d.ts.map +1 -0
- package/dist/indexer/code/retry.js +192 -0
- package/dist/indexer/code/retry.js.map +1 -0
- package/dist/indexer/code/tree/builder.d.ts +30 -0
- package/dist/indexer/code/tree/builder.d.ts.map +1 -0
- package/dist/indexer/code/tree/builder.js +132 -0
- package/dist/indexer/code/tree/builder.js.map +1 -0
- package/dist/indexer/code/tree/builder.test.d.ts +2 -0
- package/dist/indexer/code/tree/builder.test.d.ts.map +1 -0
- package/dist/indexer/code/tree/builder.test.js +31 -0
- package/dist/indexer/code/tree/builder.test.js.map +1 -0
- package/dist/indexer/code/tree/cache.d.ts +22 -0
- package/dist/indexer/code/tree/cache.d.ts.map +1 -0
- package/dist/indexer/code/tree/cache.js +85 -0
- package/dist/indexer/code/tree/cache.js.map +1 -0
- package/dist/indexer/code/tree/context.d.ts +32 -0
- package/dist/indexer/code/tree/context.d.ts.map +1 -0
- package/dist/indexer/code/tree/context.js +78 -0
- package/dist/indexer/code/tree/context.js.map +1 -0
- package/dist/indexer/code/tree/embedding.d.ts +9 -0
- package/dist/indexer/code/tree/embedding.d.ts.map +1 -0
- package/dist/indexer/code/tree/embedding.js +53 -0
- package/dist/indexer/code/tree/embedding.js.map +1 -0
- package/dist/indexer/code/tree/embedding.test.d.ts +2 -0
- package/dist/indexer/code/tree/embedding.test.d.ts.map +1 -0
- package/dist/indexer/code/tree/embedding.test.js +57 -0
- package/dist/indexer/code/tree/embedding.test.js.map +1 -0
- package/dist/indexer/code/tree/id.d.ts +3 -0
- package/dist/indexer/code/tree/id.d.ts.map +1 -0
- package/dist/indexer/code/tree/id.js +8 -0
- package/dist/indexer/code/tree/id.js.map +1 -0
- package/dist/indexer/code/tree/index.d.ts +113 -0
- package/dist/indexer/code/tree/index.d.ts.map +1 -0
- package/dist/indexer/code/tree/index.js +1146 -0
- package/dist/indexer/code/tree/index.js.map +1 -0
- package/dist/indexer/code/tree/rename.d.ts +13 -0
- package/dist/indexer/code/tree/rename.d.ts.map +1 -0
- package/dist/indexer/code/tree/rename.js +46 -0
- package/dist/indexer/code/tree/rename.js.map +1 -0
- package/dist/indexer/code/tree/repomap.d.ts +29 -0
- package/dist/indexer/code/tree/repomap.d.ts.map +1 -0
- package/dist/indexer/code/tree/repomap.js +95 -0
- package/dist/indexer/code/tree/repomap.js.map +1 -0
- package/dist/indexer/code/tree/repomap.test.d.ts +2 -0
- package/dist/indexer/code/tree/repomap.test.d.ts.map +1 -0
- package/dist/indexer/code/tree/repomap.test.js +93 -0
- package/dist/indexer/code/tree/repomap.test.js.map +1 -0
- package/dist/indexer/code/tree/stats.d.ts +26 -0
- package/dist/indexer/code/tree/stats.d.ts.map +1 -0
- package/dist/indexer/code/tree/stats.js +49 -0
- package/dist/indexer/code/tree/stats.js.map +1 -0
- package/dist/indexer/code/tree/types.d.ts +186 -0
- package/dist/indexer/code/tree/types.d.ts.map +1 -0
- package/dist/indexer/code/tree/types.js +10 -0
- package/dist/indexer/code/tree/types.js.map +1 -0
- package/dist/indexer/code/wal.d.ts +144 -0
- package/dist/indexer/code/wal.d.ts.map +1 -0
- package/dist/indexer/code/wal.js +283 -0
- package/dist/indexer/code/wal.js.map +1 -0
- package/dist/indexer/embeddings.d.ts +113 -0
- package/dist/indexer/embeddings.d.ts.map +1 -0
- package/dist/indexer/embeddings.js +477 -0
- package/dist/indexer/embeddings.js.map +1 -0
- package/dist/indexer/git-sync.d.ts +117 -0
- package/dist/indexer/git-sync.d.ts.map +1 -0
- package/dist/indexer/git-sync.js +398 -0
- package/dist/indexer/git-sync.js.map +1 -0
- package/dist/indexer/index.d.ts +175 -0
- package/dist/indexer/index.d.ts.map +1 -0
- package/dist/indexer/index.js +1096 -0
- package/dist/indexer/index.js.map +1 -0
- package/dist/indexer/mocks/mock-reranker.d.ts +12 -0
- package/dist/indexer/mocks/mock-reranker.d.ts.map +1 -0
- package/dist/indexer/mocks/mock-reranker.js +26 -0
- package/dist/indexer/mocks/mock-reranker.js.map +1 -0
- package/dist/indexer/parser.d.ts +8 -0
- package/dist/indexer/parser.d.ts.map +1 -0
- package/dist/indexer/parser.js +44 -0
- package/dist/indexer/parser.js.map +1 -0
- package/dist/indexer/parser.test.d.ts +2 -0
- package/dist/indexer/parser.test.d.ts.map +1 -0
- package/dist/indexer/parser.test.js +197 -0
- package/dist/indexer/parser.test.js.map +1 -0
- package/dist/indexer/reranking.d.ts +71 -0
- package/dist/indexer/reranking.d.ts.map +1 -0
- package/dist/indexer/reranking.integration.test.d.ts +2 -0
- package/dist/indexer/reranking.integration.test.d.ts.map +1 -0
- package/dist/indexer/reranking.integration.test.js +104 -0
- package/dist/indexer/reranking.integration.test.js.map +1 -0
- package/dist/indexer/reranking.js +256 -0
- package/dist/indexer/reranking.js.map +1 -0
- package/dist/indexer/reranking.test.d.ts +2 -0
- package/dist/indexer/reranking.test.d.ts.map +1 -0
- package/dist/indexer/reranking.test.js +130 -0
- package/dist/indexer/reranking.test.js.map +1 -0
- package/dist/indexer/wal/file-storage.d.ts +60 -0
- package/dist/indexer/wal/file-storage.d.ts.map +1 -0
- package/dist/indexer/wal/file-storage.js +277 -0
- package/dist/indexer/wal/file-storage.js.map +1 -0
- package/dist/indexer/wal/file-storage.test.d.ts +8 -0
- package/dist/indexer/wal/file-storage.test.d.ts.map +1 -0
- package/dist/indexer/wal/file-storage.test.js +444 -0
- package/dist/indexer/wal/file-storage.test.js.map +1 -0
- package/dist/indexer/wal/index.d.ts +41 -0
- package/dist/indexer/wal/index.d.ts.map +1 -0
- package/dist/indexer/wal/index.js +61 -0
- package/dist/indexer/wal/index.js.map +1 -0
- package/dist/indexer/wal/integration.test.d.ts +11 -0
- package/dist/indexer/wal/integration.test.d.ts.map +1 -0
- package/dist/indexer/wal/integration.test.js +378 -0
- package/dist/indexer/wal/integration.test.js.map +1 -0
- package/dist/indexer/wal/lancedb-storage.d.ts +72 -0
- package/dist/indexer/wal/lancedb-storage.d.ts.map +1 -0
- package/dist/indexer/wal/lancedb-storage.js +462 -0
- package/dist/indexer/wal/lancedb-storage.js.map +1 -0
- package/dist/indexer/wal/lancedb-storage.test.d.ts +8 -0
- package/dist/indexer/wal/lancedb-storage.test.d.ts.map +1 -0
- package/dist/indexer/wal/lancedb-storage.test.js +415 -0
- package/dist/indexer/wal/lancedb-storage.test.js.map +1 -0
- package/dist/indexer/wal/sync-wal.d.ts +144 -0
- package/dist/indexer/wal/sync-wal.d.ts.map +1 -0
- package/dist/indexer/wal/sync-wal.js +863 -0
- package/dist/indexer/wal/sync-wal.js.map +1 -0
- package/dist/indexer/wal/sync-wal.test.d.ts +8 -0
- package/dist/indexer/wal/sync-wal.test.d.ts.map +1 -0
- package/dist/indexer/wal/sync-wal.test.js +752 -0
- package/dist/indexer/wal/sync-wal.test.js.map +1 -0
- package/dist/indexer/wal/types.d.ts +167 -0
- package/dist/indexer/wal/types.d.ts.map +1 -0
- package/dist/indexer/wal/types.js +12 -0
- package/dist/indexer/wal/types.js.map +1 -0
- package/dist/indexer/watcher.d.ts +36 -0
- package/dist/indexer/watcher.d.ts.map +1 -0
- package/dist/indexer/watcher.js +110 -0
- package/dist/indexer/watcher.js.map +1 -0
- package/dist/search/explore.d.ts +62 -0
- package/dist/search/explore.d.ts.map +1 -0
- package/dist/search/explore.js +111 -0
- package/dist/search/explore.js.map +1 -0
- package/dist/search/fts.d.ts +23 -0
- package/dist/search/fts.d.ts.map +1 -0
- package/dist/search/fts.js +64 -0
- package/dist/search/fts.js.map +1 -0
- package/dist/search/fts.test.d.ts +2 -0
- package/dist/search/fts.test.d.ts.map +1 -0
- package/dist/search/fts.test.js +27 -0
- package/dist/search/fts.test.js.map +1 -0
- package/dist/search/grep.d.ts +75 -0
- package/dist/search/grep.d.ts.map +1 -0
- package/dist/search/grep.js +96 -0
- package/dist/search/grep.js.map +1 -0
- package/dist/search/grep.test.d.ts +2 -0
- package/dist/search/grep.test.d.ts.map +1 -0
- package/dist/search/grep.test.js +178 -0
- package/dist/search/grep.test.js.map +1 -0
- package/dist/search/hybrid-grep.d.ts +43 -0
- package/dist/search/hybrid-grep.d.ts.map +1 -0
- package/dist/search/hybrid-grep.js +130 -0
- package/dist/search/hybrid-grep.js.map +1 -0
- package/dist/search/hybrid-grep.test.d.ts +2 -0
- package/dist/search/hybrid-grep.test.d.ts.map +1 -0
- package/dist/search/hybrid-grep.test.js +133 -0
- package/dist/search/hybrid-grep.test.js.map +1 -0
- package/dist/search/rg-executor.d.ts +63 -0
- package/dist/search/rg-executor.d.ts.map +1 -0
- package/dist/search/rg-executor.js +146 -0
- package/dist/search/rg-executor.js.map +1 -0
- package/dist/search/rg-executor.test.d.ts +2 -0
- package/dist/search/rg-executor.test.d.ts.map +1 -0
- package/dist/search/rg-executor.test.js +104 -0
- package/dist/search/rg-executor.test.js.map +1 -0
- package/dist/search/rg-parser/extractor.d.ts +14 -0
- package/dist/search/rg-parser/extractor.d.ts.map +1 -0
- package/dist/search/rg-parser/extractor.js +82 -0
- package/dist/search/rg-parser/extractor.js.map +1 -0
- package/dist/search/rg-parser/extractor.test.d.ts +2 -0
- package/dist/search/rg-parser/extractor.test.d.ts.map +1 -0
- package/dist/search/rg-parser/extractor.test.js +35 -0
- package/dist/search/rg-parser/extractor.test.js.map +1 -0
- package/dist/search/rg-parser/fts-builder.d.ts +7 -0
- package/dist/search/rg-parser/fts-builder.d.ts.map +1 -0
- package/dist/search/rg-parser/fts-builder.js +18 -0
- package/dist/search/rg-parser/fts-builder.js.map +1 -0
- package/dist/search/rg-parser/fts-builder.test.d.ts +2 -0
- package/dist/search/rg-parser/fts-builder.test.d.ts.map +1 -0
- package/dist/search/rg-parser/fts-builder.test.js +26 -0
- package/dist/search/rg-parser/fts-builder.test.js.map +1 -0
- package/dist/search/rg-parser/index.d.ts +36 -0
- package/dist/search/rg-parser/index.d.ts.map +1 -0
- package/dist/search/rg-parser/index.js +83 -0
- package/dist/search/rg-parser/index.js.map +1 -0
- package/dist/search/rg-parser/index.test.d.ts +2 -0
- package/dist/search/rg-parser/index.test.d.ts.map +1 -0
- package/dist/search/rg-parser/index.test.js +34 -0
- package/dist/search/rg-parser/index.test.js.map +1 -0
- package/dist/search/rg-parser/strategy.d.ts +14 -0
- package/dist/search/rg-parser/strategy.d.ts.map +1 -0
- package/dist/search/rg-parser/strategy.js +31 -0
- package/dist/search/rg-parser/strategy.js.map +1 -0
- package/dist/search/rg-parser/strategy.test.d.ts +2 -0
- package/dist/search/rg-parser/strategy.test.d.ts.map +1 -0
- package/dist/search/rg-parser/strategy.test.js +29 -0
- package/dist/search/rg-parser/strategy.test.js.map +1 -0
- package/dist/types.d.ts +345 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/vault.d.ts +84 -0
- package/dist/utils/vault.d.ts.map +1 -0
- package/dist/utils/vault.js +138 -0
- package/dist/utils/vault.js.map +1 -0
- package/dist/utils/vault.test.d.ts +2 -0
- package/dist/utils/vault.test.d.ts.map +1 -0
- package/dist/utils/vault.test.js +153 -0
- package/dist/utils/vault.test.js.map +1 -0
- package/package.json +69 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
export interface NoteFrontmatter {
|
|
2
|
+
tags?: string[];
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}
|
|
5
|
+
export interface ParsedNote {
|
|
6
|
+
path: string;
|
|
7
|
+
title: string;
|
|
8
|
+
frontmatter: NoteFrontmatter;
|
|
9
|
+
content: string;
|
|
10
|
+
chunks: NoteChunk[];
|
|
11
|
+
}
|
|
12
|
+
export interface NoteChunk {
|
|
13
|
+
id: string;
|
|
14
|
+
path: string;
|
|
15
|
+
section: string | null;
|
|
16
|
+
title: string;
|
|
17
|
+
content: string;
|
|
18
|
+
tags: string[];
|
|
19
|
+
links: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface IndexItem {
|
|
22
|
+
id: string;
|
|
23
|
+
vector: number[];
|
|
24
|
+
metadata: {
|
|
25
|
+
path: string;
|
|
26
|
+
section: string | null;
|
|
27
|
+
title: string;
|
|
28
|
+
tags: string[];
|
|
29
|
+
links: string[];
|
|
30
|
+
modified: number;
|
|
31
|
+
contentHash: string;
|
|
32
|
+
content: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface SearchResult {
|
|
36
|
+
path: string;
|
|
37
|
+
section: string | null;
|
|
38
|
+
score: number;
|
|
39
|
+
_originalScore?: number;
|
|
40
|
+
content: string;
|
|
41
|
+
title: string;
|
|
42
|
+
tags: string[];
|
|
43
|
+
links: string[];
|
|
44
|
+
context?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface FileRecord {
|
|
47
|
+
path: string;
|
|
48
|
+
mtime: number;
|
|
49
|
+
content_hash: string;
|
|
50
|
+
chunk_ids: string;
|
|
51
|
+
indexed_at: number;
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}
|
|
54
|
+
export interface NotesError {
|
|
55
|
+
code: string;
|
|
56
|
+
message: string;
|
|
57
|
+
details?: unknown;
|
|
58
|
+
}
|
|
59
|
+
export declare function isError<T>(result: T | NotesError): result is NotesError;
|
|
60
|
+
export declare function createError(code: string, message: string, details?: unknown): NotesError;
|
|
61
|
+
export type CodeSymbolType = 'function' | 'class' | 'method' | 'interface' | 'type' | 'variable' | 'comment' | 'file';
|
|
62
|
+
export interface CodeChunk {
|
|
63
|
+
id: string;
|
|
64
|
+
path: string;
|
|
65
|
+
language: string;
|
|
66
|
+
symbolType: CodeSymbolType;
|
|
67
|
+
symbolName: string;
|
|
68
|
+
signature: string | null;
|
|
69
|
+
parentSymbol: string | null;
|
|
70
|
+
scope: string[];
|
|
71
|
+
content: string;
|
|
72
|
+
startLine: number;
|
|
73
|
+
endLine: number;
|
|
74
|
+
docstring: string | null;
|
|
75
|
+
modified: number;
|
|
76
|
+
contentHash: string;
|
|
77
|
+
}
|
|
78
|
+
export type CodeEdgeType = 'IMPORTS_FILE' | 'IMPORTS_SYMBOL' | 'EXPORTS' | 'DEFINES' | 'REFS' | 'CALLS' | 'EXTENDS' | 'IMPLEMENTS' | 'EMBEDS' | 'USES_FRAGMENT';
|
|
79
|
+
export type CodeEdgeConfidence = 'resolved' | 'likely' | 'unresolved';
|
|
80
|
+
export interface CodeEdge {
|
|
81
|
+
id: string;
|
|
82
|
+
sourceId: string;
|
|
83
|
+
targetId: string;
|
|
84
|
+
edgeType: CodeEdgeType;
|
|
85
|
+
sourceFile: string;
|
|
86
|
+
targetFile: string | null;
|
|
87
|
+
targetModule: string | null;
|
|
88
|
+
confidence: CodeEdgeConfidence;
|
|
89
|
+
metadata: string | null;
|
|
90
|
+
[key: string]: unknown;
|
|
91
|
+
}
|
|
92
|
+
export interface CodeModule {
|
|
93
|
+
id: string;
|
|
94
|
+
type: 'npm' | 'local' | 'builtin' | 'workspace';
|
|
95
|
+
packageName: string | null;
|
|
96
|
+
/** Relative path to workspace package root (e.g., packages/app) */
|
|
97
|
+
path: string | null;
|
|
98
|
+
version: string | null;
|
|
99
|
+
exports: string;
|
|
100
|
+
[key: string]: unknown;
|
|
101
|
+
}
|
|
102
|
+
export interface CodeExport {
|
|
103
|
+
id: string;
|
|
104
|
+
fileId: string;
|
|
105
|
+
exportName: string;
|
|
106
|
+
symbolId: string;
|
|
107
|
+
isReexport: boolean;
|
|
108
|
+
originalFile: string | null;
|
|
109
|
+
[key: string]: unknown;
|
|
110
|
+
}
|
|
111
|
+
export interface Diagnostic {
|
|
112
|
+
code: string;
|
|
113
|
+
message: string;
|
|
114
|
+
line: number;
|
|
115
|
+
column: number;
|
|
116
|
+
}
|
|
117
|
+
export interface ImportFact {
|
|
118
|
+
spec: string;
|
|
119
|
+
kind: 'named' | 'default' | 'namespace' | 'side-effect';
|
|
120
|
+
names: string[];
|
|
121
|
+
alias: string | null;
|
|
122
|
+
line: number;
|
|
123
|
+
isDynamic: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface ExportFact {
|
|
126
|
+
name: string;
|
|
127
|
+
kind: 'named' | 'default' | 'reexport' | 'namespace';
|
|
128
|
+
localName: string | null;
|
|
129
|
+
fromSpec: string | null;
|
|
130
|
+
symbolId: string;
|
|
131
|
+
line: number;
|
|
132
|
+
}
|
|
133
|
+
export interface DefinitionFact {
|
|
134
|
+
symbolId: string;
|
|
135
|
+
name: string;
|
|
136
|
+
kind: CodeSymbolType;
|
|
137
|
+
exported: boolean;
|
|
138
|
+
line: number;
|
|
139
|
+
endLine: number;
|
|
140
|
+
}
|
|
141
|
+
export interface UseFact {
|
|
142
|
+
identifier: string;
|
|
143
|
+
line: number;
|
|
144
|
+
column: number;
|
|
145
|
+
context: 'call' | 'property' | 'reference' | 'type';
|
|
146
|
+
}
|
|
147
|
+
export interface CodeFacts {
|
|
148
|
+
fileId: string;
|
|
149
|
+
imports: ImportFact[];
|
|
150
|
+
exports: ExportFact[];
|
|
151
|
+
definitions: DefinitionFact[];
|
|
152
|
+
uses: UseFact[];
|
|
153
|
+
diagnostics: Diagnostic[];
|
|
154
|
+
}
|
|
155
|
+
export interface SemanticRelation {
|
|
156
|
+
sourceSymbol: string;
|
|
157
|
+
targetSymbol: string;
|
|
158
|
+
line: number;
|
|
159
|
+
}
|
|
160
|
+
export interface SemanticFacts {
|
|
161
|
+
refs: SemanticRelation[];
|
|
162
|
+
calls: SemanticRelation[];
|
|
163
|
+
extends: SemanticRelation[];
|
|
164
|
+
implements: SemanticRelation[];
|
|
165
|
+
}
|
|
166
|
+
export interface EmbeddedChunk {
|
|
167
|
+
id: string;
|
|
168
|
+
hostFileId: string;
|
|
169
|
+
hostSymbolId: string | null;
|
|
170
|
+
embeddedType: 'graphql' | 'css' | 'styled';
|
|
171
|
+
content: string;
|
|
172
|
+
startOffset: number;
|
|
173
|
+
endOffset: number;
|
|
174
|
+
startLine: number;
|
|
175
|
+
endLine: number;
|
|
176
|
+
[key: string]: unknown;
|
|
177
|
+
}
|
|
178
|
+
export interface GraphQLOperationFact {
|
|
179
|
+
name: string | null;
|
|
180
|
+
type: 'query' | 'mutation' | 'subscription';
|
|
181
|
+
selections: string[];
|
|
182
|
+
}
|
|
183
|
+
export interface GraphQLFragmentFact {
|
|
184
|
+
name: string;
|
|
185
|
+
onType: string;
|
|
186
|
+
}
|
|
187
|
+
export interface GraphQLFacts {
|
|
188
|
+
operations: GraphQLOperationFact[];
|
|
189
|
+
fragments: GraphQLFragmentFact[];
|
|
190
|
+
usedFragments: string[];
|
|
191
|
+
}
|
|
192
|
+
export interface CSSFacts {
|
|
193
|
+
selectors: string[];
|
|
194
|
+
properties: string[];
|
|
195
|
+
mediaQueries: string[];
|
|
196
|
+
keyframes: string[];
|
|
197
|
+
}
|
|
198
|
+
export interface GraphRefsInput {
|
|
199
|
+
symbolId?: string;
|
|
200
|
+
symbolName?: string;
|
|
201
|
+
file?: string;
|
|
202
|
+
includeImports?: boolean;
|
|
203
|
+
limit?: number;
|
|
204
|
+
}
|
|
205
|
+
export interface GraphReference {
|
|
206
|
+
file: string;
|
|
207
|
+
line: number;
|
|
208
|
+
context: string;
|
|
209
|
+
type: 'ref' | 'call' | 'import' | 'extend' | 'implement';
|
|
210
|
+
}
|
|
211
|
+
export interface GraphRefsResult {
|
|
212
|
+
symbol: CodeChunk;
|
|
213
|
+
references: GraphReference[];
|
|
214
|
+
totalCount: number;
|
|
215
|
+
}
|
|
216
|
+
export interface GraphCallsInput {
|
|
217
|
+
symbolId?: string;
|
|
218
|
+
symbolName?: string;
|
|
219
|
+
direction: 'callers' | 'callees' | 'both';
|
|
220
|
+
depth?: number;
|
|
221
|
+
limit?: number;
|
|
222
|
+
}
|
|
223
|
+
export interface CallSite {
|
|
224
|
+
file: string;
|
|
225
|
+
line: number;
|
|
226
|
+
}
|
|
227
|
+
export interface CallNode {
|
|
228
|
+
symbol: CodeChunk;
|
|
229
|
+
depth: number;
|
|
230
|
+
callSites: CallSite[];
|
|
231
|
+
children?: CallNode[];
|
|
232
|
+
}
|
|
233
|
+
export interface GraphCallsResult {
|
|
234
|
+
root: CodeChunk;
|
|
235
|
+
callers: CallNode[];
|
|
236
|
+
callees: CallNode[];
|
|
237
|
+
}
|
|
238
|
+
export interface GraphDepsInput {
|
|
239
|
+
file: string;
|
|
240
|
+
direction: 'imports' | 'importedBy' | 'both';
|
|
241
|
+
depth?: number;
|
|
242
|
+
includeExternal?: boolean;
|
|
243
|
+
}
|
|
244
|
+
export interface DependencyNode {
|
|
245
|
+
file: string;
|
|
246
|
+
type: 'local' | 'npm' | 'builtin';
|
|
247
|
+
symbols: string[];
|
|
248
|
+
depth: number;
|
|
249
|
+
children?: DependencyNode[];
|
|
250
|
+
}
|
|
251
|
+
export interface GraphDepsResult {
|
|
252
|
+
file: string;
|
|
253
|
+
imports: DependencyNode[];
|
|
254
|
+
importedBy: DependencyNode[];
|
|
255
|
+
}
|
|
256
|
+
export interface GraphHierarchyInput {
|
|
257
|
+
symbolId?: string;
|
|
258
|
+
symbolName?: string;
|
|
259
|
+
direction: 'ancestors' | 'descendants' | 'both';
|
|
260
|
+
}
|
|
261
|
+
export interface GraphHierarchyResult {
|
|
262
|
+
symbol: CodeChunk;
|
|
263
|
+
extends: CodeChunk[];
|
|
264
|
+
implements: CodeChunk[];
|
|
265
|
+
extendedBy: CodeChunk[];
|
|
266
|
+
implementedBy: CodeChunk[];
|
|
267
|
+
}
|
|
268
|
+
export type IndexQuality = 'fast' | 'balanced' | 'accurate';
|
|
269
|
+
export interface GraphQualityConfig {
|
|
270
|
+
useTypeChecker: boolean;
|
|
271
|
+
maxClosureDepth: number;
|
|
272
|
+
maxClosureFiles: number;
|
|
273
|
+
embedEmbedded: boolean;
|
|
274
|
+
}
|
|
275
|
+
export interface ChangeSet {
|
|
276
|
+
modified: string[];
|
|
277
|
+
deleted: string[];
|
|
278
|
+
affected: string[];
|
|
279
|
+
}
|
|
280
|
+
export interface GraphUpdateResult {
|
|
281
|
+
updated: number;
|
|
282
|
+
deleted: number;
|
|
283
|
+
affected: number;
|
|
284
|
+
}
|
|
285
|
+
export interface GraphStats {
|
|
286
|
+
filesIndexed: number;
|
|
287
|
+
symbols: number;
|
|
288
|
+
edges: number;
|
|
289
|
+
edgeTypes: Record<CodeEdgeType, number>;
|
|
290
|
+
unresolvedImports: number;
|
|
291
|
+
embeddedChunks: number;
|
|
292
|
+
embeddedByType: Record<'graphql' | 'css' | 'styled', number>;
|
|
293
|
+
}
|
|
294
|
+
export interface GraphEmbeddingRecord {
|
|
295
|
+
chunkId: string;
|
|
296
|
+
fileId: string;
|
|
297
|
+
symbolName: string;
|
|
298
|
+
symbolType: CodeSymbolType;
|
|
299
|
+
startLine: number;
|
|
300
|
+
endLine: number;
|
|
301
|
+
imports: string[];
|
|
302
|
+
embeddingText: string;
|
|
303
|
+
}
|
|
304
|
+
export interface GraphPreparedFile {
|
|
305
|
+
fileId: string;
|
|
306
|
+
language: string | null;
|
|
307
|
+
contentHash: string;
|
|
308
|
+
mtime: number;
|
|
309
|
+
chunks: CodeChunk[];
|
|
310
|
+
facts: CodeFacts;
|
|
311
|
+
embedded: EmbeddedChunk[];
|
|
312
|
+
}
|
|
313
|
+
export interface GraphPrepareResult {
|
|
314
|
+
quality: IndexQuality;
|
|
315
|
+
files: GraphPreparedFile[];
|
|
316
|
+
edges: CodeEdge[];
|
|
317
|
+
modules: CodeModule[];
|
|
318
|
+
exports: CodeExport[];
|
|
319
|
+
embeddingRecords: GraphEmbeddingRecord[];
|
|
320
|
+
stats: GraphStats;
|
|
321
|
+
parseErrors: NotesError[];
|
|
322
|
+
}
|
|
323
|
+
export interface ProfilingStats {
|
|
324
|
+
totalTimeMs: number;
|
|
325
|
+
phases: {
|
|
326
|
+
parsing: {
|
|
327
|
+
timeMs: number;
|
|
328
|
+
filesProcessed: number;
|
|
329
|
+
chunksGenerated: number;
|
|
330
|
+
};
|
|
331
|
+
embedding: {
|
|
332
|
+
timeMs: number;
|
|
333
|
+
chunksEmbedded: number;
|
|
334
|
+
batchCount: number;
|
|
335
|
+
};
|
|
336
|
+
dbWrite: {
|
|
337
|
+
timeMs: number;
|
|
338
|
+
chunksWritten: number;
|
|
339
|
+
};
|
|
340
|
+
vectorIndex: {
|
|
341
|
+
timeMs: number;
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmEA,MAAM,UAAU,OAAO,CAAI,MAAsB;IAC/C,OAAQ,MAAqB,CAAC,IAAI,KAAK,SAAS,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,OAAiB;IAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vault utilities interface.
|
|
3
|
+
* Created with createVaultUtils() and bound to specific vault paths.
|
|
4
|
+
*/
|
|
5
|
+
export interface VaultUtils {
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a relative note path to absolute, checking all vaults in order.
|
|
8
|
+
*/
|
|
9
|
+
resolveNotePath(relativePath: string): string | null;
|
|
10
|
+
/**
|
|
11
|
+
* Get all glob matches across all vaults.
|
|
12
|
+
*/
|
|
13
|
+
globVaults(pattern: string, folder?: string): Promise<string[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Get the vault root for a given absolute path.
|
|
16
|
+
*/
|
|
17
|
+
getVaultRoot(absolutePath: string): string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Convert absolute path to vault-relative path.
|
|
20
|
+
*/
|
|
21
|
+
toRelativePath(absolutePath: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get vault index for a given absolute path.
|
|
24
|
+
*/
|
|
25
|
+
getVaultIndex(absolutePath: string): number;
|
|
26
|
+
/**
|
|
27
|
+
* Get configured vault paths.
|
|
28
|
+
*/
|
|
29
|
+
getVaultPaths(): string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Resolve a relative note path to absolute, checking all vaults in order.
|
|
33
|
+
* Returns the first existing file found.
|
|
34
|
+
*
|
|
35
|
+
* @param relativePath - Relative path like "notes/file.md" or "file"
|
|
36
|
+
* @param vaultPaths - Array of vault paths to check
|
|
37
|
+
* @returns Absolute path if found, null otherwise
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveNotePath(relativePath: string, vaultPaths: string[]): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Get all glob matches across all vaults.
|
|
42
|
+
* Returns absolute paths, deduplicated by relative path (first vault wins).
|
|
43
|
+
*
|
|
44
|
+
* @param pattern - Glob pattern like "**\/*.md"
|
|
45
|
+
* @param vaultPaths - Array of vault paths
|
|
46
|
+
* @param folder - Optional folder to search within each vault
|
|
47
|
+
* @returns Array of absolute paths
|
|
48
|
+
*/
|
|
49
|
+
export declare function globVaults(pattern: string, vaultPaths: string[], folder?: string): Promise<string[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Get the vault root for a given absolute path.
|
|
52
|
+
* Returns the vault that contains this path.
|
|
53
|
+
*
|
|
54
|
+
* @param absolutePath - Absolute file path
|
|
55
|
+
* @param vaultPaths - Array of vault paths
|
|
56
|
+
* @returns Vault root path if found, null otherwise
|
|
57
|
+
*/
|
|
58
|
+
export declare function getVaultRoot(absolutePath: string, vaultPaths: string[]): string | null;
|
|
59
|
+
/**
|
|
60
|
+
* Convert absolute path to vault-relative path.
|
|
61
|
+
* Returns the relative path from the containing vault.
|
|
62
|
+
*
|
|
63
|
+
* @param absolutePath - Absolute file path
|
|
64
|
+
* @param vaultPaths - Array of vault paths
|
|
65
|
+
* @returns Relative path if in a vault, original path otherwise
|
|
66
|
+
*/
|
|
67
|
+
export declare function toRelativePath(absolutePath: string, vaultPaths: string[]): string;
|
|
68
|
+
/**
|
|
69
|
+
* Get vault index for a given absolute path.
|
|
70
|
+
* Returns the index of the vault that contains this path.
|
|
71
|
+
*
|
|
72
|
+
* @param absolutePath - Absolute file path
|
|
73
|
+
* @param vaultPaths - Array of vault paths
|
|
74
|
+
* @returns Vault index (0-based) if found, -1 otherwise
|
|
75
|
+
*/
|
|
76
|
+
export declare function getVaultIndex(absolutePath: string, vaultPaths: string[]): number;
|
|
77
|
+
/**
|
|
78
|
+
* Create a VaultUtils instance bound to specific vault paths.
|
|
79
|
+
* This is the recommended way to use vault utilities.
|
|
80
|
+
*
|
|
81
|
+
* @param vaultPaths - Array of vault paths
|
|
82
|
+
*/
|
|
83
|
+
export declare function createVaultUtils(vaultPaths: string[]): VaultUtils;
|
|
84
|
+
//# sourceMappingURL=vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../src/utils/vault.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7C;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5C;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAuBzF;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAUtF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAajF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAWhF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CASjE"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// Vault utilities for multi-vault path resolution
|
|
2
|
+
// All functions accept vaultPaths parameter instead of using global config
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import { glob } from 'glob';
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a relative note path to absolute, checking all vaults in order.
|
|
8
|
+
* Returns the first existing file found.
|
|
9
|
+
*
|
|
10
|
+
* @param relativePath - Relative path like "notes/file.md" or "file"
|
|
11
|
+
* @param vaultPaths - Array of vault paths to check
|
|
12
|
+
* @returns Absolute path if found, null otherwise
|
|
13
|
+
*/
|
|
14
|
+
export function resolveNotePath(relativePath, vaultPaths) {
|
|
15
|
+
// Normalize path (remove leading slashes, ensure .md extension for simple names)
|
|
16
|
+
const normalizedPath = relativePath.startsWith('/')
|
|
17
|
+
? relativePath.slice(1)
|
|
18
|
+
: relativePath;
|
|
19
|
+
for (const vaultPath of vaultPaths) {
|
|
20
|
+
// Try exact path
|
|
21
|
+
const exactPath = path.join(vaultPath, normalizedPath);
|
|
22
|
+
if (existsSync(exactPath)) {
|
|
23
|
+
return exactPath;
|
|
24
|
+
}
|
|
25
|
+
// Try with .md extension if not present
|
|
26
|
+
if (!normalizedPath.endsWith('.md')) {
|
|
27
|
+
const withMd = path.join(vaultPath, `${normalizedPath}.md`);
|
|
28
|
+
if (existsSync(withMd)) {
|
|
29
|
+
return withMd;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all glob matches across all vaults.
|
|
37
|
+
* Returns absolute paths, deduplicated by relative path (first vault wins).
|
|
38
|
+
*
|
|
39
|
+
* @param pattern - Glob pattern like "**\/*.md"
|
|
40
|
+
* @param vaultPaths - Array of vault paths
|
|
41
|
+
* @param folder - Optional folder to search within each vault
|
|
42
|
+
* @returns Array of absolute paths
|
|
43
|
+
*/
|
|
44
|
+
export async function globVaults(pattern, vaultPaths, folder) {
|
|
45
|
+
const seen = new Set();
|
|
46
|
+
const results = [];
|
|
47
|
+
for (const vaultPath of vaultPaths) {
|
|
48
|
+
const searchPath = folder
|
|
49
|
+
? path.join(vaultPath, folder, pattern)
|
|
50
|
+
: path.join(vaultPath, pattern);
|
|
51
|
+
const files = await glob(searchPath, {
|
|
52
|
+
ignore: ['**/node_modules/**', '**/.lancedb/**', '**/.index/**'],
|
|
53
|
+
nodir: true,
|
|
54
|
+
});
|
|
55
|
+
for (const file of files) {
|
|
56
|
+
// Get relative path for deduplication
|
|
57
|
+
const relativePath = path.relative(vaultPath, file);
|
|
58
|
+
// Skip if we've already seen this relative path from an earlier vault
|
|
59
|
+
if (seen.has(relativePath)) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
seen.add(relativePath);
|
|
63
|
+
results.push(file);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return results;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get the vault root for a given absolute path.
|
|
70
|
+
* Returns the vault that contains this path.
|
|
71
|
+
*
|
|
72
|
+
* @param absolutePath - Absolute file path
|
|
73
|
+
* @param vaultPaths - Array of vault paths
|
|
74
|
+
* @returns Vault root path if found, null otherwise
|
|
75
|
+
*/
|
|
76
|
+
export function getVaultRoot(absolutePath, vaultPaths) {
|
|
77
|
+
const normalized = path.resolve(absolutePath);
|
|
78
|
+
for (const vaultPath of vaultPaths) {
|
|
79
|
+
if (normalized.startsWith(vaultPath + path.sep) || normalized === vaultPath) {
|
|
80
|
+
return vaultPath;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert absolute path to vault-relative path.
|
|
87
|
+
* Returns the relative path from the containing vault.
|
|
88
|
+
*
|
|
89
|
+
* @param absolutePath - Absolute file path
|
|
90
|
+
* @param vaultPaths - Array of vault paths
|
|
91
|
+
* @returns Relative path if in a vault, original path otherwise
|
|
92
|
+
*/
|
|
93
|
+
export function toRelativePath(absolutePath, vaultPaths) {
|
|
94
|
+
const vaultRoot = getVaultRoot(absolutePath, vaultPaths);
|
|
95
|
+
if (vaultRoot) {
|
|
96
|
+
return path.relative(vaultRoot, absolutePath);
|
|
97
|
+
}
|
|
98
|
+
// Fallback: try first vault (for backward compatibility)
|
|
99
|
+
if (vaultPaths.length > 0) {
|
|
100
|
+
return path.relative(vaultPaths[0], absolutePath);
|
|
101
|
+
}
|
|
102
|
+
return absolutePath;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get vault index for a given absolute path.
|
|
106
|
+
* Returns the index of the vault that contains this path.
|
|
107
|
+
*
|
|
108
|
+
* @param absolutePath - Absolute file path
|
|
109
|
+
* @param vaultPaths - Array of vault paths
|
|
110
|
+
* @returns Vault index (0-based) if found, -1 otherwise
|
|
111
|
+
*/
|
|
112
|
+
export function getVaultIndex(absolutePath, vaultPaths) {
|
|
113
|
+
const normalized = path.resolve(absolutePath);
|
|
114
|
+
for (let i = 0; i < vaultPaths.length; i++) {
|
|
115
|
+
const vaultPath = vaultPaths[i];
|
|
116
|
+
if (normalized.startsWith(vaultPath + path.sep) || normalized === vaultPath) {
|
|
117
|
+
return i;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return -1;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a VaultUtils instance bound to specific vault paths.
|
|
124
|
+
* This is the recommended way to use vault utilities.
|
|
125
|
+
*
|
|
126
|
+
* @param vaultPaths - Array of vault paths
|
|
127
|
+
*/
|
|
128
|
+
export function createVaultUtils(vaultPaths) {
|
|
129
|
+
return {
|
|
130
|
+
resolveNotePath: (relativePath) => resolveNotePath(relativePath, vaultPaths),
|
|
131
|
+
globVaults: (pattern, folder) => globVaults(pattern, vaultPaths, folder),
|
|
132
|
+
getVaultRoot: (absolutePath) => getVaultRoot(absolutePath, vaultPaths),
|
|
133
|
+
toRelativePath: (absolutePath) => toRelativePath(absolutePath, vaultPaths),
|
|
134
|
+
getVaultIndex: (absolutePath) => getVaultIndex(absolutePath, vaultPaths),
|
|
135
|
+
getVaultPaths: () => vaultPaths,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../src/utils/vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.test.d.ts","sourceRoot":"","sources":["../../src/utils/vault.test.ts"],"names":[],"mappings":""}
|