{"_id":"codekin","_rev":"42-385220071fbadd07d42bc1d8ab63f065","name":"codekin","dist-tags":{"latest":"0.9.3"},"versions":{"0.1.8":{"name":"codekin","version":"0.1.8","license":"MIT","_id":"codekin@0.1.8","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"19fad3fea1f1c11a01e346f624e3d4eedc223786","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.1.8.tgz","fileCount":87,"integrity":"sha512-0+ivPdIjXg8xNaieGcSQ2gASB5FlHae/UtXGuL3FUrkWJwSlpjyzEs+XAHykPhnpWzrMnOGaYEh3vu8gaJf0cQ==","signatures":[{"sig":"MEYCIQCO/2FofiDNyApbLHetm2PFKNqU5tLvugai371Nm+lxUgIhAMweZ+nUo7R4Tt9w9hWBuvyxEOqYqYQ1iuo1UGCR5dZu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1766183},"type":"module","gitHead":"90a66f1505708dc7ef2cbbd12656be81dd3b3ee0","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","cmdk":"^1.1.1","react":"^19.2.0","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","react-markdown":"^10.1.0","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","better-sqlite3":"^12.6.2","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.1.8_1772974198973_0.844955785241458","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"codekin","version":"0.2.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.2.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"6feacd364fbc1036c0aa92cad1f4944ff6409bad","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.2.0.tgz","fileCount":87,"integrity":"sha512-5igJQRgThr++g6Ad55+oVnJV1s+wIR7iJrpqgFd/FlKE4YutHNz7gqWMM1kSji146LqfGk2ztcjxj0Bbfl6ScA==","signatures":[{"sig":"MEUCIQCbdVcHzEdPBzH4Nlg/9CsFf4kwaEikz5iEz4W+9OahtAIgJT5Ni1DJdw0cmoaM8UrbAnrMniVPa7eAaRelfG4Cps0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1766456},"type":"module","gitHead":"281ffbf6e3d0eb838c227c18555fbcc7c995b3a9","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","cmdk":"^1.1.1","react":"^19.2.0","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","react-markdown":"^10.1.0","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","better-sqlite3":"^12.6.2","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.2.0_1772977593323_0.5613835576340696","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"codekin","version":"0.2.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.2.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"eb687e38e3b67761754a7d1367deb1464cd3f2ce","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.2.1.tgz","fileCount":87,"integrity":"sha512-zOKM5iUmK8pOghg/8OiSWwojQRO4mtCP7V6rdkqKmOKsx+YpEx+8Oxn9kKAmw78q/Xoqti3wru/Wa+qfXEH3+A==","signatures":[{"sig":"MEUCIFas+1/W81M04YGvuSz3QqLQiesqW9QokIPBzt82AMbaAiEA479IK4XMUzSyeehQ3T2b+o9uWT8Z+bJjebaB+00Jn3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1767177},"type":"module","gitHead":"fbec72c97b636032ffb305d8ec564e0f358655ad","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","cmdk":"^1.1.1","react":"^19.2.0","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","react-markdown":"^10.1.0","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","better-sqlite3":"^12.6.2","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.2.1_1772979528034_0.24626342492433695","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"codekin","version":"0.2.2","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.2.2","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"6e6e4b887d8d19f95c40f9bf93f7428b7ea99e07","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.2.2.tgz","fileCount":93,"integrity":"sha512-8IJe4ufNP9FbIwSUq9eChwlfvQyKG2YDXpP9ueBULCJZ7N6xMoQO3dXUxC1myJ2FpZ9+ciaaiLcI49JCNHN+3w==","signatures":[{"sig":"MEQCICE558PACA307GUCOogEe3sACNgQ2MkZ9tmo0BupZII7AiB9UF9gTfofalynKeaXYMQ6geVaDE7BEg75tItTsI52hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1806170},"type":"module","gitHead":"d11400fc1a54a8b8851d8e96d7df32ee4a5a4de1","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","cmdk":"^1.1.1","react":"^19.2.0","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.2.2_1772999788360_0.6633968117137461","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"codekin","version":"0.3.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"6cb43b79e525307e715fe469529ed07a0c061807","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.0.tgz","fileCount":109,"integrity":"sha512-WAaBERBXO2aeYRsCvGp2sK69bDqJ64ogBp+bGJXuhbbqhMF4MeOGi3aNuyhIXtR3UyFeEQ2WizN4BMZeFGnVFw==","signatures":[{"sig":"MEYCIQDivpb9AwQ3PIXGJjXXqgupUrL9z/uAw7n5S4tR9qbL2AIhAIuGTOBjAcjIDSWUdBmlEjIXnziA6/Ef3FEsCc3KnIkO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2014885},"type":"module","gitHead":"d2938f2421786a4f48ecd925aaeff70bb6ceaac7","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","highlight.js":"^11.11.1","react-markdown":"^10.1.0","@types/dompurify":"^3.0.5","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","better-sqlite3":"^12.6.2","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.0_1773058833655_0.6984241629139754","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"codekin","version":"0.3.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"a940870b9e08c9d47b0cbbef8ecb71b442f86c19","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.1.tgz","fileCount":109,"integrity":"sha512-SIhoOHUBEWx788budCwiVctOjGD+HI9xjTBFu4lNFAbdiv2Uatfd2MglrVIVJoiCPUbk7Pc+oInGFdXbo6bwqg==","signatures":[{"sig":"MEUCIQCS4+B5rS2+FDqfZ1zSAXZlhiCvYfaOT3XFPm6Yrsu8qQIgJZoYinIxvF951CBgeM+KAtl6uBFPZKSBPltY2jBE/CY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2024006},"type":"module","gitHead":"d7ec24ff4318281ce31bbc46b170bee103d16446","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","highlight.js":"^11.11.1","react-markdown":"^10.1.0","@types/dompurify":"^3.0.5","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1","react-syntax-highlighter":"^16.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","better-sqlite3":"^12.6.2","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@types/react-syntax-highlighter":"^15.5.13"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.1_1773074735225_0.3253256449009472","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"codekin","version":"0.3.3","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.3","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"dfa9522fd73980f5c6245436bcdafa5ec6b05987","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.3.tgz","fileCount":113,"integrity":"sha512-dhCvjrRte79XnlWn+1p4xcKzMVxrbqhT4K2D5mk7tWzNqef0ZdAtSLhQdzHhbAGxhVZk7gcMNtJSJlYKE04agg==","signatures":[{"sig":"MEUCIQDGnRn7ZJyBew0nuUEtoPaWdC/MKwfQ6uyOCphz5slLpQIgQ0Az10NWk5QeeONG5Llw8o4KmC1DWeqnZuefdLLi+s4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1494339},"type":"module","gitHead":"665a480ca29b89d6627730ab171d130d54573ead","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.3_1773174240436_0.5329146588040594","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"codekin","version":"0.3.4","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.4","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"6eae27d9e5364f9ec3db83f964c1e4c49cf30954","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.4.tgz","fileCount":113,"integrity":"sha512-mzAorHB6bSHqE3NOqVcfVjPtI+hS+My06gYdRcAcKIbGkphWmZQVksaqIC2GSrz4DAguVhbcHRsLrmhdV1JjOA==","signatures":[{"sig":"MEQCIHpl/pxJAx4RSTdOYoUXZO2tHbWE95bwJ0DnDuIFClmIAiAC+KvwIo5JNCplbMXLE4zry+Q/AMSkgZy0zO5XxElF9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1498111},"type":"module","gitHead":"90825d582e3666f16b955ed6bb1e0f2f839adbd8","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.4_1773176950687_0.9814512317445128","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"codekin","version":"0.3.5","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.5","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"b3dad84b0df0a784895117bc5cc8f427838f3036","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.5.tgz","fileCount":113,"integrity":"sha512-Bfl0/fGxFzFvx89uc0LrmPHF/9+Z7+w4GbNZhFxkvUCvVUcr5KrP+DCHGOfE+7uaY/nMQ0mVvnWyDHlTUINDqA==","signatures":[{"sig":"MEYCIQDA7vwwsMevQ73hHvPzdt2G4u9NmokJcHUTZcttGyAeQQIhANXKYIQrrD0ppCXoUKM1eltau+EtHKb3LnuJV9a3dfNi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1498299},"type":"module","gitHead":"7967b2f3f206f56053d426d5c6233341adce3f79","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.5_1773178110104_0.18496379409337504","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"codekin","version":"0.3.6","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.6","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"9a87ff8668bcbcb6492bd522cfcdd1b9a140ec66","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.6.tgz","fileCount":113,"integrity":"sha512-5d3rW1+NBevcpIlYaKp2HJ5kvTlzv5vfcDc6tZ14Ls0zE7F9trpQLIfVV3nehO+wVfKMp1pdFaslkHAzuixsQw==","signatures":[{"sig":"MEYCIQCGa6otMJFkW1zT3XhFr8hvdBpzY4mx3RHIFekq1S9guQIhAO7Zbu2J/Z/B3ZKYwPLLk624oPsq8p8LTUVuFIBEi+Sa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1499184},"type":"module","gitHead":"db0e10d95b4549d6b985a193cacc2aa358a67624","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.6_1773179104344_0.3963767809432077","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"codekin","version":"0.3.7","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.3.7","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"974a1cd2fec2345464fb3929f8163a8ce7fe92eb","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.3.7.tgz","fileCount":113,"integrity":"sha512-jcg6pxyqv9DQiG/dvpAxU/G297cbS5wDVzvhT0BQOGXTWTO1i4HLYRY59xggfRWFw0eh/4pHI6uvvgW0PyFADg==","signatures":[{"sig":"MEYCIQDendECQGlsnZz/nnjcHfpd0E/Ny4ahL67LuaM6sdyKDQIhANf704TA0sAf+kV7adHnYQEqnMFiSvpp/WLwuTcsJG6V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1502521},"type":"module","gitHead":"38559d4dd4af85615f52dca9ec8804d123e358b5","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","dompurify":"^3.3.2","react-dom":"^19.2.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.3.7_1773222226008_0.6895730999838796","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"codekin","version":"0.4.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.4.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"561025e329199448292194488c72a875356b4c02","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.4.0.tgz","fileCount":124,"integrity":"sha512-y8TVO38N2rESHGi4pHotrzu3WVVhhskdwKbI+IlIXp/yc+BO/F3WoNo7/kRIoeIIZrkh/6Em31wlcerE5+M+TQ==","signatures":[{"sig":"MEQCIFZvBH+Z3H6GEOBqyERcFENzr69p+KskGWaMYw70a3OHAiAjTG9wYOuIBcn93KP0Iqbf2kA/hh7tDRkJeqoSiIwssg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1708893},"type":"module","gitHead":"675e935df326567422a4a036cf10ad8d7cda122c","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","unidiff":"^1.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.4.0_1773481447091_0.9959852786466681","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"codekin","version":"0.4.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.4.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"a02aa09c51c812518fe70cc4d6faa8ab6d89496f","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.4.1.tgz","fileCount":124,"integrity":"sha512-f0JQHLquTjgPymmAAF3dRIJIhKRhgMhUJfXDsk+RnbJYUMiUS6UXJwEJ/drZXiMabATAPpGZ6ug7GC2LcYwZ9A==","signatures":[{"sig":"MEUCIBi3H19mizB15ujgvFDboSq+dW2kC4mwDHS+ntxhJv0sAiEAp3PnnhWlVUkFXHiGNp8vyD7xUQB/+pDbxG4qM44aWp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1711950},"type":"module","gitHead":"2fd828298b8390ec568292ba1acd54df6cd5b81e","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ai":"^6.0.116","ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","unidiff":"^1.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","@ai-sdk/groq":"^3.0.29","highlight.js":"^11.11.1","@ai-sdk/google":"^3.0.0","@ai-sdk/openai":"^3.0.0","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","marked-highlight":"^2.2.3","@ai-sdk/anthropic":"^3.0.59","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.4.1_1773650975313_0.7174396642092273","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"codekin","version":"0.5.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"026915d0d2094cbe55c81564db6f60938be06a99","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.0.tgz","fileCount":160,"integrity":"sha512-brWeGId1u1z1rvuIsk261PULsxx1LC5l3/qYAGH7LYwNKERtNbnPz3YGDz31u4iyrai/brW5ivdGSdpQptzD/g==","signatures":[{"sig":"MEYCIQDFVZxjZ5CB8Tjk5C90XDOBRXEfCg4StoONvnOFklt3twIhAJQgQz6TR4KdeOuyd8ZwutBU/ld50qyN/+A3z4fbDaMj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2014431},"type":"module","gitHead":"fa94c2c1c1ccafbeb789dc48dd15e01e3f47cf36","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","unidiff":"^1.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","highlight.js":"^11.11.1","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.0_1774294225423_0.49633982846740055","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"codekin","version":"0.5.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"b877f065e91465acb4d5076d1d2bfec3cf2d0518","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.1.tgz","fileCount":163,"integrity":"sha512-OrZOoty4O26GtN68b3yLMJhinqMCT77h5m0f7fz/99qdU0EnkTX5VhQR3PtmwPWBrzS5pXl+8EauQ/r1rQjGuQ==","signatures":[{"sig":"MEYCIQC1NytPSlnYC8nyscLgtYbXZYZB09UGjxa6I56qg6NufAIhAKh4NT6a1LfrpMRfI2iIP+p+SGLcHCOIUq0oB5r6sPcB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2031503},"type":"module","gitHead":"ef41c9c6e2cfa8314eec20f593de95fc9788f3e3","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0"},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","cmdk":"^1.1.1","react":"^19.2.0","marked":"^17.0.4","multer":"^2.0.0","express":"^5.1.0","unidiff":"^1.0.4","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","remark-gfm":"^4.0.1","tailwindcss":"^4.2.0","highlight.js":"^11.11.1","better-sqlite3":"^12.6.2","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.0","@tabler/icons-react":"^3.37.1"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","jsdom":"^28.1.0","eslint":"^9.39.1","vitest":"^4.0.18","globals":"^16.5.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.1","typescript":"~5.9.3","@types/node":"^25.0.0","@types/react":"^19.2.7","@types/multer":"^2.1.0","@types/express":"^5.0.0","@types/react-dom":"^19.2.3","typescript-eslint":"^8.48.0","@vitest/coverage-v8":"^4.0.18","@vitejs/plugin-react":"^5.1.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.1_1774684757405_0.832690550743848","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"codekin","version":"0.5.2","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.2","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"d6cc295fe468cecd46b018852c92b78a319338cc","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.2.tgz","fileCount":163,"integrity":"sha512-d6Bc8NRRmLiNUjahGJaZSUzT1YSDcSrj/tq2oPJNbVgIJEG0xT0J6AW3LcEgjLArCHaJZ6PemZMvFhgJ4G4WbA==","signatures":[{"sig":"MEUCIFeE4pGU0NhhGCfKzmQ0/3TGFQvY2vc6eD5+6KOAXSMHAiEAniY69AyWoTvs3uNGc66h0ccdAghaheKXm2hs7b6JwGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2034403},"type":"module","gitHead":"0ccae41df3d51a28939b4b4752a7bc66c868ca78","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.2_1775219152035_0.3904243121384683","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"codekin","version":"0.5.3","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.3","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"5b6afa39ab025863d2c01a55a19c6080bb10d2a7","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.3.tgz","fileCount":163,"integrity":"sha512-14U2L6HwsxzrCI/SXYdWebEZ/0I2vrcXJSFuJWYuJKAVWNiAPOaCdeO9X+WJj6iVCMgZxyFu3+Qq2c6mNP+JXQ==","signatures":[{"sig":"MEUCIDIKvUjfclKN1n6NgwzoaL4pANTGV9AQ3vuZQLWOM1xlAiEAx3s8MD8k6EBWLjA+L9roAjcCg+JHE9tQLrjBPEM5ciM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2034628},"type":"module","gitHead":"3afd27fa0975c70c4abe628a81dfd44116c9dfe5","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.3_1775221833433_0.4177218811335959","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"codekin","version":"0.5.4","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.4","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"70f6cbf21296e3496f3308b5fe58d713a9929629","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.4.tgz","fileCount":163,"integrity":"sha512-Cu1ebaFRESYfG3lZSxLfp+ssIXhhT+lKxnxl5kYYslHlnSndgpZ7QsqrxePcNDxUj9whkyjvuqGAh31lK8VN5A==","signatures":[{"sig":"MEUCIC9oVdhQ4N7tLdT/wDH1bIC6vsZlnCd/+1ZodIMAgQHTAiEA1KMRIdKRj/BynX/VrF2g4GxmkwciQD42RK3FiyRWQ/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2053053},"type":"module","gitHead":"0f0bd02225749363b38b5d9c892898d4e9974fc3","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.4_1775483735580_0.660403164554324","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"codekin","version":"0.5.5","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.5.5","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"c3137b2f94c81bed7873a8c7d1e8d2e4563adf8f","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.5.5.tgz","fileCount":169,"integrity":"sha512-BrTYDf6D+rkWIvOHBad/RFRC0HAqg5X9v5sZ42IYut8d3d2dV73+1apaNMNUWGordBq8WCo8ESSJt/BcZD0Qgw==","signatures":[{"sig":"MEYCIQCAKbE6NpiS7eDZuo9M53BufqprqCWt2h68Rah1jA8fRAIhAPphfg0vEQQu2ydbtbqLkXPeHdmkj8jib9y6tCJrZLeE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2103730},"type":"module","gitHead":"bdec0617072a40ba1def19b4d3e4afc14a05b696","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.5.5_1775817720432_0.8620382396674593","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"codekin","version":"0.6.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"2d4d0984d339d8ad105b8f4d418a7d230c902087","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.0.tgz","fileCount":187,"integrity":"sha512-3gABNL5XeXu0gJvq+lzmhfwMgjMpxuep565EffFZsCfmrQzr8zqMsZGOBeDoDt7LXdpLyYau9fRofyVVC9Vn1g==","signatures":[{"sig":"MEQCIANlI46Snd00eCdKK3qwCyFDIkyleSkc91fLifQiAv8gAiBwJbm/diRZ9ZmLZyyj5TFb55r29GyMpRsncJYVlmxBAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2256404},"type":"module","gitHead":"83070339df1e7e522acb92897da9d8f6a29f697c","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.0_1775852332072_0.6183733683059855","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"codekin","version":"0.6.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"6b1483e417e9863c7b049a0ca6d251130e3843af","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.1.tgz","fileCount":188,"integrity":"sha512-ZmLhUaYvOU/Z+crDIT4USVX4TI14eTH1ZSZGBh0xjx3CTL7dKH6QSaYJzU5VUldhQPWU1OSJMyYQRFi0cuyRgg==","signatures":[{"sig":"MEYCIQCBcb0LoxeDNw+5awmsAzXfPBfrRDmnWRptFgZSLbBA8QIhALDS+qHtefz4yx8NTEt1zXh69UAmPsXEwBV7hIQWvgos","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2291304},"type":"module","gitHead":"565db1324656d99992c32d4e880e82e7bcdf672c","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.1_1775938660357_0.45136051831837354","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"codekin","version":"0.6.2","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.2","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"1238348a6acb739e6753b6bf1c2019f587e4c5c7","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.2.tgz","fileCount":194,"integrity":"sha512-4rTLUOz9yLQK6eO5ZkFSj0lPdxcGya+GIZOj6PmdcdqKLwD03bIsCiY2msTT+mbIC3EIaqkzcfQLxPF1IhHVoQ==","signatures":[{"sig":"MEUCIA8+J7V7C3Xb0xLxQTkMIi/puah8iph+X+/AqzBfJjafAiEAoroaOPav0jW6lZ+tMvpmr6QpArBB9pz+oPzQBu9z2E0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2355340},"type":"module","gitHead":"8e5f52c9b000d8316e8e73a9c6aa195cfa039b83","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.2_1776007302436_0.4607458531659603","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"codekin","version":"0.6.3","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.3","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"5528bfef9966594e9435fb743a264998495c9100","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.3.tgz","fileCount":194,"integrity":"sha512-MJ4/3HH8YkvUekf44pMGRI+EHmDDW0w2ztM5KiRsCmLEbme96cCYEgHRL4lZxD/Ju9tT1V7q3tQst0RcHx8yUg==","signatures":[{"sig":"MEUCIAxXG1pxgokU6VmmanbccTsI4811dR4A1P/QHRGC7MTHAiEA2kgOGa5rxsx3CtDBorwFdxzWkw+DDyx6DS7ERTYtDwc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2362264},"type":"module","gitHead":"733dd3de60a9dc42758ab17e6451f3cad448d66b","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.6.2"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.3.2","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.3_1776012827139_0.7089119211409118","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"codekin","version":"0.6.4","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.4","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"aaffba3f2d7659d416126fd59979bfa80efc98ab","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.4.tgz","fileCount":215,"integrity":"sha512-bvwEjQ2YgtAezGwVoOlUZacznZR/8r+PwkIVTGPNUEqTVVkviRO9MVZHHyHfBQWukwPVpjP192mCIyYypKzQsw==","signatures":[{"sig":"MEUCIQD/31/DQK5lhTo2/rn2hMqDYhe/Uhs9ObyHjiV+2hJt7QIgLKYk+jTVZzGRQwdCycsBeQ50+d74vN6+IgEpWl1zbfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2458417},"type":"module","gitHead":"814c0cffeca33c4e7332903eb18bf081c05b8bf4","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.9.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^17.0.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.0","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.3","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.4_1777284212244_0.4509881625681149","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"codekin","version":"0.6.5","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.6.5","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"1a4c482fc4aa433352d668772ed311a297e46405","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.6.5.tgz","fileCount":218,"integrity":"sha512-qbAMGHaU2jp1/FqBEDTfK93q/+R1XD3p5ligtrR+yiRi2qhsKj5sfoy6hQ/cVYb+33LVrIawEZbpjOZpABI7TA==","signatures":[{"sig":"MEUCIQD0TpkhbRVMbC0iM3Yoxg/bKcKXw15Bak7j8A1G/+xCiQIgW/ZR6kRH3dhQmAdokdHLM7jrf6RcScTs3mpLG8idq5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2505391},"type":"module","gitHead":"410e103e69c73444f24deb95771dbda58b93b659","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.18.0","multer":"^2.0.0","express":"^5.1.0","better-sqlite3":"^12.9.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.0","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.6.5_1777840053889_0.08898169726108751","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"codekin","version":"0.7.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.7.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"2eb6fedb4c369cee86f1dd4fd3420ed3fcb37c32","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.7.0.tgz","fileCount":227,"integrity":"sha512-uupD3G57fWcziGa7l/BJMbZYHRNDpDg3by6oG57SQ8AuKTcYAm23c6je2Z9JyK2ik2+McPlWfTck1G+8x55Yzw==","signatures":[{"sig":"MEYCIQCkCCtbf3pTsTFiTKg3IGOM3l9BsV8rsRdwvQ1iZjdqUQIhANGE1SzCZx/gmB4LlKejvQe0Mpe6rz3oyYhdslAegcb0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2761949},"type":"module","gitHead":"e35425659d5e9ed674b737aa950cc59ea6c5c6c3","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.24.0","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","yaml":"^2.9.0","multer":"^2.0.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.3","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.0","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.7.0_1781360704650_0.0548807084580043","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"codekin","version":"0.8.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.8.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"0144bcd066e3c3541db89936356594cd94da3fa5","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.8.0.tgz","fileCount":251,"integrity":"sha512-ajGrFtF12roqk/ljO7M6uaTflXScdQ+dILCWAkE3TOcS/ON0UebxfKVeIcFiSuJxLo99GYfxMqPhQYa66DhLNg==","signatures":[{"sig":"MEUCIGXELbee5txiYkkp+Rtjvgm9xhLhBbWjdjz6oRLmmRHoAiEA7iTp/vwLKXRlJUbaaCqE18mCXJBsk1N0ytvlp1Z6O5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2943417},"type":"module","gitHead":"c4423e5a6290d409b6b69b7336e914dbb16d374d","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","test:watch":"vitest"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","yaml":"^2.9.0","multer":"^2.0.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.12","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.8.0_1785930796234_0.16353177040479783","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"codekin","version":"0.8.1","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.8.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"791da8b9cb2f281db9f9a2e288c01cc5ccfa3a2a","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.8.1.tgz","fileCount":423,"integrity":"sha512-Ghqk5B+0K218DXW8NBqqTh+lvr/ltGJPm7ZiziAEfK6zg9Om/zjFXrMzLS4mwZG0ebd2oxKMkGO6vQVO7cVDaA==","signatures":[{"sig":"MEYCIQC6ng//C6ZtmqUiSxhxm7Khaii1cUY/pr75usqtSSo63gIhAJwjTjb/Cgbye/hzxp6iw8Fy7stGLC9bfzCQt+jFr8Vc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD90tosJNuAqXiiuZBYiy3qQZuX8hs2pZg+d+BqPE98CQIhAI4GLQgSRdEBRFGPMt2pBEgiA9Fjb4t8opWhyFUVb3F6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4320917},"type":"module","gitHead":"1493e9dc3486acfcf228cf1686a019973071e4b9","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","dev:hosted":"VITE_APP_MODE=hosted vite","test:watch":"vitest","build:hosted":"tsc -b && VITE_APP_MODE=hosted vite build --outDir dist-hosted"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"nanoid":"^3.3.17","undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","zod":"^4.5.2","yaml":"^2.9.0","multer":"^2.4.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","qrcode":"^1.5.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.13","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/qrcode":"^1.5.6","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","@simplewebauthn/browser":"^13.3.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.8.1_1790538843377_0.307142301059786","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"codekin","version":"0.9.0","keywords":["claude","terminal","ai","coding-assistant"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.9.0","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"5ec653af817050ed379899514e3ef3ecd4bca0f3","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.9.0.tgz","fileCount":454,"integrity":"sha512-dCpyEgBuGmwljBa6H++NdTnKg7DKJ1ZD0iMKlo6TjaZGbZ/hyks+NcmYD9kLOov16EctZKQTcqjHq0BvLJXnSw==","signatures":[{"sig":"MEUCIQDLHHgDxE1qopTqwW1AkJKJ82IyienZMdw5yPKA6rbzCgIgA82ACYDZpu9UboZp1Vl/Rm35iLlfbgyU9jknwEKe42w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHk2NtsPi81PDBD0CcjzFd4/ZU02M42DHNnfNW/4kfyYAiAFSc36ldaZatioqord4u3GdUZXqr2rl1uaHrPqnSALRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4606518},"type":"module","gitHead":"c4468bc43fcc5de18ef3879892584f278c40d2a7","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","dev:hosted":"VITE_APP_MODE=hosted vite","test:watch":"vitest","build:hosted":"tsc -b && VITE_APP_MODE=hosted vite build --outDir dist-hosted"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"nanoid":"^3.3.17","undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"Web UI for Claude Code sessions with multi-session support and WebSocket streaming","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","zod":"^4.5.2","yaml":"^2.9.0","multer":"^2.4.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","qrcode":"^1.5.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.13","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/qrcode":"^1.5.6","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","@simplewebauthn/browser":"^13.3.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.9.0_1790606447051_0.7389894175944582","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"codekin","version":"0.9.1","keywords":["claude-code","codex","opencode","ai-coding","coding-agent","self-hosted","workbench","orchestration","claude","ai","coding-assistant","terminal"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.9.1","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"c98043541f874417d8a3fc3a453d14db5d214689","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.9.1.tgz","fileCount":455,"integrity":"sha512-p1wNKSrz3MjSZEHsCIcOLHX9Tg/j+grWKTaa85qgySJ1lwmZtVvTvu3iMX4q3CvIOQ4j/E2bs/brBwrlW61YPA==","signatures":[{"sig":"MEQCIAqNZgTb7kjeZIqfLzJDqOIru90MSvbwdbbOpeZa6hqzAiAxeqII8b2E39QETYXWpqyWlzVjCSSGpMU+ClryH1ppsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFlonb3yBnyjMT4Md4HFTOgZx8wKAUkkx7z2n4jUdX0mAiBm4V95x/aXxisWPeDxqOKPyM0cxL6DotH8cIAlPqi7wA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4612438},"type":"module","gitHead":"5efcc4cfff44f5201d24358df6020af93ce72faf","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","dev:hosted":"VITE_APP_MODE=hosted vite","test:watch":"vitest","build:hosted":"tsc -b && VITE_APP_MODE=hosted vite build --outDir dist-hosted"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"nanoid":"^3.3.17","undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"A workbench for serious AI coding: a self-hosted platform for Claude Code, Codex, and OpenCode with persistent sessions, parallel workspaces, structured approvals, and workflow orchestration","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","zod":"^4.5.2","yaml":"^2.9.0","multer":"^2.4.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","qrcode":"^1.5.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.13","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/qrcode":"^1.5.6","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","@simplewebauthn/browser":"^13.3.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.9.1_1790611075281_0.33345754280770623","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"codekin","version":"0.9.2","keywords":["claude-code","codex","opencode","grok","ai-coding","coding-agent","self-hosted","workbench","orchestration","claude","ai","coding-assistant","terminal"],"author":{"name":"multiplier-labs"},"license":"MIT","_id":"codekin@0.9.2","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"homepage":"https://github.com/Multiplier-Labs/codekin#readme","bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"bin":{"codekin":"bin/codekin.mjs"},"dist":{"shasum":"221c6f1f0297b8598eed43eb0ec80b92288ab05b","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.9.2.tgz","fileCount":512,"integrity":"sha512-OYf59zkiwDDy+rmLgNajWRqNdr6YZzWyrnvkPSA6LWq7aB8L7fuwZpGMiRsWw94b06vIMoYjODmdnUa9wEaX7g==","signatures":[{"sig":"MEUCIQCrXKXTjag123ZM0pKoCFHdwe+/hAMwIZEKpTKyQf1DogIgAK2swoXysecf4PVx5Lkb9mDbkHymbLveRMAWvZGIm3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGaE/6GivlxQkYXCYHTY9xybRofe4a6Y2Tdi9r6+xR5fAiAu5lCIgIBAnRiyb9GHGHGfgBO+V33PgQcY2m07mXNL6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5457841},"type":"module","gitHead":"54b83c8b8cdf8d26dc47544e17e9fee229d97cff","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","dev:hosted":"VITE_APP_MODE=hosted vite","test:watch":"vitest","build:hosted":"tsc -b && VITE_APP_MODE=hosted vite build --outDir dist-hosted"},"_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"overrides":{"nanoid":"^3.3.17","undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"A workbench for serious AI coding: a self-hosted platform for Claude Code, Codex, OpenCode, and Grok Build with persistent sessions, parallel workspaces, structured approvals, and workflow orchestration","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","zod":"^4.5.2","yaml":"^2.9.0","multer":"^2.4.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","qrcode":"^1.5.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.13","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/qrcode":"^1.5.6","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","@simplewebauthn/browser":"^13.3.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"tmp":"tmp/codekin_0.9.2_1790762785073_0.8015857786834668","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"_id":"codekin@0.9.3","bin":{"codekin":"bin/codekin.mjs"},"bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"dist":{"shasum":"ee6b085f315aab6c1a041ec22c3749e255f742f6","tarball":"https://registry.npmjs.org/codekin/-/codekin-0.9.3.tgz","fileCount":512,"integrity":"sha512-dpob+toue128KpH19icpGLDy5RTerUZL7Uq029rwa+3kJLZ1Etp8NUZzK7negN4cIj/TtPZ6Yw5DTKPAscdJhw==","signatures":[{"sig":"MEQCID62IA0lvD0fgoZ1EsW1S42UGI5xa7twil+13yIP40VzAiBgM+lMxu/Oibhw+OWZJjA2n804wwYiWlXglauQFkylJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSTcU+lLYz9RYj6ZYUSaIgcffEgFaMYCcmduH4sK5AGwIhALqKeHIbz5JWvV/zJ1YHMEiT3pJjSa3BtUwoJNgERHhC"}],"unpackedSize":5459293},"name":"codekin","type":"module","author":{"name":"multiplier-labs"},"gitHead":"bfc7ebbd1b261074b1d1d8e7d6066b601f14120d","license":"MIT","scripts":{"dev":"vite","lint":"eslint .","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","dev:hosted":"VITE_APP_MODE=hosted vite","test:watch":"vitest","build:hosted":"tsc -b && VITE_APP_MODE=hosted vite build --outDir dist-hosted"},"version":"0.9.3","_npmUser":{"name":"multiplier-labs","email":"alari76@gmail.com"},"homepage":"https://github.com/Multiplier-Labs/codekin#readme","keywords":["claude-code","codex","opencode","grok","ai-coding","coding-agent","self-hosted","workbench","orchestration","claude","ai","coding-assistant","terminal"],"overrides":{"nanoid":"^3.3.17","undici":"^7.29.0","postcss":"^8.5.23","@babel/core":"^7.29.7","brace-expansion":"^5.0.9","eslint-plugin-react-hooks":{"eslint":"$eslint"}},"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"_npmVersion":"10.8.2","description":"A workbench for serious AI coding: a self-hosted platform for Claude Code, Codex, OpenCode, and Grok Build with persistent sessions, parallel workspaces, structured approvals, and workflow orchestration","directories":{},"maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.21.0","zod":"^4.5.2","yaml":"^2.9.0","multer":"^2.4.0","express":"^5.1.0","file-type":"^22.0.1","better-sqlite3":"^12.9.0","@modelcontextprotocol/sdk":"^1.30.0"},"licenseNotes":"dompurify is dual-licensed (MPL-2.0 OR Apache-2.0); both are permissively compatible with MIT for library use. lightningcss (MPL-2.0) is a build-time-only dependency used by TailwindCSS and is not included in distributed artifacts.","_hasShrinkwrap":false,"devDependencies":{"cmdk":"^1.1.1","vite":"^8.0.16","jsdom":"^29.0.1","react":"^19.2.0","eslint":"^10.1.0","marked":"^18.0.2","qrcode":"^1.5.4","vitest":"^4.1.2","globals":"^17.4.0","@types/ws":"^8.5.0","dompurify":"^3.4.13","react-dom":"^19.2.0","refractor":"^5.0.0","@eslint/js":"^10.0.1","remark-gfm":"^4.0.1","typescript":"^6.0.2","@types/node":"^25.0.0","tailwindcss":"^4.2.0","@types/react":"^19.2.7","highlight.js":"^11.11.1","@types/multer":"^2.1.0","@types/qrcode":"^1.5.6","@types/express":"^5.0.0","react-markdown":"^10.1.0","react-diff-view":"^3.3.2","@types/react-dom":"^19.2.3","marked-highlight":"^2.2.4","@tailwindcss/vite":"^4.2.2","typescript-eslint":"^8.58.0","@tabler/icons-react":"^3.37.1","@vitest/coverage-v8":"^4.1.2","@vitejs/plugin-react":"^6.0.1","@types/better-sqlite3":"^7.6.13","@simplewebauthn/browser":"^13.3.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.5.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codekin_0.9.3_1790772646175_0.41764302476261195"}}},"time":{"created":"2026-03-07T21:53:04.047Z","modified":"2026-09-30T12:50:46.473Z","0.1.3":"2026-03-07T21:53:04.371Z","0.1.4":"2026-03-07T22:04:57.732Z","0.1.5":"2026-03-07T22:10:16.334Z","0.1.6":"2026-03-08T00:31:31.712Z","0.1.7":"2026-03-08T08:03:28.171Z","0.1.8":"2026-03-08T12:49:59.161Z","0.2.0":"2026-03-08T13:46:33.644Z","0.2.1":"2026-03-08T14:18:48.203Z","0.2.2":"2026-03-08T19:56:28.551Z","0.3.0":"2026-03-09T12:20:33.843Z","0.3.1":"2026-03-09T16:45:35.404Z","0.3.3":"2026-03-10T20:24:00.616Z","0.3.4":"2026-03-10T21:09:10.896Z","0.3.5":"2026-03-10T21:28:30.335Z","0.3.6":"2026-03-10T21:45:04.526Z","0.3.7":"2026-03-11T09:43:46.202Z","0.4.0":"2026-03-14T09:44:07.254Z","0.4.1":"2026-03-16T08:49:35.487Z","0.5.0":"2026-03-23T19:30:25.635Z","0.5.1":"2026-03-28T07:59:17.642Z","0.5.2":"2026-04-03T12:25:52.268Z","0.5.3":"2026-04-03T13:10:33.739Z","0.5.4":"2026-04-06T13:55:35.735Z","0.5.5":"2026-04-10T10:42:00.583Z","0.6.0":"2026-04-10T20:18:52.278Z","0.6.1":"2026-04-11T20:17:40.509Z","0.6.2":"2026-04-12T15:21:42.655Z","0.6.3":"2026-04-12T16:53:47.347Z","0.6.4":"2026-04-27T10:03:32.491Z","0.6.5":"2026-05-03T20:27:34.087Z","0.7.0":"2026-06-13T14:25:04.847Z","0.8.0":"2026-08-05T11:53:16.398Z","0.8.1":"2026-09-27T19:54:03.494Z","0.9.0":"2026-09-28T14:40:47.210Z","0.9.1":"2026-09-28T15:57:55.442Z","0.9.2":"2026-09-30T10:06:25.202Z","0.9.3":"2026-09-30T12:50:46.300Z"},"bugs":{"url":"https://github.com/Multiplier-Labs/codekin/issues"},"author":{"name":"multiplier-labs"},"license":"MIT","homepage":"https://github.com/Multiplier-Labs/codekin#readme","keywords":["claude-code","codex","opencode","grok","ai-coding","coding-agent","self-hosted","workbench","orchestration","claude","ai","coding-assistant","terminal"],"repository":{"url":"git+https://github.com/Multiplier-Labs/codekin.git","type":"git"},"description":"A workbench for serious AI coding: a self-hosted platform for Claude Code, Codex, OpenCode, and Grok Build with persistent sessions, parallel workspaces, structured approvals, and workflow orchestration","maintainers":[{"name":"multiplier-labs","email":"alari76@gmail.com"}],"readme":"# Codekin\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![npm version](https://img.shields.io/npm/v/codekin.svg)](https://www.npmjs.com/package/codekin)\n\n**[codekin.ai](https://codekin.ai)**\n\n**A workbench for serious AI coding.**\n\nCodekin is a self-hosted platform for [Claude Code](https://github.com/anthropics/claude-code), [Codex](https://github.com/openai/codex), [OpenCode](https://opencode.ai), and [Grok Build](https://github.com/xai-org/grok-build) (new in 0.9.2) that adds persistent sessions, parallel workspaces, structured approvals, and workflow orchestration — so your team can run AI coding at scale.\n\n```bash\ncurl -fsSL https://codekin.ai/install.sh | bash\n```\n\nInstall once, then open from any browser. Codekin runs your coding agents and reaches your repositories **on the computer where you install it**; open it there, or from any device through a Codekin web app — the public instance at [app.codekin.ai](https://app.codekin.ai) or [one you host yourself](docs/SELF-HOSTED-RELAY.md). See [Getting started](docs/GETTING-STARTED.md) for a first-session walkthrough and troubleshooting.\n\n![Codekin screenshot](docs/screenshot.png)\n\n## Why teams choose Codekin\n\nWorks with Claude Code, Codex, OpenCode, and Grok Build. More durable than the CLI alone, more controllable than SaaS platforms.\n\n- **Multi-agent support** — Run Claude Code, Codex, OpenCode, and Grok Build side by side with a consistent interface for sessions, approvals, and handoffs.\n- **Self-hosted control** — Keep data and runtime on your infrastructure. Fits into your existing auth, networking, and deployment stack.\n- **Built-in orchestration** — Combine live sessions with scheduled workflows, webhooks, and CI-driven runs in one platform.\n\n## Features\n\nEverything you need to run AI coding in production. Interactive where you work. Structured where it matters. Automated where it repeats.\n\n### Interactive workbench\n\n- **Use it from any device** — Open Codekin from desktop or mobile. No SSH hops or terminal tied to one machine. Reach your computer through a Codekin web app ([app.codekin.ai](https://app.codekin.ai) or [your own](docs/SELF-HOSTED-RELAY.md)) with a one-line install-and-pair, QR device linking and passkey sign-in; the computer connects outbound only, so no ports are opened. Responsive layout with touch-sized controls on phones and tablets\n- **Persistent sessions** — Refresh, disconnect, or restart without losing work. Sessions survive across reconnects\n- **Session history** — All session transcripts are stored locally. Search, replay, and reference past work without relying on a third party; archived sessions can be re-activated\n- **Diff view** — See exactly what changed in each session with an inline diff viewer. Review agent edits before approving; staged and unstaged changes, with per-file discard\n- **Built-in file browser** — Inspect project files and Markdown directly in the session view without switching tools\n- **Structured approvals** — Review and manage approvals in a clear UI. Audit and revoke with full history, with a permission mode selector, per-session tool pre-approvals, and `--dangerously-skip-permissions` for sandboxed environments\n- **Repo browser** — Auto-discovers Git checkouts under your repositories root (flat `~/repos/project` or `~/repos/owner/project`), no GitHub CLI required; with an authenticated `gh`, lists your GitHub repos and clones the rest on demand\n- **Command palette, skills and uploads** — `Ctrl+K` to search repos, sessions, skills, docs and actions; browse and invoke each repo's `/skills` with slash-command autocomplete; drag, drop or paste screenshots for the agent to read\n- **Color themes** — Nine themes (Dark, Light, Midnight, Paper, High Contrast, Solarized Light, Dracula, Gruvbox, Matrix), each tested against contrast floors\n\n### Orchestration & automation\n\n- **Parallel workspaces** — Run multiple sessions across repos simultaneously, each with its own isolated context\n- **Git worktree support** — Each session runs in its own worktree, so agents work on isolated branches without stepping on each other\n- **Orchestrator agent** — A coordinator agent (Agent Joe) you reach from any repo session with `@Joe`. It turns requests into tracked tasks, supervises parallel sessions until a verified PR is ready for your review, and reports back in the same conversation; the **Tasks** view collects decisions and reviews across repos. Joe manages repo automations through typed, audited tools and runs on Claude Code, Codex or OpenCode with its own Codekin MCP server\n- **Repo maintenance** — Explicitly put Joe in charge of a repo: a reviewable plan of responsibilities, each linked to the automations that check it and a response policy (notify, propose, investigate or implement). Health comes from real check evidence, never from assumptions, and pausing keeps every automation's settings\n- **Scheduled workflows** — Run recurring checks and repo tasks on a schedule using workflow definition files (Markdown), alongside loops and Agent Joe's runs in one Automations view. An activity-aware trigger engine decides what runs, and a trigger log explains why each run did or didn't fire\n- **Loops** — Durable outcome loops that run a coding agent until your own build, test and lint commands pass, within turn, cost and time budgets. A second provider reviews the diff, every step is an auditable event, runs survive restarts, and a passing run is committed, pushed and opened as a PR. Ships with CI Autorepair, Coverage Increase and Dependency Upgrade recipes\n- **GitHub CI integration** — Route CI failures from GitHub into Codekin sessions with context already attached, and review pull requests automatically via webhooks\n- **Deployment & host monitoring** — Probes for your deployments and host (health, error rate, learned p95 latency, TLS), with breaches diagnosed by Agent Joe and a weekly digest\n\n### Open platform\n\n- **Claude Code, Codex, OpenCode & Grok Build** — Pick the right agent per session from one interface, and hand a running session to another agent with its context. OpenCode reaches any LLM provider; Codex brings ChatGPT-subscription OpenAI models; Grok Build (new) brings xAI's Grok models with Codekin's approvals, plan mode and resume; new Claude models appear automatically; subscription and API-key auth both work; live health indicators let you disable or enable each agent\n- **Open source** — Full source available. Fork it, extend it, and wire in your own skills and automation\n- **Self-hosted** — Run on your infrastructure with full control over data, networking, and configuration — including [your own Codekin web app](docs/SELF-HOSTED-RELAY.md) under your domain and GitHub sign-in\n- **Teams and workspaces** — Invite people into a workspace by link, give them a role (owner, admin, member, viewer), share individual sessions with per-user permissions, and require two-factor authentication (authenticator app, passkey, recovery codes)\n\n## Use cases\n\nBuilt for real engineering workflows:\n\n1. **Daily AI coding workbench** — Keep long-running sessions alive across repos and resume instantly after interruptions.\n2. **Parallel work across repos** — Run multiple sessions on different repos simultaneously, each with isolated context.\n3. **CI failure triage** — Route failed GitHub CI runs into Codekin sessions with context attached for faster debugging.\n4. **Automated PR review** — Use scheduled workflows and GitHub triggers to handle repeatable review tasks automatically.\n5. **Shared team context** — Capture repo guidance, reusable skills, and approval history so each session starts with context.\n6. **Webhook-driven runs** — Connect webhooks, CI pipelines, and internal automation to trigger AI coding sessions.\n\n## Get started in minutes\n\n### Remote access\n\nCodekin runs coding agents on your own computer; a Codekin web app is how you reach them from a browser, phone or tablet. Use the public instance at [app.codekin.ai](https://app.codekin.ai), or run your own for your team — on your domain, with your own GitHub sign-in and data. See [Hosting your own Codekin web app](docs/SELF-HOSTED-RELAY.md).\n\n1. Install and sign in to at least one supported coding agent on your macOS or Linux computer: [Claude Code](https://github.com/anthropics/claude-code), [Codex](https://github.com/openai/codex), [OpenCode](https://opencode.ai), or [Grok Build](https://github.com/xai-org/grok-build). Windows isn't supported yet.\n2. Open your Codekin web app ([app.codekin.ai](https://app.codekin.ai), or your team's own) and sign in with GitHub. Access is by invitation: open the invite link a workspace owner or admin sent you, then sign in. Owners and admins set up two-factor authentication (an authenticator app or a passkey) on first sign-in.\n3. On **Connect your computer**, copy the generated install command and run it in a terminal **on that computer**. It pairs the computer with the web app you generated it in, whichever instance that is. The pairing command expires after 10 minutes and can be used once.\n4. Wait for the computer to show **online**, then click **Open**. Keep the computer awake and connected while using Codekin remotely.\n5. Use **New** to choose a repository and a coding agent. Local Git checkouts under `~/repos` appear automatically; the GitHub CLI is optional for listing and cloning GitHub repositories.\n\nOnly need Codekin on the computer in front of you? Use the local install below — no web app involved.\n\n### Install (local)\n\n**Prerequisites:**\n- macOS or Linux\n- Node.js v20+ (the install script can install this via nvm)\n- At least one supported coding agent CLI, installed and authenticated:\n  - [Claude Code CLI](https://github.com/anthropics/claude-code) (`claude`)\n  - [OpenAI Codex CLI](https://github.com/openai/codex) (`codex login`) to use ChatGPT-subscription OpenAI models\n  - [OpenCode](https://opencode.ai) with a configured provider\n  - [Grok Build](https://github.com/xai-org/grok-build) (`grok login`, or `XAI_API_KEY`). Agent Joe and workflows don't run on Grok yet\n\n**One-liner:**\n\n```bash\ncurl -fsSL https://codekin.ai/install.sh | bash\n```\n\nThis will:\n1. Install Node.js 20+ if needed (via nvm)\n2. Check for a supported coding agent CLI (installation stops with instructions if none is found)\n3. Install the `codekin` npm package globally\n4. Generate a local access token and install and start a background service\n5. Print your local access URL\n\nOpen the printed `http://localhost:32352/#token=...` URL **on the installed computer**. The token is in that URL; (after `#`, so it never reaches server logs); if you open the address without it, paste it on the **Settings → Connection** page, which opens automatically. Run `codekin token` to print the URL again. For another device, use a Codekin web app (see remote access above) rather than a `localhost` link.\n\nThe installer checks GitHub CLI (`gh`) but does not require it. Existing local Git checkouts work without GitHub authentication. Continue with [your first session](docs/GETTING-STARTED.md#3-start-your-first-session).\n\n## Usage\n\n```bash\ncodekin token                   # Print your access URL at any time\ncodekin config                  # Update API keys and settings\ncodekin service status          # Check whether the service is running\ncodekin service install         # (Re-)install the background service\ncodekin service uninstall       # Remove the background service\ncodekin start                   # Run in foreground (for debugging)\ncodekin stop                    # Stop the running background service\ncodekin setup --regenerate      # Generate a new auth token\ncodekin upgrade                 # Upgrade to latest version\ncodekin uninstall               # Remove Codekin entirely\n```\n\n## Upgrade\n\n```bash\ncodekin upgrade\n```\n\nThis checks npm for the latest version, installs it, and restarts the background service if running. An in-app banner tells you when a newer version is available.\n\nAlternatively, re-run the install script:\n\n```bash\ncurl -fsSL https://codekin.ai/install.sh | bash\n```\n\n## Uninstall\n\n```bash\ncodekin uninstall\n```\n\nThis removes the background service, config files, and the npm package.\n\n## Configuration\n\nThe installed service reads environment variables from `~/.config/codekin/env`. Edit that file to override defaults, then apply changes with `codekin service install`. The local access token is stored separately in `~/.config/codekin/token`; keep it private.\n\n| Variable | Default | Description |\n|---|---|---|\n| `PORT` | `32352` | Server port |\n| `REPOS_ROOT` | `~/repos` | Root directory scanned for local repositories |\n\nYou can also change **Repositories Path** in **Settings → Sessions** or on the first-session screen without restarting the service. See [Getting started](docs/GETTING-STARTED.md#no-repositories-appear).\n\n## Manual / Advanced Setup\n\nFor the installation internals and manual deployments, see [Installation and distribution](docs/INSTALL-DISTRIBUTION.md). For nginx and Authelia deployment, see the [advanced setup guide](docs/SETUP.md).\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}