@kodexa-ai/document-wasm-ts 8.0.0-20484695702

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 (39) hide show
  1. package/README.md +563 -0
  2. package/dist/ContentNode.d.ts +207 -0
  3. package/dist/ContentNode.d.ts.map +1 -0
  4. package/dist/ContentNode.js +633 -0
  5. package/dist/ContentNode.js.map +1 -0
  6. package/dist/ExtractionEngine.d.ts +65 -0
  7. package/dist/ExtractionEngine.d.ts.map +1 -0
  8. package/dist/ExtractionEngine.js +115 -0
  9. package/dist/ExtractionEngine.js.map +1 -0
  10. package/dist/KddbDocument.d.ts +193 -0
  11. package/dist/KddbDocument.d.ts.map +1 -0
  12. package/dist/KddbDocument.js +575 -0
  13. package/dist/KddbDocument.js.map +1 -0
  14. package/dist/index.d.ts +54 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +96 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/sqljs-bridge.bundle.js +330 -0
  19. package/dist/wasm/browser-bridge.d.ts +44 -0
  20. package/dist/wasm/browser-bridge.d.ts.map +1 -0
  21. package/dist/wasm/browser-bridge.js +104 -0
  22. package/dist/wasm/browser-bridge.js.map +1 -0
  23. package/dist/wasm/loader.d.ts +57 -0
  24. package/dist/wasm/loader.d.ts.map +1 -0
  25. package/dist/wasm/loader.js +193 -0
  26. package/dist/wasm/loader.js.map +1 -0
  27. package/dist/wasm/sqljs-bridge.d.ts +40 -0
  28. package/dist/wasm/sqljs-bridge.d.ts.map +1 -0
  29. package/dist/wasm/sqljs-bridge.js +98 -0
  30. package/dist/wasm/sqljs-bridge.js.map +1 -0
  31. package/dist/wasm/sqljs-core.d.ts +92 -0
  32. package/dist/wasm/sqljs-core.d.ts.map +1 -0
  33. package/dist/wasm/sqljs-core.js +372 -0
  34. package/dist/wasm/sqljs-core.js.map +1 -0
  35. package/dist/wasm/types.d.ts +179 -0
  36. package/dist/wasm/types.d.ts.map +1 -0
  37. package/dist/wasm/types.js +9 -0
  38. package/dist/wasm/types.js.map +1 -0
  39. package/package.json +62 -0
@@ -0,0 +1,575 @@
1
+ /**
2
+ * KddbDocument - TypeScript wrapper for Go WASM Document functionality
3
+ *
4
+ * NOTE: Go WASM with syscall/js passes strings directly between JS and Go.
5
+ * No pointer-based memory management is needed.
6
+ */
7
+ import { getWasmHelper, getWasmInstance } from './wasm/loader';
8
+ import { ContentNode } from './ContentNode';
9
+ export class KddbDocument {
10
+ constructor(documentRef) {
11
+ this.disposed = false;
12
+ this.documentRef = documentRef;
13
+ }
14
+ /**
15
+ * Create a new empty document
16
+ */
17
+ static async create() {
18
+ await getWasmInstance(); // Ensure WASM is loaded
19
+ const docRef = createDocument();
20
+ return new KddbDocument(docRef);
21
+ }
22
+ /**
23
+ * Create a document from text
24
+ */
25
+ static async fromText(text) {
26
+ await getWasmInstance(); // Ensure WASM is loaded
27
+ const docRef = createDocumentFromText(text);
28
+ return new KddbDocument(docRef);
29
+ }
30
+ /**
31
+ * Create a document from JSON string
32
+ */
33
+ static async fromJson(json) {
34
+ await getWasmInstance(); // Ensure WASM is loaded
35
+ const docRef = createDocumentFromJson(json);
36
+ return new KddbDocument(docRef);
37
+ }
38
+ /**
39
+ * Create a document from KDDB blob (SQLite binary)
40
+ */
41
+ static async fromBlob(blob) {
42
+ await getWasmInstance(); // Ensure WASM is loaded
43
+ const bytes = new Uint8Array(await blob.arrayBuffer());
44
+ const g = globalThis;
45
+ // Use optimized path that loads directly into sql.js (avoids base64 round-trip)
46
+ const docRef = g.loadDocument(bytes);
47
+ if (docRef === 0) {
48
+ throw new Error('Failed to load document from KDDB bytes');
49
+ }
50
+ return new KddbDocument(docRef);
51
+ }
52
+ /**
53
+ * Alias for dispose() to match KddbDocument API
54
+ */
55
+ destroy() {
56
+ this.dispose();
57
+ }
58
+ /**
59
+ * Get the document reference (for internal use)
60
+ */
61
+ getDocumentRef() {
62
+ this.checkDisposed();
63
+ return this.documentRef;
64
+ }
65
+ /**
66
+ * Convert document to JSON string
67
+ */
68
+ async toJson() {
69
+ this.checkDisposed();
70
+ await getWasmInstance();
71
+ return documentToJson(this.documentRef);
72
+ }
73
+ /**
74
+ * Get the root content node
75
+ */
76
+ async getRoot() {
77
+ this.checkDisposed();
78
+ await getWasmInstance();
79
+ const rootRef = documentGetRoot(this.documentRef);
80
+ if (rootRef === 0)
81
+ return null;
82
+ return new ContentNode(rootRef);
83
+ }
84
+ /**
85
+ * Create a new node (requires extended WASM exports)
86
+ */
87
+ async createNode(nodeType) {
88
+ this.checkDisposed();
89
+ await getWasmInstance();
90
+ const g = globalThis;
91
+ if (typeof g.createNode !== 'function') {
92
+ throw new Error('createNode not available in WASM module');
93
+ }
94
+ const nodeRef = g.createNode(this.documentRef, nodeType);
95
+ return new ContentNode(nodeRef);
96
+ }
97
+ /**
98
+ * Select nodes using a selector (requires extended WASM exports)
99
+ */
100
+ async select(selector) {
101
+ this.checkDisposed();
102
+ await getWasmInstance();
103
+ const g = globalThis;
104
+ if (typeof g.documentSelect !== 'function') {
105
+ throw new Error('documentSelect not available in WASM module');
106
+ }
107
+ const resultJson = g.documentSelect(this.documentRef, selector);
108
+ const helper = await getWasmHelper();
109
+ const results = helper.parseJsonResult(resultJson);
110
+ if (!results || !Array.isArray(results)) {
111
+ return [];
112
+ }
113
+ return results.map((nodeRef) => new ContentNode(nodeRef));
114
+ }
115
+ /**
116
+ * Select first node using a selector (requires extended WASM exports)
117
+ */
118
+ async selectFirst(selector) {
119
+ this.checkDisposed();
120
+ await getWasmInstance();
121
+ const g = globalThis;
122
+ if (typeof g.documentSelectFirst !== 'function') {
123
+ throw new Error('documentSelectFirst not available in WASM module');
124
+ }
125
+ const nodeRef = g.documentSelectFirst(this.documentRef, selector);
126
+ if (nodeRef === 0)
127
+ return null;
128
+ return new ContentNode(nodeRef);
129
+ }
130
+ // Exception management (requires extended WASM exports)
131
+ /**
132
+ * Add an exception to the document
133
+ */
134
+ async addException(exception) {
135
+ this.checkDisposed();
136
+ await getWasmInstance();
137
+ const g = globalThis;
138
+ if (typeof g.documentAddException !== 'function') {
139
+ throw new Error('documentAddException not available in WASM module');
140
+ }
141
+ g.documentAddException(this.documentRef, JSON.stringify(exception));
142
+ }
143
+ /**
144
+ * Get all exceptions from the document
145
+ */
146
+ async getExceptions() {
147
+ this.checkDisposed();
148
+ await getWasmInstance();
149
+ const g = globalThis;
150
+ if (typeof g.documentGetExceptions !== 'function') {
151
+ throw new Error('documentGetExceptions not available in WASM module');
152
+ }
153
+ const resultJson = g.documentGetExceptions(this.documentRef);
154
+ const helper = await getWasmHelper();
155
+ const exceptions = helper.parseJsonResult(resultJson);
156
+ return Array.isArray(exceptions) ? exceptions : [];
157
+ }
158
+ // Metadata management (requires extended WASM exports)
159
+ /**
160
+ * Set a metadata value
161
+ */
162
+ async setMetadataValue(key, value) {
163
+ this.checkDisposed();
164
+ await getWasmInstance();
165
+ const g = globalThis;
166
+ if (typeof g.documentSetMetadataValue !== 'function') {
167
+ throw new Error('documentSetMetadataValue not available in WASM module');
168
+ }
169
+ g.documentSetMetadataValue(this.documentRef, key, JSON.stringify(value));
170
+ }
171
+ /**
172
+ * Get a metadata value
173
+ */
174
+ async getMetadataValue(key) {
175
+ this.checkDisposed();
176
+ await getWasmInstance();
177
+ const g = globalThis;
178
+ if (typeof g.documentGetMetadataValue !== 'function') {
179
+ throw new Error('documentGetMetadataValue not available in WASM module');
180
+ }
181
+ const resultJson = g.documentGetMetadataValue(this.documentRef, key);
182
+ const helper = await getWasmHelper();
183
+ return helper.parseJsonResult(resultJson);
184
+ }
185
+ /**
186
+ * Set metadata from object
187
+ */
188
+ async setMetadata(metadata) {
189
+ for (const [key, value] of Object.entries(metadata)) {
190
+ await this.setMetadataValue(key, value);
191
+ }
192
+ }
193
+ /**
194
+ * Get all metadata as object
195
+ */
196
+ async getMetadata() {
197
+ this.checkDisposed();
198
+ await getWasmInstance();
199
+ const g = globalThis;
200
+ if (typeof g.documentGetMetadata !== 'function') {
201
+ return {};
202
+ }
203
+ const metadataJson = g.documentGetMetadata(this.documentRef);
204
+ const helper = await getWasmHelper();
205
+ return helper.parseJsonResult(metadataJson) || {};
206
+ }
207
+ // ============================================================================
208
+ // Document Query Methods (KddbDocument API compatibility)
209
+ // ============================================================================
210
+ /**
211
+ * Get the number of pages in the document
212
+ */
213
+ async getNumPages() {
214
+ this.checkDisposed();
215
+ await getWasmInstance();
216
+ const g = globalThis;
217
+ if (typeof g.documentGetNodeCountByType !== 'function') {
218
+ throw new Error('documentGetNodeCountByType not available in WASM module');
219
+ }
220
+ return g.documentGetNodeCountByType(this.documentRef, 'page');
221
+ }
222
+ /**
223
+ * Get document lines
224
+ */
225
+ async getLines() {
226
+ this.checkDisposed();
227
+ await getWasmInstance();
228
+ const g = globalThis;
229
+ if (typeof g.documentGetLines !== 'function') {
230
+ throw new Error('documentGetLines not available in WASM module');
231
+ }
232
+ const linesJson = g.documentGetLines(this.documentRef);
233
+ const helper = await getWasmHelper();
234
+ const lines = helper.parseJsonResult(linesJson);
235
+ return Array.isArray(lines) ? lines : [];
236
+ }
237
+ /**
238
+ * Get the root content node (alias for getRoot for KddbDocument compatibility)
239
+ */
240
+ get contentNode() {
241
+ // Note: This is a sync property that returns null until document is loaded
242
+ // Use getRoot() for async access
243
+ const g = globalThis;
244
+ if (this.disposed || this.documentRef === 0)
245
+ return null;
246
+ if (typeof g.documentGetRoot !== 'function')
247
+ return null;
248
+ const rootRef = g.documentGetRoot(this.documentRef);
249
+ if (rootRef === 0)
250
+ return null;
251
+ return new ContentNode(rootRef);
252
+ }
253
+ /**
254
+ * Find a node by its UUID
255
+ */
256
+ async findNodeByUUID(uuid) {
257
+ this.checkDisposed();
258
+ await getWasmInstance();
259
+ const g = globalThis;
260
+ if (typeof g.documentGetNodeByUUID !== 'function') {
261
+ throw new Error('documentGetNodeByUUID not available in WASM module');
262
+ }
263
+ const nodeRef = g.documentGetNodeByUUID(this.documentRef, uuid);
264
+ if (nodeRef === 0)
265
+ return null;
266
+ return new ContentNode(nodeRef);
267
+ }
268
+ /**
269
+ * Get node by ID (alias for findNodeByUUID for KddbDocument compatibility)
270
+ */
271
+ async getNodeById(nodeId) {
272
+ return this.findNodeByUUID(nodeId);
273
+ }
274
+ /**
275
+ * Find nodes by tag UUID
276
+ */
277
+ async findNodesByTagUuid(tagUuid) {
278
+ this.checkDisposed();
279
+ await getWasmInstance();
280
+ const g = globalThis;
281
+ if (typeof g.documentGetTagsByName !== 'function') {
282
+ // Fallback: use selector
283
+ return this.select(`//*[hasTag()]`).then(nodes => Promise.all(nodes.map(async (n) => {
284
+ const tags = await n.getTags();
285
+ // This is a simplified check - real implementation would need tag UUID matching
286
+ return tags.length > 0 ? n : null;
287
+ })).then(results => results.filter((n) => n !== null)));
288
+ }
289
+ // Use documentGetTagsByPrefix to find nodes with the tag UUID
290
+ const resultJson = g.documentGetTagsByPrefix(this.documentRef, '');
291
+ const helper = await getWasmHelper();
292
+ const tagData = helper.parseJsonResult(resultJson);
293
+ // Find nodes matching the tag UUID
294
+ const matchingNodes = [];
295
+ if (Array.isArray(tagData)) {
296
+ for (const entry of tagData) {
297
+ if (entry.tagUuid === tagUuid && entry.nodeRef) {
298
+ matchingNodes.push(new ContentNode(entry.nodeRef));
299
+ }
300
+ }
301
+ }
302
+ return matchingNodes;
303
+ }
304
+ /**
305
+ * Get all tagged nodes
306
+ */
307
+ async getTaggedNodes(tagPrefix = []) {
308
+ this.checkDisposed();
309
+ await getWasmInstance();
310
+ const g = globalThis;
311
+ if (typeof g.documentGetAllTaggedNodes !== 'function') {
312
+ throw new Error('documentGetAllTaggedNodes not available in WASM module');
313
+ }
314
+ const resultJson = g.documentGetAllTaggedNodes(this.documentRef);
315
+ const helper = await getWasmHelper();
316
+ const nodeRefs = helper.parseJsonResult(resultJson);
317
+ if (!Array.isArray(nodeRefs))
318
+ return [];
319
+ return nodeRefs.map((ref) => new ContentNode(ref));
320
+ }
321
+ /**
322
+ * Get nodes by tag UUIDs for given prefixes (bulk operation)
323
+ */
324
+ async getNodesByTagUuidsForPrefixes(tagPrefixes) {
325
+ this.checkDisposed();
326
+ await getWasmInstance();
327
+ const g = globalThis;
328
+ const result = new Map();
329
+ if (!tagPrefixes || tagPrefixes.length === 0) {
330
+ return result;
331
+ }
332
+ if (typeof g.documentGetTagsByPrefix !== 'function') {
333
+ return result;
334
+ }
335
+ for (const prefix of tagPrefixes) {
336
+ const resultJson = g.documentGetTagsByPrefix(this.documentRef, prefix);
337
+ const helper = await getWasmHelper();
338
+ const tagData = helper.parseJsonResult(resultJson);
339
+ if (Array.isArray(tagData)) {
340
+ for (const entry of tagData) {
341
+ const tagUuid = entry.tagUuid;
342
+ if (!result.has(tagUuid)) {
343
+ result.set(tagUuid, {
344
+ tagName: entry.tagName,
345
+ tagData: entry.tagData,
346
+ nodes: []
347
+ });
348
+ }
349
+ if (entry.nodeRef) {
350
+ result.get(tagUuid).nodes.push(new ContentNode(entry.nodeRef));
351
+ }
352
+ }
353
+ }
354
+ }
355
+ return result;
356
+ }
357
+ /**
358
+ * Sort nodes spatially (by Y then X coordinate)
359
+ */
360
+ async getSpatiallySortedNodes(nodes) {
361
+ // Get bboxes for all nodes
362
+ const nodesWithBbox = await Promise.all(nodes.map(async (node) => ({
363
+ node,
364
+ bbox: await node.getBBox()
365
+ })));
366
+ return nodesWithBbox
367
+ .sort((a, b) => {
368
+ if (!a.bbox)
369
+ return 1;
370
+ if (!b.bbox)
371
+ return -1;
372
+ // Sort by Y first, then X (with 5 pixel tolerance for same line)
373
+ const yDiff = a.bbox.y - b.bbox.y;
374
+ if (Math.abs(yDiff) > 5) {
375
+ return yDiff;
376
+ }
377
+ return a.bbox.x - b.bbox.x;
378
+ })
379
+ .map(item => item.node);
380
+ }
381
+ /**
382
+ * Get concatenated text from nodes
383
+ */
384
+ async getNodeText(nodes) {
385
+ const sortedNodes = await this.getSpatiallySortedNodes(nodes);
386
+ const texts = await Promise.all(sortedNodes.map(node => node.getContent()));
387
+ return texts.join(' ');
388
+ }
389
+ /**
390
+ * Build feature set for the document
391
+ */
392
+ async buildFeatureSet() {
393
+ this.checkDisposed();
394
+ await getWasmInstance();
395
+ const g = globalThis;
396
+ // Get all tagged nodes and their features
397
+ const taggedNodes = await this.getTaggedNodes();
398
+ const nodeFeatures = [];
399
+ for (const node of taggedNodes) {
400
+ const uuid = await node.getUuid();
401
+ const features = await node.getFeatures();
402
+ const tagFeatures = features.filter(f => f.featureType === 'tag');
403
+ if (tagFeatures.length > 0) {
404
+ nodeFeatures.push({ nodeUuid: uuid, features: tagFeatures });
405
+ }
406
+ }
407
+ return { nodeFeatures };
408
+ }
409
+ // ============================================================================
410
+ // Document Data Methods
411
+ // ============================================================================
412
+ /**
413
+ * Get model insights from the document
414
+ */
415
+ async getModelInsights() {
416
+ this.checkDisposed();
417
+ await getWasmInstance();
418
+ const g = globalThis;
419
+ if (typeof g.documentGetStatistics !== 'function') {
420
+ return [];
421
+ }
422
+ const statsJson = g.documentGetStatistics(this.documentRef);
423
+ const helper = await getWasmHelper();
424
+ const stats = helper.parseJsonResult(statsJson);
425
+ return stats?.modelInsights || [];
426
+ }
427
+ /**
428
+ * Get content exceptions from the document
429
+ */
430
+ async getContentExceptions() {
431
+ return this.getExceptions();
432
+ }
433
+ /**
434
+ * Get external data by key
435
+ */
436
+ async getExternalData(key = 'default') {
437
+ this.checkDisposed();
438
+ await getWasmInstance();
439
+ const g = globalThis;
440
+ if (typeof g.documentGetExternalData !== 'function') {
441
+ throw new Error('documentGetExternalData not available in WASM module');
442
+ }
443
+ const resultJson = g.documentGetExternalData(this.documentRef, key);
444
+ const helper = await getWasmHelper();
445
+ return helper.parseJsonResult(resultJson) || {};
446
+ }
447
+ /**
448
+ * Set external data for a key
449
+ */
450
+ async setExternalData(data, key = 'default') {
451
+ this.checkDisposed();
452
+ await getWasmInstance();
453
+ const g = globalThis;
454
+ if (typeof g.documentSetExternalData !== 'function') {
455
+ throw new Error('documentSetExternalData not available in WASM module');
456
+ }
457
+ g.documentSetExternalData(this.documentRef, key, JSON.stringify(data));
458
+ }
459
+ /**
460
+ * Get all external data keys
461
+ */
462
+ async getExternalDataKeys() {
463
+ this.checkDisposed();
464
+ await getWasmInstance();
465
+ const g = globalThis;
466
+ if (typeof g.documentGetExternalDataKeys !== 'function') {
467
+ return [];
468
+ }
469
+ const keysJson = g.documentGetExternalDataKeys(this.documentRef);
470
+ const helper = await getWasmHelper();
471
+ const keys = helper.parseJsonResult(keysJson);
472
+ return Array.isArray(keys) ? keys : [];
473
+ }
474
+ /**
475
+ * Get document validations
476
+ */
477
+ async getValidations() {
478
+ this.checkDisposed();
479
+ await getWasmInstance();
480
+ const g = globalThis;
481
+ if (typeof g.documentGetValidations !== 'function') {
482
+ return [];
483
+ }
484
+ const validationsJson = g.documentGetValidations(this.documentRef);
485
+ const helper = await getWasmHelper();
486
+ const validations = helper.parseJsonResult(validationsJson);
487
+ return Array.isArray(validations) ? validations : [];
488
+ }
489
+ /**
490
+ * Set document validations
491
+ */
492
+ async setValidations(validations) {
493
+ this.checkDisposed();
494
+ await getWasmInstance();
495
+ const g = globalThis;
496
+ if (typeof g.documentSetValidations !== 'function') {
497
+ throw new Error('documentSetValidations not available in WASM module');
498
+ }
499
+ g.documentSetValidations(this.documentRef, JSON.stringify(validations));
500
+ }
501
+ /**
502
+ * Export document to KDDB bytes
503
+ */
504
+ async toBlob() {
505
+ this.checkDisposed();
506
+ await getWasmInstance();
507
+ const g = globalThis;
508
+ if (typeof g.documentToKddbBytes !== 'function') {
509
+ throw new Error('documentToKddbBytes not available in WASM module');
510
+ }
511
+ const bytes = g.documentToKddbBytes(this.documentRef);
512
+ return new Blob([bytes], { type: 'octet/stream' });
513
+ }
514
+ /**
515
+ * Get a pretty representation of a page with spatial layout preserved.
516
+ * @param page - The page ContentNode (must be a page type node)
517
+ * @param maxWidth - Optional max width (not currently used in Go implementation)
518
+ * @returns Pretty formatted page text
519
+ */
520
+ async getPrettyPage(page, maxWidth) {
521
+ this.checkDisposed();
522
+ await getWasmInstance();
523
+ const g = globalThis;
524
+ if (typeof g.documentGetPrettyPage !== 'function') {
525
+ throw new Error('documentGetPrettyPage not available in WASM module');
526
+ }
527
+ // Get page index from the node
528
+ const pageIndex = await page.getIndex();
529
+ if (pageIndex === undefined) {
530
+ return '';
531
+ }
532
+ return g.documentGetPrettyPage(this.documentRef, pageIndex);
533
+ }
534
+ /**
535
+ * Get a pretty representation of all pages in the document.
536
+ * @param maxWidth - Optional max width (not currently used in Go implementation)
537
+ * @returns Pretty formatted text for all pages with page headers
538
+ */
539
+ async getPrettyPages(maxWidth) {
540
+ this.checkDisposed();
541
+ await getWasmInstance();
542
+ const g = globalThis;
543
+ if (typeof g.documentGetPrettyPages !== 'function') {
544
+ throw new Error('documentGetPrettyPages not available in WASM module');
545
+ }
546
+ return g.documentGetPrettyPages(this.documentRef);
547
+ }
548
+ // Resource management
549
+ /**
550
+ * Dispose of the document and free WASM resources
551
+ */
552
+ dispose() {
553
+ if (!this.disposed && this.documentRef !== 0) {
554
+ try {
555
+ if (typeof freeDocument === 'function') {
556
+ freeDocument(this.documentRef);
557
+ }
558
+ this.disposed = true;
559
+ this.documentRef = 0;
560
+ }
561
+ catch (e) {
562
+ console.warn('Error disposing KddbDocument:', e);
563
+ }
564
+ }
565
+ }
566
+ /**
567
+ * Check if this document has been disposed
568
+ */
569
+ checkDisposed() {
570
+ if (this.disposed) {
571
+ throw new Error('KddbDocument has been disposed');
572
+ }
573
+ }
574
+ }
575
+ //# sourceMappingURL=KddbDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KddbDocument.js","sourceRoot":"","sources":["../src/KddbDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Kodexa Document Library - TypeScript WASM Wrapper
3
+ *
4
+ * High-performance TypeScript wrapper for the Kodexa Go library using WebAssembly.
5
+ * Provides document processing capabilities for both Node.js and browser environments.
6
+ */
7
+ export { KddbDocument } from './KddbDocument';
8
+ export { ContentNode } from './ContentNode';
9
+ export { ExtractionEngine } from './ExtractionEngine';
10
+ export type { ExtractionContentException } from './ExtractionEngine';
11
+ export { initWasm, isWasmLoaded, cleanupWasm, setLogLevel } from './wasm/loader';
12
+ export type { BoundingBox, ContentFeature, ContentException, ProcessingStep, DocumentMetadata, TagOptions, GoWasmInstance, Taxonomy, Taxon, TaxonValidation, DataObject, DataAttribute, DataException, DocumentTaxonValidation, } from './wasm/types';
13
+ export declare class Kodexa {
14
+ /**
15
+ * Initialize the WASM module
16
+ * Call this before using any other functions
17
+ */
18
+ static init(): Promise<void>;
19
+ /**
20
+ * Create a new empty document
21
+ */
22
+ static createDocument(): Promise<import('./KddbDocument').KddbDocument>;
23
+ /**
24
+ * Create a document from text
25
+ */
26
+ static fromText(text: string): Promise<import('./KddbDocument').KddbDocument>;
27
+ /**
28
+ * Create a document from JSON
29
+ */
30
+ static fromJson(json: string): Promise<import('./KddbDocument').KddbDocument>;
31
+ /**
32
+ * Create a document from KDDB blob
33
+ */
34
+ static fromBlob(blob: Blob): Promise<import('./KddbDocument').KddbDocument>;
35
+ /**
36
+ * Check if WASM module is loaded
37
+ */
38
+ static isLoaded(): boolean;
39
+ /**
40
+ * Cleanup WASM resources
41
+ */
42
+ static cleanup(): void;
43
+ /**
44
+ * Set the log level for Go WASM logging.
45
+ * Valid levels: "debug", "info", "warn", "error"
46
+ * Default is "warn" (set during initialization).
47
+ *
48
+ * Can be called anytime after init().
49
+ * To set before init(), use: window.KODEXA_LOG_LEVEL = "debug"
50
+ */
51
+ static setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): boolean;
52
+ }
53
+ export default Kodexa;
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjF,YAAY,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EAEd,QAAQ,EACR,KAAK,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,qBAAa,MAAM;IACjB;;;OAGG;WACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKlC;;OAEG;WACU,cAAc,IAAI,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAK7E;;OAEG;WACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAKnF;;OAEG;WACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAKnF;;OAEG;WACU,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAKjF;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,OAAO;IAS1B;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAStB;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO;CASxE;AAGD,eAAe,MAAM,CAAC"}