@aigne/afs-sqlite 1.11.0-beta → 1.11.0-beta.1
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/LICENSE.md +17 -84
- package/README.md +0 -3
- package/dist/actions/built-in.cjs +142 -0
- package/dist/actions/built-in.d.cts +10 -0
- package/dist/actions/built-in.d.cts.map +1 -0
- package/dist/actions/built-in.d.mts +10 -0
- package/dist/actions/built-in.d.mts.map +1 -0
- package/dist/actions/built-in.mjs +143 -0
- package/dist/actions/built-in.mjs.map +1 -0
- package/dist/actions/registry.cjs +91 -0
- package/dist/actions/registry.d.cts +54 -0
- package/dist/actions/registry.d.cts.map +1 -0
- package/dist/actions/registry.d.mts +54 -0
- package/dist/actions/registry.d.mts.map +1 -0
- package/dist/actions/registry.mjs +91 -0
- package/dist/actions/registry.mjs.map +1 -0
- package/dist/actions/types.d.cts +56 -0
- package/dist/actions/types.d.cts.map +1 -0
- package/dist/actions/types.d.mts +56 -0
- package/dist/actions/types.d.mts.map +1 -0
- package/dist/config.cjs +27 -0
- package/dist/config.d.cts +81 -0
- package/dist/config.d.cts.map +1 -0
- package/dist/config.d.mts +81 -0
- package/dist/config.d.mts.map +1 -0
- package/dist/config.mjs +28 -0
- package/dist/config.mjs.map +1 -0
- package/dist/index.cjs +38 -1324
- package/dist/index.d.cts +14 -758
- package/dist/index.d.mts +14 -758
- package/dist/index.mjs +12 -1299
- package/dist/node/builder.cjs +179 -0
- package/dist/node/builder.d.cts +48 -0
- package/dist/node/builder.d.cts.map +1 -0
- package/dist/node/builder.d.mts +48 -0
- package/dist/node/builder.d.mts.map +1 -0
- package/dist/node/builder.mjs +172 -0
- package/dist/node/builder.mjs.map +1 -0
- package/dist/operations/crud.cjs +176 -0
- package/dist/operations/crud.d.cts +69 -0
- package/dist/operations/crud.d.cts.map +1 -0
- package/dist/operations/crud.d.mts +69 -0
- package/dist/operations/crud.d.mts.map +1 -0
- package/dist/operations/crud.mjs +177 -0
- package/dist/operations/crud.mjs.map +1 -0
- package/dist/operations/query-builder.cjs +77 -0
- package/dist/operations/query-builder.d.cts +34 -0
- package/dist/operations/query-builder.d.cts.map +1 -0
- package/dist/operations/query-builder.d.mts +34 -0
- package/dist/operations/query-builder.d.mts.map +1 -0
- package/dist/operations/query-builder.mjs +72 -0
- package/dist/operations/query-builder.mjs.map +1 -0
- package/dist/operations/search.cjs +141 -0
- package/dist/operations/search.d.cts +79 -0
- package/dist/operations/search.d.cts.map +1 -0
- package/dist/operations/search.d.mts +79 -0
- package/dist/operations/search.d.mts.map +1 -0
- package/dist/operations/search.mjs +141 -0
- package/dist/operations/search.mjs.map +1 -0
- package/dist/router/path-router.cjs +79 -0
- package/dist/router/path-router.d.cts +42 -0
- package/dist/router/path-router.d.cts.map +1 -0
- package/dist/router/path-router.d.mts +42 -0
- package/dist/router/path-router.d.mts.map +1 -0
- package/dist/router/path-router.mjs +76 -0
- package/dist/router/path-router.mjs.map +1 -0
- package/dist/router/types.d.cts +34 -0
- package/dist/router/types.d.cts.map +1 -0
- package/dist/router/types.d.mts +34 -0
- package/dist/router/types.d.mts.map +1 -0
- package/dist/schema/introspector.cjs +160 -0
- package/dist/schema/introspector.d.cts +49 -0
- package/dist/schema/introspector.d.cts.map +1 -0
- package/dist/schema/introspector.d.mts +49 -0
- package/dist/schema/introspector.d.mts.map +1 -0
- package/dist/schema/introspector.mjs +161 -0
- package/dist/schema/introspector.mjs.map +1 -0
- package/dist/schema/types.cjs +15 -0
- package/dist/schema/types.d.cts +104 -0
- package/dist/schema/types.d.cts.map +1 -0
- package/dist/schema/types.d.mts +104 -0
- package/dist/schema/types.d.mts.map +1 -0
- package/dist/schema/types.mjs +15 -0
- package/dist/schema/types.mjs.map +1 -0
- package/dist/sqlite-afs.cjs +264 -0
- package/dist/sqlite-afs.d.cts +152 -0
- package/dist/sqlite-afs.d.cts.map +1 -0
- package/dist/sqlite-afs.d.mts +152 -0
- package/dist/sqlite-afs.d.mts.map +1 -0
- package/dist/sqlite-afs.mjs +265 -0
- package/dist/sqlite-afs.mjs.map +1 -0
- package/package.json +3 -3
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { TableSchema } from "./schema/types.mjs";
|
|
2
|
+
import { ActionContext } from "./actions/types.mjs";
|
|
3
|
+
import { SQLiteAFSOptions } from "./config.mjs";
|
|
4
|
+
import { AFSAccessMode, AFSDeleteOptions, AFSDeleteResult, AFSExecOptions, AFSExecResult, AFSListOptions, AFSListResult, AFSModule, AFSModuleLoadParams, AFSReadOptions, AFSReadResult, AFSRoot, AFSSearchOptions, AFSSearchResult, AFSWriteEntryPayload, AFSWriteOptions, AFSWriteResult } from "@aigne/afs";
|
|
5
|
+
import * as zod0 from "zod";
|
|
6
|
+
import { LibSQLDatabase } from "drizzle-orm/libsql";
|
|
7
|
+
|
|
8
|
+
//#region src/sqlite-afs.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* SQLite AFS Module
|
|
11
|
+
*
|
|
12
|
+
* Exposes SQLite databases as AFS nodes with full CRUD support,
|
|
13
|
+
* schema introspection, FTS5 search, and virtual paths (@attr, @meta, @actions).
|
|
14
|
+
*/
|
|
15
|
+
declare class SQLiteAFS implements AFSModule {
|
|
16
|
+
private options;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly description: string;
|
|
19
|
+
readonly accessMode: AFSAccessMode;
|
|
20
|
+
private db;
|
|
21
|
+
private schemas;
|
|
22
|
+
private router;
|
|
23
|
+
private crud;
|
|
24
|
+
private ftsSearch;
|
|
25
|
+
private actions;
|
|
26
|
+
private ftsConfig;
|
|
27
|
+
private initialized;
|
|
28
|
+
constructor(options: SQLiteAFSOptions);
|
|
29
|
+
/**
|
|
30
|
+
* Returns the Zod schema for configuration validation
|
|
31
|
+
*/
|
|
32
|
+
static schema(): zod0.ZodObject<{
|
|
33
|
+
url: zod0.ZodString;
|
|
34
|
+
name: zod0.ZodOptional<zod0.ZodString>;
|
|
35
|
+
description: zod0.ZodOptional<zod0.ZodString>;
|
|
36
|
+
accessMode: zod0.ZodOptional<zod0.ZodEnum<["readonly", "readwrite"]>>;
|
|
37
|
+
tables: zod0.ZodOptional<zod0.ZodArray<zod0.ZodString, "many">>;
|
|
38
|
+
excludeTables: zod0.ZodOptional<zod0.ZodArray<zod0.ZodString, "many">>;
|
|
39
|
+
fts: zod0.ZodOptional<zod0.ZodObject<{
|
|
40
|
+
enabled: zod0.ZodDefault<zod0.ZodBoolean>;
|
|
41
|
+
tables: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodArray<zod0.ZodString, "many">>>;
|
|
42
|
+
}, "strip", zod0.ZodTypeAny, {
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
tables?: Record<string, string[]> | undefined;
|
|
45
|
+
}, {
|
|
46
|
+
tables?: Record<string, string[]> | undefined;
|
|
47
|
+
enabled?: boolean | undefined;
|
|
48
|
+
}>>;
|
|
49
|
+
wal: zod0.ZodDefault<zod0.ZodOptional<zod0.ZodBoolean>>;
|
|
50
|
+
}, "strip", zod0.ZodTypeAny, {
|
|
51
|
+
url: string;
|
|
52
|
+
wal: boolean;
|
|
53
|
+
name?: string | undefined;
|
|
54
|
+
description?: string | undefined;
|
|
55
|
+
accessMode?: "readonly" | "readwrite" | undefined;
|
|
56
|
+
tables?: string[] | undefined;
|
|
57
|
+
excludeTables?: string[] | undefined;
|
|
58
|
+
fts?: {
|
|
59
|
+
enabled: boolean;
|
|
60
|
+
tables?: Record<string, string[]> | undefined;
|
|
61
|
+
} | undefined;
|
|
62
|
+
}, {
|
|
63
|
+
url: string;
|
|
64
|
+
name?: string | undefined;
|
|
65
|
+
description?: string | undefined;
|
|
66
|
+
accessMode?: "readonly" | "readwrite" | undefined;
|
|
67
|
+
tables?: string[] | undefined;
|
|
68
|
+
excludeTables?: string[] | undefined;
|
|
69
|
+
fts?: {
|
|
70
|
+
tables?: Record<string, string[]> | undefined;
|
|
71
|
+
enabled?: boolean | undefined;
|
|
72
|
+
} | undefined;
|
|
73
|
+
wal?: boolean | undefined;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Loads a module instance from configuration
|
|
77
|
+
*/
|
|
78
|
+
static load({
|
|
79
|
+
parsed
|
|
80
|
+
}: AFSModuleLoadParams): Promise<SQLiteAFS>;
|
|
81
|
+
/**
|
|
82
|
+
* Called when the module is mounted to AFS
|
|
83
|
+
*/
|
|
84
|
+
onMount(_afs: AFSRoot): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Initializes the database connection and introspects schema
|
|
87
|
+
*/
|
|
88
|
+
private initialize;
|
|
89
|
+
/**
|
|
90
|
+
* Ensures the module is initialized
|
|
91
|
+
*/
|
|
92
|
+
private ensureInitialized;
|
|
93
|
+
/**
|
|
94
|
+
* Lists entries at a path
|
|
95
|
+
*/
|
|
96
|
+
list(path: string, options?: AFSListOptions): Promise<AFSListResult>;
|
|
97
|
+
/**
|
|
98
|
+
* Reads an entry at a path
|
|
99
|
+
*/
|
|
100
|
+
read(path: string, _options?: AFSReadOptions): Promise<AFSReadResult>;
|
|
101
|
+
/**
|
|
102
|
+
* Writes an entry at a path
|
|
103
|
+
*/
|
|
104
|
+
write(path: string, content: AFSWriteEntryPayload, _options?: AFSWriteOptions): Promise<AFSWriteResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Deletes an entry at a path
|
|
107
|
+
*/
|
|
108
|
+
delete(path: string, _options?: AFSDeleteOptions): Promise<AFSDeleteResult>;
|
|
109
|
+
/**
|
|
110
|
+
* Searches for entries matching a query
|
|
111
|
+
*/
|
|
112
|
+
search(path: string, query: string, options?: AFSSearchOptions): Promise<AFSSearchResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Executes a module operation
|
|
115
|
+
*/
|
|
116
|
+
exec(path: string, args: Record<string, unknown>, _options: AFSExecOptions): Promise<AFSExecResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Lists available actions for a row
|
|
119
|
+
*/
|
|
120
|
+
private listActions;
|
|
121
|
+
/**
|
|
122
|
+
* Executes an action
|
|
123
|
+
*/
|
|
124
|
+
private executeAction;
|
|
125
|
+
/**
|
|
126
|
+
* Refreshes the schema cache
|
|
127
|
+
*/
|
|
128
|
+
refreshSchema(): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Exports table data in specified format
|
|
131
|
+
*/
|
|
132
|
+
exportTable(table: string, format: string): Promise<unknown>;
|
|
133
|
+
/**
|
|
134
|
+
* Registers a custom action
|
|
135
|
+
*/
|
|
136
|
+
registerAction(name: string, handler: (ctx: ActionContext, params: Record<string, unknown>) => Promise<unknown>, options?: {
|
|
137
|
+
description?: string;
|
|
138
|
+
tableLevel?: boolean;
|
|
139
|
+
rowLevel?: boolean;
|
|
140
|
+
}): void;
|
|
141
|
+
/**
|
|
142
|
+
* Gets table schemas (for external access)
|
|
143
|
+
*/
|
|
144
|
+
getSchemas(): Map<string, TableSchema>;
|
|
145
|
+
/**
|
|
146
|
+
* Gets the database instance (for advanced operations)
|
|
147
|
+
*/
|
|
148
|
+
getDatabase(): LibSQLDatabase;
|
|
149
|
+
}
|
|
150
|
+
//#endregion
|
|
151
|
+
export { SQLiteAFS };
|
|
152
|
+
//# sourceMappingURL=sqlite-afs.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-afs.d.mts","names":[],"sources":["../src/sqlite-afs.ts"],"mappings":";;;;;;;;;AAwCA;;;;;cAAa,SAAA,YAAqB,SAAA;EAAA,QAAA,OAAA;EAAA,SAAA,IAAA;EAAA,SAAA,WAAA;EAAA,SAAA,UAAA,EAGX,aAAA;EAAA,QAAA,EAAA;EAAA,QAAA,OAAA;EAAA,QAAA,MAAA;EAAA,QAAA,IAAA;EAAA,QAAA,SAAA;EAAA,QAAA,OAAA;EAAA,QAAA,SAAA;EAAA,QAAA,WAAA;EAAA,YAAA,OAAA,EAWQ,gBAAA;EAAA;;;EAAA,OAAA,OAAA,QAYhB,SAAA;IAAA,GAAA,EAZgC,IAAA,CAAA,SAAA;IAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmBf,mBAAA,GAAsB,OAAA,CAAQ,SAAA;EAAA;;;EAAA,QAAA,IAAA,EAQxC,OAAA,GAAU,OAAA;EAAA;;;EAAA,QAAA,UAAA;EAAA;;;EAAA,QAAA,iBAAA;EAAA;;;EAAA,KAAA,IAAA,UAAA,OAAA,GA8CK,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAAA;;;EAAA,KAAA,IAAA,UAAA,QAAA,GAgCxB,cAAA,GAAiB,OAAA,CAAQ,aAAA;EAAA;;;EAAA,MAAA,IAAA,UAAA,OAAA,EAmClD,oBAAA,EAAA,QAAA,GACE,eAAA,GACV,OAAA,CAAQ,cAAA;EAAA;;;EAAA,OAAA,IAAA,UAAA,QAAA,GA4C2B,gBAAA,GAAmB,OAAA,CAAQ,eAAA;EAAA;;;EAAA,OAAA,IAAA,UAAA,KAAA,UAAA,OAAA,GAsBb,gBAAA,GAAmB,OAAA,CAAQ,eAAA;EAAA;;;EAAA,KAAA,IAAA,UAAA,IAAA,EAkBvE,MAAA,mBAAA,QAAA,EACI,cAAA,GACT,OAAA,CAAQ,aAAA;EAAA;;;EAAA,QAAA,WAAA;EAAA;;;EAAA,QAAA,aAAA;EAAA;;;EAAA,cAAA,GA8EY,OAAA;EAAA;;;EAAA,YAAA,KAAA,UAAA,MAAA,WAc2B,OAAA;EAAA;;;EAAA,eAAA,IAAA,UAAA,OAAA,GAAA,GAAA,EAkCjC,aAAA,EAAA,MAAA,EAAuB,MAAA,sBAA4B,OAAA,WAAA,OAAA;IAAA,WAAA;IAAA,UAAA;IAAA,QAAA;EAAA;EAAA;;;EAAA,WAAA,GAoBtD,GAAA,SAAY,WAAA;EAAA;;;EAAA,YAAA,GAOX,cAAA;AAAA"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { registerBuiltInActions } from "./actions/built-in.mjs";
|
|
2
|
+
import { ActionsRegistry } from "./actions/registry.mjs";
|
|
3
|
+
import { sqliteAFSConfigSchema } from "./config.mjs";
|
|
4
|
+
import { buildActionsListEntry } from "./node/builder.mjs";
|
|
5
|
+
import { CRUDOperations } from "./operations/crud.mjs";
|
|
6
|
+
import { FTSSearch, createFTSConfig } from "./operations/search.mjs";
|
|
7
|
+
import { createPathRouter, matchPath } from "./router/path-router.mjs";
|
|
8
|
+
import { SchemaIntrospector } from "./schema/introspector.mjs";
|
|
9
|
+
import { initDatabase } from "@aigne/sqlite";
|
|
10
|
+
|
|
11
|
+
//#region src/sqlite-afs.ts
|
|
12
|
+
/**
|
|
13
|
+
* SQLite AFS Module
|
|
14
|
+
*
|
|
15
|
+
* Exposes SQLite databases as AFS nodes with full CRUD support,
|
|
16
|
+
* schema introspection, FTS5 search, and virtual paths (@attr, @meta, @actions).
|
|
17
|
+
*/
|
|
18
|
+
var SQLiteAFS = class SQLiteAFS {
|
|
19
|
+
name;
|
|
20
|
+
description;
|
|
21
|
+
accessMode;
|
|
22
|
+
db;
|
|
23
|
+
schemas = /* @__PURE__ */ new Map();
|
|
24
|
+
router;
|
|
25
|
+
crud;
|
|
26
|
+
ftsSearch;
|
|
27
|
+
actions;
|
|
28
|
+
ftsConfig;
|
|
29
|
+
initialized = false;
|
|
30
|
+
constructor(options) {
|
|
31
|
+
this.options = options;
|
|
32
|
+
this.name = options.name ?? "sqlite-afs";
|
|
33
|
+
this.description = options.description ?? `SQLite database: ${options.url}`;
|
|
34
|
+
this.accessMode = options.accessMode ?? "readwrite";
|
|
35
|
+
this.ftsConfig = createFTSConfig(options.fts);
|
|
36
|
+
this.actions = new ActionsRegistry();
|
|
37
|
+
registerBuiltInActions(this.actions);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns the Zod schema for configuration validation
|
|
41
|
+
*/
|
|
42
|
+
static schema() {
|
|
43
|
+
return sqliteAFSConfigSchema;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Loads a module instance from configuration
|
|
47
|
+
*/
|
|
48
|
+
static async load({ parsed }) {
|
|
49
|
+
return new SQLiteAFS(sqliteAFSConfigSchema.parse(parsed));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Called when the module is mounted to AFS
|
|
53
|
+
*/
|
|
54
|
+
async onMount(_afs) {
|
|
55
|
+
await this.initialize();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Initializes the database connection and introspects schema
|
|
59
|
+
*/
|
|
60
|
+
async initialize() {
|
|
61
|
+
if (this.initialized) return;
|
|
62
|
+
this.db = await initDatabase({
|
|
63
|
+
url: this.options.url,
|
|
64
|
+
wal: this.options.wal ?? true
|
|
65
|
+
});
|
|
66
|
+
const db = this.db;
|
|
67
|
+
this.schemas = await new SchemaIntrospector().introspect(db, {
|
|
68
|
+
tables: this.options.tables,
|
|
69
|
+
excludeTables: this.options.excludeTables
|
|
70
|
+
});
|
|
71
|
+
this.router = createPathRouter();
|
|
72
|
+
this.crud = new CRUDOperations(db, this.schemas, "");
|
|
73
|
+
this.ftsSearch = new FTSSearch(db, this.schemas, this.ftsConfig, "");
|
|
74
|
+
this.initialized = true;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Ensures the module is initialized
|
|
78
|
+
*/
|
|
79
|
+
async ensureInitialized() {
|
|
80
|
+
if (!this.initialized) await this.initialize();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Lists entries at a path
|
|
84
|
+
*/
|
|
85
|
+
async list(path, options) {
|
|
86
|
+
await this.ensureInitialized();
|
|
87
|
+
const match = matchPath(this.router, path);
|
|
88
|
+
if (!match) return { data: [] };
|
|
89
|
+
switch (match.action) {
|
|
90
|
+
case "listTables": return this.crud.listTables();
|
|
91
|
+
case "listTable":
|
|
92
|
+
if (!match.params.table) return { data: [] };
|
|
93
|
+
return this.crud.listTable(match.params.table, options);
|
|
94
|
+
case "listAttributes":
|
|
95
|
+
if (!match.params.table || !match.params.pk) return { data: [] };
|
|
96
|
+
return this.crud.listAttributes(match.params.table, match.params.pk);
|
|
97
|
+
case "listActions":
|
|
98
|
+
if (!match.params.table || !match.params.pk) return { data: [] };
|
|
99
|
+
return this.listActions(match.params.table, match.params.pk);
|
|
100
|
+
default: return { data: [] };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Reads an entry at a path
|
|
105
|
+
*/
|
|
106
|
+
async read(path, _options) {
|
|
107
|
+
await this.ensureInitialized();
|
|
108
|
+
const match = matchPath(this.router, path);
|
|
109
|
+
if (!match) return {};
|
|
110
|
+
switch (match.action) {
|
|
111
|
+
case "readRow":
|
|
112
|
+
if (!match.params.table || !match.params.pk) return {};
|
|
113
|
+
return this.crud.readRow(match.params.table, match.params.pk);
|
|
114
|
+
case "getSchema":
|
|
115
|
+
if (!match.params.table) return {};
|
|
116
|
+
return this.crud.getSchema(match.params.table);
|
|
117
|
+
case "getAttribute":
|
|
118
|
+
if (!match.params.table || !match.params.pk || !match.params.column) return {};
|
|
119
|
+
return this.crud.getAttribute(match.params.table, match.params.pk, match.params.column);
|
|
120
|
+
case "getMeta":
|
|
121
|
+
if (!match.params.table || !match.params.pk) return {};
|
|
122
|
+
return this.crud.getMeta(match.params.table, match.params.pk);
|
|
123
|
+
default: return {};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Writes an entry at a path
|
|
128
|
+
*/
|
|
129
|
+
async write(path, content, _options) {
|
|
130
|
+
await this.ensureInitialized();
|
|
131
|
+
if (this.accessMode === "readonly") throw new Error("Module is in readonly mode");
|
|
132
|
+
const match = matchPath(this.router, path);
|
|
133
|
+
if (!match) throw new Error(`Invalid path: ${path}`);
|
|
134
|
+
switch (match.action) {
|
|
135
|
+
case "createRow":
|
|
136
|
+
if (!match.params.table) throw new Error("Table name required for create");
|
|
137
|
+
return this.crud.createRow(match.params.table, content.content ?? content);
|
|
138
|
+
case "readRow":
|
|
139
|
+
if (!match.params.table || !match.params.pk) throw new Error("Table and primary key required for update");
|
|
140
|
+
return this.crud.updateRow(match.params.table, match.params.pk, content.content ?? content);
|
|
141
|
+
case "executeAction":
|
|
142
|
+
if (!match.params.table || !match.params.action) throw new Error("Table and action name required");
|
|
143
|
+
return this.executeAction(match.params.table, match.params.pk, match.params.action, content.content ?? content);
|
|
144
|
+
default: throw new Error(`Write not supported for path: ${path}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Deletes an entry at a path
|
|
149
|
+
*/
|
|
150
|
+
async delete(path, _options) {
|
|
151
|
+
await this.ensureInitialized();
|
|
152
|
+
if (this.accessMode === "readonly") throw new Error("Module is in readonly mode");
|
|
153
|
+
const match = matchPath(this.router, path);
|
|
154
|
+
if (!match || match.action !== "readRow") throw new Error(`Delete not supported for path: ${path}`);
|
|
155
|
+
if (!match.params.table || !match.params.pk) throw new Error("Table and primary key required for delete");
|
|
156
|
+
return this.crud.deleteRow(match.params.table, match.params.pk);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Searches for entries matching a query
|
|
160
|
+
*/
|
|
161
|
+
async search(path, query, options) {
|
|
162
|
+
await this.ensureInitialized();
|
|
163
|
+
const match = matchPath(this.router, path);
|
|
164
|
+
if (match?.params.table) return this.ftsSearch.searchTable(match.params.table, query, options);
|
|
165
|
+
return this.ftsSearch.search(query, options);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Executes a module operation
|
|
169
|
+
*/
|
|
170
|
+
async exec(path, args, _options) {
|
|
171
|
+
await this.ensureInitialized();
|
|
172
|
+
const match = matchPath(this.router, path);
|
|
173
|
+
if (match?.action === "executeAction" && match.params.table && match.params.action) return { data: (await this.executeAction(match.params.table, match.params.pk, match.params.action, args)).data };
|
|
174
|
+
throw new Error(`Exec not supported for path: ${path}`);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Lists available actions for a row
|
|
178
|
+
*/
|
|
179
|
+
listActions(table, pk) {
|
|
180
|
+
return { data: buildActionsListEntry(table, pk, this.actions.listNames({ rowLevel: true }), { basePath: "" }) };
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Executes an action
|
|
184
|
+
*/
|
|
185
|
+
async executeAction(table, pk, actionName, params) {
|
|
186
|
+
if (!this.schemas.get(table)) throw new Error(`Table '${table}' not found`);
|
|
187
|
+
let row;
|
|
188
|
+
if (pk) row = (await this.crud.readRow(table, pk)).data?.content;
|
|
189
|
+
const ctx = {
|
|
190
|
+
db: this.db,
|
|
191
|
+
schemas: this.schemas,
|
|
192
|
+
table,
|
|
193
|
+
pk,
|
|
194
|
+
row,
|
|
195
|
+
module: {
|
|
196
|
+
refreshSchema: () => this.refreshSchema(),
|
|
197
|
+
exportTable: (t, f) => this.exportTable(t, f)
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
const result = await this.actions.execute(actionName, ctx, params);
|
|
201
|
+
if (!result.success) throw new Error(result.message ?? "Action failed");
|
|
202
|
+
return { data: {
|
|
203
|
+
id: `${table}:${pk ?? ""}:@actions:${actionName}`,
|
|
204
|
+
path: pk ? `/${table}/${pk}/@actions/${actionName}` : `/${table}/@actions/${actionName}`,
|
|
205
|
+
content: result.data
|
|
206
|
+
} };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Refreshes the schema cache
|
|
210
|
+
*/
|
|
211
|
+
async refreshSchema() {
|
|
212
|
+
const db = this.db;
|
|
213
|
+
this.schemas = await new SchemaIntrospector().introspect(db, {
|
|
214
|
+
tables: this.options.tables,
|
|
215
|
+
excludeTables: this.options.excludeTables
|
|
216
|
+
});
|
|
217
|
+
this.crud.setSchemas(this.schemas);
|
|
218
|
+
this.ftsSearch.setSchemas(this.schemas);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Exports table data in specified format
|
|
222
|
+
*/
|
|
223
|
+
async exportTable(table, format) {
|
|
224
|
+
const listResult = await this.crud.listTable(table, { limit: 1e4 });
|
|
225
|
+
if (format === "csv") {
|
|
226
|
+
const schema = this.schemas.get(table);
|
|
227
|
+
if (!schema) throw new Error(`Table '${table}' not found`);
|
|
228
|
+
return `${schema.columns.map((c) => c.name).join(",")}\n${listResult.data.map((entry) => {
|
|
229
|
+
const content = entry.content;
|
|
230
|
+
return schema.columns.map((c) => {
|
|
231
|
+
const val = content[c.name];
|
|
232
|
+
if (val === null || val === void 0) return "";
|
|
233
|
+
if (typeof val === "string" && (val.includes(",") || val.includes("\""))) return `"${val.replace(/"/g, "\"\"")}"`;
|
|
234
|
+
return String(val);
|
|
235
|
+
}).join(",");
|
|
236
|
+
}).join("\n")}`;
|
|
237
|
+
}
|
|
238
|
+
return listResult.data.map((entry) => entry.content);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Registers a custom action
|
|
242
|
+
*/
|
|
243
|
+
registerAction(name, handler, options) {
|
|
244
|
+
this.actions.registerSimple(name, async (ctx, params) => ({
|
|
245
|
+
success: true,
|
|
246
|
+
data: await handler(ctx, params)
|
|
247
|
+
}), options);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Gets table schemas (for external access)
|
|
251
|
+
*/
|
|
252
|
+
getSchemas() {
|
|
253
|
+
return this.schemas;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Gets the database instance (for advanced operations)
|
|
257
|
+
*/
|
|
258
|
+
getDatabase() {
|
|
259
|
+
return this.db;
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
//#endregion
|
|
264
|
+
export { SQLiteAFS };
|
|
265
|
+
//# sourceMappingURL=sqlite-afs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-afs.mjs","names":[],"sources":["../src/sqlite-afs.ts"],"sourcesContent":["import type {\n AFSAccessMode,\n AFSDeleteOptions,\n AFSDeleteResult,\n AFSExecOptions,\n AFSExecResult,\n AFSListOptions,\n AFSListResult,\n AFSModule,\n AFSModuleClass,\n AFSModuleLoadParams,\n AFSReadOptions,\n AFSReadResult,\n AFSRoot,\n AFSSearchOptions,\n AFSSearchResult,\n AFSWriteEntryPayload,\n AFSWriteOptions,\n AFSWriteResult,\n} from \"@aigne/afs\";\nimport { initDatabase } from \"@aigne/sqlite\";\nimport type { LibSQLDatabase } from \"drizzle-orm/libsql\";\nimport type { RadixRouter } from \"radix3\";\nimport { registerBuiltInActions } from \"./actions/built-in.js\";\nimport { ActionsRegistry } from \"./actions/registry.js\";\nimport type { ActionContext } from \"./actions/types.js\";\nimport { type SQLiteAFSOptions, sqliteAFSConfigSchema } from \"./config.js\";\nimport { buildActionsListEntry } from \"./node/builder.js\";\nimport { CRUDOperations } from \"./operations/crud.js\";\nimport { createFTSConfig, type FTSConfig, FTSSearch } from \"./operations/search.js\";\nimport { createPathRouter, matchPath, type RouteData } from \"./router/path-router.js\";\nimport { SchemaIntrospector } from \"./schema/introspector.js\";\nimport type { TableSchema } from \"./schema/types.js\";\n\n/**\n * SQLite AFS Module\n *\n * Exposes SQLite databases as AFS nodes with full CRUD support,\n * schema introspection, FTS5 search, and virtual paths (@attr, @meta, @actions).\n */\nexport class SQLiteAFS implements AFSModule {\n readonly name: string;\n readonly description: string;\n readonly accessMode: AFSAccessMode;\n\n private db!: Awaited<ReturnType<typeof initDatabase>>;\n private schemas = new Map<string, TableSchema>();\n private router!: RadixRouter<RouteData>;\n private crud!: CRUDOperations;\n private ftsSearch!: FTSSearch;\n private actions: ActionsRegistry;\n private ftsConfig: FTSConfig;\n private initialized = false;\n\n constructor(private options: SQLiteAFSOptions) {\n this.name = options.name ?? \"sqlite-afs\";\n this.description = options.description ?? `SQLite database: ${options.url}`;\n this.accessMode = options.accessMode ?? \"readwrite\";\n this.ftsConfig = createFTSConfig(options.fts);\n this.actions = new ActionsRegistry();\n registerBuiltInActions(this.actions);\n }\n\n /**\n * Returns the Zod schema for configuration validation\n */\n static schema() {\n return sqliteAFSConfigSchema;\n }\n\n /**\n * Loads a module instance from configuration\n */\n static async load({ parsed }: AFSModuleLoadParams): Promise<SQLiteAFS> {\n const validated = sqliteAFSConfigSchema.parse(parsed);\n return new SQLiteAFS(validated);\n }\n\n /**\n * Called when the module is mounted to AFS\n */\n async onMount(_afs: AFSRoot): Promise<void> {\n await this.initialize();\n }\n\n /**\n * Initializes the database connection and introspects schema\n */\n private async initialize(): Promise<void> {\n if (this.initialized) return;\n\n // Initialize database connection\n this.db = await initDatabase({\n url: this.options.url,\n wal: this.options.wal ?? true,\n });\n\n // Cast db to LibSQLDatabase for operations\n const db = this.db as unknown as LibSQLDatabase;\n\n // Introspect database schema\n const introspector = new SchemaIntrospector();\n this.schemas = await introspector.introspect(db, {\n tables: this.options.tables,\n excludeTables: this.options.excludeTables,\n });\n\n // Initialize components\n this.router = createPathRouter();\n this.crud = new CRUDOperations(db, this.schemas, \"\");\n this.ftsSearch = new FTSSearch(db, this.schemas, this.ftsConfig, \"\");\n\n this.initialized = true;\n }\n\n /**\n * Ensures the module is initialized\n */\n private async ensureInitialized(): Promise<void> {\n if (!this.initialized) {\n await this.initialize();\n }\n }\n\n /**\n * Lists entries at a path\n */\n async list(path: string, options?: AFSListOptions): Promise<AFSListResult> {\n await this.ensureInitialized();\n\n const match = matchPath(this.router, path);\n if (!match) {\n return { data: [] };\n }\n\n switch (match.action) {\n case \"listTables\":\n return this.crud.listTables();\n\n case \"listTable\":\n if (!match.params.table) return { data: [] };\n return this.crud.listTable(match.params.table, options);\n\n case \"listAttributes\":\n if (!match.params.table || !match.params.pk) return { data: [] };\n return this.crud.listAttributes(match.params.table, match.params.pk);\n\n case \"listActions\":\n if (!match.params.table || !match.params.pk) return { data: [] };\n return this.listActions(match.params.table, match.params.pk);\n\n default:\n return { data: [] };\n }\n }\n\n /**\n * Reads an entry at a path\n */\n async read(path: string, _options?: AFSReadOptions): Promise<AFSReadResult> {\n await this.ensureInitialized();\n\n const match = matchPath(this.router, path);\n if (!match) {\n return {};\n }\n\n switch (match.action) {\n case \"readRow\":\n if (!match.params.table || !match.params.pk) return {};\n return this.crud.readRow(match.params.table, match.params.pk);\n\n case \"getSchema\":\n if (!match.params.table) return {};\n return this.crud.getSchema(match.params.table);\n\n case \"getAttribute\":\n if (!match.params.table || !match.params.pk || !match.params.column) return {};\n return this.crud.getAttribute(match.params.table, match.params.pk, match.params.column);\n\n case \"getMeta\":\n if (!match.params.table || !match.params.pk) return {};\n return this.crud.getMeta(match.params.table, match.params.pk);\n\n default:\n return {};\n }\n }\n\n /**\n * Writes an entry at a path\n */\n async write(\n path: string,\n content: AFSWriteEntryPayload,\n _options?: AFSWriteOptions,\n ): Promise<AFSWriteResult> {\n await this.ensureInitialized();\n\n if (this.accessMode === \"readonly\") {\n throw new Error(\"Module is in readonly mode\");\n }\n\n const match = matchPath(this.router, path);\n if (!match) {\n throw new Error(`Invalid path: ${path}`);\n }\n\n switch (match.action) {\n case \"createRow\":\n if (!match.params.table) {\n throw new Error(\"Table name required for create\");\n }\n return this.crud.createRow(match.params.table, content.content ?? content);\n\n case \"readRow\":\n if (!match.params.table || !match.params.pk) {\n throw new Error(\"Table and primary key required for update\");\n }\n return this.crud.updateRow(match.params.table, match.params.pk, content.content ?? content);\n\n case \"executeAction\":\n if (!match.params.table || !match.params.action) {\n throw new Error(\"Table and action name required\");\n }\n return this.executeAction(\n match.params.table,\n match.params.pk,\n match.params.action,\n content.content ?? content,\n );\n\n default:\n throw new Error(`Write not supported for path: ${path}`);\n }\n }\n\n /**\n * Deletes an entry at a path\n */\n async delete(path: string, _options?: AFSDeleteOptions): Promise<AFSDeleteResult> {\n await this.ensureInitialized();\n\n if (this.accessMode === \"readonly\") {\n throw new Error(\"Module is in readonly mode\");\n }\n\n const match = matchPath(this.router, path);\n if (!match || match.action !== \"readRow\") {\n throw new Error(`Delete not supported for path: ${path}`);\n }\n\n if (!match.params.table || !match.params.pk) {\n throw new Error(\"Table and primary key required for delete\");\n }\n\n return this.crud.deleteRow(match.params.table, match.params.pk);\n }\n\n /**\n * Searches for entries matching a query\n */\n async search(path: string, query: string, options?: AFSSearchOptions): Promise<AFSSearchResult> {\n await this.ensureInitialized();\n\n // If path specifies a table, search only that table\n const match = matchPath(this.router, path);\n if (match?.params.table) {\n return this.ftsSearch.searchTable(match.params.table, query, options);\n }\n\n // Otherwise search all FTS-enabled tables\n return this.ftsSearch.search(query, options);\n }\n\n /**\n * Executes a module operation\n */\n async exec(\n path: string,\n args: Record<string, unknown>,\n _options: AFSExecOptions,\n ): Promise<AFSExecResult> {\n await this.ensureInitialized();\n\n const match = matchPath(this.router, path);\n if (match?.action === \"executeAction\" && match.params.table && match.params.action) {\n const result = await this.executeAction(\n match.params.table,\n match.params.pk,\n match.params.action,\n args,\n );\n return { data: result.data as unknown as Record<string, unknown> };\n }\n\n throw new Error(`Exec not supported for path: ${path}`);\n }\n\n /**\n * Lists available actions for a row\n */\n private listActions(table: string, pk: string): AFSListResult {\n const actionNames = this.actions.listNames({ rowLevel: true });\n return {\n data: buildActionsListEntry(table, pk, actionNames, { basePath: \"\" }),\n };\n }\n\n /**\n * Executes an action\n */\n private async executeAction(\n table: string,\n pk: string | undefined,\n actionName: string,\n params: Record<string, unknown>,\n ): Promise<AFSWriteResult> {\n const schema = this.schemas.get(table);\n if (!schema) {\n throw new Error(`Table '${table}' not found`);\n }\n\n // Get row data if pk is provided\n let row: Record<string, unknown> | undefined;\n if (pk) {\n const readResult = await this.crud.readRow(table, pk);\n row = readResult.data?.content as Record<string, unknown> | undefined;\n }\n\n const ctx: ActionContext = {\n db: this.db as unknown as LibSQLDatabase,\n schemas: this.schemas,\n table,\n pk,\n row,\n module: {\n refreshSchema: () => this.refreshSchema(),\n exportTable: (t, f) => this.exportTable(t, f),\n },\n };\n\n const result = await this.actions.execute(actionName, ctx, params);\n\n if (!result.success) {\n throw new Error(result.message ?? \"Action failed\");\n }\n\n return {\n data: {\n id: `${table}:${pk ?? \"\"}:@actions:${actionName}`,\n path: pk ? `/${table}/${pk}/@actions/${actionName}` : `/${table}/@actions/${actionName}`,\n content: result.data,\n },\n };\n }\n\n /**\n * Refreshes the schema cache\n */\n async refreshSchema(): Promise<void> {\n const db = this.db as unknown as LibSQLDatabase;\n const introspector = new SchemaIntrospector();\n this.schemas = await introspector.introspect(db, {\n tables: this.options.tables,\n excludeTables: this.options.excludeTables,\n });\n this.crud.setSchemas(this.schemas);\n this.ftsSearch.setSchemas(this.schemas);\n }\n\n /**\n * Exports table data in specified format\n */\n async exportTable(table: string, format: string): Promise<unknown> {\n const listResult = await this.crud.listTable(table, { limit: 10000 });\n\n if (format === \"csv\") {\n const schema = this.schemas.get(table);\n if (!schema) throw new Error(`Table '${table}' not found`);\n\n const headers = schema.columns.map((c) => c.name).join(\",\");\n const rows = listResult.data.map((entry) => {\n const content = entry.content as Record<string, unknown>;\n return schema.columns\n .map((c) => {\n const val = content[c.name];\n if (val === null || val === undefined) return \"\";\n if (typeof val === \"string\" && (val.includes(\",\") || val.includes('\"'))) {\n return `\"${val.replace(/\"/g, '\"\"')}\"`;\n }\n return String(val);\n })\n .join(\",\");\n });\n\n return `${headers}\\n${rows.join(\"\\n\")}`;\n }\n\n // Default: JSON\n return listResult.data.map((entry) => entry.content);\n }\n\n /**\n * Registers a custom action\n */\n registerAction(\n name: string,\n handler: (ctx: ActionContext, params: Record<string, unknown>) => Promise<unknown>,\n options?: {\n description?: string;\n tableLevel?: boolean;\n rowLevel?: boolean;\n },\n ): void {\n this.actions.registerSimple(\n name,\n async (ctx, params) => ({\n success: true,\n data: await handler(ctx, params),\n }),\n options,\n );\n }\n\n /**\n * Gets table schemas (for external access)\n */\n getSchemas(): Map<string, TableSchema> {\n return this.schemas;\n }\n\n /**\n * Gets the database instance (for advanced operations)\n */\n getDatabase(): LibSQLDatabase {\n return this.db as unknown as LibSQLDatabase;\n }\n}\n\n// Type check to ensure SQLiteAFS implements AFSModuleClass\nconst _typeCheck: AFSModuleClass<SQLiteAFS, SQLiteAFSOptions> = SQLiteAFS;\n"],"mappings":";;;;;;;;;;;;;;;;;AAwCA,IAAa,YAAb,MAAa,UAA+B;CAC1C,AAAS;CACT,AAAS;CACT,AAAS;CAET,AAAQ;CACR,AAAQ,0BAAU,IAAI,KAA0B;CAChD,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ,cAAc;CAEtB,YAAY,AAAQ,SAA2B;EAA3B;AAClB,OAAK,OAAO,QAAQ,QAAQ;AAC5B,OAAK,cAAc,QAAQ,eAAe,oBAAoB,QAAQ;AACtE,OAAK,aAAa,QAAQ,cAAc;AACxC,OAAK,YAAY,gBAAgB,QAAQ,IAAI;AAC7C,OAAK,UAAU,IAAI,iBAAiB;AACpC,yBAAuB,KAAK,QAAQ;;;;;CAMtC,OAAO,SAAS;AACd,SAAO;;;;;CAMT,aAAa,KAAK,EAAE,UAAmD;AAErE,SAAO,IAAI,UADO,sBAAsB,MAAM,OAAO,CACtB;;;;;CAMjC,MAAM,QAAQ,MAA8B;AAC1C,QAAM,KAAK,YAAY;;;;;CAMzB,MAAc,aAA4B;AACxC,MAAI,KAAK,YAAa;AAGtB,OAAK,KAAK,MAAM,aAAa;GAC3B,KAAK,KAAK,QAAQ;GAClB,KAAK,KAAK,QAAQ,OAAO;GAC1B,CAAC;EAGF,MAAM,KAAK,KAAK;AAIhB,OAAK,UAAU,MADM,IAAI,oBAAoB,CACX,WAAW,IAAI;GAC/C,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC7B,CAAC;AAGF,OAAK,SAAS,kBAAkB;AAChC,OAAK,OAAO,IAAI,eAAe,IAAI,KAAK,SAAS,GAAG;AACpD,OAAK,YAAY,IAAI,UAAU,IAAI,KAAK,SAAS,KAAK,WAAW,GAAG;AAEpE,OAAK,cAAc;;;;;CAMrB,MAAc,oBAAmC;AAC/C,MAAI,CAAC,KAAK,YACR,OAAM,KAAK,YAAY;;;;;CAO3B,MAAM,KAAK,MAAc,SAAkD;AACzE,QAAM,KAAK,mBAAmB;EAE9B,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,CAAC,MACH,QAAO,EAAE,MAAM,EAAE,EAAE;AAGrB,UAAQ,MAAM,QAAd;GACE,KAAK,aACH,QAAO,KAAK,KAAK,YAAY;GAE/B,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,MAAO,QAAO,EAAE,MAAM,EAAE,EAAE;AAC5C,WAAO,KAAK,KAAK,UAAU,MAAM,OAAO,OAAO,QAAQ;GAEzD,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GAAI,QAAO,EAAE,MAAM,EAAE,EAAE;AAChE,WAAO,KAAK,KAAK,eAAe,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;GAEtE,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GAAI,QAAO,EAAE,MAAM,EAAE,EAAE;AAChE,WAAO,KAAK,YAAY,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;GAE9D,QACE,QAAO,EAAE,MAAM,EAAE,EAAE;;;;;;CAOzB,MAAM,KAAK,MAAc,UAAmD;AAC1E,QAAM,KAAK,mBAAmB;EAE9B,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,CAAC,MACH,QAAO,EAAE;AAGX,UAAQ,MAAM,QAAd;GACE,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GAAI,QAAO,EAAE;AACtD,WAAO,KAAK,KAAK,QAAQ,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;GAE/D,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,MAAO,QAAO,EAAE;AAClC,WAAO,KAAK,KAAK,UAAU,MAAM,OAAO,MAAM;GAEhD,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,OAAO,OAAQ,QAAO,EAAE;AAC9E,WAAO,KAAK,KAAK,aAAa,MAAM,OAAO,OAAO,MAAM,OAAO,IAAI,MAAM,OAAO,OAAO;GAEzF,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GAAI,QAAO,EAAE;AACtD,WAAO,KAAK,KAAK,QAAQ,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;GAE/D,QACE,QAAO,EAAE;;;;;;CAOf,MAAM,MACJ,MACA,SACA,UACyB;AACzB,QAAM,KAAK,mBAAmB;AAE9B,MAAI,KAAK,eAAe,WACtB,OAAM,IAAI,MAAM,6BAA6B;EAG/C,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,CAAC,MACH,OAAM,IAAI,MAAM,iBAAiB,OAAO;AAG1C,UAAQ,MAAM,QAAd;GACE,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,MAChB,OAAM,IAAI,MAAM,iCAAiC;AAEnD,WAAO,KAAK,KAAK,UAAU,MAAM,OAAO,OAAO,QAAQ,WAAW,QAAQ;GAE5E,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GACvC,OAAM,IAAI,MAAM,4CAA4C;AAE9D,WAAO,KAAK,KAAK,UAAU,MAAM,OAAO,OAAO,MAAM,OAAO,IAAI,QAAQ,WAAW,QAAQ;GAE7F,KAAK;AACH,QAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,OACvC,OAAM,IAAI,MAAM,iCAAiC;AAEnD,WAAO,KAAK,cACV,MAAM,OAAO,OACb,MAAM,OAAO,IACb,MAAM,OAAO,QACb,QAAQ,WAAW,QACpB;GAEH,QACE,OAAM,IAAI,MAAM,iCAAiC,OAAO;;;;;;CAO9D,MAAM,OAAO,MAAc,UAAuD;AAChF,QAAM,KAAK,mBAAmB;AAE9B,MAAI,KAAK,eAAe,WACtB,OAAM,IAAI,MAAM,6BAA6B;EAG/C,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,CAAC,SAAS,MAAM,WAAW,UAC7B,OAAM,IAAI,MAAM,kCAAkC,OAAO;AAG3D,MAAI,CAAC,MAAM,OAAO,SAAS,CAAC,MAAM,OAAO,GACvC,OAAM,IAAI,MAAM,4CAA4C;AAG9D,SAAO,KAAK,KAAK,UAAU,MAAM,OAAO,OAAO,MAAM,OAAO,GAAG;;;;;CAMjE,MAAM,OAAO,MAAc,OAAe,SAAsD;AAC9F,QAAM,KAAK,mBAAmB;EAG9B,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,OAAO,OAAO,MAChB,QAAO,KAAK,UAAU,YAAY,MAAM,OAAO,OAAO,OAAO,QAAQ;AAIvE,SAAO,KAAK,UAAU,OAAO,OAAO,QAAQ;;;;;CAM9C,MAAM,KACJ,MACA,MACA,UACwB;AACxB,QAAM,KAAK,mBAAmB;EAE9B,MAAM,QAAQ,UAAU,KAAK,QAAQ,KAAK;AAC1C,MAAI,OAAO,WAAW,mBAAmB,MAAM,OAAO,SAAS,MAAM,OAAO,OAO1E,QAAO,EAAE,OANM,MAAM,KAAK,cACxB,MAAM,OAAO,OACb,MAAM,OAAO,IACb,MAAM,OAAO,QACb,KACD,EACqB,MAA4C;AAGpE,QAAM,IAAI,MAAM,gCAAgC,OAAO;;;;;CAMzD,AAAQ,YAAY,OAAe,IAA2B;AAE5D,SAAO,EACL,MAAM,sBAAsB,OAAO,IAFjB,KAAK,QAAQ,UAAU,EAAE,UAAU,MAAM,CAAC,EAER,EAAE,UAAU,IAAI,CAAC,EACtE;;;;;CAMH,MAAc,cACZ,OACA,IACA,YACA,QACyB;AAEzB,MAAI,CADW,KAAK,QAAQ,IAAI,MAAM,CAEpC,OAAM,IAAI,MAAM,UAAU,MAAM,aAAa;EAI/C,IAAI;AACJ,MAAI,GAEF,QADmB,MAAM,KAAK,KAAK,QAAQ,OAAO,GAAG,EACpC,MAAM;EAGzB,MAAM,MAAqB;GACzB,IAAI,KAAK;GACT,SAAS,KAAK;GACd;GACA;GACA;GACA,QAAQ;IACN,qBAAqB,KAAK,eAAe;IACzC,cAAc,GAAG,MAAM,KAAK,YAAY,GAAG,EAAE;IAC9C;GACF;EAED,MAAM,SAAS,MAAM,KAAK,QAAQ,QAAQ,YAAY,KAAK,OAAO;AAElE,MAAI,CAAC,OAAO,QACV,OAAM,IAAI,MAAM,OAAO,WAAW,gBAAgB;AAGpD,SAAO,EACL,MAAM;GACJ,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY;GACrC,MAAM,KAAK,IAAI,MAAM,GAAG,GAAG,YAAY,eAAe,IAAI,MAAM,YAAY;GAC5E,SAAS,OAAO;GACjB,EACF;;;;;CAMH,MAAM,gBAA+B;EACnC,MAAM,KAAK,KAAK;AAEhB,OAAK,UAAU,MADM,IAAI,oBAAoB,CACX,WAAW,IAAI;GAC/C,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC7B,CAAC;AACF,OAAK,KAAK,WAAW,KAAK,QAAQ;AAClC,OAAK,UAAU,WAAW,KAAK,QAAQ;;;;;CAMzC,MAAM,YAAY,OAAe,QAAkC;EACjE,MAAM,aAAa,MAAM,KAAK,KAAK,UAAU,OAAO,EAAE,OAAO,KAAO,CAAC;AAErE,MAAI,WAAW,OAAO;GACpB,MAAM,SAAS,KAAK,QAAQ,IAAI,MAAM;AACtC,OAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,UAAU,MAAM,aAAa;AAiB1D,UAAO,GAfS,OAAO,QAAQ,KAAK,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,CAezC,IAdL,WAAW,KAAK,KAAK,UAAU;IAC1C,MAAM,UAAU,MAAM;AACtB,WAAO,OAAO,QACX,KAAK,MAAM;KACV,MAAM,MAAM,QAAQ,EAAE;AACtB,SAAI,QAAQ,QAAQ,QAAQ,OAAW,QAAO;AAC9C,SAAI,OAAO,QAAQ,aAAa,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAI,EACpE,QAAO,IAAI,IAAI,QAAQ,MAAM,OAAK,CAAC;AAErC,YAAO,OAAO,IAAI;MAClB,CACD,KAAK,IAAI;KACZ,CAEyB,KAAK,KAAK;;AAIvC,SAAO,WAAW,KAAK,KAAK,UAAU,MAAM,QAAQ;;;;;CAMtD,eACE,MACA,SACA,SAKM;AACN,OAAK,QAAQ,eACX,MACA,OAAO,KAAK,YAAY;GACtB,SAAS;GACT,MAAM,MAAM,QAAQ,KAAK,OAAO;GACjC,GACD,QACD;;;;;CAMH,aAAuC;AACrC,SAAO,KAAK;;;;;CAMd,cAA8B;AAC5B,SAAO,KAAK"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aigne/afs-sqlite",
|
|
3
|
-
"version": "1.11.0-beta",
|
|
3
|
+
"version": "1.11.0-beta.1",
|
|
4
4
|
"description": "AIGNE AFS module for SQLite database storage with schema introspection",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"drizzle-orm": "^0.44.5",
|
|
38
38
|
"radix3": "^1.1.2",
|
|
39
39
|
"zod": "^3.25.67",
|
|
40
|
-
"@aigne/afs": "^1.11.0-beta"
|
|
40
|
+
"@aigne/afs": "^1.11.0-beta.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/bun": "^1.3.6",
|
package/dist/index.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/schema/types.ts","../src/actions/types.ts","../src/actions/registry.ts","../src/actions/built-in.ts","../src/config.ts","../src/node/builder.ts","../src/operations/crud.ts","../src/operations/query-builder.ts","../src/operations/search.ts","../src/router/types.ts","../src/router/path-router.ts","../src/schema/introspector.ts","../src/sqlite-afs.ts"],"mappings":"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"}
|
package/dist/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/schema/types.ts","../src/actions/types.ts","../src/actions/registry.ts","../src/actions/built-in.ts","../src/config.ts","../src/node/builder.ts","../src/operations/crud.ts","../src/operations/query-builder.ts","../src/operations/search.ts","../src/router/types.ts","../src/router/path-router.ts","../src/schema/introspector.ts","../src/sqlite-afs.ts"],"mappings":"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"}
|