@colbymchenry/codegraph 0.3.1 → 0.5.0
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 +21 -21
- package/README.md +647 -641
- package/dist/bin/codegraph.d.ts +7 -2
- package/dist/bin/codegraph.d.ts.map +1 -1
- package/dist/bin/codegraph.js +360 -140
- package/dist/bin/codegraph.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +43 -10
- package/dist/config.js.map +1 -1
- package/dist/context/index.d.ts +17 -4
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +182 -15
- package/dist/context/index.js.map +1 -1
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +21 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations.d.ts +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +19 -12
- package/dist/db/migrations.js.map +1 -1
- package/dist/db/queries.d.ts +32 -1
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +271 -118
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.sql +163 -149
- package/dist/directory.d.ts +13 -1
- package/dist/directory.d.ts.map +1 -1
- package/dist/directory.js +85 -19
- package/dist/directory.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/extraction/grammars.d.ts +9 -4
- package/dist/extraction/grammars.d.ts.map +1 -1
- package/dist/extraction/grammars.js +133 -65
- package/dist/extraction/grammars.js.map +1 -1
- package/dist/extraction/index.d.ts +6 -0
- package/dist/extraction/index.d.ts.map +1 -1
- package/dist/extraction/index.js +209 -44
- package/dist/extraction/index.js.map +1 -1
- package/dist/extraction/tree-sitter.d.ts +67 -0
- package/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/dist/extraction/tree-sitter.js +980 -38
- package/dist/extraction/tree-sitter.js.map +1 -1
- package/dist/graph/traversal.d.ts.map +1 -1
- package/dist/graph/traversal.js +6 -2
- package/dist/graph/traversal.js.map +1 -1
- package/dist/index.d.ts +6 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -73
- package/dist/index.js.map +1 -1
- package/dist/installer/banner.js +7 -7
- package/dist/installer/claude-md-template.js +32 -32
- package/dist/installer/config-writer.d.ts +9 -0
- package/dist/installer/config-writer.d.ts.map +1 -1
- package/dist/installer/config-writer.js +126 -17
- package/dist/installer/config-writer.js.map +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +11 -9
- package/dist/installer/index.js.map +1 -1
- package/dist/mcp/index.d.ts +14 -3
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +109 -29
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools.d.ts +66 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +442 -49
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transport.d.ts.map +1 -1
- package/dist/mcp/transport.js +2 -0
- package/dist/mcp/transport.js.map +1 -1
- package/dist/resolution/frameworks/index.d.ts +1 -0
- package/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/dist/resolution/frameworks/index.js +5 -1
- package/dist/resolution/frameworks/index.js.map +1 -1
- package/dist/resolution/frameworks/svelte.d.ts +9 -0
- package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
- package/dist/resolution/frameworks/svelte.js +268 -0
- package/dist/resolution/frameworks/svelte.js.map +1 -0
- package/dist/resolution/index.d.ts +11 -2
- package/dist/resolution/index.d.ts.map +1 -1
- package/dist/resolution/index.js +94 -13
- package/dist/resolution/index.js.map +1 -1
- package/dist/search/query-utils.d.ts +25 -0
- package/dist/search/query-utils.d.ts.map +1 -0
- package/dist/search/query-utils.js +124 -0
- package/dist/search/query-utils.js.map +1 -0
- package/dist/sentry.d.ts +22 -0
- package/dist/sentry.d.ts.map +1 -0
- package/dist/sentry.js +159 -0
- package/dist/sentry.js.map +1 -0
- package/dist/sync/index.d.ts +4 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +3 -5
- package/dist/sync/index.js.map +1 -1
- package/dist/types.d.ts +7 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +89 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +252 -3
- package/dist/utils.js.map +1 -1
- package/dist/vectors/embedder.d.ts +1 -1
- package/dist/vectors/embedder.d.ts.map +1 -1
- package/dist/vectors/embedder.js +2 -2
- package/dist/vectors/embedder.js.map +1 -1
- package/dist/vectors/search.d.ts.map +1 -1
- package/dist/vectors/search.js +33 -32
- package/dist/vectors/search.js.map +1 -1
- package/package.json +74 -67
- package/scripts/patch-tree-sitter-dart.js +112 -0
- package/scripts/postinstall.js +71 -68
- package/dist/sync/git-hooks.d.ts +0 -66
- package/dist/sync/git-hooks.d.ts.map +0 -1
- package/dist/sync/git-hooks.js +0 -281
- package/dist/sync/git-hooks.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export type EdgeKind = 'contains' | 'calls' | 'imports' | 'exports' | 'extends'
|
|
|
14
14
|
/**
|
|
15
15
|
* Supported programming languages
|
|
16
16
|
*/
|
|
17
|
-
export type Language = 'typescript' | 'javascript' | 'tsx' | 'jsx' | 'python' | 'go' | 'rust' | 'java' | 'c' | 'cpp' | 'csharp' | 'php' | 'ruby' | 'swift' | 'kotlin' | 'liquid' | 'unknown';
|
|
17
|
+
export type Language = 'typescript' | 'javascript' | 'tsx' | 'jsx' | 'python' | 'go' | 'rust' | 'java' | 'c' | 'cpp' | 'csharp' | 'php' | 'ruby' | 'swift' | 'kotlin' | 'dart' | 'svelte' | 'liquid' | 'unknown';
|
|
18
18
|
/**
|
|
19
19
|
* A node in the knowledge graph representing a code symbol
|
|
20
20
|
*/
|
|
@@ -76,6 +76,8 @@ export interface Edge {
|
|
|
76
76
|
line?: number;
|
|
77
77
|
/** Column number where relationship occurs */
|
|
78
78
|
column?: number;
|
|
79
|
+
/** How this edge was created */
|
|
80
|
+
provenance?: 'tree-sitter' | 'scip' | 'heuristic';
|
|
79
81
|
}
|
|
80
82
|
/**
|
|
81
83
|
* Metadata about a tracked file
|
|
@@ -141,6 +143,10 @@ export interface UnresolvedReference {
|
|
|
141
143
|
/** Location of the reference */
|
|
142
144
|
line: number;
|
|
143
145
|
column: number;
|
|
146
|
+
/** File path where reference occurs (denormalized for performance) */
|
|
147
|
+
filePath?: string;
|
|
148
|
+
/** Language of the source file (denormalized for performance) */
|
|
149
|
+
language?: Language;
|
|
144
150
|
/** Possible qualified names it might resolve to */
|
|
145
151
|
candidates?: string[];
|
|
146
152
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,GACV,UAAU,GACV,QAAQ,GACR,UAAU,GACV,OAAO,GACP,UAAU,GACV,UAAU,GACV,MAAM,GACN,aAAa,GACb,YAAY,GACZ,WAAW,GACX,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,cAAc,GACd,WAAW,GACX,WAAW,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,YAAY,GACZ,KAAK,GACL,KAAK,GACL,QAAQ,GACR,IAAI,GACJ,MAAM,GACN,MAAM,GACN,GAAG,GACH,KAAK,GACL,QAAQ,GACR,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAMd;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IAEX,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,6EAA6E;IAC7E,aAAa,EAAE,MAAM,CAAC;IAEtB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IAEpB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAElB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAE7D,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,IAAI,EAAE,QAAQ,CAAC;IAEf,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -39,6 +39,15 @@ exports.DEFAULT_CONFIG = {
|
|
|
39
39
|
'**/*.php',
|
|
40
40
|
// Ruby
|
|
41
41
|
'**/*.rb',
|
|
42
|
+
// Swift
|
|
43
|
+
'**/*.swift',
|
|
44
|
+
// Kotlin
|
|
45
|
+
'**/*.kt',
|
|
46
|
+
'**/*.kts',
|
|
47
|
+
// Dart
|
|
48
|
+
'**/*.dart',
|
|
49
|
+
// Svelte
|
|
50
|
+
'**/*.svelte',
|
|
42
51
|
// Liquid (Shopify themes)
|
|
43
52
|
'**/*.liquid',
|
|
44
53
|
],
|
|
@@ -86,6 +95,8 @@ exports.DEFAULT_CONFIG = {
|
|
|
86
95
|
'**/__pycache__/**',
|
|
87
96
|
'**/.venv/**',
|
|
88
97
|
'**/venv/**',
|
|
98
|
+
'**/site-packages/**',
|
|
99
|
+
'**/dist-packages/**',
|
|
89
100
|
'**/.pytest_cache/**',
|
|
90
101
|
'**/.mypy_cache/**',
|
|
91
102
|
'**/.ruff_cache/**',
|
|
@@ -103,6 +114,8 @@ exports.DEFAULT_CONFIG = {
|
|
|
103
114
|
'**/.m2/**',
|
|
104
115
|
'**/generated-sources/**',
|
|
105
116
|
'**/.kotlin/**',
|
|
117
|
+
// Dart/Flutter
|
|
118
|
+
'**/.dart_tool/**',
|
|
106
119
|
// C#/.NET
|
|
107
120
|
'**/.vs/**',
|
|
108
121
|
'**/.nuget/**',
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAydH;;GAEG;AACU,QAAA,cAAc,GAAoB;IAC7C,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE;QACP,wBAAwB;QACxB,SAAS;QACT,UAAU;QACV,SAAS;QACT,UAAU;QACV,SAAS;QACT,SAAS;QACT,KAAK;QACL,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;QACP,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,UAAU;QACV,SAAS;QACT,UAAU;QACV,KAAK;QACL,SAAS;QACT,MAAM;QACN,UAAU;QACV,OAAO;QACP,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,SAAS;QACT,SAAS;QACT,UAAU;QACV,OAAO;QACP,WAAW;QACX,SAAS;QACT,aAAa;QACb,0BAA0B;QAC1B,aAAa;KACd;IACD,OAAO,EAAE;QACP,kBAAkB;QAClB,YAAY;QAEZ,eAAe;QACf,oBAAoB;QACpB,cAAc;QACd,YAAY;QAEZ,wBAAwB;QACxB,YAAY;QACZ,aAAa;QACb,WAAW;QACX,WAAW;QACX,WAAW;QACX,cAAc;QAEd,wBAAwB;QACxB,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,cAAc;QACd,cAAc;QACd,qBAAqB;QACrB,aAAa;QACb,cAAc;QACd,mBAAmB;QACnB,eAAe;QACf,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QACnB,mBAAmB;QACnB,wBAAwB;QAExB,sBAAsB;QACtB,aAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,qBAAqB;QACrB,uBAAuB;QAEvB,SAAS;QACT,mBAAmB;QACnB,aAAa;QACb,YAAY;QACZ,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,mBAAmB;QACnB,mBAAmB;QACnB,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,aAAa;QAEb,KAAK;QACL,kBAAkB;QAElB,OAAO;QACP,oBAAoB;QACpB,sBAAsB;QAEtB,qBAAqB;QACrB,eAAe;QACf,WAAW;QACX,yBAAyB;QACzB,eAAe;QAEf,eAAe;QACf,kBAAkB;QAElB,UAAU;QACV,WAAW;QACX,cAAc;QACd,iBAAiB;QACjB,eAAe;QAEf,QAAQ;QACR,qBAAqB;QACrB,kBAAkB;QAClB,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,aAAa;QACb,eAAe;QACf,WAAW;QAEX,WAAW;QACX,eAAe;QACf,aAAa;QACb,WAAW;QAEX,kBAAkB;QAClB,mBAAmB;QACnB,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,sBAAsB;QACtB,sBAAsB;QAEtB,MAAM;QACN,iBAAiB;QACjB,yBAAyB;QACzB,uBAAuB;QAEvB,OAAO;QACP,eAAe;QACf,iBAAiB;QACjB,qBAAqB;QACrB,oBAAoB;QACpB,eAAe;QAEf,mBAAmB;QACnB,gBAAgB;QAChB,eAAe;QACf,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QAEjB,aAAa;QACb,aAAa;QAEb,gBAAgB;QAChB,YAAY;QACZ,WAAW;QACX,YAAY;QAEZ,6BAA6B;QAC7B,cAAc;QACd,mBAAmB;QACnB,YAAY;KACb;IACD,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;IAChC,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CodeGraph Utilities
|
|
3
3
|
*
|
|
4
|
-
* Common utility functions for memory management, concurrency,
|
|
4
|
+
* Common utility functions for memory management, concurrency, batching,
|
|
5
|
+
* and security validation.
|
|
5
6
|
*
|
|
6
7
|
* @module utils
|
|
7
8
|
*
|
|
8
9
|
* @example
|
|
9
10
|
* ```typescript
|
|
10
|
-
* import { Mutex, processInBatches, MemoryMonitor } from 'codegraph';
|
|
11
|
+
* import { Mutex, processInBatches, MemoryMonitor, validatePathWithinRoot } from 'codegraph';
|
|
11
12
|
*
|
|
12
13
|
* // Use mutex for concurrent safety
|
|
13
14
|
* const mutex = new Mutex();
|
|
@@ -27,6 +28,92 @@
|
|
|
27
28
|
* monitor.start();
|
|
28
29
|
* ```
|
|
29
30
|
*/
|
|
31
|
+
/**
|
|
32
|
+
* Validate that a resolved file path stays within the project root.
|
|
33
|
+
* Prevents path traversal attacks (e.g. node.filePath = "../../etc/passwd").
|
|
34
|
+
*
|
|
35
|
+
* @param projectRoot - The project root directory
|
|
36
|
+
* @param filePath - The relative file path to validate
|
|
37
|
+
* @returns The resolved absolute path, or null if it escapes the root
|
|
38
|
+
*/
|
|
39
|
+
export declare function validatePathWithinRoot(projectRoot: string, filePath: string): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* Validate that a path is a safe project root directory.
|
|
42
|
+
*
|
|
43
|
+
* Rejects sensitive system directories and ensures the path is
|
|
44
|
+
* a real, existing directory. Used at MCP and API entry points
|
|
45
|
+
* to prevent arbitrary directory access.
|
|
46
|
+
*
|
|
47
|
+
* @param dirPath - The path to validate
|
|
48
|
+
* @returns An error message if invalid, or null if valid
|
|
49
|
+
*/
|
|
50
|
+
export declare function validateProjectPath(dirPath: string): string | null;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a file path resolves to a location within the given root directory.
|
|
53
|
+
*
|
|
54
|
+
* Prevents path traversal attacks by ensuring the resolved absolute path
|
|
55
|
+
* starts with the resolved root path. Handles '..' sequences, symlink-like
|
|
56
|
+
* relative paths, and platform-specific separators.
|
|
57
|
+
*
|
|
58
|
+
* @param filePath - The path to check (can be relative or absolute)
|
|
59
|
+
* @param rootDir - The root directory that filePath must stay within
|
|
60
|
+
* @returns true if filePath resolves to a location within rootDir
|
|
61
|
+
*/
|
|
62
|
+
export declare function isPathWithinRoot(filePath: string, rootDir: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Like isPathWithinRoot but also resolves symlinks via fs.realpathSync.
|
|
65
|
+
*
|
|
66
|
+
* This catches symlink escapes where the logical path appears to be within
|
|
67
|
+
* root but the real path on disk points elsewhere. Falls back to logical
|
|
68
|
+
* path checking if realpath resolution fails (e.g. broken symlink).
|
|
69
|
+
*/
|
|
70
|
+
export declare function isPathWithinRootReal(filePath: string, rootDir: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Safely parse JSON with a fallback value.
|
|
73
|
+
* Prevents crashes from corrupted database metadata.
|
|
74
|
+
*/
|
|
75
|
+
export declare function safeJsonParse<T>(value: string, fallback: T): T;
|
|
76
|
+
/**
|
|
77
|
+
* Clamp a numeric value to a range.
|
|
78
|
+
* Used to enforce sane limits on MCP tool inputs.
|
|
79
|
+
*/
|
|
80
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
81
|
+
/**
|
|
82
|
+
* Normalize a file path to use forward slashes.
|
|
83
|
+
* Fixes Windows backslash paths so glob matching works consistently.
|
|
84
|
+
*/
|
|
85
|
+
export declare function normalizePath(filePath: string): string;
|
|
86
|
+
/**
|
|
87
|
+
* Cross-process file lock using a lock file with PID tracking.
|
|
88
|
+
*
|
|
89
|
+
* Prevents multiple processes (e.g., git hooks, CLI, MCP server) from
|
|
90
|
+
* writing to the same database simultaneously.
|
|
91
|
+
*/
|
|
92
|
+
export declare class FileLock {
|
|
93
|
+
private lockPath;
|
|
94
|
+
private held;
|
|
95
|
+
constructor(lockPath: string);
|
|
96
|
+
/**
|
|
97
|
+
* Acquire the lock. Throws if the lock is held by another live process.
|
|
98
|
+
*/
|
|
99
|
+
acquire(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Release the lock
|
|
102
|
+
*/
|
|
103
|
+
release(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Execute a function while holding the lock
|
|
106
|
+
*/
|
|
107
|
+
withLock<T>(fn: () => T): T;
|
|
108
|
+
/**
|
|
109
|
+
* Execute an async function while holding the lock
|
|
110
|
+
*/
|
|
111
|
+
withLockAsync<T>(fn: () => Promise<T>): Promise<T>;
|
|
112
|
+
/**
|
|
113
|
+
* Check if a process is still running
|
|
114
|
+
*/
|
|
115
|
+
private isProcessAlive;
|
|
116
|
+
}
|
|
30
117
|
/**
|
|
31
118
|
* Process items in batches to manage memory
|
|
32
119
|
*
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* CodeGraph Utilities
|
|
4
4
|
*
|
|
5
|
-
* Common utility functions for memory management, concurrency,
|
|
5
|
+
* Common utility functions for memory management, concurrency, batching,
|
|
6
|
+
* and security validation.
|
|
6
7
|
*
|
|
7
8
|
* @module utils
|
|
8
9
|
*
|
|
9
10
|
* @example
|
|
10
11
|
* ```typescript
|
|
11
|
-
* import { Mutex, processInBatches, MemoryMonitor } from 'codegraph';
|
|
12
|
+
* import { Mutex, processInBatches, MemoryMonitor, validatePathWithinRoot } from 'codegraph';
|
|
12
13
|
*
|
|
13
14
|
* // Use mutex for concurrent safety
|
|
14
15
|
* const mutex = new Mutex();
|
|
@@ -62,12 +63,260 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
62
63
|
};
|
|
63
64
|
})();
|
|
64
65
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.MemoryMonitor = exports.Mutex = void 0;
|
|
66
|
+
exports.MemoryMonitor = exports.Mutex = exports.FileLock = void 0;
|
|
67
|
+
exports.validatePathWithinRoot = validatePathWithinRoot;
|
|
68
|
+
exports.validateProjectPath = validateProjectPath;
|
|
69
|
+
exports.isPathWithinRoot = isPathWithinRoot;
|
|
70
|
+
exports.isPathWithinRootReal = isPathWithinRootReal;
|
|
71
|
+
exports.safeJsonParse = safeJsonParse;
|
|
72
|
+
exports.clamp = clamp;
|
|
73
|
+
exports.normalizePath = normalizePath;
|
|
66
74
|
exports.processInBatches = processInBatches;
|
|
67
75
|
exports.readFileInChunks = readFileInChunks;
|
|
68
76
|
exports.debounce = debounce;
|
|
69
77
|
exports.throttle = throttle;
|
|
70
78
|
exports.estimateSize = estimateSize;
|
|
79
|
+
const fs = __importStar(require("fs"));
|
|
80
|
+
const path = __importStar(require("path"));
|
|
81
|
+
// ============================================================
|
|
82
|
+
// SECURITY UTILITIES
|
|
83
|
+
// ============================================================
|
|
84
|
+
/**
|
|
85
|
+
* Sensitive system directories that should never be used as project roots.
|
|
86
|
+
* Checked on all platforms; non-applicable paths are harmlessly skipped.
|
|
87
|
+
*/
|
|
88
|
+
const SENSITIVE_PATHS = new Set([
|
|
89
|
+
'/', '/etc', '/usr', '/bin', '/sbin', '/var', '/tmp', '/dev', '/proc', '/sys',
|
|
90
|
+
'/root', '/boot', '/lib', '/lib64', '/opt',
|
|
91
|
+
'C:\\', 'C:\\Windows', 'C:\\Windows\\System32',
|
|
92
|
+
]);
|
|
93
|
+
/**
|
|
94
|
+
* Validate that a resolved file path stays within the project root.
|
|
95
|
+
* Prevents path traversal attacks (e.g. node.filePath = "../../etc/passwd").
|
|
96
|
+
*
|
|
97
|
+
* @param projectRoot - The project root directory
|
|
98
|
+
* @param filePath - The relative file path to validate
|
|
99
|
+
* @returns The resolved absolute path, or null if it escapes the root
|
|
100
|
+
*/
|
|
101
|
+
function validatePathWithinRoot(projectRoot, filePath) {
|
|
102
|
+
const resolved = path.resolve(projectRoot, filePath);
|
|
103
|
+
const normalizedRoot = path.resolve(projectRoot);
|
|
104
|
+
if (!resolved.startsWith(normalizedRoot + path.sep) && resolved !== normalizedRoot) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return resolved;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Validate that a path is a safe project root directory.
|
|
111
|
+
*
|
|
112
|
+
* Rejects sensitive system directories and ensures the path is
|
|
113
|
+
* a real, existing directory. Used at MCP and API entry points
|
|
114
|
+
* to prevent arbitrary directory access.
|
|
115
|
+
*
|
|
116
|
+
* @param dirPath - The path to validate
|
|
117
|
+
* @returns An error message if invalid, or null if valid
|
|
118
|
+
*/
|
|
119
|
+
function validateProjectPath(dirPath) {
|
|
120
|
+
const resolved = path.resolve(dirPath);
|
|
121
|
+
// Block sensitive system directories
|
|
122
|
+
if (SENSITIVE_PATHS.has(resolved) || SENSITIVE_PATHS.has(resolved.toLowerCase())) {
|
|
123
|
+
return `Refusing to operate on sensitive system directory: ${resolved}`;
|
|
124
|
+
}
|
|
125
|
+
// Also block common sensitive home subdirectories
|
|
126
|
+
const homeDir = require('os').homedir();
|
|
127
|
+
const sensitiveHomeDirs = ['.ssh', '.gnupg', '.aws', '.config'];
|
|
128
|
+
for (const dir of sensitiveHomeDirs) {
|
|
129
|
+
const sensitivePath = path.join(homeDir, dir);
|
|
130
|
+
if (resolved === sensitivePath || resolved.startsWith(sensitivePath + path.sep)) {
|
|
131
|
+
return `Refusing to operate on sensitive directory: ${resolved}`;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
// Verify it's a real directory
|
|
135
|
+
try {
|
|
136
|
+
const stats = fs.statSync(resolved);
|
|
137
|
+
if (!stats.isDirectory()) {
|
|
138
|
+
return `Path is not a directory: ${resolved}`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return `Path does not exist or is not accessible: ${resolved}`;
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Check if a file path resolves to a location within the given root directory.
|
|
148
|
+
*
|
|
149
|
+
* Prevents path traversal attacks by ensuring the resolved absolute path
|
|
150
|
+
* starts with the resolved root path. Handles '..' sequences, symlink-like
|
|
151
|
+
* relative paths, and platform-specific separators.
|
|
152
|
+
*
|
|
153
|
+
* @param filePath - The path to check (can be relative or absolute)
|
|
154
|
+
* @param rootDir - The root directory that filePath must stay within
|
|
155
|
+
* @returns true if filePath resolves to a location within rootDir
|
|
156
|
+
*/
|
|
157
|
+
function isPathWithinRoot(filePath, rootDir) {
|
|
158
|
+
const resolvedPath = path.resolve(rootDir, filePath);
|
|
159
|
+
const resolvedRoot = path.resolve(rootDir);
|
|
160
|
+
return resolvedPath.startsWith(resolvedRoot + path.sep) || resolvedPath === resolvedRoot;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Like isPathWithinRoot but also resolves symlinks via fs.realpathSync.
|
|
164
|
+
*
|
|
165
|
+
* This catches symlink escapes where the logical path appears to be within
|
|
166
|
+
* root but the real path on disk points elsewhere. Falls back to logical
|
|
167
|
+
* path checking if realpath resolution fails (e.g. broken symlink).
|
|
168
|
+
*/
|
|
169
|
+
function isPathWithinRootReal(filePath, rootDir) {
|
|
170
|
+
// First do the cheap logical check
|
|
171
|
+
if (!isPathWithinRoot(filePath, rootDir)) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
// Then verify with realpath to catch symlink escapes
|
|
175
|
+
try {
|
|
176
|
+
const realPath = fs.realpathSync(path.resolve(rootDir, filePath));
|
|
177
|
+
const realRoot = fs.realpathSync(rootDir);
|
|
178
|
+
return realPath.startsWith(realRoot + path.sep) || realPath === realRoot;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
// If realpath fails (broken symlink, permissions), fall back to logical check
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Safely parse JSON with a fallback value.
|
|
187
|
+
* Prevents crashes from corrupted database metadata.
|
|
188
|
+
*/
|
|
189
|
+
function safeJsonParse(value, fallback) {
|
|
190
|
+
try {
|
|
191
|
+
return JSON.parse(value);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return fallback;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Clamp a numeric value to a range.
|
|
199
|
+
* Used to enforce sane limits on MCP tool inputs.
|
|
200
|
+
*/
|
|
201
|
+
function clamp(value, min, max) {
|
|
202
|
+
return Math.max(min, Math.min(max, value));
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Normalize a file path to use forward slashes.
|
|
206
|
+
* Fixes Windows backslash paths so glob matching works consistently.
|
|
207
|
+
*/
|
|
208
|
+
function normalizePath(filePath) {
|
|
209
|
+
return filePath.replace(/\\/g, '/');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Cross-process file lock using a lock file with PID tracking.
|
|
213
|
+
*
|
|
214
|
+
* Prevents multiple processes (e.g., git hooks, CLI, MCP server) from
|
|
215
|
+
* writing to the same database simultaneously.
|
|
216
|
+
*/
|
|
217
|
+
class FileLock {
|
|
218
|
+
lockPath;
|
|
219
|
+
held = false;
|
|
220
|
+
constructor(lockPath) {
|
|
221
|
+
this.lockPath = lockPath;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Acquire the lock. Throws if the lock is held by another live process.
|
|
225
|
+
*/
|
|
226
|
+
acquire() {
|
|
227
|
+
// Check for existing lock
|
|
228
|
+
if (fs.existsSync(this.lockPath)) {
|
|
229
|
+
try {
|
|
230
|
+
const content = fs.readFileSync(this.lockPath, 'utf-8').trim();
|
|
231
|
+
const pid = parseInt(content, 10);
|
|
232
|
+
if (!isNaN(pid) && this.isProcessAlive(pid)) {
|
|
233
|
+
throw new Error(`CodeGraph database is locked by another process (PID ${pid}). ` +
|
|
234
|
+
`If this is stale, delete ${this.lockPath}`);
|
|
235
|
+
}
|
|
236
|
+
// Stale lock - remove it
|
|
237
|
+
fs.unlinkSync(this.lockPath);
|
|
238
|
+
}
|
|
239
|
+
catch (err) {
|
|
240
|
+
if (err instanceof Error && err.message.includes('locked by another')) {
|
|
241
|
+
throw err;
|
|
242
|
+
}
|
|
243
|
+
// Other errors reading lock file - try to remove it
|
|
244
|
+
try {
|
|
245
|
+
fs.unlinkSync(this.lockPath);
|
|
246
|
+
}
|
|
247
|
+
catch { /* ignore */ }
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// Write our PID to the lock file using exclusive create flag
|
|
251
|
+
try {
|
|
252
|
+
fs.writeFileSync(this.lockPath, String(process.pid), { flag: 'wx' });
|
|
253
|
+
this.held = true;
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
if (err.code === 'EEXIST') {
|
|
257
|
+
// Race condition: another process grabbed the lock between our check and write
|
|
258
|
+
throw new Error('CodeGraph database is locked by another process. ' +
|
|
259
|
+
`If this is stale, delete ${this.lockPath}`);
|
|
260
|
+
}
|
|
261
|
+
throw err;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Release the lock
|
|
266
|
+
*/
|
|
267
|
+
release() {
|
|
268
|
+
if (!this.held)
|
|
269
|
+
return;
|
|
270
|
+
try {
|
|
271
|
+
// Only remove if we still own it (check PID)
|
|
272
|
+
const content = fs.readFileSync(this.lockPath, 'utf-8').trim();
|
|
273
|
+
if (parseInt(content, 10) === process.pid) {
|
|
274
|
+
fs.unlinkSync(this.lockPath);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch {
|
|
278
|
+
// Lock file already gone - that's fine
|
|
279
|
+
}
|
|
280
|
+
this.held = false;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Execute a function while holding the lock
|
|
284
|
+
*/
|
|
285
|
+
withLock(fn) {
|
|
286
|
+
this.acquire();
|
|
287
|
+
try {
|
|
288
|
+
return fn();
|
|
289
|
+
}
|
|
290
|
+
finally {
|
|
291
|
+
this.release();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Execute an async function while holding the lock
|
|
296
|
+
*/
|
|
297
|
+
async withLockAsync(fn) {
|
|
298
|
+
this.acquire();
|
|
299
|
+
try {
|
|
300
|
+
return await fn();
|
|
301
|
+
}
|
|
302
|
+
finally {
|
|
303
|
+
this.release();
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Check if a process is still running
|
|
308
|
+
*/
|
|
309
|
+
isProcessAlive(pid) {
|
|
310
|
+
try {
|
|
311
|
+
process.kill(pid, 0);
|
|
312
|
+
return true;
|
|
313
|
+
}
|
|
314
|
+
catch {
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
exports.FileLock = FileLock;
|
|
71
320
|
/**
|
|
72
321
|
* Process items in batches to manage memory
|
|
73
322
|
*
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare const EMBEDDING_DIMENSION = 768;
|
|
|
16
16
|
export interface EmbedderOptions {
|
|
17
17
|
/** Model ID to use (default: nomic-ai/nomic-embed-text-v1.5) */
|
|
18
18
|
modelId?: string;
|
|
19
|
-
/** Directory to cache the model (default:
|
|
19
|
+
/** Directory to cache the model (default: ~/.codegraph/models) */
|
|
20
20
|
cacheDir?: string;
|
|
21
21
|
/** Whether to show progress during model download */
|
|
22
22
|
showProgress?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/vectors/embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH;;;GAGG;AACH,eAAO,MAAM,aAAa,mCAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,
|
|
1
|
+
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/vectors/embedder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH;;;GAGG;AACH,eAAO,MAAM,aAAa,mCAAmC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,SAAS,EAAE,YAAY,CAAC;IAExB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,UAAU,EAAE,YAAY,EAAE,CAAC;IAE3B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IAEd,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAU;gBAElB,OAAO,GAAE,eAAoB;IAMzC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyBnD;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyBzD;;;;;;OAMG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,GAAE,UAAU,GAAG,cAA2B,GAC7C,OAAO,CAAC,oBAAoB,CAAC;IA8ChC;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAanB;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,MAAM;IA2BV;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM;IA2BjE;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,YAAY,CAEtE"}
|
package/dist/vectors/embedder.js
CHANGED
|
@@ -44,7 +44,7 @@ exports.createEmbedder = createEmbedder;
|
|
|
44
44
|
const path = __importStar(require("path"));
|
|
45
45
|
const fs = __importStar(require("fs"));
|
|
46
46
|
const os_1 = require("os");
|
|
47
|
-
// Global model cache directory
|
|
47
|
+
// Global model cache directory - uses codegraph's models directory for shared embedding models
|
|
48
48
|
const GLOBAL_MODELS_DIR = path.join((0, os_1.homedir)(), '.codegraph', 'models');
|
|
49
49
|
// Dynamic import for @xenova/transformers (ESM-only package)
|
|
50
50
|
// We use dynamic import to support CommonJS builds
|
|
@@ -245,7 +245,7 @@ class TextEmbedder {
|
|
|
245
245
|
if (data && typeof data === 'object' && 'length' in data) {
|
|
246
246
|
// Handle TypedArray-like objects
|
|
247
247
|
const arr = data;
|
|
248
|
-
return
|
|
248
|
+
return Float32Array.from(Array.from(arr));
|
|
249
249
|
}
|
|
250
250
|
throw new Error('Unsupported data format for embedding');
|
|
251
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/vectors/embedder.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgZH,wCAEC;AAhZD,2CAA6B;AAC7B,uCAAyB;AACzB,2BAA6B;AAE7B
|
|
1
|
+
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/vectors/embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAE,MAA4B;IAK1E;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;OAEG;YACW,gBAAgB;IAkB9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBzE;;OAEG;IACH,OAAO,CAAC,UAAU;IAwClB;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC,EAC3D,KAAK,EAAE,MAAM,GACZ,IAAI;IAuBP;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAe9C;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBlC;;;;;;OAMG;IACH,MAAM,CACJ,cAAc,EAAE,YAAY,EAC5B,OAAO,GAAE,mBAAwB,GAChC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/vectors/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAGhC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAS;gBAEvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAE,MAA4B;IAK1E;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;OAEG;YACW,gBAAgB;IAkB9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBzE;;OAEG;IACH,OAAO,CAAC,UAAU;IAwClB;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC,EAC3D,KAAK,EAAE,MAAM,GACZ,IAAI;IAuBP;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAe9C;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBlC;;;;;;OAMG;IACH,MAAM,CACJ,cAAc,EAAE,YAAY,EAC5B,OAAO,GAAE,mBAAwB,GAChC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAU3C;;OAEG;IACH,OAAO,CAAC,aAAa;IA6CrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,cAAc,IAAI,MAAM;IAOxB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOlC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAO7B;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;OAIG;IACH,eAAe,IAAI,IAAI;CAwBxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,mBAAmB,CAErB"}
|