@neverinfamous/postgres-mcp 2.0.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.
- package/LICENSE +1 -1
- package/README.md +119 -46
- package/dist/__tests__/benchmarks/codemode.bench.js +3 -3
- package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -1
- package/dist/__tests__/benchmarks/connection-pool.bench.js +3 -3
- package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -1
- package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts +11 -0
- package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/introspection-migration.bench.js +143 -0
- package/dist/__tests__/benchmarks/introspection-migration.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.js +0 -64
- package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -1
- package/dist/__tests__/benchmarks/schema-parsing.bench.js +5 -5
- package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -1
- package/dist/__tests__/benchmarks/tool-filtering.bench.js +17 -8
- package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -1
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +2 -1
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.d.ts +6 -5
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +11 -20
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts +5 -26
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +31 -526
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/index.js +1 -1
- package/dist/adapters/postgresql/prompts/index.js.map +1 -1
- package/dist/adapters/postgresql/resources/index.d.ts +1 -1
- package/dist/adapters/postgresql/resources/index.js +3 -3
- package/dist/adapters/postgresql/resources/index.js.map +1 -1
- package/dist/adapters/postgresql/schema-operations.d.ts +71 -0
- package/dist/adapters/postgresql/schema-operations.d.ts.map +1 -0
- package/dist/adapters/postgresql/schema-operations.js +561 -0
- package/dist/adapters/postgresql/schema-operations.js.map +1 -0
- package/dist/adapters/postgresql/schemas/admin.d.ts +4 -4
- package/dist/adapters/postgresql/schemas/admin.js +4 -4
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +2 -2
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +1 -3
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/core/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/core/index.js +6 -0
- package/dist/adapters/postgresql/schemas/core/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{core.d.ts → core/queries.d.ts} +16 -171
- package/dist/adapters/postgresql/schemas/core/queries.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{core.js → core/queries.js} +5 -213
- package/dist/adapters/postgresql/schemas/core/queries.js.map +1 -0
- package/dist/adapters/postgresql/schemas/core/transactions.d.ts +149 -0
- package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/core/transactions.js +239 -0
- package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -0
- package/dist/adapters/postgresql/schemas/cron.d.ts +12 -12
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +38 -10
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions/citext.d.ts +222 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.js +306 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/index.d.ts +15 -0
- package/dist/adapters/postgresql/schemas/extensions/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/index.js +20 -0
- package/dist/adapters/postgresql/schemas/extensions/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts +164 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.js +225 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts +253 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.js +430 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts +251 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js +294 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.d.ts +10 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.js +15 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.js.map +1 -0
- package/dist/adapters/postgresql/schemas/index.d.ts +6 -6
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +8 -8
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/introspection.d.ts +19 -42
- package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/introspection.js +72 -27
- package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts +270 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.js +371 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts +283 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.js +456 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.js +6 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +4 -4
- package/dist/adapters/postgresql/schemas/monitoring.js +2 -2
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +14 -14
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +64 -46
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.d.ts +16 -14
- package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.js +9 -9
- package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts +429 -0
- package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/advanced.js +495 -0
- package/dist/adapters/postgresql/schemas/postgis/advanced.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{postgis.d.ts → postgis/basic.d.ts} +1 -423
- package/dist/adapters/postgresql/schemas/postgis/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{postgis.js → postgis/basic.js} +1 -486
- package/dist/adapters/postgresql/schemas/postgis/basic.js.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/postgis/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/index.js +6 -0
- package/dist/adapters/postgresql/schemas/postgis/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -25
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +57 -19
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/stats/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/index.js +6 -0
- package/dist/adapters/postgresql/schemas/stats/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/input.d.ts +260 -0
- package/dist/adapters/postgresql/schemas/stats/input.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{stats.js → stats/input.js} +2 -331
- package/dist/adapters/postgresql/schemas/stats/input.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{stats.d.ts → stats/output.d.ts} +3 -246
- package/dist/adapters/postgresql/schemas/stats/output.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/output.js +334 -0
- package/dist/adapters/postgresql/schemas/stats/output.js.map +1 -0
- package/dist/adapters/postgresql/schemas/text-search.d.ts +18 -18
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +12 -27
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.d.ts +10 -10
- package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.js +9 -15
- package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +95 -76
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.js +345 -287
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext/analysis.d.ts +24 -0
- package/dist/adapters/postgresql/tools/citext/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{citext.js → citext/analysis.js} +50 -232
- package/dist/adapters/postgresql/tools/citext/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/citext/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/citext/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/citext/index.js +23 -0
- package/dist/adapters/postgresql/tools/citext/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/citext/setup.d.ts +16 -0
- package/dist/adapters/postgresql/tools/citext/setup.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/citext/setup.js +193 -0
- package/dist/adapters/postgresql/tools/citext/setup.js.map +1 -0
- package/dist/adapters/postgresql/tools/codemode/index.js +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +12 -22
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +100 -210
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +1 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.js +8 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +124 -114
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/index.d.ts +2 -1
- package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/index.js +3 -2
- package/dist/adapters/postgresql/tools/core/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +151 -127
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.js +186 -161
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.js +37 -25
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +6 -3
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +11 -2
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.js +156 -129
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/utility.d.ts +26 -0
- package/dist/adapters/postgresql/tools/core/utility.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/utility.js +174 -0
- package/dist/adapters/postgresql/tools/core/utility.js.map +1 -0
- package/dist/adapters/postgresql/tools/cron.js +90 -43
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/introspection/analysis.d.ts +12 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.js +605 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/graph.d.ts +55 -0
- package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/graph.js +621 -0
- package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/index.d.ts +21 -0
- package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/index.js +31 -0
- package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/migration.d.ts +15 -0
- package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/migration.js +575 -0
- package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts +20 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.js +367 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts +4 -2
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/index.js +8 -4
- package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/read.d.ts +38 -0
- package/dist/adapters/postgresql/tools/jsonb/read.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/{basic.js → read.js} +41 -482
- package/dist/adapters/postgresql/tools/jsonb/read.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/{advanced.d.ts → transform.d.ts} +1 -13
- package/dist/adapters/postgresql/tools/jsonb/transform.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/{advanced.js → transform.js} +26 -357
- package/dist/adapters/postgresql/tools/jsonb/transform.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/write.d.ts +14 -0
- package/dist/adapters/postgresql/tools/jsonb/write.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/write.js +468 -0
- package/dist/adapters/postgresql/tools/jsonb/write.js.map +1 -0
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +116 -51
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +346 -260
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/migration/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/migration/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/migration/index.js +23 -0
- package/dist/adapters/postgresql/tools/migration/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts +15 -0
- package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{monitoring.js → monitoring/analysis.js} +24 -359
- package/dist/adapters/postgresql/tools/monitoring/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.d.ts +17 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.js +432 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/monitoring/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/index.js +31 -0
- package/dist/adapters/postgresql/tools/monitoring/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/partitioning/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/index.js +23 -0
- package/dist/adapters/postgresql/tools/partitioning/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/info.d.ts +11 -0
- package/dist/adapters/postgresql/tools/partitioning/info.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/info.js +302 -0
- package/dist/adapters/postgresql/tools/partitioning/info.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/management.d.ts +28 -0
- package/dist/adapters/postgresql/tools/partitioning/management.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{partitioning.js → partitioning/management.js} +48 -307
- package/dist/adapters/postgresql/tools/partitioning/management.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/helpers.d.ts +29 -0
- package/dist/adapters/postgresql/tools/partman/helpers.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/helpers.js +59 -0
- package/dist/adapters/postgresql/tools/partman/helpers.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/index.d.ts +2 -1
- package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/index.js +4 -2
- package/dist/adapters/postgresql/tools/partman/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/maintenance.d.ts +20 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.js +496 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +438 -383
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts +1 -13
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +171 -652
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.js +69 -42
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts +18 -0
- package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/anomaly-detection.js +533 -0
- package/dist/adapters/postgresql/tools/performance/anomaly-detection.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts +11 -0
- package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/performance/diagnostics.js +332 -0
- package/dist/adapters/postgresql/tools/performance/diagnostics.js.map +1 -0
- package/dist/adapters/postgresql/tools/performance/index.d.ts +1 -1
- package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/index.js +7 -1
- package/dist/adapters/postgresql/tools/performance/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +80 -55
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.js +18 -11
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.js +439 -318
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.js +45 -77
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +121 -93
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/schema/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/schema/index.js +32 -0
- package/dist/adapters/postgresql/tools/schema/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/schema/objects.d.ts +15 -0
- package/dist/adapters/postgresql/tools/schema/objects.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/schema/objects.js +378 -0
- package/dist/adapters/postgresql/tools/schema/objects.js.map +1 -0
- package/dist/adapters/postgresql/tools/schema/views.d.ts +15 -0
- package/dist/adapters/postgresql/tools/schema/views.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{schema.js → schema/views.js} +64 -386
- package/dist/adapters/postgresql/tools/schema/views.js.map +1 -0
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +1 -218
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/math-utils.d.ts +33 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.js +225 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/text/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/index.js +33 -0
- package/dist/adapters/postgresql/tools/text/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/matching.d.ts +17 -0
- package/dist/adapters/postgresql/tools/text/matching.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/matching.js +565 -0
- package/dist/adapters/postgresql/tools/text/matching.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/search.d.ts +17 -0
- package/dist/adapters/postgresql/tools/text/search.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/search.js +653 -0
- package/dist/adapters/postgresql/tools/text/search.js.map +1 -0
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +11 -27
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/{basic.d.ts → data.d.ts} +10 -8
- package/dist/adapters/postgresql/tools/vector/data.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/data.js +540 -0
- package/dist/adapters/postgresql/tools/vector/data.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/index.js +6 -2
- package/dist/adapters/postgresql/tools/vector/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/management.d.ts +11 -0
- package/dist/adapters/postgresql/tools/vector/management.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/management.js +425 -0
- package/dist/adapters/postgresql/tools/vector/management.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/query.d.ts +14 -0
- package/dist/adapters/postgresql/tools/vector/query.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/query.js +767 -0
- package/dist/adapters/postgresql/tools/vector/query.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/{advanced.d.ts → search-advanced.d.ts} +4 -5
- package/dist/adapters/postgresql/tools/vector/search-advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/search-advanced.js +626 -0
- package/dist/adapters/postgresql/tools/vector/search-advanced.js.map +1 -0
- package/dist/auth/scopes.d.ts.map +1 -1
- package/dist/auth/scopes.js +3 -1
- package/dist/auth/scopes.js.map +1 -1
- package/dist/cli/args.d.ts +3 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +4 -3
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.js +16 -4
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api/aliases.d.ts +14 -0
- package/dist/codemode/api/aliases.d.ts.map +1 -0
- package/dist/codemode/api/aliases.js +503 -0
- package/dist/codemode/api/aliases.js.map +1 -0
- package/dist/codemode/api/group-api.d.ts +23 -0
- package/dist/codemode/api/group-api.d.ts.map +1 -0
- package/dist/codemode/api/group-api.js +179 -0
- package/dist/codemode/api/group-api.js.map +1 -0
- package/dist/codemode/{api.d.ts → api/index.d.ts} +5 -4
- package/dist/codemode/api/index.d.ts.map +1 -0
- package/dist/codemode/api/index.js +195 -0
- package/dist/codemode/api/index.js.map +1 -0
- package/dist/codemode/api/maps.d.ts +47 -0
- package/dist/codemode/api/maps.d.ts.map +1 -0
- package/dist/codemode/api/maps.js +529 -0
- package/dist/codemode/api/maps.js.map +1 -0
- package/dist/codemode/api/normalize.d.ts +13 -0
- package/dist/codemode/api/normalize.d.ts.map +1 -0
- package/dist/codemode/api/normalize.js +120 -0
- package/dist/codemode/api/normalize.js.map +1 -0
- package/dist/codemode/index.d.ts +1 -1
- package/dist/codemode/index.d.ts.map +1 -1
- package/dist/codemode/index.js +1 -1
- package/dist/codemode/index.js.map +1 -1
- package/dist/codemode/sandbox.d.ts.map +1 -1
- package/dist/codemode/sandbox.js +8 -25
- package/dist/codemode/sandbox.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +11 -11
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +28 -15
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/filtering/ToolFilter.d.ts +0 -32
- package/dist/filtering/ToolFilter.d.ts.map +1 -1
- package/dist/filtering/ToolFilter.js +0 -43
- package/dist/filtering/ToolFilter.js.map +1 -1
- package/dist/server/McpServer.d.ts +1 -1
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +1 -2
- package/dist/server/McpServer.js.map +1 -1
- package/dist/transports/http.d.ts +55 -10
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +301 -50
- package/dist/transports/http.js.map +1 -1
- package/dist/types/filtering.d.ts +1 -1
- package/dist/types/filtering.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +0 -21
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/schema.d.ts +0 -79
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/utils/fts-config.d.ts +0 -6
- package/dist/utils/fts-config.d.ts.map +1 -1
- package/dist/utils/fts-config.js +1 -1
- package/dist/utils/fts-config.js.map +1 -1
- package/dist/utils/icons.d.ts.map +1 -1
- package/dist/utils/icons.js +5 -0
- package/dist/utils/icons.js.map +1 -1
- package/dist/utils/identifiers.d.ts.map +1 -1
- package/dist/utils/identifiers.js +6 -6
- package/dist/utils/identifiers.js.map +1 -1
- package/dist/utils/logger.d.ts +6 -6
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +18 -15
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-utils.d.ts +3 -14
- package/dist/utils/progress-utils.d.ts.map +1 -1
- package/dist/utils/progress-utils.js +2 -21
- package/dist/utils/progress-utils.js.map +1 -1
- package/dist/utils/version.d.ts +9 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +12 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/where-clause.d.ts +4 -0
- package/dist/utils/where-clause.d.ts.map +1 -1
- package/dist/utils/where-clause.js +16 -0
- package/dist/utils/where-clause.js.map +1 -1
- package/package.json +6 -4
- package/dist/adapters/postgresql/schemas/core.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/core.js.map +0 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +0 -852
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/extensions.js +0 -1202
- package/dist/adapters/postgresql/schemas/extensions.js.map +0 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +0 -541
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +0 -814
- package/dist/adapters/postgresql/schemas/jsonb.js.map +0 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/postgis.js.map +0 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/stats.js.map +0 -1
- package/dist/adapters/postgresql/tools/citext.d.ts +0 -18
- package/dist/adapters/postgresql/tools/citext.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/citext.js.map +0 -1
- package/dist/adapters/postgresql/tools/introspection.d.ts +0 -15
- package/dist/adapters/postgresql/tools/introspection.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/introspection.js +0 -1682
- package/dist/adapters/postgresql/tools/introspection.js.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +0 -20
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +0 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts +0 -13
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/monitoring.js.map +0 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts +0 -13
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/partitioning.js.map +0 -1
- package/dist/adapters/postgresql/tools/schema.d.ts +0 -13
- package/dist/adapters/postgresql/tools/schema.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/schema.js.map +0 -1
- package/dist/adapters/postgresql/tools/text.d.ts +0 -13
- package/dist/adapters/postgresql/tools/text.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/text.js +0 -1082
- package/dist/adapters/postgresql/tools/text.js.map +0 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +0 -958
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +0 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +0 -1165
- package/dist/adapters/postgresql/tools/vector/basic.js.map +0 -1
- package/dist/codemode/api.d.ts.map +0 -1
- package/dist/codemode/api.js +0 -1544
- package/dist/codemode/api.js.map +0 -1
- package/dist/utils/promptGenerator.d.ts +0 -20
- package/dist/utils/promptGenerator.d.ts.map +0 -1
- package/dist/utils/promptGenerator.js +0 -81
- package/dist/utils/promptGenerator.js.map +0 -1
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Schema Tools - Object Management
|
|
3
|
+
*
|
|
4
|
+
* Schema DDL operations: schemas, sequences, and constraint listing.
|
|
5
|
+
* 6 tools total.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { readOnly, write, destructive } from "../../../../utils/annotations.js";
|
|
9
|
+
import { getToolIcons } from "../../../../utils/icons.js";
|
|
10
|
+
import { sanitizeIdentifier } from "../../../../utils/identifiers.js";
|
|
11
|
+
import { formatPostgresError } from "../core/error-helpers.js";
|
|
12
|
+
import { CreateSchemaSchemaBase, CreateSchemaSchema, DropSchemaSchemaBase, DropSchemaSchema, CreateSequenceSchemaBase, CreateSequenceSchema, DropSequenceSchemaBase, DropSequenceSchema,
|
|
13
|
+
// Output schemas
|
|
14
|
+
ListSchemasOutputSchema, CreateSchemaOutputSchema, DropSchemaOutputSchema, ListSequencesOutputSchema, CreateSequenceOutputSchema, DropSequenceOutputSchema, } from "../../schemas/index.js";
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// pg_list_schemas
|
|
17
|
+
// =============================================================================
|
|
18
|
+
export function createListSchemasTool(adapter) {
|
|
19
|
+
return {
|
|
20
|
+
name: "pg_list_schemas",
|
|
21
|
+
description: "List all schemas in the database.",
|
|
22
|
+
group: "schema",
|
|
23
|
+
inputSchema: z.object({}),
|
|
24
|
+
outputSchema: ListSchemasOutputSchema,
|
|
25
|
+
annotations: readOnly("List Schemas"),
|
|
26
|
+
icons: getToolIcons("schema", readOnly("List Schemas")),
|
|
27
|
+
handler: async (_params, _context) => {
|
|
28
|
+
const schemas = await adapter.listSchemas();
|
|
29
|
+
return { schemas, count: schemas.length };
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// =============================================================================
|
|
34
|
+
// pg_create_schema
|
|
35
|
+
// =============================================================================
|
|
36
|
+
export function createCreateSchemaTool(adapter) {
|
|
37
|
+
return {
|
|
38
|
+
name: "pg_create_schema",
|
|
39
|
+
description: "Create a new schema.",
|
|
40
|
+
group: "schema",
|
|
41
|
+
inputSchema: CreateSchemaSchemaBase,
|
|
42
|
+
outputSchema: CreateSchemaOutputSchema,
|
|
43
|
+
annotations: write("Create Schema"),
|
|
44
|
+
icons: getToolIcons("schema", write("Create Schema")),
|
|
45
|
+
handler: async (params, _context) => {
|
|
46
|
+
try {
|
|
47
|
+
const { name: rawName, authorization, ifNotExists, } = CreateSchemaSchema.parse(params);
|
|
48
|
+
const name = rawName ?? "";
|
|
49
|
+
// Check if schema already exists when ifNotExists is true
|
|
50
|
+
let alreadyExisted;
|
|
51
|
+
if (ifNotExists === true) {
|
|
52
|
+
const existsResult = await adapter.executeQuery(`SELECT 1 FROM pg_namespace WHERE nspname = $1`, [name]);
|
|
53
|
+
alreadyExisted = (existsResult.rows?.length ?? 0) > 0;
|
|
54
|
+
}
|
|
55
|
+
const ifNotExistsClause = ifNotExists ? "IF NOT EXISTS " : "";
|
|
56
|
+
const schemaName = sanitizeIdentifier(name);
|
|
57
|
+
const authClause = authorization
|
|
58
|
+
? ` AUTHORIZATION ${sanitizeIdentifier(authorization)}`
|
|
59
|
+
: "";
|
|
60
|
+
const sql = `CREATE SCHEMA ${ifNotExistsClause}${schemaName}${authClause}`;
|
|
61
|
+
try {
|
|
62
|
+
await adapter.executeQuery(sql);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
return {
|
|
66
|
+
success: false,
|
|
67
|
+
error: formatPostgresError(error, {
|
|
68
|
+
tool: "pg_create_schema",
|
|
69
|
+
schema: name,
|
|
70
|
+
objectType: "schema",
|
|
71
|
+
}),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const result = { success: true, schema: name };
|
|
75
|
+
if (alreadyExisted !== undefined) {
|
|
76
|
+
result["alreadyExisted"] = alreadyExisted;
|
|
77
|
+
}
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return {
|
|
82
|
+
success: false,
|
|
83
|
+
error: error instanceof z.ZodError
|
|
84
|
+
? error.issues.map((i) => i.message).join("; ")
|
|
85
|
+
: formatPostgresError(error, { tool: "pg_create_schema" }),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// =============================================================================
|
|
92
|
+
// pg_drop_schema
|
|
93
|
+
// =============================================================================
|
|
94
|
+
export function createDropSchemaTool(adapter) {
|
|
95
|
+
return {
|
|
96
|
+
name: "pg_drop_schema",
|
|
97
|
+
description: "Drop a schema (optionally with all objects).",
|
|
98
|
+
group: "schema",
|
|
99
|
+
inputSchema: DropSchemaSchemaBase,
|
|
100
|
+
outputSchema: DropSchemaOutputSchema,
|
|
101
|
+
annotations: destructive("Drop Schema"),
|
|
102
|
+
icons: getToolIcons("schema", destructive("Drop Schema")),
|
|
103
|
+
handler: async (params, _context) => {
|
|
104
|
+
try {
|
|
105
|
+
const { name: rawName, cascade, ifExists, } = DropSchemaSchema.parse(params);
|
|
106
|
+
const name = rawName ?? "";
|
|
107
|
+
// Check if schema exists before dropping (for accurate response)
|
|
108
|
+
const existsResult = await adapter.executeQuery(`SELECT 1 FROM pg_namespace WHERE nspname = $1`, [name]);
|
|
109
|
+
const existed = (existsResult.rows?.length ?? 0) > 0;
|
|
110
|
+
const ifExistsClause = ifExists === true ? "IF EXISTS " : "";
|
|
111
|
+
const cascadeClause = cascade === true ? " CASCADE" : "";
|
|
112
|
+
const schemaName = sanitizeIdentifier(name);
|
|
113
|
+
const sql = `DROP SCHEMA ${ifExistsClause}${schemaName}${cascadeClause}`;
|
|
114
|
+
try {
|
|
115
|
+
await adapter.executeQuery(sql);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
return {
|
|
119
|
+
success: false,
|
|
120
|
+
error: formatPostgresError(error, {
|
|
121
|
+
tool: "pg_drop_schema",
|
|
122
|
+
schema: name,
|
|
123
|
+
}),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
success: true,
|
|
128
|
+
schema: name,
|
|
129
|
+
existed,
|
|
130
|
+
note: existed
|
|
131
|
+
? undefined
|
|
132
|
+
: `Schema '${name}' did not exist (ifExists: true)`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
return {
|
|
137
|
+
success: false,
|
|
138
|
+
error: error instanceof z.ZodError
|
|
139
|
+
? error.issues.map((i) => i.message).join("; ")
|
|
140
|
+
: formatPostgresError(error, { tool: "pg_drop_schema" }),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
// =============================================================================
|
|
147
|
+
// pg_list_sequences
|
|
148
|
+
// =============================================================================
|
|
149
|
+
export function createListSequencesTool(adapter) {
|
|
150
|
+
return {
|
|
151
|
+
name: "pg_list_sequences",
|
|
152
|
+
description: "List all sequences in the database.",
|
|
153
|
+
group: "schema",
|
|
154
|
+
inputSchema: z
|
|
155
|
+
.object({
|
|
156
|
+
schema: z.string().optional(),
|
|
157
|
+
limit: z
|
|
158
|
+
.any()
|
|
159
|
+
.optional()
|
|
160
|
+
.describe("Maximum number of sequences to return (default: 50). Use 0 for all."),
|
|
161
|
+
})
|
|
162
|
+
.default({}),
|
|
163
|
+
outputSchema: ListSequencesOutputSchema,
|
|
164
|
+
annotations: readOnly("List Sequences"),
|
|
165
|
+
icons: getToolIcons("schema", readOnly("List Sequences")),
|
|
166
|
+
handler: async (params, _context) => {
|
|
167
|
+
const parsed = (params ?? {});
|
|
168
|
+
const queryParams = [];
|
|
169
|
+
// Validate schema existence when filtering by schema
|
|
170
|
+
if (parsed.schema) {
|
|
171
|
+
const schemaCheck = await adapter.executeQuery(`SELECT 1 FROM pg_namespace WHERE nspname = $1`, [parsed.schema]);
|
|
172
|
+
if ((schemaCheck.rows?.length ?? 0) === 0) {
|
|
173
|
+
return {
|
|
174
|
+
success: false,
|
|
175
|
+
error: `Schema '${parsed.schema}' does not exist. Use pg_list_schemas to see available schemas.`,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const schemaClause = parsed.schema
|
|
180
|
+
? (queryParams.push(parsed.schema),
|
|
181
|
+
`AND n.nspname = $${String(queryParams.length)}`)
|
|
182
|
+
: "";
|
|
183
|
+
// Default limit: 50, 0 = no limit (safe coercion)
|
|
184
|
+
const rawLimit = Number(parsed.limit);
|
|
185
|
+
const limitVal = Number.isFinite(rawLimit) ? rawLimit : 50;
|
|
186
|
+
const limitClause = limitVal > 0 ? `LIMIT ${String(limitVal + 1)}` : "";
|
|
187
|
+
// Use subquery for owned_by to avoid duplicate rows from JOINs
|
|
188
|
+
const sql = `SELECT n.nspname as schema, c.relname as name,
|
|
189
|
+
(SELECT tc.relname || '.' || a.attname
|
|
190
|
+
FROM pg_depend d
|
|
191
|
+
JOIN pg_class tc ON tc.oid = d.refobjid
|
|
192
|
+
JOIN pg_attribute a ON a.attrelid = tc.oid AND a.attnum = d.refobjsubid
|
|
193
|
+
WHERE d.objid = c.oid AND d.classid = 'pg_class'::regclass AND d.deptype = 'a'
|
|
194
|
+
LIMIT 1) as owned_by
|
|
195
|
+
FROM pg_class c
|
|
196
|
+
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
197
|
+
WHERE c.relkind = 'S'
|
|
198
|
+
AND n.nspname NOT IN ('pg_catalog', 'information_schema')
|
|
199
|
+
${schemaClause}
|
|
200
|
+
ORDER BY n.nspname, c.relname
|
|
201
|
+
${limitClause}`;
|
|
202
|
+
const result = queryParams.length > 0
|
|
203
|
+
? await adapter.executeQuery(sql, queryParams)
|
|
204
|
+
: await adapter.executeQuery(sql);
|
|
205
|
+
let sequences = result.rows ?? [];
|
|
206
|
+
// Check if there are more results than the limit
|
|
207
|
+
const hasMore = limitVal > 0 && sequences.length > limitVal;
|
|
208
|
+
if (hasMore) {
|
|
209
|
+
sequences = sequences.slice(0, limitVal);
|
|
210
|
+
}
|
|
211
|
+
const response = {
|
|
212
|
+
sequences,
|
|
213
|
+
count: sequences.length,
|
|
214
|
+
};
|
|
215
|
+
// Always include truncated field for consistent response structure
|
|
216
|
+
response["truncated"] = hasMore;
|
|
217
|
+
if (hasMore) {
|
|
218
|
+
// Get total count
|
|
219
|
+
const countParams = [];
|
|
220
|
+
const countSchemaClause = parsed.schema
|
|
221
|
+
? (countParams.push(parsed.schema),
|
|
222
|
+
`AND n.nspname = $${String(countParams.length)}`)
|
|
223
|
+
: "";
|
|
224
|
+
const countSql = `SELECT COUNT(*)::int as total FROM pg_class c
|
|
225
|
+
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
226
|
+
WHERE c.relkind = 'S'
|
|
227
|
+
AND n.nspname NOT IN ('pg_catalog', 'information_schema')
|
|
228
|
+
${countSchemaClause}`;
|
|
229
|
+
const countResult = countParams.length > 0
|
|
230
|
+
? await adapter.executeQuery(countSql, countParams)
|
|
231
|
+
: await adapter.executeQuery(countSql);
|
|
232
|
+
response["totalCount"] =
|
|
233
|
+
countResult.rows?.[0]?.["total"] ?? sequences.length;
|
|
234
|
+
response["note"] =
|
|
235
|
+
`Results limited to ${String(limitVal)}. Use 'limit: 0' for all sequences.`;
|
|
236
|
+
}
|
|
237
|
+
return response;
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
// =============================================================================
|
|
242
|
+
// pg_create_sequence
|
|
243
|
+
// =============================================================================
|
|
244
|
+
export function createCreateSequenceTool(adapter) {
|
|
245
|
+
return {
|
|
246
|
+
name: "pg_create_sequence",
|
|
247
|
+
description: "Create a new sequence with optional START, INCREMENT, MIN/MAX, CACHE, CYCLE, and OWNED BY.",
|
|
248
|
+
group: "schema",
|
|
249
|
+
inputSchema: CreateSequenceSchemaBase,
|
|
250
|
+
outputSchema: CreateSequenceOutputSchema,
|
|
251
|
+
annotations: write("Create Sequence"),
|
|
252
|
+
icons: getToolIcons("schema", write("Create Sequence")),
|
|
253
|
+
handler: async (params, _context) => {
|
|
254
|
+
try {
|
|
255
|
+
const { name, schema, start, increment, minValue, maxValue, cache, cycle, ownedBy, ifNotExists, } = CreateSequenceSchema.parse(params);
|
|
256
|
+
const schemaName = schema ?? "public";
|
|
257
|
+
// Check if sequence already exists when ifNotExists is true
|
|
258
|
+
let alreadyExisted;
|
|
259
|
+
if (ifNotExists === true) {
|
|
260
|
+
const existsResult = await adapter.executeQuery(`SELECT 1 FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind = 'S' AND n.nspname = $1 AND c.relname = $2`, [schemaName, name]);
|
|
261
|
+
alreadyExisted = (existsResult.rows?.length ?? 0) > 0;
|
|
262
|
+
}
|
|
263
|
+
const schemaPrefix = schema ? `${sanitizeIdentifier(schema)}.` : "";
|
|
264
|
+
const ifNotExistsClause = ifNotExists === true ? "IF NOT EXISTS " : "";
|
|
265
|
+
const parts = [
|
|
266
|
+
`CREATE SEQUENCE ${ifNotExistsClause}${schemaPrefix}${sanitizeIdentifier(name)}`,
|
|
267
|
+
];
|
|
268
|
+
if (start !== undefined)
|
|
269
|
+
parts.push(`START WITH ${String(start)}`);
|
|
270
|
+
if (increment !== undefined)
|
|
271
|
+
parts.push(`INCREMENT BY ${String(increment)}`);
|
|
272
|
+
if (minValue !== undefined)
|
|
273
|
+
parts.push(`MINVALUE ${String(minValue)}`);
|
|
274
|
+
if (maxValue !== undefined)
|
|
275
|
+
parts.push(`MAXVALUE ${String(maxValue)}`);
|
|
276
|
+
if (cache !== undefined)
|
|
277
|
+
parts.push(`CACHE ${String(cache)}`);
|
|
278
|
+
if (cycle)
|
|
279
|
+
parts.push("CYCLE");
|
|
280
|
+
if (ownedBy !== undefined) {
|
|
281
|
+
// Validate and sanitize ownedBy: table.column or schema.table.column
|
|
282
|
+
const ownedByParts = ownedBy.split(".");
|
|
283
|
+
if (ownedByParts.length < 2 || ownedByParts.length > 3) {
|
|
284
|
+
return {
|
|
285
|
+
success: false,
|
|
286
|
+
error: `Invalid ownedBy format: '${ownedBy}'. Expected 'table.column' or 'schema.table.column'.`,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
const sanitizedOwnedBy = ownedByParts
|
|
290
|
+
.map((p) => sanitizeIdentifier(p))
|
|
291
|
+
.join(".");
|
|
292
|
+
parts.push(`OWNED BY ${sanitizedOwnedBy}`);
|
|
293
|
+
}
|
|
294
|
+
const sql = parts.join(" ");
|
|
295
|
+
try {
|
|
296
|
+
await adapter.executeQuery(sql);
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
return {
|
|
300
|
+
success: false,
|
|
301
|
+
error: formatPostgresError(error, {
|
|
302
|
+
tool: "pg_create_sequence",
|
|
303
|
+
objectType: "sequence",
|
|
304
|
+
...(schema !== undefined && { schema }),
|
|
305
|
+
}),
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
const result = {
|
|
309
|
+
success: true,
|
|
310
|
+
sequence: `${schemaName}.${name}`,
|
|
311
|
+
ifNotExists: ifNotExists ?? false,
|
|
312
|
+
};
|
|
313
|
+
if (alreadyExisted !== undefined) {
|
|
314
|
+
result["alreadyExisted"] = alreadyExisted;
|
|
315
|
+
}
|
|
316
|
+
return result;
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
return {
|
|
320
|
+
success: false,
|
|
321
|
+
error: error instanceof z.ZodError
|
|
322
|
+
? error.issues.map((i) => i.message).join("; ")
|
|
323
|
+
: formatPostgresError(error, { tool: "pg_create_sequence" }),
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
// =============================================================================
|
|
330
|
+
// pg_drop_sequence
|
|
331
|
+
// =============================================================================
|
|
332
|
+
// DropSequenceSchema is now imported from schemas/schema-mgmt.js
|
|
333
|
+
export function createDropSequenceTool(adapter) {
|
|
334
|
+
return {
|
|
335
|
+
name: "pg_drop_sequence",
|
|
336
|
+
description: "Drop a sequence. Supports IF EXISTS and CASCADE options.",
|
|
337
|
+
group: "schema",
|
|
338
|
+
inputSchema: DropSequenceSchemaBase,
|
|
339
|
+
outputSchema: DropSequenceOutputSchema,
|
|
340
|
+
annotations: destructive("Drop Sequence"),
|
|
341
|
+
icons: getToolIcons("schema", destructive("Drop Sequence")),
|
|
342
|
+
handler: async (params, _context) => {
|
|
343
|
+
try {
|
|
344
|
+
const { name: rawName, schema, ifExists, cascade, } = DropSequenceSchema.parse(params);
|
|
345
|
+
const name = rawName ?? "";
|
|
346
|
+
const schemaName = schema ?? "public";
|
|
347
|
+
// Check if sequence exists before dropping (for accurate response)
|
|
348
|
+
const existsResult = await adapter.executeQuery(`SELECT 1 FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind = 'S' AND n.nspname = $1 AND c.relname = $2`, [schemaName, name]);
|
|
349
|
+
const existed = (existsResult.rows?.length ?? 0) > 0;
|
|
350
|
+
const ifExistsClause = ifExists === true ? "IF EXISTS " : "";
|
|
351
|
+
const cascadeClause = cascade === true ? " CASCADE" : "";
|
|
352
|
+
const sql = `DROP SEQUENCE ${ifExistsClause}"${schemaName}"."${name}"${cascadeClause}`;
|
|
353
|
+
try {
|
|
354
|
+
await adapter.executeQuery(sql);
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
return {
|
|
358
|
+
success: false,
|
|
359
|
+
error: formatPostgresError(error, {
|
|
360
|
+
tool: "pg_drop_sequence",
|
|
361
|
+
...(schema !== undefined && { schema }),
|
|
362
|
+
}),
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
return { success: true, sequence: `${schemaName}.${name}`, existed };
|
|
366
|
+
}
|
|
367
|
+
catch (error) {
|
|
368
|
+
return {
|
|
369
|
+
success: false,
|
|
370
|
+
error: error instanceof z.ZodError
|
|
371
|
+
? error.issues.map((i) => i.message).join("; ")
|
|
372
|
+
: formatPostgresError(error, { tool: "pg_drop_sequence" }),
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
//# sourceMappingURL=objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/schema/objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Schema Tools - Views, Functions, Triggers & Constraints
|
|
3
|
+
*
|
|
4
|
+
* Listing and CRUD for views, functions, triggers, and constraints.
|
|
5
|
+
* 6 tools total.
|
|
6
|
+
*/
|
|
7
|
+
import type { PostgresAdapter } from "../../PostgresAdapter.js";
|
|
8
|
+
import type { ToolDefinition } from "../../../../types/index.js";
|
|
9
|
+
export declare function createListViewsTool(adapter: PostgresAdapter): ToolDefinition;
|
|
10
|
+
export declare function createCreateViewTool(adapter: PostgresAdapter): ToolDefinition;
|
|
11
|
+
export declare function createDropViewTool(adapter: PostgresAdapter): ToolDefinition;
|
|
12
|
+
export declare function createListFunctionsTool(adapter: PostgresAdapter): ToolDefinition;
|
|
13
|
+
export declare function createListTriggersTool(adapter: PostgresAdapter): ToolDefinition;
|
|
14
|
+
export declare function createListConstraintsTool(adapter: PostgresAdapter): ToolDefinition;
|
|
15
|
+
//# sourceMappingURL=views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/schema/views.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAuCpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CA6I5E;AAMD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAwE7E;AAQD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAgE3E;AAMD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,GACvB,cAAc,CA4GhB;AAMD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,GACvB,cAAc,CAsGhB;AAMD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAwIhB"}
|