@kodexa-ai/document-wasm-ts 2026.3.0-develop-22775083491 → 2026.3.0-develop-22778510740
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kodexa.wasm +0 -0
- package/dist/worker/KodexaWorkerDocument.d.ts +17 -0
- package/dist/worker/KodexaWorkerDocument.d.ts.map +1 -1
- package/dist/worker/KodexaWorkerDocument.js +11 -0
- package/dist/worker/KodexaWorkerDocument.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -72,6 +72,7 @@ export declare class Kodexa {
|
|
|
72
72
|
static setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): boolean;
|
|
73
73
|
}
|
|
74
74
|
export { KodexaWorkerDocument } from './worker/KodexaWorkerDocument';
|
|
75
|
+
export type { SearchLineResult } from './worker/KodexaWorkerDocument';
|
|
75
76
|
export { KodexaWorkerNode } from './worker/KodexaWorkerNode';
|
|
76
77
|
export type { WorkerConfig, WorkerNodeData, TransactionOperation, TempRef } from './worker/types';
|
|
77
78
|
export default Kodexa;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Kodexa Document Library - TypeScript WASM Wrapper\n *\n * High-performance TypeScript wrapper for the Kodexa Go library using WebAssembly.\n * Provides document processing capabilities for both Node.js and browser environments.\n */\n\n// Main classes\nexport { KddbDocument } from './KddbDocument';\nexport { ContentNode } from './ContentNode';\nexport { ExtractionEngine } from './ExtractionEngine';\nexport type { ExtractionContentException } from './ExtractionEngine';\n\n// Backward-compatible aliases\nexport { KddbDocument as GoDocument } from './KddbDocument';\nexport { ContentNode as GoContentNode } from './ContentNode';\n\n// Data layer accessors (accessed via document.dataObjects, document.dataAttributes, document.audit, document.nativeDocuments, document.notes, document.taxonomies)\nexport { DataObjectAccessor } from './DataObjectAccessor';\nexport type { DataObjectInput, BatchMoveInput, BatchCopyInput, BatchResult } from './DataObjectAccessor';\nexport { DataAttributeAccessor } from './DataAttributeAccessor';\nexport type { DataAttributeInput } from './DataAttributeAccessor';\n\n// Transaction support (accessed via document.withTransaction())\nexport { TransactionContext } from './TransactionContext';\nexport { TransactionDataObjectAccessor } from './TransactionDataObjectAccessor';\nexport { TransactionDataAttributeAccessor } from './TransactionDataAttributeAccessor';\nexport { AuditAccessor } from './AuditAccessor';\nexport { NativeDocumentAccessor } from './NativeDocumentAccessor';\nexport type { NativeDocument, NativeDocumentInput } from './NativeDocumentAccessor';\nexport { NoteAccessor } from './NoteAccessor';\nexport type { NoteInput } from './NoteAccessor';\nexport { TaxonomyAccessor } from './TaxonomyAccessor';\nexport type { TaxonomyInput, TaxonInput } from './TaxonomyAccessor';\n\n// WASM utilities\nexport { initWasm, isWasmLoaded, cleanupWasm, setLogLevel } from './wasm/loader';\nexport { checkWasmError, checkWasmResult, clearWasmError, WasmError } from './wasm/error-handler';\n\n// Event helpers\nexport {\n addDataChangeListener,\n parseDataChangeEvent,\n subscribe,\n unsubscribe,\n unsubscribeFromDocument,\n getSubscriptions,\n getSubscriptionCount,\n initializeRecalculationService,\n updateRecalculationServiceTaxonomies,\n freeRecalculationService,\n // Dirty state helpers\n addDirtyStateListener,\n checkHasDirtyData,\n markDocumentClean,\n} from './events';\n\n// Value normalization\nexport { normalize, isNormalizeAvailable } from './normalize';\nexport type { NormalizeInput, NormalizeResult, NumberFormat } from './normalize';\n\n// Types\nexport type {\n BoundingBox,\n ContentFeature,\n ContentNodeData,\n ContentException,\n ProcessingStep,\n KnowledgeItem,\n KnowledgeFeature,\n DocumentMetadata,\n TagOptions,\n GoWasmInstance,\n // Extraction types\n Taxonomy,\n Taxon,\n TaxonValidation,\n DataObject,\n DataAttribute,\n DataException,\n DataChangeEvent,\n ValidationDetails,\n DocumentTaxonValidation,\n // Audit types\n RevisionType,\n AuditRevision,\n DataObjectAudit,\n DataAttributeAudit,\n TagAudit,\n RevisionDetails,\n // Note types\n Note,\n // Delta types\n DeltaSession,\n DeltaSessionStatus,\n DeltaOperation,\n DeltaOperationType,\n DeltaEntityType,\n Delta,\n ApplyOptions,\n ApplyResult,\n DeltaConflict,\n DeltaPreview,\n DeltaStatus,\n} from './wasm/types';\n\nexport type { DataChangeListener, RecalculationInitResult, WasmResult, DirtyStateListener } from './events';\n\n// Convenience functions\nexport class Kodexa {\n /**\n * Initialize the WASM module\n * Call this before using any other functions\n */\n static async init(): Promise<void> {\n const { initWasm } = await import('./wasm/loader');\n return initWasm();\n }\n\n /**\n * Create a new empty document\n */\n static async createDocument(): Promise<import('./KddbDocument').KddbDocument> {\n const { KddbDocument } = await import('./KddbDocument');\n return KddbDocument.create();\n }\n\n /**\n * Create a document from text\n */\n static async fromText(text: string): Promise<import('./KddbDocument').KddbDocument> {\n const { KddbDocument } = await import('./KddbDocument');\n return KddbDocument.fromText(text);\n }\n\n /**\n * Create a document from JSON\n */\n static async fromJson(json: string): Promise<import('./KddbDocument').KddbDocument> {\n const { KddbDocument } = await import('./KddbDocument');\n return KddbDocument.fromJson(json);\n }\n\n /**\n * Create a document from KDDB blob\n */\n static async fromBlob(blob: Blob): Promise<import('./KddbDocument').KddbDocument> {\n const { KddbDocument } = await import('./KddbDocument');\n return KddbDocument.fromBlob(blob);\n }\n\n /**\n * Check if WASM module is loaded\n */\n static isLoaded(): boolean {\n try {\n const { isWasmLoaded } = require('./wasm/loader');\n return isWasmLoaded();\n } catch {\n return false;\n }\n }\n\n /**\n * Cleanup WASM resources\n */\n static cleanup(): void {\n try {\n const { cleanupWasm } = require('./wasm/loader');\n cleanupWasm();\n } catch (e) {\n console.warn('Error during cleanup:', e);\n }\n }\n\n /**\n * Set the log level for Go WASM logging.\n * Valid levels: \"debug\", \"info\", \"warn\", \"error\"\n * Default is \"warn\" (set during initialization).\n *\n * Can be called anytime after init().\n * To set before init(), use: window.KODEXA_LOG_LEVEL = \"debug\"\n */\n static setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): boolean {\n try {\n const { setLogLevel } = require('./wasm/loader');\n return setLogLevel(level);\n } catch (e) {\n console.warn('Error setting log level:', e);\n return false;\n }\n }\n}\n\n// Web Worker support\n// Note: KodexaWorker and KodexaSharedWorker use import.meta.url which requires ESM.\n// Import them directly from the worker subpath:\n// import { KodexaWorker } from '@kodexa-ai/document-wasm-ts/worker'\nexport { KodexaWorkerDocument } from './worker/KodexaWorkerDocument';\nexport type { SearchLineResult } from './worker/KodexaWorkerDocument';\nexport { KodexaWorkerNode } from './worker/KodexaWorkerNode';\nexport type { WorkerConfig, WorkerNodeData, TransactionOperation, TempRef } from './worker/types';\n// Note: Note and NoteInput types are exported above from ./NoteAccessor and ./wasm/types\n\n// Default export\nexport default Kodexa;\n"]}
|
package/dist/kodexa.wasm
CHANGED
|
Binary file
|
|
@@ -15,6 +15,18 @@ import { TransactionContext } from '../TransactionContext';
|
|
|
15
15
|
export interface DocumentMetadata {
|
|
16
16
|
[key: string]: unknown;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Result from Go WASM search over document lines (fuzzy, regex, or exact).
|
|
20
|
+
*/
|
|
21
|
+
export interface SearchLineResult {
|
|
22
|
+
lineId: number;
|
|
23
|
+
content: string;
|
|
24
|
+
page: number;
|
|
25
|
+
matches?: Array<{
|
|
26
|
+
start: number;
|
|
27
|
+
end: number;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
18
30
|
/**
|
|
19
31
|
* Exception interface for document exceptions.
|
|
20
32
|
*/
|
|
@@ -322,6 +334,11 @@ export declare class KodexaWorkerDocument {
|
|
|
322
334
|
id: number;
|
|
323
335
|
content: string;
|
|
324
336
|
}>>;
|
|
337
|
+
/**
|
|
338
|
+
* Search document lines using fuzzy matching in Go WASM.
|
|
339
|
+
* Returns up to maxResults matching lines with page numbers.
|
|
340
|
+
*/
|
|
341
|
+
searchLines(query: string, maxResults?: number): Promise<SearchLineResult[]>;
|
|
325
342
|
/**
|
|
326
343
|
* Get document source.
|
|
327
344
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KodexaWorkerDocument.d.ts","sourceRoot":"","sources":["../../src/worker/KodexaWorkerDocument.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KodexaWorkerDocument.d.ts","sourceRoot":"","sources":["../../src/worker/KodexaWorkerDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -546,6 +546,17 @@ export class KodexaWorkerDocument {
|
|
|
546
546
|
const lines = this.parseJson(resultJson);
|
|
547
547
|
return Array.isArray(lines) ? lines : [];
|
|
548
548
|
}
|
|
549
|
+
/**
|
|
550
|
+
* Search document lines using fuzzy matching in Go WASM.
|
|
551
|
+
* Returns up to maxResults matching lines with page numbers.
|
|
552
|
+
*/
|
|
553
|
+
async searchLines(query, maxResults = 100) {
|
|
554
|
+
this.checkDisposed();
|
|
555
|
+
const requestJson = JSON.stringify({ query, maxResults });
|
|
556
|
+
const resultJson = await this.worker.call('documentSearchLines', this.docRef, requestJson);
|
|
557
|
+
const results = this.parseJson(resultJson);
|
|
558
|
+
return Array.isArray(results) ? results : [];
|
|
559
|
+
}
|
|
549
560
|
// ============================================================================
|
|
550
561
|
// Source and Labels
|
|
551
562
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KodexaWorkerDocument.js","sourceRoot":"","sources":["../../src/worker/KodexaWorkerDocument.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AActD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAqD3D;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACnC,YAAoB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAc;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAgB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,YAA2B,EAAE,QAAgB,EAAE,cAAuB;QAC3F,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,YAA2B,EAAE,QAAgB,EAAE,cAAuB,EAAE,cAAuB;QAC1H,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACnG,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAwB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAwB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC,YAAoB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,KAAc;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAgB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC,YAAoB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,YAAoB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAG,CAAC;IAEjD,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAsC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,eAAuB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAgB;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAC9B,YAAoB,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAG,CAAC;IAEjD;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,eAAuB;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gCAAgC,CAAC,UAAkB;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAQ/B;;;;;;OAMG;IACH,YACU,MAAoB,EACpB,MAAc;QADd,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAQ;QAhBhB,aAAQ,GAAG,KAAK,CAAC;QACjB,iBAAY,GAAoC,IAAI,CAAC;QACrD,oBAAe,GAAuC,IAAI,CAAC;QAC3D,qBAAgB,GAAwC,IAAI,CAAC;QAC7D,WAAM,GAA8B,IAAI,CAAC;QACzC,WAAM,GAA+B,IAAI,CAAC;IAY/C,CAAC;IAEJ;;OAEG;IACH,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAa;QAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA0B,CAAC;QACjE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,yDAAyD;QACzD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAmD;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEnB,IAAI,EAAE,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,oBAAoB,EACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CACnC,CAAC;QAEF,MAAM,MAAM,GACV,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAwB,CAAC,CAAC,CAAE,MAA8B,CAAC;QAE3G,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uBAAwB,MAAc,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAQ,QAAQ,EAAE,IAAe,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAmB,CAAC;QAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA0B,CAAC;QACjE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAqB,CAAC;QAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChG,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA0B,CAAC;QACjE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAqB,CAAC;QAChE,OAAO,QAAQ,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAA0B;QAC1C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,GAAkB;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7F,OAAO,MAAM,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuB,CAAC;QACpE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAA2B;QAC5C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACrD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACrD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAqB,CAAC;QAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,iCAAiC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA2C,CAAC;QACnF,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA2C,CAAC;QACnF,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAa,CAAC;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAW;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,IAAa;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAa,CAAC;QACpD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,MAAkB;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAA8B,CAAC;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACtD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAgB;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,+EAA+E;IAC/E,eAAe;IACf,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAAgB;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,EAAU;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,2BAA2B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAc;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU,EAAE,OAAgB;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACxH,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,YAA2B,EAAE,QAAgB,EAAE,cAAuB;QACrG,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC;QAC7I,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,YAA2B,EAAE,QAAgB,EAAE,cAAuB,EAAE,cAAuB;QACpI,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAwB;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,8BAA8B,EAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAgB,CAAC;QACzD,OAAO,MAAM,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAwB;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,8BAA8B,EAC9B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAgB,CAAC;QACzD,OAAO,MAAM,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,6BAA6B,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,oBAAoB,CACxB,YAAoB,EACpB,MAAc,EACd,aAAsB,EACtB,UAAmB,EACnB,iBAA0B,EAC1B,eAAwB,KAAK,EAC7B,OAAe,EAAE,EACjB,WAAmB,aAAa;QAEhC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,sBAAsB,EACtB,IAAI,CAAC,MAAM,EACX,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,IAAI,EACJ,QAAQ,CACT,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAAC,YAAoB;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,oCAAoC,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,EAAU;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,8BAA8B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,YAAoB,EAAE,KAAc;QAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,4EAA4E;QAC5E,MAAM,iBAAiB,GAAG,EAAE,GAAI,KAAgB,EAAE,YAAY,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,6BAA6B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjI,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,EAAU,EAAE,OAAgB;QACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,kEAAkE;QAClE,MAAM,aAAa,GAAG,EAAE,GAAI,OAAkB,EAAE,EAAE,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,6BAA6B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7H,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,EAAU;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,iCAAiC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,EAAU;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,+BAA+B,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,iDAAiD;QACjD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAC/E,QAAQ;IACR,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAgB,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAsC;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,YAAoB;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,gCAAgC,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,eAAuB;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,mCAAmC,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uBAAuB,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAW,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5G,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAgB,CAAC;QACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,CAAC;IAED,+EAA+E;IAC/E,QAAQ;IACR,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAoB,CAAC;QAChE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvG,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAyB,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAA2B,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,YAAoB;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,mCAAmC,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAClH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAsB,CAAC;QAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,eAAuB;QACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,sCAAsC,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACxH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAyB,CAAC;QAClE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,4BAA4B,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAe,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uCAAuC,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAsB,CAAC;QAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gCAAgC,CAAC,UAAkB;QACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0CAA0C,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAyB,CAAC;QAClE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,gCAAgC,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7G,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAe,CAAC;QACxD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuD,CAAC;QAC/F,OAAO,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,CAAC;QAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAsB;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,+EAA+E;IAC/E,kCAAkC;IAClC,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAA0B,EAAE,QAAiB;QAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,uBAAuB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAiB;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAyB;QACrD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,2BAA2B;QAC3B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI;YACJ,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE;SAC3B,CAAC,CAAC,CACJ,CAAC;QAEF,OAAO,aAAa;aACjB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvB,iEAAiE;YACjE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,2BAA2B,CAAC,QAAkB;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8E,CAAC;QAErG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAQhC,CAAC;YAEV,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC1B,IAAI,KAAK,KAAK,SAAS;wBAAE,SAAS;oBAElC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;4BAChB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,EAAE;4BACX,KAAK,EAAE,EAAE;yBACV,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACjB,KAAK,CAAC,OAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnD,CAAC;oBAED,iCAAiC;oBACjC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAmB;4BAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,EAAE,EAAE,KAAK,CAAC,MAAM;4BAChB,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;4BAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;yBACjC,CAAC;wBACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,IAAI,CAAC,CAAC,KAA4B,CAAC,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,+EAA+E;IAC/E,eAAe;IACf,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAsB;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,2BAA2B,EAC3B,IAAI,CAAC,MAAM,EACX,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAqB,CAAC;QAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAC,UAAqB;QAKvC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,2BAA2B;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAExF,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE9E,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;YAED,yBAAyB;YACzB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAwB,IAAI,EAAE,CAAC;YAEvF,kBAAkB;YAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAe,IAAI,EAAE,CAAC;YAEzE,OAAO;gBACL,eAAe;gBACf,iBAAiB;gBACjB,WAAW;aACZ,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,oCAAoC;YACpC,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAE/E;;;;;;;;;OASG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAiB,EAAE,OAAgB;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,4BAA4B,EAC5B,IAAI,CAAC,MAAM,EACX,QAAQ,IAAI,EAAE,EACd,OAAO,IAAI,EAAE,CACd,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAwB,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAwB,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAU,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,+BAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvG,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAwB,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,cAAwB;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC;QAClH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuB,CAAC;QAChE,OAAO,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAqB;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACvC,2BAA2B,EAC3B,IAAI,CAAC,MAAM,EACX,YAAY,IAAI,EAAE,CACnB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAmB,CAAC;QAC9D,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAiB,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAS,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,8BAA8B;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,IAAgB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,gCAAgC;QAChC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAiB,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+EAA+E;IAC/E,YAAY;IACZ,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF","sourcesContent":["/**\n * KodexaWorkerDocument - Document Proxy for Web Worker WASM\n *\n * This class provides a document API that mirrors KddbDocument but\n * routes all operations through the web worker via RPC.\n */\n\nimport type { KodexaWorker } from './KodexaWorker';\nimport { KodexaWorkerNode } from './KodexaWorkerNode';\nimport type { WorkerNodeData } from './types';\nimport type {\n Note,\n AuditRevision,\n DataObjectAudit,\n DataAttributeAudit,\n TagAudit,\n RevisionDetails,\n DeltaSession,\n DeltaStatus,\n Delta,\n} from '../wasm/types';\nimport type { NoteInput } from '../NoteAccessor';\nimport { TransactionContext } from '../TransactionContext';\nimport type { TransactionResponse } from './types';\n\n/**\n * Metadata interface for document metadata.\n */\nexport interface DocumentMetadata {\n [key: string]: unknown;\n}\n\n/**\n * Exception interface for document exceptions.\n */\nexport interface ContentException {\n exceptionType: string;\n exceptionTypeId?: string;\n message: string;\n stack?: string;\n timestamp?: Date;\n source?: string;\n severity?: string;\n}\n\n/**\n * Input type for a single move operation in a batch.\n */\nexport interface BatchMoveInput {\n sourceId: number;\n destParentId: number | null;\n destPath: string;\n sourceOrdering?: string;\n}\n\n/**\n * Input type for a single copy operation in a batch.\n */\nexport interface BatchCopyInput {\n sourceId: number;\n destParentId: number | null;\n destPath: string;\n sourceOrdering?: string;\n copyAttributes: boolean;\n}\n\n/**\n * Result of a batch move/copy operation.\n */\nexport interface BatchResult {\n success: boolean;\n results?: unknown[];\n error?: string;\n}\n\n/**\n * Accessor for data object operations.\n */\nexport class WorkerDataObjectAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getDataObjects();\n }\n\n async getByID(id: number): Promise<unknown | null> {\n return this.doc.getDataObjectByID(id);\n }\n\n async getByGroupKey(groupKey: string): Promise<unknown[]> {\n return this.doc.getDataObjectsByGroupKey(groupKey);\n }\n\n async create(input: unknown): Promise<unknown> {\n return this.doc.createDataObject(input);\n }\n\n async update(id: number, updates: unknown): Promise<unknown> {\n return this.doc.updateDataObject(id, updates);\n }\n\n async delete(id: number): Promise<boolean> {\n return this.doc.deleteDataObject(id);\n }\n\n async move(id: number, destParentId: number | null, destPath: string, sourceOrdering?: string): Promise<unknown> {\n return this.doc.moveDataObject(id, destParentId, destPath, sourceOrdering);\n }\n\n async copy(sourceID: number, destParentId: number | null, destPath: string, copyAttributes: boolean, sourceOrdering?: string): Promise<unknown> {\n return this.doc.copyDataObject(sourceID, destParentId, destPath, copyAttributes, sourceOrdering);\n }\n\n async batchMove(inputs: BatchMoveInput[]): Promise<BatchResult> {\n return this.doc.batchMoveDataObjects(inputs);\n }\n\n async batchCopy(inputs: BatchCopyInput[]): Promise<BatchResult> {\n return this.doc.batchCopyDataObjects(inputs);\n }\n\n async getRoots(): Promise<unknown[]> {\n return this.doc.getRootDataObjects();\n }\n\n async getChildren(parentId: number): Promise<unknown[]> {\n return this.doc.getChildDataObjects(parentId);\n }\n\n async getDataExceptions(): Promise<unknown[]> {\n return this.doc.getDataExceptions();\n }\n}\n\n/**\n * Accessor for data attribute operations.\n */\nexport class WorkerDataAttributeAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getDataAttributes();\n }\n\n async getByID(id: number): Promise<unknown | null> {\n return this.doc.getDataAttributeByID(id);\n }\n\n async getForDataObject(dataObjectId: number): Promise<unknown[]> {\n return this.doc.getDataAttributesForObject(dataObjectId);\n }\n\n async create(dataObjectId: number, input: unknown): Promise<unknown> {\n return this.doc.createDataAttribute(dataObjectId, input);\n }\n\n async update(id: number, updates: unknown): Promise<unknown> {\n return this.doc.updateDataAttributeByID(id, updates);\n }\n\n async delete(id: number): Promise<boolean> {\n return this.doc.deleteDataAttributeByID(id);\n }\n}\n\n/**\n * Accessor for native document operations.\n */\nexport class WorkerNativeDocumentAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getNativeDocuments();\n }\n\n async getData(id: number): Promise<Uint8Array | null> {\n return this.doc.getNativeDocumentData(id);\n }\n}\n\n// Note and NoteInput types are imported from ../wasm/types and ../NoteAccessor\n\n/**\n * Accessor for note operations.\n */\nexport class WorkerNoteAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<Note[]> {\n return this.doc.getNotes();\n }\n\n async getByID(id: number): Promise<Note | null> {\n return this.doc.getNoteByID(id);\n }\n\n async getByType(noteType: 'TEXT' | 'MARKDOWN' | 'HTML'): Promise<Note[]> {\n return this.doc.getNotesByType(noteType);\n }\n\n async getByGroupKey(groupKey: string): Promise<Note[]> {\n return this.doc.getNotesByGroupKey(groupKey);\n }\n\n async getByDataObjectID(dataObjectId: number): Promise<Note[]> {\n return this.doc.getNotesByDataObjectID(dataObjectId);\n }\n\n async getByDataAttributeID(dataAttributeId: number): Promise<Note[]> {\n return this.doc.getNotesByDataAttributeID(dataAttributeId);\n }\n\n async getRootNotes(): Promise<Note[]> {\n return this.doc.getRootNotes();\n }\n\n async getChildNotes(parentNoteId: number): Promise<Note[]> {\n return this.doc.getChildNotes(parentNoteId);\n }\n\n async create(input: NoteInput): Promise<Note> {\n return this.doc.createNote(input);\n }\n\n async update(note: Note): Promise<boolean> {\n return this.doc.updateNote(note);\n }\n\n async delete(noteId: number): Promise<boolean> {\n return this.doc.deleteNote(noteId);\n }\n}\n\n/**\n * Accessor for audit operations.\n */\nexport class WorkerAuditAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n /**\n * Get all audit revisions in the document.\n */\n async listRevisions(): Promise<AuditRevision[]> {\n return this.doc.listAuditRevisions();\n }\n\n /**\n * Get a specific audit revision by ID.\n */\n async getRevision(revisionId: number): Promise<AuditRevision | null> {\n return this.doc.getAuditRevision(revisionId);\n }\n\n /**\n * Get the complete details for a revision.\n */\n async getRevisionDetails(revisionId: number): Promise<RevisionDetails | null> {\n return this.doc.getAuditRevisionDetails(revisionId);\n }\n\n /**\n * Get the audit history for a specific data object.\n */\n async getDataObjectHistory(dataObjectId: number): Promise<DataObjectAudit[]> {\n return this.doc.getDataObjectAuditHistory(dataObjectId);\n }\n\n /**\n * Get the audit history for a specific data attribute.\n */\n async getDataAttributeHistory(dataAttributeId: number): Promise<DataAttributeAudit[]> {\n return this.doc.getDataAttributeAuditHistory(dataAttributeId);\n }\n\n /**\n * Get the audit history for a specific tag.\n */\n async getTagHistory(tagId: number): Promise<TagAudit[]> {\n return this.doc.getTagAuditHistory(tagId);\n }\n\n /**\n * Get all data object audits for a specific revision.\n */\n async getDataObjectAuditsByRevision(revisionId: number): Promise<DataObjectAudit[]> {\n return this.doc.getDataObjectAuditsByRevision(revisionId);\n }\n\n /**\n * Get all data attribute audits for a specific revision.\n */\n async getDataAttributeAuditsByRevision(revisionId: number): Promise<DataAttributeAudit[]> {\n return this.doc.getDataAttributeAuditsByRevision(revisionId);\n }\n\n /**\n * Get all tag audits for a specific revision.\n */\n async getTagAuditsByRevision(revisionId: number): Promise<TagAudit[]> {\n return this.doc.getTagAuditsByRevision(revisionId);\n }\n}\n\n/**\n * Document proxy that routes operations to the web worker.\n */\nexport class KodexaWorkerDocument {\n private disposed = false;\n private _dataObjects: WorkerDataObjectAccessor | null = null;\n private _dataAttributes: WorkerDataAttributeAccessor | null = null;\n private _nativeDocuments: WorkerNativeDocumentAccessor | null = null;\n private _notes: WorkerNoteAccessor | null = null;\n private _audit: WorkerAuditAccessor | null = null;\n\n /**\n * Create a new document proxy.\n * This should not be called directly - use KodexaWorker.createDocument() instead.\n *\n * @param worker The worker instance to route calls through\n * @param docRef The document reference from the worker\n */\n constructor(\n private worker: KodexaWorker,\n private docRef: number\n ) {}\n\n /**\n * Accessor for data object operations.\n */\n get dataObjects(): WorkerDataObjectAccessor {\n if (!this._dataObjects) {\n this._dataObjects = new WorkerDataObjectAccessor(this);\n }\n return this._dataObjects;\n }\n\n /**\n * Accessor for data attribute operations.\n */\n get dataAttributes(): WorkerDataAttributeAccessor {\n if (!this._dataAttributes) {\n this._dataAttributes = new WorkerDataAttributeAccessor(this);\n }\n return this._dataAttributes;\n }\n\n /**\n * Accessor for native document operations.\n */\n get nativeDocuments(): WorkerNativeDocumentAccessor {\n if (!this._nativeDocuments) {\n this._nativeDocuments = new WorkerNativeDocumentAccessor(this);\n }\n return this._nativeDocuments;\n }\n\n /**\n * Accessor for note operations.\n */\n get notes(): WorkerNoteAccessor {\n if (!this._notes) {\n this._notes = new WorkerNoteAccessor(this);\n }\n return this._notes;\n }\n\n /**\n * Accessor for audit operations.\n */\n get audit(): WorkerAuditAccessor {\n if (!this._audit) {\n this._audit = new WorkerAuditAccessor(this);\n }\n return this._audit;\n }\n\n /**\n * Get the document reference (for internal use).\n */\n getDocumentRef(): number {\n this.checkDisposed();\n return this.docRef;\n }\n\n /**\n * Check if the document has been disposed.\n */\n private checkDisposed(): void {\n if (this.disposed) {\n throw new Error('Document has been disposed');\n }\n }\n\n /**\n * Parse JSON result, handling null and error cases.\n */\n private parseJson(json: unknown): unknown {\n if (json === null || json === undefined || json === 'null') {\n return null;\n }\n if (typeof json === 'string') {\n try {\n return JSON.parse(json);\n } catch {\n return json;\n }\n }\n return json;\n }\n\n // ============================================================================\n // Core Document Operations\n // ============================================================================\n\n /**\n * Get the root content node.\n */\n async getRoot(): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRoot', this.docRef);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Get the root content node (alias for getRoot).\n */\n async getRootNode(): Promise<KodexaWorkerNode | null> {\n return this.getRoot();\n }\n\n /**\n * Convert document to JSON string.\n */\n async toJson(): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentToJson', this.docRef);\n }\n\n /**\n * Convert document to KDDB bytes.\n */\n async toKddbBytes(): Promise<Uint8Array> {\n this.checkDisposed();\n const result = await this.worker.call<Uint8Array>('documentToKddbBytes', this.docRef);\n // The result might be a regular array, convert if needed\n if (Array.isArray(result)) {\n return new Uint8Array(result);\n }\n return result;\n }\n\n /**\n * Execute a set of operations atomically in the worker via WASM transaction.\n */\n async transaction(callback: (tx: TransactionContext) => Promise<void>): Promise<void> {\n this.checkDisposed();\n const tx = new TransactionContext();\n await callback(tx);\n\n if (tx.operationCount === 0) {\n return;\n }\n\n const result = await this.worker.call<string | TransactionResponse>(\n 'executeTransaction',\n this.docRef,\n JSON.stringify(tx.getOperations())\n );\n\n const parsed: TransactionResponse =\n typeof result === 'string' ? JSON.parse(result) as TransactionResponse : (result as TransactionResponse);\n\n if (!parsed?.success) {\n throw new Error(`Transaction failed: ${(parsed as any)?.error ?? 'Unknown error'}`);\n }\n }\n\n /**\n * Get the document metadata UUID (stored in metadata).\n * Note: This returns the document identity UUID from metadata, not a generated UUID.\n */\n async getMetadataUUID(): Promise<string | null> {\n this.checkDisposed();\n const metadata = await this.getMetadata();\n return (metadata?.uuid as string) ?? null;\n }\n\n // ============================================================================\n // Node Operations\n // ============================================================================\n\n /**\n * Create a new node.\n *\n * @param nodeType The type of node to create (e.g., 'page', 'paragraph')\n */\n async createNode(nodeType: string): Promise<KodexaWorkerNode> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('createNode', this.docRef, nodeType);\n const data = this.parseJson(resultJson) as WorkerNodeData;\n if (!data) {\n throw new Error('Failed to create node');\n }\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Find a node by its ID.\n */\n async findNodeByID(id: number): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNodeByID', this.docRef, id);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Get node by ID.\n */\n async getNodeById(nodeId: number): Promise<KodexaWorkerNode | null> {\n return this.findNodeByID(nodeId);\n }\n\n // ============================================================================\n // Selection Operations\n // ============================================================================\n\n /**\n * Select nodes using a selector expression.\n *\n * @param selector Kodexa selector expression (e.g., '//paragraph', '//page[1]')\n */\n async select(selector: string): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentSelect', this.docRef, selector);\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n /**\n * Select the first node matching a selector.\n *\n * @param selector Kodexa selector expression\n */\n async selectFirst(selector: string): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentSelectFirst', this.docRef, selector);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n // ============================================================================\n // Metadata Operations\n // ============================================================================\n\n /**\n * Get all metadata.\n */\n async getMetadata(): Promise<DocumentMetadata> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetMetadata', this.docRef);\n const metadata = this.parseJson(resultJson) as DocumentMetadata;\n return metadata || {};\n }\n\n /**\n * Set metadata from object.\n */\n async setMetadata(metadata: DocumentMetadata): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetMetadata', this.docRef, JSON.stringify(metadata));\n }\n\n /**\n * Set the actor URI for audit tracking.\n * The actor URI identifies who is making changes to the document.\n * Format: \"user://email@domain.com\" or \"module://module-id\"\n * If no actor URI is set, audit events will not include actor information.\n *\n * @param uri - The actor URI string, or null to clear\n * @returns true on success, false on failure\n */\n async setActorUri(uri: string | null): Promise<boolean> {\n this.checkDisposed();\n const result = await this.worker.call<number>('documentSetActorURI', this.docRef, uri ?? '');\n return result === 1;\n }\n\n // ============================================================================\n // Exception Operations\n // ============================================================================\n\n /**\n * Get all exceptions.\n */\n async getExceptions(): Promise<ContentException[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExceptions', this.docRef);\n const exceptions = this.parseJson(resultJson) as ContentException[];\n return Array.isArray(exceptions) ? exceptions : [];\n }\n\n /**\n * Add an exception.\n */\n async addException(exception: ContentException): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentAddException', this.docRef, JSON.stringify(exception));\n }\n\n // ============================================================================\n // Tag Operations\n // ============================================================================\n\n /**\n * Get all tags in the document.\n */\n async getAllTags(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAllTags', this.docRef);\n const tags = this.parseJson(resultJson) as unknown[];\n return Array.isArray(tags) ? tags : [];\n }\n\n /**\n * Get tags by prefix.\n */\n async getTagsByPrefix(prefix: string): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagsByPrefix', this.docRef, prefix);\n const tags = this.parseJson(resultJson) as unknown[];\n return Array.isArray(tags) ? tags : [];\n }\n\n /**\n * Find nodes by tag ID.\n */\n async findNodesByTagID(tagId: number): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentFindNodesByTagID', this.docRef, tagId);\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n // ============================================================================\n // Document Statistics\n // ============================================================================\n\n /**\n * Get document statistics.\n */\n async getStatistics(): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStatistics', this.docRef);\n return this.parseJson(resultJson);\n }\n\n /**\n * Get the number of pages.\n */\n async getNumPages(): Promise<number> {\n this.checkDisposed();\n return this.worker.call<number>('documentGetNodeCountByType', this.docRef, 'page');\n }\n\n /**\n * Get all nodes in hierarchical order with their level, type, and content.\n */\n async getAllNodesHierarchical(): Promise<Array<{ content: string; id: number }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAllNodesHierarchical', this.docRef);\n const lines = this.parseJson(resultJson) as Array<{ content: string; id: number }>;\n return Array.isArray(lines) ? lines : [];\n }\n\n /**\n * Get searchable lines with aggregated word content.\n * Each line's content is built from all descendant word/text nodes.\n * Used for document search functionality.\n */\n async getSearchableLines(): Promise<Array<{ id: number; content: string }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetSearchableLines', this.docRef);\n const lines = this.parseJson(resultJson) as Array<{ id: number; content: string }>;\n return Array.isArray(lines) ? lines : [];\n }\n\n // ============================================================================\n // Source and Labels\n // ============================================================================\n\n /**\n * Get document source.\n */\n async getSource(): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetSource', this.docRef);\n }\n\n /**\n * Set document source.\n */\n async setSource(source: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetSource', this.docRef, source);\n }\n\n /**\n * Get document labels.\n */\n async getLabels(): Promise<string[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetLabels', this.docRef);\n const labels = this.parseJson(resultJson) as string[];\n return Array.isArray(labels) ? labels : [];\n }\n\n /**\n * Add a label.\n */\n async addLabel(label: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentAddLabel', this.docRef, label);\n }\n\n /**\n * Remove a label.\n */\n async removeLabel(label: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentRemoveLabel', this.docRef, label);\n }\n\n // ============================================================================\n // External Data\n // ============================================================================\n\n /**\n * Get external data by key.\n */\n async getExternalData(key: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExternalData', this.docRef, key);\n return this.parseJson(resultJson);\n }\n\n /**\n * Set external data.\n */\n async setExternalData(key: string, data: unknown): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetExternalData', this.docRef, key, JSON.stringify(data));\n }\n\n /**\n * Get external data keys.\n */\n async getExternalDataKeys(): Promise<string[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExternalDataKeys', this.docRef);\n const keys = this.parseJson(resultJson) as string[];\n return Array.isArray(keys) ? keys : [];\n }\n\n // ============================================================================\n // Raw Query Methods\n // ============================================================================\n\n /**\n * Execute a raw SQL query against the document's SQLite database.\n *\n * This provides direct database access for advanced queries not covered by existing APIs.\n * Results are returned as an array of objects, where each object represents a row\n * with column names as keys.\n *\n * IMPORTANT: This is intended for read-only SELECT queries. Modifying data directly\n * may bypass validation, auditing, and other document management features.\n *\n * @param sql - The SQL query to execute\n * @param params - Optional array of parameters for parameterized queries\n * @returns Array of result rows as objects\n *\n * @example\n * ```typescript\n * // Simple query\n * const nodes = await doc.executeRawQuery(\n * 'SELECT * FROM kddb_content_nodes WHERE node_type_id = ?',\n * [1]\n * );\n *\n * // Query with multiple conditions\n * const tags = await doc.executeRawQuery(\n * 'SELECT * FROM kddb_content_node_tags WHERE name LIKE ?',\n * ['%Invoice%']\n * );\n * ```\n */\n async executeRawQuery(sql: string, params?: unknown[]): Promise<Record<string, unknown>[]> {\n this.checkDisposed();\n const paramsJson = params ? JSON.stringify(params) : '[]';\n const resultJson = await this.worker.call<string>('documentExecuteRawQuery', this.docRef, sql, paramsJson);\n const results = this.parseJson(resultJson) as Record<string, unknown>[];\n return Array.isArray(results) ? results : [];\n }\n\n // ============================================================================\n // Processing Steps\n // ============================================================================\n\n /**\n * Get processing steps.\n */\n async getSteps(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetSteps', this.docRef);\n const steps = this.parseJson(resultJson) as unknown[];\n return Array.isArray(steps) ? steps : [];\n }\n\n /**\n * Set processing steps.\n */\n async setSteps(steps: unknown[]): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetSteps', this.docRef, JSON.stringify(steps));\n }\n\n /**\n * Get children of a processing step (lazy loading).\n * @param stepId - The ID of the parent step\n * @returns Array of child processing steps\n */\n async getStepChildren(stepId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStepChildren', this.docRef, stepId);\n const children = this.parseJson(resultJson) as unknown[];\n return Array.isArray(children) ? children : [];\n }\n\n /**\n * Get parents of a processing step (lazy loading).\n * @param stepId - The ID of the child step\n * @returns Array of parent processing steps\n */\n async getStepParents(stepId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStepParents', this.docRef, stepId);\n const parents = this.parseJson(resultJson) as unknown[];\n return Array.isArray(parents) ? parents : [];\n }\n\n // ============================================================================\n // Data Objects\n // ============================================================================\n\n /**\n * Get all data objects from the document.\n */\n async getDataObjects(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjects', this.docRef);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get all data exceptions from the document.\n */\n async getDataExceptions(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataExceptions', this.docRef);\n const exceptions = this.parseJson(resultJson) as unknown[];\n return Array.isArray(exceptions) ? exceptions : [];\n }\n\n /**\n * Get data objects by group key.\n */\n async getDataObjectsByGroupKey(groupKey: string): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectsByGroupKey', this.docRef, groupKey);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get a data object by ID.\n */\n async getDataObjectByID(id: number): Promise<unknown | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectByID', this.docRef, id);\n return this.parseJson(resultJson);\n }\n\n /**\n * Create a data object.\n */\n async createDataObject(input: unknown): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCreateDataObject', this.docRef, JSON.stringify(input));\n return this.parseJson(resultJson);\n }\n\n /**\n * Update a data object.\n */\n async updateDataObject(id: number, updates: unknown): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentUpdateDataObject', this.docRef, id, JSON.stringify(updates));\n return this.parseJson(resultJson);\n }\n\n /**\n * Delete a data object.\n */\n async deleteDataObject(id: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteDataObject', this.docRef, id);\n }\n\n /**\n * Move a data object to a new parent and/or path.\n * @param id The ID of the data object to move\n * @param destParentId The ID of the destination parent (null to move to root)\n * @param destPath The new path for the data object\n * @param sourceOrdering Optional ordering value\n * @returns The moved data object with its attributes\n */\n async moveDataObject(id: number, destParentId: number | null, destPath: string, sourceOrdering?: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentMoveDataObject', this.docRef, id, destParentId, destPath, sourceOrdering ?? null);\n return this.parseJson(resultJson);\n }\n\n /**\n * Copy a data object to a new parent and/or path.\n * @param sourceID The ID of the source data object to copy\n * @param destParentId The ID of the destination parent (null to copy to root)\n * @param destPath The new path for the copied data object\n * @param copyAttributes Whether to copy attributes from the source\n * @param sourceOrdering Optional ordering value\n * @returns The copied data object with its attributes (new ID)\n */\n async copyDataObject(sourceID: number, destParentId: number | null, destPath: string, copyAttributes: boolean, sourceOrdering?: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCopyDataObject', this.docRef, sourceID, destParentId, destPath, copyAttributes, sourceOrdering ?? null);\n return this.parseJson(resultJson);\n }\n\n /**\n * Move multiple data objects atomically.\n * All operations succeed or all fail with rollback.\n * @param inputs Array of move operations\n * @returns Batch result with moved data objects on success\n */\n async batchMoveDataObjects(inputs: BatchMoveInput[]): Promise<BatchResult> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentBatchMoveDataObjects',\n this.docRef,\n JSON.stringify(inputs)\n );\n const result = this.parseJson(resultJson) as BatchResult;\n return result || { success: false, error: 'Failed to parse result' };\n }\n\n /**\n * Copy multiple data objects atomically.\n * All operations succeed or all fail with rollback.\n * @param inputs Array of copy operations\n * @returns Batch result with copied data objects on success\n */\n async batchCopyDataObjects(inputs: BatchCopyInput[]): Promise<BatchResult> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentBatchCopyDataObjects',\n this.docRef,\n JSON.stringify(inputs)\n );\n const result = this.parseJson(resultJson) as BatchResult;\n return result || { success: false, error: 'Failed to parse result' };\n }\n\n /**\n * Get root data objects (no parent).\n */\n async getRootDataObjects(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRootDataObjects', this.docRef);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get child data objects for a parent ID.\n */\n async getChildDataObjects(parentId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetChildDataObjects', this.docRef, parentId);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Export data objects as JSON or XML with taxonomy associations.\n * This is the unified function matching Java's DataObjectUtils.toFormat().\n *\n * @param taxonomyJson JSON array of taxonomies, or empty string to use stored taxonomies\n * @param format Output format: 'json' or 'xml'\n * @param friendlyNames Use friendly names (labels) instead of external names\n * @param includeIds Include IDs in output\n * @param includeExceptions Include exceptions in output\n * @param inlineAudits Include audit data inline (default false)\n * @param path Path filter (empty for full export)\n * @param rootName Root element name for XML (default 'DataObjects')\n * @returns Serialized string (JSON or XML), or null on error\n */\n async getDataObjectsExport(\n taxonomyJson: string,\n format: string,\n friendlyNames: boolean,\n includeIds: boolean,\n includeExceptions: boolean,\n inlineAudits: boolean = false,\n path: string = '',\n rootName: string = 'DataObjects',\n ): Promise<string | null> {\n this.checkDisposed();\n const result = await this.worker.call<string | null>(\n 'getDataObjectsExport',\n this.docRef,\n taxonomyJson,\n format,\n friendlyNames,\n includeIds,\n includeExceptions,\n inlineAudits,\n path,\n rootName,\n );\n return result;\n }\n\n // ============================================================================\n // Data Attributes\n // ============================================================================\n\n /**\n * Get all data attributes from the document.\n */\n async getDataAttributes(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributes', this.docRef);\n const attributes = this.parseJson(resultJson) as unknown[];\n return Array.isArray(attributes) ? attributes : [];\n }\n\n /**\n * Get data attributes for a specific data object.\n */\n async getDataAttributesForObject(dataObjectId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributesForObject', this.docRef, dataObjectId);\n const attributes = this.parseJson(resultJson) as unknown[];\n return Array.isArray(attributes) ? attributes : [];\n }\n\n /**\n * Get a data attribute by its numeric ID.\n */\n async getDataAttributeByID(id: number): Promise<unknown | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeByID', this.docRef, id);\n return this.parseJson(resultJson);\n }\n\n /**\n * Create a data attribute.\n */\n async createDataAttribute(dataObjectId: number, input: unknown): Promise<unknown> {\n this.checkDisposed();\n // Go expects (docRef, attributeJSON) - dataObjectId must be inside the JSON\n const inputWithObjectId = { ...(input as object), dataObjectId };\n const resultJson = await this.worker.call<string>('documentCreateDataAttribute', this.docRef, JSON.stringify(inputWithObjectId));\n return this.parseJson(resultJson);\n }\n\n /**\n * Update a data attribute by its numeric ID.\n */\n async updateDataAttributeByID(id: number, updates: unknown): Promise<unknown> {\n this.checkDisposed();\n // Go expects (docRef, attributeJSON) - id must be inside the JSON\n const updatesWithId = { ...(updates as object), id };\n const resultJson = await this.worker.call<string>('documentUpdateDataAttribute', this.docRef, JSON.stringify(updatesWithId));\n return this.parseJson(resultJson);\n }\n\n /**\n * Delete a data attribute by its numeric ID.\n */\n async deleteDataAttributeByID(id: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteDataAttributeByID', this.docRef, id);\n }\n\n // ============================================================================\n // Native Documents\n // ============================================================================\n\n /**\n * Get all native documents (embedded files like PDFs, images).\n */\n async getNativeDocuments(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNativeDocuments', this.docRef);\n const documents = this.parseJson(resultJson) as unknown[];\n return Array.isArray(documents) ? documents : [];\n }\n\n /**\n * Get native document data by ID.\n * The Go WASM returns base64-encoded string, which we decode to Uint8Array.\n */\n async getNativeDocumentData(id: number): Promise<Uint8Array | null> {\n this.checkDisposed();\n const result = await this.worker.call<string | null>('documentGetNativeDocumentData', this.docRef, id);\n if (!result) return null;\n\n // Result is a base64-encoded string from Go WASM\n if (typeof result === 'string') {\n const binaryString = atob(result);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n\n // Fallback for array (shouldn't happen with current Go impl)\n if (Array.isArray(result)) {\n return new Uint8Array(result);\n }\n\n return result as Uint8Array;\n }\n\n // ============================================================================\n // Notes\n // ============================================================================\n\n /**\n * Get all notes from the document.\n */\n async getNotes(): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotes', this.docRef);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get a note by ID.\n */\n async getNoteByID(id: number): Promise<Note | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNoteByID', this.docRef, id);\n return this.parseJson(resultJson) as Note | null;\n }\n\n /**\n * Get notes by type.\n */\n async getNotesByType(noteType: 'TEXT' | 'MARKDOWN' | 'HTML'): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByType', this.docRef, noteType);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by group key.\n */\n async getNotesByGroupKey(groupKey: string): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByGroupKey', this.docRef, groupKey);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by data object ID.\n */\n async getNotesByDataObjectID(dataObjectId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByDataObjectID', this.docRef, dataObjectId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by data attribute ID.\n */\n async getNotesByDataAttributeID(dataAttributeId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByDataAttributeID', this.docRef, dataAttributeId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get root notes (notes without a parent).\n */\n async getRootNotes(): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRootNotes', this.docRef);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get child notes of a parent note.\n */\n async getChildNotes(parentNoteId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetChildNotes', this.docRef, parentNoteId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Create a new note.\n */\n async createNote(input: NoteInput): Promise<Note> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCreateNote', this.docRef, JSON.stringify(input));\n const note = this.parseJson(resultJson) as Note | null;\n if (!note) {\n throw new Error('Failed to create note');\n }\n return note;\n }\n\n /**\n * Update an existing note.\n */\n async updateNote(note: Note): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentUpdateNote', this.docRef, JSON.stringify(note));\n }\n\n /**\n * Delete a note by ID.\n */\n async deleteNote(noteId: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteNote', this.docRef, noteId);\n }\n\n // ============================================================================\n // Audit\n // ============================================================================\n\n /**\n * List all audit revisions in the document.\n */\n async listAuditRevisions(): Promise<AuditRevision[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentListAuditRevisions', this.docRef);\n const revisions = this.parseJson(resultJson) as AuditRevision[];\n return Array.isArray(revisions) ? revisions : [];\n }\n\n /**\n * Get a specific audit revision by ID.\n */\n async getAuditRevision(revisionId: number): Promise<AuditRevision | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAuditRevision', this.docRef, revisionId);\n return this.parseJson(resultJson) as AuditRevision | null;\n }\n\n /**\n * Get the complete details for a revision.\n */\n async getAuditRevisionDetails(revisionId: number): Promise<RevisionDetails | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRevisionDetails', this.docRef, revisionId);\n return this.parseJson(resultJson) as RevisionDetails | null;\n }\n\n /**\n * Get the audit history for a specific data object.\n */\n async getDataObjectAuditHistory(dataObjectId: number): Promise<DataObjectAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectAuditHistory', this.docRef, dataObjectId);\n const audits = this.parseJson(resultJson) as DataObjectAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get the audit history for a specific data attribute.\n */\n async getDataAttributeAuditHistory(dataAttributeId: number): Promise<DataAttributeAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeAuditHistory', this.docRef, dataAttributeId);\n const audits = this.parseJson(resultJson) as DataAttributeAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get the audit history for a specific tag.\n */\n async getTagAuditHistory(tagId: number): Promise<TagAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagAuditHistory', this.docRef, tagId);\n const audits = this.parseJson(resultJson) as TagAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all data object audits for a specific revision.\n */\n async getDataObjectAuditsByRevision(revisionId: number): Promise<DataObjectAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as DataObjectAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all data attribute audits for a specific revision.\n */\n async getDataAttributeAuditsByRevision(revisionId: number): Promise<DataAttributeAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as DataAttributeAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all tag audits for a specific revision.\n */\n async getTagAuditsByRevision(revisionId: number): Promise<TagAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as TagAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n // ============================================================================\n // Model Insights and Validations\n // ============================================================================\n\n /**\n * Get model insights from the document.\n * Uses documentGetStatistics and extracts the modelInsights field.\n */\n async getModelInsights(): Promise<Array<{ name: string }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStatistics', this.docRef);\n const stats = this.parseJson(resultJson) as { modelInsights?: Array<{ name: string }> } | null;\n return stats?.modelInsights || [];\n }\n\n /**\n * Get content exceptions (alias for getExceptions).\n */\n async getContentExceptions(): Promise<ContentException[]> {\n return this.getExceptions();\n }\n\n /**\n * Get document validations.\n */\n async getValidations(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetValidations', this.docRef);\n const validations = this.parseJson(resultJson) as unknown[];\n return Array.isArray(validations) ? validations : [];\n }\n\n /**\n * Set document validations.\n */\n async setValidations(validations: unknown[]): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetValidations', this.docRef, JSON.stringify(validations));\n }\n\n // ============================================================================\n // Document Formatting and Content\n // ============================================================================\n\n /**\n * Get a formatted representation of a page.\n */\n async getPrettyPage(pageNode: KodexaWorkerNode, maxWidth?: number): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetPrettyPage', this.docRef, pageNode.getNodeRef(), maxWidth || 80);\n }\n\n /**\n * Get formatted representation of all pages.\n */\n async getPrettyPages(maxWidth?: number): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetPrettyPages', this.docRef, maxWidth || 80);\n }\n\n /**\n * Get text content from an array of nodes.\n * Implemented in TypeScript by sorting nodes and joining their content.\n */\n async getNodeText(nodes: KodexaWorkerNode[]): Promise<string> {\n this.checkDisposed();\n const sortedNodes = await this.getSpatiallySortedNodes(nodes);\n const texts = sortedNodes.map(node => node.content);\n return texts.join(' ');\n }\n\n /**\n * Get nodes sorted by spatial position (Y then X).\n * Implemented in TypeScript by getting bboxes and sorting.\n */\n async getSpatiallySortedNodes(nodes: KodexaWorkerNode[]): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n\n // Get bboxes for all nodes\n const nodesWithBbox = await Promise.all(\n nodes.map(async (node) => ({\n node,\n bbox: await node.getBBox()\n }))\n );\n\n return nodesWithBbox\n .sort((a, b) => {\n if (!a.bbox) return 1;\n if (!b.bbox) return -1;\n // Sort by Y first, then X (with 5 pixel tolerance for same line)\n const yDiff = (a.bbox.y1 ?? 0) - (b.bbox.y1 ?? 0);\n if (Math.abs(yDiff) > 5) {\n return yDiff;\n }\n return (a.bbox.x1 ?? 0) - (b.bbox.x1 ?? 0);\n })\n .map(item => item.node);\n }\n\n /**\n * Get nodes by tag IDs for given prefixes.\n * Uses documentGetTagsByPrefix to iterate through prefixes and build the result map.\n */\n async getNodesByTagIDsForPrefixes(prefixes: string[]): Promise<Map<number, { tagName: string; nodes: KodexaWorkerNode[]; tagData: unknown[] }>> {\n this.checkDisposed();\n const result = new Map<number, { tagName: string; nodes: KodexaWorkerNode[]; tagData: unknown[] }>();\n\n if (!prefixes || prefixes.length === 0) {\n return result;\n }\n\n for (const prefix of prefixes) {\n const resultJson = await this.worker.call<string>('documentGetTagsByPrefix', this.docRef, prefix);\n const tagData = this.parseJson(resultJson) as Array<{\n tagId: number;\n tagName: string;\n tagData: unknown;\n nodeRef?: number;\n nodeId?: number;\n nodeType?: string;\n nodeContent?: string;\n }> | null;\n\n if (Array.isArray(tagData)) {\n for (const entry of tagData) {\n const tagId = entry.tagId;\n if (tagId === undefined) continue;\n\n if (!result.has(tagId)) {\n result.set(tagId, {\n tagName: entry.tagName,\n tagData: [],\n nodes: []\n });\n }\n\n const group = result.get(tagId)!;\n if (entry.tagData) {\n (group.tagData as unknown[]).push(entry.tagData);\n }\n\n // Build node data from the entry\n if (entry.nodeRef && entry.nodeId !== undefined) {\n const nodeData: WorkerNodeData = {\n nodeRef: entry.nodeRef,\n id: entry.nodeId,\n type: entry.nodeType || '',\n content: entry.nodeContent || '',\n };\n group.nodes.push(new KodexaWorkerNode(this.worker, nodeData));\n }\n }\n }\n }\n\n return result;\n }\n\n // ============================================================================\n // Blob Conversion\n // ============================================================================\n\n /**\n * Convert document to a Blob (wrapper around toKddbBytes).\n */\n async toBlob(): Promise<Blob> {\n const bytes = await this.toKddbBytes();\n return new Blob([bytes as unknown as BlobPart], { type: 'application/octet-stream' });\n }\n\n // ============================================================================\n // Tagged Nodes\n // ============================================================================\n\n /**\n * Get all tagged nodes, optionally filtered by tag prefixes.\n */\n async getTaggedNodes(tagPrefixes?: string[]): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentGetAllTaggedNodes',\n this.docRef,\n tagPrefixes ? JSON.stringify(tagPrefixes) : null\n );\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n // ============================================================================\n // Extraction Engine\n // ============================================================================\n\n /**\n * Run extraction on the document using the provided taxonomies.\n * This is a high-level method that creates an engine, runs extraction, and cleans up.\n *\n * @param taxonomies Array of taxonomy objects\n * @returns Object with extraction results including data object count and validations\n */\n async runExtraction(taxonomies: unknown[]): Promise<{\n dataObjectCount: number;\n contentExceptions: ContentException[];\n validations: unknown[];\n }> {\n this.checkDisposed();\n\n // Create extraction engine\n const taxonomiesJson = JSON.stringify(taxonomies);\n const engineRef = await this.worker.createExtractionEngine(this.docRef, taxonomiesJson);\n\n if (engineRef === 0) {\n throw new Error('Failed to create extraction engine');\n }\n\n try {\n // Run extraction and save\n const dataObjectCount = await this.worker.processAndSaveExtraction(engineRef);\n\n if (dataObjectCount === -1) {\n throw new Error('Extraction failed');\n }\n\n // Get content exceptions\n const exceptionsJson = await this.worker.getExtractionContentExceptions(engineRef);\n const contentExceptions = (this.parseJson(exceptionsJson) as ContentException[]) || [];\n\n // Get validations\n const validationsJson = await this.worker.getExtractionValidations(engineRef);\n const validations = (this.parseJson(validationsJson) as unknown[]) || [];\n\n return {\n dataObjectCount,\n contentExceptions,\n validations\n };\n } finally {\n // Always free the extraction engine\n await this.worker.freeExtractionEngine(engineRef);\n }\n }\n\n // ============================================================================\n // Delta Tracking\n // ============================================================================\n\n /**\n * Start tracking changes to this document.\n *\n * All modifications (ADD, MOD, DEL) to the document after this call\n * will be captured until stopDeltaTracking() or cancelDeltaTracking() is called.\n *\n * @param username - Optional username for the tracking session\n * @param comment - Optional comment describing the purpose of tracking\n * @returns The newly created delta session\n */\n async startDeltaTracking(username?: string, comment?: string): Promise<DeltaSession> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentStartDeltaTracking',\n this.docRef,\n username || '',\n comment || ''\n );\n const session = this.parseJson(resultJson) as DeltaSession | null;\n if (!session) {\n throw new Error('Failed to start delta tracking');\n }\n return session;\n }\n\n /**\n * Stop tracking changes and complete the delta session.\n *\n * After stopping, the tracked changes can be exported using exportDelta() or exportDeltaBytes().\n *\n * @returns The completed delta session with end revision info\n */\n async stopDeltaTracking(): Promise<DeltaSession> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentStopDeltaTracking', this.docRef);\n const session = this.parseJson(resultJson) as DeltaSession | null;\n if (!session) {\n throw new Error('Failed to stop delta tracking');\n }\n return session;\n }\n\n /**\n * Cancel the current tracking session and discard all tracked changes.\n *\n * @returns true if cancellation was successful\n */\n async cancelDeltaTracking(): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentCancelDeltaTracking', this.docRef);\n }\n\n /**\n * Get the currently active delta session, if any.\n *\n * @returns The active session or null if no tracking is in progress\n */\n async getActiveDeltaSession(): Promise<DeltaSession | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string | null>('documentGetActiveDeltaSession', this.docRef);\n if (!resultJson || resultJson === 'null') {\n return null;\n }\n return this.parseJson(resultJson) as DeltaSession | null;\n }\n\n /**\n * Get the current delta tracking status.\n *\n * @param includeDetails - If true, includes detailed operation breakdown (for debugging)\n * @returns Status including whether tracking is active and session details\n */\n async getDeltaStatus(includeDetails?: boolean): Promise<DeltaStatus> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDeltaStatus', this.docRef, includeDetails ?? false);\n const status = this.parseJson(resultJson) as DeltaStatus | null;\n return status || { active: false };\n }\n\n /**\n * List all delta sessions for this document.\n *\n * @param statusFilter - Optional filter by status ('active', 'completed', 'cancelled')\n * @returns Array of delta sessions\n */\n async listDeltaSessions(statusFilter?: string): Promise<DeltaSession[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentListDeltaSessions',\n this.docRef,\n statusFilter || ''\n );\n const sessions = this.parseJson(resultJson) as DeltaSession[];\n return Array.isArray(sessions) ? sessions : [];\n }\n\n /**\n * Export the most recent completed delta as metadata.\n *\n * This returns delta information without the full binary data.\n * Use exportDeltaBytes() to get the full serialized delta for transfer.\n *\n * @returns Delta metadata including operation count and revision info\n */\n async exportDelta(): Promise<Delta> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string | null>('documentExportDelta', this.docRef);\n if (!resultJson) {\n throw new Error('Failed to export delta');\n }\n const delta = this.parseJson(resultJson) as Delta | null;\n if (!delta) {\n throw new Error('Failed to export delta');\n }\n return delta;\n }\n\n /**\n * Export the most recent completed delta as binary data.\n *\n * Returns the delta in KDDB binary format (magic number: 0x4B444442).\n * This can be transferred and imported to another document.\n *\n * @returns Uint8Array containing the serialized delta\n */\n async exportDeltaBytes(): Promise<Uint8Array> {\n this.checkDisposed();\n const base64 = await this.worker.call<string>('documentExportDeltaBytes', this.docRef);\n if (!base64) {\n throw new Error('Failed to export delta bytes');\n }\n // Decode base64 to Uint8Array\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n\n /**\n * Import a delta from binary data.\n *\n * This parses and validates the delta but does not apply it.\n * Use applyDelta() to apply the imported delta to the document.\n *\n * @param data - Uint8Array containing serialized delta (from exportDeltaBytes)\n * @returns Imported delta metadata\n */\n async importDelta(data: Uint8Array): Promise<Delta> {\n this.checkDisposed();\n // Encode to base64 for transfer\n let binary = '';\n for (let i = 0; i < data.length; i++) {\n binary += String.fromCharCode(data[i]);\n }\n const base64 = btoa(binary);\n const resultJson = await this.worker.call<string | null>('documentImportDelta', this.docRef, base64);\n if (!resultJson) {\n throw new Error('Failed to import delta');\n }\n const delta = this.parseJson(resultJson) as Delta | null;\n if (!delta) {\n throw new Error('Failed to import delta');\n }\n return delta;\n }\n\n // ============================================================================\n // Lifecycle\n // ============================================================================\n\n /**\n * Dispose of the document and free resources.\n */\n async dispose(): Promise<void> {\n if (this.disposed) {\n return;\n }\n this.disposed = true;\n await this.worker.call('freeDocument', this.docRef);\n }\n\n /**\n * Alias for dispose() for compatibility.\n */\n async destroy(): Promise<void> {\n return this.dispose();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"KodexaWorkerDocument.js","sourceRoot":"","sources":["../../src/worker/KodexaWorkerDocument.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * KodexaWorkerDocument - Document Proxy for Web Worker WASM\n *\n * This class provides a document API that mirrors KddbDocument but\n * routes all operations through the web worker via RPC.\n */\n\nimport type { KodexaWorker } from './KodexaWorker';\nimport { KodexaWorkerNode } from './KodexaWorkerNode';\nimport type { WorkerNodeData } from './types';\nimport type {\n Note,\n AuditRevision,\n DataObjectAudit,\n DataAttributeAudit,\n TagAudit,\n RevisionDetails,\n DeltaSession,\n DeltaStatus,\n Delta,\n} from '../wasm/types';\nimport type { NoteInput } from '../NoteAccessor';\nimport { TransactionContext } from '../TransactionContext';\nimport type { TransactionResponse } from './types';\n\n/**\n * Metadata interface for document metadata.\n */\nexport interface DocumentMetadata {\n [key: string]: unknown;\n}\n\n/**\n * Result from Go WASM search over document lines (fuzzy, regex, or exact).\n */\nexport interface SearchLineResult {\n lineId: number;\n content: string;\n page: number;\n matches?: Array<{ start: number; end: number }>;\n}\n\n/**\n * Exception interface for document exceptions.\n */\nexport interface ContentException {\n exceptionType: string;\n exceptionTypeId?: string;\n message: string;\n stack?: string;\n timestamp?: Date;\n source?: string;\n severity?: string;\n}\n\n/**\n * Input type for a single move operation in a batch.\n */\nexport interface BatchMoveInput {\n sourceId: number;\n destParentId: number | null;\n destPath: string;\n sourceOrdering?: string;\n}\n\n/**\n * Input type for a single copy operation in a batch.\n */\nexport interface BatchCopyInput {\n sourceId: number;\n destParentId: number | null;\n destPath: string;\n sourceOrdering?: string;\n copyAttributes: boolean;\n}\n\n/**\n * Result of a batch move/copy operation.\n */\nexport interface BatchResult {\n success: boolean;\n results?: unknown[];\n error?: string;\n}\n\n/**\n * Accessor for data object operations.\n */\nexport class WorkerDataObjectAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getDataObjects();\n }\n\n async getByID(id: number): Promise<unknown | null> {\n return this.doc.getDataObjectByID(id);\n }\n\n async getByGroupKey(groupKey: string): Promise<unknown[]> {\n return this.doc.getDataObjectsByGroupKey(groupKey);\n }\n\n async create(input: unknown): Promise<unknown> {\n return this.doc.createDataObject(input);\n }\n\n async update(id: number, updates: unknown): Promise<unknown> {\n return this.doc.updateDataObject(id, updates);\n }\n\n async delete(id: number): Promise<boolean> {\n return this.doc.deleteDataObject(id);\n }\n\n async move(id: number, destParentId: number | null, destPath: string, sourceOrdering?: string): Promise<unknown> {\n return this.doc.moveDataObject(id, destParentId, destPath, sourceOrdering);\n }\n\n async copy(sourceID: number, destParentId: number | null, destPath: string, copyAttributes: boolean, sourceOrdering?: string): Promise<unknown> {\n return this.doc.copyDataObject(sourceID, destParentId, destPath, copyAttributes, sourceOrdering);\n }\n\n async batchMove(inputs: BatchMoveInput[]): Promise<BatchResult> {\n return this.doc.batchMoveDataObjects(inputs);\n }\n\n async batchCopy(inputs: BatchCopyInput[]): Promise<BatchResult> {\n return this.doc.batchCopyDataObjects(inputs);\n }\n\n async getRoots(): Promise<unknown[]> {\n return this.doc.getRootDataObjects();\n }\n\n async getChildren(parentId: number): Promise<unknown[]> {\n return this.doc.getChildDataObjects(parentId);\n }\n\n async getDataExceptions(): Promise<unknown[]> {\n return this.doc.getDataExceptions();\n }\n}\n\n/**\n * Accessor for data attribute operations.\n */\nexport class WorkerDataAttributeAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getDataAttributes();\n }\n\n async getByID(id: number): Promise<unknown | null> {\n return this.doc.getDataAttributeByID(id);\n }\n\n async getForDataObject(dataObjectId: number): Promise<unknown[]> {\n return this.doc.getDataAttributesForObject(dataObjectId);\n }\n\n async create(dataObjectId: number, input: unknown): Promise<unknown> {\n return this.doc.createDataAttribute(dataObjectId, input);\n }\n\n async update(id: number, updates: unknown): Promise<unknown> {\n return this.doc.updateDataAttributeByID(id, updates);\n }\n\n async delete(id: number): Promise<boolean> {\n return this.doc.deleteDataAttributeByID(id);\n }\n}\n\n/**\n * Accessor for native document operations.\n */\nexport class WorkerNativeDocumentAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<unknown[]> {\n return this.doc.getNativeDocuments();\n }\n\n async getData(id: number): Promise<Uint8Array | null> {\n return this.doc.getNativeDocumentData(id);\n }\n}\n\n// Note and NoteInput types are imported from ../wasm/types and ../NoteAccessor\n\n/**\n * Accessor for note operations.\n */\nexport class WorkerNoteAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n async getAll(): Promise<Note[]> {\n return this.doc.getNotes();\n }\n\n async getByID(id: number): Promise<Note | null> {\n return this.doc.getNoteByID(id);\n }\n\n async getByType(noteType: 'TEXT' | 'MARKDOWN' | 'HTML'): Promise<Note[]> {\n return this.doc.getNotesByType(noteType);\n }\n\n async getByGroupKey(groupKey: string): Promise<Note[]> {\n return this.doc.getNotesByGroupKey(groupKey);\n }\n\n async getByDataObjectID(dataObjectId: number): Promise<Note[]> {\n return this.doc.getNotesByDataObjectID(dataObjectId);\n }\n\n async getByDataAttributeID(dataAttributeId: number): Promise<Note[]> {\n return this.doc.getNotesByDataAttributeID(dataAttributeId);\n }\n\n async getRootNotes(): Promise<Note[]> {\n return this.doc.getRootNotes();\n }\n\n async getChildNotes(parentNoteId: number): Promise<Note[]> {\n return this.doc.getChildNotes(parentNoteId);\n }\n\n async create(input: NoteInput): Promise<Note> {\n return this.doc.createNote(input);\n }\n\n async update(note: Note): Promise<boolean> {\n return this.doc.updateNote(note);\n }\n\n async delete(noteId: number): Promise<boolean> {\n return this.doc.deleteNote(noteId);\n }\n}\n\n/**\n * Accessor for audit operations.\n */\nexport class WorkerAuditAccessor {\n constructor(private doc: KodexaWorkerDocument) {}\n\n /**\n * Get all audit revisions in the document.\n */\n async listRevisions(): Promise<AuditRevision[]> {\n return this.doc.listAuditRevisions();\n }\n\n /**\n * Get a specific audit revision by ID.\n */\n async getRevision(revisionId: number): Promise<AuditRevision | null> {\n return this.doc.getAuditRevision(revisionId);\n }\n\n /**\n * Get the complete details for a revision.\n */\n async getRevisionDetails(revisionId: number): Promise<RevisionDetails | null> {\n return this.doc.getAuditRevisionDetails(revisionId);\n }\n\n /**\n * Get the audit history for a specific data object.\n */\n async getDataObjectHistory(dataObjectId: number): Promise<DataObjectAudit[]> {\n return this.doc.getDataObjectAuditHistory(dataObjectId);\n }\n\n /**\n * Get the audit history for a specific data attribute.\n */\n async getDataAttributeHistory(dataAttributeId: number): Promise<DataAttributeAudit[]> {\n return this.doc.getDataAttributeAuditHistory(dataAttributeId);\n }\n\n /**\n * Get the audit history for a specific tag.\n */\n async getTagHistory(tagId: number): Promise<TagAudit[]> {\n return this.doc.getTagAuditHistory(tagId);\n }\n\n /**\n * Get all data object audits for a specific revision.\n */\n async getDataObjectAuditsByRevision(revisionId: number): Promise<DataObjectAudit[]> {\n return this.doc.getDataObjectAuditsByRevision(revisionId);\n }\n\n /**\n * Get all data attribute audits for a specific revision.\n */\n async getDataAttributeAuditsByRevision(revisionId: number): Promise<DataAttributeAudit[]> {\n return this.doc.getDataAttributeAuditsByRevision(revisionId);\n }\n\n /**\n * Get all tag audits for a specific revision.\n */\n async getTagAuditsByRevision(revisionId: number): Promise<TagAudit[]> {\n return this.doc.getTagAuditsByRevision(revisionId);\n }\n}\n\n/**\n * Document proxy that routes operations to the web worker.\n */\nexport class KodexaWorkerDocument {\n private disposed = false;\n private _dataObjects: WorkerDataObjectAccessor | null = null;\n private _dataAttributes: WorkerDataAttributeAccessor | null = null;\n private _nativeDocuments: WorkerNativeDocumentAccessor | null = null;\n private _notes: WorkerNoteAccessor | null = null;\n private _audit: WorkerAuditAccessor | null = null;\n\n /**\n * Create a new document proxy.\n * This should not be called directly - use KodexaWorker.createDocument() instead.\n *\n * @param worker The worker instance to route calls through\n * @param docRef The document reference from the worker\n */\n constructor(\n private worker: KodexaWorker,\n private docRef: number\n ) {}\n\n /**\n * Accessor for data object operations.\n */\n get dataObjects(): WorkerDataObjectAccessor {\n if (!this._dataObjects) {\n this._dataObjects = new WorkerDataObjectAccessor(this);\n }\n return this._dataObjects;\n }\n\n /**\n * Accessor for data attribute operations.\n */\n get dataAttributes(): WorkerDataAttributeAccessor {\n if (!this._dataAttributes) {\n this._dataAttributes = new WorkerDataAttributeAccessor(this);\n }\n return this._dataAttributes;\n }\n\n /**\n * Accessor for native document operations.\n */\n get nativeDocuments(): WorkerNativeDocumentAccessor {\n if (!this._nativeDocuments) {\n this._nativeDocuments = new WorkerNativeDocumentAccessor(this);\n }\n return this._nativeDocuments;\n }\n\n /**\n * Accessor for note operations.\n */\n get notes(): WorkerNoteAccessor {\n if (!this._notes) {\n this._notes = new WorkerNoteAccessor(this);\n }\n return this._notes;\n }\n\n /**\n * Accessor for audit operations.\n */\n get audit(): WorkerAuditAccessor {\n if (!this._audit) {\n this._audit = new WorkerAuditAccessor(this);\n }\n return this._audit;\n }\n\n /**\n * Get the document reference (for internal use).\n */\n getDocumentRef(): number {\n this.checkDisposed();\n return this.docRef;\n }\n\n /**\n * Check if the document has been disposed.\n */\n private checkDisposed(): void {\n if (this.disposed) {\n throw new Error('Document has been disposed');\n }\n }\n\n /**\n * Parse JSON result, handling null and error cases.\n */\n private parseJson(json: unknown): unknown {\n if (json === null || json === undefined || json === 'null') {\n return null;\n }\n if (typeof json === 'string') {\n try {\n return JSON.parse(json);\n } catch {\n return json;\n }\n }\n return json;\n }\n\n // ============================================================================\n // Core Document Operations\n // ============================================================================\n\n /**\n * Get the root content node.\n */\n async getRoot(): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRoot', this.docRef);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Get the root content node (alias for getRoot).\n */\n async getRootNode(): Promise<KodexaWorkerNode | null> {\n return this.getRoot();\n }\n\n /**\n * Convert document to JSON string.\n */\n async toJson(): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentToJson', this.docRef);\n }\n\n /**\n * Convert document to KDDB bytes.\n */\n async toKddbBytes(): Promise<Uint8Array> {\n this.checkDisposed();\n const result = await this.worker.call<Uint8Array>('documentToKddbBytes', this.docRef);\n // The result might be a regular array, convert if needed\n if (Array.isArray(result)) {\n return new Uint8Array(result);\n }\n return result;\n }\n\n /**\n * Execute a set of operations atomically in the worker via WASM transaction.\n */\n async transaction(callback: (tx: TransactionContext) => Promise<void>): Promise<void> {\n this.checkDisposed();\n const tx = new TransactionContext();\n await callback(tx);\n\n if (tx.operationCount === 0) {\n return;\n }\n\n const result = await this.worker.call<string | TransactionResponse>(\n 'executeTransaction',\n this.docRef,\n JSON.stringify(tx.getOperations())\n );\n\n const parsed: TransactionResponse =\n typeof result === 'string' ? JSON.parse(result) as TransactionResponse : (result as TransactionResponse);\n\n if (!parsed?.success) {\n throw new Error(`Transaction failed: ${(parsed as any)?.error ?? 'Unknown error'}`);\n }\n }\n\n /**\n * Get the document metadata UUID (stored in metadata).\n * Note: This returns the document identity UUID from metadata, not a generated UUID.\n */\n async getMetadataUUID(): Promise<string | null> {\n this.checkDisposed();\n const metadata = await this.getMetadata();\n return (metadata?.uuid as string) ?? null;\n }\n\n // ============================================================================\n // Node Operations\n // ============================================================================\n\n /**\n * Create a new node.\n *\n * @param nodeType The type of node to create (e.g., 'page', 'paragraph')\n */\n async createNode(nodeType: string): Promise<KodexaWorkerNode> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('createNode', this.docRef, nodeType);\n const data = this.parseJson(resultJson) as WorkerNodeData;\n if (!data) {\n throw new Error('Failed to create node');\n }\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Find a node by its ID.\n */\n async findNodeByID(id: number): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNodeByID', this.docRef, id);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n /**\n * Get node by ID.\n */\n async getNodeById(nodeId: number): Promise<KodexaWorkerNode | null> {\n return this.findNodeByID(nodeId);\n }\n\n // ============================================================================\n // Selection Operations\n // ============================================================================\n\n /**\n * Select nodes using a selector expression.\n *\n * @param selector Kodexa selector expression (e.g., '//paragraph', '//page[1]')\n */\n async select(selector: string): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentSelect', this.docRef, selector);\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n /**\n * Select the first node matching a selector.\n *\n * @param selector Kodexa selector expression\n */\n async selectFirst(selector: string): Promise<KodexaWorkerNode | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentSelectFirst', this.docRef, selector);\n const data = this.parseJson(resultJson) as WorkerNodeData | null;\n if (!data) return null;\n return new KodexaWorkerNode(this.worker, data);\n }\n\n // ============================================================================\n // Metadata Operations\n // ============================================================================\n\n /**\n * Get all metadata.\n */\n async getMetadata(): Promise<DocumentMetadata> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetMetadata', this.docRef);\n const metadata = this.parseJson(resultJson) as DocumentMetadata;\n return metadata || {};\n }\n\n /**\n * Set metadata from object.\n */\n async setMetadata(metadata: DocumentMetadata): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetMetadata', this.docRef, JSON.stringify(metadata));\n }\n\n /**\n * Set the actor URI for audit tracking.\n * The actor URI identifies who is making changes to the document.\n * Format: \"user://email@domain.com\" or \"module://module-id\"\n * If no actor URI is set, audit events will not include actor information.\n *\n * @param uri - The actor URI string, or null to clear\n * @returns true on success, false on failure\n */\n async setActorUri(uri: string | null): Promise<boolean> {\n this.checkDisposed();\n const result = await this.worker.call<number>('documentSetActorURI', this.docRef, uri ?? '');\n return result === 1;\n }\n\n // ============================================================================\n // Exception Operations\n // ============================================================================\n\n /**\n * Get all exceptions.\n */\n async getExceptions(): Promise<ContentException[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExceptions', this.docRef);\n const exceptions = this.parseJson(resultJson) as ContentException[];\n return Array.isArray(exceptions) ? exceptions : [];\n }\n\n /**\n * Add an exception.\n */\n async addException(exception: ContentException): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentAddException', this.docRef, JSON.stringify(exception));\n }\n\n // ============================================================================\n // Tag Operations\n // ============================================================================\n\n /**\n * Get all tags in the document.\n */\n async getAllTags(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAllTags', this.docRef);\n const tags = this.parseJson(resultJson) as unknown[];\n return Array.isArray(tags) ? tags : [];\n }\n\n /**\n * Get tags by prefix.\n */\n async getTagsByPrefix(prefix: string): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagsByPrefix', this.docRef, prefix);\n const tags = this.parseJson(resultJson) as unknown[];\n return Array.isArray(tags) ? tags : [];\n }\n\n /**\n * Find nodes by tag ID.\n */\n async findNodesByTagID(tagId: number): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentFindNodesByTagID', this.docRef, tagId);\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n // ============================================================================\n // Document Statistics\n // ============================================================================\n\n /**\n * Get document statistics.\n */\n async getStatistics(): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStatistics', this.docRef);\n return this.parseJson(resultJson);\n }\n\n /**\n * Get the number of pages.\n */\n async getNumPages(): Promise<number> {\n this.checkDisposed();\n return this.worker.call<number>('documentGetNodeCountByType', this.docRef, 'page');\n }\n\n /**\n * Get all nodes in hierarchical order with their level, type, and content.\n */\n async getAllNodesHierarchical(): Promise<Array<{ content: string; id: number }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAllNodesHierarchical', this.docRef);\n const lines = this.parseJson(resultJson) as Array<{ content: string; id: number }>;\n return Array.isArray(lines) ? lines : [];\n }\n\n /**\n * Get searchable lines with aggregated word content.\n * Each line's content is built from all descendant word/text nodes.\n * Used for document search functionality.\n */\n async getSearchableLines(): Promise<Array<{ id: number; content: string }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetSearchableLines', this.docRef);\n const lines = this.parseJson(resultJson) as Array<{ id: number; content: string }>;\n return Array.isArray(lines) ? lines : [];\n }\n\n /**\n * Search document lines using fuzzy matching in Go WASM.\n * Returns up to maxResults matching lines with page numbers.\n */\n async searchLines(query: string, maxResults: number = 100): Promise<SearchLineResult[]> {\n this.checkDisposed();\n const requestJson = JSON.stringify({ query, maxResults });\n const resultJson = await this.worker.call<string>('documentSearchLines', this.docRef, requestJson);\n const results = this.parseJson(resultJson) as SearchLineResult[];\n return Array.isArray(results) ? results : [];\n }\n\n // ============================================================================\n // Source and Labels\n // ============================================================================\n\n /**\n * Get document source.\n */\n async getSource(): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetSource', this.docRef);\n }\n\n /**\n * Set document source.\n */\n async setSource(source: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetSource', this.docRef, source);\n }\n\n /**\n * Get document labels.\n */\n async getLabels(): Promise<string[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetLabels', this.docRef);\n const labels = this.parseJson(resultJson) as string[];\n return Array.isArray(labels) ? labels : [];\n }\n\n /**\n * Add a label.\n */\n async addLabel(label: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentAddLabel', this.docRef, label);\n }\n\n /**\n * Remove a label.\n */\n async removeLabel(label: string): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentRemoveLabel', this.docRef, label);\n }\n\n // ============================================================================\n // External Data\n // ============================================================================\n\n /**\n * Get external data by key.\n */\n async getExternalData(key: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExternalData', this.docRef, key);\n return this.parseJson(resultJson);\n }\n\n /**\n * Set external data.\n */\n async setExternalData(key: string, data: unknown): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetExternalData', this.docRef, key, JSON.stringify(data));\n }\n\n /**\n * Get external data keys.\n */\n async getExternalDataKeys(): Promise<string[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetExternalDataKeys', this.docRef);\n const keys = this.parseJson(resultJson) as string[];\n return Array.isArray(keys) ? keys : [];\n }\n\n // ============================================================================\n // Raw Query Methods\n // ============================================================================\n\n /**\n * Execute a raw SQL query against the document's SQLite database.\n *\n * This provides direct database access for advanced queries not covered by existing APIs.\n * Results are returned as an array of objects, where each object represents a row\n * with column names as keys.\n *\n * IMPORTANT: This is intended for read-only SELECT queries. Modifying data directly\n * may bypass validation, auditing, and other document management features.\n *\n * @param sql - The SQL query to execute\n * @param params - Optional array of parameters for parameterized queries\n * @returns Array of result rows as objects\n *\n * @example\n * ```typescript\n * // Simple query\n * const nodes = await doc.executeRawQuery(\n * 'SELECT * FROM kddb_content_nodes WHERE node_type_id = ?',\n * [1]\n * );\n *\n * // Query with multiple conditions\n * const tags = await doc.executeRawQuery(\n * 'SELECT * FROM kddb_content_node_tags WHERE name LIKE ?',\n * ['%Invoice%']\n * );\n * ```\n */\n async executeRawQuery(sql: string, params?: unknown[]): Promise<Record<string, unknown>[]> {\n this.checkDisposed();\n const paramsJson = params ? JSON.stringify(params) : '[]';\n const resultJson = await this.worker.call<string>('documentExecuteRawQuery', this.docRef, sql, paramsJson);\n const results = this.parseJson(resultJson) as Record<string, unknown>[];\n return Array.isArray(results) ? results : [];\n }\n\n // ============================================================================\n // Processing Steps\n // ============================================================================\n\n /**\n * Get processing steps.\n */\n async getSteps(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetSteps', this.docRef);\n const steps = this.parseJson(resultJson) as unknown[];\n return Array.isArray(steps) ? steps : [];\n }\n\n /**\n * Set processing steps.\n */\n async setSteps(steps: unknown[]): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetSteps', this.docRef, JSON.stringify(steps));\n }\n\n /**\n * Get children of a processing step (lazy loading).\n * @param stepId - The ID of the parent step\n * @returns Array of child processing steps\n */\n async getStepChildren(stepId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStepChildren', this.docRef, stepId);\n const children = this.parseJson(resultJson) as unknown[];\n return Array.isArray(children) ? children : [];\n }\n\n /**\n * Get parents of a processing step (lazy loading).\n * @param stepId - The ID of the child step\n * @returns Array of parent processing steps\n */\n async getStepParents(stepId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStepParents', this.docRef, stepId);\n const parents = this.parseJson(resultJson) as unknown[];\n return Array.isArray(parents) ? parents : [];\n }\n\n // ============================================================================\n // Data Objects\n // ============================================================================\n\n /**\n * Get all data objects from the document.\n */\n async getDataObjects(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjects', this.docRef);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get all data exceptions from the document.\n */\n async getDataExceptions(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataExceptions', this.docRef);\n const exceptions = this.parseJson(resultJson) as unknown[];\n return Array.isArray(exceptions) ? exceptions : [];\n }\n\n /**\n * Get data objects by group key.\n */\n async getDataObjectsByGroupKey(groupKey: string): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectsByGroupKey', this.docRef, groupKey);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get a data object by ID.\n */\n async getDataObjectByID(id: number): Promise<unknown | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectByID', this.docRef, id);\n return this.parseJson(resultJson);\n }\n\n /**\n * Create a data object.\n */\n async createDataObject(input: unknown): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCreateDataObject', this.docRef, JSON.stringify(input));\n return this.parseJson(resultJson);\n }\n\n /**\n * Update a data object.\n */\n async updateDataObject(id: number, updates: unknown): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentUpdateDataObject', this.docRef, id, JSON.stringify(updates));\n return this.parseJson(resultJson);\n }\n\n /**\n * Delete a data object.\n */\n async deleteDataObject(id: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteDataObject', this.docRef, id);\n }\n\n /**\n * Move a data object to a new parent and/or path.\n * @param id The ID of the data object to move\n * @param destParentId The ID of the destination parent (null to move to root)\n * @param destPath The new path for the data object\n * @param sourceOrdering Optional ordering value\n * @returns The moved data object with its attributes\n */\n async moveDataObject(id: number, destParentId: number | null, destPath: string, sourceOrdering?: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentMoveDataObject', this.docRef, id, destParentId, destPath, sourceOrdering ?? null);\n return this.parseJson(resultJson);\n }\n\n /**\n * Copy a data object to a new parent and/or path.\n * @param sourceID The ID of the source data object to copy\n * @param destParentId The ID of the destination parent (null to copy to root)\n * @param destPath The new path for the copied data object\n * @param copyAttributes Whether to copy attributes from the source\n * @param sourceOrdering Optional ordering value\n * @returns The copied data object with its attributes (new ID)\n */\n async copyDataObject(sourceID: number, destParentId: number | null, destPath: string, copyAttributes: boolean, sourceOrdering?: string): Promise<unknown> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCopyDataObject', this.docRef, sourceID, destParentId, destPath, copyAttributes, sourceOrdering ?? null);\n return this.parseJson(resultJson);\n }\n\n /**\n * Move multiple data objects atomically.\n * All operations succeed or all fail with rollback.\n * @param inputs Array of move operations\n * @returns Batch result with moved data objects on success\n */\n async batchMoveDataObjects(inputs: BatchMoveInput[]): Promise<BatchResult> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentBatchMoveDataObjects',\n this.docRef,\n JSON.stringify(inputs)\n );\n const result = this.parseJson(resultJson) as BatchResult;\n return result || { success: false, error: 'Failed to parse result' };\n }\n\n /**\n * Copy multiple data objects atomically.\n * All operations succeed or all fail with rollback.\n * @param inputs Array of copy operations\n * @returns Batch result with copied data objects on success\n */\n async batchCopyDataObjects(inputs: BatchCopyInput[]): Promise<BatchResult> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentBatchCopyDataObjects',\n this.docRef,\n JSON.stringify(inputs)\n );\n const result = this.parseJson(resultJson) as BatchResult;\n return result || { success: false, error: 'Failed to parse result' };\n }\n\n /**\n * Get root data objects (no parent).\n */\n async getRootDataObjects(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRootDataObjects', this.docRef);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Get child data objects for a parent ID.\n */\n async getChildDataObjects(parentId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetChildDataObjects', this.docRef, parentId);\n const objects = this.parseJson(resultJson) as unknown[];\n return Array.isArray(objects) ? objects : [];\n }\n\n /**\n * Export data objects as JSON or XML with taxonomy associations.\n * This is the unified function matching Java's DataObjectUtils.toFormat().\n *\n * @param taxonomyJson JSON array of taxonomies, or empty string to use stored taxonomies\n * @param format Output format: 'json' or 'xml'\n * @param friendlyNames Use friendly names (labels) instead of external names\n * @param includeIds Include IDs in output\n * @param includeExceptions Include exceptions in output\n * @param inlineAudits Include audit data inline (default false)\n * @param path Path filter (empty for full export)\n * @param rootName Root element name for XML (default 'DataObjects')\n * @returns Serialized string (JSON or XML), or null on error\n */\n async getDataObjectsExport(\n taxonomyJson: string,\n format: string,\n friendlyNames: boolean,\n includeIds: boolean,\n includeExceptions: boolean,\n inlineAudits: boolean = false,\n path: string = '',\n rootName: string = 'DataObjects',\n ): Promise<string | null> {\n this.checkDisposed();\n const result = await this.worker.call<string | null>(\n 'getDataObjectsExport',\n this.docRef,\n taxonomyJson,\n format,\n friendlyNames,\n includeIds,\n includeExceptions,\n inlineAudits,\n path,\n rootName,\n );\n return result;\n }\n\n // ============================================================================\n // Data Attributes\n // ============================================================================\n\n /**\n * Get all data attributes from the document.\n */\n async getDataAttributes(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributes', this.docRef);\n const attributes = this.parseJson(resultJson) as unknown[];\n return Array.isArray(attributes) ? attributes : [];\n }\n\n /**\n * Get data attributes for a specific data object.\n */\n async getDataAttributesForObject(dataObjectId: number): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributesForObject', this.docRef, dataObjectId);\n const attributes = this.parseJson(resultJson) as unknown[];\n return Array.isArray(attributes) ? attributes : [];\n }\n\n /**\n * Get a data attribute by its numeric ID.\n */\n async getDataAttributeByID(id: number): Promise<unknown | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeByID', this.docRef, id);\n return this.parseJson(resultJson);\n }\n\n /**\n * Create a data attribute.\n */\n async createDataAttribute(dataObjectId: number, input: unknown): Promise<unknown> {\n this.checkDisposed();\n // Go expects (docRef, attributeJSON) - dataObjectId must be inside the JSON\n const inputWithObjectId = { ...(input as object), dataObjectId };\n const resultJson = await this.worker.call<string>('documentCreateDataAttribute', this.docRef, JSON.stringify(inputWithObjectId));\n return this.parseJson(resultJson);\n }\n\n /**\n * Update a data attribute by its numeric ID.\n */\n async updateDataAttributeByID(id: number, updates: unknown): Promise<unknown> {\n this.checkDisposed();\n // Go expects (docRef, attributeJSON) - id must be inside the JSON\n const updatesWithId = { ...(updates as object), id };\n const resultJson = await this.worker.call<string>('documentUpdateDataAttribute', this.docRef, JSON.stringify(updatesWithId));\n return this.parseJson(resultJson);\n }\n\n /**\n * Delete a data attribute by its numeric ID.\n */\n async deleteDataAttributeByID(id: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteDataAttributeByID', this.docRef, id);\n }\n\n // ============================================================================\n // Native Documents\n // ============================================================================\n\n /**\n * Get all native documents (embedded files like PDFs, images).\n */\n async getNativeDocuments(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNativeDocuments', this.docRef);\n const documents = this.parseJson(resultJson) as unknown[];\n return Array.isArray(documents) ? documents : [];\n }\n\n /**\n * Get native document data by ID.\n * The Go WASM returns base64-encoded string, which we decode to Uint8Array.\n */\n async getNativeDocumentData(id: number): Promise<Uint8Array | null> {\n this.checkDisposed();\n const result = await this.worker.call<string | null>('documentGetNativeDocumentData', this.docRef, id);\n if (!result) return null;\n\n // Result is a base64-encoded string from Go WASM\n if (typeof result === 'string') {\n const binaryString = atob(result);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n\n // Fallback for array (shouldn't happen with current Go impl)\n if (Array.isArray(result)) {\n return new Uint8Array(result);\n }\n\n return result as Uint8Array;\n }\n\n // ============================================================================\n // Notes\n // ============================================================================\n\n /**\n * Get all notes from the document.\n */\n async getNotes(): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotes', this.docRef);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get a note by ID.\n */\n async getNoteByID(id: number): Promise<Note | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNoteByID', this.docRef, id);\n return this.parseJson(resultJson) as Note | null;\n }\n\n /**\n * Get notes by type.\n */\n async getNotesByType(noteType: 'TEXT' | 'MARKDOWN' | 'HTML'): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByType', this.docRef, noteType);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by group key.\n */\n async getNotesByGroupKey(groupKey: string): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByGroupKey', this.docRef, groupKey);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by data object ID.\n */\n async getNotesByDataObjectID(dataObjectId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByDataObjectID', this.docRef, dataObjectId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get notes by data attribute ID.\n */\n async getNotesByDataAttributeID(dataAttributeId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetNotesByDataAttributeID', this.docRef, dataAttributeId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get root notes (notes without a parent).\n */\n async getRootNotes(): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRootNotes', this.docRef);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Get child notes of a parent note.\n */\n async getChildNotes(parentNoteId: number): Promise<Note[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetChildNotes', this.docRef, parentNoteId);\n const notes = this.parseJson(resultJson) as Note[];\n return Array.isArray(notes) ? notes : [];\n }\n\n /**\n * Create a new note.\n */\n async createNote(input: NoteInput): Promise<Note> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentCreateNote', this.docRef, JSON.stringify(input));\n const note = this.parseJson(resultJson) as Note | null;\n if (!note) {\n throw new Error('Failed to create note');\n }\n return note;\n }\n\n /**\n * Update an existing note.\n */\n async updateNote(note: Note): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentUpdateNote', this.docRef, JSON.stringify(note));\n }\n\n /**\n * Delete a note by ID.\n */\n async deleteNote(noteId: number): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentDeleteNote', this.docRef, noteId);\n }\n\n // ============================================================================\n // Audit\n // ============================================================================\n\n /**\n * List all audit revisions in the document.\n */\n async listAuditRevisions(): Promise<AuditRevision[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentListAuditRevisions', this.docRef);\n const revisions = this.parseJson(resultJson) as AuditRevision[];\n return Array.isArray(revisions) ? revisions : [];\n }\n\n /**\n * Get a specific audit revision by ID.\n */\n async getAuditRevision(revisionId: number): Promise<AuditRevision | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetAuditRevision', this.docRef, revisionId);\n return this.parseJson(resultJson) as AuditRevision | null;\n }\n\n /**\n * Get the complete details for a revision.\n */\n async getAuditRevisionDetails(revisionId: number): Promise<RevisionDetails | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetRevisionDetails', this.docRef, revisionId);\n return this.parseJson(resultJson) as RevisionDetails | null;\n }\n\n /**\n * Get the audit history for a specific data object.\n */\n async getDataObjectAuditHistory(dataObjectId: number): Promise<DataObjectAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectAuditHistory', this.docRef, dataObjectId);\n const audits = this.parseJson(resultJson) as DataObjectAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get the audit history for a specific data attribute.\n */\n async getDataAttributeAuditHistory(dataAttributeId: number): Promise<DataAttributeAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeAuditHistory', this.docRef, dataAttributeId);\n const audits = this.parseJson(resultJson) as DataAttributeAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get the audit history for a specific tag.\n */\n async getTagAuditHistory(tagId: number): Promise<TagAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagAuditHistory', this.docRef, tagId);\n const audits = this.parseJson(resultJson) as TagAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all data object audits for a specific revision.\n */\n async getDataObjectAuditsByRevision(revisionId: number): Promise<DataObjectAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataObjectAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as DataObjectAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all data attribute audits for a specific revision.\n */\n async getDataAttributeAuditsByRevision(revisionId: number): Promise<DataAttributeAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDataAttributeAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as DataAttributeAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n /**\n * Get all tag audits for a specific revision.\n */\n async getTagAuditsByRevision(revisionId: number): Promise<TagAudit[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetTagAuditsByRevision', this.docRef, revisionId);\n const audits = this.parseJson(resultJson) as TagAudit[];\n return Array.isArray(audits) ? audits : [];\n }\n\n // ============================================================================\n // Model Insights and Validations\n // ============================================================================\n\n /**\n * Get model insights from the document.\n * Uses documentGetStatistics and extracts the modelInsights field.\n */\n async getModelInsights(): Promise<Array<{ name: string }>> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetStatistics', this.docRef);\n const stats = this.parseJson(resultJson) as { modelInsights?: Array<{ name: string }> } | null;\n return stats?.modelInsights || [];\n }\n\n /**\n * Get content exceptions (alias for getExceptions).\n */\n async getContentExceptions(): Promise<ContentException[]> {\n return this.getExceptions();\n }\n\n /**\n * Get document validations.\n */\n async getValidations(): Promise<unknown[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetValidations', this.docRef);\n const validations = this.parseJson(resultJson) as unknown[];\n return Array.isArray(validations) ? validations : [];\n }\n\n /**\n * Set document validations.\n */\n async setValidations(validations: unknown[]): Promise<void> {\n this.checkDisposed();\n await this.worker.call('documentSetValidations', this.docRef, JSON.stringify(validations));\n }\n\n // ============================================================================\n // Document Formatting and Content\n // ============================================================================\n\n /**\n * Get a formatted representation of a page.\n */\n async getPrettyPage(pageNode: KodexaWorkerNode, maxWidth?: number): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetPrettyPage', this.docRef, pageNode.getNodeRef(), maxWidth || 80);\n }\n\n /**\n * Get formatted representation of all pages.\n */\n async getPrettyPages(maxWidth?: number): Promise<string> {\n this.checkDisposed();\n return this.worker.call<string>('documentGetPrettyPages', this.docRef, maxWidth || 80);\n }\n\n /**\n * Get text content from an array of nodes.\n * Implemented in TypeScript by sorting nodes and joining their content.\n */\n async getNodeText(nodes: KodexaWorkerNode[]): Promise<string> {\n this.checkDisposed();\n const sortedNodes = await this.getSpatiallySortedNodes(nodes);\n const texts = sortedNodes.map(node => node.content);\n return texts.join(' ');\n }\n\n /**\n * Get nodes sorted by spatial position (Y then X).\n * Implemented in TypeScript by getting bboxes and sorting.\n */\n async getSpatiallySortedNodes(nodes: KodexaWorkerNode[]): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n\n // Get bboxes for all nodes\n const nodesWithBbox = await Promise.all(\n nodes.map(async (node) => ({\n node,\n bbox: await node.getBBox()\n }))\n );\n\n return nodesWithBbox\n .sort((a, b) => {\n if (!a.bbox) return 1;\n if (!b.bbox) return -1;\n // Sort by Y first, then X (with 5 pixel tolerance for same line)\n const yDiff = (a.bbox.y1 ?? 0) - (b.bbox.y1 ?? 0);\n if (Math.abs(yDiff) > 5) {\n return yDiff;\n }\n return (a.bbox.x1 ?? 0) - (b.bbox.x1 ?? 0);\n })\n .map(item => item.node);\n }\n\n /**\n * Get nodes by tag IDs for given prefixes.\n * Uses documentGetTagsByPrefix to iterate through prefixes and build the result map.\n */\n async getNodesByTagIDsForPrefixes(prefixes: string[]): Promise<Map<number, { tagName: string; nodes: KodexaWorkerNode[]; tagData: unknown[] }>> {\n this.checkDisposed();\n const result = new Map<number, { tagName: string; nodes: KodexaWorkerNode[]; tagData: unknown[] }>();\n\n if (!prefixes || prefixes.length === 0) {\n return result;\n }\n\n for (const prefix of prefixes) {\n const resultJson = await this.worker.call<string>('documentGetTagsByPrefix', this.docRef, prefix);\n const tagData = this.parseJson(resultJson) as Array<{\n tagId: number;\n tagName: string;\n tagData: unknown;\n nodeRef?: number;\n nodeId?: number;\n nodeType?: string;\n nodeContent?: string;\n }> | null;\n\n if (Array.isArray(tagData)) {\n for (const entry of tagData) {\n const tagId = entry.tagId;\n if (tagId === undefined) continue;\n\n if (!result.has(tagId)) {\n result.set(tagId, {\n tagName: entry.tagName,\n tagData: [],\n nodes: []\n });\n }\n\n const group = result.get(tagId)!;\n if (entry.tagData) {\n (group.tagData as unknown[]).push(entry.tagData);\n }\n\n // Build node data from the entry\n if (entry.nodeRef && entry.nodeId !== undefined) {\n const nodeData: WorkerNodeData = {\n nodeRef: entry.nodeRef,\n id: entry.nodeId,\n type: entry.nodeType || '',\n content: entry.nodeContent || '',\n };\n group.nodes.push(new KodexaWorkerNode(this.worker, nodeData));\n }\n }\n }\n }\n\n return result;\n }\n\n // ============================================================================\n // Blob Conversion\n // ============================================================================\n\n /**\n * Convert document to a Blob (wrapper around toKddbBytes).\n */\n async toBlob(): Promise<Blob> {\n const bytes = await this.toKddbBytes();\n return new Blob([bytes as unknown as BlobPart], { type: 'application/octet-stream' });\n }\n\n // ============================================================================\n // Tagged Nodes\n // ============================================================================\n\n /**\n * Get all tagged nodes, optionally filtered by tag prefixes.\n */\n async getTaggedNodes(tagPrefixes?: string[]): Promise<KodexaWorkerNode[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentGetAllTaggedNodes',\n this.docRef,\n tagPrefixes ? JSON.stringify(tagPrefixes) : null\n );\n const results = this.parseJson(resultJson) as WorkerNodeData[];\n if (!results || !Array.isArray(results)) {\n return [];\n }\n return results.map(data => new KodexaWorkerNode(this.worker, data));\n }\n\n // ============================================================================\n // Extraction Engine\n // ============================================================================\n\n /**\n * Run extraction on the document using the provided taxonomies.\n * This is a high-level method that creates an engine, runs extraction, and cleans up.\n *\n * @param taxonomies Array of taxonomy objects\n * @returns Object with extraction results including data object count and validations\n */\n async runExtraction(taxonomies: unknown[]): Promise<{\n dataObjectCount: number;\n contentExceptions: ContentException[];\n validations: unknown[];\n }> {\n this.checkDisposed();\n\n // Create extraction engine\n const taxonomiesJson = JSON.stringify(taxonomies);\n const engineRef = await this.worker.createExtractionEngine(this.docRef, taxonomiesJson);\n\n if (engineRef === 0) {\n throw new Error('Failed to create extraction engine');\n }\n\n try {\n // Run extraction and save\n const dataObjectCount = await this.worker.processAndSaveExtraction(engineRef);\n\n if (dataObjectCount === -1) {\n throw new Error('Extraction failed');\n }\n\n // Get content exceptions\n const exceptionsJson = await this.worker.getExtractionContentExceptions(engineRef);\n const contentExceptions = (this.parseJson(exceptionsJson) as ContentException[]) || [];\n\n // Get validations\n const validationsJson = await this.worker.getExtractionValidations(engineRef);\n const validations = (this.parseJson(validationsJson) as unknown[]) || [];\n\n return {\n dataObjectCount,\n contentExceptions,\n validations\n };\n } finally {\n // Always free the extraction engine\n await this.worker.freeExtractionEngine(engineRef);\n }\n }\n\n // ============================================================================\n // Delta Tracking\n // ============================================================================\n\n /**\n * Start tracking changes to this document.\n *\n * All modifications (ADD, MOD, DEL) to the document after this call\n * will be captured until stopDeltaTracking() or cancelDeltaTracking() is called.\n *\n * @param username - Optional username for the tracking session\n * @param comment - Optional comment describing the purpose of tracking\n * @returns The newly created delta session\n */\n async startDeltaTracking(username?: string, comment?: string): Promise<DeltaSession> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentStartDeltaTracking',\n this.docRef,\n username || '',\n comment || ''\n );\n const session = this.parseJson(resultJson) as DeltaSession | null;\n if (!session) {\n throw new Error('Failed to start delta tracking');\n }\n return session;\n }\n\n /**\n * Stop tracking changes and complete the delta session.\n *\n * After stopping, the tracked changes can be exported using exportDelta() or exportDeltaBytes().\n *\n * @returns The completed delta session with end revision info\n */\n async stopDeltaTracking(): Promise<DeltaSession> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentStopDeltaTracking', this.docRef);\n const session = this.parseJson(resultJson) as DeltaSession | null;\n if (!session) {\n throw new Error('Failed to stop delta tracking');\n }\n return session;\n }\n\n /**\n * Cancel the current tracking session and discard all tracked changes.\n *\n * @returns true if cancellation was successful\n */\n async cancelDeltaTracking(): Promise<boolean> {\n this.checkDisposed();\n return this.worker.call<boolean>('documentCancelDeltaTracking', this.docRef);\n }\n\n /**\n * Get the currently active delta session, if any.\n *\n * @returns The active session or null if no tracking is in progress\n */\n async getActiveDeltaSession(): Promise<DeltaSession | null> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string | null>('documentGetActiveDeltaSession', this.docRef);\n if (!resultJson || resultJson === 'null') {\n return null;\n }\n return this.parseJson(resultJson) as DeltaSession | null;\n }\n\n /**\n * Get the current delta tracking status.\n *\n * @param includeDetails - If true, includes detailed operation breakdown (for debugging)\n * @returns Status including whether tracking is active and session details\n */\n async getDeltaStatus(includeDetails?: boolean): Promise<DeltaStatus> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>('documentGetDeltaStatus', this.docRef, includeDetails ?? false);\n const status = this.parseJson(resultJson) as DeltaStatus | null;\n return status || { active: false };\n }\n\n /**\n * List all delta sessions for this document.\n *\n * @param statusFilter - Optional filter by status ('active', 'completed', 'cancelled')\n * @returns Array of delta sessions\n */\n async listDeltaSessions(statusFilter?: string): Promise<DeltaSession[]> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string>(\n 'documentListDeltaSessions',\n this.docRef,\n statusFilter || ''\n );\n const sessions = this.parseJson(resultJson) as DeltaSession[];\n return Array.isArray(sessions) ? sessions : [];\n }\n\n /**\n * Export the most recent completed delta as metadata.\n *\n * This returns delta information without the full binary data.\n * Use exportDeltaBytes() to get the full serialized delta for transfer.\n *\n * @returns Delta metadata including operation count and revision info\n */\n async exportDelta(): Promise<Delta> {\n this.checkDisposed();\n const resultJson = await this.worker.call<string | null>('documentExportDelta', this.docRef);\n if (!resultJson) {\n throw new Error('Failed to export delta');\n }\n const delta = this.parseJson(resultJson) as Delta | null;\n if (!delta) {\n throw new Error('Failed to export delta');\n }\n return delta;\n }\n\n /**\n * Export the most recent completed delta as binary data.\n *\n * Returns the delta in KDDB binary format (magic number: 0x4B444442).\n * This can be transferred and imported to another document.\n *\n * @returns Uint8Array containing the serialized delta\n */\n async exportDeltaBytes(): Promise<Uint8Array> {\n this.checkDisposed();\n const base64 = await this.worker.call<string>('documentExportDeltaBytes', this.docRef);\n if (!base64) {\n throw new Error('Failed to export delta bytes');\n }\n // Decode base64 to Uint8Array\n const binaryString = atob(base64);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n\n /**\n * Import a delta from binary data.\n *\n * This parses and validates the delta but does not apply it.\n * Use applyDelta() to apply the imported delta to the document.\n *\n * @param data - Uint8Array containing serialized delta (from exportDeltaBytes)\n * @returns Imported delta metadata\n */\n async importDelta(data: Uint8Array): Promise<Delta> {\n this.checkDisposed();\n // Encode to base64 for transfer\n let binary = '';\n for (let i = 0; i < data.length; i++) {\n binary += String.fromCharCode(data[i]);\n }\n const base64 = btoa(binary);\n const resultJson = await this.worker.call<string | null>('documentImportDelta', this.docRef, base64);\n if (!resultJson) {\n throw new Error('Failed to import delta');\n }\n const delta = this.parseJson(resultJson) as Delta | null;\n if (!delta) {\n throw new Error('Failed to import delta');\n }\n return delta;\n }\n\n // ============================================================================\n // Lifecycle\n // ============================================================================\n\n /**\n * Dispose of the document and free resources.\n */\n async dispose(): Promise<void> {\n if (this.disposed) {\n return;\n }\n this.disposed = true;\n await this.worker.call('freeDocument', this.docRef);\n }\n\n /**\n * Alias for dispose() for compatibility.\n */\n async destroy(): Promise<void> {\n return this.dispose();\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodexa-ai/document-wasm-ts",
|
|
3
|
-
"version": "2026.3.0-develop-
|
|
3
|
+
"version": "2026.3.0-develop-22778510740",
|
|
4
4
|
"description": "TypeScript WASM wrapper for high-performance Kodexa Document processing using Go backend",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|