{"_id":"bs-agent","_rev":"27-1155523081f179e9f7a9e8cabe87269d","name":"bs-agent","dist-tags":{"latest":"0.0.30"},"versions":{"0.0.1":{"name":"bs-agent","version":"0.0.1","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.1","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"ee0189570ee315a64b01e736894fe0c0ca259c12","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.1.tgz","fileCount":9,"integrity":"sha512-F7bbo88KZkMwMabihue7qv/0R+ft9O9jNpI1Yp+ajtgTlPssBh7y4VCSjR5oci7Uh25CoNyckoxiQziQ6pfZUg==","signatures":[{"sig":"MEUCIQC43TX8VB+RBdGjjSu5ZV0Uis+Rdbo/DIS5GVF9SwSYIgIgQNlQcDSM3Tyvk0BF9zfXtNqzxUQAERicdRsOM88RKLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200427},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"61f6f1a4493c35de87fc09d0a24e3b6e4c8eaf8f","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.1_1767109997739_0.5569614960876772","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"bs-agent","version":"0.0.2","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.2","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"e261f62d13465507373850de8fcca6d81623d360","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.2.tgz","fileCount":8,"integrity":"sha512-JhnSi1Ckr6hNKmdWMfagn4E7DSuXxHNmHRbyjaLlFtJjRrBpMQjku+UnnVDs0ACvdeS0ChdH6VGDRxyZK4Tvvw==","signatures":[{"sig":"MEUCIQCoKmk4q51zDVGEKIzzTrfi9QCm77a84mh3foTy6Z94zwIgbtZyOH0kaYLfRNaTWA37sEftaSecjnof6KdTWhT7vuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199375},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c71b679a476adb983a6a7b0b9ece477bed3e68a7","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.2_1767116153436_0.7674156708109996","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"bs-agent","version":"0.0.3","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.3","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"305ca9f73eeabcd8b56da883fa5c4b80fb6c19cf","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.3.tgz","fileCount":8,"integrity":"sha512-yPwalUqdR0nPrZJDoLUhC5gtoyImUEbpVF+ck/oHAIWxpsqG72AwS4BSvFgtHT2DF59Ph1Q74zm6IPDmA5ma1A==","signatures":[{"sig":"MEUCIFLb1xT0h5h74uhm1+9XJ4rpGsgGBYga9JOk3JyiYKaWAiEArvfRG+yDktBES/wWcF4Ck+Y6SLc0bPF0H0oxtTPZt7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199496},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c71b679a476adb983a6a7b0b9ece477bed3e68a7","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.3_1767116322738_0.693453315524097","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"bs-agent","version":"0.0.4","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.4","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"0fdbb6d08fe2ac7e4eb1d9cc4cab871b83c3835f","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.4.tgz","fileCount":8,"integrity":"sha512-yHVxBNGS7Kexs6hy/YHlr0dG5GILBWTZwDivgLDbXCPmdhjziJY3sPM4Pj3norbzwK/7PqM5T3y1vl/ITWHk+g==","signatures":[{"sig":"MEUCIHgvVq6OFIko3GmkOdENDmMB8z/uZ6rrM0MjCQ677N/BAiEA3zwesR8G54vtkhQym6jfYp/+FmvoF2Hjxxz/gkrZ668=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199484},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9da95b3fb2409c3e06dab8707a71aa87204b8d79","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.4_1767116417018_0.5276410599496866","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"bs-agent","version":"0.0.5","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.5","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"b15998e1d891043c438b2058bb18b350faeee9d7","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.5.tgz","fileCount":8,"integrity":"sha512-D3T3umwz1Oh/+gPEvd2N2NGkMbAx7gPuPKwKtOOGSpGqvHWXF1QGgH7x+nIOJZenNgYdjypIQxlOPIKtxde1lQ==","signatures":[{"sig":"MEQCIEoJZZ5hApoUl7BSI093barJSHwF34sGm/V1Ogm6B2t6AiA7M61OcPGQljKVv52a/F83eu9cFAZZKaZaMRgzDZULmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199716},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3704e0fe2c09cb3b135eff024ec734c25ee5084","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.5_1767118419473_0.3076519772596069","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"bs-agent","version":"0.0.6","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.6","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"fcf4cb4e53a7b43685ca59c1d7a74e18258cb887","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.6.tgz","fileCount":8,"integrity":"sha512-z8nZEcmpplVNLhE6bYv17l73P5Dk0S7MDRybE7Cu+3KYUjVJRST0kUhJbHOeY/b+mdUEK50Ifz07hZ58oJyCcg==","signatures":[{"sig":"MEUCIGZmVwn2ILDwc7pUQTQAapqMutHDVVnzjjztwPdHKa/MAiEA7JE2Tpn0B50BvJtGY9OIwG/3xv/KoFy3S0BDZJVMBOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200038},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3704e0fe2c09cb3b135eff024ec734c25ee5084","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.6_1767118767827_0.21381832180309734","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"bs-agent","version":"0.0.7","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.7","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"349d34f9c9c4f513fb6fc088b7811360b0014f01","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.7.tgz","fileCount":8,"integrity":"sha512-Qt+s8kqZi3tXYe6KJeTqHeskdSTHJ70qtEINlwCDxTZBADtSL3ytxSMUzpJnoECzL47q0FOlo5W6QmzdfrJYHg==","signatures":[{"sig":"MEQCIBirBttHdqyi71mFTH5eTD22M3irggHSI4yYwsrlGefUAiAE+zBga5dGzJU8G8twwhsH5zeUe21sAFIJsGlRk9trWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200760},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3704e0fe2c09cb3b135eff024ec734c25ee5084","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.7_1767119191750_0.3838983552659756","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"bs-agent","version":"0.0.8","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.8","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"82bc2559dfcba71a5a8b79368e4c69264d26e7d9","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.8.tgz","fileCount":8,"integrity":"sha512-R7yTYmJ3xTrMtHFn2lrrEzougsY05TFlqZozXA37VTp80+r/ezCT9kUbbsF5ASOKoN8VUCXNpvxsZDvz8RW8Pw==","signatures":[{"sig":"MEUCICMdT32G7TFJe6WOYzrJ6zJbYvTJnyGwDjCWS32jcotAAiEA70IHzKrTYCn6Kb6pnWdWsIAh9qh9HpJLP4pHjJsZXXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203124},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3704e0fe2c09cb3b135eff024ec734c25ee5084","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.8_1767119749581_0.4010042919348922","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"bs-agent","version":"0.0.9","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.9","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"c0e6c42e08b1a3a937a96ab572194330c121e941","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.9.tgz","fileCount":8,"integrity":"sha512-gFdQTwwvb1WDFgR5I6nRIONBCRPrNXJXgwQ/lDARdSFyME8vpg6xfys2ZfsnkdY8YVq2IzW1lVTDvnPwaDAkOQ==","signatures":[{"sig":"MEUCIQDUidF9iUTBLsgHaiA54eE8lDHAh/EtE639ttE8r8MBwAIgAiT44w/0bDS1iTdVTUu0LFPdaap38QaBP58mEx6ZANc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200760},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4e343ddb7b40cf2e0340116f3cc1239284a88729","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"A React library for integrating BuildShip AI agents into your frontend applications.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@microsoft/fetch-event-source":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.9_1767120126183_0.12668201066777773","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"bs-agent","version":"0.0.10","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.10","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"459fbd830c415ae8fb9aa8b20a665e9ab0063c5b","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.10.tgz","fileCount":16,"integrity":"sha512-mTgGrQnGu3pYtmGm40dQjC6Gc03PEFiG53U7GlUZ8r2TNmH2DizXfTwYYUl+miXq3Qt2Vlo6VSO7C/zjYVkJ7Q==","signatures":[{"sig":"MEYCIQDIPcgXe5p5HRO8tgjBb3oLaj31+eC4dqrmQUFGApedawIhAOWI5J2SB/MYqHS/tttv+79gqbujo59K3V1Jto3luNPe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393336},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"b4578275fc24a1e36c19806d22a001891be372a1","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.10_1771063584714_0.19608545870376015","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"bs-agent","version":"0.0.12","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.12","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"b3c608254130582a45df11e466f0fede9d21100c","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.12.tgz","fileCount":16,"integrity":"sha512-YF8ylzsa0QF+GBDktlQ75v3UJ9kzB7/dQPzOJvGU20HWEol9KlmyIE/N75EHou+lv+HwUgnRTNrGeqVGOMNjPw==","signatures":[{"sig":"MEYCIQDNTSYwYEgxJqsMm3tpr4je9QD5FBo5rlREnEPTp5EI6AIhAO9xsC9quQulLKs5ql/De7WcZ9QE+1QfC0SWvvL/dANX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":405816},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"16caa00e5d9c57fb285f9f87f92bceae9cb4fce6","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.2.2","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.12_1771578388051_0.6267105498037344","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"bs-agent","version":"0.0.15","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.15","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"afef5b1ebb26ecb838c57231ff20437c5a5729f0","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.15.tgz","fileCount":16,"integrity":"sha512-O9r000oM6z5y1kHzxT6zQC2FhaGFnyoSLiimKPuBrOBxz1oma6v4r+RwTUyUWSKlSY0/PMQfxNGpmWvXpp4ysA==","signatures":[{"sig":"MEUCIQDi0zAqVBftOxvs7HcJkUvUbq0E77YTtqF2ZbQwGZNKEgIgciQqBqJRtrdZ5ynXaNW7bcNmdQ5RjO/gspkM5LU8Qbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463281},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"16dd93fb335a22f0fca4dd02b9ad1fe849b96402","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.15_1772162782230_0.4983320247774137","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"bs-agent","version":"0.0.16","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.16","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"29e9232faf355200c5124e34b45a57ff599e4e77","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.16.tgz","fileCount":16,"integrity":"sha512-uyXtv8DMUxZmIeQYahIFRyHJim0Arlu7k0AZZ5Don0avW5SsKcZ9R0c+Inbz0HDT/Hg6UMTJv15YCaVl/3UBRA==","signatures":[{"sig":"MEQCIAyjt4qzqVr4zqyfZCqUVG6v49f1lGU5ICE6ZdMW5z1zAiBebtjHCvr6aRTikORFhUQuMP/1vX1MT7VemnPK+7A9KA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466709},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"16dd93fb335a22f0fca4dd02b9ad1fe849b96402","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.16_1772268187653_0.20844463254930212","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"bs-agent","version":"0.0.17","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.17","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"7991334df3d0451763a9fcf9a0ad72c104694528","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.17.tgz","fileCount":16,"integrity":"sha512-BdBoUMzsEPgbSV3Ae6eP+5IYmmtFD6+Tu6MlPcjorjqVozSm3kxRGfPlY2tBrfy92gPEzgPieVJF1ld/Npcj/w==","signatures":[{"sig":"MEUCIG3CjmZIv+VVnxQk8r61I3FIURffNZ44JNKxrtoT0RmYAiEAmu6c/Z6n5OH8Dw2SVI67iD6ChJVeUtrr0fFKJGYFdXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470409},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"59570a1663f51e54e25690eb93879bdcf07287f2","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.17_1772518337963_0.1889004523767268","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"bs-agent","version":"0.0.18","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.18","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"e8839efc520920fba3e4a633ecbf283cf6b0fc7f","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.18.tgz","fileCount":16,"integrity":"sha512-LJToh2mOvD+HxPcbfRSKppe1smJeJnofi3wSlrlgQDN+ZhgAi+EqnEPtIB+NMvs1Zww0MkLSYwI8pXsyoHmfTg==","signatures":[{"sig":"MEQCIB/nuab6wXw+Sj1i5mAi0VRgQEtAEGkTWjLZlsnS8WsxAiAztHYub3wR3f1M1KvFFqKNWiGoLRfKSVdjaTkcahqOQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472425},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"59570a1663f51e54e25690eb93879bdcf07287f2","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.18_1772519465616_0.22796109791077712","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"bs-agent","version":"0.0.19","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.19","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"254811a3f2bbb3deee12df39261d17d7a156a88c","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.19.tgz","fileCount":16,"integrity":"sha512-dRYiCsgEJJg4Z/YD+EX+jJt4bIYPry/NvLgfbGTu9Zvo85kpOnRBTuAPwOg6b9RsSddQeAEZOLYsEK3M2zt80Q==","signatures":[{"sig":"MEUCIQCjiRMZszobG46XT9yXhPTPxnQ6sIWWbHjkVPVrEOhUMAIgMD2957FnHSH6QEYuLHMDPvAYYS+/qiQtp6lA8H3eiP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475871},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"721f6d447e6f8d2dc1f93a93d1c2856e05371e91","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.19_1772526977818_0.8430472678818652","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"bs-agent","version":"0.0.20","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.20","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"bcc5140aa543fb8ae661b397b42c4b7206aa6c5e","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.20.tgz","fileCount":16,"integrity":"sha512-zChtaaDjUaBhHvhNoeLgy71qhgdzwadiefnMgQVL/3Il74Lsloi67DMbtT5lKDqWwKDrBBgkOarO1nr0lHRAFQ==","signatures":[{"sig":"MEYCIQD4X3/nbOh1mWmCW1QLeNyrybqS1ZNLS4ppg/P20QfRAQIhAKbnA2+gsrGhkVXAa8TKEy5GqM7dhIw0Spv8cCjmTCSF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475213},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"721f6d447e6f8d2dc1f93a93d1c2856e05371e91","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.20_1772527079200_0.039746329300908156","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"bs-agent","version":"0.0.21","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.21","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"0160f0bc36e9c78799e17b56421a007d7632cf20","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.21.tgz","fileCount":16,"integrity":"sha512-n58g4MAP1/UixEiNHgAFtlp5jGVIcasrRjocyxP8xvrBLQMwUXeqX21o+lxMdrPZfK96T+3orlJ4pAE2R3j9RA==","signatures":[{"sig":"MEUCIQCK+eamJQ16qvKSRI6uuSHmOHfo8QIj/cOcndEUDiNb5gIgWnlMzlG80v5ZqnLIwQNzwCnZl8J3CFlUEJWTbWY1TJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488427},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"2fd8510902eaa47b7a6c72dbfbe7ac0107842e1e","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.21_1772623835195_0.37152876197874485","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"bs-agent","version":"0.0.22","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.22","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"e78979dd4b6ac58e8ee774687a6f375c0e6cc599","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.22.tgz","fileCount":16,"integrity":"sha512-Hrq5E2CBsyVa1EkBGCivRJ1dVIZA2VncssiBJIWiSo+VXazpldi04FUXLjHHsHB2cPeWwsHB2N0nqX5GaTJ34g==","signatures":[{"sig":"MEQCIEPnBOWDfn4LuyezvKz4Qjlppb5XK5ZzdZW7xfqwCkk0AiBSC/8Ees763WbHSl9TET8w04R1b/D970HacjYOJICIBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491967},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"2fd8510902eaa47b7a6c72dbfbe7ac0107842e1e","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.22_1772625546002_0.38123808114828406","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"bs-agent","version":"0.0.23","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.23","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"d8116dc85dbdb3a51588db99596a6a743f5baa66","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.23.tgz","fileCount":16,"integrity":"sha512-vSamWFvAPwSGOk76in4hS9bgIr5TVb/bb1y7ZnI4MKrNqMNBZKOGZ3LHoZwbj7W3s6PTq7hBwnvvJU85pf1WNA==","signatures":[{"sig":"MEQCIB8AMYiZmLSNxKLzmhGMwdLWI1Kj3i6U4HgqIt5HefpCAiA7MefByh3wtxf9nUdSXlvzCJkFugu7EXnpk3QrU4Gm5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493618},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"2fd8510902eaa47b7a6c72dbfbe7ac0107842e1e","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.23_1772625982530_0.010355323897377922","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"bs-agent","version":"0.0.24","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.24","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"d562ef9c529c9fce399bc99794ff2d1077182d6c","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.24.tgz","fileCount":16,"integrity":"sha512-WeJ4UoWmfwkS7CBM36DhYzPt5qePVs16m/bhbeFDHoMxb27dac9ttihFi+6ubO70FabDoB1wtAGylPNJAbd/XA==","signatures":[{"sig":"MEYCIQDXS1BNX2qtr1JWMkO0Wn6yL6FdQ4Acr+/p4zkvgVt5vQIhAI5tAOGZiUdUrlxCUdarZRANRKtu3WPiXIHXRV84gI27","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494634},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"2fd8510902eaa47b7a6c72dbfbe7ac0107842e1e","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.24_1772627535292_0.1050166548862741","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"bs-agent","version":"0.0.25","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.25","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"558580925845e7f736ca6af14f90db2a6bed9863","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.25.tgz","fileCount":16,"integrity":"sha512-joPUveTBFfCIeSy5QSLI9eLlNUgL9iG1Axwz91/cvmIOpLQBWZ7zL7Ge3EvJC8svdfxei7rBkFO7tuoS9y3/5g==","signatures":[{"sig":"MEUCIQCQfr7jJt5pdVNlDUfjmThXG4aJQ/37xJ0L+H4dwsdCkQIgJSF9LtRWfsaKcbfxSnEFzDLbJbmLW5Oo4eCLdVP3Bz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488427},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"2fd8510902eaa47b7a6c72dbfbe7ac0107842e1e","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.25_1772632849132_0.527520572023257","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"bs-agent","version":"0.0.26","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.26","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"1ca4b1bdb955c718e0b6c24a561f57a63df3a076","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.26.tgz","fileCount":16,"integrity":"sha512-fKXLeKIornQcYHjamw+wLBmanePs+o0TxJwezkMH3N1p9oaFQpz5CqxE4MonKRx2wvBV1DaUBf1T9dGJ1AcGeg==","signatures":[{"sig":"MEYCIQCfgV/XWqun/0WSNyW4JzV6TVwcvlYzhaGPj9cdt/2QuwIhAKo6nXy4O2lqYC1ajtiexcxoxvM7VV1CyFytoZhEvsXQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500638},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"b0d347451c1e7556e228e9bd0f1e197e33bb324a","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.7.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.26_1772644205485_0.9200440504460969","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"bs-agent","version":"0.0.27","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.27","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"b4706a1e41799d1603015bfeeb65b222635fc696","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.27.tgz","fileCount":16,"integrity":"sha512-Y3ABHAO92dzI5ALlMUxyfEBXbj2WVPm5YLCK7jktlbEKhZ5VQOR24dXw7fRWi4K/Zsq4gYBMrgt/SGFX+UFGqg==","signatures":[{"sig":"MEUCICR+mpPGFgMXpOqPDqIYnqHOXlas4PvHLU4n46Cl6+hAAiEA4GP8w9fx944rAEKRVjtIVsi8iCcj5SndtI1XWBX/BDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504284},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"94661fa8bb1ab6d05cfcfeda2d22a2c16f0e7a30","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.11.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.27_1773211462223_0.8516244763647545","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"bs-agent","version":"0.0.28","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.28","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"65fea22c09254a98783cea2ecad201b6b6c6be01","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.28.tgz","fileCount":16,"integrity":"sha512-3EIP/iB+Q5ofKxE8pNmP1aSPWIJzRd+hqxK+EwgbhEgUz3PnhsPr2+1Hub9RLR/36izMNPK3P+77RjhH7aAE7w==","signatures":[{"sig":"MEUCIQCojtLj1ctWhq4DrNV3QidzmJvCAPFRnzEI7JDv3JPULwIgZXIYXJavkTDR4C4nXRYMlFLQ2YYZlTd84L2Ge6qmhF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504283},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"94661fa8bb1ab6d05cfcfeda2d22a2c16f0e7a30","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.11.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.28_1773211542400_0.9710361380229489","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"bs-agent","version":"0.0.29","keywords":["buildship","ai","agent","react","streaming"],"author":{"name":"BuildShip"},"license":"MIT","_id":"bs-agent@0.0.29","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"dist":{"shasum":"8000e5b3ffe77113606bc0117c6406d9afbe055e","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.29.tgz","fileCount":16,"integrity":"sha512-/QD3Y8vnJIR6Usss+5TZr6xKPxAkNfQF2f/6wfIYS7Kwlu908OHX3NueSAfiVL8FpDXt7G4qFBs6mZ63hKSSWg==","signatures":[{"sig":"MEQCIErI2edkQMJFxoa+3Y7VGnbXSfQJmR62HAfkELurdmtPAiBSPRi2u9XFeQ6RMKi0Wzi79DeKBD4odqb2fYMyf0uTlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":503507},"type":"module","exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"gitHead":"06668e0152ce7f0b4a69f8601bb3414bcac7870b","scripts":{"dev":"tsup --watch","test":"vitest run --exclude 'tests/e2e/**'","build":"tsup","test:e2e":"vitest run tests/e2e","prepublishOnly":"npm run build"},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"_npmVersion":"11.11.0","description":"BuildShip Agent SDK — core + React bindings.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"zod":"^4.3.6"},"typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"5.8.3","@types/react":"^18.2.14"},"peerDependencies":{"react":"^18.2.0"},"_npmOperationalInternal":{"tmp":"tmp/bs-agent_0.0.29_1773215291988_0.3571179065497958","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"bs-agent","description":"BuildShip Agent SDK — core + React bindings.","version":"0.0.30","author":{"name":"BuildShip"},"dependencies":{"zod":"^4.3.6"},"devDependencies":{"@types/react":"^18.2.14","tsup":"^8.5.1","typescript":"5.8.3","vitest":"^4.0.18"},"exports":{"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js","require":"./dist/core/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs"}},"keywords":["agent","ai","buildship","react","streaming"],"license":"MIT","peerDependencies":{"react":"^18.2.0"},"scripts":{"build":"tsup","dev":"tsup --watch","prepublishOnly":"npm run build","test":"vitest run --exclude 'tests/e2e/**'","test:e2e":"vitest run tests/e2e"},"type":"module","typesVersions":{"*":{"core":["./dist/core/index.d.ts"],"react":["./dist/react/index.d.ts"]}},"gitHead":"7d8b40c12468f488fedc9f43e9ab1fd06758a8b5","_id":"bs-agent@0.0.30","_nodeVersion":"22.15.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-hrlJ/gl8d2FwUYy43wuk42IV8u//wYJvMtsBwNoXKf2FFIDOY4EJg2ivptW5IoHHALaRrTElqCz+JUgWVrcR/g==","shasum":"62e585b00fa1f9eaf228e6da9148c4a59c8dec3f","tarball":"https://registry.npmjs.org/bs-agent/-/bs-agent-0.0.30.tgz","fileCount":16,"unpackedSize":512889,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJM26NxlR+fom7imB67HCiBdS5k034WFeMGgeQce6mAQIhALnvkIplOK0Imhbgvz2RQb9+i6rexYRj1QyA/weiW5kL"}]},"_npmUser":{"name":"anishroy","email":"6275anishroy@gmail.com"},"directories":{},"maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bs-agent_0.0.30_1773822003672_0.9568096813058224"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-30T15:53:17.635Z","modified":"2026-03-18T08:20:03.942Z","0.0.1":"2025-12-30T15:53:17.873Z","0.0.2":"2025-12-30T17:35:53.583Z","0.0.3":"2025-12-30T17:38:42.903Z","0.0.4":"2025-12-30T17:40:17.176Z","0.0.5":"2025-12-30T18:13:39.618Z","0.0.6":"2025-12-30T18:19:27.958Z","0.0.7":"2025-12-30T18:26:31.900Z","0.0.8":"2025-12-30T18:35:49.738Z","0.0.9":"2025-12-30T18:42:06.335Z","0.0.10":"2026-02-14T10:06:24.882Z","0.0.12":"2026-02-20T09:06:28.225Z","0.0.15":"2026-02-27T03:26:22.370Z","0.0.16":"2026-02-28T08:43:07.814Z","0.0.17":"2026-03-03T06:12:18.117Z","0.0.18":"2026-03-03T06:31:05.839Z","0.0.19":"2026-03-03T08:36:18.031Z","0.0.20":"2026-03-03T08:37:59.379Z","0.0.21":"2026-03-04T11:30:35.367Z","0.0.22":"2026-03-04T11:59:06.178Z","0.0.23":"2026-03-04T12:06:22.716Z","0.0.24":"2026-03-04T12:32:15.515Z","0.0.25":"2026-03-04T14:00:49.292Z","0.0.26":"2026-03-04T17:10:05.730Z","0.0.27":"2026-03-11T06:44:22.378Z","0.0.28":"2026-03-11T06:45:42.551Z","0.0.29":"2026-03-11T07:48:12.131Z","0.0.30":"2026-03-18T08:20:03.832Z"},"author":{"name":"BuildShip"},"license":"MIT","keywords":["agent","ai","buildship","react","streaming"],"description":"BuildShip Agent SDK — core + React bindings.","maintainers":[{"name":"anishroy","email":"6275anishroy@gmail.com"}],"readme":"# @buildship/agent\n\nA type-safe TypeScript SDK for [BuildShip](https://buildship.com) agents with\nstreaming support.\n\n- 🔄 **Streaming-first** — real-time text, reasoning, tool calls & handoffs via\n  SSE\n- 🧩 **Client tools** — headless handlers, interactive widgets, pause/resume\n- 📎 **Multimodal input** — send text, images & files in a single message\n- ⚛️ **React bindings** — hooks & context for chat UIs with session management\n- 💬 **Multi-turn** — session-based conversations with persistent history\n- 🛑 **Abort** — cancel any streaming request mid-flight\n- 🐛 **Inline debug info** — tool calls, reasoning, handoffs & errors as\n  message parts\n- 📦 **Zero extra deps** — native `fetch` + `ReadableStream`, only `zod` as a\n  dependency\n\n## Install\n\n```bash\nnpm install @buildship/agent\n```\n\nThe package exposes two entry points:\n\n```ts\nimport { ... } from \"@buildship/agent/core\";   // Vanilla JS/TS — works anywhere\nimport { ... } from \"@buildship/agent/react\";   // React hooks, context & components\n```\n\n---\n\n# Core (`@buildship/agent/core`)\n\nThe core module provides a class-based API that works in any JavaScript\nenvironment — Node.js, browser, Edge Runtime, etc.\n\n## Quick Start\n\n```ts\nimport { BuildShipAgent, z } from \"@buildship/agent/core\";\n\nconst agent = new BuildShipAgent({\n  agentId: \"YOUR_AGENT_ID\",\n  accessKey: \"YOUR_ACCESS_KEY\", // optional\n  baseUrl: \"https://your-project.buildship.run\",\n});\n\n// Simple one-shot\nconst session = await agent.execute(\"Hello!\", {\n  onText: (text) => process.stdout.write(text),\n  onComplete: (fullText) => console.log(\"\\nDone:\", fullText),\n  onError: (err) => console.error(err),\n});\n```\n\n## Multimodal Input\n\nThe `execute()` method accepts either a plain string or an array of content\nparts. This lets you send text alongside images and files in a single message.\n\n```ts\ntype AgentInput = string | ContentPart[];\n\ntype ContentPart = TextPart | ImagePart | FilePart;\n\ntype TextPart = { type: \"text\"; text: string };\n\n// mimeType is optional — defaults to \"image/png\" if omitted.\n// Images can often be inferred from the data URI prefix.\ntype ImagePart = { type: \"image\"; data: string; mimeType?: string };\n\n// mimeType is required — files (CSV, PDF, JSON, etc.) need an explicit\n// MIME type so the agent knows how to interpret the content.\ntype FilePart = {\n  type: \"file\";\n  data: string;\n  mimeType: string;\n  filename?: string;\n};\n```\n\nThe `data` field accepts three formats:\n\n| Format     | Example                            | Prefix       |\n| ---------- | ---------------------------------- | ------------ |\n| HTTP URL   | `\"https://example.com/photo.jpg\"`  | `http(s)://` |\n| Data URL   | `\"data:image/png;base64,iVBOR...\"` | `data:`      |\n| Raw base64 | `\"iVBORw0KGgo...\"`                 | _(none)_     |\n\n### Text-only (backward compatible)\n\n```ts\nawait agent.execute(\"What is this?\", callbacks);\n```\n\n### Image + text\n\n```ts\nawait agent.execute(\n  [\n    { type: \"text\", text: \"What's in this image?\" },\n    {\n      type: \"image\",\n      data: \"https://example.com/photo.jpg\",\n      mimeType: \"image/jpeg\",\n    },\n  ],\n  callbacks,\n);\n```\n\n### File attachment\n\n```ts\nawait agent.execute(\n  [\n    { type: \"text\", text: \"Summarize this CSV\" },\n    {\n      type: \"file\",\n      data: \"https://storage.example.com/report.csv\",\n      mimeType: \"text/csv\",\n      filename: \"report.csv\",\n    },\n  ],\n  callbacks,\n);\n```\n\n## Multi-Turn Conversations\n\n```ts\n// First message returns a session\nconst session = await agent.execute(\"What is 2 + 2?\", {\n  onText: (t) => process.stdout.write(t),\n  onComplete: () => console.log(),\n});\n\n// Continue with the same session ID\nconst continued = agent.session(session.getSessionId());\nawait continued.execute(\"Now multiply that by 3\", {\n  onText: (t) => process.stdout.write(t),\n  onComplete: () => console.log(),\n});\n```\n\n## Client Tools\n\nDefine tools the agent can invoke on the client side. Use **Zod schemas** for\ntype-safe parameter definitions:\n\n```ts\nimport { BuildShipAgent, z } from \"@buildship/agent/core\";\n\nconst agent = new BuildShipAgent({ agentId: \"...\" });\n\n// Fire-and-forget tool\nagent.registerClientTool({\n  name: \"show_notification\",\n  description: \"Display a notification to the user\",\n  parameters: z.object({\n    title: z.string().describe(\"Notification title\"),\n    message: z.string().describe(\"Notification body\"),\n  }),\n  handler: (args) => {\n    showNotification(args.title, args.message);\n  },\n});\n\n// Blocking tool — agent pauses until result is returned\nagent.registerClientTool({\n  name: \"get_location\",\n  description: \"Get the user's current location\",\n  parameters: z.object({}),\n  await: true,\n  handler: async () => {\n    const pos = await navigator.geolocation.getCurrentPosition();\n    return { lat: pos.coords.latitude, lng: pos.coords.longitude };\n  },\n});\n```\n\n### Pause & Resume (Manual)\n\nFor blocking tools without a handler, the agent pauses and you resume manually:\n\n```ts\nagent.registerClientTool({\n  name: \"confirm_action\",\n  description: \"Ask the user to confirm an action\",\n  parameters: z.object({\n    action: z.string().describe(\"The action to confirm\"),\n  }),\n  await: true,\n  // No handler — you handle it manually\n});\n\nconst session = await agent.execute(\"Delete my account\", {\n  onText: (t) => process.stdout.write(t),\n  onPaused: (toolName, args) => {\n    console.log(`Agent paused for: ${toolName}`, args);\n  },\n});\n\nif (session.isPaused()) {\n  const tool = session.getPausedTool();\n  // ... show confirmation UI, then resume:\n  await session.resume(\n    { confirmed: true },\n    {\n      onText: (t) => process.stdout.write(t),\n    },\n  );\n}\n```\n\n## Abort\n\n```ts\nconst session = agent.session(sessionId);\n\nsession.execute(\"Write a long essay...\", {\n  onText: (text) => {\n    process.stdout.write(text);\n    if (userCancelled) session.abort();\n  },\n});\n```\n\n## Stream Callbacks\n\n```ts\ninterface StreamCallbacks {\n  /** Called for each text chunk from the agent. */\n  onText?: (text: string) => void;\n  /** Called for each reasoning chunk (models with chain-of-thought). */\n  onReasoning?: (delta: string, index: number) => void;\n  /** Called when control is handed off to a sub-agent. */\n  onAgentHandoff?: (agentName: string) => void;\n  /** Called when a tool execution starts. */\n  onToolStart?: (toolName: string, toolType: ToolType) => void;\n  /** Called when a tool execution completes. */\n  onToolEnd?: (toolName: string, result?: any, error?: string) => void;\n  /** Called when agent pauses for a blocking client tool. */\n  onPaused?: (toolName: string, args: any) => void;\n  /** Called when the stream completes successfully. */\n  onComplete?: (fullText: string) => void;\n  /** Called if an error occurs during streaming. */\n  onError?: (error: Error) => void;\n  /** Called for every raw SSE event. Useful for debug panels. */\n  onEvent?: (event: StreamEvent) => void;\n}\n```\n\n## Core API Reference\n\n### `BuildShipAgent`\n\n| Method                                | Description                                                                             |\n| ------------------------------------- | --------------------------------------------------------------------------------------- |\n| `execute(input, callbacks, options?)` | Start a new conversation. `input` is `string \\| ContentPart[]`. Returns `AgentSession`. |\n| `session(sessionId)`                  | Continue an existing conversation. Returns `AgentSession`.                              |\n| `registerClientTool(tool)`            | Register a client-side tool.                                                            |\n| `unregisterClientTool(name)`          | Remove a registered tool.                                                               |\n\n### `AgentSession`\n\n| Method                                | Description                                          |\n| ------------------------------------- | ---------------------------------------------------- |\n| `execute(input, callbacks, options?)` | Send a message (`string \\| ContentPart[]`).          |\n| `resume(result, callbacks)`           | Resume after a blocking tool pause.                  |\n| `isPaused()`                          | Check if waiting for a tool result.                  |\n| `getPausedTool()`                     | Get paused tool info (`{ callId, toolName, args }`). |\n| `getSessionId()`                      | Get the session ID.                                  |\n| `abort()`                             | Cancel the current stream.                           |\n\n### Stream Events\n\nAll events share a `meta` object with `executionId` and `sequence`.\n\n| Event Type        | Description                        | Data                                                              |\n| ----------------- | ---------------------------------- | ----------------------------------------------------------------- |\n| `text_delta`      | Text chunk from the agent          | `string`                                                          |\n| `reasoning_delta` | Chain-of-thought reasoning chunk   | `{ delta: string, index: number }`                                |\n| `tool_call_start` | A tool execution started           | `{ callId, toolName, toolType, inputs?, serverName?, paused? }`   |\n| `tool_call_end`   | A tool execution completed         | `{ callId, toolName, toolType, result?, error?, executionTime? }` |\n| `agent_handoff`   | Control transferred to a sub-agent | `{ agentName: string }`                                           |\n\n### Tool Types\n\n```ts\ntype ToolType = \"flow\" | \"node\" | \"mcp\" | \"client\" | \"builtin\" | \"agent\";\n```\n\n---\n\n# React (`@buildship/agent/react`)\n\nThe React module provides hooks, context providers, and components for building\nchat UIs with full session management, client tool support, and debug panels.\n\n## Setup\n\nWrap your app (or the chat area) with `AgentContextProvider`:\n\n```tsx\nimport { AgentContextProvider } from \"@buildship/agent/react\";\n\nfunction App() {\n  return (\n    <AgentContextProvider>\n      <ChatPage />\n    </AgentContextProvider>\n  );\n}\n```\n\n## `useAgent` Hook\n\nThe main hook for interacting with an agent. Manages messages, streaming,\nand sessions.\n\n```tsx\nimport { useAgent } from \"@buildship/agent/react\";\n\nfunction ChatPage() {\n  const {\n    messages, // Message[] — full conversation history\n    inProgress, // boolean — true while streaming\n    handleSend, // (input, options?) => Promise — send a message\n    resumeTool, // (callId, result) => Promise — resume a paused tool\n    abort, // () => void — cancel the current stream\n    sessionId, // string — current session ID\n    sessions, // Session[] — all sessions for this agent\n    switchSession, // (sessionId?) => void — switch to a session (or create new)\n    deleteSession, // (sessionId) => void — delete a session\n    addOptimisticMessage, // (input) => void — add a user message immediately\n  } = useAgent(\n    \"agent-id\",\n    \"https://your-project.buildship.run/executeAgent/AGENT_ID\",\n    \"access-key\",\n  );\n\n  return (\n    <div>\n      {messages.map((msg, i) => (\n        <div key={i} className={msg.role}>\n          {msg.content}\n        </div>\n      ))}\n\n      <button onClick={() => handleSend(\"Hello!\")} disabled={inProgress}>\n        Send\n      </button>\n    </div>\n  );\n}\n```\n\n### `handleSend` Options\n\n```ts\nhandleSend(input: AgentInput, options?: {\n  context?: Record<string, unknown>;  // Additional context passed to the agent\n  skipUserMessage?: boolean;          // Don't add a user message to the conversation\n});\n```\n\n`AgentInput` is `string | ContentPart[]` — see\n[Multimodal Input](#multimodal-input).\n\n### Text Modifiers\n\n`useAgent` accepts optional modifier functions that transform streamed text\nbefore it is stored in messages. This is useful for stripping thinking tags,\nconverting markup, or applying any real-time post-processing.\n\n#### `textDeltaModifier`\n\nRuns on **each incoming text chunk** before it is appended. Receives the raw\ndelta, the full text accumulated so far, and event metadata.\n\n```tsx\nconst agent = useAgent(myAgent, {\n  textDeltaModifier: (delta, fullText, meta) => {\n    // Example: strip <think>…</think> tags from each chunk\n    return delta.replace(/<\\/?think>/g, \"\");\n  },\n});\n```\n\n#### `fullTextModifier`\n\nRuns on the **accumulated full text** after every delta is appended. The return\nvalue becomes the displayed text, while the unmodified accumulation is preserved\ninternally as `_rawText`.\n\n```tsx\nconst agent = useAgent(myAgent, {\n  fullTextModifier: (fullText, meta) => {\n    // Example: render LaTeX-style math as Unicode\n    return convertLatex(fullText);\n  },\n});\n```\n\n#### Using both together\n\nWhen both modifiers are provided they **chain** in order:\n\n```\nraw delta → textDeltaModifier(delta) → accumulated text → fullTextModifier(accumulated) → display\n```\n\n`textDeltaModifier` acts as a per-chunk preprocessor; `fullTextModifier` acts as\na post-accumulation formatter on top of the already-modified text.\n\n> **Note:** If `textDeltaModifier` strips or transforms content,\n> `fullTextModifier` will only see the already-modified accumulation — the\n> original unmodified stream text is not preserved.\n\n## `useAgentContext` Hook\n\nAn alternative to `useAgent` for multi-agent setups. Initializes agents\ndeclaratively and shares state through context.\n\n```tsx\nimport { useAgentContext } from \"@buildship/agent/react\";\n\nfunction ChatPage() {\n  const agent = useAgentContext(\n    \"agent-id\",\n    \"https://your-project.buildship.run/executeAgent/AGENT_ID\",\n    \"access-key\",\n  );\n\n  // Same return shape as useAgent\n  const { messages, handleSend, inProgress, sessions, ... } = agent;\n}\n```\n\n## Client Tools (React)\n\n### `useClientTool` — Headless Tools\n\nRegister a tool that runs code without rendering any UI:\n\n```tsx\nimport { useClientTool } from \"@buildship/agent/react\";\nimport { z } from \"@buildship/agent/core\";\n\nfunction ChatPage() {\n  // Fire-and-forget — runs handler, result is discarded\n  useClientTool(\"agent-id\", {\n    name: \"show_notification\",\n    description: \"Display a notification to the user\",\n    parameters: z.object({\n      title: z.string(),\n      message: z.string(),\n    }),\n    handler: (inputs) => {\n      toast(inputs.title, inputs.message);\n    },\n  });\n\n  // Blocking tool — agent pauses, handler result is sent back\n  useClientTool(\"agent-id\", {\n    name: \"get_location\",\n    description: \"Get the user's current GPS location\",\n    parameters: z.object({}),\n    await: true,\n    handler: async () => {\n      const pos = await getCurrentPosition();\n      return { lat: pos.coords.latitude, lng: pos.coords.longitude };\n    },\n  });\n\n  // ...\n}\n```\n\n### `useClientTool` — Widget Tools\n\nRegister a tool that renders interactive UI inline in the conversation:\n\n```tsx\nimport { useClientTool, ToolRenderer } from \"@buildship/agent/react\";\nimport { z } from \"@buildship/agent/core\";\n\nfunction ChatPage() {\n  const { messages } = useAgent(\"agent-id\", agentUrl);\n\n  // Register a widget tool with a render function\n  useClientTool(\"agent-id\", {\n    name: \"feedback_form\",\n    description: \"Collects user feedback\",\n    parameters: z.object({\n      question: z.string().describe(\"The feedback question\"),\n    }),\n    await: true, // Agent pauses until user submits\n    render: ({ inputs, submit, status, result }) => (\n      <div>\n        <p>{inputs.question}</p>\n        {status === \"pending\" ? (\n          <button onClick={() => submit({ answer: \"Great!\" })}>Submit</button>\n        ) : (\n          <p>✅ Submitted: {JSON.stringify(result)}</p>\n        )}\n      </div>\n    ),\n  });\n\n  // Render messages with embedded widgets\n  return (\n    <div>\n      {messages.map((msg) =>\n        msg.parts?.map((part) => {\n          if (part.type === \"text\") {\n            return <p key={part.firstSequence}>{part.text}</p>;\n          }\n          if (part.type === \"widget\") {\n            return (\n              <ToolRenderer key={part.callId} agentId=\"agent-id\" part={part} />\n            );\n          }\n          return null;\n        }),\n      )}\n    </div>\n  );\n}\n```\n\n### `useClientTool` — Combo Tools (Handler + Render)\n\nWhen both `handler` and `render` are provided, the tool acts as a **widget that auto-executes**:\n\n1. The widget renders immediately with `status: \"pending\"`\n2. The handler runs automatically in the background\n3. When the handler resolves, the widget updates to `status: \"submitted\"` with the `result`\n4. If the handler throws, the widget updates to `status: \"error\"` with the `error` message\n5. The agent auto-resumes with the handler's return value\n\nThis is ideal for async operations where you want to show progress and results\ninline — e.g. cloning a project, running a migration, processing data.\n\n```tsx\nuseClientTool(\"agent-id\", {\n  name: \"run_migration\",\n  description: \"Runs a database migration\",\n  parameters: z.object({\n    migrationName: z.string(),\n  }),\n  await: true,\n  handler: async (inputs) => {\n    const result = await runMigration(inputs.migrationName);\n    return { rowsAffected: result.count, duration: result.ms };\n  },\n  render: ({ inputs, status, result, error }) => (\n    <div>\n      <strong>{inputs.migrationName}</strong>\n      {status === \"pending\" && <Spinner />}\n      {status === \"submitted\" && (\n        <p>✅ Done — {result.rowsAffected} rows in {result.duration}ms</p>\n      )}\n      {status === \"error\" && <p style={{ color: \"red\" }}>❌ {error}</p>}\n    </div>\n  ),\n});\n```\n\n> **Note:** With combo tools, the `submit` callback in render props is a no-op\n> since the handler provides the result automatically. The widget is purely\n> for display.\n\n### `ClientToolConfig`\n\n```ts\ninterface ClientToolConfig {\n  name: string; // Must match the tool name the agent knows\n  description: string; // Description of what the tool does\n  parameters: ZodSchema | Record<string, any>; // Zod schema or raw JSON Schema\n  await?: boolean; // If true, agent pauses until result\n  handler?: (inputs: any) => any | Promise<any>; // For headless tools or combo tools\n  render?: (props: ClientToolRenderProps) => any; // For widget tools or combo tools\n}\n```\n\n> **Tip:** You can provide both `handler` and `render` — see\n> [Combo Tools](#useclienttool--combo-tools-handler--render) below.\n\n### `ClientToolRenderProps`\n\n```ts\ninterface ClientToolRenderProps<T = any> {\n  inputs: T; // Parsed inputs from the agent\n  submit: (result: any) => void; // Submit a result (only for await: true tools)\n  status: \"pending\" | \"submitted\" | \"error\"; // Widget status\n  result?: any; // Persisted result after submission\n  error?: string; // Error message (only when status is \"error\")\n}\n```\n\n## Messages & Parts\n\nMessages can contain rich, interleaved content via `parts`:\n\n```ts\ntype Message = {\n  role: \"user\" | \"agent\";\n  content: string; // Full text content\n  parts?: MessagePart[]; // Rich content (text, widgets, tool calls, reasoning, etc.)\n  executionId?: string; // Execution ID for this turn\n  attachments?: Array<ImagePart | FilePart>; // Multimodal user message attachments\n};\n\ntype MessagePart =\n  | { type: \"text\"; text: string; firstSequence: number; lastSequence: number }\n  | {\n      type: \"widget\";\n      toolName: string;\n      callId: string;\n      inputs: any;\n      paused?: boolean;\n      status?: \"pending\" | \"submitted\" | \"error\";\n      result?: any;\n      error?: string;\n    }\n  | {\n      type: \"tool_call\";\n      toolName: string;\n      callId: string;\n      toolType: ToolType;\n      status: \"progress\" | \"complete\" | \"error\";\n      inputs?: unknown;\n      output?: unknown;\n      error?: string;\n      serverName?: string; // MCP server name\n    }\n  | { type: \"reasoning\"; reasoning: string; index?: number }\n  | { type: \"handoff\"; agentName: string }\n  | { type: \"run_error\"; message: string; code?: string };\n```\n\n> **Tip:** When rendering messages, iterate over `msg.parts` instead of\n> `msg.content` to get text, widgets, tool calls, reasoning, handoffs, and\n> errors interleaved in chronological order.\n\n## Sessions\n\nSessions are automatically persisted to local storage and synced across tabs.\n\n```tsx\nconst { sessions, switchSession, deleteSession, sessionId } = useAgent(...);\n\n// List all sessions\nsessions.map((s) => (\n  <button key={s.id} onClick={() => switchSession(s.id)}>\n    {s.name} ({s.messages.length} messages)\n  </button>\n));\n\n// Create a new session\nswitchSession(); // No argument = new session\n\n// Delete a session\ndeleteSession(sessionId);\n```\n\n### Session Type\n\n```ts\ntype Session = {\n  id: string;\n  createdAt: number;\n  updatedAt: number;\n  messages: Message[];\n  name?: string;\n};\n```\n\n## Inline Debug Info\n\nTool calls, reasoning, agent handoffs, and errors are all embedded directly in\nthe agent message's `parts` array — no separate debug state. Filter by `type`\nto render them:\n\n```tsx\nconst { messages } = useAgent(...);\n\n// Get debug parts from an agent message\nconst debugParts = message.parts?.filter(\n  (p) =>\n    p.type === \"tool_call\" ||\n    p.type === \"reasoning\" ||\n    p.type === \"handoff\" ||\n    p.type === \"run_error\",\n);\n```\n\nSee the [Message Parts](#message-parts) section above for the full type\ndefinitions of each part.\n\n## React API Reference\n\n### Hooks\n\n| Hook                                       | Description                                      |\n| ------------------------------------------ | ------------------------------------------------ |\n| `useAgent(agentId, agentUrl, accessKey?)`  | Main hook — messages, streaming, sessions        |\n| `useAgentContext(agentId, agentUrl, key?)` | Context-based alternative for multi-agent setups |\n| `useClientTool(agentId, config)`           | Register a client tool (headless or widget)      |\n\n### Components\n\n| Component                                   | Description                                        |\n| ------------------------------------------- | -------------------------------------------------- |\n| `<AgentContextProvider>`                    | Provides shared agent state (sessions)             |\n| `<ToolRenderer agentId={id} part={part} />` | Renders a widget tool from a message part          |\n\n### Utilities\n\n| Export                                | Description                                                          |\n| ------------------------------------- | -------------------------------------------------------------------- |\n| `tryParseJSON(value)`                 | Safely parse a JSON string, returns parsed object or original string |\n| `updateAgentMessageParts(msg, event)` | Append/merge parts into an agent message                             |\n\n## Full Example\n\n```tsx\nimport {\n  AgentContextProvider,\n  useAgent,\n  useClientTool,\n  ToolRenderer,\n} from \"@buildship/agent/react\";\nimport { z } from \"@buildship/agent/core\";\n\nconst AGENT_ID = \"my-agent\";\nconst AGENT_URL = \"https://my-project.buildship.run/executeAgent/my-agent\";\n\nfunction App() {\n  return (\n    <AgentContextProvider>\n      <Chat />\n    </AgentContextProvider>\n  );\n}\n\nfunction Chat() {\n  const { messages, handleSend, inProgress, resumeTool, abort } =\n    useAgent(AGENT_ID, AGENT_URL);\n  const [input, setInput] = useState(\"\");\n\n  // Register a widget tool\n  useClientTool(AGENT_ID, {\n    name: \"poll\",\n    description: \"Ask the user to vote on options\",\n    parameters: z.object({\n      question: z.string(),\n      options: z.array(z.string()),\n    }),\n    await: true,\n    render: ({ inputs, submit, status }) => (\n      <div>\n        <p>{inputs.question}</p>\n        {status === \"pending\" ? (\n          inputs.options.map((opt) => (\n            <button key={opt} onClick={() => submit({ vote: opt })}>\n              {opt}\n            </button>\n          ))\n        ) : (\n          <p>✅ Vote recorded</p>\n        )}\n      </div>\n    ),\n  });\n\n  const send = () => {\n    if (!input.trim()) return;\n    handleSend(input);\n    setInput(\"\");\n  };\n\n  return (\n    <div>\n      {messages.map((msg, i) => (\n        <div key={i}>\n          <strong>{msg.role}:</strong>\n          {msg.parts?.map((part, j) => {\n            if (part.type === \"text\") {\n              return <span key={j}>{part.text}</span>;\n            }\n            if (part.type === \"widget\") {\n              return <ToolRenderer key={j} agentId={AGENT_ID} part={part} />;\n            }\n            if (part.type === \"tool_call\") {\n              return (\n                <div key={j} style={{ opacity: 0.7, fontSize: \"0.85em\" }}>\n                  🔧 {part.toolName}{\" \"}\n                  {part.status === \"progress\"\n                    ? \"running...\"\n                    : part.status === \"error\"\n                      ? `failed: ${part.error}`\n                      : \"✓\"}\n                </div>\n              );\n            }\n            if (part.type === \"reasoning\") {\n              return (\n                <div key={j} style={{ fontStyle: \"italic\", opacity: 0.6 }}>\n                  💭 {part.reasoning}\n                </div>\n              );\n            }\n            if (part.type === \"handoff\") {\n              return (\n                <div key={j}>→ Handed off to {part.agentName}</div>\n              );\n            }\n            if (part.type === \"run_error\") {\n              return (\n                <div key={j} style={{ color: \"red\" }}>\n                  ⚠️ {part.message}\n                </div>\n              );\n            }\n            return null;\n          }) ?? msg.content}\n        </div>\n      ))}\n\n      <input\n        value={input}\n        onChange={(e) => setInput(e.target.value)}\n        onKeyDown={(e) => e.key === \"Enter\" && send()}\n      />\n      <button onClick={send} disabled={inProgress}>\n        Send\n      </button>\n      {inProgress && <button onClick={abort}>Stop</button>}\n    </div>\n  );\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}