@neverinfamous/postgres-mcp 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -81
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +0 -1
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/__tests__/mocks/pool.d.ts.map +1 -1
- package/dist/__tests__/mocks/pool.js +0 -1
- package/dist/__tests__/mocks/pool.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +1 -1
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +78 -8
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.js +2 -3
- package/dist/adapters/postgresql/prompts/backup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.js +3 -4
- package/dist/adapters/postgresql/prompts/citext.js.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.js +2 -3
- package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/health.js +2 -3
- package/dist/adapters/postgresql/prompts/health.js.map +1 -1
- package/dist/adapters/postgresql/prompts/index.js +20 -27
- package/dist/adapters/postgresql/prompts/index.js.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.js +2 -3
- package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.js +3 -4
- package/dist/adapters/postgresql/prompts/kcache.js.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.js +5 -6
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.js +2 -3
- package/dist/adapters/postgresql/prompts/partman.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.js +2 -3
- package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.js +3 -4
- package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.js +3 -4
- package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.js +2 -3
- package/dist/adapters/postgresql/prompts/postgis.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 +8 -4
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +11 -4
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core.d.ts +54 -19
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/core.js +65 -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 +168 -73
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.js +179 -62
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
- package/dist/adapters/postgresql/schemas/index.d.ts +5 -5
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +9 -7
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +94 -42
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +101 -30
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +28 -11
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +49 -24
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +15 -11
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +17 -13
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +62 -31
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +86 -24
- 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 +20 -3
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +35 -23
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +69 -26
- 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 +8 -5
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +15 -5
- 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 +211 -140
- 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 +410 -387
- 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 +175 -172
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/citext.js +221 -163
- package/dist/adapters/postgresql/tools/citext.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 +96 -9
- 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 +23 -6
- 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 +45 -4
- 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 +52 -25
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +55 -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 +74 -30
- 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 +274 -179
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +372 -284
- 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 +617 -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 +282 -220
- 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 +126 -35
- 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 +59 -40
- 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 +150 -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 +12 -5
- 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 +135 -22
- 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 +264 -160
- 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 +44 -7
- 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 +128 -37
- 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 +242 -87
- 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 +293 -201
- 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 +359 -249
- 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 +515 -226
- 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 +515 -476
- 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 +302 -293
- 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 +398 -220
- 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 +70 -38
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts +8 -0
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +194 -82
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/api.js +4 -3
- package/dist/codemode/api.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +1 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +76 -34
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +29 -13
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +44 -27
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-utils.js +1 -1
- package/dist/utils/progress-utils.js.map +1 -1
- package/package.json +13 -9
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { readOnly, write } from "../../../../utils/annotations.js";
|
|
7
7
|
import { getToolIcons } from "../../../../utils/icons.js";
|
|
8
|
+
import { parsePostgresError } from "./error-helpers.js";
|
|
8
9
|
import { ReadQuerySchemaBase, ReadQuerySchema, WriteQuerySchemaBase, WriteQuerySchema, } from "../../schemas/index.js";
|
|
9
10
|
import { ReadQueryOutputSchema, WriteQueryOutputSchema } from "./schemas.js";
|
|
10
11
|
/**
|
|
@@ -20,28 +21,55 @@ export function createReadQueryTool(adapter) {
|
|
|
20
21
|
annotations: readOnly("Read Query"),
|
|
21
22
|
icons: getToolIcons("core", readOnly("Read Query")),
|
|
22
23
|
handler: async (params, _context) => {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
try {
|
|
25
|
+
const { sql, params: queryParams, transactionId, } = ReadQuerySchema.parse(params);
|
|
26
|
+
let result;
|
|
27
|
+
if (transactionId !== undefined) {
|
|
28
|
+
const client = adapter.getTransactionConnection(transactionId);
|
|
29
|
+
if (!client) {
|
|
30
|
+
return {
|
|
31
|
+
success: false,
|
|
32
|
+
error: `Invalid or expired transactionId: ${transactionId}. Use pg_transaction_begin to start a new transaction.`,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
try {
|
|
36
|
+
result = await adapter.executeOnConnection(client, sql, queryParams);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
const parsed = parsePostgresError(error, {
|
|
40
|
+
tool: "pg_read_query",
|
|
41
|
+
sql,
|
|
42
|
+
});
|
|
43
|
+
return { success: false, error: parsed.message };
|
|
44
|
+
}
|
|
29
45
|
}
|
|
30
|
-
|
|
46
|
+
else {
|
|
47
|
+
try {
|
|
48
|
+
result = await adapter.executeReadQuery(sql, queryParams);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
const parsed = parsePostgresError(error, {
|
|
52
|
+
tool: "pg_read_query",
|
|
53
|
+
sql,
|
|
54
|
+
});
|
|
55
|
+
return { success: false, error: parsed.message };
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
rows: result.rows,
|
|
60
|
+
rowCount: result.rows?.length ?? 0,
|
|
61
|
+
// Include column metadata if available
|
|
62
|
+
fields: result.fields?.map((f) => ({
|
|
63
|
+
name: f.name,
|
|
64
|
+
dataTypeID: f.dataTypeID,
|
|
65
|
+
})),
|
|
66
|
+
executionTimeMs: result.executionTimeMs,
|
|
67
|
+
};
|
|
31
68
|
}
|
|
32
|
-
|
|
33
|
-
|
|
69
|
+
catch (error) {
|
|
70
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
71
|
+
return { success: false, error: message };
|
|
34
72
|
}
|
|
35
|
-
return {
|
|
36
|
-
rows: result.rows,
|
|
37
|
-
rowCount: result.rows?.length ?? 0,
|
|
38
|
-
// Include column metadata if available
|
|
39
|
-
fields: result.fields?.map((f) => ({
|
|
40
|
-
name: f.name,
|
|
41
|
-
dataTypeID: f.dataTypeID,
|
|
42
|
-
})),
|
|
43
|
-
executionTimeMs: result.executionTimeMs,
|
|
44
|
-
};
|
|
45
73
|
},
|
|
46
74
|
};
|
|
47
75
|
}
|
|
@@ -58,32 +86,62 @@ export function createWriteQueryTool(adapter) {
|
|
|
58
86
|
annotations: write("Write Query"),
|
|
59
87
|
icons: getToolIcons("core", write("Write Query")),
|
|
60
88
|
handler: async (params, _context) => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
89
|
+
try {
|
|
90
|
+
const { sql, params: queryParams, transactionId, } = WriteQuerySchema.parse(params);
|
|
91
|
+
// Block SELECT statements - use pg_read_query instead
|
|
92
|
+
const trimmedUpper = sql.trim().toUpperCase();
|
|
93
|
+
if (trimmedUpper.startsWith("SELECT")) {
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
error: "pg_write_query is for INSERT/UPDATE/DELETE only. Use pg_read_query for SELECT statements.",
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
let result;
|
|
100
|
+
if (transactionId !== undefined) {
|
|
101
|
+
const client = adapter.getTransactionConnection(transactionId);
|
|
102
|
+
if (!client) {
|
|
103
|
+
return {
|
|
104
|
+
success: false,
|
|
105
|
+
error: `Invalid or expired transactionId: ${transactionId}. Use pg_transaction_begin to start a new transaction.`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
result = await adapter.executeOnConnection(client, sql, queryParams);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
const parsed = parsePostgresError(error, {
|
|
113
|
+
tool: "pg_write_query",
|
|
114
|
+
sql,
|
|
115
|
+
});
|
|
116
|
+
return { success: false, error: parsed.message };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
try {
|
|
121
|
+
result = await adapter.executeWriteQuery(sql, queryParams);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
const parsed = parsePostgresError(error, {
|
|
125
|
+
tool: "pg_write_query",
|
|
126
|
+
sql,
|
|
127
|
+
});
|
|
128
|
+
return { success: false, error: parsed.message };
|
|
129
|
+
}
|
|
72
130
|
}
|
|
73
|
-
|
|
131
|
+
return {
|
|
132
|
+
rowsAffected: result.rowsAffected ?? 0,
|
|
133
|
+
affectedRows: result.rowsAffected ?? 0, // Alias for common API naming
|
|
134
|
+
rowCount: result.rowsAffected ?? 0, // Alias for consistency
|
|
135
|
+
command: result.command,
|
|
136
|
+
executionTimeMs: result.executionTimeMs,
|
|
137
|
+
// Include returned rows when using RETURNING clause
|
|
138
|
+
...(result.rows && result.rows.length > 0 && { rows: result.rows }),
|
|
139
|
+
};
|
|
74
140
|
}
|
|
75
|
-
|
|
76
|
-
|
|
141
|
+
catch (error) {
|
|
142
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
143
|
+
return { success: false, error: message };
|
|
77
144
|
}
|
|
78
|
-
return {
|
|
79
|
-
rowsAffected: result.rowsAffected,
|
|
80
|
-
affectedRows: result.rowsAffected, // Alias for common API naming
|
|
81
|
-
rowCount: result.rowsAffected, // Alias for consistency
|
|
82
|
-
command: result.command,
|
|
83
|
-
executionTimeMs: result.executionTimeMs,
|
|
84
|
-
// Include returned rows when using RETURNING clause
|
|
85
|
-
...(result.rows && result.rows.length > 0 && { rows: result.rows }),
|
|
86
|
-
};
|
|
87
145
|
},
|
|
88
146
|
};
|
|
89
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yHAAyH;QAC3H,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,mBAAmB,EAAE,gDAAgD;QAClF,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;QACnC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,MAAM,EACJ,GAAG,EACH,MAAM,EAAE,WAAW,EACnB,aAAa,GACd,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/query.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAwB;IAC1D,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,yHAAyH;QAC3H,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,mBAAmB,EAAE,gDAAgD;QAClF,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;QACnC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,EACJ,GAAG,EACH,MAAM,EAAE,WAAW,EACnB,aAAa,GACd,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAElC,IAAI,MAAM,CAAC;gBACX,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;oBAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,qCAAqC,aAAa,wDAAwD;yBAClH,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CACxC,MAAM,EACN,GAAG,EACH,WAAW,CACZ,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;4BACvC,IAAI,EAAE,eAAe;4BACrB,GAAG;yBACJ,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBAC5D,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;4BACvC,IAAI,EAAE,eAAe;4BACrB,GAAG;yBACJ,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBAClC,uCAAuC;oBACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;qBACzB,CAAC,CAAC;oBACH,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,qIAAqI;QACvI,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,oBAAoB,EAAE,gDAAgD;QACnF,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC;QACjC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,QAAwB,EAAE,EAAE;YAC3D,IAAI,CAAC;gBACH,MAAM,EACJ,GAAG,EACH,MAAM,EAAE,WAAW,EACnB,aAAa,GACd,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEnC,sDAAsD;gBACtD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,IAAI,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EACH,2FAA2F;qBAC9F,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,CAAC;gBACX,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;oBAC/D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,OAAO;4BACL,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,qCAAqC,aAAa,wDAAwD;yBAClH,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CACxC,MAAM,EACN,GAAG,EACH,WAAW,CACZ,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;4BACvC,IAAI,EAAE,gBAAgB;4BACtB,GAAG;yBACJ,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;oBAC7D,CAAC;oBAAC,OAAO,KAAc,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;4BACvC,IAAI,EAAE,gBAAgB;4BACtB,GAAG;yBACJ,CAAC,CAAC;wBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC;oBACtC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,8BAA8B;oBACtE,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,wBAAwB;oBAC5D,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,oDAAoD;oBACpD,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;iBACpE,CAAC;YACJ,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -96,14 +96,25 @@ export declare const ObjectDetailsSchema: z.ZodPipe<z.ZodPipe<z.ZodTransform<unk
|
|
|
96
96
|
type?: "function" | "table" | "view" | "materialized_view" | "partitioned_table" | "index" | "sequence" | undefined;
|
|
97
97
|
objectType?: "function" | "table" | "view" | "materialized_view" | "partitioned_table" | "index" | "sequence" | undefined;
|
|
98
98
|
}>>;
|
|
99
|
+
export declare const AnalyzeDbHealthSchemaBase: z.ZodObject<{
|
|
100
|
+
includeIndexes: z.ZodOptional<z.ZodBoolean>;
|
|
101
|
+
includeVacuum: z.ZodOptional<z.ZodBoolean>;
|
|
102
|
+
includeConnections: z.ZodOptional<z.ZodBoolean>;
|
|
103
|
+
}, z.core.$strip>;
|
|
99
104
|
export declare const AnalyzeDbHealthSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
100
105
|
includeIndexes: z.ZodOptional<z.ZodBoolean>;
|
|
101
106
|
includeVacuum: z.ZodOptional<z.ZodBoolean>;
|
|
102
107
|
includeConnections: z.ZodOptional<z.ZodBoolean>;
|
|
103
108
|
}, z.core.$strip>>;
|
|
109
|
+
export declare const AnalyzeWorkloadIndexesSchemaBase: z.ZodObject<{
|
|
110
|
+
topQueries: z.ZodOptional<z.ZodNumber>;
|
|
111
|
+
minCalls: z.ZodOptional<z.ZodNumber>;
|
|
112
|
+
queryPreviewLength: z.ZodOptional<z.ZodNumber>;
|
|
113
|
+
}, z.core.$strip>;
|
|
104
114
|
export declare const AnalyzeWorkloadIndexesSchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
105
115
|
topQueries: z.ZodOptional<z.ZodNumber>;
|
|
106
116
|
minCalls: z.ZodOptional<z.ZodNumber>;
|
|
117
|
+
queryPreviewLength: z.ZodOptional<z.ZodNumber>;
|
|
107
118
|
}, z.core.$strip>>;
|
|
108
119
|
export declare const AnalyzeQueryIndexesSchemaBase: z.ZodObject<{
|
|
109
120
|
sql: z.ZodOptional<z.ZodString>;
|
|
@@ -133,18 +144,20 @@ export declare const AnalyzeQueryIndexesSchema: z.ZodPipe<z.ZodObject<{
|
|
|
133
144
|
verbosity?: "full" | "summary" | undefined;
|
|
134
145
|
}>>;
|
|
135
146
|
export declare const ReadQueryOutputSchema: z.ZodObject<{
|
|
136
|
-
|
|
137
|
-
|
|
147
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
148
|
+
rows: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
149
|
+
rowCount: z.ZodOptional<z.ZodNumber>;
|
|
138
150
|
fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
139
151
|
name: z.ZodString;
|
|
140
152
|
dataTypeID: z.ZodOptional<z.ZodNumber>;
|
|
141
153
|
}, z.core.$strip>>>;
|
|
142
154
|
executionTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
155
|
+
error: z.ZodOptional<z.ZodString>;
|
|
143
156
|
}, z.core.$strip>;
|
|
144
157
|
export declare const WriteQueryOutputSchema: z.ZodObject<{
|
|
145
158
|
success: z.ZodOptional<z.ZodBoolean>;
|
|
146
159
|
operation: z.ZodOptional<z.ZodString>;
|
|
147
|
-
rowsAffected: z.ZodNumber
|
|
160
|
+
rowsAffected: z.ZodOptional<z.ZodNumber>;
|
|
148
161
|
affectedRows: z.ZodOptional<z.ZodNumber>;
|
|
149
162
|
rowCount: z.ZodOptional<z.ZodNumber>;
|
|
150
163
|
insertedCount: z.ZodOptional<z.ZodNumber>;
|
|
@@ -153,6 +166,7 @@ export declare const WriteQueryOutputSchema: z.ZodObject<{
|
|
|
153
166
|
rows: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
154
167
|
sql: z.ZodOptional<z.ZodString>;
|
|
155
168
|
hint: z.ZodOptional<z.ZodString>;
|
|
169
|
+
error: z.ZodOptional<z.ZodString>;
|
|
156
170
|
}, z.core.$strip>;
|
|
157
171
|
export declare const TableListOutputSchema: z.ZodObject<{
|
|
158
172
|
tables: z.ZodArray<z.ZodObject<{
|
|
@@ -168,37 +182,42 @@ export declare const TableListOutputSchema: z.ZodObject<{
|
|
|
168
182
|
hint: z.ZodOptional<z.ZodString>;
|
|
169
183
|
}, z.core.$strip>;
|
|
170
184
|
export declare const TableDescribeOutputSchema: z.ZodObject<{
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
185
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
186
|
+
name: z.ZodOptional<z.ZodString>;
|
|
187
|
+
schema: z.ZodOptional<z.ZodString>;
|
|
188
|
+
type: z.ZodOptional<z.ZodString>;
|
|
189
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
175
190
|
name: z.ZodString;
|
|
176
191
|
type: z.ZodString;
|
|
177
192
|
nullable: z.ZodBoolean;
|
|
178
193
|
default: z.ZodOptional<z.ZodString>;
|
|
179
194
|
primaryKey: z.ZodOptional<z.ZodBoolean>;
|
|
180
|
-
}, z.core.$strip
|
|
181
|
-
primaryKey: z.ZodOptional<z.ZodArray<z.ZodString
|
|
195
|
+
}, z.core.$strip>>>;
|
|
196
|
+
primaryKey: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
182
197
|
foreignKeys: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
183
198
|
indexes: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
184
199
|
rowCount: z.ZodOptional<z.ZodNumber>;
|
|
200
|
+
error: z.ZodOptional<z.ZodString>;
|
|
185
201
|
}, z.core.$strip>;
|
|
186
202
|
export declare const TableOperationOutputSchema: z.ZodObject<{
|
|
187
|
-
success: z.ZodBoolean
|
|
203
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
188
204
|
table: z.ZodOptional<z.ZodString>;
|
|
189
205
|
dropped: z.ZodOptional<z.ZodString>;
|
|
190
206
|
existed: z.ZodOptional<z.ZodBoolean>;
|
|
191
207
|
sql: z.ZodOptional<z.ZodString>;
|
|
192
208
|
compositePrimaryKey: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
209
|
+
error: z.ZodOptional<z.ZodString>;
|
|
193
210
|
}, z.core.$strip>;
|
|
194
211
|
export declare const TruncateOutputSchema: z.ZodObject<{
|
|
195
212
|
success: z.ZodBoolean;
|
|
196
|
-
table: z.ZodString
|
|
197
|
-
cascade: z.ZodBoolean
|
|
198
|
-
restartIdentity: z.ZodBoolean
|
|
213
|
+
table: z.ZodOptional<z.ZodString>;
|
|
214
|
+
cascade: z.ZodOptional<z.ZodBoolean>;
|
|
215
|
+
restartIdentity: z.ZodOptional<z.ZodBoolean>;
|
|
216
|
+
error: z.ZodOptional<z.ZodString>;
|
|
199
217
|
}, z.core.$strip>;
|
|
200
218
|
export declare const IndexListOutputSchema: z.ZodObject<{
|
|
201
|
-
|
|
219
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
220
|
+
indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
202
221
|
name: z.ZodString;
|
|
203
222
|
table: z.ZodOptional<z.ZodString>;
|
|
204
223
|
tableName: z.ZodOptional<z.ZodString>;
|
|
@@ -208,19 +227,21 @@ export declare const IndexListOutputSchema: z.ZodObject<{
|
|
|
208
227
|
type: z.ZodOptional<z.ZodString>;
|
|
209
228
|
unique: z.ZodOptional<z.ZodBoolean>;
|
|
210
229
|
columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
211
|
-
}, z.core.$strip
|
|
212
|
-
count: z.ZodNumber
|
|
230
|
+
}, z.core.$strip>>>;
|
|
231
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
213
232
|
totalCount: z.ZodOptional<z.ZodNumber>;
|
|
214
233
|
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
215
234
|
hint: z.ZodOptional<z.ZodString>;
|
|
235
|
+
error: z.ZodOptional<z.ZodString>;
|
|
216
236
|
}, z.core.$strip>;
|
|
217
237
|
export declare const IndexOperationOutputSchema: z.ZodObject<{
|
|
218
|
-
success: z.ZodBoolean
|
|
238
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
219
239
|
message: z.ZodOptional<z.ZodString>;
|
|
220
240
|
index: z.ZodOptional<z.ZodString>;
|
|
221
241
|
table: z.ZodOptional<z.ZodString>;
|
|
222
242
|
sql: z.ZodOptional<z.ZodString>;
|
|
223
243
|
hint: z.ZodOptional<z.ZodString>;
|
|
244
|
+
error: z.ZodOptional<z.ZodString>;
|
|
224
245
|
}, z.core.$strip>;
|
|
225
246
|
export declare const ObjectListOutputSchema: z.ZodObject<{
|
|
226
247
|
objects: z.ZodArray<z.ZodObject<{
|
|
@@ -235,11 +256,13 @@ export declare const ObjectListOutputSchema: z.ZodObject<{
|
|
|
235
256
|
hint: z.ZodOptional<z.ZodString>;
|
|
236
257
|
}, z.core.$strip>;
|
|
237
258
|
export declare const ObjectDetailsOutputSchema: z.ZodObject<{
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
259
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
260
|
+
name: z.ZodOptional<z.ZodString>;
|
|
261
|
+
schema: z.ZodOptional<z.ZodString>;
|
|
262
|
+
type: z.ZodOptional<z.ZodString>;
|
|
241
263
|
owner: z.ZodOptional<z.ZodString>;
|
|
242
264
|
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
265
|
+
error: z.ZodOptional<z.ZodString>;
|
|
243
266
|
}, z.core.$strip>;
|
|
244
267
|
export declare const ExtensionListOutputSchema: z.ZodObject<{
|
|
245
268
|
extensions: z.ZodArray<z.ZodObject<{
|
|
@@ -284,16 +307,20 @@ export declare const QueryIndexAnalysisOutputSchema: z.ZodObject<{
|
|
|
284
307
|
error: z.ZodOptional<z.ZodString>;
|
|
285
308
|
}, z.core.$strip>;
|
|
286
309
|
export declare const CountOutputSchema: z.ZodObject<{
|
|
287
|
-
|
|
310
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
311
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
312
|
+
error: z.ZodOptional<z.ZodString>;
|
|
288
313
|
}, z.core.$strip>;
|
|
289
314
|
export declare const ExistsOutputSchema: z.ZodObject<{
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
315
|
+
success: z.ZodOptional<z.ZodBoolean>;
|
|
316
|
+
exists: z.ZodOptional<z.ZodBoolean>;
|
|
317
|
+
table: z.ZodOptional<z.ZodString>;
|
|
318
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
293
319
|
filtered: "filtered";
|
|
294
320
|
any_rows: "any_rows";
|
|
295
|
-
}
|
|
321
|
+
}>>;
|
|
296
322
|
where: z.ZodOptional<z.ZodString>;
|
|
297
323
|
hint: z.ZodOptional<z.ZodString>;
|
|
324
|
+
error: z.ZodOptional<z.ZodString>;
|
|
298
325
|
}, z.core.$strip>;
|
|
299
326
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBA4BhC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;kBAG7B,CAAC;AAuEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAiClC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS5B,CAAC;AAEL,eAAO,MAAM,qBAAqB;;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/core/schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBA4BhC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;kBAG7B,CAAC;AAuEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;iBAiClC,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS5B,CAAC;AAEL,eAAO,MAAM,yBAAyB;;;;iBAapC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;kBAGjC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;iBAY3C,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;kBAGxC,CAAC;AAGF,eAAO,MAAM,6BAA6B;;;;;;;;iBAaxC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;GAOlC,CAAC;AAWL,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAUhC,CAAC;AAGH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAgBjC,CAAC;AAYH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAMhC,CAAC;AAYH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;iBAqBpC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;iBAWrC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;iBAS/B,CAAC;AAgBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iBAQhC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;iBAQrC,CAAC;AAWH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAMjC,CAAC;AAGH,eAAO,MAAM,yBAAyB;;;;;;;;iBAWpC,CAAC;AAWH,eAAO,MAAM,yBAAyB;;;;;;;;iBAGpC,CAAC;AAWH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBA+BrC,CAAC;AAGH,eAAO,MAAM,gCAAgC;;;;iBAM3C,CAAC;AAGH,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAmBzC,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAQ7B,CAAC"}
|
|
@@ -176,7 +176,7 @@ export const ObjectDetailsSchema = z
|
|
|
176
176
|
.refine((data) => data.name !== "", {
|
|
177
177
|
message: "name (or object/objectName/table alias) is required",
|
|
178
178
|
});
|
|
179
|
-
export const
|
|
179
|
+
export const AnalyzeDbHealthSchemaBase = z.object({
|
|
180
180
|
includeIndexes: z
|
|
181
181
|
.boolean()
|
|
182
182
|
.optional()
|
|
@@ -189,14 +189,20 @@ export const AnalyzeDbHealthSchema = z.preprocess(defaultToEmpty, z.object({
|
|
|
189
189
|
.boolean()
|
|
190
190
|
.optional()
|
|
191
191
|
.describe("Include connection stats (default: true)"),
|
|
192
|
-
})
|
|
193
|
-
export const
|
|
192
|
+
});
|
|
193
|
+
export const AnalyzeDbHealthSchema = z.preprocess(defaultToEmpty, AnalyzeDbHealthSchemaBase);
|
|
194
|
+
export const AnalyzeWorkloadIndexesSchemaBase = z.object({
|
|
194
195
|
topQueries: z
|
|
195
196
|
.number()
|
|
196
197
|
.optional()
|
|
197
198
|
.describe("Number of top queries to analyze (default: 20)"),
|
|
198
199
|
minCalls: z.number().optional().describe("Minimum call count threshold"),
|
|
199
|
-
|
|
200
|
+
queryPreviewLength: z
|
|
201
|
+
.number()
|
|
202
|
+
.optional()
|
|
203
|
+
.describe("Maximum characters for query preview (default: 200). Truncated queries end with '…'"),
|
|
204
|
+
});
|
|
205
|
+
export const AnalyzeWorkloadIndexesSchema = z.preprocess(defaultToEmpty, AnalyzeWorkloadIndexesSchemaBase);
|
|
200
206
|
// Base schema for MCP visibility - exported so tool can use it for inputSchema
|
|
201
207
|
export const AnalyzeQueryIndexesSchemaBase = z.object({
|
|
202
208
|
sql: z
|
|
@@ -226,18 +232,21 @@ const FieldSchema = z.object({
|
|
|
226
232
|
});
|
|
227
233
|
// Output schema for pg_read_query
|
|
228
234
|
export const ReadQueryOutputSchema = z.object({
|
|
235
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
229
236
|
rows: z
|
|
230
237
|
.array(z.record(z.string(), z.unknown()))
|
|
238
|
+
.optional()
|
|
231
239
|
.describe("Query result rows"),
|
|
232
|
-
rowCount: z.number().describe("Number of rows returned"),
|
|
240
|
+
rowCount: z.number().optional().describe("Number of rows returned"),
|
|
233
241
|
fields: z.array(FieldSchema).optional().describe("Column metadata"),
|
|
234
242
|
executionTimeMs: z.number().optional().describe("Query execution time in ms"),
|
|
243
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
235
244
|
});
|
|
236
245
|
// Output schema for pg_write_query, pg_upsert, pg_batch_insert
|
|
237
246
|
export const WriteQueryOutputSchema = z.object({
|
|
238
247
|
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
239
248
|
operation: z.string().optional().describe("Operation type (insert/update)"),
|
|
240
|
-
rowsAffected: z.number().describe("Number of rows affected"),
|
|
249
|
+
rowsAffected: z.number().optional().describe("Number of rows affected"),
|
|
241
250
|
affectedRows: z.number().optional().describe("Alias for rowsAffected"),
|
|
242
251
|
rowCount: z.number().optional().describe("Alias for rowsAffected"),
|
|
243
252
|
insertedCount: z.number().optional().describe("Rows inserted (batch insert)"),
|
|
@@ -249,6 +258,7 @@ export const WriteQueryOutputSchema = z.object({
|
|
|
249
258
|
.describe("Returned rows (RETURNING clause)"),
|
|
250
259
|
sql: z.string().optional().describe("Generated SQL statement"),
|
|
251
260
|
hint: z.string().optional().describe("Additional information"),
|
|
261
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
252
262
|
});
|
|
253
263
|
// Table info schema for list tables
|
|
254
264
|
const TableInfoSchema = z.object({
|
|
@@ -276,11 +286,16 @@ const ColumnInfoSchema = z.object({
|
|
|
276
286
|
});
|
|
277
287
|
// Output schema for pg_describe_table
|
|
278
288
|
export const TableDescribeOutputSchema = z.object({
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
289
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
290
|
+
name: z.string().optional().describe("Table name"),
|
|
291
|
+
schema: z.string().optional().describe("Schema name"),
|
|
292
|
+
type: z.string().optional().describe("Object type"),
|
|
293
|
+
columns: z.array(ColumnInfoSchema).optional().describe("Column definitions"),
|
|
294
|
+
primaryKey: z
|
|
295
|
+
.array(z.string())
|
|
296
|
+
.nullable()
|
|
297
|
+
.optional()
|
|
298
|
+
.describe("Primary key columns"),
|
|
284
299
|
foreignKeys: z
|
|
285
300
|
.array(z.record(z.string(), z.unknown()))
|
|
286
301
|
.optional()
|
|
@@ -290,10 +305,11 @@ export const TableDescribeOutputSchema = z.object({
|
|
|
290
305
|
.optional()
|
|
291
306
|
.describe("Index definitions"),
|
|
292
307
|
rowCount: z.number().optional().describe("Estimated row count"),
|
|
308
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
293
309
|
});
|
|
294
310
|
// Output schema for pg_create_table, pg_drop_table
|
|
295
311
|
export const TableOperationOutputSchema = z.object({
|
|
296
|
-
success: z.boolean().describe("Whether the operation succeeded"),
|
|
312
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
297
313
|
table: z.string().optional().describe("Qualified table name"),
|
|
298
314
|
dropped: z.string().optional().describe("Dropped table name (drop only)"),
|
|
299
315
|
existed: z.boolean().optional().describe("Whether table existed before drop"),
|
|
@@ -302,13 +318,18 @@ export const TableOperationOutputSchema = z.object({
|
|
|
302
318
|
.array(z.string())
|
|
303
319
|
.optional()
|
|
304
320
|
.describe("Composite PK columns"),
|
|
321
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
305
322
|
});
|
|
306
323
|
// Output schema for pg_truncate
|
|
307
324
|
export const TruncateOutputSchema = z.object({
|
|
308
325
|
success: z.boolean().describe("Whether the operation succeeded"),
|
|
309
|
-
table: z.string().describe("Truncated table"),
|
|
310
|
-
cascade: z.boolean().describe("Whether CASCADE was used"),
|
|
311
|
-
restartIdentity: z
|
|
326
|
+
table: z.string().optional().describe("Truncated table"),
|
|
327
|
+
cascade: z.boolean().optional().describe("Whether CASCADE was used"),
|
|
328
|
+
restartIdentity: z
|
|
329
|
+
.boolean()
|
|
330
|
+
.optional()
|
|
331
|
+
.describe("Whether identity was restarted"),
|
|
332
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
312
333
|
});
|
|
313
334
|
// Index info schema
|
|
314
335
|
const IndexInfoSchema = z.object({
|
|
@@ -324,20 +345,23 @@ const IndexInfoSchema = z.object({
|
|
|
324
345
|
});
|
|
325
346
|
// Output schema for pg_get_indexes
|
|
326
347
|
export const IndexListOutputSchema = z.object({
|
|
327
|
-
|
|
328
|
-
|
|
348
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
349
|
+
indexes: z.array(IndexInfoSchema).optional().describe("List of indexes"),
|
|
350
|
+
count: z.number().optional().describe("Number of indexes"),
|
|
329
351
|
totalCount: z.number().optional().describe("Total count before truncation"),
|
|
330
352
|
truncated: z.boolean().optional().describe("Whether results were truncated"),
|
|
331
353
|
hint: z.string().optional().describe("Additional information"),
|
|
354
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
332
355
|
});
|
|
333
356
|
// Output schema for pg_create_index, pg_drop_index
|
|
334
357
|
export const IndexOperationOutputSchema = z.object({
|
|
335
|
-
success: z.boolean().describe("Whether the operation succeeded"),
|
|
358
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
336
359
|
message: z.string().optional().describe("Result message"),
|
|
337
360
|
index: z.string().optional().describe("Index name"),
|
|
338
361
|
table: z.string().optional().describe("Table name"),
|
|
339
362
|
sql: z.string().optional().describe("Generated SQL"),
|
|
340
363
|
hint: z.string().optional().describe("Additional information"),
|
|
364
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
341
365
|
});
|
|
342
366
|
// Database object schema
|
|
343
367
|
const DatabaseObjectSchema = z.object({
|
|
@@ -356,14 +380,16 @@ export const ObjectListOutputSchema = z.object({
|
|
|
356
380
|
});
|
|
357
381
|
// Output schema for pg_object_details - flexible due to different object types
|
|
358
382
|
export const ObjectDetailsOutputSchema = z.object({
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
383
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
384
|
+
name: z.string().optional().describe("Object name"),
|
|
385
|
+
schema: z.string().optional().describe("Schema name"),
|
|
386
|
+
type: z.string().optional().describe("Object type"),
|
|
362
387
|
owner: z.string().optional().describe("Object owner"),
|
|
363
388
|
details: z
|
|
364
389
|
.record(z.string(), z.unknown())
|
|
365
390
|
.optional()
|
|
366
391
|
.describe("Type-specific details"),
|
|
392
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
367
393
|
});
|
|
368
394
|
// Extension info schema
|
|
369
395
|
const ExtensionInfoSchema = z.object({
|
|
@@ -446,14 +472,18 @@ export const QueryIndexAnalysisOutputSchema = z.object({
|
|
|
446
472
|
});
|
|
447
473
|
// Output schema for pg_count
|
|
448
474
|
export const CountOutputSchema = z.object({
|
|
449
|
-
|
|
475
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
476
|
+
count: z.number().optional().describe("Row count"),
|
|
477
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
450
478
|
});
|
|
451
479
|
// Output schema for pg_exists
|
|
452
480
|
export const ExistsOutputSchema = z.object({
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
481
|
+
success: z.boolean().optional().describe("Whether the operation succeeded"),
|
|
482
|
+
exists: z.boolean().optional().describe("Whether rows exist"),
|
|
483
|
+
table: z.string().optional().describe("Table checked"),
|
|
484
|
+
mode: z.enum(["filtered", "any_rows"]).optional().describe("Check mode"),
|
|
456
485
|
where: z.string().optional().describe("WHERE clause used (filtered mode)"),
|
|
457
486
|
hint: z.string().optional().describe("Clarifying hint (any_rows mode)"),
|
|
487
|
+
error: z.string().optional().describe("Error message if operation failed"),
|
|
458
488
|
});
|
|
459
489
|
//# sourceMappingURL=schemas.js.map
|