{"_id":"@d3ara1n/pi-scout","_rev":"18-cd8b5bdc50d35c110537e6091d232cb2","name":"@d3ara1n/pi-scout","dist-tags":{"latest":"2.0.1"},"versions":{"0.1.0":{"name":"@d3ara1n/pi-scout","version":"0.1.0","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@0.1.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f96b2d90cd9d333c7eba365816cb7c418d0d324a","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-0.1.0.tgz","fileCount":9,"integrity":"sha512-J1+VqwmgXkrApqLb4WVHtGvpTZOVxEvXyP20QyggRUkIoUIyZdqVmmHrR6RXTJpOQMugbxn6BQ1XxySfZclBRQ==","signatures":[{"sig":"MEUCIEniOEYGxzgNjal4ShcPy+gpL1Wrv47LJY6MNoHl63GjAiEAvUjAcx1vhN4a2oXnEYtStgZbzffSQLnKdbkm7aBNUe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24242},"main":"src/index.ts","gitHead":"8d020013c64d746aa7bc56ba1348050e921a8c1f","_npmUser":{"name":"d3ara1n","email":"d3ara1n@outlook.com"},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_0.1.0_1780647005098_0.7241900740057863","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@d3ara1n/pi-scout","version":"0.1.1","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@0.1.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7336124f18dbdc15eeaaea086e3782d3decc3453","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-0.1.1.tgz","fileCount":9,"integrity":"sha512-DdhduVnHahEq+A2xNquhGPrSIvg53W11Vs0XhNLIZnch/HCaB+laaNfNpanXy7QeUh3sg5HrSNFkDSnnecgqWA==","signatures":[{"sig":"MEQCIBQ927hIqm0kOr/3JV92FnoygRaAahUypvCfIdIROsvQAiAlIscZ1DpmKzpFjHL9RfVRfwpIAJLjB4kctHDBQj436A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24677},"main":"src/index.ts","gitHead":"23d9adb364ae7691c6a89198e58c809a6d0f3659","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.13.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_0.1.1_1780743981294_0.3163944281196973","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@d3ara1n/pi-scout","version":"1.0.0","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.0.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b25f7d17c76a64c54b80d3e664cd8cd25f9b7545","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.0.0.tgz","fileCount":9,"integrity":"sha512-mA6mcW+kRMDuV5tk7U3CDwB9nF5XYJ4qZjUhVREntTjjuH+Z9eBORXK/XLJfM8my05TRkequoK2tKcjD6NP6KA==","signatures":[{"sig":"MEQCIGtl8CE0FLdWBTV6b36o14DwYpLcMKaW8N5mtb1RsU34AiBwR7hw3cfKKgOJJNFJMJL+p74eJ7Uem2vG4t88hDyIqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28130},"main":"src/index.ts","type":"module","gitHead":"ef3165cfb18110bb953f026702adfb91fa2485ae","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.13.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.0.0_1782228745579_0.7680892206474359","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@d3ara1n/pi-scout","version":"1.0.1","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.0.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3a2e78e9c06ed2f1e0c6903a3692dfb585fd6ffa","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.0.1.tgz","fileCount":9,"integrity":"sha512-CgXcd1cgQLUj6BKEwvuJLwn0tyLuz6Jt/CjEuN9iKcWjJMRro/1PTWuUBibqyMhWcAyRhXEgyQwXaagCmDzG7Q==","signatures":[{"sig":"MEUCIEodiwzSSGpGrkTFwR21b0jzewp02u329rIGTOsYPt+3AiEAqkdalfH9Er3jg2I3DP1yEOooLzpq35d65rIDpTrhNPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28181},"main":"src/index.ts","type":"module","gitHead":"1faf90c23b691566c158310dfbb87921fc5039aa","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.13.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.0.1_1782283429613_0.6191381624387045","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@d3ara1n/pi-scout","version":"1.0.2","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.0.2","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"2025f88b96322247a20d31790b59c24ae7338135","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.0.2.tgz","fileCount":9,"integrity":"sha512-zfTwXnobR8tZGh8yDHp91+jrC2d9fhTI0F+f7VVHwkqzgnI2dApMASK81aRXgTl1qHOUC/9dZqbkZQBZxjyUrg==","signatures":[{"sig":"MEUCIQCR/MhUv7NADIQtelcqLzf5syK0xrBhI5WHlBOWbXpoXgIgaLOALbhGfGYu6HnlQ2MKP7kj3m/NrrrB+KXyAOXizVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28094},"main":"src/index.ts","type":"module","gitHead":"68f165fc67a4c3653e61c920cb6155acace9ad5b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.13.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.0.2_1782449455085_0.6014876969014176","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@d3ara1n/pi-scout","version":"1.1.0","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.1.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a16da3b25d30e1de13d1c69b5e6f651ac31d689d","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.1.0.tgz","fileCount":11,"integrity":"sha512-LeJr36GTso7YszQdoPjAD0oPE+PKq68PSy0sEMTTS643ChNba9Rdsx4BWt2kZKCKQO4oK/It99zSN2KfUdbupg==","signatures":[{"sig":"MEQCIBZbc1T7tuFXpkko1ijACcFxX8orG1ieFpCaJnnJF3DGAiAnGq9NZoz+UDIeHfkX6PDn83rR0j5z4wA0o3hx91SyRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41894},"main":"src/index.ts","type":"module","gitHead":"d4e8781022ce20aa9d0f6b61202d2fbe44ad695e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.13.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.17.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.1.0_1782657379494_0.4142504570024099","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@d3ara1n/pi-scout","version":"1.1.1","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.1.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"03bc10aef530ae237bd36402d6e5cf2142700eb6","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.1.1.tgz","fileCount":11,"integrity":"sha512-rNCHOE6ALJGqJQfo+Jlc+2fOdWVU8OQ1lUbAOIPNTrJJipodwfvttHcDG3MUwP37QebPLz58my33yFh3CXKc9w==","signatures":[{"sig":"MEUCIQD3s3I+VQduTagqqsqtkz1sYKI05imOJzFDyVLxgmItXgIgZdSLkLnAYIc1df3BY2o/7OJrjY3wWcPhIZkUXmYsMeo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42805},"main":"src/index.ts","type":"module","gitHead":"e360252b3d1632bcb1d96049efa6cb56693f67af","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.1.1_1783334354717_0.8603573878904891","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@d3ara1n/pi-scout","version":"1.2.0","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.2.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9ceedbe5f5c5b627169f6f1403e2a5f3fc659664","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.2.0.tgz","fileCount":11,"integrity":"sha512-6Kb0uIN5zoJga0nWfRZLGpuu+iv8uNUEy9NMjwxCRFQSK7unlPnJIq7uxcA94b5ktWO9pR1Ck0KrLsOG74oKtg==","signatures":[{"sig":"MEQCIF4UUTYYtqOdcPekSyoKrzr8Du9RoFTV1q7rIfzZKIcbAiBzSFVFNo7usRCySkU8kOSgMeu2+cjCWc3aNbXqpBpZ9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43732},"main":"src/index.ts","type":"module","gitHead":"af9418abdde5715e9263e1fa30ec6a561178044f","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.2.0_1783354689271_0.3193701742484245","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@d3ara1n/pi-scout","version":"1.2.1","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.2.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1fbdcddb8ef7f3c602b7d7b7c67bbfcdfd2b38fe","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.2.1.tgz","fileCount":11,"integrity":"sha512-f5oopoO0y9QWmcj9TvkYkEe9k1v37oRM7aSzSEVxW6nQq90fMHsZfowOo0aLVpqM35DLfNzXdPZ4pnGHB9uAVg==","signatures":[{"sig":"MEUCIQDAL8570ivGXYaNsyHKhdfjiyudtUDeZz41rtQaeT3NgwIgJsOanf0bO7WPwSv97cseknWumpglDzvqtF6UqviVidQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44704},"main":"src/index.ts","type":"module","gitHead":"a3189ea408b6102b5ec843ae44ef1651f40ea45e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.2.1_1783652208926_0.5689996382254072","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@d3ara1n/pi-scout","version":"1.2.2","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.2.2","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"03a10b821c275eabf6fbcb41c2eb25af6641898e","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.2.2.tgz","fileCount":11,"integrity":"sha512-rpEPmu0Vv9PBYMrmMO9i8WDIr7CDgDd8+UPVIZOJ7tTFXcu/fcDev/C5D7MQW+tbBq8tFQGzMgtbdsJcjAhaHQ==","signatures":[{"sig":"MEQCIFSd74h71OADXrhtwAGPnRuVlDSSQ/7/XA5MCJC9MLGAAiBHRfTcyG5KtG6scMF3W99geXtfjplQiZx1oXHd5QvXJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44704},"main":"src/index.ts","type":"module","gitHead":"4529027fb4f50cc93cbdaf0178c2f54cb5270d08","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.2.2_1783661968692_0.1694137706633918","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@d3ara1n/pi-scout","version":"1.2.3","keywords":["pi-package","pi"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.2.3","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"585fbd0fd370a67175c1648d0ee714919d6a82ea","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.2.3.tgz","fileCount":11,"integrity":"sha512-yKHP1o0XY2vdj/+bkGFmHMC+RiSrSz0mr4VHUcmiTFU4xSs381DCGZ6YaZUJ+DWhijkXIs9mj9kAA7elGCbSCA==","signatures":[{"sig":"MEUCIB9UnBqngJ2ZUtOlsVPfR/JaSFd8xJCDLxMBXSJQK8qBAiEAl3SKRVBcwAR2rcKGrEbI3RjFSuO6tlaMXFNw88Y1EEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47215},"main":"src/index.ts","type":"module","gitHead":"2c0b0dcba2be264332235edd89ca9b1337f34833","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.1.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.2.3_1783708292893_0.17752873159696736","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@d3ara1n/pi-scout","version":"1.3.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.3.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6d420cd3b24f4c84f6ba803ce01322556621dbd3","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.3.0.tgz","fileCount":11,"integrity":"sha512-wN2jBpqFrmyh1zyDTWtvARk0tM0hyXNbwP0PxEUDG8HW7ZVAt8H1w5kJlAFPFpFcLij8ReB/I9OG3tI3LtD37w==","signatures":[{"sig":"MEYCIQDECrYWhqbsoYnLsDkUuG0OrMMYSUhW9+TuPiPS9a/3lgIhAIN+eKqorS2O8OLshghKRiaWpqeh3L4S974k3s8PHFhE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":47542},"main":"src/index.ts","type":"module","gitHead":"5b3fb0d07cb795ff627f123291fc4018a4e05582","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.6.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.3.0_1783716944369_0.39541737313720726","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@d3ara1n/pi-scout","version":"1.3.1","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.3.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"657deedfd57520f2340773c06108c6acca16d22a","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.3.1.tgz","fileCount":12,"integrity":"sha512-IWPdvrXeMS707GTC4BZ1uSgEC9/vmp+9SwqYJmXcXrx4b67dhzDV3eQn3TCRHSIVm2z1f6VJw2R8x2wVP7FFPg==","signatures":[{"sig":"MEQCIBNkObmo2v0UkVqT87DJ2dDVeEi8Td9YeDE8zAvlkMcSAiB7Hh7BUDdJg3JvXVEgO9BAi7TnhZCTb7ZpKVcaWs7+6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52023},"main":"src/index.ts","type":"module","gitHead":"490bd50534b1a83d6432c03ba3649fb844c2e226","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.3.1_1783873631972_0.08864021010765022","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@d3ara1n/pi-scout","version":"1.4.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.4.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c1a0d758cf446a02c7f64d1d0206810b36466260","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.4.0.tgz","fileCount":12,"integrity":"sha512-DpjhwQxWAmOk1ND0pWFy+9Zu3mBI9soTK3Ii8AUa+v88MxWvz+d1X6OcmxPTCaQRSFyTbXOkQ5PSegbKLSdR1A==","signatures":[{"sig":"MEUCIHr8tinDc9dSuJu0UBMGN+myFMuQASMCghJjf2g37+OwAiEAzEDFZ4Ul11jrRvO2osXoxBw/8py+G4dbuaPIWrfTMNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53385},"main":"src/index.ts","type":"module","gitHead":"fcbefe0a5094741c565894fa70becc9893dac01c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.16.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@d3ara1n/pi-model-roles":"^0.7.0"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.4.0_1783951612877_0.2924154687218439","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@d3ara1n/pi-scout","version":"1.4.1","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.4.1","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"37987dbfc238f9fb81963d736ee682840ec7c53c","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.4.1.tgz","fileCount":18,"integrity":"sha512-jHfdSAVh8WcCPcDlmhhPnncyS+97pYK54ryg0o65khQVA4S1eAWEqLs4O3tiUDgT1TY1iUKo5MU9IM0ienOeSw==","signatures":[{"sig":"MEUCIQDXLITkouRdZ4CpHEe8MJHFKF09b7aXMB+KOnhCAZbaBwIgOB1A5fQexKRtNY4ZOgKOU9qmPW9ro2PWB3uN6zOrXcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72376},"main":"src/index.ts","type":"module","gitHead":"b9a340a2d1e4ca012ef99df980e60253c6aa258c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.17.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@d3ara1n/pi-model-roles":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.4.1_1786705928808_0.43500053594986854","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@d3ara1n/pi-scout","version":"1.5.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@1.5.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"da0caab531d972cb5f14783a07444323b4a63ea6","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-1.5.0.tgz","fileCount":19,"integrity":"sha512-1BePiNWXU8ecG3PPubt4SsUC+Xsq3bOG3goWwtCkdudu7+Ucnk5cIaw0Vy2ezNfHdbu/BPzVQfOtO6fkFgBLeg==","signatures":[{"sig":"MEUCIQDW+3jMNXm/MVfSKhtlJIaAi5qWT3g6EHFZ8T0a1aDk+QIgeQLEH7luBOLk3t7irv3uRhwA0dwUHoscmkrUvF4b/4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77720},"main":"src/index.ts","type":"module","gitHead":"9fc862edf6cdcce154999e3ac5c1e1a086afc9de","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.17.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@d3ara1n/pi-model-roles":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_1.5.0_1787726497091_0.4608006976759136","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@d3ara1n/pi-scout","version":"2.0.0","keywords":["pi-package","pi","pi-extension"],"license":"MIT","_id":"@d3ara1n/pi-scout@2.0.0","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-scout#readme","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5f54afcff5c055c65dd00c5e8fbdf0a62ef33294","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-2.0.0.tgz","fileCount":19,"integrity":"sha512-AC1VC2zEhBp1hjTYyslhszpIC4frNgGFcrqIIfi2r4RzEV4SBU3pkn/r3zanbCM4pa1c66Lzs8H5L1IyMG8TzQ==","signatures":[{"sig":"MEYCIQD4zYBWTXMNEjs+XWn+p/8bOm68L9l1iY3BDUqesWtSSQIhANrnUibWvOo6xD+Ozdjd3U9FnJPU3DR3hG7+HNS8Bhot","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCoZeHuqiy3nnrmMfMLlkq3tC98F3VMAzOSzJerGLUIkgIgNAFIVjwbSozeI/15VN1P9jQ40Hf9/C8fdQxKnYChSUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86094},"main":"src/index.ts","type":"module","gitHead":"d404222ec9db3c31797f433f3956e6d7c2183246","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.19.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@d3ara1n/pi-model-roles":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":">=0.86.0"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-scout_2.0.0_1789871142845_0.6650348000258457","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"pi":{"extensions":["./src/index.ts"]},"_id":"@d3ara1n/pi-scout@2.0.1","bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"dist":{"shasum":"7e3b4ac8207e8cc3bdbd009e7a7c24872795c161","tarball":"https://registry.npmjs.org/@d3ara1n/pi-scout/-/pi-scout-2.0.1.tgz","fileCount":19,"integrity":"sha512-26doHJbC8jLBFd3HSPcgZCgI3eXVZZOYHRBtcF8QY3+E4GUNwFWDfPv6r3qRW9iQevkX97KKoOMoLc/cP8nKFg==","signatures":[{"sig":"MEQCIHFVhWZ3g8bUZY1vLSOZFHHOn/54YEx5cYmmYqblOsjqAiAvit/gTxiAsS+gDAnSOGHfS3t4kp5g/dBtlgxAx+ohqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEStFE62dTMMgSLLHVOUv5oXKjiutG84ejNuuDXChQtNAiAYDbiQTYg2cuxzJnrAUDUBZI6NMoSDiPP4IbKGfxuJzQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@d3ara1n%2fpi-scout@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86108},"main":"src/index.ts","name":"@d3ara1n/pi-scout","type":"module","gitHead":"8e4cc5d842c1285f318cc6bd67194b45a2b5e3b7","license":"MIT","version":"2.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48f098ea-88e2-4183-b2fa-c0f6bbbfa998"}},"homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-scout#readme","keywords":["pi-package","pi","pi-extension"],"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"_npmVersion":"11.19.0","description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","directories":{},"maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"_nodeVersion":"24.20.0","dependencies":{"@d3ara1n/pi-model-roles":"*"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@d3ara1n/pi-model-roles":"*","@earendil-works/pi-coding-agent":">=0.86.0"},"peerDependenciesMeta":{"@earendil-works/pi-ai":{"optional":true},"@d3ara1n/pi-model-roles":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-scout_2.0.1_1789971720337_0.4382138145903254"}}},"time":{"created":"2026-06-05T08:10:04.905Z","modified":"2026-09-21T06:22:00.741Z","0.1.0":"2026-06-05T08:10:05.236Z","0.1.1":"2026-06-06T11:06:21.429Z","1.0.0":"2026-06-23T15:32:25.728Z","1.0.1":"2026-06-24T06:43:49.750Z","1.0.2":"2026-06-26T04:50:55.244Z","1.1.0":"2026-06-28T14:36:19.642Z","1.1.1":"2026-07-06T10:39:14.851Z","1.2.0":"2026-07-06T16:18:09.434Z","1.2.1":"2026-07-10T02:56:49.073Z","1.2.2":"2026-07-10T05:39:28.842Z","1.2.3":"2026-07-10T18:31:33.033Z","1.3.0":"2026-07-10T20:55:44.506Z","1.3.1":"2026-07-12T16:27:12.117Z","1.4.0":"2026-07-13T14:06:53.027Z","1.4.1":"2026-08-14T11:12:08.968Z","1.5.0":"2026-08-26T06:41:37.230Z","2.0.0":"2026-09-20T02:25:42.937Z","2.0.1":"2026-09-21T06:22:00.418Z"},"bugs":{"url":"https://github.com/d3ara1n/pi-extensions/issues"},"license":"MIT","homepage":"https://github.com/d3ara1n/pi-extensions/tree/main/packages/pi-scout#readme","keywords":["pi-package","pi","pi-extension"],"repository":{"url":"git+https://github.com/d3ara1n/pi-extensions.git","type":"git","directory":"packages/pi-scout"},"description":"Per-turn side agent decision framework for pi — uses a cheap model to select skills and route models before each conversation turn","maintainers":[{"name":"d3ara1n","email":"d3ara1n@outlook.com"}],"readme":"# @d3ara1n/pi-scout\n\n[![npm version](https://img.shields.io/npm/v/@d3ara1n/pi-scout)](https://www.npmjs.com/package/@d3ara1n/pi-scout) [![npm downloads](https://img.shields.io/npm/dm/@d3ara1n/pi-scout)](https://www.npmjs.com/package/@d3ara1n/pi-scout) [![license](https://img.shields.io/npm/l/@d3ara1n/pi-scout)](https://www.npmjs.com/package/@d3ara1n/pi-scout)\n\nEvery skill you install in pi gets advertised in the system prompt on every turn — the relevant ones and the irrelevant ones alike. As your skill collection grows, that list bloats the prompt, dilutes the main model's attention, and eats context.\n\nScout runs a cheap side model **before each turn** to look at what you just asked and decide what the main model actually needs this turn: which skills are relevant, whether the task calls for a heavier or lighter model. The main model then starts with a focused prompt instead of the full skill dump.\n\nRequires pi 0.86.0 or newer.\n\n## What scout does\n\nThree independent modules — toggle each one separately.\n\n**Skill router** (on by default) — The side model picks the skills relevant to your prompt. Scout removes pi's full skill list from the system prompt and injects just the selected skills as a per-turn message instead. Your main model sees a short, focused prompt: less context noise, lower cost.\n\n**Model router** (off by default) — Shifts the active model based on task complexity: a heavy model for a refactor, a fast one for a quick question. Off by default because it changes your model persistently — see [Why model-router is off by default](#why-model-router-is-off-by-default).\n\n**Short-circuit** (on by default) — Skips the side model entirely on a trivial acknowledgment (`好的` / `ok` / `はい` / `네`). A bare \"ok\" never needs skill selection or a model switch, so paying the side-model round-trip is pure waste. The main model just replies.\n\n## What you'll see\n\nAfter you send a message, watch the status bar while scout runs:\n\n- `◎ scout analyzing via deepseek/…` — the side model is reading your prompt (adds roughly 0.5–2s)\n- `✓ scout: 3 skills` — the decision scout applied this turn (a `+ role` suffix appears when model-router recommends a switch)\n- `✓ scout: (skipped) trivial ack` — short-circuit fired; the main model replies with no scout wait\n\nIf the side model's reply is malformed or times out, scout drops the decision and the main turn continues normally — scout never blocks your work.\n\n## Dependencies\n\n- [`@d3ara1n/pi-model-roles`](../pi-model-roles) — model role resolution. Must be loaded alongside scout.\n\n## Installation\n\n```bash\npi install npm:@d3ara1n/pi-model-roles\npi install npm:@d3ara1n/pi-scout\n```\n\nOr add to `~/.pi/agent/settings.json`:\n\n```jsonc\n{\n  \"extensions\": [\n    \"/absolute/path/to/pi-extensions/packages/pi-model-roles\",\n    \"/absolute/path/to/pi-extensions/packages/pi-scout\"\n  ]\n}\n```\n\n## Configuration\n\nEdit `~/.pi/agent/settings.json`:\n\n```jsonc\n{\n  \"scout\": {\n    \"enabled\": true,\n    \"sideAgentRole\": \"fast\",\n    \"maxSelectedSkills\": 5,\n    \"modules\": {\n      \"skillRouter\": true,\n      \"modelRouter\": false,\n      \"shortCircuit\": true\n    },\n    \"shortCircuit\": {\n      \"trivialAck\": true,\n      \"maxAckLength\": 12,\n      \"ackPhrases\": [\"收到啦\", \"will do\"]\n    }\n  }\n}\n```\n\n| Field | Default | Description |\n|-------|---------|-------------|\n| `enabled` | `true` | Global on/off |\n| `sideAgentRole` | `\"utility\"` | pi-model-roles role for the side agent |\n| `maxSelectedSkills` | `5` | Max skills the side agent can select; `0` means unlimited. Negative values are normalized to `0` |\n| `modules.skillRouter` | `true` | Enable/disable skill routing |\n| `modules.modelRouter` | `false` | Enable/disable model routing — see [Why model-router is off by default](#why-model-router-is-off-by-default) |\n| `modules.shortCircuit` | `true` | Enable/disable the short-circuit layer |\n| `shortCircuit.trivialAck` | `true` | Enable the trivial-acknowledgment rule |\n| `shortCircuit.maxAckLength` | `12` | Max prompt length (chars) for the trivial-ack rule |\n| `shortCircuit.ackPhrases` | `[]` | Extra ack phrases merged on top of the built-in 中/英/日/韓 table |\n\n## Commands and tools\n\n| Command | Description |\n|---------|-------------|\n| `/scout` | Show scout status and last decision |\n| `/scout:skill-router on/off` | Toggle skill-router module |\n| `/scout:model-router on/off` | Toggle model-router module |\n| `/scout:short-circuit on/off` | Toggle short-circuit module |\n\n- `list_skills` — tool that lists every installed skill with name and description, including ones not selected for the current turn\n\n---\n\n## How it works\n\n```\nYou send a prompt\n      │\n      ▼\nTrivial ack? (好的 / ok / はい) ── yes ──► skip scout, main model replies at once\n      │ no\n      ▼\nSide model reads: your prompt + installed skills + current model\n      │\n      ▼\nPicks relevant skills · (optionally) recommends a different model\n      │\n      ▼\nMain model runs — with only the selected skills, on the chosen model\n```\n\nA trivial acknowledgment is a short prompt that is *entirely* an ack — matched against a built-in 中/英/日/韓 phrase table. Long prompts are never treated as acks even if they begin with an ack word, so `好的，那我们重构整个模块` always reaches the side model.\n\n### Prompt cache design\n\nLLM prompt caches match on an exact request prefix. Replacing the entire system prompt can invalidate the cached conversation prefix; pi 0.86.0 can instead record section changes in the transcript on supported models. Scout uses that mechanism:\n\n- **The default skills section is omitted structurally.** While skill-router is enabled, scout clears the per-turn skill list used to build that section. Pi records the change as a section update instead of replacing the entire system prompt. Other prompt sections keep their cached prefix on models that support mid-conversation system messages.\n- **Selected skills ride in messages, not the system prompt.** Each turn's selection is appended after the user prompt as a custom message. These additions leave earlier conversation content unchanged.\n- **Descriptions appear once.** A skill's description is injected the first time it is selected; later selections reference it with a one-line entry, since the description already sits in cached history. After a compaction (which summarizes that history away) scout re-describes on the next injection.\n- **Model switches remain the one cache cost.** Prompt caches are per-model, so a model-router switch re-warms the target model's cache — one reason model-router is off by default.\n\n## Limitations\n\nScout only runs when you send a prompt to an idle agent. Messages typed while the agent is already working — mid-run steering and queued follow-ups — are not scouted: they run with the skills and model already chosen for that run. If you steer into something unrelated to the current task, the new skills won't be picked until your next prompt from idle.\n\n## Why model-router is off by default\n\nUnlike the other two modules, model-router makes a **persistent** change: it switches pi's active model — the same kind of state change as selecting one manually — and subsequent turns stay on the routed model until something else changes it.\n\nFrequent switching has a real cost: each model keeps its own prompt cache, so every switch re-uploads the system prompt and tool list and pays a fresh cache write. Across a session of back-and-forth switching that adds up in extra tokens and latency on the turn after each switch.\n\nThe other two modules are per-turn and cheap to undo, so they're on by default. Model-router is off unless you specifically want automatic model shifting and are willing to absorb the cache churn. Enable it per-session with `/scout:model-router on`, or persistently in settings:\n\n```jsonc\n{\n  \"scout\": {\n    \"modules\": { \"modelRouter\": true }\n  }\n}\n```\n\n## Performance\n\nThe side model adds roughly 0.5–2s to each turn it runs on (i.e. every non-short-circuited turn). That's the trade for a shorter, more focused main-model prompt. Short-circuit removes it entirely on trivial acks. The side model is asked for compact output; if its reply is malformed or oversized, scout discards the decision and the main turn proceeds unchanged — scout degrades gracefully and never blocks.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}