@neverinfamous/postgres-mcp 2.1.0 → 2.3.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 (133) hide show
  1. package/README.md +78 -201
  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 +11 -28
  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/resources/capabilities.js +1 -1
  25. package/dist/adapters/postgresql/resources/cron.d.ts.map +1 -1
  26. package/dist/adapters/postgresql/resources/cron.js +2 -1
  27. package/dist/adapters/postgresql/resources/cron.js.map +1 -1
  28. package/dist/adapters/postgresql/schemas/core/queries.d.ts +4 -4
  29. package/dist/adapters/postgresql/schemas/core/transactions.d.ts +12 -0
  30. package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -1
  31. package/dist/adapters/postgresql/schemas/core/transactions.js +18 -0
  32. package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -1
  33. package/dist/adapters/postgresql/schemas/index.d.ts +1 -1
  34. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  35. package/dist/adapters/postgresql/schemas/index.js +1 -1
  36. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  37. package/dist/adapters/postgresql/schemas/introspection.d.ts +17 -37
  38. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
  39. package/dist/adapters/postgresql/schemas/introspection.js +73 -30
  40. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
  41. package/dist/adapters/postgresql/schemas/partman.d.ts +1 -1
  42. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  43. package/dist/adapters/postgresql/schemas/vector.js +2 -4
  44. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  45. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/tools/introspection/analysis.js +171 -139
  47. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -1
  48. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +17 -1
  49. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -1
  50. package/dist/adapters/postgresql/tools/introspection/graph.js +55 -50
  51. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -1
  52. package/dist/adapters/postgresql/tools/introspection/index.d.ts +9 -7
  53. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -1
  54. package/dist/adapters/postgresql/tools/introspection/index.js +9 -14
  55. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -1
  56. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +1 -1
  57. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -1
  58. package/dist/adapters/postgresql/tools/introspection/migration.js +75 -96
  59. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -1
  60. package/dist/adapters/postgresql/tools/migration/index.d.ts +15 -0
  61. package/dist/adapters/postgresql/tools/migration/index.d.ts.map +1 -0
  62. package/dist/adapters/postgresql/tools/migration/index.js +23 -0
  63. package/dist/adapters/postgresql/tools/migration/index.js.map +1 -0
  64. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts +18 -0
  65. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts.map +1 -0
  66. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js +546 -0
  67. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js.map +1 -0
  68. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts +11 -0
  69. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts.map +1 -0
  70. package/dist/adapters/postgresql/tools/performance/diagnostics.js +342 -0
  71. package/dist/adapters/postgresql/tools/performance/diagnostics.js.map +1 -0
  72. package/dist/adapters/postgresql/tools/performance/index.d.ts +1 -1
  73. package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -1
  74. package/dist/adapters/postgresql/tools/performance/index.js +7 -1
  75. package/dist/adapters/postgresql/tools/performance/index.js.map +1 -1
  76. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  77. package/dist/adapters/postgresql/tools/transactions.js +67 -2
  78. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  79. package/dist/auth/scopes.d.ts.map +1 -1
  80. package/dist/auth/scopes.js +2 -0
  81. package/dist/auth/scopes.js.map +1 -1
  82. package/dist/cli.js +6 -0
  83. package/dist/cli.js.map +1 -1
  84. package/dist/codemode/api/aliases.d.ts.map +1 -1
  85. package/dist/codemode/api/aliases.js +5 -0
  86. package/dist/codemode/api/aliases.js.map +1 -1
  87. package/dist/codemode/api/index.d.ts +1 -0
  88. package/dist/codemode/api/index.d.ts.map +1 -1
  89. package/dist/codemode/api/index.js +3 -0
  90. package/dist/codemode/api/index.js.map +1 -1
  91. package/dist/codemode/api/maps.d.ts.map +1 -1
  92. package/dist/codemode/api/maps.js +21 -12
  93. package/dist/codemode/api/maps.js.map +1 -1
  94. package/dist/constants/ServerInstructions.d.ts +1 -1
  95. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  96. package/dist/constants/ServerInstructions.js +16 -9
  97. package/dist/constants/ServerInstructions.js.map +1 -1
  98. package/dist/filtering/ToolConstants.d.ts +18 -18
  99. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  100. package/dist/filtering/ToolConstants.js +43 -29
  101. package/dist/filtering/ToolConstants.js.map +1 -1
  102. package/dist/filtering/ToolFilter.d.ts +0 -32
  103. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  104. package/dist/filtering/ToolFilter.js +0 -43
  105. package/dist/filtering/ToolFilter.js.map +1 -1
  106. package/dist/transports/http.d.ts +12 -0
  107. package/dist/transports/http.d.ts.map +1 -1
  108. package/dist/transports/http.js +19 -1
  109. package/dist/transports/http.js.map +1 -1
  110. package/dist/types/filtering.d.ts +1 -1
  111. package/dist/types/filtering.d.ts.map +1 -1
  112. package/dist/types/index.d.ts +2 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js.map +1 -1
  115. package/dist/types/mcp.d.ts +0 -21
  116. package/dist/types/mcp.d.ts.map +1 -1
  117. package/dist/types/schema.d.ts +0 -79
  118. package/dist/types/schema.d.ts.map +1 -1
  119. package/dist/utils/icons.d.ts.map +1 -1
  120. package/dist/utils/icons.js +5 -0
  121. package/dist/utils/icons.js.map +1 -1
  122. package/dist/utils/identifiers.d.ts.map +1 -1
  123. package/dist/utils/identifiers.js +6 -6
  124. package/dist/utils/identifiers.js.map +1 -1
  125. package/dist/utils/progress-utils.d.ts +1 -12
  126. package/dist/utils/progress-utils.d.ts.map +1 -1
  127. package/dist/utils/progress-utils.js +0 -18
  128. package/dist/utils/progress-utils.js.map +1 -1
  129. package/package.json +3 -3
  130. package/dist/utils/promptGenerator.d.ts +0 -20
  131. package/dist/utils/promptGenerator.d.ts.map +0 -1
  132. package/dist/utils/promptGenerator.js +0 -81
  133. package/dist/utils/promptGenerator.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PostgreSQL Introspection Tools - Migration Tracking
2
+ * PostgreSQL Migration Tools Schema Version Tracking
3
3
  *
4
4
  * Migration init, record, apply, rollback, history, and status tools.
5
5
  * 6 tools total.
@@ -8,6 +8,7 @@ import { createHash } from "node:crypto";
8
8
  import { readOnly, write, destructive } from "../../../../utils/annotations.js";
9
9
  import { getToolIcons } from "../../../../utils/icons.js";
10
10
  import { formatPostgresError } from "../core/error-helpers.js";
11
+ import { sanitizeIdentifier } from "../../../../utils/identifiers.js";
11
12
  import { MigrationInitSchemaBase, MigrationInitSchema, MigrationRecordSchemaBase, MigrationRecordSchema, MigrationApplySchemaBase, MigrationApplySchema, MigrationRollbackSchemaBase, MigrationRollbackSchema, MigrationHistorySchemaBase, MigrationHistorySchema, MigrationStatusSchemaBase, MigrationStatusSchema,
12
13
  // Output schemas
13
14
  MigrationInitOutputSchema, MigrationRecordOutputSchema, MigrationApplyOutputSchema, MigrationRollbackOutputSchema, MigrationHistoryOutputSchema, MigrationStatusOutputSchema, } from "../../schemas/index.js";
@@ -15,8 +16,15 @@ MigrationInitOutputSchema, MigrationRecordOutputSchema, MigrationApplyOutputSche
15
16
  // Migration tracking — shared helpers
16
17
  // =============================================================================
17
18
  const TRACKING_TABLE = "_mcp_schema_versions";
18
- const CREATE_TRACKING_TABLE_SQL = `
19
- CREATE TABLE IF NOT EXISTS ${TRACKING_TABLE} (
19
+ /**
20
+ * Build the CREATE TABLE DDL for the tracking table.
21
+ * Accepts a pre-computed qualified table name (e.g. `_mcp_schema_versions`
22
+ * or `"custom_schema"."_mcp_schema_versions"`) so the caller controls
23
+ * schema qualification without fragile string replacement.
24
+ */
25
+ function buildCreateTrackingTableSql(qualifiedTable) {
26
+ return `
27
+ CREATE TABLE IF NOT EXISTS ${qualifiedTable} (
20
28
  id SERIAL PRIMARY KEY,
21
29
  version VARCHAR(50) NOT NULL,
22
30
  description TEXT,
@@ -27,10 +35,11 @@ CREATE TABLE IF NOT EXISTS ${TRACKING_TABLE} (
27
35
  source_system VARCHAR(50),
28
36
  rollback_sql TEXT,
29
37
  status VARCHAR(20) NOT NULL DEFAULT 'applied',
30
- CONSTRAINT valid_status CHECK (status IN ('applied', 'rolled_back', 'failed'))
38
+ CONSTRAINT valid_status CHECK (status IN ('applied', 'recorded', 'rolled_back', 'failed'))
31
39
  )`;
40
+ }
32
41
  /**
33
- * Ensure the _mcp_schema_versions table exists.
42
+ * Ensure the _mcp_schema_versions table exists in the public schema.
34
43
  * Returns true if the table was newly created, false if it already existed.
35
44
  */
36
45
  async function ensureTrackingTable(adapter) {
@@ -41,13 +50,37 @@ async function ensureTrackingTable(adapter) {
41
50
  const firstRow = (check.rows ?? [])[0];
42
51
  const existed = firstRow?.["table_exists"] === true;
43
52
  if (!existed) {
44
- await adapter.executeQuery(CREATE_TRACKING_TABLE_SQL);
53
+ await adapter.executeQuery(buildCreateTrackingTableSql(TRACKING_TABLE));
45
54
  }
46
55
  return !existed;
47
56
  }
48
57
  function hashMigrationSql(sql) {
49
58
  return createHash("sha256").update(sql).digest("hex");
50
59
  }
60
+ /**
61
+ * Check for an already-applied migration with the same SQL hash.
62
+ * Returns an error result object if duplicate found, or null if clear.
63
+ */
64
+ async function checkDuplicateHash(adapter, migrationSql) {
65
+ const migrationHash = hashMigrationSql(migrationSql);
66
+ const dupCheck = await adapter.executeQuery(`SELECT id, version, status FROM ${TRACKING_TABLE}
67
+ WHERE migration_hash = $1 AND status = 'applied'`, [migrationHash]);
68
+ const dupRows = dupCheck.rows ?? [];
69
+ if (dupRows.length > 0) {
70
+ const dup = dupRows[0] ?? {};
71
+ const dupId = dup["id"];
72
+ const dupVersion = dup["version"];
73
+ return {
74
+ migrationHash,
75
+ duplicateError: {
76
+ success: false,
77
+ error: `Duplicate migration detected: version "${dupVersion}" (id: ${String(dupId)}) has the same SQL hash. ` +
78
+ `Use a different migration SQL or roll back the existing one first.`,
79
+ },
80
+ };
81
+ }
82
+ return { migrationHash, duplicateError: null };
83
+ }
51
84
  function formatRecord(row) {
52
85
  const appliedAt = row["applied_at"];
53
86
  const appliedAtStr = appliedAt instanceof Date
@@ -73,19 +106,21 @@ export function createMigrationInitTool(adapter) {
73
106
  name: "pg_migration_init",
74
107
  description: "Initialize or verify the schema version tracking table (_mcp_schema_versions). " +
75
108
  "Idempotent — safe to call repeatedly. Returns current tracking state.",
76
- group: "introspection",
109
+ group: "migration",
77
110
  inputSchema: MigrationInitSchemaBase,
78
111
  outputSchema: MigrationInitOutputSchema,
79
112
  annotations,
80
- icons: getToolIcons("introspection", annotations),
113
+ icons: getToolIcons("migration", annotations),
81
114
  handler: async (params, _context) => {
82
115
  try {
83
116
  const parsed = MigrationInitSchema.parse(params);
84
117
  const targetSchema = parsed.schema ?? "public";
85
- // Create table in target schema
86
- const createSql = targetSchema === "public"
87
- ? CREATE_TRACKING_TABLE_SQL
88
- : CREATE_TRACKING_TABLE_SQL.replace(TRACKING_TABLE, `${targetSchema}.${TRACKING_TABLE}`);
118
+ // Sanitize schema to prevent SQL injection via identifier interpolation
119
+ const sanitizedSchema = sanitizeIdentifier(targetSchema);
120
+ // Compute qualified table name once, reuse for DDL and queries
121
+ const qualifiedTable = targetSchema === "public"
122
+ ? TRACKING_TABLE
123
+ : `${sanitizedSchema}."${TRACKING_TABLE}"`;
89
124
  const check = await adapter.executeQuery(`SELECT EXISTS (
90
125
  SELECT 1 FROM pg_tables
91
126
  WHERE schemaname = $1 AND tablename = $2
@@ -93,11 +128,8 @@ export function createMigrationInitTool(adapter) {
93
128
  const firstRow = (check.rows ?? [])[0];
94
129
  const existed = firstRow?.["table_exists"] === true;
95
130
  if (!existed) {
96
- await adapter.executeQuery(createSql);
131
+ await adapter.executeQuery(buildCreateTrackingTableSql(qualifiedTable));
97
132
  }
98
- const qualifiedTable = targetSchema === "public"
99
- ? TRACKING_TABLE
100
- : `${targetSchema}.${TRACKING_TABLE}`;
101
133
  const countResult = await adapter.executeQuery(`SELECT COUNT(*)::int AS count FROM ${qualifiedTable}`);
102
134
  const countRow = (countResult.rows ?? [])[0];
103
135
  const existingRecords = countRow?.["count"] ?? 0;
@@ -126,53 +158,25 @@ export function createMigrationRecordTool(adapter) {
126
158
  const annotations = write("Record migration");
127
159
  return {
128
160
  name: "pg_migration_record",
129
- description: "Record a migration in the schema version tracking table. " +
161
+ description: "Record a migration in the schema version tracking table with status 'recorded' (metadata only, SQL not executed). " +
162
+ "Use pg_migration_apply instead to execute SQL and record with status 'applied'. " +
130
163
  "Auto-provisions the tracking table on first use. " +
131
164
  "Computes SHA-256 hash for idempotency detection.",
132
- group: "introspection",
165
+ group: "migration",
133
166
  inputSchema: MigrationRecordSchemaBase,
134
167
  outputSchema: MigrationRecordOutputSchema,
135
168
  annotations,
136
- icons: getToolIcons("introspection", annotations),
169
+ icons: getToolIcons("migration", annotations),
137
170
  handler: async (params, _context) => {
138
171
  try {
139
- let parsed;
140
- try {
141
- parsed = MigrationRecordSchema.parse(params);
142
- }
143
- catch (error) {
144
- if (error !== null &&
145
- typeof error === "object" &&
146
- "issues" in error &&
147
- Array.isArray(error.issues)) {
148
- const issues = error.issues;
149
- const messages = issues.map((i) => i.message).join("; ");
150
- return {
151
- success: false,
152
- error: `Validation error: ${messages}`,
153
- };
154
- }
155
- throw error;
156
- }
172
+ const parsed = MigrationRecordSchema.parse(params);
157
173
  await ensureTrackingTable(adapter);
158
- const migrationHash = hashMigrationSql(parsed.migrationSql);
159
- // Check for duplicate hash
160
- const dupCheck = await adapter.executeQuery(`SELECT id, version, status FROM ${TRACKING_TABLE}
161
- WHERE migration_hash = $1 AND status = 'applied'`, [migrationHash]);
162
- const dupRows = dupCheck.rows ?? [];
163
- if (dupRows.length > 0) {
164
- const dup = dupRows[0] ?? {};
165
- const dupId = dup["id"];
166
- const dupVersion = dup["version"];
167
- return {
168
- success: false,
169
- error: `Duplicate migration detected: version "${dupVersion}" (id: ${String(dupId)}) has the same SQL hash. ` +
170
- `Use a different migration SQL or roll back the existing one first.`,
171
- };
172
- }
174
+ const { migrationHash, duplicateError } = await checkDuplicateHash(adapter, parsed.migrationSql);
175
+ if (duplicateError)
176
+ return duplicateError;
173
177
  const result = await adapter.executeQuery(`INSERT INTO ${TRACKING_TABLE}
174
- (version, description, applied_by, migration_hash, migration_sql, source_system, rollback_sql)
175
- VALUES ($1, $2, $3, $4, $5, $6, $7)
178
+ (version, description, applied_by, migration_hash, migration_sql, source_system, rollback_sql, status)
179
+ VALUES ($1, $2, $3, $4, $5, $6, $7, 'recorded')
176
180
  RETURNING *`, [
177
181
  parsed.version,
178
182
  parsed.description ?? null,
@@ -217,47 +221,18 @@ export function createMigrationApplyTool(adapter) {
217
221
  "Auto-provisions the tracking table on first use. " +
218
222
  "On failure, rolls back and records a 'failed' entry. " +
219
223
  "Use pg_migration_record instead if you only need to log an already-applied migration.",
220
- group: "introspection",
224
+ group: "migration",
221
225
  inputSchema: MigrationApplySchemaBase,
222
226
  outputSchema: MigrationApplyOutputSchema,
223
227
  annotations,
224
- icons: getToolIcons("introspection", annotations),
228
+ icons: getToolIcons("migration", annotations),
225
229
  handler: async (params, _context) => {
226
230
  try {
227
- let parsed;
228
- try {
229
- parsed = MigrationApplySchema.parse(params);
230
- }
231
- catch (error) {
232
- if (error !== null &&
233
- typeof error === "object" &&
234
- "issues" in error &&
235
- Array.isArray(error.issues)) {
236
- const issues = error.issues;
237
- const messages = issues.map((i) => i.message).join("; ");
238
- return {
239
- success: false,
240
- error: `Validation error: ${messages}`,
241
- };
242
- }
243
- throw error;
244
- }
231
+ const parsed = MigrationApplySchema.parse(params);
245
232
  await ensureTrackingTable(adapter);
246
- const migrationHash = hashMigrationSql(parsed.migrationSql);
247
- // Check for duplicate hash
248
- const dupCheck = await adapter.executeQuery(`SELECT id, version, status FROM ${TRACKING_TABLE}
249
- WHERE migration_hash = $1 AND status = 'applied'`, [migrationHash]);
250
- const dupRows = dupCheck.rows ?? [];
251
- if (dupRows.length > 0) {
252
- const dup = dupRows[0] ?? {};
253
- const dupId = dup["id"];
254
- const dupVersion = dup["version"];
255
- return {
256
- success: false,
257
- error: `Duplicate migration detected: version "${dupVersion}" (id: ${String(dupId)}) has the same SQL hash. ` +
258
- `Use a different migration SQL or roll back the existing one first.`,
259
- };
260
- }
233
+ const { migrationHash, duplicateError } = await checkDuplicateHash(adapter, parsed.migrationSql);
234
+ if (duplicateError)
235
+ return duplicateError;
261
236
  // Execute migration SQL and record atomically
262
237
  try {
263
238
  await adapter.executeQuery("BEGIN");
@@ -338,11 +313,11 @@ export function createMigrationRollbackTool(adapter) {
338
313
  description: "Roll back a specific migration by ID or version. " +
339
314
  "Executes the stored rollback_sql in a transaction and updates status to 'rolled_back'. " +
340
315
  "Use dryRun: true to preview the rollback SQL without executing.",
341
- group: "introspection",
316
+ group: "migration",
342
317
  inputSchema: MigrationRollbackSchemaBase,
343
318
  outputSchema: MigrationRollbackOutputSchema,
344
319
  annotations,
345
- icons: getToolIcons("introspection", annotations),
320
+ icons: getToolIcons("migration", annotations),
346
321
  handler: async (params, _context) => {
347
322
  try {
348
323
  const parsed = MigrationRollbackSchema.parse(params);
@@ -449,11 +424,11 @@ export function createMigrationHistoryTool(adapter) {
449
424
  name: "pg_migration_history",
450
425
  description: "Query migration history with optional filtering by status and source system. " +
451
426
  "Returns paginated results ordered by applied_at descending.",
452
- group: "introspection",
427
+ group: "migration",
453
428
  inputSchema: MigrationHistorySchemaBase,
454
429
  outputSchema: MigrationHistoryOutputSchema,
455
430
  annotations,
456
- icons: getToolIcons("introspection", annotations),
431
+ icons: getToolIcons("migration", annotations),
457
432
  handler: async (params, _context) => {
458
433
  try {
459
434
  const parsed = MigrationHistorySchema.parse(params);
@@ -518,15 +493,17 @@ export function createMigrationStatusTool(adapter) {
518
493
  name: "pg_migration_status",
519
494
  description: "Get current migration tracking status: latest version, counts by status, " +
520
495
  "and list of source systems. Returns initialized: false if tracking table doesn't exist.",
521
- group: "introspection",
496
+ group: "migration",
522
497
  inputSchema: MigrationStatusSchemaBase,
523
498
  outputSchema: MigrationStatusOutputSchema,
524
499
  annotations,
525
- icons: getToolIcons("introspection", annotations),
500
+ icons: getToolIcons("migration", annotations),
526
501
  handler: async (params, _context) => {
527
502
  try {
528
503
  const parsed = MigrationStatusSchema.parse(params);
529
504
  const targetSchema = parsed.schema ?? "public";
505
+ // Sanitize schema to prevent SQL injection via identifier interpolation
506
+ const sanitizedSchema = sanitizeIdentifier(targetSchema);
530
507
  // Check if tracking table exists
531
508
  const check = await adapter.executeQuery(`SELECT EXISTS (
532
509
  SELECT 1 FROM pg_tables
@@ -545,11 +522,12 @@ export function createMigrationStatusTool(adapter) {
545
522
  }
546
523
  const qualifiedTable = targetSchema === "public"
547
524
  ? TRACKING_TABLE
548
- : `${targetSchema}.${TRACKING_TABLE}`;
525
+ : `${sanitizedSchema}."${TRACKING_TABLE}"`;
549
526
  // Get aggregate status
550
527
  const statsResult = await adapter.executeQuery(`SELECT
551
528
  COUNT(*)::int AS total,
552
529
  COUNT(*) FILTER (WHERE status = 'applied')::int AS applied,
530
+ COUNT(*) FILTER (WHERE status = 'recorded')::int AS recorded,
553
531
  COUNT(*) FILTER (WHERE status = 'rolled_back')::int AS rolled_back,
554
532
  COUNT(*) FILTER (WHERE status = 'failed')::int AS failed
555
533
  FROM ${qualifiedTable}`);
@@ -579,6 +557,7 @@ export function createMigrationStatusTool(adapter) {
579
557
  counts: {
580
558
  total: statsRow["total"],
581
559
  applied: statsRow["applied"],
560
+ recorded: statsRow["recorded"] ?? 0,
582
561
  rolledBack: statsRow["rolled_back"],
583
562
  failed: statsRow["failed"],
584
563
  },
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB;AACrB,iBAAiB;AACjB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,cAAsB;IACzD,OAAO;6BACoB,cAAc;;;;;;;;;;;;EAYzC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAwB;IACzD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CACtC;;;wBAGoB,EACpB,CAAC,cAAc,CAAC,CACjB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,YAAY,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,OAAO,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,OAAwB,EACxB,YAAoB;IAKpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CACzC,mCAAmC,cAAc;sDACC,EAClD,CAAC,aAAa,CAAC,CAChB,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAW,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAW,CAAC;QAC5C,OAAO;YACL,aAAa;YACb,cAAc,EAAE;gBACd,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,0CAA0C,UAAU,UAAU,MAAM,CAAC,KAAK,CAAC,2BAA2B;oBACtG,oEAAoE;aACvE;SACF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAaD,SAAS,YAAY,CAAC,GAA4B;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,YAAY,GAChB,SAAS,YAAY,IAAI;QACvB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACzB,CAAC,CAAC,CAAE,SAA2B,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,IAAI,CAAW;QACvB,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;QACjC,WAAW,EAAG,GAAG,CAAC,aAAa,CAAmB,IAAI,IAAI;QAC1D,SAAS,EAAE,YAAY;QACvB,SAAS,EAAG,GAAG,CAAC,YAAY,CAAmB,IAAI,IAAI;QACvD,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAW;QAC9C,YAAY,EAAG,GAAG,CAAC,eAAe,CAAmB,IAAI,IAAI;QAC7D,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAW;KAChC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,MAAM,UAAU,uBAAuB,CACrC,OAAwB;IAExB,MAAM,WAAW,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,iFAAiF;YACjF,uEAAuE;QACzE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,uBAAuB;QACpC,YAAY,EAAE,yBAAyB;QACvC,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;gBAE/C,wEAAwE;gBACxE,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAEzD,+DAA+D;gBAC/D,MAAM,cAAc,GAClB,YAAY,KAAK,QAAQ;oBACvB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,GAAG,eAAe,KAAK,cAAc,GAAG,CAAC;gBAE/C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CACtC;;;4BAGkB,EAClB,CAAC,YAAY,EAAE,cAAc,CAAC,CAC/B,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,OAAO,CAAC,YAAY,CACxB,2BAA2B,CAAC,cAAc,CAAC,CAC5C,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C,sCAAsC,cAAc,EAAE,CACvD,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,eAAe,GAAI,QAAQ,EAAE,CAAC,OAAO,CAAmB,IAAI,CAAC,CAAC;gBAEpE,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,CAAC,OAAO;oBACtB,SAAS,EAAE,cAAc;oBACzB,eAAe;iBAChB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,mBAAmB;qBAC1B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,UAAU,yBAAyB,CACvC,OAAwB;IAExB,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,oHAAoH;YACpH,kFAAkF;YAClF,mDAAmD;YACnD,kDAAkD;QACpD,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,2BAA2B;QACzC,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAEnC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAkB,CAChE,OAAO,EACP,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,IAAI,cAAc;oBAAE,OAAO,cAAc,CAAC;gBAE1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CACvC,eAAe,cAAc;;;qBAGlB,EACX;oBACE,MAAM,CAAC,OAAO;oBACd,MAAM,CAAC,WAAW,IAAI,IAAI;oBAC1B,MAAM,CAAC,SAAS,IAAI,IAAI;oBACxB,aAAa;oBACb,MAAM,CAAC,YAAY;oBACnB,MAAM,CAAC,YAAY,IAAI,IAAI;oBAC3B,MAAM,CAAC,WAAW,IAAI,IAAI;iBAC3B,CACF,CAAC;gBAEF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,oCAAoC;qBAC5C,CAAC;gBACJ,CAAC;gBACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;iBAC1B,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,MAAM,UAAU,wBAAwB,CACtC,OAAwB;IAExB,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,0EAA0E;YAC1E,mDAAmD;YACnD,uDAAuD;YACvD,uFAAuF;QACzF,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,0BAA0B;QACxC,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAEnC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAkB,CAChE,OAAO,EACP,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,IAAI,cAAc;oBAAE,OAAO,cAAc,CAAC;gBAE1C,8CAA8C;gBAC9C,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAEpC,4BAA4B;oBAC5B,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAEhD,2BAA2B;oBAC3B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CACvC,eAAe,cAAc;;;uBAGlB,EACX;wBACE,MAAM,CAAC,OAAO;wBACd,MAAM,CAAC,WAAW,IAAI,IAAI;wBAC1B,MAAM,CAAC,SAAS,IAAI,IAAI;wBACxB,aAAa;wBACb,MAAM,CAAC,YAAY;wBACnB,MAAM,CAAC,YAAY,IAAI,IAAI;wBAC3B,MAAM,CAAC,WAAW,IAAI,IAAI;qBAC3B,CACF,CAAC;oBAEF,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAErC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EACH,6DAA6D;yBAChE,CAAC;oBACJ,CAAC;oBACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;qBAC1B,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,4DAA4D;oBAC5D,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBAEvC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAErE,8DAA8D;oBAC9D,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,YAAY,CACxB,eAAe,cAAc;;2DAEgB,EAC7C;4BACE,MAAM,CAAC,OAAO;4BACd,MAAM,CAAC,WAAW,IAAI,IAAI;4BAC1B,MAAM,CAAC,SAAS,IAAI,IAAI;4BACxB,aAAa;4BACb,MAAM,CAAC,YAAY;4BACnB,MAAM,CAAC,YAAY,IAAI,IAAI;4BAC3B,MAAM,CAAC,WAAW,IAAI,IAAI;yBAC3B,CACF,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACP,sEAAsE;oBACxE,CAAC;oBAED,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc,MAAM,CAAC,OAAO,aAAa,OAAO,gCAAgC;qBACxF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,oBAAoB;qBAC3B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,MAAM,UAAU,2BAA2B,CACzC,OAAwB;IAExB,MAAM,WAAW,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,mDAAmD;YACnD,yFAAyF;YACzF,iEAAiE;QACnE,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,6BAA6B;QAC3C,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAEnC,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC5D,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EACH,8EAA8E;qBACjF,CAAC;gBACJ,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,SAA6B,CAAC;gBAClC,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;oBACtB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,iDAAiD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;yBAC7E,CAAC;oBACJ,CAAC;oBACD,SAAS,GAAG,GAAG,CAAC;gBAClB,CAAC;gBAED,qBAAqB;gBACrB,MAAM,WAAW,GACf,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;gBACvD,MAAM,UAAU,GAAG,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC;gBAE/C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAC3C,iBAAiB,cAAc,UAAU,WAAW,2BAA2B,EAC/E,CAAC,UAAU,CAAC,CACb,CAAC;gBAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;wBACrB,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE;wBAC3B,CAAC,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC;oBAC1C,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,wBAAwB,UAAU,EAAE;qBAC5C,CAAC;gBACJ,CAAC;gBAED,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAW,CAAC;gBAClC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAW,CAAC;gBAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAW,CAAC;gBAC1C,MAAM,WAAW,GAAI,GAAG,CAAC,cAAc,CAAmB,IAAI,IAAI,CAAC;gBAEnE,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;oBAChC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc,UAAU,UAAU,MAAM,CAAC,KAAK,CAAC,iCAAiC;qBACxF,CAAC;gBACJ,CAAC;gBAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACzB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,cAAc,UAAU,UAAU,MAAM,CAAC,KAAK,CAAC,yDAAyD;qBAChH,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC3B,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,WAAW;wBACX,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC;qBAC1B,CAAC;gBACJ,CAAC;gBAED,oCAAoC;gBACpC,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACpC,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;oBACxC,MAAM,OAAO,CAAC,YAAY,CACxB,UAAU,cAAc,2CAA2C,EACnE,CAAC,KAAK,CAAC,CACR,CAAC;oBACF,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAErC,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,KAAK;wBACb,WAAW;wBACX,MAAM,EAAE;4BACN,GAAG,YAAY,CAAC,GAAG,CAAC;4BACpB,MAAM,EAAE,aAAa;yBACtB;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACvC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBACrE,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,kCAAkC,UAAU,UAAU,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,gCAAgC;qBACxH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,uBAAuB;qBAC9B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,UAAU,0BAA0B,CACxC,OAAwB;IAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,+EAA+E;YAC/E,6DAA6D;QAC/D,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,0BAA0B;QACvC,YAAY,EAAE,4BAA4B;QAC1C,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAEnC,0DAA0D;gBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;gBAElC,6BAA6B;gBAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAc,EAAE,CAAC;gBAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAEjB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBAC1B,UAAU,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACjD,QAAQ,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;oBAChC,UAAU,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxD,QAAQ,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBAED,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnE,kBAAkB;gBAClB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C,sCAAsC,cAAc,IAAI,WAAW,EAAE,EACrE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACvC,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAI,QAAQ,EAAE,CAAC,OAAO,CAAmB,IAAI,CAAC,CAAC;gBAE1D,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClC,QAAQ,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,YAAY,CAC3C;;gBAEM,cAAc;WACnB,WAAW;;kBAEJ,QAAQ,YAAY,SAAS,EAAE,EACvC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAC3B,CAAC;gBAEF,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAE1D,OAAO;oBACL,OAAO;oBACP,KAAK;oBACL,KAAK;oBACL,MAAM;iBACP,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,sBAAsB;qBAC7B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,UAAU,yBAAyB,CACvC,OAAwB;IAExB,MAAM,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,2EAA2E;YAC3E,yFAAyF;QAC3F,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,yBAAyB;QACtC,YAAY,EAAE,2BAA2B;QACzC,WAAW;QACX,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;gBAE/C,wEAAwE;gBACxE,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAEzD,iCAAiC;gBACjC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CACtC;;;4BAGkB,EAClB,CAAC,YAAY,EAAE,cAAc,CAAC,CAC/B,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;gBAExD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;wBACL,WAAW,EAAE,KAAK;wBAClB,aAAa,EAAE,IAAI;wBACnB,eAAe,EAAE,IAAI;wBACrB,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;wBAC1D,aAAa,EAAE,EAAE;qBAClB,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,GAClB,YAAY,KAAK,QAAQ;oBACvB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,GAAG,eAAe,KAAK,cAAc,GAAG,CAAC;gBAE/C,uBAAuB;gBACvB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C;;;;;;eAMK,cAAc,EAAE,CACtB,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEnD,+BAA+B;gBAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,mCAAmC,cAAc;;0CAEjB,CACjC,CAAC;gBACF,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE/C,8BAA8B;gBAC9B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAC9C,sCAAsC,cAAc;;gCAE9B,CACvB,CAAC;gBACF,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAW,CACpC,CAAC;gBAEF,IAAI,eAAe,GAAkB,IAAI,CAAC;gBAC1C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;oBAC1C,eAAe;wBACb,SAAS,YAAY,IAAI;4BACvB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;4BACzB,CAAC,CAAC,CAAE,SAA2B,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,aAAa,EACX,SAAS,IAAI,IAAI,CAAC,CAAC,CAAE,SAAS,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,IAAI;oBAC7D,eAAe;oBACf,MAAM,EAAE;wBACN,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAW;wBAClC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAW;wBACtC,QAAQ,EAAG,QAAQ,CAAC,UAAU,CAAmB,IAAI,CAAC;wBACtD,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAW;wBAC7C,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAW;qBACrC;oBACD,aAAa;iBACd,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE,KAAc;oBACvB,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;wBAChC,IAAI,EAAE,qBAAqB;qBAC5B,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * PostgreSQL Migration Tools
3
+ *
4
+ * Schema migration tracking and management tools.
5
+ * 6 tools total.
6
+ */
7
+ import type { PostgresAdapter } from "../../PostgresAdapter.js";
8
+ import type { ToolDefinition } from "../../../../types/index.js";
9
+ import { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool } from "../introspection/migration.js";
10
+ /**
11
+ * Get all migration tools
12
+ */
13
+ export declare function getMigrationTools(adapter: PostgresAdapter): ToolDefinition[];
14
+ export { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, };
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/migration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAS5E;AAGD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PostgreSQL Migration Tools
3
+ *
4
+ * Schema migration tracking and management tools.
5
+ * 6 tools total.
6
+ */
7
+ import { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, } from "../introspection/migration.js";
8
+ /**
9
+ * Get all migration tools
10
+ */
11
+ export function getMigrationTools(adapter) {
12
+ return [
13
+ createMigrationInitTool(adapter),
14
+ createMigrationRecordTool(adapter),
15
+ createMigrationApplyTool(adapter),
16
+ createMigrationRollbackTool(adapter),
17
+ createMigrationHistoryTool(adapter),
18
+ createMigrationStatusTool(adapter),
19
+ ];
20
+ }
21
+ // Re-export individual tool creators for direct imports
22
+ export { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/migration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAwB;IACxD,OAAO;QACL,uBAAuB,CAAC,OAAO,CAAC;QAChC,yBAAyB,CAAC,OAAO,CAAC;QAClC,wBAAwB,CAAC,OAAO,CAAC;QACjC,2BAA2B,CAAC,OAAO,CAAC;QACpC,0BAA0B,CAAC,OAAO,CAAC;QACnC,yBAAyB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * PostgreSQL Performance Tools - Anomaly Detection
3
+ *
4
+ * Lightweight anomaly detectors that compare current state against
5
+ * historical baselines using PostgreSQL system views. Returns risk
6
+ * scores, trend analysis, and actionable recommendations.
7
+ *
8
+ * Tools:
9
+ * - pg_detect_query_anomalies: z-score analysis via pg_stat_statements
10
+ * - pg_detect_bloat_risk: multi-factor bloat risk scoring
11
+ * - pg_detect_connection_spike: connection concentration detection
12
+ */
13
+ import type { PostgresAdapter } from "../../PostgresAdapter.js";
14
+ import type { ToolDefinition } from "../../../../types/index.js";
15
+ export declare function createDetectQueryAnomaliesTool(adapter: PostgresAdapter): ToolDefinition;
16
+ export declare function createDetectBloatRiskTool(adapter: PostgresAdapter): ToolDefinition;
17
+ export declare function createDetectConnectionSpikeTool(adapter: PostgresAdapter): ToolDefinition;
18
+ //# sourceMappingURL=anomaly-detection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anomaly-detection.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/anomaly-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAuDpC,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,eAAe,GACvB,cAAc,CAwHhB;AAsBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAsMhB;AAwBD,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,eAAe,GACvB,cAAc,CA8MhB"}