{"_id":"@phuetz/code-buddy","_rev":"44-935a458c8098e120131dbb9d490b9330","name":"@phuetz/code-buddy","dist-tags":{"rc":"1.0.0-rc.8","latest":"2.2.0"},"versions":{"0.1.0":{"name":"@phuetz/code-buddy","version":"0.1.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"7c2ba9290c8315fa9d582a58bee0c72bb18edab4","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.0.tgz","fileCount":2917,"integrity":"sha512-n5rrP54UYCB8TSo+6NOAtwlamHZvB0hf5FFOkE0LHf5bwNyP4CGOdmJCPzpLXvRF4zMKjX1JDu2IZTPUYOnIqw==","signatures":[{"sig":"MEQCIGlNkm9lKcvwq//dp1IL8ww9zYRniICuN/uCpHGievo/AiBFjM0EVPbTyY5kvRaLOVyzCRItjwHPpy+4pHFpPap9AA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20371306},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"51c3630c6b330959d153281790fa5e02c32bb69c","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","glob":"^10.4.5","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","usearch":"^2.21.4","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@nut-tree-fork/nut-js":"^4.2.6","@modelcontextprotocol/sdk":"^1.24.3","@picovoice/porcupine-node":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","jszip":"^3.10.1","d3-node":"^4.0.1","js-yaml":"^4.1.0","node-pty":"^1.0.0","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.0_1770547369794_0.16661204234553573","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@phuetz/code-buddy","version":"0.1.1","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.1","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"ee5270bc77f0518e0f7ac2d92d07adf3ca813c59","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.1.tgz","fileCount":2959,"integrity":"sha512-3BNdy1yH28j7QMQ2JOrXhxojq57QD6saNBO824pic3udBnYPPbVkivPArlpBmY5dmqX9Wz+wxVpKgIFgiKfOGQ==","signatures":[{"sig":"MEUCICKPHIUwqFb4ZHw8XknI3zJvMiylFLf6vavjoTydag6IAiEA19H6nI1IPt41+8SiFXPUyWJ/ZbL3bUmMEP1yehEZRp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20582548},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3f5a075a69f3f604abd0c2a007b73f8f6b459985","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","glob":"^10.4.5","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","usearch":"^2.21.4","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@nut-tree-fork/nut-js":"^4.2.6","@modelcontextprotocol/sdk":"^1.24.3","@picovoice/porcupine-node":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","jszip":"^3.10.1","d3-node":"^4.0.1","js-yaml":"^4.1.0","node-pty":"^1.0.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.1_1770705155861_0.9545428789893449","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@phuetz/code-buddy","version":"0.1.2","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.2","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"b068bd0a35e866e69c93b1827f26dba65ebb0c62","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.2.tgz","fileCount":2980,"integrity":"sha512-12Kq4ogS7pT4wIEjIk6peL6vq48Sbx1HwN+JbAhvKYRzqwu+zS8HTGGZzkL/K9tT+WemlQKjO4iVPVE8q6e9iA==","signatures":[{"sig":"MEUCIQCiyTb5Dp10HF6LbNesaToqzNp5XIBNfYzTpSHTnXWQ8gIgVzgC1yzr5nRazEGTUCEfa5Reib/sSmMitPob3prhn1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20620516},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ac3b49be3e20cbfe6101e1f50ec37defe4b84989","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","glob":"^10.4.5","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","usearch":"^2.21.4","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@nut-tree-fork/nut-js":"^4.2.6","@modelcontextprotocol/sdk":"^1.24.3","@picovoice/porcupine-node":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","jszip":"^3.10.1","d3-node":"^4.0.1","js-yaml":"^4.1.0","node-pty":"^1.0.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.2_1770781616574_0.6959229427515929","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@phuetz/code-buddy","version":"0.1.3","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.3","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"5eb3d34e5c9a8a854c1c0262d3af86816572be25","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.3.tgz","fileCount":2980,"integrity":"sha512-DtHDgym/4DDT7xUEsyALM6TDvKlQO0VbculpFmf43AyJ85UUVA4H7GrctQkooqguRPKn/3Az/UMFUwPkRuVcCw==","signatures":[{"sig":"MEQCIBX0VPtuAIHpkBfz6DilTClMRlDnLjT1hsX5aMxGQfZ5AiBeHosYcZV99fc/gE/ydopcq9J9ga6Mn0HORKpjTkjVwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20620339},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ae674b379df8ab9d06c9138871678ef6017655d6","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","glob":"^10.4.5","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","usearch":"^2.21.4","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@nut-tree-fork/nut-js":"^4.2.6","@modelcontextprotocol/sdk":"^1.24.3","@picovoice/porcupine-node":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","jszip":"^3.10.1","d3-node":"^4.0.1","js-yaml":"^4.1.0","node-pty":"^1.0.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.3_1770781960444_0.849919065408532","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@phuetz/code-buddy","version":"0.1.4","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.4","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"5a1e6292421abb028e39e09061355918ce11e8bd","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.4.tgz","fileCount":2980,"integrity":"sha512-/jKSlo6jbwM9s5/wht9c2Vzxlrz0dBuGtT9zDu2drIXNgFttWD/dLMjwGhLu53to3xtGY7o8zNCTy+YgUKIn+w==","signatures":[{"sig":"MEUCIC/7Ftu0nzY0D8U2Kdrzbq6F5R2houyYY8zWkiB2s4AJAiEA6EynQK/s9wFhFz/YL10f1Z2QZT0E+ItArtvq81DO5To=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20626467},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"81b0517d67d55853c0a84a173d92bd745772c021","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","glob":"^10.4.5","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","usearch":"^2.21.4","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@nut-tree-fork/nut-js":"^4.2.6","@modelcontextprotocol/sdk":"^1.24.3","@picovoice/porcupine-node":"^4.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","jszip":"^3.10.1","d3-node":"^4.0.1","js-yaml":"^4.1.0","node-pty":"^1.0.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.4_1770783831644_0.6756629066379953","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@phuetz/code-buddy","version":"0.1.5","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.5","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"a1acc70feea483c123ae4b946ffd5f201d49f37d","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.5.tgz","fileCount":2992,"integrity":"sha512-CmMALS7cAWSO8lJZaX1GoemG20AIfr0/Igt4cQZ+Rfu/yvmtalmiriZ9hN7CgylTWbwmgW1becF2pLj4aRwUZg==","signatures":[{"sig":"MEQCIEBQXah+z9QyN5y03b0naUJKWPMDeHUFBUtMUj9BtbpYAiBZ2p4b12xoJQ/cngSXFz7tKNSSyfRSclU7YbnICUe2CQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20822407},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6b863d42c0384f7f94b43a5bd4598fd7dc74c165","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.5_1770839983196_0.8037991099705484","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@phuetz/code-buddy","version":"0.1.6","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.6","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"4e0d9e25fceab3eb718f0ec6ae71738525bb1f94","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.6.tgz","fileCount":2993,"integrity":"sha512-0+xazVyoGX3hjf4ojbWBOCgakY0+v6cPk4ow9txuGo8By69o6jVMBnmchyGV3LUfJ0sa6s90/o9W8HHOFGCddQ==","signatures":[{"sig":"MEUCIQD9WiHjTpSQTQVpOLcuoCDNCh087x37c6qv1KrMZobLngIgG//m8Mm5nRzRNK6cHYh1oONh3U+K9uZa+KXdrObbd9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20827808},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dd23f7d3fd86c2ddf91e5204d79e361e75f569c0","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.6_1770842926997_0.5436586256860421","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@phuetz/code-buddy","version":"0.1.7","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.7","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"b58baa306857bbaa8eebc4c3955b2363d1e7ef2d","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.7.tgz","fileCount":2993,"integrity":"sha512-q4OKnaLrTzhzZVl4fDMKwTrHoejO1eZrNWhz28TfykyTVUpsWEslk5/4TaMkwJ6KTSGJ4hpOoPJ2JPhLb7RE6w==","signatures":[{"sig":"MEYCIQCFyPYvqSIRmBbKLk2Wjl28s39r+tQjFzqC7q7Mmm4/eQIhAIsPVL2LRBGkzgz1WlZCb7zyUMHeFeRE/pA2ajA3B6qj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20830554},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e3f81a210ed1f468ac8ce4922409c45a89d5bc24","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.7_1770863779284_0.5643695153323363","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@phuetz/code-buddy","version":"0.1.8","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.8","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"8815d91c9db85584c7ac4cdeab8c591d5fe9c1be","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.8.tgz","fileCount":2993,"integrity":"sha512-DOSwJ0r41wGd++lDC4lP5RehWqPZmUrQ3Pz87uFum0+UOfdOxwc+ruj8lYMADPo4tfuy8R+pWcp8mD7UEbfbyA==","signatures":[{"sig":"MEUCIQCMWq3FFLidTZjtihe2nvaj5g1fH4dgASRtCvcv/wWgogIgAhK6/mD+DbASy6B2sazrfrRjCvm+xC1lo3vwUKCcZrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20840917},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"392eb3c2bff65ce8d31f9aecbc4c9decb986d795","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.8_1770865878504_0.8118026634386939","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@phuetz/code-buddy","version":"0.1.9","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.9","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"c00d5cba0bc6d0ad09a311610c323ec8a94899bd","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.9.tgz","fileCount":2993,"integrity":"sha512-8EmN2nV21wPwAu0XwpgnYvZIUnkfGwgYIEOo29vuBrp6UCbqUAfdbZxviAckAwSaAZvpuQ5t/CB3X6j5jTA2DA==","signatures":[{"sig":"MEUCIHeW1/I3WqLyS7gNWtlSAyawnWDFWxX2g6VzlNcNSyn8AiEAuQecLwpY89V0652Cp7/woxqFnVlsu+iM1v2vzQDCpIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20842794},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"91a714ab5600cb0524c9e000c4b98f6d5bc5ac3f","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.9_1770866962237_0.8547817530326709","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@phuetz/code-buddy","version":"0.1.10","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.10","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"55efbe0361e720fd0d6dc06847323d55bc5e089f","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.10.tgz","fileCount":2993,"integrity":"sha512-qr6VS0CfV2tYE1DFoxfUowSnBhk5stZOjxJwdrD8N7WcXUPFyLi8gTWuizbSi8oNWPpOZzzIvVuTbGdbgcNWbw==","signatures":[{"sig":"MEYCIQDbzoVvJpdMhW9Y7FEozsKkfaya9/+LucEwqbSs0JEHHgIhANPcqtwaIoZ7eyXBqHnCeLOgpljET4+2MsmAQ3dWOzqM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20845760},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"88702d6d98402e6b518d315e2fd0a9cdb679dc70","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.10_1770868475765_0.8866362073219323","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@phuetz/code-buddy","version":"0.1.11","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.11","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"ff87e761d14fb331fce41d6eb2102f78e7f0198f","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.11.tgz","fileCount":2993,"integrity":"sha512-DseP6AL+WKnLvUmXV8src9zP6GSzEp1kOyAJP1qVwTW62w1v25mYthE1fCvSA4xAHLMCyxrBgT57ozrCTXr3gQ==","signatures":[{"sig":"MEQCIHQdlw2wdNZNBy6s1GfhtiNhMjy8G2EnyWK5I7TDcwx+AiBeEWDxZVaQq7dCb+B9S8NNjVhUKvmCSYpdzGjTaNMZEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20857900},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1c6516fb385b9bd9ea5b8023d7cedae153952c78","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.11_1770881710050_0.03870032516225996","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@phuetz/code-buddy","version":"0.1.12","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.12","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"6f8dae01000dea196422d51243daad25bbe64e6c","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.12.tgz","fileCount":2993,"integrity":"sha512-2JBhqHuTB5T4j2JcTaub8bqvY1fX9odbzRobDIH1KjDpxkAIX/uh2tS8qFxLNgv54BsSjoS5SwA/BhHdS+k/Jg==","signatures":[{"sig":"MEUCIQD6AySlS4LfUMqmQhw57VPU9W8pz8QeEWmRuGTtNBxqfgIgHPWzR5xJyGpURdWpDSRsHHNm8v3X55ZpD8Q36YAos04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20870800},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"27305bb2b002cd3fee674f53df4885e8b69b2461","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.12_1770902595705_0.445655160961429","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@phuetz/code-buddy","version":"0.1.13","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.13","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js"},"dist":{"shasum":"694f381ba0f1eadc19d7c5e46b4395431922f78b","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.13.tgz","fileCount":2993,"integrity":"sha512-dOQEJDAfN0EGqTghcBnJ32CO/gsxATnLpoY8Odw7ar2n7/FXCwT6nEbgf/EvyR4/3TiHx7TopYAVNUqg8RjqdA==","signatures":[{"sig":"MEUCIQDW9ieSDQ06N+94+bOfvTwOCoyC36AHZrFghdQYg+AzngIgeFFjj/O2R9O9M7VdKLR83xI2fSeaBbQwkzxdfDGbuoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20884370},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"42fc45d489d15e3fd985fd525a3c35467efc98f0","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.13_1770912154124_0.045317344956123495","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@phuetz/code-buddy","version":"0.1.14","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.14","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"59b84be10ecb46f8dc4c6e633afa6a0dbaa9a2ae","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.14.tgz","fileCount":3110,"integrity":"sha512-mUU7Ki0K4oZ/7cLtVjGNd04NXpNXBOfoY4H3PddAsTeH4pdcKeICkQmEkmpQDHrXdFXNnb/3Qsc0oRyjNMuXQA==","signatures":[{"sig":"MEQCIB59lADbYoGYxXsZU9mIGVsm+srzD3wNc/fsxYCQBG8ZAiBhCa/C37VT938GVBjq4w8+fI+3CX3FI8Z/VyuM9nq1+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21927458},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"53596cf32b7df19d604c8a326b09a01f5c364b9a","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.14_1770964322226_0.40936688857512893","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@phuetz/code-buddy","version":"0.1.15","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.15","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"61892f9562d68cb98bda50a44b85067efa449e40","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.15.tgz","fileCount":3110,"integrity":"sha512-kM5VFOGOWKRUyf/6I6p2Vu5zZgwqoTH14o7Jt6pNack0Fa0FZKIu8vWy7kafDWa8hEV8Lib/wXMR6l6OQbTaig==","signatures":[{"sig":"MEUCIQCyRqqswZl0WMhn2NL19u7qKhiRqzolk4ExJYc55H1IKAIgXmICqXwiidnm2UYDNK/Nry5/2VgqLutWtec4WAD8FvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21928129},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cbfa55d9054b92198ea81dbecd016dc67c6fe68e","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.15_1771008165062_0.03766203688997338","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@phuetz/code-buddy","version":"0.1.16","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.16","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"76475fc0bb15be087332c1ec1cedd1ca98afe128","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.16.tgz","fileCount":3110,"integrity":"sha512-3z/v0Vh00Dx+yortPsi5ce83Sc+hjqtjHnHv8rl3TZauKp6o9YMiELzMeMxk/fE14zaUFzqTS2mNRgJwydGEZw==","signatures":[{"sig":"MEYCIQCC+HeKvwT2E+k9HPJbe1YXc5xR2Ziov3+0u0CmDMknEAIhALfFjg2HyK7jvZRJMWEXt2f0LlHxtTYGcspCNJv34YMn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21928129},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7948ea4bbe1fe3f7b63638b78e0eba45f6a9bcf1","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.16_1771024164172_0.42098197894824363","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@phuetz/code-buddy","version":"0.1.17","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.17","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"8c1eeec006b6b1a5e9360721f17efe8cbda735ed","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.17.tgz","fileCount":3110,"integrity":"sha512-P3cbVJjXxlhQ/SjR+LhTKK/UOucm7fMyjHZPV6JMUElWhR75o2gRUu6ezgvXDpgHf4cLtNxgY2xJcoNd2zPdPw==","signatures":[{"sig":"MEUCIGknfHAKmQ/UNO48CKIAqSgC0GwF7EeR4ZwOVWaYcuYhAiEA84b7N0VnIN0gRVhe08Yxjc4j7kcMqJBHwOtit71+5+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21928129},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6a96f723f7fd5f3727220a6fb5fc614b5e5fc43a","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.17_1771145148377_0.19001434242316506","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@phuetz/code-buddy","version":"0.1.18","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.18","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"4c228847205d7da862fcf44b5b128cd568496812","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.18.tgz","fileCount":3110,"integrity":"sha512-9V3W6v6c+rhyRsQVqrURWHTQiXC3I8nOmf5RdUz6gvmbOV/7f0GZQ0zy74tQfEIsL44r9g/qsmZsZ4yiiOvhhQ==","signatures":[{"sig":"MEUCIQDg+cHiX0C2y+3YjtR8ZywpLd/2Uz86ehn/uVSwPQOAqwIgLb+lMzPq0dxK1XYsTbeyLXC3idWNYj1QSXiqZovtSgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21928129},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"14032f611acb5a8ca9aff25ba4e68f9c106f4976","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0","phin":"^3.7.1"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","glob":"^10.4.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/glob":"^8.1.0","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.32.6","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.22.4","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.18_1771154316798_0.5133506572377875","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@phuetz/code-buddy","version":"0.1.19","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.19","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"dbd3188da2c8f86eeacd617582ca1c2e824ac5eb","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.19.tgz","fileCount":3353,"integrity":"sha512-5FqVOtHWGycEosqGgGGuSJMdEmiKYy6gYNvXpv+3bizOJwwIQ0WkwDeR04OHTuVhY7qp7WpC9e9em1J+MfAyqQ==","signatures":[{"sig":"MEUCIQDin5F+UROF9AS7jT9/GzMkj9ZjBjEmhvY1E7g9jQuAVQIgMObdd7lsOPcMbQsJf/JLUMbjszBKzsM62h/7cbMJkn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22824693},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"24e6de954cbb31d08c57fafd9965368e8483d0cc","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.19_1771155952156_0.16682109536697864","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@phuetz/code-buddy","version":"0.1.20","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.20","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"684afa4f6ba7214332b772177f061fc48cf55aa2","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.20.tgz","fileCount":3353,"integrity":"sha512-IC0Wyp2AdT3ZYxA++4FyhWf+wuJRozWBjJg4EplF016QsuA05cXFRv7k5MB520bNpEzBcjUIyfZgMaEVzQEmgw==","signatures":[{"sig":"MEUCIQDRBrwiDiE+c0kwZyvBUOECXs1KxbWuYo2Rjp4BM37rdAIgeJsGkrqxekvZTFl4cjgV6LWbRNzqL3OSk4lTARdVFpM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22825171},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"44871471040770ae452b80d25988e0c9fff0df68","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.20_1771160068201_0.9105474069286958","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"@phuetz/code-buddy","version":"0.1.22","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.22","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"6efd83cae24d475495e3764810d7145174994c11","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.22.tgz","fileCount":3368,"integrity":"sha512-4cpgzjOVjokEIK6gzpmWQT1QM7VJghKnSdIZs0nRz7mEeQiNe+yWgMtfqo4T1U2cVMtJpZD/zFhWIRr0A9dulw==","signatures":[{"sig":"MEYCIQCSAZBxF6fZvq10zuSKphbjfYBJtsFN1x9mLEquWzS0AwIhAL3jP7KwGCK7GPRfV0NMroJyddDXprRdXOtFJYflXFru","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22902553},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"81c2fbe85be9ceefcb31a160a372391e563472c3","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.22_1771306789799_0.3545989557755449","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"@phuetz/code-buddy","version":"0.1.23","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.23","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"81779a8182bdcaea7a436e89faffd66668d6b0d8","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.23.tgz","fileCount":3368,"integrity":"sha512-7PB3UNk0VI+pkd91yPWGEYnelgwoKcUW2/AdynVv/90u3i5gJJa33CWQs8TNw36WLe/h2bmZ/ofo5iitMV2yxg==","signatures":[{"sig":"MEUCIQDHeiPTgzMk9U0z3HoWjWRyy6DO1Lml0y+QRMzDXIXV2QIgCdMJyHiB3oZluQjsZ9jLNdZi6ARBgZZ6lJvjPOoDDrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22902553},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d8b4dc4b89786352a378253c1629b979569276f7","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.23_1771307329708_0.9477533395112876","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"@phuetz/code-buddy","version":"0.1.24","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.24","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"2764f9bc6f3af813633e30cf74dff44487480d5d","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.24.tgz","fileCount":3398,"integrity":"sha512-ScxMkbHEyAbh373xr0kjoBPrNjWgSlOJqLzSX8a4u7upSWftCmbnXOPzv7asOtGPn6Xh1GDw/p1nppv26EPLNw==","signatures":[{"sig":"MEQCIBascFnw55RvwayuXqC6keGSTWVPjW0GdD6me/kF5r3nAiAQfWH6DhW1AITwBul+oLa21hbvyWpoMNQnIuiPimZFUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23128441},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"08ad0fc7545e4ad10e688ee2235c9dea31f5bdbb","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.24_1771357609463_0.5532955400923103","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"@phuetz/code-buddy","version":"0.1.25","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.25","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"0a42e28cc68c8c4738bae896acc35e8971a6ab0e","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.25.tgz","fileCount":3398,"integrity":"sha512-k19B0PdbqlSwo5aAmGbGmFXQbKEjdHxRwGT8EzaRhsJ8ZjAUeTGTHlWPlAEC85wwU97UlnZ1GrpCnyinT7N/JQ==","signatures":[{"sig":"MEUCIQDLp+l0DHzNnIDJ050eY2s5+vI011+PZtUmf+EMoeCIdwIgXCgngLS/AlSdSBFLNoaRchZOdDe7e5NpkBbWuc1feKA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23130794},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"90d84e69018a339ad8304873c26ecb196c581d36","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.25_1771358592870_0.15980641609261492","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"@phuetz/code-buddy","version":"0.1.26","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.1.26","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"7d6801e74dc0d5a0075f8b7e96a9fc2e8875766e","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.1.26.tgz","fileCount":3572,"integrity":"sha512-dh0qpnT9PWBDLlkLOCtIYK6BSOxyRAc+QD0YN//Kbe5blNjRY0Q4hQ+44BfC+EFuAt7Wi6s72FPqGX1ce8syhw==","signatures":[{"sig":"MEUCIG9B8ZtwGkvxfYtB+dzE8nPGaIcqNhVAekgg3WOXqy6CAiEAryk7QAyAWK3SdiInwAbIPqvAm2uHiXan4Jjcw0cCrI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23997506},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"aca13d96eefbe0f37e96a512afa5dac011b7fdd7","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.1.26_1771682953901_0.8716945434785652","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@phuetz/code-buddy","version":"0.2.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.2.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"7ef198496a211aecc6125a6ac6c9a8f4ab65340f","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.2.0.tgz","fileCount":3572,"integrity":"sha512-YggMS5iEXYG6Jo4m/3HHEqixlC3legREncOKgsQx6azcEVJZvb50UdymAmXEm/p86VoBfvS3ahVPkzOV1igs5A==","signatures":[{"sig":"MEYCIQDPIuT+SVMqS1p7+etgcuHTl3sX2lNT7PdttE1zwnz5gQIhAKHIuB2W1fXmPRyyg01LXTrZL9UkupuIqq2moHJxR3zr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24009753},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3923d9a89b155a450f5cd86a9b8688040118e012","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.2.0_1771692325538_0.33542220420685176","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@phuetz/code-buddy","version":"0.3.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.3.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"7e87d3099a22eba9610994940c446f8efb89470e","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.3.0.tgz","fileCount":3572,"integrity":"sha512-3xkrgc+aI2YinV0t+Eyki/14gbNWWhpfMlJ6nR4S6lns3xjFOyuKo9ypRNaVPMBYpsJRzAjYe6gzkVxMr/ZR5w==","signatures":[{"sig":"MEQCIHxCGzV5QHKYGjboi+08oNourciapgxlb+mw/huI9JFLAiBYt0zdMsj7icFtNB3tnlSerpakQAauPIkWPVxfCyEM8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23964830},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"627921284b44fecb76f360b21a41d0271f49812c","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.3.0_1771720342735_0.9789517060833366","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@phuetz/code-buddy","version":"0.4.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@0.4.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"9952a1757c59b2a87ed4c7b77c5f107691f2ebd2","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-0.4.0.tgz","fileCount":3575,"integrity":"sha512-r/7nSud+9ExCLBN80P1V81c4pOYdPfINJ627U4XwaNERyKnAVd4eVNbuBDRw/QTD39nQuzGveKStAU32cTfD5A==","signatures":[{"sig":"MEUCIQD5TVE0/0onNoS1nBneGRz0UYswE3aWcEbPf+mn2rCrnQIgCOL2HvoksvvVx8A8EyZTj7KSNKtn51NRJp6IhN60IC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24007737},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d48532b1a32988be430a5308c2cfadcd7e3e349f","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"jest","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:bun":"bun run tsc","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"jest --watch","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"jest --coverage","check:circular":"npx tsx scripts/check-circular-deps.ts","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","hono":"^4.11.4","jimp":"1.6.0"},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"10.8.2","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and OpenClaw-inspired architecture.","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","yaml":"^2.8.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","@iarna/toml":"^2.2.5","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","marked-terminal":"^7.3.0","diff-match-patch":"^1.0.5","@modelcontextprotocol/sdk":"^1.24.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^29.7.0","madge":"^8.0.0","eslint":"^9.39.1","ts-jest":"^29.4.6","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^29.5.14","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.18.0","tar":"^7.5.3","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.0","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","@vscode/ripgrep":"^1.17.0","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_0.4.0_1771726437373_0.9471681781992474","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-rc.8":{"name":"@phuetz/code-buddy","version":"1.0.0-rc.8","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.0.0-rc.8","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"61b83a5503802f3154dbc4a02ab55aa9cae6d7d8","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.0.0-rc.8.tgz","fileCount":5437,"integrity":"sha512-Llkf0sIa0hCVlVr9xkpCpDEFOosOXOZsv3vNkYDFhyskPTqqIXW2HZQjPP2AKqgh2LylXVTnG1M8bK8tQ0M84Q==","signatures":[{"sig":"MEUCIQDOiDNeIuukUYkY5hHrfutHuwZqwYHndlZtelptSRguMQIgRsqeUlSRvrKRj88TvXwUgaQxLcMiPr4CzZo6ZLBdvu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38710257},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"fe5579d3c91f4089ef892c774cbfbc49a8343772","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.11.0","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and Enterprise-grade architecture.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","kokoro-js":"^1.2.1","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.0.0-rc.8_1781006821153_0.8245945634222633","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@phuetz/code-buddy","version":"1.0.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.0.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"21ea1f13e478a2277364e7306918328d9019b45f","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.0.0.tgz","fileCount":3624,"integrity":"sha512-6tiIPzxhadm+c3Br94pz2g1HnITiYWpbNe8VOWgft2055MVi3oHe8DaKG4mmgUr836cl5w7Y1fZKK7gOG9AhzA==","signatures":[{"sig":"MEYCIQCtEZqBHDLeJ2O6WTyxGByNrERNK5LF7lR49wPSgMxOZAIhAMMCPUOqtOdVDnGd6ONG9yg3wJ22/nB0s7tCZbo8wAJz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23721377},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"0ee07cec6526a7f68b20f54c7d992a23db0488ed","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.11.0","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and Enterprise-grade architecture.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","kokoro-js":"^1.2.1","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.0.0_1781098477546_0.5623762892820152","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@phuetz/code-buddy","version":"1.1.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.1.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"8d695c7f21c775a62cd19589bb873afd721a69a3","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.1.0.tgz","fileCount":3646,"integrity":"sha512-vH78HJQAkZDSLkU41DPTLR+Cpoe8GXmbAA9jKQnOSG43COfCaYWEdDcQYOE0ifsAdPQ+WjBUn4KvVmfW6RFlQw==","signatures":[{"sig":"MEQCIGbx3h22f2btr27nuZj+Q5nY1gaBPKV20gYVEUm9/bbZAiA7i+Br0tKHIzXlBuT3fU+R2h4iA++AlhgZc078P1XBSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23832119},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"d963a64295ca8d134c08431fc830c09a8537a2be","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.11.0","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and Enterprise-grade architecture.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","kokoro-js":"^1.2.1","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.1.0_1781166779390_0.792008625405537","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@phuetz/code-buddy","version":"1.2.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.2.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"1211eb69981f247dec3a7526c1758b5fc3c6f640","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.2.0.tgz","fileCount":3700,"integrity":"sha512-94pdWJJDBwbsN+ZFdtSPNFMkYgx65G6h4wO1ugEv0Fs4GUmhuInGz/4MHg5IcwG2MNGaOns5MnlGrPhMKb4qhw==","signatures":[{"sig":"MEUCIDIrs+VFwshztBSDPXxSPKrwR9bBxujEQ2yFAmygXyheAiEArBOt286Gsb2oJ8Fa60NwOvIXQpGYe+9JAF5aywNuxTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24567196},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"93e8e0b9b236bf72b2b1fb463d28a3b0dc5db2f5","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and Enterprise-grade architecture.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.2.0_1781798216542_0.25680115417076466","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@phuetz/code-buddy","version":"1.3.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.3.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"1f9cae8c645d85ef19e341825683b2cd6f5f192b","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.3.0.tgz","fileCount":3762,"integrity":"sha512-HAXvVZjSLHImuo4VlgxRHy+jDGJdlmmJF+6gAKO7+V1zzq8Rv+YFnGpBRet1y963BZtN54l//PSI8n6f4L5KGw==","signatures":[{"sig":"MEYCIQCE/Y26iK2IWAkKWIpBf1qFMoO9D2raPVOf75uq9ZtyYgIhAIb5qQ5r2aKfeLlJcgJqBNwY0lRiT7kQGpPIEeK37JhN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24769994},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"9e1705f8e33c474ded432649ed0fa651af9c7b12","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal. Supports Grok, Claude, ChatGPT, Gemini, Ollama and LM Studio with 52+ tools, multi-channel messaging, skills system, and Enterprise-grade architecture.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.3.0_1781992742151_0.1385896843859109","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@phuetz/code-buddy","version":"1.3.1","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.3.1","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"8bc35baeac9b606714d8b41bb3036c2b191eb76b","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.3.1.tgz","fileCount":3762,"integrity":"sha512-db46kCqMs2beDmIlqqDQV79cbK7nnkVUn5ggzWvB8ZFaes/9Ofjoy+WvGnGxdv0+jrw2swTA/2Z2DuRjWBiTcQ==","signatures":[{"sig":"MEUCIQCW87UsCk8sbWDrz2161TDQVDnOvNksZ+u1FEmOMklVzQIgNyORevedqKJmzyylbcnx9u4wZ1HgWuCjyHLnAQDtAMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24777832},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"cd31f2a9ab43f35050573a76911cbe2fc2891bed","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.3.1_1781996514741_0.7140880778494525","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@phuetz/code-buddy","version":"1.3.2","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.3.2","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"3f7e6e0042f182072d8a8d95f2da4a56390a0bfc","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.3.2.tgz","fileCount":3764,"integrity":"sha512-4RWjACzjkP5ZYSnf9mExAqTsIHm2SM51b8pfynVaDcHWSOzNUKhGoQTFcz3cwnFIEkcGna8WnYks7sGzDJS2JA==","signatures":[{"sig":"MEUCIQC0QmVvx2VK1dciifwrvtkAvDlk+wLJGaEAxjhf3/9NBQIgezqokPK9He+SpziawqOAfjq5zajoF9bgKUpzyiS//7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24811986},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"2107f8d54f733e4095b8e8b6a0c697bffec1343b","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.3.2_1782219849528_0.8641792635193595","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@phuetz/code-buddy","version":"1.4.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.4.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"38e7983f7fb07175fe3b63aec94add4d56f291d1","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.4.0.tgz","fileCount":3766,"integrity":"sha512-25rrdFvCCkOJvtGg5ZC+TZjkF/PX2Qwv0o31Tb51b2w7TOFtccwZ9g00huNdzxMENOHYEL1NhNP3HUE5zHiBaw==","signatures":[{"sig":"MEQCIDmhdYwbpI9F/os9Mj0zyvU7xw5WiUJgLseJxn0v6B/3AiAP5jfw6szED6bUijJa2lqDGB8B0SKaeoghH9/YbQWjeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24821654},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"3ae4a223072eb1759c4823e9cfa04f8dd87328d4","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.4.0_1782250385515_0.06077021264446314","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@phuetz/code-buddy","version":"1.5.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.5.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"3854742e3058c1f0e8a1f9f880ceb82d6750c05b","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.5.0.tgz","fileCount":3768,"integrity":"sha512-64DtwLHy18OXOz2aI2E8WYCnXlOSgNlF3VvI603WfDINJj/AughSK1OIc/eISNIJyuKUCIUCWduJ2gFa7tbcFw==","signatures":[{"sig":"MEYCIQC980ZOQbZWrtuwah1Wra0FxMdMj62I3aynp9Zb0em8SwIhAPjI3BoZoIonEGgSD/Qrc7iiKgfpI+VWSViEGerb6tzR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24832148},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"85c04ef817acd58c75b25b5af250e8212d50c478","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.5.0_1782254221707_0.2739501457161251","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@phuetz/code-buddy","version":"1.5.1","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.5.1","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"e8b38369c4f1ae099f4d9858d92a62a6c2e65468","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.5.1.tgz","fileCount":5650,"integrity":"sha512-1g0z+YS37xYvYu0bX4U9YLa/A5qe6umg5ChKGxsGNuchyLunVcF5j1kGac6pn3/s5kc2oIMIqNs/clA67HlLYw==","signatures":[{"sig":"MEYCIQC8aRu978sljuXAUwWRp5QvsQ/V+pIsLJm0cO1THGkUrQIhAKnu/GwxiaTjptrIMWZcs7sSvtL33PEodAb7ygSbDgJj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40505357},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"a86a23f147a4db4154f503ee718eb37d3289bbeb","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@opentelemetry/resources":"^2.5.1","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.5.1_1782315282816_0.19599217413289693","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@phuetz/code-buddy","version":"1.6.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.6.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"45df88c948088a38ef4e95b22692f784841a2fb2","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.6.0.tgz","fileCount":3772,"integrity":"sha512-n3Y1i0mkKCNVsJsGLAkVRnbTleKyzXfP2x3/GnP8kSnP/jrysFnCY/fh0QS0y9riNcrVVmd4Ku8OAZpvxsy9DQ==","signatures":[{"sig":"MEUCIQD0N+/vKz6hFOmmmbwV8aOJtQ+uqYGxmfOSULah6I7spgIgFx4NICuhhKSMmF7qWFeWmLqcK64nNqd/+2D6xIoiyLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24877754},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"c85f10106e35ce827c4e0a920ae9dd6ed0aeacf4","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@opentelemetry/resources":"^2.5.1","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.6.0_1782370642660_0.8296004378737252","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@phuetz/code-buddy","version":"1.6.1","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"MIT","_id":"@phuetz/code-buddy@1.6.1","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"f6b9c64ce96cb043e2af54d27906c174a5da6b0a","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-1.6.1.tgz","fileCount":3776,"integrity":"sha512-mgiyYpVS5eQyGrOY8TgrSEhltagBIJabJLP17IHqb1w3C5JZ4l82+wVnfJx9rm4AOr3MfIs/eJceYg5GAjQ9Vg==","signatures":[{"sig":"MEYCIQCAluuUE/DHOIwrF61ifO40fgvgiu/Yik2255BQbxMa6wIhAI2OVtJYS6Hb7PmB3r5oPwC5S84stppozb5cjLg2fQhk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24891570},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"bd7d6621bd1efc7cdb8be780cec00ef9749c90e1","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"node scripts/strip-sourcemaps.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc","build:gui":"cd cowork && npm run build","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch"},"_npmUser":{"name":"phuetz","email":"patrice.huetz@gmail.com"},"overrides":{"qs":"^6.13.0","ws":"^8.20.1","hono":"^4.12.22","jimp":"1.6.0","vite":"^7.3.3","protobufjs":"^7.6.1","simple-git":"^3.36.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"_npmVersion":"11.17.0","description":"Open-source multi-provider AI coding agent for the terminal, desktop, and HTTP. 15 LLM providers (Grok, Claude, ChatGPT, Gemini, Ollama, LM Studio, …) with ~110 tools, a peer-to-peer fleet, opt-in self-improvement, multi-channel messaging, and a skills sy","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.16.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","express":"^5.1.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.5","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","better-sqlite3":"^11.10.0","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.212.0","@browserbasehq/stagehand":"^3.4.0","@opentelemetry/resources":"^2.5.1","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.24.3","@opentelemetry/instrumentation-http":"^0.212.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.212.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.15","xlsx":"^0.18.5","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","js-yaml":"^4.1.0","usearch":"^2.21.4","node-pty":"^1.0.0","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.3.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.16","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_1.6.1_1782393241590_0.9636605113141528","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@phuetz/code-buddy","version":"2.0.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"BUSL-1.1","_id":"@phuetz/code-buddy@2.0.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"bb256dafdddd774aa9c9a832e29c511b165e86d2","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-2.0.0.tgz","fileCount":5046,"integrity":"sha512-tpQ78OKsXWEJt6A5ZBksO8oiYf1alm+FfiRfy8k2UjBqEeoDt9TX1VCcinNolq4dbGY18gi2YdN2UaaXLJIWNA==","signatures":[{"sig":"MEUCIQDvFnSdSBmcGGSnFxklgzKsBGVSf+xog6tlFiKlFLs5nQIgd2jDOQI800JvtQ5HO5/SSCGk3bSXQzQGf/BB0AOrMrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@phuetz%2fcode-buddy@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34303368},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"92c913a97b1b9d7a03ab266de5615a472a2ac899","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo codebuddy-runtime.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"npm run build && node scripts/strip-sourcemaps.mjs && node scripts/write-runtime-manifest.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm run check:pack && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","build:gui":"cd cowork && npm run build","docker:up":"docker compose up -d","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit && npm run typecheck:gpuNode-identity && npm run typecheck:companion-core","check:pack":"vitest run tests/security/npm-pack-contents.test.ts","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","docker:down":"docker compose down","docker:logs":"docker compose logs -f","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","docker:build":"docker build --target production -t codebuddy:latest .","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","sandbox:build":"docker build -f docker/workspace-sandbox.Dockerfile -t codebuddy-workspace-sandbox:1 .","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch","verify:avatar-unreal":"node scripts/verify-unreal-avatar-plugin.mjs","typecheck:companion-core":"tsc --noEmit -p packages/companion-core/tsconfig.json","typecheck:gpuNode-identity":"tsc --project tsconfig.gpuNode-identity.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:42129399-d522-4356-a981-466e711c916a"}},"overrides":{"qs":"^6.15.3","ws":"^8.20.1","npm":"^11.19.1","hono":"^4.12.29","vite":"^7.3.3","undici":"^6.28.0","protobufjs":"^7.6.5","simple-git":"^3.36.0","browserslist":"^4.28.9","@opentelemetry/core":"^2.9.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"Open-source AI coding agent for the terminal, desktop, and HTTP. 64 LLM providers (Claude, GPT, Grok, Gemini, Ollama, LM Studio, NVIDIA NIM, …), 30 of them free-tier or local $0, with automatic failover. 220+ tools selected per query, a peer-to-peer fleet","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"sharp@0.32.6":true,"sharp@0.33.5":true,"sharp@0.34.5":true,"esbuild@0.27.1":true,"node-pty@1.1.0":true,"usearch@2.21.4":true,"bufferutil@4.1.0":true,"protobufjs@7.6.5":true,"tesseract.js@7.0.0":true,"tree-sitter@0.21.1":true,"@google/genai@1.52.0":true,"node-llama-cpp@3.16.2":true,"@vscode/ripgrep@1.17.0":true,"better-sqlite3@11.10.0":true,"onnxruntime-node@1.24.3":true,"tree-sitter-bash@0.23.3":true,"tree-sitter-javascript@0.23.1":true,"tree-sitter-typescript@0.23.2":true,"@whiskeysockets/baileys@6.7.23":true},"dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.18.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","undici":"^6.28.0","express":"^5.1.0","js-yaml":"^4.1.0","entities":"^4.5.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.6","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.220.0","@browserbasehq/stagehand":"^3.6.0","@opentelemetry/resources":"^2.9.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.29.0","youtube-caption-extractor":"^1.10.2","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.22","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","usearch":"^2.21.4","node-pty":"^1.0.0","web-push":"^3.6.7","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.2.0","better-sqlite3":"^11.10.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.23","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_2.0.0_1788970424985_0.9041411445397816","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@phuetz/code-buddy","version":"2.1.0","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"BUSL-1.1","_id":"@phuetz/code-buddy@2.1.0","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"homepage":"https://github.com/phuetz/code-buddy#readme","bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"dist":{"shasum":"b3d4a3b137b53244361df63b13163f46b57876fe","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-2.1.0.tgz","fileCount":5197,"integrity":"sha512-3SM23853ZBy2ALSX/whdKWtPy61uvoyV+7zITTJbShz2Q+pY32e10LnY5s7J+Gpc5Df8oVJdBnTG3efwexPZrw==","signatures":[{"sig":"MEYCIQDRdccc6OHo78h7jw4PqEUzPrjiKWRvOgR2b6eQTHVwgQIhAOrvbUF6Nz+0AKpKxDKc2xehZPslTzERAj7LTv2tTK44","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcuCcvPrvs4TDox8LTn9sMUOd5mqxIn8EXmlAqxZTiCAIhAPvEsr4Sxxh+gb6KIKQQL+5xkK+2QtTEb/Wme6irr9Z0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@phuetz%2fcode-buddy@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35088075},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./harness":{"types":"./dist/harness/index.d.ts","import":"./dist/harness/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"555f73ed991d2060fae76d4bca157f117c16f87c","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo codebuddy-runtime.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"npm run build && node scripts/strip-sourcemaps.mjs && node scripts/write-runtime-manifest.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm run check:pack && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","build:gui":"cd cowork && npm run build","docker:up":"docker compose up -d","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit && npm run typecheck:gpuNode-identity && npm run typecheck:companion-core","check:pack":"vitest run tests/security/npm-pack-contents.test.ts","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","docker:down":"docker compose down","docker:logs":"docker compose logs -f","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","docker:build":"docker build --target production -t codebuddy:latest .","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","sandbox:build":"docker build -f docker/workspace-sandbox.Dockerfile -t codebuddy-workspace-sandbox:1 .","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch","verify:avatar-unreal":"node scripts/verify-unreal-avatar-plugin.mjs","typecheck:companion-core":"tsc --noEmit -p packages/companion-core/tsconfig.json","typecheck:gpuNode-identity":"tsc --project tsconfig.gpuNode-identity.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:42129399-d522-4356-a981-466e711c916a"}},"overrides":{"qs":"^6.15.3","ws":"^8.20.1","npm":"^11.19.1","hono":"^4.12.29","vite":"^7.3.3","undici":"^6.28.0","protobufjs":"^7.6.5","simple-git":"^3.36.0","browserslist":"^4.28.9","@opentelemetry/core":"^2.9.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI coding agent with terminal and HTTP interfaces, optional Cowork desktop integration, multi-provider routing, tools, fleet collaboration and inspectable memory. See release notes for supported integrations and limits.","directories":{},"_nodeVersion":"22.23.2","allowScripts":{"sharp@0.32.6":true,"sharp@0.33.5":true,"sharp@0.34.5":true,"esbuild@0.27.1":true,"node-pty@1.1.0":true,"usearch@2.21.4":true,"bufferutil@4.1.0":true,"protobufjs@7.6.5":true,"tesseract.js@7.0.0":true,"tree-sitter@0.21.1":true,"@google/genai@1.52.0":true,"node-llama-cpp@3.16.2":true,"@vscode/ripgrep@1.17.0":true,"better-sqlite3@11.10.0":true,"onnxruntime-node@1.24.3":true,"tree-sitter-bash@0.23.3":true,"tree-sitter-javascript@0.23.1":true,"tree-sitter-typescript@0.23.2":true,"@whiskeysockets/baileys@6.7.23":true},"dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.18.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","undici":"^6.28.0","express":"^5.1.0","js-yaml":"^4.1.0","entities":"^4.5.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.6","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","typescript":"^5.9.3","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.220.0","@browserbasehq/stagehand":"^3.6.0","@opentelemetry/resources":"^2.9.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.29.0","youtube-caption-extractor":"^1.10.2","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.22","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","usearch":"^2.21.4","node-pty":"^1.0.0","web-push":"^3.6.7","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.2.0","better-sqlite3":"^11.10.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.23","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/code-buddy_2.1.0_1789535987089_0.3225283608659364","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"_id":"@phuetz/code-buddy@2.2.0","bin":{"buddy":"dist/index.js","code-buddy":"dist/index.js"},"bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"dist":{"shasum":"49b3dd8aba568eafd67ba01f0dba1af8b8b65c5b","tarball":"https://registry.npmjs.org/@phuetz/code-buddy/-/code-buddy-2.2.0.tgz","fileCount":5203,"integrity":"sha512-HPqY+VD51XY05OBAt9bFi3ieGRF/xkCIvFGUHqn15uVAilElqocTXgrV1lR+KHc9giCONFbQ9Z4PdNy3VckwHw==","signatures":[{"sig":"MEYCIQDbRdxmwDBzURCcm+MYP7Yl7LsMsdFz+DLiCosBlgSYZwIhAJjPrVxA6x/J/nZgUQQZJYfPNNGWcDbt6VIQppP4p2QT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA9IMzXtvmLoqTtb0a5ECVUvsLim1E3y6Xmr6bEUJYyXAiEAuNj/m86lz3FX/G3A/17dr/MBu8uuRpkERRTj4k8k4fc="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@phuetz%2fcode-buddy@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":35156180},"main":"dist/index.js","name":"@phuetz/code-buddy","type":"module","types":"./dist/index.d.ts","author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./harness":{"types":"./dist/harness/index.d.ts","import":"./dist/harness/index.js"},"./plugin-sdk":{"types":"./dist/plugin-sdk/index.d.ts","import":"./dist/plugin-sdk/index.js"},"./engine-types":{"types":"./dist/shared/engine-types.d.ts","import":"./dist/shared/engine-types.js"},"./plugin-sdk/llm":{"types":"./dist/plugin-sdk/llm.d.ts","import":"./dist/plugin-sdk/llm.js"},"./plugin-sdk/core":{"types":"./dist/plugin-sdk/core.d.ts","import":"./dist/plugin-sdk/core.js"},"./plugin-sdk/tool":{"types":"./dist/plugin-sdk/tool.d.ts","import":"./dist/plugin-sdk/tool.js"},"./plugin-sdk/channel":{"types":"./dist/plugin-sdk/channel.d.ts","import":"./dist/plugin-sdk/channel.js"},"./plugin-sdk/testing":{"types":"./dist/plugin-sdk/testing.d.ts","import":"./dist/plugin-sdk/testing.js"}},"gitHead":"b5c50c189f69794ef73cbea1ef3b3a86c00b2b9f","license":"BUSL-1.1","scripts":{"dev":"bun run src/index.ts","docs":"typedoc","lint":"eslint . --ext .js,.jsx,.ts,.tsx","perf":"PERF_TIMING=true npm start -- --help","test":"vitest run","bench":"npm run bench:startup && npm run bench:tools","build":"tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","clean":"rm -rf dist coverage .nyc_output *.tsbuildinfo codebuddy-runtime.json","start":"node dist/index.js","format":"prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"","dev:gui":"cd cowork && npm run dev","prepack":"npm run build && node scripts/strip-sourcemaps.mjs && node scripts/write-runtime-manifest.mjs","release":"semantic-release","dev:node":"tsx src/index.ts","lint:fix":"eslint . --ext .js,.jsx,.ts,.tsx --fix","validate":"npm run lint && npm run typecheck && npm run check:pack && npm test","build:all":"node scripts/build-all.js","build:bun":"bun run tsc && node scripts/copy-bundled-skills.mjs && node scripts/copy-mobile-pwa-assets.mjs && node scripts/write-runtime-manifest.mjs","build:gui":"cd cowork && npm run build","docker:up":"docker compose up -d","start:bun":"bun run dist/index.js","test:real":"RUN_REAL_TESTS=1 vitest run","typecheck":"tsc --noEmit && npm run typecheck:gpuNode-identity && npm run typecheck:companion-core","check:pack":"vitest run tests/security/npm-pack-contents.test.ts","docs:watch":"typedoc --watch","smoke:docx":"tsx scripts/smoke-docx-workshop.ts","test:watch":"vitest","bench:tools":"npx tsx benchmarks/tools.bench.ts","build:watch":"tsc --watch","docker:down":"docker compose down","docker:logs":"docker compose logs -f","install:bun":"bun install","install:gui":"node dist/index.js install-gui","release:dry":"semantic-release --dry-run --no-ci","autonomy:lab":"tsx scripts/autonomy-lab/run.ts","docker:build":"docker build --target production -t codebuddy:latest .","format:check":"prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\"","perf:verbose":"PERF_TIMING=true VERBOSE=true npm start -- --help","bench:startup":"npx tsx benchmarks/startup.bench.ts","sandbox:build":"docker build -f docker/workspace-sandbox.Dockerfile -t codebuddy-workspace-sandbox:1 .","test:coverage":"vitest run --coverage","build:all:pack":"node scripts/build-all.js --pack","build:captured":"cd src-captured && cargo build --release","check:circular":"npx tsx scripts/check-circular-deps.ts","pilot:validate":"pwsh -NoProfile -ExecutionPolicy Bypass -File scratch/run-all-probes.ps1","prepublishOnly":"npm run clean && npm run build","typecheck:watch":"tsc --noEmit --watch","verify:avatar-unreal":"node scripts/verify-unreal-avatar-plugin.mjs","typecheck:companion-core":"tsc --noEmit -p packages/companion-core/tsconfig.json","typecheck:gpuNode-identity":"tsc --project tsconfig.gpuNode-identity.json"},"version":"2.2.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:42129399-d522-4356-a981-466e711c916a"}},"homepage":"https://github.com/phuetz/code-buddy#readme","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"overrides":{"qs":"^6.15.3","ws":"^8.20.1","npm":"^11.19.1","hono":"^4.12.29","vite":"^7.3.3","undici":"^6.28.0","protobufjs":"^7.6.5","simple-git":"^3.36.0","browserslist":"^4.28.9","@opentelemetry/core":"^2.9.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/otlp-transformer":{"protobufjs":"^8.4.2"}},"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"AI coding agent with terminal and HTTP interfaces, optional Cowork desktop integration, multi-provider routing, tools, fleet collaboration and inspectable memory. See release notes for supported integrations and limits.","directories":{},"maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"_nodeVersion":"22.23.2","allowScripts":{"sharp@0.32.6":true,"sharp@0.33.5":true,"sharp@0.34.5":true,"esbuild@0.27.1":true,"node-pty@1.1.0":true,"usearch@2.21.4":true,"bufferutil@4.1.0":true,"protobufjs@7.6.5":true,"tesseract.js@7.0.0":true,"tree-sitter@0.21.1":true,"@google/genai@1.52.0":true,"node-llama-cpp@3.16.2":true,"@vscode/ripgrep@1.17.0":true,"better-sqlite3@11.10.0":true,"onnxruntime-node@1.24.3":true,"tree-sitter-bash@0.23.3":true,"tree-sitter-javascript@0.23.1":true,"tree-sitter-typescript@0.23.2":true,"@whiskeysockets/baileys@6.7.23":true},"dependencies":{"ink":"^4.4.1","zod":"^3.25.0","cors":"^2.8.5","docx":"^9.6.1","open":"^11.0.0","yaml":"^2.9.0","axios":"^1.18.1","chalk":"^5.6.2","react":"^18.3.1","dotenv":"^16.6.1","ignore":"^5.3.2","marked":"^15.0.12","openai":"^5.23.2","pdfkit":"^0.18.0","semver":"^7.7.3","undici":"^6.28.0","express":"^5.1.0","js-yaml":"^4.1.0","entities":"^4.5.0","fs-extra":"^11.3.2","tiktoken":"^1.0.22","commander":"^12.1.0","fast-glob":"^3.3.3","form-data":"^4.0.6","ml-matrix":"^6.12.2","pptxgenjs":"^4.0.1","typescript":"^5.9.3","@iarna/toml":"^2.2.5","@ngrok/ngrok":"^1.7.0","@sentry/node":"^10.40.0","highlight.js":"^10.7.3","tesseract.js":"^7.0.0","@noble/curves":"^1.9.7","cli-highlight":"^2.1.11","terminal-image":"^4.1.0","@resvg/resvg-js":"^2.6.2","@vscode/ripgrep":"^1.17.0","marked-terminal":"^7.3.0","playwright-core":"^1.58.2","diff-match-patch":"^1.0.5","@opentelemetry/api":"^1.9.0","google-auth-library":"^10.6.2","@opentelemetry/sdk-node":"^0.220.0","@browserbasehq/stagehand":"^3.6.0","@opentelemetry/resources":"^2.9.0","@huggingface/transformers":"^4.2.0","@modelcontextprotocol/sdk":"^1.29.0","youtube-caption-extractor":"^1.10.2","@opentelemetry/instrumentation-http":"^0.220.0","@opentelemetry/semantic-conventions":"^1.40.0","@opentelemetry/exporter-trace-otlp-http":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","madge":"^8.0.0","eslint":"^9.39.1","vitest":"^4.0.18","typedoc":"^0.28.15","prettier":"^3.7.4","@types/ws":"^8.18.1","happy-dom":"^20.7.0","@types/cors":"^2.8.19","@types/node":"^20.19.26","@types/react":"^18.3.27","@types/pdfkit":"^0.17.5","@types/semver":"^7.7.1","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/fs-extra":"^11.0.4","semantic-release":"^25.0.3","@vitest/coverage-v8":"^4.0.18","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","vscode-languageserver":"^9.0.1","@types/diff-match-patch":"^1.0.36","@typescript-eslint/parser":"^8.49.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.49.0","vscode-languageserver-textdocument":"^1.0.12","conventional-changelog-conventionalcommits":"^9.3.1"},"optionalDependencies":{"d3":"^7.9.0","ws":"^8.20.1","tar":"^7.5.22","xlsx":"https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz","jszip":"^3.10.1","sharp":"^0.33.5","alasql":"^4.17.0","adm-zip":"^0.5.16","d3-node":"^4.0.1","usearch":"^2.21.4","node-pty":"^1.0.0","web-push":"^3.6.7","pdf-parse":"^2.4.5","playwright":"^1.58.2","tree-sitter":"^0.21.1","string-width":"^7.2.0","matrix-js-sdk":"^36.2.0","better-sqlite3":"^11.10.0","node-llama-cpp":"^3.14.5","@mlc-ai/web-llm":"^0.2.80","tree-sitter-bash":"^0.23.3","@anthropic-ai/sdk":"^0.39.0","@xenova/transformers":"^2.17.2","@google/generative-ai":"^0.21.0","@nut-tree-fork/nut-js":"^4.2.6","tree-sitter-typescript":"^0.23.2","@whiskeysockets/baileys":"^6.7.23","@picovoice/porcupine-node":"^4.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/code-buddy_2.2.0_1789671173675_0.8355372807304273"}}},"time":{"created":"2026-02-08T10:42:49.713Z","modified":"2026-09-17T18:52:54.223Z","0.1.0":"2026-02-08T10:42:50.079Z","0.1.1":"2026-02-10T06:32:36.225Z","0.1.2":"2026-02-11T03:46:56.949Z","0.1.3":"2026-02-11T03:52:40.797Z","0.1.4":"2026-02-11T04:23:51.935Z","0.1.5":"2026-02-11T19:59:43.556Z","0.1.6":"2026-02-11T20:48:47.376Z","0.1.7":"2026-02-12T02:36:19.720Z","0.1.8":"2026-02-12T03:11:18.820Z","0.1.9":"2026-02-12T03:29:22.628Z","0.1.10":"2026-02-12T03:54:36.125Z","0.1.11":"2026-02-12T07:35:10.424Z","0.1.12":"2026-02-12T13:23:16.197Z","0.1.13":"2026-02-12T16:02:34.500Z","0.1.14":"2026-02-13T06:32:02.584Z","0.1.15":"2026-02-13T18:42:45.429Z","0.1.16":"2026-02-13T23:09:24.583Z","0.1.17":"2026-02-15T08:45:48.713Z","0.1.18":"2026-02-15T11:18:37.078Z","0.1.19":"2026-02-15T11:45:52.460Z","0.1.20":"2026-02-15T12:54:28.535Z","0.1.22":"2026-02-17T05:39:50.207Z","0.1.23":"2026-02-17T05:48:50.053Z","0.1.24":"2026-02-17T19:46:49.812Z","0.1.25":"2026-02-17T20:03:13.362Z","0.1.26":"2026-02-21T14:09:14.278Z","0.2.0":"2026-02-21T16:45:25.912Z","0.3.0":"2026-02-22T00:32:23.139Z","0.4.0":"2026-02-22T02:13:57.779Z","1.0.0-rc.8":"2026-06-09T12:07:01.604Z","1.0.0":"2026-06-10T13:34:37.913Z","1.1.0":"2026-06-11T08:32:59.767Z","1.2.0":"2026-06-18T15:56:56.866Z","1.3.0":"2026-06-20T21:59:02.428Z","1.3.1":"2026-06-20T23:01:55.072Z","1.3.2":"2026-06-23T13:04:09.931Z","1.4.0":"2026-06-23T21:33:05.883Z","1.5.0":"2026-06-23T22:37:02.046Z","1.5.1":"2026-06-24T15:34:43.150Z","1.6.0":"2026-06-25T06:57:22.941Z","1.6.1":"2026-06-25T13:14:01.864Z","2.0.0":"2026-09-09T16:13:45.304Z","2.1.0":"2026-09-16T05:19:47.362Z","2.2.0":"2026-09-17T18:52:53.897Z"},"bugs":{"url":"https://github.com/phuetz/code-buddy/issues"},"author":{"name":"Patrice Huetz","email":"patrice.huetz@gmail.com"},"license":"BUSL-1.1","homepage":"https://github.com/phuetz/code-buddy#readme","keywords":["cli","agent","text-editor","code-buddy","ai","coding-assistant","terminal","developer-tools","mcp","hooks","grok","openai","claude","xai","automation","code-generation","agentic","llm","rag","semantic-search","ai-agent","terminal-ui","multi-provider","gemini","ollama","local-llm"],"repository":{"url":"git+https://github.com/phuetz/code-buddy.git","type":"git"},"description":"AI coding agent with terminal and HTTP interfaces, optional Cowork desktop integration, multi-provider routing, tools, fleet collaboration and inspectable memory. See release notes for supported integrations and limits.","maintainers":[{"name":"phuetz","email":"patrice.huetz@gmail.com"}],"readme":"<div align=\"center\">\n\n# Code Buddy 2.1\n\n**A local-first AI coding agent that can also run as a fleet, a desktop app, and a companion.**\nIt reads your repository, writes code, runs commands, and you can watch it work — on your machine,\nat $0 with [Ollama](https://ollama.com) or a ChatGPT subscription.\n\n<p>\n  <a href=\"https://www.npmjs.com/package/@phuetz/code-buddy\"><img src=\"https://img.shields.io/npm/v/@phuetz/code-buddy.svg?style=flat-square&color=ff6b6b&label=version\" alt=\"npm version\"/></a>\n  <a href=\"https://github.com/phuetz/code-buddy/actions/workflows/ci.yml?query=branch%3Amain\"><img src=\"https://github.com/phuetz/code-buddy/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"CI on main\"/></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-BSL_1.1-feca57.svg?style=flat-square\" alt=\"License: Business Source License 1.1\"/></a>\n</p>\n\n[Français](README.fr.md) ·\n[What Code Buddy is](#what-code-buddy-is) ·\n[Install](#install) ·\n[First run](#first-run) ·\n[Opt-in](#opt-in) ·\n[Not ready](#not-ready) ·\n[License](#license) ·\n[Documentation](#documentation)\n\n<p>\n  <a href=\"docs/qa/code-buddy-studio/cowork-demo-moneyshot.mp4\"><img src=\"docs/qa/code-buddy-studio/cowork-demo-moneyshot.gif\" alt=\"A local model reasons, then uses a tool to create a real file — no cloud API bill\" width=\"760\"/></a>\n  <br/>\n  <sub>A local model reasons on screen, then uses a tool to create a real file. No cloud API bill.</sub>\n</p>\n\n<p>\n  <a href=\"docs/assets/infographic-code-buddy-2.webp\"><img src=\"docs/assets/infographic-code-buddy-2.webp\" width=\"900\" alt=\"Code Buddy 2 architecture: you, multi-channel interfaces (terminal, Cowork, PWA, chat, voice, App Studio), the agentic runtime (council, fleet, memory, shadow workspace, evolve, knowledge graph), 220+ tools, 64 providers, and the autonomous engineering loop\"/></a>\n  <br/>\n  <sub>The big picture: interfaces, the agentic runtime, tools and providers, and the loop that turns an idea into an improvement.</sub>\n</p>\n\n</div>\n\n---\n\n## What Code Buddy is\n\n### One minute with Lisa · French presentation\n\n[![Lisa introduces Code Buddy and its installation command](assets/site/lisa/presentation.jpg)](https://youtu.be/2XgFHxBeI8Q)\n\n[Watch on YouTube](https://youtu.be/2XgFHxBeI8Q) · [MP4 alternative](https://www.agile-up.com/code-buddy/lisa/presentation.mp4) · [French subtitles](assets/site/lisa/presentation.fr.srt)\n\nLisa introduces the multi-AI hub, installation and optional perception components. Edited on September 13, 2026 from an existing September 10 master, with a synthetic voice and portrait, illustrative footage and French captions. Illustrations are not execution evidence. Voice and robotics require additional components beyond the npm package.\n\nCode Buddy combines a terminal coding agent with cloud, gateway and local model routing,\nquery-selected tools, and the following interfaces. Optional services require their documented\nconfiguration; enabling a feature does not replace its permission checks.\n\n**New in 2.1:** explicit resource discovery and selection, RagChat search with page citations,\nMCP configuration import, a bounded A2A JSON-RPC bridge, and fixes for terminal sessions,\nconfiguration diagnostics and Cowork workflows. Read the [release notes](docs/RELEASE-NOTES-2.2.0.md)\nfor setup and the limits of each integration.\n\n- **A multi-AI fleet hub.** Peers running `buddy server` observe each other's events and call each\n  other's models: one-shot `peer.chat`, multi-turn `peer.chat-session.*`, and `peer.tool.invoke`\n  for remote **read-only** tools. That last one passes three ordered gates — an allowlist, a\n  per-tool `fleetSafe` flag, and a workspace root that **fails closed** when unset, so a\n  misconfigured peer cannot expose its disk. See [Fleet](docs/fleet-guide.md).\n\n- **Cowork, a desktop GUI.** An Electron app with a visual workflow runner, a media library and a\n  video studio. It is a separate package needing Node.js ≥ 22 — see [Cowork](docs/cowork.md).\n\n- **Ten opt-in innovations.** Speculative writes validated in a ghost worktree before touching\n  your files, per-turn time-travel sessions, falsifiable intent specs, pull-only knowledge-graph\n  federation between peers, a capability self-benchmark, recoverable (\"zoom-in\") compaction,\n  generative widgets, on-screen error watching, signed skill packages, and read-only multi-repo\n  search. Index: [`docs/cb2/README.md`](docs/cb2/README.md).\n\n- **A self-improvement loop with four learnable surfaces.** The agent can propose *lessons*,\n  *tools* it writes itself, *skills*, and *execution strategies* — and each proposal is\n  **empirically gated**: applied to a snapshot, re-scored, and rolled back on regression or no\n  gain. Authored tools face held-out cases hidden from the proposer, so a tool that hardcodes the\n  visible answers is rejected. A strategy is a schema-checked JSON in which no field can disable a\n  guard. The loop never edits the agent's own `src/` — that is a scanned invariant.\n\n- **A council that learns which model to trust.** Several models answer under a\n  falsifiable-output contract, a judge scores them, and a scoreboard records which model wins\n  which kind of task. The judge abstains rather than guess.\n\n- **A perception layer.** A Rust sense daemon (audio, vision, screen, UI focus, heartbeat) feeds\n  events to the agent over a loopback-only bridge; speech, camera reactions and spoken reminders\n  build on it. It stays silent until you turn it on.\n\n<p align=\"center\">\n  <img src=\"buddy-sense/docs/architecture.svg\" alt=\"Sense modules feed a thalamus that coalesces events and broadcasts them to a WebSocket bridge\" width=\"720\"/>\n</p>\n\n---\n\n## Install\n\nThree commands (Node.js ≥ 20):\n\n```bash\nnpm i -g @phuetz/code-buddy   # the package is scoped; `code-buddy` alone is not on npm\nbuddy login                   # ChatGPT subscription — no API key, $0 marginal cost\nbuddy                         # start chatting\n```\n\n`buddy login` also accepts `xai`. To stay entirely local instead, skip it, start\n[Ollama](https://ollama.com), and run `buddy onboard`. Either way `buddy doctor` tells you in one\nline whether you are ready, and `buddy doctor --fix` can point a running Ollama at a suitable\ninstalled model and say why it chose it.\n\nThe published package can lag this repository. To track the source instead:\n\n```bash\ngit clone https://github.com/phuetz/code-buddy.git\ncd code-buddy && npm install\nnpm run build && npm link\n```\n\nThe **Cowork** desktop app is a separate step needing Node.js ≥ 22: `buddy install-gui`, then\n`buddy gui`. Details in [Getting started](docs/getting-started.md).\n\n---\n\n## Use it from Claude Code (plugin, one command)\n\nThis repository is also a Claude Code plugin marketplace. It installs a skill\nthat teaches Claude Code how to drive `buddy` correctly (headless one-shot,\nprovider and model pinning, permission modes, the verify loop) and a read-only\nMCP server exposing Code Buddy's tools:\n\n```bash\nnpm i -g @phuetz/code-buddy\nclaude plugin marketplace add phuetz/code-buddy\nclaude plugin install code-buddy@code-buddy\n# optional, same marketplace: the context filter\nclaude plugin install lm-resizer@code-buddy\n```\n\nCodex users: `cp -r .codex/skills/code-buddy ~/.codex/skills/`. Remove with\n`claude plugin uninstall code-buddy@code-buddy`.\n\n## First run\n\nA real task, start to finish. `buddy loop` plans, edits, runs your verification command, and stops\nonly when that command exits 0 — the model's word is not the proof:\n\n```bash\nbuddy loop \"make the failing tests pass\" --verify-cmd \"npm test\"\n```\n\nOther paths worth knowing on day one:\n\n```bash\nbuddy try                             # 60-second demo: writes FizzBuzz + a test, runs it, verifies\nbuddy -p \"explain the entry point\"    # one-shot, headless — good for scripts and CI\nbuddy research \"map this repository\"  # parallel research workers\nbuddy cost --latency                  # measured per-model TTFT/TTFM, read-only\n```\n\n<p align=\"center\">\n  <img src=\"docs/assets/showcase-try.gif\" alt=\"buddy try — the agent writes FizzBuzz and a test, runs it, independently verifies\" width=\"760\"/>\n</p>\n\n### Parallel sub-agents and self-improvement\n\nIn a session, `/batch <goal>` splits independent work across multiplexed sub-agents; each unit is a\nreal bounded agent, not a bare completion. `CODEBUDDY_BATCH_CONCURRENCY` caps how many run at once\n(default `1`).\n\n`buddy improve status` reports the local self-improvement state. `buddy improve cycle|tools|skills`\nis **propose-only** by default; to keep an empirically validated result you must opt in with\n`CODEBUDDY_SELF_IMPROVE=true` *and* pass `--apply`. Without the variable, `--apply` refuses and\nnames it.\n\n---\n\n## Memory and learning\n\nCode Buddy keeps project/user memory, retrieves relevant lessons and can propose review-gated lesson candidates after substantial sessions. Authored skills can be inspected, improved and consolidated; code evolution evaluates variants in isolated worktrees. These change external state and inference-time behavior, not model weights.\n\nStart with `buddy lessons candidate list`, `buddy lessons list`, `buddy improve status` and `buddy evolve list`. Council's role-based cooperation and the ToT/MCTS engine are separate mechanisms with their own execution paths and budgets. Inspiration from Manus, Sakana DGM/ShinkaEvolve/Fugu and reasoning papers is not a reproduction claim or a measured productivity gain.\n\nRead [activation conditions, source evidence and limitations](docs/learning-mechanisms.md), or the [French overview](README.fr.md). A [two-host fleet recipe](docs/reports/2026-09/fleet-two-hosts-learning-example.md) has combined a Windows RPC review, a Linux code correction and an independent five-case oracle passing on both hosts. The pilot explicitly relayed messages and files; this was not a Council run.\n\n## Opt-in\n\nNothing below is needed to chat with a local model. Defaults stay off.\n\n| Switch | What it turns on |\n| --- | --- |\n| `CODEBUDDY_PROVIDER=ollama` | Force the local Ollama path (no API key). |\n| `CODEBUDDY_MAX_CONTEXT` | Override the context window for every consumer, including the Ollama server itself. |\n| `CODEBUDDY_SELF_IMPROVE=true` | Enable the learned-layer proposal path. `true` stays propose-only; keeping validated changes needs explicit application authorization. The separate `buddy evolve` path can edit code in isolated worktrees. See [contracts](docs/learning-mechanisms.md). |\n| `CODEBUDDY_SHADOW_WORKSPACE` | Validate proposed writes in a ghost worktree *before* touching your files. |\n| `CODEBUDDY_TIMELINE` | Per-turn timeline; `buddy replay` inspects, restores or forks a session. |\n| `CODEBUDDY_INTENTS` | Falsifiable versioned specs, so \"done\" stays re-provable later. |\n| `CODEBUDDY_CONTEXT_ZOOM` | Compaction becomes recoverable — the agent can re-expand a summarised segment. |\n| `CODEBUDDY_WORKSPACE` | Read-only search and read across several repositories. |\n| `CODEBUDDY_SELF_BENCH` | Track capability over time and flag regressions. |\n| `CODEBUDDY_CKG_SYNC` | Pull-only knowledge-graph sync between fleet peers (fail-closed on both sides). |\n| `CODEBUDDY_COLLECTIVE_MEMORY` | Inject the shared cross-agent knowledge graph into context. |\n| `CODEBUDDY_DIFF_REVIEW` | Review every proposed diff before it is applied; an unreviewable diff is rejected, not applied. |\n| `CODEBUDDY_PEER_TOOL_WORKSPACE_ROOT` | Required for remote read-only tools between peers. Unset ⇒ every `peer.tool.invoke` fails closed. |\n| `CODEBUDDY_SENSORY=true` | Perception and companion wiring on `buddy server`. |\n| `CODEBUDDY_SENSORY_ERRORWATCH` | Offer help when an error appears on screen — debounced, capped, never acts on its own. |\n| `CODEBUDDY_TTS_VOICE` | Spoken replies. Unset ⇒ the agent may hear, but stays silent. |\n| `CODEBUDDY_INCLUDE_INTEROP_CONTEXT` | Also load interoperability context files (`CLAUDE.md`, `GEMINI.md`, `CONTEXT.md`, `INSTRUCTIONS.md`) into the system prompt. |\n| `JWT_SECRET` | Required by the HTTP server in production. |\n| `buddy --yolo` or `/yolo on` | Full autonomy with guardrails. Setting `YOLO_MODE=true` alone only warns; it does not arm it. |\n\nSigned skill exchange, generative widgets, council-learned routing and kernel sandboxing have\ntheir own gates, listed in [`docs/cb2/README.md`](docs/cb2/README.md) and\n[Security](docs/security.md).\n\n---\n\n## Not ready\n\nHonest limits for a first-time visitor:\n\n- **The npm release can lag this tree.** Releases use GitHub Actions trusted publication.\n  Check `buddy --version`, the npm dist-tag and the corresponding Git tag when identifying a build.\n- **CI gates all three operating systems.** Linux, macOS and Windows run Node.js 20 and 22\n  jobs. A local pass or an earlier platform recipe does not replace the candidate’s CI results.\n- **Node ≥ 20 is the real floor**, for the CLI and for the test toolchain alike (`engines` says\n  so since 2.0.0).\n- **Cowork** is a separate install (Node.js ≥ 22, `buddy install-gui`), not part of the three\n  commands above.\n- **Film production** needs `ffmpeg`; without a local voice binary, scenes stay silent rather than\n  getting a fake voice-over.\n- **`buddy loop` needs a model that really calls tools.** A very small model can stall or give up\n  without ever turning the test suite green.\n- **Fleet** is two processes and a JWT, not one flag. Remote tools expose nothing until the\n  workspace root is set.\n- **Voice and robot paths** need extra local binaries (speech-to-text, text-to-speech, optionally\n  a camera). They do not come from `npm install`.\n- **`better-sqlite3` is native.** It is optional and degrades cleanly, but Cowork rebuilds it\n  against Electron headers.\n\n---\n\n## Test suite\n\n38 088 tests in 2 115 files at `788f0ef23` (measured 2026-09-10 with `npm test`; 26 failures on that run were environment-only: a running local server, `dist/` not built, 20 s timeouts under load). `npm test -- tests/path/to/file.test.ts` to run a slice.\n\n## Part of a toolchain\n\n<p align=\"center\">\n  <a href=\"docs/assets/infographic-ai-engineering-stack.webp\"><img src=\"docs/assets/infographic-ai-engineering-stack.webp\" width=\"900\" alt=\"The AI engineering stack: Code Explorer understands the repository, lm-resizer protects the context budget, Code Buddy 2 acts with AI agents\"/></a>\n</p>\n\nCode Buddy is the agent. Two sibling tools carry the context work around it: [lm-resizer](https://github.com/phuetz/lm-resizer) filters noisy command output before it reaches the model (Rust, Apache-2.0, `npm i @phuetz/lm-resizer`), and Code Explorer pre-indexes a repository into a queryable knowledge graph served over MCP (available as a service on private codebases — [agile-up.com](https://agile-up.com)). Understand, compress, act.\n\n## License\n\nBusiness Source License 1.1 — see [LICENSE](LICENSE). Self-host and personal / non-commercial use\nare free; providing Code Buddy as a commercial service to third parties is not permitted. Converts\nto Apache 2.0 on 2030-08-31. Bundled Python skills stay MIT (see their `SKILL.md`).\n\n---\n\n## Documentation\n\n- **[Getting started](docs/getting-started.md)** — first run, headless mode, sessions.\n- **[Release notes 2.2.0](docs/RELEASE-NOTES-2.2.0.md)** — current changes and validation limits.\n- **[Release notes 2.1.0](docs/RELEASE-NOTES-2.1.0.md)** — previous release.\n- [Release notes 2.0.0](docs/RELEASE-NOTES-2.0.0.md) — previous major release.\n- [Install](docs/install.md) — published npm, Docker/VPS, the one-command installer.\n- [Commands](docs/commands.md) · [Features](docs/features.md) · [Security](docs/security.md)\n- [Cowork Desktop](docs/cowork.md) · [Fleet](docs/fleet-guide.md) · [Code Buddy 2 features](docs/cb2/README.md)\n- [Honest comparison](docs/honest-comparison.md) — where other agents are still ahead.\n\n[Report a bug](https://github.com/phuetz/code-buddy/issues) ·\n[Discuss](https://github.com/phuetz/code-buddy/discussions) ·\n[Star on GitHub](https://github.com/phuetz/code-buddy)\n","readmeFilename":"README.md"}