@kodexa-ai/document-wasm-ts 8.0.0-develop-20908841085 → 8.0.0-develop-20911804805

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.
@@ -314,7 +314,9 @@ var require_kodexa_shared_worker = __commonJS({
314
314
  }
315
315
  function broadcastToSubscribers(docRef, eventType, detail) {
316
316
  const subscribers = documentSubscriptions.get(docRef);
317
+ console.log(`[shared-worker] broadcastToSubscribers called docRef=${docRef} eventType=${eventType} subscriberCount=${subscribers?.size ?? 0}`);
317
318
  if (!subscribers || subscribers.size === 0) {
319
+ console.log(`[shared-worker] No subscribers for document ${docRef}, event not broadcast`);
318
320
  return;
319
321
  }
320
322
  const message = {
@@ -327,10 +329,14 @@ var require_kodexa_shared_worker = __commonJS({
327
329
  const port = ports.get(portId);
328
330
  if (port) {
329
331
  try {
332
+ console.log(`[shared-worker] Posting wasmEvent to port ${portId}`);
330
333
  port.postMessage(message);
334
+ console.log(`[shared-worker] Posted wasmEvent to port ${portId} successfully`);
331
335
  } catch (error) {
332
336
  console.error(`[shared-worker] Error posting to port ${portId}:`, error);
333
337
  }
338
+ } else {
339
+ console.warn(`[shared-worker] Port ${portId} not found in ports map, cannot send event`);
334
340
  }
335
341
  }
336
342
  }
@@ -349,76 +355,42 @@ var require_kodexa_shared_worker = __commonJS({
349
355
  function setupEventForwarding() {
350
356
  const documentShim = {
351
357
  addEventListener: (type, handler) => {
352
- console.log(`[shared-worker] Event listener registered for: ${type}`);
353
- self.addEventListener(type, handler);
358
+ console.log(`[shared-worker] Event listener registered for: ${type} (handled in dispatchEvent)`);
354
359
  },
355
360
  removeEventListener: (type, handler) => {
356
- self.removeEventListener(type, handler);
357
361
  },
358
362
  dispatchEvent: (event) => {
359
- self.dispatchEvent(event);
360
- if (event instanceof CustomEvent) {
361
- const detail = event.detail;
362
- const docRef = detail?.docRef;
363
- if (docRef !== void 0) {
364
- broadcastToSubscribers(docRef, event.type, event.detail);
365
- } else {
366
- broadcastToAll({
367
- type: "wasmEvent",
368
- eventType: event.type,
369
- detail: event.detail
370
- });
371
- }
372
- }
373
- return true;
374
- },
375
- createElement: () => null,
376
- body: null,
377
- documentElement: null
378
- };
379
- self.document = documentShim;
380
- self.addEventListener("kodexaDataChange", (event) => {
381
- if (event instanceof CustomEvent) {
382
- let docRef;
383
- try {
384
- const parsed = typeof event.detail === "string" ? JSON.parse(event.detail) : event.detail;
385
- docRef = parsed?.documentRef;
386
- } catch (e) {
387
- console.warn("[shared-worker] Failed to parse kodexaDataChange detail:", e);
388
- }
389
- if (docRef !== void 0) {
390
- broadcastToSubscribers(docRef, "kodexaDataChange", event.detail);
391
- } else {
392
- broadcastToAll({
393
- type: "wasmEvent",
394
- eventType: "kodexaDataChange",
395
- detail: event.detail
396
- });
363
+ if (!(event instanceof CustomEvent)) {
364
+ return true;
397
365
  }
398
- }
399
- });
400
- self.addEventListener("kodexaTagChange", (event) => {
401
- if (event instanceof CustomEvent) {
402
- let docRef;
366
+ const eventType = event.type;
367
+ const rawDetail = event.detail;
368
+ let parsedDetail;
403
369
  try {
404
- const parsed = typeof event.detail === "string" ? JSON.parse(event.detail) : event.detail;
405
- docRef = parsed?.documentRef;
406
- console.log("[shared-worker] kodexaTagChange received", { docRef, eventType: parsed?.eventType, tagName: parsed?.tagName });
370
+ parsedDetail = typeof rawDetail === "string" ? JSON.parse(rawDetail) : rawDetail;
407
371
  } catch (e) {
408
- console.warn("[shared-worker] Failed to parse kodexaTagChange detail:", e);
372
+ console.warn(`[shared-worker] Failed to parse ${eventType} detail:`, e);
373
+ parsedDetail = rawDetail;
409
374
  }
375
+ const docRef = parsedDetail?.documentRef;
376
+ console.log(`[shared-worker] dispatchEvent: ${eventType}`, { docRef, eventType: parsedDetail?.eventType });
410
377
  if (docRef !== void 0) {
411
- broadcastToSubscribers(docRef, "kodexaTagChange", event.detail);
378
+ broadcastToSubscribers(docRef, eventType, parsedDetail);
412
379
  } else {
413
380
  broadcastToAll({
414
381
  type: "wasmEvent",
415
- eventType: "kodexaTagChange",
416
- detail: event.detail
382
+ eventType,
383
+ detail: parsedDetail
417
384
  });
418
385
  }
419
- }
420
- });
421
- console.log("[shared-worker] Event forwarding configured");
386
+ return true;
387
+ },
388
+ createElement: () => null,
389
+ body: null,
390
+ documentElement: null
391
+ };
392
+ self.document = documentShim;
393
+ console.log("[shared-worker] Event forwarding configured (simplified architecture)");
422
394
  }
423
395
  async function initializeSqlJs() {
424
396
  const sqlJsUrl = "https://sql.js.org/dist/sql-wasm.js";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/wasm/sqljs-core.ts", "../src/worker/kodexa-shared-worker.ts"],
4
- "sourcesContent": ["/**\n * Core sql.js bridge operations - shared between environments\n *\n * This module contains all the database operations that are common between\n * the npm package (sqljs-bridge.ts) and browser CDN (browser-bridge.ts) implementations.\n *\n * The SQL instance is passed in from the wrapper modules, allowing them to\n * load sql.js in different ways (npm import vs CDN global).\n */\n\n// Database handle management\nconst databases = new Map<number, any>();\nlet nextHandle = 1;\n\n// Store SQL instance reference for operations that need it\nlet sqlInstance: any = null;\n\n/**\n * Convert Uint8Array to base64 string efficiently.\n * Uses chunked processing to handle large arrays without stack overflow.\n * @param bytes Uint8Array to convert\n * @returns Base64 encoded string\n */\nfunction uint8ArrayToBase64(bytes: Uint8Array): string {\n // For small arrays, use the simple method\n if (bytes.length < 32768) {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n // For large arrays, process in chunks to avoid stack overflow\n const chunkSize = 32768;\n let binary = '';\n for (let i = 0; i < bytes.length; i += chunkSize) {\n const chunk = bytes.subarray(i, Math.min(i + chunkSize, bytes.length));\n binary += String.fromCharCode.apply(null, Array.from(chunk));\n }\n return btoa(binary);\n}\n\n/**\n * Convert a row object for JSON serialization.\n * Converts Uint8Array (BLOB) to base64-encoded string with \"base64:\" prefix.\n * @param obj Row object from sql.js\n * @returns Object safe for JSON.stringify\n */\nfunction processRowForJson(obj: Record<string, any>): Record<string, any> {\n const result: Record<string, any> = {};\n for (const key in obj) {\n const value = obj[key];\n if (value instanceof Uint8Array) {\n // Convert BLOB to base64 with prefix for Go to recognize\n try {\n const base64 = uint8ArrayToBase64(value);\n result[key] = 'base64:' + base64;\n } catch (err) {\n console.error(`[sql.js] Failed to convert BLOB column '${key}' (${value.length} bytes):`, err);\n result[key] = null;\n }\n } else {\n result[key] = value;\n }\n }\n return result;\n}\n\n// ============================================================================\n// Database Operations\n// ============================================================================\n\n/**\n * Create a new in-memory database\n * @returns Database handle (positive integer) or 0 on error\n */\nexport function createDatabaseOp(): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n const db = new sqlInstance.Database();\n const handle = nextHandle++;\n databases.set(handle, db);\n console.log(`[sql.js] Created database with handle ${handle}`);\n return handle;\n } catch (error) {\n console.error('[sql.js] Failed to create database:', error);\n return 0;\n }\n}\n\n/**\n * Execute SQL statement without returning results\n * @param handle Database handle\n * @param sql SQL statement\n * @returns 1 on success, 0 on error\n */\nexport function execOp(handle: number, sql: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return 0;\n }\n\n try {\n db.run(sql);\n return 1;\n } catch (error) {\n console.error('[sql.js] Exec failed:', error);\n return 0;\n }\n}\n\n/**\n * Execute SQL query with parameters and return results as JSON\n * @param handle Database handle\n * @param sql SQL query with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns JSON string of results (array of objects) or empty string on error\n */\nexport function queryOp(handle: number, sql: string, paramsJson: string): string {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return '[]';\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute query\n const stmt = db.prepare(sql);\n if (params.length > 0) {\n stmt.bind(params);\n }\n\n // Collect results - convert Uint8Array to base64 for Go\n const results: any[] = [];\n while (stmt.step()) {\n results.push(processRowForJson(stmt.getAsObject()));\n }\n stmt.free();\n\n return JSON.stringify(results);\n } catch (error) {\n console.error('[sql.js] Query failed:', sql, error);\n return '[]';\n }\n}\n\n/**\n * Execute INSERT statement and return the last inserted row ID\n * @param handle Database handle\n * @param sql INSERT statement with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns Last insert row ID or 0 on error\n */\nexport function insertOp(handle: number, sql: string, paramsJson: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return 0;\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute insert\n if (params.length > 0) {\n db.run(sql, params);\n } else {\n db.run(sql);\n }\n\n // Get last insert row ID\n const result = db.exec('SELECT last_insert_rowid() as id');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0] as number;\n }\n return 0;\n } catch (error) {\n console.error('[sql.js] Insert failed:', sql, error);\n return 0;\n }\n}\n\n/**\n * Execute UPDATE/DELETE statement and return rows affected\n * @param handle Database handle\n * @param sql UPDATE or DELETE statement with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns Number of rows affected or -1 on error\n */\nexport function execParamsOp(handle: number, sql: string, paramsJson: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return -1;\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute statement\n if (params.length > 0) {\n db.run(sql, params);\n } else {\n db.run(sql);\n }\n\n // Get rows affected\n const result = db.exec('SELECT changes() as count');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0] as number;\n }\n return 0;\n } catch (error) {\n console.error('[sql.js] ExecParams failed:', sql, error);\n return -1;\n }\n}\n\n/**\n * Export database to binary format\n * @param handle Database handle\n * @returns Base64-encoded database bytes or empty string on error\n */\nexport function exportOp(handle: number): string {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return '';\n }\n\n try {\n const data = db.export();\n // Use chunked base64 conversion for potentially large databases\n return uint8ArrayToBase64(data);\n } catch (error) {\n console.error('[sql.js] Export failed:', error);\n return '';\n }\n}\n\n/**\n * Import database from binary format\n * @param base64Data Base64-encoded database bytes\n * @returns Database handle or 0 on error\n */\nexport function importOp(base64Data: string): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n // Decode base64 to Uint8Array\n const binary = atob(base64Data);\n const data = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n data[i] = binary.charCodeAt(i);\n }\n\n const db = new sqlInstance.Database(data);\n const handle = nextHandle++;\n databases.set(handle, db);\n console.log(`[sql.js] Imported database with handle ${handle}`);\n return handle;\n } catch (error) {\n console.error('[sql.js] Import failed:', error);\n return 0;\n }\n}\n\n/**\n * Load database directly from bytes\n * @param bytes Raw database bytes\n * @returns Database handle or 0 on error\n */\nexport function loadDirectOp(bytes: Uint8Array): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n const db = new sqlInstance.Database(bytes);\n const handle = nextHandle++;\n databases.set(handle, db);\n return handle;\n } catch (error) {\n console.error('[sql.js] Failed to load database directly:', error);\n return 0;\n }\n}\n\n/**\n * Close a database\n * @param handle Database handle\n */\nexport function closeOp(handle: number): void {\n const db = databases.get(handle);\n if (db) {\n try {\n db.close();\n } catch (error) {\n console.error('[sql.js] Close failed:', error);\n }\n databases.delete(handle);\n console.log(`[sql.js] Closed database with handle ${handle}`);\n }\n}\n\n/**\n * Get last error message (for debugging)\n * @param _handle Database handle\n * @returns Error message or empty string\n */\nexport function getErrorOp(_handle: number): string {\n // sql.js throws exceptions rather than storing error messages\n // This is a placeholder for API compatibility\n return '';\n}\n\n/**\n * Cleanup all databases and reset state\n */\nexport function cleanupOp(): void {\n for (const [_handle, db] of databases) {\n try {\n db.close();\n } catch (_e) {\n // Ignore close errors during cleanup\n }\n }\n databases.clear();\n nextHandle = 1;\n console.log('[sql.js] Cleaned up all databases');\n}\n\n// ============================================================================\n// Bridge Exposure\n// ============================================================================\n\n/**\n * Set the SQL instance for database operations\n * Must be called before any database operations\n */\nexport function setSqlInstance(SQL: any): void {\n sqlInstance = SQL;\n}\n\n/**\n * Expose sql.js bridge functions to globalThis for Go WASM access\n */\nexport function exposeBridgeFunctions(): void {\n const g = globalThis as any;\n\n g.sqljsCreateDatabase = createDatabaseOp;\n g.sqljsExec = execOp;\n g.sqljsQuery = queryOp;\n g.sqljsInsert = insertOp;\n g.sqljsExecParams = execParamsOp;\n g.sqljsExport = exportOp;\n g.sqljsImport = importOp;\n g.sqljsClose = closeOp;\n g.sqljsGetError = getErrorOp;\n g.sqljsLoadDirect = loadDirectOp;\n\n // Also expose database map for debugging\n g.sqljsDatabases = databases;\n\n console.log('[sql.js] Bridge functions exposed to globalThis');\n}\n\n/**\n * Get a database by handle (for debugging from console)\n */\nexport function getDatabase(handle: number): any {\n return databases.get(handle);\n}\n", "/**\n * Kodexa SharedWorker Entry Point\n *\n * This SharedWorker owns the Go WASM instance and exposes an RPC-style API\n * via MessagePort. Multiple tabs/windows can connect and share the same\n * WASM instance and documents, with events broadcast to all interested ports.\n *\n * Key differences from dedicated worker:\n * - Uses onconnect to handle multiple port connections\n * - Tracks document subscriptions per port for event broadcasting\n * - Reference counts documents to know when to clean up\n *\n * Initialization order (critical):\n * 1. sql.js WASM loaded and bridge exposed to globalThis\n * 2. wasm_exec.js loaded (defines globalThis.Go)\n * 3. kodexa.wasm instantiated and Go runtime started\n * 4. Worker signals 'ready' to each connected port\n */\n\n/// <reference lib=\"webworker\" />\n\nimport type {\n WorkerConfig,\n WorkerErrorMessage,\n WorkerWasmEventMessage,\n SharedWorkerRequest,\n SharedWorkerResponse,\n SharedWorkerReadyMessage,\n SharedWorkerInboundMessage,\n} from './types';\nimport { setSqlInstance, exposeBridgeFunctions, loadDirectOp } from '../wasm/sqljs-core';\n\ndeclare const self: SharedWorkerGlobalScope;\n\n// ============================================================================\n// Port Management\n// ============================================================================\n\n/** Connected ports by ID */\nconst ports = new Map<string, MessagePort>();\n\n/** Counter for generating unique port IDs */\nlet nextPortId = 1;\n\n/** Generate a unique port ID */\nfunction generatePortId(): string {\n return `port_${nextPortId++}_${Date.now()}`;\n}\n\n// ============================================================================\n// Document State Management\n// ============================================================================\n\n/** Track which ports are subscribed to which documents for event broadcasting */\nconst documentSubscriptions = new Map<number, Set<string>>(); // docRef -> Set<portId>\n\n/** Track which ports are using which documents (for cleanup) */\nconst documentUsers = new Map<number, Set<string>>(); // docRef -> Set<portId>\n\n/**\n * Subscribe a port to document events.\n */\nfunction subscribeToDocument(docRef: number, portId: string): void {\n if (!documentSubscriptions.has(docRef)) {\n documentSubscriptions.set(docRef, new Set());\n }\n documentSubscriptions.get(docRef)!.add(portId);\n console.log(`[shared-worker] Port ${portId} subscribed to document ${docRef}`);\n}\n\n/**\n * Unsubscribe a port from document events.\n */\nfunction unsubscribeFromDocument(docRef: number, portId: string): void {\n const subscribers = documentSubscriptions.get(docRef);\n if (subscribers) {\n subscribers.delete(portId);\n if (subscribers.size === 0) {\n documentSubscriptions.delete(docRef);\n }\n console.log(`[shared-worker] Port ${portId} unsubscribed from document ${docRef}`);\n }\n}\n\n/**\n * Register a port as using a document (for reference counting).\n */\nfunction registerDocumentUser(docRef: number, portId: string): void {\n if (!documentUsers.has(docRef)) {\n documentUsers.set(docRef, new Set());\n }\n documentUsers.get(docRef)!.add(portId);\n}\n\n/**\n * Unregister a port from a document. Returns true if document should be freed.\n */\nfunction unregisterDocumentUser(docRef: number, portId: string): boolean {\n const users = documentUsers.get(docRef);\n if (users) {\n users.delete(portId);\n if (users.size === 0) {\n documentUsers.delete(docRef);\n return true; // No more users, safe to free\n }\n }\n return false;\n}\n\n/**\n * Cleanup all resources associated with a port.\n */\nfunction cleanupPort(portId: string): void {\n console.log(`[shared-worker] Cleaning up port ${portId}`);\n\n // Remove from all document subscriptions\n for (const [docRef, subscribers] of documentSubscriptions) {\n subscribers.delete(portId);\n if (subscribers.size === 0) {\n documentSubscriptions.delete(docRef);\n }\n }\n\n // Unregister from all document users\n for (const [docRef, users] of documentUsers) {\n users.delete(portId);\n if (users.size === 0) {\n // No ports using this document, free it\n console.log(`[shared-worker] Freeing document ${docRef} - no more users`);\n try {\n const freeDocument = (self as any).freeDocument;\n if (typeof freeDocument === 'function') {\n freeDocument(docRef);\n }\n } catch (error) {\n console.error(`[shared-worker] Error freeing document ${docRef}:`, error);\n }\n documentUsers.delete(docRef);\n }\n }\n\n // Remove port\n ports.delete(portId);\n}\n\n// ============================================================================\n// Event Broadcasting\n// ============================================================================\n\n/**\n * Broadcast an event to all ports subscribed to a document.\n */\nfunction broadcastToSubscribers(docRef: number, eventType: string, detail: unknown): void {\n const subscribers = documentSubscriptions.get(docRef);\n if (!subscribers || subscribers.size === 0) {\n return;\n }\n\n const message: WorkerWasmEventMessage = {\n type: 'wasmEvent',\n eventType,\n detail,\n documentRef: docRef,\n };\n\n for (const portId of subscribers) {\n const port = ports.get(portId);\n if (port) {\n try {\n port.postMessage(message);\n } catch (error) {\n console.error(`[shared-worker] Error posting to port ${portId}:`, error);\n }\n }\n }\n}\n\n/**\n * Broadcast an event to ALL connected ports.\n */\nfunction broadcastToAll(message: unknown): void {\n for (const [portId, port] of ports) {\n try {\n port.postMessage(message);\n } catch (error) {\n console.error(`[shared-worker] Error posting to port ${portId}:`, error);\n }\n }\n}\n\n// ============================================================================\n// Worker State\n// ============================================================================\n\nlet initialized = false;\nlet initPromise: Promise<void> | null = null;\nlet config: WorkerConfig = {};\n\n// ============================================================================\n// Event Forwarding from WASM\n// ============================================================================\n\n/**\n * Set up event forwarding from WASM to connected ports.\n */\nfunction setupEventForwarding(): void {\n // Create a document shim for Go WASM to dispatch events\n const documentShim = {\n addEventListener: (type: string, handler: EventListener) => {\n console.log(`[shared-worker] Event listener registered for: ${type}`);\n self.addEventListener(type, handler);\n },\n removeEventListener: (type: string, handler: EventListener) => {\n self.removeEventListener(type, handler);\n },\n dispatchEvent: (event: Event) => {\n // Dispatch locally first\n self.dispatchEvent(event);\n\n // Forward to interested ports\n if (event instanceof CustomEvent) {\n const detail = event.detail as { docRef?: number } | undefined;\n const docRef = detail?.docRef;\n\n if (docRef !== undefined) {\n // Document-specific event - broadcast to subscribers\n broadcastToSubscribers(docRef, event.type, event.detail);\n } else {\n // Global event - broadcast to all ports\n broadcastToAll({\n type: 'wasmEvent',\n eventType: event.type,\n detail: event.detail,\n } as WorkerWasmEventMessage);\n }\n }\n return true;\n },\n createElement: () => null,\n body: null,\n documentElement: null,\n };\n\n (self as any).document = documentShim;\n\n // Direct listener for kodexaDataChange events\n self.addEventListener('kodexaDataChange', (event: Event) => {\n if (event instanceof CustomEvent) {\n // Parse the JSON string detail to extract documentRef\n let docRef: number | undefined;\n try {\n const parsed = typeof event.detail === 'string' ? JSON.parse(event.detail) : event.detail;\n docRef = parsed?.documentRef;\n } catch (e) {\n console.warn('[shared-worker] Failed to parse kodexaDataChange detail:', e);\n }\n\n if (docRef !== undefined) {\n broadcastToSubscribers(docRef, 'kodexaDataChange', event.detail);\n } else {\n broadcastToAll({\n type: 'wasmEvent',\n eventType: 'kodexaDataChange',\n detail: event.detail,\n } as WorkerWasmEventMessage);\n }\n }\n });\n\n // Direct listener for kodexaTagChange events (tag add/remove for spatial view)\n self.addEventListener('kodexaTagChange', (event: Event) => {\n if (event instanceof CustomEvent) {\n // Parse the JSON string detail to extract documentRef\n let docRef: number | undefined;\n try {\n const parsed = typeof event.detail === 'string' ? JSON.parse(event.detail) : event.detail;\n docRef = parsed?.documentRef;\n console.log('[shared-worker] kodexaTagChange received', { docRef, eventType: parsed?.eventType, tagName: parsed?.tagName });\n } catch (e) {\n console.warn('[shared-worker] Failed to parse kodexaTagChange detail:', e);\n }\n\n if (docRef !== undefined) {\n broadcastToSubscribers(docRef, 'kodexaTagChange', event.detail);\n } else {\n broadcastToAll({\n type: 'wasmEvent',\n eventType: 'kodexaTagChange',\n detail: event.detail,\n } as WorkerWasmEventMessage);\n }\n }\n });\n\n console.log('[shared-worker] Event forwarding configured');\n}\n\n// ============================================================================\n// WASM Loading (same as dedicated worker)\n// ============================================================================\n\nasync function initializeSqlJs(): Promise<void> {\n const sqlJsUrl = 'https://sql.js.org/dist/sql-wasm.js';\n const sqlWasmUrl = 'https://sql.js.org/dist/sql-wasm.wasm';\n\n try {\n const response = await fetch(sqlJsUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch sql-wasm.js: ${response.statusText}`);\n }\n const code = await response.text();\n\n const wrappedCode = `\n (function(module, exports) {\n ${code}\n return module.exports;\n })\n `;\n\n // eslint-disable-next-line no-eval\n const moduleFactory = eval(wrappedCode);\n const mockModule = { exports: {} as any };\n const initSqlJs = moduleFactory(mockModule, mockModule.exports);\n\n if (typeof initSqlJs !== 'function') {\n throw new Error('initSqlJs not found after loading sql-wasm.js');\n }\n\n const sqlConfig = {\n locateFile: () => sqlWasmUrl,\n };\n\n const SQL = await initSqlJs(sqlConfig);\n setSqlInstance(SQL);\n exposeBridgeFunctions();\n\n // Expose loadDocument function\n (self as any).loadDocument = (bytes: Uint8Array): number => {\n const handle = loadDirectOp(bytes);\n if (handle === 0) {\n console.error('[shared-worker] Failed to load database');\n return 0;\n }\n return (self as any).createDocumentFromHandle(handle);\n };\n\n console.log('[shared-worker] sql.js initialized from official CDN');\n } catch (error) {\n console.error('[shared-worker] Failed to initialize sql.js:', error);\n throw new Error(`Failed to initialize sql.js: ${error}`);\n }\n}\n\nasync function loadWasmExec(): Promise<void> {\n if ((self as any).Go) {\n return;\n }\n\n const baseUrl = config.wasmBaseUrl || self.location.origin;\n const wasmExecUrl = `${baseUrl}/wasm_exec.js`;\n\n try {\n const response = await fetch(wasmExecUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch wasm_exec.js: ${response.statusText}`);\n }\n const code = await response.text();\n // eslint-disable-next-line no-eval\n eval(code);\n console.log('[shared-worker] wasm_exec.js loaded');\n } catch (error) {\n throw new Error(`Failed to load wasm_exec.js: ${error}`);\n }\n}\n\nasync function loadGoWasm(): Promise<void> {\n const baseUrl = config.wasmBaseUrl || self.location.origin;\n // Add cache-busting version if provided\n const versionParam = config.wasmVersion ? `?v=${config.wasmVersion}` : '';\n const wasmUrl = `${baseUrl}/kodexa.wasm${versionParam}`;\n\n const response = await fetch(wasmUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch kodexa.wasm: ${response.statusText}`);\n }\n const wasmBytes = await response.arrayBuffer();\n\n const go = new (self as any).Go();\n const result = await WebAssembly.instantiate(wasmBytes, go.importObject);\n go.run(result.instance);\n\n const logLevel = config.logLevel || 'warn';\n if ((self as any).kodexa_setLogLevel) {\n (self as any).kodexa_setLogLevel(logLevel);\n }\n\n console.log('[shared-worker] Go WASM loaded');\n}\n\nasync function initialize(workerConfig?: WorkerConfig): Promise<void> {\n if (initialized) {\n return;\n }\n\n if (initPromise) {\n return initPromise;\n }\n\n config = workerConfig || {};\n\n initPromise = (async () => {\n try {\n setupEventForwarding();\n await initializeSqlJs();\n await loadWasmExec();\n await loadGoWasm();\n initialized = true;\n console.log('[shared-worker] Kodexa WASM fully initialized');\n } catch (error) {\n console.error('[shared-worker] Initialization failed:', error);\n throw error;\n }\n })();\n\n return initPromise;\n}\n\n// ============================================================================\n// Message Handling\n// ============================================================================\n\n/**\n * Handle RPC call from a port.\n */\nfunction handleCall(request: SharedWorkerRequest): SharedWorkerResponse {\n const { id, method, args, portId } = request;\n\n try {\n const fn = (self as any)[method];\n if (typeof fn !== 'function') {\n return {\n id,\n portId,\n success: false,\n error: `Function '${method}' not found on globalThis`,\n };\n }\n\n const result = fn(...(args || []));\n\n // Track document usage when creating/loading documents\n if (method === 'createDocument' || method === 'createDocumentFromText' ||\n method === 'createDocumentFromJson' || method === 'createDocumentFromKddbBytes' ||\n method === 'loadDocument') {\n if (typeof result === 'number' && result > 0) {\n registerDocumentUser(result, portId);\n }\n }\n\n // Track document disposal\n if (method === 'freeDocument' && args && args.length > 0) {\n const docRef = args[0] as number;\n const shouldFree = unregisterDocumentUser(docRef, portId);\n if (!shouldFree) {\n // Other ports still using this document, don't actually free it\n return { id, portId, success: true, result: undefined };\n }\n }\n\n return { id, portId, success: true, result };\n } catch (error) {\n return {\n id,\n portId,\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n}\n\n/**\n * Handle messages from a connected port.\n */\nfunction handlePortMessage(portId: string, port: MessagePort, event: MessageEvent<SharedWorkerInboundMessage>): void {\n const data = event.data;\n\n // Handle init message\n if ('type' in data && data.type === 'init') {\n (async () => {\n try {\n await initialize(data.config);\n const readyMessage: SharedWorkerReadyMessage = { type: 'ready', portId };\n port.postMessage(readyMessage);\n } catch (error) {\n const errorMessage: WorkerErrorMessage = {\n type: 'error',\n error: error instanceof Error ? error.message : String(error),\n };\n port.postMessage(errorMessage);\n }\n })();\n return;\n }\n\n // Handle subscription messages\n if ('type' in data && data.type === 'subscribe') {\n subscribeToDocument(data.docRef, portId);\n return;\n }\n\n if ('type' in data && data.type === 'unsubscribe') {\n unsubscribeFromDocument(data.docRef, portId);\n return;\n }\n\n // Handle RPC call\n if ('type' in data && data.type === 'call') {\n if (!initialized) {\n const response: SharedWorkerResponse = {\n id: (data as SharedWorkerRequest).id,\n portId,\n success: false,\n error: 'Worker not initialized. Send init message first.',\n };\n port.postMessage(response);\n return;\n }\n\n // Add portId to the request\n const request = { ...data, portId } as SharedWorkerRequest;\n const response = handleCall(request);\n port.postMessage(response);\n }\n}\n\n// ============================================================================\n// SharedWorker Connection Handler\n// ============================================================================\n\nself.onconnect = (event: MessageEvent) => {\n const port = event.ports[0];\n const portId = generatePortId();\n\n console.log(`[shared-worker] New port connected: ${portId}`);\n ports.set(portId, port);\n\n // Set up message handler for this port\n port.onmessage = (e) => handlePortMessage(portId, port, e);\n\n // Handle port closure (tab closed)\n // Note: Not all browsers reliably fire this event\n port.onmessageerror = () => {\n console.log(`[shared-worker] Port ${portId} message error, cleaning up`);\n cleanupPort(portId);\n };\n\n // Start the port\n port.start();\n\n // If already initialized, send ready immediately\n if (initialized) {\n const readyMessage: SharedWorkerReadyMessage = { type: 'ready', portId };\n port.postMessage(readyMessage);\n }\n\n // Send connected message so port knows its ID\n port.postMessage({ type: 'connected', portId });\n};\n\n// Log that shared worker is ready for connections\nconsole.log('[shared-worker] Kodexa SharedWorker ready for connections');\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * Core sql.js bridge operations - shared between environments\n *\n * This module contains all the database operations that are common between\n * the npm package (sqljs-bridge.ts) and browser CDN (browser-bridge.ts) implementations.\n *\n * The SQL instance is passed in from the wrapper modules, allowing them to\n * load sql.js in different ways (npm import vs CDN global).\n */\n\n// Database handle management\nconst databases = new Map<number, any>();\nlet nextHandle = 1;\n\n// Store SQL instance reference for operations that need it\nlet sqlInstance: any = null;\n\n/**\n * Convert Uint8Array to base64 string efficiently.\n * Uses chunked processing to handle large arrays without stack overflow.\n * @param bytes Uint8Array to convert\n * @returns Base64 encoded string\n */\nfunction uint8ArrayToBase64(bytes: Uint8Array): string {\n // For small arrays, use the simple method\n if (bytes.length < 32768) {\n let binary = '';\n for (let i = 0; i < bytes.length; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n\n // For large arrays, process in chunks to avoid stack overflow\n const chunkSize = 32768;\n let binary = '';\n for (let i = 0; i < bytes.length; i += chunkSize) {\n const chunk = bytes.subarray(i, Math.min(i + chunkSize, bytes.length));\n binary += String.fromCharCode.apply(null, Array.from(chunk));\n }\n return btoa(binary);\n}\n\n/**\n * Convert a row object for JSON serialization.\n * Converts Uint8Array (BLOB) to base64-encoded string with \"base64:\" prefix.\n * @param obj Row object from sql.js\n * @returns Object safe for JSON.stringify\n */\nfunction processRowForJson(obj: Record<string, any>): Record<string, any> {\n const result: Record<string, any> = {};\n for (const key in obj) {\n const value = obj[key];\n if (value instanceof Uint8Array) {\n // Convert BLOB to base64 with prefix for Go to recognize\n try {\n const base64 = uint8ArrayToBase64(value);\n result[key] = 'base64:' + base64;\n } catch (err) {\n console.error(`[sql.js] Failed to convert BLOB column '${key}' (${value.length} bytes):`, err);\n result[key] = null;\n }\n } else {\n result[key] = value;\n }\n }\n return result;\n}\n\n// ============================================================================\n// Database Operations\n// ============================================================================\n\n/**\n * Create a new in-memory database\n * @returns Database handle (positive integer) or 0 on error\n */\nexport function createDatabaseOp(): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n const db = new sqlInstance.Database();\n const handle = nextHandle++;\n databases.set(handle, db);\n console.log(`[sql.js] Created database with handle ${handle}`);\n return handle;\n } catch (error) {\n console.error('[sql.js] Failed to create database:', error);\n return 0;\n }\n}\n\n/**\n * Execute SQL statement without returning results\n * @param handle Database handle\n * @param sql SQL statement\n * @returns 1 on success, 0 on error\n */\nexport function execOp(handle: number, sql: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return 0;\n }\n\n try {\n db.run(sql);\n return 1;\n } catch (error) {\n console.error('[sql.js] Exec failed:', error);\n return 0;\n }\n}\n\n/**\n * Execute SQL query with parameters and return results as JSON\n * @param handle Database handle\n * @param sql SQL query with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns JSON string of results (array of objects) or empty string on error\n */\nexport function queryOp(handle: number, sql: string, paramsJson: string): string {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return '[]';\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute query\n const stmt = db.prepare(sql);\n if (params.length > 0) {\n stmt.bind(params);\n }\n\n // Collect results - convert Uint8Array to base64 for Go\n const results: any[] = [];\n while (stmt.step()) {\n results.push(processRowForJson(stmt.getAsObject()));\n }\n stmt.free();\n\n return JSON.stringify(results);\n } catch (error) {\n console.error('[sql.js] Query failed:', sql, error);\n return '[]';\n }\n}\n\n/**\n * Execute INSERT statement and return the last inserted row ID\n * @param handle Database handle\n * @param sql INSERT statement with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns Last insert row ID or 0 on error\n */\nexport function insertOp(handle: number, sql: string, paramsJson: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return 0;\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute insert\n if (params.length > 0) {\n db.run(sql, params);\n } else {\n db.run(sql);\n }\n\n // Get last insert row ID\n const result = db.exec('SELECT last_insert_rowid() as id');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0] as number;\n }\n return 0;\n } catch (error) {\n console.error('[sql.js] Insert failed:', sql, error);\n return 0;\n }\n}\n\n/**\n * Execute UPDATE/DELETE statement and return rows affected\n * @param handle Database handle\n * @param sql UPDATE or DELETE statement with ? placeholders\n * @param paramsJson JSON array of parameters\n * @returns Number of rows affected or -1 on error\n */\nexport function execParamsOp(handle: number, sql: string, paramsJson: string): number {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return -1;\n }\n\n try {\n // Parse parameters\n let params: any[] = [];\n if (paramsJson && paramsJson !== '[]' && paramsJson !== 'null') {\n params = JSON.parse(paramsJson);\n }\n\n // Execute statement\n if (params.length > 0) {\n db.run(sql, params);\n } else {\n db.run(sql);\n }\n\n // Get rows affected\n const result = db.exec('SELECT changes() as count');\n if (result.length > 0 && result[0].values.length > 0) {\n return result[0].values[0][0] as number;\n }\n return 0;\n } catch (error) {\n console.error('[sql.js] ExecParams failed:', sql, error);\n return -1;\n }\n}\n\n/**\n * Export database to binary format\n * @param handle Database handle\n * @returns Base64-encoded database bytes or empty string on error\n */\nexport function exportOp(handle: number): string {\n const db = databases.get(handle);\n if (!db) {\n console.error(`[sql.js] Invalid database handle: ${handle}`);\n return '';\n }\n\n try {\n const data = db.export();\n // Use chunked base64 conversion for potentially large databases\n return uint8ArrayToBase64(data);\n } catch (error) {\n console.error('[sql.js] Export failed:', error);\n return '';\n }\n}\n\n/**\n * Import database from binary format\n * @param base64Data Base64-encoded database bytes\n * @returns Database handle or 0 on error\n */\nexport function importOp(base64Data: string): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n // Decode base64 to Uint8Array\n const binary = atob(base64Data);\n const data = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n data[i] = binary.charCodeAt(i);\n }\n\n const db = new sqlInstance.Database(data);\n const handle = nextHandle++;\n databases.set(handle, db);\n console.log(`[sql.js] Imported database with handle ${handle}`);\n return handle;\n } catch (error) {\n console.error('[sql.js] Import failed:', error);\n return 0;\n }\n}\n\n/**\n * Load database directly from bytes\n * @param bytes Raw database bytes\n * @returns Database handle or 0 on error\n */\nexport function loadDirectOp(bytes: Uint8Array): number {\n if (!sqlInstance) {\n console.error('[sql.js] Not initialized');\n return 0;\n }\n\n try {\n const db = new sqlInstance.Database(bytes);\n const handle = nextHandle++;\n databases.set(handle, db);\n return handle;\n } catch (error) {\n console.error('[sql.js] Failed to load database directly:', error);\n return 0;\n }\n}\n\n/**\n * Close a database\n * @param handle Database handle\n */\nexport function closeOp(handle: number): void {\n const db = databases.get(handle);\n if (db) {\n try {\n db.close();\n } catch (error) {\n console.error('[sql.js] Close failed:', error);\n }\n databases.delete(handle);\n console.log(`[sql.js] Closed database with handle ${handle}`);\n }\n}\n\n/**\n * Get last error message (for debugging)\n * @param _handle Database handle\n * @returns Error message or empty string\n */\nexport function getErrorOp(_handle: number): string {\n // sql.js throws exceptions rather than storing error messages\n // This is a placeholder for API compatibility\n return '';\n}\n\n/**\n * Cleanup all databases and reset state\n */\nexport function cleanupOp(): void {\n for (const [_handle, db] of databases) {\n try {\n db.close();\n } catch (_e) {\n // Ignore close errors during cleanup\n }\n }\n databases.clear();\n nextHandle = 1;\n console.log('[sql.js] Cleaned up all databases');\n}\n\n// ============================================================================\n// Bridge Exposure\n// ============================================================================\n\n/**\n * Set the SQL instance for database operations\n * Must be called before any database operations\n */\nexport function setSqlInstance(SQL: any): void {\n sqlInstance = SQL;\n}\n\n/**\n * Expose sql.js bridge functions to globalThis for Go WASM access\n */\nexport function exposeBridgeFunctions(): void {\n const g = globalThis as any;\n\n g.sqljsCreateDatabase = createDatabaseOp;\n g.sqljsExec = execOp;\n g.sqljsQuery = queryOp;\n g.sqljsInsert = insertOp;\n g.sqljsExecParams = execParamsOp;\n g.sqljsExport = exportOp;\n g.sqljsImport = importOp;\n g.sqljsClose = closeOp;\n g.sqljsGetError = getErrorOp;\n g.sqljsLoadDirect = loadDirectOp;\n\n // Also expose database map for debugging\n g.sqljsDatabases = databases;\n\n console.log('[sql.js] Bridge functions exposed to globalThis');\n}\n\n/**\n * Get a database by handle (for debugging from console)\n */\nexport function getDatabase(handle: number): any {\n return databases.get(handle);\n}\n", "/**\n * Kodexa SharedWorker Entry Point\n *\n * This SharedWorker owns the Go WASM instance and exposes an RPC-style API\n * via MessagePort. Multiple tabs/windows can connect and share the same\n * WASM instance and documents, with events broadcast to all interested ports.\n *\n * Key differences from dedicated worker:\n * - Uses onconnect to handle multiple port connections\n * - Tracks document subscriptions per port for event broadcasting\n * - Reference counts documents to know when to clean up\n *\n * Initialization order (critical):\n * 1. sql.js WASM loaded and bridge exposed to globalThis\n * 2. wasm_exec.js loaded (defines globalThis.Go)\n * 3. kodexa.wasm instantiated and Go runtime started\n * 4. Worker signals 'ready' to each connected port\n */\n\n/// <reference lib=\"webworker\" />\n\nimport type {\n WorkerConfig,\n WorkerErrorMessage,\n WorkerWasmEventMessage,\n SharedWorkerRequest,\n SharedWorkerResponse,\n SharedWorkerReadyMessage,\n SharedWorkerInboundMessage,\n} from './types';\nimport { setSqlInstance, exposeBridgeFunctions, loadDirectOp } from '../wasm/sqljs-core';\n\ndeclare const self: SharedWorkerGlobalScope;\n\n// ============================================================================\n// Port Management\n// ============================================================================\n\n/** Connected ports by ID */\nconst ports = new Map<string, MessagePort>();\n\n/** Counter for generating unique port IDs */\nlet nextPortId = 1;\n\n/** Generate a unique port ID */\nfunction generatePortId(): string {\n return `port_${nextPortId++}_${Date.now()}`;\n}\n\n// ============================================================================\n// Document State Management\n// ============================================================================\n\n/** Track which ports are subscribed to which documents for event broadcasting */\nconst documentSubscriptions = new Map<number, Set<string>>(); // docRef -> Set<portId>\n\n/** Track which ports are using which documents (for cleanup) */\nconst documentUsers = new Map<number, Set<string>>(); // docRef -> Set<portId>\n\n/**\n * Subscribe a port to document events.\n */\nfunction subscribeToDocument(docRef: number, portId: string): void {\n if (!documentSubscriptions.has(docRef)) {\n documentSubscriptions.set(docRef, new Set());\n }\n documentSubscriptions.get(docRef)!.add(portId);\n console.log(`[shared-worker] Port ${portId} subscribed to document ${docRef}`);\n}\n\n/**\n * Unsubscribe a port from document events.\n */\nfunction unsubscribeFromDocument(docRef: number, portId: string): void {\n const subscribers = documentSubscriptions.get(docRef);\n if (subscribers) {\n subscribers.delete(portId);\n if (subscribers.size === 0) {\n documentSubscriptions.delete(docRef);\n }\n console.log(`[shared-worker] Port ${portId} unsubscribed from document ${docRef}`);\n }\n}\n\n/**\n * Register a port as using a document (for reference counting).\n */\nfunction registerDocumentUser(docRef: number, portId: string): void {\n if (!documentUsers.has(docRef)) {\n documentUsers.set(docRef, new Set());\n }\n documentUsers.get(docRef)!.add(portId);\n}\n\n/**\n * Unregister a port from a document. Returns true if document should be freed.\n */\nfunction unregisterDocumentUser(docRef: number, portId: string): boolean {\n const users = documentUsers.get(docRef);\n if (users) {\n users.delete(portId);\n if (users.size === 0) {\n documentUsers.delete(docRef);\n return true; // No more users, safe to free\n }\n }\n return false;\n}\n\n/**\n * Cleanup all resources associated with a port.\n */\nfunction cleanupPort(portId: string): void {\n console.log(`[shared-worker] Cleaning up port ${portId}`);\n\n // Remove from all document subscriptions\n for (const [docRef, subscribers] of documentSubscriptions) {\n subscribers.delete(portId);\n if (subscribers.size === 0) {\n documentSubscriptions.delete(docRef);\n }\n }\n\n // Unregister from all document users\n for (const [docRef, users] of documentUsers) {\n users.delete(portId);\n if (users.size === 0) {\n // No ports using this document, free it\n console.log(`[shared-worker] Freeing document ${docRef} - no more users`);\n try {\n const freeDocument = (self as any).freeDocument;\n if (typeof freeDocument === 'function') {\n freeDocument(docRef);\n }\n } catch (error) {\n console.error(`[shared-worker] Error freeing document ${docRef}:`, error);\n }\n documentUsers.delete(docRef);\n }\n }\n\n // Remove port\n ports.delete(portId);\n}\n\n// ============================================================================\n// Event Broadcasting\n// ============================================================================\n\n/**\n * Broadcast an event to all ports subscribed to a document.\n */\nfunction broadcastToSubscribers(docRef: number, eventType: string, detail: unknown): void {\n const subscribers = documentSubscriptions.get(docRef);\n console.log(`[shared-worker] broadcastToSubscribers called docRef=${docRef} eventType=${eventType} subscriberCount=${subscribers?.size ?? 0}`);\n if (!subscribers || subscribers.size === 0) {\n console.log(`[shared-worker] No subscribers for document ${docRef}, event not broadcast`);\n return;\n }\n\n const message: WorkerWasmEventMessage = {\n type: 'wasmEvent',\n eventType,\n detail,\n documentRef: docRef,\n };\n\n for (const portId of subscribers) {\n const port = ports.get(portId);\n if (port) {\n try {\n console.log(`[shared-worker] Posting wasmEvent to port ${portId}`);\n port.postMessage(message);\n console.log(`[shared-worker] Posted wasmEvent to port ${portId} successfully`);\n } catch (error) {\n console.error(`[shared-worker] Error posting to port ${portId}:`, error);\n }\n } else {\n console.warn(`[shared-worker] Port ${portId} not found in ports map, cannot send event`);\n }\n }\n}\n\n/**\n * Broadcast an event to ALL connected ports.\n */\nfunction broadcastToAll(message: unknown): void {\n for (const [portId, port] of ports) {\n try {\n port.postMessage(message);\n } catch (error) {\n console.error(`[shared-worker] Error posting to port ${portId}:`, error);\n }\n }\n}\n\n// ============================================================================\n// Worker State\n// ============================================================================\n\nlet initialized = false;\nlet initPromise: Promise<void> | null = null;\nlet config: WorkerConfig = {};\n\n// ============================================================================\n// Event Forwarding from WASM\n// ============================================================================\n\n/**\n * Set up event forwarding from WASM to connected ports.\n *\n * SIMPLIFIED ARCHITECTURE:\n * Go WASM calls document.dispatchEvent(CustomEvent) with JSON string detail.\n * We parse the JSON once here and broadcast directly to subscribers.\n * No intermediate self.dispatchEvent \u2192 addEventListener dance needed.\n */\nfunction setupEventForwarding(): void {\n // Create a document shim for Go WASM to dispatch events\n const documentShim = {\n addEventListener: (type: string, handler: EventListener) => {\n // Go WASM may register listeners, but we handle events directly in dispatchEvent\n console.log(`[shared-worker] Event listener registered for: ${type} (handled in dispatchEvent)`);\n },\n removeEventListener: (type: string, handler: EventListener) => {\n // No-op - we don't use addEventListener\n },\n dispatchEvent: (event: Event) => {\n // Handle CustomEvents from Go WASM directly - no intermediate dispatch needed\n if (!(event instanceof CustomEvent)) {\n return true;\n }\n\n const eventType = event.type;\n const rawDetail = event.detail;\n\n // Parse JSON detail once (Go sends it as a JSON string)\n let parsedDetail: any;\n try {\n parsedDetail = typeof rawDetail === 'string' ? JSON.parse(rawDetail) : rawDetail;\n } catch (e) {\n console.warn(`[shared-worker] Failed to parse ${eventType} detail:`, e);\n parsedDetail = rawDetail;\n }\n\n const docRef = parsedDetail?.documentRef;\n console.log(`[shared-worker] dispatchEvent: ${eventType}`, { docRef, eventType: parsedDetail?.eventType });\n\n if (docRef !== undefined) {\n // Document-specific event - broadcast to subscribers only\n // Pass the PARSED detail so UI doesn't need to parse again\n broadcastToSubscribers(docRef, eventType, parsedDetail);\n } else {\n // Global event - broadcast to all ports\n broadcastToAll({\n type: 'wasmEvent',\n eventType: eventType,\n detail: parsedDetail,\n } as WorkerWasmEventMessage);\n }\n\n return true;\n },\n createElement: () => null,\n body: null,\n documentElement: null,\n };\n\n (self as any).document = documentShim;\n\n console.log('[shared-worker] Event forwarding configured (simplified architecture)');\n}\n\n// ============================================================================\n// WASM Loading (same as dedicated worker)\n// ============================================================================\n\nasync function initializeSqlJs(): Promise<void> {\n const sqlJsUrl = 'https://sql.js.org/dist/sql-wasm.js';\n const sqlWasmUrl = 'https://sql.js.org/dist/sql-wasm.wasm';\n\n try {\n const response = await fetch(sqlJsUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch sql-wasm.js: ${response.statusText}`);\n }\n const code = await response.text();\n\n const wrappedCode = `\n (function(module, exports) {\n ${code}\n return module.exports;\n })\n `;\n\n // eslint-disable-next-line no-eval\n const moduleFactory = eval(wrappedCode);\n const mockModule = { exports: {} as any };\n const initSqlJs = moduleFactory(mockModule, mockModule.exports);\n\n if (typeof initSqlJs !== 'function') {\n throw new Error('initSqlJs not found after loading sql-wasm.js');\n }\n\n const sqlConfig = {\n locateFile: () => sqlWasmUrl,\n };\n\n const SQL = await initSqlJs(sqlConfig);\n setSqlInstance(SQL);\n exposeBridgeFunctions();\n\n // Expose loadDocument function\n (self as any).loadDocument = (bytes: Uint8Array): number => {\n const handle = loadDirectOp(bytes);\n if (handle === 0) {\n console.error('[shared-worker] Failed to load database');\n return 0;\n }\n return (self as any).createDocumentFromHandle(handle);\n };\n\n console.log('[shared-worker] sql.js initialized from official CDN');\n } catch (error) {\n console.error('[shared-worker] Failed to initialize sql.js:', error);\n throw new Error(`Failed to initialize sql.js: ${error}`);\n }\n}\n\nasync function loadWasmExec(): Promise<void> {\n if ((self as any).Go) {\n return;\n }\n\n const baseUrl = config.wasmBaseUrl || self.location.origin;\n const wasmExecUrl = `${baseUrl}/wasm_exec.js`;\n\n try {\n const response = await fetch(wasmExecUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch wasm_exec.js: ${response.statusText}`);\n }\n const code = await response.text();\n // eslint-disable-next-line no-eval\n eval(code);\n console.log('[shared-worker] wasm_exec.js loaded');\n } catch (error) {\n throw new Error(`Failed to load wasm_exec.js: ${error}`);\n }\n}\n\nasync function loadGoWasm(): Promise<void> {\n const baseUrl = config.wasmBaseUrl || self.location.origin;\n // Add cache-busting version if provided\n const versionParam = config.wasmVersion ? `?v=${config.wasmVersion}` : '';\n const wasmUrl = `${baseUrl}/kodexa.wasm${versionParam}`;\n\n const response = await fetch(wasmUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch kodexa.wasm: ${response.statusText}`);\n }\n const wasmBytes = await response.arrayBuffer();\n\n const go = new (self as any).Go();\n const result = await WebAssembly.instantiate(wasmBytes, go.importObject);\n go.run(result.instance);\n\n const logLevel = config.logLevel || 'warn';\n if ((self as any).kodexa_setLogLevel) {\n (self as any).kodexa_setLogLevel(logLevel);\n }\n\n console.log('[shared-worker] Go WASM loaded');\n}\n\nasync function initialize(workerConfig?: WorkerConfig): Promise<void> {\n if (initialized) {\n return;\n }\n\n if (initPromise) {\n return initPromise;\n }\n\n config = workerConfig || {};\n\n initPromise = (async () => {\n try {\n setupEventForwarding();\n await initializeSqlJs();\n await loadWasmExec();\n await loadGoWasm();\n initialized = true;\n console.log('[shared-worker] Kodexa WASM fully initialized');\n } catch (error) {\n console.error('[shared-worker] Initialization failed:', error);\n throw error;\n }\n })();\n\n return initPromise;\n}\n\n// ============================================================================\n// Message Handling\n// ============================================================================\n\n/**\n * Handle RPC call from a port.\n */\nfunction handleCall(request: SharedWorkerRequest): SharedWorkerResponse {\n const { id, method, args, portId } = request;\n\n try {\n const fn = (self as any)[method];\n if (typeof fn !== 'function') {\n return {\n id,\n portId,\n success: false,\n error: `Function '${method}' not found on globalThis`,\n };\n }\n\n const result = fn(...(args || []));\n\n // Track document usage when creating/loading documents\n if (method === 'createDocument' || method === 'createDocumentFromText' ||\n method === 'createDocumentFromJson' || method === 'createDocumentFromKddbBytes' ||\n method === 'loadDocument') {\n if (typeof result === 'number' && result > 0) {\n registerDocumentUser(result, portId);\n }\n }\n\n // Track document disposal\n if (method === 'freeDocument' && args && args.length > 0) {\n const docRef = args[0] as number;\n const shouldFree = unregisterDocumentUser(docRef, portId);\n if (!shouldFree) {\n // Other ports still using this document, don't actually free it\n return { id, portId, success: true, result: undefined };\n }\n }\n\n return { id, portId, success: true, result };\n } catch (error) {\n return {\n id,\n portId,\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n}\n\n/**\n * Handle messages from a connected port.\n */\nfunction handlePortMessage(portId: string, port: MessagePort, event: MessageEvent<SharedWorkerInboundMessage>): void {\n const data = event.data;\n\n // Handle init message\n if ('type' in data && data.type === 'init') {\n (async () => {\n try {\n await initialize(data.config);\n const readyMessage: SharedWorkerReadyMessage = { type: 'ready', portId };\n port.postMessage(readyMessage);\n } catch (error) {\n const errorMessage: WorkerErrorMessage = {\n type: 'error',\n error: error instanceof Error ? error.message : String(error),\n };\n port.postMessage(errorMessage);\n }\n })();\n return;\n }\n\n // Handle subscription messages\n if ('type' in data && data.type === 'subscribe') {\n subscribeToDocument(data.docRef, portId);\n return;\n }\n\n if ('type' in data && data.type === 'unsubscribe') {\n unsubscribeFromDocument(data.docRef, portId);\n return;\n }\n\n // Handle RPC call\n if ('type' in data && data.type === 'call') {\n if (!initialized) {\n const response: SharedWorkerResponse = {\n id: (data as SharedWorkerRequest).id,\n portId,\n success: false,\n error: 'Worker not initialized. Send init message first.',\n };\n port.postMessage(response);\n return;\n }\n\n // Add portId to the request\n const request = { ...data, portId } as SharedWorkerRequest;\n const response = handleCall(request);\n port.postMessage(response);\n }\n}\n\n// ============================================================================\n// SharedWorker Connection Handler\n// ============================================================================\n\nself.onconnect = (event: MessageEvent) => {\n const port = event.ports[0];\n const portId = generatePortId();\n\n console.log(`[shared-worker] New port connected: ${portId}`);\n ports.set(portId, port);\n\n // Set up message handler for this port\n port.onmessage = (e) => handlePortMessage(portId, port, e);\n\n // Handle port closure (tab closed)\n // Note: Not all browsers reliably fire this event\n port.onmessageerror = () => {\n console.log(`[shared-worker] Port ${portId} message error, cleaning up`);\n cleanupPort(portId);\n };\n\n // Start the port\n port.start();\n\n // If already initialized, send ready immediately\n if (initialized) {\n const readyMessage: SharedWorkerReadyMessage = { type: 'ready', portId };\n port.postMessage(readyMessage);\n }\n\n // Send connected message so port knows its ID\n port.postMessage({ type: 'connected', portId });\n};\n\n// Log that shared worker is ready for connections\nconsole.log('[shared-worker] Kodexa SharedWorker ready for connections');\n"],
5
+ "mappings": "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",
6
6
  "names": ["binary", "SQL", "baseUrl", "response"]
7
7
  }
package/dist/kodexa.wasm CHANGED
Binary file
@@ -228,6 +228,19 @@ export declare class KodexaSharedWorker {
228
228
  * @param docRef Document reference
229
229
  */
230
230
  freeRecalculationService(docRef: number): Promise<unknown>;
231
+ /**
232
+ * Force recalculation of all formulas for a document.
233
+ * This is useful for debugging or when formula values need to be refreshed.
234
+ *
235
+ * @param docRef Document reference
236
+ * @param taxonomyRef Optional taxonomy reference for multi-taxonomy documents
237
+ * @returns Object with success status and count of taxonomies recalculated
238
+ */
239
+ recalculateAll(docRef: number, taxonomyRef?: string): Promise<{
240
+ success: boolean;
241
+ taxonomiesRecalculated: number;
242
+ error?: string;
243
+ }>;
231
244
  /**
232
245
  * Get formula debug info for a formula evaluation.
233
246
  * Returns full AST debug tree with attribute references, taxon info, and intermediate results.
@@ -1 +1 @@
1
- {"version":3,"file":"KodexaSharedWorker.d.ts","sourceRoot":"","sources":["../../src/worker/KodexaSharedWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KodexaSharedWorker.d.ts","sourceRoot":"","sources":["../../src/worker/KodexaSharedWorker.ts"],"names":[],"mappings":"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"}
@@ -126,9 +126,11 @@ export class KodexaSharedWorker {
126
126
  */
127
127
  handleWasmEvent(message) {
128
128
  const { eventType, detail } = message;
129
+ console.log(`[KodexaSharedWorker] handleWasmEvent received eventType=${eventType} listenerCount=${this.eventListeners.size}`);
129
130
  // Notify all registered listeners
130
131
  for (const listener of this.eventListeners) {
131
132
  try {
133
+ console.log(`[KodexaSharedWorker] Calling listener for ${eventType}`);
132
134
  listener(eventType, detail);
133
135
  }
134
136
  catch (error) {
@@ -312,7 +314,9 @@ export class KodexaSharedWorker {
312
314
  * @returns Unsubscribe function
313
315
  */
314
316
  onWasmEvent(callback) {
317
+ console.log(`[KodexaSharedWorker] onWasmEvent: registering listener, current count=${this.eventListeners.size}`);
315
318
  this.eventListeners.add(callback);
319
+ console.log(`[KodexaSharedWorker] onWasmEvent: listener registered, new count=${this.eventListeners.size}`);
316
320
  return () => {
317
321
  this.eventListeners.delete(callback);
318
322
  };
@@ -407,6 +411,17 @@ export class KodexaSharedWorker {
407
411
  async freeRecalculationService(docRef) {
408
412
  return this.call('freeRecalculationService', docRef);
409
413
  }
414
+ /**
415
+ * Force recalculation of all formulas for a document.
416
+ * This is useful for debugging or when formula values need to be refreshed.
417
+ *
418
+ * @param docRef Document reference
419
+ * @param taxonomyRef Optional taxonomy reference for multi-taxonomy documents
420
+ * @returns Object with success status and count of taxonomies recalculated
421
+ */
422
+ async recalculateAll(docRef, taxonomyRef) {
423
+ return this.call('recalculateAll', docRef, taxonomyRef);
424
+ }
410
425
  // ============================================================================
411
426
  // Formula Debug Info (via Worker)
412
427
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"KodexaSharedWorker.js","sourceRoot":"","sources":["../../src/worker/KodexaSharedWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KodexaSharedWorker.js","sourceRoot":"","sources":["../../src/worker/KodexaSharedWorker.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,9 @@ function cleanupPort(portId) {
122
122
  */
123
123
  function broadcastToSubscribers(docRef, eventType, detail) {
124
124
  const subscribers = documentSubscriptions.get(docRef);
125
+ console.log(`[shared-worker] broadcastToSubscribers called docRef=${docRef} eventType=${eventType} subscriberCount=${subscribers?.size ?? 0}`);
125
126
  if (!subscribers || subscribers.size === 0) {
127
+ console.log(`[shared-worker] No subscribers for document ${docRef}, event not broadcast`);
126
128
  return;
127
129
  }
128
130
  const message = {
@@ -135,12 +137,17 @@ function broadcastToSubscribers(docRef, eventType, detail) {
135
137
  const port = ports.get(portId);
136
138
  if (port) {
137
139
  try {
140
+ console.log(`[shared-worker] Posting wasmEvent to port ${portId}`);
138
141
  port.postMessage(message);
142
+ console.log(`[shared-worker] Posted wasmEvent to port ${portId} successfully`);
139
143
  }
140
144
  catch (error) {
141
145
  console.error(`[shared-worker] Error posting to port ${portId}:`, error);
142
146
  }
143
147
  }
148
+ else {
149
+ console.warn(`[shared-worker] Port ${portId} not found in ports map, cannot send event`);
150
+ }
144
151
  }
145
152
  }
146
153
  /**
@@ -167,94 +174,61 @@ let config = {};
167
174
  // ============================================================================
168
175
  /**
169
176
  * Set up event forwarding from WASM to connected ports.
177
+ *
178
+ * SIMPLIFIED ARCHITECTURE:
179
+ * Go WASM calls document.dispatchEvent(CustomEvent) with JSON string detail.
180
+ * We parse the JSON once here and broadcast directly to subscribers.
181
+ * No intermediate self.dispatchEvent → addEventListener dance needed.
170
182
  */
171
183
  function setupEventForwarding() {
172
184
  // Create a document shim for Go WASM to dispatch events
173
185
  const documentShim = {
174
186
  addEventListener: (type, handler) => {
175
- console.log(`[shared-worker] Event listener registered for: ${type}`);
176
- self.addEventListener(type, handler);
187
+ // Go WASM may register listeners, but we handle events directly in dispatchEvent
188
+ console.log(`[shared-worker] Event listener registered for: ${type} (handled in dispatchEvent)`);
177
189
  },
178
190
  removeEventListener: (type, handler) => {
179
- self.removeEventListener(type, handler);
191
+ // No-op - we don't use addEventListener
180
192
  },
181
193
  dispatchEvent: (event) => {
182
- // Dispatch locally first
183
- self.dispatchEvent(event);
184
- // Forward to interested ports
185
- if (event instanceof CustomEvent) {
186
- const detail = event.detail;
187
- const docRef = detail?.docRef;
188
- if (docRef !== undefined) {
189
- // Document-specific event - broadcast to subscribers
190
- broadcastToSubscribers(docRef, event.type, event.detail);
191
- }
192
- else {
193
- // Global event - broadcast to all ports
194
- broadcastToAll({
195
- type: 'wasmEvent',
196
- eventType: event.type,
197
- detail: event.detail,
198
- });
199
- }
194
+ // Handle CustomEvents from Go WASM directly - no intermediate dispatch needed
195
+ if (!(event instanceof CustomEvent)) {
196
+ return true;
200
197
  }
201
- return true;
202
- },
203
- createElement: () => null,
204
- body: null,
205
- documentElement: null,
206
- };
207
- self.document = documentShim;
208
- // Direct listener for kodexaDataChange events
209
- self.addEventListener('kodexaDataChange', (event) => {
210
- if (event instanceof CustomEvent) {
211
- // Parse the JSON string detail to extract documentRef
212
- let docRef;
198
+ const eventType = event.type;
199
+ const rawDetail = event.detail;
200
+ // Parse JSON detail once (Go sends it as a JSON string)
201
+ let parsedDetail;
213
202
  try {
214
- const parsed = typeof event.detail === 'string' ? JSON.parse(event.detail) : event.detail;
215
- docRef = parsed?.documentRef;
203
+ parsedDetail = typeof rawDetail === 'string' ? JSON.parse(rawDetail) : rawDetail;
216
204
  }
217
205
  catch (e) {
218
- console.warn('[shared-worker] Failed to parse kodexaDataChange detail:', e);
206
+ console.warn(`[shared-worker] Failed to parse ${eventType} detail:`, e);
207
+ parsedDetail = rawDetail;
219
208
  }
209
+ const docRef = parsedDetail?.documentRef;
210
+ console.log(`[shared-worker] dispatchEvent: ${eventType}`, { docRef, eventType: parsedDetail?.eventType });
220
211
  if (docRef !== undefined) {
221
- broadcastToSubscribers(docRef, 'kodexaDataChange', event.detail);
212
+ // Document-specific event - broadcast to subscribers only
213
+ // Pass the PARSED detail so UI doesn't need to parse again
214
+ broadcastToSubscribers(docRef, eventType, parsedDetail);
222
215
  }
223
216
  else {
217
+ // Global event - broadcast to all ports
224
218
  broadcastToAll({
225
219
  type: 'wasmEvent',
226
- eventType: 'kodexaDataChange',
227
- detail: event.detail,
220
+ eventType: eventType,
221
+ detail: parsedDetail,
228
222
  });
229
223
  }
230
- }
231
- });
232
- // Direct listener for kodexaTagChange events (tag add/remove for spatial view)
233
- self.addEventListener('kodexaTagChange', (event) => {
234
- if (event instanceof CustomEvent) {
235
- // Parse the JSON string detail to extract documentRef
236
- let docRef;
237
- try {
238
- const parsed = typeof event.detail === 'string' ? JSON.parse(event.detail) : event.detail;
239
- docRef = parsed?.documentRef;
240
- console.log('[shared-worker] kodexaTagChange received', { docRef, eventType: parsed?.eventType, tagName: parsed?.tagName });
241
- }
242
- catch (e) {
243
- console.warn('[shared-worker] Failed to parse kodexaTagChange detail:', e);
244
- }
245
- if (docRef !== undefined) {
246
- broadcastToSubscribers(docRef, 'kodexaTagChange', event.detail);
247
- }
248
- else {
249
- broadcastToAll({
250
- type: 'wasmEvent',
251
- eventType: 'kodexaTagChange',
252
- detail: event.detail,
253
- });
254
- }
255
- }
256
- });
257
- console.log('[shared-worker] Event forwarding configured');
224
+ return true;
225
+ },
226
+ createElement: () => null,
227
+ body: null,
228
+ documentElement: null,
229
+ };
230
+ self.document = documentShim;
231
+ console.log('[shared-worker] Event forwarding configured (simplified architecture)');
258
232
  }
259
233
  // ============================================================================
260
234
  // WASM Loading (same as dedicated worker)
@@ -1 +1 @@
1
- {"version":3,"file":"kodexa-shared-worker.js","sourceRoot":"","sources":["../../src/worker/kodexa-shared-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kodexa-shared-worker.js","sourceRoot":"","sources":["../../src/worker/kodexa-shared-worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodexa-ai/document-wasm-ts",
3
- "version": "8.0.0-develop-20908841085",
3
+ "version": "8.0.0-develop-20911804805",
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",