{"_id":"@axnic/pi-aks-user-question","_rev":"8-6c1d532059dce363d9ebed8ad42c8f3c","name":"@axnic/pi-aks-user-question","dist-tags":{"latest":"0.2.0","next":"0.2.0-rc.5"},"versions":{"0.0.0":{"name":"@axnic/pi-aks-user-question","version":"0.0.0","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.0.0","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"7b6311b3cd666fcb3fc276853a427ffb93d0ddc5","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.0.0.tgz","fileCount":2,"integrity":"sha512-Ij2j64Yf4oz8jzAqNE798y95i+ATafDFmYOyQ7G1vu0LYmq8GinuP+Ydu2Qz2rggAa677DOAE1C+RNYtEgQ0Pw==","signatures":[{"sig":"MEUCIQCJNhVVwElh5J56gSVUz57WSvg9q6yKVBWXBtyHvNeTUQIgER+yjt3vKCmhztsSgaF1eapxGKRmiN1JUzyh9SlsMqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9326},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.0.0.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"mise run lint","test":"vitest run","build":"mise run build","clean":"rimraf dist","lint:fix":"mise run lint:fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"},"_resolved":"/private/var/folders/2_/dxm8m9t126gg9v00jjq6drzw0000gn/T/ded2c8d5f49479bba08631b17ff08a4a/axnic-pi-aks-user-question-0.0.0.tgz","_integrity":"sha512-Ij2j64Yf4oz8jzAqNE798y95i+ATafDFmYOyQ7G1vu0LYmq8GinuP+Ydu2Qz2rggAa677DOAE1C+RNYtEgQ0Pw==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.9.0","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","@sinclair/typebox":"^0.34.0","@mariozechner/pi-ai":"^0.67.67","@mariozechner/pi-tui":"^0.67.67","@mariozechner/pi-coding-agent":"^0.67.67"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.2.0","esbuild":"^0.25.0","typescript":"^5.8.0","@types/node":"^24.0.0","@commitlint/cli":"^19.6.0","@commitlint/types":"^19.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.0.0_1776879097708_0.18600574100614042","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@axnic/pi-aks-user-question","version":"0.1.0","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.1.0","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"b2c567b64ff4b3f1653e687ca92a71bfa0a799f4","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.1.0.tgz","fileCount":2,"integrity":"sha512-B8JgiA0wuMgD7uffBDw/ZP6ZgtjEjSf/qv/1a7/jC3FHf/swqcGsWK6d75NKsl6O34yhL2Lp51yatxjEqbR10w==","signatures":[{"sig":"MEQCIB6hvl7hnPRpJb1hwkWBJHQDp/NDD0a6eORIG1lysiu5AiAaHFsxEeknTgUlwyLhrNPKIKzuLyfMOauSX/F4RvumhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9326},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.1.0.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"mise run lint","test":"vitest run","build":"mise run build","clean":"rimraf dist","lint:fix":"mise run lint:fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/0504645015f3c5f7b17ea1f156e5e0cc/axnic-pi-aks-user-question-0.1.0.tgz","_integrity":"sha512-B8JgiA0wuMgD7uffBDw/ZP6ZgtjEjSf/qv/1a7/jC3FHf/swqcGsWK6d75NKsl6O34yhL2Lp51yatxjEqbR10w==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","@sinclair/typebox":"^0.34.0","@mariozechner/pi-ai":"^0.67.67","@mariozechner/pi-tui":"^0.67.67","@mariozechner/pi-coding-agent":"^0.67.67"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.2.0","esbuild":"^0.25.0","typescript":"^5.8.0","@types/node":"^24.0.0","@commitlint/cli":"^19.6.0","@commitlint/types":"^19.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.1.0_1776880250411_0.7662333254601166","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@axnic/pi-aks-user-question","version":"0.1.1","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.1.1","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"3890d029a4b2658b4877f653f50c5a1a51323904","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.1.1.tgz","fileCount":2,"integrity":"sha512-S8YlShwBuY/5yruy/Q1guM7zJirATmQ92gjVZ6E4EoYSCG2pexMwE2JHw8D1n033fyquWyyIRpYKQgoLo+wyIg==","signatures":[{"sig":"MEUCIByYBDE7J8VXOxb0PRWjQUQqrViejq/vLp0au/QEV1nkAiEAgMcGZhczD3amgU2X0pMMwYdQw00M+sjnzOu73+DqIFw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9326},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.1.1.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"mise run lint","test":"vitest run","build":"mise run build","clean":"rimraf dist","lint:fix":"mise run lint:fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/b727c52f41899149084b652cdb5bb13d/axnic-pi-aks-user-question-0.1.1.tgz","_integrity":"sha512-S8YlShwBuY/5yruy/Q1guM7zJirATmQ92gjVZ6E4EoYSCG2pexMwE2JHw8D1n033fyquWyyIRpYKQgoLo+wyIg==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","@sinclair/typebox":"^0.34.0","@mariozechner/pi-ai":"^0.67.67","@mariozechner/pi-tui":"^0.67.67","@mariozechner/pi-coding-agent":"^0.67.67"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.2.0","esbuild":"^0.25.0","typescript":"^5.8.0","@types/node":"^24.0.0","@commitlint/cli":"^19.6.0","@commitlint/types":"^19.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.1.1_1776884145479_0.9870641500758002","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@axnic/pi-aks-user-question","version":"0.1.2","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.1.2","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"c8e30430766c37b719af9c473c90d4911b63bbc8","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.1.2.tgz","fileCount":2,"integrity":"sha512-D8pvf4bN59dG8sCPAv2gjgnyWjkob0PipxG7ARWIBTW7so5nboAAu/9bNp/D4hoaR0oDmxnabASMlKmfQoyJbQ==","signatures":[{"sig":"MEUCIQDLqlNSjePx4yfeobIBUt50UFHkHyQFU8+u6jBjO8pcygIgJz7c4bFAfLnMjhSgQgAaHQeNeTLb7QjMV97ZV/28JVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9326},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.1.2.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"mise run lint","test":"vitest run","build":"mise run build","clean":"rimraf dist","lint:fix":"mise run lint:fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/bf7ec49df41f31c51c36055f12ffa169/axnic-pi-aks-user-question-0.1.2.tgz","_integrity":"sha512-D8pvf4bN59dG8sCPAv2gjgnyWjkob0PipxG7ARWIBTW7so5nboAAu/9bNp/D4hoaR0oDmxnabASMlKmfQoyJbQ==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","@sinclair/typebox":"^0.34.0","@mariozechner/pi-ai":"^0.67.67","@mariozechner/pi-tui":"^0.67.67","@mariozechner/pi-coding-agent":"^0.67.67"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^6.0.0","vitest":"^3.2.0","esbuild":"^0.25.0","typescript":"^5.8.0","@types/node":"^24.0.0","@commitlint/cli":"^19.6.0","@commitlint/types":"^19.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.1.2_1776890437806_0.23490017621440917","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-rc.2":{"name":"@axnic/pi-aks-user-question","version":"0.2.0-rc.2","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.2.0-rc.2","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"video":"https://raw.githubusercontent.com/axnic/pi-aks-user-question/refs/heads/main/docs/assets/demo.webm","extensions":["./dist/index.js"]},"dist":{"shasum":"b1d9811e3b3eb5cb60727db79c3cd962f5f1fa6e","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.2.0-rc.2.tgz","fileCount":4,"integrity":"sha512-vtB0v27EwAEb8HO4zAKGL3Pn7OcKwbYCQZHRn8GT2oy+0osKypOCXppxk86/XzpYn5Ap2FYpZgyGXTvsW/lLwQ==","signatures":[{"sig":"MEUCIQCfT1HT1byyc2EkkBY7BXdV+Lqf9DXkaVw6CIctz3Q4BwIgW9yAtf1Ozyyp0ABgOr0DsslzetUIrFaB53Da5ZBCZS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.2.0-rc.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3199314},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.2.0-rc.2.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"pnpm exec trunk check --all","test":"vitest run","build":"node build.mjs","clean":"rimraf dist","lint:fix":"pnpm exec trunk check --all --fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","test:with-pi":"node scripts/sandboxed-pi/index.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/0850b331272acb07b8d273aa471957b4/axnic-pi-aks-user-question-0.2.0-rc.2.tgz","overrides":{"uuid":">=14.0.0","fast-xml-parser":">=5.7.0"},"_integrity":"sha512-vtB0v27EwAEb8HO4zAKGL3Pn7OcKwbYCQZHRn8GT2oy+0osKypOCXppxk86/XzpYn5Ap2FYpZgyGXTvsW/lLwQ==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","typebox":"^1.1.24","@mariozechner/pi-ai":"^0.69.0","@mariozechner/pi-tui":"^0.69.0","@mariozechner/pi-coding-agent":"^0.69.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.0","vitest":"^4.1.5","esbuild":"^0.28.0","typescript":"^6.0.3","@types/node":"^24.0.0","@commitlint/cli":"^20.5.0","@commitlint/types":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.2.0-rc.2_1776982540220_0.42317472694709957","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-rc.3":{"name":"@axnic/pi-aks-user-question","version":"0.2.0-rc.3","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.2.0-rc.3","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"video":"https://raw.githubusercontent.com/axnic/pi-aks-user-question/refs/heads/main/docs/assets/demo.webm","extensions":["./dist/index.js"]},"dist":{"shasum":"a0130fe272223dd9036eb7df7ed537862691486b","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.2.0-rc.3.tgz","fileCount":4,"integrity":"sha512-KEDnDKdTTkwBEb75LgJ9gJwuE+QsogGDfbjgBGswLF2ME+KsZDWd0kyKOB9S1OCtsXxAH5bJeXmf/PAcVxrlsg==","signatures":[{"sig":"MEUCIAlPsjP7zqtiVnbInRu6HrRwqb2TCot4hFk7woazDSN/AiEAyNYHbDVU6Z9LTIHZxdgOgu+mSNXiqf9yXKa5N+yToh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.2.0-rc.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3199314},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.2.0-rc.3.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"pnpm exec trunk check --all","test":"vitest run","build":"node build.mjs","clean":"rimraf dist","lint:fix":"pnpm exec trunk check --all --fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","test:with-pi":"node scripts/sandboxed-pi/index.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/ac15b26ef6a7e518414cb6e39b569039/axnic-pi-aks-user-question-0.2.0-rc.3.tgz","overrides":{"uuid":">=14.0.0","fast-xml-parser":">=5.7.0"},"_integrity":"sha512-KEDnDKdTTkwBEb75LgJ9gJwuE+QsogGDfbjgBGswLF2ME+KsZDWd0kyKOB9S1OCtsXxAH5bJeXmf/PAcVxrlsg==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","typebox":"^1.1.24","@mariozechner/pi-ai":"^0.69.0","@mariozechner/pi-tui":"^0.69.0","@mariozechner/pi-coding-agent":"^0.69.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.0","vitest":"^4.1.5","esbuild":"^0.28.0","typescript":"^6.0.3","@types/node":"^24.0.0","@commitlint/cli":"^20.5.0","@commitlint/types":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.2.0-rc.3_1776984056875_0.6363829161190122","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-rc.5":{"name":"@axnic/pi-aks-user-question","version":"0.2.0-rc.5","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"author":{"name":"axnic"},"license":"Apache-2.0","_id":"@axnic/pi-aks-user-question@0.2.0-rc.5","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"pi":{"video":"https://raw.githubusercontent.com/axnic/pi-aks-user-question/refs/heads/main/docs/assets/demo.webm","extensions":["./dist/index.js"]},"dist":{"shasum":"62360d7be5f1702e965fe5a95131b7ea0bfffe7a","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.2.0-rc.5.tgz","fileCount":4,"integrity":"sha512-tfI82EY1Z1IBgTB7tDYtTtACOKtUSrD/Qz8AaZ1MWfel9YGCAm2u52nJO4scbJP7nFi07tJvmxZL/frXIadwCQ==","signatures":[{"sig":"MEUCIQCOH4knpPO43wj9casDxdWCme8eA0kRKwlYlzZJJzpeMgIgHze8bvaQM6ZTHmsWcqiZoKavY1wWJuymJwhe74JVzKI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.2.0-rc.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3199314},"main":"dist/index.js","_from":"file:axnic-pi-aks-user-question-0.2.0-rc.5.tgz","engines":{"node":">=24"},"exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"pnpm exec trunk check --all","test":"vitest run","build":"node build.mjs","clean":"rimraf dist","lint:fix":"pnpm exec trunk check --all --fix","typecheck":"tsc --noEmit -p tsconfig.json","test:watch":"vitest","test:with-pi":"node scripts/sandboxed-pi/index.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"_resolved":"/tmp/9bd080a8fe8c253a4f4e8eb752093af2/axnic-pi-aks-user-question-0.2.0-rc.5.tgz","overrides":{"uuid":">=14.0.0","fast-xml-parser":">=5.7.0"},"_integrity":"sha512-tfI82EY1Z1IBgTB7tDYtTtACOKtUSrD/Qz8AaZ1MWfel9YGCAm2u52nJO4scbJP7nFi07tJvmxZL/frXIadwCQ==","repository":{"url":"git+https://github.com/axnic/pi-aks-user-question.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","directories":{},"_nodeVersion":"24.15.0","dependencies":{"zod":"^4.3.6","typebox":"^1.1.24","@mariozechner/pi-ai":"^0.69.0","@mariozechner/pi-tui":"^0.69.0","@mariozechner/pi-coding-agent":"^0.69.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^6.0.0","vitest":"^4.1.5","esbuild":"^0.28.0","typescript":"^6.0.3","@types/node":"^24.0.0","@commitlint/cli":"^20.5.0","@commitlint/types":"^20.5.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-aks-user-question_0.2.0-rc.5_1776984227127_0.7122187535565787","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@axnic/pi-aks-user-question","version":"0.2.0","description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","author":{"name":"axnic"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/axnic/pi-aks-user-question.git"},"homepage":"https://github.com/axnic/pi-aks-user-question#readme","bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"dependencies":{"@mariozechner/pi-ai":"^0.69.0","@mariozechner/pi-coding-agent":"^0.69.0","@mariozechner/pi-tui":"^0.69.0","typebox":"^1.1.24","zod":"^4.3.6"},"main":"dist/index.js","exports":{".":{"import":"./dist/index.js"},"./package.json":"./package.json"},"devDependencies":{"@commitlint/cli":"^20.5.0","@commitlint/types":"^20.5.0","@types/node":"^24.0.0","esbuild":"^0.28.0","rimraf":"^6.0.0","typescript":"^6.0.3","vitest":"^4.1.5"},"overrides":{"fast-xml-parser":">=5.7.0","uuid":">=14.0.0"},"pi":{"extensions":["./dist/index.js"],"video":"https://raw.githubusercontent.com/axnic/pi-aks-user-question/refs/heads/main/docs/assets/demo.webm"},"engines":{"node":">=24"},"scripts":{"build":"node build.mjs","clean":"rimraf dist","test":"vitest run","test:watch":"vitest","test:with-pi":"node scripts/sandboxed-pi/index.mjs","typecheck":"tsc --noEmit -p tsconfig.json","lint":"pnpm exec trunk check --all","lint:fix":"pnpm exec trunk check --all --fix"},"_id":"@axnic/pi-aks-user-question@0.2.0","_integrity":"sha512-7OypOvnJUD9uIo8ZlIVqPQqbd/OfGCRoe0Y6rSwDUkzhsXJttMZOkEfx0QqvS5ZjJZI0wST+kL2NtUsE3EyjZA==","_resolved":"/tmp/4bd232623b2b1b4b887313baa9ea1c2e/axnic-pi-aks-user-question-0.2.0.tgz","_from":"file:axnic-pi-aks-user-question-0.2.0.tgz","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-7OypOvnJUD9uIo8ZlIVqPQqbd/OfGCRoe0Y6rSwDUkzhsXJttMZOkEfx0QqvS5ZjJZI0wST+kL2NtUsE3EyjZA==","shasum":"9e37f53d0dec5ef5a0df303eefba7d9820df7668","tarball":"https://registry.npmjs.org/@axnic/pi-aks-user-question/-/pi-aks-user-question-0.2.0.tgz","fileCount":4,"unpackedSize":3199309,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axnic%2fpi-aks-user-question@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDu8OBhZne1naCV4tMibdRGmMOmLsRQLYgj56Uf2YUfIAiA5Lff9+SWzJL5NDNKP1BGYZjYV4J14o6ExGUHW4tgNKQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:58d990fd-9d33-4cee-8c78-8a093e53beb3"}},"directories":{},"maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-aks-user-question_0.2.0_1776984439057_0.10976416902241937"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T17:31:37.520Z","modified":"2026-04-23T22:47:19.528Z","0.0.0":"2026-04-22T17:31:37.841Z","0.1.0":"2026-04-22T17:50:50.554Z","0.1.1":"2026-04-22T18:55:45.601Z","0.1.2":"2026-04-22T20:40:37.962Z","0.2.0-rc.2":"2026-04-23T22:15:40.394Z","0.2.0-rc.3":"2026-04-23T22:40:57.076Z","0.2.0-rc.5":"2026-04-23T22:43:47.302Z","0.2.0":"2026-04-23T22:47:19.247Z"},"bugs":{"url":"https://github.com/axnic/pi-aks-user-question/issues"},"author":{"name":"axnic"},"license":"Apache-2.0","homepage":"https://github.com/axnic/pi-aks-user-question#readme","keywords":["pi-package","pi","pi-extension","tui","form","interactive","user-input"],"repository":{"type":"git","url":"git+https://github.com/axnic/pi-aks-user-question.git"},"description":"Pi extension — lets LLMs ask structured questions to the user via an interactive TUI form","maintainers":[{"name":"anicolaie","email":"zt5w54gaz@mozmail.com"}],"readme":"<p align=\"center\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/axnic/pi-aks-user-question/main/docs/assets/banner.dark.png\" />\n    <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/axnic/pi-aks-user-question/main/docs/assets/banner.light.png\" />\n    <img src=\"https://raw.githubusercontent.com/axnic/pi-aks-user-question/main/docs/assets/banner.light.png\" width=\"1100\" alt=\"pi-aks-user-question banner\" />\n  </picture>\n</p>\n\n<h1 align=\"center\">pi-aks-user-question</h1>\n\n<p align=\"center\">\n  A pi extension that lets LLMs ask structured questions to users via an interactive TUI form.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/axnic/pi-aks-user-question/blob/main/docs/architecture.md\">Architecture</a> ·\n  <a href=\"https://github.com/axnic/pi-aks-user-question/blob/main/docs/schema.md\">Schema reference</a> ·\n  <a href=\"https://github.com/axnic/pi-aks-user-question/blob/main/docs/ui.md\">UI spec</a>\n</p>\n\n---\n\n- [Why](#why)\n- [Features](#features)\n- [Install](#install)\n- [Question types](#question-types)\n- [Usage](#usage)\n- [Project layout](#project-layout)\n- [Development](#development)\n- [License](#license)\n\n---\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/axnic/pi-aks-user-question/main/docs/assets/demo.gif\" alt=\"pi-aks-user-question demo\" />\n</p>\n\n---\n\n## Why\n\nWhen an LLM needs user input, it typically asks a plain-text question and waits for a free-form reply. This works for simple follow-ups but quickly breaks down when the agent needs structured data — picking from a set of options, entering validated URLs, confirming a yes/no, or answering multiple related questions at once.\n\n`pi-aks-user-question` solves this with a single tool call. The LLM describes the questions it needs answered as JSON parameters; the extension renders an interactive TUI form with keyboard navigation, inline validation, and a review screen. The user's typed answers flow back as structured data the LLM can act on immediately.\n\nNo free-form parsing. No follow-up clarifications. One call, structured answers.\n\n## Features\n\n- **5 question types** — text, number, choice (single-select), multichoice (multi-select), and boolean.\n- **Inline validation** — 8 built-in formats (URL, email, IP, IPv4, IPv6, number, integer, regex) with debounced feedback on text inputs.\n- **Tab navigation** — each question gets its own tab; overflow is handled with an expand-from-active algorithm and ellipsis indicators.\n- **Review screen** — summary of all answers with warnings for unanswered required questions. Submit or go back to edit.\n- **Visual slider** — number inputs display a range slider when both `min` and `max` are set.\n- **\"Other…\" free-text** — choice and multichoice questions append an \"Other…\" row by default (opt-out with `allowOther: false`).\n- **Customizable boolean** — labels (\"Yes\"/\"No\") and colors (green/red) are overridable per question.\n- **Keyboard-first** — Tab/Shift+Tab to navigate, Space to select, Enter to advance, Esc to quit.\n\n## Install\n\n```sh\npi install npm:@axnic/pi-aks-user-question\n```\n\nRestart pi. The extension registers the `ask_user_question` tool on startup.\n\n## Question types\n\n| Type          | Widget                                                | Value type |\n| ------------- | ----------------------------------------------------- | ---------- |\n| `text`        | Single-line editor with optional format validation    | `string`   |\n| `number`      | Numeric field with ↑/↓ step and optional range slider | `number`   |\n| `choice`      | Numbered list — Space picks one, Enter advances       | `string`   |\n| `multichoice` | Checkbox list — Space toggles, Enter advances         | `string[]` |\n| `boolean`     | Yes/No toggle — ↑/↓ or Y/N to switch                  | `boolean`  |\n\n## Usage\n\nThe LLM calls `ask_user_question` with a `questions` array. Each question specifies a `type`, `question` text, a short `header` for the tab label, and type-specific fields.\n\n### Example — mixed question types\n\n```json\n{\n  \"questions\": [\n    {\n      \"id\": \"runtime\",\n      \"type\": \"choice\",\n      \"question\": \"Which runtime do you target?\",\n      \"header\": \"Runtime\",\n      \"options\": [\n        {\n          \"label\": \"Node.js\",\n          \"description\": \"V8-based, most ecosystem support\"\n        },\n        {\n          \"label\": \"Deno\",\n          \"description\": \"Secure by default, built-in TypeScript\"\n        },\n        { \"label\": \"Bun\", \"description\": \"Fast startup, bundler included\" }\n      ],\n      \"allowOther\": false\n    },\n    {\n      \"id\": \"port\",\n      \"type\": \"number\",\n      \"question\": \"Which port?\",\n      \"header\": \"Port\",\n      \"required\": true,\n      \"validation\": { \"format\": \"integer\", \"min\": 1, \"max\": 65535 }\n    },\n    {\n      \"id\": \"enable-tls\",\n      \"type\": \"boolean\",\n      \"question\": \"Enable TLS?\",\n      \"header\": \"TLS\",\n      \"defaultValue\": true\n    },\n    {\n      \"id\": \"api-url\",\n      \"type\": \"text\",\n      \"question\": \"What is the API endpoint?\",\n      \"header\": \"Endpoint\",\n      \"placeholder\": \"e.g. https://api.example.com\",\n      \"validation\": { \"format\": \"url\", \"protocols\": [\"https\"] }\n    }\n  ]\n}\n```\n\nThe form returns structured answers keyed by `id`:\n\n```json\n{\n  \"runtime\": \"Deno\",\n  \"port\": 8080,\n  \"enable-tls\": true,\n  \"api-url\": \"https://api.example.com\"\n}\n```\n\n## Project layout\n\n```text\npi-aks-user-question/\n├── index.ts              Extension entry point — registers the tool\n├── src/\n│   ├── schema.ts         TypeBox schemas for tool parameter validation\n│   ├── types.ts          Shared TypeScript interfaces\n│   ├── validation.ts     Text/number input validators (8 formats)\n│   ├── helpers.ts        Stateless utilities (errorResult, stripAnsi, …)\n│   └── form/\n│       ├── index.ts      Form factory — wires questions to inputs\n│       ├── form.ts       Form class — orchestrates lifecycle\n│       ├── tabs.ts       Tab bar with overflow handling\n│       ├── review.ts     Review screen with scrollable summary\n│       ├── question.ts   FormQuestion interface\n│       ├── scrollbar.ts  Shared scrollbar character utility\n│       └── inputs/\n│           ├── types.ts    Input/BaseInput abstractions\n│           ├── text.ts     TextInput — single-line with validation\n│           ├── number.ts   NumberInput — numeric with slider\n│           ├── boolean.ts  BooleanInput — yes/no toggle\n│           └── choice.ts   ChoiceInput — single and multi-select\n├── docs/\n│   ├── architecture.md   Module interaction and data flow\n│   ├── schema.md         JSON Schema reference and design decisions\n│   ├── schema.json       Machine-readable tool parameter schema (generated)\n│   └── ui.md             TUI layout spec: tab bar, colors, review, footer\n├── scripts/\n│   └── generate-schema.ts  Generates docs/schema.json from TypeBox\n└── vitest.config.ts         Test configuration\n```\n\n## Development\n\nAll dev tooling is managed via [mise](https://mise.run).\n\n```sh\n# Setup (run once after clone)\nmise trust && mise install\npnpm install\n\n# Common commands\npnpm test                # run vitest suite\nmise run build           # bundle extension → dist/index.js\nmise run lint            # run Trunk (check only)\nmise run lint:fix        # auto-fix lint issues\nmise run docs:schema     # regenerate docs/schema.json from code\n```\n\nSee [AGENTS.md](https://github.com/axnic/pi-aks-user-question/blob/main/AGENTS.md) for architecture details, commit conventions, and coding guidelines.\n\n## License\n\nApache 2.0\n\n---\n\n<sup>This project was vibe-coded with AI assistance and reviewed by the maintainer before publishing.</sup>\n","readmeFilename":"README.md"}