lokicms-plugin-sql 1.0.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/dist/federation/cache-layer.d.ts +58 -0
- package/dist/federation/cache-layer.d.ts.map +1 -0
- package/dist/federation/cache-layer.js +210 -0
- package/dist/federation/cache-layer.js.map +1 -0
- package/dist/federation/index.d.ts +12 -0
- package/dist/federation/index.d.ts.map +1 -0
- package/dist/federation/index.js +9 -0
- package/dist/federation/index.js.map +1 -0
- package/dist/federation/source-manager.d.ts +57 -0
- package/dist/federation/source-manager.d.ts.map +1 -0
- package/dist/federation/source-manager.js +238 -0
- package/dist/federation/source-manager.js.map +1 -0
- package/dist/federation/sync-engine.d.ts +68 -0
- package/dist/federation/sync-engine.d.ts.map +1 -0
- package/dist/federation/sync-engine.js +288 -0
- package/dist/federation/sync-engine.js.map +1 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +28 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +798 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/base.d.ts +142 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +161 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/index.d.ts +22 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +74 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/mariadb.d.ts +83 -0
- package/dist/providers/mariadb.d.ts.map +1 -0
- package/dist/providers/mariadb.js +293 -0
- package/dist/providers/mariadb.js.map +1 -0
- package/dist/providers/mysql.d.ts +78 -0
- package/dist/providers/mysql.d.ts.map +1 -0
- package/dist/providers/mysql.js +284 -0
- package/dist/providers/mysql.js.map +1 -0
- package/dist/providers/postgresql.d.ts +77 -0
- package/dist/providers/postgresql.d.ts.map +1 -0
- package/dist/providers/postgresql.js +296 -0
- package/dist/providers/postgresql.js.map +1 -0
- package/dist/providers/sqlite.d.ts +80 -0
- package/dist/providers/sqlite.d.ts.map +1 -0
- package/dist/providers/sqlite.js +283 -0
- package/dist/providers/sqlite.js.map +1 -0
- package/dist/query/builder.d.ts +74 -0
- package/dist/query/builder.d.ts.map +1 -0
- package/dist/query/builder.js +279 -0
- package/dist/query/builder.js.map +1 -0
- package/dist/query/index.d.ts +10 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +8 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/transformer.d.ts +74 -0
- package/dist/query/transformer.d.ts.map +1 -0
- package/dist/query/transformer.js +236 -0
- package/dist/query/transformer.js.map +1 -0
- package/dist/types.d.ts +350 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +38 -0
- package/dist/types.js.map +1 -0
- package/dist/vectors/adapter.d.ts +128 -0
- package/dist/vectors/adapter.d.ts.map +1 -0
- package/dist/vectors/adapter.js +79 -0
- package/dist/vectors/adapter.js.map +1 -0
- package/dist/vectors/index.d.ts +41 -0
- package/dist/vectors/index.d.ts.map +1 -0
- package/dist/vectors/index.js +87 -0
- package/dist/vectors/index.js.map +1 -0
- package/dist/vectors/lokijs-vector.d.ts +112 -0
- package/dist/vectors/lokijs-vector.d.ts.map +1 -0
- package/dist/vectors/lokijs-vector.js +217 -0
- package/dist/vectors/lokijs-vector.js.map +1 -0
- package/dist/vectors/mariadb-vector.d.ts +56 -0
- package/dist/vectors/mariadb-vector.d.ts.map +1 -0
- package/dist/vectors/mariadb-vector.js +263 -0
- package/dist/vectors/mariadb-vector.js.map +1 -0
- package/dist/vectors/mysql-vector.d.ts +56 -0
- package/dist/vectors/mysql-vector.d.ts.map +1 -0
- package/dist/vectors/mysql-vector.js +235 -0
- package/dist/vectors/mysql-vector.js.map +1 -0
- package/dist/vectors/pgvector.d.ts +52 -0
- package/dist/vectors/pgvector.d.ts.map +1 -0
- package/dist/vectors/pgvector.js +190 -0
- package/dist/vectors/pgvector.js.map +1 -0
- package/dist/vectors/sqlite-vec.d.ts +80 -0
- package/dist/vectors/sqlite-vec.d.ts.map +1 -0
- package/dist/vectors/sqlite-vec.js +362 -0
- package/dist/vectors/sqlite-vec.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base SQL Provider
|
|
3
|
+
*
|
|
4
|
+
* Abstract class defining the interface for all SQL database providers.
|
|
5
|
+
*/
|
|
6
|
+
import type { SQLProviderType, ConnectionMode, ConnectionConfig, ProviderCapabilities, ProviderStatus, QueryResult, DatabaseSchema, TableInfo, ColumnInfo, PluginLogger } from '../types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Base provider interface
|
|
9
|
+
*/
|
|
10
|
+
export interface SQLProvider {
|
|
11
|
+
/** Provider type */
|
|
12
|
+
readonly type: SQLProviderType;
|
|
13
|
+
/** Connection mode */
|
|
14
|
+
readonly mode: ConnectionMode;
|
|
15
|
+
/** Check if connected */
|
|
16
|
+
isConnected(): boolean;
|
|
17
|
+
/** Connect to database */
|
|
18
|
+
connect(): Promise<void>;
|
|
19
|
+
/** Disconnect from database */
|
|
20
|
+
disconnect(): Promise<void>;
|
|
21
|
+
/** Get connection status */
|
|
22
|
+
getStatus(): Promise<ProviderStatus>;
|
|
23
|
+
/** Get database capabilities */
|
|
24
|
+
getCapabilities(): Promise<ProviderCapabilities>;
|
|
25
|
+
/** Execute a query */
|
|
26
|
+
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
27
|
+
/** Execute a query and return first row */
|
|
28
|
+
queryOne<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T | null>;
|
|
29
|
+
/** Execute a non-query statement */
|
|
30
|
+
execute(sql: string, params?: unknown[]): Promise<number>;
|
|
31
|
+
/** Begin a transaction */
|
|
32
|
+
beginTransaction(): Promise<void>;
|
|
33
|
+
/** Commit transaction */
|
|
34
|
+
commit(): Promise<void>;
|
|
35
|
+
/** Rollback transaction */
|
|
36
|
+
rollback(): Promise<void>;
|
|
37
|
+
/** Get database schema */
|
|
38
|
+
getSchema(): Promise<DatabaseSchema>;
|
|
39
|
+
/** Get table info */
|
|
40
|
+
getTableInfo(tableName: string): Promise<TableInfo | null>;
|
|
41
|
+
/** Check if table exists */
|
|
42
|
+
tableExists(tableName: string): Promise<boolean>;
|
|
43
|
+
/** Create table */
|
|
44
|
+
createTable(tableName: string, columns: ColumnInfo[], ifNotExists?: boolean): Promise<void>;
|
|
45
|
+
/** Drop table */
|
|
46
|
+
dropTable(tableName: string, ifExists?: boolean): Promise<void>;
|
|
47
|
+
/** Escape identifier (table/column name) */
|
|
48
|
+
escapeIdentifier(name: string): string;
|
|
49
|
+
/** Get placeholder for parameterized queries */
|
|
50
|
+
getPlaceholder(index: number): string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Base provider options
|
|
54
|
+
*/
|
|
55
|
+
export interface BaseProviderOptions {
|
|
56
|
+
type: SQLProviderType;
|
|
57
|
+
mode: ConnectionMode;
|
|
58
|
+
connection: ConnectionConfig;
|
|
59
|
+
logger: PluginLogger;
|
|
60
|
+
tablePrefix?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Abstract base provider class
|
|
64
|
+
*/
|
|
65
|
+
export declare abstract class BaseProvider implements SQLProvider {
|
|
66
|
+
readonly type: SQLProviderType;
|
|
67
|
+
readonly mode: ConnectionMode;
|
|
68
|
+
protected readonly config: ConnectionConfig;
|
|
69
|
+
protected readonly logger: PluginLogger;
|
|
70
|
+
protected readonly tablePrefix: string;
|
|
71
|
+
protected connected: boolean;
|
|
72
|
+
protected inTransaction: boolean;
|
|
73
|
+
constructor(options: BaseProviderOptions);
|
|
74
|
+
/**
|
|
75
|
+
* Check if connected
|
|
76
|
+
*/
|
|
77
|
+
isConnected(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Abstract methods to be implemented by providers
|
|
80
|
+
*/
|
|
81
|
+
abstract connect(): Promise<void>;
|
|
82
|
+
abstract disconnect(): Promise<void>;
|
|
83
|
+
abstract getCapabilities(): Promise<ProviderCapabilities>;
|
|
84
|
+
abstract query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
85
|
+
abstract execute(sql: string, params?: unknown[]): Promise<number>;
|
|
86
|
+
abstract beginTransaction(): Promise<void>;
|
|
87
|
+
abstract commit(): Promise<void>;
|
|
88
|
+
abstract rollback(): Promise<void>;
|
|
89
|
+
abstract getSchema(): Promise<DatabaseSchema>;
|
|
90
|
+
abstract getTableInfo(tableName: string): Promise<TableInfo | null>;
|
|
91
|
+
abstract escapeIdentifier(name: string): string;
|
|
92
|
+
abstract getPlaceholder(index: number): string;
|
|
93
|
+
/**
|
|
94
|
+
* Get connection status
|
|
95
|
+
*/
|
|
96
|
+
getStatus(): Promise<ProviderStatus>;
|
|
97
|
+
/**
|
|
98
|
+
* Query and return first row
|
|
99
|
+
*/
|
|
100
|
+
queryOne<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Check if table exists
|
|
103
|
+
*/
|
|
104
|
+
tableExists(tableName: string): Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* Create table (default implementation)
|
|
107
|
+
*/
|
|
108
|
+
createTable(tableName: string, columns: ColumnInfo[], ifNotExists?: boolean): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Drop table
|
|
111
|
+
*/
|
|
112
|
+
dropTable(tableName: string, ifExists?: boolean): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Map generic type to provider-specific type
|
|
115
|
+
*/
|
|
116
|
+
protected mapColumnType(type: string): string;
|
|
117
|
+
/**
|
|
118
|
+
* Format default value for SQL
|
|
119
|
+
*/
|
|
120
|
+
protected formatDefault(value: unknown): string;
|
|
121
|
+
/**
|
|
122
|
+
* Assert connected
|
|
123
|
+
*/
|
|
124
|
+
protected assertConnected(): void;
|
|
125
|
+
/**
|
|
126
|
+
* Assert writable
|
|
127
|
+
*/
|
|
128
|
+
protected assertWritable(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Get prefixed table name
|
|
131
|
+
*/
|
|
132
|
+
protected getTableName(name: string): string;
|
|
133
|
+
/**
|
|
134
|
+
* Log query for debugging
|
|
135
|
+
*/
|
|
136
|
+
protected logQuery(sql: string, params?: unknown[]): void;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Provider factory function type
|
|
140
|
+
*/
|
|
141
|
+
export type ProviderFactory = (options: BaseProviderOptions) => SQLProvider;
|
|
142
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base SQL Provider
|
|
3
|
+
*
|
|
4
|
+
* Abstract class defining the interface for all SQL database providers.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Abstract base provider class
|
|
8
|
+
*/
|
|
9
|
+
export class BaseProvider {
|
|
10
|
+
type;
|
|
11
|
+
mode;
|
|
12
|
+
config;
|
|
13
|
+
logger;
|
|
14
|
+
tablePrefix;
|
|
15
|
+
connected = false;
|
|
16
|
+
inTransaction = false;
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.type = options.type;
|
|
19
|
+
this.mode = options.mode;
|
|
20
|
+
this.config = options.connection;
|
|
21
|
+
this.logger = options.logger;
|
|
22
|
+
this.tablePrefix = options.tablePrefix ?? 'lokicms_';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if connected
|
|
26
|
+
*/
|
|
27
|
+
isConnected() {
|
|
28
|
+
return this.connected;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get connection status
|
|
32
|
+
*/
|
|
33
|
+
async getStatus() {
|
|
34
|
+
const capabilities = this.connected
|
|
35
|
+
? await this.getCapabilities()
|
|
36
|
+
: {
|
|
37
|
+
json: false,
|
|
38
|
+
vectors: false,
|
|
39
|
+
fullText: false,
|
|
40
|
+
transactions: true,
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
connected: this.connected,
|
|
44
|
+
provider: this.type,
|
|
45
|
+
mode: this.mode,
|
|
46
|
+
capabilities,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Query and return first row
|
|
51
|
+
*/
|
|
52
|
+
async queryOne(sql, params) {
|
|
53
|
+
const result = await this.query(sql, params);
|
|
54
|
+
return result.rows[0] ?? null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Check if table exists
|
|
58
|
+
*/
|
|
59
|
+
async tableExists(tableName) {
|
|
60
|
+
const info = await this.getTableInfo(tableName);
|
|
61
|
+
return info !== null;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Create table (default implementation)
|
|
65
|
+
*/
|
|
66
|
+
async createTable(tableName, columns, ifNotExists = true) {
|
|
67
|
+
if (this.mode === 'readonly') {
|
|
68
|
+
throw new Error('Cannot create table on readonly connection');
|
|
69
|
+
}
|
|
70
|
+
const columnDefs = columns.map((col) => {
|
|
71
|
+
let def = `${this.escapeIdentifier(col.name)} ${this.mapColumnType(col.type)}`;
|
|
72
|
+
if (!col.nullable)
|
|
73
|
+
def += ' NOT NULL';
|
|
74
|
+
if (col.primaryKey)
|
|
75
|
+
def += ' PRIMARY KEY';
|
|
76
|
+
if (col.defaultValue !== undefined) {
|
|
77
|
+
def += ` DEFAULT ${this.formatDefault(col.defaultValue)}`;
|
|
78
|
+
}
|
|
79
|
+
return def;
|
|
80
|
+
});
|
|
81
|
+
const ifNotExistsClause = ifNotExists ? 'IF NOT EXISTS ' : '';
|
|
82
|
+
const sql = `CREATE TABLE ${ifNotExistsClause}${this.escapeIdentifier(tableName)} (${columnDefs.join(', ')})`;
|
|
83
|
+
await this.execute(sql);
|
|
84
|
+
this.logger.debug(`Created table: ${tableName}`);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Drop table
|
|
88
|
+
*/
|
|
89
|
+
async dropTable(tableName, ifExists = true) {
|
|
90
|
+
if (this.mode === 'readonly') {
|
|
91
|
+
throw new Error('Cannot drop table on readonly connection');
|
|
92
|
+
}
|
|
93
|
+
const ifExistsClause = ifExists ? 'IF EXISTS ' : '';
|
|
94
|
+
const sql = `DROP TABLE ${ifExistsClause}${this.escapeIdentifier(tableName)}`;
|
|
95
|
+
await this.execute(sql);
|
|
96
|
+
this.logger.debug(`Dropped table: ${tableName}`);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Map generic type to provider-specific type
|
|
100
|
+
*/
|
|
101
|
+
mapColumnType(type) {
|
|
102
|
+
// Default mapping, providers can override
|
|
103
|
+
const typeMap = {
|
|
104
|
+
string: 'VARCHAR(255)',
|
|
105
|
+
text: 'TEXT',
|
|
106
|
+
integer: 'INTEGER',
|
|
107
|
+
bigint: 'BIGINT',
|
|
108
|
+
float: 'REAL',
|
|
109
|
+
double: 'DOUBLE PRECISION',
|
|
110
|
+
boolean: 'BOOLEAN',
|
|
111
|
+
date: 'DATE',
|
|
112
|
+
datetime: 'TIMESTAMP',
|
|
113
|
+
json: 'TEXT',
|
|
114
|
+
blob: 'BLOB',
|
|
115
|
+
};
|
|
116
|
+
return typeMap[type.toLowerCase()] ?? type;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Format default value for SQL
|
|
120
|
+
*/
|
|
121
|
+
formatDefault(value) {
|
|
122
|
+
if (value === null)
|
|
123
|
+
return 'NULL';
|
|
124
|
+
if (typeof value === 'string')
|
|
125
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
126
|
+
if (typeof value === 'boolean')
|
|
127
|
+
return value ? 'TRUE' : 'FALSE';
|
|
128
|
+
if (typeof value === 'number')
|
|
129
|
+
return String(value);
|
|
130
|
+
return String(value);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Assert connected
|
|
134
|
+
*/
|
|
135
|
+
assertConnected() {
|
|
136
|
+
if (!this.connected) {
|
|
137
|
+
throw new Error(`${this.type} provider not connected`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Assert writable
|
|
142
|
+
*/
|
|
143
|
+
assertWritable() {
|
|
144
|
+
if (this.mode === 'readonly') {
|
|
145
|
+
throw new Error(`${this.type} provider is readonly`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get prefixed table name
|
|
150
|
+
*/
|
|
151
|
+
getTableName(name) {
|
|
152
|
+
return `${this.tablePrefix}${name}`;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Log query for debugging
|
|
156
|
+
*/
|
|
157
|
+
logQuery(sql, params) {
|
|
158
|
+
this.logger.debug(`[${this.type}] Query: ${sql}`, params ? { params } : {});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL Providers Index
|
|
3
|
+
*
|
|
4
|
+
* Factory for creating database providers.
|
|
5
|
+
*/
|
|
6
|
+
import type { SQLProviderType, ConnectionMode, ConnectionConfig, PluginLogger } from '../types.js';
|
|
7
|
+
import type { SQLProvider } from './base.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a provider instance
|
|
10
|
+
*/
|
|
11
|
+
export declare function createProvider(type: SQLProviderType, mode: ConnectionMode, connection: ConnectionConfig, logger: PluginLogger, tablePrefix?: string): Promise<SQLProvider>;
|
|
12
|
+
/**
|
|
13
|
+
* Check if a provider type is supported
|
|
14
|
+
*/
|
|
15
|
+
export declare function isProviderSupported(type: string): type is SQLProviderType;
|
|
16
|
+
/**
|
|
17
|
+
* Get list of supported providers
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSupportedProviders(): SQLProviderType[];
|
|
20
|
+
export type { SQLProvider, BaseProviderOptions } from './base.js';
|
|
21
|
+
export { BaseProvider } from './base.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,WAAW,CAAC;AAuClE;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CAoBtB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,eAAe,CAEzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,EAAE,CAEzD;AAGD,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQL Providers Index
|
|
3
|
+
*
|
|
4
|
+
* Factory for creating database providers.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Provider registry
|
|
8
|
+
*/
|
|
9
|
+
const providerRegistry = new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Register PostgreSQL provider (lazy load)
|
|
12
|
+
*/
|
|
13
|
+
providerRegistry.set('postgresql', async () => {
|
|
14
|
+
const { PostgreSQLProvider } = await import('./postgresql.js');
|
|
15
|
+
return PostgreSQLProvider;
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Register MySQL provider (lazy load)
|
|
19
|
+
*/
|
|
20
|
+
providerRegistry.set('mysql', async () => {
|
|
21
|
+
const { MySQLProvider } = await import('./mysql.js');
|
|
22
|
+
return MySQLProvider;
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Register MariaDB provider (lazy load)
|
|
26
|
+
*/
|
|
27
|
+
providerRegistry.set('mariadb', async () => {
|
|
28
|
+
const { MariaDBProvider } = await import('./mariadb.js');
|
|
29
|
+
return MariaDBProvider;
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Register SQLite provider (lazy load)
|
|
33
|
+
*/
|
|
34
|
+
providerRegistry.set('sqlite', async () => {
|
|
35
|
+
const { SQLiteProvider } = await import('./sqlite.js');
|
|
36
|
+
return SQLiteProvider;
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Create a provider instance
|
|
40
|
+
*/
|
|
41
|
+
export async function createProvider(type, mode, connection, logger, tablePrefix) {
|
|
42
|
+
const factory = providerRegistry.get(type);
|
|
43
|
+
if (!factory) {
|
|
44
|
+
throw new Error(`Unknown provider type: ${type}. Supported: ${Array.from(providerRegistry.keys()).join(', ')}`);
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const ProviderClass = await factory();
|
|
48
|
+
return new ProviderClass({
|
|
49
|
+
type,
|
|
50
|
+
mode,
|
|
51
|
+
connection,
|
|
52
|
+
logger,
|
|
53
|
+
tablePrefix,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
58
|
+
throw new Error(`Failed to create ${type} provider: ${message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if a provider type is supported
|
|
63
|
+
*/
|
|
64
|
+
export function isProviderSupported(type) {
|
|
65
|
+
return providerRegistry.has(type);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get list of supported providers
|
|
69
|
+
*/
|
|
70
|
+
export function getSupportedProviders() {
|
|
71
|
+
return Array.from(providerRegistry.keys());
|
|
72
|
+
}
|
|
73
|
+
export { BaseProvider } from './base.js';
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAqF,CAAC;AAEtH;;GAEG;AACH,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;IAC5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC/D,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;IACvC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IACxC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAqB,EACrB,IAAoB,EACpB,UAA4B,EAC5B,MAAoB,EACpB,WAAoB;IAEpB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,gBAAgB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,EAAE,CAAC;QACtC,OAAO,IAAI,aAAa,CAAC;YACvB,IAAI;YACJ,IAAI;YACJ,UAAU;YACV,MAAM;YACN,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,cAAc,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAuB,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAID,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MariaDB Provider
|
|
3
|
+
*
|
|
4
|
+
* MariaDB database provider with vector support detection (MariaDB 11.6+).
|
|
5
|
+
* Uses mysql2 driver for compatibility.
|
|
6
|
+
*/
|
|
7
|
+
import type { ProviderCapabilities, QueryResult, DatabaseSchema, TableInfo } from '../types.js';
|
|
8
|
+
import { BaseProvider, BaseProviderOptions } from './base.js';
|
|
9
|
+
/**
|
|
10
|
+
* MariaDB Provider
|
|
11
|
+
*/
|
|
12
|
+
export declare class MariaDBProvider extends BaseProvider {
|
|
13
|
+
private pool;
|
|
14
|
+
private connection;
|
|
15
|
+
private capabilities;
|
|
16
|
+
private version;
|
|
17
|
+
constructor(options: BaseProviderOptions);
|
|
18
|
+
/**
|
|
19
|
+
* Connect to MariaDB
|
|
20
|
+
*/
|
|
21
|
+
connect(): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Disconnect from MariaDB
|
|
24
|
+
*/
|
|
25
|
+
disconnect(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Detect database capabilities
|
|
28
|
+
*/
|
|
29
|
+
private detectCapabilities;
|
|
30
|
+
/**
|
|
31
|
+
* Get capabilities
|
|
32
|
+
*/
|
|
33
|
+
getCapabilities(): Promise<ProviderCapabilities>;
|
|
34
|
+
/**
|
|
35
|
+
* Execute a query
|
|
36
|
+
*/
|
|
37
|
+
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
|
|
38
|
+
/**
|
|
39
|
+
* Execute a non-query statement
|
|
40
|
+
*/
|
|
41
|
+
execute(sql: string, params?: unknown[]): Promise<number>;
|
|
42
|
+
/**
|
|
43
|
+
* Begin transaction
|
|
44
|
+
*/
|
|
45
|
+
beginTransaction(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Commit transaction
|
|
48
|
+
*/
|
|
49
|
+
commit(): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Rollback transaction
|
|
52
|
+
*/
|
|
53
|
+
rollback(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Get database schema
|
|
56
|
+
*/
|
|
57
|
+
getSchema(): Promise<DatabaseSchema>;
|
|
58
|
+
/**
|
|
59
|
+
* Get table info
|
|
60
|
+
*/
|
|
61
|
+
getTableInfo(tableName: string): Promise<TableInfo | null>;
|
|
62
|
+
/**
|
|
63
|
+
* Escape identifier
|
|
64
|
+
*/
|
|
65
|
+
escapeIdentifier(name: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Get parameter placeholder
|
|
68
|
+
*/
|
|
69
|
+
getPlaceholder(_index: number): string;
|
|
70
|
+
/**
|
|
71
|
+
* Map column type
|
|
72
|
+
*/
|
|
73
|
+
protected mapColumnType(type: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Get MariaDB version
|
|
76
|
+
*/
|
|
77
|
+
getVersion(): string;
|
|
78
|
+
/**
|
|
79
|
+
* Check if this is actually MariaDB (not MySQL)
|
|
80
|
+
*/
|
|
81
|
+
isMariaDB(): boolean;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=mariadb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mariadb.d.ts","sourceRoot":"","sources":["../../src/providers/mariadb.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,SAAS,EAEV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAkB9D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,IAAI,CAA8C;IAC1D,OAAO,CAAC,UAAU,CAAwD;IAC1E,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,OAAO,CAAc;gBAEjB,OAAO,EAAE,mBAAmB;IAIxC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;OAEG;YACW,kBAAkB;IAgDhC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAOtD;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAmB1B;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAW/D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAgC1C;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA0ChE;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAItC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAItC;;OAEG;cACgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAmBtD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB"}
|