@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.
- package/README.md +563 -0
- package/dist/ContentNode.d.ts +207 -0
- package/dist/ContentNode.d.ts.map +1 -0
- package/dist/ContentNode.js +633 -0
- package/dist/ContentNode.js.map +1 -0
- package/dist/ExtractionEngine.d.ts +65 -0
- package/dist/ExtractionEngine.d.ts.map +1 -0
- package/dist/ExtractionEngine.js +115 -0
- package/dist/ExtractionEngine.js.map +1 -0
- package/dist/KddbDocument.d.ts +193 -0
- package/dist/KddbDocument.d.ts.map +1 -0
- package/dist/KddbDocument.js +575 -0
- package/dist/KddbDocument.js.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/sqljs-bridge.bundle.js +330 -0
- package/dist/wasm/browser-bridge.d.ts +44 -0
- package/dist/wasm/browser-bridge.d.ts.map +1 -0
- package/dist/wasm/browser-bridge.js +104 -0
- package/dist/wasm/browser-bridge.js.map +1 -0
- package/dist/wasm/loader.d.ts +57 -0
- package/dist/wasm/loader.d.ts.map +1 -0
- package/dist/wasm/loader.js +193 -0
- package/dist/wasm/loader.js.map +1 -0
- package/dist/wasm/sqljs-bridge.d.ts +40 -0
- package/dist/wasm/sqljs-bridge.d.ts.map +1 -0
- package/dist/wasm/sqljs-bridge.js +98 -0
- package/dist/wasm/sqljs-bridge.js.map +1 -0
- package/dist/wasm/sqljs-core.d.ts +92 -0
- package/dist/wasm/sqljs-core.d.ts.map +1 -0
- package/dist/wasm/sqljs-core.js +372 -0
- package/dist/wasm/sqljs-core.js.map +1 -0
- package/dist/wasm/types.d.ts +179 -0
- package/dist/wasm/types.d.ts.map +1 -0
- package/dist/wasm/types.js +9 -0
- package/dist/wasm/types.js.map +1 -0
- 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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|