kirograph 0.12.1
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/README.md +1171 -0
- package/dist/architecture/index.d.ts +11 -0
- package/dist/architecture/index.d.ts.map +1 -0
- package/dist/architecture/index.js +207 -0
- package/dist/architecture/index.js.map +7 -0
- package/dist/architecture/layers/csharp.d.ts +6 -0
- package/dist/architecture/layers/csharp.d.ts.map +1 -0
- package/dist/architecture/layers/csharp.js +100 -0
- package/dist/architecture/layers/csharp.js.map +7 -0
- package/dist/architecture/layers/elixir.js +116 -0
- package/dist/architecture/layers/elixir.js.map +7 -0
- package/dist/architecture/layers/go.d.ts +7 -0
- package/dist/architecture/layers/go.d.ts.map +1 -0
- package/dist/architecture/layers/go.js +117 -0
- package/dist/architecture/layers/go.js.map +7 -0
- package/dist/architecture/layers/index.d.ts +30 -0
- package/dist/architecture/layers/index.d.ts.map +1 -0
- package/dist/architecture/layers/index.js +100 -0
- package/dist/architecture/layers/index.js.map +7 -0
- package/dist/architecture/layers/java.d.ts +7 -0
- package/dist/architecture/layers/java.d.ts.map +1 -0
- package/dist/architecture/layers/java.js +119 -0
- package/dist/architecture/layers/java.js.map +7 -0
- package/dist/architecture/layers/python.d.ts +7 -0
- package/dist/architecture/layers/python.d.ts.map +1 -0
- package/dist/architecture/layers/python.js +111 -0
- package/dist/architecture/layers/python.js.map +7 -0
- package/dist/architecture/layers/ruby.d.ts +6 -0
- package/dist/architecture/layers/ruby.d.ts.map +1 -0
- package/dist/architecture/layers/ruby.js +95 -0
- package/dist/architecture/layers/ruby.js.map +7 -0
- package/dist/architecture/layers/rust.d.ts +6 -0
- package/dist/architecture/layers/rust.d.ts.map +1 -0
- package/dist/architecture/layers/rust.js +98 -0
- package/dist/architecture/layers/rust.js.map +7 -0
- package/dist/architecture/layers/types.d.ts +2 -0
- package/dist/architecture/layers/types.d.ts.map +1 -0
- package/dist/architecture/layers/types.js +17 -0
- package/dist/architecture/layers/types.js.map +7 -0
- package/dist/architecture/layers/typescript.d.ts +9 -0
- package/dist/architecture/layers/typescript.d.ts.map +1 -0
- package/dist/architecture/layers/typescript.js +143 -0
- package/dist/architecture/layers/typescript.js.map +7 -0
- package/dist/architecture/manifest/cargo.d.ts +3 -0
- package/dist/architecture/manifest/cargo.d.ts.map +1 -0
- package/dist/architecture/manifest/cargo.js +94 -0
- package/dist/architecture/manifest/cargo.js.map +7 -0
- package/dist/architecture/manifest/csproj.d.ts +3 -0
- package/dist/architecture/manifest/csproj.d.ts.map +1 -0
- package/dist/architecture/manifest/csproj.js +75 -0
- package/dist/architecture/manifest/csproj.js.map +7 -0
- package/dist/architecture/manifest/go.d.ts +3 -0
- package/dist/architecture/manifest/go.d.ts.map +1 -0
- package/dist/architecture/manifest/go.js +85 -0
- package/dist/architecture/manifest/go.js.map +7 -0
- package/dist/architecture/manifest/gradle.d.ts +3 -0
- package/dist/architecture/manifest/gradle.d.ts.map +1 -0
- package/dist/architecture/manifest/gradle.js +80 -0
- package/dist/architecture/manifest/gradle.js.map +7 -0
- package/dist/architecture/manifest/index.d.ts +12 -0
- package/dist/architecture/manifest/index.d.ts.map +1 -0
- package/dist/architecture/manifest/index.js +130 -0
- package/dist/architecture/manifest/index.js.map +7 -0
- package/dist/architecture/manifest/maven.d.ts +3 -0
- package/dist/architecture/manifest/maven.d.ts.map +1 -0
- package/dist/architecture/manifest/maven.js +76 -0
- package/dist/architecture/manifest/maven.js.map +7 -0
- package/dist/architecture/manifest/npm.d.ts +3 -0
- package/dist/architecture/manifest/npm.d.ts.map +1 -0
- package/dist/architecture/manifest/npm.js +103 -0
- package/dist/architecture/manifest/npm.js.map +7 -0
- package/dist/architecture/manifest/python.d.ts +3 -0
- package/dist/architecture/manifest/python.d.ts.map +1 -0
- package/dist/architecture/manifest/python.js +105 -0
- package/dist/architecture/manifest/python.js.map +7 -0
- package/dist/architecture/manifest/types.d.ts +2 -0
- package/dist/architecture/manifest/types.d.ts.map +1 -0
- package/dist/architecture/manifest/types.js +17 -0
- package/dist/architecture/manifest/types.js.map +7 -0
- package/dist/architecture/types.d.ts +91 -0
- package/dist/architecture/types.d.ts.map +1 -0
- package/dist/architecture/types.js +17 -0
- package/dist/architecture/types.js.map +7 -0
- package/dist/assets/logo.png +0 -0
- package/dist/banner.d.ts +6 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/banner.js +67 -0
- package/dist/banner.js.map +1 -0
- package/dist/bin/banner.d.ts +6 -0
- package/dist/bin/banner.d.ts.map +1 -0
- package/dist/bin/banner.js +88 -0
- package/dist/bin/banner.js.map +7 -0
- package/dist/bin/commands/affected.d.ts +3 -0
- package/dist/bin/commands/affected.d.ts.map +1 -0
- package/dist/bin/commands/affected.js +78 -0
- package/dist/bin/commands/affected.js.map +7 -0
- package/dist/bin/commands/architecture.d.ts +3 -0
- package/dist/bin/commands/architecture.d.ts.map +1 -0
- package/dist/bin/commands/architecture.js +125 -0
- package/dist/bin/commands/architecture.js.map +7 -0
- package/dist/bin/commands/caveman.js +136 -0
- package/dist/bin/commands/caveman.js.map +7 -0
- package/dist/bin/commands/context.d.ts +3 -0
- package/dist/bin/commands/context.d.ts.map +1 -0
- package/dist/bin/commands/context.js +81 -0
- package/dist/bin/commands/context.js.map +7 -0
- package/dist/bin/commands/coupling.d.ts +3 -0
- package/dist/bin/commands/coupling.d.ts.map +1 -0
- package/dist/bin/commands/coupling.js +164 -0
- package/dist/bin/commands/coupling.js.map +7 -0
- package/dist/bin/commands/dashboard.d.ts +3 -0
- package/dist/bin/commands/dashboard.d.ts.map +1 -0
- package/dist/bin/commands/dashboard.js +209 -0
- package/dist/bin/commands/dashboard.js.map +7 -0
- package/dist/bin/commands/dead-code.js +77 -0
- package/dist/bin/commands/dead-code.js.map +7 -0
- package/dist/bin/commands/export.js +2620 -0
- package/dist/bin/commands/export.js.map +7 -0
- package/dist/bin/commands/files.d.ts +3 -0
- package/dist/bin/commands/files.d.ts.map +1 -0
- package/dist/bin/commands/files.js +104 -0
- package/dist/bin/commands/files.js.map +7 -0
- package/dist/bin/commands/help.d.ts +4 -0
- package/dist/bin/commands/help.d.ts.map +1 -0
- package/dist/bin/commands/help.js +212 -0
- package/dist/bin/commands/help.js.map +7 -0
- package/dist/bin/commands/hotspots.js +77 -0
- package/dist/bin/commands/hotspots.js.map +7 -0
- package/dist/bin/commands/index.d.ts +3 -0
- package/dist/bin/commands/index.d.ts.map +1 -0
- package/dist/bin/commands/index.js +58 -0
- package/dist/bin/commands/index.js.map +7 -0
- package/dist/bin/commands/init.d.ts +3 -0
- package/dist/bin/commands/init.d.ts.map +1 -0
- package/dist/bin/commands/init.js +68 -0
- package/dist/bin/commands/init.js.map +7 -0
- package/dist/bin/commands/install.d.ts +3 -0
- package/dist/bin/commands/install.d.ts.map +1 -0
- package/dist/bin/commands/install.js +34 -0
- package/dist/bin/commands/install.js.map +7 -0
- package/dist/bin/commands/mark-dirty.d.ts +3 -0
- package/dist/bin/commands/mark-dirty.d.ts.map +1 -0
- package/dist/bin/commands/mark-dirty.js +51 -0
- package/dist/bin/commands/mark-dirty.js.map +7 -0
- package/dist/bin/commands/package.d.ts +3 -0
- package/dist/bin/commands/package.d.ts.map +1 -0
- package/dist/bin/commands/package.js +139 -0
- package/dist/bin/commands/package.js.map +7 -0
- package/dist/bin/commands/path.js +93 -0
- package/dist/bin/commands/path.js.map +7 -0
- package/dist/bin/commands/qdrant.d.ts +3 -0
- package/dist/bin/commands/qdrant.d.ts.map +1 -0
- package/dist/bin/commands/qdrant.js +159 -0
- package/dist/bin/commands/qdrant.js.map +1 -0
- package/dist/bin/commands/query.d.ts +3 -0
- package/dist/bin/commands/query.d.ts.map +1 -0
- package/dist/bin/commands/query.js +47 -0
- package/dist/bin/commands/query.js.map +7 -0
- package/dist/bin/commands/serve.d.ts +3 -0
- package/dist/bin/commands/serve.d.ts.map +1 -0
- package/dist/bin/commands/serve.js +59 -0
- package/dist/bin/commands/serve.js.map +7 -0
- package/dist/bin/commands/snapshot.js +122 -0
- package/dist/bin/commands/snapshot.js.map +7 -0
- package/dist/bin/commands/status.d.ts +3 -0
- package/dist/bin/commands/status.d.ts.map +1 -0
- package/dist/bin/commands/status.js +107 -0
- package/dist/bin/commands/status.js.map +7 -0
- package/dist/bin/commands/stop.d.ts +3 -0
- package/dist/bin/commands/stop.d.ts.map +1 -0
- package/dist/bin/commands/stop.js +81 -0
- package/dist/bin/commands/stop.js.map +1 -0
- package/dist/bin/commands/surprising.js +79 -0
- package/dist/bin/commands/surprising.js.map +7 -0
- package/dist/bin/commands/sync-if-dirty.d.ts +3 -0
- package/dist/bin/commands/sync-if-dirty.d.ts.map +1 -0
- package/dist/bin/commands/sync-if-dirty.js +67 -0
- package/dist/bin/commands/sync-if-dirty.js.map +7 -0
- package/dist/bin/commands/sync.d.ts +3 -0
- package/dist/bin/commands/sync.d.ts.map +1 -0
- package/dist/bin/commands/sync.js +81 -0
- package/dist/bin/commands/sync.js.map +7 -0
- package/dist/bin/commands/typesense.d.ts +3 -0
- package/dist/bin/commands/typesense.d.ts.map +1 -0
- package/dist/bin/commands/typesense.js +126 -0
- package/dist/bin/commands/typesense.js.map +1 -0
- package/dist/bin/commands/uninit.d.ts +4 -0
- package/dist/bin/commands/uninit.d.ts.map +1 -0
- package/dist/bin/commands/uninit.js +123 -0
- package/dist/bin/commands/uninit.js.map +7 -0
- package/dist/bin/commands/unlock.d.ts +3 -0
- package/dist/bin/commands/unlock.d.ts.map +1 -0
- package/dist/bin/commands/unlock.js +53 -0
- package/dist/bin/commands/unlock.js.map +7 -0
- package/dist/bin/commands/utils.d.ts +12 -0
- package/dist/bin/commands/utils.d.ts.map +1 -0
- package/dist/bin/commands/utils.js +56 -0
- package/dist/bin/commands/utils.js.map +7 -0
- package/dist/bin/installer/archive.js +230 -0
- package/dist/bin/installer/archive.js.map +7 -0
- package/dist/bin/installer/caveman.js +57 -0
- package/dist/bin/installer/caveman.js.map +7 -0
- package/dist/bin/installer/cli-agent.d.ts +15 -0
- package/dist/bin/installer/cli-agent.d.ts.map +1 -0
- package/dist/bin/installer/cli-agent.js +89 -0
- package/dist/bin/installer/cli-agent.js.map +7 -0
- package/dist/bin/installer/config-prompt.d.ts +13 -0
- package/dist/bin/installer/config-prompt.d.ts.map +1 -0
- package/dist/bin/installer/config-prompt.js +158 -0
- package/dist/bin/installer/config-prompt.js.map +7 -0
- package/dist/bin/installer/dashboard.d.ts +3 -0
- package/dist/bin/installer/dashboard.d.ts.map +1 -0
- package/dist/bin/installer/dashboard.js +149 -0
- package/dist/bin/installer/dashboard.js.map +7 -0
- package/dist/bin/installer/hooks.d.ts +5 -0
- package/dist/bin/installer/hooks.d.ts.map +1 -0
- package/dist/bin/installer/hooks.js +155 -0
- package/dist/bin/installer/hooks.js.map +7 -0
- package/dist/bin/installer/index.d.ts +11 -0
- package/dist/bin/installer/index.d.ts.map +1 -0
- package/dist/bin/installer/index.js +228 -0
- package/dist/bin/installer/index.js.map +7 -0
- package/dist/bin/installer/mcp.d.ts +5 -0
- package/dist/bin/installer/mcp.d.ts.map +1 -0
- package/dist/bin/installer/mcp.js +80 -0
- package/dist/bin/installer/mcp.js.map +7 -0
- package/dist/bin/installer/prompts.d.ts +28 -0
- package/dist/bin/installer/prompts.d.ts.map +1 -0
- package/dist/bin/installer/prompts.js +134 -0
- package/dist/bin/installer/prompts.js.map +7 -0
- package/dist/bin/installer/qdrant-dashboard.d.ts +4 -0
- package/dist/bin/installer/qdrant-dashboard.d.ts.map +1 -0
- package/dist/bin/installer/qdrant-dashboard.js +115 -0
- package/dist/bin/installer/qdrant-dashboard.js.map +7 -0
- package/dist/bin/installer/steering.d.ts +5 -0
- package/dist/bin/installer/steering.d.ts.map +1 -0
- package/dist/bin/installer/steering.js +283 -0
- package/dist/bin/installer/steering.js.map +7 -0
- package/dist/bin/kirograph.d.ts +6 -0
- package/dist/bin/kirograph.d.ts.map +1 -0
- package/dist/bin/kirograph.js +95 -0
- package/dist/bin/kirograph.js.map +7 -0
- package/dist/bin/progress.d.ts +14 -0
- package/dist/bin/progress.d.ts.map +1 -0
- package/dist/bin/progress.js +201 -0
- package/dist/bin/progress.js.map +7 -0
- package/dist/bin/ui.d.ts +11 -0
- package/dist/bin/ui.d.ts.map +1 -0
- package/dist/bin/ui.js +71 -0
- package/dist/bin/ui.js.map +7 -0
- package/dist/config.d.ts +48 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +273 -0
- package/dist/config.js.map +7 -0
- package/dist/context/index.d.ts +61 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +224 -0
- package/dist/context/index.js.map +7 -0
- package/dist/core/file-tree.d.ts +15 -0
- package/dist/core/file-tree.d.ts.map +1 -0
- package/dist/core/file-tree.js +69 -0
- package/dist/core/file-tree.js.map +7 -0
- package/dist/core/lock-manager.d.ts +20 -0
- package/dist/core/lock-manager.d.ts.map +1 -0
- package/dist/core/lock-manager.js +120 -0
- package/dist/core/lock-manager.js.map +7 -0
- package/dist/core/pipeline.d.ts +37 -0
- package/dist/core/pipeline.d.ts.map +1 -0
- package/dist/core/pipeline.js +375 -0
- package/dist/core/pipeline.js.map +7 -0
- package/dist/core/snapshot.js +141 -0
- package/dist/core/snapshot.js.map +7 -0
- package/dist/db/database.d.ts +133 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +929 -0
- package/dist/db/database.js.map +7 -0
- package/dist/db/schema.sql +174 -0
- package/dist/errors.d.ts +49 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +160 -0
- package/dist/errors.js.map +7 -0
- package/dist/extraction/extractor.d.ts +29 -0
- package/dist/extraction/extractor.d.ts.map +1 -0
- package/dist/extraction/extractor.js +764 -0
- package/dist/extraction/extractor.js.map +7 -0
- package/dist/extraction/grammars.d.ts +48 -0
- package/dist/extraction/grammars.d.ts.map +1 -0
- package/dist/extraction/grammars.js +166 -0
- package/dist/extraction/grammars.js.map +7 -0
- package/dist/extraction/languages.d.ts +9 -0
- package/dist/extraction/languages.d.ts.map +1 -0
- package/dist/extraction/languages.js +103 -0
- package/dist/extraction/languages.js.map +7 -0
- package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
- package/dist/frameworks/csharp.d.ts +8 -0
- package/dist/frameworks/csharp.d.ts.map +1 -0
- package/dist/frameworks/csharp.js +93 -0
- package/dist/frameworks/csharp.js.map +7 -0
- package/dist/frameworks/elixir.js +142 -0
- package/dist/frameworks/elixir.js.map +7 -0
- package/dist/frameworks/express.d.ts +8 -0
- package/dist/frameworks/express.d.ts.map +1 -0
- package/dist/frameworks/express.js +143 -0
- package/dist/frameworks/express.js.map +7 -0
- package/dist/frameworks/go.d.ts +8 -0
- package/dist/frameworks/go.d.ts.map +1 -0
- package/dist/frameworks/go.js +85 -0
- package/dist/frameworks/go.js.map +7 -0
- package/dist/frameworks/index.d.ts +30 -0
- package/dist/frameworks/index.d.ts.map +1 -0
- package/dist/frameworks/index.js +243 -0
- package/dist/frameworks/index.js.map +7 -0
- package/dist/frameworks/java.d.ts +8 -0
- package/dist/frameworks/java.d.ts.map +1 -0
- package/dist/frameworks/java.js +87 -0
- package/dist/frameworks/java.js.map +7 -0
- package/dist/frameworks/laravel.d.ts +9 -0
- package/dist/frameworks/laravel.d.ts.map +1 -0
- package/dist/frameworks/laravel.js +115 -0
- package/dist/frameworks/laravel.js.map +7 -0
- package/dist/frameworks/python.d.ts +10 -0
- package/dist/frameworks/python.d.ts.map +1 -0
- package/dist/frameworks/python.js +158 -0
- package/dist/frameworks/python.js.map +7 -0
- package/dist/frameworks/react.d.ts +9 -0
- package/dist/frameworks/react.d.ts.map +1 -0
- package/dist/frameworks/react.js +230 -0
- package/dist/frameworks/react.js.map +7 -0
- package/dist/frameworks/ruby.d.ts +8 -0
- package/dist/frameworks/ruby.d.ts.map +1 -0
- package/dist/frameworks/ruby.js +136 -0
- package/dist/frameworks/ruby.js.map +7 -0
- package/dist/frameworks/rust.d.ts +8 -0
- package/dist/frameworks/rust.d.ts.map +1 -0
- package/dist/frameworks/rust.js +82 -0
- package/dist/frameworks/rust.js.map +7 -0
- package/dist/frameworks/svelte.d.ts +8 -0
- package/dist/frameworks/svelte.d.ts.map +1 -0
- package/dist/frameworks/svelte.js +174 -0
- package/dist/frameworks/svelte.js.map +7 -0
- package/dist/frameworks/swift.d.ts +10 -0
- package/dist/frameworks/swift.d.ts.map +1 -0
- package/dist/frameworks/swift.js +151 -0
- package/dist/frameworks/swift.js.map +7 -0
- package/dist/frameworks/types.d.ts +37 -0
- package/dist/frameworks/types.d.ts.map +1 -0
- package/dist/frameworks/types.js +17 -0
- package/dist/frameworks/types.js.map +7 -0
- package/dist/graph/queries.d.ts +53 -0
- package/dist/graph/queries.d.ts.map +1 -0
- package/dist/graph/queries.js +224 -0
- package/dist/graph/queries.js.map +7 -0
- package/dist/graph/traversal.d.ts +35 -0
- package/dist/graph/traversal.d.ts.map +1 -0
- package/dist/graph/traversal.js +148 -0
- package/dist/graph/traversal.js.map +7 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +303 -0
- package/dist/index.js.map +7 -0
- package/dist/installer/index.d.ts +10 -0
- package/dist/installer/index.d.ts.map +1 -0
- package/dist/installer/index.js +526 -0
- package/dist/installer/index.js.map +1 -0
- package/dist/mcp/server.d.ts +16 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +116 -0
- package/dist/mcp/server.js.map +7 -0
- package/dist/mcp/tools.d.ts +37 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +779 -0
- package/dist/mcp/tools.js.map +7 -0
- package/dist/mcp/transport.d.ts +29 -0
- package/dist/mcp/transport.d.ts.map +1 -0
- package/dist/mcp/transport.js +70 -0
- package/dist/mcp/transport.js.map +7 -0
- package/dist/resolution/index.d.ts +56 -0
- package/dist/resolution/index.d.ts.map +1 -0
- package/dist/resolution/index.js +384 -0
- package/dist/resolution/index.js.map +7 -0
- package/dist/resolution/name-matcher.d.ts +25 -0
- package/dist/resolution/name-matcher.d.ts.map +1 -0
- package/dist/resolution/name-matcher.js +60 -0
- package/dist/resolution/name-matcher.js.map +7 -0
- package/dist/scripts/postinstall.js +64 -0
- package/dist/search/query-utils.d.ts +21 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +219 -0
- package/dist/search/query-utils.js.map +7 -0
- package/dist/search/searcher.d.ts +15 -0
- package/dist/search/searcher.d.ts.map +1 -0
- package/dist/search/searcher.js +49 -0
- package/dist/search/searcher.js.map +7 -0
- package/dist/sync/index.d.ts +33 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +200 -0
- package/dist/sync/index.js.map +7 -0
- package/dist/types.d.ts +131 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +37 -0
- package/dist/types.js.map +7 -0
- package/dist/utils.d.ts +52 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +254 -0
- package/dist/utils.js.map +7 -0
- package/dist/vectors/index.d.ts +71 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +480 -0
- package/dist/vectors/index.js.map +7 -0
- package/dist/vectors/lancedb-index.d.ts +50 -0
- package/dist/vectors/lancedb-index.d.ts.map +1 -0
- package/dist/vectors/lancedb-index.js +153 -0
- package/dist/vectors/lancedb-index.js.map +7 -0
- package/dist/vectors/orama-index.d.ts +54 -0
- package/dist/vectors/orama-index.d.ts.map +1 -0
- package/dist/vectors/orama-index.js +213 -0
- package/dist/vectors/orama-index.js.map +7 -0
- package/dist/vectors/pglite-index.d.ts +53 -0
- package/dist/vectors/pglite-index.d.ts.map +1 -0
- package/dist/vectors/pglite-index.js +194 -0
- package/dist/vectors/pglite-index.js.map +7 -0
- package/dist/vectors/qdrant-index.d.ts +70 -0
- package/dist/vectors/qdrant-index.d.ts.map +1 -0
- package/dist/vectors/qdrant-index.js +364 -0
- package/dist/vectors/qdrant-index.js.map +7 -0
- package/dist/vectors/typesense-index.d.ts +75 -0
- package/dist/vectors/typesense-index.d.ts.map +1 -0
- package/dist/vectors/typesense-index.js +453 -0
- package/dist/vectors/typesense-index.js.map +7 -0
- package/dist/vectors/vec-index.d.ts +52 -0
- package/dist/vectors/vec-index.d.ts.map +1 -0
- package/dist/vectors/vec-index.js +198 -0
- package/dist/vectors/vec-index.js.map +7 -0
- package/package.json +67 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KiroGraph sqlite-vec ANN Index
|
|
3
|
+
*
|
|
4
|
+
* Opt-in ANN index backed by sqlite-vec (the successor to sqlite-vss).
|
|
5
|
+
* Uses better-sqlite3 to load the sqlite-vec extension into a dedicated
|
|
6
|
+
* .kirograph/vec.db file, keeping it separate from the main node-sqlite3-wasm
|
|
7
|
+
* database to avoid WAL-mode conflicts.
|
|
8
|
+
*
|
|
9
|
+
* Required optional dependencies (not installed by default):
|
|
10
|
+
* npm install better-sqlite3 sqlite-vec
|
|
11
|
+
*
|
|
12
|
+
* If either package is missing, VecIndex silently marks itself unavailable
|
|
13
|
+
* and VectorManager falls back to in-process cosine search.
|
|
14
|
+
*/
|
|
15
|
+
export declare class VecIndex {
|
|
16
|
+
private readonly kirographDir;
|
|
17
|
+
private db;
|
|
18
|
+
private _available;
|
|
19
|
+
private dim;
|
|
20
|
+
constructor(kirographDir: string, dim?: number);
|
|
21
|
+
isAvailable(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Load better-sqlite3 + sqlite-vec and create the vec schema.
|
|
24
|
+
* No-op and silent when optional deps are missing.
|
|
25
|
+
*/
|
|
26
|
+
initialize(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Insert or update the embedding for a node.
|
|
29
|
+
* We let vec_nodes auto-assign its rowid (avoiding the SQLITE_INTEGER type
|
|
30
|
+
* mismatch that occurs when passing explicit JS number rowids to vec0).
|
|
31
|
+
* The auto-assigned rowid is stored in vec_nodes_map for later lookup.
|
|
32
|
+
* vec0 tables don't support UPDATE, so updates are a DELETE + INSERT pair.
|
|
33
|
+
*/
|
|
34
|
+
upsert(nodeId: string, embedding: Float32Array): void;
|
|
35
|
+
/**
|
|
36
|
+
* Remove a node's embedding from the index.
|
|
37
|
+
* Called explicitly when a node is deleted; stale entries are also filtered
|
|
38
|
+
* harmlessly in search() since GraphDatabase.getNode() will return null.
|
|
39
|
+
*/
|
|
40
|
+
delete(nodeId: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* ANN search: returns node IDs ordered by ascending distance.
|
|
43
|
+
* Uses sqlite-vec KNN syntax: `WHERE embedding MATCH ? ORDER BY distance LIMIT ?`
|
|
44
|
+
*/
|
|
45
|
+
search(queryVec: Float32Array, topN?: number): string[];
|
|
46
|
+
/** Return all node IDs currently stored in the index. */
|
|
47
|
+
getEmbeddedNodeIds(): string[];
|
|
48
|
+
/** Returns the number of entries currently in the vec index. */
|
|
49
|
+
count(): number;
|
|
50
|
+
close(): void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=vec-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vec-index.d.ts","sourceRoot":"","sources":["../../src/vectors/vec-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,qBAAa,QAAQ;IAMjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAL/B,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,GAAG,CAAS;gBAGD,YAAY,EAAE,MAAM,EACrC,GAAG,SAAc;IAKnB,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DjC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAyBrD;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB5B;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,SAAK,GAAG,MAAM,EAAE;IAoBnD,yDAAyD;IACzD,kBAAkB,IAAI,MAAM,EAAE;IAU9B,gEAAgE;IAChE,KAAK,IAAI,MAAM;IAUf,KAAK,IAAI,IAAI;CAOd"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var vec_index_exports = {};
|
|
30
|
+
__export(vec_index_exports, {
|
|
31
|
+
VecIndex: () => VecIndex
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(vec_index_exports);
|
|
34
|
+
var path = __toESM(require("path"));
|
|
35
|
+
var import_errors = require("../errors");
|
|
36
|
+
const DEFAULT_DIM = 768;
|
|
37
|
+
class VecIndex {
|
|
38
|
+
constructor(kirographDir, dim = DEFAULT_DIM) {
|
|
39
|
+
this.kirographDir = kirographDir;
|
|
40
|
+
this.db = null;
|
|
41
|
+
this._available = false;
|
|
42
|
+
this.dim = dim;
|
|
43
|
+
}
|
|
44
|
+
isAvailable() {
|
|
45
|
+
return this._available;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Load better-sqlite3 + sqlite-vec and create the vec schema.
|
|
49
|
+
* No-op and silent when optional deps are missing.
|
|
50
|
+
*/
|
|
51
|
+
async initialize() {
|
|
52
|
+
if (this._available) return;
|
|
53
|
+
const dbPath = path.join(this.kirographDir, "vec.db");
|
|
54
|
+
let BetterSQLite;
|
|
55
|
+
let sqliteVec;
|
|
56
|
+
try {
|
|
57
|
+
BetterSQLite = require("better-sqlite3");
|
|
58
|
+
} catch {
|
|
59
|
+
(0, import_errors.logDebug)("VecIndex: better-sqlite3 not installed \u2014 sqlite-vec unavailable");
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
sqliteVec = require("sqlite-vec");
|
|
64
|
+
} catch {
|
|
65
|
+
(0, import_errors.logDebug)("VecIndex: sqlite-vec not installed \u2014 falling back to in-process cosine search");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
this.db = new BetterSQLite(dbPath);
|
|
70
|
+
sqliteVec.load(this.db);
|
|
71
|
+
const mapInfo = this.db.pragma("table_info(vec_nodes_map)");
|
|
72
|
+
const hasVecRowid = mapInfo.some((col) => col.name === "vec_rowid");
|
|
73
|
+
if (mapInfo.length > 0 && !hasVecRowid) {
|
|
74
|
+
(0, import_errors.logDebug)("VecIndex: stale schema detected, rebuilding vec.db");
|
|
75
|
+
this.db.exec(`
|
|
76
|
+
DROP TABLE IF EXISTS vec_nodes_map;
|
|
77
|
+
DROP TABLE IF EXISTS vec_nodes;
|
|
78
|
+
`);
|
|
79
|
+
}
|
|
80
|
+
this.db.exec(`
|
|
81
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS vec_nodes
|
|
82
|
+
USING vec0(embedding float[${this.dim}]);
|
|
83
|
+
CREATE TABLE IF NOT EXISTS vec_nodes_map (
|
|
84
|
+
node_id TEXT PRIMARY KEY NOT NULL,
|
|
85
|
+
vec_rowid INTEGER NOT NULL
|
|
86
|
+
);
|
|
87
|
+
`);
|
|
88
|
+
this._available = true;
|
|
89
|
+
(0, import_errors.logDebug)("VecIndex: initialized", { dbPath, dim: this.dim });
|
|
90
|
+
} catch (err) {
|
|
91
|
+
(0, import_errors.logError)("VecIndex: initialization failed", { error: String(err) });
|
|
92
|
+
this._available = false;
|
|
93
|
+
if (this.db) {
|
|
94
|
+
try {
|
|
95
|
+
this.db.close();
|
|
96
|
+
} catch {
|
|
97
|
+
}
|
|
98
|
+
this.db = null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Insert or update the embedding for a node.
|
|
104
|
+
* We let vec_nodes auto-assign its rowid (avoiding the SQLITE_INTEGER type
|
|
105
|
+
* mismatch that occurs when passing explicit JS number rowids to vec0).
|
|
106
|
+
* The auto-assigned rowid is stored in vec_nodes_map for later lookup.
|
|
107
|
+
* vec0 tables don't support UPDATE, so updates are a DELETE + INSERT pair.
|
|
108
|
+
*/
|
|
109
|
+
upsert(nodeId, embedding) {
|
|
110
|
+
if (!this._available || !this.db) return;
|
|
111
|
+
try {
|
|
112
|
+
const existing = this.db.prepare("SELECT vec_rowid FROM vec_nodes_map WHERE node_id = ?").get(nodeId);
|
|
113
|
+
if (existing) {
|
|
114
|
+
this.db.prepare("DELETE FROM vec_nodes WHERE rowid = ?").run(existing.vec_rowid);
|
|
115
|
+
const result = this.db.prepare("INSERT INTO vec_nodes(embedding) VALUES (?)").run(embedding);
|
|
116
|
+
this.db.prepare("UPDATE vec_nodes_map SET vec_rowid = ? WHERE node_id = ?").run(result.lastInsertRowid, nodeId);
|
|
117
|
+
} else {
|
|
118
|
+
const result = this.db.prepare("INSERT INTO vec_nodes(embedding) VALUES (?)").run(embedding);
|
|
119
|
+
this.db.prepare("INSERT INTO vec_nodes_map(node_id, vec_rowid) VALUES (?, ?)").run(nodeId, result.lastInsertRowid);
|
|
120
|
+
}
|
|
121
|
+
} catch (err) {
|
|
122
|
+
(0, import_errors.logWarn)("VecIndex: upsert failed", { nodeId, error: String(err) });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Remove a node's embedding from the index.
|
|
127
|
+
* Called explicitly when a node is deleted; stale entries are also filtered
|
|
128
|
+
* harmlessly in search() since GraphDatabase.getNode() will return null.
|
|
129
|
+
*/
|
|
130
|
+
delete(nodeId) {
|
|
131
|
+
if (!this._available || !this.db) return;
|
|
132
|
+
try {
|
|
133
|
+
const existing = this.db.prepare("SELECT vec_rowid FROM vec_nodes_map WHERE node_id = ?").get(nodeId);
|
|
134
|
+
if (existing) {
|
|
135
|
+
this.db.prepare("DELETE FROM vec_nodes WHERE rowid = ?").run(existing.vec_rowid);
|
|
136
|
+
this.db.prepare("DELETE FROM vec_nodes_map WHERE node_id = ?").run(nodeId);
|
|
137
|
+
}
|
|
138
|
+
} catch (err) {
|
|
139
|
+
(0, import_errors.logWarn)("VecIndex: delete failed", { nodeId, error: String(err) });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* ANN search: returns node IDs ordered by ascending distance.
|
|
144
|
+
* Uses sqlite-vec KNN syntax: `WHERE embedding MATCH ? ORDER BY distance LIMIT ?`
|
|
145
|
+
*/
|
|
146
|
+
search(queryVec, topN = 10) {
|
|
147
|
+
if (!this._available || !this.db) return [];
|
|
148
|
+
try {
|
|
149
|
+
const rows = this.db.prepare(`
|
|
150
|
+
SELECT m.node_id, v.distance
|
|
151
|
+
FROM vec_nodes v
|
|
152
|
+
JOIN vec_nodes_map m ON m.vec_rowid = v.rowid
|
|
153
|
+
WHERE v.embedding MATCH ?
|
|
154
|
+
AND k = ?
|
|
155
|
+
ORDER BY v.distance
|
|
156
|
+
`).all(queryVec, topN);
|
|
157
|
+
return rows.map((r) => r.node_id);
|
|
158
|
+
} catch (err) {
|
|
159
|
+
(0, import_errors.logWarn)("VecIndex: search failed", { error: String(err) });
|
|
160
|
+
return [];
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/** Return all node IDs currently stored in the index. */
|
|
164
|
+
getEmbeddedNodeIds() {
|
|
165
|
+
if (!this._available || !this.db) return [];
|
|
166
|
+
try {
|
|
167
|
+
const rows = this.db.prepare("SELECT node_id FROM vec_nodes_map").all();
|
|
168
|
+
return rows.map((r) => r.node_id);
|
|
169
|
+
} catch {
|
|
170
|
+
return [];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/** Returns the number of entries currently in the vec index. */
|
|
174
|
+
count() {
|
|
175
|
+
if (!this._available || !this.db) return 0;
|
|
176
|
+
try {
|
|
177
|
+
const row = this.db.prepare("SELECT COUNT(*) as c FROM vec_nodes_map").get();
|
|
178
|
+
return row ? row.c : 0;
|
|
179
|
+
} catch {
|
|
180
|
+
return 0;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
close() {
|
|
184
|
+
if (this.db) {
|
|
185
|
+
try {
|
|
186
|
+
this.db.close();
|
|
187
|
+
} catch {
|
|
188
|
+
}
|
|
189
|
+
this.db = null;
|
|
190
|
+
this._available = false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
195
|
+
0 && (module.exports = {
|
|
196
|
+
VecIndex
|
|
197
|
+
});
|
|
198
|
+
//# sourceMappingURL=vec-index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/vectors/vec-index.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * KiroGraph sqlite-vec ANN Index\n *\n * Opt-in ANN index backed by sqlite-vec (the successor to sqlite-vss).\n * Uses better-sqlite3 to load the sqlite-vec extension into a dedicated\n * .kirograph/vec.db file, keeping it separate from the main node-sqlite3-wasm\n * database to avoid WAL-mode conflicts.\n *\n * Required optional dependencies (not installed by default):\n * npm install better-sqlite3 sqlite-vec\n *\n * If either package is missing, VecIndex silently marks itself unavailable\n * and VectorManager falls back to in-process cosine search.\n */\n\nimport * as path from 'path';\nimport { logDebug, logWarn, logError } from '../errors';\n\n// \u2500\u2500 Constants \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nconst DEFAULT_DIM = 768;\n\n// \u2500\u2500 VecIndex \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nexport class VecIndex {\n private db: any = null;\n private _available = false;\n private dim: number;\n\n constructor(\n private readonly kirographDir: string,\n dim = DEFAULT_DIM,\n ) {\n this.dim = dim;\n }\n\n isAvailable(): boolean {\n return this._available;\n }\n\n /**\n * Load better-sqlite3 + sqlite-vec and create the vec schema.\n * No-op and silent when optional deps are missing.\n */\n async initialize(): Promise<void> {\n if (this._available) return;\n\n const dbPath = path.join(this.kirographDir, 'vec.db');\n\n let BetterSQLite: any;\n let sqliteVec: any;\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n BetterSQLite = require('better-sqlite3');\n } catch {\n logDebug('VecIndex: better-sqlite3 not installed \u2014 sqlite-vec unavailable');\n return;\n }\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n sqliteVec = require('sqlite-vec');\n } catch {\n logDebug('VecIndex: sqlite-vec not installed \u2014 falling back to in-process cosine search');\n return;\n }\n\n try {\n this.db = new BetterSQLite(dbPath);\n sqliteVec.load(this.db);\n\n // Drop stale schema if vec_nodes_map is missing the vec_rowid column\n // (legacy schema used rowid AUTOINCREMENT + node_id; new schema uses node_id PK + vec_rowid)\n const mapInfo: any[] = this.db.pragma('table_info(vec_nodes_map)');\n const hasVecRowid = mapInfo.some((col: any) => col.name === 'vec_rowid');\n if (mapInfo.length > 0 && !hasVecRowid) {\n logDebug('VecIndex: stale schema detected, rebuilding vec.db');\n this.db.exec(`\n DROP TABLE IF EXISTS vec_nodes_map;\n DROP TABLE IF EXISTS vec_nodes;\n `);\n }\n\n this.db.exec(`\n CREATE VIRTUAL TABLE IF NOT EXISTS vec_nodes\n USING vec0(embedding float[${this.dim}]);\n CREATE TABLE IF NOT EXISTS vec_nodes_map (\n node_id TEXT PRIMARY KEY NOT NULL,\n vec_rowid INTEGER NOT NULL\n );\n `);\n\n this._available = true;\n logDebug('VecIndex: initialized', { dbPath, dim: this.dim });\n } catch (err) {\n logError('VecIndex: initialization failed', { error: String(err) });\n this._available = false;\n if (this.db) {\n try { this.db.close(); } catch { /* ignore */ }\n this.db = null;\n }\n }\n }\n\n /**\n * Insert or update the embedding for a node.\n * We let vec_nodes auto-assign its rowid (avoiding the SQLITE_INTEGER type\n * mismatch that occurs when passing explicit JS number rowids to vec0).\n * The auto-assigned rowid is stored in vec_nodes_map for later lookup.\n * vec0 tables don't support UPDATE, so updates are a DELETE + INSERT pair.\n */\n upsert(nodeId: string, embedding: Float32Array): void {\n if (!this._available || !this.db) return;\n\n try {\n const existing = this.db\n .prepare('SELECT vec_rowid FROM vec_nodes_map WHERE node_id = ?')\n .get(nodeId) as { vec_rowid: number } | undefined;\n\n if (existing) {\n // Remove old vector, re-insert with a fresh auto-assigned rowid\n this.db.prepare('DELETE FROM vec_nodes WHERE rowid = ?').run(existing.vec_rowid);\n const result = this.db.prepare('INSERT INTO vec_nodes(embedding) VALUES (?)').run(embedding);\n this.db.prepare('UPDATE vec_nodes_map SET vec_rowid = ? WHERE node_id = ?')\n .run(result.lastInsertRowid, nodeId);\n } else {\n // First time: insert vector, then record the rowid sqlite-vec chose\n const result = this.db.prepare('INSERT INTO vec_nodes(embedding) VALUES (?)').run(embedding);\n this.db.prepare('INSERT INTO vec_nodes_map(node_id, vec_rowid) VALUES (?, ?)')\n .run(nodeId, result.lastInsertRowid);\n }\n } catch (err) {\n logWarn('VecIndex: upsert failed', { nodeId, error: String(err) });\n }\n }\n\n /**\n * Remove a node's embedding from the index.\n * Called explicitly when a node is deleted; stale entries are also filtered\n * harmlessly in search() since GraphDatabase.getNode() will return null.\n */\n delete(nodeId: string): void {\n if (!this._available || !this.db) return;\n\n try {\n const existing = this.db\n .prepare('SELECT vec_rowid FROM vec_nodes_map WHERE node_id = ?')\n .get(nodeId) as { vec_rowid: number } | undefined;\n\n if (existing) {\n this.db.prepare('DELETE FROM vec_nodes WHERE rowid = ?').run(existing.vec_rowid);\n this.db.prepare('DELETE FROM vec_nodes_map WHERE node_id = ?').run(nodeId);\n }\n } catch (err) {\n logWarn('VecIndex: delete failed', { nodeId, error: String(err) });\n }\n }\n\n /**\n * ANN search: returns node IDs ordered by ascending distance.\n * Uses sqlite-vec KNN syntax: `WHERE embedding MATCH ? ORDER BY distance LIMIT ?`\n */\n search(queryVec: Float32Array, topN = 10): string[] {\n if (!this._available || !this.db) return [];\n\n try {\n const rows = this.db.prepare(`\n SELECT m.node_id, v.distance\n FROM vec_nodes v\n JOIN vec_nodes_map m ON m.vec_rowid = v.rowid\n WHERE v.embedding MATCH ?\n AND k = ?\n ORDER BY v.distance\n `).all(queryVec, topN);\n\n return rows.map((r: any) => r.node_id as string);\n } catch (err) {\n logWarn('VecIndex: search failed', { error: String(err) });\n return [];\n }\n }\n\n /** Return all node IDs currently stored in the index. */\n getEmbeddedNodeIds(): string[] {\n if (!this._available || !this.db) return [];\n try {\n const rows = this.db.prepare('SELECT node_id FROM vec_nodes_map').all();\n return rows.map((r: any) => r.node_id as string);\n } catch {\n return [];\n }\n }\n\n /** Returns the number of entries currently in the vec index. */\n count(): number {\n if (!this._available || !this.db) return 0;\n try {\n const row = this.db.prepare('SELECT COUNT(*) as c FROM vec_nodes_map').get();\n return row ? (row.c as number) : 0;\n } catch {\n return 0;\n }\n }\n\n close(): void {\n if (this.db) {\n try { this.db.close(); } catch { /* ignore */ }\n this.db = null;\n this._available = false;\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kirograph",
|
|
3
|
+
"version": "0.12.1",
|
|
4
|
+
"description": "Semantic code knowledge graph for Kiro — fewer tool calls, instant symbol lookups, 100% local.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"kirograph": "./dist/bin/kirograph.js",
|
|
9
|
+
"kg": "./dist/bin/kirograph.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsx scripts/build.ts",
|
|
17
|
+
"dev": "tsx scripts/build.ts --watch",
|
|
18
|
+
"typecheck": "tsc --noEmit",
|
|
19
|
+
"test": "vitest --run",
|
|
20
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
21
|
+
"docs": "npx serve docs"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"kiro",
|
|
25
|
+
"code-intelligence",
|
|
26
|
+
"knowledge-graph",
|
|
27
|
+
"mcp",
|
|
28
|
+
"semantic-search"
|
|
29
|
+
],
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@huggingface/transformers": "^3.0.0",
|
|
33
|
+
"commander": "^14.0.2",
|
|
34
|
+
"figlet": "^1.11.0",
|
|
35
|
+
"node-sqlite3-wasm": "^0.8.30",
|
|
36
|
+
"picomatch": "^4.0.3",
|
|
37
|
+
"tree-sitter-wasms": "^0.1.11",
|
|
38
|
+
"web-tree-sitter": "^0.25.3"
|
|
39
|
+
},
|
|
40
|
+
"optionalDependencies": {
|
|
41
|
+
"@electric-sql/pglite": "^0.2.17",
|
|
42
|
+
"@lancedb/lancedb": "^0.27.2",
|
|
43
|
+
"@orama/orama": "^3.1.18",
|
|
44
|
+
"@orama/plugin-data-persistence": "^3.1.18",
|
|
45
|
+
"@qdrant/qdrant-js": "^1.17.0",
|
|
46
|
+
"better-sqlite3": "^11.10.0",
|
|
47
|
+
"qdrant-local": "^0.0.0-alpha.10",
|
|
48
|
+
"sqlite-vec": "^0.1.9",
|
|
49
|
+
"typesense": "^3.0.6"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/figlet": "^1.7.0",
|
|
53
|
+
"@types/node": "^20.0.0",
|
|
54
|
+
"@types/picomatch": "^4.0.2",
|
|
55
|
+
"esbuild": "^0.28.0",
|
|
56
|
+
"tsx": "^4.21.0",
|
|
57
|
+
"typescript": "^5.0.0",
|
|
58
|
+
"vitest": "^4.1.2"
|
|
59
|
+
},
|
|
60
|
+
"engines": {
|
|
61
|
+
"node": ">=18.0.0"
|
|
62
|
+
},
|
|
63
|
+
"overrides": {
|
|
64
|
+
"tar": "^7.5.11",
|
|
65
|
+
"axios": "^1.8.3"
|
|
66
|
+
}
|
|
67
|
+
}
|