{"_id":"octofriend","_rev":"59-4c683372d8655210cab5e270480ded53","name":"octofriend","dist-tags":{"latest":"0.0.59"},"versions":{"0.0.1":{"name":"octofriend","version":"0.0.1","license":"MIT","_id":"octofriend@0.0.1","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"89e677f7c2bf562e0f1e716d04f5e03197789a18","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.1.tgz","fileCount":27,"integrity":"sha512-rfHx6xvGOiOuOrEuAKGCZXWHsNu/L0676CIWiezkhdxT5KNrhDOLyfYyGTo2JSnLetIzVeWMDtOBx2slR/p9UA==","signatures":[{"sig":"MEUCIQC7Ve9/Bvh9oRWw98U7jErsbYQ9zrGqdCrdGkcG8b/JTgIgGpduY1c0iMJ475EKNhXTFxgTYSYa3SRSpV/pjYM9e7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66223},"type":"module","engines":{"node":">=16"},"gitHead":"a2a1d712a430bee69c21da5e179574ff5d5798b1","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","react":"^18.2.0","figlet":"^1.8.0","openai":"^4.89.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.2.0","typescript":"^5.0.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.1_1743380836227_0.2508243777459289","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"octofriend","version":"0.0.2","license":"MIT","_id":"octofriend@0.0.2","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"15315ced4df0a8a7002fbbfe5b0d39e7d8d3b525","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.2.tgz","fileCount":85,"integrity":"sha512-kPxwXwgZG8He5Lv7l0HnGYKeuJcb2YhgDbYwvrsz1QhOzR8weGtTRMuVLS42DDEd9vtL2hq9drFou5JrJlpGqQ==","signatures":[{"sig":"MEUCICmPv+jOAz5KlkWKoupV26H4ZzMMSN04zrkGfXK0kLmZAiEAuUCz3lzEGrWDdrGlAeAeBnVdFvM62+TVQJ9r0RND84E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193741},"type":"module","engines":{"node":">=16"},"gitHead":"3a0d326b63ac537da13aedebcc71caa05f780396","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","react":"^18.2.0","figlet":"^1.8.0","openai":"^4.89.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.2.0","typescript":"^5.0.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.2_1743729961129_0.40388428740154314","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"octofriend","version":"0.0.3","license":"MIT","_id":"octofriend@0.0.3","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"6057da839e950595c4a632eef7e76dc1a535743e","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.3.tgz","fileCount":90,"integrity":"sha512-PzTSQ+JxNpbW61VnB1Mg3rNgxwozcua/0FaYS3y9293MUTqhSSfkimFOwr7f8Gm2P8cwlNDpk4hI5WzXpqiWyQ==","signatures":[{"sig":"MEUCIQCv0A1Gi4okAYuFIqz6QHKJLL8NM4vtNNH4UV6CShxRkAIgeNL/4MNtuQiFg4Gy87ORHofPEEcZUVNXOBtYMLG3ueg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231245},"type":"module","engines":{"node":">=16"},"gitHead":"5cfe3b359b7bc97652f7d26524c44f87b8b04e9d","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"chalk":"^5.4.1","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0","@commander-js/extra-typings":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.3_1752442271581_0.06743786777585092","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"octofriend","version":"0.0.4","license":"MIT","_id":"octofriend@0.0.4","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"63cebb2916bb220bb8bea746059f1c11decbc95f","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.4.tgz","fileCount":90,"integrity":"sha512-fJL5wjm3fuLliVaTa9vuFrvJ5JsN9rau5zzqvzb0dnqoyhTb9lTIWjNrw0DKpOgAcrBzqQMSWVOqCEe02QWfOw==","signatures":[{"sig":"MEUCIQDSRtlkFH5wbb8NBEjFBJhSWWkqjWja2GGK2DAgt8Q3mAIgVMgFk2ODMBvNgXJ2YydpenThyjZLWL2tcH/MqrCxaxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231245},"type":"module","engines":{"node":">=16"},"gitHead":"113fd3fd13381e4f1a0653cae0bda2d44604dc1d","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.4_1752442423999_0.21596342821661474","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"octofriend","version":"0.0.5","license":"MIT","_id":"octofriend@0.0.5","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"8dd583f007eb66616587acbfb6df0ffad267d022","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.5.tgz","fileCount":90,"integrity":"sha512-t2M+ksWxg886v8oK3KPborn30EWDDwBuVADqjWUMHtdPBzRpHW7kD2HH6X6kOseaUwfH+dQOg1ZOzU9xzBvw8g==","signatures":[{"sig":"MEQCIDWG0+Xfi/qRtm1IuhSqK0XaABNwRbjbJsFUtRLtjBfkAiBR/nBZWRf5EYoj/9ZZQ50krZYFasfTtxzcRcnOAFdxtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232320},"type":"module","engines":{"node":">=16"},"gitHead":"e827a6d5c87843d4bed55211f3c4f1c8bd4136c8","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.5_1752443256481_0.7669586727780764","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"octofriend","version":"0.0.6","license":"MIT","_id":"octofriend@0.0.6","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"7a096e00633bfa8d3d4f689a64c409cd90f684c4","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.6.tgz","fileCount":90,"integrity":"sha512-/70DfT866AjuoSBtKDP3T8DRJlZeh7XuEyFK4Ei45FO6Q72cTG4WdZLZIVVU9D28zu9yJdmzToGWpwo35sRbzw==","signatures":[{"sig":"MEYCIQC5mfyP7cnOPm8cXrU9X4/9ipIvfUqU5QDAVqxCz0ZtNgIhALwnPl7+omIxcpMuwxgYUeUsW9c/LiaWTuLvhWv32z5W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232320},"type":"module","engines":{"node":">=16"},"gitHead":"da0a74662a4ce41212d3fec597269ec2a7671495","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.6_1752443355422_0.8638702941495557","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"octofriend","version":"0.0.7","license":"MIT","_id":"octofriend@0.0.7","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"f1c42a01f144d9c6958e053c07febb9b3255866b","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.7.tgz","fileCount":93,"integrity":"sha512-hK6t2oyh5jMWqYbUnTPv7V9l1ZaFsvcCaCNHKvD9maGWgWJVLAXyrCuvSqKuIgnfhxTpN2JZtX6kidMqD4LsEQ==","signatures":[{"sig":"MEUCIQDhruRq4rnRAvfSAFG+glGCTA+BlOIrdVr6dNf6Z3EGHAIgTjeWimZu+bD2WNx4HP2f+0cBA8Fb9HttLxRz8+ejW6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237420},"type":"module","engines":{"node":">=16"},"gitHead":"c4ec2bde1404e4d647cf122692e12afdb3ab526a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.7_1752446124722_0.5705017742631651","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"octofriend","version":"0.0.8","license":"MIT","_id":"octofriend@0.0.8","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"c043bf5abfcc9a003c4a22944eab2cf9e4119bc3","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.8.tgz","fileCount":93,"integrity":"sha512-9SbZ43rvLk7P9Bnb9SDKOrQRQ5iHcBRpig0nqZMwz2hZNKt2FoMZS9y0x1DLIQ6j9HSftjlzxXZMAugcyJeA3g==","signatures":[{"sig":"MEUCICO44y8aIeXqM4J5rj8CAW8tlbkvcz5Os0bUNtdTGyfjAiEA+pvFx6cFDJJrAAVlgWl2NZDrp0gU9BjhSVh0W8XPkek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241279},"type":"module","engines":{"node":">=16"},"gitHead":"d99296af0855fe7df76cac8d7a16c8bc4a51ba4a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.8_1752448438282_0.5505077012180237","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"octofriend","version":"0.0.9","license":"MIT","_id":"octofriend@0.0.9","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"90939c91dbd0ae5e9f3596f175457ba63e2de8c0","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.9.tgz","fileCount":93,"integrity":"sha512-NFoOhtj/HMcDgIWO+p3KKk6S4CXLdri5haUi6Fw/9Ato4FtcQMmzVJvBuB7u6HW9nhqJihoS6hFUCmCihbIv/A==","signatures":[{"sig":"MEUCIAGQVOUzjSjOTBURk33E8c/Fl9l2flGqMZI2gskhxySCAiEAwPBUZUNtPs1zMigce7wSonO2PLaKmUerpDYf+2ldBIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241610},"type":"module","engines":{"node":">=16"},"gitHead":"14b746d80568ce04fb3ace57941911093b809856","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.9_1752456788720_0.6166621418531455","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"octofriend","version":"0.0.10","license":"MIT","_id":"octofriend@0.0.10","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"aa6d9a978cd3f546146f3f8076b4bb98ecfba973","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.10.tgz","fileCount":113,"integrity":"sha512-tjgA2H1dxHjxGCVJUH2YkxVGIyK3O7ZQTLo1PP1MA+Kg7AGWwt+FuJyOGuxXwLzX/1C3YAySqLw3B7m+El7oWg==","signatures":[{"sig":"MEUCIQDnoCqxVR+GdyKjD6bN80zZAQbvqGoR2LBqQNx9mTrMagIgNR2kKDYklqWEP3Cgcf7Dr0JpETLogBW68j8eHgKc8Vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304146},"type":"module","engines":{"node":">=16"},"gitHead":"1acbf0b31d09bfa0ae0fa6ce388b29b19f944c93","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.10_1752624167577_0.5220250093794692","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"octofriend","version":"0.0.11","license":"MIT","_id":"octofriend@0.0.11","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"f93d13910bc39dd0676455ed67d757eccfe9b610","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.11.tgz","fileCount":119,"integrity":"sha512-3JQuaTdxKCZmk3v3yAQMAZKEHZwx5LmQaUWuTpBEYzutvwbHBh5twUQP6FIrKc+J5GL4z8k1oPWMRv04Ky09Xw==","signatures":[{"sig":"MEQCIGyB2iHdtCy6Ypn3u4SYzgDg23Mi+xZFK5iKz6jj/XsnAiAlNz50kt7LjPOxKS9BrQzWEqXCrFpShAgm2/H4jiJq4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309341},"type":"module","engines":{"node":">=16"},"gitHead":"3161e00e0d23c5ad5a2e3e52847985c422d63010","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](./octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.11_1752691683258_0.11508775913647318","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"octofriend","version":"0.0.12","license":"MIT","_id":"octofriend@0.0.12","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"5a3416786c926916f0487a674c0b11f98227af06","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.12.tgz","fileCount":119,"integrity":"sha512-W/ZDbwuupltoyRoihquQijXnH/+xEA+3VslCF6WeM58sCZjPvk/pMss02k1XI6kcEecvPbdi4ZQ1YB99CwBqxw==","signatures":[{"sig":"MEUCIBSmp25PZqfK4n9SBIcFM3YiGsusL7+EZIu4m/CAb4dCAiEAuI8ElLD/Ua+lYMSnJ1etL46LcS6JlMo0AAfKMRgC+mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311678},"type":"module","engines":{"node":">=16"},"gitHead":"2bb0285bb15d79871d97c3cb1c19a403a6e61624","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.12_1752785241502_0.41074992115420716","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"octofriend","version":"0.0.13","license":"MIT","_id":"octofriend@0.0.13","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"3469691c88d50f8e7cbb706e8661f85424c34f97","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.13.tgz","fileCount":119,"integrity":"sha512-TJB/51dx0D2Ui95JgV9bUgIP54E9AEAFnvetN3qo2QsvcF5SNPDtpiIlRq8vMz4UVXqTfDNoMNegYRKZomoYIA==","signatures":[{"sig":"MEUCIDZaFm4w51+L0ZLozl2MmahdNYEeXWCSzoD0YKsTUef7AiEA751ej2R67yE4oSgJa7pyi08W8IcIsgqnGwiPh3oL/f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312687},"type":"module","engines":{"node":">=16"},"gitHead":"70028d1d069ba22402fba32fd46a6c1ee53870ca","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.13_1752791348589_0.20530838449590116","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"octofriend","version":"0.0.14","license":"MIT","_id":"octofriend@0.0.14","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/cli.js"},"dist":{"shasum":"613d938fbd84c2edd92b6ecde2325d71b0f1597e","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.14.tgz","fileCount":128,"integrity":"sha512-LRO/mKSGfwOq1/CijTjdpWmLnk4Qp4o64LRz5K83plBJ/e10OEYSUF4aPXaJxD7dQYfE+ZMtiQOThOpxOrXS4g==","signatures":[{"sig":"MEQCIAJdjkfp/Vd07MbabHFUbjHHmPeJ/JWSIrgyWnzAdbK2AiB5/DPYnzIKOxHEqmC+BTuOs8UpcTykjXGlrbVDJw2J6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344264},"type":"module","engines":{"node":">=16"},"gitHead":"8e49960e5d08e7b33b59e29e77f764afb460b86a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/cli.js","build":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.14_1753321774293_0.0037964669143375485","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"octofriend","version":"0.0.15","license":"MIT","_id":"octofriend@0.0.15","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"5f785b70f809d14f1f2e3098aa5bc0e2190fe2ce","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.15.tgz","fileCount":143,"integrity":"sha512-tT3RKlvKHo+o02iaDns/atgMMS8zyJGfMFZ/j5hidssyGsi/x6oR7X29LtZr7DSigKB5aWcjeNv2Au6vSKNisw==","signatures":[{"sig":"MEQCIFuHsQxVUYGybHR07i0abwY9SZAfBzZnt6zynK2HEHKqAiBbPug2NuIFPzJc+CXouppeHu+a64ibMHvu9FltNIS/Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411344},"type":"module","engines":{"node":">=16"},"gitHead":"462f4ec791b9b2b15d47c698ea9a0d6028a00769","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.15_1753913104880_0.05990853519419259","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"octofriend","version":"0.0.16","license":"MIT","_id":"octofriend@0.0.16","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"3e2255fa6995b614715f5fca5d7a486755187817","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.16.tgz","fileCount":143,"integrity":"sha512-u7p5B5dj7w0tqomPvxw1rzWLsEuT63Su5TQgVj0bEUX36d8+hQvajNMbCV1wfge54n11fX0KwC+SDlg/LaVdvw==","signatures":[{"sig":"MEYCIQD0jcZ33X3fLQTx4XL+MlFyPtoIh7tveDZe35/nspBh8wIhAI2mhO8akKtVywOm1ODP9dy7ylkLd9DeU35k3xzjuC/z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428076},"type":"module","engines":{"node":">=16"},"gitHead":"913d743295db3209d03bd828ffe6eabb4ba0e927","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.16_1753935714156_0.6011896931741696","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"octofriend","version":"0.0.17","license":"MIT","_id":"octofriend@0.0.17","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"158acc2bf3d29ee8e073467e01b8fb0c6300ef11","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.17.tgz","fileCount":143,"integrity":"sha512-px7KSL7DRxq9a5QNB4/TmFb4LG4G/ekqxHz/4jA4Iza1+CLR2ARgrDTx0V87aNOSzig++dMczA+c1uU3Oi0akw==","signatures":[{"sig":"MEYCIQCG+XR+T/jWmwDJCGpQK+2lRQFkRbk+y6TGumG+snbhggIhAOjc7W9TECGFxhNlKbrcugXGLNswlwQqyFF4jFTcm/dg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432088},"type":"module","engines":{"node":">=16"},"gitHead":"5aea9b46ff1a91d86ec2ce536de1f45f37eb47ec","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.17_1754035668563_0.6278193185370875","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"octofriend","version":"0.0.18","license":"MIT","_id":"octofriend@0.0.18","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"9639440778f1b6eed11ebb2074732ed3b4a538f1","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.18.tgz","fileCount":143,"integrity":"sha512-mVIdnd/P/815O/l6h0shIZullyZGwksGGhZlPNGcaj0Ift8qb8/c0pLozZYy+OZrJXICLlp7z285kza/lAoyDA==","signatures":[{"sig":"MEQCIHlA86Oo5dADX103sn9tQ6P1mCVo3d+kJVFQxYj90SfbAiBZSsxkx0wDtlCU6kC90iXRXIJr+F+X7kLQK3gzgjMTzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431240},"type":"module","engines":{"node":">=16"},"gitHead":"3db89b388ef534315ef37f2375d03499d9711ea1","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.18_1754435152809_0.11199281397963912","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"octofriend","version":"0.0.19","license":"MIT","_id":"octofriend@0.0.19","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"e6cf0c3f72b357228d6fef6831f6cba3b1792f83","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.19.tgz","fileCount":158,"integrity":"sha512-N1hxl4IaoDMyZhlAEKfTUD9kou+i/Vwn7Yz40kDaf4ANs4TEVxuddFhmxew+KZQViWNxiQcIOyapQvxe7zw9Rg==","signatures":[{"sig":"MEUCIEO9F4yq2IW4YgnzMGpxBXVI7bJGxe5XFZCXPVCbHjgbAiEA11CC477ZBVFEecbSvY5Y0++KYSJu3R87X70eLEd4u6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472557},"type":"module","engines":{"node":">=16"},"gitHead":"51cd54158c703e09bdd70ce5a1ac398850a290b6","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.19_1754541014754_0.1042939944406156","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"octofriend","version":"0.0.20","license":"MIT","_id":"octofriend@0.0.20","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"3b7820bc35c8a7b11a017758695aff76a124f739","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.20.tgz","fileCount":161,"integrity":"sha512-+mjgwRt0PCvUA2L41o1q4Rz4S+kEuMLCU7WAbJRK6JCZdSdSYpbtLfN6sea2yXmO6Mz509O3zatvCOlN/9MqXg==","signatures":[{"sig":"MEUCIAfu5kUa/42jDe0L/WT3ixktCRG8+Mb9P1Quk3Zp0LEKAiEA7F4mee2Z6Ls0KLa0MvTA+mGdeVOiPMNl3O5Au8pPJIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511247},"type":"module","engines":{"node":">=16"},"gitHead":"e6a49b9344ba8b403087591db6e2f061c236201a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.20_1754559332834_0.4327225486960393","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"octofriend","version":"0.0.21","license":"MIT","_id":"octofriend@0.0.21","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"2b92c1f4603a68847b327765058ecdf347ca5af1","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.21.tgz","fileCount":161,"integrity":"sha512-OilfoBJYbpz3U+9QcT76eyq+rirOqt861Ft+0Bm4QGGzWtdG8Eo0XQjuN7a/QvN2UGkkGXjAFXunb/7CQRVLRA==","signatures":[{"sig":"MEQCIHHzULpg7gkz3jg9YtNk+wa7l4wIgM258Mf78HeegfEoAiBEe+WxKh2tGsabDZXzWoD55+hX/0DQUD9iSCgu4+PxRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511745},"type":"module","engines":{"node":">=16"},"gitHead":"1563d569d8ebf28b2d9cb15d3108f0cbcf83b0ef","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.21_1754560598907_0.8644963724594721","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"octofriend","version":"0.0.22","license":"MIT","_id":"octofriend@0.0.22","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"e4074b5a5549b21259b8b915950ee4e65543e001","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.22.tgz","fileCount":161,"integrity":"sha512-OlRVkEDFhxH0fBoaZ2XZXYFX+6kLVjNM+q5gat9ekBNsBqdos1H8H8fL2WEGYt21fkiJ+XPPn21V9QUKmiSX2Q==","signatures":[{"sig":"MEYCIQCO3K3045NMAqMxpgHwBlcrnlM2t7aPj/MXQBVFmkTKmgIhAJsteIi4Pd5sFEo/q0gEJYeMWPYKdOdRKfwGnkrfkCVn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":511977},"type":"module","engines":{"node":">=16"},"gitHead":"2a083a6052a7e434e8487511745080146956cc95","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/reissbaker/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.22_1754561301620_0.5269053467871858","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"octofriend","version":"0.0.23","license":"MIT","_id":"octofriend@0.0.23","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"106375d6db4bc189dce82e0962196378ea4f839f","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.23.tgz","fileCount":161,"integrity":"sha512-w7axbRma07IjNoPS7fG2Ml+BUxdEeHgK6NY3PpoiwGiyDzVAfmdJiaGC8wzZMLGhZK7wLEvhfJ4aoTauvLCdFw==","signatures":[{"sig":"MEYCIQDpYWNYLqOyiZOvVXTaCXN5lh0sK9NlA6R2bib67kDt6QIhAM7TNuAq325gcBeKDxA2Kz/gXS44IcYs0yp0FyK6CwYg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512212},"type":"module","engines":{"node":">=16"},"gitHead":"29c8d9386b440c902de21377e32e19eeee52fb36","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/synthetic-lab/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.23_1754591414563_0.30985438478471505","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"octofriend","version":"0.0.24","license":"MIT","_id":"octofriend@0.0.24","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octofriend":"dist/source/cli.js"},"dist":{"shasum":"cd66e49e8011f39f58ea317512d93965f21eefde","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.24.tgz","fileCount":164,"integrity":"sha512-WCpUYknLiz5GHCTO5aA215hBQ86kmKXFuI6IZldwSifO00BSacQDmGsxivR5kNiz3HIZgQy38EBQxpTa7np4wA==","signatures":[{"sig":"MEQCIHyKIgxMP3dqCI0Dn8uHJGq4cjBE4XMFmamBL7zB2znIAiAF7lqU1VyoFi2VyzyB94AyTuxEr7J5LSxFOJRnv0BRyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":523544},"type":"module","engines":{"node":">=16"},"gitHead":"6d3d67a8c818e1e0a1f7e8b17f6fd99deb7efa70","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/synthetic-lab/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.24_1754628552492_0.9081025466978714","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"octofriend","version":"0.0.25","license":"MIT","_id":"octofriend@0.0.25","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"a95695ceec28adfa455e119d4dfdd52983425146","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.25.tgz","fileCount":172,"integrity":"sha512-/IsfeR7COfzrxhOgr9jpu7s8EyLxSMEk0vldtWnXDbqXgEyMnJnU2/0oTH/wynbdGBImVFKrK4rf9HibuhXeVg==","signatures":[{"sig":"MEUCIAWYqPyK1yK8CmsxGYfLiT3rwVh5Pk1G0eD9wRUWUeaJAiEAyHPCzuScxv8ApATSfEqEZhuyttoPikSV9a1w+Iv109g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575549},"type":"module","engines":{"node":">=16"},"gitHead":"a321a7163dd73befbda41cf4598c989edd3211a6","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"![octofriend](https://raw.githubusercontent.com/synthetic-lab/octofriend/main/octofriend.png)","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.25_1755330650822_0.20181482000593576","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"octofriend","version":"0.0.26","license":"MIT","_id":"octofriend@0.0.26","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"0eeb5960b75619ac98f7d9f1e95a7ef40c835917","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.26.tgz","fileCount":211,"integrity":"sha512-JVZ7C6DO/25ZamI5Pr1RfXGzO0nxIjThoxL071nuSLj7jfn511hEU9IfPbUQuT+6uV15fn/8+6ti/n5qM5o/Kg==","signatures":[{"sig":"MEQCIEEgyBPm8wPk6O+JsDZjT4kxcnSTKE76ycIvmwg+jzWhAiBLWvpklBkHX43WJtq72JuAsTyCCyT/PcAa1KJQCsqH8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634143},"type":"module","engines":{"node":">=16"},"gitHead":"5469ae6f8406c83428a755b37bf2bb3f42c7725a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.26_1755601864933_0.5745224397176181","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"octofriend","version":"0.0.27","license":"MIT","_id":"octofriend@0.0.27","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"8048d30f4867235f4f701a8a9227003cbb321092","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.27.tgz","fileCount":211,"integrity":"sha512-tjJ5/F7jk0od85a0Fhboy8oaa/yLbPtiCuTf0naBktH4Ei2qE99nGe9FFyLBssG3mhvJ3fOy84DKTJZu0sjAcg==","signatures":[{"sig":"MEYCIQC3CXIz20xyoER+yJK7kj5q/h33DeD2dSt9dHfGSJFvGwIhAORsYYpcRzGuGVArj8b+DSWxyIVet9GvwBqW7TjrjWgq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":634223},"type":"module","engines":{"node":">=16"},"gitHead":"e51ff4906228ad0e55c0e12108cd89f888f343d4","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.27_1755602116830_0.08787695432544695","host":"s3://npm-registry-packages-npm-production"}},"0.0.28":{"name":"octofriend","version":"0.0.28","license":"MIT","_id":"octofriend@0.0.28","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"6448c868f9b4a1506e3042879b9d20ade3c56357","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.28.tgz","fileCount":222,"integrity":"sha512-zQKTPYczFAgvk0OL5UJd5e3IjuVTcwUpDN2clyQ012Wo7FFQYPewIlgqeNtkBsw55QU8DkEfZXcOidZK8eOC2g==","signatures":[{"sig":"MEUCIQCmuSc5RqTCN7JUdjBy1Ew29ttRB/ItliA6mKn8UGY2fgIgabv7TBB9UvQp03jK6cbKoaksfvapdPDpIRxy6x68yE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":659965},"type":"module","engines":{"node":">=16"},"gitHead":"a3e570f6dd5fd7704dd3d67b61fd9851e8fa182a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.28_1755706453215_0.4266013431734266","host":"s3://npm-registry-packages-npm-production"}},"0.0.29":{"name":"octofriend","version":"0.0.29","license":"MIT","_id":"octofriend@0.0.29","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"344d077115f677cf5cee810677018906aaa771bd","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.29.tgz","fileCount":222,"integrity":"sha512-G7j1X8CFKlvsUsomEiM/cnv8oF8Jb5iaGzpKTmPCN4MviQ+UpNtZva5hj1tTaG7QnauB96R5s8B0WY3/ilU/QQ==","signatures":[{"sig":"MEUCIQDV7Yh5dniKeXQ3PrZ+uNbTVqn3NU3y47TG1abymepIIwIgNaZJLhJ6ZeiOULy/qzshpop8qOXbmDjxdytJIkM1nwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":660475},"type":"module","engines":{"node":">=16"},"gitHead":"32e066d2f322321146f6a9fd86b853eebd688ede","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.29_1755797389352_0.4375962016342909","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"octofriend","version":"0.0.30","license":"MIT","_id":"octofriend@0.0.30","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"d00b8478299832989f75a4dc48faa431a5d45d61","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.30.tgz","fileCount":222,"integrity":"sha512-YILtXdIQFOLiejHyqa5G1Pa6wMDLg2sOwBFrjbzTjY0U5c83gCUF6ersn5D0D3pwKd0fDclaaj4r3MqdVghbEQ==","signatures":[{"sig":"MEYCIQDxESK5hmQ03WOqiTqGZ2zjNj76CcmNABMWUYEFLGbSOwIhAKrCRXXeUwRMaxS8uhvyFFcu2L1+T2QtTrvy3mYNNd49","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":660584},"type":"module","engines":{"node":">=16"},"gitHead":"15511055c7efedae49fc8b1ae09fcbf023b80677","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.30_1755878736038_0.7543429433793014","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"octofriend","version":"0.0.31","license":"MIT","_id":"octofriend@0.0.31","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"f8f51cb62db2bed525511e16f3491e09e3e2d76f","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.31.tgz","fileCount":222,"integrity":"sha512-C0vK2bipbY6R6NE9NPOorWOoO/KG6eW1Ob5cN1Zp69Mm02+o7mZ/SN6jeOpw58wZOZxjyVhCaU+rMXI5Ho4tgg==","signatures":[{"sig":"MEUCIQCdtSM7wTZh18+NBHBhOSfYQ5fhGDqdPhawcLazXEqY/wIgH5l7o2p1LQBIzdNf0Ixxq7xTruH7c758f7k/m7gllVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":664179},"type":"module","engines":{"node":">=16"},"gitHead":"35ac42dfb9a3415236293bb9795e5004868cf1be","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.31_1756314187072_0.4047663532414092","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"octofriend","version":"0.0.32","license":"MIT","_id":"octofriend@0.0.32","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"9b903cf951f5d06e9b7ebdad8c3d1c3823000d41","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.32.tgz","fileCount":222,"integrity":"sha512-hx3Cmdl2A+52NWPOGg0ey9S7dRHN9eOLIVyi1gKBHkXfb8yQIRYwEdI6DtuvULu6klKIriFmBLKJe3Utua35iw==","signatures":[{"sig":"MEUCIQDbEszbszPFuwBsw1icWh4oQjIS4nr9i3yGaTbIZ6m0TAIgfSrAmikQ/wuDOtIlAax/el50Wo7/V4DG5+lne/AwoCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669814},"type":"module","engines":{"node":">=16"},"gitHead":"e9d1e57387d6b31dc593864f72cf5a50f6ccb4be","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.32_1756421023565_0.2657939600194785","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"octofriend","version":"0.0.33","license":"MIT","_id":"octofriend@0.0.33","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"aa8b1b4445dd44864bbca7266063b647cfe2f48e","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.33.tgz","fileCount":222,"integrity":"sha512-KPo5m2zlih5FR2z47rM4JtVI4kFg2/hF72KARFduBiWE0fFAAdO1kp7YtE7iTvSPQ6JdHB7Mq5/Bo9KXkZUfbg==","signatures":[{"sig":"MEYCIQCzBaXDhQfe3Win210VMpii1q2QQlCOLZUV21L5HhuUIQIhAK6dTV0qQEht99r6P81BRdwA5QigpR9f8GTD4Zx3d8/S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669244},"type":"module","engines":{"node":">=16"},"gitHead":"4c5c635d4e1313428fa00f6d70c3a100fda36e02","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.33_1756422522382_0.45184342920690357","host":"s3://npm-registry-packages-npm-production"}},"0.0.34":{"name":"octofriend","version":"0.0.34","license":"MIT","_id":"octofriend@0.0.34","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"d12c6ce53a92f14c882081c779a9b1d01a70cea0","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.34.tgz","fileCount":222,"integrity":"sha512-clO7IhG3Gd0pJNHSqW9pnAGETCSdbHSjnQrWqyhMvB0hVCPRcooRoxlmSEzVm+x57+tQFn6pH39tQJXNQ2CKOQ==","signatures":[{"sig":"MEUCIQDqzo9y6obRT5kjTJuIl4KgjN0qMkSfu5q0usmOczEjfgIgBc36/dpOaOBfUI0TlOHo8yZLdw5rK/5CxwTeSi1EqkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669433},"type":"module","engines":{"node":">=16"},"gitHead":"2081c91ef295b6ac7bd1b3e4847e72c57444e3b5","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.34_1756759429905_0.967034163520045","host":"s3://npm-registry-packages-npm-production"}},"0.0.35":{"name":"octofriend","version":"0.0.35","license":"MIT","_id":"octofriend@0.0.35","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"b26338f30a776063829d1840f5fe836286afcadd","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.35.tgz","fileCount":222,"integrity":"sha512-PhjhFDrtWHtryJ5AZvQa3D5xSB7E00nueFL+z0Wz1ErIhCPX3e1HTP3CMRcB+N/XqAQv4hGVDC46B2fhltW76A==","signatures":[{"sig":"MEQCIG4K2R36bSdfB+UI/T7N0LgB3IF5steVRY72wgKS405LAiBolLAXqtWyBtoLJdQ5fxT3MIzSAt7rLYC4gyB6pnCKhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669550},"type":"module","engines":{"node":">=16"},"gitHead":"0ca348bfee8559ff65d7d2092c5fc0bf8739532b","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.35_1756849171811_0.9042860494733955","host":"s3://npm-registry-packages-npm-production"}},"0.0.36":{"name":"octofriend","version":"0.0.36","license":"MIT","_id":"octofriend@0.0.36","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"cbc08ef2193a5a48771c17f7f03464612aad1782","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.36.tgz","fileCount":222,"integrity":"sha512-qK/OAUeD9dKH3MVljy+appgOXt4YDKZbjhH+pAQ0MZF2N73Wy/zh8IwnqZR3hDPDcA9h44PBpFVs4NExzKV4UA==","signatures":[{"sig":"MEUCIBkTIYHjQ+R97R0NU226GwcIbZOaedr2aPDnf5zleAIxAiEApoQAImXPjv7JgA/TnAsAvbIBtPm68trWb1ddstpZZW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669702},"type":"module","engines":{"node":">=16"},"gitHead":"6d8d11a02e8e6b78238b10da3f3fa427586e20b9","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","html-to-text":"^9.0.5","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-text-input":"^6.0.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.36_1757049894346_0.7763553591015615","host":"s3://npm-registry-packages-npm-production"}},"0.0.37":{"name":"octofriend","version":"0.0.37","license":"MIT","_id":"octofriend@0.0.37","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"d7f500c4c3dd3215e6440d225c4e806c6e0910a4","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.37.tgz","fileCount":257,"integrity":"sha512-XfPczn03WVKi1+ZJrm5b8kUezl3ywd7vOVo1Bp1tNHFnhx5daq33qPKfj/x1k+RWmkkQq+OCSaHK5CzoOFx9WA==","signatures":[{"sig":"MEUCIEWmVG4fp97uf9xr/pAULK2/5JKAF60ytINuUZEtD/YcAiEAmxGpjWfTpA8Zj8Tb5g1Mm0nWGJSGAeZ8RVWTIJMs7KQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":767543},"type":"module","engines":{"node":">=16"},"gitHead":"2f5e220b54f2b5b5a6a9223af9105113c180d841","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^5.2.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^18.2.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","ink-spinner":"^5.0.0","json-schema":"^0.4.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","ink-select-input":"^6.0.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^18.0.32","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.37_1757659093288_0.02756270224845503","host":"s3://npm-registry-packages-npm-production"}},"0.0.38":{"name":"octofriend","version":"0.0.38","license":"MIT","_id":"octofriend@0.0.38","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"072a4ceb712a7e5543f686be67a8b1ceaff6cc1b","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.38.tgz","fileCount":276,"integrity":"sha512-ld4lPp0NAG3XyrxMlwEYkaqk/MQIDTNVf7aOFbvyMcrNwTmmcUETyhtzBICb/PBUM7pmH0F/aJ24pfWIEZvp5Q==","signatures":[{"sig":"MEQCIEyvd2x2PqFYIhcU+Y6P7PrGu4iDv4zgvxnovZizrANqAiBvcLn+6BC908n5sd1vrAR8hL3tu8xXklO824aG+kST3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804406},"type":"module","engines":{"node":">=16"},"gitHead":"44c7ec3f1ba274ce260c199f6227386645bbae38","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.38_1758212008924_0.7149602455438988","host":"s3://npm-registry-packages-npm-production"}},"0.0.39":{"name":"octofriend","version":"0.0.39","license":"MIT","_id":"octofriend@0.0.39","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"0a8dd8d36870cd29d91a210b3737806acc8b0017","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.39.tgz","fileCount":276,"integrity":"sha512-XNa0LN4Hh0CaMVOjicLAOPEwL1OHkzWpV9hnZC6Sv3x1tTfQ6QDQBAoyPIHmqZMApPABX+KtSPpbgqmMsdpu1A==","signatures":[{"sig":"MEYCIQDWAVWs2H+vvFV5gG1Kt2ikVU/2qAJ/zuyKyy8a46uZQgIhAIdtq1tCJbkqicSEyYnzAKLkNF/scKi6Gfn1mCdbq+En","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804996},"type":"module","engines":{"node":">=16"},"gitHead":"8fb604e13305fe1f3c7cec808d06a20e90346460","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.39_1758256991748_0.6168374923990798","host":"s3://npm-registry-packages-npm-production"}},"0.0.40":{"name":"octofriend","version":"0.0.40","license":"MIT","_id":"octofriend@0.0.40","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"f1475acb8a44213710b3f058130e495e7eaad720","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.40.tgz","fileCount":276,"integrity":"sha512-Ykw1s5Avdq3NnQ/VjAoBGe9xWq40+F2x88+SgNcZ1KznuF1jcBZZZgqspjdx1Yu5BWrJ0dupmAZUEw+dX40O2w==","signatures":[{"sig":"MEUCIQDE8wih4TaRMdFdzxoEtY3FnwsUfa3e6JIIWqUeT/o1ogIgPJeLL6zjUiL1fgzxb4r8Rvu5B8JGJbXhqt7fKga4opU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":805612},"type":"module","engines":{"node":">=16"},"gitHead":"d10aba1390eeba65baf1a072372270676e9ca165","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.40_1758299695133_0.5036605494716788","host":"s3://npm-registry-packages-npm-production"}},"0.0.41":{"name":"octofriend","version":"0.0.41","license":"MIT","_id":"octofriend@0.0.41","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"88014d024ef26152f1a55e8c598c95902cc8bb34","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.41.tgz","fileCount":276,"integrity":"sha512-wM/dsXCKJhi+Wc6sbH1Yt9IseRv7CghcI5fbN/nGrVrMI1zYIINVoJb8/cbrEiEZoJEj5/7S7LFvbb4TcaIfMw==","signatures":[{"sig":"MEQCIFuE2+Xr7/1p3Dg7/gIby78EdsPDlRTyurLBhRfNKssuAiAdAKK/ykT6XxcEyUlaa1+9oxUjuZ5/xR4j1PNTsZHztQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":806459},"type":"module","engines":{"node":">=16"},"gitHead":"53a0f014d66dd7f03766bdb89a3e8fc0d24c8648","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.41_1758775390388_0.5967328116086088","host":"s3://npm-registry-packages-npm-production"}},"0.0.42":{"name":"octofriend","version":"0.0.42","license":"MIT","_id":"octofriend@0.0.42","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"f301d450fde8d22d78ea1a797b14c3f00e22e7bd","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.42.tgz","fileCount":276,"integrity":"sha512-MX8Pl721T5lZSN9CPQYU4lZBAAsyjAZpKVGI9hxzqFgB9yaUGi6ws2aqBJV/MN9cr4csfcolRmEmJP3UHmTfxw==","signatures":[{"sig":"MEUCIQCY38A+DGK7A+51mukJ21NT0jTJ5dj7E1tNLrYPoRsqLQIgB+H0EpvqqY/9NRu4YZRj8EURuErt+WZVpy56QfmrFJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":808596},"type":"module","engines":{"node":">=16"},"gitHead":"245460be0773ce9967aace9962084941fc1888f0","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.42_1758906607283_0.3753198754101674","host":"s3://npm-registry-packages-npm-production"}},"0.0.43":{"name":"octofriend","version":"0.0.43","license":"MIT","_id":"octofriend@0.0.43","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"507c47172fea4e07b00cd38e691940aa27c1cf13","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.43.tgz","fileCount":276,"integrity":"sha512-DVUW//35nClZVDB7tOiXoFQ/jUmiMas10r19F0ukt66tBKCPeysExxcVuBvUED4WhTGA0o7uuSHw8FosneSrQA==","signatures":[{"sig":"MEQCICuUw2ZNqReN9ax96O7YM2vs1MTrKhUjYcRHvXLuc2jtAiAddsQbuf3VIX/+opGvr2c0bxijL8Em4lSOrFC9EamlrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":810281},"type":"module","engines":{"node":">=16"},"gitHead":"bfb225cf1f948a7c39314045450d50011f5f9163","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.43_1758908457454_0.7840012160778169","host":"s3://npm-registry-packages-npm-production"}},"0.0.44":{"name":"octofriend","version":"0.0.44","license":"MIT","_id":"octofriend@0.0.44","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"ace6315fe072f4084b90affa8fbebe9e47b028af","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.44.tgz","fileCount":276,"integrity":"sha512-wmopqMUx8sZofLQz6miIIQ9OX6IngY4nYhnw0l0h28vJX+ELdm2/qb5fT4fIj9ClZkFOMUI3yiH7UsF7yT5qhg==","signatures":[{"sig":"MEUCIFiA3l3Q2SgCfNQv8XDTo+yBu7p3gCb0tbi0QH8sOftIAiEAncE971yTLZsW6yUmS9rsysCKPizNHC6iuiVd9SlU7SE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":812464},"type":"module","engines":{"node":">=16"},"gitHead":"a23e55701ab4b5c47f4e79d4d6350653cd71ca55","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.44_1759256642265_0.9336777536821661","host":"s3://npm-registry-packages-npm-production"}},"0.0.45":{"name":"octofriend","version":"0.0.45","license":"MIT","_id":"octofriend@0.0.45","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"b0e47aba9768a022697781ee0a7bacac7b7f62ec","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.45.tgz","fileCount":285,"integrity":"sha512-ImfuMTea7JoIkstTTaZ+gNxAVue2GWkbstyCdXMXEIiqpYIo/x1iRuLOp6+FBMvvDzt0L1c0HeTZsS5oMzr//Q==","signatures":[{"sig":"MEUCIQDTV+b+61K242lYbwZ2z5hNU4M6OXW1cW/ZT+vwwWlQMQIgEu5DYTjj6frymq9Dv79eUuF1Od64mbLfCSJI28+zwg8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":825034},"type":"module","engines":{"node":">=16"},"gitHead":"5070748237d1c8cbf76ead5ad31f24d19550f23f","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.45_1760652364676_0.32402872570116714","host":"s3://npm-registry-packages-npm-production"}},"0.0.46":{"name":"octofriend","version":"0.0.46","license":"MIT","_id":"octofriend@0.0.46","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"49be3020a3a9b395d25f8fbd393b758a20ba1103","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.46.tgz","fileCount":285,"integrity":"sha512-bt7/lme5LdFKz8K9FrXQhLpxsxaF0ZETcZ7AMD3L/G/92Xx5KVP3XfgejeNK1GXe59qxl3H2B4eJt+XF2gHZaw==","signatures":[{"sig":"MEYCIQDHqctGO9m74giWGVIWygA6KN6heNC8fc3LYhq7F82iEAIhAJd1Qeez2X2746SnBW15lbndaavqjYwuDiA50uXDpEFP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":838421},"type":"module","engines":{"node":">=16"},"gitHead":"54d41e3cf5a83910f379a633c49a8ba8fc95936f","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.46_1762465578283_0.5452154507684417","host":"s3://npm-registry-packages-npm-production"}},"0.0.47":{"name":"octofriend","version":"0.0.47","license":"MIT","_id":"octofriend@0.0.47","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"881869826983fbd02a7f16d87f50ce52e41f40c6","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.47.tgz","fileCount":291,"integrity":"sha512-8bDccXJJnc8fGIEvm3YEEqmqzuNgkoMUcECpfb4B1sros9ab34wNKPDpH0QkHqAYTEwX5Kky0jIwJ0uROI1MQg==","signatures":[{"sig":"MEYCIQCiFsSmgkuW1vCm73j8BRwJejsJHJlwXzsugIgFS/5yCAIhAM02MszDX6MBSYnnhS3FxeLxsZm66HiMaP5ciL4P5dsy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":882521},"type":"module","engines":{"node":">=16"},"gitHead":"bd9cfc1570bb6b920d23c7fae992f432ea018dd3","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.47_1764887304057_0.19812660285574069","host":"s3://npm-registry-packages-npm-production"}},"0.0.48":{"name":"octofriend","version":"0.0.48","license":"MIT","_id":"octofriend@0.0.48","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"f39f49d92eb7813d135621d65aed4c5ee8ffde19","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.48.tgz","fileCount":295,"integrity":"sha512-TZ8vPYv0mVmTi0U4qSwErPDVirxXH55ZeVXqL3xcepj16KyHnXymVR7pWMTJACkr79WIA/YidyjIFp2o/74now==","signatures":[{"sig":"MEUCIGzOH4u3YUtqRPdbO2WL7kWHjONqlnJcyeY4ZgtZjDyDAiEAhFbnrU2yFaKX7fHRyDH/1STY3OFDUif6hmvlxTDiLvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":899224},"type":"module","engines":{"node":">=16"},"gitHead":"9e108da98d01e7a3cae41b3cea3dcdaa98f99597","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.8.2","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.48_1766010656827_0.4987154466870025","host":"s3://npm-registry-packages-npm-production"}},"0.0.49":{"name":"octofriend","version":"0.0.49","license":"MIT","_id":"octofriend@0.0.49","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"9e0fd08d5a68285d5289063eda3c1681e2729d0d","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.49.tgz","fileCount":334,"integrity":"sha512-CHQ0lCT2lnKNSBAlUGDetfGRYYZzWoUL+Cw/q5gEexznUY0xsgbX3kqJr0XXpHzYwoCqzmQ9TjcvdoP03zsk4g==","signatures":[{"sig":"MEQCIEMK1x8mDnkOUnqG6WYOcQPZXgBseTyZLXPAm3MvoxEXAiAOhSQjWuRJlMPjxm9Vs+t1E2PDouczEq6G6fqsgdGUkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1014311},"type":"module","engines":{"node":">=16"},"gitHead":"dc74820a70916aa6a46776bcf10ad0624e317b69","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.49_1767388559677_0.9589239024775962","host":"s3://npm-registry-packages-npm-production"}},"0.0.50":{"name":"octofriend","version":"0.0.50","license":"MIT","_id":"octofriend@0.0.50","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"41e3b9efd9db53db19aa10c88fdee862dbf53a62","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.50.tgz","fileCount":341,"integrity":"sha512-aJCIGeGibSdAKyazT+ocWmhp8mSt7cfSI7Dz6GuEXwLAUIGKEKsByrsgkSTldA4Bhol6bYNlUGCVUd7P3Zyqxg==","signatures":[{"sig":"MEUCIQD+UdjeXg2ClKE2TiMNg7IKV4h7tSk4FUt2GAYUNLOGzAIgZkVBMy+w1sQPa8cKS3QOEVfdwp3H9TtbXgOdmCvpXMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1021180},"type":"module","engines":{"node":">=16"},"gitHead":"4774ff4dd37f18e200ec2a1d73495cc090e40c1a","scripts":{"dev":"tsc --watch","exec":"tsc && node ./dist/source/cli.js","test":"vitest","build":"tsc","test:run":"vitest run","prepublishOnly":"tsc"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"ai":"^5.0.5","ink":"^6.3.0","diff":"^8.0.2","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.0.0","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.0.1","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","@types/react":"^19.0.0","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.50_1767426650030_0.46419566255277034","host":"s3://npm-registry-packages-npm-production"}},"0.0.51":{"name":"octofriend","version":"0.0.51","license":"MIT","_id":"octofriend@0.0.51","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"bd20ee5d8e49ed24c19f224e546a885a2b4f8f4b","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.51.tgz","fileCount":328,"integrity":"sha512-spUZe20AKp7FFR8WGxaj8wCQEXWA9IxD31gPgp8mhafyk9qs4yPo6HFR/k4hw6koD6YDWPj4m31qHEK0iqSvzw==","signatures":[{"sig":"MEUCIGCRpSCCffgyhRz6dORMqtbHIQvsTxKj1KpvCQ84QOJgAiEA4oSdxTVOXhPQqyM9zK4eJ9AKzSzzHZ/diUo3ltCGWRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1026818},"type":"module","engines":{"node":">=16"},"gitHead":"a9c64290d8ad0cf21fee08edc530389553e00439","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli.js","test":"vitest","build":"babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"ai":"^5.0.5","ink":"^6.6.0","diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.3","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.25.2","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.3","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.51_1768955984772_0.012528153190074276","host":"s3://npm-registry-packages-npm-production"}},"0.0.52":{"name":"octofriend","version":"0.0.52","license":"MIT","_id":"octofriend@0.0.52","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"ab3ff19bfa244d17f855690002109a3a2541575e","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.52.tgz","fileCount":328,"integrity":"sha512-Jz0eRxxSzW3eSIN0J+7+7KAEEVUsTnscUCHkMv2gUWB6uFR3E4bSYO1Z/TGSHCR3J5kA/X1MsHfL82/3OU90TA==","signatures":[{"sig":"MEQCIAr5AtFaONkaKaBdrlS/1rInhdhOwuM5JY1FD+DG/cT5AiBZS37yHk1AZlaf8L5AbbmkfPWZf854NXFN69/Qop+eQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1025996},"type":"module","engines":{"node":">=16"},"gitHead":"e5540baa1a940d27400416491e17b42987309351","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli.js","test":"vitest","build":"babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"ai":"^5.0.5","ink":"^6.6.0","diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.3","figlet":"^1.8.0","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.25.2","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.3","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.52_1768974916792_0.5307220204557821","host":"s3://npm-registry-packages-npm-production"}},"0.0.53":{"name":"octofriend","version":"0.0.53","license":"MIT","_id":"octofriend@0.0.53","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli.js","octofriend":"dist/source/cli.js"},"dist":{"shasum":"8e2b037a67a6dc85c4e429b5ef484bd84b094689","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.53.tgz","fileCount":350,"integrity":"sha512-j8qbyuyry688rXhaDdby7YUsLqAK79gyd7w34jF4eZVnwDuD3QWbxsR0W3EoBcOKT4kz84YfjcUgT3HKCPfOUw==","signatures":[{"sig":"MEUCIQC5pPfhqJSTfYZKRDFVNboY0MxypFP5wBKkH9Lq2fnBXwIgadr0KWhyuqpTY47WwZGKEcn1lO810i7tJQ6hJepApRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1210573},"type":"module","engines":{"node":">=16"},"gitHead":"e08688778b085727e13a231f5a22f80d69d4d943","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli.js","test":"vitest","build":"babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"ai":"^5.0.5","ink":"^6.6.0","diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.3","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.29","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.44.4","json-schema":"^0.4.0","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","@ai-sdk/openai":"^2.0.4","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.58.0","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.3","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","ink-testing-library":"^3.0.0","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.53_1772242975934_0.8763357235335596","host":"s3://npm-registry-packages-npm-production"}},"0.0.54":{"name":"octofriend","version":"0.0.54","license":"MIT","_id":"octofriend@0.0.54","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli/bin.js","octofriend":"dist/source/cli/bin.js"},"dist":{"shasum":"9fa578c819b5fa44f038b486fdb5e513c910afeb","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.54.tgz","fileCount":369,"integrity":"sha512-t5yMHcPdxk1UXWk9HT2jKEg8JGbQ5MahA8VgzOGSEZAdh1v+kZNUgGhJAn5Nhmq25VeL9D0chheoGdS3noQD/w==","signatures":[{"sig":"MEUCIHDeEpZThzAi/J3eF4e68XLK234wvj24mtKPH+eCs8o3AiEA4bZOeh1pxKdj7XXk5faNTwFv2r9Ne82Jcu7gBKPjhsU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1802728},"type":"module","engines":{"node":">=16"},"gitHead":"2af62a57ab2fe8e3ef8fd4940deaeb58ae02066e","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","test":"vitest","build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","exec:prod":"npm run build && node ./dist/source/cli/bin.js","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.6","which":"^6.0.1","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.36","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.45.2","json-schema":"^0.4.0","paintcannon":"0.0.36","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.115.0","paintcannon-react":"0.0.36","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0","vscode-languageserver-types":"^3.17.5"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.6","@types/which":"^3.0.4","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","react-test-renderer":"^19.2.6","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","@types/react-test-renderer":"^19.1.0","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.54_1784958156235_0.6015772635254348","host":"s3://npm-registry-packages-npm-production"}},"0.0.55":{"name":"octofriend","version":"0.0.55","license":"MIT","_id":"octofriend@0.0.55","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli/bin.js","octofriend":"dist/source/cli/bin.js"},"dist":{"shasum":"0ec19d2b6eeb875a484cc75118210c8d47deb4d1","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.55.tgz","fileCount":369,"integrity":"sha512-JOgdmBUC7Ci2gIhVOPacZ6R34udmJA4agrk3Aa+q8htXbsOdYXwWpmVoqA9FHvviZ79YuWAiisTE2QhDX+M2mg==","signatures":[{"sig":"MEQCIEDQNa8gB0SkDss/7kS7Y8NY9J+CTs74KHYvoMbNXIcYAiBlhc9IC210cH/r/JnLOgiK51Hl3Pa/g1a2XPgWE2vdQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1812000},"type":"module","engines":{"node":">=16"},"gitHead":"be89119446b46a94c1c42c10de932af3ba54dfc3","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","test":"vitest","build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","exec:prod":"npm run build && node ./dist/source/cli/bin.js","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.6","which":"^6.0.1","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.36","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.45.2","json-schema":"^0.4.0","paintcannon":"0.0.36","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.115.0","paintcannon-react":"0.0.36","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0","vscode-languageserver-types":"^3.17.5"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.6","@types/which":"^3.0.4","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","react-test-renderer":"^19.2.6","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","@types/react-test-renderer":"^19.1.0","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.55_1784961280725_0.6242154069392329","host":"s3://npm-registry-packages-npm-production"}},"0.0.56":{"name":"octofriend","version":"0.0.56","license":"MIT","_id":"octofriend@0.0.56","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli/bin.js","octofriend":"dist/source/cli/bin.js"},"dist":{"shasum":"65bd48aa7b02f154c01dd9a4fe70465b0e600455","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.56.tgz","fileCount":373,"integrity":"sha512-DIeBK++cQmCnLw3MxtRGbTl7erOCGP5fWFutulmQ8ArczGjVtrfjXkhWBsFNPyHnLmw/pc7gYLPjL4fEw8nOGw==","signatures":[{"sig":"MEQCIHCMdTysBKasuSkxo0I60p40BNp4Hgi8IR3KI+5hkW6xAiB/zQ830GavBnv9yg3BdrOrPk3nxMyaIhxyxLLBX5a1yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1818623},"type":"module","engines":{"node":">=16"},"gitHead":"b0ac5a9de570550baf4eaefb20156c35d915b965","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","test":"vitest","build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","exec:prod":"npm run build && node ./dist/source/cli/bin.js","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.25.0"},"@esbuild-kit/core-utils":{"esbuild":"0.25.0"},"@esbuild-kit/esm-loader":{"esbuild":"0.25.0"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.6","which":"^6.0.1","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.36","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.45.2","json-schema":"^0.4.0","paintcannon":"0.0.36","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","better-sqlite3":"^12.2.0","@anthropic-ai/sdk":"^0.115.0","paintcannon-react":"0.0.36","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0","vscode-languageserver-types":"^3.17.5"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","vite":"^7.3.1","husky":"^9.1.7","vitest":"^3.2.4","prettier":"3.7.4","@babel/cli":"^7.28.3","typescript":"^5.8.3","@babel/core":"^7.28.5","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.6","@types/which":"^3.0.4","@types/figlet":"^1.7.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^7.28.5","@types/html-to-text":"^9.0.4","react-test-renderer":"^19.2.6","@vitejs/plugin-react":"^5.1.2","@types/better-sqlite3":"^7.6.13","@babel/preset-typescript":"^7.28.5","@types/react-test-renderer":"^19.1.0","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.56_1784976790581_0.9244297887045712","host":"s3://npm-registry-packages-npm-production"}},"0.0.57":{"name":"octofriend","version":"0.0.57","license":"MIT","_id":"octofriend@0.0.57","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli/bin.js","octofriend":"dist/source/cli/bin.js"},"dist":{"shasum":"8c341543ad9a762e9d3c3a9d23703a3ba374a4a5","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.57.tgz","fileCount":381,"integrity":"sha512-gnVGttdyxo7q7UHfQPhrP0n1SG//tHHmg9C0Pz+noqEJQqYgEZMb0MDrIaxfH8HjQF7rAaX7xUJsM3wU/PQAJg==","signatures":[{"sig":"MEQCIE7pf7GKWfQhlTwjHHoObVzWDwuzVEIu+gAV5DKrhbhlAiBoV1reT0lErQ8U+TzcyOXkode+IXeWcFEPX9WBuxFHaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1882482},"type":"module","volta":{"npm":"12.0.1","node":"24.18.0"},"engines":{"node":">=16"},"gitHead":"8b622d9805315ef907f61d102659922a25c8cc1a","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","test":"vitest","build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","exec:prod":"npm run build && node ./dist/source/cli/bin.js","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.28.1"},"@esbuild-kit/core-utils":{"esbuild":"0.28.1"},"@esbuild-kit/esm-loader":{"esbuild":"0.28.1"},"@modelcontextprotocol/sdk":{"@hono/node-server":"^2.0.12"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"10.9.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"22.12.0","dependencies":{"diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.6","which":"^6.0.1","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.36","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.45.2","json-schema":"^0.4.0","paintcannon":"0.0.37","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","paintcannon-react":"0.0.37","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0","vscode-languageserver-types":"^3.17.5"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.3","vite":"^8.1.5","husky":"^9.1.7","vitest":"^4.1.10","prettier":"3.7.4","rolldown":"^1.2.0","@babel/cli":"^8.0.4","typescript":"^5.8.3","@babel/core":"^8.0.1","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.6","@types/which":"^3.0.4","@types/figlet":"^1.7.0","@babel/runtime":"^8.0.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^8.0.1","@types/html-to-text":"^9.0.4","react-test-renderer":"^19.2.6","@vitejs/plugin-react":"^6.0.4","@types/better-sqlite3":"^7.6.13","@rolldown/plugin-babel":"^0.2.3","@babel/preset-typescript":"^8.0.1","@types/react-test-renderer":"^19.1.0","babel-plugin-react-compiler":"^1.0.0","@babel/plugin-transform-runtime":"^8.0.1","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.57_1785549559083_0.7830840446987393","host":"s3://npm-registry-packages-npm-production"}},"0.0.58":{"name":"octofriend","version":"0.0.58","license":"MIT","_id":"octofriend@0.0.58","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"homepage":"https://github.com/synthetic-lab/octofriend#readme","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"bin":{"octo":"dist/source/cli/bin.js","octofriend":"dist/source/cli/bin.js"},"dist":{"shasum":"03da9e50a70291f197be27262647091c036041a3","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.58.tgz","fileCount":381,"integrity":"sha512-CgmjkOfwg6hOXsmd+T8BWXUeLabIgYEKlVpJQYlNbvMBFgwPs/8109stZ72lQxyzVGeFuyiUKpjmPZhi0a0v0Q==","signatures":[{"sig":"MEUCIQDOdRtmOZ7ELC7eIEki3h/156MRedzamWn8kR6q7Aza+gIgSi1uXEKeZcDqwgvzIftf+MzetGeaOOsCoS4FxEGFoJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1868536},"type":"module","volta":{"npm":"12.0.1","node":"24.18.0"},"engines":{"node":">=16"},"gitHead":"ef9bf5bc49c259cdaeb7c2b878af364c6dc8f52e","scripts":{"dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","test":"vitest","build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","format":"prettier --write .","prepare":"husky","test:run":"vitest run","exec:prod":"npm run build && node ./dist/source/cli/bin.js","format:check":"prettier --check .","prepublishOnly":"npm run build"},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"overrides":{"drizzle-kit":{"esbuild":"0.28.1"},"@esbuild-kit/core-utils":{"esbuild":"0.28.1"},"@esbuild-kit/esm-loader":{"esbuild":"0.28.1"},"@modelcontextprotocol/sdk":{"@hono/node-server":"^2.0.12"}},"repository":{"url":"git+https://github.com/synthetic-lab/octofriend.git","type":"git"},"_npmVersion":"11.16.0","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"diff":"^8.0.3","yaml":"^2.0.0","chalk":"^5.4.1","json5":"^2.2.3","react":"^19.2.6","which":"^6.0.1","figlet":"^1.8.0","ignore":"^7.0.5","marked":"^16.2.0","openai":"^5.9.0","figures":"^6.1.0","zustand":"^5.0.3","commander":"^13.1.0","clipboardy":"^5.0.0","structural":"^0.0.36","to-rotated":"^1.0.0","antipattern":"^0.0.7","drizzle-orm":"^0.45.2","json-schema":"^0.4.0","paintcannon":"0.0.37","shell-quote":"^1.8.3","cli-spinners":"^2.7.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","string-width":"^7.2.0","better-sqlite3":"^13.0.1","@anthropic-ai/sdk":"^0.115.0","paintcannon-react":"0.0.37","@modelcontextprotocol/sdk":"^1.26.0","@commander-js/extra-typings":"^13.1.0","vscode-languageserver-types":"^3.17.5"},"preferGlobal":true,"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.3","vite":"^8.1.5","husky":"^9.1.7","vitest":"^4.1.10","prettier":"3.7.4","rolldown":"^1.2.0","@babel/cli":"^8.0.4","typescript":"^5.8.3","@babel/core":"^8.0.1","@types/node":"^22.13.13","drizzle-kit":"^0.31.4","lint-staged":"^16.2.7","@types/react":"^19.2.6","@types/which":"^3.0.4","@types/figlet":"^1.7.0","@babel/runtime":"^8.0.0","parse-git-diff":"^0.0.19","@types/json-schema":"^7.0.15","@types/shell-quote":"^1.7.5","@babel/preset-react":"^8.0.1","@types/html-to-text":"^9.0.4","react-test-renderer":"^19.2.6","@vitejs/plugin-react":"^6.0.4","@types/better-sqlite3":"^7.6.13","@rolldown/plugin-babel":"^0.2.3","@babel/preset-typescript":"^8.0.1","@types/react-test-renderer":"^19.1.0","babel-plugin-react-compiler":"^1.0.0","@babel/plugin-transform-runtime":"^8.0.1","babel-plugin-replace-import-extension":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/octofriend_0.0.58_1785631544056_0.9008167335310544","host":"s3://npm-registry-packages-npm-production"}},"0.0.59":{"name":"octofriend","version":"0.0.59","license":"MIT","repository":{"type":"git","url":"git+https://github.com/synthetic-lab/octofriend.git"},"bin":{"octofriend":"dist/source/cli/bin.js","octo":"dist/source/cli/bin.js"},"type":"module","preferGlobal":true,"engines":{"node":">=16"},"scripts":{"build":"rm -rf dist && babel source -d dist/source --extensions \".ts,.tsx\" && tsc --emitDeclarationOnly","dev":"npm run build -- --watch","exec":"npm run build && node ./dist/source/cli/cli.js","exec:prod":"npm run build && node ./dist/source/cli/bin.js","test":"vitest","test:run":"vitest run","prepublishOnly":"npm run build","format":"prettier --write .","format:check":"prettier --check .","prepare":"husky"},"lint-staged":{"*.{js,jsx,ts,tsx,json,md}":["prettier --write"]},"dependencies":{"@anthropic-ai/sdk":"^0.115.0","@commander-js/extra-typings":"^13.1.0","@modelcontextprotocol/sdk":"^1.26.0","antipattern":"^0.0.7","better-sqlite3":"^13.0.1","chalk":"^5.4.1","cli-spinners":"^2.7.0","clipboardy":"^5.0.0","commander":"^13.1.0","diff":"^8.0.3","drizzle-orm":"^0.45.2","figlet":"^1.8.0","figures":"^6.1.0","highlight.js":"^11.11.1","html-to-text":"^9.0.5","ignore":"^7.0.5","json-schema":"^0.4.0","json5":"^2.2.3","marked":"^16.2.0","openai":"^5.9.0","paintcannon":"0.0.37","paintcannon-react":"0.0.37","react":"^19.2.6","shell-quote":"^1.8.3","string-width":"^7.2.0","structural":"^0.0.36","to-rotated":"^1.0.0","vscode-languageserver-types":"^3.17.5","which":"^6.0.1","yaml":"^2.0.0","zustand":"^5.0.3"},"devDependencies":{"@babel/cli":"^8.0.4","@babel/core":"^8.0.1","@babel/plugin-transform-runtime":"^8.0.1","@babel/preset-react":"^8.0.1","@babel/preset-typescript":"^8.0.1","@babel/runtime":"^8.0.0","@types/better-sqlite3":"^7.6.13","@types/figlet":"^1.7.0","@types/html-to-text":"^9.0.4","@types/json-schema":"^7.0.15","@types/node":"^22.13.13","@types/react":"^19.2.6","@types/react-test-renderer":"^19.1.0","@types/shell-quote":"^1.7.5","@types/which":"^3.0.4","@rolldown/plugin-babel":"^0.2.3","@vitejs/plugin-react":"^6.0.4","babel-plugin-react-compiler":"^1.0.0","babel-plugin-replace-import-extension":"^1.1.5","drizzle-kit":"^0.31.4","husky":"^9.1.7","lint-staged":"^16.2.7","parse-git-diff":"^0.0.19","prettier":"3.7.4","react-test-renderer":"^19.2.6","rolldown":"^1.2.0","tsx":"^4.21.3","typescript":"^5.8.3","vite":"^8.1.5","vitest":"^4.1.10"},"overrides":{"@modelcontextprotocol/sdk":{"@hono/node-server":"^2.0.12"},"@esbuild-kit/core-utils":{"esbuild":"0.28.1"},"@esbuild-kit/esm-loader":{"esbuild":"0.28.1"},"drizzle-kit":{"esbuild":"0.28.1"}},"volta":{"node":"24.18.0","npm":"12.0.1"},"gitHead":"d01c47f25864a373247e095ae5c93589f2a039de","_id":"octofriend@0.0.59","description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"homepage":"https://github.com/synthetic-lab/octofriend#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-FnihpP1Uyr3DhplFl20htbyNmCe0SxCT9MNLwTPpb5CqubK/tpbYAXgiAzc0nCSjfGkI5W+57dEjtTaJeD2gmQ==","shasum":"36d15e4db3006ff1ce482166637896a295cee8b6","tarball":"https://registry.npmjs.org/octofriend/-/octofriend-0.0.59.tgz","fileCount":381,"unpackedSize":1894774,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBT0osEdDO1i+iLqO2ekMZQn9OVSIGA0w/Igcf7Iw3izAiEAi3h8pE2IdOuitX1pWtfdAgkkOxQdncQ/E9KS/aJIx98="}]},"_npmUser":{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"},"directories":{},"maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/octofriend_0.0.59_1785635791008_0.21837826826031126"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-31T00:27:16.226Z","modified":"2026-08-02T01:56:31.300Z","0.0.1":"2025-03-31T00:27:16.423Z","0.0.2":"2025-04-04T01:26:01.373Z","0.0.3":"2025-07-13T21:31:11.757Z","0.0.4":"2025-07-13T21:33:44.175Z","0.0.5":"2025-07-13T21:47:36.709Z","0.0.6":"2025-07-13T21:49:15.594Z","0.0.7":"2025-07-13T22:35:24.902Z","0.0.8":"2025-07-13T23:13:58.468Z","0.0.9":"2025-07-14T01:33:08.898Z","0.0.10":"2025-07-16T00:02:47.822Z","0.0.11":"2025-07-16T18:48:03.465Z","0.0.12":"2025-07-17T20:47:21.691Z","0.0.13":"2025-07-17T22:29:08.772Z","0.0.14":"2025-07-24T01:49:34.470Z","0.0.15":"2025-07-30T22:05:05.099Z","0.0.16":"2025-07-31T04:21:54.372Z","0.0.17":"2025-08-01T08:07:48.771Z","0.0.18":"2025-08-05T23:05:53.056Z","0.0.19":"2025-08-07T04:30:14.933Z","0.0.20":"2025-08-07T09:35:33.022Z","0.0.21":"2025-08-07T09:56:39.129Z","0.0.22":"2025-08-07T10:08:21.881Z","0.0.23":"2025-08-07T18:30:14.785Z","0.0.24":"2025-08-08T04:49:12.677Z","0.0.25":"2025-08-16T07:50:51.030Z","0.0.26":"2025-08-19T11:11:05.243Z","0.0.27":"2025-08-19T11:15:17.102Z","0.0.28":"2025-08-20T16:14:13.467Z","0.0.29":"2025-08-21T17:29:49.622Z","0.0.30":"2025-08-22T16:05:36.344Z","0.0.31":"2025-08-27T17:03:07.298Z","0.0.32":"2025-08-28T22:43:43.804Z","0.0.33":"2025-08-28T23:08:42.631Z","0.0.34":"2025-09-01T20:43:50.168Z","0.0.35":"2025-09-02T21:39:32.084Z","0.0.36":"2025-09-05T05:24:54.599Z","0.0.37":"2025-09-12T06:38:13.477Z","0.0.38":"2025-09-18T16:13:29.153Z","0.0.39":"2025-09-19T04:43:11.990Z","0.0.40":"2025-09-19T16:34:55.384Z","0.0.41":"2025-09-25T04:43:10.624Z","0.0.42":"2025-09-26T17:10:07.521Z","0.0.43":"2025-09-26T17:40:57.717Z","0.0.44":"2025-09-30T18:24:02.479Z","0.0.45":"2025-10-16T22:06:04.935Z","0.0.46":"2025-11-06T21:46:18.471Z","0.0.47":"2025-12-04T22:28:24.251Z","0.0.48":"2025-12-17T22:30:57.052Z","0.0.49":"2026-01-02T21:15:59.878Z","0.0.50":"2026-01-03T07:50:50.222Z","0.0.51":"2026-01-21T00:39:45.002Z","0.0.52":"2026-01-21T05:55:16.974Z","0.0.53":"2026-02-28T01:42:56.065Z","0.0.54":"2026-07-25T05:42:36.378Z","0.0.55":"2026-07-25T06:34:40.861Z","0.0.56":"2026-07-25T10:53:10.726Z","0.0.57":"2026-08-01T01:59:19.260Z","0.0.58":"2026-08-02T00:45:44.215Z","0.0.59":"2026-08-02T01:56:31.162Z"},"bugs":{"url":"https://github.com/synthetic-lab/octofriend/issues"},"license":"MIT","homepage":"https://github.com/synthetic-lab/octofriend#readme","repository":{"type":"git","url":"git+https://github.com/synthetic-lab/octofriend.git"},"description":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant. Octo is your friend.","maintainers":[{"name":"reissbaker","email":"matthew.reiss.baker@gmail.com"}],"readme":"Octo is a small, helpful, zero-telemetry, cephalopod-flavored coding assistant.\nOcto is your friend.\n\n## Get Started\n\n```bash\nnpm install --global octofriend\n```\n\nAnd then:\n\n```bash\noctofriend\n# or, for short:\nocto\n```\n\n![octofriend](https://raw.githubusercontent.com/synthetic-lab/octofriend/main/octofriend.png)\n\n## About\n\nOcto is a small, helpful, cephalopod-flavored coding assistant that works with\nany OpenAI-compatible or Anthropic-compatible LLM API, and allows you to switch\nmodels at will mid-conversation when a particular model gets stuck. Octo can\noptionally use (and we recommend using) ML models we custom-trained and\nopen-sourced ([1](https://huggingface.co/syntheticlab/diff-apply),\n[2](https://huggingface.co/syntheticlab/fix-json)) to automatically handle tool\ncall and code edit failures from the main coding models you're working with:\nthe autofix models work with any coding LLM. Octo works great with Kimi\nK2.7-Code, GLM-5.2, GPT-5.6, and Claude 5 (although pretty much any agentic\ncoding model will work). Octo wants to help you because Octo is your friend.\n\nOcto has zero telemetry. Using Octo with a privacy-focused LLM provider (may we\nselfishly recommend [Synthetic](https://synthetic.new)?) means your code stays\nyours. But you can also use it with any OpenAI-compatible API provider, with\nAnthropic, or with local LLMs you run on your own machine.\n\n## Enabling web search\n\nBy default, Octo will look for Synthetic API keys to use Synthetic's private,\nzero-data-retention search API to power Octo's web search tool. If you have any\nSynthetic models configured anywhere in Octo, Octo's search tool will Just\nWork: even non-Synthetic-hosted models, like Claude, will be able to use Octo's\nweb search tool.\n\nIf you don't want to use Synthetic's search API, but you still want to use the\nweb search tool, you can configure the `search` config in\n`~/.config/octofriend/octofriend.json5`:\n\n```typescript\n{\n  // ...the rest of your config,\n  search: {\n    url: \"some_search_api_url\",\n    apiEnvVar: \"SOME_ENV_VAR_FOR_AUTH\"\n  },\n}\n```\n\nThe search tool will make POST requests against the configured URL with the\nfollowing format, which is compatible with both Synthetic and\n[Exa](https://exa.ai):\n\n```javascript\n{\n  query: \"some search query\",\n}\n```\n\nIf you don't configure the `search` config, and you don't configure any\nSynthetic API keys, Octo's harness will automatically hide the web search tool\nso Octo doesn't try to call it.\n\n## Demo\n\n[![Octo asciicast](https://raw.githubusercontent.com/synthetic-lab/octofriend/main/octo-asciicast.svg)](https://asciinema.org/a/728456)\n\n## Sandboxing Octo\n\nOcto has built-in Docker support, and can attach to any Docker container\nwithout needing special configuration or editing the image or container. To\nmake Octo run inside an _existing_ container you have running — for example, if\nyou already have a Docker Compose setup — run `octo docker connect\nyour-container-name`.\n\nTo have Octo launch a Docker image and shut it down when Octo quits, you can\nrun:\n\n```bash\n# Make sure to add the -- before the docker run args!\nocto docker run -- ordinary-docker-run-args\n```\n\nFor example, to launch Octo inside an Alpine Linux container:\n\n```bash\nocto docker run -- -d -i -t alpine /bin/sh\n```\n\nAll of Octo shell commands and filesystem edits and reads will happen inside\nthe container. However, Octo will continue to use any MCP servers you have\ndefined in your config via your host machine (since the MCP servers are\npresumably running on your machine, not inside the container), and will make\nHTTP requests from your machine as well if it uses the built-in `fetch` tool,\nso that you can use arbitrary containers that may not have `wget` or `curl`\ninstalled.\n\n## Rules\n\nOcto will look for instruction files named like so:\n\n- `OCTO.md`\n- `CLAUDE.md`\n- `AGENTS.md`\n\nOcto uses the _first_ one of those it finds: so if you want to have different\ninstructions for Octo than for Claude, just have an `OCTO.md` and a\n`CLAUDE.md`, and Octo will ignore your `CLAUDE.md`.\n\nOcto will search the current directory for rules, and every parent directory,\nup until (inclusive of) your home directory. All rule files will be merged: so\nif you want project-specific rules as well as general rules to apply\neverywhere, you can add an `OCTO.md` to your project, as well as a global\n`OCTO.md` in your home directory.\n\nIf you don't want to clutter your home directory, you can also add a global\nrules file in `~/.config/octofriend/OCTO.md`.\n\n## Skills\n\nOcto supports the [Agent Skills](https://agentskills.io/) spec for giving\nreusable context-dependent instructions. If you want to give special\ninstructions for Octo to do code reviews, for example, you might write a code\nreview skill file, and Octo will intelligently load the skill when it needs to\ndo code reviews. You can find the full skill spec on the [Agent Skills\nwebsite](https://agentskills.io), but they're essentially just tagged Markdown\nwith optional scripts. Here's a very simple code review skill you might use:\n\n```markdown\n---\nname: \"pr-review\"\ndescription: \"Review Github pull requests\"\n---\n\nTo load a Github pull request, run the fetch tool twice:\n\n## First fetch\n\nFirst, load the URL for the PR to understand the author's intent.\n\nYour fetch tool does not execute JavaScript. Note that parts of the Github UI\nmay fail without JS; for example, loading comments might say:\n\n    UH OH!\n    There was an error while loading\"\n\nThis is okay and expected. Don't worry about that.\n\n## Second fetch: load the diff\n\nTo load the diff for the PR, fetch the PR URL with a `.diff`\nattached to the end. For example, to review\n`https://github.com/synthetic-lab/octofriend/pull/66`, you should fetch:\n\n`https://github.com/synthetic-lab/octofriend/pull/66.diff`\n\nThe diff is the most important part. The author may be incorrect, or have the\nright idea but the wrong implementation. Focus on whether there are any bugs or\nunexpected behavior.\n```\n\nWe automatically detect skills in the following places:\n\n- `~/.config/agents/skills`, for global skill definitions\n- `.agents/skills`, for skills relative to the current directory Octo is\n  working in. For example, if your company has special guidelines for agents,\n  you can distribute them with your company's repo in an `.agents/skills`\n  directory.\n\nIf there are more directories you want Octo to discover skills from, you can\nadd them to your `~/.config/octofriend/octofriend.json5` config file like so:\n\n```javascript\nskills: {\n  paths: [\n    // a list of directory paths containing skills\n  ],\n},\n```\n\n## Connecting Octo to MCP servers\n\nOcto can do a lot out of the box — pretty much anything is possible with enough\nBash — but if you want access to rich data from an MCP server, it'll help Octo\nout a lot to just provide the MCP server directly instead of trying to contort\nits tentacles into crafting the right Bash-isms. After you run `octofriend` for\nthe first time, you'll end up with a config file in\n`~/.config/octofriend/octofriend.json5`. To hook Octo up to your favorite MCP\nserver, add the following to the config file:\n\n```json5\nmcpServers: {\n  serverName: {\n    command: \"command-string\",\n    args: [\n      \"arguments\",\n      \"to\",\n      \"pass\",\n    ],\n  },\n},\n```\n\nFor example, to plug Octo into your Linear workspace:\n\n```json5\nmcpServers: {\n  linear: {\n    command: \"npx\",\n    args: [ \"-y\", \"mcp-remote\", \"https://mcp.linear.app/sse\" ],\n  },\n},\n```\n\n## Using Octo with local LLMs\n\nIf you're a relatively advanced user, you might want to use Octo with local\nLLMs. Assuming you already have a local LLM API server set up like ollama or\nllama.cpp, using Octo with it is super easy. When adding a model, make sure to\nselect `Add a custom model...`. Then it'll prompt you for your API base URL,\nwhich is probably something like: `http://localhost:3000`, or whatever port\nyou're running your local LLM server on. After that it'll prompt you for an\nenvironment variable to use as a credential; just use any non-empty environment\nvariable and it should work (since most local LLM server ignore credentials\nanyway).\n\nYou can also edit the Octofriend config directly in\n`~/.config/octofriend/octofriend.json5`. Just add the following to your list of\nmodels:\n\n```json5\n{\n  nickname: \"The string to show in the UI for your model name\",\n  baseUrl: \"http://localhost:SOME_PORT\",\n  apiEnvVar: \"any non-empty env var\",\n  model: \"The model string used by the API server, e.g. openai/gpt-oss-20b\",\n}\n```\n\n## Debugging\n\nBy default, Octo tries to present a pretty clean UI. If you want to see\nunderlying error messages from APIs or tool calls, run Octo with the\n`OCTO_VERBOSE` environment variable set to any truthy string; for example:\n\n```bash\nOCTO_VERBOSE=1 octofriend\n```\n\n## Desktop notifications\n\nThere's a hidden \"Notifications\" menu that only appears if you've configured\ndesktop notifications. To configure desktop notifications, add a block like\nthis to your `octofriend.json5`:\n\n```json5\nnotifications: {\n  notifyCommand: \"notify-send Octo 'Finished responding!'\",\n},\n```\n\nOr for macOS:\n\n```json5\nnotifications: {\n  notifyCommand: 'osascript -e \\'display notification \"Octo finished!\"\\'',\n},\n```\n\nThis enables the Notifications submenu in the main `ctrl-p` menu. You can set\nit to the following three settings:\n\n- Notify the next time Octo needs input\n- Notify any time Octo needs input this session\n- Always notify any time Octo needs input\n\nThe last option will be persisted to your config file, if you set it.\n\nBy default, for the session-level and persistent notifications, Octo will wait\n10 seconds before notifying you, and if it receives input during that time\nit'll skip the notification (so as to not spam you with notifications when\nyou're actively attending to it and chatting). To change the wait time, set:\n\n```json5\nnotifications: {\n  notifyCommand: \"some command\",\n  notifyTimeoutMs: 20000, // Or however many milliseconds you want to wait\n},\n```\n\n## Opting into canary versions\n\nIf you want to use unreleased versions of Octo, clone this repo and read the\ninstructions in `canary.sh` to install `canary-octo` in your shell.\n","readmeFilename":"README.md"}