@pilat/mcp-datalink 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +19 -97
  2. package/dist/adapters/factory.d.ts +0 -4
  3. package/dist/adapters/factory.d.ts.map +1 -1
  4. package/dist/adapters/factory.js +3 -8
  5. package/dist/adapters/factory.js.map +1 -1
  6. package/dist/adapters/mysql/adapter.d.ts +2 -31
  7. package/dist/adapters/mysql/adapter.d.ts.map +1 -1
  8. package/dist/adapters/mysql/adapter.js +27 -283
  9. package/dist/adapters/mysql/adapter.js.map +1 -1
  10. package/dist/adapters/postgresql/adapter.d.ts +2 -22
  11. package/dist/adapters/postgresql/adapter.d.ts.map +1 -1
  12. package/dist/adapters/postgresql/adapter.js +18 -175
  13. package/dist/adapters/postgresql/adapter.js.map +1 -1
  14. package/dist/adapters/sqlite/adapter.d.ts +3 -25
  15. package/dist/adapters/sqlite/adapter.d.ts.map +1 -1
  16. package/dist/adapters/sqlite/adapter.js +65 -364
  17. package/dist/adapters/sqlite/adapter.js.map +1 -1
  18. package/dist/adapters/sqlite/pragma-check.d.ts +19 -0
  19. package/dist/adapters/sqlite/pragma-check.d.ts.map +1 -0
  20. package/dist/adapters/sqlite/pragma-check.js +25 -0
  21. package/dist/adapters/sqlite/pragma-check.js.map +1 -0
  22. package/dist/adapters/sqlite/url-parser.d.ts +34 -0
  23. package/dist/adapters/sqlite/url-parser.d.ts.map +1 -0
  24. package/dist/adapters/sqlite/url-parser.js +73 -0
  25. package/dist/adapters/sqlite/url-parser.js.map +1 -0
  26. package/dist/adapters/types.d.ts +10 -113
  27. package/dist/adapters/types.d.ts.map +1 -1
  28. package/dist/config/loader.d.ts.map +1 -1
  29. package/dist/config/loader.js.map +1 -1
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +31 -20
  32. package/dist/server.js.map +1 -1
  33. package/dist/tools/describe-table.d.ts +5 -6
  34. package/dist/tools/describe-table.d.ts.map +1 -1
  35. package/dist/tools/describe-table.js +65 -9
  36. package/dist/tools/describe-table.js.map +1 -1
  37. package/dist/tools/execute.d.ts +5 -6
  38. package/dist/tools/execute.d.ts.map +1 -1
  39. package/dist/tools/execute.js +13 -11
  40. package/dist/tools/execute.js.map +1 -1
  41. package/dist/tools/explain.d.ts +5 -10
  42. package/dist/tools/explain.d.ts.map +1 -1
  43. package/dist/tools/explain.js +25 -26
  44. package/dist/tools/explain.js.map +1 -1
  45. package/dist/tools/list-databases.d.ts +5 -7
  46. package/dist/tools/list-databases.d.ts.map +1 -1
  47. package/dist/tools/list-databases.js +31 -0
  48. package/dist/tools/list-databases.js.map +1 -1
  49. package/dist/tools/list-tables.d.ts +5 -10
  50. package/dist/tools/list-tables.d.ts.map +1 -1
  51. package/dist/tools/list-tables.js +27 -9
  52. package/dist/tools/list-tables.js.map +1 -1
  53. package/dist/tools/query.d.ts +1 -6
  54. package/dist/tools/query.d.ts.map +1 -1
  55. package/dist/tools/query.js +7 -27
  56. package/dist/tools/query.js.map +1 -1
  57. package/dist/types.d.ts +39 -5
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/utils/formatter.d.ts +7 -4
  60. package/dist/utils/formatter.d.ts.map +1 -1
  61. package/dist/utils/formatter.js +20 -10
  62. package/dist/utils/formatter.js.map +1 -1
  63. package/dist/utils/sql-parser.d.ts +51 -0
  64. package/dist/utils/sql-parser.d.ts.map +1 -0
  65. package/dist/utils/sql-parser.js +310 -0
  66. package/dist/utils/sql-parser.js.map +1 -0
  67. package/dist/utils/truncate.d.ts +4 -13
  68. package/dist/utils/truncate.d.ts.map +1 -1
  69. package/dist/utils/truncate.js +38 -18
  70. package/dist/utils/truncate.js.map +1 -1
  71. package/dist/utils/validation.d.ts +35 -0
  72. package/dist/utils/validation.d.ts.map +1 -0
  73. package/dist/utils/validation.js +89 -0
  74. package/dist/utils/validation.js.map +1 -0
  75. package/package.json +10 -11
@@ -5,72 +5,8 @@
5
5
  * Uses node-postgres (pg) driver with per-request connection recycling.
6
6
  */
7
7
  import pg from 'pg';
8
- import { parse, toSql } from 'pgsql-ast-parser';
9
8
  import { DbMcpError, ErrorCode } from '../../utils/errors.js';
10
- // ─────────────────────────────────────────────────────────────────────────────
11
- // SQL Dialect helpers (formerly in dialect.ts)
12
- // ─────────────────────────────────────────────────────────────────────────────
13
- /**
14
- * Prefixes that indicate dangerous SQL operations
15
- * pgsql-ast-parser returns types like "drop table", "alter table", etc.
16
- */
17
- const DANGEROUS_PREFIXES = [
18
- 'drop',
19
- 'truncate',
20
- 'alter',
21
- 'create',
22
- 'grant',
23
- 'revoke',
24
- ];
25
- /**
26
- * Maps pgsql-ast-parser statement types to our QueryType
27
- */
28
- function getQueryType(statement) {
29
- switch (statement.type) {
30
- case 'select':
31
- return 'select';
32
- case 'insert':
33
- return 'insert';
34
- case 'update':
35
- return 'update';
36
- case 'delete':
37
- return 'delete';
38
- default:
39
- return 'other';
40
- }
41
- }
42
- /**
43
- * Check if a statement type is dangerous
44
- * Handles compound types from pgsql-ast-parser like "drop table", "alter table"
45
- */
46
- function checkDangerous(statement) {
47
- const stmtType = statement.type.toLowerCase();
48
- for (const prefix of DANGEROUS_PREFIXES) {
49
- if (stmtType === prefix || stmtType.startsWith(prefix + ' ')) {
50
- const operation = prefix.toUpperCase();
51
- return {
52
- isDangerous: true,
53
- reason: operation + ' statements are not allowed',
54
- };
55
- }
56
- }
57
- return { isDangerous: false };
58
- }
59
- /**
60
- * Type guard to check if a statement is a SelectFromStatement
61
- */
62
- function isSelectFromStatement(statement) {
63
- return statement.type === 'select' && 'columns' in statement;
64
- }
65
- /**
66
- * Check if a SELECT statement has a LIMIT clause
67
- */
68
- function hasLimitClause(statement) {
69
- if (!isSelectFromStatement(statement)) {
70
- return false;
71
- }
72
- return statement.limit !== undefined && statement.limit !== null;
73
- }
9
+ import { injectLimit as sharedInjectLimit, parseQuery as sharedParseQuery, validateQueryForTool as sharedValidateQueryForTool, } from '../../utils/sql-parser.js';
74
10
  /**
75
11
  * PostgreSQL database adapter
76
12
  *
@@ -84,107 +20,26 @@ export class PostgreSqlAdapter {
84
20
  this.connectionUrl = config.database.url;
85
21
  this.timeout = config.defaults.timeout;
86
22
  }
87
- /**
88
- * Get the default schema name for PostgreSQL
89
- */
90
23
  getDefaultSchema() {
91
24
  return 'public';
92
25
  }
93
26
  // ─────────────────────────────────────────────────────────────────────────────
94
27
  // SQL Dialect methods
95
28
  // ─────────────────────────────────────────────────────────────────────────────
96
- /**
97
- * Parse and validate a SQL query
98
- */
99
29
  parseQuery(sql) {
100
- let statements;
101
- try {
102
- statements = parse(sql);
103
- }
104
- catch (error) {
105
- const message = error instanceof Error ? error.message : 'Unknown parse error';
106
- throw new DbMcpError(ErrorCode.INVALID_SQL, 'Failed to parse SQL: ' + message, { sql });
107
- }
108
- // Filter out empty statements (trailing semicolons create these)
109
- const nonEmptyStatements = statements.filter((stmt) => stmt.type !== 'empty' && stmt.type !== undefined);
110
- if (nonEmptyStatements.length === 0) {
111
- throw new DbMcpError(ErrorCode.INVALID_SQL, 'No valid SQL statement found', { sql });
112
- }
113
- if (nonEmptyStatements.length > 1) {
114
- throw new DbMcpError(ErrorCode.MULTI_STATEMENT, 'Multiple SQL statements are not allowed. Please provide a single statement.', { sql, statementCount: nonEmptyStatements.length });
115
- }
116
- const statement = nonEmptyStatements[0];
117
- const queryType = getQueryType(statement);
118
- const { isDangerous, reason } = checkDangerous(statement);
119
- return {
120
- type: queryType,
121
- hasLimit: hasLimitClause(statement),
122
- isDangerous,
123
- dangerousReason: reason,
124
- sql,
125
- };
30
+ return sharedParseQuery(sql, 'PostgreSQL');
126
31
  }
127
- /**
128
- * Inject a LIMIT clause into a SELECT query if it doesn't have one
129
- */
130
32
  injectLimit(sql, limit) {
131
- let statements;
132
- try {
133
- statements = parse(sql);
134
- }
135
- catch {
136
- return sql;
137
- }
138
- const nonEmptyStatements = statements.filter((stmt) => stmt.type !== 'empty' && stmt.type !== undefined);
139
- if (nonEmptyStatements.length !== 1) {
140
- return sql;
141
- }
142
- const statement = nonEmptyStatements[0];
143
- if (!isSelectFromStatement(statement)) {
144
- return sql;
145
- }
146
- if (statement.limit !== undefined && statement.limit !== null) {
147
- return sql;
148
- }
149
- statement.limit = {
150
- limit: { type: 'integer', value: limit },
151
- };
152
- return toSql.statement(statement);
33
+ return sharedInjectLimit(sql, limit, 'PostgreSQL');
153
34
  }
154
- /**
155
- * Validate that a SQL query is appropriate for a specific tool
156
- */
157
35
  validateQueryForTool(sql, tool) {
158
36
  const parsed = this.parseQuery(sql);
159
- if (tool === 'query') {
160
- if (parsed.type !== 'select') {
161
- throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The query tool only accepts SELECT statements. Use the execute tool for ' +
162
- parsed.type.toUpperCase() +
163
- ' statements.', { sql, queryType: parsed.type, tool });
164
- }
165
- }
166
- else if (tool === 'execute') {
167
- if (parsed.type === 'select') {
168
- throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The execute tool does not accept SELECT statements. Use the query tool instead.', { sql, queryType: parsed.type, tool });
169
- }
170
- if (parsed.isDangerous) {
171
- throw new DbMcpError(ErrorCode.QUERY_BLOCKED, parsed.dangerousReason ?? 'This operation is not allowed', { sql, queryType: parsed.type, tool });
172
- }
173
- const allowedTypes = ['insert', 'update', 'delete'];
174
- if (!allowedTypes.includes(parsed.type)) {
175
- throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The execute tool only accepts INSERT, UPDATE, or DELETE statements.', { sql, queryType: parsed.type, tool });
176
- }
177
- }
37
+ sharedValidateQueryForTool(parsed, tool);
178
38
  }
179
- /**
180
- * Get the EXPLAIN prefix for PostgreSQL
181
- */
182
39
  getExplainPrefix(analyze) {
183
40
  return analyze ? 'EXPLAIN ANALYZE ' : 'EXPLAIN ';
184
41
  }
185
- /**
186
- * Convert placeholders - no-op for PostgreSQL (already uses $1, $2, $3)
187
- */
42
+ /** No-op for PostgreSQL (already uses $1, $2 placeholders) */
188
43
  convertPlaceholders(sql) {
189
44
  return sql;
190
45
  }
@@ -192,11 +47,14 @@ export class PostgreSqlAdapter {
192
47
  * Execute a function with a managed PostgreSQL connection
193
48
  */
194
49
  async withConnection(fn) {
50
+ // Validate timeout before creating connection (SET command doesn't support parameters)
51
+ if (!Number.isInteger(this.timeout) || this.timeout < 0) {
52
+ throw new DbMcpError(ErrorCode.CONNECTION_FAILED, `Invalid timeout value: ${this.timeout}`);
53
+ }
195
54
  const client = new pg.Client({
196
55
  connectionString: this.connectionUrl,
197
56
  });
198
57
  try {
199
- // Connect to database
200
58
  try {
201
59
  await client.connect();
202
60
  }
@@ -205,12 +63,7 @@ export class PostgreSqlAdapter {
205
63
  cause: error instanceof Error ? error.message : String(error),
206
64
  });
207
65
  }
208
- // SET command doesn't support parameterized queries, so validate timeout first
209
- if (!Number.isInteger(this.timeout) || this.timeout < 0) {
210
- throw new DbMcpError(ErrorCode.CONNECTION_FAILED, `Invalid timeout value: ${this.timeout}`);
211
- }
212
66
  await client.query(`SET statement_timeout = ${this.timeout}`);
213
- // Create connection wrapper and execute user function
214
67
  const connection = new PostgreSqlConnection(client);
215
68
  return await fn(connection);
216
69
  }
@@ -218,12 +71,8 @@ export class PostgreSqlAdapter {
218
71
  await client.end();
219
72
  }
220
73
  }
221
- /**
222
- * Clean up resources (no persistent resources in this adapter)
223
- */
224
74
  async dispose() {
225
- // No persistent resources to clean up
226
- // Each connection is created and destroyed per request
75
+ // No persistent connections to clean up
227
76
  }
228
77
  }
229
78
  /**
@@ -255,9 +104,6 @@ class PostgreSqlConnection {
255
104
  rowCount: result.rowCount ?? 0,
256
105
  };
257
106
  }
258
- /**
259
- * Execute a raw SQL statement (for BEGIN, COMMIT, ROLLBACK)
260
- */
261
107
  async execute(sql) {
262
108
  await this.client.query(sql);
263
109
  }
@@ -265,10 +111,9 @@ class PostgreSqlConnection {
265
111
  * List tables in a PostgreSQL schema
266
112
  *
267
113
  * Uses information_schema and pg_class for table metadata.
268
- * Note: maxTables is accepted for interface compatibility but filtering
269
- * is done at the caller level to report accurate totalAvailable count.
114
+ * Fetches maxTables + 1 to detect truncation.
270
115
  */
271
- async listTables(schema, _maxTables) {
116
+ async listTables(schema, maxTables) {
272
117
  const sql = `
273
118
  SELECT
274
119
  t.table_name as name,
@@ -280,9 +125,11 @@ class PostgreSqlConnection {
280
125
  AND c.relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = t.table_schema)
281
126
  WHERE t.table_schema = $1
282
127
  ORDER BY t.table_name
128
+ LIMIT $2
283
129
  `;
284
- const result = await this.client.query(sql, [schema]);
285
- const tables = result.rows.map((row) => ({
130
+ const result = await this.client.query(sql, [schema, maxTables + 1]);
131
+ const truncated = result.rows.length > maxTables;
132
+ const tables = result.rows.slice(0, maxTables).map((row) => ({
286
133
  name: row.name,
287
134
  schema: row.schema,
288
135
  type: row.type,
@@ -290,7 +137,8 @@ class PostgreSqlConnection {
290
137
  }));
291
138
  return {
292
139
  tables,
293
- totalAvailable: tables.length,
140
+ truncated,
141
+ totalAvailable: truncated ? result.rows.length : tables.length,
294
142
  };
295
143
  }
296
144
  /**
@@ -349,9 +197,7 @@ class PostgreSqlConnection {
349
197
  this.client.query(indexesQuery, [schema, table]),
350
198
  this.client.query(foreignKeysQuery, [schema, table]),
351
199
  ]);
352
- // Build set of primary key columns for quick lookup
353
200
  const primaryKeyColumns = new Set(primaryKeyResult.rows.map((row) => row.column_name));
354
- // Build columns array with primaryKey flag
355
201
  const allColumns = columnsResult.rows.map((row) => ({
356
202
  name: row.name,
357
203
  type: row.type,
@@ -359,7 +205,6 @@ class PostgreSqlConnection {
359
205
  default: row.default,
360
206
  primaryKey: primaryKeyColumns.has(row.name),
361
207
  }));
362
- // Build indexes array
363
208
  const allIndexes = indexesResult.rows.map((row) => {
364
209
  const { columns, unique } = parseIndexDef(row.indexdef);
365
210
  // An index is primary if all its columns are in the primary key
@@ -373,7 +218,6 @@ class PostgreSqlConnection {
373
218
  primary,
374
219
  };
375
220
  });
376
- // Build foreign keys array
377
221
  const foreignKeys = foreignKeysResult.rows.map((row) => ({
378
222
  column: row.column,
379
223
  references: {
@@ -381,7 +225,6 @@ class PostgreSqlConnection {
381
225
  column: row.ref_column,
382
226
  },
383
227
  }));
384
- // Apply limits and track truncation
385
228
  let truncated = false;
386
229
  const truncationReasons = [];
387
230
  const columns = allColumns.length > limits.maxColumns
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/postgresql/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/postgresql/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAkBpB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,UAAU,IAAI,gBAAgB,EAC9B,oBAAoB,IAAI,0BAA0B,GACnD,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,YAAqB,CAAC;IAErB,aAAa,CAAS;IACtB,OAAO,CAAS;IAEjC,YAAY,MAAqB;QAC/B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gFAAgF;IAChF,sBAAsB;IACtB,gFAAgF;IAEhF,UAAU,CAAC,GAAW;QACpB,OAAO,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAa;QACpC,OAAO,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,oBAAoB,CAAC,GAAW,EAAE,IAAyB;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,OAAgB;QAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC;IACnD,CAAC;IAED,8DAA8D;IAC9D,mBAAmB,CAAC,GAAW;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAI,EAA2C;QACjE,uFAAuF;QACvF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAClB,SAAS,CAAC,iBAAiB,EAC3B,0BAA0B,IAAI,CAAC,OAAO,EAAE,CACzC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;YAC3B,gBAAgB,EAAE,IAAI,CAAC,aAAa;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,UAAU,CAClB,SAAS,CAAC,iBAAiB,EAC3B,0CAA0C,EAC1C;oBACE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CACF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9D,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,wCAAwC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,oBAAoB;IACK;IAA7B,YAA6B,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAElD;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,MAAkB;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,MAAM,CAAC,IAAmB;YAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAiB;QAChD,MAAM,GAAG,GAAG;;;;;;;;;;;;KAYX,CAAC;QASF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAW,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACjD,MAAM,MAAM,GAAgB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;SAC7E,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,MAAM;YACN,SAAS;YACT,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;SAC/D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,MAAc,EACd,MAAkD;QAwBlD,uBAAuB;QACvB,MAAM,YAAY,GAAG;;;;;;;;;KASpB,CAAC;QAEF,mCAAmC;QACnC,MAAM,eAAe,GAAG;;;;;KAKvB,CAAC;QAEF,uBAAuB;QACvB,MAAM,YAAY,GAAG;;;;;;KAMpB,CAAC;QAEF,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;KAexB,CAAC;QAEF,kCAAkC;QAClC,MAAM,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC,GACvE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAY,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAgB,eAAe,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAW,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAgB,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACpE,CAAC,CAAC;QAEL,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CACpD,CAAC;QAEF,MAAM,UAAU,GAAiB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;SAC5C,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAgB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxD,gEAAgE;YAChE,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClD,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC,IAAI,CAAC;YAE5C,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO;gBACP,MAAM;gBACN,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAqB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE;gBACV,KAAK,EAAE,GAAG,CAAC,SAAS;gBACpB,MAAM,EAAE,GAAG,CAAC,UAAU;aACvB;SACF,CAAC,CAAC,CAAC;QAEJ,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,iBAAiB,GAAa,EAAE,CAAC;QAEvC,MAAM,OAAO,GACX,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU;YACnC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;gBACnB,iBAAiB,CAAC,IAAI,CACpB,YAAY,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC,UAAU,GAAG,CACxD;gBACD,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC,CAAC,UAAU,CAAC;QAEjB,MAAM,OAAO,GACX,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU;YACnC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;gBACnB,iBAAiB,CAAC,IAAI,CACpB,YAAY,UAAU,CAAC,MAAM,MAAM,MAAM,CAAC,UAAU,GAAG,CACxD;gBACD,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC,CAAC,UAAU,CAAC;QAEjB,OAAO;YACL,KAAK;YACL,MAAM;YACN,OAAO;YACP,OAAO;YACP,WAAW;YACX,SAAS;YACT,GAAG,CAAC,SAAS,IAAI,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SACrE,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEzD,0EAA0E;IAC1E,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,qFAAqF;IACrF,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACxC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Implements DatabaseAdapter interface for SQLite databases.
5
5
  * Uses better-sqlite3 library for synchronous database access.
6
6
  */
7
- import type { DatabaseAdapter, AdapterConnection, AdapterConfig } from '../types.js';
7
+ import type { AdapterConfig, AdapterConnection, DatabaseAdapter } from '../types.js';
8
8
  import type { ParsedQuery } from '../../types.js';
9
9
  /**
10
10
  * SQLite database adapter
@@ -20,37 +20,15 @@ export declare class SqliteAdapter implements DatabaseAdapter {
20
20
  private readonly timeout;
21
21
  private readonly readonly;
22
22
  constructor(config: AdapterConfig);
23
- /**
24
- * Get the default schema name for SQLite
25
- */
26
23
  getDefaultSchema(): string;
27
- /**
28
- * Parse and validate a SQLite SQL query
29
- */
30
24
  parseQuery(sql: string): ParsedQuery;
31
- /**
32
- * Inject a LIMIT clause into a SELECT query if it doesn't have one
33
- */
34
25
  injectLimit(sql: string, limit: number): string;
35
- /**
36
- * Validate that a SQL query is appropriate for a specific tool
37
- */
38
26
  validateQueryForTool(sql: string, tool: 'query' | 'execute'): void;
39
- /**
40
- * Get the EXPLAIN prefix for SQLite
41
- */
27
+ /** SQLite always uses EXPLAIN QUERY PLAN (no ANALYZE support) */
42
28
  getExplainPrefix(_analyze: boolean): string;
43
- /**
44
- * Convert $1, $2 style placeholders to ? style for SQLite
45
- */
29
+ /** Convert $1, $2 placeholders to ? for SQLite */
46
30
  convertPlaceholders(sql: string): string;
47
- /**
48
- * Execute a function with a managed SQLite connection
49
- */
50
31
  withConnection<T>(fn: (conn: AdapterConnection) => Promise<T>): Promise<T>;
51
- /**
52
- * Clean up resources (no persistent resources in this adapter)
53
- */
54
32
  dispose(): Promise<void>;
55
33
  }
56
34
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EAEjB,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,gBAAgB,CAAC;AAsRxB;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEvB,MAAM,EAAE,aAAa;IAOjC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAgCpC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQ/C;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAyClE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;IAI3C;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IA+CxC;;OAEG;IACG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiBhF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/sqlite/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAUxB;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEvB,MAAM,EAAE,aAAa;IAOjC,gBAAgB,IAAI,MAAM;IAQ1B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAiBpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI/C,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAKlE,iEAAiE;IACjE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;IAM3C,kDAAkD;IAClD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAkElC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAe1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}