@neverinfamous/postgres-mcp 2.1.0 → 2.2.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 (114) hide show
  1. package/README.md +58 -52
  2. package/dist/__tests__/benchmarks/codemode.bench.js +3 -3
  3. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -1
  4. package/dist/__tests__/benchmarks/connection-pool.bench.js +3 -3
  5. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -1
  6. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts +11 -0
  7. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts.map +1 -0
  8. package/dist/__tests__/benchmarks/introspection-migration.bench.js +143 -0
  9. package/dist/__tests__/benchmarks/introspection-migration.bench.js.map +1 -0
  10. package/dist/__tests__/benchmarks/resource-prompts.bench.js +0 -64
  11. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -1
  12. package/dist/__tests__/benchmarks/schema-parsing.bench.js +4 -4
  13. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -1
  14. package/dist/__tests__/benchmarks/tool-filtering.bench.js +17 -8
  15. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -1
  16. package/dist/adapters/DatabaseAdapter.d.ts +0 -4
  17. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  18. package/dist/adapters/DatabaseAdapter.js +0 -13
  19. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  20. package/dist/adapters/postgresql/PostgresAdapter.d.ts +0 -4
  21. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  22. package/dist/adapters/postgresql/PostgresAdapter.js +3 -6
  23. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  24. package/dist/adapters/postgresql/schemas/core/queries.d.ts +4 -4
  25. package/dist/adapters/postgresql/schemas/introspection.d.ts +14 -37
  26. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
  27. package/dist/adapters/postgresql/schemas/introspection.js +71 -29
  28. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
  29. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  30. package/dist/adapters/postgresql/schemas/vector.js +2 -4
  31. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  32. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -1
  33. package/dist/adapters/postgresql/tools/introspection/analysis.js +158 -127
  34. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -1
  35. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +1 -1
  36. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -1
  37. package/dist/adapters/postgresql/tools/introspection/graph.js +12 -29
  38. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -1
  39. package/dist/adapters/postgresql/tools/introspection/index.d.ts +9 -7
  40. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -1
  41. package/dist/adapters/postgresql/tools/introspection/index.js +9 -14
  42. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -1
  43. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +1 -1
  44. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -1
  45. package/dist/adapters/postgresql/tools/introspection/migration.js +62 -86
  46. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -1
  47. package/dist/adapters/postgresql/tools/migration/index.d.ts +15 -0
  48. package/dist/adapters/postgresql/tools/migration/index.d.ts.map +1 -0
  49. package/dist/adapters/postgresql/tools/migration/index.js +23 -0
  50. package/dist/adapters/postgresql/tools/migration/index.js.map +1 -0
  51. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts +18 -0
  52. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts.map +1 -0
  53. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js +533 -0
  54. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js.map +1 -0
  55. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts +11 -0
  56. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts.map +1 -0
  57. package/dist/adapters/postgresql/tools/performance/diagnostics.js +332 -0
  58. package/dist/adapters/postgresql/tools/performance/diagnostics.js.map +1 -0
  59. package/dist/adapters/postgresql/tools/performance/index.d.ts +1 -1
  60. package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -1
  61. package/dist/adapters/postgresql/tools/performance/index.js +7 -1
  62. package/dist/adapters/postgresql/tools/performance/index.js.map +1 -1
  63. package/dist/auth/scopes.d.ts.map +1 -1
  64. package/dist/auth/scopes.js +2 -0
  65. package/dist/auth/scopes.js.map +1 -1
  66. package/dist/cli.js +6 -0
  67. package/dist/cli.js.map +1 -1
  68. package/dist/codemode/api/index.d.ts +1 -0
  69. package/dist/codemode/api/index.d.ts.map +1 -1
  70. package/dist/codemode/api/index.js +3 -0
  71. package/dist/codemode/api/index.js.map +1 -1
  72. package/dist/codemode/api/maps.d.ts.map +1 -1
  73. package/dist/codemode/api/maps.js +18 -12
  74. package/dist/codemode/api/maps.js.map +1 -1
  75. package/dist/filtering/ToolConstants.d.ts +11 -11
  76. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  77. package/dist/filtering/ToolConstants.js +28 -15
  78. package/dist/filtering/ToolConstants.js.map +1 -1
  79. package/dist/filtering/ToolFilter.d.ts +0 -32
  80. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  81. package/dist/filtering/ToolFilter.js +0 -43
  82. package/dist/filtering/ToolFilter.js.map +1 -1
  83. package/dist/transports/http.d.ts +12 -0
  84. package/dist/transports/http.d.ts.map +1 -1
  85. package/dist/transports/http.js +19 -1
  86. package/dist/transports/http.js.map +1 -1
  87. package/dist/types/filtering.d.ts +1 -1
  88. package/dist/types/filtering.d.ts.map +1 -1
  89. package/dist/types/index.d.ts +2 -2
  90. package/dist/types/index.d.ts.map +1 -1
  91. package/dist/types/index.js.map +1 -1
  92. package/dist/types/mcp.d.ts +0 -21
  93. package/dist/types/mcp.d.ts.map +1 -1
  94. package/dist/types/schema.d.ts +0 -79
  95. package/dist/types/schema.d.ts.map +1 -1
  96. package/dist/utils/fts-config.d.ts +0 -6
  97. package/dist/utils/fts-config.d.ts.map +1 -1
  98. package/dist/utils/fts-config.js +1 -1
  99. package/dist/utils/fts-config.js.map +1 -1
  100. package/dist/utils/icons.d.ts.map +1 -1
  101. package/dist/utils/icons.js +5 -0
  102. package/dist/utils/icons.js.map +1 -1
  103. package/dist/utils/identifiers.d.ts.map +1 -1
  104. package/dist/utils/identifiers.js +6 -6
  105. package/dist/utils/identifiers.js.map +1 -1
  106. package/dist/utils/progress-utils.d.ts +1 -12
  107. package/dist/utils/progress-utils.d.ts.map +1 -1
  108. package/dist/utils/progress-utils.js +0 -18
  109. package/dist/utils/progress-utils.js.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/utils/promptGenerator.d.ts +0 -20
  112. package/dist/utils/promptGenerator.d.ts.map +0 -1
  113. package/dist/utils/promptGenerator.js +0 -81
  114. package/dist/utils/promptGenerator.js.map +0 -1
@@ -59,11 +59,10 @@ export function createSchemaSnapshotTool(adapter) {
59
59
  schemaParams.push(parsed.schema);
60
60
  schemaWhere = `AND n.nspname = $${String(schemaParams.length)}`;
61
61
  }
62
- // Tables + columns (or compact mode without columns)
63
- if (includeAll || sections.has("tables")) {
64
- const columnsSubquery = parsed.compact
65
- ? ""
66
- : `,
62
+ // Build columns subquery for tables section
63
+ const columnsSubquery = parsed.compact
64
+ ? ""
65
+ : `,
67
66
  (SELECT json_agg(json_build_object(
68
67
  'name', a.attname,
69
68
  'type', pg_catalog.format_type(a.atttypid, a.atttypmod),
@@ -77,149 +76,174 @@ export function createSchemaSnapshotTool(adapter) {
77
76
  LEFT JOIN pg_attrdef d ON (a.attrelid, a.attnum) = (d.adrelid, d.adnum)
78
77
  WHERE a.attrelid = c.oid AND a.attnum > 0 AND NOT a.attisdropped
79
78
  ) AS columns`;
80
- const tablesResult = await adapter.executeQuery(`SELECT
81
- n.nspname AS schema, c.relname AS name,
82
- CASE c.relkind WHEN 'r' THEN 'table' WHEN 'p' THEN 'partitioned_table' END AS type,
83
- CASE WHEN c.reltuples = -1 THEN COALESCE(s.n_live_tup, 0) ELSE c.reltuples END::bigint AS row_count,
84
- pg_table_size(c.oid) AS size_bytes,
85
- obj_description(c.oid, 'pg_class') AS comment${columnsSubquery}
86
- FROM pg_class c
87
- JOIN pg_namespace n ON n.oid = c.relnamespace
88
- LEFT JOIN pg_stat_user_tables s ON s.relid = c.oid
89
- WHERE c.relkind IN ('r', 'p')
90
- ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
91
- ORDER BY n.nspname, c.relname`, schemaParams.length > 0 ? schemaParams : undefined);
79
+ const qp = schemaParams.length > 0 ? schemaParams : undefined;
80
+ // Execute all independent section queries in parallel (PERF-P2)
81
+ const [tablesResult, viewsResult, indexesResult, constraintsResult, functionsResult, triggersResult, seqResult, typesResult, extResult,] = await Promise.all([
82
+ // Tables + columns (or compact mode without columns)
83
+ includeAll || sections.has("tables")
84
+ ? adapter.executeQuery(`SELECT
85
+ n.nspname AS schema, c.relname AS name,
86
+ CASE c.relkind WHEN 'r' THEN 'table' WHEN 'p' THEN 'partitioned_table' END AS type,
87
+ CASE WHEN c.reltuples = -1 THEN COALESCE(s.n_live_tup, 0) ELSE c.reltuples END::bigint AS row_count,
88
+ pg_table_size(c.oid) AS size_bytes,
89
+ obj_description(c.oid, 'pg_class') AS comment${columnsSubquery}
90
+ FROM pg_class c
91
+ JOIN pg_namespace n ON n.oid = c.relnamespace
92
+ LEFT JOIN pg_stat_user_tables s ON s.relid = c.oid
93
+ WHERE c.relkind IN ('r', 'p')
94
+ ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
95
+ ORDER BY n.nspname, c.relname`, qp)
96
+ : null,
97
+ // Views
98
+ includeAll || sections.has("views")
99
+ ? adapter.executeQuery(`SELECT
100
+ n.nspname AS schema, c.relname AS name,
101
+ CASE c.relkind WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized_view' END AS type,
102
+ pg_get_viewdef(c.oid, true) AS definition
103
+ FROM pg_class c
104
+ JOIN pg_namespace n ON n.oid = c.relnamespace
105
+ WHERE c.relkind IN ('v', 'm')
106
+ ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
107
+ ORDER BY n.nspname, c.relname`, qp)
108
+ : null,
109
+ // Indexes
110
+ includeAll || sections.has("indexes")
111
+ ? adapter.executeQuery(`SELECT
112
+ i.relname AS name, t.relname AS table_name, n.nspname AS schema,
113
+ am.amname AS type, ix.indisunique AS is_unique,
114
+ pg_get_indexdef(ix.indexrelid) AS definition,
115
+ pg_relation_size(i.oid) AS size_bytes
116
+ FROM pg_index ix
117
+ JOIN pg_class t ON t.oid = ix.indrelid
118
+ JOIN pg_class i ON i.oid = ix.indexrelid
119
+ JOIN pg_namespace n ON n.oid = t.relnamespace
120
+ JOIN pg_am am ON am.oid = i.relam
121
+ WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema') AND n.nspname !~ '^pg_toast'"}
122
+ ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
123
+ ORDER BY n.nspname, t.relname, i.relname`, qp)
124
+ : null,
125
+ // Constraints
126
+ includeAll || sections.has("constraints")
127
+ ? adapter.executeQuery(`SELECT
128
+ c.conname AS name, t.relname AS table_name, n.nspname AS schema,
129
+ CASE c.contype WHEN 'p' THEN 'primary_key' WHEN 'f' THEN 'foreign_key'
130
+ WHEN 'u' THEN 'unique' WHEN 'c' THEN 'check' WHEN 'x' THEN 'exclusion' END AS type,
131
+ pg_get_constraintdef(c.oid) AS definition
132
+ FROM pg_constraint c
133
+ JOIN pg_class t ON t.oid = c.conrelid
134
+ JOIN pg_namespace n ON n.oid = t.relnamespace
135
+ WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema')"}
136
+ ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
137
+ ORDER BY n.nspname, t.relname, c.conname`, qp)
138
+ : null,
139
+ // Functions
140
+ includeAll || sections.has("functions")
141
+ ? adapter.executeQuery(`SELECT
142
+ n.nspname AS schema, p.proname AS name,
143
+ pg_get_function_arguments(p.oid) AS arguments,
144
+ pg_get_function_result(p.oid) AS return_type,
145
+ l.lanname AS language, p.provolatile AS volatility
146
+ FROM pg_proc p
147
+ JOIN pg_namespace n ON n.oid = p.pronamespace
148
+ JOIN pg_language l ON l.oid = p.prolang
149
+ WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema')"}
150
+ ${extensionSchemaExclude} ${extOwnedClause("p.oid")} ${schemaWhere}
151
+ ORDER BY n.nspname, p.proname`, qp)
152
+ : null,
153
+ // Triggers
154
+ includeAll || sections.has("triggers")
155
+ ? adapter.executeQuery(`SELECT
156
+ t.tgname AS name, c.relname AS table_name, n.nspname AS schema,
157
+ CASE WHEN t.tgtype & 2 = 2 THEN 'BEFORE' WHEN t.tgtype & 64 = 64 THEN 'INSTEAD OF' ELSE 'AFTER' END AS timing,
158
+ array_remove(ARRAY[
159
+ CASE WHEN t.tgtype & 4 = 4 THEN 'INSERT' END,
160
+ CASE WHEN t.tgtype & 8 = 8 THEN 'DELETE' END,
161
+ CASE WHEN t.tgtype & 16 = 16 THEN 'UPDATE' END,
162
+ CASE WHEN t.tgtype & 32 = 32 THEN 'TRUNCATE' END
163
+ ], NULL) AS events,
164
+ p.proname AS function_name
165
+ FROM pg_trigger t
166
+ JOIN pg_class c ON c.oid = t.tgrelid
167
+ JOIN pg_namespace n ON n.oid = c.relnamespace
168
+ JOIN pg_proc p ON p.oid = t.tgfoid
169
+ WHERE NOT t.tgisinternal
170
+ ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
171
+ ORDER BY n.nspname, c.relname, t.tgname`, qp)
172
+ : null,
173
+ // Sequences
174
+ includeAll || sections.has("sequences")
175
+ ? adapter.executeQuery(`SELECT
176
+ n.nspname AS schema, c.relname AS name,
177
+ (SELECT tc.relname || '.' || a.attname
178
+ FROM pg_depend d
179
+ JOIN pg_class tc ON tc.oid = d.refobjid
180
+ JOIN pg_attribute a ON a.attrelid = tc.oid AND a.attnum = d.refobjsubid
181
+ WHERE d.objid = c.oid AND d.classid = 'pg_class'::regclass AND d.deptype = 'a'
182
+ LIMIT 1) AS owned_by
183
+ FROM pg_class c
184
+ JOIN pg_namespace n ON n.oid = c.relnamespace
185
+ WHERE c.relkind = 'S'
186
+ ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
187
+ ORDER BY n.nspname, c.relname`, qp)
188
+ : null,
189
+ // Custom types
190
+ includeAll || sections.has("types")
191
+ ? adapter.executeQuery(`SELECT
192
+ n.nspname AS schema, t.typname AS name,
193
+ CASE t.typtype WHEN 'e' THEN 'enum' WHEN 'c' THEN 'composite' WHEN 'd' THEN 'domain' WHEN 'r' THEN 'range' END AS type,
194
+ CASE WHEN t.typtype = 'e' THEN
195
+ (SELECT json_agg(e.enumlabel ORDER BY e.enumsortorder) FROM pg_enum e WHERE e.enumtypid = t.oid)
196
+ END AS values
197
+ FROM pg_type t
198
+ JOIN pg_namespace n ON n.oid = t.typnamespace
199
+ WHERE t.typtype IN ('e', 'c', 'd', 'r')
200
+ AND n.nspname NOT IN ('pg_catalog', 'information_schema')
201
+ ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
202
+ ORDER BY n.nspname, t.typname`, qp)
203
+ : null,
204
+ // Extensions (skip when schema filter is active — extensions are global objects)
205
+ (includeAll || sections.has("extensions")) && !parsed.schema
206
+ ? adapter.executeQuery(`SELECT extname AS name, extversion AS version,
207
+ n.nspname AS schema
208
+ FROM pg_extension e
209
+ JOIN pg_namespace n ON n.oid = e.extnamespace
210
+ ORDER BY e.extname`)
211
+ : null,
212
+ ]);
213
+ // Assign results to snapshot and stats
214
+ if (tablesResult !== null) {
92
215
  snapshot["tables"] = tablesResult.rows ?? [];
93
216
  stats.tables = tablesResult.rows?.length ?? 0;
94
217
  }
95
- // Views
96
- if (includeAll || sections.has("views")) {
97
- const viewsResult = await adapter.executeQuery(`SELECT
98
- n.nspname AS schema, c.relname AS name,
99
- CASE c.relkind WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized_view' END AS type,
100
- pg_get_viewdef(c.oid, true) AS definition
101
- FROM pg_class c
102
- JOIN pg_namespace n ON n.oid = c.relnamespace
103
- WHERE c.relkind IN ('v', 'm')
104
- ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
105
- ORDER BY n.nspname, c.relname`, schemaParams.length > 0 ? schemaParams : undefined);
218
+ if (viewsResult !== null) {
106
219
  snapshot["views"] = viewsResult.rows ?? [];
107
220
  stats.views = viewsResult.rows?.length ?? 0;
108
221
  }
109
- // Indexes
110
- if (includeAll || sections.has("indexes")) {
111
- const indexesResult = await adapter.executeQuery(`SELECT
112
- i.relname AS name, t.relname AS table_name, n.nspname AS schema,
113
- am.amname AS type, ix.indisunique AS is_unique,
114
- pg_get_indexdef(ix.indexrelid) AS definition,
115
- pg_relation_size(i.oid) AS size_bytes
116
- FROM pg_index ix
117
- JOIN pg_class t ON t.oid = ix.indrelid
118
- JOIN pg_class i ON i.oid = ix.indexrelid
119
- JOIN pg_namespace n ON n.oid = t.relnamespace
120
- JOIN pg_am am ON am.oid = i.relam
121
- WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema') AND n.nspname !~ '^pg_toast'"}
122
- ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
123
- ORDER BY n.nspname, t.relname, i.relname`, schemaParams.length > 0 ? schemaParams : undefined);
222
+ if (indexesResult !== null) {
124
223
  snapshot["indexes"] = indexesResult.rows ?? [];
125
224
  stats.indexes = indexesResult.rows?.length ?? 0;
126
225
  }
127
- // Constraints
128
- if (includeAll || sections.has("constraints")) {
129
- const constraintsResult = await adapter.executeQuery(`SELECT
130
- c.conname AS name, t.relname AS table_name, n.nspname AS schema,
131
- CASE c.contype WHEN 'p' THEN 'primary_key' WHEN 'f' THEN 'foreign_key'
132
- WHEN 'u' THEN 'unique' WHEN 'c' THEN 'check' WHEN 'x' THEN 'exclusion' END AS type,
133
- pg_get_constraintdef(c.oid) AS definition
134
- FROM pg_constraint c
135
- JOIN pg_class t ON t.oid = c.conrelid
136
- JOIN pg_namespace n ON n.oid = t.relnamespace
137
- WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema')"}
138
- ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
139
- ORDER BY n.nspname, t.relname, c.conname`, schemaParams.length > 0 ? schemaParams : undefined);
226
+ if (constraintsResult !== null) {
140
227
  snapshot["constraints"] = constraintsResult.rows ?? [];
141
228
  stats.constraints = constraintsResult.rows?.length ?? 0;
142
229
  }
143
- // Functions
144
- if (includeAll || sections.has("functions")) {
145
- const functionsResult = await adapter.executeQuery(`SELECT
146
- n.nspname AS schema, p.proname AS name,
147
- pg_get_function_arguments(p.oid) AS arguments,
148
- pg_get_function_result(p.oid) AS return_type,
149
- l.lanname AS language, p.provolatile AS volatility
150
- FROM pg_proc p
151
- JOIN pg_namespace n ON n.oid = p.pronamespace
152
- JOIN pg_language l ON l.oid = p.prolang
153
- WHERE ${parsed.includeSystem ? "true" : "n.nspname NOT IN ('pg_catalog', 'information_schema')"}
154
- ${extensionSchemaExclude} ${extOwnedClause("p.oid")} ${schemaWhere}
155
- ORDER BY n.nspname, p.proname`, schemaParams.length > 0 ? schemaParams : undefined);
230
+ if (functionsResult !== null) {
156
231
  snapshot["functions"] = functionsResult.rows ?? [];
157
232
  stats.functions = functionsResult.rows?.length ?? 0;
158
233
  }
159
- // Triggers
160
- if (includeAll || sections.has("triggers")) {
161
- const triggersResult = await adapter.executeQuery(`SELECT
162
- t.tgname AS name, c.relname AS table_name, n.nspname AS schema,
163
- CASE WHEN t.tgtype & 2 = 2 THEN 'BEFORE' WHEN t.tgtype & 64 = 64 THEN 'INSTEAD OF' ELSE 'AFTER' END AS timing,
164
- array_remove(ARRAY[
165
- CASE WHEN t.tgtype & 4 = 4 THEN 'INSERT' END,
166
- CASE WHEN t.tgtype & 8 = 8 THEN 'DELETE' END,
167
- CASE WHEN t.tgtype & 16 = 16 THEN 'UPDATE' END,
168
- CASE WHEN t.tgtype & 32 = 32 THEN 'TRUNCATE' END
169
- ], NULL) AS events,
170
- p.proname AS function_name
171
- FROM pg_trigger t
172
- JOIN pg_class c ON c.oid = t.tgrelid
173
- JOIN pg_namespace n ON n.oid = c.relnamespace
174
- JOIN pg_proc p ON p.oid = t.tgfoid
175
- WHERE NOT t.tgisinternal
176
- ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
177
- ORDER BY n.nspname, c.relname, t.tgname`, schemaParams.length > 0 ? schemaParams : undefined);
234
+ if (triggersResult !== null) {
178
235
  snapshot["triggers"] = triggersResult.rows ?? [];
179
236
  stats.triggers = triggersResult.rows?.length ?? 0;
180
237
  }
181
- // Sequences
182
- if (includeAll || sections.has("sequences")) {
183
- const seqResult = await adapter.executeQuery(`SELECT
184
- n.nspname AS schema, c.relname AS name,
185
- (SELECT tc.relname || '.' || a.attname
186
- FROM pg_depend d
187
- JOIN pg_class tc ON tc.oid = d.refobjid
188
- JOIN pg_attribute a ON a.attrelid = tc.oid AND a.attnum = d.refobjsubid
189
- WHERE d.objid = c.oid AND d.classid = 'pg_class'::regclass AND d.deptype = 'a'
190
- LIMIT 1) AS owned_by
191
- FROM pg_class c
192
- JOIN pg_namespace n ON n.oid = c.relnamespace
193
- WHERE c.relkind = 'S'
194
- ${schemaExclude} ${extensionSchemaExclude} ${extOwnedClause("c.oid")} ${schemaWhere}
195
- ORDER BY n.nspname, c.relname`, schemaParams.length > 0 ? schemaParams : undefined);
238
+ if (seqResult !== null) {
196
239
  snapshot["sequences"] = seqResult.rows ?? [];
197
240
  stats.sequences = seqResult.rows?.length ?? 0;
198
241
  }
199
- // Custom types
200
- if (includeAll || sections.has("types")) {
201
- const typesResult = await adapter.executeQuery(`SELECT
202
- n.nspname AS schema, t.typname AS name,
203
- CASE t.typtype WHEN 'e' THEN 'enum' WHEN 'c' THEN 'composite' WHEN 'd' THEN 'domain' WHEN 'r' THEN 'range' END AS type,
204
- CASE WHEN t.typtype = 'e' THEN
205
- (SELECT json_agg(e.enumlabel ORDER BY e.enumsortorder) FROM pg_enum e WHERE e.enumtypid = t.oid)
206
- END AS values
207
- FROM pg_type t
208
- JOIN pg_namespace n ON n.oid = t.typnamespace
209
- WHERE t.typtype IN ('e', 'c', 'd', 'r')
210
- AND n.nspname NOT IN ('pg_catalog', 'information_schema')
211
- ${extensionSchemaExclude} ${extOwnedClause("t.oid")} ${schemaWhere}
212
- ORDER BY n.nspname, t.typname`, schemaParams.length > 0 ? schemaParams : undefined);
242
+ if (typesResult !== null) {
213
243
  snapshot["types"] = typesResult.rows ?? [];
214
244
  stats.customTypes = typesResult.rows?.length ?? 0;
215
245
  }
216
- // Extensions (skip when schema filter is active — extensions are global objects)
217
- if ((includeAll || sections.has("extensions")) && !parsed.schema) {
218
- const extResult = await adapter.executeQuery(`SELECT extname AS name, extversion AS version,
219
- n.nspname AS schema
220
- FROM pg_extension e
221
- JOIN pg_namespace n ON n.oid = e.extnamespace
222
- ORDER BY e.extname`);
246
+ if (extResult !== null) {
223
247
  snapshot["extensions"] = extResult.rows ?? [];
224
248
  stats.extensions = extResult.rows?.length ?? 0;
225
249
  }
@@ -527,8 +551,9 @@ export function createMigrationRisksTool(adapter) {
527
551
  outputSchema: MigrationRisksOutputSchema,
528
552
  annotations: readOnly("Migration Risks"),
529
553
  icons: getToolIcons("introspection", readOnly("Migration Risks")),
530
- handler: (params, _context) => Promise.resolve().then(() => {
531
- // adapter is available for future enhancements (e.g., checking table existence)
554
+ handler: (params, _context) => Promise.resolve()
555
+ .then(() => {
556
+ // Suppress unused-var — adapter captured by closure per tool factory pattern
532
557
  void adapter;
533
558
  const parsed = MigrationRisksSchema.parse(params);
534
559
  const risks = [];
@@ -568,7 +593,13 @@ export function createMigrationRisksTool(adapter) {
568
593
  estimatedLockImpact: lockImpacts.size > 0 ? [...lockImpacts].join("; ") : "None",
569
594
  },
570
595
  };
571
- }),
596
+ })
597
+ .catch((error) => ({
598
+ success: false,
599
+ error: formatPostgresError(error, {
600
+ tool: "pg_migration_risks",
601
+ }),
602
+ })),
572
603
  };
573
604
  }
574
605
  //# sourceMappingURL=analysis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/analysis.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { PostgresAdapter } from "../../PostgresAdapter.js";
8
8
  import type { ToolDefinition } from "../../../../types/index.js";
9
- export interface FkEdge {
9
+ interface FkEdge {
10
10
  constraintName: string;
11
11
  fromSchema: string;
12
12
  fromTable: string;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAqBpC,MAAM,WAAW,MAAM;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CA6DnB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,SAAS,EAAE,CAAC,CAsCtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAkCzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,MAAM,EAAE,GAAG,IAAI,CA2CjB;AAwCD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2HhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAiJhB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA0KhB"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/graph.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAqBpC,UAAU,MAAM;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CA6DnB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,OAAO,GAChC,OAAO,CAAC,SAAS,EAAE,CAAC,CAsCtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAQzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAkCzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAChC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,GACpB,MAAM,EAAE,GAAG,IAAI,CA2CjB;AAwCD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2HhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAkIhB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2KhB"}
@@ -363,11 +363,12 @@ export function createTopologicalSortTool(adapter) {
363
363
  const excludeExt = parsed.excludeExtensionSchemas;
364
364
  const fks = await fetchForeignKeys(adapter, parsed.schema, excludeExt);
365
365
  const tables = await fetchTableNodes(adapter, parsed.schema, excludeExt);
366
- // Build adjacency: A depends on B means A→B
367
- // For "create" order, we need B before A (dependencies first)
368
- // For "drop" order, we need A before B (dependents first)
366
+ // Build all graph structures in a single FK iteration (PERF-P3)
369
367
  const adjacency = new Map();
370
368
  const allNodes = new Set();
369
+ const dependsOn = new Map();
370
+ // Pre-compute create-direction adjacency for level computation in drop mode
371
+ const createAdj = new Map();
371
372
  for (const t of tables) {
372
373
  allNodes.add(qualifiedName(t.schema, t.table));
373
374
  }
@@ -376,25 +377,13 @@ export function createTopologicalSortTool(adapter) {
376
377
  const to = qualifiedName(fk.toSchema, fk.toTable);
377
378
  allNodes.add(from);
378
379
  allNodes.add(to);
379
- }
380
- // Build dependency graph: from→to means "from depends on to"
381
- const dependsOn = new Map();
382
- for (const fk of fks) {
383
- const from = qualifiedName(fk.fromSchema, fk.fromTable);
384
- const to = qualifiedName(fk.toSchema, fk.toTable);
385
380
  if (from === to)
386
381
  continue; // Self-references don't affect ordering
382
+ // dependsOn: from depends on to
387
383
  const deps = dependsOn.get(from) ?? new Set();
388
384
  deps.add(to);
389
385
  dependsOn.set(from, deps);
390
- }
391
- // For create order: edge from dependency → dependent (process deps first)
392
- // For drop order: edge from dependent → dependency (process dependents first)
393
- for (const fk of fks) {
394
- const from = qualifiedName(fk.fromSchema, fk.fromTable);
395
- const to = qualifiedName(fk.toSchema, fk.toTable);
396
- if (from === to)
397
- continue; // Self-references don't affect ordering
386
+ // adjacency for requested direction
398
387
  if (direction === "create") {
399
388
  const existing = adjacency.get(to) ?? [];
400
389
  existing.push(from);
@@ -404,6 +393,10 @@ export function createTopologicalSortTool(adapter) {
404
393
  const existing = adjacency.get(from) ?? [];
405
394
  existing.push(to);
406
395
  adjacency.set(from, existing);
396
+ // Also build create-direction adjacency for level computation
397
+ const createExisting = createAdj.get(to) ?? [];
398
+ createExisting.push(from);
399
+ createAdj.set(to, createExisting);
407
400
  }
408
401
  }
409
402
  const sorted = topologicalSort(adjacency, allNodes);
@@ -413,23 +406,12 @@ export function createTopologicalSortTool(adapter) {
413
406
  const levelMap = new Map();
414
407
  if (sorted) {
415
408
  // For create direction, sorted is already in dependency order.
416
- // For drop direction, we need create-order to compute levels correctly.
409
+ // For drop direction, use pre-computed create-direction adjacency.
417
410
  let createOrder;
418
411
  if (direction === "create") {
419
412
  createOrder = sorted;
420
413
  }
421
414
  else {
422
- // Build create-direction adjacency and sort
423
- const createAdj = new Map();
424
- for (const fk of fks) {
425
- const from = qualifiedName(fk.fromSchema, fk.fromTable);
426
- const to = qualifiedName(fk.toSchema, fk.toTable);
427
- if (from === to)
428
- continue;
429
- const existing = createAdj.get(to) ?? [];
430
- existing.push(from);
431
- createAdj.set(to, existing);
432
- }
433
415
  createOrder =
434
416
  topologicalSort(createAdj, allNodes) ?? [...allNodes].sort();
435
417
  }
@@ -509,6 +491,7 @@ export function createCascadeSimulatorTool(adapter) {
509
491
  // Check if source table exists
510
492
  if (!tableMap.has(sourceQName)) {
511
493
  return {
494
+ success: false,
512
495
  sourceTable: sourceQName,
513
496
  operation,
514
497
  affectedTables: [],
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/graph.ts"],"names":[],"mappings":"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"}