@kiyeonjeon21/datacontext 0.3.2 → 0.4.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 (52) hide show
  1. package/dist/adapters/sqlite.d.ts.map +1 -1
  2. package/dist/adapters/sqlite.js +13 -0
  3. package/dist/adapters/sqlite.js.map +1 -1
  4. package/dist/api/server.d.ts.map +1 -1
  5. package/dist/api/server.js +115 -0
  6. package/dist/api/server.js.map +1 -1
  7. package/dist/cli/index.js +58 -14
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/core/context-service.d.ts +63 -0
  10. package/dist/core/context-service.d.ts.map +1 -1
  11. package/dist/core/context-service.js +66 -0
  12. package/dist/core/context-service.js.map +1 -1
  13. package/dist/core/harvester.d.ts +57 -5
  14. package/dist/core/harvester.d.ts.map +1 -1
  15. package/dist/core/harvester.js +86 -6
  16. package/dist/core/harvester.js.map +1 -1
  17. package/dist/core/types.d.ts +21 -5
  18. package/dist/core/types.d.ts.map +1 -1
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +9 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/knowledge/store.d.ts +186 -3
  24. package/dist/knowledge/store.d.ts.map +1 -1
  25. package/dist/knowledge/store.js +389 -5
  26. package/dist/knowledge/store.js.map +1 -1
  27. package/dist/knowledge/types.d.ts +252 -4
  28. package/dist/knowledge/types.d.ts.map +1 -1
  29. package/dist/knowledge/types.js +138 -1
  30. package/dist/knowledge/types.js.map +1 -1
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +231 -3
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/docs/KNOWLEDGE_GRAPH.md +540 -0
  35. package/docs/KNOWLEDGE_TYPES.md +261 -0
  36. package/docs/MULTI_DB_ARCHITECTURE.md +319 -0
  37. package/package.json +1 -1
  38. package/scripts/create-sqlite-testdb.sh +75 -0
  39. package/scripts/test-databases.sh +324 -0
  40. package/sqlite:./test-sqlite.db +0 -0
  41. package/src/adapters/sqlite.ts +16 -0
  42. package/src/api/server.ts +134 -0
  43. package/src/cli/index.ts +57 -16
  44. package/src/core/context-service.ts +70 -0
  45. package/src/core/harvester.ts +120 -8
  46. package/src/core/types.ts +21 -5
  47. package/src/index.ts +19 -1
  48. package/src/knowledge/store.ts +480 -6
  49. package/src/knowledge/types.ts +321 -4
  50. package/src/mcp/tools.ts +273 -3
  51. package/test-sqlite.db +0 -0
  52. package/tests/knowledge-store.test.ts +130 -0
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-service.d.ts","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
@@ -504,6 +504,72 @@ class DataContextService {
504
504
  return this.harvester.getSummary(schema);
505
505
  }
506
506
  // ============================================================
507
+ // Knowledge Graph
508
+ // ============================================================
509
+ /**
510
+ * Get all relationships from the Knowledge Graph.
511
+ *
512
+ * Returns table relationships (foreign keys, joins) that have been
513
+ * discovered through harvesting or manually defined.
514
+ *
515
+ * @returns Array of table relationships
516
+ *
517
+ * @example
518
+ * ```typescript
519
+ * const relationships = service.getRelationships();
520
+ * for (const rel of relationships) {
521
+ * console.log(`${rel.from.table} → ${rel.to.table}: ${rel.joinCondition}`);
522
+ * }
523
+ * ```
524
+ */
525
+ getRelationships() {
526
+ return this.knowledge.getRelationships();
527
+ }
528
+ /**
529
+ * Find the optimal join path between two tables.
530
+ *
531
+ * Uses BFS traversal of the Knowledge Graph to find the shortest
532
+ * path between tables. Useful for generating JOIN conditions.
533
+ *
534
+ * @param fromTable - Source table name
535
+ * @param toTable - Destination table name
536
+ * @param schema - Schema name (defaults to 'public')
537
+ * @returns Array of relationships forming the path, empty if no path exists
538
+ *
539
+ * @example
540
+ * ```typescript
541
+ * // Find path from order_items to users
542
+ * const path = service.findJoinPath('order_items', 'users', 'public');
543
+ * // Returns: [
544
+ * // { from: order_items, to: orders, join: order_items.order_id = orders.id },
545
+ * // { from: orders, to: users, join: orders.user_id = users.id }
546
+ * // ]
547
+ *
548
+ * // Generate SQL
549
+ * const joins = path.map(r => `JOIN ${r.to.table} ON ${r.joinCondition}`).join('\n');
550
+ * ```
551
+ */
552
+ findJoinPath(fromTable, toTable, schema = 'public') {
553
+ return this.knowledge.findJoinPath(fromTable, toTable, schema);
554
+ }
555
+ /**
556
+ * Get Knowledge Graph summary statistics.
557
+ *
558
+ * Returns information about the graph structure including
559
+ * node counts, edge counts, and connectivity.
560
+ *
561
+ * @returns Graph summary object
562
+ *
563
+ * @example
564
+ * ```typescript
565
+ * const summary = service.getGraphSummary();
566
+ * console.log(`Nodes: ${summary.nodeCount}, Edges: ${summary.edgeCount}`);
567
+ * ```
568
+ */
569
+ getGraphSummary() {
570
+ return this.knowledge.getGraphSummary();
571
+ }
572
+ // ============================================================
507
573
  // Feedback & Learning
508
574
  // ============================================================
509
575
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-service.js","sourceRoot":"","sources":["../../src/core/context-service.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,52 @@
1
1
  /**
2
2
  * Auto-Harvester
3
- * Automatically collects metadata from database (COMMENT, indexes, etc.)
3
+ *
4
+ * Automatically collects metadata from database and syncs to Knowledge Store.
4
5
  * Platform-agnostic: works with MCP, REST API, SDK, etc.
6
+ *
7
+ * ## What Gets Harvested
8
+ *
9
+ * - **Table/Column Comments**: COMMENT ON TABLE/COLUMN statements
10
+ * - **Indexes**: Index definitions and types
11
+ * - **Foreign Keys**: FK constraints → TableRelationship edges
12
+ * - **Row Counts**: Estimated table sizes
13
+ *
14
+ * ## Relationship Harvesting (NEW in v2.0)
15
+ *
16
+ * Foreign keys are now automatically converted to TableRelationship
17
+ * entries in the Knowledge Graph:
18
+ *
19
+ * ```
20
+ * FK: orders.user_id → users.id
21
+ * ↓
22
+ * TableRelationship {
23
+ * from: { table: 'orders', schema: 'public' },
24
+ * to: { table: 'users', schema: 'public' },
25
+ * joinCondition: 'orders.user_id = users.id',
26
+ * relationshipType: 'foreign_key',
27
+ * cardinality: 'many-to-one'
28
+ * }
29
+ * ```
30
+ *
31
+ * @module core/harvester
5
32
  */
6
33
  import type { DatabaseAdapter } from '../adapters/base.js';
7
34
  import type { KnowledgeStore } from '../knowledge/store.js';
8
35
  import type { HarvestedMetadata } from './types.js';
36
+ /**
37
+ * Harvester configuration options.
38
+ */
9
39
  export interface HarvesterConfig {
10
40
  /** Include table/column comments */
11
41
  includeComments: boolean;
12
42
  /** Include index information */
13
43
  includeIndexes: boolean;
14
- /** Include foreign key information */
44
+ /** Include foreign key information and convert to relationships */
15
45
  includeForeignKeys: boolean;
16
46
  /** Include estimated row counts */
17
47
  includeRowCounts: boolean;
48
+ /** Automatically create relationships from FK (default: true) */
49
+ createRelationshipsFromFK: boolean;
18
50
  }
19
51
  /**
20
52
  * Harvester class for auto-collecting database metadata
@@ -33,22 +65,42 @@ export declare class Harvester {
33
65
  */
34
66
  harvestTable(tableName: string, schema?: string): Promise<HarvestedMetadata | null>;
35
67
  /**
36
- * Sync harvested metadata to knowledge store
37
- * Only adds new entries, doesn't overwrite user-defined ones
68
+ * Sync harvested metadata to knowledge store.
69
+ *
70
+ * Performs the following operations:
71
+ * 1. Adds table descriptions from DB COMMENT (if not already defined)
72
+ * 2. Adds column descriptions from DB COMMENT (if not already defined)
73
+ * 3. Converts FK constraints to TableRelationship entries (NEW in v2.0)
74
+ *
75
+ * Only adds new entries - doesn't overwrite user-defined descriptions.
76
+ *
77
+ * @param schema - Schema to harvest (defaults to 'public')
78
+ * @returns Summary of what was added
38
79
  */
39
80
  syncToKnowledge(schema?: string): Promise<{
40
81
  tablesProcessed: number;
41
82
  descriptionsAdded: number;
42
83
  columnsAdded: number;
84
+ relationshipsAdded: number;
43
85
  }>;
44
86
  /**
45
- * Get harvesting summary without syncing
87
+ * Create a TableRelationship from FK information.
88
+ *
89
+ * @internal
90
+ */
91
+ private createRelationshipFromFK;
92
+ /**
93
+ * Get harvesting summary without syncing.
94
+ *
95
+ * Provides a preview of what would be harvested.
46
96
  */
47
97
  getSummary(schema?: string): Promise<{
48
98
  tables: number;
49
99
  tablesWithComments: number;
50
100
  columnsWithComments: number;
51
101
  tablesWithForeignKeys: number;
102
+ totalForeignKeys: number;
103
+ existingRelationships: number;
52
104
  }>;
53
105
  }
54
106
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../src/core/harvester.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,gCAAgC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AASD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAkB;gBAG9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAOvC;;OAEG;IACG,aAAa,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAc5E;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoDnG;;;OAGG;IACG,eAAe,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC;QACxD,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAgDF;;OAEG;IACG,UAAU,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CAaH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,SAAS,CAEX"}
1
+ {"version":3,"file":"harvester.d.ts","sourceRoot":"","sources":["../../src/core/harvester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,gCAAgC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,mEAAmE;IACnE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mCAAmC;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,yBAAyB,EAAE,OAAO,CAAC;CACpC;AAUD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAkB;gBAG9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM;IAOvC;;OAEG;IACG,aAAa,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAc5E;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoDnG;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC;QACxD,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAsEF;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;;;OAIG;IACG,UAAU,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC;QACnD,MAAM,EAAE,MAAM,CAAC;QACf,kBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,gBAAgB,EAAE,MAAM,CAAC;QACzB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;CAwBH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,SAAS,CAEX"}
@@ -1,17 +1,46 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Auto-Harvester
4
- * Automatically collects metadata from database (COMMENT, indexes, etc.)
4
+ *
5
+ * Automatically collects metadata from database and syncs to Knowledge Store.
5
6
  * Platform-agnostic: works with MCP, REST API, SDK, etc.
7
+ *
8
+ * ## What Gets Harvested
9
+ *
10
+ * - **Table/Column Comments**: COMMENT ON TABLE/COLUMN statements
11
+ * - **Indexes**: Index definitions and types
12
+ * - **Foreign Keys**: FK constraints → TableRelationship edges
13
+ * - **Row Counts**: Estimated table sizes
14
+ *
15
+ * ## Relationship Harvesting (NEW in v2.0)
16
+ *
17
+ * Foreign keys are now automatically converted to TableRelationship
18
+ * entries in the Knowledge Graph:
19
+ *
20
+ * ```
21
+ * FK: orders.user_id → users.id
22
+ * ↓
23
+ * TableRelationship {
24
+ * from: { table: 'orders', schema: 'public' },
25
+ * to: { table: 'users', schema: 'public' },
26
+ * joinCondition: 'orders.user_id = users.id',
27
+ * relationshipType: 'foreign_key',
28
+ * cardinality: 'many-to-one'
29
+ * }
30
+ * ```
31
+ *
32
+ * @module core/harvester
6
33
  */
7
34
  Object.defineProperty(exports, "__esModule", { value: true });
8
35
  exports.Harvester = void 0;
9
36
  exports.createHarvester = createHarvester;
37
+ const types_js_1 = require("../knowledge/types.js");
10
38
  const DEFAULT_CONFIG = {
11
39
  includeComments: true,
12
40
  includeIndexes: true,
13
41
  includeForeignKeys: true,
14
42
  includeRowCounts: true,
43
+ createRelationshipsFromFK: true,
15
44
  };
16
45
  /**
17
46
  * Harvester class for auto-collecting database metadata
@@ -83,13 +112,25 @@ class Harvester {
83
112
  return metadata;
84
113
  }
85
114
  /**
86
- * Sync harvested metadata to knowledge store
87
- * Only adds new entries, doesn't overwrite user-defined ones
115
+ * Sync harvested metadata to knowledge store.
116
+ *
117
+ * Performs the following operations:
118
+ * 1. Adds table descriptions from DB COMMENT (if not already defined)
119
+ * 2. Adds column descriptions from DB COMMENT (if not already defined)
120
+ * 3. Converts FK constraints to TableRelationship entries (NEW in v2.0)
121
+ *
122
+ * Only adds new entries - doesn't overwrite user-defined descriptions.
123
+ *
124
+ * @param schema - Schema to harvest (defaults to 'public')
125
+ * @returns Summary of what was added
88
126
  */
89
127
  async syncToKnowledge(schema = 'public') {
90
128
  const harvested = await this.harvestSchema(schema);
91
129
  let descriptionsAdded = 0;
92
130
  let columnsAdded = 0;
131
+ let relationshipsAdded = 0;
132
+ // Collect all relationships first for batch insertion
133
+ const relationshipsToAdd = [];
93
134
  for (const metadata of harvested) {
94
135
  // Check if table already has a user-defined description
95
136
  const existing = this.knowledge.getTableDescription(metadata.tableName, metadata.schema);
@@ -98,8 +139,6 @@ class Harvester {
98
139
  await this.knowledge.setTableDescription(metadata.tableName, metadata.tableComment, {
99
140
  schema: metadata.schema,
100
141
  });
101
- // Mark as auto-harvested by updating the source
102
- // The knowledge store will have source: 'user' by default, we need to track this
103
142
  descriptionsAdded++;
104
143
  }
105
144
  // Add column descriptions if not already present
@@ -111,6 +150,17 @@ class Harvester {
111
150
  columnsAdded++;
112
151
  }
113
152
  }
153
+ // Convert FK to relationships (NEW in v2.0)
154
+ if (this.config.createRelationshipsFromFK && metadata.foreignKeys) {
155
+ for (const fk of metadata.foreignKeys) {
156
+ const relationship = this.createRelationshipFromFK(metadata.tableName, metadata.schema, fk.column, fk.referencedTable, fk.referencedColumn, fk.constraintName);
157
+ relationshipsToAdd.push(relationship);
158
+ }
159
+ }
160
+ }
161
+ // Batch add relationships
162
+ if (relationshipsToAdd.length > 0) {
163
+ relationshipsAdded = await this.knowledge.addRelationships(relationshipsToAdd);
114
164
  }
115
165
  // Save changes
116
166
  await this.knowledge.save();
@@ -118,18 +168,48 @@ class Harvester {
118
168
  tablesProcessed: harvested.length,
119
169
  descriptionsAdded,
120
170
  columnsAdded,
171
+ relationshipsAdded,
172
+ };
173
+ }
174
+ /**
175
+ * Create a TableRelationship from FK information.
176
+ *
177
+ * @internal
178
+ */
179
+ createRelationshipFromFK(fromTable, fromSchema, fromColumn, toTable, toColumn, constraintName) {
180
+ const schemaHash = this.knowledge.getSchemaHash();
181
+ return {
182
+ ...(0, types_js_1.createKnowledgeMeta)('auto', schemaHash),
183
+ type: 'table_relationship',
184
+ from: (0, types_js_1.createTableRef)(fromTable, fromSchema),
185
+ to: (0, types_js_1.createTableRef)(toTable, fromSchema), // Assume same schema for FK target
186
+ relationshipType: 'foreign_key',
187
+ joinCondition: `${fromTable}.${fromColumn} = ${toTable}.${toColumn}`,
188
+ cardinality: 'many-to-one', // Default for FK
189
+ fromColumns: [fromColumn],
190
+ toColumns: [toColumn],
191
+ isPreferred: true,
192
+ constraintName,
121
193
  };
122
194
  }
123
195
  /**
124
- * Get harvesting summary without syncing
196
+ * Get harvesting summary without syncing.
197
+ *
198
+ * Provides a preview of what would be harvested.
125
199
  */
126
200
  async getSummary(schema = 'public') {
127
201
  const harvested = await this.harvestSchema(schema);
202
+ // Count total FKs
203
+ const totalFKs = harvested.reduce((sum, h) => sum + (h.foreignKeys?.length ?? 0), 0);
204
+ // Count existing relationships
205
+ const existingRels = this.knowledge.getRelationships().length;
128
206
  return {
129
207
  tables: harvested.length,
130
208
  tablesWithComments: harvested.filter(h => h.tableComment).length,
131
209
  columnsWithComments: harvested.reduce((sum, h) => sum + Object.keys(h.columnComments).length, 0),
132
210
  tablesWithForeignKeys: harvested.filter(h => h.foreignKeys && h.foreignKeys.length > 0).length,
211
+ totalForeignKeys: totalFKs,
212
+ existingRelationships: existingRels,
133
213
  };
134
214
  }
135
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harvester.js","sourceRoot":"","sources":["../../src/core/harvester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harvester.js","sourceRoot":"","sources":["../../src/core/harvester.ts"],"names":[],"mappings":"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"}
@@ -73,26 +73,40 @@ export interface QueryFeedback {
73
73
  timestamp: string;
74
74
  }
75
75
  /**
76
- * Harvested metadata from database
76
+ * Harvested metadata from database.
77
+ *
78
+ * This is the raw data collected from database introspection.
79
+ * Foreign keys are subsequently converted to TableRelationship entries
80
+ * by the Harvester during sync.
81
+ *
82
+ * @see TableRelationship for the graph edge representation
77
83
  */
78
84
  export interface HarvestedMetadata {
79
85
  /** Table name */
80
86
  tableName: string;
81
87
  /** Schema */
82
88
  schema: string;
83
- /** Table comment from DB */
89
+ /** Table comment from DB (COMMENT ON TABLE) */
84
90
  tableComment?: string;
85
- /** Column comments from DB */
91
+ /** Column comments from DB (COMMENT ON COLUMN) */
86
92
  columnComments: Record<string, string>;
87
93
  /** Estimated row count */
88
94
  estimatedRowCount?: number;
89
- /** Indexes */
95
+ /** Indexes (formatted as strings for display) */
90
96
  indexes?: string[];
91
- /** Foreign keys */
97
+ /**
98
+ * Foreign keys (raw data).
99
+ * These are converted to TableRelationship entries during harvesting.
100
+ */
92
101
  foreignKeys?: Array<{
102
+ /** Source column name */
93
103
  column: string;
104
+ /** Referenced table name */
94
105
  referencedTable: string;
106
+ /** Referenced column name */
95
107
  referencedColumn: string;
108
+ /** FK constraint name (optional) */
109
+ constraintName?: string;
96
110
  }>;
97
111
  }
98
112
  /**
@@ -167,6 +181,8 @@ export interface DataContextConfig {
167
181
  includeIndexes: boolean;
168
182
  includeForeignKeys: boolean;
169
183
  includeRowCounts: boolean;
184
+ /** Convert FK constraints to TableRelationship entries (default: true) */
185
+ createRelationshipsFromFK?: boolean;
170
186
  };
171
187
  /** Metrics configuration */
172
188
  metrics?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,5 +24,6 @@ export { SafetyValidator } from './safety/validator.js';
24
24
  export type { QueryResult, QueryFeedback, QueryMetrics, CostEstimation, AggregatedMetrics, ContextReference, HarvestedMetadata, DataContextConfig, } from './core/types.js';
25
25
  export type { DatabaseAdapter, ConnectionConfig } from './adapters/base.js';
26
26
  export type { TableInfo, ColumnInfo, SchemaInfo } from './schema/types.js';
27
- export type { TableDescription, QueryExample, BusinessRule, KnowledgeData } from './knowledge/types.js';
27
+ export type { TableDescription, TableRelationship, TableRef, RelationshipType, RelationshipCardinality, QueryExample, BusinessRule, BusinessTerm, KnowledgeData, KnowledgeEntry, KnowledgeMeta, KnowledgeSource, } from './knowledge/types.js';
28
+ export { createTableRef, tableRefToString, tableRefsEqual, createRelationshipFromFK, createKnowledgeMeta, generateId, } from './knowledge/types.js';
28
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAGzG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,YAAY,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3E,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAGzG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,YAAY,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG5E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG3E,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * - CLI for database management and setup
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.SafetyValidator = exports.KnowledgeStore = exports.createSQLiteAdapterFromConfig = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.createMySQLAdapterFromConfig = exports.createMySQLAdapter = exports.MySQLAdapter = exports.createPostgresAdapter = exports.PostgresAdapter = exports.createCostEstimator = exports.CostEstimator = exports.createMetricsCollector = exports.MetricsCollector = exports.createFeedbackManager = exports.FeedbackManager = exports.createHarvester = exports.Harvester = exports.createDataContextService = exports.DataContextService = exports.startApiServer = exports.createApiServer = exports.startMcpServer = void 0;
13
+ exports.generateId = exports.createKnowledgeMeta = exports.createRelationshipFromFK = exports.tableRefsEqual = exports.tableRefToString = exports.createTableRef = exports.SafetyValidator = exports.KnowledgeStore = exports.createSQLiteAdapterFromConfig = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.createMySQLAdapterFromConfig = exports.createMySQLAdapter = exports.MySQLAdapter = exports.createPostgresAdapter = exports.PostgresAdapter = exports.createCostEstimator = exports.CostEstimator = exports.createMetricsCollector = exports.MetricsCollector = exports.createFeedbackManager = exports.FeedbackManager = exports.createHarvester = exports.Harvester = exports.createDataContextService = exports.DataContextService = exports.startApiServer = exports.createApiServer = exports.startMcpServer = void 0;
14
14
  // === MCP Server ===
15
15
  var server_js_1 = require("./mcp/server.js");
16
16
  Object.defineProperty(exports, "startMcpServer", { enumerable: true, get: function () { return server_js_1.startMcpServer; } });
@@ -52,4 +52,12 @@ Object.defineProperty(exports, "KnowledgeStore", { enumerable: true, get: functi
52
52
  // === Safety ===
53
53
  var validator_js_1 = require("./safety/validator.js");
54
54
  Object.defineProperty(exports, "SafetyValidator", { enumerable: true, get: function () { return validator_js_1.SafetyValidator; } });
55
+ // === Knowledge Factory Functions ===
56
+ var types_js_1 = require("./knowledge/types.js");
57
+ Object.defineProperty(exports, "createTableRef", { enumerable: true, get: function () { return types_js_1.createTableRef; } });
58
+ Object.defineProperty(exports, "tableRefToString", { enumerable: true, get: function () { return types_js_1.tableRefToString; } });
59
+ Object.defineProperty(exports, "tableRefsEqual", { enumerable: true, get: function () { return types_js_1.tableRefsEqual; } });
60
+ Object.defineProperty(exports, "createRelationshipFromFK", { enumerable: true, get: function () { return types_js_1.createRelationshipFromFK; } });
61
+ Object.defineProperty(exports, "createKnowledgeMeta", { enumerable: true, get: function () { return types_js_1.createKnowledgeMeta; } });
62
+ Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return types_js_1.generateId; } });
55
63
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;;;;;;GAQG;;;AAEH,qBAAqB;AACrB,6CAAiD;AAAxC,2GAAA,cAAc,OAAA;AAEvB,0BAA0B;AAC1B,6CAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,2GAAA,cAAc,OAAA;AAGxC,4CAA4C;AAC5C,gEAGmC;AAFjC,wHAAA,kBAAkB,OAAA;AAClB,8HAAA,wBAAwB,OAAA;AAE1B,oDAAiE;AAAxD,yGAAA,SAAS,OAAA;AAAE,+GAAA,eAAe,OAAA;AACnC,kDAA4E;AAAnE,8GAAA,eAAe,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAC/C,gDAA6E;AAApE,8GAAA,gBAAgB,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AACjD,8DAA8E;AAArE,kHAAA,aAAa,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAE3C,4BAA4B;AAC5B,sDAAgF;AAAvE,8GAAA,eAAe,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAC/C,gDAAqG;AAA5F,wGAAA,YAAY,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,wHAAA,4BAA4B,OAAA;AACvE,kDAAyG;AAAhG,0GAAA,aAAa,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAE1E,0BAA0B;AAC1B,iDAAsD;AAA7C,0GAAA,cAAc,OAAA;AAEvB,iBAAiB;AACjB,sDAAwD;AAA/C,+GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;;;;;;GAQG;;;AAEH,qBAAqB;AACrB,6CAAiD;AAAxC,2GAAA,cAAc,OAAA;AAEvB,0BAA0B;AAC1B,6CAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,2GAAA,cAAc,OAAA;AAGxC,4CAA4C;AAC5C,gEAGmC;AAFjC,wHAAA,kBAAkB,OAAA;AAClB,8HAAA,wBAAwB,OAAA;AAE1B,oDAAiE;AAAxD,yGAAA,SAAS,OAAA;AAAE,+GAAA,eAAe,OAAA;AACnC,kDAA4E;AAAnE,8GAAA,eAAe,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAC/C,gDAA6E;AAApE,8GAAA,gBAAgB,OAAA;AAAE,oHAAA,sBAAsB,OAAA;AACjD,8DAA8E;AAArE,kHAAA,aAAa,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAE3C,4BAA4B;AAC5B,sDAAgF;AAAvE,8GAAA,eAAe,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAC/C,gDAAqG;AAA5F,wGAAA,YAAY,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,wHAAA,4BAA4B,OAAA;AACvE,kDAAyG;AAAhG,0GAAA,aAAa,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AAAE,0HAAA,6BAA6B,OAAA;AAE1E,0BAA0B;AAC1B,iDAAsD;AAA7C,0GAAA,cAAc,OAAA;AAEvB,iBAAiB;AACjB,sDAAwD;AAA/C,+GAAA,eAAe,OAAA;AAoCxB,sCAAsC;AACtC,iDAO8B;AAN5B,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AACxB,+GAAA,mBAAmB,OAAA;AACnB,sGAAA,UAAU,OAAA"}