{"_id":"@opentray/ext-webview","_rev":"63-c2fe11bb2d1e2b9621197c93e15c56c9","name":"@opentray/ext-webview","dist-tags":{"alpha":"0.0.0-alpha-20260605111358","latest":"0.34.1"},"versions":{"0.0.0":{"name":"@opentray/ext-webview","version":"0.0.0","license":"MIT","_id":"@opentray/ext-webview@0.0.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"dist":{"shasum":"d8ebfefc16ddb3f6524a2133ec3864fc056d726b","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.0.0.tgz","fileCount":2,"integrity":"sha512-Xgpy0j8GJxMxoOUQanZ91BQVf+dDfeLhI7Dwxq2/oUrw1/Yr6A9heWkzv1EdYa2P4g2vjM8acd5arUpdtsglrg==","signatures":[{"sig":"MEUCIFAeE5IXF8DXYQXEH+jbs+LZfqiF1SQyYOneKQFQJc8rAiEAsEgaF84+YNBtt3lEs543LZNN1ZwGIYvP7ShA1qrXouo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889},"type":"module","_from":"file:opentray-ext-webview-0.0.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"_npmUser":{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"},"_resolved":"/private/var/folders/tn/y_b12zxs2dldn8thmfnpy9c80000gp/T/803624859efdfc33826a430cc57bf156/opentray-ext-webview-0.0.0.tgz","_integrity":"sha512-Xgpy0j8GJxMxoOUQanZ91BQVf+dDfeLhI7Dwxq2/oUrw1/Yr6A9heWkzv1EdYa2P4g2vjM8acd5arUpdtsglrg==","_npmVersion":"11.13.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"opentray":"0.0.0"},"peerDependencies":{"opentray":">=0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.0.0_1780155383499_0.20798940556373502","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@opentray/ext-webview","version":"0.1.0","license":"MIT","_id":"@opentray/ext-webview@0.1.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"e0e010cfc6a35fa2eedb78030f7f7368dd177d7d","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.1.0.tgz","fileCount":6,"integrity":"sha512-bVxQ/9yEcvvLozhqcMCoTSjUWyNTl+Ow8Xjtdl69a7gPgkZpq1z1Fi4AtBYm/gTRXCeS5tEU7DeMam+miWjWyw==","signatures":[{"sig":"MEQCID0hJoLHEvl2w5o5fDtXyp5Ztr3OHgVb2tIlcMgMgdJYAiAhpA70XUm2AKk4CPSmg+qnaW88HuXVxbtLQXMbTjC6zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7010},"type":"module","_from":"file:opentray-ext-webview-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/a59bc23f9b31fbd4285690859848ce1a/opentray-ext-webview-0.1.0.tgz","_integrity":"sha512-bVxQ/9yEcvvLozhqcMCoTSjUWyNTl+Ow8Xjtdl69a7gPgkZpq1z1Fi4AtBYm/gTRXCeS5tEU7DeMam+miWjWyw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.1.0","typescript":"^6.0.3","@opentray/spec":"0.1.0"},"peerDependencies":{"opentray":">=0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.1.0_1780222179469_0.7131924927727384","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@opentray/ext-webview","version":"0.2.0","license":"MIT","_id":"@opentray/ext-webview@0.2.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"9d3968b925046d66ee9c8143057db32f524129fb","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.2.0.tgz","fileCount":6,"integrity":"sha512-sXUcXlsvv/TDmpnqeh//qJ7CjA10YdijWLaDPLp7pvcjJl2wYk+BxKSNp5Rvka1a2HtnoGLBIaoA5VMFCcnRmg==","signatures":[{"sig":"MEYCIQCJV69qSpaTwGyPJ/gI7f6Kp9F6a41dE/7JVG6CgGjc5QIhAN4EA4ZT7FdQNEj/XP7yVOFOcirfPxS8AjSSHKbgrlMh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7592},"type":"module","_from":"file:opentray-ext-webview-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/2c46015a1dce24ace0a4d68d85dbdc72/opentray-ext-webview-0.2.0.tgz","_integrity":"sha512-sXUcXlsvv/TDmpnqeh//qJ7CjA10YdijWLaDPLp7pvcjJl2wYk+BxKSNp5Rvka1a2HtnoGLBIaoA5VMFCcnRmg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.2.0","typescript":"^6.0.3","@opentray/spec":"0.2.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-linux-x64":"0.1.0","@opentray/ext-webview-darwin-x64":"0.1.0","@opentray/ext-webview-linux-arm64":"0.1.0","@opentray/ext-webview-windows-x64":"0.1.0","@opentray/ext-webview-darwin-arm64":"0.1.0","@opentray/ext-webview-windows-arm64":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.2.0_1780332755084_0.09486535606070912","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@opentray/ext-webview","version":"0.3.0","license":"MIT","_id":"@opentray/ext-webview@0.3.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"5ac6a6141396c4645bb603d20214c2b3f85eb3d6","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.3.0.tgz","fileCount":6,"integrity":"sha512-ngpwU+iBKMjdhBOItsbIGNV1n7lFj2be/bucZ+eqV2wa8AOStvvho/sgy36nIjVsBS8eANXbiHHm/MsAhX5n0w==","signatures":[{"sig":"MEYCIQC90IWYPQ6bWVJo8cvNlYw4nWvpDWAqB2T7dkDVn3fISgIhAKpgkfazMu+d5MmA7fMI2b0FON67+GS1mD/jp5cdwVDY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":11336},"type":"module","_from":"file:opentray-ext-webview-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/828e385a9123a814b67ba403097f75d7/opentray-ext-webview-0.3.0.tgz","_integrity":"sha512-ngpwU+iBKMjdhBOItsbIGNV1n7lFj2be/bucZ+eqV2wa8AOStvvho/sgy36nIjVsBS8eANXbiHHm/MsAhX5n0w==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.3.0","typescript":"^6.0.3","@opentray/spec":"0.3.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-linux-x64":"0.3.0","@opentray/ext-webview-darwin-x64":"0.3.0","@opentray/ext-webview-linux-arm64":"0.3.0","@opentray/ext-webview-windows-x64":"0.3.0","@opentray/ext-webview-darwin-arm64":"0.3.0","@opentray/ext-webview-windows-arm64":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.3.0_1780413763618_0.32489685330134344","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-alpha-20260605111358":{"name":"@opentray/ext-webview","version":"0.0.0-alpha-20260605111358","license":"MIT","_id":"@opentray/ext-webview@0.0.0-alpha-20260605111358","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"a44d5e8e30ff5591883d794cac3286e85c8479d8","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.0.0-alpha-20260605111358.tgz","fileCount":6,"integrity":"sha512-q3JMFukwgsAXZ2Gg1QkqarIs1Gd3bnXWHrzUVo0REIa1lQJRroT6m8Z+kv/+ZGrlqO+ecgJEpUA+jXfKIpSvDQ==","signatures":[{"sig":"MEUCIQDBboriA53V4sZjqD7JMUWiMgRLdq75a5C8BGAbzqesPgIgPJStFp94Xlej8Zz3gBnkFt+SBB3CmTpxcDhxaS+Vl/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.0.0-alpha-20260605111358","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47875},"type":"module","_from":"file:opentray-ext-webview-0.0.0-alpha-20260605111358.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/275bc013b1402ca77b02925f03e79c14/opentray-ext-webview-0.0.0-alpha-20260605111358.tgz","_integrity":"sha512-q3JMFukwgsAXZ2Gg1QkqarIs1Gd3bnXWHrzUVo0REIa1lQJRroT6m8Z+kv/+ZGrlqO+ecgJEpUA+jXfKIpSvDQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.0.0-alpha-20260605111358","typescript":"^6.0.3","@opentray/spec":"0.0.0-alpha-20260605111358"},"peerDependencies":{"opentray":"0.0.0-alpha-20260605111358"},"optionalDependencies":{"@opentray/ext-webview-linux-x64":"0.0.0-alpha-20260605111358","@opentray/ext-webview-darwin-x64":"0.0.0-alpha-20260605111358","@opentray/ext-webview-linux-arm64":"0.0.0-alpha-20260605111358","@opentray/ext-webview-windows-x64":"0.0.0-alpha-20260605111358","@opentray/ext-webview-darwin-arm64":"0.0.0-alpha-20260605111358","@opentray/ext-webview-windows-arm64":"0.0.0-alpha-20260605111358"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.0.0-alpha-20260605111358_1780658053993_0.5072630116962886","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@opentray/ext-webview","version":"0.4.0","license":"MIT","_id":"@opentray/ext-webview@0.4.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"d7d43446fdea1acf7c1161e29114c90afa819f23","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.4.0.tgz","fileCount":6,"integrity":"sha512-QMSVN9Mhmhv0f9RwWdsJFT+BvkYlWReKWDRHd1KhVgoiPxmdo9BY/Nz16powKYQLFlVBRvsLEJzJgBCr1OkCmg==","signatures":[{"sig":"MEUCIC/17LtAatmphwNwBJOeb5UTte+p0W6L8WXTZEj98pGYAiEAkqsTPa1NhPUfSYSNuJCR3kSfdj7fVduUjH1cuREcvwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47667},"type":"module","_from":"file:opentray-ext-webview-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/63b8babe9b61bd0312cd6ca8c54ee4ca/opentray-ext-webview-0.4.0.tgz","_integrity":"sha512-QMSVN9Mhmhv0f9RwWdsJFT+BvkYlWReKWDRHd1KhVgoiPxmdo9BY/Nz16powKYQLFlVBRvsLEJzJgBCr1OkCmg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.5.0","typescript":"^6.0.3","@opentray/spec":"0.4.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-linux-x64":"0.4.0","@opentray/ext-webview-darwin-x64":"0.4.0","@opentray/ext-webview-linux-arm64":"0.4.0","@opentray/ext-webview-windows-x64":"0.4.0","@opentray/ext-webview-darwin-arm64":"0.4.0","@opentray/ext-webview-windows-arm64":"0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.4.0_1780668384612_0.9732230603484584","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@opentray/ext-webview","version":"0.5.0","license":"MIT","_id":"@opentray/ext-webview@0.5.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"026edabcd565dbe311deb5663f19fd213fb527eb","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.5.0.tgz","fileCount":6,"integrity":"sha512-1BvsAlnWPFgc5LhLA9cHUpqh/j/pFddvxWlHYeqTl8FwWnAiTOgpB8qeoOPscEX+uMvPxPhGgfIfpIiCplpWxA==","signatures":[{"sig":"MEQCIFZlcpAq9ao6Tk8sq/siXeJziDILaQ3k5NJ4Lm5uTiZFAiBTtlZJ4CRNRDr8q2rumB/MUcZJpwrBGhOIoH2T5AyyHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62427},"type":"module","_from":"file:opentray-ext-webview-0.5.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/5c47f46fe94a9cc34f2b28aba56c9b36/opentray-ext-webview-0.5.0.tgz","_integrity":"sha512-1BvsAlnWPFgc5LhLA9cHUpqh/j/pFddvxWlHYeqTl8FwWnAiTOgpB8qeoOPscEX+uMvPxPhGgfIfpIiCplpWxA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.5.2","typescript":"^6.0.3","@opentray/spec":"0.4.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-linux-x64":"0.5.0","@opentray/ext-webview-darwin-x64":"0.5.0","@opentray/ext-webview-linux-arm64":"0.5.0","@opentray/ext-webview-windows-x64":"0.5.0","@opentray/ext-webview-darwin-arm64":"0.5.0","@opentray/ext-webview-windows-arm64":"0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.5.0_1781004477793_0.21401068992607186","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@opentray/ext-webview","version":"0.6.0","license":"MIT","_id":"@opentray/ext-webview@0.6.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"8f3eb3779597cda3956f5efbb039f0fb161f0244","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.6.0.tgz","fileCount":6,"integrity":"sha512-pRfdQPji9tgGDnB4nWYwm+EJPRPbGErzaHUWde1omJxcnAIYjmKAXb+pSEVcq18iGnZ856dy7hIAvSVXdP182g==","signatures":[{"sig":"MEUCIQDZQTSO0XnrM4nBPE7TtWueuTk1YQV5CML5sM9KBFGdBwIgB9qiGkrFm97hhWFxn0s4HJogiYvdqMkM4tVJgLXnA3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62680},"type":"module","_from":"file:opentray-ext-webview-0.6.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/b38b76b0702b0905ba0308e1b94daee2/opentray-ext-webview-0.6.0.tgz","_integrity":"sha512-pRfdQPji9tgGDnB4nWYwm+EJPRPbGErzaHUWde1omJxcnAIYjmKAXb+pSEVcq18iGnZ856dy7hIAvSVXdP182g==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.16.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.6.0","typescript":"^6.0.3","@opentray/spec":"0.4.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.6.0","@opentray/ext-webview-windows-x64":"0.6.0","@opentray/ext-webview-darwin-arm64":"0.6.0","@opentray/ext-webview-windows-arm64":"0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.6.0_1781009928220_0.16189554605762124","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@opentray/ext-webview","version":"0.7.0","license":"MIT","_id":"@opentray/ext-webview@0.7.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"24acf9e199e776b781136072bc74c9013c6ab149","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.7.0.tgz","fileCount":6,"integrity":"sha512-gf5kbcsWlmHdnbTPKfq/QxU/0Xi68xC9sWXMJ6XivFFYl6avuN2EqwXwLr998xIZm/3mlQccvmUWi9/5Sswilw==","signatures":[{"sig":"MEQCIDjzYMCdEF2TOP7mZrFkTqpiGHFVUUEs0Mt2vqyDNMVtAiA4FmNxr7pySP04d6qYXxJ2PpKho7r1zR5LJwGsT0IXXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":214398},"type":"module","_from":"file:opentray-ext-webview-0.7.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/042207d3c9ba7154c734193d555330bc/opentray-ext-webview-0.7.0.tgz","_integrity":"sha512-gf5kbcsWlmHdnbTPKfq/QxU/0Xi68xC9sWXMJ6XivFFYl6avuN2EqwXwLr998xIZm/3mlQccvmUWi9/5Sswilw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.17.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.7.0","typescript":"^6.0.3","@opentray/spec":"0.5.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.7.0","@opentray/ext-webview-windows-x64":"0.7.0","@opentray/ext-webview-darwin-arm64":"0.7.0","@opentray/ext-webview-windows-arm64":"0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.7.0_1782267789425_0.44985747223536365","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@opentray/ext-webview","version":"0.7.1","license":"MIT","_id":"@opentray/ext-webview@0.7.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"bdc7deab8a4fa38c6fea3122e31b49d2f2fc7651","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.7.1.tgz","fileCount":6,"integrity":"sha512-lI1vTkeIIG2FAFryOKN87Q67HW2hG3xJZ69NAheC9HKPAk5HUmjfROE74tcMa8IbGMuqCK0eZ55N1OqxHWXAWw==","signatures":[{"sig":"MEYCIQCvB/Lp34LAlRnWPTkJsJ2rBXmJ3XXEA5cTPqSAQDJzogIhAI8/ZvReAPZ8BWCixNjp5o6DS7x7XYZI5nnhFr/JwBkB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225907},"type":"module","_from":"file:opentray-ext-webview-0.7.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/b3ca5acc20d66f4e11e490e5a0dc05bb/opentray-ext-webview-0.7.1.tgz","_integrity":"sha512-lI1vTkeIIG2FAFryOKN87Q67HW2hG3xJZ69NAheC9HKPAk5HUmjfROE74tcMa8IbGMuqCK0eZ55N1OqxHWXAWw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.17.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.8.1","typescript":"^6.0.3","@opentray/spec":"0.6.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.7.1","@opentray/ext-webview-windows-x64":"0.7.1","@opentray/ext-webview-darwin-arm64":"0.7.1","@opentray/ext-webview-windows-arm64":"0.7.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.7.1_1782539666220_0.427365755644451","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@opentray/ext-webview","version":"0.10.0","license":"MIT","_id":"@opentray/ext-webview@0.10.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"b612d5d5a327e3b5430494722ff802aa97d35cb1","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.10.0.tgz","fileCount":6,"integrity":"sha512-eHhE3HrSFjWd0p3K2DSg9d6qSdbErjwdye7LsCH0GQKXKHCR0xYbm1rbnzQgfxM4gi3E4g4qkoTkCxt+Y6+19Q==","signatures":[{"sig":"MEUCIQCR2UQ6nJlVrb6G7Ky8U5qXQgmQ+suzXNNbTz2z3JxvkAIgNEV2UbT7nud0N7/FJNYmb7trUETuaGEzySiBuxgIADs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227091},"type":"module","_from":"file:opentray-ext-webview-0.10.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/392e055ff93f2071ccbeb8d8dee1dda3/opentray-ext-webview-0.10.0.tgz","_integrity":"sha512-eHhE3HrSFjWd0p3K2DSg9d6qSdbErjwdye7LsCH0GQKXKHCR0xYbm1rbnzQgfxM4gi3E4g4qkoTkCxt+Y6+19Q==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.17.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.10.0","typescript":"^6.0.3","@opentray/spec":"0.10.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.10.0","@opentray/ext-webview-windows-x64":"0.10.0","@opentray/ext-webview-darwin-arm64":"0.10.0","@opentray/ext-webview-windows-arm64":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.10.0_1782577433406_0.6529671755337267","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"@opentray/ext-webview","version":"0.10.2","license":"MIT","_id":"@opentray/ext-webview@0.10.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"89115e796acccc188bcb95c2bcee16c3c4c043d1","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.10.2.tgz","fileCount":6,"integrity":"sha512-xyod41RkPrsaW4KMMBvZlVm6B8rRp+IVCtyif08a7mQT21CTY69q5ZKGMPKM6QlTbCOe8MKUv0EO2u7oOPPNDA==","signatures":[{"sig":"MEUCIQCiPtvVyYujE6Cdv+/4+psx+e9Rtd6V58OlMfYgMdU2NQIgfG9CflVqW3SyHexDY732i709nO85q92buGqSPVfH5ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":227091},"type":"module","_from":"file:opentray-ext-webview-0.10.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/38c73e83109e83342d52c2d19cb4736c/opentray-ext-webview-0.10.2.tgz","_integrity":"sha512-xyod41RkPrsaW4KMMBvZlVm6B8rRp+IVCtyif08a7mQT21CTY69q5ZKGMPKM6QlTbCOe8MKUv0EO2u7oOPPNDA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.17.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.10.2","typescript":"^6.0.3","@opentray/spec":"0.10.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.10.2","@opentray/ext-webview-windows-x64":"0.10.2","@opentray/ext-webview-darwin-arm64":"0.10.2","@opentray/ext-webview-windows-arm64":"0.10.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.10.2_1782622119431_0.41952389752036257","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"@opentray/ext-webview","version":"0.10.3","license":"MIT","_id":"@opentray/ext-webview@0.10.3","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"c00142477929d7a4a9e64600718653d2c2692570","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.10.3.tgz","fileCount":6,"integrity":"sha512-/BVmhe/4IG9rPsnrdlgasL7B0RLVqewCBiL+XojlyCOD1tXgIw+N3WkbW8srjVx/9tjLIWeF/jfKSX8Fni/pTA==","signatures":[{"sig":"MEYCIQDYy7t0NLr3Rju5pIynXxa836U+rpUGwOUKjkWQnaXxxgIhAMNRGBZIzcaThD1fSuoI/uCBzogxAQezlImvbHVTRFcO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":271860},"type":"module","_from":"file:opentray-ext-webview-0.10.3.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8ba0682e-aaad-424c-8752-1075543988b4"}},"_resolved":"/tmp/d0dfb8c4174a8117e2ab5f805262534b/opentray-ext-webview-0.10.3.tgz","_integrity":"sha512-/BVmhe/4IG9rPsnrdlgasL7B0RLVqewCBiL+XojlyCOD1tXgIw+N3WkbW8srjVx/9tjLIWeF/jfKSX8Fni/pTA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.10.3","typescript":"^6.0.3","@opentray/spec":"0.10.3"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.10.3","@opentray/ext-webview-windows-x64":"0.10.3","@opentray/ext-webview-darwin-arm64":"0.10.3","@opentray/ext-webview-windows-arm64":"0.10.3"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.10.3_1782769058190_0.8773507382677774","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@opentray/ext-webview","version":"0.11.0","license":"MIT","_id":"@opentray/ext-webview@0.11.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"18311a2936d9071a3058e781435cd64a765daf5b","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.11.0.tgz","fileCount":6,"integrity":"sha512-qibRFtME1C/b80WG7ybAkIa6gA1cXwFDKx183xR4icoza7NwcHtHkIrd5UrQREg2/pATEfnJRNiwOieUqvGgqA==","signatures":[{"sig":"MEUCIGrtsmbPxvvDLR96RGQwexCG82XPtJBfKmy4sUehU5XSAiEAv61iwCqRLWFJNsxpFOPl//bPljb/OnVB7hYEq75UIyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280983},"type":"module","_from":"file:opentray-ext-webview-0.11.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/6fd2cc65ae6e1ab37a511ac4649a108b/opentray-ext-webview-0.11.0.tgz","_integrity":"sha512-qibRFtME1C/b80WG7ybAkIa6gA1cXwFDKx183xR4icoza7NwcHtHkIrd5UrQREg2/pATEfnJRNiwOieUqvGgqA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.11.0","typescript":"^6.0.3","@opentray/spec":"0.11.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.11.0","@opentray/ext-webview-windows-x64":"0.11.0","@opentray/ext-webview-darwin-arm64":"0.11.0","@opentray/ext-webview-windows-arm64":"0.11.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.11.0_1783349866134_0.3056617931736856","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@opentray/ext-webview","version":"0.11.1","license":"MIT","_id":"@opentray/ext-webview@0.11.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"847e78f26f32036001c04171c84357c948ff4325","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.11.1.tgz","fileCount":6,"integrity":"sha512-4RKmygXctfLxQec8Ya838nYFhw+WlN8wmpqjb/qMA4wsZlyLquaNCpultwXHx9OYOi5buxklcOCLLpJwnQHNDQ==","signatures":[{"sig":"MEQCIHcEFLgTFL8tkgXDZHv5JZX7rptQ9wdh5gUB/GXKF+M6AiABpYX+GvBR/S1mOyYijhnt1dO+ySUEzGn2g9Qv2Kw1gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280983},"type":"module","_from":"file:opentray-ext-webview-0.11.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/f0352ea6c7210cea0386e665db043f16/opentray-ext-webview-0.11.1.tgz","_integrity":"sha512-4RKmygXctfLxQec8Ya838nYFhw+WlN8wmpqjb/qMA4wsZlyLquaNCpultwXHx9OYOi5buxklcOCLLpJwnQHNDQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.11.1","typescript":"^6.0.3","@opentray/spec":"0.11.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.11.1","@opentray/ext-webview-windows-x64":"0.11.1","@opentray/ext-webview-darwin-arm64":"0.11.1","@opentray/ext-webview-windows-arm64":"0.11.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.11.1_1783429144166_0.8383950185213704","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"@opentray/ext-webview","version":"0.11.2","license":"MIT","_id":"@opentray/ext-webview@0.11.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"45a4ee3ef6bffc439a5754b30924e4fd5fdaadd1","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.11.2.tgz","fileCount":6,"integrity":"sha512-6CLkaFfKOyamLQacPHgDI7kOawd28xhdsxZ2Juk2oc9Dtt3uhWKNZwt9dI6Cb1EqqTjcAXV77NsMyP+qFakNjw==","signatures":[{"sig":"MEQCIClaVns2iroLC0BbrkyozTPOvDm+2gkb6xl2iuVlhtmJAiAwNiUNtab7J0tAgG+aj6Zi+TQ72eyF72UT8MpKywbe6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.11.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":280983},"type":"module","_from":"file:opentray-ext-webview-0.11.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/d90ae0a243b1c31e42f47abde9050af9/opentray-ext-webview-0.11.2.tgz","_integrity":"sha512-6CLkaFfKOyamLQacPHgDI7kOawd28xhdsxZ2Juk2oc9Dtt3uhWKNZwt9dI6Cb1EqqTjcAXV77NsMyP+qFakNjw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.11.2","typescript":"^6.0.3","@opentray/spec":"0.11.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.11.2","@opentray/ext-webview-windows-x64":"0.11.2","@opentray/ext-webview-darwin-arm64":"0.11.2","@opentray/ext-webview-windows-arm64":"0.11.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.11.2_1783436547062_0.4784007403973283","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@opentray/ext-webview","version":"0.12.0","license":"MIT","_id":"@opentray/ext-webview@0.12.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"370ba80240fac8b3746c60c85e516aae125a1cff","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.12.0.tgz","fileCount":6,"integrity":"sha512-RVlkMl2bvhc9LwqfTYBjngZmAyJnw1bJ64N3d6PSvwrGzV3pt5vbsXoepX5uOrPucb64srQH49G1MTVnEgfkcg==","signatures":[{"sig":"MEUCIB0CxeGgQFq2aB/hXYww3tfo5tbQqmJ5Wfiu/zz4m36nAiEAwAnyDrbIKYxcSCt4pnK7pV/LUwXvC5NUefQVSx29BRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284640},"type":"module","_from":"file:opentray-ext-webview-0.12.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/bf66bf99d18f3bc7567c38993d95246b/opentray-ext-webview-0.12.0.tgz","_integrity":"sha512-RVlkMl2bvhc9LwqfTYBjngZmAyJnw1bJ64N3d6PSvwrGzV3pt5vbsXoepX5uOrPucb64srQH49G1MTVnEgfkcg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.12.0","typescript":"^6.0.3","@opentray/spec":"0.12.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.12.0","@opentray/ext-webview-windows-x64":"0.12.0","@opentray/ext-webview-darwin-arm64":"0.12.0","@opentray/ext-webview-windows-arm64":"0.12.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.12.0_1783614735889_0.6085059888348117","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@opentray/ext-webview","version":"0.13.0","license":"MIT","_id":"@opentray/ext-webview@0.13.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"d58cebae1c74c88f52f9575926b61ba2f3a91bda","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.13.0.tgz","fileCount":6,"integrity":"sha512-/Z1rj80tuQ07LBq/mOmK1ROZNMv+cqpjZgLihoI1fhPuwSMsv60EnzMGpJqXdSSheqAsGSW865eeRYyW4QBNvw==","signatures":[{"sig":"MEQCIFjsrW7YOxWGrVf1gjY9VDeLBzRaNGD/LH2XoZFGtZV8AiBWikJC9nk6gqmyEDe1Y3MUL5ajqLE0Nw6AbD62tzDwzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":287942},"type":"module","_from":"file:opentray-ext-webview-0.13.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/9d15bb6d35d01bdd19bc6d31ee4400a7/opentray-ext-webview-0.13.0.tgz","_integrity":"sha512-/Z1rj80tuQ07LBq/mOmK1ROZNMv+cqpjZgLihoI1fhPuwSMsv60EnzMGpJqXdSSheqAsGSW865eeRYyW4QBNvw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.13.0","typescript":"^6.0.3","@opentray/spec":"0.13.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.13.0","@opentray/ext-webview-windows-x64":"0.13.0","@opentray/ext-webview-darwin-arm64":"0.13.0","@opentray/ext-webview-windows-arm64":"0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.13.0_1784041960393_0.45943062852529715","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@opentray/ext-webview","version":"0.14.0","license":"MIT","_id":"@opentray/ext-webview@0.14.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"fc5a18bea69382d9de4b11012ffaf0ba5dca7bb6","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.14.0.tgz","fileCount":6,"integrity":"sha512-zDf1rXcpl3597Gv9gfWChVkpok8yPj2RlzMzxOZxGZu4NXk7FEPqj5ILFOZ4f1X3MLzeQpAs5fGy9tXGpBKUlQ==","signatures":[{"sig":"MEUCIQCJQttcwULANfYSB5MuBkbE0r+gaC1Kg4dvunRWDx04NgIgYISD5GPIjsYnPD6yDcOG6kIvbXM9BHsLk9fFlSArrsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":290280},"type":"module","_from":"file:opentray-ext-webview-0.14.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/906b0802e379aa61a77ee91f58fdf6cf/opentray-ext-webview-0.14.0.tgz","_integrity":"sha512-zDf1rXcpl3597Gv9gfWChVkpok8yPj2RlzMzxOZxGZu4NXk7FEPqj5ILFOZ4f1X3MLzeQpAs5fGy9tXGpBKUlQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.14.0","typescript":"^6.0.3","@opentray/spec":"0.14.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.14.0","@opentray/ext-webview-windows-x64":"0.14.0","@opentray/ext-webview-darwin-arm64":"0.14.0","@opentray/ext-webview-windows-arm64":"0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.14.0_1784061792165_0.6286580569287774","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@opentray/ext-webview","version":"0.14.1","license":"MIT","_id":"@opentray/ext-webview@0.14.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"94b5456c9357fd8b6c2b84f184fddd51e9b7f78f","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.14.1.tgz","fileCount":6,"integrity":"sha512-J+/xMSwzYQ4tGrrWuMmEYF5jE04DoauWX+eqpV+0Jw4OX9qJegg3V2Vsj/bpJl9SECzZQ4OFNpr1oNi0WAgKcQ==","signatures":[{"sig":"MEYCIQD8pJlRtRaFB+Vb2Yyqo6e6iIsQnacD0igGvVatdDTUnAIhAJMMgDPqq2cg7nl51H5XLqe1P8SEH8T/Nrpc+4UFZnxo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298567},"type":"module","_from":"file:opentray-ext-webview-0.14.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/4abf7ea98f5c44830d52fa773cc35563/opentray-ext-webview-0.14.1.tgz","_integrity":"sha512-J+/xMSwzYQ4tGrrWuMmEYF5jE04DoauWX+eqpV+0Jw4OX9qJegg3V2Vsj/bpJl9SECzZQ4OFNpr1oNi0WAgKcQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.14.1","typescript":"^6.0.3","@opentray/spec":"0.14.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.14.1","@opentray/ext-webview-windows-x64":"0.14.1","@opentray/ext-webview-darwin-arm64":"0.14.1","@opentray/ext-webview-windows-arm64":"0.14.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.14.1_1784264062326_0.12681939927069075","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@opentray/ext-webview","version":"0.14.2","license":"MIT","_id":"@opentray/ext-webview@0.14.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"57df89e8cb6879821888e2ad41e0fa3659b904ee","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.14.2.tgz","fileCount":6,"integrity":"sha512-zpg61vUhA64Mt3f0IDxpyLXwAJbViy5ZTda3MbXqKgs6nA7J7PT4mlzfz913srXR+0wy3is/N1lXH9xUMXVOkg==","signatures":[{"sig":"MEUCIHDpHZNEFURYjXQ+YeaRhZJnVdU+9AF/2TzSJHv6VEqjAiEA9yrxOQTRCIXAW0FO9ln/7O9L6W8kM/laD/GsBlgidYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":298905},"type":"module","_from":"file:opentray-ext-webview-0.14.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/7ab58bfadeabd7dda08444accad61a19/opentray-ext-webview-0.14.2.tgz","_integrity":"sha512-zpg61vUhA64Mt3f0IDxpyLXwAJbViy5ZTda3MbXqKgs6nA7J7PT4mlzfz913srXR+0wy3is/N1lXH9xUMXVOkg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.14.2","typescript":"^6.0.3","@opentray/spec":"0.14.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.14.2","@opentray/ext-webview-windows-x64":"0.14.2","@opentray/ext-webview-darwin-arm64":"0.14.2","@opentray/ext-webview-windows-arm64":"0.14.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.14.2_1784275496599_0.6860105298083223","host":"s3://npm-registry-packages-npm-production"}},"0.14.3":{"name":"@opentray/ext-webview","version":"0.14.3","license":"MIT","_id":"@opentray/ext-webview@0.14.3","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"048f440199abaa6a1234025aa845d0cc8f5fb9b7","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.14.3.tgz","fileCount":6,"integrity":"sha512-QZYM9ecFRkBJW46hAyiPuwGS2a4SjArpNQ/k5KRYb6lfQcWvqZ5mG0Pw+IeQmuUsKbWHOuplZ2pNqobp3NmVUg==","signatures":[{"sig":"MEQCIHIl5PaUn2zXxghvxAuUgXVPPCl7mIJKOyxyjCvQNKmuAiBWfx5Val1c5lYOqTLXk0OYOpfXRRdXkL/TgnGYWvcKPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.14.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300773},"type":"module","_from":"file:opentray-ext-webview-0.14.3.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/8e4f33fcf106d43e4fc2dfbb5ce09994/opentray-ext-webview-0.14.3.tgz","_integrity":"sha512-QZYM9ecFRkBJW46hAyiPuwGS2a4SjArpNQ/k5KRYb6lfQcWvqZ5mG0Pw+IeQmuUsKbWHOuplZ2pNqobp3NmVUg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.14.3","typescript":"^6.0.3","@opentray/spec":"0.14.3"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.14.3","@opentray/ext-webview-windows-x64":"0.14.3","@opentray/ext-webview-darwin-arm64":"0.14.3","@opentray/ext-webview-windows-arm64":"0.14.3"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.14.3_1784280362985_0.5331288774558138","host":"s3://npm-registry-packages-npm-production"}},"0.14.4":{"name":"@opentray/ext-webview","version":"0.14.4","license":"MIT","_id":"@opentray/ext-webview@0.14.4","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"ae3c557986de7148a267347ed47aa14716e5c5f2","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.14.4.tgz","fileCount":6,"integrity":"sha512-pX4EJDgM9JLigx/2Iy2sbR4sRJ1OrYdxY79CVvICoUZ8GhNwcYg+DBhT5DgPkwgGTddC9d8AmO9lzZ+QEDFXSQ==","signatures":[{"sig":"MEQCIAfSvJzN+PxzDR4qz+8PlrTi0qVn/TjsUUaLdqxu7i9FAiBwDHGemd3mkd7G1dq7kDMDXojSdQHe+b6jejvzFNKFpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.14.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":300773},"type":"module","_from":"file:opentray-ext-webview-0.14.4.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/addbdcab7e1fb49281c376419cb73434/opentray-ext-webview-0.14.4.tgz","_integrity":"sha512-pX4EJDgM9JLigx/2Iy2sbR4sRJ1OrYdxY79CVvICoUZ8GhNwcYg+DBhT5DgPkwgGTddC9d8AmO9lzZ+QEDFXSQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.14.4","typescript":"^6.0.3","@opentray/spec":"0.14.4"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.14.4","@opentray/ext-webview-windows-x64":"0.14.4","@opentray/ext-webview-darwin-arm64":"0.14.4","@opentray/ext-webview-windows-arm64":"0.14.4"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.14.4_1784308937886_0.27018417911129977","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@opentray/ext-webview","version":"0.15.0","license":"MIT","_id":"@opentray/ext-webview@0.15.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"7f045fbe7b9aa5daf5764e5a8fd31681df8a865a","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.15.0.tgz","fileCount":7,"integrity":"sha512-zV3nvKMY+Eon9fY0pIGl4loo+SH52iQWiSv0dYqNMq+nlW5XCazv/3QbIyKnWFT528RZfzoE6BLE7PEmCtOHIA==","signatures":[{"sig":"MEUCIDJweV+kqM/BuDMJkQn1nvgyI9wn4nbMg93aZ5+R08qRAiEAgM5cdsIJEL8Yje0tIikCcWy9grUnQ2cKR2R48l1lSY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304052},"type":"module","_from":"file:opentray-ext-webview-0.15.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/2d506e6916267e0d31e47b796041d7a6/opentray-ext-webview-0.15.0.tgz","_integrity":"sha512-zV3nvKMY+Eon9fY0pIGl4loo+SH52iQWiSv0dYqNMq+nlW5XCazv/3QbIyKnWFT528RZfzoE6BLE7PEmCtOHIA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.15.0","typescript":"^6.0.3","@opentray/spec":"0.15.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.15.0","@opentray/ext-webview-windows-x64":"0.15.0","@opentray/ext-webview-darwin-arm64":"0.15.0","@opentray/ext-webview-windows-arm64":"0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.15.0_1784445309922_0.4561168182146429","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@opentray/ext-webview","version":"0.16.0","license":"MIT","_id":"@opentray/ext-webview@0.16.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"ba8fd00c8628e5a3809fea07f5fceabf82f3277e","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.16.0.tgz","fileCount":7,"integrity":"sha512-8Y4jXAgw8KYG+vYFaE/mE9onpzmrLj6mOqfGt0GFBC/my/TrildXMAwmfJ4Bn0dpMAYkP2ZBlC/whw+HmWUxMg==","signatures":[{"sig":"MEYCIQCWrS9qy5qc9vtdhouI3JW6ohUfjc7olV5aOZrkS3hFrQIhAO4XKwUByK9Jlwm3LdjqS7oIfLrMWJ0vUF3T/6oZPXCM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304027},"type":"module","_from":"file:opentray-ext-webview-0.16.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/4631938bb602561550cdfb1008c90531/opentray-ext-webview-0.16.0.tgz","_integrity":"sha512-8Y4jXAgw8KYG+vYFaE/mE9onpzmrLj6mOqfGt0GFBC/my/TrildXMAwmfJ4Bn0dpMAYkP2ZBlC/whw+HmWUxMg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.16.0","typescript":"^6.0.3","@opentray/spec":"0.16.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.16.0","@opentray/ext-webview-windows-x64":"0.16.0","@opentray/ext-webview-darwin-arm64":"0.16.0","@opentray/ext-webview-windows-arm64":"0.16.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.16.0_1784463927298_0.5193201578011266","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@opentray/ext-webview","version":"0.17.0","license":"MIT","_id":"@opentray/ext-webview@0.17.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"ec822231370cd8271edc387929186e1a699d95d3","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.17.0.tgz","fileCount":7,"integrity":"sha512-LftTxcEj9RIjhKQkGtV7vAwGVNhP+oTuE+Mj+UT5s0wmIiAqMNCLCRCdndavOf+nvc22Pb6Qa4arHmRt34xXoQ==","signatures":[{"sig":"MEUCIQD5bunerHOw8MW/XOgLTQn/4nuG7WFvjjLPXwIZ/a4qqwIgG+q7UI6cnZ03HMuIQT5OU9ewLP811NxmZDigDDGj8f4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":304028},"type":"module","_from":"file:opentray-ext-webview-0.17.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/727f8fab6c94169ef00553310f44acd4/opentray-ext-webview-0.17.0.tgz","_integrity":"sha512-LftTxcEj9RIjhKQkGtV7vAwGVNhP+oTuE+Mj+UT5s0wmIiAqMNCLCRCdndavOf+nvc22Pb6Qa4arHmRt34xXoQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.17.0","typescript":"^6.0.3","@opentray/spec":"0.17.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.17.0","@opentray/ext-webview-windows-x64":"0.17.0","@opentray/ext-webview-darwin-arm64":"0.17.0","@opentray/ext-webview-windows-arm64":"0.17.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.17.0_1784526193878_0.7680425069574477","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@opentray/ext-webview","version":"0.18.0","license":"MIT","_id":"@opentray/ext-webview@0.18.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"9a5ae4b88bda4feee00c11164dd676f5069a9d7f","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.18.0.tgz","fileCount":7,"integrity":"sha512-0MQvwByJtj1Xna4/cF15lHw0fZvSGC0nbI9D9zjTglRyiDbk/A1uLPHBfGt9yRiqpd6rs9dnNAu2/7E7J+QtCQ==","signatures":[{"sig":"MEUCIGsIKKcbQAlTms+rMK6BmgMTRKXNb6bd0x0zbUyntZvtAiEA6t2xIlBH2dZr4S3j5zNaxXR19fPFPnq4f0H0A4VvPBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317355},"type":"module","_from":"file:opentray-ext-webview-0.18.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/c1e7bab9bda56b9bb369576180d77657/opentray-ext-webview-0.18.0.tgz","_integrity":"sha512-0MQvwByJtj1Xna4/cF15lHw0fZvSGC0nbI9D9zjTglRyiDbk/A1uLPHBfGt9yRiqpd6rs9dnNAu2/7E7J+QtCQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.18.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.18.0","typescript":"^6.0.3","@opentray/spec":"0.18.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.18.0","@opentray/ext-webview-windows-x64":"0.18.0","@opentray/ext-webview-darwin-arm64":"0.18.0","@opentray/ext-webview-windows-arm64":"0.18.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.18.0_1784640248699_0.6103469239118531","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@opentray/ext-webview","version":"0.19.0","license":"MIT","_id":"@opentray/ext-webview@0.19.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"866d272d2b29b595008807e9bf44344240f23245","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.19.0.tgz","fileCount":7,"integrity":"sha512-3NTMWuHa20E3mcqdoVj60qdPXCBTFSqV/HvMJWevaf1lEgrV6ixmCPfgxF+uEglv/Ok+lrtbQG48Majmg/qBPA==","signatures":[{"sig":"MEUCIAOB2oIAaEZ82Sexfl2SeNIpLEeCwetxdjvGv9qbTA2dAiEAqFDhrgJlKDTpG+56taqgXKtqyCGZnGBrmK/9K9V57O8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.19.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/e18b5bb00ed900a1ef4bd8df46852873/opentray-ext-webview-0.19.0.tgz","_integrity":"sha512-3NTMWuHa20E3mcqdoVj60qdPXCBTFSqV/HvMJWevaf1lEgrV6ixmCPfgxF+uEglv/Ok+lrtbQG48Majmg/qBPA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.19.0","typescript":"^6.0.3","@opentray/spec":"0.19.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.19.0","@opentray/ext-webview-windows-x64":"0.19.0","@opentray/ext-webview-darwin-arm64":"0.19.0","@opentray/ext-webview-windows-arm64":"0.19.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.19.0_1786985060284_0.6376507848968402","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@opentray/ext-webview","version":"0.19.1","license":"MIT","_id":"@opentray/ext-webview@0.19.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"2106640bd21d7f3f0b423069f3650fc9404105d7","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.19.1.tgz","fileCount":7,"integrity":"sha512-q1w42EiCY5VctHdwz0B88XzYYw7zhp6iDmdnOKecQi26DWnAa2bzWNFBtzfqibJi/a3E0MsqRJORZKhrKghBHw==","signatures":[{"sig":"MEYCIQDiXmUV/UkzNgYaKnLEs5zRu7ppcsxhN5D14h0ljPnypAIhAJzXsailq4GUAW32GcSkvV6H/OXjDkRbIDGaB0fDyCXX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.19.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/c7138a8fb8087eded7d354d024874333/opentray-ext-webview-0.19.1.tgz","_integrity":"sha512-q1w42EiCY5VctHdwz0B88XzYYw7zhp6iDmdnOKecQi26DWnAa2bzWNFBtzfqibJi/a3E0MsqRJORZKhrKghBHw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.19.1","typescript":"^6.0.3","@opentray/spec":"0.19.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.19.1","@opentray/ext-webview-windows-x64":"0.19.1","@opentray/ext-webview-darwin-arm64":"0.19.1","@opentray/ext-webview-windows-arm64":"0.19.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.19.1_1786987750740_0.46668994056664337","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@opentray/ext-webview","version":"0.20.0","license":"MIT","_id":"@opentray/ext-webview@0.20.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"edc9a404570ecc8d289bc3a999daeef3436a6582","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.20.0.tgz","fileCount":7,"integrity":"sha512-DtRV4X0NY4hO7i+6cNB3BNcRRkG9PbjjtFxd3/PoAs6wa5yn7kxSiKZyu9rVfyPhImfQurQm14ryApGF8DvSqQ==","signatures":[{"sig":"MEUCICm50+7qmYvOrmgkX5LEknZuUFVwK7XmJRLW+3RKMkCaAiEAk5Xf7ADftFU2KhLJ1QNjsjTaChO7bqSKeVToA+X54x8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.20.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/82595381a8f80f4a3c39718c1e00eb84/opentray-ext-webview-0.20.0.tgz","_integrity":"sha512-DtRV4X0NY4hO7i+6cNB3BNcRRkG9PbjjtFxd3/PoAs6wa5yn7kxSiKZyu9rVfyPhImfQurQm14ryApGF8DvSqQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.20.0","typescript":"^6.0.3","@opentray/spec":"0.20.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.20.0","@opentray/ext-webview-windows-x64":"0.20.0","@opentray/ext-webview-darwin-arm64":"0.20.0","@opentray/ext-webview-windows-arm64":"0.20.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.20.0_1787125099250_0.26141489341683655","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@opentray/ext-webview","version":"0.21.0","license":"MIT","_id":"@opentray/ext-webview@0.21.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"b651899f8e02992b2a73102a3a978f67ef1e381b","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.21.0.tgz","fileCount":7,"integrity":"sha512-Iu7Elz3E2/pbjbv1bPmnXqpE4i5SwHze+jdY8cJfobkE/U144ZEfD8o/baF4+0//Szhp5vqSWuNMs8Z5355xkg==","signatures":[{"sig":"MEYCIQDO8xSoZx/So+KfasGPvMvgyUvDwr7esh0ZSbj9c7v+MAIhAK/a5T+JqSRFoJTS9lPGMb43gTCygrR5S50/1iAmHvlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.21.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/f46b94fd6155fbedc2e6617166ede26b/opentray-ext-webview-0.21.0.tgz","_integrity":"sha512-Iu7Elz3E2/pbjbv1bPmnXqpE4i5SwHze+jdY8cJfobkE/U144ZEfD8o/baF4+0//Szhp5vqSWuNMs8Z5355xkg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.21.0","typescript":"^6.0.3","@opentray/spec":"0.21.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.21.0","@opentray/ext-webview-windows-x64":"0.21.0","@opentray/ext-webview-darwin-arm64":"0.21.0","@opentray/ext-webview-windows-arm64":"0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.21.0_1787162805269_0.09370966594684305","host":"s3://npm-registry-packages-npm-production"}},"0.21.1":{"name":"@opentray/ext-webview","version":"0.21.1","license":"MIT","_id":"@opentray/ext-webview@0.21.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"e5bbe12ca4e76ca0439a1d9cd044667edfb50d2a","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.21.1.tgz","fileCount":7,"integrity":"sha512-18w7BMyP1CV4Adv2UQX+0jKmA2YiVFJ+L8nW/zSnYESc13XuPGcNw1bNrJY02olM3cvKfYxZWZyd4E4FjpTzUg==","signatures":[{"sig":"MEUCIQCfqAaqcTsAFBAmlcQnxGlvojAnY7rMn4OGg+FvwD/regIgUHHo0QsYuLeM6jz4iqqGyvpXa5qEysDuWpJmwHOVCK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.21.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/4db81274769f97d2c6de9ededa165c3c/opentray-ext-webview-0.21.1.tgz","_integrity":"sha512-18w7BMyP1CV4Adv2UQX+0jKmA2YiVFJ+L8nW/zSnYESc13XuPGcNw1bNrJY02olM3cvKfYxZWZyd4E4FjpTzUg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.21.1","typescript":"^6.0.3","@opentray/spec":"0.21.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.21.1","@opentray/ext-webview-windows-x64":"0.21.1","@opentray/ext-webview-darwin-arm64":"0.21.1","@opentray/ext-webview-windows-arm64":"0.21.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.21.1_1787171730116_0.43004175282546164","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@opentray/ext-webview","version":"0.22.0","license":"MIT","_id":"@opentray/ext-webview@0.22.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"3f0d93f79426cc9348e814a7ea4a87bf0d9df894","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.22.0.tgz","fileCount":7,"integrity":"sha512-K9eykKeukDkNo3YUGfrRS9izwk5pcLTRy/nfvkCLLGcr/qg4IB6DiN6YZivlxZrPj5LiE9jRfljHipvaK/02KQ==","signatures":[{"sig":"MEQCIAf8t/7nhNqbdhkPGIftMKxcWAg4hm5BeC/ToCuiWnG1AiAEaxIzdNBl+iZiGC/NJvsrWM/l/kv93U3+zdT7bUGMOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBtPNp83xKw1LTFxyYs8AKilpC9afs8njR4En5kLDYvlAiAyBOhNE1vAof74ah1GVVT1r31URV27PPvXxXQzU2Vv/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.22.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/dd7d6de9e1d8b769e76ab822238d0c6e/opentray-ext-webview-0.22.0.tgz","_integrity":"sha512-K9eykKeukDkNo3YUGfrRS9izwk5pcLTRy/nfvkCLLGcr/qg4IB6DiN6YZivlxZrPj5LiE9jRfljHipvaK/02KQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.22.0","typescript":"^6.0.3","@opentray/spec":"0.22.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.22.0","@opentray/ext-webview-windows-x64":"0.22.0","@opentray/ext-webview-darwin-arm64":"0.22.0","@opentray/ext-webview-windows-arm64":"0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.22.0_1788983122205_0.3628639457231664","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@opentray/ext-webview","version":"0.23.0","license":"MIT","_id":"@opentray/ext-webview@0.23.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"0a3a73012ccc8a9505b0f5d3ad52c94f12983c46","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.23.0.tgz","fileCount":7,"integrity":"sha512-kEMW+2cFCyszxXTqvk5gp6mjS5EPFkM+ajVYWMT12eyRKsW1NReyefXWTplXIhWn+FlD9z7eprDgCVSGwR+rMw==","signatures":[{"sig":"MEUCIQDdKazqs8ZuiWgZJMH6BmnAiXb4djaSxVVE86PWaOcRpQIgXelUQp7bqWN4L52TVnT7UNzNw9yjawGmKt3dPSpCF6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAHSAWl0ao9iKvFInrNUzUR3hdfaJ/oQBGLEVQkIkGKqAiEA4IsOYfLp4R2/okVNEe7yIkh++OHryBe8dHEw8wjbpp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.23.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/b2a94ae69e63dd31e325009779293d41/opentray-ext-webview-0.23.0.tgz","_integrity":"sha512-kEMW+2cFCyszxXTqvk5gp6mjS5EPFkM+ajVYWMT12eyRKsW1NReyefXWTplXIhWn+FlD9z7eprDgCVSGwR+rMw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.23.0","typescript":"^6.0.3","@opentray/spec":"0.23.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.23.0","@opentray/ext-webview-windows-x64":"0.23.0","@opentray/ext-webview-darwin-arm64":"0.23.0","@opentray/ext-webview-windows-arm64":"0.23.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.23.0_1789044368757_0.40721141422020235","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@opentray/ext-webview","version":"0.24.0","license":"MIT","_id":"@opentray/ext-webview@0.24.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"d51c3231ec6b0971c0f20add62beada856ce25a7","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.24.0.tgz","fileCount":7,"integrity":"sha512-8X292uz8rRtpnJJWML5MwPE+s1BzSE+2+nGQDqwD5Zgwubko4RK7G9b9ZR/OeV0errKfbjd3KdmEM/UPtjXZHw==","signatures":[{"sig":"MEMCIC8YlD1rqIOywMA0ADesBcSYU9Jx1yIkN1rEy+2hf9n4Ah92Zn0InvS22gcA31xHwhln7htrEWqLTQHfta8qdx2M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGOzkvRvd36g2VdIMagkDHnzp0s8Kb2jxg04rtigw1K8AiEA49IvfreBIxDyO8BUvjgfP9LTBrVvpPvVkSWOgfX8nuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317652},"type":"module","_from":"file:opentray-ext-webview-0.24.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/adc8aca4da2272b6983535e0596574cc/opentray-ext-webview-0.24.0.tgz","_integrity":"sha512-8X292uz8rRtpnJJWML5MwPE+s1BzSE+2+nGQDqwD5Zgwubko4RK7G9b9ZR/OeV0errKfbjd3KdmEM/UPtjXZHw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.24.0","typescript":"^6.0.3","@opentray/spec":"0.24.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.24.0","@opentray/ext-webview-windows-x64":"0.24.0","@opentray/ext-webview-darwin-arm64":"0.24.0","@opentray/ext-webview-windows-arm64":"0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.24.0_1789098464218_0.6683622720802298","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@opentray/ext-webview","version":"0.25.0","license":"MIT","_id":"@opentray/ext-webview@0.25.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"44cb3ac71d563322e7996229e9e3aad42359c1bb","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.25.0.tgz","fileCount":7,"integrity":"sha512-+PItV/Pjxa/aXe/VZ/yQXTM5pI9T9Q2/GQnIYL1CZJ1ojYftzw0OcxT+6McUzyzxRDFSVbkTEcIimMFhdFdM7w==","signatures":[{"sig":"MEYCIQCBJ0t5CYlhU3+MCEGfytrpbqpzM0dLz//Ckwe9JRHVpQIhAOJYPF2zDnMr0pSrXXcqr63XiWXOIbw3i3hig36oZe9P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGvtbihPgAHkBNmMzidU3Tnjto8757m176wfYZXSHYeyAiEA8FdS66svc3/VCP0kAAutZVcENB/lYTzluB8JLKabyEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454192},"type":"module","_from":"file:opentray-ext-webview-0.25.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/7cb2361cb510b9d31526125aa04e1f87/opentray-ext-webview-0.25.0.tgz","_integrity":"sha512-+PItV/Pjxa/aXe/VZ/yQXTM5pI9T9Q2/GQnIYL1CZJ1ojYftzw0OcxT+6McUzyzxRDFSVbkTEcIimMFhdFdM7w==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.25.0","typescript":"^6.0.3","@opentray/spec":"0.25.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.25.0","@opentray/ext-webview-windows-x64":"0.25.0","@opentray/ext-webview-darwin-arm64":"0.25.0","@opentray/ext-webview-windows-arm64":"0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.25.0_1789214054885_0.44358566550991396","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@opentray/ext-webview","version":"0.26.0","license":"MIT","_id":"@opentray/ext-webview@0.26.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"915ed0a46785c82d22b4074e25840bc3fc0c0732","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.26.0.tgz","fileCount":7,"integrity":"sha512-vOg/lA3CXtTBqFcQM2opCJ1XTP3Q7Ud4VdXOF1r4kg7vLzVYU2a7URdRM0xD3sgRK4pE8z4yRiFAjtWTPDflFg==","signatures":[{"sig":"MEYCIQDtXwlACHkZb38KZSnZnsWdRHAIRN6ZVJZOs2t+Y7WldQIhAJriVW8mlZa9nSQ+6VVQkPyzpZIQMOC55VVX86XddP1p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB5JlKcDA4OV1+tc8Ab/8tx8xKh4nVVSFPv1PXopOxsnAiAqTSTHacEnua3EKCRy6cu7dBsKmukaeJlTnCWRajk+qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":456273},"type":"module","_from":"file:opentray-ext-webview-0.26.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/c587c3050c2f788ae92954b0961b26dc/opentray-ext-webview-0.26.0.tgz","_integrity":"sha512-vOg/lA3CXtTBqFcQM2opCJ1XTP3Q7Ud4VdXOF1r4kg7vLzVYU2a7URdRM0xD3sgRK4pE8z4yRiFAjtWTPDflFg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.26.0","typescript":"^6.0.3","@opentray/spec":"0.26.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.26.0","@opentray/ext-webview-windows-x64":"0.26.0","@opentray/ext-webview-darwin-arm64":"0.26.0","@opentray/ext-webview-windows-arm64":"0.26.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.26.0_1789215908116_0.9652778741324703","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@opentray/ext-webview","version":"0.27.0","license":"MIT","_id":"@opentray/ext-webview@0.27.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"503f47f882a025ba64a0ddb8d7d055d7bac607e8","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.0.tgz","fileCount":7,"integrity":"sha512-V8RxebWwKglLk3v6Ha7JUmCGEBIDskllB1bSxHgr8oQlUSlF1ecG0Hf325wkKAkuHlTjpQzAtomTFazxNdRwbg==","signatures":[{"sig":"MEUCIQCwCHEEIVeSrfVdGaWe/WWOgvrHIV3yLM0UbSPIMCdGxgIgdRZCnt5dVLpjXvZ5NWOJHOW41K3Xe3fsPhrdRo5SFDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBmjHjQorQwh2nujzxtov6w0rdKB1ktlXMQ3RnyXQpeEAiEAhMtkFPwUcxdEgk4jWnJEw9moH6uPOOdNA8n6NRS/hO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471605},"type":"module","_from":"file:opentray-ext-webview-0.27.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/7d723cdb7d519b9bcb320b2adb40fae7/opentray-ext-webview-0.27.0.tgz","_integrity":"sha512-V8RxebWwKglLk3v6Ha7JUmCGEBIDskllB1bSxHgr8oQlUSlF1ecG0Hf325wkKAkuHlTjpQzAtomTFazxNdRwbg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.0","typescript":"^6.0.3","@opentray/spec":"0.27.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.0","@opentray/ext-webview-windows-x64":"0.27.0","@opentray/ext-webview-darwin-arm64":"0.27.0","@opentray/ext-webview-windows-arm64":"0.27.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.0_1789264550236_0.5609723335936878","host":"s3://npm-registry-packages-npm-production"}},"0.27.1":{"name":"@opentray/ext-webview","version":"0.27.1","license":"MIT","_id":"@opentray/ext-webview@0.27.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"fd888ec6828496659d18fb873e753aab14827196","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.1.tgz","fileCount":7,"integrity":"sha512-gFp1t/Z9cjJSDoWpVlG448RD/6LTRdOGgIsZUYdnFtLyhagmg5RvGSGNONiFO61mu4CYq/rwMIjOThbhsSusyg==","signatures":[{"sig":"MEYCIQDlIVusRMmwKumRtmKnBO7FzIR72can1UaCmdUI/cBY0AIhAI23WzmIHlap+Nm58AvLNtCW5k/ZPmahKkspZKy11C2X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDr3brbSekgbWvqIyPPNDeEK/V/Ar6kzmdsE4/CXOzarQIgWC10573qch4UVZjlXMsx8Z7W3sKCuxiJg5fiiomcgtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471605},"type":"module","_from":"file:opentray-ext-webview-0.27.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/58e36eccb27460b1087483bca465dd2a/opentray-ext-webview-0.27.1.tgz","_integrity":"sha512-gFp1t/Z9cjJSDoWpVlG448RD/6LTRdOGgIsZUYdnFtLyhagmg5RvGSGNONiFO61mu4CYq/rwMIjOThbhsSusyg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.1","typescript":"^6.0.3","@opentray/spec":"0.27.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.1","@opentray/ext-webview-windows-x64":"0.27.1","@opentray/ext-webview-darwin-arm64":"0.27.1","@opentray/ext-webview-windows-arm64":"0.27.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.1_1789288672393_0.9554348807894255","host":"s3://npm-registry-packages-npm-production"}},"0.27.2":{"name":"@opentray/ext-webview","version":"0.27.2","license":"MIT","_id":"@opentray/ext-webview@0.27.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"a96e40673825793eb0e722862884e6bec4c6df02","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.2.tgz","fileCount":7,"integrity":"sha512-fC6K7bpSWlsQtp5h9CBJ14HW+szTLXKvDBNusXBpl7j/B/xWqhQWJUeLTJM7zE9wrywk2UGqp8SW7MZ0E8q33w==","signatures":[{"sig":"MEUCIAHRXtzx3jJcF3Hs9k5xgGXWyUWa346VG2w/OO4EDo4vAiEAz7O4ojxvfuNtAom6W0Wn7IZv/qhLUtzfS5tb+IlB6KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHNkVAUM5KsCRMzU37ygvdIHzJ0KrlpIRuFbU7SShcXkAiEAjlxHH7pF/yOWqcwQnlhJkrmtjSNiclfpmPJfcNbHWWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474686},"type":"module","_from":"file:opentray-ext-webview-0.27.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/e0d2f8c0089c5544dfdb8c4afd41892e/opentray-ext-webview-0.27.2.tgz","_integrity":"sha512-fC6K7bpSWlsQtp5h9CBJ14HW+szTLXKvDBNusXBpl7j/B/xWqhQWJUeLTJM7zE9wrywk2UGqp8SW7MZ0E8q33w==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.2","typescript":"^6.0.3","@opentray/spec":"0.27.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.2","@opentray/ext-webview-windows-x64":"0.27.2","@opentray/ext-webview-darwin-arm64":"0.27.2","@opentray/ext-webview-windows-arm64":"0.27.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.2_1789310474202_0.22525262238567612","host":"s3://npm-registry-packages-npm-production"}},"0.27.3":{"name":"@opentray/ext-webview","version":"0.27.3","license":"MIT","_id":"@opentray/ext-webview@0.27.3","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"b9b5985e14715704305b0dc6582be26cc04cab66","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.3.tgz","fileCount":7,"integrity":"sha512-CO92d01kqb78ex19GuoadYC0hBElC3Fw5j7b3UTmPcdcje7bBP4p/OW2lQlfT7wR9DZd+UVrKqpnwBbAhfHiRQ==","signatures":[{"sig":"MEUCIQDWNqCnOMA6elyK2uWBWjgQPawKFitTED1gTqDIIycaiwIgM2W43M3tGZhfjEGP/LKHne5ZoExc/YaM4T4JI/LNJr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB0u6XHM3lwRVoXMvb0DbcV6Ok6WKqy7ryDicjfEDphcAiEA1xz5OS1tuPxz14U4qfRaM/UVlmxqkSNOPcphI6wvHX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477777},"type":"module","_from":"file:opentray-ext-webview-0.27.3.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/afc8f3dd58cc854ddfd8602eed16ef22/opentray-ext-webview-0.27.3.tgz","_integrity":"sha512-CO92d01kqb78ex19GuoadYC0hBElC3Fw5j7b3UTmPcdcje7bBP4p/OW2lQlfT7wR9DZd+UVrKqpnwBbAhfHiRQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.3","typescript":"^6.0.3","@opentray/spec":"0.27.3"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.3","@opentray/ext-webview-windows-x64":"0.27.3","@opentray/ext-webview-darwin-arm64":"0.27.3","@opentray/ext-webview-windows-arm64":"0.27.3"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.3_1789327261262_0.8717090344445686","host":"s3://npm-registry-packages-npm-production"}},"0.27.4":{"name":"@opentray/ext-webview","version":"0.27.4","license":"MIT","_id":"@opentray/ext-webview@0.27.4","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"317d81928da9f69f9907dab333d24cc14e7d2721","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.4.tgz","fileCount":7,"integrity":"sha512-gx+Y37AHY4Bd4rN7w19V1zTSoB9BHMieyL96xGOwkcv22CkbSFb91+Pjn+Rh13jS78fAW1ndlv+X9/hCuTaefQ==","signatures":[{"sig":"MEQCIBK/ctO2EimeO2u/8qBpRw0xLAiU+VJk9jjDsp2/9yflAiBKe1BBjIFXH3d8VsimpimXumCmeUDUUmyfiO3WpCc2AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFg8g2GY8YNEkfW0ZEINjmCahgThkaWn7nHIL+dFSEGkAiBDWyPA4TnGWQK3/wdVovePTseBpAZW2kvaIUEBehFKGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":477777},"type":"module","_from":"file:opentray-ext-webview-0.27.4.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/08c1bfe5da6f5657cef732bdb6be9317/opentray-ext-webview-0.27.4.tgz","_integrity":"sha512-gx+Y37AHY4Bd4rN7w19V1zTSoB9BHMieyL96xGOwkcv22CkbSFb91+Pjn+Rh13jS78fAW1ndlv+X9/hCuTaefQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.4","typescript":"^6.0.3","@opentray/spec":"0.27.4"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.4","@opentray/ext-webview-windows-x64":"0.27.4","@opentray/ext-webview-darwin-arm64":"0.27.4","@opentray/ext-webview-windows-arm64":"0.27.4"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.4_1789333488554_0.8492300987660746","host":"s3://npm-registry-packages-npm-production"}},"0.27.7":{"name":"@opentray/ext-webview","version":"0.27.7","license":"MIT","_id":"@opentray/ext-webview@0.27.7","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"b1a8cb57c42b009ab55067fb29d6aa38869a63b6","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.27.7.tgz","fileCount":7,"integrity":"sha512-sfNNazgBxTFzP804JXwJe5lfi9zjlows44+6qN2IAAvhYitVvbKrgDT0MqWMjm/s0v5S7HDCafLCYZ7sjSnAfw==","signatures":[{"sig":"MEUCID8r3sLknv9Vm5AATrprg+MY9qja4awB70f8yWH3qKlAAiEAhj/mRojWwyilZaBMHd/49qh14l4cBO+X96CHaZHoqLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICtm6HHdsbpAWS1rOOUuTwmYKshVwH+JskNXe9G4LnwmAiEAijPx4O0vLN3FOfSyIiqpdh+4tqyufUqeXIlCEoHk5zg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.27.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490242},"type":"module","_from":"file:opentray-ext-webview-0.27.7.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/e3a03424a4643d4ac122e2a2cfa4585d/opentray-ext-webview-0.27.7.tgz","_integrity":"sha512-sfNNazgBxTFzP804JXwJe5lfi9zjlows44+6qN2IAAvhYitVvbKrgDT0MqWMjm/s0v5S7HDCafLCYZ7sjSnAfw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.27.7","typescript":"^6.0.3","@opentray/spec":"0.27.7"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.27.7","@opentray/ext-webview-windows-x64":"0.27.7","@opentray/ext-webview-darwin-arm64":"0.27.7","@opentray/ext-webview-windows-arm64":"0.27.7"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.27.7_1789503205574_0.283976812063228","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@opentray/ext-webview","version":"0.28.0","license":"MIT","_id":"@opentray/ext-webview@0.28.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"7882b1eab42f982ba9b91f98479df555b755eb39","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.28.0.tgz","fileCount":7,"integrity":"sha512-dX+OnqvIr6cbHa8VTSnk2AyM5kUHQbQ2Y7bakhUybPhHbuZaL47/HGqJyp/n3H1oG1epvfgSmar+Vy8xm6c+FQ==","signatures":[{"sig":"MEYCIQCwczvDbFHBz/DtIfaNR/SU2zIrMov1logOGTak/QrUqQIhAJGvg7J6aMhmQ/kLJHxmb3xZOLvxhDQn4jD/BSCSG7J4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICtAnyz+MAj8TS7Mb5Sb0m+SrePMa5zRCEbc6vMpmQ/CAiAUm8Ij5o7mY6uHxX6UYTxpXJB2TM1yDD92IsmjRDuQBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":511109},"type":"module","_from":"file:opentray-ext-webview-0.28.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/a0335d3f09182d5fb528147aeffc0ae2/opentray-ext-webview-0.28.0.tgz","_integrity":"sha512-dX+OnqvIr6cbHa8VTSnk2AyM5kUHQbQ2Y7bakhUybPhHbuZaL47/HGqJyp/n3H1oG1epvfgSmar+Vy8xm6c+FQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.28.0","typescript":"^6.0.3","@opentray/spec":"0.28.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.28.0","@opentray/ext-webview-windows-x64":"0.28.0","@opentray/ext-webview-darwin-arm64":"0.28.0","@opentray/ext-webview-windows-arm64":"0.28.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.28.0_1789554071868_0.7532594480717665","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@opentray/ext-webview","version":"0.29.0","license":"MIT","_id":"@opentray/ext-webview@0.29.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"1c415966f30f3f05006bc17cd6b7ec8e4da2e0a7","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.29.0.tgz","fileCount":7,"integrity":"sha512-+I+wjriVDX/K4f7fSl6qdJJKMG+uuiTA2sWWMSQU1GsqGFBhsUhm+WZo04iA9Wdq+72Co+RhGf3m1H6JowWi4Q==","signatures":[{"sig":"MEQCICfSgBYEWiviQlQ9Sy1XODtnaefdEjv2/jOpWokRy35bAiBTR2BCMae8mi9j4u2ZXWR/M8VkilafekaYeN0h1wswJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAVTsdJtBmn0OCg9p5unAOOYOxoHCS/X0kkneV0vZE5/AiEA8Df+/7tQuFSuMx1rdkM8J1JZCdS81e0roGIBTP8T41g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.29.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/0f256dbbfc2409eb13bc55875cef74d2/opentray-ext-webview-0.29.0.tgz","_integrity":"sha512-+I+wjriVDX/K4f7fSl6qdJJKMG+uuiTA2sWWMSQU1GsqGFBhsUhm+WZo04iA9Wdq+72Co+RhGf3m1H6JowWi4Q==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.29.0","typescript":"^6.0.3","@opentray/spec":"0.29.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.29.0","@opentray/ext-webview-windows-x64":"0.29.0","@opentray/ext-webview-darwin-arm64":"0.29.0","@opentray/ext-webview-windows-arm64":"0.29.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.29.0_1789675440960_0.10506906054245468","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@opentray/ext-webview","version":"0.30.0","license":"MIT","_id":"@opentray/ext-webview@0.30.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"9ee4cca57dfb85eb0c5a7b75c53225485711dcac","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.30.0.tgz","fileCount":7,"integrity":"sha512-Cyu/EcGCBWGAN2KbsVNLNI9sK1+wHqF0ONjIukZl+LVLyPdyLouN9PtHmWjP3bWMJyFH7A7gu20VlRSh/SNsKQ==","signatures":[{"sig":"MEQCIGlQx9zndjEUAyuR022IYsAyHv3HG7oEAWnciOegZG6RAiBgK9ISx0znfI4kT/sYVPLWlqpWT79DSuyqmfqIYGjJZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHO+U9vKvGhcS/DErnv8m5T7VvH0zescxSqTEOmMXgjbAiEA2fKepVZT/mpg4a7iXHOtk8foB+RIG9Syc+ifobE3KAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.30.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/c12566b6b183ced8e5a2631d3de761a7/opentray-ext-webview-0.30.0.tgz","_integrity":"sha512-Cyu/EcGCBWGAN2KbsVNLNI9sK1+wHqF0ONjIukZl+LVLyPdyLouN9PtHmWjP3bWMJyFH7A7gu20VlRSh/SNsKQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.30.0","typescript":"^6.0.3","@opentray/spec":"0.30.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.30.0","@opentray/ext-webview-windows-x64":"0.30.0","@opentray/ext-webview-darwin-arm64":"0.30.0","@opentray/ext-webview-windows-arm64":"0.30.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.30.0_1789704761365_0.8873980061965916","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"@opentray/ext-webview","version":"0.30.1","license":"MIT","_id":"@opentray/ext-webview@0.30.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"d2e72b6f35f3e9d1976bb9e155ca3873f25a1ee6","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.30.1.tgz","fileCount":7,"integrity":"sha512-qEYZVMUHfrzBkfWGr7KMpXM5aGHCUPfTJLKrfzJHKCO7EHofOfYY/IZQ0b8J5sUXFuSiYc69V6eYAbUHI92ydQ==","signatures":[{"sig":"MEUCICEA5DOvs60F/agROyZPYw5rpTAVQBPnu7XwF43xbrwmAiEA7cNjHrrxuao3+EDjFt5sGdbiMVTTq/UD9O4uCFsVelQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICb6U2ctbRDkAkZfF9CIdXP5y1CLI848VKQAwkFXjrjiAiA3rC16i05IZ2lLsR+JA/mlNMG4Ysc9V8XAqGQcTqnb5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.30.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.30.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/ed53e785ee3874e3a46c4b3c1eb3f82a/opentray-ext-webview-0.30.1.tgz","_integrity":"sha512-qEYZVMUHfrzBkfWGr7KMpXM5aGHCUPfTJLKrfzJHKCO7EHofOfYY/IZQ0b8J5sUXFuSiYc69V6eYAbUHI92ydQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.30.1","typescript":"^6.0.3","@opentray/spec":"0.30.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.30.1","@opentray/ext-webview-windows-x64":"0.30.1","@opentray/ext-webview-darwin-arm64":"0.30.1","@opentray/ext-webview-windows-arm64":"0.30.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.30.1_1789725865272_0.2004199630670116","host":"s3://npm-registry-packages-npm-production"}},"0.30.2":{"name":"@opentray/ext-webview","version":"0.30.2","license":"MIT","_id":"@opentray/ext-webview@0.30.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"99a8c9174f025da1a9c2424ebd81a97535a810a3","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.30.2.tgz","fileCount":7,"integrity":"sha512-j+dLYVshGEFIDztrPFMkzfe7KdqEQfu6C52jvoOxrSOGBTDxl67mTKcQhwmxi80y6VycxI/jUW1BUgDoMQHsAw==","signatures":[{"sig":"MEQCIATtdahcTVluvaZdqrPkPCgSVL6q7mH4+FCZbOf28CyxAiAyx0QNpy7PcoT/nHlqWN0Qb56exWzfxwoIS3pK2MNgQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCkdxzfmToi4GImTyz1r8e7+zPXdhKwFTIzcl3RQzBfOQIhALJar499GQhfql9c283S0HEFM1cyARMlupR8uwez/es9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.30.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.30.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/a50ad18a0938004fdd33f423cfc3288b/opentray-ext-webview-0.30.2.tgz","_integrity":"sha512-j+dLYVshGEFIDztrPFMkzfe7KdqEQfu6C52jvoOxrSOGBTDxl67mTKcQhwmxi80y6VycxI/jUW1BUgDoMQHsAw==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.30.2","typescript":"^6.0.3","@opentray/spec":"0.30.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.30.2","@opentray/ext-webview-windows-x64":"0.30.2","@opentray/ext-webview-darwin-arm64":"0.30.2","@opentray/ext-webview-windows-arm64":"0.30.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.30.2_1789746250760_0.1726791226337716","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"@opentray/ext-webview","version":"0.31.0","license":"MIT","_id":"@opentray/ext-webview@0.31.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"92893ef602bc20015d2dbd9b8e85e09e4f7e469e","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.31.0.tgz","fileCount":7,"integrity":"sha512-jhGWZigJ7g3KvWvqukyeRBwI+lhKePhXEc3Qt4oYJ1N5pX1co1gbOv0u0vhXMUepFEmQKll6kiWpHCvELjVuyQ==","signatures":[{"sig":"MEUCID4tGNABNwc/z5Dhs8/JE3GGCqjx+UU2LilFgia3mhQLAiEAxr83qaGnYOGMVrWpdh7EbDE4Oozn2KjBmgIUu7uYqlY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDl3O7b9dui6okkglYjHBFVaSSBjuJDbJMIZh840z2a/gIhAOBu9ang1oiU8WivPZO0V3xbJHD76HiuTLPilCz275C1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.31.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/e0de84f626fc1bdfc611dc8f5329ad33/opentray-ext-webview-0.31.0.tgz","_integrity":"sha512-jhGWZigJ7g3KvWvqukyeRBwI+lhKePhXEc3Qt4oYJ1N5pX1co1gbOv0u0vhXMUepFEmQKll6kiWpHCvELjVuyQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.31.0","typescript":"^6.0.3","@opentray/spec":"0.31.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.31.0","@opentray/ext-webview-windows-x64":"0.31.0","@opentray/ext-webview-darwin-arm64":"0.31.0","@opentray/ext-webview-windows-arm64":"0.31.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.31.0_1789765972037_0.02532299091503276","host":"s3://npm-registry-packages-npm-production"}},"0.31.1":{"name":"@opentray/ext-webview","version":"0.31.1","license":"MIT","_id":"@opentray/ext-webview@0.31.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"c72a4fe5643ced84ae2e793a2fda742c7d409d17","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.31.1.tgz","fileCount":7,"integrity":"sha512-JyiBdE4/L5S56pml0qC3iNngC/wRCGoIdxdN+dPZZdjU4GhWiPq0/W/otAdANMs3n3f23Fw5djGpElkmqttvdA==","signatures":[{"sig":"MEYCIQDlyX2cST23F7KQvtHuAaO06wIg948BA3ls9c8joawNCgIhAPAAkdlthQeQ2j04xYk0yeRRIjeY1qR/dyezGf0UEC2D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDC3WqL/PbP6dir5QEuHMkNVnBhMfX5+X4JuT/g7OM7egIhAPZW3y4FRIFrCsbM6uTGIbJ5XqzOD0mKsC7l6M6OEulr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.31.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.31.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/284b4c947ef19026548d977c0031e4f5/opentray-ext-webview-0.31.1.tgz","_integrity":"sha512-JyiBdE4/L5S56pml0qC3iNngC/wRCGoIdxdN+dPZZdjU4GhWiPq0/W/otAdANMs3n3f23Fw5djGpElkmqttvdA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.31.1","typescript":"^6.0.3","@opentray/spec":"0.31.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.31.1","@opentray/ext-webview-windows-x64":"0.31.1","@opentray/ext-webview-darwin-arm64":"0.31.1","@opentray/ext-webview-windows-arm64":"0.31.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.31.1_1789767785474_0.2620300886880531","host":"s3://npm-registry-packages-npm-production"}},"0.31.2":{"name":"@opentray/ext-webview","version":"0.31.2","license":"MIT","_id":"@opentray/ext-webview@0.31.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"9bed73ad927c9b581a1a975a5095f757f4a3346f","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.31.2.tgz","fileCount":7,"integrity":"sha512-2Uq9TkSfC4VTU4K5c9EhwFO51IWepu1WBRsaY1GBQJBjo4+5vWhO8s19cBCOIWm+3T5CPcLHvN2wojqqPA0/xA==","signatures":[{"sig":"MEUCIQCXNW8hPQ98yg6vM40FYsQTd5yk2uqsU4nEkIYH5JhMPAIgBl37m3bFnan4jMe+Z9z1nOnkbCg0AZwOai/GWTlDXcc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC77MnrQtQW3illEScE+msZusKFMLy2NmTBE241GhgcPgIhAMiEbZU+mT6aaqrG2Cd1bP4+jRT3elrfSLf6hPwOk2nY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.31.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.31.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/71bf52d9d28d1e3908ba2c19fe5fc6fc/opentray-ext-webview-0.31.2.tgz","_integrity":"sha512-2Uq9TkSfC4VTU4K5c9EhwFO51IWepu1WBRsaY1GBQJBjo4+5vWhO8s19cBCOIWm+3T5CPcLHvN2wojqqPA0/xA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.31.2","typescript":"^6.0.3","@opentray/spec":"0.31.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.31.2","@opentray/ext-webview-windows-x64":"0.31.2","@opentray/ext-webview-darwin-arm64":"0.31.2","@opentray/ext-webview-windows-arm64":"0.31.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.31.2_1789809260434_0.38359129334267594","host":"s3://npm-registry-packages-npm-production"}},"0.31.3":{"name":"@opentray/ext-webview","version":"0.31.3","license":"MIT","_id":"@opentray/ext-webview@0.31.3","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"ff927c0e861ff4fc012e77e758f1b5b6bc13337c","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.31.3.tgz","fileCount":7,"integrity":"sha512-g5cFweJheAVId43YxU8VTt7ogCJH0KYgiGsDuf5JXgUQK9v0IK2aE/bB6krNRd++LwKpqjH+whjbVZ/TP+AblQ==","signatures":[{"sig":"MEUCIADF3S5OQkcfYh5c19xWlxtuyY/9HfrZGzg6/0rwNhjwAiEAiCdjCD3twnkVIN7TM7q5yMsGC893nOLBP70IlB4+Z8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD+injoHRGWMpwy7v6w/Bmq7sQQpYYz0fvjIfHRx7cGBwIhAOT8VR51a/J0eJh6ywQIkcPex1C9dBLZbpJvjcW2xMhp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.31.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.31.3.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/c550151f5d006b69091d8571d8f1e359/opentray-ext-webview-0.31.3.tgz","_integrity":"sha512-g5cFweJheAVId43YxU8VTt7ogCJH0KYgiGsDuf5JXgUQK9v0IK2aE/bB6krNRd++LwKpqjH+whjbVZ/TP+AblQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.31.3","typescript":"^6.0.3","@opentray/spec":"0.31.3"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.31.3","@opentray/ext-webview-windows-x64":"0.31.3","@opentray/ext-webview-darwin-arm64":"0.31.3","@opentray/ext-webview-windows-arm64":"0.31.3"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.31.3_1789819016718_0.47157463564848445","host":"s3://npm-registry-packages-npm-production"}},"0.32.0":{"name":"@opentray/ext-webview","version":"0.32.0","license":"MIT","_id":"@opentray/ext-webview@0.32.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"54c325817275e2f628d7f89362a385947a66ec24","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.32.0.tgz","fileCount":7,"integrity":"sha512-64FG0t/2qJ4wP1J7kpBlj0bTj6vu2phiH2wmC590187F4dh7R0T7pXWTEYyrukX39cLIJCFoH6PXwV8o5BIoJg==","signatures":[{"sig":"MEYCIQDyV5hpq20EsAzxNHYy33opwQPBYdogoFwPuBW8g4AkVAIhAIfsTW9uPB//cxU/d6nqFENSufHFoJOwmiTOdjlOE+0a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCtsaSyo6yplV1IK003cCvVohJt32wUV4SLosZHWfDAHgIgNJ1MfZ0ZnQRrgsi1zwud0txd24uA8tYxzeE0uuHja4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.32.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":512933},"type":"module","_from":"file:opentray-ext-webview-0.32.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/792fade9f7f115ce3e8b09bed09d28d2/opentray-ext-webview-0.32.0.tgz","_integrity":"sha512-64FG0t/2qJ4wP1J7kpBlj0bTj6vu2phiH2wmC590187F4dh7R0T7pXWTEYyrukX39cLIJCFoH6PXwV8o5BIoJg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.32.0","typescript":"^6.0.3","@opentray/spec":"0.32.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.32.0","@opentray/ext-webview-windows-x64":"0.32.0","@opentray/ext-webview-darwin-arm64":"0.32.0","@opentray/ext-webview-windows-arm64":"0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.32.0_1789822152282_0.4139257577416844","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@opentray/ext-webview","version":"0.33.0","license":"MIT","_id":"@opentray/ext-webview@0.33.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"e5d13a08b172fbb54becfa95761d1b017ab792b3","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.0.tgz","fileCount":7,"integrity":"sha512-xemIy5/fVuq/Ukigy5SOFnvUkQeRC5qCRc2+UMeT+G8/Nn92bXKee7h0lc0Ib34R3RstndJNUxjC5cFsKvqAOQ==","signatures":[{"sig":"MEUCIQDYoKRxPCKKwbZeqcqPt1oLPjstnH5PkXw6Di0CZ9EH/QIgSvPe+zZeGe3/FrsCvDktgDT9ejYAOwnerQujCx7W1p8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICA+ewjde/JluLE81sweT8Y6pwtZJwfZjR1+1Wwu3z/mAiBHcYtGoBNaP4eFNuOwpNgTm0wn8Gt0ciXUBRovQWsEsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522616},"type":"module","_from":"file:opentray-ext-webview-0.33.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/4d1eb8c38fed8f3bc9e32e2173feb254/opentray-ext-webview-0.33.0.tgz","_integrity":"sha512-xemIy5/fVuq/Ukigy5SOFnvUkQeRC5qCRc2+UMeT+G8/Nn92bXKee7h0lc0Ib34R3RstndJNUxjC5cFsKvqAOQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.0","typescript":"^6.0.3","@opentray/spec":"0.33.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.0","@opentray/ext-webview-windows-x64":"0.33.0","@opentray/ext-webview-darwin-arm64":"0.33.0","@opentray/ext-webview-windows-arm64":"0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.0_1789849990669_0.5354356348451963","host":"s3://npm-registry-packages-npm-production"}},"0.33.1":{"name":"@opentray/ext-webview","version":"0.33.1","license":"MIT","_id":"@opentray/ext-webview@0.33.1","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"58980c5e4952e0c8d57eecc00b4331f43faa0b86","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.1.tgz","fileCount":7,"integrity":"sha512-Q7ZRnDYkx5cZy3FR2Dirci4a06/ExpHCcd8KCctoBEdcP4tmHL+pCNGQ/8uO0ayzFGZ9z0zy5VgmsD7mg/yoRg==","signatures":[{"sig":"MEUCIF7Son/0VPpnfefcBLIWK/t8hYiZ1UQDm2hoLFRhEpmNAiEA3+jAkiMyyrIZVXm80EFwioZLbFOIMPYIYaqYFL/LpXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDVXYUYG4J4MzZs9rixKhHMkQsux6kubLu0eSAs4++XVAIhALWjsvVUa7log+2hd59asKFx91cH8Stv/EHQlLjGS2m7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":523940},"type":"module","_from":"file:opentray-ext-webview-0.33.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/7096f7fefaa2cc438c9d60d2a7bebe69/opentray-ext-webview-0.33.1.tgz","_integrity":"sha512-Q7ZRnDYkx5cZy3FR2Dirci4a06/ExpHCcd8KCctoBEdcP4tmHL+pCNGQ/8uO0ayzFGZ9z0zy5VgmsD7mg/yoRg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.1","typescript":"^6.0.3","@opentray/spec":"0.33.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.1","@opentray/ext-webview-windows-x64":"0.33.1","@opentray/ext-webview-darwin-arm64":"0.33.1","@opentray/ext-webview-windows-arm64":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.1_1789857385198_0.4209276886105531","host":"s3://npm-registry-packages-npm-production"}},"0.33.2":{"name":"@opentray/ext-webview","version":"0.33.2","license":"MIT","_id":"@opentray/ext-webview@0.33.2","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"56b5ac351e549fd32dcae79416d10465a99a8976","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.2.tgz","fileCount":7,"integrity":"sha512-0qIF30VEuSKdVPBUIIXcsS+NU8MZgM1Eja6sldU6wUxdeHbE6/k0FuGyZHpPDFCvHO/xpj1WgYW85kaEjqk5yg==","signatures":[{"sig":"MEUCICvuCI+ttAfvb0JOEBYCvvy8b1Yc0K9Ws3JnZLV9r9hlAiEA0JpItLgc2HP2pfbcY9yU8VZNfwKxHI4NzjtwnVP2ETE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCJPvSw4IwQmbQ/A8pnIsVuauNzaz53tl0EyG3BtmcVXwIhAOAx+ZHkUoW3NV2EJ6mk3tuqXfLNe/NtliwJHVfPNWEk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526612},"type":"module","_from":"file:opentray-ext-webview-0.33.2.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/07e86a5f7dc4d7a9a1a72828702031c9/opentray-ext-webview-0.33.2.tgz","_integrity":"sha512-0qIF30VEuSKdVPBUIIXcsS+NU8MZgM1Eja6sldU6wUxdeHbE6/k0FuGyZHpPDFCvHO/xpj1WgYW85kaEjqk5yg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.19.1","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.2","typescript":"^6.0.3","@opentray/spec":"0.33.2"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.2","@opentray/ext-webview-windows-x64":"0.33.2","@opentray/ext-webview-darwin-arm64":"0.33.2","@opentray/ext-webview-windows-arm64":"0.33.2"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.2_1789911924136_0.9851570146614286","host":"s3://npm-registry-packages-npm-production"}},"0.33.3":{"name":"@opentray/ext-webview","version":"0.33.3","license":"MIT","_id":"@opentray/ext-webview@0.33.3","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"a338917d31fb6b31de0e339d3eeb86e257f14498","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.3.tgz","fileCount":7,"integrity":"sha512-A90Y4jw2GT4TaY0/7DkkXCr0BPcVNX4/LdFfi8oRxTSqcJq7YU3WIRH+HiZvLn5Ea7Z6bRqXBH/+cl+CJXZ/WA==","signatures":[{"sig":"MEQCIAJxHCQC/vPE7kudR0w/XsBVm/s/iYDVGXgxDOSkWfE6AiBERlNQAGsPsyGSmFFoNJ5EW5Mkqqr+glvlbMDoh9VnOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDiGWEOX3ofwNJvap1msusOpCiJqyrl/FrOpwd3RCRTOQIhAOImh4lptfWqpTkbA7oJU1gRIFGLM9oyVN6bJdPH0p3x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526612},"type":"module","_from":"file:opentray-ext-webview-0.33.3.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/974501102eff50e30bf04b2391b1ed91/opentray-ext-webview-0.33.3.tgz","_integrity":"sha512-A90Y4jw2GT4TaY0/7DkkXCr0BPcVNX4/LdFfi8oRxTSqcJq7YU3WIRH+HiZvLn5Ea7Z6bRqXBH/+cl+CJXZ/WA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.20.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.3","typescript":"^6.0.3","@opentray/spec":"0.33.3"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.3","@opentray/ext-webview-windows-x64":"0.33.3","@opentray/ext-webview-darwin-arm64":"0.33.3","@opentray/ext-webview-windows-arm64":"0.33.3"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.3_1790201825389_0.7497799464470472","host":"s3://npm-registry-packages-npm-production"}},"0.33.4":{"name":"@opentray/ext-webview","version":"0.33.4","license":"MIT","_id":"@opentray/ext-webview@0.33.4","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"0f5fdcbe0ab908bb6288f6eab4fea3a9af719c73","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.4.tgz","fileCount":7,"integrity":"sha512-Y9fRaDlH2NElbv9hKQkQpxq3HBFx/Ol4FJwE33l2k+6FAZFKswGfgzO6vOp3QM+OYiaqqMAlS6qdmNyPHhpSpg==","signatures":[{"sig":"MEUCIFD5bO7vh9TjHENg1IASSMQtXaalaCzHFNzTctsNz1FXAiEAsc5AtOupSleXn9PM0DXd2kWJhCkiyD/1YQVFoteJysY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHVjJYqcX3XU240hnbrJAXCV+vxtxvvQ9Oc+RLazW0yvAiALPLWSHOSfmsxobMVcDoyDT3FtHFJpANYUujSZk6KFfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526612},"type":"module","_from":"file:opentray-ext-webview-0.33.4.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/e63d6edf3bc40c446fd64833fdd8396b/opentray-ext-webview-0.33.4.tgz","_integrity":"sha512-Y9fRaDlH2NElbv9hKQkQpxq3HBFx/Ol4FJwE33l2k+6FAZFKswGfgzO6vOp3QM+OYiaqqMAlS6qdmNyPHhpSpg==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.20.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.4","typescript":"^6.0.3","@opentray/spec":"0.33.4"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.4","@opentray/ext-webview-windows-x64":"0.33.4","@opentray/ext-webview-darwin-arm64":"0.33.4","@opentray/ext-webview-windows-arm64":"0.33.4"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.4_1790259186283_0.7094757933668492","host":"s3://npm-registry-packages-npm-production"}},"0.33.5":{"name":"@opentray/ext-webview","version":"0.33.5","license":"MIT","_id":"@opentray/ext-webview@0.33.5","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"126bbbc4fcc13e02c4ef42d93fa30476592de8e1","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.5.tgz","fileCount":7,"integrity":"sha512-X7dpfaRoWXzH7oM32W9UM3y3/kvQ89nTT9di9TFFt4e7jdmPBEPKLjXCmTQn8iMVThnE8x9J914F70kJG9hi6A==","signatures":[{"sig":"MEQCIDX/w43Jws/wvp8+A+iidDBmNj9PO9zk8ihSYc1scTa2AiAEwJeGrz8r3kYG8XOn9ur317yl0cMYGhjCTIHPHwCLwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAFEaF6hGrPOKukxWAkS9n8Hdv358B3b5TiTGKmOfvz4AiBgw7jpht98je0znB3FVas1W3oEBSiYThbJgP1uzU2Srg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526612},"type":"module","_from":"file:opentray-ext-webview-0.33.5.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/b530d5c1088eca4e3677af05822c7268/opentray-ext-webview-0.33.5.tgz","_integrity":"sha512-X7dpfaRoWXzH7oM32W9UM3y3/kvQ89nTT9di9TFFt4e7jdmPBEPKLjXCmTQn8iMVThnE8x9J914F70kJG9hi6A==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.20.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.5","typescript":"^6.0.3","@opentray/spec":"0.33.5"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.5","@opentray/ext-webview-windows-x64":"0.33.5","@opentray/ext-webview-darwin-arm64":"0.33.5","@opentray/ext-webview-windows-arm64":"0.33.5"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.5_1790261379326_0.4419346159179134","host":"s3://npm-registry-packages-npm-production"}},"0.33.6":{"name":"@opentray/ext-webview","version":"0.33.6","license":"MIT","_id":"@opentray/ext-webview@0.33.6","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"bad54ece26671ac21525d3547b9d0cc370781342","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.6.tgz","fileCount":7,"integrity":"sha512-HsKk6FEtNxNfB7UtrIFnXVUWbRWcYjhn0o5tkKXovP/4Sm9sPVB47tPQVJmgJecU3wqP4PbdTTzk3396Hhn7eQ==","signatures":[{"sig":"MEUCIHFC6U/T6rWm0ubjBE0M3j7i+ZVG9YeTf4/MDpXmOXvQAiEAjFpvMW2mjP+RJrSvXoRuX1Qiuc7QFK9/P4MlsJbfRjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFk+hhqE57d1Bb21Yp19cjmxJa8euGJJXu8nDCPeq4YEAiAvmoaalKiYFtfyqmLGT4Wvw7sSM5JcC8/tzsD8p15X3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526612},"type":"module","_from":"file:opentray-ext-webview-0.33.6.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/7064c51b54f64407df9b7bfae7dc1172/opentray-ext-webview-0.33.6.tgz","_integrity":"sha512-HsKk6FEtNxNfB7UtrIFnXVUWbRWcYjhn0o5tkKXovP/4Sm9sPVB47tPQVJmgJecU3wqP4PbdTTzk3396Hhn7eQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.20.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.6","typescript":"^6.0.3","@opentray/spec":"0.33.6"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.6","@opentray/ext-webview-windows-x64":"0.33.6","@opentray/ext-webview-darwin-arm64":"0.33.6","@opentray/ext-webview-windows-arm64":"0.33.6"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.6_1790677255608_0.07637113808822082","host":"s3://npm-registry-packages-npm-production"}},"0.33.7":{"name":"@opentray/ext-webview","version":"0.33.7","license":"MIT","_id":"@opentray/ext-webview@0.33.7","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"3232d990cc072d58ab74bcfe93cab294f1ade6b6","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.33.7.tgz","fileCount":7,"integrity":"sha512-A5feViD/B/aMZ9EOQ9Zu+q0KtyQ7KA182VdH2rFe9jqbQU4d5HX4p3SobXhEFmc01q+9R0mmF83GZND5Pd1UZQ==","signatures":[{"sig":"MEQCIEPOuKwQJebUw76/2MXpdsDyP6eoRPjXcGK05A8EKridAiAGsR2Krf4aMNyes6BwMRbHuow+WDwWyhx7iyfmfh1HXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHXYVYhMzvasARPbwCuA1hkcQtcHj+A/5J3cLpZHyvisAiBL6EFqbHKXUQ7vyzB+PV8YJFuLAceeDIdpYu12+2aI2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.33.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":526802},"type":"module","_from":"file:opentray-ext-webview-0.33.7.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/4aaa40493201413d99f44057135f930d/opentray-ext-webview-0.33.7.tgz","_integrity":"sha512-A5feViD/B/aMZ9EOQ9Zu+q0KtyQ7KA182VdH2rFe9jqbQU4d5HX4p3SobXhEFmc01q+9R0mmF83GZND5Pd1UZQ==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.21.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.33.7","typescript":"^6.0.3","@opentray/spec":"0.33.7"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.33.7","@opentray/ext-webview-windows-x64":"0.33.7","@opentray/ext-webview-darwin-arm64":"0.33.7","@opentray/ext-webview-windows-arm64":"0.33.7"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.33.7_1790837598986_0.6136581352068244","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@opentray/ext-webview","version":"0.34.0","license":"MIT","_id":"@opentray/ext-webview@0.34.0","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"homepage":"https://github.com/jixoai/opentray#readme","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"86b5de3fe8053afb569c77f34740180a9584f059","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.34.0.tgz","fileCount":7,"integrity":"sha512-e13zGIR6lE4oN0ycsaGUId3xTqU4PMXFZ6AIbRfESKTPorF/efwDUqF+qk1qEG/QFBmgjOzOM5agkcEgAoaDkA==","signatures":[{"sig":"MEYCIQCWnw1gm/xCpUg+88qYklU/OVkCcrKalzj4J8IY2/1OQQIhANZmw+yHIL3uwald712Pl/aFd/9gKXAL/F9LC6mHHEq/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD+Vo4l1jnQ/zJQxqgBZSx8eftaiTbonQHj92SZDjYMEQIhANhPbYJzLeTuzB/4XuV0XMZJVJTQba7MKrUn//GWJPrI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.34.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532598},"type":"module","_from":"file:opentray-ext-webview-0.34.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"_resolved":"/tmp/cf9ca6d20db4f26b7e5a45f7b4583957/opentray-ext-webview-0.34.0.tgz","_integrity":"sha512-e13zGIR6lE4oN0ycsaGUId3xTqU4PMXFZ6AIbRfESKTPorF/efwDUqF+qk1qEG/QFBmgjOzOM5agkcEgAoaDkA==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.21.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.34.0","typescript":"^6.0.3","@opentray/spec":"0.34.0"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.34.0","@opentray/ext-webview-windows-x64":"0.34.0","@opentray/ext-webview-darwin-arm64":"0.34.0","@opentray/ext-webview-windows-arm64":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/ext-webview_0.34.0_1790849752273_0.20039733303060947","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"_id":"@opentray/ext-webview@0.34.1","bugs":{"url":"https://github.com/jixoai/opentray/issues"},"dist":{"shasum":"8ef5b687b1b26a1bbfc15485b0baae17fab4cf4f","tarball":"https://registry.npmjs.org/@opentray/ext-webview/-/ext-webview-0.34.1.tgz","fileCount":7,"integrity":"sha512-CxoJk2MtOzdpIsXyi3dJtcS9wjMi8szQjtmaf9xzt1mk0mIUjSZo+fdpAusbQH0/U2WXfpebf1H8CwGBi1cv8w==","signatures":[{"sig":"MEUCIDkt3M+IRidLKt2HKtk8ITrV4nDSoJWCE6aWRByERm7BAiEAqhQnbiipp6v4Wi3TW0j4li6wiGIaPc9OaiXb6H7pPmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoXA6d6zh4K2lFVRRskJOxccxNDez1YuWxOQ0pY59RZQIgCdWmF+eT/impH/25jY0mSBmxpzbZCZamj26f75V3kbQ="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opentray%2fext-webview@0.34.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532598},"name":"@opentray/ext-webview","type":"module","_from":"file:opentray-ext-webview-0.34.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest run","build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","example:webview":"bun run examples/webview-command.ts"},"version":"0.34.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a08f26d5-239e-41d0-b231-3ff9f9d40290"}},"homepage":"https://github.com/jixoai/opentray#readme","_resolved":"/tmp/392142c20b1db3e0960c0554dd5658d7/opentray-ext-webview-0.34.1.tgz","_integrity":"sha512-CxoJk2MtOzdpIsXyi3dJtcS9wjMi8szQjtmaf9xzt1mk0mIUjSZo+fdpAusbQH0/U2WXfpebf1H8CwGBi1cv8w==","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"_npmVersion":"11.21.0","description":"Official OpenTray rich popup extension backed by platform WebView engines.","directories":{},"maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.1","vitest":"^4.1.7","opentray":"0.34.1","typescript":"^6.0.3","@opentray/spec":"0.34.1"},"peerDependencies":{"opentray":">=0.0.0"},"optionalDependencies":{"@opentray/ext-webview-darwin-x64":"0.34.1","@opentray/ext-webview-windows-x64":"0.34.1","@opentray/ext-webview-darwin-arm64":"0.34.1","@opentray/ext-webview-windows-arm64":"0.34.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ext-webview_0.34.1_1790880681860_0.08827001770024667"}}},"time":{"created":"2026-05-30T15:36:23.236Z","modified":"2026-10-01T18:51:22.863Z","0.0.0":"2026-05-30T15:36:23.630Z","0.1.0":"2026-05-31T10:09:39.619Z","0.2.0":"2026-06-01T16:52:35.224Z","0.3.0":"2026-06-02T15:22:43.751Z","0.0.0-alpha-20260605111358":"2026-06-05T11:14:14.137Z","0.4.0":"2026-06-05T14:06:24.771Z","0.5.0":"2026-06-09T11:27:57.959Z","0.6.0":"2026-06-09T12:58:48.386Z","0.7.0":"2026-06-24T02:23:09.566Z","0.7.1":"2026-06-27T05:54:26.364Z","0.10.0":"2026-06-27T16:23:53.539Z","0.10.2":"2026-06-28T04:48:39.583Z","0.10.3":"2026-06-29T21:37:38.412Z","0.11.0":"2026-07-06T14:57:46.257Z","0.11.1":"2026-07-07T12:59:04.336Z","0.11.2":"2026-07-07T15:02:27.217Z","0.12.0":"2026-07-09T16:32:16.072Z","0.13.0":"2026-07-14T15:12:40.540Z","0.14.0":"2026-07-14T20:43:12.296Z","0.14.1":"2026-07-17T04:54:22.461Z","0.14.2":"2026-07-17T08:04:56.732Z","0.14.3":"2026-07-17T09:26:03.107Z","0.14.4":"2026-07-17T17:22:18.017Z","0.15.0":"2026-07-19T07:15:10.064Z","0.16.0":"2026-07-19T12:25:27.452Z","0.17.0":"2026-07-20T05:43:14.002Z","0.18.0":"2026-07-21T13:24:08.853Z","0.19.0":"2026-08-17T16:44:20.422Z","0.19.1":"2026-08-17T17:29:10.957Z","0.20.0":"2026-08-19T07:38:19.389Z","0.21.0":"2026-08-19T18:06:45.425Z","0.21.1":"2026-08-19T20:35:30.300Z","0.22.0":"2026-09-09T19:45:22.297Z","0.23.0":"2026-09-10T12:46:08.858Z","0.24.0":"2026-09-11T03:47:44.338Z","0.25.0":"2026-09-12T11:54:15.001Z","0.26.0":"2026-09-12T12:25:08.212Z","0.27.0":"2026-09-13T01:55:50.347Z","0.27.1":"2026-09-13T08:37:52.495Z","0.27.2":"2026-09-13T14:41:14.313Z","0.27.3":"2026-09-13T19:21:01.352Z","0.27.4":"2026-09-13T21:04:48.632Z","0.27.7":"2026-09-15T20:13:25.671Z","0.28.0":"2026-09-16T10:21:11.969Z","0.29.0":"2026-09-17T20:04:01.047Z","0.30.0":"2026-09-18T04:12:41.475Z","0.30.1":"2026-09-18T10:04:25.369Z","0.30.2":"2026-09-18T15:44:10.846Z","0.31.0":"2026-09-18T21:12:52.137Z","0.31.1":"2026-09-18T21:43:05.561Z","0.31.2":"2026-09-19T09:14:20.517Z","0.31.3":"2026-09-19T11:56:56.802Z","0.32.0":"2026-09-19T12:49:12.389Z","0.33.0":"2026-09-19T20:33:10.757Z","0.33.1":"2026-09-19T22:36:25.276Z","0.33.2":"2026-09-20T13:45:24.219Z","0.33.3":"2026-09-23T22:17:05.491Z","0.33.4":"2026-09-24T14:13:06.379Z","0.33.5":"2026-09-24T14:49:39.424Z","0.33.6":"2026-09-29T10:20:55.760Z","0.33.7":"2026-10-01T06:53:19.145Z","0.34.0":"2026-10-01T10:15:52.362Z","0.34.1":"2026-10-01T18:51:21.969Z"},"bugs":{"url":"https://github.com/jixoai/opentray/issues"},"license":"MIT","homepage":"https://github.com/jixoai/opentray#readme","repository":{"url":"git+https://github.com/jixoai/opentray.git","type":"git"},"description":"Official OpenTray rich popup extension backed by platform WebView engines.","maintainers":[{"name":"kezhaofeng","email":"gaubeebangeel@gmail.com"}],"readme":"<!--\nOrthogonal intents (2026-07-17; original user request; maintained 2026-09-12 with the\nmulti-webview orchestration contract from the add-webview-orchestration change):\n1. Expose native WebView window controls and their measurable overlay geometry.\n2. Let Windows overlay caption controls use explicit opaque background and symbol colors.\n3. Keep macOS controls native and transparent rather than emulating Windows composition.\n4. Keep frameless shell ownership and explicit user-resize intent consistent across macOS and Windows.\n5. Teach retained WebView tray primary actions through operational visibility, not local booleans.\n6. Prevent Windows native host/DWM residue through persistent parent-surface ownership and ordered child commits.\n7. Contract the multi-webview orchestration surface: sibling child webviews, declarative\n   layered layout, targeted message channels, and the unified per-view push event family.\n-->\n\n# @opentray/ext-webview\n\nOfficial rich popup extension for OpenTray.\n\n## Role\n\n- Provide borderless tray-adjacent popup panels.\n- Use platform WebView engines through the native extension layer.\n- Route WebView messages through the owning `appId` / `trayId`.\n\nThis package is an extension atom. It must not become the owner of core tray lifecycle.\n\nThe facade stays platform-neutral. Supported native libraries are optional platform packages named `@opentray/ext-webview-<os>-<arch>`, and the runtime host resolves them through the dynamic extension discovery law when a mounted WebView capability loads `@opentray/ext-webview`. Official WebView native packages are currently published for macOS and Windows only; Linux is unsupported for this extension.\n\nThe platform dylib owns the full WebView protocol and native runtime. `opentray` forwards scoped extension traffic to it, but does not keep a core-side WebView parser or native WebView builder.\n\n## Install\n\n```bash\npnpm add opentray @opentray/ext-webview\n```\n\nWhen locking a compatible package closure, use the same protocol-line tag for both packages:\n\n```bash\npnpm add opentray@stable-A-B @opentray/ext-webview@stable-A-B\n```\n\nUse `alpha-A-B` for alpha packages on the same protocol line. Do not install platform WebView packages directly; `@opentray/ext-webview` resolves the supported native package through optional dependencies.\n\n`WebviewExt.artifact` records the facade package, canonical contract manifest, and target package mappings. OpenTray resolves that descriptor from the facade's own dependency closure, so an unmanaged platform package in the consumer root cannot shadow the installed WebView runtime.\n\n## First Panel\n\nCall `createTray()` directly and mount WebView through `tray.extend(WebviewExt)`. The first `show()` loads the native extension. A primary tray item should always state its next action, use `toVisible()` for a retained session, and use `close()` to hide without destroying page state:\n\n```ts\nimport { createTray } from \"opentray\";\nimport { WebviewExt } from \"@opentray/ext-webview\";\n\nconst primaryItemId = 1;\nconst menu = (visible: boolean) => ({\n  items: [\n    {\n      type: \"item\" as const,\n      id: primaryItemId,\n      title: visible ? \"Hide Example\" : \"Show Example\",\n      primaryEvent: true,\n    },\n  ],\n});\n\nconst tray = (\n  await createTray(\n    {\n      id: \"com.example.panel\",\n      icon: { \"text-only\": \"OT\" },\n      menu: menu(false),\n    },\n    { appId: \"com.example.panel\", appName: \"Panel\" }\n  )\n).extend(WebviewExt);\nconst panel = tray.createWebviewWindow({\n  html: \"<main>Hello</main>\",\n  width: 360,\n  height: 220,\n});\n\nlet bootstrapped = false;\nlet visibilitySubscribed = false;\nlet stopVisibleChange: (() => void) | undefined;\nconst subscribeVisibility = () => {\n  if (visibilitySubscribed) return;\n  visibilitySubscribed = true;\n  stopVisibleChange = panel.listen(\"visibleChange\", ({ payload }) =>\n    void tray.setMenu(menu(payload.visible)),\n  );\n};\ntray.onMenuClick(async ({ itemId }) => {\n  if (itemId !== primaryItemId) return;\n  if (!bootstrapped) {\n    await panel.show();\n    bootstrapped = true;\n    subscribeVisibility();\n    await tray.setMenu(menu(true));\n  } else if (await panel.isVisible()) {\n    await panel.close();\n  } else {\n    await panel.toVisible();\n  }\n});\n```\n\nRegister any native window listener only after the first successful `show()`. During final teardown, invoke every unlisten callback, call `destroy()` on the WebView handle, then close the tray/runtime connection. This prevents event polling and native sessions from outliving the example process.\n\n`createTray()` is the public creation entrypoint. The runtime ships as a packaged executable (`bin/opentray`); `createTray()` spawns it on demand and talks the OpenTray newline-JSON protocol over a socket. Application code does not import a Node binding, host a native main loop, or wrap tray creation in a worker — the calling process is the caller, and the executable owns the native event loop and session lifecycle.\n\nUse `attachWebview(tray)` only as a compatibility adapter for older code. New code should prefer `tray.extend(WebviewExt)` so multiple trays can mount isolated WebView instances.\n\n## Maturity Truth\n\nRead the current platform story as four different truths, not one vague support flag:\n\n- `stable`: current human-visible acceptance path\n- `alpha`: published contract or package path that is still pre-stable for real user-facing runtime behavior\n- `unsupported by design`: the runtime deliberately rejects a request because it does not truthfully map to the current substrate\n- `unavailable by context`: the capability exists, but the current WebView session does not have authoritative data for that specific request\n\nCurrent WebView maturity:\n\n- macOS: `stable` for the window capability surface documented below\n- Windows: `stable` for the WebView2-backed window capability surface documented below\n- Linux: `unsupported by design`; OpenTray core still supports Linux, but `@opentray/ext-webview` no longer publishes Linux native packages\n- requesting `platform.windows.*` from the macOS runtime, or unknown macOS material/material-state values: `unsupported by design`\n- tray bounds with no authoritative tray anchor in the current session: `unavailable by context`\n\n## Window Capability\n\n`@opentray/ext-webview` owns its native window capability surface inside the extension atom. The runtime host only forwards extension traffic.\n\nmacOS support includes:\n\n- frameless windows through native `NSWindow` style projection\n- transparent WebView/window background through Wry + AppKit\n- material backgrounds through `window-vibrancy`\n- keep-on-top window level on macOS\n- whole-window opacity through `style.opacity`\n- titlebar overlay geometry through `navigator.opentrayWindow.overlay`\n- native app-region dragging through `startAppRegionDrag()` and declarative window regions through `bindWindowRegion()`\n- minimize, maximize, and restore window-state controls\n- operational visibility through `isClosed()`, `isVisible()`, `toVisible()`, and `visibleChange`\n- explicit foreground activation through `focus()`\n- common native focus-loss dismissal through `style.autoHide`, defaulting to `true` and suppressed by `keepOnTop`\n- adjustable native window-frame corner radius through `style.platform.macos.cornerRadius`\n- native title and icon state\n- declarative `document.title` / native-title synchronization\n- declarative favicon / native-icon synchronization, with best-effort native projection\n- screen details through `navigator.screen` / `navigator.opentrayScreen`\n- tray bounds through `navigator.opentray.tray.getBounds()`\n- source-scoped native capability policy with local-only defaults for remote safety\n\nWindows support includes:\n\n- visible WebView2-backed windows through Wry\n- `show`, `hide`, `destroy`, `setContent`, `navigate`, `evaluate`, and `postMessage`\n- `navigator.window` / `navigator.opentrayWindow` bridge injection with source-scoped `nativeApiPolicy`\n- `close`, `focus`, `moveTo`, `resizeTo`, `minimize`, `maximize`, `restore`, `getWindowState`, `isClosed`, `isVisible`, `toVisible`, `isMaximized`, and `isMinimized`\n- `getStyle` / `setStyle` for common `frameless`, `resizable`, `background`, `keepOnTop`, `autoHide`, and `opacity`\n- `windowControlsOverlay` geometry, Windows caption-button `backgroundColor` / `symbolColor`, `startAppRegionDrag()`, and subscription-driven bridge events\n- title sync and native window/taskbar icon projection for RGBA icons, local icon files, and PNG data URLs\n- Windows DWM background materials through `style.background`: `auto`, `mica`, `acrylic`, and `tabbed`\n- Windows 11 corner preference through `style.platform.windows.cornerPreference`: `default`, `doNotRound`, `round`, and `roundSmall`\n- current-monitor screen snapshot through `navigator.screen` / `navigator.opentrayScreen`\n- tray bounds projection through `navigator.opentray.tray.getBounds()`\n\nFull Windows multi-monitor enumeration remains a follow-up; the current screen API is a current-monitor snapshot.\n\nVisual effects stay capability-gated. Unsupported or platform-fragile effects must reject with typed unsupported errors rather than faking success.\n\nFor glass or blur-style surfaces, two things must line up at once:\n\n- native background must be one mutually exclusive mode: `transparent`, `semantic: blur`, or `platformMaterial`\n- the page must leave some regions genuinely transparent instead of covering the whole window with opaque HTML or CSS blur overlays\n\n`style.opacity` is a separate whole-window shell alpha from `0` through `1`. It composes with `style.background`, but it does not choose a backing mode: `opacity: 0.72` keeps an opaque background opaque unless you also request `background: \"transparent\"`, semantic blur, or a platform material.\n\n`style.resizable` controls user-driven resizing and is independent from programmatic `resizeTo(...)`:\n\n- framed windows default to `resizable: true`\n- frameless windows default to `resizable: false`\n- an explicit `resizable` value survives later `frameless` changes\n- Windows frameless windows with `resizable: true` reserve a six-CSS-pixel edge/corner band and resize through the native HWND; pages do not implement a pointer-move `resizeTo()` loop\n- macOS maps the same intent to `NSWindowStyleMask::Resizable`\n\n### Frameless Resize And Native Scrollbars\n\nOn Windows, a regular Chromium vertical scrollbar coexists with the `right` and `bottomRight` soft-resize gestures of a frameless WebView. The injected capture-phase detector measures the six-CSS-pixel edge band against `window.innerWidth`, then the native HWND owns the resize interaction. A normal page scrollbar does not require a reserved outer gutter or a custom scrollbar for right-edge resizing to work.\n\nDuring that soft-resize interaction the runtime updates the HWND/WebView bounds and repaints in place. It does not run a shell transition, synthetic geometry pulse, timer, or private recovery message. Material `WM_SIZE` ordering is native host paint first, then WebView2 controller bounds, WRY child bounds, and parent-position notification. A pure window move only notifies the WebView parent. Retained reveal recommits the parent surface immediately after the window becomes visible; style/background changes complete the parent before committing the WebView child. Frameless `WM_NCCALCSIZE` handling owns every message form, so resize, minimize, and restore do not reintroduce a native titlebar.\n\nAn application may still make its scrolling container narrower than the viewport, or use a custom/overlay scrollbar, when its own edge controls or layout must avoid the reserved six-pixel resize band. That is a product layout choice, not an OpenTray workaround for normal native scrollbars. Smoke-test nonstandard page hit testing and scrollbar implementations with the target interaction.\n\nTreat `style.background` as the single source of truth for native backing and material composition:\n\n- `{ kind: \"opaque\" }` means an opaque native/WebView backing\n- `{ kind: \"transparent\" }` means a clear native/WebView backing with no material\n- `{ kind: \"semantic\", token: \"blur\" }` means the runtime should choose the platform blur material, currently Windows Acrylic and macOS `hudWindow`\n- `{ kind: \"platformMaterial\", material: \"...\" }` means a substrate-specific material name, such as Windows `mica` or macOS `hudWindow`\n- material modes clear the native/WebView backing as part of the same transaction; callers must not combine a separate transparent flag with material fields\n\nMaterial selection has a second axis: background state. Use `background.state` to choose whether the system material follows the window focus state or stays forced active/inactive:\n\n- `followsWindowActiveState` keeps the platform default behavior\n- `active` requests the vivid active appearance, which is often the right choice for tray panels and accessory-app utility surfaces\n- `inactive` requests the subdued inactive material appearance\n\nmacOS maps the state to `NSVisualEffectState`. Windows maps the state through its DWM backdrop projection and non-client activation handling so `followsWindowActiveState`, `active`, and `inactive` remain part of the same background atom.\n\nIf the page paints every pixel itself, the native material is still present, but users will not see it.\n\nFor tray panels or other glass-like borderless surfaces, keep the native and page responsibilities separate. The native layer owns the outer material, transparency, and platform corners; the page owns content structure inside that box. Avoid covering the whole native material with opaque page layers or treating page-level shadows, fake blur, and root decoration as a substitute for the native shell. Lightweight panels are closer to cards than documents, so a root-level document scrollbar usually means the window size or card composition needs a product decision.\n\n## Direct Window API\n\nMount WebView on a tray, then create a tray-scoped window. The first window command loads the native extension automatically:\n\n```ts\nimport { WebviewExt } from \"@opentray/ext-webview\";\nimport { createTray } from \"opentray\";\n\nconst tray = (\n  await createTray({\n    id: \"com.example.status\",\n    icon: { \"text-only\": \"OT\" },\n    tooltip: { title: \"Status\", description: \"Background service\" },\n  })\n).extend(WebviewExt);\n\nconst webview = tray.createWebviewWindow({\n  html: \"<main><h1>OpenTray</h1></main>\",\n  width: 420,\n  height: 260,\n  devtools: true,\n});\n\nawait webview.show();\n```\n\nRun a runtime-host-free protocol example that sends WebView `show`, `navigate`, `postMessage`, and `hide` commands through the normal OpenTray extension command path:\n\n```bash\npnpm --filter @opentray/ext-webview example:webview\n```\n\nInside this repo, `pnpm --filter opentray example:webview-control` is the API exercise demo, while `pnpm --filter opentray example:tray-panel` is the canonical tray-anchored glass recipe. `pnpm --filter opentray example:win32-bug` is the Windows A/B comparator for `native-material-host-paint-probe-20260716.exe`: it enables an environment-gated native probe state and renders only the equivalent centered buttons in a fully transparent WebView. The hidden HWND completes material and initial geometry before WebView2 creation; ordinary windows keep the production `BLACK_BRUSH` material base and reject probe commands. Production `clearWhiteBlock` still recommits only the configured native host surface and never mutates shell state, focus, geometry, or WebView bounds.\n\nThe comparator's frameless toggle intentionally uses the standalone probe's native resize frame, system menu, style-derived DWM non-client policy, and native resize path. Its `WM_NCCALCSIZE` handler first delegates to `DefWindowProcW`, preserves the left/right/bottom native resize insets, and then projects only the client top to the system-reported `DWMWA_VISIBLE_FRAME_BORDER_THICKNESS`. This removes the caption-height gap above WebView2 without changing the already-correct side geometry. The source geometry smoke requires both `getBounds() - window.outerWidth` and `getBounds() - window.outerHeight` to remain within 0-4 logical pixels. Production frameless windows remain full-client and keep application-level soft resize.\n\nWindows source examples now select that comparator host topology independently from probe instrumentation. `example:webview-control -- --no-overlay` is the direct native-shell A/B path against `example:win32-bug`; default webview-control overlay keeps the same pre-WebView host construction and adds only the post-WebView AppWindow titlebar stage. Ordinary applications do not inherit the comparator switch. Comparator topology still obeys `style.appMode`: the default remains outside the taskbar and Alt+Tab.\n\nFor ordinary Windows overlay windows, cold start completes Win32/DWM material and host geometry before WebView2, then initializes AppWindow titlebar overlay after WebView2 establishes COM and before final child bounds/show. Host-side native window events use one single-flight poller; a transport failure stops polling and is reported once.\n\nThe manual walkthrough for all three CLI examples lives in [../cli/examples/EXAMPLE.md](../cli/examples/EXAMPLE.md).\n\nTo expose the injected page API, enable it on the window options before the first `show()`:\n\n```ts\nconst webview = tray.createWebviewWindow({\n  html: \"<main><h1>OpenTray</h1></main>\",\n  width: 420,\n  height: 260,\n  title: \"OpenTray WebView\",\n  style: {\n    frameless: true,\n    keepOnTop: true,\n    background: {\n      kind: \"platformMaterial\",\n      material: \"hudWindow\",\n      state: \"active\",\n    },\n    platform: {\n      macos: {\n        cornerRadius: 18,\n      },\n    },\n  },\n  windowControlsOverlay: true,\n  nativeWindowApi: true,\n  bindWindowGlobals: true,\n  nativeScreenApi: true,\n  bindScreenGlobals: true,\n  nativeTrayApi: true,\n  titleSync: {\n    documentToWindow: true,\n    windowToDocument: true,\n  },\n  iconSync: {\n    faviconToWindow: true,\n    windowToFavicon: true,\n  },\n  devtools: true,\n  nativeApiPolicy: {\n    defaultSrc: [\"'local'\"],\n    window: [\"https://example.com\"],\n    screen: [\"https://example.com\"],\n    tray: [\"https://example.com\"],\n    titleSync: [\"https://example.com\"],\n    iconSync: [\"https://example.com\"],\n  },\n});\n\nawait webview.show();\n```\n\nWindow session law:\n\n- `createWebviewWindow(options)` is the bootstrap declaration for one tray-scoped window session\n- the first `show(...)` for a tray creates the native window session\n- `hide()` only hides that session; it does not destroy the page runtime\n- after the first successful show, `show()` restores visibility and does not replay bootstrap width, height, style, content, or native API flags\n- `visible` means the session is neither closed/hidden nor minimized; use `isClosed()` and `isVisible()` to query those facts, and use `toVisible()` to show a hidden session or restore a minimized session without rebuilding it\n- explicit content replacement belongs to `setContent({ type: \"setContent\", html | url })` or `navigate(url)`\n- explicit size and style changes belong to `resizeTo(...)`, `moveTo(...)`, `setStyle(...)`, `setBackground(...)`, `setMinimumSize(...)`, and `setMaximumSize(...)`\n- explicit session teardown belongs to `destroy()`\n\nThis is intentional. `show(...)` is the visibility/bootstrap verb, not the implicit reload or reset verb. Tray click handlers should create one handle and call `show()` on that handle repeatedly; do not create a new window, reapply startup style, or resend startup size on every tray activation.\n\nWithout `nativeApiPolicy`, page-exposed native capability is local-only by default. Remote URLs do not receive `navigator.window`, `navigator.screen`, global bindings, or page-native sync unless their source is explicitly allowed.\n\nBrowser/device permissions use a separate policy surface. Do not overload `nativeApiPolicy` for camera, microphone, geolocation, notifications, clipboard read, autoplay, local fonts, sensors, MIDI system exclusive, file read/write, multiple downloads, or window management:\n\n```ts\nconst webview = tray.createWebviewWindow({\n  html: \"<main />\",\n  browserPermissionPolicy: {\n    camera: { sources: [\"'local'\"], decision: \"prompt\" },\n    microphone: { sources: [\"'local'\"], decision: \"allow\" },\n  },\n  permissionManagerPolicy: {\n    defaultSrc: [\"'local'\"],\n    remoteOrigins: [\"https://example.com\"],\n  },\n});\n```\n\nDownload routing is a separate top-level window option, not part of `nativeApiPolicy`:\n\n```ts\nconst webview = tray.createWebviewWindow({\n  html: \"<main />\",\n  download: {\n    enabled: true,\n    saveAs: false,\n  },\n  browserPermissionPolicy: {\n    multipleDownloads: {\n      sources: [\"'local'\"],\n      decision: \"allow\",\n    },\n  },\n});\n```\n\n`download` defaults to `{ enabled: true, saveAs: false }`, so local HTML can use standard `<a download>` or blob downloads with zero extra configuration. Local pages are allowed by default; remote pages stay denied unless `browserPermissionPolicy.multipleDownloads` explicitly allows them. The lifecycle events `downloadstarted`, `downloadprogress`, `downloadcompleted`, `downloadfailed`, and `downloadcanceled` flow through the same `navigator.opentrayWindow.listen(...)` / `webview.listen(...)` bus as other native window events. Each payload keeps the existing `filename` field and adds `suggestedFilename`, which carries the pre-deduped substrate suggestion when available and `null` when the platform does not expose a distinct suggestion.\n\n`permissionManagerPolicy` controls whether `opentrayPermissions` can be injected as a permission-management object. Remote origins do not receive that object by default, even when a permission family is allowlisted. Durable permission facts use the default app-scoped JavaScript permission store from `createAppScopedWebviewPermissionStore({ appId })`; the store is namespaced by OpenTray `appId` and does not use WebView page storage as the source of truth.\n\nCall `startPermissionManager()` on the WebView window handle to drain page-side `opentrayPermissions` messages into the app-scoped store. Apps can pass `permissions.store` to use a custom adapter; otherwise the default store is created from the OpenTray app identity.\n\n```ts\nconst stopPermissions = webview.startPermissionManager();\n```\n\nNative prompt behavior depends on what the platform WebView substrate exposes. Dedicated download hooks now exist, so standard silent downloads are supported, but current Wry WebKit/WebView2 hooks still do not expose a stable all-permission decision callback. Browser-engine grants outside the dedicated download path remain typed unsupported until OpenTray owns that substrate hook, and `multipleDownloads: { decision: \"prompt\" }` currently fails closed instead of rendering a download-specific prompt UI.\n\nWhen enabled, the page receives:\n\n- `navigator.window`\n- `navigator.opentrayWindow`\n- `navigator.screen`\n- `navigator.opentrayScreen`\n- `navigator.opentray.tray`\n- `navigator.opentrayPermissions` when `permissionManagerPolicy` allows the current source\n- optional `window.close()` / `window.moveTo()` / `window.resizeTo()` overrides when `bindWindowGlobals` is `true`\n- optional `window.getScreenDetails()` override when `bindScreenGlobals` is `true`\n- `navigator.opentrayWindow.overlay` when `windowControlsOverlay` is `true`\n\nThe injected capability follows a typed facade, with a raw `invoke(cmd, payload)` escape hatch for parity with the private bridge:\n\n- `await navigator.window.getCapabilities()`\n- `await navigator.window.listen(\"resized\", handler)`\n- `await navigator.window.show()` and `await navigator.window.hide()` to control visibility without replacing content\n- `await navigator.window.isClosed()`, `isVisible()`, and `toVisible()` for operational tray visibility\n- `await navigator.window.resizeTo(520, 320)`\n- `await navigator.window.minimize()`, `maximize()`, and `restore()`\n- `await navigator.window.getWindowState()`, `isMaximized()`, and `isMinimized()`\n- `await navigator.window.setStyle({ frameless: true, opacity: 0.82, platform: { macos: { cornerRadius: 18 } } })`\n- `await navigator.window.devtools.open()`, `close()`, and `isOpen()` when the session was created with `devtools: true`\n- `await navigator.opentrayWindow.overlay.getTitlebarAreaRect()`\n- `await navigator.opentrayWindow.startAppRegionDrag()`\n- `navigator.opentrayWindow.bindWindowRegion(titlebar, \"auto\")`\n- `await navigator.window.setTitle(\"OpenTray Status\")`\n- `await navigator.window.setIcon({ type: \"href\", href: \"/favicon.ico\" })`\n- `await navigator.window.setIcon(null)` to clear the logical native icon\n- `await navigator.screen.getScreenDetails()`\n- `await navigator.opentray.tray.getBounds()`\n- `await navigator.window.invoke(\"getCapabilities\")` when a page intentionally wants raw command parity\n\nFrom the host side, keep the lifecycle verbs explicit:\n\n- `await webview.show({ ... })` to create-or-show the tray session\n- `await webview.show()` to restore an already-created session without resetting page, size, style, or native bridge state\n- `await webview.hide()` to hide without destroying the page runtime\n- `await webview.close()` to close/hide the retained session, or `await webview.toVisible()` to reveal or restore it\n- `await webview.focus()` to explicitly foreground the existing native window\n- `await webview.isClosed()` / `await webview.isVisible()` when a tray menu needs one operational Show/Hide predicate\n- `await webview.setContent({ type: \"setContent\", html })` to replace local HTML content explicitly\n- `await webview.navigate(\"https://example.com/status\")` as the URL-focused content replacement alias\n- `await webview.resizeTo(360, 240)` and `await webview.moveTo(10, 20)` for host-owned geometry changes\n- `await webview.devtools.open()`, `close()`, and `isOpen()` for the instance-owned devtools channel when `devtools: true` was declared before the first show\n- `await webview.destroy()` to destroy the tray-scoped session\n\nWith an eventful OpenTray connection, the extension also supplies the default\nlive app reopen policy. A Darwin Dock reopen selects the most recently active,\nbootstrapped window whose current style has `appMode: true`, then executes\n`toVisible()` followed by `focus()`. The generic App event remains observable\nthrough `tray.onAppReopenRequested(...)`; it never invokes the cold\n`appLaunch` descriptor.\n\n`devtools` is a WebView creation setting, not a late-bound toggle. Set `devtools: true` on the first `show({ ... })` / `createWebviewWindow({ ... })` if that session should admit inspector commands. Repeated `show()` does not rebuild the underlying WebView, so changing `devtools` later requires `destroy()` and a fresh show. Read `getCapabilities()` before showing close/state UI: macOS can expose open/close/state, while Windows currently exposes open only. Release builds still compile the native inspector API; windows that omit `devtools: true` keep devtools unavailable by default. Wry does not expose a cross-platform native switch for hiding only the DevTools context-menu item while preserving normal page/input context menus.\n\nFor common placement, use `WebviewPlacementKit` rather than a special panel API:\n\n```ts\nimport { WebviewExt, WebviewPlacementKit } from \"@opentray/ext-webview\";\n\nconst tray = (await createTray(options)).extend(WebviewExt);\nconst panel = tray.createWebviewWindow({\n  html,\n  width: 328,\n  height: 244,\n  nativeWindowApi: true,\n});\n\nawait panel.show();\nconst placementWatch = await new WebviewPlacementKit({ tray }).watch(panel, {\n  placement: \"tray\",\n  width: 328,\n  height: 244,\n  placementMargin: 8,\n});\n```\n\nSupported placements include `tray`, `cursor`, `screen-center`, the four screen edges, the four screen corners, and edge-snapping modes such as `edge`, `edge-x`, and `edge-y`. `watch()` keeps placement continuous as tray, screen, target size, or margin inputs change, but it waits for the live bounds to settle before applying a new native placement so user drag/resize wins while interaction is in flight. For tray placement, transient zero-size or off-screen tray bounds are rejected; when a previous valid tray anchor exists, the kit uses that last-good anchor instead of moving the window to a portable fallback. `applyOnce()` is available for deliberate one-shot placement, while `apply()` aliases the continuous `watch()` path. The result reports `kind` and `source` so callers can distinguish native geometry, `last-good` recovery, and portable fallback.\n\nWindow, screen, and tray `Rect` values exposed by OpenTray use desktop logical pixels. `WebviewPlacementKit`, `styleKit`, `mediaQueryKit`, `moveTo`, `resizeTo`, `getBounds`, and `getScreenDetails` all share that coordinate system. Do not apply `devicePixelRatio` correction in host placement code; native runtimes handle physical-pixel conversion at their platform boundary. Overlay titlebar geometry is the separate page-layout API and is converted to CSS pixels by the injected bridge.\n\nCurrent native support:\n\n- macOS: `close`, `moveTo`, `resizeTo`, `getCapabilities`, `getStyle`, `setStyle`\n- macOS: `minimize`, `maximize`, `restore`, `getWindowState`, `isMaximized`, `isMinimized`, and native app-region drag\n- macOS: instance-scoped devtools open/close/state through `devtools: true` plus `navigator.window.devtools` / `webview.devtools`\n- macOS: `keepOnTop` and common `autoHide`; native blur hides only when `autoHide && !keepOnTop`\n- macOS: whole-window opacity through `setStyle({ opacity: 0.82 })`\n- macOS: `style.platform.macos.cornerRadius` through layer-backed theme-frame clipping\n- macOS: `getTitle`, `setTitle`, `getIcon`, `setIcon`\n- macOS: titlebar overlay geometry through `windowControlsOverlay`\n- macOS: `navigator.screen.getScreenDetails`\n- macOS: tray bounds projection through `navigator.opentray.tray.getBounds()`\n- macOS: transparent background and material effects through `style.background`, including `hudWindow`, `sidebar`, `windowBackground`, `contentBackground`, and `underWindowBackground`\n- macOS: global override binding through `bindWindowGlobals` and `bindScreenGlobals`\n- Windows: visible WebView2-backed windows, lifecycle verbs, content replacement/navigation, `evaluate`, `postMessage`, common window bridge commands, title/icon sync, current-monitor screen snapshot, tray bounds projection, and global override binding through `bindWindowGlobals` / `bindScreenGlobals`\n- Windows: `frameless`, `background`, `keepOnTop`, `autoHide`, `opacity`, and `style.platform.windows.cornerPreference`\n- Windows: instance-scoped devtools open through `devtools: true`; close/state remain typed unsupported because current Wry/WebView2 does not expose honest runtime state there\n- Linux: no official native WebView runtime package is published. An exact-file `artifact` may still be used for private experiments, but the official package treats Linux WebView as unsupported.\n\nRelease builds include the native inspector API by default so downstream developers can debug release-mode examples and apps through the explicit host/page API. This does not make every WebView inspectable: the per-window `devtools: true` gate is still required, so ordinary release windows keep devtools unavailable by default.\n\nKeep the unsupported taxonomy explicit:\n\n- runtime absent: no official WebView native package exists for the host platform, or a custom exact-file `artifact` could not be resolved\n- platform-family mismatch: a Windows/Linux style family is requested on the macOS runtime, macOS material/corner style is requested on Windows, or a platform-specific family is otherwise requested on the wrong substrate\n- declarative gate: the runtime could provide a capability, but the current WebView session did not enable it, such as overlay geometry without `windowControlsOverlay`\n- context unavailable: the capability exists, but the current session has no authoritative data, such as tray bounds when no tray anchor was injected\n\n## Multi-Webview Orchestration\n\nOne window session can host multiple webviews as sibling native views (macOS NSView subviews, Windows child HWNDs) — never as separate OS windows. The surface below lives on the `WebviewWindowHandle` and mirrors the frozen wire protocol in `@opentray/spec` (`webview.ts` / `channel.ts`, pinned by the codec fixtures in `fixtures/frames/`).\n\nLifecycle laws:\n\n- A tray owns at most one active WebView window session. Creating a second window session for the same tray fails at creation with the typed error `tray_session_active`; the existing session stays untouched.\n- Pass `windowOnly: true` to `createWebviewWindow(...)`/first `show(...)` to create the window session without a primary webview, then populate it with `createWebview(...)`. Declaring `html`/`url` alongside `webviews: [...]` on one window is rejected.\n- Webview ids are unique within their window session. Every webview, layout, and channel is owned by the `(appId, trayId, sessionId)` tuple; closing one session never touches another session's state.\n- The facade sugar `createWebviewWindow({ windowOnly: true, webviews: [...], layout })` creates the declared children and commits the first layout after `show()` resolves. `webviews` entries are `WebviewChildSpec` values (`{ id, url | html, bridge? }`) — exactly one of `url`/`html`.\n\n### Child webviews\n\n```ts\nimport { WebviewExt, column, fixed, grow } from \"@opentray/ext-webview\";\n\nconst win = tray.createWebviewWindow({ windowOnly: true, width: 1024, height: 720 });\nawait win.show();\n\nconst toolbar = await win.createWebview({\n  id: \"toolbar\",\n  url: \"http://127.0.0.1:5173/toolbar.html\",\n  bridge: { webviewId: true, messageChannels: true },\n});\nconst content = await win.createWebview({ id: \"content\", url: \"https://example.com\" });\n\nawait win.setLayout(column([fixed(\"toolbar\", 44), grow(\"content\")]));\n\nconst children = await win.listWebviews(); // [{ webviewId, bridge }, ...]\nawait win.destroyWebview(\"toolbar\");       // leaves `content` and its page runtime alive\n```\n\nEach `createWebview` resolves to a `WebviewChildHandle`:\n\n- `navigate(url)` / `back()` / `forward()` — per-view content replacement and native session history; siblings are never touched.\n- `focus()` — raises that webview to native keyboard focus inside its window. This is the per-view command; the window-level `focus()` on `WebviewWindowHandle` is unchanged and independent.\n- `getUrl()` / `getTitle()` — return `{ url | title, seq }` (see the event race rule below).\n- `onUrlChange(handler)` / `onTitleChange(handler)` / `onFocused(handler)` / `onGeometryChange(handler)` — per-view push event listeners; each returns an unlisten function.\n- `destroy()` — same as the parent handle's `destroyWebview(id)`.\n- `id` / `windowId` — frozen identity strings.\n\n### Per-child browser options (contract-5)\n\n`createWebview({ ..., browser })` tunes engine browser behavior per child (bootstrap-immutable like the bridge policy):\n\n```ts\ninterface WebviewBrowserOptions {\n  userAgent?: string;          // full UA override; wins over browserlikeUserAgent\n  browserlikeUserAgent?: boolean; // default true (macOS appends the standard Safari tokens)\n  incognito?: boolean;         // default false (macOS: ephemeral profile)\n  autoplay?: boolean;          // default false (gesture-gated media)\n  contextMenu?: boolean;       // engine-native right-click menu\n}\n```\n\n`contextMenu` defaults off the bridge surface: a child with ANY bridge capability is trusted shell UI (e.g. your toolbar) and hides the engine's right-click menu (Reload/Inspect must not leak onto shell chrome); a bridgeless content child keeps the ordinary browser-tab menu. An explicit value wins either way — `browser: { contextMenu: true }` re-admits the menu on a bridged child, `false` suppresses it on plain content. macOS implements suppression through AppKit's `willOpenMenu:withEvent:` hook (empty menu, nothing presents); Windows through `AreDefaultContextMenusEnabled`.\n\nThe remaining browser options follow contract-4 semantics unchanged.\n\n### Per-child bridge policy\n\nThe page bridge is opt-in per child webview. `bridge` accepts a partial of the frozen boolean field set\n\n```ts\ninterface WebviewBridgePolicy {\n  webviewId: boolean;\n  messageChannels: boolean;\n  navigatorWindow: boolean;\n  navigatorScreen: boolean;\n  nativeApi: boolean;\n}\n```\n\nEvery field defaults to `false`; omitting `bridge` entirely means no bridge at all. An arbitrary-content webview (a cross-origin site you do not own) stays bridgeless by construction, and trusted webviews (such as a toolbar you serve yourself) opt in explicitly — the toolbar carrier pattern is exactly `{ webviewId: true, messageChannels: true }`. The policy is bootstrap-immutable for that webview's lifetime: it cannot be changed under an existing page runtime, mirroring the session compatibility law. `listWebviews()` reports each child's full resolved policy.\n\nWith `messageChannels` enabled, the page receives `navigator.opentrayWebview`; with `webviewId` enabled, that surface also exposes the read-only `id` property holding the same opaque id the host facade uses.\n\n### Declarative layered layout\n\n`setLayout(tree)` submits one JSON document: an ordered array of layers stacking bottom-to-top (array order is the z-order; there is no `zIndex` field anywhere). Each layer owns one independent flex tree. A tree node is either\n\n- a container: `{ dir: \"row\" | \"column\", gap?, children }`\n- a view reference: `{ id, kind?: \"webview\" }` resolved through the View Registry\n- a box: `{ kind: \"box\", id, background?, border?: { width, color }, cornerRadius? }` — a decorative paint primitive with no web content and input pass-through (pointer events reach the view below)\n\nNode sizing fields are `width`, `height`, `flex`, `minWidth`, `minHeight`, `maxWidth`, `maxHeight` — logical pixels in client-area coordinates. Padding, align, justify, percent sizes, and flex-basis are deliberately outside the v1 protocol.\n\nThe exported builders `row(...)`, `column(...)`, `view(...)`, `fixed(...)`, `grow(...)` are pure syntax sugar that compile to this object protocol — `fixed(\"toolbar\", 44)` is the canonical fixed-height column child and `grow(\"content\")` the flex child filling the remainder. `setLayout` accepts a full document `{ layers: [...] }`, a bare layer array, or a single root node (wrapped as the only layer); an empty or unset layout falls back to one layer with the window's first registered webview filling the window.\n\nLayout is solved natively (Taffy) and resize-authoritative: window resize triggers native re-solve and native frame application, and the JS side never computes view coordinates or participates in relayout. `window.layout.update(viewId, patch)` applies an incremental sizing patch to one node. Replacing a layout preserves browsing contexts: a webview still referenced by id in the new tree moves without its page reloading.\n\nA layout commit is one native transaction: solve, apply frames, then recompute per-webview overlay/titlebar safe-area projections and re-register view-declared drag regions, pushing `geometryChange` events to affected bridged views. No half-applied state is observable to a page.\n\nStyle exclusivity is one rule with one error: a window in a translucency-affecting style (frameless or material today) cannot host multi-webview composition, and applying such a style to a window that already hosts more than one webview fails the same way — both reject with `multiwebview_unsupported_style` before any state changes. Opaque cross-layer overlap in a framed window is supported.\n\n### Unified per-view push events\n\n`urlChange`, `titleChange`, `focused`, and `geometryChange` are one event family: pure push, no replay, no polling. Handler events carry `{ windowId, webviewId, seq, ...payload }` with field-frozen payloads:\n\n- `urlChange` → `{ url: string }`\n- `titleChange` → `{ title: string }`\n- `focused` → `{ focused: boolean }` (edge semantics: gained or lost native focus)\n- `geometryChange` → `{ rect: { x, y, width, height } | null }` — the overlay safe-area projection in view-local logical pixels; `null` means no intersection with the overlay region. The rect is field-isomorphic to the page-bridge `overlay.geometrychange` payload: same fields, same units, same projection value.\n\n`seq` is a per-view monotonically increasing sequence number. Events are push-only: current values come from the query commands. Subscribe first, then call `getUrl()`/`getTitle()`, and discard any event whose `seq` is not greater than the queried `seq` — that resolves the subscription race without replay. `focused` and `geometryChange` have no query; track edges and projection updates. A fresh session starts fresh subscriptions.\n\nWhen the broker connection dies, event delivery stops and the window handle enters an observable terminal state: `win.connectionDead` becomes `true` and `win.onConnectionDead(handler)` fires exactly once with the terminal error (mirrored on the eventful tray handle). Never are synthetic events emitted for the death; every later command or `(value, seq)` query rejects with the transport-close sentinel instead of hanging, in-flight gap resyncs are cancelled, and best-effort subscribe/unsubscribe failures merge into that dead state rather than console noise. Channel endpoints observe the death as a local `session_closed` close notice.\n\n### Message channels\n\nChannels are targeted connections without port transfer. `createMessageChannel({ target: webviewId })` creates one channel; the creator (the host entry is a legal creator) holds one endpoint implicitly, and the target webview's page receives its endpoint through the `onCreatedMessageChannel` event. A target is always a webview — the host cannot be targeted and participates only as creator. `onCreatedMessageChannel(handler)` on the window facade reports `{ channelId }` pushes for the session; pair it with `listMessageChannels()` for full state.\n\nHost-side endpoint:\n\n```ts\nconst channel = await win.createMessageChannel({ target: \"toolbar\" });\n\nconst stop = channel.onMessage((payload) => {\n  // payload is the string or JSON value the peer posted — no manual parsing\n});\nconst stopClose = channel.onClose(({ reason }) => console.log(\"closed:\", reason));\n\nawait channel.post({ kind: \"navigate\", url: \"https://example.org\" });\nawait channel.close();   // graceful: tombstone stays listed, reason \"explicit\"\nawait channel.destroy(); // removes channel state (and tombstone); idempotent no-op\n```\n\nAn endpoint exposes exactly `id`, `post(payload)`, `onMessage(handler)`, `onClose(handler)`, `close()`, and `destroy()`. Delivery is FIFO per endpoint; messages that arrive before the first `onMessage` registration are buffered and flushed on registration. `onClose` observes at most one closure per channel per endpoint — the first transition fires `{ reason }` once and every later transition is silent.\n\nPage side (only for webviews whose bridge policy enables `messageChannels`):\n\n```ts\nconst bridge = navigator.opentrayWebview; // absent unless the policy injects it\nbridge.onCreatedMessageChannel((endpoint) => {\n  endpoint.onMessage((payload) => render(payload));\n  void endpoint.post({ kind: \"get-url\" });\n});\n// or create a channel to a sibling bridged page:\nconst mine = await bridge.createMessageChannel({ target: siblingId });\n```\n\nLifecycle is an explicit observable state machine `created → open → closed(reason) → destroyed`. Close reasons: `explicit` (an endpoint called `close`), `destroyed` (a participant called `destroy`), `peer_webview_destroyed`, `window_destroyed`, `session_closed`, `document_navigated` (a page-side endpoint whose document navigated — messages are never buffered across navigation), and `queue_overflow`.\n\n`close()` and `destroy()` are distinct: `close()` enters `closed(explicit)` and the channel stays listed as a tombstone; `destroy()` (also `destroyMessageChannel(channelId)` on the window facade) removes channel state immediately — on an open channel both endpoints' one `onClose` carries reason `destroyed`, on an already-closed channel it silently removes the tombstone. `listMessageChannels()` returns the session's channels in state `open` or `closed` (closed entries carry their `reason`); destroyed channels are never listed, and each session retains at most its 32 most recently closed channels. The host sees full endpoint descriptors (`{ side: \"creator\" | \"target\", peer: webviewId | \"host\" }`); pages see only their participating channels with peers reduced to side labels.\n\nQueue bounds are exact: each port queue holds at most 1000 messages and at most 1 MiB cumulative payload (boundary values are legal). A payload is a UTF-8 string or any JSON value; string payloads count raw UTF-8 bytes and JSON payloads count the bytes of their RFC 8785 (JCS) canonical serialization — the same value counts identically on every platform. A single message over 1 MiB rejects with `payload_too_large` without entering the queue and without closing the channel; exceeding either cumulative bound closes the channel with reason `queue_overflow` (the posting call also rejects with that code). Values outside the RFC 8785 domain (NaN, Infinity, `undefined`, functions) reject with `invalid_payload`.\n\nChannel authority is session-scoped and page-access-gated: pages can only create channels inside their own extension session (well-formed page input cannot even address another session), and a channel endpoint is only delivered to a webview whose bridge policy enables it — creating a channel to a bridgeless target fails with `bridge_required` before any state exists.\n\n### Typed error codes\n\nEvery orchestration/channel rejection surfaces as a `WebviewOrchestrationError` whose `code` comes from this frozen registry (`WEBVIEW_ORCHESTRATION_ERROR_CODES` in `@opentray/spec`):\n\n| Code | Meaning |\n| ---- | ------- |\n| `unknown_view` | A layout tree (or channel creation) references a view id no registered view owns. |\n| `invalid_layout_measure` | A layout measure is NaN/infinite/negative or has `min > max` on an axis; rejected before solving, previous layout stays in effect. |\n| `multiwebview_unsupported_style` | Translucency-affecting window style (frameless/material) combined with multi-webview composition at the v1 checkpoints. |\n| `tray_session_active` | A second window session for the same tray; the existing session is untouched. |\n| `bridge_required` | Channel creation targeted a webview whose bridge policy does not enable message channels. |\n| `session_scope` | A channel creation request whose target resolves outside the creating owner tuple; zero partial state. |\n| `not_open` | `post` on a non-open endpoint; never a silent drop. |\n| `payload_too_large` | A single payload whose canonical byte length exceeds 1 MiB; channel stays open. |\n| `queue_overflow` | Queue bounds exceeded; the posting call rejects and the channel closes with the same-named reason (the one value shared across the error and reason namespaces). |\n| `invalid_payload` | Payload value outside the RFC 8785 canonical domain (NaN/Infinity/`undefined`/functions). |\n\n## Authority Model\n\nKeep the capability ownership lines explicit:\n\n- Trusted backend tray geometry is the core-routed capability: `await tray.getBounds()`\n- Page tray geometry is the WebView projection of that same tray capability: `await navigator.opentray.tray.getBounds()`\n- The page tray API is intentionally a projection, not a second authority. Today it is injected from show-time tray context so the page can anchor layout without keeping a long-lived runtime-host callback alive inside the WebView runtime.\n- `navigator.opentrayWindow` and `navigator.opentrayScreen` are extension-owned page APIs. They are not runtime-wide contracts in `opentray-core`.\n- `screen` stays in `@opentray/ext-webview` for now because its event model, coordinate-space law, and cross-platform substrate differences are not yet proven shared enough for core.\n- The package also exports page-side global typings for `navigator.window`, `navigator.opentrayWindow`, `navigator.opentrayScreen`, `navigator.opentray`, and `window.getScreenDetails()` so TypeScript page code matches the injected runtime shape.\n\nThe page bridge does not currently expose maturity labels through `getCapabilities()`. For now, treat README, skills, and the release channel as the authoritative maturity surface.\n\n## Events\n\nNative events are subscription-driven. The extension only pushes page callbacks for events with active listeners; it does not poll or broadcast window state to pages that did not subscribe.\n\nCommon event names:\n\n- `stylechange`: emitted after `setStyle(...)` changes the native style state\n- `titlechange`: emitted after `setTitle(...)` or enabled document-title sync changes native title state\n- `iconchange`: emitted after `setIcon(...)` or enabled favicon sync changes native icon state\n- `windowstatechange`: emitted after page visibility and standard state commands\n- `visibleChange`: emitted only when operational visibility changes between visible and closed/hidden or minimized, including native auto-hide\n- `moved` / `resized`: emitted after extension-owned move or resize requests\n- `overlay.geometrychange`: emitted through `navigator.opentrayWindow.overlay.listen(\"geometrychange\", ...)`\n\nFor favicon-to-native-icon projection, prefer a materialized PNG data URL such as a `canvas.toDataURL(\"image/png\")` result. URL-backed or SVG favicons may remain logical icon state when the platform cannot convert them into a native image handle.\n\nNative tray-window dismissal defaults to this state machine:\n\n```text\nnative blur\n  +-- autoHide: false -> remain visible\n  +-- keepOnTop: true -> remain visible\n  `-- otherwise      -> hide retained session -> visibleChange(false)\n```\n\nUse `autoHide: false` when the application owns a page exit animation, a protected confirmation flow, or a diagnostic window that must remain visible while DevTools has focus.\n\n## Window Recipes\n\nNative framed window:\n\n```ts\nawait webview.show({\n  type: \"show\",\n  html,\n  width: 420,\n  height: 260,\n  title: \"Status\",\n  nativeWindowApi: true,\n});\n```\n\nOverlay titlebar:\n\n```ts\nawait webview.show({\n  type: \"show\",\n  html,\n  width: 680,\n  height: 420,\n  nativeWindowApi: true,\n  windowControlsOverlay: {\n    backgroundColor: \"#0F6CBD\",\n    symbolColor: \"#FFFFFF\",\n  },\n  style: {\n    background: { kind: \"semantic\", token: \"blur\" },\n  },\n});\n```\n\n`windowControlsOverlay: true` remains the system-color form. On Windows, the object form\naccepts opaque `#RRGGBB` colors for the native minimize/maximize/close control cluster. macOS\nkeeps its native transparent controls and accepts the same declaration without emulating opaque\nWindows buttons. The overlay safe area always comes from native titlebar insets; do not estimate\nits width from a fixed caption-button count.\n\nIn the page, use overlay geometry to avoid native window controls and bind your custom titlebar as a window region:\n\n```ts\nconst pageWindow = navigator.opentrayWindow;\nconst rect = await pageWindow.overlay?.getTitlebarAreaRect();\ncustomTitlebar.style.paddingLeft = `${rect?.x ?? 0}px`;\nconst titlebarRegion = pageWindow.bindWindowRegion(customTitlebar, \"auto\");\n// titlebarRegion.unbind() detaches; titlebarRegion.setBehavior(\"none\") pauses.\n```\n\n`bindWindowRegion(el, behavior)` is the declarative layer over the imperative\n`startAppRegionDrag()` primitive: `'auto'` (the default) gives an element native\ncaption semantics — move on press, zoom (double-click maximize/restore) on a\npaired double press. `'move'`-only strips zoom for reposition strips;\n`` `resize-${edge}` `` turns an element into a resize handle for frameless\nwindows (`resize-bottom-right`, `resize-top`, …; not every platform implements\nresize yet — binding throws where unsupported). Only presses whose target IS\nthe bound element trigger behavior, so buttons and other descendants keep their\nnormal interactivity; decorative children can use `pointer-events: none` so\npresses land on the region element. Targets may also be an element array, a\nselector string, or `{ root, selector }`; selector matches are a bind-time\nsnapshot and rebinding an element replaces its previous binding.\n\nBorderless glass shell:\n\n```ts\nawait webview.show({\n  type: \"show\",\n  html,\n  width: 760,\n  height: 520,\n  nativeWindowApi: true,\n  windowControlsOverlay: true,\n  style: {\n    frameless: true,\n    resizable: true,\n    background: {\n      kind: \"platformMaterial\",\n      material: \"hudWindow\",\n      state: \"active\",\n    },\n    platform: {\n      macos: {\n        cornerRadius: 18,\n      },\n    },\n  },\n});\n```\n\nIn borderless mode, render your own controls and keep them synchronized with native state:\n\n```ts\nconst pageWindow = navigator.opentrayWindow;\nawait pageWindow.listen(\"windowstatechange\", ({ payload }) => {\n  maximizeButton.toggleAttribute(\"data-active\", payload.maximized);\n});\n\nminimizeButton.onclick = () => void pageWindow.minimize();\nmaximizeButton.onclick = () => void pageWindow.maximize();\nrestoreButton.onclick = () => void pageWindow.restore();\n```\n\n## Screen-Aware Recipes\n\nScreen details follow the `window.getScreenDetails()` mental model:\n\n```ts\nconst details = await navigator.opentrayScreen.getScreenDetails();\nconst screen = details.currentScreen ?? details.screens[0];\n```\n\nPin a small widget to a visible screen corner:\n\n```ts\nconst margin = 16;\nawait navigator.opentrayWindow.setStyle({\n  frameless: true,\n  keepOnTop: true,\n  background: {\n    kind: \"platformMaterial\",\n    material: \"hudWindow\",\n    state: \"active\",\n  },\n  platform: {\n    macos: {\n      cornerRadius: 18,\n    },\n  },\n});\nawait navigator.opentrayWindow.resizeTo(320, 180);\nawait navigator.opentrayWindow.moveTo(\n  screen.visibleFrame.x + screen.visibleFrame.width - 320 - margin,\n  screen.visibleFrame.y + margin\n);\n```\n\nDesktop pets and small companion widgets usually use the same corner-pinned shell, but update their page animation independently from native window movement. Island-like live information streams usually start at the top-center of `visibleFrame`, stay `keepOnTop`, and listen for `resized` / `windowstatechange` only when they need to recompute layout.\n\n## Tray-Anchored Panel Recipe\n\nUse tray bounds when a tray click should open a WebView-owned custom panel instead of a guessed popup:\n\n```ts\nconst bounds = await tray.getBounds();\nawait webview.show({\n  type: \"show\",\n  html,\n  width: 360,\n  height: 240,\n  fallbackRect: bounds.rect ?? { x: 0, y: 0, width: 1, height: 1 },\n  nativeWindowApi: true,\n  nativeTrayApi: true,\n  style: {\n    frameless: true,\n    background: {\n      kind: \"platformMaterial\",\n      material: \"hudWindow\",\n      state: \"active\",\n    },\n    platform: {\n      macos: {\n        cornerRadius: 18,\n      },\n    },\n  },\n});\n```\n\nInside the page, use the same tray capability family when the HTML layout needs to align an arrow, animation origin, or edge treatment with the tray anchor:\n\n```ts\nconst trayBounds = await navigator.opentray.tray.getBounds();\nif (trayBounds.rect) {\n  panel.dataset.anchorX = String(trayBounds.rect.x + trayBounds.rect.width / 2);\n}\n```\n\nFor a full runnable example that also folds in `primaryEvent`, `navigator.opentrayScreen.getScreenDetails()`, `frameless`, material background, and `keepOnTop`, run:\n\n```bash\ncargo build -p opentray-bin -p opentray-ext-webview\npnpm --filter opentray example:tray-panel\n```\n\nInside the repo on macOS and Windows, that debug-runtime example automatically points the source-tree runtime host at the freshly built local WebView dynamic library when `OPENTRAY_EXT_PATH` is not already set, so manual tray-panel iteration does not depend on staging platform packages first.\n","readmeFilename":"README.md"}