@memberjunction/db-auto-doc 5.37.0 → 5.39.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 (66) hide show
  1. package/README.md +31 -0
  2. package/dist/core/AnalysisOrchestrator.d.ts.map +1 -1
  3. package/dist/core/AnalysisOrchestrator.js +32 -2
  4. package/dist/core/AnalysisOrchestrator.js.map +1 -1
  5. package/dist/discovery/BridgeViewSQLGenerator.d.ts +67 -0
  6. package/dist/discovery/BridgeViewSQLGenerator.d.ts.map +1 -0
  7. package/dist/discovery/BridgeViewSQLGenerator.js +99 -0
  8. package/dist/discovery/BridgeViewSQLGenerator.js.map +1 -0
  9. package/dist/discovery/ColumnClusterer.d.ts +63 -0
  10. package/dist/discovery/ColumnClusterer.d.ts.map +1 -0
  11. package/dist/discovery/ColumnClusterer.js +205 -0
  12. package/dist/discovery/ColumnClusterer.js.map +1 -0
  13. package/dist/discovery/ColumnNormalizer.d.ts +106 -0
  14. package/dist/discovery/ColumnNormalizer.d.ts.map +1 -0
  15. package/dist/discovery/ColumnNormalizer.js +376 -0
  16. package/dist/discovery/ColumnNormalizer.js.map +1 -0
  17. package/dist/discovery/Composer.d.ts +59 -0
  18. package/dist/discovery/Composer.d.ts.map +1 -0
  19. package/dist/discovery/Composer.js +95 -0
  20. package/dist/discovery/Composer.js.map +1 -0
  21. package/dist/discovery/EmbeddingProvider.d.ts +27 -0
  22. package/dist/discovery/EmbeddingProvider.d.ts.map +1 -0
  23. package/dist/discovery/EmbeddingProvider.js +87 -0
  24. package/dist/discovery/EmbeddingProvider.js.map +1 -0
  25. package/dist/discovery/FKGraphWalker.d.ts +108 -0
  26. package/dist/discovery/FKGraphWalker.d.ts.map +1 -0
  27. package/dist/discovery/FKGraphWalker.js +169 -0
  28. package/dist/discovery/FKGraphWalker.js.map +1 -0
  29. package/dist/discovery/OrganicKeyDetector.d.ts +51 -0
  30. package/dist/discovery/OrganicKeyDetector.d.ts.map +1 -0
  31. package/dist/discovery/OrganicKeyDetector.js +78 -0
  32. package/dist/discovery/OrganicKeyDetector.js.map +1 -0
  33. package/dist/discovery/OrganicKeyTranslator.d.ts +78 -0
  34. package/dist/discovery/OrganicKeyTranslator.d.ts.map +1 -0
  35. package/dist/discovery/OrganicKeyTranslator.js +166 -0
  36. package/dist/discovery/OrganicKeyTranslator.js.map +1 -0
  37. package/dist/discovery/SemanticPhase.d.ts +70 -0
  38. package/dist/discovery/SemanticPhase.d.ts.map +1 -0
  39. package/dist/discovery/SemanticPhase.js +423 -0
  40. package/dist/discovery/SemanticPhase.js.map +1 -0
  41. package/dist/discovery/StructuralPhase.d.ts +24 -0
  42. package/dist/discovery/StructuralPhase.d.ts.map +1 -0
  43. package/dist/discovery/StructuralPhase.js +23 -0
  44. package/dist/discovery/StructuralPhase.js.map +1 -0
  45. package/dist/discovery/TransitiveBridgeDetector.d.ts +65 -0
  46. package/dist/discovery/TransitiveBridgeDetector.d.ts.map +1 -0
  47. package/dist/discovery/TransitiveBridgeDetector.js +244 -0
  48. package/dist/discovery/TransitiveBridgeDetector.js.map +1 -0
  49. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts +12 -0
  50. package/dist/generators/AdditionalSchemaInfoGenerator.d.ts.map +1 -1
  51. package/dist/generators/AdditionalSchemaInfoGenerator.js +31 -0
  52. package/dist/generators/AdditionalSchemaInfoGenerator.js.map +1 -1
  53. package/dist/types/config.d.ts +71 -0
  54. package/dist/types/config.d.ts.map +1 -1
  55. package/dist/types/config.js.map +1 -1
  56. package/dist/types/organic-keys.d.ts +141 -0
  57. package/dist/types/organic-keys.d.ts.map +1 -0
  58. package/dist/types/organic-keys.js +27 -0
  59. package/dist/types/organic-keys.js.map +1 -0
  60. package/dist/types/state.d.ts +7 -0
  61. package/dist/types/state.d.ts.map +1 -1
  62. package/dist/utils/json.d.ts +40 -0
  63. package/dist/utils/json.d.ts.map +1 -0
  64. package/dist/utils/json.js +141 -0
  65. package/dist/utils/json.js.map +1 -0
  66. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8PF,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgVF,CAAC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Organic-Key Cluster Detection — types.
3
+ *
4
+ * A cluster is N≥2 columns across ≥2 tables sharing a single business-meaningful
5
+ * value space (email addresses, customer IDs, phone numbers, etc.). The runtime
6
+ * organic-key feature (see PR #2193) matches records across tables by literal
7
+ * value equality; clusters propose which columns should form such match groups.
8
+ *
9
+ * See plans/dbautodoc-organic-keys.md.
10
+ */
11
+ /** Strategy used to normalize values before equality comparison (matches PR #2193). */
12
+ export type OrganicKeyNormalizationStrategy = 'LowerCaseTrim' | 'Trim' | 'ExactMatch' | 'Custom';
13
+ /** A single column (Pattern 1) or compound tuple (Pattern 2) participating in a cluster. */
14
+ export interface OrganicKeyClusterMember {
15
+ schema: string;
16
+ table: string;
17
+ /** Primary column for Pattern 1; first column of the tuple for Pattern 2. */
18
+ column: string;
19
+ /**
20
+ * Pattern 2 — additional columns of a compound key tuple, in positional order.
21
+ * Undefined or empty for single-column (Pattern 1) members. When set, the full
22
+ * compound match is `[column, ...additionalColumns]` which the translator emits
23
+ * as `MatchFieldNames` for PR #2193's runtime.
24
+ */
25
+ additionalColumns?: string[];
26
+ /** Whether the column appears in any FK relationship (declared or DBAutoDoc-discovered). */
27
+ participatesInFK: boolean;
28
+ /** FK target column if `participatesInFK` is true. */
29
+ fkTarget?: {
30
+ schema: string;
31
+ table: string;
32
+ column: string;
33
+ } | null;
34
+ /** Whether the column is a PK (informational; affects tagging). */
35
+ isPrimaryKey?: boolean;
36
+ /**
37
+ * Per-column normalization strategy — the function that should be applied to THIS
38
+ * column's values at match time. Persisted into THIS column's hub `EntityOrganicKey`
39
+ * row at emission. Different members of the same cluster can have different strategies
40
+ * (e.g. one column already canonical → ExactMatch, another needs LowerCaseTrim).
41
+ * Falls back to the cluster-level `normalization` when not set.
42
+ */
43
+ normalizationStrategy?: OrganicKeyNormalizationStrategy;
44
+ /** Custom SQL expression for this column when normalizationStrategy='Custom'. */
45
+ customNormalizationExpression?: string;
46
+ }
47
+ /** Helper: returns the complete column list for a member (single or compound). */
48
+ export declare function memberColumns(m: OrganicKeyClusterMember): string[];
49
+ /** Helper: true when the member represents a compound tuple (Pattern 2). */
50
+ export declare function isCompoundMember(m: OrganicKeyClusterMember): boolean;
51
+ /** A confirmed cluster after LLM refinement — one business concept, N member columns. */
52
+ export interface OrganicKeyCluster {
53
+ /** Stable identifier for this cluster within the analysis run. */
54
+ id: string;
55
+ /** Canonical snake_case concept name (e.g. "email_address", "customer_id"). */
56
+ concept: string;
57
+ /** Cluster-level normalization strategy. */
58
+ normalization: OrganicKeyNormalizationStrategy;
59
+ /** Optional custom normalization SQL expression when normalization='Custom'. */
60
+ customNormalizationExpression?: string;
61
+ /** Members surviving the LLM refinement pass. */
62
+ members: OrganicKeyClusterMember[];
63
+ /** Cluster-level confidence (0–1). */
64
+ confidence: number;
65
+ /** LLM reasoning for why this cluster is a coherent business concept. */
66
+ reasoning: string;
67
+ /** Maximum pairwise embedding distance among members at clustering time (legacy field; 0 with the LLM-only pipeline). */
68
+ maxIntraDistance: number;
69
+ /**
70
+ * Set when EVERY non-PK member is a declared FK pointing at the PK member's column.
71
+ * PR #2193 organic keys exist to provide value-based matching "in place of a FK";
72
+ * when the FK is already declared, the cluster adds no navigation value and may
73
+ * indicate a lookup-table-PK pattern (country/currency/state codes). The dashboard
74
+ * can use this to offer a "hide FK-redundant" filter without losing the data.
75
+ */
76
+ isFKRedundant?: boolean;
77
+ }
78
+ /**
79
+ * Algorithmic configuration the detector actually runs with at execution time.
80
+ *
81
+ * Layering note: these are DBAutoDoc-internal tuning knobs. DBAutoDoc is a
82
+ * standalone tool that does NOT depend on MemberJunction, so these settings
83
+ * must be exposed through DBAutoDoc's own config system (see DBAutoDocConfig
84
+ * in types/config.ts) — NOT through mj.config.cjs.
85
+ *
86
+ * Cross-MJ-tool project facts (e.g. the project-wide table-exclusion list that
87
+ * CodeGen, mj-sync, and DBAutoDoc all need to agree on) DO live in mj.config.cjs;
88
+ * algorithm tuning does not.
89
+ *
90
+ * DEFAULT_DETECTOR_CONFIG values are the fallbacks used when DBAutoDoc's config
91
+ * doesn't override them; they are not authoritative.
92
+ */
93
+ export interface OrganicKeyDetectorConfig {
94
+ /** Cosine-distance threshold for the agglomerative merge step. Lower = tighter clusters. */
95
+ mergeThreshold: number;
96
+ /** Minimum cluster size to report. */
97
+ minClusterSize: number;
98
+ /** Minimum number of distinct tables a cluster must span. */
99
+ minDistinctTables: number;
100
+ /** Sample values per column to include in the embedding input (and refiner prompt). */
101
+ sampleValueCount: number;
102
+ /** Concurrency for per-cluster LLM refinement. */
103
+ refinementConcurrency: number;
104
+ }
105
+ /** Fallback values used when DBAutoDoc's config doesn't override them. Not authoritative. */
106
+ export declare const DEFAULT_DETECTOR_CONFIG: OrganicKeyDetectorConfig;
107
+ /** Per-run phase tracking persisted in state.json. */
108
+ export interface OrganicKeyDetectionPhase {
109
+ triggered: boolean;
110
+ startedAt: string;
111
+ completedAt?: string;
112
+ status: 'running' | 'completed' | 'failed' | 'skipped';
113
+ candidateClusterCount: number;
114
+ confirmedClusterCount: number;
115
+ rejectedClusterCount: number;
116
+ splitClusterCount: number;
117
+ tokensUsed: number;
118
+ inputTokens: number;
119
+ outputTokens: number;
120
+ estimatedCost: number;
121
+ embeddingModelUsed?: string;
122
+ refinementModelUsed?: string;
123
+ skipReason?: string;
124
+ errorMessage?: string;
125
+ }
126
+ /** Outcome of refining a single cluster. */
127
+ export interface ClusterRefinementOutcome {
128
+ outcome: 'keep' | 'split' | 'reject' | 'error';
129
+ /** For 'keep' — refined cluster with concept + normalization + outliers ejected. */
130
+ refinedCluster?: OrganicKeyCluster;
131
+ /** For 'split' — coherent sub-clusters the LLM partitioned the input into. */
132
+ subClusters?: OrganicKeyCluster[];
133
+ /** For 'reject' — LLM-provided reason. */
134
+ rejectReason?: string;
135
+ /** For 'error' — failure detail. */
136
+ errorMessage?: string;
137
+ tokensUsed: number;
138
+ inputTokens: number;
139
+ outputTokens: number;
140
+ }
141
+ //# sourceMappingURL=organic-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organic-keys.d.ts","sourceRoot":"","sources":["../../src/types/organic-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Organic-Key Cluster Detection — types.
3
+ *
4
+ * A cluster is N≥2 columns across ≥2 tables sharing a single business-meaningful
5
+ * value space (email addresses, customer IDs, phone numbers, etc.). The runtime
6
+ * organic-key feature (see PR #2193) matches records across tables by literal
7
+ * value equality; clusters propose which columns should form such match groups.
8
+ *
9
+ * See plans/dbautodoc-organic-keys.md.
10
+ */
11
+ /** Helper: returns the complete column list for a member (single or compound). */
12
+ export function memberColumns(m) {
13
+ return [m.column, ...(m.additionalColumns ?? [])];
14
+ }
15
+ /** Helper: true when the member represents a compound tuple (Pattern 2). */
16
+ export function isCompoundMember(m) {
17
+ return (m.additionalColumns?.length ?? 0) > 0;
18
+ }
19
+ /** Fallback values used when DBAutoDoc's config doesn't override them. Not authoritative. */
20
+ export const DEFAULT_DETECTOR_CONFIG = {
21
+ mergeThreshold: 0.35,
22
+ minClusterSize: 2,
23
+ minDistinctTables: 2,
24
+ sampleValueCount: 5,
25
+ refinementConcurrency: 4,
26
+ };
27
+ //# sourceMappingURL=organic-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organic-keys.js","sourceRoot":"","sources":["../../src/types/organic-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqCH,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,CAA0B;IACpD,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,CAA0B;IACvD,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC;AA2DD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC7D,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,CAAC;IACjB,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,CAAC;IACnB,qBAAqB,EAAE,CAAC;CAC3B,CAAC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { RelationshipDiscoveryPhase, CachedColumnStats } from './discovery.js';
6
6
  import { SampleQuery, SampleQueryGenerationSummary } from './sample-queries.js';
7
+ import { OrganicKeyCluster, OrganicKeyDetectionPhase } from './organic-keys.js';
7
8
  export interface DatabaseDocumentation {
8
9
  version: string;
9
10
  summary: AnalysisSummary;
@@ -12,6 +13,11 @@ export interface DatabaseDocumentation {
12
13
  phases: AnalysisPhases;
13
14
  schemas: SchemaDefinition[];
14
15
  sampleQueries?: SampleQueriesDeliverable;
16
+ /**
17
+ * Deliverable: organic-key clusters detected by the optional organic-key
18
+ * detection phase. Empty/absent when that phase didn't run.
19
+ */
20
+ organicKeyClusters?: OrganicKeyCluster[];
15
21
  resumedFromFile?: string;
16
22
  }
17
23
  /**
@@ -51,6 +57,7 @@ export interface AnalysisPhases {
51
57
  keyDetection?: RelationshipDiscoveryPhase;
52
58
  descriptionGeneration: AnalysisRun[];
53
59
  queryGeneration?: QueryGenerationPhase;
60
+ organicKeyDetection?: OrganicKeyDetectionPhase;
54
61
  }
55
62
  /**
56
63
  * Query generation phase metadata (process tracking)
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IAGxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IAGtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,qBAAqB,EAAE,WAAW,EAAE,CAAC;IACrC,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,4BAA4B,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,qFAAqF;IACrF,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACjC,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,EAAE,KAAK,GAAG,kBAAkB,GAAG,eAAe,CAAC;IACrD,gEAAgE;IAChE,qBAAqB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1E,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGzE,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAG3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IAGF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,GAAG,iBAAiB,GAAG,YAAY,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,2BAA2B,GAAG,cAAc,GAAG,yBAAyB,CAAC;IAC1L,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,UAAU,GAAG,MAAM,GAAG,oBAAoB,CAAC;IAClH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,GAAG,2BAA2B,CAAC;IACtH,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE;QACnB,sBAAsB,EAAE,OAAO,CAAC;QAChC,oBAAoB,EAAE,MAAM,CAAC;QAC7B,aAAa,EAAE,KAAK,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,iBAAiB,EAAE,OAAO,CAAC;YAC3B,eAAe,EAAE,MAAM,CAAC;SACzB,CAAC,CAAC;KACJ,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,kBAAkB,GAAG,cAAc,GAAG,cAAc,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/types/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * JSON utilities — DBAutoDoc-local, no external dependencies.
3
+ *
4
+ * Faithful port of @memberjunction/global's CleanAndParseJSON / CleanJSON /
5
+ * SafeJSONParse so DBAutoDoc runs standalone without depending on
6
+ * @memberjunction/global. Preserves the multi-stage fallback chain MJ uses
7
+ * to handle real-world LLM output:
8
+ * 1. Try direct JSON.parse
9
+ * 2. Try removing or adding a trailing `}` (common LLM truncation/over-close artifact)
10
+ * 3. Strip non-escaped newlines/tabs
11
+ * 4. Undo double-escaped sequences (\\n, \\", etc.)
12
+ * 5. Try JSON.parse again
13
+ * 6. Extract from ``` ... ``` markdown fences (recursive)
14
+ * 7. Fall back to balanced-{...}/[...] extraction from mixed prose
15
+ *
16
+ * Behavior must match MJ exactly so PromptEngine / LLMSanityChecker /
17
+ * LLMDiscoveryValidator (which currently rely on this fallback chain) keep
18
+ * working on the same LLM responses they handle today.
19
+ */
20
+ /**
21
+ * Strip optional markdown code fences, run the multi-stage cleanup pipeline,
22
+ * and parse the resulting JSON.
23
+ *
24
+ * @param inputString Raw string possibly wrapped in code fences, double-escaped,
25
+ * or mixed with explanatory prose.
26
+ * @param logErrors When true, parse errors are logged to console (default false).
27
+ * @returns Parsed value cast to `T`, or `null` on parse failure.
28
+ */
29
+ export declare function cleanAndParseJSON<T = any>(inputString: string | null, logErrors?: boolean): T | null;
30
+ /**
31
+ * Extract a valid-JSON string from arbitrary input. Returns null if no usable
32
+ * JSON can be salvaged. Behavior matches @memberjunction/global's CleanJSON.
33
+ */
34
+ export declare function cleanJSON(inputString: string | null): string | null;
35
+ /**
36
+ * Safe wrapper around JSON.parse. Catches errors; optionally logs them.
37
+ * Matches @memberjunction/global's SafeJSONParse.
38
+ */
39
+ export declare function safeJSONParse<T = any>(jsonString: string, logErrors?: boolean): T | null;
40
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;GAQG;AAEH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,UAAQ,GAAG,CAAC,GAAG,IAAI,CAKlG;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAqFnE;AAED;;;GAGG;AAEH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,CAAC,GAAG,IAAI,CAQtF"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * JSON utilities — DBAutoDoc-local, no external dependencies.
3
+ *
4
+ * Faithful port of @memberjunction/global's CleanAndParseJSON / CleanJSON /
5
+ * SafeJSONParse so DBAutoDoc runs standalone without depending on
6
+ * @memberjunction/global. Preserves the multi-stage fallback chain MJ uses
7
+ * to handle real-world LLM output:
8
+ * 1. Try direct JSON.parse
9
+ * 2. Try removing or adding a trailing `}` (common LLM truncation/over-close artifact)
10
+ * 3. Strip non-escaped newlines/tabs
11
+ * 4. Undo double-escaped sequences (\\n, \\", etc.)
12
+ * 5. Try JSON.parse again
13
+ * 6. Extract from ``` ... ``` markdown fences (recursive)
14
+ * 7. Fall back to balanced-{...}/[...] extraction from mixed prose
15
+ *
16
+ * Behavior must match MJ exactly so PromptEngine / LLMSanityChecker /
17
+ * LLMDiscoveryValidator (which currently rely on this fallback chain) keep
18
+ * working on the same LLM responses they handle today.
19
+ */
20
+ /**
21
+ * Strip optional markdown code fences, run the multi-stage cleanup pipeline,
22
+ * and parse the resulting JSON.
23
+ *
24
+ * @param inputString Raw string possibly wrapped in code fences, double-escaped,
25
+ * or mixed with explanatory prose.
26
+ * @param logErrors When true, parse errors are logged to console (default false).
27
+ * @returns Parsed value cast to `T`, or `null` on parse failure.
28
+ */
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ export function cleanAndParseJSON(inputString, logErrors = false) {
31
+ if (!inputString)
32
+ return null;
33
+ const cleaned = cleanJSON(inputString);
34
+ if (!cleaned)
35
+ return null;
36
+ return safeJSONParse(cleaned, logErrors);
37
+ }
38
+ /**
39
+ * Extract a valid-JSON string from arbitrary input. Returns null if no usable
40
+ * JSON can be salvaged. Behavior matches @memberjunction/global's CleanJSON.
41
+ */
42
+ export function cleanJSON(inputString) {
43
+ if (!inputString)
44
+ return null;
45
+ let processedString = inputString.trim();
46
+ let originalException = null;
47
+ // 1. Try parsing as-is. Preserves any embedded JSON or markdown inside string values.
48
+ try {
49
+ const parsed = JSON.parse(processedString);
50
+ return JSON.stringify(parsed, null, 2);
51
+ }
52
+ catch (e) {
53
+ originalException = e instanceof Error ? e : new Error(String(e));
54
+ // 2. Common LLM artifacts: extra trailing `}` or missing final `}`.
55
+ if (processedString.endsWith('}')) {
56
+ const withoutLast = processedString.slice(0, -1);
57
+ const withoutLastResult = safeJSONParse(withoutLast);
58
+ if (withoutLastResult)
59
+ return JSON.stringify(withoutLastResult, null, 2);
60
+ const withExtra = processedString + '}';
61
+ const withExtraResult = safeJSONParse(withExtra);
62
+ if (withExtraResult)
63
+ return JSON.stringify(withExtraResult, null, 2);
64
+ }
65
+ }
66
+ // 3. Strip formatting newlines/tabs — but preserve \n and \t inside string values.
67
+ processedString = processedString.replace(/(?<!\\)\n/g, '').replace(/(?<!\\)\t/g, '');
68
+ // 4. Undo double-escaped sequences (\\n → \n, \\" → ", etc.).
69
+ if (processedString.includes('\\\\') || processedString.includes('\\"')) {
70
+ try {
71
+ processedString = JSON.parse('"' + processedString + '"');
72
+ }
73
+ catch {
74
+ processedString = processedString
75
+ .replace(/\\\\n/g, '\n')
76
+ .replace(/\\\\t/g, '\t')
77
+ .replace(/\\\\r/g, '\r')
78
+ .replace(/\\\\"/g, '"')
79
+ .replace(/\\\\\\/g, '\\');
80
+ }
81
+ }
82
+ // 5. Try again after unescaping.
83
+ try {
84
+ const parsed = JSON.parse(processedString);
85
+ return JSON.stringify(parsed, null, 2);
86
+ }
87
+ catch {
88
+ // fall through to extraction logic
89
+ }
90
+ // 6. Pull JSON from ``` ... ``` markdown fences (json/JSON tag optional, also handles \` escapes).
91
+ const markdownRegex = /(?:```|\\`\\`\\`)(?:json|JSON)?\s*([\s\S]*?)(?:```|\\`\\`\\`)/gi;
92
+ const matches = Array.from(processedString.matchAll(markdownRegex));
93
+ if (matches.length > 0) {
94
+ const extracted = matches.map((m) => m[1].trim()).join('\n');
95
+ return cleanJSON(extracted); // recurse — extracted content may need its own cleanup
96
+ }
97
+ // 7. Last resort: find first `[` or `{`, take everything to the last matching close-bracket.
98
+ const firstBracketIndex = processedString.indexOf('[');
99
+ const firstBraceIndex = processedString.indexOf('{');
100
+ let startIndex = -1;
101
+ let endIndex = -1;
102
+ if ((firstBracketIndex !== -1 && firstBracketIndex < firstBraceIndex) || firstBraceIndex === -1) {
103
+ startIndex = firstBracketIndex;
104
+ endIndex = processedString.lastIndexOf(']');
105
+ }
106
+ else if (firstBraceIndex !== -1) {
107
+ startIndex = firstBraceIndex;
108
+ endIndex = processedString.lastIndexOf('}');
109
+ }
110
+ if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {
111
+ console.warn('No JSON found in the input.');
112
+ return processedString;
113
+ }
114
+ const potentialJSON = processedString.substring(startIndex, endIndex + 1);
115
+ try {
116
+ const jsonObject = JSON.parse(potentialJSON);
117
+ return JSON.stringify(jsonObject, null, 2);
118
+ }
119
+ catch {
120
+ // All paths exhausted — throw with the original message preserved.
121
+ throw new Error(`Failed to find a path to CleanJSON\n\n${originalException?.message}`);
122
+ }
123
+ }
124
+ /**
125
+ * Safe wrapper around JSON.parse. Catches errors; optionally logs them.
126
+ * Matches @memberjunction/global's SafeJSONParse.
127
+ */
128
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
129
+ export function safeJSONParse(jsonString, logErrors = false) {
130
+ if (!jsonString)
131
+ return null;
132
+ try {
133
+ return JSON.parse(jsonString);
134
+ }
135
+ catch (e) {
136
+ if (logErrors)
137
+ console.error('Error parsing JSON string:', e);
138
+ return null;
139
+ }
140
+ }
141
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/db-auto-doc",
3
3
  "type": "module",
4
- "version": "5.37.0",
4
+ "version": "5.39.0",
5
5
  "description": "AI-powered database documentation generator for SQL Server, MySQL, and PostgreSQL. Analyzes your database structure, uses AI to generate comprehensive descriptions, and saves them as metadata. Works standalone - no MemberJunction runtime required.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -72,10 +72,10 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@inquirer/prompts": "^8.2.0",
75
- "@memberjunction/ai": "5.37.0",
76
- "@memberjunction/server-bootstrap": "5.37.0",
77
- "@memberjunction/core": "5.37.0",
78
- "@memberjunction/global": "5.37.0",
75
+ "@memberjunction/ai": "5.39.0",
76
+ "@memberjunction/server-bootstrap": "5.39.0",
77
+ "@memberjunction/core": "5.39.0",
78
+ "@memberjunction/global": "5.39.0",
79
79
  "@oclif/core": "^3.27.0",
80
80
  "@oclif/plugin-help": "^6.2.37",
81
81
  "chalk": "^5.6.2",