@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.
- package/README.md +19 -97
- package/dist/adapters/factory.d.ts +0 -4
- package/dist/adapters/factory.d.ts.map +1 -1
- package/dist/adapters/factory.js +3 -8
- package/dist/adapters/factory.js.map +1 -1
- package/dist/adapters/mysql/adapter.d.ts +2 -31
- package/dist/adapters/mysql/adapter.d.ts.map +1 -1
- package/dist/adapters/mysql/adapter.js +27 -283
- package/dist/adapters/mysql/adapter.js.map +1 -1
- package/dist/adapters/postgresql/adapter.d.ts +2 -22
- package/dist/adapters/postgresql/adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/adapter.js +18 -175
- package/dist/adapters/postgresql/adapter.js.map +1 -1
- package/dist/adapters/sqlite/adapter.d.ts +3 -25
- package/dist/adapters/sqlite/adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite/adapter.js +65 -364
- package/dist/adapters/sqlite/adapter.js.map +1 -1
- package/dist/adapters/sqlite/pragma-check.d.ts +19 -0
- package/dist/adapters/sqlite/pragma-check.d.ts.map +1 -0
- package/dist/adapters/sqlite/pragma-check.js +25 -0
- package/dist/adapters/sqlite/pragma-check.js.map +1 -0
- package/dist/adapters/sqlite/url-parser.d.ts +34 -0
- package/dist/adapters/sqlite/url-parser.d.ts.map +1 -0
- package/dist/adapters/sqlite/url-parser.js +73 -0
- package/dist/adapters/sqlite/url-parser.js.map +1 -0
- package/dist/adapters/types.d.ts +10 -113
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +31 -20
- package/dist/server.js.map +1 -1
- package/dist/tools/describe-table.d.ts +5 -6
- package/dist/tools/describe-table.d.ts.map +1 -1
- package/dist/tools/describe-table.js +65 -9
- package/dist/tools/describe-table.js.map +1 -1
- package/dist/tools/execute.d.ts +5 -6
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +13 -11
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/explain.d.ts +5 -10
- package/dist/tools/explain.d.ts.map +1 -1
- package/dist/tools/explain.js +25 -26
- package/dist/tools/explain.js.map +1 -1
- package/dist/tools/list-databases.d.ts +5 -7
- package/dist/tools/list-databases.d.ts.map +1 -1
- package/dist/tools/list-databases.js +31 -0
- package/dist/tools/list-databases.js.map +1 -1
- package/dist/tools/list-tables.d.ts +5 -10
- package/dist/tools/list-tables.d.ts.map +1 -1
- package/dist/tools/list-tables.js +27 -9
- package/dist/tools/list-tables.js.map +1 -1
- package/dist/tools/query.d.ts +1 -6
- package/dist/tools/query.d.ts.map +1 -1
- package/dist/tools/query.js +7 -27
- package/dist/tools/query.js.map +1 -1
- package/dist/types.d.ts +39 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/formatter.d.ts +7 -4
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +20 -10
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/sql-parser.d.ts +51 -0
- package/dist/utils/sql-parser.d.ts.map +1 -0
- package/dist/utils/sql-parser.js +310 -0
- package/dist/utils/sql-parser.js.map +1 -0
- package/dist/utils/truncate.d.ts +4 -13
- package/dist/utils/truncate.d.ts.map +1 -1
- package/dist/utils/truncate.js +38 -18
- package/dist/utils/truncate.js.map +1 -1
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +89 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +10 -11
package/README.md
CHANGED
|
@@ -1,48 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
# @pilat/mcp-datalink
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<strong>Secure database access for AI assistants via Model Context Protocol</strong>
|
|
5
|
-
</p>
|
|
6
|
-
|
|
7
|
-
<p align="center">
|
|
8
|
-
<a href="https://www.npmjs.com/package/@pilat/mcp-datalink"><img src="https://img.shields.io/npm/v/@pilat/mcp-datalink.svg?style=flat-square&color=blue" alt="npm version" /></a>
|
|
9
|
-
<a href="https://www.npmjs.com/package/@pilat/mcp-datalink"><img src="https://img.shields.io/npm/dm/@pilat/mcp-datalink.svg?style=flat-square&color=green" alt="npm downloads" /></a>
|
|
10
|
-
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square" alt="License: MIT" /></a>
|
|
11
|
-
<a href="https://github.com/pilat/mcp-datalink"><img src="https://img.shields.io/github/stars/pilat/mcp-datalink?style=flat-square&color=orange" alt="GitHub stars" /></a>
|
|
12
|
-
<img src="https://img.shields.io/badge/Node.js-20+-339933?style=flat-square&logo=node.js&logoColor=white" alt="Node.js 20+" />
|
|
13
|
-
</p>
|
|
14
|
-
|
|
15
|
-
<p align="center">
|
|
16
|
-
<a href="#installation">Installation</a> |
|
|
17
|
-
<a href="#supported-databases">Databases</a> |
|
|
18
|
-
<a href="#available-tools">Tools</a> |
|
|
19
|
-
<a href="#security">Security</a>
|
|
20
|
-
</p>
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
MCP Datalink is an [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that gives AI assistants secure, read/write access to your databases. Connect your favorite AI tools to PostgreSQL, MySQL, or SQLite with enterprise-grade security controls.
|
|
3
|
+
MCP server for PostgreSQL, MySQL, and SQLite. Gives AI assistants secure database access via [Model Context Protocol](https://modelcontextprotocol.io).
|
|
25
4
|
|
|
26
5
|
```
|
|
27
|
-
|
|
6
|
+
npx @pilat/mcp-datalink
|
|
28
7
|
```
|
|
29
8
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- **Universal Compatibility** - Works with any MCP-compatible client: Claude Desktop, Claude Code, Cursor, Cline, and more
|
|
33
|
-
- **Multi-Database Support** - Connect PostgreSQL, MySQL, and SQLite simultaneously
|
|
34
|
-
- **Security-First Design** - Prepared statements, query validation, readonly modes, and DDL blocking
|
|
35
|
-
- **Context-Aware Output** - Smart truncation prevents context overflow in AI conversations
|
|
36
|
-
- **Zero-Install Option** - Run directly with `npx` - no global installation required
|
|
37
|
-
- **Production Ready** - Battle-tested with comprehensive test coverage
|
|
38
|
-
|
|
39
|
-
## Supported Databases
|
|
40
|
-
|
|
41
|
-
| Database | Status | Driver |
|
|
42
|
-
|----------|--------|--------|
|
|
43
|
-
| <img src="https://img.shields.io/badge/PostgreSQL-4169E1?style=flat-square&logo=postgresql&logoColor=white" alt="PostgreSQL" /> | Stable | node-postgres |
|
|
44
|
-
| <img src="https://img.shields.io/badge/MySQL-4479A1?style=flat-square&logo=mysql&logoColor=white" alt="MySQL" /> | Stable | mysql2 |
|
|
45
|
-
| <img src="https://img.shields.io/badge/SQLite-003B57?style=flat-square&logo=sqlite&logoColor=white" alt="SQLite" /> | Stable | better-sqlite3 |
|
|
9
|
+
Works with Claude Desktop, Claude Code, Cursor, Cline, and any MCP-compatible client.
|
|
46
10
|
|
|
47
11
|
## Installation
|
|
48
12
|
|
|
@@ -67,68 +31,26 @@ Add to your MCP client config:
|
|
|
67
31
|
| `DATALINK_{NAME}_URL` | Connection URL (creates database named `{name}`) |
|
|
68
32
|
| `DATALINK_{NAME}_READONLY` | Set to `true` to block writes |
|
|
69
33
|
|
|
70
|
-
**Config
|
|
71
|
-
|
|
72
|
-
| Client | Path |
|
|
73
|
-
|--------|------|
|
|
74
|
-
| Claude Desktop (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
75
|
-
| Claude Desktop (Windows) | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
76
|
-
| Claude Code | `~/.claude/settings.json` |
|
|
77
|
-
| Cursor | Settings > MCP |
|
|
78
|
-
| Cline | VS Code settings (`cline.mcpServers`) |
|
|
79
|
-
|
|
80
|
-
## Available Tools
|
|
34
|
+
**Config locations:** Claude Desktop (`~/Library/Application Support/Claude/claude_desktop_config.json`), Claude Code (`~/.claude/settings.json`), Cursor (Settings > MCP), Cline (`cline.mcpServers` in VS Code settings).
|
|
81
35
|
|
|
82
|
-
|
|
83
|
-
|------|-------------|------------------|
|
|
84
|
-
| `list_databases` | List all configured database connections | "What databases do I have access to?" |
|
|
85
|
-
| `list_tables` | List tables with row estimates and types | "Show me all tables in the main database" |
|
|
86
|
-
| `describe_table` | Get detailed schema information | "What columns does the users table have?" |
|
|
87
|
-
| `query` | Execute SELECT queries (returns Markdown) | "Find all users created this month" |
|
|
88
|
-
| `execute` | Execute INSERT/UPDATE/DELETE | "Update the user's email address" |
|
|
89
|
-
| `explain` | Show query execution plans | "Why is this query slow?" |
|
|
36
|
+
## Tools
|
|
90
37
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- users (15,234 rows)
|
|
100
|
-
- orders (48,291 rows)
|
|
101
|
-
- products (1,205 rows)
|
|
102
|
-
- categories (24 rows)
|
|
103
|
-
- order_items (142,891 rows)
|
|
104
|
-
```
|
|
38
|
+
| Tool | Description |
|
|
39
|
+
|------|-------------|
|
|
40
|
+
| `list_databases` | List configured database connections |
|
|
41
|
+
| `list_tables` | List tables with row counts |
|
|
42
|
+
| `describe_table` | Get schema, indexes, foreign keys |
|
|
43
|
+
| `query` | Run SELECT queries |
|
|
44
|
+
| `execute` | Run INSERT/UPDATE/DELETE |
|
|
45
|
+
| `explain` | Show query execution plans |
|
|
105
46
|
|
|
106
47
|
## Security
|
|
107
48
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
| **Query Validation** | SQL parser validates and restricts query types |
|
|
114
|
-
| **Single Statement Only** | Multi-statement queries are rejected |
|
|
115
|
-
| **DDL Blocking** | CREATE, DROP, ALTER, TRUNCATE are forbidden |
|
|
116
|
-
| **Readonly Mode** | Per-connection write protection |
|
|
117
|
-
| **Connection Isolation** | Fresh connection per request, no connection reuse |
|
|
118
|
-
| **Output Limits** | Prevents context overflow with configurable size limits |
|
|
119
|
-
|
|
120
|
-
### Output Limits
|
|
121
|
-
|
|
122
|
-
To prevent overwhelming AI context windows, all outputs are automatically limited:
|
|
123
|
-
|
|
124
|
-
| Parameter | Default | Maximum |
|
|
125
|
-
|-----------|---------|---------|
|
|
126
|
-
| `maxRows` | 100 | 500 |
|
|
127
|
-
| `maxCellLength` | 500 chars | 1,000 chars |
|
|
128
|
-
| `maxTotalSize` | 64 KB | 256 KB |
|
|
129
|
-
| `maxColumns` | 50 | 100 |
|
|
130
|
-
|
|
131
|
-
When limits are exceeded, responses include `truncated: true` with pagination hints.
|
|
49
|
+
- Prepared statements only (no SQL injection)
|
|
50
|
+
- Single statement per query (no chaining)
|
|
51
|
+
- DDL blocked (no DROP, ALTER, TRUNCATE)
|
|
52
|
+
- Readonly mode per connection
|
|
53
|
+
- Output truncation (100 rows, 64KB max)
|
|
132
54
|
|
|
133
55
|
## License
|
|
134
56
|
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
* Database Adapter Factory
|
|
3
3
|
*
|
|
4
4
|
* Creates the appropriate database adapter based on connection URL scheme.
|
|
5
|
-
*
|
|
6
|
-
* Phase 1: PostgreSQL - DONE
|
|
7
|
-
* Phase 2: MySQL - DONE
|
|
8
|
-
* Phase 3: SQLite - DONE
|
|
9
5
|
*/
|
|
10
6
|
import type { DatabaseAdapter } from './types.js';
|
|
11
7
|
import type { DatabaseConfig, DefaultsConfig } from '../types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/adapters/factory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/adapters/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgFlE;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,GACvB,eAAe,CASjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD"}
|
package/dist/adapters/factory.js
CHANGED
|
@@ -2,13 +2,9 @@
|
|
|
2
2
|
* Database Adapter Factory
|
|
3
3
|
*
|
|
4
4
|
* Creates the appropriate database adapter based on connection URL scheme.
|
|
5
|
-
*
|
|
6
|
-
* Phase 1: PostgreSQL - DONE
|
|
7
|
-
* Phase 2: MySQL - DONE
|
|
8
|
-
* Phase 3: SQLite - DONE
|
|
9
5
|
*/
|
|
10
|
-
import { PostgreSqlAdapter } from './postgresql/adapter.js';
|
|
11
6
|
import { MySqlAdapter } from './mysql/adapter.js';
|
|
7
|
+
import { PostgreSqlAdapter } from './postgresql/adapter.js';
|
|
12
8
|
import { SqliteAdapter } from './sqlite/adapter.js';
|
|
13
9
|
import { DbMcpError, ErrorCode } from '../utils/errors.js';
|
|
14
10
|
/**
|
|
@@ -103,9 +99,8 @@ export function isSupportedUrl(url) {
|
|
|
103
99
|
*/
|
|
104
100
|
export function isImplemented(url) {
|
|
105
101
|
try {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return scheme === 'postgresql' || scheme === 'mysql' || scheme === 'sqlite';
|
|
102
|
+
detectScheme(url);
|
|
103
|
+
return true;
|
|
109
104
|
}
|
|
110
105
|
catch {
|
|
111
106
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/adapters/factory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/adapters/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAO3D;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,2CAA2C;IAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kBAAkB;IAClB,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gEAAgE;IAChE,IACE,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EACxB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,UAAU,CAClB,SAAS,CAAC,cAAc,EACxB,gCAAgC,GAAG,IAAI;QACrC,oEAAoE,EACtE,EAAE,GAAG,EAAE,CACR,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,MAAqB,EACrB,MAAsB;IAEtB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,YAAY;YACf,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEvC,KAAK,OAAO;YACV,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAElC,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAEnC,OAAO,CAAC,CAAC,CAAC;YACR,8BAA8B;YAC9B,MAAM,WAAW,GAAU,MAAM,CAAC;YAClC,MAAM,IAAI,UAAU,CAClB,SAAS,CAAC,cAAc,EACxB,+BAA+B,WAAW,EAAE,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAwB,EACxB,QAAwB;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAkB;QAC5B,QAAQ;QACR,QAAQ;KACT,CAAC;IAEF,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -4,16 +4,8 @@
|
|
|
4
4
|
* Implements DatabaseAdapter interface for MySQL databases.
|
|
5
5
|
* Uses mysql2/promise driver with per-request connection recycling.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { AdapterConfig, AdapterConnection, DatabaseAdapter } from '../types.js';
|
|
8
8
|
import type { ParsedQuery } from '../../types.js';
|
|
9
|
-
/**
|
|
10
|
-
* Strip SQL comments from a query
|
|
11
|
-
*/
|
|
12
|
-
declare function stripComments(sql: string): string;
|
|
13
|
-
/**
|
|
14
|
-
* String-aware statement splitting
|
|
15
|
-
*/
|
|
16
|
-
declare function splitStatements(sql: string): string[];
|
|
17
9
|
/**
|
|
18
10
|
* MySQL database adapter
|
|
19
11
|
*
|
|
@@ -24,38 +16,17 @@ export declare class MySqlAdapter implements DatabaseAdapter {
|
|
|
24
16
|
private readonly connectionUrl;
|
|
25
17
|
private readonly timeout;
|
|
26
18
|
constructor(config: AdapterConfig);
|
|
27
|
-
/**
|
|
28
|
-
* Get the default schema name for MySQL (database name from URL)
|
|
29
|
-
*/
|
|
30
19
|
getDefaultSchema(): string;
|
|
31
|
-
/**
|
|
32
|
-
* Parse and validate a SQL query
|
|
33
|
-
*/
|
|
34
20
|
parseQuery(sql: string): ParsedQuery;
|
|
35
|
-
/**
|
|
36
|
-
* Inject a LIMIT clause into a SELECT query if it doesn't have one
|
|
37
|
-
*/
|
|
38
21
|
injectLimit(sql: string, limit: number): string;
|
|
39
|
-
/**
|
|
40
|
-
* Validate that a SQL query is appropriate for a specific tool
|
|
41
|
-
*/
|
|
42
22
|
validateQueryForTool(sql: string, tool: 'query' | 'execute'): void;
|
|
43
|
-
/**
|
|
44
|
-
* Get the EXPLAIN prefix for MySQL
|
|
45
|
-
*/
|
|
46
23
|
getExplainPrefix(analyze: boolean): string;
|
|
47
|
-
/**
|
|
48
|
-
* Convert PostgreSQL-style placeholders ($1, $2) to MySQL-style (?)
|
|
49
|
-
*/
|
|
24
|
+
/** Convert $1, $2 placeholders to ? for MySQL */
|
|
50
25
|
convertPlaceholders(sql: string): string;
|
|
51
26
|
/**
|
|
52
27
|
* Execute a function with a managed MySQL connection
|
|
53
28
|
*/
|
|
54
29
|
withConnection<T>(fn: (conn: AdapterConnection) => Promise<T>): Promise<T>;
|
|
55
|
-
/**
|
|
56
|
-
* Clean up resources (no persistent resources in this adapter)
|
|
57
|
-
*/
|
|
58
30
|
dispose(): Promise<void>;
|
|
59
31
|
}
|
|
60
|
-
export { stripComments, splitStatements };
|
|
61
32
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mysql/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/mysql/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAqDxB;;;;GAIG;AACH,qBAAa,YAAa,YAAW,eAAe;IAClD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAU;IAEjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,aAAa;IAKjC,gBAAgB,IAAI,MAAM;IAa1B,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,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAI1C,iDAAiD;IACjD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxC;;OAEG;IACG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|