{"_id":"@ascenda-one/gemini-hooks","_rev":"13-3bb57deaebfff7ae102ce8be0c6d2cbd","name":"@ascenda-one/gemini-hooks","dist-tags":{"latest":"0.1.28"},"versions":{"0.1.16":{"name":"@ascenda-one/gemini-hooks","version":"0.1.16","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.16","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"9cd5ee7b7d29f0ff1e608bafb84e99ad3d17539a","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.16.tgz","fileCount":12,"integrity":"sha512-WLzuloZMZlNFURQ9Uxh1y4lGUb+s6BZ9k/OAs55LmA2Qp+DxW9HXF4MEhySl5aKG6J8XofyF9dEuwHI8P+kf0g==","signatures":[{"sig":"MEUCIQCPf0Ojvs7PNCtZSu358EZt0eXfiUE8s79EtItz2D9cRQIgJveKbV42mgOe+C5k4UZrBTqwwRTI5bMq+Q1+qoa2vKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197687},"type":"module","engines":{"node":">=20"},"gitHead":"414b25b83dd062b11c845fde8c7c6eb582905a27","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.16_1788492382142_0.21448864129683276","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@ascenda-one/gemini-hooks","version":"0.1.17","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.17","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"c325cfe58f7ba637da3bbae8fff198f1b198b6c5","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.17.tgz","fileCount":12,"integrity":"sha512-8X//u9uTh1REsNGdUOtCqLHNjn3gcFiGYUVapHSTZcb0f5m/VqDeR317Cv/G+IyEnrIbGzdQ1Sod082RTEHaJQ==","signatures":[{"sig":"MEQCIFfZGHlVnICuwlrfl/1voRKXOY/CF30OhStdf5gULEcbAiBgrX5yO/xAMnwcspwMyEUZnr4hRZ8GZq7l/BRFy6zXVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198593},"type":"module","engines":{"node":">=20"},"gitHead":"8fb13b8b541bb90e806c64537b25597268e9f214","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.17_1788744393408_0.9946344447284949","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@ascenda-one/gemini-hooks","version":"0.1.18","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.18","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"e30444b7b097745bd05454f11e8a38b0f26d4a3a","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.18.tgz","fileCount":12,"integrity":"sha512-93qNQ5qiVwO/mHdM1KH2Eubhc6PddctDMMl7v6d+7jYj5eE/1rfHWN64X85aAZBrSLQdW8AFIfsBrOcDbMz4zw==","signatures":[{"sig":"MEUCIQD1yCrh2FoEekLxdeNHWDhsvaiBdevUtb9yIarYRWOrnAIgbkkbywb1jFueDv2hzv/IlqwKRUYvX8K9qrHIa+YM7y0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198593},"type":"module","engines":{"node":">=20"},"gitHead":"cb322aa6d7c16fd6e57eed756ed590be0e7c33c8","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.18_1788753854736_0.9076319727804119","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@ascenda-one/gemini-hooks","version":"0.1.19","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.19","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"3e437d4d4597b8a87b056f9de205ae1c8e58c082","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.19.tgz","fileCount":12,"integrity":"sha512-VFg/TUUTqpXfM3IplgkQ0XjS28j+YDvIbY3NialzG5C0QEWUsU81IFzS4Gu5h5WK+lNETFcyDLS4N1FG1jct3g==","signatures":[{"sig":"MEQCIANAx0fFtd54gF9wf9iaFfHCMIMoDzNKSqMFR87TChvRAiB8KLDZ9AfIcu9q1XFwcouXzk+V2KDGnhaLHmxCggPVSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201922},"type":"module","engines":{"node":">=20"},"gitHead":"99582dedcab13d38649ad7a96efdb2f2bea74211","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.19_1788913533753_0.2705510919557712","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@ascenda-one/gemini-hooks","version":"0.1.20","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.20","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"6b070985fb495298dcd9f6b0b0d5bd6e8c3e8cc6","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.20.tgz","fileCount":12,"integrity":"sha512-KUlI170S+QpPhBii7e9jKx8ItAlUvbLpycL9KAfERRZYxTfse3h4sjZ6fQ//i3QJz8P0aAvP+Njn9iTlREjsHw==","signatures":[{"sig":"MEQCIHVdvcUbliFGVsM3yWV5kGPGPtWks3nlw+K4i7guUnEkAiBEgpkIixr1NnqRc5yCUMrqPlcJljGkaROULGziu+HHUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202137},"type":"module","engines":{"node":">=20"},"gitHead":"00e32f446284dfbbf57143e3c8f7ec9b846356a0","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.20_1788920141166_0.5612638634782796","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"@ascenda-one/gemini-hooks","version":"0.1.21","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.21","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"6339e18d93744042443f600eb8a7c260d878fe7d","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.21.tgz","fileCount":12,"integrity":"sha512-LtYLvQyHPnu39KvBKB5EJVU5ZfWFeYP0crVTW1CcQeEmV4vfeneA93nmr7wKFMI2N36sxIYexOxwpdjjNdEt9Q==","signatures":[{"sig":"MEQCIH15MfIkNq1w2/lGrCuk5yX2Xy6myNSo3EjJFjl55Hk4AiBsB4YAQPHKuYBkSkRII1hzaFL73YFi0qQSJEPBcCtZpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202154},"type":"module","engines":{"node":">=20"},"gitHead":"e0ce58ab02da6b57ab922c36325a3c4f91766c61","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.21_1788943443525_0.5493491848241423","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@ascenda-one/gemini-hooks","version":"0.1.22","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.22","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"77028f8191cf48b689fd35a9d9987c91bcb3acd7","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.22.tgz","fileCount":14,"integrity":"sha512-yGtWAGuUWjyfxGVUYl20Bcn9X3fVQV4AvnxFR6g1k22Q0ae6vEsUwUew/glgC+hsETKwU1cy8ZZsL2GmUz4/kg==","signatures":[{"sig":"MEQCICGBRoYYbAlZloK/9jYI8RCo+SfEtYBMbqoOWNufuBWFAiBefeDGKEoEyzVaTrMcZt/v0tEKjBS0UneNyB4VUbI0jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":208895},"type":"module","engines":{"node":">=20"},"gitHead":"fbb257b423dc5cce771d600228bffe095c462753","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.22_1789298705844_0.30888278342724274","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@ascenda-one/gemini-hooks","version":"0.1.23","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.23","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"2c904b648b0bc0695234bbc7713ddc51a763b691","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.23.tgz","fileCount":14,"integrity":"sha512-zhq+JkHKEXT4xlLoyeoXcrsqIp63aB5nNT0qW50z7iEHQ9q7alPFuzNsqhUcGVje15cxjFgdgcwgFBXoMre7qw==","signatures":[{"sig":"MEUCIQD4B0CCe00lZNbpIgAn3hN1gr/f1FxMpGlioyXA7AbJNQIgNLsSQr+6ovy2uNEcHDvrAgvL6WjA/CL0IPb/93a9VxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHNZOqN4KJrw3iKaXyAttCEp0t+SdxM/pux3Xxlj15wnAiAnTB5XOjpJSY/yfZxv49HHOM9L62jiEuu+qSmzAf0j/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210605},"type":"module","engines":{"node":">=20"},"gitHead":"137db4bde5b2f029175772e37afada58d521466c","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.23_1789504725850_0.2925205330309122","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@ascenda-one/gemini-hooks","version":"0.1.24","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.24","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"b0f09d9e286d66d27ef0d86a907f379c9ec2e285","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.24.tgz","fileCount":14,"integrity":"sha512-C2EThocTqO1hlPVT8QRkD9/4mtsGOerUEHtdgPKU9p5jBZn+FzTgxaamiVyOmchis/3pWxdNAGKD4aJvHEkFnw==","signatures":[{"sig":"MEQCIFk93Pu4t6XVBcZmL68F8KbKDyDg9qtr9owyqUew4v+eAiAPbgHufMAsnEhxLHUqgFjXwiZbJn9n3INofhVUJJQR+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFcPX5em/sP26pWOTd8nh/2h60w3N5j73BnRlfvX1c7LAiEAtHSZuryLCpSGPIXUnQf2QseOup4N30pSzQUJyFlzdNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210674},"type":"module","engines":{"node":">=20"},"gitHead":"fd05772d254ebf3be74a5c5eb9f79b6e0c345627","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.24_1789614233283_0.39906276408426544","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@ascenda-one/gemini-hooks","version":"0.1.25","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.25","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"d44e4f6ba3eada753553107f13cffb8bc0d491e8","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.25.tgz","fileCount":14,"integrity":"sha512-3eeD/Lo7V2rCbILpWWlitrZmTugX55jKFj3DkWFdbQyPEX/zCKz/ct6rBiTG4BbwaS/YJVVuMjycgnTfkENB6g==","signatures":[{"sig":"MEQCIEd6ks2V+Js76vYamX0w/KqKvidyWXPEkJqQ5uOETeC7AiBzvGE9y1O5JX+xW9HKToIDVCz4XqPj0NAxxOuS7TPRRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF2t4I5zDaO8ucIdJ9fluo621+/TnF6r9Nb42/x8OkcpAiEA2aXKl2BJfvIHXtow5tYSR/++o4ovn2kBNNA0Ih38bfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":211087},"type":"module","engines":{"node":">=20"},"gitHead":"1dc0588ca2c6e427b829e56c1b7d38376a05c8e2","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.25_1789766196122_0.8942654588733088","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@ascenda-one/gemini-hooks","version":"0.1.26","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.26","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"a36b3236980d8121e4b3e77cd03b04a7c7f63ef4","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.26.tgz","fileCount":14,"integrity":"sha512-m596/aimycXW90tp0oglNxvot2XKYWlf9Nqzp7WGfP5whqp2tp2V/mckycZEgMYDfKNWCTajcqL+0hHZP27G7Q==","signatures":[{"sig":"MEUCICwJ+nwMPK6RKMihHfAKoFoB57TxaJPFgUCeBxwbAmc7AiEAz7FYQYpCU1zOwUJVwX7HowYl4TuXwiE7uZjG7MNXQI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDdvyDVYP50C6dU8d2NOe4S5v41FETAXKQTpscU5xum8wIhAKiKUNp2eSFQu9zYoonQNfYU4nwNcg3nh49l+k/vSvkw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":212073},"type":"module","engines":{"node":">=20"},"gitHead":"a8987ffc6607630a3f55279e6d5c3851d5e2d63e","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.26_1789945880436_0.37627749226137275","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@ascenda-one/gemini-hooks","version":"0.1.27","license":"Apache-2.0","_id":"@ascenda-one/gemini-hooks@0.1.27","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"bin":{"ascenda-gemini-hook":"dist/cli.js"},"dist":{"shasum":"e9e349a99b13336f2beba1b0d62a8cb690cf30da","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.27.tgz","fileCount":14,"integrity":"sha512-imFvZ8JtA97JPqkO3ZDihdDl2G4OFuFF5rnItU6OsDPPmTF9w6q0baa3wKWFqfy7Yk+4jufnNGZTxdvqqaY97w==","signatures":[{"sig":"MEUCIHeOjrCCT6ZPeZRLkSoTDK02cfk2xFvcmB9LZUVj4VzIAiEAq8+ud9QStXgubWGnV+iUOvvfJU1sf6NPhWwSqz+mup8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCrATV/mfGp3CaInWxvO4jnQabtlWmN5G5laQ4lySWhegIhAPrnpvcNX4QxqAtklZtYgiZ/taffnRavzlf/Kj48ypEw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":213195},"type":"module","engines":{"node":">=20"},"gitHead":"d9d373433ffab20f608c8312aca48d661a30fc0e","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"esbuild src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"tmp":"tmp/gemini-hooks_0.1.27_1790120755978_0.3742892829069162","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"_id":"@ascenda-one/gemini-hooks@0.1.28","bin":{"ascenda-gemini-hook":"dist/cli.js"},"bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"dist":{"shasum":"3db8f3d1bca86e7eda0ff8d3463bd6240fda4a5e","tarball":"https://registry.npmjs.org/@ascenda-one/gemini-hooks/-/gemini-hooks-0.1.28.tgz","fileCount":14,"integrity":"sha512-FT++knRNAeK4HnWnwQuHLk+5cd82PvaaocNTHhuEl1wjlukNKrS3aTkHMTTuH/zaBElYh5Z7BCc3FfhH5QMhAQ==","signatures":[{"sig":"MEQCIASSDc8Ez3dHDaY8T70YzNM7nwdMgJkwP86DY37JrbyeAiBEafwDbADxaDfoQJ/QAAjIV/kR1vvaiUY89B9xB3OwlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCI9UYApaaNIqLV3X53F8bPhQAoDVbsyNm5xcgoxYXEiQIhALhdeWPiWTp7MjMqmuvHpRjF297yy9iVYPRpWZoVNYrg"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ascenda-one%2fgemini-hooks@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228374},"name":"@ascenda-one/gemini-hooks","type":"module","engines":{"node":">=20"},"gitHead":"a6a2b00ecf617eb77d5bc882b83ff9152409c489","license":"Apache-2.0","scripts":{"test":"node --test","build":"tsc -p ./ && npm run bundle","watch":"tsc -w -p ./","bundle":"node ../scripts/esbuild-collector.mjs src/cli.ts --bundle --platform=node --format=esm --banner:js=\"import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);\" --outfile=dist/cli.js"},"version":"0.1.28","_npmUser":{"name":"ascenda-one-com","email":"nathan@ascenda.one"},"homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"_npmVersion":"10.8.2","description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","directories":{},"maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^20.14.10","@ascenda-one/tool-kit":"*","@ascenda-one/tool-contract":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gemini-hooks_0.1.28_1790301241353_0.4434021112408417"}}},"time":{"created":"2026-09-04T03:26:21.914Z","modified":"2026-09-25T01:54:01.762Z","0.1.16":"2026-09-04T03:26:22.346Z","0.1.17":"2026-09-07T01:26:33.548Z","0.1.18":"2026-09-07T04:04:14.890Z","0.1.19":"2026-09-09T00:25:33.937Z","0.1.20":"2026-09-09T02:15:41.305Z","0.1.21":"2026-09-09T08:44:03.663Z","0.1.22":"2026-09-13T11:25:05.984Z","0.1.23":"2026-09-15T20:38:45.931Z","0.1.24":"2026-09-17T03:03:53.369Z","0.1.25":"2026-09-18T21:16:36.205Z","0.1.26":"2026-09-20T23:11:20.517Z","0.1.27":"2026-09-22T23:45:56.058Z","0.1.28":"2026-09-25T01:54:01.445Z"},"bugs":{"url":"https://github.com/ascendaone-com/ai-engineer-tools/issues"},"license":"Apache-2.0","homepage":"https://github.com/ascendaone-com/ai-engineer-tools#readme","repository":{"url":"git+https://github.com/ascendaone-com/ai-engineer-tools.git","type":"git","directory":"ascenda-gemini-hooks"},"description":"Gemini CLI hooks adapter for Ascenda AI workload telemetry","maintainers":[{"name":"ascenda-one-com","email":"nathan@ascenda.one"},{"name":"klubiniecki","email":"klubiniecki@gmail.com"}],"readme":"# @ascenda-one/gemini-hooks\n\nGemini CLI agent hooks adapter for Ascenda AI workload telemetry. Metadata only —\nprompt text, file contents and command output never leave the machine.\n\n## Install\n\n```bash\nnpx @ascenda-one/gemini-hooks setup\n```\n\nThis pairs (printing a 6-digit code to confirm in the Ascenda app), installs a\nself-contained hook bundle to `~/.ascenda/bin`, records the pairing under\n`tools.gemini_cli` in `~/.ascenda/credentials.json`, and registers the hooks\nin this project's `.gemini/settings.json`. Restart Gemini CLI and events flow — no\nshell exports, no settings file to hand-edit. That matters more than it\nsounds: a GUI-launched editor never sees a shell rc file, so an id that lives\nonly in an `export` line silently stops telemetry the next time the app is\nopened from the Dock.\n\n```bash\nnpx @ascenda-one/gemini-hooks status      # exits non-zero if anything is unwired\nnpx @ascenda-one/gemini-hooks uninstall   # removes hooks, the binary and this pairing\n```\n\n| Option | |\n| --- | --- |\n| `--api-base-url <url>` | ingest host (default `https://api.ascenda.one`) |\n| `--local [port]` | shorthand for a local [dev server](../ascenda-dev-server/) (default `4477`) |\n| `--tool-installation-id <id>` / `--token <t>` | reuse an existing pairing instead of creating one |\n| `--scope project\\|user` | register in this project (default) or in `~/.gemini/settings.json` |\n| `--project-dir <path>` | project root for `--scope project` (default cwd) |\n| `--dry-run` | print what would change, write nothing |\n\n`examples/` holds the equivalent hand-written config for anyone who would\nrather not run `setup`.\n\n## Configure\n\nNothing is required after `setup`. A hook resolves its identity from, in\norder: the environment, its own entry in `~/.ascenda/credentials.json`, and\n— when exactly one `cli_agent` token is on disk — the token store. A hook that\nstill cannot name its installation records the skipped send in the journal\n`status` reads, rather than exiting silently.\n\n| Variable | |\n| --- | --- |\n| `ASCENDA_TOOL_INSTALLATION_ID` | overrides the pairing `setup` recorded |\n| `ASCENDA_EVENT_WRITE_TOKEN` | overrides the stored token |\n| `ASCENDA_API_BASE_URL` | overrides the ingest host |\n| `ASCENDA_EVENT_LOG_FILE` | optional local JSONL log of every event |\n\nWith `ASCENDA_EVENT_LOG_FILE` set and no pairing, events are written locally as\n`not_sent` instead of failing — so you can see exactly what would be\ntransmitted before connecting anything. Every payload carries the UTC offset\nand an idempotency key; both come from the shared sender in `tool-kit`, so\nthis adapter holds only its mapping.\n\n## Privacy defaults\n\nMetadata-only. Does not send prompts, responses, code, file paths, command\ntext, repository names or branch names. Correction detection runs locally on\nprompt text; only the classification is transmitted.\n\n`setup` prints the full list before it pairs — every family this adapter sends,\nthe refusals, and how to turn it off. That block is generated from the\nadapter's own declaration in `src/setup.ts`, and a guard test\n(`packages/tool-kit/tests/setupDisclosure.test.mjs`) runs the mapper and fails\nthe build when the declaration claims a family the mapper does not send, or\nomits one it does.\n\n## Event mapping\n\nSee [docs/GEMINI_MAPPING.md](docs/GEMINI_MAPPING.md).\n\n`BeforeModel`/`AfterModel` are deliberately unregistered: they fire per LLM round trip and would multiply event volume. See the mapping doc.\n\n## Test locally\n\nNo Gemini CLI install required:\n\n```bash\n./scripts/replay-agent-hooks.sh gemini\n```\n\nHook invocations always exit `0`: telemetry must never block your work.\n","readmeFilename":"README.md"}