@tinycloud/sdk-services 1.5.0 → 1.7.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/duckdb/DuckDbDatabaseHandle.d.ts +23 -0
- package/dist/duckdb/DuckDbDatabaseHandle.d.ts.map +1 -0
- package/dist/duckdb/DuckDbDatabaseHandle.js +36 -0
- package/dist/duckdb/DuckDbDatabaseHandle.js.map +1 -0
- package/dist/duckdb/DuckDbService.d.ts +50 -0
- package/dist/duckdb/DuckDbService.d.ts.map +1 -0
- package/dist/duckdb/DuckDbService.js +285 -0
- package/dist/duckdb/DuckDbService.js.map +1 -0
- package/dist/duckdb/IDuckDbService.d.ts +84 -0
- package/dist/duckdb/IDuckDbService.d.ts.map +1 -0
- package/dist/duckdb/IDuckDbService.js +7 -0
- package/dist/duckdb/IDuckDbService.js.map +1 -0
- package/dist/duckdb/index.d.ts +10 -0
- package/dist/duckdb/index.d.ts.map +1 -0
- package/dist/duckdb/index.js +9 -0
- package/dist/duckdb/index.js.map +1 -0
- package/dist/duckdb/types.d.ts +148 -0
- package/dist/duckdb/types.d.ts.map +1 -0
- package/dist/duckdb/types.js +19 -0
- package/dist/duckdb/types.js.map +1 -0
- package/dist/errors.d.ts +19 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +39 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/kv/KVService.d.ts +2 -0
- package/dist/kv/KVService.d.ts.map +1 -1
- package/dist/kv/KVService.js +83 -1
- package/dist/kv/KVService.js.map +1 -1
- package/dist/quota/TinyCloudQuota.d.ts +27 -0
- package/dist/quota/TinyCloudQuota.d.ts.map +1 -0
- package/dist/quota/TinyCloudQuota.js +31 -0
- package/dist/quota/TinyCloudQuota.js.map +1 -0
- package/dist/quota/index.d.ts +3 -0
- package/dist/quota/index.d.ts.map +1 -0
- package/dist/quota/index.js +2 -0
- package/dist/quota/index.js.map +1 -0
- package/dist/sql/SQLService.d.ts.map +1 -1
- package/dist/sql/SQLService.js +12 -4
- package/dist/sql/SQLService.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -1
- package/dist/vault/DataVaultService.d.ts.map +1 -1
- package/dist/vault/DataVaultService.js +9 -7
- package/dist/vault/DataVaultService.js.map +1 -1
- package/dist/vault/index.d.ts +1 -1
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +1 -1
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/types.d.ts +2 -13
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js +6 -12
- package/dist/vault/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDbDatabaseHandle - Handle for operations on a specific named database.
|
|
3
|
+
*
|
|
4
|
+
* Delegates all operations to the parent DuckDbService with the database name.
|
|
5
|
+
*/
|
|
6
|
+
import type { Result } from "../types";
|
|
7
|
+
import type { IDuckDbDatabaseHandle } from "./IDuckDbService";
|
|
8
|
+
import type { DuckDbService } from "./DuckDbService";
|
|
9
|
+
import type { DuckDbValue, DuckDbStatement, QueryResponse, ExecuteResponse, BatchResponse, SchemaInfo, DuckDbQueryOptions, DuckDbExecuteOptions, DuckDbBatchOptions, DuckDbOptions } from "./types";
|
|
10
|
+
export declare class DuckDbDatabaseHandle implements IDuckDbDatabaseHandle {
|
|
11
|
+
private service;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
constructor(service: DuckDbService, name: string);
|
|
14
|
+
query<T = Record<string, unknown>>(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse<T>>>;
|
|
15
|
+
queryArrow(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<ArrayBuffer>>;
|
|
16
|
+
execute(sql: string, params?: DuckDbValue[], options?: DuckDbExecuteOptions): Promise<Result<ExecuteResponse>>;
|
|
17
|
+
batch(statements: DuckDbStatement[], options?: DuckDbBatchOptions): Promise<Result<BatchResponse>>;
|
|
18
|
+
executeStatement(name: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse | ExecuteResponse>>;
|
|
19
|
+
describe(options?: DuckDbOptions): Promise<Result<SchemaInfo>>;
|
|
20
|
+
export(options?: DuckDbOptions): Promise<Result<Blob>>;
|
|
21
|
+
import(data: Uint8Array, options?: DuckDbOptions): Promise<Result<void>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=DuckDbDatabaseHandle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DuckDbDatabaseHandle.d.ts","sourceRoot":"","sources":["../../src/duckdb/DuckDbDatabaseHandle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,OAAO,CAAgB;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM;IAK1C,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAI9B,UAAU,CACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAIzB,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAI7B,KAAK,CACT,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAI3B,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC;IAI7C,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAI9D,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAItD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAG/E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDbDatabaseHandle - Handle for operations on a specific named database.
|
|
3
|
+
*
|
|
4
|
+
* Delegates all operations to the parent DuckDbService with the database name.
|
|
5
|
+
*/
|
|
6
|
+
export class DuckDbDatabaseHandle {
|
|
7
|
+
constructor(service, name) {
|
|
8
|
+
this.service = service;
|
|
9
|
+
this.name = name;
|
|
10
|
+
}
|
|
11
|
+
async query(sql, params, options) {
|
|
12
|
+
return this.service.queryOnDb(this.name, sql, params, options);
|
|
13
|
+
}
|
|
14
|
+
async queryArrow(sql, params, options) {
|
|
15
|
+
return this.service.queryArrowOnDb(this.name, sql, params, options);
|
|
16
|
+
}
|
|
17
|
+
async execute(sql, params, options) {
|
|
18
|
+
return this.service.executeOnDb(this.name, sql, params, options);
|
|
19
|
+
}
|
|
20
|
+
async batch(statements, options) {
|
|
21
|
+
return this.service.batchOnDb(this.name, statements, options);
|
|
22
|
+
}
|
|
23
|
+
async executeStatement(name, params, options) {
|
|
24
|
+
return this.service.executeStatementOnDb(this.name, name, params, options);
|
|
25
|
+
}
|
|
26
|
+
async describe(options) {
|
|
27
|
+
return this.service.describeDb(this.name, options);
|
|
28
|
+
}
|
|
29
|
+
async export(options) {
|
|
30
|
+
return this.service.exportOnDb(this.name, options);
|
|
31
|
+
}
|
|
32
|
+
async import(data, options) {
|
|
33
|
+
return this.service.importOnDb(this.name, data, options);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=DuckDbDatabaseHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DuckDbDatabaseHandle.js","sourceRoot":"","sources":["../../src/duckdb/DuckDbDatabaseHandle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,OAAO,oBAAoB;IAI/B,YAAY,OAAsB,EAAE,IAAY;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,MAAsB,EACtB,OAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,GAAW,EACX,MAAsB,EACtB,OAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,GAAW,EACX,MAAsB,EACtB,OAA8B;QAE9B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAA6B,EAC7B,OAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,MAAsB,EACtB,OAA4B;QAE5B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAuB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAgB,EAAE,OAAuB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDbService - DuckDB database service implementation.
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic DuckDB service that works with both web-sdk and node-sdk.
|
|
5
|
+
* Uses dependency injection via IServiceContext for platform dependencies.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseService } from "../base/BaseService";
|
|
8
|
+
import { Result } from "../types";
|
|
9
|
+
import type { IDuckDbService, IDuckDbDatabaseHandle } from "./IDuckDbService";
|
|
10
|
+
import { type DuckDbServiceConfig, type DuckDbQueryOptions, type DuckDbExecuteOptions, type DuckDbBatchOptions, type DuckDbOptions, type DuckDbValue, type DuckDbStatement, type QueryResponse, type ExecuteResponse, type BatchResponse, type SchemaInfo } from "./types";
|
|
11
|
+
export declare class DuckDbService extends BaseService implements IDuckDbService {
|
|
12
|
+
static readonly serviceName = "duckdb";
|
|
13
|
+
protected _config: DuckDbServiceConfig;
|
|
14
|
+
constructor(config?: DuckDbServiceConfig);
|
|
15
|
+
get config(): DuckDbServiceConfig;
|
|
16
|
+
private get defaultDbName();
|
|
17
|
+
private get host();
|
|
18
|
+
/**
|
|
19
|
+
* Get a handle to a named database.
|
|
20
|
+
*/
|
|
21
|
+
db(name?: string): IDuckDbDatabaseHandle;
|
|
22
|
+
/**
|
|
23
|
+
* Shortcut: query the default database (JSON format).
|
|
24
|
+
*/
|
|
25
|
+
query<T = Record<string, unknown>>(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse<T>>>;
|
|
26
|
+
/**
|
|
27
|
+
* Shortcut: query the default database (Arrow IPC format).
|
|
28
|
+
*/
|
|
29
|
+
queryArrow(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<ArrayBuffer>>;
|
|
30
|
+
/**
|
|
31
|
+
* Shortcut: execute on the default database.
|
|
32
|
+
*/
|
|
33
|
+
execute(sql: string, params?: DuckDbValue[], options?: DuckDbExecuteOptions): Promise<Result<ExecuteResponse>>;
|
|
34
|
+
/**
|
|
35
|
+
* Shortcut: batch on the default database.
|
|
36
|
+
*/
|
|
37
|
+
batch(statements: DuckDbStatement[], options?: DuckDbBatchOptions): Promise<Result<BatchResponse>>;
|
|
38
|
+
queryOnDb<T = Record<string, unknown>>(dbName: string, sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse<T>>>;
|
|
39
|
+
queryArrowOnDb(dbName: string, sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<ArrayBuffer>>;
|
|
40
|
+
executeOnDb(dbName: string, sql: string, params?: DuckDbValue[], options?: DuckDbExecuteOptions): Promise<Result<ExecuteResponse>>;
|
|
41
|
+
batchOnDb(dbName: string, statements: DuckDbStatement[], options?: DuckDbBatchOptions): Promise<Result<BatchResponse>>;
|
|
42
|
+
executeStatementOnDb(dbName: string, name: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse | ExecuteResponse>>;
|
|
43
|
+
describeDb(dbName: string, options?: DuckDbOptions): Promise<Result<SchemaInfo>>;
|
|
44
|
+
exportOnDb(dbName: string, options?: DuckDbOptions): Promise<Result<Blob>>;
|
|
45
|
+
importOnDb(dbName: string, data: Uint8Array, options?: DuckDbOptions): Promise<Result<void>>;
|
|
46
|
+
private invokeDuckDb;
|
|
47
|
+
private handleErrorResponse;
|
|
48
|
+
private mapHttpStatusToErrorCode;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=DuckDbService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DuckDbService.d.ts","sourceRoot":"","sources":["../../src/duckdb/DuckDbService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,MAAM,EAMP,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAc,SAAQ,WAAY,YAAW,cAAc;IACtE,MAAM,CAAC,QAAQ,CAAC,WAAW,YAAY;IAEvC,UAAkB,OAAO,EAAE,mBAAmB,CAAC;gBAEnC,MAAM,GAAE,mBAAwB;IAK5C,IAAI,MAAM,IAAI,mBAAmB,CAEhC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,IAAI,GAEf;IAED;;OAEG;IACH,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAIxC;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAIpC;;OAEG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAI/B;;OAEG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAInC;;OAEG;IACG,KAAK,CACT,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAM3B,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IA0B9B,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IA2BzB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAmC7B,SAAS,CACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAkC3B,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,EAAE,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC,CAAC;IA4B7C,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IA0BxB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IA0BlB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAsCV,YAAY;YAsBZ,mBAAmB;IAkCjC,OAAO,CAAC,wBAAwB;CAwBjC"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDbService - DuckDB database service implementation.
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic DuckDB service that works with both web-sdk and node-sdk.
|
|
5
|
+
* Uses dependency injection via IServiceContext for platform dependencies.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseService } from "../base/BaseService";
|
|
8
|
+
import { ok, err, ErrorCodes, serviceError, } from "../types";
|
|
9
|
+
import { authRequiredError, wrapError, parseAuthError } from "../errors";
|
|
10
|
+
import { DuckDbDatabaseHandle } from "./DuckDbDatabaseHandle";
|
|
11
|
+
import { DuckDbAction, } from "./types";
|
|
12
|
+
export class DuckDbService extends BaseService {
|
|
13
|
+
constructor(config = {}) {
|
|
14
|
+
super();
|
|
15
|
+
this._config = config;
|
|
16
|
+
}
|
|
17
|
+
get config() {
|
|
18
|
+
return this._config;
|
|
19
|
+
}
|
|
20
|
+
get defaultDbName() {
|
|
21
|
+
return this._config.defaultDatabase ?? "default";
|
|
22
|
+
}
|
|
23
|
+
get host() {
|
|
24
|
+
return this.context.hosts[0];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get a handle to a named database.
|
|
28
|
+
*/
|
|
29
|
+
db(name) {
|
|
30
|
+
return new DuckDbDatabaseHandle(this, name ?? this.defaultDbName);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Shortcut: query the default database (JSON format).
|
|
34
|
+
*/
|
|
35
|
+
async query(sql, params, options) {
|
|
36
|
+
return this.queryOnDb(this.defaultDbName, sql, params, options);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Shortcut: query the default database (Arrow IPC format).
|
|
40
|
+
*/
|
|
41
|
+
async queryArrow(sql, params, options) {
|
|
42
|
+
return this.queryArrowOnDb(this.defaultDbName, sql, params, options);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Shortcut: execute on the default database.
|
|
46
|
+
*/
|
|
47
|
+
async execute(sql, params, options) {
|
|
48
|
+
return this.executeOnDb(this.defaultDbName, sql, params, options);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Shortcut: batch on the default database.
|
|
52
|
+
*/
|
|
53
|
+
async batch(statements, options) {
|
|
54
|
+
return this.batchOnDb(this.defaultDbName, statements, options);
|
|
55
|
+
}
|
|
56
|
+
// === Internal methods called by DuckDbDatabaseHandle ===
|
|
57
|
+
async queryOnDb(dbName, sql, params, options) {
|
|
58
|
+
return this.withTelemetry("query", dbName, async () => {
|
|
59
|
+
if (!this.requireAuth()) {
|
|
60
|
+
return err(authRequiredError("duckdb"));
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.READ, { action: "query", sql, params: params ?? [] }, options?.signal);
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
return this.handleErrorResponse(response, "query");
|
|
66
|
+
}
|
|
67
|
+
const data = (await response.json());
|
|
68
|
+
return ok(data);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return err(wrapError("duckdb", error));
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async queryArrowOnDb(dbName, sql, params, options) {
|
|
76
|
+
return this.withTelemetry("queryArrow", dbName, async () => {
|
|
77
|
+
if (!this.requireAuth()) {
|
|
78
|
+
return err(authRequiredError("duckdb"));
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.READ, { action: "query", sql, params: params ?? [] }, options?.signal, { Accept: "application/vnd.apache.arrow.stream" });
|
|
82
|
+
if (!response.ok) {
|
|
83
|
+
return this.handleErrorResponse(response, "queryArrow");
|
|
84
|
+
}
|
|
85
|
+
const buffer = await response.arrayBuffer();
|
|
86
|
+
return ok(buffer);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
return err(wrapError("duckdb", error));
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async executeOnDb(dbName, sql, params, options) {
|
|
94
|
+
return this.withTelemetry("execute", dbName, async () => {
|
|
95
|
+
if (!this.requireAuth()) {
|
|
96
|
+
return err(authRequiredError("duckdb"));
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const body = {
|
|
100
|
+
action: "execute",
|
|
101
|
+
sql,
|
|
102
|
+
params: params ?? [],
|
|
103
|
+
};
|
|
104
|
+
if (options?.schema) {
|
|
105
|
+
body.schema = options.schema;
|
|
106
|
+
}
|
|
107
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.WRITE, body, options?.signal);
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
return this.handleErrorResponse(response, "execute");
|
|
110
|
+
}
|
|
111
|
+
const data = (await response.json());
|
|
112
|
+
return ok(data);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
return err(wrapError("duckdb", error));
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
async batchOnDb(dbName, statements, options) {
|
|
120
|
+
return this.withTelemetry("batch", dbName, async () => {
|
|
121
|
+
if (!this.requireAuth()) {
|
|
122
|
+
return err(authRequiredError("duckdb"));
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
const body = {
|
|
126
|
+
action: "batch",
|
|
127
|
+
statements,
|
|
128
|
+
};
|
|
129
|
+
if (options?.transactional !== undefined) {
|
|
130
|
+
body.transactional = options.transactional;
|
|
131
|
+
}
|
|
132
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.WRITE, body, options?.signal);
|
|
133
|
+
if (!response.ok) {
|
|
134
|
+
return this.handleErrorResponse(response, "batch");
|
|
135
|
+
}
|
|
136
|
+
const data = (await response.json());
|
|
137
|
+
return ok(data);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return err(wrapError("duckdb", error));
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
async executeStatementOnDb(dbName, name, params, options) {
|
|
145
|
+
return this.withTelemetry("executeStatement", dbName, async () => {
|
|
146
|
+
if (!this.requireAuth()) {
|
|
147
|
+
return err(authRequiredError("duckdb"));
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.EXECUTE, { action: "executeStatement", name, params: params ?? [] }, options?.signal);
|
|
151
|
+
if (!response.ok) {
|
|
152
|
+
return this.handleErrorResponse(response, "executeStatement");
|
|
153
|
+
}
|
|
154
|
+
const data = (await response.json());
|
|
155
|
+
return ok(data);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
return err(wrapError("duckdb", error));
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
async describeDb(dbName, options) {
|
|
163
|
+
return this.withTelemetry("describe", dbName, async () => {
|
|
164
|
+
if (!this.requireAuth()) {
|
|
165
|
+
return err(authRequiredError("duckdb"));
|
|
166
|
+
}
|
|
167
|
+
try {
|
|
168
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.DESCRIBE, { action: "describe" }, options?.signal);
|
|
169
|
+
if (!response.ok) {
|
|
170
|
+
return this.handleErrorResponse(response, "describe");
|
|
171
|
+
}
|
|
172
|
+
const data = (await response.json());
|
|
173
|
+
return ok(data);
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
return err(wrapError("duckdb", error));
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
async exportOnDb(dbName, options) {
|
|
181
|
+
return this.withTelemetry("export", dbName, async () => {
|
|
182
|
+
if (!this.requireAuth()) {
|
|
183
|
+
return err(authRequiredError("duckdb"));
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
const response = await this.invokeDuckDb(dbName, DuckDbAction.EXPORT, { action: "export" }, options?.signal);
|
|
187
|
+
if (!response.ok) {
|
|
188
|
+
return this.handleErrorResponse(response, "export");
|
|
189
|
+
}
|
|
190
|
+
const blob = await response.blob();
|
|
191
|
+
return ok(blob);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
return err(wrapError("duckdb", error));
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
async importOnDb(dbName, data, options) {
|
|
199
|
+
return this.withTelemetry("import", dbName, async () => {
|
|
200
|
+
if (!this.requireAuth()) {
|
|
201
|
+
return err(authRequiredError("duckdb"));
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
const session = this.context.session;
|
|
205
|
+
const headers = this.context.invoke(session, "duckdb", dbName, DuckDbAction.IMPORT);
|
|
206
|
+
const response = await this.context.fetch(`${this.host}/invoke`, {
|
|
207
|
+
method: "POST",
|
|
208
|
+
headers: {
|
|
209
|
+
...headers,
|
|
210
|
+
"Content-Type": "application/x-duckdb",
|
|
211
|
+
},
|
|
212
|
+
body: new Blob([data]),
|
|
213
|
+
signal: this.combineSignals(options?.signal),
|
|
214
|
+
});
|
|
215
|
+
if (!response.ok) {
|
|
216
|
+
return this.handleErrorResponse(response, "import");
|
|
217
|
+
}
|
|
218
|
+
return ok(undefined);
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
return err(wrapError("duckdb", error));
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
// === Private helpers ===
|
|
226
|
+
async invokeDuckDb(dbName, action, body, signal, extraHeaders) {
|
|
227
|
+
const session = this.context.session;
|
|
228
|
+
const headers = this.context.invoke(session, "duckdb", dbName, action);
|
|
229
|
+
return this.context.fetch(`${this.host}/invoke`, {
|
|
230
|
+
method: "POST",
|
|
231
|
+
headers: {
|
|
232
|
+
...headers,
|
|
233
|
+
"Content-Type": "application/json",
|
|
234
|
+
...extraHeaders,
|
|
235
|
+
},
|
|
236
|
+
body: JSON.stringify(body),
|
|
237
|
+
signal: this.combineSignals(signal),
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
async handleErrorResponse(response, operation) {
|
|
241
|
+
const errorText = await response.text();
|
|
242
|
+
let errorBody = {};
|
|
243
|
+
try {
|
|
244
|
+
errorBody = JSON.parse(errorText);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// Not JSON
|
|
248
|
+
}
|
|
249
|
+
const errorCode = this.mapHttpStatusToErrorCode(response.status, errorBody.error);
|
|
250
|
+
const message = errorBody.message ||
|
|
251
|
+
`DuckDB ${operation} failed: ${response.status} - ${errorText}`;
|
|
252
|
+
const meta = { status: response.status, statusText: response.statusText };
|
|
253
|
+
if (response.status === 401) {
|
|
254
|
+
const { resource, action } = parseAuthError(errorText);
|
|
255
|
+
if (action)
|
|
256
|
+
meta.requiredAction = action;
|
|
257
|
+
if (resource)
|
|
258
|
+
meta.resource = resource;
|
|
259
|
+
}
|
|
260
|
+
return err(serviceError(errorCode, message, "duckdb", { meta }));
|
|
261
|
+
}
|
|
262
|
+
mapHttpStatusToErrorCode(status, serverError) {
|
|
263
|
+
switch (status) {
|
|
264
|
+
case 400:
|
|
265
|
+
return ErrorCodes.DUCKDB_ERROR;
|
|
266
|
+
case 401:
|
|
267
|
+
return ErrorCodes.AUTH_UNAUTHORIZED;
|
|
268
|
+
case 403:
|
|
269
|
+
if (serverError === "duckdb_readonly_violation") {
|
|
270
|
+
return ErrorCodes.DUCKDB_READONLY_VIOLATION;
|
|
271
|
+
}
|
|
272
|
+
return ErrorCodes.DUCKDB_PERMISSION_DENIED;
|
|
273
|
+
case 404:
|
|
274
|
+
return ErrorCodes.DUCKDB_DATABASE_NOT_FOUND;
|
|
275
|
+
case 413:
|
|
276
|
+
return ErrorCodes.DUCKDB_RESPONSE_TOO_LARGE;
|
|
277
|
+
case 429:
|
|
278
|
+
return ErrorCodes.DUCKDB_QUOTA_EXCEEDED;
|
|
279
|
+
default:
|
|
280
|
+
return ErrorCodes.NETWORK_ERROR;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
DuckDbService.serviceName = "duckdb";
|
|
285
|
+
//# sourceMappingURL=DuckDbService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DuckDbService.js","sourceRoot":"","sources":["../../src/duckdb/DuckDbService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IDuckDbService - Interface for DuckDB service.
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic interface for DuckDB database operations.
|
|
5
|
+
*/
|
|
6
|
+
import type { IService, Result } from "../types";
|
|
7
|
+
import type { DuckDbServiceConfig, DuckDbQueryOptions, DuckDbExecuteOptions, DuckDbBatchOptions, DuckDbOptions, DuckDbValue, DuckDbStatement, QueryResponse, ExecuteResponse, BatchResponse, SchemaInfo } from "./types";
|
|
8
|
+
/**
|
|
9
|
+
* Database handle interface for operations on a specific named database.
|
|
10
|
+
*/
|
|
11
|
+
export interface IDuckDbDatabaseHandle {
|
|
12
|
+
/** The database name */
|
|
13
|
+
readonly name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Execute a DuckDB query and return rows as JSON.
|
|
16
|
+
*/
|
|
17
|
+
query<T = Record<string, unknown>>(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse<T>>>;
|
|
18
|
+
/**
|
|
19
|
+
* Execute a DuckDB query and return results as Arrow IPC stream.
|
|
20
|
+
*/
|
|
21
|
+
queryArrow(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<ArrayBuffer>>;
|
|
22
|
+
/**
|
|
23
|
+
* Execute a DuckDB statement and return change count.
|
|
24
|
+
*/
|
|
25
|
+
execute(sql: string, params?: DuckDbValue[], options?: DuckDbExecuteOptions): Promise<Result<ExecuteResponse>>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute multiple statements in a batch.
|
|
28
|
+
*/
|
|
29
|
+
batch(statements: DuckDbStatement[], options?: DuckDbBatchOptions): Promise<Result<BatchResponse>>;
|
|
30
|
+
/**
|
|
31
|
+
* Execute a named prepared statement from delegation caveats.
|
|
32
|
+
*/
|
|
33
|
+
executeStatement(name: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse | ExecuteResponse>>;
|
|
34
|
+
/**
|
|
35
|
+
* Describe the database schema.
|
|
36
|
+
*/
|
|
37
|
+
describe(options?: DuckDbOptions): Promise<Result<SchemaInfo>>;
|
|
38
|
+
/**
|
|
39
|
+
* Export the database as a Blob.
|
|
40
|
+
*/
|
|
41
|
+
export(options?: DuckDbOptions): Promise<Result<Blob>>;
|
|
42
|
+
/**
|
|
43
|
+
* Import a binary DuckDB database file.
|
|
44
|
+
*/
|
|
45
|
+
import(data: Uint8Array, options?: DuckDbOptions): Promise<Result<void>>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* DuckDB service interface.
|
|
49
|
+
*
|
|
50
|
+
* Provides DuckDB database operations with:
|
|
51
|
+
* - Result type pattern (no throwing)
|
|
52
|
+
* - Named database handles
|
|
53
|
+
* - Configurable timeouts
|
|
54
|
+
* - Abort signal support
|
|
55
|
+
* - Arrow format support via queryArrow()
|
|
56
|
+
*/
|
|
57
|
+
export interface IDuckDbService extends IService {
|
|
58
|
+
/**
|
|
59
|
+
* Get a handle to a named database.
|
|
60
|
+
* @param name - Database name (defaults to "default")
|
|
61
|
+
*/
|
|
62
|
+
db(name?: string): IDuckDbDatabaseHandle;
|
|
63
|
+
/**
|
|
64
|
+
* Shortcut: query the default database (JSON format).
|
|
65
|
+
*/
|
|
66
|
+
query<T = Record<string, unknown>>(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<QueryResponse<T>>>;
|
|
67
|
+
/**
|
|
68
|
+
* Shortcut: query the default database (Arrow IPC format).
|
|
69
|
+
*/
|
|
70
|
+
queryArrow(sql: string, params?: DuckDbValue[], options?: DuckDbQueryOptions): Promise<Result<ArrayBuffer>>;
|
|
71
|
+
/**
|
|
72
|
+
* Shortcut: execute on the default database.
|
|
73
|
+
*/
|
|
74
|
+
execute(sql: string, params?: DuckDbValue[], options?: DuckDbExecuteOptions): Promise<Result<ExecuteResponse>>;
|
|
75
|
+
/**
|
|
76
|
+
* Shortcut: batch on the default database.
|
|
77
|
+
*/
|
|
78
|
+
batch(statements: DuckDbStatement[], options?: DuckDbBatchOptions): Promise<Result<BatchResponse>>;
|
|
79
|
+
/**
|
|
80
|
+
* Service configuration.
|
|
81
|
+
*/
|
|
82
|
+
readonly config: DuckDbServiceConfig;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=IDuckDbService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDuckDbService.d.ts","sourceRoot":"","sources":["../../src/duckdb/IDuckDbService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDuckDbService.js","sourceRoot":"","sources":["../../src/duckdb/IDuckDbService.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDB Service Module
|
|
3
|
+
*
|
|
4
|
+
* Provides DuckDB database operations for TinyCloud.
|
|
5
|
+
*/
|
|
6
|
+
export { DuckDbService } from "./DuckDbService";
|
|
7
|
+
export { DuckDbDatabaseHandle } from "./DuckDbDatabaseHandle";
|
|
8
|
+
export type { IDuckDbService, IDuckDbDatabaseHandle } from "./IDuckDbService";
|
|
9
|
+
export { DuckDbAction, type DuckDbActionType, type DuckDbServiceConfig, type DuckDbQueryOptions, type DuckDbExecuteOptions, type DuckDbBatchOptions, type DuckDbOptions, type DuckDbValue, type DuckDbStatement, type QueryResponse as DuckDbQueryResponse, type ExecuteResponse as DuckDbExecuteResponse, type BatchResponse as DuckDbBatchResponse, type SchemaInfo, type TableInfo, type ColumnInfo, type ViewInfo, } from "./types";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/duckdb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,IAAI,mBAAmB,EACzC,KAAK,eAAe,IAAI,qBAAqB,EAC7C,KAAK,aAAa,IAAI,mBAAmB,EACzC,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DuckDB Service Module
|
|
3
|
+
*
|
|
4
|
+
* Provides DuckDB database operations for TinyCloud.
|
|
5
|
+
*/
|
|
6
|
+
export { DuckDbService } from "./DuckDbService";
|
|
7
|
+
export { DuckDbDatabaseHandle } from "./DuckDbDatabaseHandle";
|
|
8
|
+
export { DuckDbAction, } from "./types";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/duckdb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EACL,YAAY,GAgBb,MAAM,SAAS,CAAC"}
|