{"_id":"@aeye/cletus","_rev":"19-4684a077056e482db6518e44524692cf","name":"@aeye/cletus","dist-tags":{"latest":"0.3.9"},"versions":{"0.1.0":{"name":"@aeye/cletus","version":"0.1.0","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"MIT","_id":"@aeye/cletus@0.1.0","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"757a1220c188e2c9d3910cac7564a64b238b3320","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.0.tgz","fileCount":3,"integrity":"sha512-Ovd2VpXHDBqVLaYSqSM+36AE27/Yioi+Pil0vLLSE1hQpl/PzyqpE/t6Fcy0AFOOfIrUEPkMQbi6yP5ZIOwybA==","signatures":[{"sig":"MEYCIQD61XJrWyflunLkyXAg2sPIat//47DRac2+krtLIy3t3gIhANF7lGFD1hYjsEtLM6SWdhHMgjlyzme2JwoFBb0UhFBg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1405303},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"7e1a90cc8ba4f871aaa577977959317604a10b08","scripts":{"dev":"tsx watch src/index.tsx","build":"node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing AITS capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","sharp":"^0.34.3","yauzl":"^3.2.0","mammoth":"^1.9.1","@aeye/ai":"^0.1.0","@aeye/aws":"^0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","puppeteer":"^23.11.1","@aeye/core":"^0.1.0","handlebars":"^4.7.8","@aeye/models":"^0.1.0","@aeye/openai":"^0.1.0","@tavily/core":"^0.5.13","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"^0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"^0.1.0","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.26.0","@types/wav":"^1.0.4","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@types/react":"^19.2.2","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.0_1763393641664_0.9314760987215653","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aeye/cletus","version":"0.1.1","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"MIT","_id":"@aeye/cletus@0.1.1","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"4f3970dcfbcf8149d016fc3a435e906f9cb71bff","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.1.tgz","fileCount":3,"integrity":"sha512-4YjIQpuZVVGJPmiCno2YSY+s1Mo5Nb/lT4hVSPPs/k17migmmbRsTlKiiSdNhiSO8Xn2iJY80bHRuUFJPgxcqQ==","signatures":[{"sig":"MEUCIDqRqQPeACiiESv3AZj7vgIiU+PVZp/o8iKA9660QznjAiEAziESXzXz3l2KFM1Da7YKoTzFad0pbP5jsRid+FuTqak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1410304},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"ee52656b0fb4a8de0dbb94af56e12eb4c831aec3","scripts":{"dev":"tsx watch src/index.tsx","build":"node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","sharp":"^0.34.3","yauzl":"^3.2.0","mammoth":"^1.9.1","@aeye/ai":"^0.1.0","@aeye/aws":"^0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","puppeteer":"^23.11.1","@aeye/core":"^0.1.0","handlebars":"^4.7.8","@aeye/models":"^0.1.0","@aeye/openai":"^0.1.0","@tavily/core":"^0.5.13","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"^0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"^0.1.0","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","esbuild":"^0.26.0","@types/wav":"^1.0.4","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@types/react":"^19.2.2","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.1_1763410141074_0.6437592692694281","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aeye/cletus","version":"0.1.2","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"MIT","_id":"@aeye/cletus@0.1.2","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"b146c713c3b66bbb001e0cae4884aa07ec07bc0b","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.2.tgz","fileCount":3,"integrity":"sha512-WNQWk4YLdlqvGeV1RdYYQDVaZKEwQht6+/48LptxxJ9JG8QU4F3Lwo38rLNWuEJQDxNt/pJgC6ONe3/MV+oPHA==","signatures":[{"sig":"MEUCIE0HW9wXL8lbw422JtaCiMKWW7AAOhJyDMHpRaBsJ9nwAiEAnz9yZd3tkLH7huh0tppoNitveGGHfAUJVDRB/1Mspso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25906479},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"368e009e801f48eca796c2c997d9c5241a93da76","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.2_1763414958888_0.1337168401824238","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aeye/cletus","version":"0.1.3","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"MIT","_id":"@aeye/cletus@0.1.3","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"dee087b45c0c6930894cda629dfe813f93f1073c","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.3.tgz","fileCount":3,"integrity":"sha512-8iybSezFhBl5KBntQkOAY/PRCkj0kUvr7yqNLD4naTzrV1cVQOxe/F0IVJNacTCUmrXr3WouPLhXROWWnrlkyA==","signatures":[{"sig":"MEQCIDyOZD4p5gobjXYNxJ8wDg/Iilu6ioi0cpVrlB1c0freAiBGS33g3DTYAsFJbI6HpKkCx6yd56CAR30RZGiU2LZa5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25925062},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"bffeee82de9bd8c9573f4cc98890745eeb504b00","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.3_1763608239217_0.047627614387287354","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aeye/cletus","version":"0.1.4","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.1.4","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"7570228fa341e956d894171c104d918090bbbb52","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.4.tgz","fileCount":3,"integrity":"sha512-MUjHrLjz9B1QV0RUXVIDTfXpRNdUWP3WlvqPX9oeooUTgaAIZSNu7TFJXcnvWy4nicjAEntxiTXGEITEjdVOcA==","signatures":[{"sig":"MEUCIQCgGfXtGySXwgN6+y6d6cH/ptE99R/EwuJ4v9PGfxv6MAIgT/pMZNI/vJpYxaO0oVHOuHVscVHzcSOSYkZEQ3U3cvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25979091},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"2515fffb0b757b7460c813024d78f3481ba58d10","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.4_1763671257702_0.5753592590923047","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aeye/cletus","version":"0.1.5","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.1.5","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"5af3e267448f702dd8a705ffb075b64602552b67","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.5.tgz","fileCount":3,"integrity":"sha512-/sNUsdK8sFRq7N2vcaIyBiZnTBBNAD72BNTuBKT3viRTN1jrRNx52DeBGrgUzxexgOZhnqgwlLgOXB1UQb19jQ==","signatures":[{"sig":"MEQCIAHV+vqWCI0cv+YWAJz8soHcW9yfDZmMivuNp2NxrmPfAiAgXXVifAOgh8J7uGQ23/Gpgt3GAcZSgogRWrBKWTzB7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25979186},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"641945e342414d4b1e6a1f09ca46d23aa87c78f9","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.5_1763672840084_0.31802480273169187","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aeye/cletus","version":"0.1.6","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.1.6","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"e229d6616a2ae981eafb6d286ad2965951677153","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.6.tgz","fileCount":3,"integrity":"sha512-narGdHtwd33PDHL9Uj38aADfrth2EeglBv1rK6ictiqtrm2QI1g4fVkfuRlkF6WPGge8A5g6ljFIV8fSFoIxxQ==","signatures":[{"sig":"MEUCIQDU38h8L0ppV7k5EDKpZPxEmdbYIH63MRJbBmO+KTz7HQIgYKZRQ7AND6BxrQjq+aZtjKN/9blnYJDoy0Zy8HsZ6t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25979186},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"069e295508f3c3aec4374a23c81402b23d7bae9d","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.6_1763673127594_0.7674202761831608","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aeye/cletus","version":"0.1.7","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.1.7","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"de7d105ee86b2674fc269ad18597281414b5459b","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.7.tgz","fileCount":3,"integrity":"sha512-19iqoKaO7FB9YaFF3COgdYz1OHD12+lzReL+Y4ltp/zYD1zWK5OILtHc0cMpHeWYpPxRYKTKDC4mIq0sz0V1WQ==","signatures":[{"sig":"MEQCIC9mS4eQIY7gXJKXhYeiLETg4BSUWFn+PzKrTfVZ90YmAiBcNDbHo/bIzUpl8HJuwGkKHyf3zXLyNPvOQkNacf1f2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25979397},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"8a92575b59ebe75691033648d66b390bdda22aef","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^23.11.1","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0","ink-syntax-highlight":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","ink-syntax-highlight":"^2.0.2","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^23.11.1"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.7_1763675222793_0.18413050215303373","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aeye/cletus","version":"0.1.8","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.1.8","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"3803e9212983d1e4de1f500b1e3abcff47c0ba18","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.1.8.tgz","fileCount":3,"integrity":"sha512-wdcBntwGwaU/To5H567Gr4g9HJNinylJlCxdu3pZ3Qrcj+4zqb6afE/l3ZE+kZl6Bs60dm7rp2sxbBSm2s2mrw==","signatures":[{"sig":"MEQCIEzGk0/8jEZouZo0pengH2fXFTS+fvP8zVhtreQoMcj9AiByKdOCLkzVfcTdhw2cGHWDFsdFNnoY99gJ7Ba+KVKn2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27906111},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"1c3b3225aa2520dd94a471de4b0e289f7653c7d5","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","puppeteer":"^24.31.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.1.8_1763678457265_0.8997291045848679","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aeye/cletus","version":"0.2.0","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.2.0","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"91c16b5c9d782254f10bc1bb65da083c13824d1c","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.2.0.tgz","fileCount":3,"integrity":"sha512-KeAO0k0SiOdnbPFTk54nbKGLnlIFzA4P9yFO6MlamQ5Owq3Kym73VUlIkfcLAVWWCOZzCnlJBLfcssMzOWd+cw==","signatures":[{"sig":"MEUCIF7ibrputOax/+WUBNX6TU5o7Rnag+BWrnYjHYEd5MhGAiEAsRGehm8CKHH8TodHA2xVr9bxEJcl8A2vobXadVKqGYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28052716},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"25679e42025ba167faec33e98d702939cc22f2c0","scripts":{"dev":"tsx watch src/index.tsx","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","fastembed":"^2.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","@aeye/ai":"0.1.0","@aeye/aws":"0.1.0","file-type":"^21.0.0","pdf-parse":"^1.1.1","@aeye/core":"0.1.0","@types/wav":"^1.0.4","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.1.0","@aeye/openai":"0.1.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","ink-text-input":"^6.0.0","@aeye/replicate":"0.1.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.1.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","node-html-markdown":"^1.3.0","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.2.0_1764260312327_0.5398247896928217","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aeye/cletus","version":"0.3.0","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.0","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"04f4730855d40dc34fcab2bf06da35bffb51a66b","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.0.tgz","fileCount":4,"integrity":"sha512-M9BIGIhgS3xpyZM10sqq/TdFZ6aKJapSKZQLqUN6zGj2TCu7a5RvZsdry9750o4VCPRlHgpVOCE1ipvTSIWSKw==","signatures":[{"sig":"MEUCIQC6HcArFmo55v9AecAUeYLc12vEw/WpQHUN1zhMAZCfoQIgCQ5MdWG85x1ZsQ3xeQA1yuhQDRJKERG5bpq8wKzAuKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28591304},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"fe6afb5adb096a8de1dfc9a115bba1d48193612d","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","fastembed":"^2.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","ts-jest":"^29.2.5","@aeye/ai":"0.3.0","@aeye/aws":"0.3.0","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.0","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.0","@aeye/openai":"0.3.0","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.0","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.0","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.0_1764993475705_0.9622582816456458","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aeye/cletus","version":"0.3.1","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.1","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"b7ed209ed5518a3ab6496acd467857c56a7fd50d","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.1.tgz","fileCount":4,"integrity":"sha512-TLvlvrTCaSg9Q900GFaTQSoocbWzqX1uZlB/y3SYCqbVvi0JRjGnwrzqxjzgPB1VtxTQcHTk9aD9mL3P0lGLgA==","signatures":[{"sig":"MEYCIQCaclTZ+pd4y4+9cBRSoExDo/QBa6i9Z+wlMA6RXto//wIhAPLMaoKg8gxKR7rvhRgZPActWpw3Gfj5RDUkWxVZtpNZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28632605},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"f3cfac54171c2d4a3fc48784b8eea4467c4098b4","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs","clean":"rimraf dist tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ink":"^6.4.0","mic":"^2.1.2","react":"^19.2.0","sharp":"^0.34.3","fastembed":"^2.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","ink-select-input":"^6.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","esbuild":"^0.26.0","mammoth":"^1.9.1","ts-jest":"^29.2.5","@aeye/ai":"0.3.1","@aeye/aws":"0.3.1","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.1","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.1","@aeye/openai":"0.3.1","@tavily/core":"^0.5.13","@types/react":"^19.2.2","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.1","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.1","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.1_1765363967452_0.20347555416978902","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aeye/cletus","version":"0.3.2","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.2","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"fe379ea9d5c2c92dcfb7f7e3acccf5d85f4aa660","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.2.tgz","fileCount":4,"integrity":"sha512-s7AAEx/zn1qunwwrfadXxfvC1NP3tz+mT9+Ta17wCxc1FnZdxMHN4pkee3D3WWQZKQF0a0SCNUOiD+ijv8tR2A==","signatures":[{"sig":"MEYCIQDEPgW7qeWtuMJOMEfwSl9nMqoT5if50yywKU8MLwY1zgIhAOwUrdt8w/eLCxSE28xPPz3lIvE5AagkrYreH9UDBmD7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29407825},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"ae51c2a8249a968b210a64efc7c8bedb35fad70b","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.2","@aeye/aws":"0.3.2","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.2","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.2","@aeye/openai":"0.3.2","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.2","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.2","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.2_1766336389235_0.2317143199721443","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@aeye/cletus","version":"0.3.4","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.4","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"dba5b3071fcf2dcfcadd367722afaf5faee51aee","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.4.tgz","fileCount":4,"integrity":"sha512-JUKaH13kPuhvqwu8xQBz5UPkb3sbKlsK1Hc2h9pgQHhipT+Gnao1fyHOjLt7/kLQ/l8bi/Yra9QYJErKLdCmfA==","signatures":[{"sig":"MEQCICVPwhiZA7Lr4ZLRXdGouyW53EWTeWrT2o7jmJ5bhwqYAiAcH2vkDvZF0yBZsGM1LdKAfwzm9samhb4SW/iUPwtToQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29422997},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"3f4fe5f9da6cad0851958297b5dd34b2c795d6d2","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.4","@aeye/aws":"0.3.4","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.4","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.4","@aeye/openai":"0.3.4","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.4","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.4","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.4_1770754954012_0.7295310732754408","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@aeye/cletus","version":"0.3.5","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.5","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"7a2161307d63b1b0c170ff7447f06480c1d896a8","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.5.tgz","fileCount":9,"integrity":"sha512-9mO1PnK2dirPRrUO4LzPwKUc7wSxIF6PI3mU2GI1sC6YX36Kcg7ZianTUJxC8ZxXmiJOQlXhvhStooNVJo+XTw==","signatures":[{"sig":"MEYCIQDym3qTdLqguc7qSZnMx80S4u1uZZ+cMENycUCQxp+IlQIhAJD+6qfQhgJwNyXZRXPgZfUOho6h3PhYNzAX4eYaLC8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56060140},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"1ca1832163262906c1ae12624a107c0652daeb68","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.5","@aeye/aws":"0.3.5","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.5","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.5","@aeye/openai":"0.3.5","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.5","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.5","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.5_1770757115846_0.423051558356645","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@aeye/cletus","version":"0.3.6","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.6","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"f75bd510bb92d7b7d49c10a22afba9806eb19b0b","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.6.tgz","fileCount":9,"integrity":"sha512-IXZegOxB6PI/CK20KtTeP43oppVq/eCSninp+YK89D8HXtBcxkLiwwZgZD2fAN7yo9mnCxzD3YcCChurDwghtw==","signatures":[{"sig":"MEYCIQCAknbTEFuaBjL/vfa9jOtRTB/LgagbNWec5AuPUFc0kAIhAOox25Z06BHOPJSZCi3MxSVrcmHZ+avf0DO0Kva3aSDK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56060140},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"1ca1832163262906c1ae12624a107c0652daeb68","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.6","@aeye/aws":"0.3.6","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.6","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.6","@aeye/openai":"0.3.6","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.6","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.6","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.6_1772640996979_0.8651677127405661","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@aeye/cletus","version":"0.3.7","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.7","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"bd3c87a63823922268de68687e667dc99fb07067","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.7.tgz","fileCount":9,"integrity":"sha512-toq2O0bdEXmiscNKvQ/dxKcy2nkmIOee36tfpFmiY24pag/kC5V5AFNWsD2P+Dk66jEZPtaixRlaJ/nSGB3CVw==","signatures":[{"sig":"MEUCIQDcVCvf5URGcEwiKy7yzLa+lyqL6AKqaf55yOXn4WksuAIgUalu5TFKNn+16mJLkGKN4BpdhhkBvMSb/Ecqbjxenvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56060140},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a3490a88105713496870fbcf0a8d5ff9d85a3e6c","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.7","@aeye/aws":"0.3.7","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.7","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.7","@aeye/openai":"0.3.7","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.7","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.7","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.7_1772642492304_0.5949681042143256","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"@aeye/cletus","version":"0.3.8","keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","_id":"@aeye/cletus@0.3.8","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"bin":{"cletus":"dist/index.js"},"dist":{"shasum":"bd901bab447b358d5f8a8f1736df3462fdfaa73f","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.8.tgz","fileCount":9,"integrity":"sha512-MznsAzYfqWRJSrnhy6XAX+RcPRaPSXlfqVn1dZrjS3KQBMRO4T4lP9w8goTe/VadOafCJqntnGOKCFijIUMgzQ==","signatures":[{"sig":"MEQCICeEP0jRFSEnzosYiaBaREaNdK5MVTLvhLwgpgzhy+fpAiAMxMr8UIuh8aKyUvfkyCugBcJa7Mgd3NKc6Z5q2kmGRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56057828},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"04319fa907b4c219f0843292baa1bcd313a97c74","scripts":{"dev":"tsx watch src/index.tsx","test":"jest","build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","start":"tsx --conditions=source src/index.tsx","profile":"node --inspect dist/index.js","typecheck":"tsc --noEmit","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'","profile:cpu":"node --cpu-prof dist/index.js","profile:break":"node --inspect-brk dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"repository":{"url":"git+https://github.com/ClickerMonkey/aeye.git","type":"git","directory":"packages/cletus"},"_npmVersion":"10.8.2","description":"Interactive CLI demo showcasing @aeye capabilities","directories":{},"_nodeVersion":"20.18.1","dependencies":{"ws":"^8.18.0","ink":"^6.4.0","mic":"^2.1.2","katex":"^0.16.27","react":"^19.2.0","sharp":"^0.34.3","echarts":"^5.6.0","fastembed":"^2.0.0","react-dom":"^19.2.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","rehype-katex":"^7.0.1","cli-highlight":"^2.1.11","ink-text-input":"^6.0.0","react-markdown":"^10.1.0","ink-select-input":"^6.2.0","react-syntax-highlighter":"^16.1.0","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.4.0","tsx":"^4.20.6","wav":"^1.0.2","zod":"^4.1.12","diff":"^8.0.2","glob":"^11.0.0","jest":"^29.7.0","uuid":"^13.0.0","xlsx":"^0.18.5","react":"^19.2.0","yauzl":"^3.2.0","rimraf":"^6.1.2","esbuild":"^0.26.0","mammoth":"^1.9.1","mermaid":"^11.12.2","postcss":"^8.5.6","ts-jest":"^29.2.5","@aeye/ai":"0.3.8","@aeye/aws":"0.3.8","@types/ws":"^8.5.13","file-type":"^21.1.1","pdf-parse":"^1.1.1","@aeye/core":"0.3.8","@types/wav":"^1.0.4","babel-jest":"^29.7.0","handlebars":"^4.7.8","typescript":"^5.9.3","@types/diff":"^7.0.2","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/uuid":"^10.0.0","@aeye/models":"0.3.8","@aeye/openai":"0.3.8","@tavily/core":"^0.5.13","@types/react":"^19.2.2","autoprefixer":"^10.4.23","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","node-poppler":"^8.0.4","@jest/globals":"^29.7.0","ink-text-input":"^6.0.0","@aeye/replicate":"0.3.8","@langchain/core":"^0.3.79","@aeye/openrouter":"0.3.8","@types/file-type":"^10.6.0","@types/pdf-parse":"^1.1.5","@types/react-dom":"^19.2.0","ink-select-input":"^6.2.0","@babel/preset-env":"^7.26.0","node-html-markdown":"^1.3.0","@tailwindcss/typography":"^0.5.19","@langchain/textsplitters":"^0.1.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"_npmOperationalInternal":{"tmp":"tmp/cletus_0.3.8_1775335900432_0.283434356256437","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"@aeye/cletus","version":"0.3.9","description":"Interactive CLI demo showcasing @aeye capabilities","type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"cletus":"dist/index.js"},"scripts":{"build":"npm run clean && node esbuild.config.cjs && node esbuild.browser.cjs","dev":"tsx watch src/index.tsx","start":"tsx --conditions=source src/index.tsx","clean":"rimraf dist dist-browser tsconfig.tsbuildinfo","typecheck":"tsc --noEmit","test":"jest","profile":"node --inspect dist/index.js","profile:break":"node --inspect-brk dist/index.js","profile:cpu":"node --cpu-prof dist/index.js","prepublishOnly":"npm run build","postinstall":"echo '\nCletus installed! Run \"cletus\" to start.\nFor first-time setup, you will need API keys for AI providers.\nSee: https://github.com/ClickerMonkey/aeye#readme\n'"},"keywords":["cli","ai","demo","interactive"],"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","repository":{"type":"git","url":"git+https://github.com/ClickerMonkey/aeye.git","directory":"packages/cletus"},"dependencies":{"@types/react-syntax-highlighter":"^15.5.13","cli-highlight":"^2.1.11","echarts":"^5.6.0","fastembed":"^2.0.0","ink":"^6.4.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-select-input":"^6.2.0","ink-text-input":"^6.0.0","katex":"^0.16.27","mic":"^2.1.2","react":"^19.2.0","react-dom":"^19.2.0","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.0","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","sharp":"^0.34.3","ws":"^8.18.0"},"optionalDependencies":{"puppeteer":"^24.31.0"},"devDependencies":{"@aeye/ai":"0.3.9","@aeye/aws":"0.3.9","@aeye/core":"0.3.9","@aeye/models":"0.3.9","@aeye/openai":"0.3.9","@aeye/openrouter":"0.3.9","@aeye/replicate":"0.3.9","@babel/preset-env":"^7.26.0","@jest/globals":"^29.7.0","@langchain/core":"^0.3.79","@langchain/textsplitters":"^0.1.0","@tailwindcss/typography":"^0.5.19","@tavily/core":"^0.5.13","@types/diff":"^7.0.2","@types/file-type":"^10.6.0","@types/jest":"^29.5.14","@types/node":"^24.9.1","@types/pdf-parse":"^1.1.5","@types/react":"^19.2.2","@types/react-dom":"^19.2.0","@types/uuid":"^10.0.0","@types/wav":"^1.0.4","@types/ws":"^8.5.13","autoprefixer":"^10.4.23","babel-jest":"^29.7.0","diff":"^8.0.2","esbuild":"^0.26.0","file-type":"^21.1.1","glob":"^11.0.0","handlebars":"^4.7.8","ink":"^6.4.0","ink-big-text":"^2.0.0","ink-gradient":"^3.0.0","ink-select-input":"^6.2.0","ink-text-input":"^6.0.0","jest":"^29.7.0","mammoth":"^1.9.1","mermaid":"^11.12.2","node-html-markdown":"^1.3.0","node-poppler":"^8.0.4","pdf-parse":"^1.1.1","postcss":"^8.5.6","react":"^19.2.0","rimraf":"^6.1.2","ts-jest":"^29.2.5","tsx":"^4.20.6","typescript":"^5.9.3","uuid":"^13.0.0","wav":"^1.0.2","xlsx":"^0.18.5","yauzl":"^3.2.0","zod":"^4.1.12"},"publishConfig":{"access":"public"},"engines":{"node":">=16.0.0"},"homepage":"https://github.com/ClickerMonkey/aeye#readme","bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"_id":"@aeye/cletus@0.3.9","gitHead":"7df3bae899c5a30cf17f4925fb7057e9a61e7332","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-cPnv0tgxXT07J02l5uHbCxT7FxEx0U+IUxqMzK6fwimlmXUwcuy326fDGnv1yPImdGPBOeqyLnGUU/5FE1E6IA==","shasum":"66efc7b30ea2a79e3a270161ee379040f2855982","tarball":"https://registry.npmjs.org/@aeye/cletus/-/cletus-0.3.9.tgz","fileCount":13,"unpackedSize":56163908,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC5p55Air9uuNYObwqu1rL7uJjJUa3+gF5l2kNubyWCLAiEA9dfpV6+HghkkPWITu4I0SU6RNnah1cBDP/KKje4FNyI="}]},"_npmUser":{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"},"directories":{},"maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cletus_0.3.9_1783858177002_0.45733486318546324"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-17T15:34:01.547Z","modified":"2026-07-12T12:09:37.448Z","0.1.0":"2025-11-17T15:34:01.893Z","0.1.1":"2025-11-17T20:09:01.270Z","0.1.2":"2025-11-17T21:29:19.171Z","0.1.3":"2025-11-20T03:10:39.516Z","0.1.4":"2025-11-20T20:40:58.005Z","0.1.5":"2025-11-20T21:07:20.371Z","0.1.6":"2025-11-20T21:12:07.894Z","0.1.7":"2025-11-20T21:47:03.058Z","0.1.8":"2025-11-20T22:40:57.569Z","0.2.0":"2025-11-27T16:18:32.621Z","0.3.0":"2025-12-06T03:57:56.054Z","0.3.1":"2025-12-10T10:52:47.824Z","0.3.2":"2025-12-21T16:59:49.589Z","0.3.4":"2026-02-10T20:22:34.478Z","0.3.5":"2026-02-10T20:58:36.370Z","0.3.6":"2026-03-04T16:16:37.605Z","0.3.7":"2026-03-04T16:41:32.860Z","0.3.8":"2026-04-04T20:51:40.909Z","0.3.9":"2026-07-12T12:09:37.322Z"},"bugs":{"url":"https://github.com/ClickerMonkey/aeye/issues"},"author":{"name":"ClickerMonkey"},"license":"GPL-3.0","homepage":"https://github.com/ClickerMonkey/aeye#readme","keywords":["cli","ai","demo","interactive"],"repository":{"type":"git","url":"git+https://github.com/ClickerMonkey/aeye.git","directory":"packages/cletus"},"description":"Interactive CLI demo showcasing @aeye capabilities","maintainers":[{"name":"philip.diffenderfer","email":"pdiffenderfer@gmail.com"}],"readme":"# @aeye/cletus\r\n\r\n> **Interactive CLI demo showcasing @aeye capabilities - an AI-powered assistant with file management, data operations, and autonomous task execution.**\r\n\r\n[![License: GPL-3.0](https://img.shields.io/badge/License-GPL%203.0-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\r\n\r\n```bash\r\nnpm i -g @aeye/cletus\r\n```\r\n\r\nFor the best experience, configure what models are used for each use case. Use openai/gpt-4o for chat, google/nano-banana for image generation and editing, anthropic/claude-sonnet-4 for file editing, etc! If you don't specify then a model will be dynamically chosen based on configured weights and what can handle the request.\r\n\r\n## Features\r\n\r\n### Adaptive Tooling\r\n\r\nCletus uses an intelligent tool selection system that automatically picks the most relevant tools based on your conversation context. Instead of having access to all 50+ tools at once (which can overwhelm the AI), Cletus:\r\n\r\n1. **Analyzes your recent messages** - Uses embeddings to understand what you're asking about\r\n2. **Selects relevant tools** - Picks the top 15-20 most semantically similar tools for the task\r\n3. **Adapts over time** - As your conversation evolves, the available tools adjust automatically\r\n\r\nYou can also manually switch between specialized **toolsets** to focus on specific domains:\r\n\r\n- **planner** - Task management and todo operations\r\n- **librarian** - Knowledge base and semantic search\r\n- **clerk** - File system operations and shell commands\r\n- **secretary** - User memories and assistant management\r\n- **architect** - Custom data type definitions and schema management\r\n- **artist** - Image generation, editing, and analysis\r\n- **internet** - Web search and API operations\r\n- **dba** - Data record management and querying\r\n\r\nUse the `retool` tool to switch between adaptive mode and specific toolsets\r\n\r\n## Screenshots\r\n\r\n<table>\r\n  <tr>\r\n    <td width=\"25%\"><a href=\"docs/browser_image_generate.png\"><img src=\"docs/browser_image_generate.png\" alt=\"Browser - Image Generation\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_chart_display.png\"><img src=\"docs/browser_chart_display.png\" alt=\"Browser - Chart Display\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_diagram_show.png\"><img src=\"docs/browser_diagram_show.png\" alt=\"Browser - Diagram Visualization\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_clerk.png\"><img src=\"docs/browser_clerk.png\" alt=\"Browser - File Operations\" /></a></td>\r\n  </tr>\r\n  <tr>\r\n    <td width=\"25%\"><a href=\"docs/browser_file_preview.png\"><img src=\"docs/browser_file_preview.png\" alt=\"Browser - File Preview\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_edit_approve.png\"><img src=\"docs/browser_edit_approve.png\" alt=\"Browser - Edit Approval\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_select_model.png\"><img src=\"docs/browser_select_model.png\" alt=\"Browser - Model Selection\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/cli_edit_approve.png\"><img src=\"docs/cli_edit_approve.png\" alt=\"CLI - Edit Approval\" /></a></td>\r\n  </tr>\r\n  <tr>\r\n    <td width=\"25%\"><a href=\"docs/cli_librarian.png\"><img src=\"docs/cli_librarian.png\" alt=\"CLI - Librarian Tools\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/cli_select_model.png\"><img src=\"docs/cli_select_model.png\" alt=\"CLI - Model Selection\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/cli_ask.png\"><img src=\"docs/cli_ask.png\" alt=\"CLI - Interactive Questions\" /></a></td>\r\n    <td width=\"25%\"><a href=\"docs/browser_edit_approved.png\"><img src=\"docs/browser_edit_approved.png\" alt=\"Browser - Approved Edit\" /></a></td>\r\n  </tr>\r\n</table>\r\n\r\n### Examples\r\n\r\nHere are some examples of what you can do with Cletus:\r\n\r\n**File Operations:**\r\n- \"Search for all TypeScript files in the src directory\"\r\n- \"Read package.json and tell me what dependencies are outdated\"\r\n- \"Create a new file called README.md with a project description\"\r\n- \"Find all files containing the word 'TODO' and summarize them\"\r\n\r\n**Data Management:**\r\n- \"Create a 'Recipe' type with fields for ingredients, instructions, and cooking time\"\r\n- \"Add a new recipe for chocolate chip cookies\"\r\n- \"Find all recipes that contain chocolate\"\r\n\r\n**Task Planning:**\r\n- \"Add a todo to implement user authentication\"\r\n- \"Show me all my pending todos\" \r\n- \"Mark the first todo as done\"\r\n\r\n**Graphic Operations:**\r\n- \"Generate an image of a sunset over mountains\"\r\n- \"Find all images I've generated that contain trees\"\r\n- \"Analyze this screenshot and describe what you see\"\r\n- \"Generate a chart with this data\"\r\n- \"Create a diagram that visualizes this process\"\r\n\r\n**Web Research:**\r\n- \"Search the web for the latest TypeScript features\"\r\n- \"Get the content from https://example.com and summarize it\"\r\n\r\n**Knowledge Base:**\r\n- \"Remember that I prefer tabs over spaces\"\r\n- \"Index all files in my project for semantic search\"\r\n- \"Search my knowledge base for information about authentication\"\r\n\r\n**Shell Commands:**\r\n- \"Run npm test and show me the results\"\r\n- \"Execute git status and tell me what files have changed\"\r\n\r\n### 🎨 Interactive Terminal UI\r\n\r\n- Beautiful React/Ink-based interface\r\n- Chat history management\r\n- Real-time streaming responses\r\n- Markdown rendering\r\n- Operation approval/rejection system\r\n- Settings configuration wizard\r\n- Automatic light/dark mode theme detection for optimal color visibility\r\n\r\n### 💾 Persistent Storage\r\n\r\n- Chat history with metadata\r\n- User preferences and memories\r\n- Custom data types and records\r\n- Knowledge base with vector embeddings\r\n- Multi-provider API configurations\r\n\r\n### ⚡ Advanced Capabilities\r\n\r\n- **Autonomous Mode** - AI can execute multiple operations without asking for approval\r\n- **Custom Assistants** - Create persona-based assistants with unique prompts (Gollum, Sherlock Holmes, etc.)\r\n- **Type System** - Define custom data structures with fields and validation\r\n- **Knowledge Base** - Semantic search over user memories, files, and data records\r\n- **Reasoning Support** - Built-in reasoning capabilities with chain-of-thought processing, break down complex tasks into manageable steps, connects information across different contexts, and employs analytical problem-solving to handle user requests with sophisticated reasoning\r\n- **File Intelligence** - Summarize, index, and search files (PDF, Word, Excel, images, etc.)\r\n- **Image Operations** - Generate, edit, analyze, and find images\r\n- **Web Integration** - Search the web, scrape pages, make API calls\r\n\r\n### 📝 Prompt File Support\r\n\r\nCletus supports three complementary ways to customize the AI's context and behavior:\r\n\r\n- **User Prompts** - Configure via `config.user.globalPrompt` for persistent instructions across all chats\r\n- **Chat Prompts** - Set per-chat custom prompts when creating or updating a chat\r\n- **Prompt Files** - Automatically load contextual instructions from files in your current working directory\r\n\r\nThese prompt types work together: user prompts set global preferences, chat prompts provide conversation-specific context, and prompt files add project-specific instructions from your working directory.\r\n\r\n#### Prompt File Loading\r\n\r\nWhen starting a chat, Cletus searches for prompt files in your current working directory (case-insensitive):\r\n\r\n1. **Default Files Checked** (in order):\r\n   - `cletus.md`\r\n   - `agents.md`\r\n   - `claude.md`\r\n\r\n2. **Custom Files** - Configure via `config.user.promptFiles` to replace the default list with your own files\r\n\r\n3. **Loading Behavior**:\r\n   - Files are searched in the order specified\r\n   - Only the **first file found** is loaded (not all matching files)\r\n   - Content is wrapped in `<prompt-file name=\"filename\">` tags\r\n   - The content is incorporated into the system prompt for every AI request\r\n\r\n**Example Usage:**\r\n\r\nCreate a `cletus.md` file in your project directory:\r\n\r\n```markdown\r\n# Project Context\r\n\r\nThis is a TypeScript project using React and Node.js.\r\nFollow these coding standards:\r\n- Use functional components\r\n- Prefer async/await over promises\r\n- Use descriptive variable names\r\n```\r\n\r\nWhen you run `cletus` from that directory, these instructions will automatically be included in the AI's context.\r\n\r\n## Building from Source\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/ClickerMonkey/aeye.git\r\ncd aeye/packages/cletus\r\n\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build and link\r\nnpm run build\r\nnpm link\r\n\r\n# Run\r\ncletus\r\n```\r\n\r\n## Quick Start\r\n\r\n### First Launch\r\n\r\nWhen you run `cletus` for the first time, an interactive setup wizard will guide you through:\r\n\r\n1. **User Information** - Your name and pronouns\r\n2. **Provider Setup** - Configure AI providers (OpenAI, OpenRouter, Replicate, AWS Bedrock)\r\n3. **API Keys** - Enter your API keys or credentials for each provider\r\n\r\nThe configuration is saved to `~/.cletus/config.json` and can be modified later through the settings menu.\r\n\r\n### Basic Usage\r\n\r\n```bash\r\n# Start Cletus\r\ncletus\r\n\r\n# The main menu provides options to:\r\n# - Start a new chat\r\n# - Continue existing chats\r\n# - Configure settings\r\n# - Exit\r\n```\r\n\r\n### Command Line Arguments\r\n\r\n- `--profile=NAME` or `--profile NAME` - Use a specific configuration profile\r\n\r\n### Creating a Chat\r\n\r\n1. Select \"New Chat\" from the main menu\r\n2. Optionally choose an assistant persona (or use default)\r\n3. Optionally provide a custom system prompt\r\n4. Start chatting!\r\n\r\n## Tools\r\n\r\nCletus provides 50+ tools organized into specialized toolsets. Here's what each toolset offers:\r\n\r\n### 🗂️ Planner (`planner`)\r\nTask management and todo operations:\r\n- `todosList` - View all todos\r\n- `todosAdd` - Add a new todo\r\n- `todosDone` - Mark a todo as complete\r\n- `todosGet` - Get a specific todo by ID\r\n- `todosRemove` - Remove a todo\r\n- `todosReplace` - Replace/update a todo\r\n- `todosClear` - Clear all todos\r\n\r\n### 📚 Librarian (`librarian`)\r\nKnowledge base with semantic search:\r\n- `knowledgeSearch` - Search knowledge base semantically\r\n- `knowledgeSources` - List all knowledge sources\r\n- `knowledgeAdd` - Add user memories to knowledge base\r\n- `knowledgeDelete` - Delete knowledge source\r\n\r\n### 📁 Clerk (`clerk`)\r\nFile system operations and shell commands:\r\n- `fileSearch` - Search files by glob pattern\r\n- `fileSummary` - Get AI summary of file content\r\n- `fileIndex` - Index files into knowledge base\r\n- `fileRead` - Read file contents\r\n- `fileEdit` - Edit file with find/replace\r\n- `fileCreate` - Create new file\r\n- `fileCopy` - Copy file\r\n- `fileMove` - Move/rename file\r\n- `fileDelete` - Delete file\r\n- `fileStats` - Get file metadata\r\n- `fileAttach` - Attach file to message\r\n- `textSearch` - Search file contents with regex\r\n- `dirCreate` - Create directory\r\n- `dirSummary` - Summarize directory contents\r\n- `shell` - Execute shell commands\r\n\r\n### 👤 Secretary (`secretary`)\r\nUser preferences and assistant management:\r\n- `assistantSwitch` - Switch to different assistant\r\n- `assistantUpdate` - Update assistant prompt\r\n- `assistantAdd` - Create new assistant\r\n- `memoryList` - List user memories\r\n- `memoryUpdate` - Update user memories\r\n\r\n### 🏗️ Architect (`architect`)\r\nCustom data type system:\r\n- `typeList` - List all custom types\r\n- `typeInfo` - Get type definition\r\n- `typeCreate` - Define new data type\r\n- `typeUpdate` - Update type definition\r\n- `typeDelete` - Delete type\r\n- `typeImport` - Import type from JSON schema\r\n\r\n### 🎨 Artist (`artist`)\r\nImage generation and analysis:\r\n- `imageGenerate` - Generate images from text\r\n- `imageEdit` - Edit existing images\r\n- `imageAnalyze` - Analyze image with vision AI\r\n- `imageDescribe` - Get detailed image description\r\n- `imageFind` - Search generated images\r\n- `imageAttach` - Attach image to message\r\n\r\n### 🌐 Internet (`internet`)\r\nWeb operations:\r\n- `webSearch` - Search the web (via Tavily)\r\n- `webGetPage` - Fetch and extract page content\r\n- `webApiCall` - Make HTTP API requests\r\n\r\n### 💾 DBA (`dba`)\r\nData record management:\r\n- `dataIndex` - Index data records into knowledge base\r\n- `dataImport` - Import data from files\r\n- `dataSearch` - Semantic search over data records\r\n- `dataGet` - Get specific data record\r\n- `dbaQuery` - Query data with filters and sorting\r\n\r\n### 🔧 Utility (always available)\r\nCore system tools:\r\n- `getOperationOutput` - Retrieve truncated operation output\r\n- `about` - Information about Cletus\r\n- `retool` - Switch toolsets or enable adaptive mode\r\n- `hypothetical` - Switch to restrictive mode for exploration\r\n- `ask` - Ask user multiple-choice questions with special UI\r\n\r\n## Configuration\r\n\r\nCletus stores its data in `~/.cletus/`:\r\n\r\n```\r\n~/.cletus/\r\n├── config.json          # User settings, API keys, assistants\r\n├── knowledge.json       # Vector embeddings for semantic search\r\n├── chats/              # Chat history\r\n│   ├── {chat-id}.json\r\n│   └── ...\r\n├── data/               # Custom data records\r\n│   ├── {type-name}.json\r\n│   └── ...\r\n└── images/            # Generated and edited images\r\n```\r\n\r\n### Provider Configuration\r\n\r\nCletus supports multiple AI providers:\r\n- OpenAI (For all model types)\r\n- OpenRouter (For chat models)\r\n- Replicate (For image generation & editing primarily)\r\n- AWS (For chat models)\r\n- Tavily (For web search)\r\n\r\nCommon environment variables & AWS profiles are auto-detected\r\n\r\n### Model Selection\r\n\r\nIn the settings you can configure what models you want to use for each behavior.\r\n\r\n### Autonomous Mode\r\n\r\nYou choose how autonomous Cletus is - either automatically performing certain operations or asking for approval.\r\n\r\n## Custom Assistants\r\n\r\nCletus comes with built-in assistant personas:\r\n\r\n- **Gollum** - Speaks like Gollum from LOTR (helpful but tricksy)\r\n- **Harry Potter** - Adds magical spell casting to responses\r\n- **Sherlock Holmes** - Analytical and deductive reasoning style\r\n- **Comic** - Makes jokes while helping\r\n\r\nCreate your own:\r\n\r\n```\r\nYou: Create an assistant named \"Poet\" that responds in verse\r\n\r\nCletus: I'll create that assistant...\r\n[Uses assistant_add tool]\r\n```\r\n\r\nSwitch assistants mid-chat:\r\n\r\n```\r\nYou: Switch to Sherlock Holmes\r\n\r\nCletus: Switching assistant...\r\n[Uses assistant_switch tool]\r\n```\r\n\r\n## Advanced Features\r\n\r\n### Custom Data Types\r\n\r\nDefine structured data with validation:\r\n\r\n### Semantic Search\r\n\r\nFiles, data records, and user memories are automatically embedded and searchable:\r\n\r\n- Full-text semantic search across all knowledge\r\n- Source filtering (user memories, specific files, data types)\r\n- Relevant context retrieval for AI responses\r\n\r\n### File Intelligence\r\n\r\nSupported file types:\r\n\r\n- **Documents**: PDF, DOCX, XLSX, TXT, MD, JSON, CSV\r\n- **Images**: PNG, JPG, GIF, BMP, WEBP\r\n- **Archives**: ZIP (auto-extraction and indexing)\r\n- **Code**: Any text-based code files\r\n\r\nOperations:\r\n\r\n- AI-generated summaries\r\n- Semantic indexing and search\r\n- Content extraction (text, images, tables)\r\n- OCR for images in documents\r\n- Image description and analysis\r\n\r\n### \"No provider configured\"\r\n\r\nAdd at least one provider in settings or edit `~/.cletus/config.json` to include API keys.\r\n\r\n### \"Tavily API key required\"\r\n\r\nWeb search requires a Tavily API key. Get one at [tavily.com](https://tavily.com) and add it in settings.\r\n\r\n### \"Model not found\"\r\n\r\nCheck that your configured models are available for your provider. See provider documentation for available models.\r\n\r\n### Chat history missing\r\n\r\nChat files are stored in `~/.cletus/chats/`. If they're deleted, history is lost. Consider backing up this directory.\r\n\r\n### Large knowledge base\r\n\r\nThe knowledge base (`~/.cletus/knowledge.json`) grows as you index files and data. You can delete specific sources using the `knowledge_delete` tool.\r\n\r\n## Development\r\n\r\n### Project Structure\r\n\r\n```\r\npackages/cletus/\r\n├── src/\r\n│   ├── agents/           # AI agent definitions\r\n│   ├── components/       # React/Ink UI components\r\n│   ├── helpers/          # Utility functions\r\n│   ├── operations/       # Tool operation implementations\r\n│   ├── tools/            # Tool definitions\r\n│   ├── ai.ts            # AI setup and configuration\r\n│   ├── chat.ts          # Chat management\r\n│   ├── config.ts        # Configuration handling\r\n│   ├── data.ts          # Data storage\r\n│   ├── knowledge.ts     # Knowledge base\r\n│   ├── schemas.ts       # Zod schemas\r\n│   └── index.tsx        # Entry point\r\n├── docs/                # Additional documentation\r\n├── dist/                # Built files\r\n├── package.json\r\n├── tsconfig.json\r\n└── README.md\r\n```\r\n\r\n### Adding a New Tool\r\n\r\n1. **Add to schemas** - Update `OperationKindSchema` in `schemas.ts`\r\n2. **Define tool** - Add tool definition in `tools/{agent}.ts`\r\n3. **Implement operation** - Add implementation in `operations/{agent}.tsx`\r\n\r\nExample:\r\n\r\n```typescript\r\n// 1. schemas.ts\r\nexport const OperationKindSchema = z.enum([\r\n  // ...\r\n  'my_new_tool',\r\n]);\r\n\r\n// 2. tools/clerk.ts\r\nconst myNewTool = ai.tool({\r\n  name: 'my_new_tool',\r\n  description: 'Does something useful',\r\n  instructions: `Use this to...`,\r\n  schema: z.object({\r\n    input: z.string().describe('The input'),\r\n  }),\r\n  call: async (input, _, ctx) => \r\n    ctx.ops.handle({ type: 'my_new_tool', input }, ctx),\r\n});\r\n\r\n// 3. operations/clerk.tsx\r\nexport const myNewTool = operationOf<\r\n  { input: string },\r\n  { result: string }\r\n>({\r\n  mode: 'read',\r\n  signature: 'my_new_tool(input: string)',\r\n  status: (input) => `Processing: ${input.input}`,\r\n  analyze: async ({ input }, { cwd }) => ({\r\n    analysis: `This will process: ${input.input}`,\r\n    doable: true,\r\n  }),\r\n  do: async ({ input }, ctx) => {\r\n    const result = await doSomething(input.input);\r\n    return { result };\r\n  },\r\n  render: (op, ai, showInput, showOutput) => renderOperation(\r\n    op,\r\n    `MyNewTool(\"${op.input.input}\")`,\r\n    (op) => op.output ? `Result: ${op.output.result}` : null,\r\n    showInput, showOutput\r\n  ),\r\n});\r\n```\r\n\r\n### Building\r\n\r\n```bash\r\n# Clean build\r\nnpm run clean\r\nnpm run build\r\n\r\n# Type checking\r\nnpm run typecheck\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please see the main [@aeye repository](https://github.com/ClickerMonkey/aeye) for contribution guidelines.\r\n\r\n## License\r\n\r\nGPL-3.0 © ClickerMonkey\r\n\r\n## Related Packages\r\n\r\n- [@aeye/ai](../ai) - Core AI library\r\n- [@aeye/core](../core) - Shared utilities and types\r\n- [@aeye/models](../models) - Model registry and definitions\r\n- [@aeye/openai](../openai) - OpenAI provider\r\n- [@aeye/openrouter](../openrouter) - OpenRouter provider\r\n- [@aeye/replicate](../replicate) - Replicate provider\r\n- [@aeye/aws](../aws) - AWS Bedrock provider\r\n\r\n## Support\r\n\r\n- [GitHub Issues](https://github.com/ClickerMonkey/aeye/issues)\r\n- [Discussions](https://github.com/ClickerMonkey/aeye/discussions)\r\n- [Documentation](https://github.com/ClickerMonkey/aeye#readme)","readmeFilename":"README.md"}