@pineliner/odb-client 1.0.5 → 1.0.6
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/database/manager.d.ts +2 -1
- package/dist/database/manager.d.ts.map +1 -1
- package/dist/database/types.d.ts +2 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/index.cjs +9 -3
- package/dist/index.js +9 -3
- package/package.json +1 -1
- package/src/database/adapters/odblite.ts +8 -3
- package/src/database/manager.ts +5 -1
- package/src/database/types.ts +4 -0
|
@@ -35,10 +35,11 @@ export declare class DatabaseManager {
|
|
|
35
35
|
* Create a new database
|
|
36
36
|
* @param name - Database name (becomes filename or ODB-Lite database name)
|
|
37
37
|
* @param options - Optional creation options
|
|
38
|
+
* @returns Connection object (contains databaseHash for ODB-Lite)
|
|
38
39
|
*/
|
|
39
40
|
createDatabase(name: string, options?: {
|
|
40
41
|
schemaContent?: string;
|
|
41
|
-
}): Promise<
|
|
42
|
+
}): Promise<Connection>;
|
|
42
43
|
/**
|
|
43
44
|
* Check if a database exists
|
|
44
45
|
* @param name - Database name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/database/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAErB,UAAU,EAIX,MAAM,SAAS,CAAA;AAOhB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAqC;IAGxD,OAAO,CAAC,oBAAoB,CAAiC;IAC7D,OAAO,CAAC,cAAc,CAAQ;gBAElB,MAAM,EAAE,qBAAqB;IA6BzC
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/database/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EAErB,UAAU,EAIX,MAAM,SAAS,CAAA;AAOhB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAqC;IAGxD,OAAO,CAAC,oBAAoB,CAAiC;IAC7D,OAAO,CAAC,cAAc,CAAQ;gBAElB,MAAM,EAAE,qBAAqB;IA6BzC;;;;;OAKG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,UAAU,CAAC;IA6BtB;;;;;;;OAOG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BpD;;;;;;OAMG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkCtD;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;YACW,aAAa;IAoC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;YACW,QAAQ;CAqBvB"}
|
package/dist/database/types.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface Connection {
|
|
|
29
29
|
transaction<T>(fn: (tx: Connection) => Promise<T>): Promise<T>;
|
|
30
30
|
begin<T>(fn: (tx: Connection) => Promise<T>): Promise<T>;
|
|
31
31
|
close(): Promise<void>;
|
|
32
|
+
databaseHash?: string;
|
|
33
|
+
databaseName?: string;
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Prepared statement interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,CAAA;AAEf;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAEzB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAGtF,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1F,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAGvC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAGxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,cAAc,GACd,WAAW,GACX,WAAW,CAAA;AAEf;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAEzB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAGtF,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACpE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1F,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAGvC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAGxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACnC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAG1B,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAG5C,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,WAAW,CAAA;IAGpB,YAAY,EAAE,MAAM,CAAA;IAGpB,MAAM,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IAED,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IAGD,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,IAAI,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B"}
|
package/dist/index.cjs
CHANGED
|
@@ -1373,7 +1373,7 @@ const external_libsql_client_namespaceObject = require("@libsql/client");
|
|
|
1373
1373
|
apiKey: this.config.apiKey,
|
|
1374
1374
|
databaseId: db.hash
|
|
1375
1375
|
});
|
|
1376
|
-
return new ODBLiteConnection(client, this.serviceClient, databaseName);
|
|
1376
|
+
return new ODBLiteConnection(client, this.serviceClient, databaseName, db.hash);
|
|
1377
1377
|
}
|
|
1378
1378
|
async disconnect(tenantId) {
|
|
1379
1379
|
if (tenantId) {
|
|
@@ -1401,12 +1401,15 @@ const external_libsql_client_namespaceObject = require("@libsql/client");
|
|
|
1401
1401
|
*/ class ODBLiteConnection {
|
|
1402
1402
|
client;
|
|
1403
1403
|
serviceClient;
|
|
1404
|
-
databaseName;
|
|
1405
1404
|
inTransaction = false;
|
|
1406
|
-
|
|
1405
|
+
// Public metadata fields
|
|
1406
|
+
databaseName;
|
|
1407
|
+
databaseHash;
|
|
1408
|
+
constructor(client, serviceClient, databaseName, databaseHash){
|
|
1407
1409
|
this.client = client;
|
|
1408
1410
|
this.serviceClient = serviceClient;
|
|
1409
1411
|
this.databaseName = databaseName;
|
|
1412
|
+
this.databaseHash = databaseHash;
|
|
1410
1413
|
}
|
|
1411
1414
|
/**
|
|
1412
1415
|
* Template tag query (postgres.js-like)
|
|
@@ -1642,6 +1645,7 @@ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node
|
|
|
1642
1645
|
* Create a new database
|
|
1643
1646
|
* @param name - Database name (becomes filename or ODB-Lite database name)
|
|
1644
1647
|
* @param options - Optional creation options
|
|
1648
|
+
* @returns Connection object (contains databaseHash for ODB-Lite)
|
|
1645
1649
|
*/ async createDatabase(name, options) {
|
|
1646
1650
|
console.log(`📦 Creating database: ${name}`);
|
|
1647
1651
|
// Build database-specific config
|
|
@@ -1658,6 +1662,8 @@ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node
|
|
|
1658
1662
|
// Evict LRU if pool is full
|
|
1659
1663
|
if (this.connections.size > this.maxConnections) await this.evictLRU();
|
|
1660
1664
|
console.log(`✅ Database created: ${name}`);
|
|
1665
|
+
// Return connection so caller can access metadata (e.g., databaseHash for ODB-Lite)
|
|
1666
|
+
return conn;
|
|
1661
1667
|
}
|
|
1662
1668
|
/**
|
|
1663
1669
|
* Check if a database exists
|
package/dist/index.js
CHANGED
|
@@ -1298,7 +1298,7 @@ ODBLiteClient.join;
|
|
|
1298
1298
|
apiKey: this.config.apiKey,
|
|
1299
1299
|
databaseId: db.hash
|
|
1300
1300
|
});
|
|
1301
|
-
return new ODBLiteConnection(client, this.serviceClient, databaseName);
|
|
1301
|
+
return new ODBLiteConnection(client, this.serviceClient, databaseName, db.hash);
|
|
1302
1302
|
}
|
|
1303
1303
|
async disconnect(tenantId) {
|
|
1304
1304
|
if (tenantId) {
|
|
@@ -1326,12 +1326,15 @@ ODBLiteClient.join;
|
|
|
1326
1326
|
*/ class ODBLiteConnection {
|
|
1327
1327
|
client;
|
|
1328
1328
|
serviceClient;
|
|
1329
|
-
databaseName;
|
|
1330
1329
|
inTransaction = false;
|
|
1331
|
-
|
|
1330
|
+
// Public metadata fields
|
|
1331
|
+
databaseName;
|
|
1332
|
+
databaseHash;
|
|
1333
|
+
constructor(client, serviceClient, databaseName, databaseHash){
|
|
1332
1334
|
this.client = client;
|
|
1333
1335
|
this.serviceClient = serviceClient;
|
|
1334
1336
|
this.databaseName = databaseName;
|
|
1337
|
+
this.databaseHash = databaseHash;
|
|
1335
1338
|
}
|
|
1336
1339
|
/**
|
|
1337
1340
|
* Template tag query (postgres.js-like)
|
|
@@ -1565,6 +1568,7 @@ ODBLiteClient.join;
|
|
|
1565
1568
|
* Create a new database
|
|
1566
1569
|
* @param name - Database name (becomes filename or ODB-Lite database name)
|
|
1567
1570
|
* @param options - Optional creation options
|
|
1571
|
+
* @returns Connection object (contains databaseHash for ODB-Lite)
|
|
1568
1572
|
*/ async createDatabase(name, options) {
|
|
1569
1573
|
console.log(`📦 Creating database: ${name}`);
|
|
1570
1574
|
// Build database-specific config
|
|
@@ -1581,6 +1585,8 @@ ODBLiteClient.join;
|
|
|
1581
1585
|
// Evict LRU if pool is full
|
|
1582
1586
|
if (this.connections.size > this.maxConnections) await this.evictLRU();
|
|
1583
1587
|
console.log(`✅ Database created: ${name}`);
|
|
1588
|
+
// Return connection so caller can access metadata (e.g., databaseHash for ODB-Lite)
|
|
1589
|
+
return conn;
|
|
1584
1590
|
}
|
|
1585
1591
|
/**
|
|
1586
1592
|
* Check if a database exists
|
package/package.json
CHANGED
|
@@ -49,7 +49,7 @@ export class ODBLiteAdapter implements DatabaseAdapter {
|
|
|
49
49
|
databaseId: db.hash,
|
|
50
50
|
})
|
|
51
51
|
|
|
52
|
-
return new ODBLiteConnection(client, this.serviceClient, databaseName)
|
|
52
|
+
return new ODBLiteConnection(client, this.serviceClient, databaseName, db.hash)
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
async disconnect(tenantId?: string): Promise<void> {
|
|
@@ -81,17 +81,22 @@ export class ODBLiteAdapter implements DatabaseAdapter {
|
|
|
81
81
|
class ODBLiteConnection implements Connection {
|
|
82
82
|
private client: ODBLiteClient
|
|
83
83
|
private serviceClient: ServiceClient
|
|
84
|
-
private databaseName: string
|
|
85
84
|
private inTransaction = false
|
|
86
85
|
|
|
86
|
+
// Public metadata fields
|
|
87
|
+
public databaseName: string
|
|
88
|
+
public databaseHash: string
|
|
89
|
+
|
|
87
90
|
constructor(
|
|
88
91
|
client: ODBLiteClient,
|
|
89
92
|
serviceClient: ServiceClient,
|
|
90
|
-
databaseName: string
|
|
93
|
+
databaseName: string,
|
|
94
|
+
databaseHash: string
|
|
91
95
|
) {
|
|
92
96
|
this.client = client
|
|
93
97
|
this.serviceClient = serviceClient
|
|
94
98
|
this.databaseName = databaseName
|
|
99
|
+
this.databaseHash = databaseHash
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
/**
|
package/src/database/manager.ts
CHANGED
|
@@ -79,11 +79,12 @@ export class DatabaseManager {
|
|
|
79
79
|
* Create a new database
|
|
80
80
|
* @param name - Database name (becomes filename or ODB-Lite database name)
|
|
81
81
|
* @param options - Optional creation options
|
|
82
|
+
* @returns Connection object (contains databaseHash for ODB-Lite)
|
|
82
83
|
*/
|
|
83
84
|
async createDatabase(
|
|
84
85
|
name: string,
|
|
85
86
|
options?: { schemaContent?: string }
|
|
86
|
-
): Promise<
|
|
87
|
+
): Promise<Connection> {
|
|
87
88
|
console.log(`📦 Creating database: ${name}`)
|
|
88
89
|
|
|
89
90
|
// Build database-specific config
|
|
@@ -107,6 +108,9 @@ export class DatabaseManager {
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
console.log(`✅ Database created: ${name}`)
|
|
111
|
+
|
|
112
|
+
// Return connection so caller can access metadata (e.g., databaseHash for ODB-Lite)
|
|
113
|
+
return conn
|
|
110
114
|
}
|
|
111
115
|
|
|
112
116
|
/**
|