{"_id":"@cr8rcho/alkahest-toolbar","_rev":"14-9aa3c35184ba00ca0d8b31531ee8a8a6","name":"@cr8rcho/alkahest-toolbar","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.0","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.0","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"3242465b1ca3ace629386c99d779bf3a53ba6c5b","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.0.tgz","fileCount":11,"integrity":"sha512-9PHseItCmsTBtOpUbuOmwxRa38wHft9KLKJumIocqNMOizPi65NNB+sREojG+W4mWyERy9qs+X1y697u4BGBJQ==","signatures":[{"sig":"MEUCIBts5Ol3wcUZHAO6C2LJebprsAltmh0O3EhEJGYwYblLAiEAiJy4iTuLPrMNbk4AwtnjQXK/MhaMo0UWOYbfnMw81HQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36010},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ea23f79a0fab5ce295726bdc1611c1fa94ab945d","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"cr8rcho","email":"cr8rcho@gmail.com"},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"10.8.2","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"20.18.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.0_1783168052390_0.9264761078491057","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.1","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.1","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"702d699364728ac7d43a4673571b830d22640811","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.1.tgz","fileCount":11,"integrity":"sha512-94c52OM0ssSgNUOWda+HGiSyLeejUNHGmVM4fVxsil/jzd2cDixMLBH9wLwg+YPOGDMV511SNVRt34Ur4gNA/g==","signatures":[{"sig":"MEUCIQDxgCNYvh+vExzuyCslIX+/uqEkuwVAI8xgxs6rx7aNWgIgR3MH0auZsu1+QjRysx/2gB4HDEtCL31cW4ZE1x1jku4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":36059},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"669721a639f8b54daee8dc5ad3d087adb1af6066","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.18.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.1_1783168551722_0.9223434234402197","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.2","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.2","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"594b0dc2d76f953e928a3da42e16dd8605ee7220","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.2.tgz","fileCount":11,"integrity":"sha512-qhRJ0spx85rz9eZxe9GJUOp/MTYaAIrMpRgPw3lDG8xiGELApGVlKQnLcyUNPM4AzqYPmfc80uZIQbMasDDEaQ==","signatures":[{"sig":"MEYCIQC3hWwjUxARzuVFLAE57m7q6Xm0LR1IUC4QlFc4A4AFVwIhAKnKRMJg5o7gkDMJLtlODomC7A8Q2z0lm1q+jBCoGhrU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":39866},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"462862c9b2624f3433038a0589e11cc93d6297be","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.2_1785242115250_0.4361414296531274","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.3","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.3","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"c01ac6c43cb4f7ac5e09cf06443a04b7ca0088ec","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.3.tgz","fileCount":11,"integrity":"sha512-pTtjMHNk6VJVkfqdreaMBUeFRcBDB5UmruaqIrTHLr9/NI4O01GX1wN66wMmUF6AwMAGfgDh8eIECbhp85A4og==","signatures":[{"sig":"MEYCIQC3X/gg57Ds80EbA6kB79TO5XAQkUjHs8DIBDBOSEegOQIhAPW+VVUCFD0TMs7hFDfQc2nu6goR0hj9lwBE04ZVpp8v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48539},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c2ada132fb5140bd2284a05a125785994d00551f","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.3_1785334727874_0.1587681766239526","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.4","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.4","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"81e4f534d3bb937e621ac064ca0db4eb81d526d9","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.4.tgz","fileCount":11,"integrity":"sha512-S6YjyrSDjVVo9vmAAYlDEA8l9ntnPtyoCxCjhKi9XceIsMAQvk0/d2AVyjBXG1qodYQ1llwR3Yo0M4Sf3cqoXw==","signatures":[{"sig":"MEYCIQDwsYsA/R+fvCmzfPcGupzU23jCHBTowb/e3kgZRe8OFAIhANDDdPOWyck+XcGepVy9yu/jF8TEUF22BJ7WsH0QGJIS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"37ee831558934b95daf6edc3e4c81bd63040bb44","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.4_1785401939318_0.7246204107505065","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.5","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.5","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"220583662aa1d014f4dc73fdd66776f8912e7179","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.5.tgz","fileCount":11,"integrity":"sha512-N8DRLZ/jfYVGUweNDVGCUO1x3aLKLxy+vTLWYV2lwdaY4Hcop7ksL7LCt+u+AMLfwn/9OGQxHyzRWXJ+yE26Mg==","signatures":[{"sig":"MEUCIQDA8JZ+u5PF/OYRWicS0rLqOZy0igH169LwkD3+h/v7PAIgYjORfquBble/e8cDjnx0lY3UsCc1wG3TOcCExlZSth4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":58164},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fe5a5248d252b6c35b935340e25c5fe19ce73609","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.5_1785402488348_0.6898847243757864","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.6","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.6","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"fb955da32617837bbe527d85d925d5a5aca18ebc","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.6.tgz","fileCount":11,"integrity":"sha512-yUQ7h7z5W6mlHxITmopNvHdo1K+8G8FtMmMY7ci5Z9esnFYtYHnjD++w4QbwPa+WntaZP+wklJVdIV8tAKLMLA==","signatures":[{"sig":"MEQCIEP0eSHh3tKanu8Iy5ne2nGwur+HobwmHOzWQmCMAgvTAiAcHMTfMQ9esthqaXzJ7DCw7LM0SeIDANQVmWWflCXn8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":62464},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f593b2795bc0f13483ec25d53ecd3f7035efc271","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.6_1785405444475_0.173402494704896","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.7","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.7","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"c5830685f231af06cbefcf5cb5c29131a102c2c2","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.7.tgz","fileCount":11,"integrity":"sha512-msZNvTjMa2sNIaKLRST4xScxjj9jVe0QokCyDFpGhWjC/KVbt4ls7i57ZSM58Q0RJu4SpHh2IG8YImZeFYWJKg==","signatures":[{"sig":"MEUCIQC1BEiRoDPxwBZPlAD6kw40xlvA7CJfhX22+uf5Pe5AhQIgPt21gen4aWknVl/wdC4Tb6raepsOrkhdEp3HfbSlUKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":63450},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ad80149470216c4caae5121e8bc6a2e613146fca","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.7_1785407598518_0.09642125576547134","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cr8rcho/alkahest-toolbar","version":"0.1.8","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.1.8","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"5225ec229fa1ef8ebc49c0bb38e92f3686d04a07","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.1.8.tgz","fileCount":11,"integrity":"sha512-gx/dOAZeI6gWZZust73d0QL32vN2krMmMx1FDXoCscFEayBq4ZsFGOVUdP5s2Hkw2SpsvPN6rkrh/869CJ4pbA==","signatures":[{"sig":"MEUCIGPKvHSQZgPuqhIyj4BJWSo8fTt6Xw+vT7fDpaH/kMmIAiEAr+bt2vy4mrSeSi7DFs6YDIIiFDh1w/yt4dIgQ2KeWAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64522},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d1766a020e1ec98a1ca2896b4cbce6cc5c9de4e7","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.1.8_1785419654598_0.486282262269657","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cr8rcho/alkahest-toolbar","version":"0.2.0","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.2.0","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"17ed564efbac668058d1eac7d546ace9f21d3d15","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.2.0.tgz","fileCount":11,"integrity":"sha512-0ixrrNKSRPzlnqWyj+S/cMgq/9dl3ZLhxK8TmqZgm5aQD9VRPXfofu24fwlEAyprAy/32ekX1yL7qMQeKsvmQQ==","signatures":[{"sig":"MEYCIQC3AN9up5AMP2EHC6fpbMujPJlkmXh75jhTHEqsDPhW+AIhAKco5XaMXZK9ofoxCFRAyVy415AhnV3G9HJ8wWv7VSrT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76060},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5163925cc6217a8651ef2cf39eb3bf574fc0b0aa","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.2.0_1785426386221_0.5038846337866201","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cr8rcho/alkahest-toolbar","version":"0.2.1","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.2.1","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"fb7a9c3cf6752da2860ee3b50d2918b0e80534c8","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.2.1.tgz","fileCount":11,"integrity":"sha512-GXyLGFc0MhyxtrkqV/HdLUaBvdwq3NIFvTAA2ijnQK+L3t4SsNSsrBJdre0kpnMmTiWjCSkQ9NdK7dRakOTBZg==","signatures":[{"sig":"MEQCIAzeUbHgZSsM8ZE36tV5lect8fidWFXTNi8Fauky9PeSAiAORbUM3+L5C9VqX7Ud07r6MW+TVcI826eejVtmi23dcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76924},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ef27034bf759fecce18d47328765f07f6cde7146","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.2.1_1785426922713_0.6753495725037562","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cr8rcho/alkahest-toolbar","version":"0.2.2","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.2.2","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"c0eed433f663bc715a2f284de3cd9821d6bbda51","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.2.2.tgz","fileCount":11,"integrity":"sha512-2atlIGE8SrEY6xxnK4p8k30arqlPny6GNwnhbwzu7tSs381YIW/9FMEBCUXCkxZqZrVGFgv5Gk74lqR96yH7Xw==","signatures":[{"sig":"MEUCIF+N6vyL4k7VF/bmSMpp0LCn+y8O92gvbeRY2KNPU9xuAiEAoVJm9ScMP19J1R9x47L/yrEGznmDRT+FZet/XYtRUeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76103},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"74e0dcf43ccdee3244554e46af8fd69b62b0a782","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.2.2_1785427450733_0.005936200307755435","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cr8rcho/alkahest-toolbar","version":"0.3.0","keywords":["alkahest","toolbar","feedback","issues","widget"],"license":"MIT","_id":"@cr8rcho/alkahest-toolbar@0.3.0","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"dist":{"shasum":"eff9277eeb3a09abf757e055fe3335777eb4db71","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.3.0.tgz","fileCount":11,"integrity":"sha512-VLh/Ak1x0L+ykRIToP5LXEnFWRcRJmd/yEraTULoEJVt1yUyd2seYa2+QgsQ/586WWp8kBVBxS19Ob0uvpaT0w==","signatures":[{"sig":"MEUCIQDbAu6ReNNqznJoSaB2dDCOi6bs86slLFqsl7Ns4D7TxgIgbshDQamupap3ePRj2eNKwW80+IcTDOslnVFG6fGmM9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80197},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5b986b45fe1e6c1fbb350781b993c91cbf8172f8","scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"repository":{"url":"git+https://github.com/cr8rcho/alkahest-toolbar.git","type":"git"},"_npmVersion":"11.16.0","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/alkahest-toolbar_0.3.0_1785432184073_0.3492539021422998","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cr8rcho/alkahest-toolbar","version":"0.3.1","description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","license":"MIT","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"esbuild src/index.ts --bundle --format=esm --outfile=dist/index.js && esbuild src/global.ts --bundle --format=iife --minify --outfile=dist/toolbar.global.js && tsc","typecheck":"tsc --noEmit"},"devDependencies":{"esbuild":"^0.25.0","typescript":"^5.6.0"},"repository":{"type":"git","url":"git+https://github.com/cr8rcho/alkahest-toolbar.git"},"keywords":["alkahest","toolbar","feedback","issues","widget"],"gitHead":"443d6e8d7904cd8707ec6c910077937989519509","_id":"@cr8rcho/alkahest-toolbar@0.3.1","bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-XJiMpPLqVDqwTnRtq9QwN3GDKZ1ofQ1FJUgo7qNnlxBgthb3yWAfSYixs+wGLHl9ouWlubwtAPLNmD+wbNe+Sw==","shasum":"07f3cba081ed9b819b0bbd51e07320c944d07b35","tarball":"https://registry.npmjs.org/@cr8rcho/alkahest-toolbar/-/alkahest-toolbar-0.3.1.tgz","fileCount":11,"unpackedSize":86319,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cr8rcho%2falkahest-toolbar@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC/ibAeW3oQrOO3UQKYhulhKLE0dyJg4ZvTO2Pv/kjOUwIgHZlp3JHBolFSB2BwXO6SJEjNUWs9/5SQLUH/BmbII7k="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63944a46-140f-4ca6-b3af-0fb4c6ac7620"}},"directories":{},"maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alkahest-toolbar_0.3.1_1785727002984_0.4139406384470863"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-04T12:27:32.209Z","modified":"2026-08-03T03:16:43.478Z","0.1.0":"2026-07-04T12:27:32.521Z","0.1.1":"2026-07-04T12:35:51.878Z","0.1.2":"2026-07-28T12:35:15.392Z","0.1.3":"2026-07-29T14:18:48.012Z","0.1.4":"2026-07-30T08:58:59.462Z","0.1.5":"2026-07-30T09:08:08.550Z","0.1.6":"2026-07-30T09:57:24.616Z","0.1.7":"2026-07-30T10:33:18.659Z","0.1.8":"2026-07-30T13:54:14.792Z","0.2.0":"2026-07-30T15:46:26.358Z","0.2.1":"2026-07-30T15:55:22.868Z","0.2.2":"2026-07-30T16:04:10.973Z","0.3.0":"2026-07-30T17:23:04.220Z","0.3.1":"2026-08-03T03:16:43.133Z"},"bugs":{"url":"https://github.com/cr8rcho/alkahest-toolbar/issues"},"license":"MIT","homepage":"https://github.com/cr8rcho/alkahest-toolbar#readme","keywords":["alkahest","toolbar","feedback","issues","widget"],"repository":{"type":"git","url":"git+https://github.com/cr8rcho/alkahest-toolbar.git"},"description":"Embeddable Alkahest toolbar — file issues into your project's issue maps from the running product, mobile-first.","maintainers":[{"name":"cr8rcho","email":"cr8rcho@gmail.com"}],"readme":"# Alkahest Toolbar\n\nEmbeddable issue-reporting toolbar for [Alkahest](https://alkahest.app) projects. A small\ndraggable button in the corner of **your running product** lets your team file issues into\nyour project's issue pool — anchored to the page they were standing on — without leaving\nthe app. Mobile-first: it's built for filing from a phone browser, where most real-usage\nfriction is actually found.\n\n**Team-only by design.** The toolbar ships to every visitor but renders for almost none:\nit appears only after a team member signs in with their own Alkahest account (or flips it\non with `?alkahest=on`). Regular visitors see nothing — no widget, no layout shift, no\nnetwork traffic beyond the script itself. There is no anonymous feedback mode and no\nsecret key in your page source: the only thing you embed is your project's public slug\n(the same one already visible in your `alkahest.app/p/<slug>` URLs).\n\n- Zero dependencies, framework-free vanilla TS\n- ~10 kB minified IIFE (or an ESM build for bundlers)\n- Shadow DOM — host-page CSS can't leak in, toolbar CSS can't leak out\n- Light/dark **follows the host page** — its `<html>` `color-scheme`, else the page's own\n  background, else the OS preference; pin it with `data-theme` if you'd rather decide\n\n## Install\n\n### Script tag (auto-initializes)\n\n```html\n<script\n  src=\"https://unpkg.com/@cr8rcho/alkahest-toolbar/dist/toolbar.global.js\"\n  data-alkahest-project=\"your-project-slug\"\n  defer\n></script>\n```\n\nConfiguration rides on the same tag as data attributes:\n\n| Attribute | Required | Meaning |\n| --- | --- | --- |\n| `data-alkahest-project` | ✓ | Project slug (the `:slug` in `alkahest.app/p/:slug`). Its presence is what triggers auto-init. |\n| `data-issue-map` | | Issue-map slug to file into. Omit to let the server resolve the sole map, or to show a picker when the project has several. |\n| `data-api-base` | | Override the Alkahest API base (self-hosted backends). |\n| `data-web-base` | | Override the Alkahest web app base (where the consent page lives). |\n| `data-theme` | | `auto` (default) / `light` / `dark`. Pin it when your site themes itself in a way the toolbar can't read — see [Theme](#theme). |\n\nThe IIFE also exposes `window.Alkahest.init(config)` if you'd rather init manually —\ndrop the `data-alkahest-project` attribute in that case so auto-init stays out of the way.\n\n### Module\n\n```bash\nnpm install @cr8rcho/alkahest-toolbar\n```\n\n```ts\nimport { init } from \"@cr8rcho/alkahest-toolbar\";\n\ninit({\n  project: \"your-project-slug\", // required\n  issueMap: \"bugs\",             // optional — pin one issue map\n  // apiBase / webBase           // optional — self-hosted overrides\n});\n```\n\n`init()` is idempotent (a second call is a no-op) and safe to run before\n`DOMContentLoaded` — it defers mounting until the DOM is ready.\n\n## How it works\n\n1. **Sign in.** A team member taps the ◈ button → **Sign in with Alkahest** → full-page\n   redirect to the consent screen on alkahest.app (no popups — mobile Safari can't be\n   trusted with them). The consent screen names your site's origin and exactly what it's\n   granting.\n2. **Scoped token.** Approving returns a one-time code (5-minute TTL, single-use) in the\n   URL fragment — it never reaches your server logs. The toolbar exchanges it for a\n   **scoped token** that can create issues and list maps, *nothing else* — it cannot\n   publish maps, read comments, or touch anything destructive. It appears on the account\n   **Tokens** page as `widget: <your origin>`, where it can be revoked at any time —\n   revoking is what ends it, and the toolbar notices on the next page load.\n3. **File.** The form is title + details. The toolbar attaches the facts automatically:\n   the current route becomes the issue's `route` target, and the full URL + user agent\n   ride along in the body. A route is a fact, not a guess — matching it to a code-map\n   node happens later, at triage (or automatically, when a published code map contains\n   that route).\n4. **Converge.** Once the project's code map is published with that route, Alkahest\n   promotes the issue's target from a dashed *prospective* route to the solid node — and\n   stamps the map version that shipped the fix when the issue is completed.\n\n## Activation & visibility\n\nThe snippet is inert by default, so it's safe to ship on production:\n\n- Visitors with a stored token see the button. Everyone else sees **nothing**.\n- `?alkahest=on` (any page, any position in the query string) shows the button without a\n  token — that's how a team member reaches the sign-in flow the first time. The flag\n  persists in `localStorage`, so it's needed only once per browser.\n- `?alkahest=off` hides the button again **and clears the stored token**.\n- **Drag the button onto the ✕ target** at the bottom center of the screen — the target\n  rises as soon as a drag starts, arms (red, larger) when the button comes within ~72 px of\n  it, and dropping there opens the turn-off confirmation.\n  Dropping is the way out from the UI: it confirms first (turning off also signs this browser\n  out), then the toolbar unmounts on the spot. There used to be a **Turn off toolbar** link in\n  every panel's footer as well; it's gone — one door to the same room is enough, and it sat\n  under a form people use daily. `?alkahest=off` remains the typed fallback, which is also the\n  only path that doesn't need a pointer.\n\n> **SPA note:** the toolbar reads the activation flag and the returning consent code both\n> at load and when the panel opens, so client-router navigations that rewrite the URL\n> don't strand either. If your app normalizes the query string on boot, make sure it\n> preserves params it doesn't own — otherwise `?alkahest=on` can be erased before any\n> lazy-loaded script sees it.\n\n## Theme\n\nThe toolbar lives inside *your* page, so the OS preference is the wrong authority: a dark site\nvisited from a light-mode laptop would get a glowing white panel. It resolves in this order and\nre-resolves whenever `<html>`/`<body>` change their `class`, `style` or `data-theme`:\n\n1. **`data-theme` on the script tag** (`light` / `dark`) — you decide, nothing is sniffed.\n2. **`color-scheme` on `<html>`** — the standard declaration a themed site already makes. If\n   you support dark mode, declaring it is worth doing anyway: it also fixes native form\n   controls and scrollbars.\n3. **The page's own background luminance** (`<body>`, then `<html>`) — for sites that theme with\n   just a `.dark` class and never declare `color-scheme`.\n4. **`prefers-color-scheme`** — only when the page declares nothing and paints nothing.\n\n## The button\n\n- **Drag to move** (chat-head style): grab the ◈ button and drop it anywhere — it snaps\n  to the nearer left/right screen edge and remembers the spot per origin, so it can stay\n  clear of your app's own floating buttons. A tap (< 6 px movement) opens the panel; a\n  drag never does.\n- **Drag to dismiss:** while dragging, a ✕ target appears at the bottom center. Dropping\n  the button on it asks to turn the toolbar off (it doesn't turn off immediately — that\n  also signs this browser out, so it confirms first). Cancelling puts the button back where\n  it was; the drop position is never saved.\n- The panel opens next to the button's resting spot on desktop (a 340 px card), and on a phone\n  (≤ 480 px) it slides up and **fills the screen** — square corners, because it is the screen and\n  not a card resting on one.\n\n## One shell, four states\n\nThe panel is a single window whose contents change — it does not resize or re-shape between\nstates. Sign-in, the composer, the filed confirmation and the turn-off prompt all share the same\nheading (the route), body and toolbar row; short states just centre their message. On a phone that\nshell is the whole screen in every state; on desktop it is a fixed 340×272 card.\n\nThere is no loading state. The issue-map list is only needed to *draw* the picker — sending\nwithout a map is fine, the server resolves the project's sole issue map — so the composer opens\nimmediately and the picker appears later if there turns out to be a choice.\n\nFiling closes the panel by itself: the confirmation shows for 1.5s, then the toolbar gets out of\nthe way (instantly under `prefers-reduced-motion`).\n\n## The composer\n\nFiling an issue is a compose task, not a form to fill in, so the panel is written like one:\n\n- **No boxes, no labels.** The first line is the **title** (bold), the block under it the\n  **description** — the same two values as before, told apart by weight instead of by borders.\n  Both carry `aria-label`s for assistive tech.\n- **The route is the heading** — the one fact worth confirming before you send.\n- **A toolbar row at the bottom** holds the issue-map picker (only when your project has more than\n  one, and you didn't pin one) and the send control: a 36 px icon on a phone, a compact\n  `File issue` button on desktop. It stays disabled until there is a title.\n- **Enter on the title line** moves to the description; **⌘/Ctrl + Enter** sends from either\n  field. The shortcut isn't printed on the button — it's in the button's tooltip.\n\n## Security model\n\n- **Nothing secret is embedded.** The project slug is public routing data.\n- **Auth is per-user.** Every report is created as the signed-in Alkahest account, gated\n  by that user's actual project permissions (editor access is required to file).\n- **The stored token is scoped, and revocable.** It lives in your site's `localStorage`, so\n  an XSS on *your* site could read it — which is exactly why it can only create issues and\n  list maps. It does not expire on a timer (that only cost people a re-login every month);\n  revoking it on the Tokens page is what kills it, immediately.\n- **Drafts stay on the device.** What you type is kept in `localStorage` until the issue is\n  filed, so a closed panel, a reload or a signed-out session can't lose it. Nothing is sent\n  anywhere until you press send.\n- **The one-time code returns in the URL fragment**, not a query param — fragments are\n  never sent to servers, so the code stays out of logs. It's single-use and expires in\n  5 minutes regardless.\n\n## CSP\n\nIf your site sets a Content-Security-Policy:\n\n- `connect-src`: allow the Alkahest API host (default\n  `https://ytcmzkrvtomtcrcyqqcb.supabase.co`)\n- `script-src`: allow wherever you load the script from (CDN, or your own origin if you\n  self-host the file)\n\nThe toolbar makes no other network requests and loads no remote assets.\n\n## Development\n\n```bash\nnpm install\nnpm run build       # dist/index.js (ESM) + dist/toolbar.global.js (IIFE) + .d.ts\nnpm run typecheck\n```\n\nSource layout: `src/config.ts` (options), `src/auth.ts` (activation + consent handoff +\ntoken storage), `src/api.ts` (maps list / issue create), `src/panel.ts` (button + panel\nUI), `src/index.ts` (public API), `src/global.ts` (IIFE entry).\n\nThis repo is the MIT half of Alkahest's open-core split: the SDK is open, while the\nhosted service it talks to (consent page, token scoping, issue storage) lives in the\nprivate `alkahest` repo.\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}