@paretools/db 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +11 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/db-runner.d.ts +10 -0
  7. package/dist/lib/db-runner.d.ts.map +1 -0
  8. package/dist/lib/db-runner.js +19 -0
  9. package/dist/lib/db-runner.js.map +1 -0
  10. package/dist/lib/formatters.d.ts +108 -0
  11. package/dist/lib/formatters.d.ts.map +1 -0
  12. package/dist/lib/formatters.js +258 -0
  13. package/dist/lib/formatters.js.map +1 -0
  14. package/dist/lib/parsers.d.ts +107 -0
  15. package/dist/lib/parsers.d.ts.map +1 -0
  16. package/dist/lib/parsers.js +333 -0
  17. package/dist/lib/parsers.js.map +1 -0
  18. package/dist/schemas/index.d.ts +128 -0
  19. package/dist/schemas/index.d.ts.map +1 -0
  20. package/dist/schemas/index.js +111 -0
  21. package/dist/schemas/index.js.map +1 -0
  22. package/dist/tools/index.d.ts +4 -0
  23. package/dist/tools/index.d.ts.map +1 -0
  24. package/dist/tools/index.js +33 -0
  25. package/dist/tools/index.js.map +1 -0
  26. package/dist/tools/mongosh-eval.d.ts +4 -0
  27. package/dist/tools/mongosh-eval.d.ts.map +1 -0
  28. package/dist/tools/mongosh-eval.js +40 -0
  29. package/dist/tools/mongosh-eval.js.map +1 -0
  30. package/dist/tools/mongosh-stats.d.ts +4 -0
  31. package/dist/tools/mongosh-stats.d.ts.map +1 -0
  32. package/dist/tools/mongosh-stats.js +35 -0
  33. package/dist/tools/mongosh-stats.js.map +1 -0
  34. package/dist/tools/mysql-list-databases.d.ts +4 -0
  35. package/dist/tools/mysql-list-databases.d.ts.map +1 -0
  36. package/dist/tools/mysql-list-databases.js +39 -0
  37. package/dist/tools/mysql-list-databases.js.map +1 -0
  38. package/dist/tools/mysql-query.d.ts +4 -0
  39. package/dist/tools/mysql-query.d.ts.map +1 -0
  40. package/dist/tools/mysql-query.js +50 -0
  41. package/dist/tools/mysql-query.js.map +1 -0
  42. package/dist/tools/psql-list-databases.d.ts +4 -0
  43. package/dist/tools/psql-list-databases.d.ts.map +1 -0
  44. package/dist/tools/psql-list-databases.js +39 -0
  45. package/dist/tools/psql-list-databases.js.map +1 -0
  46. package/dist/tools/psql-query.d.ts +4 -0
  47. package/dist/tools/psql-query.d.ts.map +1 -0
  48. package/dist/tools/psql-query.js +50 -0
  49. package/dist/tools/psql-query.js.map +1 -0
  50. package/dist/tools/redis-command.d.ts +4 -0
  51. package/dist/tools/redis-command.d.ts.map +1 -0
  52. package/dist/tools/redis-command.js +57 -0
  53. package/dist/tools/redis-command.js.map +1 -0
  54. package/dist/tools/redis-info.d.ts +4 -0
  55. package/dist/tools/redis-info.d.ts.map +1 -0
  56. package/dist/tools/redis-info.js +51 -0
  57. package/dist/tools/redis-info.js.map +1 -0
  58. package/dist/tools/redis-ping.d.ts +4 -0
  59. package/dist/tools/redis-ping.d.ts.map +1 -0
  60. package/dist/tools/redis-ping.js +42 -0
  61. package/dist/tools/redis-ping.js.map +1 -0
  62. package/package.json +72 -0
@@ -0,0 +1,333 @@
1
+ // ── PostgreSQL parsers ──────────────────────────────────────────────
2
+ /**
3
+ * Parses psql unaligned output (`-A -t` with `-F` separator).
4
+ *
5
+ * When using `psql -A` (unaligned mode), output uses `|` as the default
6
+ * field separator. The first line (when not using `-t`) contains column
7
+ * headers. Subsequent lines are data rows.
8
+ *
9
+ * With `-A` (no `-t`), the output looks like:
10
+ * ```
11
+ * col1|col2|col3
12
+ * val1|val2|val3
13
+ * val4|val5|val6
14
+ * (2 rows)
15
+ * ```
16
+ */
17
+ export function parsePsqlQuery(stdout, stderr, exitCode, duration) {
18
+ if (exitCode !== 0) {
19
+ return {
20
+ success: false,
21
+ rowCount: 0,
22
+ exitCode,
23
+ duration,
24
+ error: stderr.trim() || stdout.trim() || undefined,
25
+ };
26
+ }
27
+ const lines = stdout.split("\n").filter((l) => l.length > 0);
28
+ // Filter out the "(N rows)" footer line
29
+ const dataLines = lines.filter((l) => !/^\(\d+ rows?\)$/.test(l.trim()));
30
+ if (dataLines.length === 0) {
31
+ return { success: true, columns: [], rows: [], rowCount: 0, exitCode, duration };
32
+ }
33
+ // First line is column headers
34
+ const columns = dataLines[0].split("|").map((c) => c.trim());
35
+ const rows = [];
36
+ for (let i = 1; i < dataLines.length; i++) {
37
+ const values = dataLines[i].split("|");
38
+ const row = {};
39
+ for (let j = 0; j < columns.length; j++) {
40
+ const val = values[j]?.trim();
41
+ row[columns[j]] = val === "" || val === undefined ? null : val;
42
+ }
43
+ rows.push(row);
44
+ }
45
+ return { success: true, columns, rows, rowCount: rows.length, exitCode, duration };
46
+ }
47
+ /**
48
+ * Parses `psql -l -A` output (list databases in unaligned mode).
49
+ *
50
+ * Expected format:
51
+ * ```
52
+ * Name|Owner|Encoding|Collate|Ctype|Access privileges
53
+ * postgres|postgres|UTF8|en_US.utf8|en_US.utf8|
54
+ * template0|postgres|UTF8|en_US.utf8|en_US.utf8|=c/postgres
55
+ * template1|postgres|UTF8|en_US.utf8|en_US.utf8|=c/postgres
56
+ * (3 rows)
57
+ * ```
58
+ */
59
+ export function parsePsqlListDatabases(stdout, stderr, exitCode, duration) {
60
+ if (exitCode !== 0) {
61
+ return {
62
+ success: false,
63
+ total: 0,
64
+ exitCode,
65
+ duration,
66
+ error: stderr.trim() || stdout.trim() || undefined,
67
+ };
68
+ }
69
+ const lines = stdout.split("\n").filter((l) => l.length > 0);
70
+ const dataLines = lines.filter((l) => !/^\(\d+ rows?\)$/.test(l.trim()));
71
+ if (dataLines.length <= 1) {
72
+ return { success: true, databases: [], total: 0, exitCode, duration };
73
+ }
74
+ // First line is headers: Name|Owner|Encoding|Collate|Ctype|...
75
+ const headers = dataLines[0].split("|").map((h) => h.trim().toLowerCase());
76
+ const databases = [];
77
+ const nameIdx = headers.indexOf("name");
78
+ const ownerIdx = headers.indexOf("owner");
79
+ const encodingIdx = headers.indexOf("encoding");
80
+ const collateIdx = headers.indexOf("collate");
81
+ const ctypeIdx = headers.indexOf("ctype");
82
+ const sizeIdx = headers.indexOf("size");
83
+ for (let i = 1; i < dataLines.length; i++) {
84
+ const values = dataLines[i].split("|").map((v) => v.trim());
85
+ const name = nameIdx >= 0 ? values[nameIdx] : values[0];
86
+ if (!name)
87
+ continue;
88
+ databases.push({
89
+ name,
90
+ owner: ownerIdx >= 0 ? values[ownerIdx] || undefined : undefined,
91
+ encoding: encodingIdx >= 0 ? values[encodingIdx] || undefined : undefined,
92
+ collation: collateIdx >= 0 ? values[collateIdx] || undefined : undefined,
93
+ ctype: ctypeIdx >= 0 ? values[ctypeIdx] || undefined : undefined,
94
+ size: sizeIdx >= 0 ? values[sizeIdx] || undefined : undefined,
95
+ });
96
+ }
97
+ return { success: true, databases, total: databases.length, exitCode, duration };
98
+ }
99
+ // ── MySQL parsers ───────────────────────────────────────────────────
100
+ /**
101
+ * Parses mysql `--batch --raw` output (tab-separated).
102
+ *
103
+ * Expected format:
104
+ * ```
105
+ * col1\tcol2\tcol3
106
+ * val1\tval2\tval3
107
+ * val4\tval5\tval6
108
+ * ```
109
+ *
110
+ * The first line contains column headers, subsequent lines are data rows.
111
+ */
112
+ export function parseMysqlQuery(stdout, stderr, exitCode, duration) {
113
+ if (exitCode !== 0) {
114
+ return {
115
+ success: false,
116
+ rowCount: 0,
117
+ exitCode,
118
+ duration,
119
+ error: stderr.trim() || stdout.trim() || undefined,
120
+ };
121
+ }
122
+ const lines = stdout.split("\n").filter((l) => l.length > 0);
123
+ if (lines.length === 0) {
124
+ return { success: true, columns: [], rows: [], rowCount: 0, exitCode, duration };
125
+ }
126
+ const columns = lines[0].split("\t");
127
+ const rows = [];
128
+ for (let i = 1; i < lines.length; i++) {
129
+ const values = lines[i].split("\t");
130
+ const row = {};
131
+ for (let j = 0; j < columns.length; j++) {
132
+ const val = values[j];
133
+ row[columns[j]] = val === "NULL" || val === undefined ? null : val;
134
+ }
135
+ rows.push(row);
136
+ }
137
+ return { success: true, columns, rows, rowCount: rows.length, exitCode, duration };
138
+ }
139
+ /**
140
+ * Parses `mysql -e "SHOW DATABASES" --batch` output.
141
+ *
142
+ * Expected format:
143
+ * ```
144
+ * Database
145
+ * information_schema
146
+ * mysql
147
+ * performance_schema
148
+ * mydb
149
+ * ```
150
+ */
151
+ export function parseMysqlListDatabases(stdout, stderr, exitCode, duration) {
152
+ if (exitCode !== 0) {
153
+ return {
154
+ success: false,
155
+ total: 0,
156
+ exitCode,
157
+ duration,
158
+ error: stderr.trim() || stdout.trim() || undefined,
159
+ };
160
+ }
161
+ const lines = stdout.split("\n").filter((l) => l.length > 0);
162
+ // First line is the "Database" header
163
+ if (lines.length <= 1) {
164
+ return { success: true, databases: [], total: 0, exitCode, duration };
165
+ }
166
+ const databases = lines.slice(1).map((name) => ({ name: name.trim() }));
167
+ return { success: true, databases, total: databases.length, exitCode, duration };
168
+ }
169
+ // ── Redis parsers ───────────────────────────────────────────────────
170
+ /**
171
+ * Parses `redis-cli PING` output.
172
+ *
173
+ * Expected output: `PONG`
174
+ */
175
+ export function parseRedisPing(stdout, stderr, exitCode, duration) {
176
+ if (exitCode !== 0) {
177
+ return {
178
+ success: false,
179
+ exitCode,
180
+ duration,
181
+ error: stderr.trim() || stdout.trim() || undefined,
182
+ };
183
+ }
184
+ const response = stdout.trim();
185
+ return {
186
+ success: response === "PONG",
187
+ response: response || undefined,
188
+ exitCode,
189
+ duration,
190
+ };
191
+ }
192
+ /**
193
+ * Parses `redis-cli INFO` output into sections.
194
+ *
195
+ * Expected format:
196
+ * ```
197
+ * # Server
198
+ * redis_version:7.0.0
199
+ * redis_mode:standalone
200
+ *
201
+ * # Clients
202
+ * connected_clients:1
203
+ * ```
204
+ */
205
+ export function parseRedisInfo(stdout, stderr, exitCode, duration) {
206
+ if (exitCode !== 0) {
207
+ return {
208
+ success: false,
209
+ exitCode,
210
+ duration,
211
+ error: stderr.trim() || stdout.trim() || undefined,
212
+ };
213
+ }
214
+ const sections = [];
215
+ let currentSection;
216
+ for (const line of stdout.split("\n")) {
217
+ const trimmed = line.trim();
218
+ if (!trimmed)
219
+ continue;
220
+ if (trimmed.startsWith("# ")) {
221
+ currentSection = { name: trimmed.slice(2).trim(), entries: {} };
222
+ sections.push(currentSection);
223
+ continue;
224
+ }
225
+ const colonIdx = trimmed.indexOf(":");
226
+ if (colonIdx > 0 && currentSection) {
227
+ const key = trimmed.slice(0, colonIdx);
228
+ const value = trimmed.slice(colonIdx + 1);
229
+ currentSection.entries[key] = value;
230
+ }
231
+ }
232
+ return { success: true, sections, exitCode, duration };
233
+ }
234
+ /**
235
+ * Parses generic `redis-cli` command output.
236
+ *
237
+ * Redis CLI output is line-based text. For simple values it's a single line;
238
+ * for arrays it may be multi-line with numbering.
239
+ */
240
+ export function parseRedisCommand(stdout, stderr, exitCode, duration) {
241
+ if (exitCode !== 0) {
242
+ return {
243
+ success: false,
244
+ exitCode,
245
+ duration,
246
+ error: stderr.trim() || stdout.trim() || undefined,
247
+ };
248
+ }
249
+ const response = stdout.trim();
250
+ return {
251
+ success: true,
252
+ response: response || undefined,
253
+ exitCode,
254
+ duration,
255
+ };
256
+ }
257
+ // ── MongoDB parsers ─────────────────────────────────────────────────
258
+ /**
259
+ * Parses `mongosh --eval` output.
260
+ *
261
+ * mongosh outputs JSON or JavaScript-formatted results.
262
+ */
263
+ export function parseMongoshEval(stdout, stderr, exitCode, duration) {
264
+ if (exitCode !== 0) {
265
+ return {
266
+ success: false,
267
+ exitCode,
268
+ duration,
269
+ error: stderr.trim() || stdout.trim() || undefined,
270
+ };
271
+ }
272
+ const output = stdout.trim();
273
+ return {
274
+ success: true,
275
+ output: output || undefined,
276
+ exitCode,
277
+ duration,
278
+ };
279
+ }
280
+ /**
281
+ * Parses `mongosh --eval "db.stats()"` output.
282
+ *
283
+ * Expected JSON format:
284
+ * ```json
285
+ * {
286
+ * "db": "mydb",
287
+ * "collections": 5,
288
+ * "objects": 1234,
289
+ * "dataSize": 567890,
290
+ * "storageSize": 1234567,
291
+ * "indexes": 10,
292
+ * "indexSize": 45678
293
+ * }
294
+ * ```
295
+ */
296
+ export function parseMongoshStats(stdout, stderr, exitCode, duration) {
297
+ if (exitCode !== 0) {
298
+ return {
299
+ success: false,
300
+ exitCode,
301
+ duration,
302
+ error: stderr.trim() || stdout.trim() || undefined,
303
+ };
304
+ }
305
+ const raw = stdout.trim();
306
+ // Try to parse as JSON to extract structured fields
307
+ try {
308
+ const parsed = JSON.parse(raw);
309
+ return {
310
+ success: true,
311
+ db: typeof parsed.db === "string" ? parsed.db : undefined,
312
+ collections: typeof parsed.collections === "number" ? parsed.collections : undefined,
313
+ objects: typeof parsed.objects === "number" ? parsed.objects : undefined,
314
+ dataSize: typeof parsed.dataSize === "number" ? parsed.dataSize : undefined,
315
+ storageSize: typeof parsed.storageSize === "number" ? parsed.storageSize : undefined,
316
+ indexes: typeof parsed.indexes === "number" ? parsed.indexes : undefined,
317
+ indexSize: typeof parsed.indexSize === "number" ? parsed.indexSize : undefined,
318
+ raw: raw || undefined,
319
+ exitCode,
320
+ duration,
321
+ };
322
+ }
323
+ catch {
324
+ // Not valid JSON — return raw output
325
+ return {
326
+ success: true,
327
+ raw: raw || undefined,
328
+ exitCode,
329
+ duration,
330
+ };
331
+ }
332
+ }
333
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { z } from "zod";
2
+ /** A single row from a psql query result. */
3
+ export declare const PsqlRowSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNull]>>;
4
+ /** Zod schema for psql query output. */
5
+ export declare const PsqlQueryResultSchema: z.ZodObject<{
6
+ success: z.ZodBoolean;
7
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
+ rows: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNull]>>>>;
9
+ rowCount: z.ZodNumber;
10
+ exitCode: z.ZodNumber;
11
+ duration: z.ZodNumber;
12
+ error: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ export type PsqlQueryResult = z.infer<typeof PsqlQueryResultSchema>;
15
+ /** A single PostgreSQL database entry. */
16
+ export declare const PsqlDatabaseSchema: z.ZodObject<{
17
+ name: z.ZodString;
18
+ owner: z.ZodOptional<z.ZodString>;
19
+ encoding: z.ZodOptional<z.ZodString>;
20
+ collation: z.ZodOptional<z.ZodString>;
21
+ ctype: z.ZodOptional<z.ZodString>;
22
+ size: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ /** Zod schema for psql list databases output. */
25
+ export declare const PsqlListDatabasesResultSchema: z.ZodObject<{
26
+ success: z.ZodBoolean;
27
+ databases: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ name: z.ZodString;
29
+ owner: z.ZodOptional<z.ZodString>;
30
+ encoding: z.ZodOptional<z.ZodString>;
31
+ collation: z.ZodOptional<z.ZodString>;
32
+ ctype: z.ZodOptional<z.ZodString>;
33
+ size: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>>>;
35
+ total: z.ZodNumber;
36
+ exitCode: z.ZodNumber;
37
+ duration: z.ZodNumber;
38
+ error: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ export type PsqlListDatabasesResult = z.infer<typeof PsqlListDatabasesResultSchema>;
41
+ /** Zod schema for mysql query output. */
42
+ export declare const MysqlQueryResultSchema: z.ZodObject<{
43
+ success: z.ZodBoolean;
44
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
45
+ rows: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNull]>>>>;
46
+ rowCount: z.ZodNumber;
47
+ exitCode: z.ZodNumber;
48
+ duration: z.ZodNumber;
49
+ error: z.ZodOptional<z.ZodString>;
50
+ }, z.core.$strip>;
51
+ export type MysqlQueryResult = z.infer<typeof MysqlQueryResultSchema>;
52
+ /** A single MySQL database entry. */
53
+ export declare const MysqlDatabaseSchema: z.ZodObject<{
54
+ name: z.ZodString;
55
+ }, z.core.$strip>;
56
+ /** Zod schema for mysql list databases output. */
57
+ export declare const MysqlListDatabasesResultSchema: z.ZodObject<{
58
+ success: z.ZodBoolean;
59
+ databases: z.ZodOptional<z.ZodArray<z.ZodObject<{
60
+ name: z.ZodString;
61
+ }, z.core.$strip>>>;
62
+ total: z.ZodNumber;
63
+ exitCode: z.ZodNumber;
64
+ duration: z.ZodNumber;
65
+ error: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>;
67
+ export type MysqlListDatabasesResult = z.infer<typeof MysqlListDatabasesResultSchema>;
68
+ /** Zod schema for redis ping output. */
69
+ export declare const RedisPingResultSchema: z.ZodObject<{
70
+ success: z.ZodBoolean;
71
+ response: z.ZodOptional<z.ZodString>;
72
+ exitCode: z.ZodNumber;
73
+ duration: z.ZodNumber;
74
+ error: z.ZodOptional<z.ZodString>;
75
+ }, z.core.$strip>;
76
+ export type RedisPingResult = z.infer<typeof RedisPingResultSchema>;
77
+ /** A single Redis info section. */
78
+ export declare const RedisInfoSectionSchema: z.ZodObject<{
79
+ name: z.ZodString;
80
+ entries: z.ZodRecord<z.ZodString, z.ZodString>;
81
+ }, z.core.$strip>;
82
+ /** Zod schema for redis info output. */
83
+ export declare const RedisInfoResultSchema: z.ZodObject<{
84
+ success: z.ZodBoolean;
85
+ sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
86
+ name: z.ZodString;
87
+ entries: z.ZodRecord<z.ZodString, z.ZodString>;
88
+ }, z.core.$strip>>>;
89
+ exitCode: z.ZodNumber;
90
+ duration: z.ZodNumber;
91
+ error: z.ZodOptional<z.ZodString>;
92
+ }, z.core.$strip>;
93
+ export type RedisInfoResult = z.infer<typeof RedisInfoResultSchema>;
94
+ /** Zod schema for redis command output. */
95
+ export declare const RedisCommandResultSchema: z.ZodObject<{
96
+ success: z.ZodBoolean;
97
+ response: z.ZodOptional<z.ZodString>;
98
+ exitCode: z.ZodNumber;
99
+ duration: z.ZodNumber;
100
+ error: z.ZodOptional<z.ZodString>;
101
+ }, z.core.$strip>;
102
+ export type RedisCommandResult = z.infer<typeof RedisCommandResultSchema>;
103
+ /** Zod schema for mongosh eval output. */
104
+ export declare const MongoshEvalResultSchema: z.ZodObject<{
105
+ success: z.ZodBoolean;
106
+ output: z.ZodOptional<z.ZodString>;
107
+ exitCode: z.ZodNumber;
108
+ duration: z.ZodNumber;
109
+ error: z.ZodOptional<z.ZodString>;
110
+ }, z.core.$strip>;
111
+ export type MongoshEvalResult = z.infer<typeof MongoshEvalResultSchema>;
112
+ /** Zod schema for mongosh stats output. */
113
+ export declare const MongoshStatsResultSchema: z.ZodObject<{
114
+ success: z.ZodBoolean;
115
+ db: z.ZodOptional<z.ZodString>;
116
+ collections: z.ZodOptional<z.ZodNumber>;
117
+ objects: z.ZodOptional<z.ZodNumber>;
118
+ dataSize: z.ZodOptional<z.ZodNumber>;
119
+ storageSize: z.ZodOptional<z.ZodNumber>;
120
+ indexes: z.ZodOptional<z.ZodNumber>;
121
+ indexSize: z.ZodOptional<z.ZodNumber>;
122
+ raw: z.ZodOptional<z.ZodString>;
123
+ exitCode: z.ZodNumber;
124
+ duration: z.ZodNumber;
125
+ error: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>;
127
+ export type MongoshStatsResult = z.infer<typeof MongoshStatsResultSchema>;
128
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,6CAA6C;AAC7C,eAAO,MAAM,aAAa,gEAAgD,CAAC;AAE3E,wCAAwC;AACxC,eAAO,MAAM,qBAAqB;;;;;;;;iBAQhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB;;;;;;;iBAO7B,CAAC;AAEH,iDAAiD;AACjD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;iBAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAIpF,yCAAyC;AACzC,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,qCAAqC;AACrC,eAAO,MAAM,mBAAmB;;iBAE9B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,8BAA8B;;;;;;;;;iBAOzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAItF,wCAAwC;AACxC,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,mCAAmC;AACnC,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,qBAAqB;;;;;;;;;iBAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAI1E,0CAA0C;AAC1C,eAAO,MAAM,uBAAuB;;;;;;iBAMlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;iBAanC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { z } from "zod";
2
+ // ── PostgreSQL schemas ──────────────────────────────────────────────
3
+ /** A single row from a psql query result. */
4
+ export const PsqlRowSchema = z.record(z.string(), z.string().or(z.null()));
5
+ /** Zod schema for psql query output. */
6
+ export const PsqlQueryResultSchema = z.object({
7
+ success: z.boolean(),
8
+ columns: z.array(z.string()).optional(),
9
+ rows: z.array(PsqlRowSchema).optional(),
10
+ rowCount: z.number(),
11
+ exitCode: z.number(),
12
+ duration: z.number(),
13
+ error: z.string().optional(),
14
+ });
15
+ /** A single PostgreSQL database entry. */
16
+ export const PsqlDatabaseSchema = z.object({
17
+ name: z.string(),
18
+ owner: z.string().optional(),
19
+ encoding: z.string().optional(),
20
+ collation: z.string().optional(),
21
+ ctype: z.string().optional(),
22
+ size: z.string().optional(),
23
+ });
24
+ /** Zod schema for psql list databases output. */
25
+ export const PsqlListDatabasesResultSchema = z.object({
26
+ success: z.boolean(),
27
+ databases: z.array(PsqlDatabaseSchema).optional(),
28
+ total: z.number(),
29
+ exitCode: z.number(),
30
+ duration: z.number(),
31
+ error: z.string().optional(),
32
+ });
33
+ // ── MySQL schemas ───────────────────────────────────────────────────
34
+ /** Zod schema for mysql query output. */
35
+ export const MysqlQueryResultSchema = z.object({
36
+ success: z.boolean(),
37
+ columns: z.array(z.string()).optional(),
38
+ rows: z.array(z.record(z.string(), z.string().or(z.null()))).optional(),
39
+ rowCount: z.number(),
40
+ exitCode: z.number(),
41
+ duration: z.number(),
42
+ error: z.string().optional(),
43
+ });
44
+ /** A single MySQL database entry. */
45
+ export const MysqlDatabaseSchema = z.object({
46
+ name: z.string(),
47
+ });
48
+ /** Zod schema for mysql list databases output. */
49
+ export const MysqlListDatabasesResultSchema = z.object({
50
+ success: z.boolean(),
51
+ databases: z.array(MysqlDatabaseSchema).optional(),
52
+ total: z.number(),
53
+ exitCode: z.number(),
54
+ duration: z.number(),
55
+ error: z.string().optional(),
56
+ });
57
+ // ── Redis schemas ───────────────────────────────────────────────────
58
+ /** Zod schema for redis ping output. */
59
+ export const RedisPingResultSchema = z.object({
60
+ success: z.boolean(),
61
+ response: z.string().optional(),
62
+ exitCode: z.number(),
63
+ duration: z.number(),
64
+ error: z.string().optional(),
65
+ });
66
+ /** A single Redis info section. */
67
+ export const RedisInfoSectionSchema = z.object({
68
+ name: z.string(),
69
+ entries: z.record(z.string(), z.string()),
70
+ });
71
+ /** Zod schema for redis info output. */
72
+ export const RedisInfoResultSchema = z.object({
73
+ success: z.boolean(),
74
+ sections: z.array(RedisInfoSectionSchema).optional(),
75
+ exitCode: z.number(),
76
+ duration: z.number(),
77
+ error: z.string().optional(),
78
+ });
79
+ /** Zod schema for redis command output. */
80
+ export const RedisCommandResultSchema = z.object({
81
+ success: z.boolean(),
82
+ response: z.string().optional(),
83
+ exitCode: z.number(),
84
+ duration: z.number(),
85
+ error: z.string().optional(),
86
+ });
87
+ // ── MongoDB schemas ─────────────────────────────────────────────────
88
+ /** Zod schema for mongosh eval output. */
89
+ export const MongoshEvalResultSchema = z.object({
90
+ success: z.boolean(),
91
+ output: z.string().optional(),
92
+ exitCode: z.number(),
93
+ duration: z.number(),
94
+ error: z.string().optional(),
95
+ });
96
+ /** Zod schema for mongosh stats output. */
97
+ export const MongoshStatsResultSchema = z.object({
98
+ success: z.boolean(),
99
+ db: z.string().optional(),
100
+ collections: z.number().optional(),
101
+ objects: z.number().optional(),
102
+ dataSize: z.number().optional(),
103
+ storageSize: z.number().optional(),
104
+ indexes: z.number().optional(),
105
+ indexSize: z.number().optional(),
106
+ raw: z.string().optional(),
107
+ exitCode: z.number(),
108
+ duration: z.number(),
109
+ error: z.string().optional(),
110
+ });
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /** Registers all DB tools on the given MCP server, filtered by policy. */
3
+ export declare function registerAllTools(server: McpServer): void;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QAWjD"}
@@ -0,0 +1,33 @@
1
+ import { shouldRegisterTool } from "@paretools/shared";
2
+ import { registerPsqlQueryTool } from "./psql-query.js";
3
+ import { registerPsqlListDatabasesTool } from "./psql-list-databases.js";
4
+ import { registerMysqlQueryTool } from "./mysql-query.js";
5
+ import { registerMysqlListDatabasesTool } from "./mysql-list-databases.js";
6
+ import { registerRedisPingTool } from "./redis-ping.js";
7
+ import { registerRedisInfoTool } from "./redis-info.js";
8
+ import { registerRedisCommandTool } from "./redis-command.js";
9
+ import { registerMongoshEvalTool } from "./mongosh-eval.js";
10
+ import { registerMongoshStatsTool } from "./mongosh-stats.js";
11
+ /** Registers all DB tools on the given MCP server, filtered by policy. */
12
+ export function registerAllTools(server) {
13
+ const s = (name) => shouldRegisterTool("db", name);
14
+ if (s("psql-query"))
15
+ registerPsqlQueryTool(server);
16
+ if (s("psql-list-databases"))
17
+ registerPsqlListDatabasesTool(server);
18
+ if (s("mysql-query"))
19
+ registerMysqlQueryTool(server);
20
+ if (s("mysql-list-databases"))
21
+ registerMysqlListDatabasesTool(server);
22
+ if (s("redis-ping"))
23
+ registerRedisPingTool(server);
24
+ if (s("redis-info"))
25
+ registerRedisInfoTool(server);
26
+ if (s("redis-command"))
27
+ registerRedisCommandTool(server);
28
+ if (s("mongosh-eval"))
29
+ registerMongoshEvalTool(server);
30
+ if (s("mongosh-stats"))
31
+ registerMongoshStatsTool(server);
32
+ }
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,qBAAqB,CAAC;QAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,aAAa,CAAC;QAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,sBAAsB,CAAC;QAAE,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,YAAY,CAAC;QAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,eAAe,CAAC;QAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,cAAc,CAAC;QAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC,eAAe,CAAC;QAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /** Registers the `mongosh-eval` tool on the given MCP server. */
3
+ export declare function registerMongoshEvalTool(server: McpServer): void;
4
+ //# sourceMappingURL=mongosh-eval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongosh-eval.d.ts","sourceRoot":"","sources":["../../src/tools/mongosh-eval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA4CxD"}