@tejasanik/postgres-mcp-server 2.2.0 → 2.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.
Files changed (63) hide show
  1. package/README.md +72 -13
  2. package/dist/db-manager.js +157 -16
  3. package/package.json +3 -4
  4. package/dist/db-manager/index.d.ts +0 -7
  5. package/dist/db-manager/index.d.ts.map +0 -1
  6. package/dist/db-manager/index.js.map +0 -1
  7. package/dist/db-manager/validation.d.ts +0 -35
  8. package/dist/db-manager/validation.d.ts.map +0 -1
  9. package/dist/db-manager/validation.js.map +0 -1
  10. package/dist/db-manager.d.ts +0 -253
  11. package/dist/db-manager.d.ts.map +0 -1
  12. package/dist/db-manager.js.map +0 -1
  13. package/dist/index.d.ts +0 -3
  14. package/dist/index.d.ts.map +0 -1
  15. package/dist/index.js.map +0 -1
  16. package/dist/tools/analysis-tools.d.ts +0 -25
  17. package/dist/tools/analysis-tools.d.ts.map +0 -1
  18. package/dist/tools/analysis-tools.js.map +0 -1
  19. package/dist/tools/index.d.ts +0 -5
  20. package/dist/tools/index.d.ts.map +0 -1
  21. package/dist/tools/index.js.map +0 -1
  22. package/dist/tools/schema-tools.d.ts +0 -61
  23. package/dist/tools/schema-tools.d.ts.map +0 -1
  24. package/dist/tools/schema-tools.js.map +0 -1
  25. package/dist/tools/server-tools.d.ts +0 -61
  26. package/dist/tools/server-tools.d.ts.map +0 -1
  27. package/dist/tools/server-tools.js.map +0 -1
  28. package/dist/tools/sql/utils/connection-utils.d.ts +0 -79
  29. package/dist/tools/sql/utils/connection-utils.d.ts.map +0 -1
  30. package/dist/tools/sql/utils/connection-utils.js.map +0 -1
  31. package/dist/tools/sql/utils/constants.d.ts +0 -55
  32. package/dist/tools/sql/utils/constants.d.ts.map +0 -1
  33. package/dist/tools/sql/utils/constants.js.map +0 -1
  34. package/dist/tools/sql/utils/dry-run-utils.d.ts +0 -31
  35. package/dist/tools/sql/utils/dry-run-utils.d.ts.map +0 -1
  36. package/dist/tools/sql/utils/dry-run-utils.js.map +0 -1
  37. package/dist/tools/sql/utils/file-handler.d.ts +0 -57
  38. package/dist/tools/sql/utils/file-handler.d.ts.map +0 -1
  39. package/dist/tools/sql/utils/file-handler.js.map +0 -1
  40. package/dist/tools/sql/utils/index.d.ts +0 -12
  41. package/dist/tools/sql/utils/index.d.ts.map +0 -1
  42. package/dist/tools/sql/utils/index.js.map +0 -1
  43. package/dist/tools/sql/utils/result-formatter.d.ts +0 -94
  44. package/dist/tools/sql/utils/result-formatter.d.ts.map +0 -1
  45. package/dist/tools/sql/utils/result-formatter.js.map +0 -1
  46. package/dist/tools/sql/utils/sql-parser.d.ts +0 -125
  47. package/dist/tools/sql/utils/sql-parser.d.ts.map +0 -1
  48. package/dist/tools/sql/utils/sql-parser.js.map +0 -1
  49. package/dist/tools/sql-tools.d.ts +0 -215
  50. package/dist/tools/sql-tools.d.ts.map +0 -1
  51. package/dist/tools/sql-tools.js.map +0 -1
  52. package/dist/types.d.ts +0 -432
  53. package/dist/types.d.ts.map +0 -1
  54. package/dist/types.js.map +0 -1
  55. package/dist/utils/index.d.ts +0 -3
  56. package/dist/utils/index.d.ts.map +0 -1
  57. package/dist/utils/index.js.map +0 -1
  58. package/dist/utils/retry.d.ts +0 -21
  59. package/dist/utils/retry.d.ts.map +0 -1
  60. package/dist/utils/retry.js.map +0 -1
  61. package/dist/utils/validation.d.ts +0 -63
  62. package/dist/utils/validation.d.ts.map +0 -1
  63. package/dist/utils/validation.js.map +0 -1
package/dist/types.d.ts DELETED
@@ -1,432 +0,0 @@
1
- export interface ServerConfig {
2
- host: string;
3
- port: string;
4
- username: string;
5
- password: string;
6
- defaultDatabase?: string;
7
- defaultSchema?: string;
8
- isDefault?: boolean;
9
- ssl?: boolean | 'require' | 'prefer' | 'allow' | 'disable' | {
10
- rejectUnauthorized?: boolean;
11
- ca?: string;
12
- cert?: string;
13
- key?: string;
14
- };
15
- /**
16
- * AI context/guidance for this server. Can include:
17
- * - Server purpose (production, staging, development)
18
- * - Dos and don'ts (e.g., "Read-only queries preferred", "Avoid large table scans")
19
- * - Database-specific hints (e.g., "Main user data in 'users' schema")
20
- * - Any instructions to help AI agents use this server effectively
21
- */
22
- context?: string;
23
- }
24
- export interface ServersConfig {
25
- [serverName: string]: ServerConfig;
26
- }
27
- export interface ConnectionState {
28
- currentServer: string | null;
29
- currentDatabase: string | null;
30
- currentSchema: string | null;
31
- }
32
- export interface ConnectionInfo {
33
- isConnected: boolean;
34
- server: string | null;
35
- database: string | null;
36
- schema: string | null;
37
- accessMode: 'full' | 'readonly';
38
- /** AI context/guidance for the current server */
39
- context?: string;
40
- /** Current database user name */
41
- user?: string;
42
- }
43
- /**
44
- * Connection override parameters for one-time execution on a different server/database/schema.
45
- * When specified, the tool will temporarily connect to the specified target without
46
- * changing the main connection. If not specified, uses the current connection.
47
- */
48
- export interface ConnectionOverride {
49
- /**
50
- * Target server name. Must match a configured server.
51
- * If not specified, uses the currently connected server.
52
- */
53
- server?: string;
54
- /**
55
- * Target database name.
56
- * If not specified, uses the server's default database or current database.
57
- */
58
- database?: string;
59
- /**
60
- * Target schema name.
61
- * If not specified, uses the server's default schema or 'public'.
62
- */
63
- schema?: string;
64
- }
65
- export interface DatabaseInfo {
66
- name: string;
67
- owner: string;
68
- encoding: string;
69
- size: string;
70
- }
71
- export interface SchemaInfo {
72
- schema_name: string;
73
- owner: string;
74
- }
75
- export interface TableInfo {
76
- name: string;
77
- type: 'table' | 'view' | 'sequence' | 'extension';
78
- owner: string;
79
- schema: string;
80
- }
81
- /**
82
- * Paginated result wrapper for list operations.
83
- * Provides total count, pagination metadata, and the actual items.
84
- */
85
- export interface PaginatedResult<T> {
86
- /** The items in the current page */
87
- items: T[];
88
- /** Total number of items across all pages */
89
- totalCount: number;
90
- /** Current page offset (0-based) */
91
- offset: number;
92
- /** Maximum items per page */
93
- limit: number;
94
- /** Whether there are more items after this page */
95
- hasMore: boolean;
96
- }
97
- export interface ColumnInfo {
98
- column_name: string;
99
- data_type: string;
100
- is_nullable: string;
101
- column_default: string | null;
102
- character_maximum_length: number | null;
103
- }
104
- export interface ConstraintInfo {
105
- constraint_name: string;
106
- constraint_type: string;
107
- table_name: string;
108
- column_name: string;
109
- foreign_table_name: string | null;
110
- foreign_column_name: string | null;
111
- }
112
- export interface IndexInfo {
113
- index_name: string;
114
- index_definition: string;
115
- is_unique: boolean;
116
- is_primary: boolean;
117
- }
118
- export interface QueryPlan {
119
- plan: object | string;
120
- planning_time?: number;
121
- execution_time?: number;
122
- }
123
- export interface SlowQuery {
124
- query: string;
125
- calls: number;
126
- total_time: number;
127
- mean_time: number;
128
- rows: number;
129
- }
130
- export interface IndexRecommendation {
131
- table: string;
132
- columns: string[];
133
- index_type: string;
134
- reason: string;
135
- estimated_improvement: string;
136
- }
137
- export interface HealthCheckResult {
138
- category: string;
139
- status: 'healthy' | 'warning' | 'critical';
140
- message: string;
141
- details?: object;
142
- }
143
- export interface ExecuteSqlResult {
144
- rows: any[];
145
- rowCount: number;
146
- fields: string[];
147
- outputFile?: string;
148
- truncated?: boolean;
149
- executionTimeMs?: number;
150
- offset?: number;
151
- hasMore?: boolean;
152
- schemaHint?: SchemaHint;
153
- }
154
- /**
155
- * Schema hint for tables involved in a query
156
- */
157
- export interface SchemaHint {
158
- tables: TableSchemaHint[];
159
- }
160
- export interface TableSchemaHint {
161
- schema: string;
162
- table: string;
163
- columns: ColumnHint[];
164
- primaryKey?: string[];
165
- foreignKeys?: ForeignKeyHint[];
166
- rowCountEstimate?: number;
167
- }
168
- export interface ColumnHint {
169
- name: string;
170
- type: string;
171
- nullable: boolean;
172
- }
173
- export interface ForeignKeyHint {
174
- columns: string[];
175
- referencedTable: string;
176
- referencedColumns: string[];
177
- }
178
- /**
179
- * Result of mutation preview (dry-run for INSERT/UPDATE/DELETE)
180
- */
181
- export interface MutationPreviewResult {
182
- mutationType: 'INSERT' | 'UPDATE' | 'DELETE' | 'UNKNOWN';
183
- estimatedRowsAffected: number;
184
- sampleAffectedRows: any[];
185
- warning?: string;
186
- targetTable?: string;
187
- whereClause?: string;
188
- }
189
- /**
190
- * Single query in a batch
191
- */
192
- export interface BatchQuery {
193
- name: string;
194
- sql: string;
195
- params?: any[];
196
- }
197
- /**
198
- * Result of a single query in a batch
199
- */
200
- export interface BatchQueryResult {
201
- success: boolean;
202
- rows?: any[];
203
- rowCount?: number;
204
- error?: string;
205
- executionTimeMs: number;
206
- }
207
- /**
208
- * Result of batch execution
209
- */
210
- export interface BatchExecuteResult {
211
- totalQueries: number;
212
- successCount: number;
213
- failureCount: number;
214
- totalExecutionTimeMs: number;
215
- results: {
216
- [name: string]: BatchQueryResult;
217
- };
218
- }
219
- /**
220
- * Connection context included in tool responses
221
- */
222
- export interface ConnectionContext {
223
- server: string | null;
224
- database: string | null;
225
- schema: string | null;
226
- }
227
- /**
228
- * Result of multi-statement execution
229
- */
230
- export interface MultiStatementResult {
231
- statementIndex: number;
232
- sql: string;
233
- lineNumber: number;
234
- success: boolean;
235
- rows?: any[];
236
- rowCount?: number;
237
- error?: string;
238
- }
239
- /**
240
- * Extended execute_sql result with multi-statement support
241
- */
242
- export interface ExecuteSqlMultiResult {
243
- results: MultiStatementResult[];
244
- totalStatements: number;
245
- successCount: number;
246
- failureCount: number;
247
- executionTimeMs: number;
248
- schemaHint?: SchemaHint;
249
- }
250
- /**
251
- * Statement with line number tracking
252
- */
253
- export interface ParsedStatement {
254
- sql: string;
255
- lineNumber: number;
256
- }
257
- /**
258
- * Transaction info
259
- */
260
- export interface TransactionInfo {
261
- transactionId: string;
262
- name?: string;
263
- server: string;
264
- database: string;
265
- schema: string;
266
- startedAt: Date;
267
- }
268
- /**
269
- * Transaction result
270
- */
271
- export interface TransactionResult {
272
- transactionId: string;
273
- status: 'started' | 'committed' | 'rolled_back';
274
- message: string;
275
- }
276
- /**
277
- * Detailed error information for dry-run operations
278
- * Contains all PostgreSQL error details to help AI quickly identify and fix issues
279
- */
280
- export interface DryRunError {
281
- /** Error message from PostgreSQL */
282
- message: string;
283
- /** PostgreSQL error code (e.g., '23505' for unique violation) */
284
- code?: string;
285
- /** Error severity (ERROR, FATAL, PANIC, WARNING, NOTICE) */
286
- severity?: string;
287
- /** Detailed error description */
288
- detail?: string;
289
- /** Hint for fixing the error */
290
- hint?: string;
291
- /** Character position in SQL where error occurred */
292
- position?: number;
293
- /** Internal query position if error in PL/pgSQL */
294
- internalPosition?: number;
295
- /** Internal query text */
296
- internalQuery?: string;
297
- /** Error context/stack trace from PL/pgSQL */
298
- where?: string;
299
- /** Schema name related to error */
300
- schema?: string;
301
- /** Table name related to error */
302
- table?: string;
303
- /** Column name related to error */
304
- column?: string;
305
- /** Data type related to error */
306
- dataType?: string;
307
- /** Constraint name that caused error */
308
- constraint?: string;
309
- /** File in PostgreSQL source where error originated */
310
- file?: string;
311
- /** Line in PostgreSQL source */
312
- line?: string;
313
- /** Routine that generated error */
314
- routine?: string;
315
- }
316
- /**
317
- * Result of executing a single statement in dry-run mode
318
- */
319
- export interface DryRunStatementResult {
320
- /** Statement index (1-based) */
321
- index: number;
322
- /** Line number in source file/input */
323
- lineNumber: number;
324
- /** The SQL statement (may be truncated) */
325
- sql: string;
326
- /** Detected statement type (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.) */
327
- type: string;
328
- /** Whether the statement executed successfully */
329
- success: boolean;
330
- /** Whether the statement was skipped (non-rollbackable operation) */
331
- skipped?: boolean;
332
- /** Reason for skipping the statement */
333
- skipReason?: string;
334
- /** Number of rows affected (for DML) or returned (for SELECT) */
335
- rowCount?: number;
336
- /** Sample of affected/returned rows */
337
- rows?: any[];
338
- /** Execution time in milliseconds */
339
- executionTimeMs?: number;
340
- /** Error details if statement failed */
341
- error?: DryRunError;
342
- /** Warnings generated during execution */
343
- warnings?: string[];
344
- /** Query plan from EXPLAIN (for skipped DML statements) */
345
- explainPlan?: object[];
346
- }
347
- /**
348
- * Operations that cannot be fully rolled back or have side effects
349
- */
350
- export interface NonRollbackableWarning {
351
- /** Type of operation */
352
- operation: 'SEQUENCE' | 'VACUUM' | 'CLUSTER' | 'REINDEX_CONCURRENTLY' | 'CREATE_INDEX_CONCURRENTLY' | 'CREATE_DATABASE' | 'DROP_DATABASE' | 'NOTIFY' | 'LISTEN' | 'UNLISTEN' | 'DISCARD' | 'LOAD';
353
- /** Warning message explaining the limitation */
354
- message: string;
355
- /** Statement index (1-based) if applicable */
356
- statementIndex?: number;
357
- /** Line number if applicable */
358
- lineNumber?: number;
359
- /** Whether the operation must be skipped (true) or is just a warning (false) */
360
- mustSkip?: boolean;
361
- }
362
- /**
363
- * Enhanced mutation preview result with actual dry-run execution
364
- */
365
- export interface MutationDryRunResult {
366
- /** Type of mutation */
367
- mutationType: 'INSERT' | 'UPDATE' | 'DELETE' | 'UNKNOWN';
368
- /** Whether the dry-run executed successfully */
369
- success: boolean;
370
- /** Whether the statement was skipped (contains non-rollbackable operation) */
371
- skipped?: boolean;
372
- /** Reason for skipping the statement */
373
- skipReason?: string;
374
- /** Actual number of rows that would be affected */
375
- rowsAffected: number;
376
- /** Sample of rows before the change (for UPDATE/DELETE) */
377
- beforeRows?: any[];
378
- /** Sample of rows after the change (for INSERT/UPDATE) or deleted rows (for DELETE) */
379
- affectedRows?: any[];
380
- /** Target table name */
381
- targetTable?: string;
382
- /** WHERE clause if present */
383
- whereClause?: string;
384
- /** Execution time in milliseconds */
385
- executionTimeMs?: number;
386
- /** Error details if execution failed */
387
- error?: DryRunError;
388
- /** Warnings about non-rollbackable side effects */
389
- nonRollbackableWarnings?: NonRollbackableWarning[];
390
- /** General warnings */
391
- warnings?: string[];
392
- /** Query plan from EXPLAIN (for skipped statements with NEXTVAL/SETVAL) */
393
- explainPlan?: object[];
394
- }
395
- /**
396
- * Result of dry-run execution of a SQL file
397
- */
398
- export interface SqlFileDryRunResult {
399
- /** Whether all statements executed successfully */
400
- success: boolean;
401
- /** Resolved file path */
402
- filePath: string;
403
- /** File size in bytes */
404
- fileSize: number;
405
- /** Human-readable file size */
406
- fileSizeFormatted: string;
407
- /** Total number of statements in file */
408
- totalStatements: number;
409
- /** Number of successfully executed statements */
410
- successCount: number;
411
- /** Number of failed statements */
412
- failureCount: number;
413
- /** Number of skipped statements (non-rollbackable operations) */
414
- skippedCount: number;
415
- /** Total rows affected across all statements */
416
- totalRowsAffected: number;
417
- /** Breakdown of statements by type */
418
- statementsByType: {
419
- [type: string]: number;
420
- };
421
- /** Total execution time in milliseconds */
422
- executionTimeMs: number;
423
- /** Results for each statement */
424
- statementResults: DryRunStatementResult[];
425
- /** Warnings about non-rollbackable operations */
426
- nonRollbackableWarnings: NonRollbackableWarning[];
427
- /** Summary message */
428
- summary: string;
429
- /** Note that changes were rolled back */
430
- rolledBack: boolean;
431
- }
432
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export * from './validation.js';
2
- export * from './retry.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Wraps a tool handler function with automatic retry logic for connection errors.
3
- * If a connection error is detected (e.g., server went inactive), it will:
4
- * 1. Invalidate the current connection
5
- * 2. Attempt to reconnect
6
- * 3. Retry the operation once
7
- *
8
- * @param handler - The async function to wrap
9
- * @param maxRetries - Maximum number of retries (default: 1)
10
- * @returns Wrapped function with retry logic
11
- */
12
- export declare function withConnectionRetry<T extends unknown[], R>(handler: (...args: T) => Promise<R>, maxRetries?: number): (...args: T) => Promise<R>;
13
- /**
14
- * Creates a tool handler wrapper that includes connection retry logic.
15
- * Use this for tools that require an active database connection.
16
- *
17
- * @param handler - The tool handler function
18
- * @returns Wrapped handler with retry logic
19
- */
20
- export declare function createRetryableToolHandler<TArgs, TResult>(handler: (args: TArgs) => Promise<TResult>): (args: TArgs) => Promise<TResult>;
21
- //# sourceMappingURL=retry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACxD,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EACnC,UAAU,GAAE,MAAU,GACrB,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAkC5B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EACvD,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GACzC,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAEnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/utils/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAmC,EACnC,aAAqB,CAAC;IAEtB,OAAO,KAAK,EAAE,GAAG,IAAO,EAAc,EAAE;QACtC,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAC;gBAElB,0DAA0D;gBAC1D,IAAI,OAAO,GAAG,UAAU,IAAI,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrE,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBAE/G,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;oBAEhD,IAAI,WAAW,EAAE,CAAC;wBAChB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;wBAChE,SAAS,CAAC,sBAAsB;oBAClC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;wBACrD,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,MAAM;YACR,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA0C;IAE1C,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
@@ -1,63 +0,0 @@
1
- /**
2
- * Validates and sanitizes PostgreSQL identifiers (table names, column names, etc.)
3
- * Supports schema-qualified names (schema.table) and quoted identifiers.
4
- * Prevents SQL injection by validating identifier characters.
5
- *
6
- * @param identifier - The identifier to validate (e.g., "users", "public.users", '"My Table"')
7
- * @param fieldName - Field name for error messages
8
- * @param allowQualified - Whether to allow schema-qualified names (default: true)
9
- * @returns The validated identifier
10
- * @throws Error if the identifier is invalid
11
- *
12
- * @example
13
- * validateIdentifier('users', 'table') // 'users'
14
- * validateIdentifier('public.users', 'table') // 'public.users'
15
- * validateIdentifier('"My Table"', 'table') // '"My Table"'
16
- * validateIdentifier('my_schema."Table"', 'table') // 'my_schema."Table"'
17
- */
18
- export declare function validateIdentifier(identifier: string, fieldName: string, allowQualified?: boolean): string;
19
- /**
20
- * Parses a qualified identifier into schema and object name.
21
- *
22
- * @param identifier - The identifier to parse (must be pre-validated)
23
- * @returns Object with schema (optional) and name
24
- */
25
- export declare function parseQualifiedIdentifier(identifier: string): {
26
- schema?: string;
27
- name: string;
28
- };
29
- /**
30
- * Escapes a PostgreSQL identifier by doubling any internal double quotes
31
- * and wrapping in double quotes.
32
- */
33
- export declare function escapeIdentifier(identifier: string): string;
34
- /** Result type for read-only SQL validation */
35
- type ReadOnlyResult = {
36
- isReadOnly: boolean;
37
- reason?: string;
38
- };
39
- /**
40
- * Validates SQL for read-only operations more thoroughly.
41
- * Uses ReDoS-safe patterns and comprehensive operation detection.
42
- *
43
- * @param sql - The SQL string to validate
44
- * @returns Object with isReadOnly flag and optional reason
45
- */
46
- export declare function isReadOnlySql(sql: string): ReadOnlyResult;
47
- /**
48
- * Validates that a value is a positive integer within acceptable bounds.
49
- *
50
- * @param value - The value to validate (can be number, string, or undefined/null)
51
- * @param fieldName - Name of the field for error messages
52
- * @param min - Minimum allowed value (default: 1)
53
- * @param max - Maximum allowed value (default: 10000)
54
- * @returns The validated integer value
55
- * @throws Error if value is not a valid integer within bounds
56
- */
57
- export declare function validatePositiveInteger(value: unknown, fieldName: string, min?: number, max?: number): number;
58
- /**
59
- * Validates index type is one of the allowed PostgreSQL index types.
60
- */
61
- export declare function validateIndexType(indexType: string): string;
62
- export {};
63
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAqFA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAc,GAC7B,MAAM,CA6BR;AA+CD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAuGD,+CAA+C;AAC/C,KAAK,cAAc,GAAG;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA+D/D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAyBzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,GAAE,MAAU,EACf,GAAG,GAAE,MAAc,GAClB,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}