@memberjunction/db-auto-doc 5.11.0 → 5.13.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/README.md +171 -2
- package/bin/run.js +18 -5
- package/dist/commands/analyze.js +2 -2
- package/dist/commands/analyze.js.map +1 -1
- package/dist/commands/export.d.ts +3 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +21 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/generate-queries.d.ts.map +1 -1
- package/dist/commands/generate-queries.js +1 -1
- package/dist/commands/generate-queries.js.map +1 -1
- package/dist/core/AnalysisEngine.d.ts +10 -2
- package/dist/core/AnalysisEngine.d.ts.map +1 -1
- package/dist/core/AnalysisEngine.js +117 -36
- package/dist/core/AnalysisEngine.js.map +1 -1
- package/dist/core/AnalysisOrchestrator.d.ts +22 -0
- package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
- package/dist/core/AnalysisOrchestrator.js +259 -46
- package/dist/core/AnalysisOrchestrator.js.map +1 -1
- package/dist/core/BackpropagationEngine.d.ts +7 -1
- package/dist/core/BackpropagationEngine.d.ts.map +1 -1
- package/dist/core/BackpropagationEngine.js +41 -4
- package/dist/core/BackpropagationEngine.js.map +1 -1
- package/dist/core/GuardrailsManager.d.ts.map +1 -1
- package/dist/core/GuardrailsManager.js +4 -0
- package/dist/core/GuardrailsManager.js.map +1 -1
- package/dist/discovery/DiscoveryEngine.d.ts +8 -1
- package/dist/discovery/DiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/DiscoveryEngine.js +199 -30
- package/dist/discovery/DiscoveryEngine.js.map +1 -1
- package/dist/discovery/FKDetector.d.ts +53 -1
- package/dist/discovery/FKDetector.d.ts.map +1 -1
- package/dist/discovery/FKDetector.js +172 -17
- package/dist/discovery/FKDetector.js.map +1 -1
- package/dist/discovery/LLMDiscoveryValidator.d.ts.map +1 -1
- package/dist/discovery/LLMDiscoveryValidator.js +12 -4
- package/dist/discovery/LLMDiscoveryValidator.js.map +1 -1
- package/dist/discovery/LLMSanityChecker.d.ts +5 -1
- package/dist/discovery/LLMSanityChecker.d.ts.map +1 -1
- package/dist/discovery/LLMSanityChecker.js +12 -4
- package/dist/discovery/LLMSanityChecker.js.map +1 -1
- package/dist/discovery/PKDetector.d.ts +9 -1
- package/dist/discovery/PKDetector.d.ts.map +1 -1
- package/dist/discovery/PKDetector.js +90 -37
- package/dist/discovery/PKDetector.js.map +1 -1
- package/dist/drivers/BaseAutoDocDriver.d.ts +1 -1
- package/dist/drivers/BaseAutoDocDriver.d.ts.map +1 -1
- package/dist/drivers/BaseAutoDocDriver.js +2 -0
- package/dist/drivers/BaseAutoDocDriver.js.map +1 -1
- package/dist/drivers/MySQLDriver.d.ts +1 -1
- package/dist/drivers/MySQLDriver.d.ts.map +1 -1
- package/dist/drivers/MySQLDriver.js.map +1 -1
- package/dist/drivers/PostgreSQLDriver.d.ts +1 -1
- package/dist/drivers/PostgreSQLDriver.d.ts.map +1 -1
- package/dist/drivers/PostgreSQLDriver.js.map +1 -1
- package/dist/drivers/SQLServerDriver.d.ts +1 -1
- package/dist/drivers/SQLServerDriver.d.ts.map +1 -1
- package/dist/drivers/SQLServerDriver.js.map +1 -1
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +99 -0
- package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -0
- package/dist/generators/AdditionalSchemaInfoGenerator.js +275 -0
- package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -0
- package/dist/generators/MarkdownGenerator.d.ts.map +1 -1
- package/dist/generators/MarkdownGenerator.js +24 -5
- package/dist/generators/MarkdownGenerator.js.map +1 -1
- package/dist/generators/MermaidGenerator.d.ts.map +1 -1
- package/dist/generators/MermaidGenerator.js +5 -3
- package/dist/generators/MermaidGenerator.js.map +1 -1
- package/dist/generators/ReportGenerator.js +1 -1
- package/dist/generators/ReportGenerator.js.map +1 -1
- package/dist/generators/SampleQueryGenerator.d.ts +6 -1
- package/dist/generators/SampleQueryGenerator.d.ts.map +1 -1
- package/dist/generators/SampleQueryGenerator.js +26 -6
- package/dist/generators/SampleQueryGenerator.js.map +1 -1
- package/dist/prompts/PromptEngine.d.ts.map +1 -1
- package/dist/prompts/PromptEngine.js +15 -2
- package/dist/prompts/PromptEngine.js.map +1 -1
- package/dist/state/IterationTracker.d.ts +7 -2
- package/dist/state/IterationTracker.d.ts.map +1 -1
- package/dist/state/IterationTracker.js +13 -2
- package/dist/state/IterationTracker.js.map +1 -1
- package/dist/state/StateManager.d.ts +1 -1
- package/dist/state/StateManager.d.ts.map +1 -1
- package/dist/state/StateManager.js +29 -14
- package/dist/state/StateManager.js.map +1 -1
- package/dist/types/analysis.d.ts +11 -0
- package/dist/types/analysis.d.ts.map +1 -1
- package/dist/types/config.d.ts +50 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/discovery.d.ts +15 -0
- package/dist/types/discovery.d.ts.map +1 -1
- package/dist/types/state.d.ts +13 -1
- package/dist/types/state.d.ts.map +1 -1
- package/dist/utils/config-loader.d.ts +4 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +22 -0
- package/dist/utils/config-loader.js.map +1 -1
- package/package.json +5 -5
- package/prompts/backpropagation.md +8 -0
- package/prompts/table-analysis.md +21 -0
package/README.md
CHANGED
|
@@ -54,6 +54,12 @@ graph TD
|
|
|
54
54
|
### Advanced Features
|
|
55
55
|
- **Relationship Discovery** -- Automatically detect missing primary and foreign keys using statistical analysis and LLM validation
|
|
56
56
|
- **Sample Query Generation** -- Generate reference SQL queries for AI agents with alignment tracking
|
|
57
|
+
- **Ground Truth System** -- Provide authoritative descriptions for schemas, tables, and columns that AI analysis must respect
|
|
58
|
+
- **Incremental State Saves** -- State persisted to disk after every phase (introspection, sampling, discovery, per-table analysis)
|
|
59
|
+
- **User-Approved Protection** -- Mark tables/columns as approved to prevent AI from overwriting descriptions
|
|
60
|
+
- **Enhanced Resume** -- Resume with `--reanalyze-below-confidence` to target low-confidence tables while preserving ground truth
|
|
61
|
+
- **Existing DB Descriptions** -- Automatically loads MS_Description (SQL Server), COMMENT (PostgreSQL/MySQL) as initial descriptions
|
|
62
|
+
- **CodeGen Integration** -- Emit `additionalSchemaInfo.json` for MemberJunction CodeGen soft FK/PK support
|
|
57
63
|
- **Granular Guardrails** -- Multi-level resource controls (run, phase, iteration limits)
|
|
58
64
|
- **Resume Capability** -- Pause and resume analysis from checkpoint state files
|
|
59
65
|
- **Programmatic API** -- Use as a library in your own applications
|
|
@@ -66,6 +72,7 @@ graph TD
|
|
|
66
72
|
- **CSV Exports** -- Spreadsheet-ready table and column data
|
|
67
73
|
- **Mermaid Diagrams** -- Standalone ERD files (.mmd and .html)
|
|
68
74
|
- **Analysis Reports** -- Detailed metrics and quality assessments
|
|
75
|
+
- **Additional Schema Info** -- CodeGen-compatible JSON for soft FK/PK metadata
|
|
69
76
|
|
|
70
77
|
## Installation
|
|
71
78
|
|
|
@@ -251,7 +258,7 @@ Generate SQL
|
|
|
251
258
|
### 4. Export
|
|
252
259
|
|
|
253
260
|
```bash
|
|
254
|
-
db-auto-doc export --sql --markdown --html --csv --mermaid
|
|
261
|
+
db-auto-doc export --sql --markdown --html --csv --mermaid --schema-info
|
|
255
262
|
```
|
|
256
263
|
|
|
257
264
|
This generates:
|
|
@@ -260,6 +267,7 @@ This generates:
|
|
|
260
267
|
- **HTML Documentation**: Interactive searchable documentation
|
|
261
268
|
- **CSV Files**: tables.csv and columns.csv for spreadsheet analysis
|
|
262
269
|
- **Mermaid Diagrams**: erd.mmd and erd.html for visualization
|
|
270
|
+
- **Additional Schema Info**: `additionalSchemaInfo.json` for CodeGen soft FK/PK support
|
|
263
271
|
|
|
264
272
|
Optionally apply directly to database:
|
|
265
273
|
|
|
@@ -267,6 +275,12 @@ Optionally apply directly to database:
|
|
|
267
275
|
db-auto-doc export --sql --apply
|
|
268
276
|
```
|
|
269
277
|
|
|
278
|
+
Export only AI-discovered relationships (exclude hard DB constraints):
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
db-auto-doc export --schema-info --schema-info-discovered-only --confidence-threshold 70
|
|
282
|
+
```
|
|
283
|
+
|
|
270
284
|
### 5. Export Sample Queries to Metadata (Optional)
|
|
271
285
|
|
|
272
286
|
Transform generated sample queries into MemberJunction metadata format for syncing to the database:
|
|
@@ -420,6 +434,153 @@ Analysis stops when:
|
|
|
420
434
|
3. **Max iterations** reached
|
|
421
435
|
4. **Guardrail limits** exceeded (tokens, cost, duration)
|
|
422
436
|
|
|
437
|
+
### Ground Truth System
|
|
438
|
+
|
|
439
|
+
Provide authoritative, user-supplied documentation that AI analysis must respect. Ground truth descriptions are injected into prompts as `AUTHORITATIVE` context and are never overwritten by AI analysis or backpropagation.
|
|
440
|
+
|
|
441
|
+
**Configuration:**
|
|
442
|
+
```json
|
|
443
|
+
{
|
|
444
|
+
"seedContext": {
|
|
445
|
+
"overallPurpose": "E-commerce platform for retail",
|
|
446
|
+
"businessDomains": ["Sales", "Inventory", "Users"],
|
|
447
|
+
"industryContext": "Retail"
|
|
448
|
+
},
|
|
449
|
+
"groundTruth": {
|
|
450
|
+
"databaseDescription": "Primary transactional database for online store",
|
|
451
|
+
"schemas": {
|
|
452
|
+
"dbo": { "description": "Core application schema", "businessDomain": "Core" },
|
|
453
|
+
"hr": { "description": "Human resources schema", "businessDomain": "HR" }
|
|
454
|
+
},
|
|
455
|
+
"tables": {
|
|
456
|
+
"dbo.Users": {
|
|
457
|
+
"description": "Registered user accounts with authentication data",
|
|
458
|
+
"notes": "Primary user table - synced from identity provider",
|
|
459
|
+
"businessDomain": "Identity",
|
|
460
|
+
"columns": {
|
|
461
|
+
"Email": { "description": "Primary email for authentication", "notes": "Must be unique" },
|
|
462
|
+
"Status": { "description": "Account status: Active, Suspended, Deleted" }
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
**How it works:**
|
|
471
|
+
- Tables/columns with ground truth are marked `userApproved: true` in state
|
|
472
|
+
- AI prompts receive ground truth as `AUTHORITATIVE` context to guide analysis
|
|
473
|
+
- Backpropagation skips user-approved tables/columns entirely
|
|
474
|
+
- Ground truth tables are never cleared by `--reanalyze-below-confidence`
|
|
475
|
+
- `businessDomain` falls back from table → schema if not specified at table level
|
|
476
|
+
|
|
477
|
+
### Incremental State Saves
|
|
478
|
+
|
|
479
|
+
State is persisted to disk at every phase boundary, not just at the end. If analysis is interrupted, you can resume from the last checkpoint:
|
|
480
|
+
|
|
481
|
+
- After database introspection (schema structure captured)
|
|
482
|
+
- After loading existing database descriptions
|
|
483
|
+
- After data sampling (statistics and cardinality)
|
|
484
|
+
- After each table's analysis iteration
|
|
485
|
+
- After sanity checks and backpropagation
|
|
486
|
+
|
|
487
|
+
### User-Approved Description Protection
|
|
488
|
+
|
|
489
|
+
Tables and columns marked `userApproved: true` (via ground truth or manual approval) are protected from modification:
|
|
490
|
+
|
|
491
|
+
- **Analysis Engine**: Skips user-approved tables during iterative analysis
|
|
492
|
+
- **Column Updates**: Skips user-approved columns when applying AI descriptions
|
|
493
|
+
- **Backpropagation**: Skips user-approved tables during re-analysis
|
|
494
|
+
- **Reanalysis**: Ground truth items are never cleared by `--reanalyze-below-confidence`
|
|
495
|
+
|
|
496
|
+
### Enhanced Resume
|
|
497
|
+
|
|
498
|
+
Resume analysis with fine-grained control:
|
|
499
|
+
|
|
500
|
+
```bash
|
|
501
|
+
# Resume and re-analyze tables with confidence below 70%
|
|
502
|
+
db-auto-doc analyze --resume ./state.json --reanalyze-below-confidence 0.7
|
|
503
|
+
|
|
504
|
+
# Resume with a different iteration limit
|
|
505
|
+
db-auto-doc analyze --resume ./state.json --max-iterations 20
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
The `--reanalyze-below-confidence` flag clears `userApproved` on non-ground-truth tables whose latest confidence is below the threshold, allowing them to be re-analyzed while protecting authoritative descriptions.
|
|
509
|
+
|
|
510
|
+
### CodeGen Integration (Additional Schema Info)
|
|
511
|
+
|
|
512
|
+
DBAutoDoc automatically emits `additionalSchemaInfo.json` in every analysis run folder. This file is compatible with MemberJunction CodeGen's soft FK/PK system, allowing AI-discovered relationships to be fed back into the metadata layer.
|
|
513
|
+
|
|
514
|
+
**Output format** (matches CodeGen's `additionalSchemaInfo.json`):
|
|
515
|
+
```json
|
|
516
|
+
{
|
|
517
|
+
"Schemas": [
|
|
518
|
+
{
|
|
519
|
+
"name": "CRM",
|
|
520
|
+
"entityNamePrefix": "CRM: ",
|
|
521
|
+
"entityNameSuffix": "",
|
|
522
|
+
"description": "Customer relationship management tables"
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "ACCOUNTING",
|
|
526
|
+
"entityNamePrefix": "Accounting: ",
|
|
527
|
+
"entityNameSuffix": "",
|
|
528
|
+
"description": "Financial and accounting tables"
|
|
529
|
+
}
|
|
530
|
+
],
|
|
531
|
+
"CRM": [
|
|
532
|
+
{
|
|
533
|
+
"TableName": "CUSTOMER",
|
|
534
|
+
"PrimaryKey": [
|
|
535
|
+
{ "FieldName": "CUSTOMER_ID", "Description": "AI-discovered primary key (confidence: 95%)" }
|
|
536
|
+
]
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"TableName": "ORDER",
|
|
540
|
+
"ForeignKeys": [
|
|
541
|
+
{
|
|
542
|
+
"FieldName": "CUSTOMER_ID",
|
|
543
|
+
"SchemaName": "CRM",
|
|
544
|
+
"RelatedTable": "CUSTOMER",
|
|
545
|
+
"RelatedField": "CUSTOMER_ID",
|
|
546
|
+
"Description": "AI-discovered relationship (confidence: 88%)"
|
|
547
|
+
}
|
|
548
|
+
]
|
|
549
|
+
}
|
|
550
|
+
]
|
|
551
|
+
}
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
#### Schemas Section (Entity Name Prefixes)
|
|
555
|
+
|
|
556
|
+
The top-level `Schemas` array provides entity naming recommendations for CodeGen. For multi-schema databases, each schema gets a prefix to prevent entity name collisions when CodeGen creates MemberJunction entities.
|
|
557
|
+
|
|
558
|
+
**Prefix generation rules:**
|
|
559
|
+
- **Single-schema databases**: No prefix (empty string) — collisions are impossible
|
|
560
|
+
- **Known acronyms** (CRM, AI, HR, ERP, ETL, API, etc.): Kept uppercase (e.g., `"CRM: "`)
|
|
561
|
+
- **Compound underscore names**: Normalized with title-case (e.g., `AI_COMMERCE_CONTEXT` → `"AI Commerce Context: "`)
|
|
562
|
+
- **Regular names**: Title-cased (e.g., `ACCOUNTING` → `"Accounting: "`)
|
|
563
|
+
|
|
564
|
+
CodeGen reads the `Schemas` array and applies prefixes to `SchemaInfo` records, which are then prepended to entity display names during entity creation. This ensures entities like `CRM.CUSTOMER` and `SALES.CUSTOMER` become `"CRM: Customer"` and `"Sales: Customer"` instead of colliding.
|
|
565
|
+
|
|
566
|
+
#### PK/FK Data
|
|
567
|
+
|
|
568
|
+
**Data sources:**
|
|
569
|
+
1. Hard FK/PK from database introspection (always included unless `--schema-info-discovered-only`)
|
|
570
|
+
2. AI-discovered PK/FK candidates from the relationship discovery phase
|
|
571
|
+
|
|
572
|
+
**Export options:**
|
|
573
|
+
- `--schema-info` -- Generate the file
|
|
574
|
+
- `--schema-info-discovered-only` -- Only include AI-discovered keys (exclude hard DB constraints)
|
|
575
|
+
- `--schema-info-confirmed-only` -- Only include confirmed candidates (exclude unvalidated)
|
|
576
|
+
- `--confidence-threshold N` -- Minimum confidence score for discovered keys
|
|
577
|
+
|
|
578
|
+
**Usage with CodeGen:**
|
|
579
|
+
1. Run DBAutoDoc analysis on a legacy database
|
|
580
|
+
2. Copy `additionalSchemaInfo.json` to your MJ project
|
|
581
|
+
3. Set `codeGen.additionalSchemaInfo` path in `mj.config.cjs`
|
|
582
|
+
4. Run CodeGen to apply soft FK/PK metadata and schema prefixes to entity records
|
|
583
|
+
|
|
423
584
|
### Granular Guardrails
|
|
424
585
|
|
|
425
586
|
Multi-level resource controls ensure analysis stays within bounds:
|
|
@@ -829,7 +990,8 @@ import {
|
|
|
829
990
|
MarkdownGenerator,
|
|
830
991
|
HTMLGenerator,
|
|
831
992
|
CSVGenerator,
|
|
832
|
-
MermaidGenerator
|
|
993
|
+
MermaidGenerator,
|
|
994
|
+
AdditionalSchemaInfoGenerator
|
|
833
995
|
} from '@memberjunction/db-auto-doc';
|
|
834
996
|
|
|
835
997
|
// Load config
|
|
@@ -875,6 +1037,13 @@ const { tables, columns } = csvGen.generate(state);
|
|
|
875
1037
|
const mermaidGen = new MermaidGenerator();
|
|
876
1038
|
const erdDiagram = mermaidGen.generate(state);
|
|
877
1039
|
const erdHtml = mermaidGen.generateHtml(state);
|
|
1040
|
+
|
|
1041
|
+
const schemaInfoGen = new AdditionalSchemaInfoGenerator();
|
|
1042
|
+
const schemaInfo = schemaInfoGen.generate(state, {
|
|
1043
|
+
discoveredOnly: true, // Only AI-discovered keys
|
|
1044
|
+
confidenceThreshold: 70, // Minimum confidence
|
|
1045
|
+
confirmedOnly: true // Only LLM-validated candidates
|
|
1046
|
+
});
|
|
878
1047
|
```
|
|
879
1048
|
|
|
880
1049
|
## Cost Estimation
|
package/bin/run.js
CHANGED
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import 'dotenv
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { config as dotenvConfig } from 'dotenv';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import { resolve, dirname } from 'path';
|
|
5
5
|
|
|
6
|
-
// Load
|
|
7
|
-
|
|
6
|
+
// Load .env from repo root (3 levels up from bin/run.js) so MJ config vars are available
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
dotenvConfig({ path: resolve(__dirname, '../../../.env') });
|
|
9
|
+
// Also load from CWD if present (for local overrides)
|
|
10
|
+
dotenvConfig();
|
|
8
11
|
|
|
12
|
+
// Commands that need the full MJ server bootstrap (database connectivity, AI providers, etc.)
|
|
13
|
+
const heavyCommands = ['analyze', 'generate-queries', 'export-sample-queries'];
|
|
14
|
+
const commandArg = process.argv[2];
|
|
15
|
+
const needsBootstrap = heavyCommands.includes(commandArg);
|
|
16
|
+
|
|
17
|
+
if (needsBootstrap) {
|
|
18
|
+
await import('@memberjunction/server-bootstrap/mj-class-registrations');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const { execute } = await import('@oclif/core');
|
|
9
22
|
await execute({ dir: import.meta.url });
|
package/dist/commands/analyze.js
CHANGED
|
@@ -43,7 +43,7 @@ export default class Analyze extends Command {
|
|
|
43
43
|
spinner.succeed(`${message}: ${JSON.stringify(data)}`);
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
spinner.
|
|
46
|
+
spinner.succeed(message);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
});
|
|
@@ -54,7 +54,7 @@ export default class Analyze extends Command {
|
|
|
54
54
|
spinner.succeed('Analysis complete!');
|
|
55
55
|
this.log(chalk.green('\n✓ Analysis complete!'));
|
|
56
56
|
this.log(` Iterations: ${result.run.iterationsPerformed}`);
|
|
57
|
-
this.log(` Tokens used: ${result.run.totalTokensUsed?.toLocaleString() || 0}`);
|
|
57
|
+
this.log(` Tokens used: ${result.run.totalTokensUsed?.toLocaleString() || 0} (input: ${(result.run.totalInputTokens || 0).toLocaleString()}, output: ${(result.run.totalOutputTokens || 0).toLocaleString()})`);
|
|
58
58
|
this.log(` Estimated cost: $${result.run.estimatedCost?.toFixed(2) || '0.00'}`);
|
|
59
59
|
this.log(` Output folder: ${result.outputFolder}`);
|
|
60
60
|
this.log(` Files:`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;aACnC,gBAAW,GAAG,6CAA6C,CAAC;aAE5D,aAAQ,GAAG;QAChB,uBAAuB;QACvB,0DAA0D;QAC1D,iDAAiD;KAClD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,eAAe;SACzB,CAAC;KACH,CAAC;aAEK,SAAI,GAAG,EAAE,CAAC;IAEjB,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,qBAAqB;YACrB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAExC,sBAAsB;YACtB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;gBAC5C,MAAM;gBACN,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC5B,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;aACnC,gBAAW,GAAG,6CAA6C,CAAC;aAE5D,aAAQ,GAAG;QAChB,uBAAuB;QACvB,0DAA0D;QAC1D,iDAAiD;KAClD,CAAC;aAEK,UAAK,GAAG;QACb,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,eAAe;SACzB,CAAC;KACH,CAAC;aAEK,SAAI,GAAG,EAAE,CAAC;IAEjB,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,qBAAqB;YACrB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAExC,sBAAsB;YACtB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;gBAC5C,MAAM;gBACN,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC5B,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAE5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBACjN,IAAI,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;gBACjF,IAAI,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAE7B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;YAChD,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC"}
|
|
@@ -14,6 +14,9 @@ export default class Export extends Command {
|
|
|
14
14
|
csv: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
15
15
|
mermaid: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
16
16
|
report: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
|
+
'schema-info': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
|
+
'schema-info-discovered-only': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
19
|
+
'schema-info-confirmed-only': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
17
20
|
apply: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
18
21
|
'approved-only': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
19
22
|
'confidence-threshold': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAgB7C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,OAAO;IACzC,MAAM,CAAC,WAAW,SAAkF;IAEpG,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAeV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsL3B"}
|
package/dist/commands/export.js
CHANGED
|
@@ -14,7 +14,8 @@ import { ReportGenerator } from '../generators/ReportGenerator.js';
|
|
|
14
14
|
import { HTMLGenerator } from '../generators/HTMLGenerator.js';
|
|
15
15
|
import { CSVGenerator } from '../generators/CSVGenerator.js';
|
|
16
16
|
import { MermaidGenerator } from '../generators/MermaidGenerator.js';
|
|
17
|
-
import {
|
|
17
|
+
import { AdditionalSchemaInfoGenerator } from '../generators/AdditionalSchemaInfoGenerator.js';
|
|
18
|
+
// DatabaseConnection is lazy-imported only when --apply is used (requires DB credentials)
|
|
18
19
|
export default class Export extends Command {
|
|
19
20
|
static { this.description = 'Export documentation in multiple formats (SQL, Markdown, HTML, CSV, Mermaid)'; }
|
|
20
21
|
static { this.examples = [
|
|
@@ -35,6 +36,9 @@ export default class Export extends Command {
|
|
|
35
36
|
csv: Flags.boolean({ description: 'Generate CSV exports (tables and columns)' }),
|
|
36
37
|
mermaid: Flags.boolean({ description: 'Generate Mermaid ERD diagram files' }),
|
|
37
38
|
report: Flags.boolean({ description: 'Generate analysis report' }),
|
|
39
|
+
'schema-info': Flags.boolean({ description: 'Generate additionalSchemaInfo.json for CodeGen soft FK/PK support' }),
|
|
40
|
+
'schema-info-discovered-only': Flags.boolean({ description: 'Only include AI-discovered keys in schema info (exclude hard DB constraints)', default: false }),
|
|
41
|
+
'schema-info-confirmed-only': Flags.boolean({ description: 'Only include confirmed candidates in schema info', default: false }),
|
|
38
42
|
apply: Flags.boolean({ description: 'Apply SQL to database', default: false }),
|
|
39
43
|
'approved-only': Flags.boolean({ description: 'Only export approved items', default: false }),
|
|
40
44
|
'confidence-threshold': Flags.string({ description: 'Minimum confidence threshold', default: '0' })
|
|
@@ -73,7 +77,7 @@ export default class Export extends Command {
|
|
|
73
77
|
// Ensure output directory exists
|
|
74
78
|
await fs.mkdir(outputDir, { recursive: true });
|
|
75
79
|
// Default to SQL + Markdown if no specific format flags provided
|
|
76
|
-
const anyFormatSpecified = flags.sql || flags.markdown || flags.html || flags.csv || flags.mermaid || flags.report;
|
|
80
|
+
const anyFormatSpecified = flags.sql || flags.markdown || flags.html || flags.csv || flags.mermaid || flags.report || flags['schema-info'];
|
|
77
81
|
const generateSQL = flags.sql || !anyFormatSpecified;
|
|
78
82
|
const generateMarkdown = flags.markdown || !anyFormatSpecified;
|
|
79
83
|
const generateHTML = flags.html;
|
|
@@ -99,6 +103,7 @@ export default class Export extends Command {
|
|
|
99
103
|
}
|
|
100
104
|
else {
|
|
101
105
|
spinner.start('Applying SQL to database');
|
|
106
|
+
const { DatabaseConnection } = await import('../database/Database.js');
|
|
102
107
|
const dbConfig = {
|
|
103
108
|
provider: config.database.provider || 'sqlserver',
|
|
104
109
|
host: config.database.server,
|
|
@@ -172,6 +177,20 @@ export default class Export extends Command {
|
|
|
172
177
|
await fs.writeFile(reportPath, report, 'utf-8');
|
|
173
178
|
spinner.succeed(`Analysis report saved to ${reportPath}`);
|
|
174
179
|
}
|
|
180
|
+
// Generate Additional Schema Info (for CodeGen soft FK/PK)
|
|
181
|
+
if (flags['schema-info']) {
|
|
182
|
+
spinner.start('Generating additional schema info for CodeGen');
|
|
183
|
+
const schemaInfoGen = new AdditionalSchemaInfoGenerator();
|
|
184
|
+
const schemaInfo = schemaInfoGen.generate(state, {
|
|
185
|
+
approvedOnly: flags['approved-only'],
|
|
186
|
+
confidenceThreshold: parseFloat(flags['confidence-threshold']),
|
|
187
|
+
discoveredOnly: flags['schema-info-discovered-only'],
|
|
188
|
+
confirmedOnly: flags['schema-info-confirmed-only']
|
|
189
|
+
});
|
|
190
|
+
const schemaInfoPath = path.join(outputDir, 'additionalSchemaInfo.json');
|
|
191
|
+
await fs.writeFile(schemaInfoPath, schemaInfo, 'utf-8');
|
|
192
|
+
spinner.succeed(`Additional schema info saved to ${schemaInfoPath}`);
|
|
193
|
+
}
|
|
175
194
|
this.log(chalk.green('\n✓ Export complete!'));
|
|
176
195
|
}
|
|
177
196
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-queries.d.ts","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAkB7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAA8D;IAEhF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;MAkBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-queries.d.ts","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAkB7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAA8D;IAEhF,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;MAkBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwH3B"}
|
|
@@ -102,7 +102,7 @@ export default class GenerateQueries extends Command {
|
|
|
102
102
|
const stateManager = new StateManager(flags['from-state']);
|
|
103
103
|
// Create generator
|
|
104
104
|
spinner.start('Generating sample queries');
|
|
105
|
-
const generator = new SampleQueryGenerator(queryConfig, promptEngine, db.getDriver(), model, stateManager, effortLevel, maxTokens);
|
|
105
|
+
const generator = new SampleQueryGenerator(queryConfig, promptEngine, db.getDriver(), model, stateManager, effortLevel, maxTokens, config.ai.pricing);
|
|
106
106
|
// Generate queries (will update state file incrementally)
|
|
107
107
|
const result = await generator.generateQueries(state.schemas);
|
|
108
108
|
await db.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-queries.js","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate-queries.js","sourceRoot":"","sources":["../../src/commands/generate-queries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;aAC3C,gBAAW,GAAG,0DAA0D,CAAC;aAEzE,aAAQ,GAAG;QAChB,uEAAuE;QACvE,8FAA8F;QAC9F,kGAAkG;KACnG,CAAC;aAEK,UAAK,GAAG;QACb,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,yDAAyD;YACtE,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+DAA+D;YAC5E,OAAO,EAAE,eAAe;SACzB,CAAC;QACF,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE,yCAAyC;YACtD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC;YAClC,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,6DAA6D;YAC7D,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAExC,sBAAsB;YACtB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAA0B,CAAC;YAC7D,OAAO,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,MAAM,aAAa,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAEvI,sBAAsB;YACtB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxC,MAAM,YAAY,GAA4B;gBAC5C,QAAQ,EAAG,MAAM,CAAC,QAAQ,CAAC,QAA4D,IAAI,WAAW;gBACtG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;gBAC5B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;gBAClC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;gBAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;gBAClC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;gBAChC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC,sBAAsB;gBAC9D,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;gBACpD,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;gBAC9C,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;gBAC9C,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;gBAC9C,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,iBAAiB;aACrD,CAAC;YAEF,MAAM,EAAE,GAAG,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAEnC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAEzC,2BAA2B;YAC3B,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC7D,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAEvC,gCAAgC;YAChC,MAAM,WAAW,GAAgC;gBAC/C,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,eAAe,IAAI,CAAC;gBAC1G,gBAAgB,EAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,gBAAgB,IAAI,KAAK;gBACjH,yBAAyB,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,KAAK,KAAK;gBACrG,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,KAAK,KAAK;gBACrF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,WAAW,IAAI,MAAM;gBACzE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,eAAe,IAAI,EAAE;gBAC7E,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,SAAS,CAAE,wCAAwC;aACtG,CAAC;YAEF,mCAAmC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,CAAE,8BAA8B;YAE/E,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAE3D,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,oBAAoB,CACxC,WAAW,EACX,YAAY,EACZ,EAAE,CAAC,SAAS,EAAE,EACd,KAAK,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,MAAM,CAAC,EAAE,CAAC,OAAO,CAClB,CAAC;YAEF,0DAA0D;YAC1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE9D,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YAEjB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1F,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACxF,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;gBAE/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oBACrE,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;oBACjF,IAAI,CAAC,GAAG,CAAC,SAAS,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC;YACrD,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC"}
|
|
@@ -18,7 +18,8 @@ export declare class AnalysisEngine {
|
|
|
18
18
|
private guardrailsManager;
|
|
19
19
|
private startTime;
|
|
20
20
|
private currentRun?;
|
|
21
|
-
|
|
21
|
+
private onProgress;
|
|
22
|
+
constructor(config: DBAutoDocConfig, promptEngine: PromptEngine, stateManager: StateManager, iterationTracker: IterationTracker, onProgress?: (message: string, data?: Record<string, unknown>) => void);
|
|
22
23
|
/**
|
|
23
24
|
* Initialize timing for guardrails and set current run
|
|
24
25
|
*/
|
|
@@ -26,7 +27,10 @@ export declare class AnalysisEngine {
|
|
|
26
27
|
/**
|
|
27
28
|
* Process a single dependency level
|
|
28
29
|
*/
|
|
29
|
-
processLevel(state: DatabaseDocumentation, run: AnalysisRun, level: number, tables: TableNode[]): Promise<
|
|
30
|
+
processLevel(state: DatabaseDocumentation, run: AnalysisRun, level: number, tables: TableNode[]): Promise<{
|
|
31
|
+
triggers: BackpropagationTrigger[];
|
|
32
|
+
guardrailExceeded: boolean;
|
|
33
|
+
}>;
|
|
30
34
|
/**
|
|
31
35
|
* Analyze a single table
|
|
32
36
|
*/
|
|
@@ -35,6 +39,10 @@ export declare class AnalysisEngine {
|
|
|
35
39
|
* Build context for table analysis
|
|
36
40
|
*/
|
|
37
41
|
private buildTableContext;
|
|
42
|
+
/**
|
|
43
|
+
* Build ground truth context for a table from config
|
|
44
|
+
*/
|
|
45
|
+
private buildGroundTruthContext;
|
|
38
46
|
/**
|
|
39
47
|
* Compare descriptions using LLM to determine material changes
|
|
40
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalysisEngine.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,mBAAmB,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AnalysisEngine.d.ts","sourceRoot":"","sources":["../../src/core/AnalysisEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,mBAAmB,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAiD,MAAM,sBAAsB,CAAC;AAUxH,OAAO,EAAE,eAAe,EAAuC,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,qBAAa,cAAc;IAUvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IAZ1B,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAc;IAEjC,OAAO,CAAC,UAAU,CAA4D;gBAGpE,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAC1C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IA8BxE;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAM5C;;OAEG;IACU,YAAY,CACvB,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC;QAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IAgC9E;;OAEG;YACW,YAAY;IAqK1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2DzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA+B/B;;OAEG;YACW,mBAAmB;IAuEjC;;;OAGG;IACU,iCAAiC,CAC5C,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC;IAwEnB;;;OAGG;IACU,6BAA6B,CACxC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC;IA6FnB;;;OAGG;IACU,6BAA6B,CACxC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,OAAO,CAAC;IA+EnB;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO;IAWhF;;OAEG;IACU,sBAAsB,CACjC,KAAK,EAAE,qBAAqB,EAC5B,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,sBAAsB,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAgJhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoE/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAiE3B"}
|