@memberjunction/db-auto-doc 5.10.1 → 5.12.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 (101) hide show
  1. package/README.md +171 -2
  2. package/bin/run.js +18 -5
  3. package/dist/commands/analyze.js +2 -2
  4. package/dist/commands/analyze.js.map +1 -1
  5. package/dist/commands/export.d.ts +3 -0
  6. package/dist/commands/export.d.ts.map +1 -1
  7. package/dist/commands/export.js +21 -2
  8. package/dist/commands/export.js.map +1 -1
  9. package/dist/commands/generate-queries.d.ts.map +1 -1
  10. package/dist/commands/generate-queries.js +1 -1
  11. package/dist/commands/generate-queries.js.map +1 -1
  12. package/dist/core/AnalysisEngine.d.ts +10 -2
  13. package/dist/core/AnalysisEngine.d.ts.map +1 -1
  14. package/dist/core/AnalysisEngine.js +117 -36
  15. package/dist/core/AnalysisEngine.js.map +1 -1
  16. package/dist/core/AnalysisOrchestrator.d.ts +22 -0
  17. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  18. package/dist/core/AnalysisOrchestrator.js +259 -46
  19. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  20. package/dist/core/BackpropagationEngine.d.ts +7 -1
  21. package/dist/core/BackpropagationEngine.d.ts.map +1 -1
  22. package/dist/core/BackpropagationEngine.js +41 -4
  23. package/dist/core/BackpropagationEngine.js.map +1 -1
  24. package/dist/core/GuardrailsManager.d.ts.map +1 -1
  25. package/dist/core/GuardrailsManager.js +4 -0
  26. package/dist/core/GuardrailsManager.js.map +1 -1
  27. package/dist/discovery/DiscoveryEngine.d.ts +8 -1
  28. package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
  29. package/dist/discovery/DiscoveryEngine.js +199 -30
  30. package/dist/discovery/DiscoveryEngine.js.map +1 -1
  31. package/dist/discovery/FKDetector.d.ts +53 -1
  32. package/dist/discovery/FKDetector.d.ts.map +1 -1
  33. package/dist/discovery/FKDetector.js +172 -17
  34. package/dist/discovery/FKDetector.js.map +1 -1
  35. package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
  36. package/dist/discovery/LLMDiscoveryValidator.js +12 -4
  37. package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
  38. package/dist/discovery/LLMSanityChecker.d.ts +5 -1
  39. package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
  40. package/dist/discovery/LLMSanityChecker.js +12 -4
  41. package/dist/discovery/LLMSanityChecker.js.map +1 -1
  42. package/dist/discovery/PKDetector.d.ts +9 -1
  43. package/dist/discovery/PKDetector.d.ts.map +1 -1
  44. package/dist/discovery/PKDetector.js +90 -37
  45. package/dist/discovery/PKDetector.js.map +1 -1
  46. package/dist/drivers/BaseAutoDocDriver.d.ts +1 -1
  47. package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
  48. package/dist/drivers/BaseAutoDocDriver.js +2 -0
  49. package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
  50. package/dist/drivers/MySQLDriver.d.ts +1 -1
  51. package/dist/drivers/MySQLDriver.d.ts.map +1 -1
  52. package/dist/drivers/MySQLDriver.js.map +1 -1
  53. package/dist/drivers/PostgreSQLDriver.d.ts +1 -1
  54. package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
  55. package/dist/drivers/PostgreSQLDriver.js.map +1 -1
  56. package/dist/drivers/SQLServerDriver.d.ts +1 -1
  57. package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
  58. package/dist/drivers/SQLServerDriver.js.map +1 -1
  59. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +99 -0
  60. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -0
  61. package/dist/generators/AdditionalSchemaInfoGenerator.js +275 -0
  62. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -0
  63. package/dist/generators/MarkdownGenerator.d.ts.map +1 -1
  64. package/dist/generators/MarkdownGenerator.js +24 -5
  65. package/dist/generators/MarkdownGenerator.js.map +1 -1
  66. package/dist/generators/MermaidGenerator.d.ts.map +1 -1
  67. package/dist/generators/MermaidGenerator.js +5 -3
  68. package/dist/generators/MermaidGenerator.js.map +1 -1
  69. package/dist/generators/ReportGenerator.js +1 -1
  70. package/dist/generators/ReportGenerator.js.map +1 -1
  71. package/dist/generators/SampleQueryGenerator.d.ts +6 -1
  72. package/dist/generators/SampleQueryGenerator.d.ts.map +1 -1
  73. package/dist/generators/SampleQueryGenerator.js +26 -6
  74. package/dist/generators/SampleQueryGenerator.js.map +1 -1
  75. package/dist/prompts/PromptEngine.d.ts.map +1 -1
  76. package/dist/prompts/PromptEngine.js +15 -2
  77. package/dist/prompts/PromptEngine.js.map +1 -1
  78. package/dist/state/IterationTracker.d.ts +7 -2
  79. package/dist/state/IterationTracker.d.ts.map +1 -1
  80. package/dist/state/IterationTracker.js +13 -2
  81. package/dist/state/IterationTracker.js.map +1 -1
  82. package/dist/state/StateManager.d.ts +1 -1
  83. package/dist/state/StateManager.d.ts.map +1 -1
  84. package/dist/state/StateManager.js +29 -14
  85. package/dist/state/StateManager.js.map +1 -1
  86. package/dist/types/analysis.d.ts +11 -0
  87. package/dist/types/analysis.d.ts.map +1 -1
  88. package/dist/types/config.d.ts +50 -0
  89. package/dist/types/config.d.ts.map +1 -1
  90. package/dist/types/config.js.map +1 -1
  91. package/dist/types/discovery.d.ts +15 -0
  92. package/dist/types/discovery.d.ts.map +1 -1
  93. package/dist/types/state.d.ts +13 -1
  94. package/dist/types/state.d.ts.map +1 -1
  95. package/dist/utils/config-loader.d.ts +4 -0
  96. package/dist/utils/config-loader.d.ts.map +1 -1
  97. package/dist/utils/config-loader.js +22 -0
  98. package/dist/utils/config-loader.js.map +1 -1
  99. package/package.json +5 -5
  100. package/prompts/backpropagation.md +8 -0
  101. package/prompts/table-analysis.md +21 -0
@@ -1 +1 @@
1
- {"version":3,"file":"GuardrailsManager.d.ts","sourceRoot":"","sources":["../../src/core/GuardrailsManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAqE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExJ,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,YAAY,CAAC,CAAY;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKzC;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA0BzD;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK9C;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqB9D;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,oBAAoB;IA+N9D;;OAEG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAuB9E;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;IACI,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;CAU1E"}
1
+ {"version":3,"file":"GuardrailsManager.d.ts","sourceRoot":"","sources":["../../src/core/GuardrailsManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAqE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExJ,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACnC;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,YAAY,CAAC,CAAY;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAC,CAAS;gBAExB,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKzC;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IA4BzD;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK9C;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAuB9D;;OAEG;IACI,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,oBAAoB;IA+N9D;;OAEG;IACI,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAuB9E;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;IACI,4BAA4B,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;CAU1E"}
@@ -35,6 +35,8 @@ export class GuardrailsManager {
35
35
  startedAt: new Date(startTime).toISOString(),
36
36
  completedAt: new Date().toISOString(),
37
37
  tokensUsed: this.getPhaseTokens(run, phase),
38
+ inputTokens: 0,
39
+ outputTokens: 0,
38
40
  estimatedCost: this.getPhaseCost(run, phase)
39
41
  };
40
42
  if (phase === 'discovery') {
@@ -69,6 +71,8 @@ export class GuardrailsManager {
69
71
  startedAt: new Date(this.iterationStartTime).toISOString(),
70
72
  completedAt: new Date().toISOString(),
71
73
  tokensUsed: run.totalTokensUsed || 0,
74
+ inputTokens: run.totalInputTokens || 0,
75
+ outputTokens: run.totalOutputTokens || 0,
72
76
  estimatedCost: run.estimatedCost || 0,
73
77
  duration: Date.now() - this.iterationStartTime
74
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GuardrailsManager.js","sourceRoot":"","sources":["../../src/core/GuardrailsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GuardrailsManager.js","sourceRoot":"","sources":["../../src/core/GuardrailsManager.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export interface DiscoveryEngineOptions {
13
13
  aiConfig: AIConfig;
14
14
  schemas: SchemaDefinition[];
15
15
  onProgress?: (message: string, data?: any) => void;
16
+ onCheckpoint?: (phase: RelationshipDiscoveryPhase) => Promise<void>;
16
17
  }
17
18
  export interface DiscoveryResult {
18
19
  phase: RelationshipDiscoveryPhase;
@@ -26,6 +27,7 @@ export declare class DiscoveryEngine {
26
27
  private aiConfig;
27
28
  private schemas;
28
29
  private onProgress;
30
+ private onCheckpoint;
29
31
  private statsCache;
30
32
  private pkDetector;
31
33
  private fkDetector;
@@ -43,7 +45,7 @@ export declare class DiscoveryEngine {
43
45
  /**
44
46
  * Execute the discovery process
45
47
  */
46
- discover(maxTokens: number, triggerAnalysis: DiscoveryTriggerAnalysis): Promise<DiscoveryResult>;
48
+ discover(maxTokens: number, triggerAnalysis: DiscoveryTriggerAnalysis, existingPhase?: RelationshipDiscoveryPhase): Promise<DiscoveryResult>;
47
49
  /**
48
50
  * Initialize discovery phase
49
51
  */
@@ -96,5 +98,10 @@ export declare class DiscoveryEngine {
96
98
  * Apply discovered relationships to state
97
99
  */
98
100
  applyDiscoveriesToState(state: DatabaseDocumentation, phase: RelationshipDiscoveryPhase): void;
101
+ /**
102
+ * Add a table-level dependency edge (dependsOn/dependents) for FK relationships.
103
+ * Required before topological sorting so the topo sort can build correct levels.
104
+ */
105
+ private addTableDependency;
99
106
  }
100
107
  //# sourceMappingURL=DiscoveryEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoveryEngine.d.ts","sourceRoot":"","sources":["../../src/discovery/DiscoveryEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAI1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,0BAA0B,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAmB;gBAE7B,OAAO,EAAE,sBAAsB;IA2B3C;;OAEG;IACI,aAAa,IAAI,gBAAgB;IAIxC;;OAEG;IACI,cAAc,IAAI,wBAAwB;IA6DjD;;OAEG;IACU,QAAQ,CACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,wBAAwB,GACxC,OAAO,CAAC,eAAe,CAAC;IA2E3B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6CvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;YACW,gBAAgB;IAwK9B;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;YACW,oBAAoB;IAuJlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;YACW,sBAAsB;IA4DpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACI,uBAAuB,CAC5B,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,0BAA0B,GAChC,IAAI;CA4CR"}
1
+ {"version":3,"file":"DiscoveryEngine.d.ts","sourceRoot":"","sources":["../../src/discovery/DiscoveryEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAmB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EACL,0BAA0B,EAI1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,2BAA2B,CAAC;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,0BAA0B,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,YAAY,CAAuD;IAC3E,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAC,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAmB;gBAE7B,OAAO,EAAE,sBAAsB;IA4B3C;;OAEG;IACI,aAAa,IAAI,gBAAgB;IAIxC;;OAEG;IACI,cAAc,IAAI,wBAAwB;IA6DjD;;OAEG;IACU,QAAQ,CACnB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,wBAAwB,EACzC,aAAa,CAAC,EAAE,0BAA0B,GACzC,OAAO,CAAC,eAAe,CAAC;IAqF3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;YACW,gBAAgB;IAqL9B;;OAEG;YACW,iBAAiB;IAyE/B;;OAEG;YACW,iBAAiB;IAsF/B;;OAEG;YACW,oBAAoB;IA8KlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;YACW,sBAAsB;IA4DpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACI,uBAAuB,CAC5B,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,0BAA0B,GAChC,IAAI;IAoDP;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAsD3B"}
@@ -14,12 +14,13 @@ export class DiscoveryEngine {
14
14
  this.aiConfig = options.aiConfig;
15
15
  this.schemas = options.schemas;
16
16
  this.onProgress = options.onProgress || (() => { });
17
+ this.onCheckpoint = options.onCheckpoint || (async () => { });
17
18
  // Create stats cache and detectors
18
19
  this.statsCache = new ColumnStatsCache();
19
20
  this.pkDetector = new PKDetector(this.driver, this.config, this.statsCache);
20
- this.fkDetector = new FKDetector(this.driver, this.config);
21
+ this.fkDetector = new FKDetector(this.driver, this.config, this.statsCache);
21
22
  // Create LLM sanity checker (runs once after statistical detection)
22
- this.sanityChecker = new LLMSanityChecker(this.aiConfig);
23
+ this.sanityChecker = new LLMSanityChecker(this.aiConfig, this.statsCache);
23
24
  // Create LLM validator if enabled (runs per-table validation)
24
25
  if (this.config.llmValidation?.enabled) {
25
26
  this.llmValidator = new LLMDiscoveryValidator(this.driver, this.config, this.aiConfig, this.statsCache, this.schemas);
@@ -89,14 +90,25 @@ export class DiscoveryEngine {
89
90
  /**
90
91
  * Execute the discovery process
91
92
  */
92
- async discover(maxTokens, triggerAnalysis) {
93
- const phase = this.initializePhase(maxTokens, triggerAnalysis);
94
- this.onProgress('Starting relationship discovery', {
95
- maxTokens,
96
- trigger: triggerAnalysis.reason
97
- });
98
- let iteration = 1;
99
- let tokensUsed = 0;
93
+ async discover(maxTokens, triggerAnalysis, existingPhase) {
94
+ // Resume from existing phase if provided, otherwise start fresh
95
+ const phase = existingPhase || this.initializePhase(maxTokens, triggerAnalysis);
96
+ if (existingPhase) {
97
+ this.onProgress('Resuming relationship discovery', {
98
+ maxTokens,
99
+ existingPKs: phase.discovered.primaryKeys.length,
100
+ existingFKs: phase.discovered.foreignKeys.length,
101
+ priorTokensUsed: phase.tokenBudget.used
102
+ });
103
+ }
104
+ else {
105
+ this.onProgress('Starting relationship discovery', {
106
+ maxTokens,
107
+ trigger: triggerAnalysis.reason
108
+ });
109
+ }
110
+ let iteration = existingPhase ? (existingPhase.iterations.length + 1) : 1;
111
+ let tokensUsed = existingPhase ? existingPhase.tokenBudget.used : 0;
100
112
  let guardrailsReached = false;
101
113
  let guardrailReason;
102
114
  while (iteration <= this.config.backpropagation.maxIterations) {
@@ -171,6 +183,12 @@ export class DiscoveryEngine {
171
183
  primaryKeys: [],
172
184
  foreignKeys: []
173
185
  },
186
+ progress: {
187
+ pkTablesAnalyzed: [],
188
+ fkTablesAnalyzed: [],
189
+ llmValidated: false,
190
+ sanityChecked: false
191
+ },
174
192
  schemaEnhancements: {
175
193
  pkeysAdded: 0,
176
194
  fkeysAdded: 0,
@@ -219,6 +237,8 @@ export class DiscoveryEngine {
219
237
  startedAt,
220
238
  completedAt: '',
221
239
  tokensUsed: 0,
240
+ inputTokens: 0,
241
+ outputTokens: 0,
222
242
  discoveries: {
223
243
  newPKs: [],
224
244
  newFKs: [],
@@ -232,6 +252,9 @@ export class DiscoveryEngine {
232
252
  iterationResult.phase = 'pk_detection';
233
253
  let newPKs = await this.detectPrimaryKeys(iteration, phase);
234
254
  iterationResult.discoveries.newPKs = newPKs;
255
+ // Checkpoint after PK detection — save PK results before slow FK phase
256
+ this.mergeDiscoveries(phase, iterationResult);
257
+ await this.onCheckpoint(phase);
235
258
  this.onProgress(`Detected ${newPKs.length} PK candidates`, {
236
259
  iteration,
237
260
  candidates: newPKs.map(pk => `${pk.schemaName}.${pk.tableName}.${pk.columnNames.join('+')}`).slice(0, 5)
@@ -240,6 +263,10 @@ export class DiscoveryEngine {
240
263
  iterationResult.phase = 'fk_detection';
241
264
  const allPKs = [...phase.discovered.primaryKeys, ...newPKs];
242
265
  let newFKs = await this.detectForeignKeys(iteration, phase, allPKs);
266
+ // Checkpoint after FK detection — save before LLM phases
267
+ iterationResult.discoveries.newFKs = newFKs;
268
+ this.mergeDiscoveries(phase, iterationResult);
269
+ await this.onCheckpoint(phase);
243
270
  this.onProgress(`Detected ${newFKs.length} FK candidates (pre-sanity)`, {
244
271
  iteration,
245
272
  candidates: newFKs.map(fk => `${fk.schemaName}.${fk.sourceTable}.${fk.sourceColumn} -> ${fk.targetSchema}.${fk.targetTable}.${fk.targetColumn}`).slice(0, 5)
@@ -253,6 +280,8 @@ export class DiscoveryEngine {
253
280
  });
254
281
  const sanityResult = await this.sanityChecker.reviewCandidates(newPKs, newFKs);
255
282
  iterationResult.tokensUsed += sanityResult.tokensUsed;
283
+ iterationResult.inputTokens += sanityResult.inputTokens || 0;
284
+ iterationResult.outputTokens += sanityResult.outputTokens || 0;
256
285
  // Remove invalid PKs
257
286
  if (sanityResult.invalidPKs.length > 0) {
258
287
  console.log(`[DiscoveryEngine] Sanity check rejecting ${sanityResult.invalidPKs.length} PKs:`);
@@ -339,22 +368,55 @@ export class DiscoveryEngine {
339
368
  */
340
369
  async detectPrimaryKeys(iteration, phase) {
341
370
  const allPKs = [];
342
- const tablesAnalyzed = new Set();
371
+ // Initialize progress tracking if not present (resume support)
372
+ if (!phase.progress) {
373
+ phase.progress = { pkTablesAnalyzed: [], fkTablesAnalyzed: [], llmValidated: false, sanityChecked: false };
374
+ }
375
+ const alreadyAnalyzed = new Set(phase.progress.pkTablesAnalyzed || []);
376
+ // Build list of tables that need PK detection (skip already-analyzed on resume)
377
+ const tablesToAnalyze = [];
343
378
  for (const schema of this.schemas) {
344
379
  for (const table of schema.tables) {
345
380
  const tableKey = `${schema.name}.${table.name}`;
346
- // Skip if already has PK or already analyzed
347
381
  const hasExistingPK = table.columns.some(col => col.isPrimaryKey);
348
382
  const hasDiscoveredPK = phase.discovered.primaryKeys.some(pk => pk.schemaName === schema.name && pk.tableName === table.name);
349
- if (hasExistingPK || hasDiscoveredPK || tablesAnalyzed.has(tableKey)) {
350
- continue;
383
+ if (!hasExistingPK && !hasDiscoveredPK && !alreadyAnalyzed.has(tableKey)) {
384
+ tablesToAnalyze.push({ schema: schema.name, table });
351
385
  }
352
- // Detect PK candidates for this table
353
- const candidates = await this.pkDetector.detectPKCandidates(schema.name, table, iteration);
354
- allPKs.push(...candidates);
355
- tablesAnalyzed.add(tableKey);
356
386
  }
357
387
  }
388
+ const total = tablesToAnalyze.length;
389
+ if (alreadyAnalyzed.size > 0) {
390
+ this.onProgress(`PK detection: ${total} tables remaining (${alreadyAnalyzed.size} already done from prior run)`);
391
+ }
392
+ else {
393
+ this.onProgress(`PK detection: ${total} tables to analyze`);
394
+ }
395
+ for (let i = 0; i < tablesToAnalyze.length; i++) {
396
+ const { schema, table } = tablesToAnalyze[i];
397
+ const tableKey = `${schema}.${table.name}`;
398
+ if (i % 10 === 0 || i === total - 1) {
399
+ this.onProgress(`PK detection: ${i + 1}/${total} tables (${tableKey})`);
400
+ }
401
+ const candidates = await this.pkDetector.detectPKCandidates(schema, table, iteration);
402
+ // Merge into phase immediately so checkpoints include in-progress discoveries
403
+ for (const pk of candidates) {
404
+ const exists = phase.discovered.primaryKeys.some(existing => existing.schemaName === pk.schemaName &&
405
+ existing.tableName === pk.tableName &&
406
+ existing.columnNames.join(',') === pk.columnNames.join(','));
407
+ if (!exists) {
408
+ phase.discovered.primaryKeys.push(pk);
409
+ }
410
+ }
411
+ allPKs.push(...candidates);
412
+ // Track this table as analyzed for resume
413
+ phase.progress.pkTablesAnalyzed.push(tableKey);
414
+ // Save after every 10 tables during PK detection
415
+ if ((i + 1) % 10 === 0 || i === total - 1) {
416
+ await this.onCheckpoint(phase);
417
+ }
418
+ }
419
+ this.onProgress(`PK detection complete: ${allPKs.length} candidates from ${total} tables`);
358
420
  return allPKs;
359
421
  }
360
422
  /**
@@ -362,20 +424,61 @@ export class DiscoveryEngine {
362
424
  */
363
425
  async detectForeignKeys(iteration, phase, discoveredPKs) {
364
426
  const allFKs = [];
427
+ // Initialize progress tracking if not present (resume support)
428
+ if (!phase.progress) {
429
+ phase.progress = { pkTablesAnalyzed: [], fkTablesAnalyzed: [], llmValidated: false, sanityChecked: false };
430
+ }
431
+ const alreadyAnalyzed = new Set(phase.progress.fkTablesAnalyzed || []);
432
+ // Build flat list, skipping already-analyzed tables on resume
433
+ const allTables = [];
365
434
  for (const schema of this.schemas) {
366
435
  for (const table of schema.tables) {
367
- // Detect FK candidates for this table
368
- const candidates = await this.fkDetector.detectFKCandidates(this.schemas, schema.name, table, discoveredPKs, iteration);
369
- // Filter out duplicates (already discovered FKs)
370
- const newCandidates = candidates.filter(newFK => !phase.discovered.foreignKeys.some(existingFK => existingFK.schemaName === newFK.schemaName &&
371
- existingFK.sourceTable === newFK.sourceTable &&
372
- existingFK.sourceColumn === newFK.sourceColumn &&
373
- existingFK.targetSchema === newFK.targetSchema &&
374
- existingFK.targetTable === newFK.targetTable &&
375
- existingFK.targetColumn === newFK.targetColumn));
376
- allFKs.push(...newCandidates);
436
+ const tableKey = `${schema.name}.${table.name}`;
437
+ if (!alreadyAnalyzed.has(tableKey)) {
438
+ allTables.push({ schema: schema.name, table });
439
+ }
377
440
  }
378
441
  }
442
+ const total = allTables.length;
443
+ if (alreadyAnalyzed.size > 0) {
444
+ this.onProgress(`FK detection: ${total} tables remaining (${alreadyAnalyzed.size} already done from prior run)`);
445
+ }
446
+ else {
447
+ this.onProgress(`FK detection: ${total} tables to analyze against ${discoveredPKs.length} PK candidates`);
448
+ }
449
+ for (let i = 0; i < allTables.length; i++) {
450
+ const { schema, table } = allTables[i];
451
+ const tableKey = `${schema}.${table.name}`;
452
+ if (i % 5 === 0 || i === total - 1) {
453
+ this.onProgress(`FK detection: ${i + 1}/${total} tables (${schema}.${table.name}), ${allFKs.length} candidates so far`);
454
+ }
455
+ const candidates = await this.fkDetector.detectFKCandidates(this.schemas, schema, table, discoveredPKs, iteration);
456
+ // Filter out duplicates (already discovered FKs)
457
+ const newCandidates = candidates.filter(newFK => !phase.discovered.foreignKeys.some(existingFK => existingFK.schemaName === newFK.schemaName &&
458
+ existingFK.sourceTable === newFK.sourceTable &&
459
+ existingFK.sourceColumn === newFK.sourceColumn &&
460
+ existingFK.targetSchema === newFK.targetSchema &&
461
+ existingFK.targetTable === newFK.targetTable &&
462
+ existingFK.targetColumn === newFK.targetColumn));
463
+ // Merge into phase immediately so checkpoints include in-progress discoveries
464
+ for (const fk of newCandidates) {
465
+ const exists = phase.discovered.foreignKeys.some(existing => existing.schemaName === fk.schemaName &&
466
+ existing.sourceTable === fk.sourceTable &&
467
+ existing.sourceColumn === fk.sourceColumn &&
468
+ existing.targetSchema === fk.targetSchema &&
469
+ existing.targetTable === fk.targetTable &&
470
+ existing.targetColumn === fk.targetColumn);
471
+ if (!exists) {
472
+ phase.discovered.foreignKeys.push(fk);
473
+ }
474
+ }
475
+ allFKs.push(...newCandidates);
476
+ // Track this table as analyzed for resume
477
+ phase.progress.fkTablesAnalyzed.push(tableKey);
478
+ // Save after every table during FK detection (each table can take 20-30s)
479
+ await this.onCheckpoint(phase);
480
+ }
481
+ this.onProgress(`FK detection complete: ${allFKs.length} candidates from ${total} tables`);
379
482
  return allFKs;
380
483
  }
381
484
  /**
@@ -426,13 +529,32 @@ export class DiscoveryEngine {
426
529
  try {
427
530
  const result = await this.llmValidator.validateTableRelationships(schemaName, tableName, candidates.pks, candidates.fks);
428
531
  tokensUsed += result.tokensUsed;
532
+ iteration.inputTokens += result.inputTokens || 0;
533
+ iteration.outputTokens += result.outputTokens || 0;
429
534
  if (!result.validated) {
430
535
  this.onProgress(`LLM validation failed for ${tableKey}: ${result.reasoning}`);
431
536
  continue;
432
537
  }
433
- // Process LLM recommendations
538
+ // Process LLM recommendations — enforce eligibility constraints
434
539
  for (const rec of result.recommendations) {
435
540
  const recId = `${rec.target}:${rec.schemaName}.${rec.tableName}.${rec.columnName}`;
541
+ // Gate: LLM cannot add or confirm PKs/FKs for ineligible columns
542
+ if ((rec.type === 'confirm' || rec.type === 'add_new') && rec.columnName) {
543
+ if (rec.target === 'pk') {
544
+ const eligible = this.pkDetector.getPKEligibleColumns(rec.schemaName || schemaName, rec.tableName || tableName);
545
+ if (!eligible.includes(rec.columnName)) {
546
+ console.log(`[DiscoveryEngine] BLOCKED LLM ${rec.type} PK for ${rec.columnName} — not PK-eligible (must have zero nulls, zero blanks, 100% unique)`);
547
+ continue;
548
+ }
549
+ }
550
+ else if (rec.target === 'fk') {
551
+ const eligible = this.fkDetector.getFKEligibleColumns(rec.schemaName || schemaName, rec.tableName || tableName);
552
+ if (!eligible.includes(rec.columnName)) {
553
+ console.log(`[DiscoveryEngine] BLOCKED LLM ${rec.type} FK for ${rec.columnName} — not FK-eligible (non-key data type or values don't look like keys)`);
554
+ continue;
555
+ }
556
+ }
557
+ }
436
558
  if (rec.type === 'confirm') {
437
559
  validated.push(recId);
438
560
  // Mark as validated and potentially boost confidence
@@ -694,7 +816,7 @@ export class DiscoveryEngine {
694
816
  }
695
817
  }
696
818
  }
697
- // Apply high-confidence FKs
819
+ // Apply high-confidence FKs and build table-level dependency graph
698
820
  for (const fk of phase.discovered.foreignKeys) {
699
821
  if (fk.confidence >= this.config.confidence.foreignKeyMinimum * 100) {
700
822
  const schema = state.schemas.find(s => s.name === fk.schemaName);
@@ -713,10 +835,57 @@ export class DiscoveryEngine {
713
835
  referencedColumn: fk.targetColumn
714
836
  };
715
837
  }
838
+ // Wire up table-level dependsOn/dependents for topological sorting
839
+ this.addTableDependency(state, fk.schemaName, fk.sourceTable, fk.targetSchema, fk.targetTable, fk.sourceColumn, fk.targetColumn);
716
840
  }
717
841
  }
718
842
  // Store discovery phase in state (new phases structure)
719
843
  state.phases.keyDetection = phase;
720
844
  }
845
+ /**
846
+ * Add a table-level dependency edge (dependsOn/dependents) for FK relationships.
847
+ * Required before topological sorting so the topo sort can build correct levels.
848
+ */
849
+ addTableDependency(state, sourceSchemaName, sourceTableName, targetSchemaName, targetTableName, sourceColumnName, targetColumnName) {
850
+ // Don't create self-dependencies
851
+ if (sourceSchemaName === targetSchemaName && sourceTableName === targetTableName)
852
+ return;
853
+ // Add to source table's dependsOn
854
+ const sourceSchema = state.schemas.find(s => s.name === sourceSchemaName);
855
+ if (sourceSchema) {
856
+ const sourceTable = sourceSchema.tables.find(t => t.name === sourceTableName);
857
+ if (sourceTable) {
858
+ const alreadyExists = sourceTable.dependsOn.some(dep => dep.schema === targetSchemaName &&
859
+ dep.table === targetTableName &&
860
+ dep.column === sourceColumnName);
861
+ if (!alreadyExists) {
862
+ sourceTable.dependsOn.push({
863
+ schema: targetSchemaName,
864
+ table: targetTableName,
865
+ column: sourceColumnName,
866
+ referencedColumn: targetColumnName
867
+ });
868
+ }
869
+ }
870
+ }
871
+ // Add to target table's dependents
872
+ const targetSchema = state.schemas.find(s => s.name === targetSchemaName);
873
+ if (targetSchema) {
874
+ const targetTable = targetSchema.tables.find(t => t.name === targetTableName);
875
+ if (targetTable) {
876
+ const alreadyExists = targetTable.dependents.some(dep => dep.schema === sourceSchemaName &&
877
+ dep.table === sourceTableName &&
878
+ dep.column === sourceColumnName);
879
+ if (!alreadyExists) {
880
+ targetTable.dependents.push({
881
+ schema: sourceSchemaName,
882
+ table: sourceTableName,
883
+ column: sourceColumnName,
884
+ referencedColumn: targetColumnName
885
+ });
886
+ }
887
+ }
888
+ }
889
+ }
721
890
  }
722
891
  //# sourceMappingURL=DiscoveryEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoveryEngine.js","sourceRoot":"","sources":["../../src/discovery/DiscoveryEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiscoveryEngine.js","sourceRoot":"","sources":["../../src/discovery/DiscoveryEngine.ts"],"names":[],"mappings":"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"}