ai-mind-map 1.1.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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +554 -0
  3. package/dist/change-tracker/change-log.d.ts +160 -0
  4. package/dist/change-tracker/change-log.d.ts.map +1 -0
  5. package/dist/change-tracker/change-log.js +507 -0
  6. package/dist/change-tracker/change-log.js.map +1 -0
  7. package/dist/change-tracker/diff-engine.d.ts +149 -0
  8. package/dist/change-tracker/diff-engine.d.ts.map +1 -0
  9. package/dist/change-tracker/diff-engine.js +530 -0
  10. package/dist/change-tracker/diff-engine.js.map +1 -0
  11. package/dist/change-tracker/watcher.d.ts +137 -0
  12. package/dist/change-tracker/watcher.d.ts.map +1 -0
  13. package/dist/change-tracker/watcher.js +300 -0
  14. package/dist/change-tracker/watcher.js.map +1 -0
  15. package/dist/cli.d.ts +20 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +937 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/config.d.ts +38 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +222 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/context/compressor.d.ts +49 -0
  24. package/dist/context/compressor.d.ts.map +1 -0
  25. package/dist/context/compressor.js +769 -0
  26. package/dist/context/compressor.js.map +1 -0
  27. package/dist/context/progressive-disclosure.d.ts +71 -0
  28. package/dist/context/progressive-disclosure.d.ts.map +1 -0
  29. package/dist/context/progressive-disclosure.js +470 -0
  30. package/dist/context/progressive-disclosure.js.map +1 -0
  31. package/dist/context/token-budget.d.ts +121 -0
  32. package/dist/context/token-budget.d.ts.map +1 -0
  33. package/dist/context/token-budget.js +282 -0
  34. package/dist/context/token-budget.js.map +1 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +944 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/install.d.ts +66 -0
  40. package/dist/install.d.ts.map +1 -0
  41. package/dist/install.js +946 -0
  42. package/dist/install.js.map +1 -0
  43. package/dist/knowledge-graph/architecture.d.ts +213 -0
  44. package/dist/knowledge-graph/architecture.d.ts.map +1 -0
  45. package/dist/knowledge-graph/architecture.js +585 -0
  46. package/dist/knowledge-graph/architecture.js.map +1 -0
  47. package/dist/knowledge-graph/cypher.d.ts +113 -0
  48. package/dist/knowledge-graph/cypher.d.ts.map +1 -0
  49. package/dist/knowledge-graph/cypher.js +1051 -0
  50. package/dist/knowledge-graph/cypher.js.map +1 -0
  51. package/dist/knowledge-graph/dead-code.d.ts +121 -0
  52. package/dist/knowledge-graph/dead-code.d.ts.map +1 -0
  53. package/dist/knowledge-graph/dead-code.js +331 -0
  54. package/dist/knowledge-graph/dead-code.js.map +1 -0
  55. package/dist/knowledge-graph/flow-analyzer.d.ts +167 -0
  56. package/dist/knowledge-graph/flow-analyzer.d.ts.map +1 -0
  57. package/dist/knowledge-graph/flow-analyzer.js +739 -0
  58. package/dist/knowledge-graph/flow-analyzer.js.map +1 -0
  59. package/dist/knowledge-graph/graph.d.ts +291 -0
  60. package/dist/knowledge-graph/graph.d.ts.map +1 -0
  61. package/dist/knowledge-graph/graph.js +978 -0
  62. package/dist/knowledge-graph/graph.js.map +1 -0
  63. package/dist/knowledge-graph/index.d.ts +17 -0
  64. package/dist/knowledge-graph/index.d.ts.map +1 -0
  65. package/dist/knowledge-graph/index.js +14 -0
  66. package/dist/knowledge-graph/index.js.map +1 -0
  67. package/dist/knowledge-graph/indexer.d.ts +112 -0
  68. package/dist/knowledge-graph/indexer.d.ts.map +1 -0
  69. package/dist/knowledge-graph/indexer.js +506 -0
  70. package/dist/knowledge-graph/indexer.js.map +1 -0
  71. package/dist/knowledge-graph/pagerank.d.ts +141 -0
  72. package/dist/knowledge-graph/pagerank.d.ts.map +1 -0
  73. package/dist/knowledge-graph/pagerank.js +493 -0
  74. package/dist/knowledge-graph/pagerank.js.map +1 -0
  75. package/dist/knowledge-graph/parser.d.ts +55 -0
  76. package/dist/knowledge-graph/parser.d.ts.map +1 -0
  77. package/dist/knowledge-graph/parser.js +1090 -0
  78. package/dist/knowledge-graph/parser.js.map +1 -0
  79. package/dist/knowledge-graph/snapshot.d.ts +107 -0
  80. package/dist/knowledge-graph/snapshot.d.ts.map +1 -0
  81. package/dist/knowledge-graph/snapshot.js +435 -0
  82. package/dist/knowledge-graph/snapshot.js.map +1 -0
  83. package/dist/memory/decision-log.d.ts +151 -0
  84. package/dist/memory/decision-log.d.ts.map +1 -0
  85. package/dist/memory/decision-log.js +482 -0
  86. package/dist/memory/decision-log.js.map +1 -0
  87. package/dist/memory/persistent-memory.d.ts +182 -0
  88. package/dist/memory/persistent-memory.d.ts.map +1 -0
  89. package/dist/memory/persistent-memory.js +579 -0
  90. package/dist/memory/persistent-memory.js.map +1 -0
  91. package/dist/memory/session-memory.d.ts +165 -0
  92. package/dist/memory/session-memory.d.ts.map +1 -0
  93. package/dist/memory/session-memory.js +382 -0
  94. package/dist/memory/session-memory.js.map +1 -0
  95. package/dist/stress-test.d.ts +10 -0
  96. package/dist/stress-test.d.ts.map +1 -0
  97. package/dist/stress-test.js +258 -0
  98. package/dist/stress-test.js.map +1 -0
  99. package/dist/tools/advanced-tools.d.ts +32 -0
  100. package/dist/tools/advanced-tools.d.ts.map +1 -0
  101. package/dist/tools/advanced-tools.js +480 -0
  102. package/dist/tools/advanced-tools.js.map +1 -0
  103. package/dist/tools/change-tools.d.ts +76 -0
  104. package/dist/tools/change-tools.d.ts.map +1 -0
  105. package/dist/tools/change-tools.js +93 -0
  106. package/dist/tools/change-tools.js.map +1 -0
  107. package/dist/tools/context-tools.d.ts +68 -0
  108. package/dist/tools/context-tools.d.ts.map +1 -0
  109. package/dist/tools/context-tools.js +141 -0
  110. package/dist/tools/context-tools.js.map +1 -0
  111. package/dist/tools/debug-tools.d.ts +25 -0
  112. package/dist/tools/debug-tools.d.ts.map +1 -0
  113. package/dist/tools/debug-tools.js +286 -0
  114. package/dist/tools/debug-tools.js.map +1 -0
  115. package/dist/tools/evolving-tools.d.ts +23 -0
  116. package/dist/tools/evolving-tools.d.ts.map +1 -0
  117. package/dist/tools/evolving-tools.js +207 -0
  118. package/dist/tools/evolving-tools.js.map +1 -0
  119. package/dist/tools/flow-tools.d.ts +24 -0
  120. package/dist/tools/flow-tools.d.ts.map +1 -0
  121. package/dist/tools/flow-tools.js +265 -0
  122. package/dist/tools/flow-tools.js.map +1 -0
  123. package/dist/tools/graph-tools.d.ts +71 -0
  124. package/dist/tools/graph-tools.d.ts.map +1 -0
  125. package/dist/tools/graph-tools.js +165 -0
  126. package/dist/tools/graph-tools.js.map +1 -0
  127. package/dist/tools/memory-tools.d.ts +62 -0
  128. package/dist/tools/memory-tools.d.ts.map +1 -0
  129. package/dist/tools/memory-tools.js +195 -0
  130. package/dist/tools/memory-tools.js.map +1 -0
  131. package/dist/tools/smart-tools.d.ts +23 -0
  132. package/dist/tools/smart-tools.d.ts.map +1 -0
  133. package/dist/tools/smart-tools.js +482 -0
  134. package/dist/tools/smart-tools.js.map +1 -0
  135. package/dist/tools/snapshot-tools.d.ts +19 -0
  136. package/dist/tools/snapshot-tools.d.ts.map +1 -0
  137. package/dist/tools/snapshot-tools.js +149 -0
  138. package/dist/tools/snapshot-tools.js.map +1 -0
  139. package/dist/types.d.ts +181 -0
  140. package/dist/types.d.ts.map +1 -0
  141. package/dist/types.js +45 -0
  142. package/dist/types.js.map +1 -0
  143. package/dist/utils/logger.d.ts +59 -0
  144. package/dist/utils/logger.d.ts.map +1 -0
  145. package/dist/utils/logger.js +142 -0
  146. package/dist/utils/logger.js.map +1 -0
  147. package/dist/utils/token-counter.d.ts +51 -0
  148. package/dist/utils/token-counter.d.ts.map +1 -0
  149. package/dist/utils/token-counter.js +181 -0
  150. package/dist/utils/token-counter.js.map +1 -0
  151. package/install.ps1 +321 -0
  152. package/install.sh +345 -0
  153. package/package.json +94 -0
  154. package/setup.bat +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-analyzer.js","sourceRoot":"","sources":["../../src/knowledge-graph/flow-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * AI Mind Map — SQLite-backed Knowledge Graph with FTS5
3
+ *
4
+ * Stores and queries the structural knowledge graph of a codebase.
5
+ * Provides CRUD operations, graph traversal, dependency chain tracing,
6
+ * full-text search, and statistics.
7
+ *
8
+ * Inspired by codebase-memory-mcp's Cypher-like queries.
9
+ */
10
+ import Database from 'better-sqlite3';
11
+ import type { GraphNode, GraphEdge, NodeType, EdgeType } from '../types.js';
12
+ /**
13
+ * SQLite-backed knowledge graph with FTS5 full-text search.
14
+ *
15
+ * All write operations use transactions for atomicity.
16
+ * Supports graph traversal, dependency analysis, and full-text search.
17
+ */
18
+ export declare class KnowledgeGraph {
19
+ private db;
20
+ /**
21
+ * Create or open a knowledge graph database.
22
+ *
23
+ * @param dbPath - Path to the SQLite database file (or ':memory:' for in-memory)
24
+ */
25
+ constructor(dbPath: string);
26
+ /** Initialize or migrate the database schema */
27
+ private initializeSchema;
28
+ /** Get a metadata value by key */
29
+ private getMeta;
30
+ /** Set a metadata key-value pair */
31
+ private setMeta;
32
+ /** Serialize parameters array to JSON */
33
+ private serializeParams;
34
+ /** Deserialize parameters JSON string to array */
35
+ private deserializeParams;
36
+ /** Convert a database row to a GraphNode */
37
+ private rowToNode;
38
+ /**
39
+ * Insert or update a single node.
40
+ */
41
+ upsertNode(node: GraphNode): void;
42
+ /**
43
+ * Bulk insert/update nodes within a transaction.
44
+ */
45
+ upsertNodes(nodes: GraphNode[]): void;
46
+ /**
47
+ * Get a node by its ID.
48
+ */
49
+ getNode(id: string): GraphNode | null;
50
+ /**
51
+ * Get nodes by name (may return multiple matches across files).
52
+ */
53
+ getNodesByName(name: string): GraphNode[];
54
+ /**
55
+ * Get all nodes of a specific type.
56
+ */
57
+ getNodesByType(type: NodeType): GraphNode[];
58
+ /**
59
+ * Delete a node and all its edges.
60
+ */
61
+ deleteNode(id: string): void;
62
+ /**
63
+ * Delete all nodes and edges for a specific file.
64
+ */
65
+ deleteFileNodes(filePath: string): number;
66
+ /**
67
+ * Insert or update a single edge.
68
+ */
69
+ upsertEdge(edge: GraphEdge): void;
70
+ /**
71
+ * Bulk insert/update edges within a transaction.
72
+ */
73
+ upsertEdges(edges: GraphEdge[]): void;
74
+ /**
75
+ * Get all edges originating from a node.
76
+ */
77
+ getOutEdges(nodeId: string): GraphEdge[];
78
+ /**
79
+ * Get all edges pointing to a node.
80
+ */
81
+ getInEdges(nodeId: string): GraphEdge[];
82
+ /**
83
+ * Get edges of a specific type originating from a node.
84
+ */
85
+ getOutEdgesByType(nodeId: string, type: EdgeType): GraphEdge[];
86
+ /**
87
+ * Get edges of a specific type pointing to a node.
88
+ */
89
+ getInEdgesByType(nodeId: string, type: EdgeType): GraphEdge[];
90
+ /**
91
+ * Delete all edges for a specific file's nodes.
92
+ */
93
+ deleteFileEdges(filePath: string): void;
94
+ /**
95
+ * Find all nodes that call a given node (callers / "who calls this?").
96
+ */
97
+ findCallers(nodeId: string): GraphNode[];
98
+ /**
99
+ * Find all nodes that a given node calls (callees / "what does this call?").
100
+ */
101
+ findCallees(nodeId: string): GraphNode[];
102
+ /**
103
+ * Find ancestors (parent classes, implemented interfaces) — traverse upward.
104
+ *
105
+ * @param nodeId - Starting node ID
106
+ * @param maxDepth - Maximum traversal depth (default 10)
107
+ */
108
+ findAncestors(nodeId: string, maxDepth?: number): GraphNode[];
109
+ /**
110
+ * Find descendants (child classes, implementors, contained members) — traverse downward.
111
+ *
112
+ * @param nodeId - Starting node ID
113
+ * @param maxDepth - Maximum traversal depth (default 10)
114
+ */
115
+ findDescendants(nodeId: string, maxDepth?: number): GraphNode[];
116
+ /**
117
+ * Blast radius analysis: find all nodes transitively affected if a node changes.
118
+ *
119
+ * Traces through calls, imports, inherits, implements, and uses edges.
120
+ *
121
+ * @param nodeId - The changed node
122
+ * @param maxDepth - Maximum traversal depth (default 5)
123
+ * @returns All nodes that depend on the changed node
124
+ */
125
+ blastRadius(nodeId: string, maxDepth?: number): GraphNode[];
126
+ /**
127
+ * Full-text search across node names, signatures, and doc comments.
128
+ *
129
+ * Uses FTS5 with porter stemming and unicode support, combined with
130
+ * LIKE search for exact substring matching. CamelCase/PascalCase queries
131
+ * are split into individual words for FTS5 matching.
132
+ *
133
+ * @param query - Search query
134
+ * @param limit - Maximum results (default 20)
135
+ * @returns Matching nodes sorted by relevance
136
+ */
137
+ search(query: string, limit?: number): GraphNode[];
138
+ /** Split camelCase/PascalCase into words and build an FTS5 AND query */
139
+ private sanitizeFtsQuery;
140
+ /** Fallback LIKE-based search */
141
+ private searchLike;
142
+ /**
143
+ * Get the structural overview of a single file (all nodes in that file).
144
+ */
145
+ getFileStructure(filePath: string): GraphNode[];
146
+ /**
147
+ * Get the content hash for a file node (used for change detection).
148
+ */
149
+ getFileHash(filePath: string): string | null;
150
+ /**
151
+ * Get all indexed file paths.
152
+ */
153
+ getIndexedFiles(): string[];
154
+ /**
155
+ * Get the project overview: all files with their symbols.
156
+ *
157
+ * Returns a compact representation of the entire project structure,
158
+ * suitable for a repo map / table of contents.
159
+ *
160
+ * Includes nested members (class methods, interface members) — not
161
+ * just top-level symbols — so the AI actually knows what each class does.
162
+ *
163
+ * Uses a single SQL query instead of one-per-file (N+1 → 1).
164
+ */
165
+ getProjectOverview(): Map<string, GraphNode[]>;
166
+ /**
167
+ * Get a compact string representation of a file's structure.
168
+ * Shows only signatures, not full code — key for token reduction.
169
+ */
170
+ getFileSignatures(filePath: string): string;
171
+ /**
172
+ * Get graph statistics.
173
+ */
174
+ getStats(): {
175
+ totalNodes: number;
176
+ totalEdges: number;
177
+ totalFiles: number;
178
+ nodesByType: Record<string, number>;
179
+ edgesByType: Record<string, number>;
180
+ languageBreakdown: Record<string, number>;
181
+ };
182
+ /**
183
+ * Replace all nodes and edges for a file atomically.
184
+ *
185
+ * Deletes existing nodes/edges for the file, then inserts new ones.
186
+ * This is the primary method used by the indexer during re-parsing.
187
+ */
188
+ replaceFileData(filePath: string, nodes: GraphNode[], edges: GraphEdge[]): void;
189
+ /**
190
+ * Get all node IDs in the graph (used for PageRank).
191
+ */
192
+ getAllNodeIds(): string[];
193
+ /**
194
+ * Get all edges in the graph (used for PageRank adjacency matrix).
195
+ */
196
+ getAllEdges(): GraphEdge[];
197
+ /**
198
+ * Get nodes by a list of IDs (used by PageRank to return ranked results).
199
+ */
200
+ getNodesByIds(ids: string[]): GraphNode[];
201
+ /**
202
+ * Clear all data from the graph.
203
+ */
204
+ clear(): void;
205
+ /** Rule type for the learned_rules table */
206
+ static readonly RULE_TYPES: readonly ["classification", "search_alias", "code_pattern", "convention"];
207
+ /**
208
+ * Teach the system a new rule. The rule persists in SQLite and is
209
+ * loaded automatically on future sessions.
210
+ */
211
+ addLearnedRule(rule: {
212
+ type: 'classification' | 'search_alias' | 'code_pattern' | 'convention';
213
+ name: string;
214
+ description: string;
215
+ rule: Record<string, unknown>;
216
+ createdBy?: 'ai' | 'user';
217
+ }): {
218
+ id: string;
219
+ created: boolean;
220
+ };
221
+ /**
222
+ * Get all learned rules, optionally filtered by type.
223
+ */
224
+ getLearnedRules(type?: string): Array<{
225
+ id: string;
226
+ type: string;
227
+ name: string;
228
+ description: string;
229
+ rule: Record<string, unknown>;
230
+ createdAt: number;
231
+ updatedAt: number;
232
+ usedCount: number;
233
+ lastUsedAt: number | null;
234
+ createdBy: string;
235
+ }>;
236
+ /**
237
+ * Increment usage counter for a learned rule (called when the rule is actually applied).
238
+ */
239
+ touchLearnedRule(id: string): void;
240
+ /**
241
+ * Delete a learned rule by ID or name.
242
+ */
243
+ deleteLearnedRule(idOrName: string): boolean;
244
+ /**
245
+ * Get classification rules learned by the AI.
246
+ * Returns them in a format ready to merge with CLASSIFICATION_SIGNALS.
247
+ */
248
+ getLearnedClassificationRules(): Array<{
249
+ layer: string;
250
+ source: string;
251
+ patterns: string[];
252
+ weight: number;
253
+ name: string;
254
+ id: string;
255
+ }>;
256
+ /**
257
+ * Get search aliases learned by the AI.
258
+ * When user searches for X, also search for Y, Z.
259
+ */
260
+ getLearnedSearchAliases(): Array<{
261
+ term: string;
262
+ aliases: string[];
263
+ id: string;
264
+ }>;
265
+ /**
266
+ * Close the database connection.
267
+ */
268
+ close(): void;
269
+ /** Check database health — verifies tables exist and are queryable */
270
+ isHealthy(): {
271
+ healthy: boolean;
272
+ error?: string;
273
+ stats?: {
274
+ nodes: number;
275
+ edges: number;
276
+ files: number;
277
+ };
278
+ };
279
+ /**
280
+ * Check if the database is open.
281
+ */
282
+ get isOpen(): boolean;
283
+ /**
284
+ * Expose the underlying better-sqlite3 Database instance.
285
+ *
286
+ * Used by advanced query components (CypherEngine, DeadCodeDetector)
287
+ * that need to run raw SQL against the same database.
288
+ */
289
+ getDb(): Database.Database;
290
+ }
291
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/graph.ts"],"names":[],"mappings":"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"}