@dikolab/kbdb 0.1.2 → 0.1.3

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 (41) hide show
  1. package/dist/cli.cjs +1 -1
  2. package/dist/cli.cjs.map +1 -1
  3. package/dist/cli.mjs +1 -1
  4. package/dist/cli.mjs.map +1 -1
  5. package/dist/mod.cjs +1 -1
  6. package/dist/mod.cjs.map +1 -1
  7. package/dist/mod.mjs +1 -1
  8. package/dist/mod.mjs.map +1 -1
  9. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  10. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +220 -0
  11. package/dist/wasm/fs-database/kbdb_fs_database.js +458 -0
  12. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  13. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +32 -0
  14. package/dist/wasm/fs-database/package.json +13 -0
  15. package/dist/wasm/kb-worker/kbdb_worker.d.ts +565 -0
  16. package/dist/wasm/kb-worker/kbdb_worker.js +1066 -0
  17. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  18. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +72 -0
  19. package/dist/wasm/kb-worker/package.json +13 -0
  20. package/dist/wasm/query-parser/kbdb_query_parser.d.ts +195 -0
  21. package/dist/wasm/query-parser/kbdb_query_parser.js +403 -0
  22. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  23. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +25 -0
  24. package/dist/wasm/query-parser/package.json +13 -0
  25. package/package.json +1 -1
  26. package/src/shared/version/constants/version.constant.ts +1 -1
  27. package/src/wasm/fs-database/kbdb_fs_database.d.ts +220 -0
  28. package/src/wasm/fs-database/kbdb_fs_database.js +458 -0
  29. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  30. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +32 -0
  31. package/src/wasm/fs-database/package.json +13 -0
  32. package/src/wasm/kb-worker/kbdb_worker.d.ts +565 -0
  33. package/src/wasm/kb-worker/kbdb_worker.js +1066 -0
  34. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  35. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +72 -0
  36. package/src/wasm/kb-worker/package.json +13 -0
  37. package/src/wasm/query-parser/kbdb_query_parser.d.ts +195 -0
  38. package/src/wasm/query-parser/kbdb_query_parser.js +403 -0
  39. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  40. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +25 -0
  41. package/src/wasm/query-parser/package.json +13 -0
@@ -0,0 +1,458 @@
1
+ let wasm_bindgen = (function(exports) {
2
+ let script_src;
3
+ if (typeof document !== 'undefined' && document.currentScript !== null) {
4
+ script_src = new URL(document.currentScript.src, location.href).toString();
5
+ }
6
+
7
+ /**
8
+ * Adds a section. `ptr`/`len` point to an encoded `AddSectionParams`.
9
+ *
10
+ * On success: writes encoded kbid string to return slot, returns 0.
11
+ * On error: writes error message to return slot, returns -1.
12
+ * @param {number} ptr
13
+ * @param {number} len
14
+ * @returns {number}
15
+ */
16
+ function db_add_section(ptr, len) {
17
+ const ret = wasm.db_add_section(ptr, len);
18
+ return ret;
19
+ }
20
+ exports.db_add_section = db_add_section;
21
+
22
+ /**
23
+ * Adds a section's terms to the inverted and positional indexes.
24
+ * `ptr`/`len` point to encoded
25
+ * (kbid_str, term_count, [(term_str, pos_count, [positions], heading_tf, body_tf, code_tf)]).
26
+ * @param {number} ptr
27
+ * @param {number} len
28
+ * @returns {number}
29
+ */
30
+ function db_add_to_index(ptr, len) {
31
+ const ret = wasm.db_add_to_index(ptr, len);
32
+ return ret;
33
+ }
34
+ exports.db_add_to_index = db_add_to_index;
35
+
36
+ /**
37
+ * Checks database integrity. Returns 0 on success.
38
+ * On success a summary string is placed in the return slot.
39
+ * @param {number} _ptr
40
+ * @param {number} _len
41
+ * @returns {number}
42
+ */
43
+ function db_check_integrity(_ptr, _len) {
44
+ const ret = wasm.db_check_integrity(_ptr, _len);
45
+ return ret;
46
+ }
47
+ exports.db_check_integrity = db_check_integrity;
48
+
49
+ /**
50
+ * Reads `catalog.toml` from the path at `ptr`/`len` and returns the version
51
+ * status without modifying state.
52
+ *
53
+ * On success, the return slot contains 8 bytes:
54
+ * - bytes 0-3: `catalog_version` as little-endian u32
55
+ * - bytes 4-7: `required_version` (DB_FORMAT_VERSION) as little-endian u32
56
+ *
57
+ * Return value:
58
+ * - 0: compatible (versions match)
59
+ * - 1: needs migration (catalog version < required)
60
+ * - 2: too new (catalog version > required)
61
+ * - -1: I/O or parse error (message in return slot)
62
+ *
63
+ * Note: this export accepts a path directly and does NOT require `db_init`
64
+ * to have been called first.
65
+ * @param {number} ptr
66
+ * @param {number} len
67
+ * @returns {number}
68
+ */
69
+ function db_check_version(ptr, len) {
70
+ const ret = wasm.db_check_version(ptr, len);
71
+ return ret;
72
+ }
73
+ exports.db_check_version = db_check_version;
74
+
75
+ /**
76
+ * Runs garbage collection. Returns 0 on success.
77
+ * On success a summary string is placed in the return slot.
78
+ * @param {number} _ptr
79
+ * @param {number} _len
80
+ * @returns {number}
81
+ */
82
+ function db_gc(_ptr, _len) {
83
+ const ret = wasm.db_gc(_ptr, _len);
84
+ return ret;
85
+ }
86
+ exports.db_gc = db_gc;
87
+
88
+ /**
89
+ * Initialises the database context path.
90
+ *
91
+ * The JS host must call this before any other function.
92
+ * `ptr`/`len` point to a UTF-8 context path string in WASM memory.
93
+ * @param {number} ptr
94
+ * @param {number} len
95
+ * @returns {number}
96
+ */
97
+ function db_init(ptr, len) {
98
+ const ret = wasm.db_init(ptr, len);
99
+ return ret;
100
+ }
101
+ exports.db_init = db_init;
102
+
103
+ /**
104
+ * Initialises a new empty catalog at the current context path.
105
+ * Writes the default catalog to disk and returns 0 on success.
106
+ * @param {number} _ptr
107
+ * @param {number} _len
108
+ * @returns {number}
109
+ */
110
+ function db_init_catalog(_ptr, _len) {
111
+ const ret = wasm.db_init_catalog(_ptr, _len);
112
+ return ret;
113
+ }
114
+ exports.db_init_catalog = db_init_catalog;
115
+
116
+ /**
117
+ * Creates the full directory scaffold for a new database at `ptr`/`len` path.
118
+ *
119
+ * Creates directories, seeds `catalog.toml` (stamped with `DB_FORMAT_VERSION`),
120
+ * empty index files, `worker.toml`, and `.gitignore`.
121
+ *
122
+ * Returns 0 on success. Returns -1 with an error message in the return slot
123
+ * if the directory already exists or any I/O fails.
124
+ *
125
+ * Note: this export accepts a path directly and does NOT require `db_init`
126
+ * to have been called first.
127
+ * @param {number} ptr
128
+ * @param {number} len
129
+ * @returns {number}
130
+ */
131
+ function db_init_directory(ptr, len) {
132
+ const ret = wasm.db_init_directory(ptr, len);
133
+ return ret;
134
+ }
135
+ exports.db_init_directory = db_init_directory;
136
+
137
+ /**
138
+ * Lists all document manifests. No input parameters (`ptr`/`len` are ignored).
139
+ *
140
+ * On success encodes a `u32 count` followed by each `DocumentManifest` into
141
+ * the return slot and returns 0. On error writes an error message and returns -1.
142
+ * @param {number} _ptr
143
+ * @param {number} _len
144
+ * @returns {number}
145
+ */
146
+ function db_list_documents(_ptr, _len) {
147
+ const ret = wasm.db_list_documents(_ptr, _len);
148
+ return ret;
149
+ }
150
+ exports.db_list_documents = db_list_documents;
151
+
152
+ /**
153
+ * Lists all section records. No input parameters (`ptr`/`len` are ignored).
154
+ *
155
+ * On success encodes a `u32 count` followed by each `SectionRecord` into the
156
+ * return slot and returns 0. On error writes an error message and returns -1.
157
+ * @param {number} _ptr
158
+ * @param {number} _len
159
+ * @returns {number}
160
+ */
161
+ function db_list_sections(_ptr, _len) {
162
+ const ret = wasm.db_list_sections(_ptr, _len);
163
+ return ret;
164
+ }
165
+ exports.db_list_sections = db_list_sections;
166
+
167
+ /**
168
+ * Executes a query plan against the loaded indexes.
169
+ * `ptr`/`len` point to an encoded `QueryPlan`.
170
+ * On success writes encoded `Vec<RawMatch>` to the return slot.
171
+ * @param {number} ptr
172
+ * @param {number} len
173
+ * @returns {number}
174
+ */
175
+ function db_query(ptr, len) {
176
+ const ret = wasm.db_query(ptr, len);
177
+ return ret;
178
+ }
179
+ exports.db_query = db_query;
180
+
181
+ /**
182
+ * Reads the catalog. Returns 0 on success.
183
+ * On success the serialised catalog TOML text is in the return slot.
184
+ * @param {number} _ptr
185
+ * @param {number} _len
186
+ * @returns {number}
187
+ */
188
+ function db_read_catalog(_ptr, _len) {
189
+ const ret = wasm.db_read_catalog(_ptr, _len);
190
+ return ret;
191
+ }
192
+ exports.db_read_catalog = db_read_catalog;
193
+
194
+ /**
195
+ * Reads corpus statistics from `<ctx>/corpus.bin`.
196
+ * On success places encoded `CorpusStats` bytes in the return slot.
197
+ * @param {number} _ptr
198
+ * @param {number} _len
199
+ * @returns {number}
200
+ */
201
+ function db_read_corpus_stats(_ptr, _len) {
202
+ const ret = wasm.db_read_corpus_stats(_ptr, _len);
203
+ return ret;
204
+ }
205
+ exports.db_read_corpus_stats = db_read_corpus_stats;
206
+
207
+ /**
208
+ * Reads a document manifest. `ptr`/`len` point to a UTF-8 docid string.
209
+ * @param {number} ptr
210
+ * @param {number} len
211
+ * @returns {number}
212
+ */
213
+ function db_read_document(ptr, len) {
214
+ const ret = wasm.db_read_document(ptr, len);
215
+ return ret;
216
+ }
217
+ exports.db_read_document = db_read_document;
218
+
219
+ /**
220
+ * Reads a section by kbid. `ptr`/`len` point to a UTF-8 kbid string.
221
+ * @param {number} ptr
222
+ * @param {number} len
223
+ * @returns {number}
224
+ */
225
+ function db_read_section(ptr, len) {
226
+ const ret = wasm.db_read_section(ptr, len);
227
+ return ret;
228
+ }
229
+ exports.db_read_section = db_read_section;
230
+
231
+ /**
232
+ * Reads multiple sections. `ptr`/`len` point to encoded `Vec<KbId>` (count + kbids).
233
+ * @param {number} ptr
234
+ * @param {number} len
235
+ * @returns {number}
236
+ */
237
+ function db_read_sections(ptr, len) {
238
+ const ret = wasm.db_read_sections(ptr, len);
239
+ return ret;
240
+ }
241
+ exports.db_read_sections = db_read_sections;
242
+
243
+ /**
244
+ * Rebuilds indexes from scratch.
245
+ *
246
+ * Clears the existing inverted and positional indexes, then drives the
247
+ * section-scan rebuild loop. Full per-field tokenization is handled by
248
+ * `kb-worker.wasm` orchestration; this function provides the read-pass
249
+ * scaffolding and the final index write.
250
+ * @param {number} _ptr
251
+ * @param {number} _len
252
+ * @returns {number}
253
+ */
254
+ function db_rebuild_index(_ptr, _len) {
255
+ const ret = wasm.db_rebuild_index(_ptr, _len);
256
+ return ret;
257
+ }
258
+ exports.db_rebuild_index = db_rebuild_index;
259
+
260
+ /**
261
+ * Removes a document manifest. `ptr`/`len` point to a UTF-8 docid string.
262
+ * @param {number} ptr
263
+ * @param {number} len
264
+ * @returns {number}
265
+ */
266
+ function db_remove_document(ptr, len) {
267
+ const ret = wasm.db_remove_document(ptr, len);
268
+ return ret;
269
+ }
270
+ exports.db_remove_document = db_remove_document;
271
+
272
+ /**
273
+ * Removes a section's entries from the indexes.
274
+ * `ptr`/`len` point to a UTF-8 kbid string.
275
+ * @param {number} ptr
276
+ * @param {number} len
277
+ * @returns {number}
278
+ */
279
+ function db_remove_from_index(ptr, len) {
280
+ const ret = wasm.db_remove_from_index(ptr, len);
281
+ return ret;
282
+ }
283
+ exports.db_remove_from_index = db_remove_from_index;
284
+
285
+ /**
286
+ * Removes a section by kbid. `ptr`/`len` point to a UTF-8 kbid string.
287
+ * @param {number} ptr
288
+ * @param {number} len
289
+ * @returns {number}
290
+ */
291
+ function db_remove_section(ptr, len) {
292
+ const ret = wasm.db_remove_section(ptr, len);
293
+ return ret;
294
+ }
295
+ exports.db_remove_section = db_remove_section;
296
+
297
+ /**
298
+ * Updates a section. `ptr`/`len` point to encoded (old_kbid_str, AddSectionParams).
299
+ * @param {number} ptr
300
+ * @param {number} len
301
+ * @returns {number}
302
+ */
303
+ function db_update_section(ptr, len) {
304
+ const ret = wasm.db_update_section(ptr, len);
305
+ return ret;
306
+ }
307
+ exports.db_update_section = db_update_section;
308
+
309
+ /**
310
+ * Writes/updates the catalog. `ptr`/`len` point to encoded catalog TOML text.
311
+ * @param {number} ptr
312
+ * @param {number} len
313
+ * @returns {number}
314
+ */
315
+ function db_write_catalog(ptr, len) {
316
+ const ret = wasm.db_write_catalog(ptr, len);
317
+ return ret;
318
+ }
319
+ exports.db_write_catalog = db_write_catalog;
320
+
321
+ /**
322
+ * Writes corpus statistics to `<ctx>/corpus.bin`.
323
+ * `ptr`/`len` point to 12 bytes of encoded `CorpusStats`.
324
+ * @param {number} ptr
325
+ * @param {number} len
326
+ * @returns {number}
327
+ */
328
+ function db_write_corpus_stats(ptr, len) {
329
+ const ret = wasm.db_write_corpus_stats(ptr, len);
330
+ return ret;
331
+ }
332
+ exports.db_write_corpus_stats = db_write_corpus_stats;
333
+
334
+ /**
335
+ * Writes a document manifest. `ptr`/`len` point to an encoded `DocumentManifest`.
336
+ * @param {number} ptr
337
+ * @param {number} len
338
+ * @returns {number}
339
+ */
340
+ function db_write_document(ptr, len) {
341
+ const ret = wasm.db_write_document(ptr, len);
342
+ return ret;
343
+ }
344
+ exports.db_write_document = db_write_document;
345
+ const import1 = require("env");
346
+ const import2 = require("env");
347
+ const import3 = require("env");
348
+ const import4 = require("env");
349
+ const import5 = require("env");
350
+ const import6 = require("env");
351
+
352
+ function __wbg_get_imports() {
353
+ const import0 = {
354
+ __proto__: null,
355
+ };
356
+ return {
357
+ __proto__: null,
358
+ "./kbdb_fs_database_bg.js": import0,
359
+ "env": import1,
360
+ "env": import2,
361
+ "env": import3,
362
+ "env": import4,
363
+ "env": import5,
364
+ "env": import6,
365
+ };
366
+ }
367
+
368
+ let wasmModule, wasmInstance, wasm;
369
+ function __wbg_finalize_init(instance, module) {
370
+ wasmInstance = instance;
371
+ wasm = instance.exports;
372
+ wasmModule = module;
373
+ return wasm;
374
+ }
375
+
376
+ async function __wbg_load(module, imports) {
377
+ if (typeof Response === 'function' && module instanceof Response) {
378
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
379
+ try {
380
+ return await WebAssembly.instantiateStreaming(module, imports);
381
+ } catch (e) {
382
+ const validResponse = module.ok && expectedResponseType(module.type);
383
+
384
+ if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
385
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
386
+
387
+ } else { throw e; }
388
+ }
389
+ }
390
+
391
+ const bytes = await module.arrayBuffer();
392
+ return await WebAssembly.instantiate(bytes, imports);
393
+ } else {
394
+ const instance = await WebAssembly.instantiate(module, imports);
395
+
396
+ if (instance instanceof WebAssembly.Instance) {
397
+ return { instance, module };
398
+ } else {
399
+ return instance;
400
+ }
401
+ }
402
+
403
+ function expectedResponseType(type) {
404
+ switch (type) {
405
+ case 'basic': case 'cors': case 'default': return true;
406
+ }
407
+ return false;
408
+ }
409
+ }
410
+
411
+ function initSync(module) {
412
+ if (wasm !== undefined) return wasm;
413
+
414
+
415
+ if (module !== undefined) {
416
+ if (Object.getPrototypeOf(module) === Object.prototype) {
417
+ ({module} = module)
418
+ } else {
419
+ console.warn('using deprecated parameters for `initSync()`; pass a single object instead')
420
+ }
421
+ }
422
+
423
+ const imports = __wbg_get_imports();
424
+ if (!(module instanceof WebAssembly.Module)) {
425
+ module = new WebAssembly.Module(module);
426
+ }
427
+ const instance = new WebAssembly.Instance(module, imports);
428
+ return __wbg_finalize_init(instance, module);
429
+ }
430
+
431
+ async function __wbg_init(module_or_path) {
432
+ if (wasm !== undefined) return wasm;
433
+
434
+
435
+ if (module_or_path !== undefined) {
436
+ if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
437
+ ({module_or_path} = module_or_path)
438
+ } else {
439
+ console.warn('using deprecated parameters for the initialization function; pass a single object instead')
440
+ }
441
+ }
442
+
443
+ if (module_or_path === undefined && script_src !== undefined) {
444
+ module_or_path = script_src.replace(/\.js$/, "_bg.wasm");
445
+ }
446
+ const imports = __wbg_get_imports();
447
+
448
+ if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
449
+ module_or_path = fetch(module_or_path);
450
+ }
451
+
452
+ const { instance, module } = await __wbg_load(await module_or_path, imports);
453
+
454
+ return __wbg_finalize_init(instance, module);
455
+ }
456
+
457
+ return Object.assign(__wbg_init, { initSync }, exports);
458
+ })({ __proto__: null });
@@ -0,0 +1,32 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const set_return: (a: number, b: number) => void;
5
+ export const kbdb_free: (a: number, b: number) => void;
6
+ export const db_add_section: (a: number, b: number) => number;
7
+ export const db_add_to_index: (a: number, b: number) => number;
8
+ export const db_check_integrity: (a: number, b: number) => number;
9
+ export const db_check_version: (a: number, b: number) => number;
10
+ export const db_gc: (a: number, b: number) => number;
11
+ export const db_init: (a: number, b: number) => number;
12
+ export const db_init_catalog: (a: number, b: number) => number;
13
+ export const db_init_directory: (a: number, b: number) => number;
14
+ export const db_list_documents: (a: number, b: number) => number;
15
+ export const db_list_sections: (a: number, b: number) => number;
16
+ export const db_query: (a: number, b: number) => number;
17
+ export const db_read_catalog: (a: number, b: number) => number;
18
+ export const db_read_corpus_stats: (a: number, b: number) => number;
19
+ export const db_read_document: (a: number, b: number) => number;
20
+ export const db_read_section: (a: number, b: number) => number;
21
+ export const db_read_sections: (a: number, b: number) => number;
22
+ export const db_rebuild_index: (a: number, b: number) => number;
23
+ export const db_remove_document: (a: number, b: number) => number;
24
+ export const db_remove_from_index: (a: number, b: number) => number;
25
+ export const db_remove_section: (a: number, b: number) => number;
26
+ export const db_update_section: (a: number, b: number) => number;
27
+ export const db_write_catalog: (a: number, b: number) => number;
28
+ export const db_write_corpus_stats: (a: number, b: number) => number;
29
+ export const db_write_document: (a: number, b: number) => number;
30
+ export const kbdb_alloc: (a: number) => number;
31
+ export const get_return_len: () => number;
32
+ export const get_return_ptr: () => number;
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "kbdb-fs-database",
3
+ "description": "Filesystem storage engine for kbdb -- compiles to fs-database.wasm",
4
+ "version": "0.0.1",
5
+ "license": "ISC",
6
+ "files": [
7
+ "kbdb_fs_database_bg.wasm",
8
+ "kbdb_fs_database.js",
9
+ "kbdb_fs_database.d.ts"
10
+ ],
11
+ "browser": "kbdb_fs_database.js",
12
+ "types": "kbdb_fs_database.d.ts"
13
+ }