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.
Files changed (93) hide show
  1. package/dist/federation/cache-layer.d.ts +58 -0
  2. package/dist/federation/cache-layer.d.ts.map +1 -0
  3. package/dist/federation/cache-layer.js +210 -0
  4. package/dist/federation/cache-layer.js.map +1 -0
  5. package/dist/federation/index.d.ts +12 -0
  6. package/dist/federation/index.d.ts.map +1 -0
  7. package/dist/federation/index.js +9 -0
  8. package/dist/federation/index.js.map +1 -0
  9. package/dist/federation/source-manager.d.ts +57 -0
  10. package/dist/federation/source-manager.d.ts.map +1 -0
  11. package/dist/federation/source-manager.js +238 -0
  12. package/dist/federation/source-manager.js.map +1 -0
  13. package/dist/federation/sync-engine.d.ts +68 -0
  14. package/dist/federation/sync-engine.d.ts.map +1 -0
  15. package/dist/federation/sync-engine.js +288 -0
  16. package/dist/federation/sync-engine.js.map +1 -0
  17. package/dist/index.d.ts +80 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +79 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/plugin.d.ts +28 -0
  22. package/dist/plugin.d.ts.map +1 -0
  23. package/dist/plugin.js +798 -0
  24. package/dist/plugin.js.map +1 -0
  25. package/dist/providers/base.d.ts +142 -0
  26. package/dist/providers/base.d.ts.map +1 -0
  27. package/dist/providers/base.js +161 -0
  28. package/dist/providers/base.js.map +1 -0
  29. package/dist/providers/index.d.ts +22 -0
  30. package/dist/providers/index.d.ts.map +1 -0
  31. package/dist/providers/index.js +74 -0
  32. package/dist/providers/index.js.map +1 -0
  33. package/dist/providers/mariadb.d.ts +83 -0
  34. package/dist/providers/mariadb.d.ts.map +1 -0
  35. package/dist/providers/mariadb.js +293 -0
  36. package/dist/providers/mariadb.js.map +1 -0
  37. package/dist/providers/mysql.d.ts +78 -0
  38. package/dist/providers/mysql.d.ts.map +1 -0
  39. package/dist/providers/mysql.js +284 -0
  40. package/dist/providers/mysql.js.map +1 -0
  41. package/dist/providers/postgresql.d.ts +77 -0
  42. package/dist/providers/postgresql.d.ts.map +1 -0
  43. package/dist/providers/postgresql.js +296 -0
  44. package/dist/providers/postgresql.js.map +1 -0
  45. package/dist/providers/sqlite.d.ts +80 -0
  46. package/dist/providers/sqlite.d.ts.map +1 -0
  47. package/dist/providers/sqlite.js +283 -0
  48. package/dist/providers/sqlite.js.map +1 -0
  49. package/dist/query/builder.d.ts +74 -0
  50. package/dist/query/builder.d.ts.map +1 -0
  51. package/dist/query/builder.js +279 -0
  52. package/dist/query/builder.js.map +1 -0
  53. package/dist/query/index.d.ts +10 -0
  54. package/dist/query/index.d.ts.map +1 -0
  55. package/dist/query/index.js +8 -0
  56. package/dist/query/index.js.map +1 -0
  57. package/dist/query/transformer.d.ts +74 -0
  58. package/dist/query/transformer.d.ts.map +1 -0
  59. package/dist/query/transformer.js +236 -0
  60. package/dist/query/transformer.js.map +1 -0
  61. package/dist/types.d.ts +350 -0
  62. package/dist/types.d.ts.map +1 -0
  63. package/dist/types.js +38 -0
  64. package/dist/types.js.map +1 -0
  65. package/dist/vectors/adapter.d.ts +128 -0
  66. package/dist/vectors/adapter.d.ts.map +1 -0
  67. package/dist/vectors/adapter.js +79 -0
  68. package/dist/vectors/adapter.js.map +1 -0
  69. package/dist/vectors/index.d.ts +41 -0
  70. package/dist/vectors/index.d.ts.map +1 -0
  71. package/dist/vectors/index.js +87 -0
  72. package/dist/vectors/index.js.map +1 -0
  73. package/dist/vectors/lokijs-vector.d.ts +112 -0
  74. package/dist/vectors/lokijs-vector.d.ts.map +1 -0
  75. package/dist/vectors/lokijs-vector.js +217 -0
  76. package/dist/vectors/lokijs-vector.js.map +1 -0
  77. package/dist/vectors/mariadb-vector.d.ts +56 -0
  78. package/dist/vectors/mariadb-vector.d.ts.map +1 -0
  79. package/dist/vectors/mariadb-vector.js +263 -0
  80. package/dist/vectors/mariadb-vector.js.map +1 -0
  81. package/dist/vectors/mysql-vector.d.ts +56 -0
  82. package/dist/vectors/mysql-vector.d.ts.map +1 -0
  83. package/dist/vectors/mysql-vector.js +235 -0
  84. package/dist/vectors/mysql-vector.js.map +1 -0
  85. package/dist/vectors/pgvector.d.ts +52 -0
  86. package/dist/vectors/pgvector.d.ts.map +1 -0
  87. package/dist/vectors/pgvector.js +190 -0
  88. package/dist/vectors/pgvector.js.map +1 -0
  89. package/dist/vectors/sqlite-vec.d.ts +80 -0
  90. package/dist/vectors/sqlite-vec.d.ts.map +1 -0
  91. package/dist/vectors/sqlite-vec.js +362 -0
  92. package/dist/vectors/sqlite-vec.js.map +1 -0
  93. 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"}