{"_id":"@kehto/paja","_rev":"27-395e747dde69bbf847a945a139cf7d98","name":"@kehto/paja","dist-tags":{"latest":"0.16.4"},"versions":{"0.1.0":{"name":"@kehto/paja","version":"0.1.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.1.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"90fd50bc94f768f41f69444e79beccebd400323c","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.1.0.tgz","fileCount":13,"integrity":"sha512-P8ev40mvkZo3wSQJp1dKcfevqyVoleqILJMV2DHQkj78nxmCbbC2tUwknlXFyuQH5VBzmBDUgz76kqq+pEDq+A==","signatures":[{"sig":"MEUCIHBPjEE2ZDL2CB36n8YyC7bopkQPMR2WGBd/j0hELRvfAiEAsQNtVE+Jw93n6Hqh7qo7o+3MsW8MJSKCInj9FJ43+xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":954289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"gitHead":"64b28bac892a4f7df4dbd158795bf9edd7c28577","scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"sandwiches","email":"sandwich.farm@protonmail.com"},"repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.16.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@kehto/wm":"workspace:*","@kehto/acl":"workspace:*","@kehto/nip":"workspace:*","@kehto/shell":"workspace:*","@kehto/runtime":"workspace:*","@kehto/firewall":"workspace:*","@kehto/services":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":"^0.13.0","@napplet/core":"^0.13.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.12.0 <0.14.0","@napplet/core":">=0.12.0 <0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.1.0_1782042141213_0.4097501459074886","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@kehto/paja","version":"0.2.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.2.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"87f50e00c49f6240876091dc876d813101e46e71","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.2.0.tgz","fileCount":13,"integrity":"sha512-DHUOhsT07YrsNC9dLiafJ1Qkxo5I1E45l3Ztb5+quqfxsg6t/k16ori9qxbCr9Q6XmAhERR4DAG7kxNlfYvn1A==","signatures":[{"sig":"MEUCIQCDqOe4j9TwyoEAxcqs1EtnBSSPeO6H2EmvFi1LFeMi9wIgAqWd8h93KJN6WFASHO5p+dlxxTZjp9C5KG7rGCq5Ki0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":965411},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"gitHead":"b349af9259428b279cc0ee36c5d9037af220c95a","scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"sandwiches","email":"sandwich.farm@protonmail.com"},"repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.16.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"@kehto/wm":"workspace:*","@kehto/acl":"workspace:*","@kehto/nip":"workspace:*","@kehto/shell":"workspace:*","@kehto/runtime":"workspace:*","@kehto/firewall":"workspace:*","@kehto/services":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":"^0.13.0","@napplet/core":"^0.13.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.12.0 <0.14.0","@napplet/core":">=0.12.0 <0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.2.0_1782151178476_0.01762316792974583","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@kehto/paja","version":"0.3.1","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.1","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"e3993cd61506adcec57a5cb78a501910b3486c2f","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.1.tgz","fileCount":13,"integrity":"sha512-vhZlPtjvn+TG5Jvs9dUBAUixvMoUDaSOBsvSpH6d/nh/NBoePSESPXQF3eUSfQ2QfJH0pQw2g6wuDsToJjAmaA==","signatures":[{"sig":"MEUCIQCbdkQJM1PmxDmeueq0zbF1uH5UHbIV4b99YCJB/nj5rAIgQGjp/XMrGUOdcp9a/fq9WweksV2m8w4S/gL6Jsr3ZWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1170560},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/da4ba5f15a35b6144435a077520d65fc/kehto-paja-0.3.1.tgz","_integrity":"sha512-vhZlPtjvn+TG5Jvs9dUBAUixvMoUDaSOBsvSpH6d/nh/NBoePSESPXQF3eUSfQ2QfJH0pQw2g6wuDsToJjAmaA==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.13.1","@kehto/nip":"^0.4.0","@kehto/shell":"^0.14.1","@kehto/runtime":"^0.14.1","@kehto/firewall":"^0.3.3","@kehto/services":"^0.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.21.0 <0.22.0","@napplet/core":">=0.21.0 <0.22.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.21.0 <0.22.0","@napplet/core":">=0.21.0 <0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.1_1782246884050_0.6896596099741374","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@kehto/paja","version":"0.3.2","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.2","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"ddd652952880d5355da273acdcba5490ff8e0974","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.2.tgz","fileCount":13,"integrity":"sha512-4OCjdybUl4CWLVim5XqDHVPQd033JLgkXEC15QZxeXFP9UpM1+Sxx8XA0TwWNic5RTZtG0tO2PaCoiAVp11m4A==","signatures":[{"sig":"MEQCIDEoI/PVy5mRAtnXreiebHvSVyg+AZ27RkrcVv/solVaAiAWnKd2rbqYu4hlLvQPIQsLhdonSi9P8jEe6vWmfAQDNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1180596},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/ad12ae6c4f5a0f3539d78162f75d0768/kehto-paja-0.3.2.tgz","_integrity":"sha512-4OCjdybUl4CWLVim5XqDHVPQd033JLgkXEC15QZxeXFP9UpM1+Sxx8XA0TwWNic5RTZtG0tO2PaCoiAVp11m4A==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.13.1","@kehto/nip":"^0.4.0","@kehto/shell":"^0.14.2","@kehto/runtime":"^0.15.0","@kehto/firewall":"^0.3.3","@kehto/services":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.21.0 <0.22.0","@napplet/core":">=0.21.0 <0.22.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.21.0 <0.22.0","@napplet/core":">=0.21.0 <0.22.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.2_1782337094251_0.028576402735355888","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@kehto/paja","version":"0.3.4","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.4","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"12359e999897229182067b5c470405508918c355","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.4.tgz","fileCount":13,"integrity":"sha512-bbkwNBnTNYQCGryGBlOu5GkjcaZgi8Kk/9R/LLZwf8JeIlz8wNQaBVg8JGw39lwViefF98Tc3EwNt7A2xef63w==","signatures":[{"sig":"MEUCIG3z5ijMMXjYpIyls61a9fnXdTmK2mgTEMtnZoKAaLg9AiEAlQQzYFbnGbfgbSYLNJW21tO4hIyTt8lEFaKT5LpT0o0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1245422},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/8ef0327ea5426ae1e175bb2526bfc696/kehto-paja-0.3.4.tgz","_integrity":"sha512-bbkwNBnTNYQCGryGBlOu5GkjcaZgi8Kk/9R/LLZwf8JeIlz8wNQaBVg8JGw39lwViefF98Tc3EwNt7A2xef63w==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.14.1","@kehto/nip":"^0.4.0","@kehto/shell":"^0.15.1","@kehto/runtime":"^0.16.0","@kehto/firewall":"^0.3.4","@kehto/services":"^0.13.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.24.0","@napplet/core":">=0.23.0 <0.24.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.24.0","@napplet/core":">=0.23.0 <0.24.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.4_1782731860752_0.5569093903275781","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@kehto/paja","version":"0.3.5","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.5","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"7c737629e2144a96b0f9a807fdd545f1da79362a","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.5.tgz","fileCount":13,"integrity":"sha512-Nrge1Puxz/PkCCzkKWpZL2MtlJj2y5jpzz5LS8QhGfwAB52gMHfsFLMgB61+LobgRvYq3sY8Wng/fTESJevqeg==","signatures":[{"sig":"MEUCICYHsFYSREgPonfZc3PLbA197rRCCspusWY6BYyzmmFtAiEAzfugNJZOMLxvxxtqKrIwyD3WsqQ304CoWArWFKa6FX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1245422},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/c892901b4dd1d474e9f03a0c1e9105e5/kehto-paja-0.3.5.tgz","_integrity":"sha512-Nrge1Puxz/PkCCzkKWpZL2MtlJj2y5jpzz5LS8QhGfwAB52gMHfsFLMgB61+LobgRvYq3sY8Wng/fTESJevqeg==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.14.2","@kehto/nip":"^0.4.0","@kehto/shell":"^0.15.2","@kehto/runtime":"^0.16.1","@kehto/firewall":"^0.3.5","@kehto/services":"^0.13.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.5_1782733810499_0.9683079280727787","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@kehto/paja","version":"0.3.6","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.6","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"630aa05b5b169e844c1bd8e6020a8ce1a5b73938","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.6.tgz","fileCount":13,"integrity":"sha512-cOdDgL0LE43JyBpYf2weklou1vRkyRYGxzojDUZ3I8LbJNySvpF4AkactWHZaYQWjxYfHB5okJQpmZPqZ633Jw==","signatures":[{"sig":"MEUCIQCS9msUoEXh/GsQzYPlgd00cFBXVyyzi7ss/XEKqeVdEQIgQSdVWEhEUuAfrfvXOP5xoitsR3PZhloTldajEafbGxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1550262},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/ee852b58acbadf1e8366781e50a9a2a4/kehto-paja-0.3.6.tgz","_integrity":"sha512-cOdDgL0LE43JyBpYf2weklou1vRkyRYGxzojDUZ3I8LbJNySvpF4AkactWHZaYQWjxYfHB5okJQpmZPqZ633Jw==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.14.2","@kehto/nip":"^0.4.0","@kehto/shell":"^0.15.2","@kehto/runtime":"^0.16.1","@kehto/firewall":"^0.3.5","@kehto/services":"^0.13.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.6_1782834779637_0.12575220851834712","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@kehto/paja","version":"0.3.7","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.3.7","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"2af2bcfc5c35fbea79b08a58b641eb157187022a","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.3.7.tgz","fileCount":13,"integrity":"sha512-/QYBVo5CbI1KKRkmFpNd5O1GZV1Mdp5YwblvYfAxsJ5n6RnrhvcCeULtYiiO+DOATxU/PVBsPnoJOaCN5qpTtQ==","signatures":[{"sig":"MEQCIA6B67Q7TynsgxsJx/pezPDRu1U/Sia3yPIgoXIE9txRAiBEPjyGUrq5bqVwexJJqiC8tnEU6m7Ffie2yyeKBifzrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2051568},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.3.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/994a333cd56de59e136f83beeb055814/kehto-paja-0.3.7.tgz","_integrity":"sha512-/QYBVo5CbI1KKRkmFpNd5O1GZV1Mdp5YwblvYfAxsJ5n6RnrhvcCeULtYiiO+DOATxU/PVBsPnoJOaCN5qpTtQ==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.14.2","@kehto/nip":"^0.4.0","@kehto/shell":"^0.15.2","@kehto/runtime":"^0.16.1","@kehto/firewall":"^0.3.5","@kehto/services":"^0.13.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.3.7_1782840705624_0.1294063021160874","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@kehto/paja","version":"0.4.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.4.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"3909e8d1dd15a5c13391afd26a15a713b67f0905","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.4.0.tgz","fileCount":13,"integrity":"sha512-L7Nx5IgXZjlvid1+XHcps18VQ0wnT230MN37wJFDTm9n1cJX0rlZ7Tx3EZfV/SJJzbm2p6fMJ7BS42lt3QEBHQ==","signatures":[{"sig":"MEQCIBQ2cqOCWl18m86FnSJPLmR2C81lHWBC1/xNPOf3GyigAiB++XaKnnl8sSghWyvPtx9ORSwryqe8WQbPSbij6OR7BQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2260251},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/6634a5a21ea64cf2a40f2978bafecf83/kehto-paja-0.4.0.tgz","_integrity":"sha512-L7Nx5IgXZjlvid1+XHcps18VQ0wnT230MN37wJFDTm9n1cJX0rlZ7Tx3EZfV/SJJzbm2p6fMJ7BS42lt3QEBHQ==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.14.2","@kehto/nip":"^0.4.0","@kehto/shell":"^0.15.2","@kehto/runtime":"^0.16.1","@kehto/firewall":"^0.3.5","@kehto/services":"^0.13.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.25.0","@napplet/core":">=0.23.0 <0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.4.0_1782851386704_0.8148688828452542","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@kehto/paja","version":"0.5.1","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.5.1","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"ef1040fc7ba333891ca14e1ae22993aac0728668","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.5.1.tgz","fileCount":13,"integrity":"sha512-S5mkaH+kM0Cb0uSPb9s4sZjReR6uiiPjoR4pmTFJiDzbm41EVyXzTvX/8Cf+Wnvo5qomG+uXV6MjhxrVT3nj1A==","signatures":[{"sig":"MEUCIDxOypTnmJF8s9HkU8NW5iD6R+Y2AFkzBZNQlSC4MEx/AiEAlWiNk8zhr4E+pJQk6595OkoSm6nOcR0KdVM9nuhy8f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2284401},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/b0428e827512dbc256dd492ad4944dca/kehto-paja-0.5.1.tgz","_integrity":"sha512-S5mkaH+kM0Cb0uSPb9s4sZjReR6uiiPjoR4pmTFJiDzbm41EVyXzTvX/8Cf+Wnvo5qomG+uXV6MjhxrVT3nj1A==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.15.1","@kehto/nip":"^0.4.0","@kehto/shell":"^0.16.1","@kehto/runtime":"^0.17.1","@kehto/firewall":"^0.3.6","@kehto/services":"^0.14.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.26.0","@napplet/core":">=0.23.0 <0.26.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.26.0","@napplet/core":">=0.23.0 <0.26.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.5.1_1782967576336_0.883613908921622","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@kehto/paja","version":"0.6.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.6.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"1ad9274ed7db8d5d14789f76416553f10c2a48f1","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.6.0.tgz","fileCount":13,"integrity":"sha512-dXeiiEL2JZYwT73nST8jv8iLUhkJBNH2OUXWOIYe54V00ejG7T/8v+iRFcjrBaVhMT1M/A1n7WaeTUsi+JjTdA==","signatures":[{"sig":"MEUCIQD7uG2Z+79NxBzKMIKMJwXJzulnlh9QknRsBBJwLRPTOgIgXff2wHEZT3oJoW75M7xBGmky+EHVnEiDacArVwaUIS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2292653},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.6.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/d2023a3f53ede79e312f15bd89aa6058/kehto-paja-0.6.0.tgz","_integrity":"sha512-dXeiiEL2JZYwT73nST8jv8iLUhkJBNH2OUXWOIYe54V00ejG7T/8v+iRFcjrBaVhMT1M/A1n7WaeTUsi+JjTdA==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.15.1","@kehto/nip":"^0.4.0","@kehto/shell":"^0.16.2","@kehto/runtime":"^0.18.0","@kehto/firewall":"^0.3.6","@kehto/services":"^0.15.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <0.26.0","@napplet/core":">=0.23.0 <0.26.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <3.0.0","@napplet/nap":">=0.23.0 <0.26.0","@napplet/core":">=0.23.0 <0.26.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.6.0_1783075563920_0.2537749791766757","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@kehto/paja","version":"0.6.3","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.6.3","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"eacbb3492aa2b63e69125ba9745cadd888e195b8","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.6.3.tgz","fileCount":13,"integrity":"sha512-mkMFdCdLSp8lz/fllqbeAv9Sbuaxt4DXUNM7bOdliWEmwb+qzlPURn6d+51d2ggKxVvLpq1qA55wWEe75uWEVA==","signatures":[{"sig":"MEQCIH1NyyjTnaVBsy+itYtuhOZM/QsgIXagXseNiwN1UYjFAiAWO3KUmkwBEq/xdzEBvmvZ7HID8yKUrycxKOVPX9QIgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2298028},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.6.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/08c50b0a5ae11d429ce130d5557db1f3/kehto-paja-0.6.3.tgz","_integrity":"sha512-mkMFdCdLSp8lz/fllqbeAv9Sbuaxt4DXUNM7bOdliWEmwb+qzlPURn6d+51d2ggKxVvLpq1qA55wWEe75uWEVA==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.18.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.1","@kehto/acl":"^0.15.4","@kehto/nip":"^0.4.1","@kehto/shell":"^0.16.4","@kehto/runtime":"^0.18.2","@kehto/firewall":"^0.3.8","@kehto/services":"^0.16.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <=0.27.x","@napplet/core":">=0.23.0 <=0.27.x"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.23.0 <=0.27.x","@napplet/core":">=0.23.0 <=0.27.x"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.6.3_1783119413757_0.3123218865237054","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@kehto/paja","version":"0.8.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.8.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"02e1fd3673a7065f528f6fb0b5099b5e309e700e","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.8.0.tgz","fileCount":13,"integrity":"sha512-Kks2ZFAhIxY6Tw+nrOE+OGFwNylFYIMTZe5J2GzkfKzPq8/xjGnTfHqzD4sCj1yculiNVW/WNqE/oGBTSwxRVg==","signatures":[{"sig":"MEUCIA7k7a5hg3sbkwJuNM663wy8tMYuyAQmZmDG1RZVyWUUAiEAtVS89KrgwDbX31hnnV0qtL9cGhNna1ShmM+lON40Qlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2653707},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/6b9998e470984a7527be59c364be4710/kehto-paja-0.8.0.tgz","_integrity":"sha512-Kks2ZFAhIxY6Tw+nrOE+OGFwNylFYIMTZe5J2GzkfKzPq8/xjGnTfHqzD4sCj1yculiNVW/WNqE/oGBTSwxRVg==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.15.6","@kehto/nip":"^0.4.2","@kehto/shell":"^0.17.2","@kehto/runtime":"^0.18.5","@kehto/firewall":"^0.3.9","@kehto/services":"^0.16.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.23.0 <=0.28.x","@napplet/core":">=0.23.0 <=0.28.x"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.23.0 <=0.28.x","@napplet/core":">=0.23.0 <=0.28.x"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.8.0_1783811184750_0.2901753548171535","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@kehto/paja","version":"0.9.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.9.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"881e515302893b7c1ec27e8d456b40a56fd4fbb0","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.9.0.tgz","fileCount":13,"integrity":"sha512-sRiYx2c9wpTPIqJzk5089N8nGZGBrfBIIALPe4I0sb5JHU/JcsWN7bWpCtuJY2b3knWreZ2GdHmPBpP8KWBo0A==","signatures":[{"sig":"MEUCIQDmtm9jFlwU/HtZVk9t6Qub93jnnspWN6Aqxzti5r6UrAIgYY8p8ppiM7cwZxVbB16dAddEXwFWyMCL7LZ+OZVzOCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2875285},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/5efbe5536361f506a16b6478227a29f7/kehto-paja-0.9.0.tgz","_integrity":"sha512-sRiYx2c9wpTPIqJzk5089N8nGZGBrfBIIALPe4I0sb5JHU/JcsWN7bWpCtuJY2b3knWreZ2GdHmPBpP8KWBo0A==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.16.0","@kehto/nip":"^0.4.2","@kehto/shell":"^0.18.0","@kehto/runtime":"^0.19.0","@kehto/firewall":"^0.4.0","@kehto/services":"^0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.29.0 <0.30.0","@napplet/core":">=0.29.0 <0.30.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.29.0 <0.30.0","@napplet/core":">=0.29.0 <0.30.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.9.0_1785234062517_0.01037199715315995","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@kehto/paja","version":"0.10.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.10.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"a9eeb1d4ef71f9b429476228fb3bc2d26d8ccfff","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.10.0.tgz","fileCount":13,"integrity":"sha512-HUegeenvW13fJo9KhXYPfCcNSp3wHh4yKHZrwFFPX6hzakFvUUZEiATeoUXln/1gcGgdRE1nmlRRc5kuKc2zRg==","signatures":[{"sig":"MEUCIQDc1WETQ1mZkVZklWHtwJIq1A3reODSZiduu+4ka50SOwIgQ42f4Jp29wgJx+Yc7KPRbdoR1/BZKpKsg4M4cy/0f2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2873098},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/b41e6a1a3dbe12c526385fa448869a61/kehto-paja-0.10.0.tgz","_integrity":"sha512-HUegeenvW13fJo9KhXYPfCcNSp3wHh4yKHZrwFFPX6hzakFvUUZEiATeoUXln/1gcGgdRE1nmlRRc5kuKc2zRg==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.17.0","@kehto/nip":"^0.5.0","@kehto/shell":"^0.19.0","@kehto/runtime":"^0.20.0","@kehto/firewall":"^0.5.0","@kehto/services":"^0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.10.0_1785264724872_0.4269596801142368","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@kehto/paja","version":"0.11.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.11.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"5d4b61ea00d04f376c894160874ff6b94bd3f1e2","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.11.0.tgz","fileCount":13,"integrity":"sha512-AH5lqHRAmTvtL9srMpApTHbgAkHOVfblyGIhA203CLBqTR7KHtjlwYYX2VtVcNGumMXlr0/3QAp0w4sLvhfMsA==","signatures":[{"sig":"MEUCIQD2a0sWudg6eE/tZKuI1mplCLJJqcKOhaS4WkGN0DUTBgIgdvbGCJPzePZYThY8YVv5UXpt/OWaZulPeELCvZsh5E8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2918855},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.11.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/2ae86fbbb2dfb8edd91c34279744bcf9/kehto-paja-0.11.0.tgz","_integrity":"sha512-AH5lqHRAmTvtL9srMpApTHbgAkHOVfblyGIhA203CLBqTR7KHtjlwYYX2VtVcNGumMXlr0/3QAp0w4sLvhfMsA==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.17.0","@kehto/nip":"^0.5.1","@kehto/shell":"^0.19.2","@kehto/runtime":"^0.21.0","@kehto/firewall":"^0.5.0","@kehto/services":"^0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.11.0_1785459567216_0.8613514905176134","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@kehto/paja","version":"0.12.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.12.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"1700fdb2a7a763ec44b9fa8ee14947a2779a2a78","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.12.0.tgz","fileCount":13,"integrity":"sha512-HVllwys+w4CvWahR+sMoLRpV5l94/SQFQjKzGC/QeHoeOFgBGSHjsHDtSSFNcBvDfcrnQY/Q1UgbF5UKCK/kyQ==","signatures":[{"sig":"MEUCIQCMy4msCdZAcjbwuMCIkLUwLJ04EI37EvuOrakRmvbjfwIgRozsAfAdCvQlw3XMFhRha6F4Iyb6cWDAkrMgpEadFek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3487711},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.12.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/d4cc356881e7eeec7477422c5bbc41c9/kehto-paja-0.12.0.tgz","_integrity":"sha512-HVllwys+w4CvWahR+sMoLRpV5l94/SQFQjKzGC/QeHoeOFgBGSHjsHDtSSFNcBvDfcrnQY/Q1UgbF5UKCK/kyQ==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.0","@kehto/runtime":"^0.22.0","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.12.0_1786284903737_0.7463399823019332","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@kehto/paja","version":"0.13.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.13.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"f989b2416ebd2c32399df211631ccaf1d0420278","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.13.0.tgz","fileCount":13,"integrity":"sha512-lTE67wqJKl78u7Mxn08xlwmTB0AhO4F2IDUvlQalYfYi1Yc9FG779MoGcrb/vHqr9yMtsm42MwzKRErc0FKeFw==","signatures":[{"sig":"MEYCIQDOBwa+Xc2/KfDONM9lsCR0xcel2l44wQgo1UtZ/fNPuwIhAOr2ZHPNqKj/QEPEYif5/VJDksvdW15dTTh7WtpDH8YY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3188286},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.13.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/22db68cfc70dd5b2261822ee482afd0e/kehto-paja-0.13.0.tgz","_integrity":"sha512-lTE67wqJKl78u7Mxn08xlwmTB0AhO4F2IDUvlQalYfYi1Yc9FG779MoGcrb/vHqr9yMtsm42MwzKRErc0FKeFw==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.0","@kehto/runtime":"^0.22.0","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.13.0_1787246084126_0.3826810918404042","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@kehto/paja","version":"0.14.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.14.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"3ed211a91301d9261389563f21464f6f3fb05421","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.14.0.tgz","fileCount":13,"integrity":"sha512-/Utnt3gubHtqd9xPKqT41gM3UNA2tjs84bNoevAYnlz+xlHL6T8NMLx9KerrOLF5CFcTZbpMbuzD6LMMwCSs2A==","signatures":[{"sig":"MEYCIQDuEJoTr07rPCLMBhFnm0zjlBX8AfAYOIaCupRvCnraQAIhAJViBfEf0trEfIOoy80NlCRU0kvSaLZwIvqZ/XSav24X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3188954},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.14.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/3bc6ffa62ce63294891dce5484d1e14f/kehto-paja-0.14.0.tgz","_integrity":"sha512-/Utnt3gubHtqd9xPKqT41gM3UNA2tjs84bNoevAYnlz+xlHL6T8NMLx9KerrOLF5CFcTZbpMbuzD6LMMwCSs2A==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.0","@kehto/runtime":"^0.22.0","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.14.0_1787402389033_0.5065425581250502","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@kehto/paja","version":"0.15.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.15.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"3e75747e4a6766128bd1c831f4b55d600a689d47","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.15.0.tgz","fileCount":13,"integrity":"sha512-BwUkowNxOpquxFUjdHlMa03K0VB8Y9mXkIgTbhAc0+Nh/XNXoq0/8t/GLSz3oJvilS7nD6sJ4eY1FL1ys4XlnQ==","signatures":[{"sig":"MEQCIH8Svp/6Tzj5X5PC57x+1lpmU4/GsrcyBCK/cFMwIBDNAiBc8IowFYAyCazHK/aBvptztTUnPDd5tFnOMnMuG/sHng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3236556},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.15.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/fbb358640a620a46620e8c54c0eaa03f/kehto-paja-0.15.0.tgz","_integrity":"sha512-BwUkowNxOpquxFUjdHlMa03K0VB8Y9mXkIgTbhAc0+Nh/XNXoq0/8t/GLSz3oJvilS7nD6sJ4eY1FL1ys4XlnQ==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.1","@kehto/runtime":"^0.22.1","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.15.0_1787406793553_0.6017391456252952","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@kehto/paja","version":"0.15.1","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.15.1","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"b9c20580bc978c38f39f8fd6884080e37de02751","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.15.1.tgz","fileCount":13,"integrity":"sha512-vqh9FVc7xQmWjJl7+G5MAtNnhnIdzo9EInQoPhGVvBnum/ivTJEISnYpyWgciXpkuPMgsBtvLZ2C87O4aCwpVw==","signatures":[{"sig":"MEYCIQDbvqcpqGvMu3XgpVXo45rYtJmVYrKLN05I7/QbpyU1rwIhAIdS+ztbAEaEPRl0soxq7WI7+PLT43hKyvvuTt/AMCpy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3236964},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.15.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/b922155d771977f29bc146cf59b9a38c/kehto-paja-0.15.1.tgz","_integrity":"sha512-vqh9FVc7xQmWjJl7+G5MAtNnhnIdzo9EInQoPhGVvBnum/ivTJEISnYpyWgciXpkuPMgsBtvLZ2C87O4aCwpVw==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.1","@kehto/runtime":"^0.22.2","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.15.1_1787411588098_0.6752415846813056","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@kehto/paja","version":"0.15.2","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.15.2","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"03d0db6b91d65ff2e006d30fbdbd0f47064999c7","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.15.2.tgz","fileCount":13,"integrity":"sha512-DlZ//qSEO4/bHh3TS1W+/Mrz4ySBl7k2SxE4CeODxRiO9WZsHsYtAnL5JV4hkLw6V1FsxTgjoTqrpn/qeO2iBg==","signatures":[{"sig":"MEUCIG+UIzYb4U5Pw0WdX7AkWPEJT05t/GB0sC0FEo5O5bsXAiEA3aVhUwCGawjgnkqEyPTedFbai8F5s62iu7EjTVUm6Tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3237156},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.15.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/4feff21011451f1907644f667291a83e/kehto-paja-0.15.2.tgz","_integrity":"sha512-DlZ//qSEO4/bHh3TS1W+/Mrz4ySBl7k2SxE4CeODxRiO9WZsHsYtAnL5JV4hkLw6V1FsxTgjoTqrpn/qeO2iBg==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.18.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.20.1","@kehto/runtime":"^0.22.2","@kehto/firewall":"^0.5.0","@kehto/services":"^0.20.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.31.0 <0.32.0","@napplet/core":">=0.31.0 <0.32.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.15.2_1787748885203_0.005681318362742216","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@kehto/paja","version":"0.16.0","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.16.0","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"66e05fb0652f0ecfc1f7cf39d960542f0053813e","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.16.0.tgz","fileCount":13,"integrity":"sha512-JKXV9k4Cln9w63cEc47ShCgcBG41wnb40VkRg+If41QqI/9N07DV59pimm1ooFWXHV8k9jTFwipJkmW2P6Zu5g==","signatures":[{"sig":"MEUCIA4X1laswljn8u/CIQWSVJR5pLVaqOVnlmkMjip7JLmQAiEA8cDTjW+Yb1u+ghbaq0cait9xHZuiTI3TBnxLeOdWNy8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3247909},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.16.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/7baf1b4487ba08bcafab8c79754431ba/kehto-paja-0.16.0.tgz","_integrity":"sha512-JKXV9k4Cln9w63cEc47ShCgcBG41wnb40VkRg+If41QqI/9N07DV59pimm1ooFWXHV8k9jTFwipJkmW2P6Zu5g==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.19.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.21.0","@kehto/runtime":"^0.23.0","@kehto/firewall":"^0.6.0","@kehto/services":"^0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.16.0_1787856766986_0.750780735939681","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@kehto/paja","version":"0.16.1","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.16.1","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"348188c7c2f1dbf014965e19c55345a3d414834d","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.16.1.tgz","fileCount":13,"integrity":"sha512-sq+LQlcACiq+VLYLe2iOzYEI8iD48cS+1EPdgZWC1jM75Xz4w+7x9jZ6Ih112AlegWS/D9NIP4L5EFSmMJ2YDA==","signatures":[{"sig":"MEUCIHiwaabXybMGwP+fHEmqbJ7l0aQE5UMjmvsT/mgaCdO0AiEA66KvPbcipbUiu894QvuqVW/yDgJMqAxcMAlX3SisZ3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3284894},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.16.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/9c8637bd232c0f7b5a2714be7b733b60/kehto-paja-0.16.1.tgz","_integrity":"sha512-sq+LQlcACiq+VLYLe2iOzYEI8iD48cS+1EPdgZWC1jM75Xz4w+7x9jZ6Ih112AlegWS/D9NIP4L5EFSmMJ2YDA==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.19.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.21.0","@kehto/runtime":"^0.23.0","@kehto/firewall":"^0.6.0","@kehto/services":"^0.21.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.16.1_1787858142170_0.174211175539704","host":"s3://npm-registry-packages-npm-production"}},"0.16.2":{"name":"@kehto/paja","version":"0.16.2","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.16.2","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"408bcf86be3ab7b61a7b658c82c624c45244be10","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.16.2.tgz","fileCount":13,"integrity":"sha512-CuKRhc/fFW0zMZX/92OXNWfScaXpIch10MqTTeB1bfVoZosN0LbXz7mSM+aWLuUTNRUgk9Z6I5qs/sMBv62SWw==","signatures":[{"sig":"MEUCIFjK0q4P511VybsSRgH4XfAHb84ellyJrPa5Xr9qBjhdAiEAuwlFF3RoZGsr0pgxjK7M/0B78qI1xtpug9QknasznuA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.16.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3287276},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.16.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/642bda672184c6fb6917bd6b2feb5aa5/kehto-paja-0.16.2.tgz","_integrity":"sha512-CuKRhc/fFW0zMZX/92OXNWfScaXpIch10MqTTeB1bfVoZosN0LbXz7mSM+aWLuUTNRUgk9Z6I5qs/sMBv62SWw==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.19.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.21.0","@kehto/runtime":"^0.23.0","@kehto/firewall":"^0.6.0","@kehto/services":"^0.21.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.16.2_1787860947149_0.7549486436523123","host":"s3://npm-registry-packages-npm-production"}},"0.16.3":{"name":"@kehto/paja","version":"0.16.3","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"license":"MIT","_id":"@kehto/paja@0.16.3","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"homepage":"https://github.com/kehto/web#readme","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"cec93a82bda14383f0ad7c3250ccc58fb64a6bb6","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.16.3.tgz","fileCount":13,"integrity":"sha512-fSMJ0RdPWmWDLDSj9yYc0vEqrIU1bazXJ1uIR8tu4l3Kk7e34mKrPKFzoRQ/O6ur9zIwbGLFdtfyI9Q2nhA2zw==","signatures":[{"sig":"MEQCIFgevcAo2QfwMoIa++XN5M6xeDXFKG+ZhfPMpiv/0KzUAiAzMBPQntO9mDroQt0MCR3UX0jOBdEVxP7sgD7Bu+CW8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.16.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3313110},"main":"./dist/index.js","type":"module","_from":"file:kehto-paja-0.16.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"_resolved":"/tmp/66f9bd13cad5727e29916411a0a552a3/kehto-paja-0.16.3.tgz","_integrity":"sha512-fSMJ0RdPWmWDLDSj9yYc0vEqrIU1bazXJ1uIR8tu4l3Kk7e34mKrPKFzoRQ/O6ur9zIwbGLFdtfyI9Q2nhA2zw==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.19.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.21.0","@kehto/runtime":"^0.23.0","@kehto/firewall":"^0.6.0","@kehto/services":"^0.21.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/paja_0.16.3_1787862540291_0.5952297488589853","host":"s3://npm-registry-packages-npm-production"}},"0.16.4":{"_id":"@kehto/paja@0.16.4","bugs":{"url":"https://github.com/kehto/web/issues"},"dist":{"shasum":"56fd529806db98f9399323b96e1cb50795091d08","tarball":"https://registry.npmjs.org/@kehto/paja/-/paja-0.16.4.tgz","fileCount":13,"integrity":"sha512-+vTeO7Xvoy7v2BiWbXnAecGmfyIobF/wghdQxT1txwNNI2DCviY6M3V16lBqqbnU1npLKCJ17qnRp1rMTHeR7A==","signatures":[{"sig":"MEYCIQCKwxNIw5PYoCas+GSqGgcy6it/49mPPLiQ+6E0SGv/5gIhAPF+lTI7uaeGifVVxxBGEgLjkWWK4G8YwuFgLQILSlED","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCW9BclBb9qQ7sNAOWfD3xt4bee/39sDKZrfDCt9zk6tAIgSWDfaOkMf3bw91Q/35DsV5P9XK8nQj3aNUwTifLO6tc="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kehto%2fpaja@0.16.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3318403},"main":"./dist/index.js","name":"@kehto/paja","type":"module","_from":"file:kehto-paja-0.16.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","import":"./dist/cli.js"}},"license":"MIT","scripts":{"test":"pnpm test:unit","build":"tsup","test:unit":"cd ../.. && vitest run --config vitest.config.ts packages/paja","type-check":"tsc --noEmit"},"version":"0.16.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:11fadfcd-e217-4d63-8e07-c97b33a07d52"}},"homepage":"https://github.com/kehto/web#readme","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"_resolved":"/tmp/5eebf5481b56381bb71d8bfbeae301af/kehto-paja-0.16.4.tgz","_integrity":"sha512-+vTeO7Xvoy7v2BiWbXnAecGmfyIobF/wghdQxT1txwNNI2DCviY6M3V16lBqqbnU1npLKCJ17qnRp1rMTHeR7A==","repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"_npmVersion":"11.17.0","description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","directories":{},"maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@kehto/wm":"^0.0.2","@kehto/acl":"^0.19.0","@kehto/nip":"^0.5.2","@kehto/shell":"^0.21.2","@kehto/runtime":"^0.24.0","@kehto/firewall":"^0.6.0","@kehto/services":"^0.21.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^4.1.2","typescript":"^5.9.3","nostr-tools":"^2.23.3","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"peerDependencies":{"nostr-tools":">=2.23.3 <=2.x","@napplet/nap":">=0.32.0 <0.33.0","@napplet/core":">=0.32.0 <0.33.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/paja_0.16.4_1788814468944_0.6546588244807998"}}},"time":{"created":"2026-06-21T11:42:20.979Z","modified":"2026-09-07T20:54:29.388Z","0.1.0":"2026-06-21T11:42:21.392Z","0.2.0":"2026-06-22T17:59:38.681Z","0.3.1":"2026-06-23T20:34:44.267Z","0.3.2":"2026-06-24T21:38:14.446Z","0.3.4":"2026-06-29T11:17:40.966Z","0.3.5":"2026-06-29T11:50:10.662Z","0.3.6":"2026-06-30T15:52:59.824Z","0.3.7":"2026-06-30T17:31:45.816Z","0.4.0":"2026-06-30T20:29:46.851Z","0.5.1":"2026-07-02T04:46:16.526Z","0.6.0":"2026-07-03T10:46:04.089Z","0.6.3":"2026-07-03T22:56:53.905Z","0.8.0":"2026-07-11T23:06:24.934Z","0.9.0":"2026-07-28T10:21:02.703Z","0.10.0":"2026-07-28T18:52:05.099Z","0.11.0":"2026-07-31T00:59:27.437Z","0.12.0":"2026-08-09T14:15:03.923Z","0.13.0":"2026-08-20T17:14:44.411Z","0.14.0":"2026-08-22T12:39:49.204Z","0.15.0":"2026-08-22T13:53:13.731Z","0.15.1":"2026-08-22T15:13:08.380Z","0.15.2":"2026-08-26T12:54:45.366Z","0.16.0":"2026-08-27T18:52:47.177Z","0.16.1":"2026-08-27T19:15:42.361Z","0.16.2":"2026-08-27T20:02:27.356Z","0.16.3":"2026-08-27T20:29:00.461Z","0.16.4":"2026-09-07T20:54:29.069Z"},"bugs":{"url":"https://github.com/kehto/web/issues"},"license":"MIT","homepage":"https://github.com/kehto/web#readme","keywords":["nostr","napplet","kehto","paja","workshop","development","runtime","hmr"],"repository":{"url":"git+https://github.com/kehto/web.git","type":"git","directory":"packages/paja"},"description":"Paja local authoring workshop for hosting napplets in a real Kehto iframe during development","maintainers":[{"name":"sandwiches","email":"sandwich.farm@protonmail.com"}],"readme":"# @kehto/paja\n\nDevelopment runtime for local napplet authoring and static pointer-loaded\nnapplet testing.\n\nThe runtime is designed to be used from a napplet package script:\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"kehto paja --target-url http://127.0.0.1:5173 -- pnpm vite --host 127.0.0.1\"\n  }\n}\n```\n\nThe target URL is explicit on purpose. Kehto can spawn any framework command and\nwait for that URL, but it does not guess which URL the framework chose. Loading\nthat URL through Paja as injected `srcdoc` lets Kehto install mandatory\n`window.napplet.shell` plus enabled optional domains before app code runs. The\nKehto host-owned shell prelude completes `shell.ready` / `shell.init` and caches\ncapability queries,\nwhile a `<base>` tag keeps the\napp's own assets and HMR pointed at the target dev server without Vite, Svelte,\nReact, or any other framework lock-in.\n\nThe package provides the typed option model, CLI parser, runtime server, host\npage, and host config surface. Local target-url mode keeps one target iframe\nwith a reload loop and a development console wired through a real\n`ShellBridge`, `@kehto/runtime`, and service adapters for the current web NAP\nsurface: relay/outbox, storage, identity, keys, config, resource, theme, notify,\nmedia, upload, intent, count, link, common, lists, serial, BLE, WebRTC, DM, FS,\nCVM, and inc. Relay/outbox defaults to live public relays\nand uses NIP-65 relay-list bootstrap plus kind `3` contact-list reads for\nidentity flows; `--relay-mode memory` is the explicit deterministic fixture\nmode and does not advertise relay, outbox, count, or DM. `shell` is the\nmandatory, non-toggleable handshake domain; the deprecated legacy package path\nremains an upstream compatibility alias to `inc`.\n\n## Dev-server CORS requirement\n\nThe target iframe is sandboxed without `allow-same-origin`, so the napplet\ndocument has an opaque origin and requests its own assets with `Origin: null`.\n`<script type=\"module\">` is always fetched in CORS mode, so a dev server that\ndoes not allow that origin blocks the napplet's entry module and the frame\nrenders blank. Vite's default `server.cors` allowlist covers only `localhost`,\n`127.0.0.1`, and `[::1]` origins, so it rejects `null`:\n\n```js\n// vite.config.js\nexport default {\n  server: { cors: { origin: '*' } },\n};\n```\n\nAny dev server works as long as it answers `Origin: null` with\n`Access-Control-Allow-Origin: *` or `null`. Paja probes the target on startup\nand logs a `paja.target.cors.error` entry in the message log, plus a console\nwarning, when the target would block the sandboxed frame.\n\nThe console shows supported interfaces with per-domain injection toggles,\nruntime ACL controls, signer controls, and a filterable message log with visible\nerror details. In runtime-pointer mode, ACL controls always display and mutate\nthe active tab's resolver-verified d-tag and aggregate hash; a grant or revoke\nrerenders that same identity immediately. Paja auto-connects a browser NIP-07 signer when `window.nostr` is\navailable, can connect to a bunker/NIP-46 URI, and only uses the generated local\ndevelopment signer when the Dev signer button is selected. Sign, publish, DM\nsend, filesystem picker, Blossom upload, and external-link requests use one serialized in-page\nconfirmation dialog. Deny has initial focus and Escape denies. A napplet-scoped\nsign request defaults to one-time approval, with explicit options to remember\nthat event kind or trust every kind from the napplet identity and target. The trust\nchoice carries a visible warning. Remembered signing authority is keyed by the\nactive signer pubkey, host-owned napplet d-tag and aggregate hash, and the Paja\ntarget boundary. Runtime pointers are isolated by verified artifact hash;\ndirect development targets are isolated by exact target URL, and their trust\nsurvives code reloads at that URL. Changing the signer, identity, artifact, or\ntarget asks again. Missing source identity or a nonnumeric kind remains\none-shot, denials are never remembered, and the signer controls can revoke\nevery remembered approval. If durable deletion fails, Paja keeps the approval\nlisted and logs the failure instead of claiming revocation. A full Paja host\nreload creates a new ephemeral Dev signer and therefore asks again; a stable\nNIP-07 or NIP-46 account can reuse its saved choice. Publish and other operation\nconfirmations continue to prompt independently. This is Paja runtime policy under draft\n[NAP-RELAY PR #2 at `0be8abce18beb46ca37bd4ddd042f58d30b4eedc`](https://github.com/napplet/naps/pull/2), not\na Kehto kernel default. Upload consent identifies the requesting napplet, file, MIME type,\nsize, selected server, and durable public effect before bytes leave the browser.\nA denial or a live publish with no accepting relay returns a canonical failure\nand is not added to Paja's in-memory relay view. Paja's scoped-relay hook\nlikewise waits for the backend result and returns `false` after denial or\ntransport failure.\n\nWebRTC is advertised only when the host has the browser WebRTC API, a live\nrelay boundary, and a connected signer with NIP-44 support. Paja owns the\n`RTCPeerConnection` and data channels, uses signed kind-25050 Nostr events for\nencrypted offer/answer signaling, and asks for explicit session consent with a\nnetwork-metadata warning. Napplets receive only NAP session/events and JSON data\nchannel payloads—never SDP, ICE state, relay sockets, or peer-connection objects.\nThis implementation tracks pinned\n[NAP-WEBRTC `5fae95dd2c8e59bd06c654e0845656add077dcda`](https://github.com/napplet/naps/blob/5fae95dd2c8e59bd06c654e0845656add077dcda/naps/NAP-WEBRTC.md)\nand the kind/tag conventions in\n[NIP-100 PR #363 at `ead1cd6`](https://github.com/nostr-protocol/nips/pull/363).\n\nDM is advertised only with live relays and Paja's selected Dev signer, whose\nruntime-owned secret key can create and unwrap real NIP-17 gift wraps. Sends\nreceive one explicit plaintext/recipient confirmation, publish only verified\nkind-1059 envelopes through the authorized relay path, and reload encrypted\nhistory from relays rather than treating a memory fixture as persistence.\nNapplets receive normalized NAP-DM messages, never secret keys, seals, rumors,\nor relay sockets. This implementation follows draft\n[NAP-DM `a0a48588`](https://github.com/napplet/naps/blob/a0a48588b3c9caca9540cccec19635b85231a00f/naps/NAP-DM.md).\n\nFS is advertised only after Paja successfully opens the browser's real\norigin-private filesystem. Each verified napplet identity gets a durable OPFS\n`/workspace`; browser file/directory pickers add session-only opaque virtual\nmounts after host approval. The backend implements metadata, directory lists,\nbounded range reads, canonical padded-base64 writes, replace/append/patch,\nrevisions and preconditions, recursive mkdir/remove, atomic handle moves when\nthe browser supports them, and advisory watches over actual storage. Host\npaths and handles never cross the NIP-5D boundary. This implementation follows\ndraft [NAP-FS `b640cf33`](https://github.com/napplet/naps/blob/b640cf337c0481f0f9a0216c00843f797a5c6df6/naps/NAP-FS.md).\n\nOther domains are equally capability-bound. Relay, outbox, and count require\nlive relays; count uses NIP-45 `COUNT` without downloading events. Storage\nrequires writable `localStorage`; the memory setting is an unadvertised fixture.\nKeys requires a document listener, media requires the browser Media Session\nAPI, notifications require Paja's host renderer, links require browser\nnavigation, and intent requires the installed-catalog/runtime-tab host\ncontroller. DM also requires the Dev signer and live relays; FS requires a\nsuccessful OPFS probe, while picker calls additionally require the corresponding\nbrowser API and a host-owned approval click. Missing host boundaries remove\nthose domains from `shell.init`.\nLive relay URLs are validated before advertisement, fixture events and local\npublish echoes never enter live reads, and relay event sidecars disclose only\nsources that the relay pool actually observed.\n\n## Standard identity and social-cache boundary\n\nA signed-in napplet reads Paja identity and social data only through existing\n`identity.getPublicKey`, `identity.getFollows`, and ordinary kind-0\n`outbox.query` messages. Paja exposes no social namespace, direct networking,\nor signer/key capability for this behavior.\n\nPaja privately validates the active account's replacement kind-3 contact list,\nthen warms followed kind-0 profile records through its established outbox router.\nThe resulting snapshot is active-account-scoped and memory-only. It is distinct\nfrom generic simulation cache mode; it is not napplet-owned storage and has no\ndurable-cache controls. Captured-key request correlation keeps a follows request\nbound to the account that started it, while generation-safe background writes\nprevent stale-account data from becoming the active snapshot.\n\nA normal query can include matching cached `RelayEventResult` values, but Paja\nretains the base router's query-wide `incomplete` and `error` fields. A cache hit\ndoes not make a degraded query complete. Profile winner selection, pagination,\nfollow mutation, durable-cache management, and per-author completeness are\noutside this behavior.\n\n[NAP-IDENTITY at `6461e4b37c29dc09a20dff35d9515889c4433874`](https://github.com/napplet/naps/blob/6461e4b37c29dc09a20dff35d9515889c4433874/naps/NAP-IDENTITY.md)\nis byte-identical to the recorded `napplet/naps` master document for this phase.\nPinned [NAP-OUTBOX at `4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e`](https://github.com/napplet/naps/blob/4589a8f9a16d8aa29b3740e2b3b0cdca11e0976e/naps/NAP-OUTBOX.md)\ntogether with installed `@napplet/nap@0.32.0` types is the PoC contract because\ncurrent master has no NAP-OUTBOX path. Paja therefore makes no current-master\nOUTBOX conformance claim. Blossom upload behavior targets pinned\n[NAP-UPLOAD at `a7cc17463cbf5d9cb87884b31071bc4fc826034c`](https://github.com/napplet/naps/blob/a7cc17463cbf5d9cb87884b31071bc4fc826034c/naps/NAP-UPLOAD.md).\n\nThe static Paja Runtime build is served at `/web/paja/` in the GitHub Pages\nartifact. It uses the same browser host and service adapters, but loads verified\nnapplet HTML from pasted `naddr` or `nevent` pointers with `hmr: none`. Each\nloaded pointer becomes a closeable header tab; loading an already-running\nnapplet opens a choice to load another instance, switch to the existing tab, or\ncancel. Each tab includes a share control that copies a `/web/paja/?naddr=...`\nor `/web/paja/?nevent=...` link for that pointer, and the browser remembers open\nruntime tabs in local storage so returning to `/web/paja/` restores the previous\npointer set. An explicit pointer in the URL still takes precedence over restored\ntabs.\n\nThe static artifact defaults to Paja's standard live relays and memory uploads.\nTo point it at specific live relays or Blossom upload servers, pass\ncomma-separated host lists when generating the artifact:\n\n```bash\nPAJA_RELAY_URLS=\"wss://relay.example,wss://relay.example.net\" \\\nPAJA_UPLOAD_SERVERS=\"https://blossom.example\" \\\nnode scripts/build-paja-pages.mjs\n```\n\nWhen `PAJA_UPLOAD_SERVERS` is set, the runtime enables the Blossom upload rail\nand also makes those servers explicit NAP-RESOURCE fallbacks. It is not needed\nfor read-side discovery: resources learned through OUTBOX use their event hints\nand hinted-author/publisher server lists first, then the active shell user's\npublished list, the current window's verified pointer-manifest servers, and\nfinally configured runtime fallbacks.\n\n## Installed intent handlers and delivery\n\nPaja keeps resolver-verified pointer and manifest facts in an installed catalog,\nseparate from the live tab/controller map. A verified install inserts or replaces\nthe catalog record; an explicit artifact removal removes it. Closing, reloading,\nor replacing a frame never makes an installed handler unavailable, so a cold\ntarget can still be selected and started later.\n\nIntent selection considers only exact compatible contracts from that catalog.\nPaja can use a compatible user default, ask its host chooser when more than one\ncandidate is available, or reject an ambiguity. An explicit handler d-tag is\naccepted only when it is an installed compatible handler and the invoking sender\nhas been explicitly authorized for it. It is not a request to deliver to an\narbitrary running frame.\n\nWhen Paja receives an invocation, it selects and opens or reuses a verified\ntarget. The controller waits for the target generation's\nregistered `MessageEvent.source` to establish its real `shell.ready` session;\nit checks that generation is still current, sends one target-only `inc.event`\nwith the selected queryless convention, and returns the final handled target\nidentity. A superseded target/source, failed open/readiness, or terminal send is\nhandled by the controller's replacement/retry/terminal policy and produces a\ncanonical failed `IntentResult`.\n\n`@napplet/shim@0.30.0` supplies no generic shell API. Kehto deliberately keeps\nits host-owned mandatory `window.napplet.shell` prelude: it installs the live\nreceiver before the one bare `shell.ready`, caches the first `shell.init`, and\nprovides local `ready()`, `supports()`, read-only `services`, and one-shot\n`onReady()`. This is the documented upstream-package-drift exception, not a\nshim capability.\n\nBefore Paja assigns a verified runtime-pointer document to `srcdoc`, it inserts\nKehto's local Class-1 CSP before the host-owned namespace prelude. The policy\ndenies all defaults; permits inline script/style, WebAssembly compilation through\nthe narrow `'wasm-unsafe-eval'` source, `data:`/`blob:` images, and `data:` fonts;\nkeeps JavaScript string evaluation blocked; grants `connect-src` only to the resolved relay and Blossom\norigins; explicitly denies worker, child, frame, media, object, manifest,\nprefetch, base, and form capabilities; and ends with `frame-ancestors 'self'`.\nThe NIP-5D verified-srcdoc and opaque-sandbox rules do not mandate this CSP;\nit is Kehto policy. Local target-URL authoring mode is intentionally outside\nthis verified-artifact policy path.\n\nEnvironment simulation can be supplied through CLI flags or a JSON config file:\n\n```bash\nkehto paja \\\n  --target-url http://127.0.0.1:5173 \\\n  --identity-mode fixed \\\n  --identity-pubkey 4444444444444444444444444444444444444444444444444444444444444444 \\\n  --relay-mode disabled \\\n  --capability relay:off \\\n  --capability outbox:off \\\n  --theme light \\\n  --config-value 'density=\"compact\"'\n```\n\n```json\n{\n  \"targetUrl\": \"http://127.0.0.1:5173\",\n  \"simulation\": {\n    \"identity\": {\n      \"mode\": \"fixed\",\n      \"pubkey\": \"4444444444444444444444444444444444444444444444444444444444444444\"\n    },\n    \"relay\": { \"mode\": \"disabled\" },\n    \"capabilities\": { \"domains\": { \"relay\": false, \"outbox\": false } },\n    \"theme\": { \"mode\": \"light\" },\n    \"config\": { \"values\": { \"density\": \"compact\" } }\n  }\n}\n```\n\nConfigured `config.values` are only a seed for identities with no saved\nsettings. A napplet must register a valid NAP-CONFIG schema before any values\nare delivered. Paja then validates/defaults the seed, persists commits under\nthe host-resolved `(dTag, aggregateHash)`, and exposes a shell-owned settings\ndialog; napplets remain read-only. If durable browser storage or that host UI\nis unavailable, Paja does not advertise `config`.\n\n## NAP-UPLOAD modes\n\nPaja keeps `memory` as the default unadvertised upload fixture. It does not\nregister `window.napplet.upload`, return success, or store bytes. Opt into real\nBlossom storage with a shell-owned server and an active Dev, NIP-07, or NIP-46\nsigner:\n\n```bash\nkehto paja \\\n  --target-url http://127.0.0.1:5173 \\\n  --upload-mode blossom \\\n  --upload-server https://blossom.example \\\n  -- pnpm vite --host 127.0.0.1\n```\n\nPaja prompts with the napplet identity, file details, selected server, and a\npublic/durable warning before it signs or sends bytes. Production servers must\nuse HTTPS; plain HTTP is accepted only for loopback development hosts. The\nserver must allow Paja's browser origin, `PUT` and `OPTIONS`, plus the\n`Authorization` and `Content-Type` CORS headers.\n\nExplicit servers win. With no explicit server, Paja may use an independently\nwarmed snapshot of the active signer's newest BUD-03 kind `10063` `server`\ntags. `upload.info` and `upload.upload` never initiate that discovery. Pointer\nloader Blossom hints are artifact sources, not upload policy. The current path\nuses the first server only, returns its direct HTTP(S) URL, and does not mirror\nor construct BUD-10 URLs.\n\nCompletion requires the server descriptor to confirm the exact local SHA-256\nand byte size as a non-negative safe integer. Missing or mismatched proof is a\nfailed result even after an HTTP success. The configured identity, provider,\nsigner, discovery author, and signed authorization pubkeys must agree; a fixed\npubkey without `signEvent` is read-only. This implements the draft\n[NAP-UPLOAD at `a7cc174`](https://github.com/napplet/naps/blob/a7cc17463cbf5d9cb87884b31071bc4fc826034c/naps/NAP-UPLOAD.md).\n\n## NAP-RESOURCE schemes\n\nPaja's developer-runtime policy accepts arbitrary `http:` and `https:` resource\nURLs so a normal remote image does not look broken merely because its origin was\nnot pre-granted. Paja resolves those URLs with browser `fetch`, omits credentials\nand referrer data, caps responses at 10 MiB, and classifies MIME from returned\nbytes. Its byte classifier recognizes checksum-valid Game Boy ROM headers as\n`application/vnd.nintendo.gb-rom`; it never trusts a server-supplied media type.\nBrowser network and CORS rules still apply: an unreadable response is the\ncanonical `network-error`, while any CORS-readable response is returned as NAP\nbytes.\n\n`data:` remains locally decoded. `blossom:` is a separate, content-addressed\nboundary and is advertised because each request may provide server locations\nwithout a host default. Paja accepts only public-looking HTTPS origin hints,\ndiscards invalid/private literals, and deduplicates them. For a canonical URL\npreviously returned to the same napplet window by `outbox.getEvent`,\n`outbox.query`, or `outbox.subscribe`, Paja retains bounded event context\nwithout prefetching bytes. Resolution tries request and\nevent-local server hints first, then lazily queries hinted authors' and the\nevent publisher's newest BUD-03 kind `10063` lists through the verified\nNIP-65-aware OUTBOX router, then queries the active shell user's BUD-03 list\nthrough that same router, then uses the current window's verified\npointer-manifest servers, followed by upload-runtime fallbacks. The user-list\nlookup works independently of upload mode; an upload runtime may reuse the same\nservers when present. ROM-specific event and publisher locations retain\npriority over the user/runtime fallbacks. The combined list is capped at eight\ncandidates. The only accepted identifier is `blossom:sha256:<hex>`;\nPaja refuses redirects, verifies the requested SHA-256, and permits plain-HTTP\ntransport only for configured loopback development defaults. Browser-only Paja\ncannot pin DNS results, so production runtimes must add the draft's DNS-time\nprivate-address checks. The current\n[NAP-RESOURCE draft at `fa6bcc6`](https://github.com/napplet/naps/blob/fa6bcc6935aa19e7b70ab2a2c721dafca77c78e1/naps/NAP-RESOURCE.md)\nassigns fetching and policy to the runtime and defines no wire-level Blossom\nserver-hint field. Retaining verified manifest servers per window is therefore\nPaja host policy, informed by the current\n[NIP-5D draft at `24711d9`](https://github.com/nostr-protocol/nips/blob/24711d9c47bbdd07908bf1d52bf677d9cbc530f0/5D.md),\nwhich defines manifest `server` tags. The existing request-server compatibility\npath comes from the earlier NAP-RESOURCE draft at `9511232`, with the merged package implementation\n[`napplet/web#206@19e0029b`](https://github.com/napplet/web/pull/206) released as\n`@napplet/core`/`@napplet/nap` 0.32.0, `@napplet/shim` 0.30.0, and\n`@napplet/sdk` 0.28.0. Publisher discovery follows\n[Blossom BUD-03 at `b5bd280`](https://github.com/hzrd149/blossom/blob/b5bd2801d1763aa635fc8fea7a76597e0eb18990/buds/03.md).\n\nFull package docs: [`docs/packages/paja.md`](../../docs/packages/paja.md).\nGetting started: [`docs/how-tos/paja-getting-started.md`](../../docs/how-tos/paja-getting-started.md).\nLocal authoring how-to: [`docs/how-tos/paja-local-authoring.md`](../../docs/how-tos/paja-local-authoring.md).\nGenerated API module: `docs/api/modules/_kehto_paja.html` (run `pnpm docs:api`).\n","readmeFilename":"README.md"}