{"_id":"pi-prompt-template-model","_rev":"32-d31d2a6a3d72252c673a88435bc14faf","name":"pi-prompt-template-model","dist-tags":{"latest":"0.12.3"},"versions":{"0.1.0":{"name":"pi-prompt-template-model","version":"0.1.0","keywords":["pi-package","pi","coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.1.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4f8abbdd1f00e3b2320c37803997f4b13514cdfc","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.1.0.tgz","fileCount":5,"integrity":"sha512-J1B1t0s7D55yKsnyvf14cg9XJlB1T/6nTarrYQ6BNMjeYpHSVXfwWMD75qXR8YzJ5ugw7Pw06L7WS0HifV3XYw==","signatures":[{"sig":"MEUCIQDwtktT/Hv58qb36VeO/f51DHZrC7tDXkJV+ywwSn622wIgffYAwqFlVfWw8gfv9EGvCl3TKSyHVz62JWiF+zCP6xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30796},"gitHead":"469c4233add070a675143be79f38bb38dbdbc76f","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.1.0_1769554106598_0.2992411600822247","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"pi-prompt-template-model","version":"0.2.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.2.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"35e368d52cc159983ea001d5cf4855a38961d6e4","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.2.0.tgz","fileCount":6,"integrity":"sha512-avP/dsHfTLdtpEOnlR0poq/ix1chgfmfmK93hhL3KEPfRDmccuO9poIXPRBXOCo3RkTaLRUJm1YjnqYTUhT7NA==","signatures":[{"sig":"MEQCIC+KrkY+QrViZPgr2DUfG6NKC1uGD7PuNVoi4VaVJJNcAiAh2bYAwgRqu+2AdEL4zl/59NluVBxFDnzbohYIGaeHTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1270652},"gitHead":"56fb15169410992b47c7afff90a9467e2cffd3e7","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.2.0_1769906498167_0.08177386193611236","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"pi-prompt-template-model","version":"0.2.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.2.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ba537a6c722c050619712fb702f8ddebc23a8b89","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.2.1.tgz","fileCount":6,"integrity":"sha512-RMM7ftRf/rFRp09d/JcWp42f1SIwCJgJh0JiXM7nT/vi4TMl0jvBXCm8mFwp3Emhb6IUVg/+zbrDnqzON26HyQ==","signatures":[{"sig":"MEUCIAo90N+VgfRb00TcMWDIltB32FVx98uukcf9vIwORLTsAiEA3nLi6eVkmlpnOoxVLeJa8WwOphxOXVv2FU2PviJsbe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1270988},"gitHead":"d5090f2963295459b28435eb9048b103819a14d5","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.2.1_1769913786015_0.42487938792019797","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"pi-prompt-template-model","version":"0.3.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.3.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"99b958e4006754ba79a57494c13b65bbdffc2a7b","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.3.0.tgz","fileCount":6,"integrity":"sha512-3iAc86u39qORaPvf4axo6mf63HDyPpgglYtE05oCaThJaDmomPzt/B4EGVi3x+wsibLC3JduNTMRv74k/PVGcA==","signatures":[{"sig":"MEYCIQCsXJxR8V0tItX7Ycbt7DgLDCxES/qj+3mrJkrPUqEBzwIhAN9x6edZUE32A9029jtK1Xk6kKY3ToB3dMkgF7yjfYji","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1276270},"gitHead":"3370d9805036c634bb9bb6f9aa86bf85e5e4f5a6","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.3.0_1770617151984_0.8070758326196943","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"pi-prompt-template-model","version":"0.3.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.3.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d9ead4d3d407e9e44ae36d26848c4d0b3a44ef33","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.3.1.tgz","fileCount":6,"integrity":"sha512-cd+Z+PznSrh34A04EOD70NiEte5+PkXy10ZNRq9517zfF9Z3K4V/fZz7i6ScZbI34ncu3bF1WYSiEFdWRX5UQA==","signatures":[{"sig":"MEUCIG2XZ6yy0XI4zN2p3SfBn581mBuPMX9H9nASsRafp/ocAiEA3yv57I2T/uN6seucU2k9cnhux64ckbLVfolL4hwU3j4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1276518},"gitHead":"4d00f5779eda57fbf2ce1e943ed7c623fe390e7b","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.3.1_1770619118776_0.8147251593653468","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"pi-prompt-template-model","version":"0.4.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.4.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"795ee7b28e6fb8ebdf79e9f10c0a2bbbf1e48985","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.4.0.tgz","fileCount":13,"integrity":"sha512-6JMzqmsCfAYu/K5xlKQliHAPqHPlm4PKFFecUCnpvS+eaFqNG80Jex47bLhJiakIi5CfbmPiyTd9TX+ttqOi8g==","signatures":[{"sig":"MEUCIFpE6INroSTfUAYwDRxKXSIGljiTLnWlMAQLmWTT62eFAiEA0Sm68IMnxTy+hJj67sQy8YqahpzM9+p5ByrrQcy2aCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1300733},"type":"module","gitHead":"e8d4f89d0fd941011b28d2619f1c369188d3e3cc","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.4.0_1773385139167_0.753320848508747","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"pi-prompt-template-model","version":"0.5.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.5.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ec062e79b2c93ecf450aa343827b9703a8d7526e","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.5.0.tgz","fileCount":16,"integrity":"sha512-2Nih2hvUy61iiWGWOo8+dojPxZJptmKGq2tNzpUpuP0k52DBrvtuFw9ulQoEPTFhZIJpbSDL8GvUjKC/Q0ZPZQ==","signatures":[{"sig":"MEUCIQDaOo6GYYUbJRXaFc3pBPayUyGvgsoLYoejbqjxciTAVAIgJBgDTs+vQfb9QeiQC+XhBUnae1HbvhNuVkAgpMFaqZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1341859},"type":"module","gitHead":"4c8d202defa6fc105bf7cbc49c65183b890006e7","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.5.0_1773773968001_0.051422860922877955","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"pi-prompt-template-model","version":"0.6.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"aa918bc46e2a8eec55aac3030224bdd60db2cfae","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.0.tgz","fileCount":16,"integrity":"sha512-ArIF+vjLL9KF1pwiuM+fwu/OsCyZiumfpp3ViWuojzTmUK6EwZ0+AdRiMZBCenjqyjh/yjimDNXqGZeTKO9LPg==","signatures":[{"sig":"MEUCIE8i5G6fZx/AJcqy1WYrTJszcP75p+Ok5meS9475ARRwAiEAieb8rZdxDyibO/lMmMg2P0BFYTq8qgsOkn7Xq4BuemU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1355692},"type":"module","gitHead":"42041faee2b189d9e008c45f955937db70ed88bd","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.0_1773896070009_0.15333629520292047","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"pi-prompt-template-model","version":"0.6.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2d78791f93d921c937cb5a0dd29bc837dfb5d855","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.1.tgz","fileCount":20,"integrity":"sha512-21kUo6e6mImU2zEgsdjocyYlDi9hu/AAhWWXeBIFxXClYSGABlev8DfY1xUDnCjrxacb8PXhDkBtXIJQSECDGg==","signatures":[{"sig":"MEUCIQDY/KesajaHk/p4sKR6XNOyBBB6mqf10XnMq6dmdhqoOQIgFkDpDlFFwJ9W+9VB60uV9P4aHSE0HwUiygEcdcp8a/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1392556},"type":"module","gitHead":"c1c16260c3144fb2c8a82a7fd7b7b964b26de6b9","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.1_1773987723866_0.7455515967034421","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"pi-prompt-template-model","version":"0.6.2","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.2","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3cad181bed5bd9510aae94431e86803a68b2312f","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.2.tgz","fileCount":20,"integrity":"sha512-1dmSZp6J1UBXxJZ/t1QhzRnFbR/4x58KC6qGBMLSWmrcDyekqtiGW1ysCPME3bSO04/SyKIuXqXQJ5upWjZs/g==","signatures":[{"sig":"MEQCIBgx8Q/CmL7YvheJ4Bctiqo502O6CpT9wGNwfGRY2rWSAiABynUxyih26bJZeY29KDm3VFJVfRZYYNyoX5bZ4sgTyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1389538},"type":"module","gitHead":"0d77f757f487a2f0400fffbd90b14297196729ef","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.2_1774029238926_0.6278445998223738","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"pi-prompt-template-model","version":"0.6.3","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.3","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"fb36ddc51d952c2bd31441eff72b2b5938d2e641","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.3.tgz","fileCount":20,"integrity":"sha512-Gl0QeD/kAr9CzG7ljhtia8HYnnTv2GgOXdn7b0C/PN9ECrGCwjrVQYX6LidBsh+wtvFDtzw5nBFV/heS8oETpg==","signatures":[{"sig":"MEUCIQC9vS7gYO0zGpdTPVIZWcbZV0IDlsOr0q6mBRJowow6UQIgMtTzim/0kuHn1QoGC33dwvd6tZ7Z/X4AHha8a0vTfuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1411549},"type":"module","gitHead":"8d6ee16d637337bef0c22b5a9fe433a09136f940","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.3_1774059820515_0.6838394564128631","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"pi-prompt-template-model","version":"0.6.4","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.4","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"8a70f5473e76048c7cc6e1f0a0e6e262bda3f286","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.4.tgz","fileCount":20,"integrity":"sha512-ZdwFJKtvgSgeOn6F03wInq4K45zMVqSFQp0N05XfKlmcOViUGI37NVu8ZOu2039o5pCQhLuXRGzdpmV9JwRD2A==","signatures":[{"sig":"MEQCID1IiTHEtmrs6WUgcdSHgmK/uSVkJMBBZVccegEomg1yAiB9yYjJzIZqCPPHY1BDcyrqD34AUeuFqGjCARlUN6QzSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1411802},"type":"module","gitHead":"74ed8dd57923fe039d11e5c8d22443ff722a1f66","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.4_1774246261083_0.6105225303597659","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"pi-prompt-template-model","version":"0.6.5","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.5","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c05c1cb932ca6c3a385852fd9031fe641a5f72aa","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.5.tgz","fileCount":20,"integrity":"sha512-S+YnGNNczcoPgMnKh2oOpO6DH9ndwlEJqvjmPTgigEdly8zFToFUHcrTsbfk4Q6KaKzZvfGIgctD6ojcYok2sg==","signatures":[{"sig":"MEUCIQDwW50kCtcmKhCCkkV3rJoOHFqfFtdEh/Ma5boYhn1kWAIgAuxKrHpeTWuqJlc4fRQ3GjbbufKGSHCUF6FKGaovpt8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1418998},"type":"module","gitHead":"85d06fda6bc0bfc9797ac87eaa44f41b0d3dc960","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.5_1774326270332_0.7225834466006031","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"pi-prompt-template-model","version":"0.6.6","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.6","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6e32332ac320c8567cdc928d1febc1df8568f3d1","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.6.tgz","fileCount":20,"integrity":"sha512-TJ8mOjGqM8OZO6pt2Mniezp8N+Jwsf8pHcBHTizI/prXAY8e6a7YPnklUPAk890XHjPsq7gbCT4ovI7JxynjAw==","signatures":[{"sig":"MEUCICQsS92IaeMTuBu8VfjUQx1Czkq31bqIbTT4hnp+By+FAiEAqglyGgRTKNlX8+kYxS5rXKGhMgXOuZi3pbcFyreTjLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1429180},"type":"module","gitHead":"59e22cf8180f638566e86d93a4bda438a963da15","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.6_1774656815784_0.0820646164266845","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"pi-prompt-template-model","version":"0.6.7","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.7","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"1e1774e8c713aae4d15bbe41769d9a1f19c08a23","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.7.tgz","fileCount":20,"integrity":"sha512-XZwbRII9TL7Gtu9JgdsT4688dCrB9On4RQk2urWN0Oi08D5If7OmWqoXoN0rC8EvahSdoJidTUkXG6jx/H/XvA==","signatures":[{"sig":"MEYCIQD24vo7hRH8gr5RdHBK2HAeYcY6BU4oLiK0Z7lXNuyzfQIhAImo3R/cI76XqrrMxeA8M61pDxlQR9l54Cz3+/ejgufU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1435923},"type":"module","gitHead":"7236d239d3a72e85ae982208fb640e4a6f5f1c07","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.7_1774724426342_0.061900992723567194","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"pi-prompt-template-model","version":"0.6.8","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.6.8","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"63bcef4f971f8e80fcf345739101469a92d3d8aa","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.6.8.tgz","fileCount":20,"integrity":"sha512-5U7ai2AMCxU7w4W5Q1Aa3+h686GR072SR2necAHKUrnzJubaB1HlxrDTo8/K0YfkNSsJkos8ZCRGthSW+yzgkQ==","signatures":[{"sig":"MEUCIAzuW5xzLTvIfq2fhgGlOEvng05AjYcP9Q+qXhyC9LywAiEAl3AxagU0xIEFoVQIc5ZMZs9aDCp+sodaqGhvtQ0ijSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1437767},"type":"module","gitHead":"fe1500184cae50ae251f09ea5f87f713b0b24a52","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.57.1","@mariozechner/pi-tui":"^0.57.1","@mariozechner/pi-agent-core":"^0.57.1","@mariozechner/pi-coding-agent":"^0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.6.8_1774733832912_0.8917632433929583","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"pi-prompt-template-model","version":"0.7.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.7.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"cc7017301e514593098936a7f47a2ef6903ff4cc","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.7.0.tgz","fileCount":21,"integrity":"sha512-trz4shgiUAdUXIu/svd7X+aKlsypgGGLGNRnP+T83kSCmMk8MLRwgWPEUyKNh6KfgffEI+vCa6UgOP7eQf1BZw==","signatures":[{"sig":"MEUCIGJGICV2L81kzEhVQcFrqUWly5QnZU+6v2oS5HntxaQ1AiEAngKgdPfS5Lk6CTBkw0XKlE/ebJtzwASY6zyVOfMlK1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1499524},"type":"module","gitHead":"c0f1cd4180111f4878ec010721fb18bedceb08f7","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.64.0","@mariozechner/pi-tui":"^0.64.0","@mariozechner/pi-agent-core":"^0.64.0","@mariozechner/pi-coding-agent":"^0.64.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.7.0_1775079080951_0.1474729634565224","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"pi-prompt-template-model","version":"0.7.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.7.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"24752c12102aa6ae87231ebf9083cdf6470fb945","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.7.1.tgz","fileCount":21,"integrity":"sha512-spXCbCwwjcFl2CgLxEM5N5722Yh4AQeRWf/FbTeRL8P8yp5wlTgVQ+pCIeIyy3FuNG3iv7WIRP4jj2daUiTYaw==","signatures":[{"sig":"MEUCIQCPogXB988u9hAW9p+StkHV1p5Osh88c1WEfAkfheBVDQIgYpOP9RJMMvcFabHdD7CVPKlV02ReoJF1OSjvxJx6f80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1500327},"type":"module","gitHead":"d8eac3361408e268f3c935e22c6a043a7eaa8d9b","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.7.1_1775257603106_0.5753209510867792","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"pi-prompt-template-model","version":"0.7.2","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.7.2","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"62adf233176dea42f607f3241e3331ab83659620","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.7.2.tgz","fileCount":21,"integrity":"sha512-qPlOpefgEvLOERbz1q9Bb7LNFb9Or98dh5iDnf/nKyKXuJEmSWYNEu8uP9TrvHmRoeKJ+bPFg/KWHq6V4D2BZw==","signatures":[{"sig":"MEYCIQD1DAop8lFNRgm4qR3/cnpmP+a7nGpc1D6Di4LsIlR3NAIhAOzbgh8FmTL3PKpg/GqIKSeO0DbJwLsjYp7U09FB39Z4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1500714},"type":"module","gitHead":"ccaef96414f2bf12f0b364b43b6da6301c48635c","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.7.2_1775268882305_0.30204938731267394","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"pi-prompt-template-model","version":"0.7.3","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.7.3","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"0bb5a50c6b404ee20096c5625f73bf99abc87566","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.7.3.tgz","fileCount":21,"integrity":"sha512-SACtD9k982x6SPtNslvn2kYUKXc4mmO9TVi0Ac0U1WSWIoREp6QrvMkFNRsA8aWS6xV9b6AJ8gifDrpUYkF2DQ==","signatures":[{"sig":"MEYCIQDpyDdOuBdY9ApgWrHZL1KCNkDSCvBHTB8HwKYDg+qyEwIhAO/B6Z1iOiEUR+MS9WfB6F5XQCq2CJRmc52lkwlDd1yo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1501389},"type":"module","gitHead":"57353b9fe9f583e8f00234271d6e9d65389d25a4","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.7.3_1776141858590_0.007057578232160466","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"pi-prompt-template-model","version":"0.8.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.8.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d407d747a6d539e71840656306730a11ffe3a29e","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.8.0.tgz","fileCount":23,"integrity":"sha512-vholp3+GUPWOKdzTDH5bcNJ0KJRe0k65f76Sqrc3A/W/Z6m8UbKmgMho8oMaKJ2982S4gq01JO1r2VM8rqQymA==","signatures":[{"sig":"MEQCICujGoF9S4+7yL0miarhSMGLD8Mx5Mwd07TIUnY2kgreAiBksB02Ow8faFHHlKrPk8Ip1w3MupNI4OEcZNn+XNMZSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1539547},"type":"module","gitHead":"4902080dee2c4bfd9d7368bfeded2c929b6a87a1","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.8.0_1776804464710_0.2512329904671853","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"pi-prompt-template-model","version":"0.8.2","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.8.2","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"789ec27746830eb43df88101ed0129f74275227b","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.8.2.tgz","fileCount":24,"integrity":"sha512-utkp9OG6zqsnkRTJ2xDRgl4XZSFdn7GjTaDt40Q6+o4/IYv8PjMRg9+0ZdGvpih08VsP9+U0bZJyF88MclnJCg==","signatures":[{"sig":"MEYCIQDnD0l+qwv2q62Ont+BneTJ4PjGuqpSxfsUjw1WIo7IagIhAJOGiaSU65YfKmGdTIQlB36q+8wXFzHD82LxejgbAKGA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545719},"type":"module","gitHead":"30072280d717330b43455ba6b57d7d95dd12949d","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.8.2_1776808486834_0.11715519970771426","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"pi-prompt-template-model","version":"0.9.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.9.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"a937373a17c8866eea39ddb492b8acf4fb3b99e7","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.9.0.tgz","fileCount":24,"integrity":"sha512-zMOX0bILVQ9d+5mzYoJue81psuWD7e8Q0oYNRiRTrtF7XNe6dqQxzCNTL7UZdQlSoxfM7/8+GoDmLpEbhx94yg==","signatures":[{"sig":"MEUCIQDk2LevvenKwyKgXrzCfbUXN+b6XAeYD2ezywP7yRWPzQIgc4g8FEa9SBlwaqvZRYO6eXIM+nBYkZdeBID+kuk8H08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1549656},"type":"module","gitHead":"94dc14f8512b0f098cb6f7e65088ed81a71eba22","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"typebox":"^1.1.24"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.9.0_1777091572757_0.9695320819736626","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"pi-prompt-template-model","version":"0.9.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.9.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"560d725e35dfe450d27ada2ef9b4a1185df9d17b","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.9.1.tgz","fileCount":24,"integrity":"sha512-cz4mh92IczxWhKkfVWRN6n7UWZXB/05knJeEzZRyrVcI60LIJMklaRqOVB8TXRo7Bm0htpYooYUtA1VuHIzjWQ==","signatures":[{"sig":"MEUCIQDYIszu37+die6MPVlPvHga+Ezk4vfyhorkyoSj/DWlcAIgSSv4aJJnh1Vu0maL4Xjbzjay4gjQV0y1Av0n2y6qNc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550080},"type":"module","gitHead":"4b91f7727fb9b8f7c00d26d21356837b9592a720","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"typebox":"^1.1.24"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.9.1_1777171349891_0.7387699616077701","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"pi-prompt-template-model","version":"0.9.2","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.9.2","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"99a6f989f715986adffb6e4a2f0bc9a67c0aa04a","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.9.2.tgz","fileCount":24,"integrity":"sha512-87hFXw2KHtmvOJmPGZHii9HcVOwEVCPASeKAfOvsCUXTqDdKXLbaY0x1H07WtKzKFdd4CNW1u5XaojXsM07vOw==","signatures":[{"sig":"MEUCIQCyJTuJjeB4b6YcFamTNuhYCCrQ4LWwjbA4fv5GI3R57gIgCBtA8jJkhS974xhbgzRaUILy88OcaaBYo6ARcjL1anQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550617},"type":"module","gitHead":"7ac10412b3d43279656df35da90dc59120059d93","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"typebox":"^1.1.24"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.9.2_1777395409762_0.06816458906193579","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"pi-prompt-template-model","version":"0.9.3","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.9.3","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"86546ddd8ba74165f638308b5c9f98fa008d842c","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.9.3.tgz","fileCount":24,"integrity":"sha512-8nv3e+hIlTJMIHw7xnCOedYzMVdF+prm6BNLKinNg8mPSQ7sb48OCeBLv1fdVbDrjO5ei+J9QvaAWHZbdzWzkQ==","signatures":[{"sig":"MEUCIH+sqL7WCp6HhVd7EMrQhM5zOY1c00wrQYls1tfE1s5iAiEA0GimljSJYULQ4BseeoP2DuAVLhAuKin8Opl94Vpp53U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1550754},"type":"module","gitHead":"cd3f9bd45cb44076e2dad802907f3d5a67b868bd","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"typebox":"^1.1.24"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.5","@mariozechner/pi-ai":"^0.65.0","@mariozechner/pi-tui":"^0.65.0","@mariozechner/pi-agent-core":"^0.65.0","@mariozechner/pi-coding-agent":"^0.65.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.9.3_1777435956648_0.9020927534398644","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"pi-prompt-template-model","version":"0.10.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.10.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"f04709231e2d4e7820ccc8989fd0c222d40b1f91","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.10.0.tgz","fileCount":24,"integrity":"sha512-d8UovT5eTSR9B4/J9Tmh4skqjm8gDiagXzyymCciSXtGuzkbxWKiNPIucaA0Un4wgWe4EnNnp+jzA9NF8fG6LQ==","signatures":[{"sig":"MEUCIQCRP9DtPmKU7HF5syWXLVxEnsx93pZ9EQfiRYhRWWG6OAIgHghgavCMtZx7GROPNViHUE7P0OGHdxb7/i37W8csg/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1559782},"type":"module","gitHead":"ab60d66af05c4a2196111dc7a2c468b1566481e1","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.16.0","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"24.18.0","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.2","@earendil-works/pi-ai":"^0.80.3","@earendil-works/pi-tui":"^0.80.3","@earendil-works/pi-agent-core":"^0.80.3","@earendil-works/pi-coding-agent":"^0.80.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.10.0_1782881761604_0.8048420601344344","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"pi-prompt-template-model","version":"0.11.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.11.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"b753cf1ec38f8823e36238800ad3c9c6bb533d5b","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.11.0.tgz","fileCount":24,"integrity":"sha512-YyS/zVnGVPDhnXJArKCzIFQQnZXV66q7736Eht+9eWnxasv8CcZTojNTIR1c+/We9AS1twZUPYJAARpyAo1a1A==","signatures":[{"sig":"MEYCIQDyhYUcIC7N9MJ1GV19r2IL6gtST2TX6aaReNMvIxokkgIhAMn8QMN3jFiHmuAnpdH0zGE7zXq+QezoYbqtU95ZsyEi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1567666},"type":"module","gitHead":"dea99617bc6600ff1b07f898abf2e6adb7c2bdcf","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.10","@earendil-works/pi-ai":"^0.83.0","@earendil-works/pi-tui":"^0.83.0","@earendil-works/pi-agent-core":"^0.83.0","@earendil-works/pi-coding-agent":"^0.83.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.11.0_1785868149231_0.2445674773268698","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"pi-prompt-template-model","version":"0.12.0","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.12.0","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"870ee10fd75bb4f5957c71b5671410ba3291a2a2","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.12.0.tgz","fileCount":24,"integrity":"sha512-5O1qYW+jZZin2G408BSoSggnrOqKDqk49t4vrP6gI8kQDPGwPCnpWdLCtHrZxXK5dTadgLLe+oVwE97HyCzQkg==","signatures":[{"sig":"MEUCIEYQV+dCzLcr8+DMILzoF8tolCU5jadS9pLFinmXZDSLAiEA7Aim1UnRjuAW1QzBYsWrmXfqCMjikk5GnC3u76O4Lyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1578378},"type":"module","gitHead":"2f495d79084a941fa2a6e47cd923499745863a49","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.10","@earendil-works/pi-ai":"^0.83.0","@earendil-works/pi-tui":"^0.83.0","@earendil-works/pi-agent-core":"^0.83.0","@earendil-works/pi-coding-agent":"^0.83.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.12.0_1786298877720_0.5912479460461975","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"pi-prompt-template-model","version":"0.12.1","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.12.1","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"9ab546369f9a7f50b7949a32ffbd0aa798525afb","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.12.1.tgz","fileCount":24,"integrity":"sha512-JsjSPBxwuxEnray9Fn8NEf18TqcxWPq4d/YDXnAfHlZU1A4RuO3vvJnpMoaouwXcqHbvItxrCc7V0b/k+2C39w==","signatures":[{"sig":"MEQCIEak/ycrs9EtIlkR5X3Ybit45ZNMSu+LhOLazZzIHCFfAiBfpiMMoRiWJq7HfHMKwzi4pyR9T8jMOWhm4Gu+7O39OQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1580689},"type":"module","gitHead":"4449933ac7c0eaa4104ee96ef8af652adce748dc","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.10","@earendil-works/pi-ai":"^0.83.0","@earendil-works/pi-tui":"^0.83.0","@earendil-works/pi-agent-core":"^0.83.0","@earendil-works/pi-coding-agent":"^0.83.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.12.1_1787501851125_0.38293796487307863","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"pi-prompt-template-model","version":"0.12.2","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"author":{"name":"Nico Bailon"},"license":"MIT","_id":"pi-prompt-template-model@0.12.2","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"dist":{"shasum":"0b68f6978a0da43798bcfec9ee903aac5e96c017","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.12.2.tgz","fileCount":24,"integrity":"sha512-Bnraah6G1igspWPV00J54NPzBAnlGXAT48i5vvfjeBqJwnMzK64/JDpMvksfhg1Vb96lcW/0MJYUii6hqeUi7w==","signatures":[{"sig":"MEYCIQD3Nt+FYyov4KAYrJXLKEImaUzqigOsXLFX/aXzIHtWIwIhAMYM2zEoCZryRrYvDfHpzRzChj5qmhaV0u1Vkcc/GvK5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1581348},"type":"module","gitHead":"accfa7817f78942d918e436405cb4f1a90afa23a","scripts":{"test":"tsx --test test/**/*.test.ts"},"_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"_nodeVersion":"25.2.1","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.10","@earendil-works/pi-ai":"^0.83.0","@earendil-works/pi-tui":"^0.83.0","@earendil-works/pi-agent-core":"^0.83.0","@earendil-works/pi-coding-agent":"^0.83.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-prompt-template-model_0.12.2_1787899437160_0.0702792806535244","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"pi":{"skills":["./skills"],"extensions":["./index.ts"]},"_id":"pi-prompt-template-model@0.12.3","bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"dist":{"shasum":"17c774400ce57ae30efadae4858ff02dab8991f9","tarball":"https://registry.npmjs.org/pi-prompt-template-model/-/pi-prompt-template-model-0.12.3.tgz","fileCount":24,"integrity":"sha512-wc8kI8GZgyyOkSjZhAPeWcSzXBfAI9oOJexmPAmxiK1WE8EJ5O6YFdkYiT5elYEGUuTxwekGtgrGBN9CULSCfQ==","signatures":[{"sig":"MEUCIH++rdJe1GPA61VRt2TKBPSLrGjsz6+0D6x5+210WVYvAiEA0I3knHbAlSRzHX2lG//sHiZeMvNuhw3yy7keHxB5B5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCy7UbxV7+1P+QU9Vazju+8+CDyGsf7+4EE7pTtyn09BgIgAayHk6BZTf+EhzFI1poiXmFCskT/nLfpQ/t6Kcs1ETg="}],"unpackedSize":1581538},"name":"pi-prompt-template-model","type":"module","author":{"name":"Nico Bailon"},"gitHead":"6da205917e549cbe8e855c1d241c616ae1fb1627","license":"MIT","scripts":{"test":"tsx --test test/**/*.test.ts"},"version":"0.12.3","_npmUser":{"name":"nicopreme","email":"nico.bailon@gmail.com"},"homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"_npmVersion":"11.6.2","description":"Prompt template model selector extension for pi coding agent","directories":{},"maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"_nodeVersion":"25.2.1","dependencies":{"minimatch":"^10.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typebox":"^1.3.10","@earendil-works/pi-ai":"^0.83.0","@earendil-works/pi-tui":"^0.83.0","@earendil-works/pi-agent-core":"^0.83.0","@earendil-works/pi-coding-agent":"^0.83.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-prompt-template-model_0.12.3_1790023645970_0.5779510519061606"}}},"time":{"created":"2026-01-27T22:48:26.505Z","modified":"2026-09-21T20:47:26.224Z","0.1.0":"2026-01-27T22:48:26.771Z","0.2.0":"2026-02-01T00:41:38.363Z","0.2.1":"2026-02-01T02:43:06.229Z","0.3.0":"2026-02-09T06:05:52.165Z","0.3.1":"2026-02-09T06:38:38.945Z","0.4.0":"2026-03-13T06:58:59.425Z","0.5.0":"2026-03-17T18:59:28.301Z","0.6.0":"2026-03-19T04:54:30.267Z","0.6.1":"2026-03-20T06:22:04.138Z","0.6.2":"2026-03-20T17:53:59.174Z","0.6.3":"2026-03-21T02:23:40.711Z","0.6.4":"2026-03-23T06:11:01.351Z","0.6.5":"2026-03-24T04:24:30.579Z","0.6.6":"2026-03-28T00:13:35.987Z","0.6.7":"2026-03-28T19:00:26.559Z","0.6.8":"2026-03-28T21:37:13.106Z","0.7.0":"2026-04-01T21:31:21.196Z","0.7.1":"2026-04-03T23:06:43.311Z","0.7.2":"2026-04-04T02:14:42.535Z","0.7.3":"2026-04-14T04:44:18.808Z","0.8.0":"2026-04-21T20:47:44.932Z","0.8.2":"2026-04-21T21:54:47.055Z","0.9.0":"2026-04-25T04:32:52.975Z","0.9.1":"2026-04-26T02:42:30.098Z","0.9.2":"2026-04-28T16:56:49.969Z","0.9.3":"2026-04-29T04:12:36.920Z","0.10.0":"2026-07-01T04:56:01.864Z","0.11.0":"2026-08-04T18:29:09.485Z","0.12.0":"2026-08-09T18:07:57.910Z","0.12.1":"2026-08-23T16:17:31.296Z","0.12.2":"2026-08-28T06:43:57.376Z","0.12.3":"2026-09-21T20:47:26.068Z"},"bugs":{"url":"https://github.com/nicobailon/pi-prompt-template-model/issues"},"author":{"name":"Nico Bailon"},"license":"MIT","homepage":"https://github.com/nicobailon/pi-prompt-template-model#readme","keywords":["pi-package","pi","pi-coding-agent","prompt-template","model-selector","extension"],"repository":{"url":"git+https://github.com/nicobailon/pi-prompt-template-model.git","type":"git"},"description":"Prompt template model selector extension for pi coding agent","maintainers":[{"name":"nicopreme","email":"nico.bailon@gmail.com"}],"readme":"<p>\n  <img src=\"banner.png\" alt=\"pi-prompt-template-model\" width=\"1100\">\n</p>\n\n# Prompt Template Model Extension\n\nAdds `model`, `skill`, and `thinking` frontmatter to pi prompt templates. Define slash commands that switch to the right model, set a thinking level, inject skill context, and auto-restore your session when done.\n\n```\n/debug-python my code crashes\n  → switches to Sonnet, loads tmux skill, agent responds\n  → restores your previous model when finished\n```\n\n## Why?\n\nEach prompt template becomes a self-contained agent mode. `/quick-debug` spins up a cheap model with REPL skills. `/deep-analysis` brings in extended thinking with refactoring expertise. When the command finishes, you're back to your daily driver without touching anything.\n\nNo more manually switching models, no hoping the agent picks up on the right skill. You define the configuration once, and the slash command handles the rest.\n\n## Installation\n\n```bash\npi install npm:pi-prompt-template-model\n```\n\nRestart pi to load the extension.\n\nFor delegated subagent execution (`subagent` and `inheritContext` frontmatter), install [pi-subagents](https://github.com/nicobailon/pi-subagents/) separately:\n\n```bash\npi install npm:pi-subagents\n```\n\npi-subagents is optional — everything else works without it. Using `subagent: true` without it installed fails fast with a clear error.\n\n## Quick Start\n\nAdd `model` and optionally `skill` to any prompt template:\n\n```markdown\n---\ndescription: Debug Python in tmux REPL\nmodel: claude-sonnet-4-20250514\nskill: tmux\n---\nStart a Python REPL session and help me debug: $@\n```\n\nRun `/debug-python some issue` and the agent switches to Sonnet, receives the tmux skill as context, and starts working. When it finishes, your previous model is restored. If Pi is compacting or finishing a turn, the slash command waits until the session can accept the generated prompt.\n\n## Prompt Discovery\n\nThe extension scans the default prompt directories and the same local prompt paths Pi loads from `settings.json`:\n\n- User defaults: `~/.pi/agent/prompts/`\n- Project defaults: `<cwd>/.pi/prompts/`\n- User settings: `~/.pi/agent/settings.json` `prompts` entries\n- Project settings: `<cwd>/.pi/settings.json` `prompts` entries\n\nSettings entries may point at directories or individual `.md` files. Absolute paths and `~/...` work. Relative user settings paths resolve from `~/.pi/agent`; relative project settings paths resolve from `<cwd>/.pi`. Pattern entries follow Pi's settings behavior: glob-style entries filter configured prompt paths, and `!`, `+`, or `-` entries exclude or force exact matches.\n\nPrecedence follows Pi's local-resource order: project settings, project defaults, user settings, then user defaults. If the same file is reachable through both settings and a default directory, it is loaded once by canonical path. Malformed settings files or invalid configured paths produce warnings while the rest of discovery continues.\n\n## Frontmatter Reference\n\nAll fields are optional. Templates that don't use any extension features (no `model`, `skill`, `thinking`, etc.) are left to pi's default prompt loader.\n\n### Core Fields\n\n| Field | Default | What it does |\n|-------|---------|--------------|\n| `model` | current session model | Which model to use. Accepts a single model, a `provider/model-id` pair, or a comma-separated fallback list (see [Model Format](#model-format)). Ignored when `chain` is set. |\n| `skill` | — | Loads one or more skills. Accepts one name, comma-separated names, or a YAML array; each entry may use the optional `skill:` prefix. Inline runs inject the full content before the agent turn, while delegated runs bind resolved name/path metadata to the outbound request. See [Skill Resolution](#skill-resolution). |\n| `thinking` | — | Thinking level for the model: `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, or `max`. |\n| `description` | — | Short text shown next to the command in autocomplete. |\n| `chain` | — | Declares a reusable pipeline of templates (`step -> step`). When set, the body is ignored. See [Chain Templates](#chain-templates). |\n| `chainContext` | — | Chain templates only. Set to `summary` so delegated steps receive a compact summary of what previous steps did. Steps with `inheritContext: true` are excluded. See [Chain context for delegated steps](#chain-context-for-delegated-steps). |\n\n### Execution Control\n\n| Field | Default | What it does |\n|-------|---------|--------------|\n| `restore` | `true` | After the command finishes, switch back to whatever model and thinking level were active before. Set `false` to stay on the new model. |\n| `loop` | — | Run this template multiple times by default (1–999, `true`, or `unlimited`). CLI `--loop` overrides this. See [Loop Execution](#loop-execution). |\n| `rotate` | `false` | When `true` and looping, cycle through models in the `model` list instead of using fallback semantics. Thinking levels can also be comma-separated to pair with each model. |\n| `fresh` | `false` | When looping, collapse the conversation between iterations to a brief summary instead of carrying the full context forward. Saves tokens on long loops. |\n| `converge` | `true` | When looping, stop early if an iteration makes no file changes. Set `false` to always run every iteration. |\n| `boomerang` | `false` | After a non-chain prompt finishes, collapse its execution context back to the branch point with a brief summary. Works with loops, including `fresh` loop summaries. Useful for review prompts like `/double-check`. |\n| `worktree` | `false` | When `true`, parallel delegated work runs in separate git worktrees. Valid on chain templates with `parallel()` steps, on delegated prompts with `parallel: N`, and on compare templates via `bestOfN.worktree`. |\n\n### Delegation\n\n| Field | Default | What it does |\n|-------|---------|--------------|\n| `subagent` | — | Delegate execution to a subagent instead of running in the current session. `true` uses the default `delegate` agent; a string value like `reviewer` targets that specific agent. Requires [pi-subagents](https://github.com/nicobailon/pi-subagents/). |\n| `inheritContext` | `false` | Only meaningful with `subagent`. When `true`, the subagent receives a fork of the current conversation context instead of starting fresh. |\n| `parallel` | — | Delegated prompts only. Repeats the same subagent in parallel `N` times. Each copy gets a slot header like `[Parallel subagent 2/3]` prepended to the task. Must be an integer greater than or equal to 2. |\n| `bestOfN` | — | Compare templates only. Nested compare authoring block with `workers`, `reviewers`, optional `finalApplier`, and optional `worktree`. Top-level compare fields are not supported in templates. |\n| `bestOfN.workers` | — | Ordered worker lineup used for the worker phase. Each slot object supports optional `agent`/`subagent`, optional `model`, optional `task`, optional `taskSuffix`, optional `cwd`, and optional `count`. If both `agent` and `subagent` are omitted, the default agent is `delegate`. |\n| `bestOfN.reviewers` | — | Ordered reviewer lineup used after worker aggregation. Slot shape matches workers. If both `agent` and `subagent` are omitted, the default agent is `reviewer`. |\n| `bestOfN.finalApplier` | — | Optional single-slot final apply phase that edits the real branch after reviewers. Supports optional `agent`/`subagent`, optional `model`, optional `task`, and optional `taskSuffix`. If both `agent` and `subagent` are omitted, the default agent is `delegate`. `count` and `cwd` are not supported. Requires `bestOfN.worktree: true` at runtime. |\n| `cwd` | — | Working directory for delegated subagent subprocesses. Must be an absolute path (`~/...` is expanded). Valid with `subagent`, on chain templates as the default cwd for delegated steps, and on compare prompts as the default repo cwd. Worker/reviewer slots can also set their own `cwd` inside `bestOfN.workers` / `bestOfN.reviewers`. |\n\n## Model Format\n\n```yaml\nmodel: claude-sonnet-4-20250514            # bare model ID — auto-selects provider\nmodel: anthropic/claude-sonnet-4-20250514  # explicit provider/model\n```\n\nBare model IDs resolve through a provider priority list: `openai-codex` → `anthropic` → `github-copilot` → `openrouter`. The first provider with valid auth wins.\n\nFor explicit control:\n\n```yaml\nmodel: anthropic/claude-opus-4-5        # Direct Anthropic API\nmodel: openai-codex/gpt-5.2             # Via Codex subscription (OAuth)\nmodel: github-copilot/claude-opus-4-5   # Via Copilot subscription\nmodel: openrouter/claude-opus-4-5       # Via OpenRouter\nmodel: openai/gpt-5.2                   # Direct OpenAI API\n```\n\n### Model Fallback\n\nComma-separated lists try each model in order:\n\n```yaml\nmodel: claude-haiku-4-5, claude-sonnet-4-20250514\n```\n\nHaiku is tried first. If it can't be found or has no API key, Sonnet is used instead. If the session is already on one of the listed models, that one is kept without switching. When every candidate fails, you get a single error listing what was tried.\n\nYou can mix bare IDs and explicit provider specs:\n\n```yaml\nmodel: anthropic/claude-haiku-4-5, openrouter/claude-haiku-4-5, claude-sonnet-4-20250514\n```\n\n## Skills\n\nNormally, pi lists available skills in the system prompt, the agent reads your task, decides which skill it needs, and loads it with the read tool. That's an extra round-trip, and the agent might not pick the right one.\n\nThe `skill` field bypasses all of that:\n\n```markdown\n---\ndescription: Browser testing mode\nmodel: claude-sonnet-4-20250514\nskill: surf\n---\n$@\n```\n\nFor inline runs, every skill is resolved first and its full content is injected in a separate `<skill name=\"...\">` block within one context message before the agent processes your task. For single delegated runs, skill bodies are not prepended to the task; the outbound pi-subagents request uses the versioned `skill` field with resolved skill names. Parallel delegated runs also resolve every declared skill before emitting the request and carry name-only `skill` metadata per task for compatible bridges. If any declared skill can't be found or read, the command fails before the inline turn or delegated request starts.\n\n### Skill Resolution\n\nThe `skill` field accepts one name, comma-separated names, or a YAML array. Entries are trimmed, empty entries are dropped, duplicates keep their first position, and each entry may use a `skill:` prefix:\n\n```yaml\nskill: tmux\nskill: tmux, skill:browser\nskill:\n  - tmux\n  - skill:browser\n```\n\nResolution order:\n\n1. Registered skill commands from `pi.getCommands()` (source: `\"skill\"`)\n2. `<cwd>/.pi/skills/<name>/SKILL.md` or `<cwd>/.pi/skills/<name>.md` when project trust is enabled\n3. `.agents/skills` in the current directory and ancestors (up to the git root) when project trust is enabled\n4. `~/.pi/agent/skills/<name>/SKILL.md` or `~/.pi/agent/skills/<name>.md`\n5. `~/.agents/skills/<name>/SKILL.md` or `~/.agents/skills/<name>.md`\n\n## Inline Model Conditionals\n\nPrompt bodies can include sections that only render for specific models:\n\n```markdown\n---\ndescription: Cross-model code review\nmodel: claude-haiku-4-5, claude-sonnet-4-20250514\n---\nSummarize the change first.\n\n<if-model is=\"claude-haiku-4-5\">\nKeep the answer brief and cost-conscious.\n<else>\nDo a deeper pass and call out subtle risks.\n</if-model>\n```\n\nConditionals evaluate against whichever model actually runs — after fallback resolution for multi-model templates, or against the session model when `model` is omitted.\n\nThe `is` attribute supports exact model IDs, `provider/model-id` pairs, provider wildcards like `anthropic/*`, and comma-separated combinations:\n\n```markdown\n<if-model is=\"anthropic/*\">Anthropic-specific instructions</if-model>\n<if-model is=\"openai/gpt-5.2, anthropic/*\">Either OpenAI or Anthropic</if-model>\n```\n\n`<else>` is the fallback branch. Nested `<if-model>` blocks work.\n\n## Argument Substitution\n\nPrompt bodies support placeholders that expand to the arguments passed after the command name:\n\n| Placeholder | Expands to |\n|-------------|------------|\n| `$1`, `$2`, ... | The Nth argument (1-indexed) |\n| `$@` or `@$` or `$ARGUMENTS` | All arguments joined with spaces |\n| `${@:N}` | All arguments from position N onward |\n| `${@:N:L}` | L arguments starting from position N |\n\n```markdown\n---\nmodel: claude-sonnet-4-20250514\n---\nAnalyze $1 focusing on $2. Additional context: ${@:3}\n```\n\n`/analyze src/main.ts performance edge cases error handling` expands `$1` to `src/main.ts`, `$2` to `performance`, and `${@:3}` to `edge cases error handling`.\n\n## Delegated Subagent Execution\n\nInstead of running a prompt in the current session, you can hand it off to a subagent:\n\n```markdown\n---\nmodel: anthropic/claude-sonnet-4-20250514\nsubagent: true\n---\nReview and simplify this code: $@\n```\n\n`subagent: true` delegates to the default `delegate` agent. To target a specific agent:\n\n```markdown\n---\nmodel: anthropic/claude-sonnet-4-20250514\nsubagent: reviewer\ninheritContext: true\n---\nAudit this diff for correctness and edge cases: $@\n```\n\n`inheritContext: true` forks the current conversation so the subagent has full context. Without it, the subagent starts fresh. Declared skills are resolved against the delegated `cwd` and sent as skill names on the delegation request; their bodies are never prepended to delegated task text.\n\nTo force a subagent into a specific working directory, add `cwd`:\n\n```markdown\n---\nmodel: claude-sonnet-4-20250514\nsubagent: browser-screenshoter\ncwd: /tmp/screenshots\n---\nUse url in the prompt to take screenshot: $@\n```\n\nThe subagent process runs with `/tmp/screenshots` as its working directory. Paths must be absolute (`~/...` is expanded). The directory is validated at execution time.\n\nTo fan the same delegated prompt out to multiple copies in parallel, add `parallel: N`:\n\n```markdown\n---\nmodel: anthropic/claude-sonnet-4-20250514\nsubagent: simplifier\ninheritContext: true\nparallel: 3\nworktree: true\n---\nReview changed code and fix any issues found.\n```\n\nThis expands to three parallel `pi-subagents` tasks targeting the same agent. Each one receives the same rendered prompt plus an automatic slot header like `[Parallel subagent 1/3]`, `[Parallel subagent 2/3]`, and `[Parallel subagent 3/3]` so the body can assign different roles to each copy. `worktree: true` is optional here and gives each parallel run its own git worktree.\n\nDuring execution, a live progress widget appears above the editor showing elapsed time, tool count, token usage, and the current tool. When the run finishes, it's replaced by a completion card with the task preview, tool call history, output, and usage stats.\n\nYou can override delegation at runtime per invocation with `--subagent`, `--subagent=<name>`, `--subagent:<name>`, or `--cwd=<path>`. `--cwd=<path>` must be absolute after optional `~/...` expansion. Runtime flags take precedence for that invocation only.\n\nTwo additional runtime flags work for any prompt (not just delegated ones):\n\n- `--model=provider/model-id` — override the template's `model` for this invocation. Works with single execution, loops, and delegation.\n- `--fork` — run with `inheritContext` (forked context). Implies `--subagent` if not already set.\n\n```\n/double-check --model=anthropic/claude-opus-4-6\n/double-check --fork --subagent:worker\n/deslop --model=openai/gpt-5.4 --loop 3\n```\n\nCompare templates also accept runtime lineup overrides:\n\nPrompt-template frontmatter authoring uses `bestOfN:`. Runtime overrides stay on the low-level flags below.\n\n- `--workers=<json-array>` / `--reviewers=<json-array>` replace the corresponding frontmatter lineup.\n- `--workers-append=<json-array>` / `--reviewers-append=<json-array>` append to the corresponding lineup.\n- `--final-applier=<json-object-or-one-element-array>` replaces the optional final apply slot.\n\nEach worker/reviewer JSON array entry must be an object with either `subagent` or `agent`, plus optional `model`, `task`, `taskSuffix`, `cwd`, and `count`. In worker slots, `\"subagent\": true` maps to `delegate`. In reviewer slots, `\"subagent\": true` maps to `reviewer`. `--final-applier=` accepts one slot object (or a one-element array) with `subagent`/`agent`, optional `model`, optional `task`, and optional `taskSuffix`; for this final slot, `\"subagent\": true` maps to `delegate`, and both `count` and `cwd` are not supported.\n\n## Best-of-N Compare Prompt\n\nThis repo ships one example compare prompt under `examples/`:\n\n- `examples/best-of-n.md` installs as `/best-of-n`, runs in the current repo, and shows mixed workers, mixed reviewers, and an optional final apply phase.\n- Smoke test: `/best-of-n smoke test`.\n\nInstall it manually from this repo checkout (or from the installed package directory):\n\n```bash\nPTM_DIR=/path/to/pi-prompt-template-model\nmkdir -p ~/.pi/agent/prompts\ncp \"$PTM_DIR/examples/best-of-n.md\" ~/.pi/agent/prompts/best-of-n.md\n```\n\nAfter copying the file, restart `pi` if it is already running. The prompt then runs an explicit compare flow:\n\nCompare prompt templates are authored under `bestOfN:`. Top-level `workers`, `reviewers`, and `finalApplier` frontmatter fields are rejected with migration diagnostics.\n\n1. Worker phase: run the worker lineup in parallel (`context: fork`) so workers generate candidate implementations in temporary worktrees.\n2. Continue as long as at least one worker succeeds. Reviewer slots receive successful worker outputs plus worker/worktree summaries and produce findings only.\n3. Optional final apply phase: if `finalApplier` is configured, run one delegated apply step on the real compare repo (`compareCwd`) to pick a winner or synthesize/cherry-pick and apply the final patch.\n4. If all reviewers fail but `finalApplier` exists, the final apply step still runs with fallback context from workers plus reviewer failure summaries.\n\nWorker/reviewer lineups are fully configurable from `bestOfN` frontmatter or runtime overrides, so there is no fixed three-model worker assumption. If a compare prompt omits `bestOfN.workers`, it falls back to one `delegate` worker using the current/main model. If it omits `bestOfN.reviewers`, it falls back to one `reviewer` slot. `bestOfN.finalApplier` is optional, and compare runs reject an effective final applier unless `bestOfN.worktree: true` is set.\n\nFor same-model best-of-N, use `count: N` on one worker slot:\n\n```yaml\nbestOfN:\n  workers:\n    - model: openai-codex/gpt-5.4:low\n      count: 4\n```\n\nYou can also mix models and give each slot its own count:\n\n```yaml\nbestOfN:\n  workers:\n    - model: openai-codex/gpt-5.4:low\n      count: 3\n    - model: google/gemini-2.5-pro:medium\n      count: 2\n    - model: anthropic/claude-sonnet-4-20250514:high\n```\n\nReviewer slots support the same lineup shape, and `bestOfN.finalApplier` is one optional single-slot final apply step:\n\n```yaml\nbestOfN:\n  reviewers:\n    - model: openai-codex/gpt-5.4:low\n      count: 2\n    - model: google/gemini-2.5-pro:medium\n      taskSuffix: Focus on regression risk.\n  finalApplier:\n    model: anthropic/claude-sonnet-4-20250514:high\n    taskSuffix: Apply the final patch on the current branch and report verification.\n```\n\nWithin compare lineups, omitting both `agent` and `subagent` uses phase defaults: `delegate` in workers, `reviewer` in reviewers, and `delegate` in finalApplier. You can still set explicit `agent` or `subagent` when needed.\n\nExplicitly repeating the same slot still works, but `count: N` is the cleaner shorthand when the slot is identical.\n\nWithin a compare lineup, use `task` for a full per-slot override and `taskSuffix` for a small per-slot append. `taskSuffix` is added after the shared worker task (or after the slot's `task` if you set one), which makes it the better fit for things like per-model output file names.\n\nWhen a compare prompt uses `bestOfN.worktree: true`, all worker slots must resolve to the same `cwd`. Mixed worker `cwd` values are only allowed when worktree isolation is off. Worktree isolation is for the worker phase only; `bestOfN.finalApplier` always applies on the real branch (`compareCwd`).\n\n## Deterministic Steps\n\nPrompt templates can run one deterministic command or script before any optional LLM turn. Use this when the first step should be direct code, not model latency.\n\nThe flow is simple:\n\n1. Run one command or script.\n2. Always render a visible deterministic result card with the command, exit code, duration, and stdout/stderr previews.\n3. Optionally hand the structured result to the model as a `[Deterministic step]` preamble before the prompt body.\n4. If `handoff: never`, stop after the result card and a visible completion marker — no LLM turn happens.\n\nThat handoff preamble is intentionally structured and uses stable field names like `status`, `executionKind`, `command`, `cwd`, `exitCode`, `signal`, `durationMs`, `timedOut`, `lineCount`, `charCount`, `truncated`, `omittedChars`, and `preview`.\n\nV1 scope is intentionally narrow: deterministic execution only works on single prompt templates. It does not combine with chain templates, delegated/subagent prompts, `parallel`, or loops. At runtime, deterministic prompts explicitly reject `--loop`, `--subagent`, and `--fork` in v1.\n\n### Authoring forms\n\nYou can write deterministic steps as **top-level shorthand** or **nested under `deterministic:`**. Both are equivalent. Use shorthand for brevity, nested when you want everything grouped under one key.\n\n**Top-level shorthand** — put `run`, `script`, `handoff`, `timeout`, `cwd`, `env`, and `nonInteractive` directly in frontmatter:\n\n```markdown\n---\nrun: git push origin HEAD:main\nhandoff: on-failure\ntimeout: 30000\n---\nIf the push failed, explain why and suggest the next step.\n```\n\nYou can also use `script:` as shorthand:\n\n```markdown\n---\nscript: ./scripts/ship.sh\nhandoff: always\ntimeout: 15000\n---\nSummarize the script result.\n```\n\n**Nested form** — group everything under `deterministic:`:\n\n```markdown\n---\nmodel: claude-sonnet-4-20250514\ndeterministic:\n  script:\n    path: ./scripts/ship.sh\n    args:\n      - --fast\n  handoff: always\n  timeout: 15000\n  cwd: ~/src/my-repo\n---\nSummarize the script result and call out anything risky.\n```\n\n**Structured command form** — when you need explicit args instead of a single shell string, use `deterministic.run.command` with `args`:\n\n```markdown\n---\nmodel: claude-sonnet-4-20250514\ndeterministic:\n  run:\n    command: git\n    args: [status, --short]\n  handoff: always\n---\nInterpret the repo state.\n```\n\nDo not mix top-level shorthand with nested `deterministic:` in the same prompt. Pick one style.\n\n### Model requirement\n\nDeterministic prompts that hand off to the model (`handoff: always`, `on-success`, or `on-failure`) need a model to continue into. You can either:\n\n- Add a `model:` field explicitly\n- Omit `model:` and let the prompt inherit whatever model is currently active\n\n`handoff: never` prompts do not need a model field because they never reach the LLM.\n\n### Handoff values\n\n- `always` — always continue into the LLM after the deterministic card is emitted.\n- `never` — stop after the deterministic card and completion marker.\n- `on-success` — continue only when the command exits `0`.\n- `on-failure` — continue only when the command exits non-zero.\n\nCommand descriptions in the slash-command picker show this feature as `deterministic-step:<handoff>`.\n\n### Timeout\n\n`timeout` is in milliseconds. When a timeout fires, the runner sends `SIGTERM` first. If the process still has not exited after a short grace window, it escalates to `SIGKILL`.\n\n### Script path resolution\n\nRelative script paths resolve from the prompt file's directory first, then fall back to the command invocation `cwd`. Absolute script paths also work.\n\n### Environment and non-interactive mode\n\nYou can provide explicit environment variables and control the runner's non-interactive guardrails:\n\n```markdown\n---\ndeterministic:\n  run: ./deploy.sh\n  handoff: never\n  nonInteractive: false\n  env:\n    SPECIAL_TOKEN: abc123\n    RETRIES: 2\n---\n```\n\n`nonInteractive` defaults to `true`. In that mode the runner keeps stdin ignored and adds a few guardrail environment defaults such as `CI=1`, `GIT_TERMINAL_PROMPT=0`, `PAGER=cat`, and `GIT_PAGER=cat`. Set `nonInteractive: false` when the command needs a more normal process environment and you explicitly want to opt out of those defaults. Explicit `env` values override the built-in defaults.\n\n### Output capping\n\nLarge stdout/stderr streams are capped before they are stored in the conversation card payload. The card and the LLM handoff block both show the total character and line counts plus explicit truncation metadata when output was capped.\n\n## Loop Execution\n\nRun a template multiple times with `--loop`:\n\n```\n/deslop --loop 5\n/deslop --loop=5\n/deslop --loop          # unlimited — runs until convergence or cap (999)\n```\n\nYou can also set a default in frontmatter. CLI `--loop` always overrides:\n\n```markdown\n---\nloop: 5\n---\n```\n\nUse `loop: unlimited` (or `loop: true`) for open-ended loops that run until convergence, user interrupt, or the safety cap of 999 iterations:\n\n```markdown\n---\nloop: unlimited\nconverge: false\nfresh: true\nsubagent: true\n---\n```\n\n### How looping works\n\nEach iteration runs the same prompt. By default, context accumulates — iteration 3 sees the full conversation from iterations 1 and 2 and builds on that work.\n\n**Convergence**: If an iteration makes no file changes (no `write` or `edit` tool calls), the loop stops early. This is on by default. Use `--no-converge` or `converge: false` to always run every iteration.\n\n**Fresh context**: Add `--fresh` (or `fresh: true` in frontmatter) to collapse the conversation between iterations. Each iteration gets a clean slate with only brief summaries of what previous iterations did. Good for long loops where accumulated context would blow up the token count.\n\n**Status**: The TUI status bar shows `loop 2/5` during execution.\n\nModel, thinking level, and skill are maintained throughout. If `restore: true` (the default), everything is restored after the final iteration.\n\n## Model Rotation\n\n`rotate: true` turns a comma-separated `model` list from a fallback chain into a cycling list. Each loop iteration uses the next model in the list, wrapping around:\n\n```markdown\n---\nmodel: claude-opus-4-6, gpt-5.4, gpt-5.3-codex\nthinking: high, max, off\nloop: 9\nrotate: true\nfresh: true\n---\nReview and fix issues in this codebase.\n```\n\nIteration 1 runs Opus + `high`, iteration 2 runs GPT-5.4 + `max`, iteration 3 runs Codex + `off`, then wraps back to Opus. The status bar shows which model is active: `loop 2/9 · gpt-5.4 max`.\n\nThis is especially useful for [ralph-style loops](https://ghuntley.com/ralph/) where different models catch different things. The `subagent` examples below require [pi-subagents](https://github.com/nicobailon/pi-subagents/). A single-model ralph loop that delegates with fresh context each iteration:\n\n```markdown\n---\nmodel: claude-sonnet-4-20250514\nsubagent: true\ninheritContext: true\nloop: 5\nfresh: true\n---\nSimplify this code: $@\n```\n\nAdd `rotate` and multiple models to cycle different perspectives on each pass:\n\n```markdown\n---\nmodel: claude-opus-4-6, gpt-5.4, gpt-5.3-codex\nthinking: max, high, high\nloop: 9\nrotate: true\nfresh: true\nsubagent: true\n---\nReview and fix issues in this codebase.\n```\n\nEach iteration gets fresh context, a different model, and its own thinking level. Convergence stops the loop when an iteration makes no file changes — use `converge: false` to guarantee every model gets at least one shot.\n\n`thinking` pairing with `rotate: true`:\n\n- Single value (`thinking: high`) — applied to every model.\n- Comma-separated (`thinking: high, max, off`) — positional, must match the number of models.\n- Omitted — each iteration inherits the session default.\n\nWithout `loop`, `rotate` has no effect and comma-separated `model` keeps normal fallback behavior.\n\n## Chaining Templates\n\n`/chain-prompts` runs multiple templates in sequence. Each step uses its own model, skill, and thinking level, while conversation context flows between them:\n\n```\n/chain-prompts analyze-code -> fix-plan -> summarize -- src/main.ts\n```\n\nThis runs `analyze-code`, then `fix-plan` (which sees the analysis), then `summarize`. The ` -- ` separator marks shared args — everything after it is passed to each step as `$@`, unless a step has its own inline args:\n\n```\n/chain-prompts analyze-code \"error handling\" -> fix-plan -> summarize -- src/main.ts\n```\n\nStep 1 gets `\"error handling\"` as its args. Steps 2 and 3 fall back to the shared `\"src/main.ts\"`.\n\nThe chain captures your model and thinking level before starting and restores them when finished (or if any step fails).\n\n### Chain Templates\n\nFor reusable pipelines, put the chain in frontmatter:\n\n```markdown\n---\ndescription: Review then clean up\nchain: double-check --loop 2 -> deslop --loop 2\n---\n```\n\nThis registers the file's name as a command that runs `double-check` twice, then `deslop` twice. Per-step `--loop N` repeats that step before moving to the next, with per-step convergence (stops early if no changes, unless the step's template has `converge: false`).\n\nChain declarations also support parallel groups with `parallel(...)`:\n\n```markdown\n---\nchain: parallel(scan-frontend, scan-backend) -> consolidate\n---\n```\n\nEach entry inside `parallel(...)` runs as a delegated subagent task concurrently. Parallel entries can include per-step args (for example `parallel(scan-frontend, scan-backend \"auth\")`), but per-step `--loop` is not supported inside parallel groups. Nested `parallel(...)` is rejected. Parallel entries must be delegated templates (`subagent: ...` or runtime `--subagent` override). All entries in the same parallel group must resolve to the same `inheritContext` mode. Mixed `cwd` values are allowed normally, but when `worktree: true` is enabled they must all resolve to the same `cwd`.\n\nAdd `worktree: true` (or `--worktree` at runtime) so each parallel subagent runs in its own git worktree, avoiding file conflicts when agents edit concurrently:\n\n```markdown\n---\nchain: parallel(scan-frontend, scan-backend) -> consolidate\nworktree: true\n---\n```\n\n`worktree` requires a chain with at least one `parallel()` step. The flag is passed to pi-subagents, which handles worktree creation and cleanup.\n\nSteps with a `model` field use their own model. Steps without one inherit a snapshot of whatever model was active when the chain started — not the previous step's model. This keeps behavior deterministic regardless of what earlier steps do.\n\nChain templates support `loop`, `fresh`, `converge`, `restore`, `worktree`, and `cwd` in their frontmatter for controlling the overall execution:\n\n```markdown\n---\nchain: analyze -> fix\nloop: 3\nfresh: true\nconverge: false\n---\n```\n\nThis runs the full analyze → fix chain 3 times, with fresh context between iterations and no early stopping. Chain nesting is not supported — steps can't reference other chain templates.\n\nWhen a chain template sets `cwd`, it becomes the default delegated subprocess working directory for all delegated steps in that chain. Runtime `--cwd=<path>` overrides the chain template value.\n\n### Chain context for delegated steps\n\nDelegated chain steps start fresh — they don't see what earlier steps did. Chain context prepends a compact summary of previous steps to each delegated task so later steps can build on earlier work.\n\nEnable it chain-wide with `chainContext: summary` in frontmatter or `--chain-context` on the CLI:\n\n```markdown\n---\nchain: analyze -> fix\nchainContext: summary\n---\n```\n\n```\n/chain-prompts analyze -> fix --chain-context\n```\n\nTo enable it for a single step, attach `--with-context` to that step name:\n\n```\n/chain-prompts analyze -> reviewer --with-context -> summarize\n```\n\nHere only `reviewer` receives the summary of `analyze`. The `summarize` step does not.\n\nSteps using `inheritContext: true` already fork the full parent conversation and skip the summary preamble. `--with-context` is not supported inside `parallel(...)` groups. When a chain uses `loop`, summaries reset each iteration.\n\n### Parallel and looping from the CLI\n\nParallel groups work in `/chain-prompts` too:\n\n```\n/chain-prompts parallel(scan-fe, scan-be) -> review\n/chain-prompts parallel(scan-fe, scan-be) -> review --worktree\n```\n\nLooping applies to the entire chain:\n\n```\n/chain-prompts analyze -> fix --loop 3\n/chain-prompts analyze -> fix --loop 3 --fresh\n/chain-prompts analyze -> fix --loop 3 --no-converge\n/chain-prompts analyze -> fix --loop\n```\n\nConvergence applies across all steps in each iteration — if no step made file changes, the loop stops. Templates are re-read from disk between iterations, so edits take effect live.\n\n## Prompt Invocation Events\n\nExternal orchestrators can request prompt execution through the prompt invocation event channel. An accepted request emits one `prompt-template:prompt:started` event and one terminal `prompt-template:prompt:finished` event for the acknowledged `runId`.\n\nThe event channel fails closed for prompt types that cannot guarantee bounded completion. Deterministic prompts must set `timeout` to be accepted through events. Delegated prompts, runtime `--subagent` or `--fork` invocations, and compare lineups are refused through events for now with `accepted: false` and `reason: \"unsupported-context\"`. Interactive slash commands keep the existing behavior.\n\n## Agent Tool\n\nThe agent can invoke prompt templates itself via a `run-prompt` tool. It's off by default:\n\n```\n/prompt-tool on\n```\n\nOnce enabled, the agent sees `run-prompt` in its tool list:\n\n```\nrun-prompt({ command: \"deslop --loop 5 --fresh\" })\nrun-prompt({ command: \"chain-prompts analyze -> fix --chain-context\" })\nrun-prompt({ command: \"chain-prompts analyze -> fix --loop 3\" })\nrun-prompt({ command: \"deslop --subagent\" })\n```\n\nThe tool queues the command for execution after the agent's current turn ends. All loop, chain, and convergence features work the same as slash commands.\n\nYou can add guidance to steer when the agent reaches for it:\n\n```\n/prompt-tool on Use run-prompt for iterative code improvement tasks\n/prompt-tool guidance Use sparingly, only for multi-pass refinement\n/prompt-tool guidance clear\n/prompt-tool off\n/prompt-tool                   # show current status\n```\n\nConfig persists across sessions in `~/.pi/agent/prompt-template-model.json`.\n\n## Autocomplete\n\nCommands show their configuration in the autocomplete description:\n\n```\n/debug-python    Debug Python session [sonnet +tmux] (user)\n/deep-analysis   Deep code analysis [sonnet high] (user)\n/save-progress   Save progress doc [haiku|sonnet] (user)\n/component       Create React component [sonnet] (user:frontend)\n```\n\n## Subdirectories\n\nOrganize prompts in subdirectories for namespacing:\n\n```\n~/.pi/agent/prompts/\n├── quick.md                    → /quick (user)\n├── debug-python.md             → /debug-python (user)\n└── frontend/\n    ├── component.md            → /component (user:frontend)\n    └── hook.md                 → /hook (user:frontend)\n```\n\nThe subdirectory shows as the source label in autocomplete. Command names are based on filename only. Duplicates within the same source layer are skipped with a warning, as are reserved names like `model`, `reload`, and `chain-prompts`.\n\n## Print Mode\n\nThese commands work in `pi -p` too:\n\n```bash\npi -p \"/debug-python my code crashes on line 42\"\n```\n\nThe model switches, skill is injected, the agent responds, and output goes to stdout. Useful for scripting or piping.\n\n## Examples\n\n**Thinking levels** — max thinking for thorny analysis:\n\n```markdown\n---\ndescription: Deep code analysis with extended thinking\nmodel: claude-sonnet-4-20250514\nthinking: max\n---\nAnalyze this code thoroughly, considering edge cases and potential issues: $@\n```\n\n**Sticky mode switch** — switch models for the rest of the session:\n\n```markdown\n---\ndescription: Switch to Haiku for this session\nmodel: claude-haiku-4-5\nrestore: false\n---\nSwitched to Haiku. How can I help?\n```\n\n**Cross-provider fallback** — try the same model on different providers:\n\n```markdown\n---\ndescription: Quick analysis\nmodel: anthropic/claude-haiku-4-5, openrouter/claude-haiku-4-5\n---\n$@\n```\n\n## Limitations\n\n- Prompt files are reloaded on session start and whenever an extension-owned command runs. If you add a new prompt file mid-session, run any extension command (like `/chain-prompts`), start a new session, or reload pi to pick it up.\n- Model restore state is in-memory. Closing pi mid-response loses it.\n- In chains, model-less steps inherit the chain-start model snapshot, not the previous step's model. This is intentional for deterministic behavior.\n- Delegated `subagent` prompts require [pi-subagents](https://github.com/nicobailon/pi-subagents/).\n- `run-prompt` must be explicitly enabled with `/prompt-tool on`.\n","readmeFilename":"README.md"}