{"_id":"@canmi/seam-engine","_rev":"12-403ab277ced501e959f886dc932cd4f9","name":"@canmi/seam-engine","dist-tags":{"latest":"0.5.38"},"versions":{"0.3.7":{"name":"@canmi/seam-engine","version":"0.3.7","_id":"@canmi/seam-engine@0.3.7","maintainers":[{"name":"canmi","email":"9997200@qq.com"}],"dist":{"shasum":"b48dacaa11ec739175e374693242498dd3b3bcca","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.3.7.tgz","fileCount":9,"integrity":"sha512-VFnCvBDRmMu1kM1LOK3fvyxvVzqV4+LgLzqdly2D0ELHabYDn+vf4PCuVKQM6uqgHFMQ3CdvfSkDX+LGAxo3Cw==","signatures":[{"sig":"MEQCIFxBzOS2HK1OT5tl8bqSe5j+G4vz2blil0PIz8VrreluAiBx2WEj6qSCX9CPKOlMgopLIb72ffL4GTfjPaWJHo9KBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":290790},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"}},"gitHead":"da2adb9fe5754ae1831f4d6133b8ed8590ab707f","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"9997200@qq.com"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.3.7_1772129613674_0.482388875801651","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@canmi/seam-engine","version":"0.4.3","_id":"@canmi/seam-engine@0.4.3","maintainers":[{"name":"canmi","email":"9997200@qq.com"}],"dist":{"shasum":"62f3b141718cf8a7badd9e1077faf0652ce26ccf","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.3.tgz","fileCount":9,"integrity":"sha512-kj2jtkH9uothR3GUZJBEIqMX1AgS2LDMv4hsimuBkFA1OJSqjkzYzY+1pgQZaDME6zHzhKaHhhui/AbdWJRT6A==","signatures":[{"sig":"MEUCIQDgMEUUSd0kdHH8pOvCO8obmaRngaM6f4bYeDsi5j4GQgIgEuSqZB7KCXDbRfKf9GRFBSQW9fD+8eP2RiSBUhrD8fI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281778},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"}},"gitHead":"962c96985ad19e1fb35bdd710c452ab5642f2795","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"9997200@qq.com"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.3_1772194706017_0.5288596715527998","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@canmi/seam-engine","version":"0.4.4","_id":"@canmi/seam-engine@0.4.4","maintainers":[{"name":"canmi","email":"9997200@qq.com"}],"dist":{"shasum":"96ddad93c6056b3ed015de883db86911275c598d","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.4.tgz","fileCount":9,"integrity":"sha512-KBsjrcIDyA8qqhhEKP6yci5dRJk3s01hc1GtkhU+8x6X5PlxtBfOzYPixjAV7SryVP1OV8DwLvf3aEE16SAzJg==","signatures":[{"sig":"MEUCIQCv2Xgz0h32MfVle4/RfJRhzl27MtlUrVFD1X5DL8mTvgIgO5KZW7NQdh+UOv1RTIUqNkPArUl//KvAtluAmncuWLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281778},"type":"module","shasum":"96ddad93c6056b3ed015de883db86911275c598d","exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"9997200@qq.com"},"_integrity":"sha512-KBsjrcIDyA8qqhhEKP6yci5dRJk3s01hc1GtkhU+8x6X5PlxtBfOzYPixjAV7SryVP1OV8DwLvf3aEE16SAzJg==","_npmVersion":"10.8.3","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.4_1772206358548_0.48134818824892056","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@canmi/seam-engine","version":"0.4.10","license":"MIT","_id":"@canmi/seam-engine@0.4.10","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"f24fea5f2dc29c5b882633c10c28f43bf1608f25","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.10.tgz","fileCount":10,"integrity":"sha512-vdMtsPAL1LkPO6+Q5GXJIBPzUK4YeK6RAz9Z19a0IUuYAwJeKA/o92Dy86pRlxhumyVieiZxgYPeT9xWlBjF2Q==","signatures":[{"sig":"MEQCICJFhw5mZjA2bFKY5GX53TcF6ExfE1PwG6MU5/DyNvUlAiBuim5dV5NWbjXPoQJUDh8s1LwxFrhA0MKGX0Qe3Ud12A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262102},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"}},"gitHead":"9e863b8c1773ab4f42a95df9bb9ac3c4c2d4236e","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.9.0","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.10_1772379619656_0.6685444419315134","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@canmi/seam-engine","version":"0.4.11","license":"MIT","_id":"@canmi/seam-engine@0.4.11","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"4776af02ba6dbdab4b9cec975f5b19816a296f4e","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.11.tgz","fileCount":10,"integrity":"sha512-2NUotQqTuKfivrZU4oWA91nRfE37v0YWlgPTBpV1a8UH3Qmue86NIWopcIUIQTHY/Td3dkHKStz/gErYTiiIZw==","signatures":[{"sig":"MEYCIQCuQDj10QOfnvK7WqJMoDNL5F51QFyBZDOIwuCNoCEMnwIhAIwTyude8pk4a9vsVE2jt7+ZHbtzcDZzJ27kh4v/crbf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261792},"type":"module","exports":{".":{"types":"./src/index.ts","import":"./dist/index.js"}},"gitHead":"08104fea5530ab57c5db2ed010f2fef83efa4e3b","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.9.0","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.11_1772383241683_0.00970703512850779","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@canmi/seam-engine","version":"0.4.15","license":"MIT","_id":"@canmi/seam-engine@0.4.15","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"e99785c4fa44c5ada7d7dadbb2c8a4a8f4b4e9fb","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.15.tgz","fileCount":10,"integrity":"sha512-qUa3hvDq5yAO/sHPWQR7cxVzPq1O5cSzTXhjwQkSZGVUhqQCfM4LFs9IZoCbeV9nA5eagKO3UfECrcLwncAn0g==","signatures":[{"sig":"MEUCIQDayY2ptSPz1QzhnSoykigG+vaW5umkDGZWmyD5sWxTpgIgNFisjZ7J4+Ii4jX9KaM21FhVEB9/dTLt4wvw/rrpOQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269225},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a9e7d3b6b3a42a8ea39f2572a2045f321e44f574","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.9.0","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.15_1772443245787_0.8258674475196592","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"@canmi/seam-engine","version":"0.4.18","license":"MIT","_id":"@canmi/seam-engine@0.4.18","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"848e58f0100c7a9e1c8a21ab454585dac7e790b2","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.4.18.tgz","fileCount":10,"integrity":"sha512-XlzXQHXj8uP6Wqty/XJJWwAPmgMVCmkTRK9DJm2XR7j/YKWq9oL91HtTxZBEZHVFm4RHKDovYXbyWaAJWM5/5Q==","signatures":[{"sig":"MEUCIQCmSaU84mG6qCCA1xrhXBFI9j4rgPdco6TwV4R5xuHkNgIgMffOCeOm/xkccpAjegit0bbfzsnZSynqh05PzI5wuFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269232},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0185984c0403718e0ed67c3132c0cfcd417a2083","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.10.1","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.4.18_1772555161796_0.6538901860298971","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@canmi/seam-engine","version":"0.5.10","license":"MIT","_id":"@canmi/seam-engine@0.5.10","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"b5417abe71fb4d8393ce2d745919f112ded48aa4","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.5.10.tgz","fileCount":10,"integrity":"sha512-bPYI8wDt8aEPIw2TefxQTUIOXkwRnERvU6yDE9Xfo0uwg+A56Pw+DHulw1iH5NfhtIYWSik9czKIgugNvT2yOQ==","signatures":[{"sig":"MEYCIQDnOSBP9Jjm/koCzkEssyfYA9IevWeSdIutaSZTfM12jAIhAOOaRr3Tv+rjdyNSBCbP2oAZmbpjMgLItGB83CR10e+u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":269203},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e7b80153466d2e30f3d48575a623c19c54a33d86","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.10.1","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.5.10_1772723801514_0.7679482832167337","host":"s3://npm-registry-packages-npm-production"}},"0.5.27":{"name":"@canmi/seam-engine","version":"0.5.27","license":"MIT","_id":"@canmi/seam-engine@0.5.27","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"23c27ba4b7a055f31a033c0b514deae226f8a81f","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.5.27.tgz","fileCount":10,"integrity":"sha512-wKF0SPgxvqAmXumbCbgV7ApNRql0QAiIO1bbH+4ZJ40tRTTDaDEH5ZFhW8Vb+PGTfoHQLQlfzZEDbvytg+A9ag==","signatures":[{"sig":"MEQCIHUp+lvUxKZSFzf6RtOXaG3kM0ZL8HoGlS+BS7seKyRZAiBTooJMF2lIyHGGEiVSoY3wlDQZKFvVxPNh44SEQ4dcDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271217},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"839277de0749659b65c5b609a4a6a6919dfd73b3","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.10.1","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.5.27_1773023083771_0.762388986480085","host":"s3://npm-registry-packages-npm-production"}},"0.5.31":{"name":"@canmi/seam-engine","version":"0.5.31","license":"MIT","_id":"@canmi/seam-engine@0.5.31","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"43200556d726b024e7359b2ca53326f4aea197c3","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.5.31.tgz","fileCount":10,"integrity":"sha512-Wg+QpEVdw9i6EX7jisw3ZsIdUFkmA5SRobMi5ut+legMX6ZOAv/Wx+pMDKefkGrQFHapWy4Ffq+ldOlsW+Po1Q==","signatures":[{"sig":"MEYCIQCtHJLtGh6ymotIh7cajE4dVNZREiYATTpDyqPc7uEMkwIhAIUOVtRAx++b+7LwremdnmMNU2mKfk6Mp6a0F5148TuH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":271217},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ff754819c953803f0abd339f665b20a11c9db01f","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.10.1","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.20.3","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.5.31_1773114505936_0.753395385030486","host":"s3://npm-registry-packages-npm-production"}},"0.5.36":{"name":"@canmi/seam-engine","version":"0.5.36","license":"MIT","_id":"@canmi/seam-engine@0.5.36","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"dist":{"shasum":"b85db4f485d87ebc90bd7f46a70493460a8377b1","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.5.36.tgz","fileCount":10,"integrity":"sha512-iIZqyi3vf+iV0KpoKo59ppE/+wrF1Cm1Gmb9j2Wogn6j7LBijiFBXvO9fhuwZK4oBRgwvuI8uPuh0r1qjpVheg==","signatures":[{"sig":"MEQCIGtaWm3SRYraRWVjLqZvt60C/qylviG60Kip9/TKy4nGAiAVNi4oQIWyk5im1dVFyHJgC8WJbzYqCCBRoZ2paAhCHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273505},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"443e119f48f399adf6abd49ad50749b9a3b6461c","scripts":{"test":"vitest run","build":"tsdown"},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"_npmVersion":"11.10.1","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","directories":{},"_nodeVersion":"25.7.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"0.21","vitest":"4","typescript":"5","@types/node":"25"},"_npmOperationalInternal":{"tmp":"tmp/seam-engine_0.5.36_1773336911140_0.6686528628496142","host":"s3://npm-registry-packages-npm-production"}},"0.5.38":{"name":"@canmi/seam-engine","version":"0.5.38","license":"MIT","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsdown","test":"vitest run"},"devDependencies":{"@types/node":"25","tsdown":"0.21","typescript":"6","vitest":"4"},"gitHead":"baed9724d9970829be89599297fcb11023a8aa05","_id":"@canmi/seam-engine@0.5.38","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-D1VgcN+8j5PjEUagg+wa0ZZMRL15phHLf5HWzUuF/00X9JYMVPyNy2QuywBq7wg/A6LZ2tcTqyQISF3HjmIWvQ==","shasum":"a0924fc19db492aa4ac72bb02aaae0c125f3b119","tarball":"https://registry.npmjs.org/@canmi/seam-engine/-/seam-engine-0.5.38.tgz","fileCount":10,"unpackedSize":273574,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGWS443sgde+FoGD6ROx0coBeLsIy5VfgCAxCwT0uToYAiEAnAvT+KXH9V5An0m+w1M0gdlGHc4B7Tni+V+9K9+kjkI="}]},"_npmUser":{"name":"canmi","email":"t@canmi.icu"},"directories":{},"maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/seam-engine_0.5.38_1774684415919_0.7713700084418134"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T18:13:33.570Z","modified":"2026-03-28T07:53:36.213Z","0.3.7":"2026-02-26T18:13:33.871Z","0.4.3":"2026-02-27T12:18:26.159Z","0.4.4":"2026-02-27T15:32:38.681Z","0.4.10":"2026-03-01T15:40:19.798Z","0.4.11":"2026-03-01T16:40:41.872Z","0.4.15":"2026-03-02T09:20:45.943Z","0.4.18":"2026-03-03T16:26:02.055Z","0.5.10":"2026-03-05T15:16:41.727Z","0.5.27":"2026-03-09T02:24:43.954Z","0.5.31":"2026-03-10T03:48:26.149Z","0.5.36":"2026-03-12T17:35:11.306Z","0.5.38":"2026-03-28T07:53:36.109Z"},"license":"MIT","description":"Node.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).","maintainers":[{"name":"canmi","email":"t@canmi.icu"}],"readme":"# @canmi/seam-engine\n\nNode.js/Bun WASM bridge for the Rust engine. All functions delegate to the [engine/wasm](../wasm/) binary compiled from [engine/rust](../rust/).\n\n## Structure\n\n- `src/wasm-bridge.ts` — Synchronous WASM initialization and typed wrappers\n- `src/escape.ts` — `escapeHtml` (pure JS, HTML entity escaping)\n- `src/index.ts` — Barrel exports\n- `pkg/` — WASM artifacts (built by `build-wasm.sh`)\n\n## Key Exports\n\n| Export             | Source  | Purpose                                    |\n| ------------------ | ------- | ------------------------------------------ |\n| `renderPage`       | WASM    | Page assembly: slots + data script + meta  |\n| `parseBuildOutput` | WASM    | Parse route-manifest.json into definitions |\n| `parseI18nConfig`  | WASM    | Extract i18n config from manifest          |\n| `parseRpcHashMap`  | WASM    | Reverse lookup from RPC hash map           |\n| `asciiEscapeJson`  | WASM    | Escape non-ASCII in JSON strings           |\n| `i18nQuery`        | WASM    | Look up i18n translation keys              |\n| `inject`           | WASM    | Template injection with data script        |\n| `injectNoScript`   | WASM    | Template injection without data script     |\n| `escapeHtml`       | Pure JS | HTML entity escaping                       |\n\n## Development\n\n- Build WASM: `bash src/server/engine/build-wasm.sh`\n- Build JS: `just build-ts`\n- Test: `just test-ts`\n\n## Notes\n\n- WASM imports use `eslint-disable` + `@ts-expect-error` — no `.d.ts` for wasm-bindgen output\n- Rebuild `pkg/` when Rust engine source changes\n","readmeFilename":"README.md"}