@korajs/store 1.0.0-beta.1 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/adapters/indexeddb.cjs +39 -5
  2. package/dist/adapters/indexeddb.cjs.map +1 -1
  3. package/dist/adapters/indexeddb.js +13 -6
  4. package/dist/adapters/indexeddb.js.map +1 -1
  5. package/dist/adapters/sqlite-wasm-worker.cjs +25 -3
  6. package/dist/adapters/sqlite-wasm-worker.cjs.map +1 -1
  7. package/dist/adapters/sqlite-wasm-worker.js +25 -3
  8. package/dist/adapters/sqlite-wasm-worker.js.map +1 -1
  9. package/dist/adapters/sqlite-wasm.cjs +29 -0
  10. package/dist/adapters/sqlite-wasm.cjs.map +1 -1
  11. package/dist/adapters/sqlite-wasm.d.cts +16 -1
  12. package/dist/adapters/sqlite-wasm.d.ts +16 -1
  13. package/dist/adapters/sqlite-wasm.js +1 -1
  14. package/dist/{backup-ZV4Y424B.js → backup-IQE4QC7Q.js} +2 -2
  15. package/dist/{chunk-ZLWAYQEQ.js → chunk-2VRPF25R.js} +31 -27
  16. package/dist/chunk-2VRPF25R.js.map +1 -0
  17. package/dist/{chunk-X57MWW35.js → chunk-OCOGQRHW.js} +12 -9
  18. package/dist/chunk-OCOGQRHW.js.map +1 -0
  19. package/dist/{chunk-RBPVEAVM.js → chunk-QUJGXSZ6.js} +30 -1
  20. package/dist/chunk-QUJGXSZ6.js.map +1 -0
  21. package/dist/{chunk-FFYA7J5H.js → chunk-RCTG3IJG.js} +3 -2
  22. package/dist/chunk-RCTG3IJG.js.map +1 -0
  23. package/dist/{export-audit-AJ7RORNK.js → export-audit-MT2LTMIN.js} +2 -2
  24. package/dist/index.cjs +155 -141
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.js +48 -40
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal.cjs +45 -40
  29. package/dist/internal.cjs.map +1 -1
  30. package/dist/internal.js +1 -1
  31. package/package.json +2 -2
  32. package/dist/chunk-FFYA7J5H.js.map +0 -1
  33. package/dist/chunk-RBPVEAVM.js.map +0 -1
  34. package/dist/chunk-X57MWW35.js.map +0 -1
  35. package/dist/chunk-ZLWAYQEQ.js.map +0 -1
  36. /package/dist/{backup-ZV4Y424B.js.map → backup-IQE4QC7Q.js.map} +0 -0
  37. /package/dist/{export-audit-AJ7RORNK.js.map → export-audit-MT2LTMIN.js.map} +0 -0
@@ -8,6 +8,7 @@ import {
8
8
  } from "./chunk-6NKLDBTY.js";
9
9
 
10
10
  // src/audit/export-audit.ts
11
+ import { quoteIdent } from "@korajs/core";
11
12
  function encodeSection(name, content) {
12
13
  const nameBytes = new TextEncoder().encode(name);
13
14
  const header = new Uint8Array(8);
@@ -67,7 +68,7 @@ async function readAllOperations(adapter, schema, collectionFilter) {
67
68
  const allOps = [];
68
69
  for (const collectionName of collections) {
69
70
  const rows = await adapter.query(
70
- `SELECT * FROM _kora_ops_${collectionName} ORDER BY sequence_number ASC`
71
+ `SELECT * FROM ${quoteIdent(`_kora_ops_${collectionName}`)} ORDER BY sequence_number ASC`
71
72
  );
72
73
  for (const row of rows) {
73
74
  allOps.push(deserializeOperationWithCollection(row, collectionName));
@@ -185,4 +186,4 @@ export {
185
186
  readAuditExportManifest,
186
187
  verifyAuditExportChecksum
187
188
  };
188
- //# sourceMappingURL=chunk-FFYA7J5H.js.map
189
+ //# sourceMappingURL=chunk-RCTG3IJG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/audit/export-audit.ts"],"sourcesContent":["import type { Operation, SchemaDefinition } from '@korajs/core'\nimport { quoteIdent } from '@korajs/core'\nimport { deserializeOperationWithCollection } from '../serialization/serializer'\nimport type { StorageAdapter } from '../types'\nimport type { OperationRow } from '../types'\nimport { deserializeAuditJson, serializeAuditJson } from './audit-json'\nimport { readAuditTraces } from './audit-trace-store'\nimport type {\n\tAuditExportManifest,\n\tAuditExportOptions,\n\tAuditExportPayload,\n\tAuditTraceQuery,\n\tPersistedAuditTrace,\n} from './types'\n\nfunction encodeSection(name: string, content: Uint8Array): Uint8Array {\n\tconst nameBytes = new TextEncoder().encode(name)\n\tconst header = new Uint8Array(8)\n\tconst view = new DataView(header.buffer)\n\tview.setUint32(0, nameBytes.length, true)\n\tview.setUint32(4, content.length, true)\n\n\tconst result = new Uint8Array(header.length + nameBytes.length + content.length)\n\tresult.set(header, 0)\n\tresult.set(nameBytes, 8)\n\tresult.set(content, 8 + nameBytes.length)\n\treturn result\n}\n\nfunction encodeJsonSection(name: string, data: unknown): Uint8Array {\n\treturn encodeSection(name, new TextEncoder().encode(serializeAuditJson(data)))\n}\n\nfunction encodeNdjsonSection(name: string, records: unknown[]): Uint8Array {\n\tconst lines = `${records.map((record) => serializeAuditJson(record)).join('\\n')}\\n`\n\treturn encodeSection(name, new TextEncoder().encode(lines))\n}\n\nfunction readUint32(view: DataView, offset: number): number {\n\treturn view.getUint32(offset, true)\n}\n\ninterface Section {\n\tname: string\n\tcontent: Uint8Array\n}\n\nfunction parseSections(data: Uint8Array): Section[] {\n\tconst sections: Section[] = []\n\tconst view = new DataView(data.buffer, data.byteOffset, data.byteLength)\n\tlet offset = 0\n\n\twhile (offset + 8 <= data.byteLength) {\n\t\tconst nameLen = readUint32(view, offset)\n\t\tconst contentLen = readUint32(view, offset + 4)\n\t\toffset += 8\n\n\t\tif (offset + nameLen + contentLen > data.byteLength) {\n\t\t\tbreak\n\t\t}\n\n\t\tconst name = new TextDecoder().decode(data.slice(offset, offset + nameLen))\n\t\toffset += nameLen\n\n\t\tconst content = data.slice(offset, offset + contentLen)\n\t\toffset += contentLen\n\n\t\tsections.push({ name, content })\n\t}\n\n\treturn sections\n}\n\nfunction findSection(sections: Section[], name: string): Uint8Array | null {\n\tfor (const section of sections) {\n\t\tif (section.name === name) {\n\t\t\treturn section.content\n\t\t}\n\t}\n\treturn null\n}\n\nasync function computeSha256(data: Uint8Array<ArrayBuffer>): Promise<string> {\n\tconst hashBuffer = await crypto.subtle.digest('SHA-256', data)\n\treturn Array.from(new Uint8Array(hashBuffer))\n\t\t.map((byte) => byte.toString(16).padStart(2, '0'))\n\t\t.join('')\n}\n\nasync function readAllOperations(\n\tadapter: StorageAdapter,\n\tschema: SchemaDefinition,\n\tcollectionFilter?: string[],\n): Promise<Operation[]> {\n\tconst collections = collectionFilter\n\t\t? Object.keys(schema.collections).filter((name) => collectionFilter.includes(name))\n\t\t: Object.keys(schema.collections)\n\n\tconst allOps: Operation[] = []\n\tfor (const collectionName of collections) {\n\t\tconst rows = await adapter.query<OperationRow>(\n\t\t\t`SELECT * FROM ${quoteIdent(`_kora_ops_${collectionName}`)} ORDER BY sequence_number ASC`,\n\t\t)\n\n\t\tfor (const row of rows) {\n\t\t\tallOps.push(deserializeOperationWithCollection(row, collectionName))\n\t\t}\n\t}\n\n\treturn allOps\n}\n\nfunction filterOperationsByCollections(\n\toperations: Operation[],\n\tcollectionFilter?: string[],\n): Operation[] {\n\tif (!collectionFilter || collectionFilter.length === 0) {\n\t\treturn operations\n\t}\n\tconst allowed = new Set(collectionFilter)\n\treturn operations.filter((op) => allowed.has(op.collection))\n}\n\n/**\n * Export operations and persisted merge traces as a portable binary audit bundle.\n */\nexport async function exportAudit(\n\tadapter: StorageAdapter,\n\tschema: SchemaDefinition,\n\tnodeId: string,\n\tschemaVersion: number,\n\toptions?: AuditExportOptions,\n): Promise<Uint8Array> {\n\tconst onProgress = options?.onProgress ?? (() => {})\n\tconst traceQuery: AuditTraceQuery = {\n\t\tcollections: options?.collections,\n\t\tsince: options?.since,\n\t\tuntil: options?.until,\n\t}\n\n\tonProgress({ phase: 'reading', progress: 0, message: 'Reading operations' })\n\tconst operations = filterOperationsByCollections(\n\t\tawait readAllOperations(adapter, schema, options?.collections),\n\t\toptions?.collections,\n\t)\n\n\tonProgress({ phase: 'reading', progress: 0.4, message: 'Reading merge traces' })\n\tconst mergeTraces = await readAuditTraces(adapter, traceQuery)\n\n\tonProgress({ phase: 'writing', progress: 0.7, message: 'Encoding audit export' })\n\tconst sections: Uint8Array[] = []\n\tlet contentForChecksum = new Uint8Array(0)\n\n\tconst addSection = (section: Uint8Array): void => {\n\t\tsections.push(section)\n\t\tconst combined = new Uint8Array(contentForChecksum.length + section.length)\n\t\tcombined.set(contentForChecksum, 0)\n\t\tcombined.set(section, contentForChecksum.length)\n\t\tcontentForChecksum = combined\n\t}\n\n\taddSection(encodeNdjsonSection('operations', operations))\n\taddSection(encodeNdjsonSection('merge_traces', mergeTraces))\n\n\tonProgress({ phase: 'verifying', progress: 0.9, message: 'Computing checksum' })\n\tconst checksum = await computeSha256(contentForChecksum as Uint8Array<ArrayBuffer>)\n\n\tconst manifest: AuditExportManifest = {\n\t\tversion: 1,\n\t\texportedAt: Date.now(),\n\t\tnodeId,\n\t\tschemaVersion,\n\t\toperationCount: operations.length,\n\t\tmergeTraceCount: mergeTraces.length,\n\t\tchecksum,\n\t}\n\n\tconst manifestSection = encodeJsonSection('manifest', manifest)\n\tconst checksumSection = encodeSection('checksum', new TextEncoder().encode(checksum))\n\n\tonProgress({ phase: 'writing', progress: 1, message: 'Finalizing' })\n\n\tconst parts = [manifestSection, ...sections, checksumSection]\n\tconst finalOutput = new Uint8Array(parts.reduce((sum, part) => sum + part.length, 0))\n\tlet offset = 0\n\tfor (const part of parts) {\n\t\tfinalOutput.set(part, offset)\n\t\toffset += part.length\n\t}\n\n\treturn finalOutput\n}\n\n/**\n * Decode an audit export binary into structured data.\n */\nexport function decodeAuditExport(data: Uint8Array): AuditExportPayload {\n\tconst sections = parseSections(data)\n\tconst manifest = JSON.parse(\n\t\tnew TextDecoder().decode(findSection(sections, 'manifest') ?? new Uint8Array()),\n\t) as AuditExportManifest\n\n\tconst operationsContent = findSection(sections, 'operations')\n\tconst mergeTracesContent = findSection(sections, 'merge_traces')\n\n\tconst operations = parseNdjsonSection<Operation>(operationsContent)\n\tconst mergeTraces = parseNdjsonSection<PersistedAuditTrace>(mergeTracesContent)\n\n\treturn { manifest, operations, mergeTraces }\n}\n\n/**\n * Read only the manifest from an audit export without decoding all sections.\n */\nexport function readAuditExportManifest(data: Uint8Array): AuditExportManifest {\n\tconst sections = parseSections(data)\n\tconst manifestContent = findSection(sections, 'manifest')\n\tif (!manifestContent) {\n\t\tthrow new Error('Invalid audit export: missing manifest section')\n\t}\n\treturn JSON.parse(new TextDecoder().decode(manifestContent)) as AuditExportManifest\n}\n\n/**\n * Verify the checksum of an audit export file.\n */\nexport async function verifyAuditExportChecksum(data: Uint8Array): Promise<boolean> {\n\tconst sections = parseSections(data)\n\tconst manifest = readAuditExportManifest(data)\n\tconst contentSections = sections.filter(\n\t\t(section) => section.name !== 'manifest' && section.name !== 'checksum',\n\t)\n\n\tlet content = new Uint8Array(0)\n\tfor (const section of contentSections) {\n\t\tconst encoded = encodeSection(section.name, section.content)\n\t\tconst combined = new Uint8Array(content.length + encoded.length)\n\t\tcombined.set(content, 0)\n\t\tcombined.set(encoded, content.length)\n\t\tcontent = combined\n\t}\n\n\tconst checksum = await computeSha256(content as Uint8Array<ArrayBuffer>)\n\treturn checksum === manifest.checksum\n}\n\nfunction parseNdjsonSection<T>(content: Uint8Array | null): T[] {\n\tif (!content || content.length === 0) {\n\t\treturn []\n\t}\n\tconst text = new TextDecoder().decode(content).trim()\n\tif (text.length === 0) {\n\t\treturn []\n\t}\n\treturn text.split('\\n').map((line) => deserializeAuditJson<T>(line))\n}\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  exportAudit,
4
4
  readAuditExportManifest,
5
5
  verifyAuditExportChecksum
6
- } from "./chunk-FFYA7J5H.js";
6
+ } from "./chunk-RCTG3IJG.js";
7
7
  import "./chunk-MYSJN3DF.js";
8
8
  import "./chunk-6NKLDBTY.js";
9
9
  export {
@@ -12,4 +12,4 @@ export {
12
12
  readAuditExportManifest,
13
13
  verifyAuditExportChecksum
14
14
  };
15
- //# sourceMappingURL=export-audit-AJ7RORNK.js.map
15
+ //# sourceMappingURL=export-audit-MT2LTMIN.js.map