@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,65 @@
1
+ /**
2
+ * ExtractionEngine - TypeScript wrapper for Go WASM Extraction functionality
3
+ *
4
+ * Provides extraction capabilities using the Go ExtractionEngine via WASM.
5
+ */
6
+ import { Taxonomy, DataObject, DocumentTaxonValidation } from './wasm/types';
7
+ import { KddbDocument } from './KddbDocument';
8
+ /**
9
+ * Content exception returned by the extraction engine
10
+ */
11
+ export interface ExtractionContentException {
12
+ id: number;
13
+ message: string;
14
+ severity: string;
15
+ exceptionType: string;
16
+ open: boolean;
17
+ exceptionDetails?: string;
18
+ tag?: string;
19
+ tagUuid?: string;
20
+ groupUuid?: string;
21
+ nodeUuid?: string;
22
+ }
23
+ export declare class ExtractionEngine {
24
+ private engineRef;
25
+ private disposed;
26
+ /**
27
+ * Create a new ExtractionEngine
28
+ * @param document The document to extract from
29
+ * @param taxonomies Array of taxonomy definitions
30
+ */
31
+ constructor(engineRef: number);
32
+ /**
33
+ * Create an ExtractionEngine from a document and taxonomies
34
+ */
35
+ static create(document: KddbDocument, taxonomies: Taxonomy[]): Promise<ExtractionEngine>;
36
+ /**
37
+ * Run extraction without saving results to the database
38
+ * @returns Array of extracted DataObjects
39
+ */
40
+ process(): Promise<DataObject[]>;
41
+ /**
42
+ * Run extraction and save results to the database
43
+ * @returns Array of extracted DataObjects
44
+ */
45
+ processAndSave(): Promise<DataObject[]>;
46
+ /**
47
+ * Get content exceptions generated during extraction
48
+ * @returns Array of content exceptions
49
+ */
50
+ getContentExceptions(): Promise<ExtractionContentException[]>;
51
+ /**
52
+ * Get document taxon validations from the extraction
53
+ * @returns Array of document taxon validations
54
+ */
55
+ getValidations(): Promise<DocumentTaxonValidation[]>;
56
+ /**
57
+ * Dispose of the extraction engine and free WASM resources
58
+ */
59
+ dispose(): void;
60
+ /**
61
+ * Check if this engine has been disposed
62
+ */
63
+ private checkDisposed;
64
+ }
65
+ //# sourceMappingURL=ExtractionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractionEngine.d.ts","sourceRoot":"","sources":["../src/ExtractionEngine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;OAIG;gBACS,SAAS,EAAE,MAAM;IAI7B;;OAEG;WACU,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAU9F;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAWtC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAW7C;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAWnE;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAW1D;;OAEG;IACH,OAAO,IAAI,IAAI;IAcf;;OAEG;IACH,OAAO,CAAC,aAAa;CAKtB"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * ExtractionEngine - TypeScript wrapper for Go WASM Extraction functionality
3
+ *
4
+ * Provides extraction capabilities using the Go ExtractionEngine via WASM.
5
+ */
6
+ import { getWasmInstance } from './wasm/loader';
7
+ export class ExtractionEngine {
8
+ /**
9
+ * Create a new ExtractionEngine
10
+ * @param document The document to extract from
11
+ * @param taxonomies Array of taxonomy definitions
12
+ */
13
+ constructor(engineRef) {
14
+ this.disposed = false;
15
+ this.engineRef = engineRef;
16
+ }
17
+ /**
18
+ * Create an ExtractionEngine from a document and taxonomies
19
+ */
20
+ static async create(document, taxonomies) {
21
+ await getWasmInstance();
22
+ const taxonomiesJSON = JSON.stringify(taxonomies);
23
+ const engineRef = createExtractionEngine(document.getDocumentRef(), taxonomiesJSON);
24
+ if (engineRef === 0) {
25
+ throw new Error('Failed to create extraction engine');
26
+ }
27
+ return new ExtractionEngine(engineRef);
28
+ }
29
+ /**
30
+ * Run extraction without saving results to the database
31
+ * @returns Array of extracted DataObjects
32
+ */
33
+ async process() {
34
+ this.checkDisposed();
35
+ await getWasmInstance();
36
+ const resultJson = processExtraction(this.engineRef);
37
+ try {
38
+ return JSON.parse(resultJson);
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ }
44
+ /**
45
+ * Run extraction and save results to the database
46
+ * @returns Array of extracted DataObjects
47
+ */
48
+ async processAndSave() {
49
+ this.checkDisposed();
50
+ await getWasmInstance();
51
+ const resultJson = processAndSaveExtraction(this.engineRef);
52
+ try {
53
+ return JSON.parse(resultJson);
54
+ }
55
+ catch {
56
+ return [];
57
+ }
58
+ }
59
+ /**
60
+ * Get content exceptions generated during extraction
61
+ * @returns Array of content exceptions
62
+ */
63
+ async getContentExceptions() {
64
+ this.checkDisposed();
65
+ await getWasmInstance();
66
+ const resultJson = getExtractionContentExceptions(this.engineRef);
67
+ try {
68
+ return JSON.parse(resultJson);
69
+ }
70
+ catch {
71
+ return [];
72
+ }
73
+ }
74
+ /**
75
+ * Get document taxon validations from the extraction
76
+ * @returns Array of document taxon validations
77
+ */
78
+ async getValidations() {
79
+ this.checkDisposed();
80
+ await getWasmInstance();
81
+ const resultJson = getExtractionValidations(this.engineRef);
82
+ try {
83
+ return JSON.parse(resultJson);
84
+ }
85
+ catch {
86
+ return [];
87
+ }
88
+ }
89
+ /**
90
+ * Dispose of the extraction engine and free WASM resources
91
+ */
92
+ dispose() {
93
+ if (!this.disposed && this.engineRef !== 0) {
94
+ try {
95
+ if (typeof freeExtractionEngine === 'function') {
96
+ freeExtractionEngine(this.engineRef);
97
+ }
98
+ this.disposed = true;
99
+ this.engineRef = 0;
100
+ }
101
+ catch (e) {
102
+ console.warn('Error disposing ExtractionEngine:', e);
103
+ }
104
+ }
105
+ }
106
+ /**
107
+ * Check if this engine has been disposed
108
+ */
109
+ checkDisposed() {
110
+ if (this.disposed) {
111
+ throw new Error('ExtractionEngine has been disposed');
112
+ }
113
+ }
114
+ }
115
+ //# sourceMappingURL=ExtractionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtractionEngine.js","sourceRoot":"","sources":["../src/ExtractionEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,193 @@
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 { ContentException, DocumentMetadata } from './wasm/types';
8
+ import { ContentNode } from './ContentNode';
9
+ export declare class KddbDocument {
10
+ private documentRef;
11
+ private disposed;
12
+ constructor(documentRef: number);
13
+ /**
14
+ * Create a new empty document
15
+ */
16
+ static create(): Promise<KddbDocument>;
17
+ /**
18
+ * Create a document from text
19
+ */
20
+ static fromText(text: string): Promise<KddbDocument>;
21
+ /**
22
+ * Create a document from JSON string
23
+ */
24
+ static fromJson(json: string): Promise<KddbDocument>;
25
+ /**
26
+ * Create a document from KDDB blob (SQLite binary)
27
+ */
28
+ static fromBlob(blob: Blob): Promise<KddbDocument>;
29
+ /**
30
+ * Alias for dispose() to match KddbDocument API
31
+ */
32
+ destroy(): void;
33
+ /**
34
+ * Get the document reference (for internal use)
35
+ */
36
+ getDocumentRef(): number;
37
+ /**
38
+ * Convert document to JSON string
39
+ */
40
+ toJson(): Promise<string>;
41
+ /**
42
+ * Get the root content node
43
+ */
44
+ getRoot(): Promise<ContentNode | null>;
45
+ /**
46
+ * Create a new node (requires extended WASM exports)
47
+ */
48
+ createNode(nodeType: string): Promise<ContentNode>;
49
+ /**
50
+ * Select nodes using a selector (requires extended WASM exports)
51
+ */
52
+ select(selector: string): Promise<ContentNode[]>;
53
+ /**
54
+ * Select first node using a selector (requires extended WASM exports)
55
+ */
56
+ selectFirst(selector: string): Promise<ContentNode | null>;
57
+ /**
58
+ * Add an exception to the document
59
+ */
60
+ addException(exception: ContentException): Promise<void>;
61
+ /**
62
+ * Get all exceptions from the document
63
+ */
64
+ getExceptions(): Promise<ContentException[]>;
65
+ /**
66
+ * Set a metadata value
67
+ */
68
+ setMetadataValue(key: string, value: any): Promise<void>;
69
+ /**
70
+ * Get a metadata value
71
+ */
72
+ getMetadataValue(key: string): Promise<any>;
73
+ /**
74
+ * Set metadata from object
75
+ */
76
+ setMetadata(metadata: DocumentMetadata): Promise<void>;
77
+ /**
78
+ * Get all metadata as object
79
+ */
80
+ getMetadata(): Promise<DocumentMetadata>;
81
+ /**
82
+ * Get the number of pages in the document
83
+ */
84
+ getNumPages(): Promise<number>;
85
+ /**
86
+ * Get document lines
87
+ */
88
+ getLines(): Promise<Array<{
89
+ content: string;
90
+ uuid: string;
91
+ }>>;
92
+ /**
93
+ * Get the root content node (alias for getRoot for KddbDocument compatibility)
94
+ */
95
+ get contentNode(): ContentNode | null;
96
+ /**
97
+ * Find a node by its UUID
98
+ */
99
+ findNodeByUUID(uuid: string): Promise<ContentNode | null>;
100
+ /**
101
+ * Get node by ID (alias for findNodeByUUID for KddbDocument compatibility)
102
+ */
103
+ getNodeById(nodeId: string): Promise<ContentNode | null>;
104
+ /**
105
+ * Find nodes by tag UUID
106
+ */
107
+ findNodesByTagUuid(tagUuid: string): Promise<ContentNode[]>;
108
+ /**
109
+ * Get all tagged nodes
110
+ */
111
+ getTaggedNodes(tagPrefix?: string[]): Promise<ContentNode[]>;
112
+ /**
113
+ * Get nodes by tag UUIDs for given prefixes (bulk operation)
114
+ */
115
+ getNodesByTagUuidsForPrefixes(tagPrefixes: string[]): Promise<Map<string, {
116
+ tagName: string;
117
+ tagData: any;
118
+ nodes: ContentNode[];
119
+ }>>;
120
+ /**
121
+ * Sort nodes spatially (by Y then X coordinate)
122
+ */
123
+ getSpatiallySortedNodes(nodes: ContentNode[]): Promise<ContentNode[]>;
124
+ /**
125
+ * Get concatenated text from nodes
126
+ */
127
+ getNodeText(nodes: ContentNode[]): Promise<string>;
128
+ /**
129
+ * Build feature set for the document
130
+ */
131
+ buildFeatureSet(): Promise<{
132
+ nodeFeatures: Array<{
133
+ nodeUuid: string;
134
+ features: any[];
135
+ }>;
136
+ }>;
137
+ /**
138
+ * Get model insights from the document
139
+ */
140
+ getModelInsights(): Promise<Array<{
141
+ name: string;
142
+ }>>;
143
+ /**
144
+ * Get content exceptions from the document
145
+ */
146
+ getContentExceptions(): Promise<ContentException[]>;
147
+ /**
148
+ * Get external data by key
149
+ */
150
+ getExternalData(key?: string): Promise<any>;
151
+ /**
152
+ * Set external data for a key
153
+ */
154
+ setExternalData(data: any, key?: string): Promise<void>;
155
+ /**
156
+ * Get all external data keys
157
+ */
158
+ getExternalDataKeys(): Promise<string[]>;
159
+ /**
160
+ * Get document validations
161
+ */
162
+ getValidations(): Promise<any[]>;
163
+ /**
164
+ * Set document validations
165
+ */
166
+ setValidations(validations: any[]): Promise<void>;
167
+ /**
168
+ * Export document to KDDB bytes
169
+ */
170
+ toBlob(): Promise<Blob>;
171
+ /**
172
+ * Get a pretty representation of a page with spatial layout preserved.
173
+ * @param page - The page ContentNode (must be a page type node)
174
+ * @param maxWidth - Optional max width (not currently used in Go implementation)
175
+ * @returns Pretty formatted page text
176
+ */
177
+ getPrettyPage(page: ContentNode, maxWidth?: number): Promise<string>;
178
+ /**
179
+ * Get a pretty representation of all pages in the document.
180
+ * @param maxWidth - Optional max width (not currently used in Go implementation)
181
+ * @returns Pretty formatted text for all pages with page headers
182
+ */
183
+ getPrettyPages(maxWidth?: number): Promise<string>;
184
+ /**
185
+ * Dispose of the document and free WASM resources
186
+ */
187
+ dispose(): void;
188
+ /**
189
+ * Check if this document has been disposed
190
+ */
191
+ private checkDisposed;
192
+ }
193
+ //# sourceMappingURL=KddbDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KddbDocument.d.ts","sourceRoot":"","sources":["../src/KddbDocument.ts"],"names":[],"mappings":"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"}