@neverinfamous/postgres-mcp 1.2.0 → 2.0.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/README.md +202 -148
- package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
- package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
- package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +12 -0
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +56 -3
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.js +2 -2
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.d.ts +10 -5
- package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.js +10 -5
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +45 -27
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +64 -26
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core.d.ts +53 -19
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/core.js +61 -17
- package/dist/adapters/postgresql/schemas/core.js.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.d.ts +51 -32
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +64 -44
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +224 -110
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.js +245 -96
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
- package/dist/adapters/postgresql/schemas/index.d.ts +7 -6
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +16 -8
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
- package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/introspection.js +478 -0
- package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +102 -42
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +125 -30
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +69 -36
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +98 -40
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +21 -24
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +26 -14
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.d.ts +69 -0
- package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.js +46 -33
- package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +97 -49
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +139 -34
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts +20 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.js +40 -0
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +50 -30
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +105 -33
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts +33 -20
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.js +36 -20
- package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.d.ts +34 -19
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +52 -13
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/admin.js +272 -186
- package/dist/adapters/postgresql/tools/admin.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +376 -350
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/citext.js +333 -243
- package/dist/adapters/postgresql/tools/citext.js.map +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.js +2 -11
- package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +9 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +101 -19
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +48 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js +256 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -0
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +18 -4
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +48 -6
- 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 +104 -85
- 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 +100 -42
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +51 -25
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +51 -25
- 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 +72 -32
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/cron.js +333 -206
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/introspection.d.ts +15 -0
- package/dist/adapters/postgresql/tools/introspection.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection.js +1682 -0
- package/dist/adapters/postgresql/tools/introspection.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +394 -297
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js +686 -398
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +278 -246
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +137 -38
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.js +86 -55
- package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.js +79 -15
- package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +43 -56
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +137 -24
- 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 +276 -165
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.js +61 -21
- package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +52 -12
- 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 +92 -81
- 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 +182 -60
- 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 +277 -102
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.js +298 -230
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +370 -251
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.js +135 -51
- package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/schema.js +580 -233
- package/dist/adapters/postgresql/tools/schema.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +567 -506
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.js +340 -316
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/text.js +690 -337
- package/dist/adapters/postgresql/tools/text.js.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +157 -50
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +18 -0
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +100 -53
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
- package/dist/auth/auth-context.d.ts +28 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/auth-context.js +37 -0
- package/dist/auth/auth-context.js.map +1 -0
- package/dist/auth/scope-map.d.ts +20 -0
- package/dist/auth/scope-map.d.ts.map +1 -0
- package/dist/auth/scope-map.js +40 -0
- package/dist/auth/scope-map.js.map +1 -0
- package/dist/auth/scopes.d.ts.map +1 -1
- package/dist/auth/scopes.js +2 -0
- package/dist/auth/scopes.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api.d.ts +1 -0
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/api.js +35 -1
- package/dist/codemode/api.js.map +1 -1
- package/dist/codemode/index.d.ts +0 -2
- package/dist/codemode/index.d.ts.map +1 -1
- package/dist/codemode/index.js +0 -4
- package/dist/codemode/index.js.map +1 -1
- package/dist/codemode/sandbox.d.ts +14 -1
- package/dist/codemode/sandbox.d.ts.map +1 -1
- package/dist/codemode/sandbox.js +58 -19
- package/dist/codemode/sandbox.js.map +1 -1
- package/dist/codemode/types.d.ts.map +1 -1
- package/dist/codemode/types.js +3 -0
- package/dist/codemode/types.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +5 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +117 -31
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +22 -19
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +48 -37
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/filtering/ToolFilter.d.ts.map +1 -1
- package/dist/filtering/ToolFilter.js +10 -13
- package/dist/filtering/ToolFilter.js.map +1 -1
- package/dist/pool/ConnectionPool.js +1 -1
- package/dist/pool/ConnectionPool.js.map +1 -1
- package/dist/transports/http.d.ts +1 -0
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +75 -21
- package/dist/transports/http.js.map +1 -1
- package/dist/types/filtering.d.ts +2 -2
- package/dist/types/filtering.d.ts.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/where-clause.d.ts.map +1 -1
- package/dist/utils/where-clause.js +24 -0
- package/dist/utils/where-clause.js.map +1 -1
- package/package.json +20 -13
- package/dist/codemode/sandbox-factory.d.ts +0 -72
- package/dist/codemode/sandbox-factory.d.ts.map +0 -1
- package/dist/codemode/sandbox-factory.js +0 -88
- package/dist/codemode/sandbox-factory.js.map +0 -1
- package/dist/codemode/worker-sandbox.d.ts +0 -82
- package/dist/codemode/worker-sandbox.d.ts.map +0 -1
- package/dist/codemode/worker-sandbox.js +0 -244
- package/dist/codemode/worker-sandbox.js.map +0 -1
- package/dist/codemode/worker-script.d.ts +0 -8
- package/dist/codemode/worker-script.d.ts.map +0 -1
- package/dist/codemode/worker-script.js +0 -113
- package/dist/codemode/worker-script.js.map +0 -1
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Server instructions for Code Mode usage.
|
|
3
3
|
*
|
|
4
|
+
* ⚠️ AUTO-GENERATED — DO NOT EDIT THIS FILE DIRECTLY
|
|
5
|
+
* Edit src/constants/server-instructions.md instead,
|
|
6
|
+
* then run: npm run generate:instructions
|
|
7
|
+
*
|
|
4
8
|
* These instructions are automatically sent to MCP clients during initialization,
|
|
5
9
|
* eliminating the need for users to manually provide agent instructions.
|
|
6
10
|
*
|
|
@@ -30,29 +34,44 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
30
34
|
|
|
31
35
|
## 🔄 Response Structures
|
|
32
36
|
|
|
33
|
-
| Tool
|
|
34
|
-
|
|
35
|
-
| \`pg_read_query\`
|
|
36
|
-
| \`pg_write_query\`
|
|
37
|
-
| \`pg_upsert\`
|
|
38
|
-
| \`pg_batch_insert\`
|
|
39
|
-
| \`
|
|
40
|
-
| \`
|
|
41
|
-
| \`
|
|
42
|
-
| \`
|
|
43
|
-
| \`
|
|
44
|
-
| \`
|
|
45
|
-
| \`
|
|
46
|
-
| \`
|
|
47
|
-
| \`
|
|
48
|
-
|
|
|
49
|
-
| \`
|
|
50
|
-
| \`
|
|
51
|
-
| \`
|
|
52
|
-
| \`
|
|
53
|
-
|
|
|
54
|
-
| \`
|
|
55
|
-
| \`
|
|
37
|
+
| Tool | Returns | Notes |
|
|
38
|
+
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
39
|
+
| \`pg_read_query\` | \`{rows, rowCount, fields?}\` | \`fields\` contains column metadata (name, dataTypeID) |
|
|
40
|
+
| \`pg_write_query\` | \`{rowsAffected, affectedRows, rows?}\` | \`rows\` only with RETURNING clause. DDL statements return \`rowsAffected: 0\`. ⛔ Throws for SELECT |
|
|
41
|
+
| \`pg_upsert\` | \`{success, operation, rowsAffected, rowCount, rows?}\` | \`operation: 'insert' | 'update'\`. \`rows\` only with RETURNING clause |
|
|
42
|
+
| \`pg_batch_insert\` | \`{success, rowsAffected, affectedRows, insertedCount, rowCount, rows?}\` | Empty objects use DEFAULT VALUES. ⚠️ BIGINT > 2^53 loses precision |
|
|
43
|
+
| \`pg_create_table\` | \`{success, table, sql, compositePrimaryKey?}\` | \`table\` = schema-qualified name. \`compositePrimaryKey\` only when composite PK used |
|
|
44
|
+
| \`pg_drop_table\` | \`{success, dropped, existed}\` | \`existed\` indicates whether table was present before drop |
|
|
45
|
+
| \`pg_create_index\` | \`{success, index, indexName, table, sql, ifNotExists?, alreadyExists?, message?}\` | \`alreadyExists\`/\`message\` only with \`ifNotExists: true\` when index pre-exists |
|
|
46
|
+
| \`pg_drop_index\` | \`{success, index, existed, sql}\` | \`existed\` indicates whether index was present before drop |
|
|
47
|
+
| \`pg_truncate\` | \`{success, table, cascade, restartIdentity}\` | \`cascade\`/\`restartIdentity\` reflect the options used |
|
|
48
|
+
| \`pg_count\` | \`{count: N}\` | Use \`params\` for placeholders: \`where: 'id=$1', params: [5]\`. DISTINCT: use \`pg_read_query\` |
|
|
49
|
+
| \`pg_exists\` | \`{exists: bool, mode, hint?}\` | \`params\` for placeholders. \`mode: 'filtered' | 'any_rows'\` |
|
|
50
|
+
| \`pg_get_indexes\` | \`{indexes, count, totalCount?}\` | Default \`limit: 100\` without \`table\`. Use \`schema\`/\`limit\` to filter. Index objects have \`name\`, \`type\`, \`columns\` |
|
|
51
|
+
| \`pg_list_objects\` | \`{objects, count, totalCount, byType}\` | Use \`limit\` to cap results, \`type\`/\`types\` to filter |
|
|
52
|
+
| \`pg_object_details\` | \`{name, schema, type, returnType?, ...}\` | Functions: \`returnType\` alias. Views/Mat. views: \`definition\`. Tables: equivalent to \`pg_describe_table\` (columns, primaryKey, indexes, constraints, foreignKeys) |
|
|
53
|
+
| \`pg_analyze_db_health\` | \`{cacheHitRatio, databaseSize, tableStats, unusedIndexes, tablesNeedingVacuum, connections, bloat, isReplica, overallScore, overallStatus}\` | \`cacheHitRatio\`: \`{ratio, heap, index, status}\`. \`overallStatus\`: \`healthy | needs_attention | critical\`. Optional sections via \`includeIndexes\`, \`includeVacuum\`, \`includeConnections\` |
|
|
54
|
+
| \`pg_describe_table\` | \`{name, schema, type, owner, rowCount, columns, primaryKey, indexes, constraints, foreignKeys}\` | Columns include \`notNull\` (alias for \`!nullable\`), \`foreignKey\`. \`constraints\` includes PK, UNIQUE, CHECK, NOT NULL. ⚠️ \`rowCount: -1\` = stale/missing statistics (run ANALYZE on the table). Small tables (<~50 rows) may show -1 until first ANALYZE |
|
|
55
|
+
| \`pg_analyze_query_indexes\` | \`{plan, issues, recommendations}\` | \`verbosity\`: 'summary' (default) or 'full'. Summary mode returns condensed plan |
|
|
56
|
+
| \`pg_list_tables\` | \`{tables, count, totalCount, truncated?, hint?}\` | Use \`schema\` to filter, \`limit\` to cap results, \`exclude\` to hide extension schemas (e.g., \`['cron', 'topology', 'partman']\`) |
|
|
57
|
+
| List operations | \`{items, count}\` | Access via \`result.tables\`, \`result.views\`, etc. |
|
|
58
|
+
| \`pg_jsonb_agg groupBy\` | \`{result: [{group_key, items}], count, grouped: true}\` | Without groupBy: \`{result: [...], count, grouped: false}\` |
|
|
59
|
+
| \`pg_vector_aggregate\` | \`{average_vector, count}\` or \`{groups: [{group_key, average_vector, count}]}\` | Without/with \`groupBy\` |
|
|
60
|
+
| \`pg_index_stats\` | \`{indexes, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
61
|
+
| \`pg_table_stats\` | \`{tables, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
62
|
+
| \`pg_vacuum_stats\` | \`{tables, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
63
|
+
| \`pg_stat_statements\` | \`{statements, count, truncated?, totalCount?}\` | Default 20 rows. \`orderBy\` supported |
|
|
64
|
+
| \`pg_query_plan_stats\` | \`{queryPlanStats, count, truncated?, totalCount?}\` | Default 20 rows. \`truncateQuery: 0\` for full text |
|
|
65
|
+
| \`pg_stat_activity\` | \`{connections, count, backgroundWorkers}\` | \`includeIdle: true\` to include idle connections. \`backgroundWorkers\` = count of background worker processes |
|
|
66
|
+
| \`pg_locks\` | \`{locks}\` | \`showBlocked: true\` switches to blocked/blocking pid format |
|
|
67
|
+
| \`pg_bloat_check\` | \`{tables, count}\` | Tables with \`live_tuples\`, \`dead_tuples\`, \`dead_pct\` |
|
|
68
|
+
| \`pg_cache_hit_ratio\` | \`{heap_read, heap_hit, cache_hit_ratio}\` | All fields nullable (0 tables = null). Flat response, differs from \`pg_analyze_db_health.cacheHitRatio\` |
|
|
69
|
+
| \`pg_seq_scan_tables\` | \`{tables, count, minScans, hint, truncated?, totalCount?}\` | Default 50 rows. \`minScans\` default: 10 |
|
|
70
|
+
| \`pg_connection_pool_optimize\` | \`{current, config, waitEvents, recommendations}\` | No params needed |
|
|
71
|
+
| \`pg_performance_baseline\` | \`{name, timestamp, metrics}\` | \`metrics\`: \`cache\`, \`tables\`, \`indexes\`, \`connections\`, \`databaseSize\` |
|
|
72
|
+
| \`pg_duplicate_indexes\` | \`{duplicateIndexes, count, hint, truncated?, totalCount?}\` | Default 50 rows. \`duplicate_type\`: EXACT_DUPLICATE, OVERLAPPING, SUBSET |
|
|
73
|
+
| \`pg_query_plan_compare\` | \`{query1, query2, analysis, fullPlans}\` | \`analysis.costDifference\` + \`recommendation\` |
|
|
74
|
+
| \`pg_unused_indexes\` | \`{unusedIndexes, count, hint, truncated?, totalCount?}\` | Default 20 rows. \`summary: true\` → \`{summary, bySchema, totalCount}\` |
|
|
56
75
|
|
|
57
76
|
## API Mapping
|
|
58
77
|
|
|
@@ -104,6 +123,7 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
104
123
|
- ⛔ **Object-only tools**: \`diff\`, \`merge\`, \`keys\`, \`indexSuggest\`, \`securityScan\`, \`stats\`—topKeys require JSONB objects, throw descriptive errors for arrays
|
|
105
124
|
- ⛔ **Array-only tools**: \`insert\`—requires JSONB arrays, throws errors for objects
|
|
106
125
|
- 📝 \`normalize\` modes: \`pairs\`/\`keys\`/\`flatten\` for objects; \`array\` for arrays
|
|
126
|
+
- 📦 **AI-Optimized Payloads**: \`contains\` and \`pathQuery\` default to 100 results. Returns \`truncated\` + \`totalCount\` when capped. Use \`limit: 0\` for all rows
|
|
107
127
|
|
|
108
128
|
**Top-Level Aliases**: \`pg.jsonbExtract()\`, \`pg.jsonbSet()\`, \`pg.jsonbInsert()\`, \`pg.jsonbDelete()\`, \`pg.jsonbContains()\`, \`pg.jsonbPathQuery()\`, \`pg.jsonbAgg()\`, \`pg.jsonbObject()\`, \`pg.jsonbArray()\`, \`pg.jsonbKeys()\`, \`pg.jsonbStripNulls()\`, \`pg.jsonbTypeof()\`, \`pg.jsonbValidatePath()\`, \`pg.jsonbMerge()\`, \`pg.jsonbNormalize()\`, \`pg.jsonbDiff()\`, \`pg.jsonbIndexSuggest()\`, \`pg.jsonbSecurityScan()\`, \`pg.jsonbStats()\`
|
|
109
129
|
|
|
@@ -121,6 +141,11 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
121
141
|
|
|
122
142
|
**Top-Level Aliases**: \`pg.descriptive()\`, \`pg.percentiles()\`, \`pg.correlation()\`, \`pg.regression()\`, \`pg.timeSeries()\`, \`pg.distribution()\`, \`pg.hypothesis()\`, \`pg.sampling()\`
|
|
123
143
|
|
|
144
|
+
## Text Tools
|
|
145
|
+
|
|
146
|
+
- \`pg_text_search\`/\`pg_text_rank\`: Column must be \`text\` type—pre-built \`tsvector\` columns are **not** supported (wrap with \`to_tsvector()\` fails on tsvector input). Use \`pg_read_query\` with raw FTS SQL for tsvector columns
|
|
147
|
+
- \`pg_create_fts_index\`: Returns \`{success, index, config, skipped}\`. \`skipped: true\` = index already existed (IF NOT EXISTS). \`ifNotExists\` defaults to \`true\`
|
|
148
|
+
|
|
124
149
|
## Performance Tools
|
|
125
150
|
|
|
126
151
|
Core (20 methods): \`explain()\`, \`explainAnalyze()\`, \`explainBuffers()\`, \`indexStats()\`, \`tableStats()\`, \`statStatements()\`, \`statActivity()\`, \`locks()\`, \`bloatCheck()\`, \`cacheHitRatio()\`, \`seqScanTables()\`, \`indexRecommendations()\`, \`queryPlanCompare()\`, \`baseline()\`, \`connectionPoolOptimize()\`, \`partitionStrategySuggest()\`, \`unusedIndexes()\`, \`duplicateIndexes()\`, \`vacuumStats()\`, \`queryPlanStats()\`
|
|
@@ -138,6 +163,7 @@ Wrappers (3): \`blockingQueries()\`→\`locks({showBlocked:true})\`, \`longRunni
|
|
|
138
163
|
Aliases: \`cacheStats\`→\`cacheHitRatio\`, \`queryStats\`→\`statStatements\`, \`activity\`→\`statActivity\`, \`vacuum\`→\`vacuumStats\`, \`indexUsage\`→\`indexStats\`, \`bloatEstimate\`/\`bloat\`→\`bloatCheck\`, \`runningQueries\`→\`longRunningQueries\`
|
|
139
164
|
|
|
140
165
|
📦 **AI-Optimized Payloads**: Tools return limited results by default to reduce context size:
|
|
166
|
+
|
|
141
167
|
- \`indexStats({ limit? })\`: Default 50 rows. Returns \`truncated: true\` + \`totalCount\` when limited. Use \`limit: 0\` for all
|
|
142
168
|
- \`tableStats({ limit? })\`: Default 50 rows. Returns \`truncated: true\` + \`totalCount\` when limited. Use \`limit: 0\` for all
|
|
143
169
|
- \`vacuumStats({ limit? })\`: Default 50 rows. Same truncation indicators. Use \`limit: 0\` for all
|
|
@@ -163,9 +189,10 @@ Core: \`databaseSize()\`, \`tableSizes()\`, \`connectionStats()\`, \`showSetting
|
|
|
163
189
|
- \`recoveryStatus()\`: Returns \`{in_recovery: boolean, last_replay_timestamp: string|null}\`
|
|
164
190
|
- \`replicationStatus()\`: Returns \`{role: 'primary'|'replica', replicas: [...]}\` for primary, or \`{role: 'replica', replay_lag, ...}\` for replica
|
|
165
191
|
- \`resourceUsageAnalyze()\`: Returns \`{backgroundWriter, checkpoints, connectionDistribution, bufferUsage, activity, analysis}\` with all counts as numbers
|
|
166
|
-
- \`alertThresholdSet({metric?: 'connection_usage'})\`: Returns recommended thresholds.
|
|
192
|
+
- \`alertThresholdSet({metric?: 'connection_usage'})\`: Returns recommended thresholds. Invalid metric returns \`{success: false, error: "..."}\`. Valid metrics: connection_usage, cache_hit_ratio, replication_lag, dead_tuples, long_running_queries, lock_wait_time
|
|
167
193
|
|
|
168
194
|
📦 **AI-Optimized Payloads**: Tools return limited results by default to reduce context size:
|
|
195
|
+
|
|
169
196
|
- \`tableSizes({ limit? })\`: Default 50 rows. Returns \`truncated: true\` + \`totalCount\` when limited. Use \`limit: 0\` for all
|
|
170
197
|
- \`showSettings({ limit? })\`: Default 50 rows when no pattern specified. Use \`limit: 0\` for all or specify a pattern
|
|
171
198
|
|
|
@@ -191,11 +218,22 @@ Aliases: \`tableName\`→\`table\`, \`indexName\`→\`index\`, \`param\`/\`setti
|
|
|
191
218
|
|
|
192
219
|
**Discovery**: \`pg.admin.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
193
220
|
|
|
221
|
+
**Response structures**:
|
|
222
|
+
|
|
223
|
+
- \`vacuum()\` / \`vacuumAnalyze()\`: \`{success, message, table?, schema?, hint?}\` (hint present when verbose: true)
|
|
224
|
+
- \`analyze()\`: \`{success, message, table?, schema?, columns?}\`
|
|
225
|
+
- \`reindex()\`: \`{success, message}\`
|
|
226
|
+
- \`cluster()\`: \`{success, message, table?, index?}\` (table/index present for table-specific cluster)
|
|
227
|
+
- \`setConfig()\`: \`{success, message, parameter, value}\`
|
|
228
|
+
- \`reloadConf()\` / \`resetStats()\`: \`{success, message}\`
|
|
229
|
+
- \`cancelBackend()\` / \`terminateBackend()\`: \`{success, message}\`
|
|
230
|
+
|
|
194
231
|
## Backup Tools
|
|
195
232
|
|
|
196
233
|
Core: \`dumpTable()\`, \`dumpSchema()\`, \`copyExport()\`, \`copyImport()\`, \`createBackupPlan()\`, \`restoreCommand()\`, \`physical()\`, \`restoreValidate()\`, \`scheduleOptimize()\`
|
|
197
234
|
|
|
198
235
|
Response Structures:
|
|
236
|
+
|
|
199
237
|
- \`dumpTable\`: \`{ddl, type, note, insertStatements?}\` — \`insertStatements\` only with \`includeData: true\` (separate field from \`ddl\`)
|
|
200
238
|
- \`copyExport\`: \`{data, rowCount, truncated?, limit?}\` — \`data\` contains CSV/text content. \`truncated: true\` + \`limit\` when rows returned equals applied limit (indicating more rows likely exist)
|
|
201
239
|
- \`copyImport\`: \`{command, stdinCommand, notes}\` — Both file and stdin COPY commands
|
|
@@ -225,7 +263,7 @@ Defaults: \`threshold\`=0.3 (use 0.1-0.2 for partial), \`maxDistance\`=3 (use 5+
|
|
|
225
263
|
|
|
226
264
|
- All text tools support \`schema.table\` format (auto-parsed, embedded schema takes priority over explicit \`schema\` param)
|
|
227
265
|
- \`pg_text_search\`: Supports both \`column\` (singular string) and \`columns\` (array). Either is valid—\`column\` auto-converts to array
|
|
228
|
-
- \`pg_trigram_similarity\`, \`pg_fuzzy_match\`, \`pg_regexp_match\`, \`pg_like_search
|
|
266
|
+
- 📦 **AI-Optimized Payloads**: All row-returning text tools (\`pg_text_search\`, \`pg_text_rank\`, \`pg_text_headline\`, \`pg_trigram_similarity\`, \`pg_fuzzy_match\`, \`pg_regexp_match\`, \`pg_like_search\`) default to 100 results. Returns \`truncated: true\` + \`hint\` when capped. Use \`limit: 0\` for all rows
|
|
229
267
|
- \`pg_fuzzy_match\`: Levenshtein returns distance (lower=better). Soundex/metaphone return phonetic codes (exact match only). ⛔ Invalid \`method\` values throw error with valid options
|
|
230
268
|
- \`pg_text_normalize\`: Removes accents only (unaccent). Does NOT lowercase/trim
|
|
231
269
|
- 📍 **Table vs Standalone**: \`normalize\`, \`sentiment\`, \`toVector\`, \`toQuery\`, \`searchConfig\` are standalone (text input only). For phonetic matching: use \`pg_fuzzy_match\` with \`method: 'soundex'|'metaphone'\` (direct MCP), or \`pg.text.soundex()\`/\`pg.text.metaphone()\` (Code Mode convenience wrappers that call fuzzyMatch internally)
|
|
@@ -237,18 +275,21 @@ Defaults: \`threshold\`=0.3 (use 0.1-0.2 for partial), \`maxDistance\`=3 (use 5+
|
|
|
237
275
|
Core: \`listSchemas()\`, \`createSchema()\`, \`dropSchema()\`, \`listViews()\`, \`createView()\`, \`dropView()\`, \`listSequences()\`, \`createSequence()\`, \`dropSequence()\`, \`listFunctions()\`, \`listTriggers()\`, \`listConstraints()\`
|
|
238
276
|
|
|
239
277
|
Response Structures:
|
|
278
|
+
|
|
240
279
|
- \`listSchemas()\`: \`{schemas: string[], count}\`
|
|
241
|
-
- \`listViews({ includeMaterialized?, truncateDefinition?, limit? })\`: \`{views: [{schema, name, type, definition, definitionTruncated?}], count, hasMatViews, truncatedDefinitions?, truncated, note?}\`. Default \`limit: 50\` (use \`0\` for all). Default \`truncateDefinition: 500\` chars (use \`0\` for full definitions). \`truncated\` always included (\`true\`/\`false\`)
|
|
242
|
-
- \`listSequences({ schema? })\`: \`{sequences: [{schema, name, owned_by}], count}\`. Note: \`owned_by\` omits \`public.\` prefix for sequences in public schema (e.g., \`users.id\` not \`public.users.id\`)
|
|
280
|
+
- \`listViews({ includeMaterialized?, truncateDefinition?, limit?, schema? })\`: \`{views: [{schema, name, type, definition, definitionTruncated?}], count, hasMatViews, truncatedDefinitions?, truncated, totalCount?, note?}\`. Default \`limit: 50\` (use \`0\` for all). Default \`truncateDefinition: 500\` chars (use \`0\` for full definitions). \`truncated\` always included (\`true\`/\`false\`). \`totalCount\` included when truncated. ⚠️ Validates schema existence—nonexistent schema returns \`{success: false, error: "..."}\`
|
|
281
|
+
- \`listSequences({ schema?, limit? })\`: \`{sequences: [{schema, name, owned_by}], count, truncated, totalCount?, note?}\`. Default \`limit: 50\` (use \`0\` for all). Returns \`truncated: true\` + \`totalCount\` when results are limited. ⚠️ Validates schema existence—nonexistent schema returns \`{success: false, error: "..."}\`. Note: \`owned_by\` omits \`public.\` prefix for sequences in public schema (e.g., \`users.id\` not \`public.users.id\`)
|
|
243
282
|
- \`listFunctions({ schema?, limit?, exclude? })\`: \`{functions: [{schema, name, arguments, returns, language, volatility}], count, limit}\`
|
|
244
283
|
- \`listTriggers({ schema?, table? })\`: \`{triggers: [{schema, table_name, name, timing, events, function_name, enabled}], count}\`
|
|
245
|
-
- \`listConstraints({ schema?, table?, type? })\`: \`{constraints: [{schema, table_name, name, type, definition}], count}\`. Type
|
|
284
|
+
- \`listConstraints({ schema?, table?, type? })\`: \`{constraints: [{schema, table_name, name, type, definition}], count}\`. Type filter values: \`primary_key\`, \`foreign_key\`, \`unique\`, \`check\`. Returned \`type\` field uses matching human-readable names
|
|
246
285
|
- \`dropSchema/dropView/dropSequence\`: All return \`{existed: true/false}\` to indicate if object existed before drop
|
|
247
286
|
- \`createSchema/createSequence\` (with \`ifNotExists\`) and \`createView\` (with \`orReplace\`): Return \`{alreadyExisted: true/false}\` when the flag is set. Without \`ifNotExists\`/\`orReplace\`, the field is omitted
|
|
248
287
|
|
|
249
288
|
- \`pg_create_view\`: Supports \`schema.name\` format (auto-parsed). Use \`orReplace: true\` for CREATE OR REPLACE. \`checkOption\`: 'cascaded', 'local', 'none'. ⛔ OR REPLACE can add new columns but cannot rename/remove existing ones—PostgreSQL limitation
|
|
250
289
|
- \`pg_create_sequence\`: Supports \`schema.name\` format. Parameters: \`start\`, \`increment\`, \`minValue\`, \`maxValue\`, \`cache\`, \`cycle\`, \`ownedBy\`, \`ifNotExists\`
|
|
251
|
-
- \`pg_list_functions\`: Default limit=500. Use \`schema: 'public'\`, \`limit: 2000\`, or \`exclude: ['postgis', 'pg_trgm', 'ltree', 'citext', 'fuzzystrmatch', 'pg_stat_statements', 'hypopg', 'unaccent', 'pg_stat_kcache', 'pgcrypto', 'partman']\` to filter. ⚠️ \`exclude\` filters by **schema name** AND extension-owned functions. The \`language\` filter does NOT exclude extension functions—use \`exclude\` alongside \`language\` for clean results. Note: Aggressive \`exclude\` may return 0 results if all functions belong to excluded extensions
|
|
290
|
+
- \`pg_list_functions\`: Default limit=500. Use \`schema: 'public'\`, \`limit: 2000\`, or \`exclude: ['postgis', 'pg_trgm', 'ltree', 'citext', 'fuzzystrmatch', 'pg_stat_statements', 'hypopg', 'unaccent', 'pg_stat_kcache', 'pgcrypto', 'partman', 'vector', 'topology']\` to filter. ⚠️ \`exclude\` filters by **schema name** AND extension-owned functions. The \`language\` filter does NOT exclude extension functions—use \`exclude\` alongside \`language\` for clean results. Note: Aggressive \`exclude\` may return 0 results if all functions belong to excluded extensions
|
|
291
|
+
|
|
292
|
+
📦 **AI-Optimized Payloads**: \`listViews({ limit? })\` and \`listSequences({ limit? })\` both default to 50 rows. Returns \`truncated: true\` + \`totalCount\` when limited. Use \`limit: 0\` for all
|
|
252
293
|
|
|
253
294
|
**Discovery**: \`pg.schema.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
254
295
|
|
|
@@ -260,6 +301,8 @@ Response Structures:
|
|
|
260
301
|
- \`pg_list_partitions\`: Default \`limit: 50\` (use \`0\` for all). Returns \`{partitions, count, truncated, totalCount?}\`. Uses \`bounds\` field (consistent with \`pg_partition_info\`)
|
|
261
302
|
- \`pg_partition_info\`: Returns \`{tableInfo, partitions, totalSizeBytes}\`. Uses \`bounds\` field
|
|
262
303
|
- Both list/info tools support \`schema.table\` format (auto-parsed) and accept \`table\`, \`parent\`, \`parentTable\`, or \`name\` aliases
|
|
304
|
+
- Response structures: \`pg_create_partitioned_table\` → \`{success, table, partitionBy, partitionKey, primaryKey?}\`. \`pg_create_partition\` → \`{success, partition, parent, bounds, subpartitionBy?, subpartitionKey?}\`. \`pg_attach_partition\` → \`{success, parent, partition, bounds}\`. \`pg_detach_partition\` → \`{success, parent, partition}\`
|
|
305
|
+
- ⚠️ Sub-partitioning: \`subpartitionBy\`/\`subpartitionKey\` on \`pg_create_partition\` makes a partition itself partitionable. The parent's \`primaryKey\` must include the sub-partition key column (PostgreSQL constraint)
|
|
263
306
|
- 📍 Code Mode: \`pg.partitioning.create()\` = \`createPartition\`, NOT \`createPartitionedTable\`
|
|
264
307
|
|
|
265
308
|
## pg_partman Tools
|
|
@@ -317,27 +360,32 @@ Core: \`createExtension()\`, \`query()\`, \`match()\`, \`subpath()\`, \`lca()\`,
|
|
|
317
360
|
## PostGIS Tools
|
|
318
361
|
|
|
319
362
|
**Geometry Creation:**
|
|
363
|
+
|
|
320
364
|
- \`pg_geocode\`: Create point geometry from lat/lng. Returns \`{geojson, wkt}\`. ⚠️ Validates bounds: lat ±90°, lng ±180°
|
|
321
365
|
- \`pg_geometry_column\`: Add geometry column to table. \`ifNotExists\` returns \`{alreadyExists: true}\`
|
|
322
366
|
- \`pg_spatial_index\`: Create GiST spatial index. Auto-generates name if not provided. \`ifNotExists\` supported
|
|
323
367
|
|
|
324
368
|
**Spatial Queries:**
|
|
369
|
+
|
|
325
370
|
- \`pg_distance\`: Find geometries within distance from point. Returns \`{results, count}\` with \`distance_meters\`. ⚠️ Validates point bounds
|
|
326
371
|
- \`pg_bounding_box\`: Find geometries within lat/lng bounding box. Use \`select\` array for specific columns
|
|
327
372
|
- \`pg_intersection\`: Find geometries intersecting a WKT/GeoJSON geometry. Auto-detects SRID from column
|
|
328
373
|
- \`pg_point_in_polygon\`: Check if point is within table polygons. Returns \`{containingPolygons, count}\`. ⚠️ Validates point bounds
|
|
329
374
|
|
|
330
375
|
**Geometry Operations (Table-based):**
|
|
376
|
+
|
|
331
377
|
- \`pg_buffer\`: Create buffer zone around table geometries. Default limit: 50 rows. Default simplify: 10m (set \`simplify: 0\` to disable). Returns \`truncated: true\` + \`totalCount\` when results are truncated. Use \`limit: 0\` for all rows
|
|
332
378
|
- \`pg_geo_transform\`: Transform table geometries between SRIDs. Default limit: 50 rows. Returns \`truncated: true\` + \`totalCount\` when results are truncated. Use \`limit: 0\` for all rows. Auto-detects \`fromSrid\` from column metadata if not provided (returns \`autoDetectedSrid: true\`). \`fromSrid\`/\`sourceSrid\` and \`toSrid\`/\`targetSrid\` aliases
|
|
333
379
|
- \`pg_geo_cluster\`: Spatial clustering (DBSCAN/K-Means). K-Means: If \`numClusters\` exceeds row count, automatically clamps to available rows with \`warning\` field. DBSCAN: Returns contextual \`hints\` array explaining parameter effects (e.g., "All points formed single cluster—decrease eps") and \`parameterGuide\` explaining eps/minPoints trade-offs
|
|
334
380
|
|
|
335
381
|
**Geometry Operations (Standalone WKT/GeoJSON):**
|
|
382
|
+
|
|
336
383
|
- \`pg_geometry_buffer\`: Create buffer around WKT/GeoJSON. Returns \`{buffer_geojson, buffer_wkt, distance_meters}\`. Optional \`simplify\` param (meters) reduces polygon complexity—returns \`simplified\`, \`simplifyTolerance\` when applied. ⚠️ Returns \`warning\` if simplify tolerance is too high and geometry collapses to null
|
|
337
384
|
- \`pg_geometry_transform\`: Transform WKT/GeoJSON between SRIDs. Returns \`{transformed_geojson, transformed_wkt, fromSrid, toSrid}\`
|
|
338
385
|
- \`pg_geometry_intersection\`: Compute intersection of two geometries. Returns \`{intersects, intersection_geojson, intersection_area_sqm}\`. Normalizes SRID (4326) automatically—safe to mix GeoJSON and WKT
|
|
339
386
|
|
|
340
387
|
**Administration:**
|
|
388
|
+
|
|
341
389
|
- \`pg_postgis_create_extension\`: Enable PostGIS extension (idempotent)
|
|
342
390
|
- \`pg_geo_index_optimize\`: Analyze spatial indexes. Without \`table\` param, analyzes all spatial indexes
|
|
343
391
|
|
|
@@ -350,7 +398,7 @@ Core: \`createExtension()\`, \`schedule()\`, \`scheduleInDatabase()\`, \`unsched
|
|
|
350
398
|
- \`pg_cron_schedule\`: Schedule a cron job. \`schedule\` supports standard cron (\`0 5 * * *\`) or interval (\`1 second\` to \`59 seconds\`). ⚠️ Interval syntax only works for 1-59 seconds—for 60+ seconds, use cron syntax (e.g., \`* * * * *\` for every minute). Use \`name\`/\`jobName\` for identification. \`command\`/\`sql\`/\`query\` aliases supported. Note: pg_cron allows duplicate job names; use unique names to avoid confusion when unscheduling
|
|
351
399
|
- \`pg_cron_schedule_in_database\`: Schedule job in specific database. \`database\`/\`db\` aliases. Optional \`username\`, \`active\` params
|
|
352
400
|
- \`pg_cron_unschedule\`: Remove job by \`jobId\` or \`jobName\`. If both provided, \`jobName\` takes precedence (with warning)
|
|
353
|
-
- \`pg_cron_alter_job\`: Modify existing job. Can change \`schedule\`, \`command\`, \`database\`, \`username\`, \`active\`. ⛔ Non-existent jobId
|
|
401
|
+
- \`pg_cron_alter_job\`: Modify existing job. Can change \`schedule\`, \`command\`, \`database\`, \`username\`, \`active\`. ⛔ Non-existent jobId returns error
|
|
354
402
|
- \`pg_cron_list_jobs\`: List all jobs. Default \`limit: 50\` (use \`0\` for all). Optional \`active\` boolean filter. Returns \`truncated\` + \`totalCount\` when limited. Returns \`hint\` when jobs have no name
|
|
355
403
|
- \`pg_cron_job_run_details\`: View execution history. Default \`limit: 50\`. Optional \`jobId\`, \`status\` ('running'|'succeeded'|'failed') filters. Returns \`truncated\` + \`totalCount\` when limited. Returns \`summary\` with counts
|
|
356
404
|
- \`pg_cron_cleanup_history\`: Delete old run records. \`olderThanDays\`/\`days\` param (default: 7). Optional \`jobId\` to target specific job
|
|
@@ -389,27 +437,65 @@ No \`setTimeout\`, \`setInterval\`, \`fetch\`, or network access. Use \`pg.core.
|
|
|
389
437
|
Core: \`begin()\`, \`commit()\`, \`rollback()\`, \`savepoint()\`, \`rollbackTo()\`, \`release()\`, \`execute()\`
|
|
390
438
|
|
|
391
439
|
**Transaction Lifecycle:**
|
|
440
|
+
|
|
392
441
|
- \`pg_transaction_begin\`: Start new transaction. Returns \`{transactionId, isolationLevel, message}\`. Use \`transactionId\` for subsequent operations
|
|
393
442
|
- \`pg_transaction_commit\`: Commit transaction, making all changes permanent. \`transactionId\`/\`tx\`/\`txId\` aliases
|
|
394
443
|
- \`pg_transaction_rollback\`: Rollback transaction, discarding all changes. \`transactionId\`/\`tx\`/\`txId\` aliases
|
|
395
444
|
|
|
396
445
|
**Savepoints:**
|
|
446
|
+
|
|
397
447
|
- \`pg_transaction_savepoint\`: Create savepoint within transaction. \`name\`/\`savepoint\` + \`transactionId\`/\`tx\`/\`txId\`
|
|
398
448
|
- \`pg_transaction_rollback_to\`: Rollback to savepoint, restoring database state to when the savepoint was created. ⚠️ Undoes ALL work (data changes AND savepoints) created after the target savepoint
|
|
399
449
|
- \`pg_transaction_release\`: Release savepoint, keeping all changes since it was created. \`name\`/\`savepoint\` aliases
|
|
400
450
|
|
|
401
451
|
**Atomic Execution:**
|
|
452
|
+
|
|
402
453
|
- \`pg_transaction_execute\`: Execute multiple statements atomically. Two modes:
|
|
403
454
|
- **Auto-commit**: Without \`transactionId\`—auto-commits on success, auto-rollbacks on any error
|
|
404
455
|
- **Join existing**: With \`transactionId\`/\`tx\`/\`txId\`—no auto-commit, caller controls via commit/rollback
|
|
405
456
|
- \`statements\`: Array of \`{sql: "...", params?: [...]}\` objects. ⚠️ Each object MUST have \`sql\` key
|
|
406
457
|
- \`isolationLevel\`: Optional isolation level for new transactions ('READ COMMITTED', 'REPEATABLE READ', 'SERIALIZABLE')
|
|
458
|
+
- Supports SELECT statements inside \`statements\`—results include \`rows\` in the response for mixed read/write workflows
|
|
459
|
+
|
|
460
|
+
**Aborted Transaction State:**
|
|
461
|
+
|
|
462
|
+
- ⚠️ If any statement in a transaction fails, PostgreSQL puts the transaction into an **aborted state**
|
|
463
|
+
- In aborted state, only \`ROLLBACK\` or \`ROLLBACK TO SAVEPOINT\` commands are accepted—all other commands will error
|
|
464
|
+
- Use \`pg_transaction_rollback\` to end the transaction, or \`pg_transaction_rollback_to\` to recover to a savepoint
|
|
465
|
+
- \`pg_transaction_commit\` on an aborted transaction will detect the state and report it (not silently rollback)
|
|
407
466
|
|
|
408
467
|
**Response Structures:**
|
|
468
|
+
|
|
409
469
|
- \`begin\`: \`{transactionId, isolationLevel: 'READ COMMITTED', message}\`
|
|
410
470
|
- \`commit/rollback\`: \`{success, transactionId, message}\`
|
|
411
471
|
- \`savepoint/release/rollbackTo\`: \`{success, transactionId, savepoint, message}\`
|
|
412
472
|
- \`execute\`: \`{success, statementsExecuted, results: [{sql, rowsAffected, rowCount, rows?}], transactionId?}\`
|
|
413
473
|
|
|
414
|
-
**Discovery**: \`pg.transactions.help()\` returns \`{methods, methodAliases, examples}
|
|
474
|
+
**Discovery**: \`pg.transactions.help()\` returns \`{methods, methodAliases, examples}\`
|
|
475
|
+
|
|
476
|
+
## Introspection Tools
|
|
477
|
+
|
|
478
|
+
Code Mode: \`pg.introspection.*\` — 12 tools for schema analysis and migration tracking.
|
|
479
|
+
Core: \`dependencyGraph()\`, \`topologicalSort()\`, \`cascadeSimulator()\`, \`schemaSnapshot()\`, \`constraintAnalysis()\`, \`migrationRisks()\`, \`migrationInit()\`, \`migrationRecord()\`, \`migrationApply()\`, \`migrationRollback()\`, \`migrationHistory()\`, \`migrationStatus()\`
|
|
480
|
+
|
|
481
|
+
**Schema Analysis (6 tools):**
|
|
482
|
+
|
|
483
|
+
- \`pg_dependency_graph\`: FK dependency graph with cycle detection, row counts, edge annotations (CASCADE, RESTRICT, SET NULL, SET DEFAULT, NO ACTION). Params: \`schema?\`, \`includeRowCounts?\` (default: true), \`excludeExtensionSchemas?\` (default: true, excludes cron/topology/tiger/tiger_data)
|
|
484
|
+
- \`pg_topological_sort\`: Safe DDL execution order via Kahn's algorithm. \`direction: 'create'\` (default) = dependencies first; \`direction: 'drop'\` = dependents first. \`excludeExtensionSchemas?\` (default: true). Self-referencing FKs are filtered (don't affect ordering)
|
|
485
|
+
- \`pg_cascade_simulator\`: Simulates DELETE/DROP/TRUNCATE impact with cascade path tracing. \`operation\`: 'DELETE' (default), 'DROP', 'TRUNCATE'. ⚠️ DROP/TRUNCATE force-cascade regardless of FK ON DELETE rule → always \`severity: 'critical'\` when dependent tables exist. Returns \`{sourceTable, operation, affectedTables, severity, stats}\`. Stats include \`blockingActions\` (NO ACTION + RESTRICT FKs that would prevent the operation)
|
|
486
|
+
- \`pg_schema_snapshot\`: Full schema snapshot in one call. \`sections?\`: \`['tables','views','indexes','constraints','functions','triggers','sequences','types','extensions']\` to limit output. \`compact?\`: \`true\` to omit per-column details from tables section for reduced payload (use \`pg_describe_table\` to drill into specific tables). \`excludeExtensionSchemas?\` (default: true): excludes cron, topology, tiger, tiger_data schemas. \`schema?\`: filter to specific schema. Returns \`{snapshot, stats, generatedAt, compact?}\`
|
|
487
|
+
- \`pg_constraint_analysis\`: Identifies constraint issues. \`checks?\`: \`['redundant','missing_fk','missing_not_null','missing_pk','unindexed_fk']\`. Returns \`{findings, summary}\`
|
|
488
|
+
- \`pg_migration_risks\`: Static DDL risk assessment. ⚠️ Does NOT validate object existence—analyzes SQL patterns only. Returns \`{risks, summary}\`
|
|
489
|
+
|
|
490
|
+
**Migration Tracking (6 tools):**
|
|
491
|
+
|
|
492
|
+
- \`pg_migration_init\`: Initialize/verify \`_mcp_schema_versions\` tracking table (idempotent). Returns \`{success, tableCreated, tableName, existingRecords}\`
|
|
493
|
+
- \`pg_migration_record\`: Record a migration with SHA-256 hash dedup. ⚠️ Records metadata only—does NOT execute the SQL. Use \`pg_migration_apply\` instead for complete migrations. Params: \`version\`, \`description?\`, \`migrationSql\`, \`rollbackSql?\`, \`sourceSystem?\`. Returns \`{success, record}\`
|
|
494
|
+
- \`pg_migration_apply\`: Execute migration SQL and record it atomically in a single transaction. On failure, rolls back and records status as 'failed'. Same params as \`pg_migration_record\`. Returns \`{success, record}\` or \`{success: false, error}\`
|
|
495
|
+
- \`pg_migration_rollback\`: Execute stored rollback SQL in a transaction. \`dryRun: true\` previews without executing (default: \`false\` — executes immediately). Lookup by \`id\` or \`version\`. Returns \`{success, dryRun, rollbackSql, record}\`
|
|
496
|
+
- \`pg_migration_history\`: Query migration history with \`status?\` ('applied'|'rolled_back'|'failed'), \`sourceSystem?\`, \`limit?\`, \`offset?\`. Returns \`{records, total, limit, offset}\`
|
|
497
|
+
- \`pg_migration_status\`: Aggregate dashboard. Returns \`{initialized, latestVersion, counts, sourceSystems}\`
|
|
498
|
+
|
|
499
|
+
**Discovery**: \`pg.introspection.help()\` returns \`{methods, methodAliases, examples}\`
|
|
500
|
+
`;
|
|
415
501
|
//# sourceMappingURL=ServerInstructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoelC,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* STRICT LIMIT: No shortcut may exceed 50 tools.
|
|
6
6
|
*
|
|
7
7
|
* TOOL COUNT ACCOUNTING:
|
|
8
|
-
* ToolConstants arrays total:
|
|
9
|
-
* Published "specialized tools":
|
|
8
|
+
* ToolConstants arrays total: 227 tools (sum of all group arrays)
|
|
9
|
+
* Published "specialized tools": 218 (227 - 9 utility tools)
|
|
10
10
|
*
|
|
11
11
|
* The 9 excluded utility tools:
|
|
12
12
|
* - 8 create_extension helpers (one per extension group):
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
* When adding new tools: update group sizes, meta-group sums,
|
|
20
20
|
* and the published total in README/DOCKER_README/wiki.
|
|
21
21
|
* The published total = array total - 9 utility tools.
|
|
22
|
+
*
|
|
23
|
+
* Verify: 20+7+19+13+20+10+11+9+12+16+15+6+8+8+10+7+6+8+12+9+1 = 227
|
|
22
24
|
*/
|
|
23
25
|
import type { ToolGroup, MetaGroup } from "../types/index.js";
|
|
24
26
|
/**
|
|
@@ -34,26 +36,27 @@ export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
|
|
|
34
36
|
*
|
|
35
37
|
* Group sizes:
|
|
36
38
|
* core:20, transactions:7, jsonb:19, text:13, performance:20,
|
|
37
|
-
* admin:10, monitoring:11, backup:9, schema:12,
|
|
38
|
-
* postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
39
|
+
* admin:10, monitoring:11, backup:9, schema:12, introspection:12,
|
|
40
|
+
* vector:16, postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
39
41
|
* kcache:7, citext:6, ltree:8, pgcrypto:9, codemode:1
|
|
40
42
|
*
|
|
41
43
|
* Tool counts (with codemode):
|
|
42
|
-
* starter:
|
|
43
|
-
* essential:
|
|
44
|
-
* dev-
|
|
45
|
-
*
|
|
46
|
-
* ai-
|
|
47
|
-
*
|
|
48
|
-
* dba-
|
|
49
|
-
* dba-
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* ext-
|
|
55
|
-
* ext-
|
|
56
|
-
* ext-
|
|
44
|
+
* starter: 59 (core:20 + transactions:7 + jsonb:19 + schema:12 + codemode:1)
|
|
45
|
+
* essential: 47 (core:20 + transactions:7 + jsonb:19 + codemode:1)
|
|
46
|
+
* dev-schema: 52 (core:20 + transactions:7 + schema:12 + introspection:12 + codemode:1)
|
|
47
|
+
* dev-analytics: 42 (core:20 + transactions:7 + stats:8 + partitioning:6 + codemode:1)
|
|
48
|
+
* ai-data: 60 (core:20 + jsonb:19 + text:13 + transactions:7 + codemode:1)
|
|
49
|
+
* ai-vector: 50 (core:20 + vector:16 + transactions:7 + partitioning:6 + codemode:1)
|
|
50
|
+
* dba-monitor: 59 (core:20 + monitoring:11 + performance:20 + transactions:7 + codemode:1)
|
|
51
|
+
* dba-schema: 45 (core:20 + schema:12 + introspection:12 + codemode:1)
|
|
52
|
+
* dba-infra: 46 (core:20 + admin:10 + backup:9 + partitioning:6 + codemode:1)
|
|
53
|
+
* dba-stats: 57 (core:20 + admin:10 + monitoring:11 + transactions:7 + stats:8 + codemode:1)
|
|
54
|
+
* geo: 43 (core:20 + postgis:15 + transactions:7 + codemode:1)
|
|
55
|
+
* base-ops: 51 (admin:10 + monitoring:11 + backup:9 + partitioning:6 + stats:8 + citext:6 + codemode:1)
|
|
56
|
+
* ext-ai: 26 (vector:16 + pgcrypto:9 + codemode:1)
|
|
57
|
+
* ext-geo: 24 (postgis:15 + ltree:8 + codemode:1)
|
|
58
|
+
* ext-schedule: 19 (cron:8 + partman:10 + codemode:1)
|
|
59
|
+
* ext-perf: 28 (kcache:7 + performance:20 + codemode:1)
|
|
57
60
|
*/
|
|
58
61
|
export declare const META_GROUPS: Record<MetaGroup, ToolGroup[]>;
|
|
59
62
|
//# sourceMappingURL=ToolConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA6QnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CAyDtD,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* STRICT LIMIT: No shortcut may exceed 50 tools.
|
|
6
6
|
*
|
|
7
7
|
* TOOL COUNT ACCOUNTING:
|
|
8
|
-
* ToolConstants arrays total:
|
|
9
|
-
* Published "specialized tools":
|
|
8
|
+
* ToolConstants arrays total: 227 tools (sum of all group arrays)
|
|
9
|
+
* Published "specialized tools": 218 (227 - 9 utility tools)
|
|
10
10
|
*
|
|
11
11
|
* The 9 excluded utility tools:
|
|
12
12
|
* - 8 create_extension helpers (one per extension group):
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
* When adding new tools: update group sizes, meta-group sums,
|
|
20
20
|
* and the published total in README/DOCKER_README/wiki.
|
|
21
21
|
* The published total = array total - 9 utility tools.
|
|
22
|
+
*
|
|
23
|
+
* Verify: 20+7+19+13+20+10+11+9+12+16+15+6+8+8+10+7+6+8+12+9+1 = 227
|
|
22
24
|
*/
|
|
23
25
|
/**
|
|
24
26
|
* Default tool groups and their member tools.
|
|
@@ -267,6 +269,20 @@ export const TOOL_GROUPS = {
|
|
|
267
269
|
"pg_ltree_convert_column",
|
|
268
270
|
"pg_ltree_create_index",
|
|
269
271
|
],
|
|
272
|
+
introspection: [
|
|
273
|
+
"pg_dependency_graph",
|
|
274
|
+
"pg_topological_sort",
|
|
275
|
+
"pg_cascade_simulator",
|
|
276
|
+
"pg_schema_snapshot",
|
|
277
|
+
"pg_constraint_analysis",
|
|
278
|
+
"pg_migration_risks",
|
|
279
|
+
"pg_migration_init",
|
|
280
|
+
"pg_migration_record",
|
|
281
|
+
"pg_migration_apply",
|
|
282
|
+
"pg_migration_rollback",
|
|
283
|
+
"pg_migration_history",
|
|
284
|
+
"pg_migration_status",
|
|
285
|
+
],
|
|
270
286
|
pgcrypto: [
|
|
271
287
|
"pg_pgcrypto_create_extension",
|
|
272
288
|
"pg_pgcrypto_hash",
|
|
@@ -288,43 +304,45 @@ export const TOOL_GROUPS = {
|
|
|
288
304
|
*
|
|
289
305
|
* Group sizes:
|
|
290
306
|
* core:20, transactions:7, jsonb:19, text:13, performance:20,
|
|
291
|
-
* admin:10, monitoring:11, backup:9, schema:12,
|
|
292
|
-
* postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
307
|
+
* admin:10, monitoring:11, backup:9, schema:12, introspection:12,
|
|
308
|
+
* vector:16, postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
293
309
|
* kcache:7, citext:6, ltree:8, pgcrypto:9, codemode:1
|
|
294
310
|
*
|
|
295
311
|
* Tool counts (with codemode):
|
|
296
|
-
* starter:
|
|
297
|
-
* essential:
|
|
298
|
-
* dev-
|
|
299
|
-
*
|
|
300
|
-
* ai-
|
|
301
|
-
*
|
|
302
|
-
* dba-
|
|
303
|
-
* dba-
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
* ext-
|
|
309
|
-
* ext-
|
|
310
|
-
* ext-
|
|
312
|
+
* starter: 59 (core:20 + transactions:7 + jsonb:19 + schema:12 + codemode:1)
|
|
313
|
+
* essential: 47 (core:20 + transactions:7 + jsonb:19 + codemode:1)
|
|
314
|
+
* dev-schema: 52 (core:20 + transactions:7 + schema:12 + introspection:12 + codemode:1)
|
|
315
|
+
* dev-analytics: 42 (core:20 + transactions:7 + stats:8 + partitioning:6 + codemode:1)
|
|
316
|
+
* ai-data: 60 (core:20 + jsonb:19 + text:13 + transactions:7 + codemode:1)
|
|
317
|
+
* ai-vector: 50 (core:20 + vector:16 + transactions:7 + partitioning:6 + codemode:1)
|
|
318
|
+
* dba-monitor: 59 (core:20 + monitoring:11 + performance:20 + transactions:7 + codemode:1)
|
|
319
|
+
* dba-schema: 45 (core:20 + schema:12 + introspection:12 + codemode:1)
|
|
320
|
+
* dba-infra: 46 (core:20 + admin:10 + backup:9 + partitioning:6 + codemode:1)
|
|
321
|
+
* dba-stats: 57 (core:20 + admin:10 + monitoring:11 + transactions:7 + stats:8 + codemode:1)
|
|
322
|
+
* geo: 43 (core:20 + postgis:15 + transactions:7 + codemode:1)
|
|
323
|
+
* base-ops: 51 (admin:10 + monitoring:11 + backup:9 + partitioning:6 + stats:8 + citext:6 + codemode:1)
|
|
324
|
+
* ext-ai: 26 (vector:16 + pgcrypto:9 + codemode:1)
|
|
325
|
+
* ext-geo: 24 (postgis:15 + ltree:8 + codemode:1)
|
|
326
|
+
* ext-schedule: 19 (cron:8 + partman:10 + codemode:1)
|
|
327
|
+
* ext-perf: 28 (kcache:7 + performance:20 + codemode:1)
|
|
311
328
|
*/
|
|
312
329
|
export const META_GROUPS = {
|
|
313
|
-
// 1. General Use
|
|
330
|
+
// 1. General Use - All include codemode for token efficiency
|
|
314
331
|
starter: ["core", "transactions", "jsonb", "schema", "codemode"], // 59
|
|
315
332
|
essential: ["core", "transactions", "jsonb", "codemode"], // 47
|
|
316
|
-
|
|
333
|
+
// 2. Developer Workloads
|
|
334
|
+
"dev-schema": ["core", "transactions", "schema", "introspection", "codemode"], // 52
|
|
335
|
+
"dev-analytics": [
|
|
317
336
|
"core",
|
|
318
337
|
"transactions",
|
|
319
|
-
"schema",
|
|
320
338
|
"stats",
|
|
321
339
|
"partitioning",
|
|
322
340
|
"codemode",
|
|
323
|
-
], //
|
|
324
|
-
//
|
|
341
|
+
], // 42
|
|
342
|
+
// 3. AI Workloads
|
|
325
343
|
"ai-data": ["core", "jsonb", "text", "transactions", "codemode"], // 60
|
|
326
344
|
"ai-vector": ["core", "vector", "transactions", "partitioning", "codemode"], // 50
|
|
327
|
-
//
|
|
345
|
+
// 4. DBA Workloads
|
|
328
346
|
"dba-monitor": [
|
|
329
347
|
"core",
|
|
330
348
|
"monitoring",
|
|
@@ -332,14 +350,8 @@ export const META_GROUPS = {
|
|
|
332
350
|
"transactions",
|
|
333
351
|
"codemode",
|
|
334
352
|
], // 59
|
|
335
|
-
"dba-
|
|
336
|
-
|
|
337
|
-
"admin",
|
|
338
|
-
"backup",
|
|
339
|
-
"partitioning",
|
|
340
|
-
"schema",
|
|
341
|
-
"codemode",
|
|
342
|
-
], // 58
|
|
353
|
+
"dba-schema": ["core", "schema", "introspection", "codemode"], // 45
|
|
354
|
+
"dba-infra": ["core", "admin", "backup", "partitioning", "codemode"], // 46
|
|
343
355
|
"dba-stats": [
|
|
344
356
|
"core",
|
|
345
357
|
"admin",
|
|
@@ -348,10 +360,9 @@ export const META_GROUPS = {
|
|
|
348
360
|
"stats",
|
|
349
361
|
"codemode",
|
|
350
362
|
], // 57
|
|
351
|
-
//
|
|
363
|
+
// 5. Specialty Workloads
|
|
352
364
|
geo: ["core", "postgis", "transactions", "codemode"], // 43
|
|
353
|
-
//
|
|
354
|
-
"base-core": ["core", "jsonb", "transactions", "schema", "codemode"], // 59
|
|
365
|
+
// 6. Building Blocks (for combining)
|
|
355
366
|
"base-ops": [
|
|
356
367
|
"admin",
|
|
357
368
|
"monitoring",
|
|
@@ -361,7 +372,7 @@ export const META_GROUPS = {
|
|
|
361
372
|
"citext",
|
|
362
373
|
"codemode",
|
|
363
374
|
], // 51
|
|
364
|
-
//
|
|
375
|
+
// 7. Extension Bundles (for adding extension capabilities)
|
|
365
376
|
"ext-ai": ["vector", "pgcrypto", "codemode"], // 26
|
|
366
377
|
"ext-geo": ["postgis", "ltree", "codemode"], // 24
|
|
367
378
|
"ext-schedule": ["cron", "partman", "codemode"], // 19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"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"}
|