@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
@@ -1,19 +1,21 @@
1
1
  /**
2
2
  * PostgreSQL Introspection Tools
3
3
  *
4
- * Agent-optimized database analysis tools for dependency graphs,
5
- * cascade simulation, schema snapshots, migration risk analysis,
6
- * and schema version tracking.
7
- * 12 tools total (6 read-only + 6 migration tracking).
4
+ * Agent-optimized read-only database analysis tools for dependency graphs,
5
+ * cascade simulation, schema snapshots, constraint analysis, and
6
+ * DDL migration risk analysis (pg_migration_risks).
7
+ * 6 tools total.
8
+ *
9
+ * Note: Migration *tracking* tools (init, record, apply, rollback, history,
10
+ * status) are in the separate "migration" group — see ./migration.ts.
8
11
  */
9
12
  import type { PostgresAdapter } from "../../PostgresAdapter.js";
10
13
  import type { ToolDefinition } from "../../../../types/index.js";
11
14
  import { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool } from "./graph.js";
12
15
  import { createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool } from "./analysis.js";
13
- import { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool } from "./migration.js";
14
16
  /**
15
- * Get all introspection tools
17
+ * Get all introspection tools (read-only analysis)
16
18
  */
17
19
  export declare function getIntrospectionTools(adapter: PostgresAdapter): ToolDefinition[];
18
- export { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool, createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool, createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, };
20
+ export { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool, createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool, };
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CAelB;AAGD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CASlB;AAGD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,CAAC"}
@@ -1,19 +1,20 @@
1
1
  /**
2
2
  * PostgreSQL Introspection Tools
3
3
  *
4
- * Agent-optimized database analysis tools for dependency graphs,
5
- * cascade simulation, schema snapshots, migration risk analysis,
6
- * and schema version tracking.
7
- * 12 tools total (6 read-only + 6 migration tracking).
4
+ * Agent-optimized read-only database analysis tools for dependency graphs,
5
+ * cascade simulation, schema snapshots, constraint analysis, and
6
+ * DDL migration risk analysis (pg_migration_risks).
7
+ * 6 tools total.
8
+ *
9
+ * Note: Migration *tracking* tools (init, record, apply, rollback, history,
10
+ * status) are in the separate "migration" group — see ./migration.ts.
8
11
  */
9
12
  // Graph analysis tools
10
13
  import { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool, } from "./graph.js";
11
14
  // Schema analysis tools
12
15
  import { createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool, } from "./analysis.js";
13
- // Migration tracking tools
14
- import { createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, } from "./migration.js";
15
16
  /**
16
- * Get all introspection tools
17
+ * Get all introspection tools (read-only analysis)
17
18
  */
18
19
  export function getIntrospectionTools(adapter) {
19
20
  return [
@@ -23,14 +24,8 @@ export function getIntrospectionTools(adapter) {
23
24
  createSchemaSnapshotTool(adapter),
24
25
  createConstraintAnalysisTool(adapter),
25
26
  createMigrationRisksTool(adapter),
26
- createMigrationInitTool(adapter),
27
- createMigrationRecordTool(adapter),
28
- createMigrationApplyTool(adapter),
29
- createMigrationRollbackTool(adapter),
30
- createMigrationHistoryTool(adapter),
31
- createMigrationStatusTool(adapter),
32
27
  ];
33
28
  }
34
29
  // Re-export individual tool creators for direct imports
35
- export { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool, createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool, createMigrationInitTool, createMigrationRecordTool, createMigrationApplyTool, createMigrationRollbackTool, createMigrationHistoryTool, createMigrationStatusTool, };
30
+ export { createDependencyGraphTool, createTopologicalSortTool, createCascadeSimulatorTool, createSchemaSnapshotTool, createConstraintAnalysisTool, createMigrationRisksTool, };
36
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,uBAAuB;AACvB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,wBAAwB;AACxB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AAEvB,2BAA2B;AAC3B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB;IAExB,OAAO;QACL,yBAAyB,CAAC,OAAO,CAAC;QAClC,yBAAyB,CAAC,OAAO,CAAC;QAClC,0BAA0B,CAAC,OAAO,CAAC;QACnC,wBAAwB,CAAC,OAAO,CAAC;QACjC,4BAA4B,CAAC,OAAO,CAAC;QACrC,wBAAwB,CAAC,OAAO,CAAC;QACjC,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,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,uBAAuB;AACvB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AAEpB,wBAAwB;AACxB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB;IAExB,OAAO;QACL,yBAAyB,CAAC,OAAO,CAAC;QAClC,yBAAyB,CAAC,OAAO,CAAC;QAClC,0BAA0B,CAAC,OAAO,CAAC;QACnC,wBAAwB,CAAC,OAAO,CAAC;QACjC,4BAA4B,CAAC,OAAO,CAAC;QACrC,wBAAwB,CAAC,OAAO,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,GACzB,CAAC"}
@@ -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.
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAyGpC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CAmEhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CA+FhB;AAMD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,cAAc,CA0IhB;AAMD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,GACvB,cAAc,CA+HhB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgFhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAwGhB"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/introspection/migration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAqJpC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgEhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CA8DhB;AAMD,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,cAAc,CAyGhB;AAMD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,GACvB,cAAc,CA+HhB;AAMD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CAgFhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2GhB"}
@@ -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,
@@ -29,8 +37,9 @@ CREATE TABLE IF NOT EXISTS ${TRACKING_TABLE} (
29
37
  status VARCHAR(20) NOT NULL DEFAULT 'applied',
30
38
  CONSTRAINT valid_status CHECK (status IN ('applied', '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,7 +106,7 @@ 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,
@@ -82,10 +115,12 @@ export function createMigrationInitTool(adapter) {
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;
@@ -129,47 +161,18 @@ export function createMigrationRecordTool(adapter) {
129
161
  description: "Record a migration in the schema version tracking table. " +
130
162
  "Auto-provisions the tracking table on first use. " +
131
163
  "Computes SHA-256 hash for idempotency detection.",
132
- group: "introspection",
164
+ group: "migration",
133
165
  inputSchema: MigrationRecordSchemaBase,
134
166
  outputSchema: MigrationRecordOutputSchema,
135
167
  annotations,
136
168
  icons: getToolIcons("introspection", annotations),
137
169
  handler: async (params, _context) => {
138
170
  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
- }
171
+ const parsed = MigrationRecordSchema.parse(params);
157
172
  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
- }
173
+ const { migrationHash, duplicateError } = await checkDuplicateHash(adapter, parsed.migrationSql);
174
+ if (duplicateError)
175
+ return duplicateError;
173
176
  const result = await adapter.executeQuery(`INSERT INTO ${TRACKING_TABLE}
174
177
  (version, description, applied_by, migration_hash, migration_sql, source_system, rollback_sql)
175
178
  VALUES ($1, $2, $3, $4, $5, $6, $7)
@@ -217,47 +220,18 @@ export function createMigrationApplyTool(adapter) {
217
220
  "Auto-provisions the tracking table on first use. " +
218
221
  "On failure, rolls back and records a 'failed' entry. " +
219
222
  "Use pg_migration_record instead if you only need to log an already-applied migration.",
220
- group: "introspection",
223
+ group: "migration",
221
224
  inputSchema: MigrationApplySchemaBase,
222
225
  outputSchema: MigrationApplyOutputSchema,
223
226
  annotations,
224
227
  icons: getToolIcons("introspection", annotations),
225
228
  handler: async (params, _context) => {
226
229
  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
- }
230
+ const parsed = MigrationApplySchema.parse(params);
245
231
  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
- }
232
+ const { migrationHash, duplicateError } = await checkDuplicateHash(adapter, parsed.migrationSql);
233
+ if (duplicateError)
234
+ return duplicateError;
261
235
  // Execute migration SQL and record atomically
262
236
  try {
263
237
  await adapter.executeQuery("BEGIN");
@@ -338,7 +312,7 @@ export function createMigrationRollbackTool(adapter) {
338
312
  description: "Roll back a specific migration by ID or version. " +
339
313
  "Executes the stored rollback_sql in a transaction and updates status to 'rolled_back'. " +
340
314
  "Use dryRun: true to preview the rollback SQL without executing.",
341
- group: "introspection",
315
+ group: "migration",
342
316
  inputSchema: MigrationRollbackSchemaBase,
343
317
  outputSchema: MigrationRollbackOutputSchema,
344
318
  annotations,
@@ -449,7 +423,7 @@ export function createMigrationHistoryTool(adapter) {
449
423
  name: "pg_migration_history",
450
424
  description: "Query migration history with optional filtering by status and source system. " +
451
425
  "Returns paginated results ordered by applied_at descending.",
452
- group: "introspection",
426
+ group: "migration",
453
427
  inputSchema: MigrationHistorySchemaBase,
454
428
  outputSchema: MigrationHistoryOutputSchema,
455
429
  annotations,
@@ -518,7 +492,7 @@ export function createMigrationStatusTool(adapter) {
518
492
  name: "pg_migration_status",
519
493
  description: "Get current migration tracking status: latest version, counts by status, " +
520
494
  "and list of source systems. Returns initialized: false if tracking table doesn't exist.",
521
- group: "introspection",
495
+ group: "migration",
522
496
  inputSchema: MigrationStatusSchemaBase,
523
497
  outputSchema: MigrationStatusOutputSchema,
524
498
  annotations,
@@ -527,6 +501,8 @@ export function createMigrationStatusTool(adapter) {
527
501
  try {
528
502
  const parsed = MigrationStatusSchema.parse(params);
529
503
  const targetSchema = parsed.schema ?? "public";
504
+ // Sanitize schema to prevent SQL injection via identifier interpolation
505
+ const sanitizedSchema = sanitizeIdentifier(targetSchema);
530
506
  // Check if tracking table exists
531
507
  const check = await adapter.executeQuery(`SELECT EXISTS (
532
508
  SELECT 1 FROM pg_tables
@@ -545,7 +521,7 @@ export function createMigrationStatusTool(adapter) {
545
521
  }
546
522
  const qualifiedTable = targetSchema === "public"
547
523
  ? TRACKING_TABLE
548
- : `${targetSchema}.${TRACKING_TABLE}`;
524
+ : `${sanitizedSchema}."${TRACKING_TABLE}"`;
549
525
  // Get aggregate status
550
526
  const statsResult = await adapter.executeQuery(`SELECT
551
527
  COUNT(*)::int AS total,
@@ -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":"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"}
@@ -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;AA+CpC,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,eAAe,GACvB,cAAc,CAwHhB;AAsBD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAkMhB;AA2BD,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,eAAe,GACvB,cAAc,CA8MhB"}