{"_id":"thincoder","_rev":"98-554aa21194b33594dcf50f29df3ee798","name":"thincoder","dist-tags":{"latest":"0.12.67"},"versions":{"0.1.0":{"name":"thincoder","version":"0.1.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.1.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"74e6318aa6c11a50c1ceb8b34e4f1b23c262c388","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.1.0.tgz","fileCount":17,"integrity":"sha512-HCEYcfcWVkTNZJb2ij+C/3QmWlcYT8VMNtyZZZViskkY/GHT9dvJjzXPqfyjkcWx0q4sbeKLSoGmo5Bd5fiQzA==","signatures":[{"sig":"MEYCIQDAaH0DxLJpoSUVhEE5rVy5e4QB3FaKO0OynFCRorhRgQIhAKuX5xTq+AV7W1IWW2z6J74OuLBIszqsBuu5shdlLFo2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141198},"type":"module","engines":{"node":">=22"},"gitHead":"cf0373af2321b43da2e8f76b28eb2768ce3e57a9","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.1.0_1784863182567_0.45809789015728386","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"thincoder","version":"0.2.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.2.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"fda13ce5aaa5932746b86fc61a1112f29aef1928","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.2.0.tgz","fileCount":17,"integrity":"sha512-G+vGNi1dubJrpJwmglvskvBqqNuBdTDXtaqxUnfUnkv2UOq39cR/noYDQSOm+3tQFUq2cMHVnV3LmGB9834/2g==","signatures":[{"sig":"MEQCIHj1VH8GLBd49bluWiT1awh0/XzeswCJ6/tpy95C94vEAiAaRooHQgk6jfREJBBfVwsKVT+Jd/T/XDbL/Y4vDSP9Uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181500},"type":"module","engines":{"node":">=22"},"gitHead":"cf0373af2321b43da2e8f76b28eb2768ce3e57a9","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.2.0_1784872703359_0.8436683446336803","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"thincoder","version":"0.3.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.3.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"fb86e91e5f2b350ceb4dd9eb0f9a2492fd51eb52","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.3.0.tgz","fileCount":36,"integrity":"sha512-/5nzobs9kmL5qWaK2cd9sQ8pJI0XlItuItnNX29FLCBLpGXjQfDUa9HcnrVG4BTbXdxBl4rdlvQZypBL72B3uw==","signatures":[{"sig":"MEYCIQC+Rwjw75odDb/RmJyNdWXwR7xrcQerEGxDXUFEu9TtUQIhAN46L9c7kFWJyQkawMS4/C3icypPCTraphKGS31h+Z6J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":258247},"type":"module","engines":{"node":">=22"},"gitHead":"72dc6660df339dc13331cf0d4079fc87b1deeaca","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.3.0_1784891442528_0.7611346200508657","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"thincoder","version":"0.4.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.4.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"00c473edeb35ecbaa7dd9dc4acc0d5a426b5a137","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.4.0.tgz","fileCount":36,"integrity":"sha512-53PejhZn0ABrUyFfEyFdOC0pRPJKlJDGS2x6TcMxw9cist6ZQesaRTNGUVTjbS8B66sRKXDs2kSNpesCYuPw5w==","signatures":[{"sig":"MEQCIF2k2zWdl6lVu4VP3Yn/Q+T4o67dT2pFyiWZWA1H5vZFAiBDKjZ4d6NLZyWIQ6uB7F3eOAPjWfll0sfdhfS8z5/eFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264935},"type":"module","engines":{"node":">=22"},"gitHead":"61df31e398cafa6ee8e2401c98bba745e3b0f9cc","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.4.0_1784912684149_0.19796769324384544","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"thincoder","version":"0.5.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.5.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"ed54d0b0a6ddf0189f5088a5bc45de835456dd25","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.5.0.tgz","fileCount":39,"integrity":"sha512-Dy3KrBCzkJREeg6WOogtocVudZVNJrduM9yzwGl+bxhabHp8pMU0NyCNWVKDjnNwZaFGwk96Gm88rw8TFVonSw==","signatures":[{"sig":"MEQCIBRBNerMjYTvL/YRewYgcDhCXrwnGGg8+IUWBmnP99BmAiAhFg87wA/eYSmYLaqM9+s3/T398Kktd42i7ILIO+GJkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340800},"type":"module","engines":{"node":">=22"},"gitHead":"3bc3b53c52bad9484b67fa8961a7eb69d0ae020b","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.5.0_1784964010552_0.7253445263871592","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"thincoder","version":"0.6.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.6.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"c7f2fb0371cc2742b362528f1ef7bfaa31eea8dd","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.6.0.tgz","fileCount":39,"integrity":"sha512-edrughkFhg2e6UPicU2XT34j+LynRhLpVeHoCKXfeqhuYSwVs1bSif8xvuGmiwvigYfr21yWLFZrfxq2bwNUng==","signatures":[{"sig":"MEUCIQCIK/5gxZNbOaJRPwKKjq2ah/a3WM85uZv1XaADlwoiOgIgfK5/0HqtJJve1d6rksjLmBFvEm7zo0udUSUXwjiyTq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350956},"type":"module","engines":{"node":">=24"},"gitHead":"f5fa0175295256835b36b15a6ca7fa1618ef2a19","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.6.0_1784973316237_0.7767176855392794","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"thincoder","version":"0.7.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"4dc5764b18813404be853c0483a8a8786bbb9a87","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.0.tgz","fileCount":41,"integrity":"sha512-DcjzuKP+KJnpSgaxZbIyoxbqpWZ7ngD3umuZ6mTgkrZE6wCu/bedzi7t/bfIy7Gd+bRabMAtgOKfZnWAy9axOw==","signatures":[{"sig":"MEYCIQC4eIk/ywRPCv5XPPZU0Me0MIvOOImAdSNfvSy/ecyxZAIhAP3607LsNY7dF+ggl4ljD9ShfdmMWLts0hVLnyObaFUW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369739},"type":"module","engines":{"node":">=24"},"gitHead":"4e607eadfcae97870faec74868541ad72659c6be","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.0_1784994414353_0.3858272217785661","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"thincoder","version":"0.7.1","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.1","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"563f4bfbd0cbe0af6a11dfc82d7c247829c618c3","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.1.tgz","fileCount":43,"integrity":"sha512-5pt88L6noqFs9WVjuLfVr/155VZUle0Nyyc4aN8QDyJYc8D7LxJsJGC03eRNw+VqO4/dRzPHpnztAViIiF4uNQ==","signatures":[{"sig":"MEUCIQDIK4ZxIxfw6rHRgd6U0MSPAJyZCEYtmc6EcQ+hU8TBPQIgUExDvXehTQ3cgTl9jnWAoOYRPJaqAv6sWSX7gYxEwco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":407760},"type":"module","engines":{"node":">=24"},"gitHead":"5776065575d04a6b2d62f8195f4e08ccb8f9f107","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.1_1785044303371_0.9114548905706261","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"thincoder","version":"0.7.2","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.2","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"3609e01f9baa1088db80e63d1026b83d3956060c","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.2.tgz","fileCount":43,"integrity":"sha512-EGi+5PpnkbgeI4pneJpyKYo5uLcw35PeaiSnnBEj/mLkjJhuSiHSxdn9riYgTeWhcVzf18GX7I5OSGmEmQNoXA==","signatures":[{"sig":"MEUCIDbmdGe8KXb5yDIocANjlj0Gzvcgma2ASiIda7fO+DkFAiEA2JKtE5E0mKjgkQ+wjaAbExJmQI+f/FQ/7AIdky5+Si0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418773},"type":"module","engines":{"node":">=24"},"gitHead":"196d190166d5960f3be4a232ec1feebefe9e3bfe","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.2_1785047484113_0.3071967372698432","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"thincoder","version":"0.7.3","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.3","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"b6c887a3e9f2401c687da86617a6103fc1a58531","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.3.tgz","fileCount":44,"integrity":"sha512-0TuVwd8kFTFQ0DTwjHXZuT2UlTBl4gG5MTOqmDx943f3xdRZ9pAp2r10W0tLPjgIwrRl0bgtSvflfyb8Xw3NNQ==","signatures":[{"sig":"MEUCIQCDv4ZKs9COfGelXz2rgf7cPEGnfhY8Pw9UmOS3Re9fNgIgQJHjiQRcW0LNjDQ/Za9kcw8B0Td98v5sgfpmu7m0i6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431781},"type":"module","engines":{"node":">=24"},"gitHead":"0949b1fbd0b938e6fd57e5a0f76eea885d24750d","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.3_1785055689230_0.7775401111399292","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"thincoder","version":"0.7.4","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.4","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"0fad7b5493bc4d65e39967e5027e28252af086a5","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.4.tgz","fileCount":44,"integrity":"sha512-u6NYIvScjP026Z9oaxcUBHC2QLtrZfZj07jfu+Cxabl9eeFmKMpJzb4ZtQ3XmsWMsXB+VjQLkdLf8U9lDBEK3Q==","signatures":[{"sig":"MEUCIQCjsf+NHKqdVus2B1ONVbQrKtktRCUS56nHahoCEuV1+gIgWFsDrQgwwpdf374X2WQvZLKQObwnrQmQAu0rCVeOD0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":436768},"type":"module","engines":{"node":">=24"},"gitHead":"e02da67f84a11de5566fe2cc6f482fcc6932e8d6","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.4_1785059146020_0.13674286261784063","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"thincoder","version":"0.7.5","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.5","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"af2902d5acb1118bdca14fa70b7f594e575e5f08","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.5.tgz","fileCount":44,"integrity":"sha512-/nY5mCflhvQDkYnDqaTILxfZDcMLhzBbPz5LnsOSIE33X4VvAl2BtyzPqhhAtRIV9Uf9bzT/KwRvIi+1m1sfPg==","signatures":[{"sig":"MEQCIEiKnoGuiMHexYz63zrMYs0KgQ9NEgQCpCEtOXxYWSRlAiA/0VePq/wPYfUVJU2+NIKg5Bbaug3c3ZNUxrX1AyuXPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437112},"type":"module","engines":{"node":">=24"},"gitHead":"57cdfc3a4c8751c4829bf17c62dd6d8d8b6e6db1","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.5_1785061621705_0.46647393735812526","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"thincoder","version":"0.7.6","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.6","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"01b1c658022e1790bc7100fc8be7c76f367faa98","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.6.tgz","fileCount":45,"integrity":"sha512-uxQmYkLMVefZUh2GSTpWYGvt33d51KFAbthJNnbeHgIilEtRtxaxBBgbQvz6OpB7C6sMlx652jDlofrWm5nVtw==","signatures":[{"sig":"MEUCIBdKAfS5MFW3TNeoEjqVHzWKBIZdnotE6lnmq7GZmdmCAiEAmREMKpQhE7kSdh+sF3LUdOMWgfTrxCkDVZvLXTTK58s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":445580},"type":"module","engines":{"node":">=24"},"gitHead":"d9f78f5618b0affabb8c7ee45c550888e5eabf07","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.6_1785066592654_0.7157291668381403","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"thincoder","version":"0.7.7","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.7","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"8a9fb6a20157dfb315421e7f53bcfc2cea9f6213","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.7.tgz","fileCount":45,"integrity":"sha512-+GbsyCUBQQCyQCG+0dMtgzSd0ieZ429R8MgowU32MYarFfpVKjD3swyjOJbbsDtZ5pLOcfC8eKgfWpzOqwW8Ww==","signatures":[{"sig":"MEUCIFEjGoV8PH67ZLTl9Uc162G8/DAoidPc9PS5LjIrRhqTAiEAnReZ3rKs1cIKoYaQOXIsHvGw09KHlbY0pgjMvAikOAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453547},"type":"module","engines":{"node":">=24"},"gitHead":"3990ed1102e8d176bf4947fbe2400875eb52d784","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.7_1785072215978_0.7890968333519872","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"thincoder","version":"0.7.8","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.7.8","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"95841e072628fe284347ce1afe799d8e934396cf","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.7.8.tgz","fileCount":45,"integrity":"sha512-taLS7nrqXZ9fTe/24uiHhzwt0tv+og9uZR6Y/ZTIHi2Nu34SBq0DNOyaXyLBcuqns5kqUonzZH30ZRoQoarZFg==","signatures":[{"sig":"MEYCIQD20oGiMNIRTuWZDsZTOjlKzVDG5FvVg4FYyprdpBK7LgIhANcipL5NPNbgM51AbN+KQmZn69SBV1J2BDnW8xVh/UB8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":455697},"type":"module","engines":{"node":">=24"},"gitHead":"eaf484d0f2467a5434ccfcd4651c16de9ae26474","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.7.8_1785076113820_0.5832583342039563","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"thincoder","version":"0.8.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.mjs"},"dist":{"shasum":"fd2598538484c12c5c12449c31672bbf75e11f81","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.0.tgz","fileCount":117,"integrity":"sha512-bXDSf9rWeC0CA887qMaiEgzkHpuVw+tP2Ipsc4ByvGJX3X+f3HuRlKpCB+PUvzMNeA3E/U8qfFTUE9atnOGXMg==","signatures":[{"sig":"MEYCIQDiNhP3AIz2gtMirVDaQZQxOOdiuuZoGiv+sngu7sU0VQIhAO0lwMPYiTFZGvONZEO9gmYNiZjTcGa6yeRsQjFjOSil","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492903},"type":"module","engines":{"node":">=24"},"gitHead":"b04c2b9d5f03970c6f8562ef398597d03cc8ff82","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.0_1785127949027_0.0065124412106900564","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"thincoder","version":"0.8.1","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.1","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.js"},"dist":{"shasum":"36f46636d7ba005bdd060baf4becacb6bda2b724","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.1.tgz","fileCount":118,"integrity":"sha512-LlZ+6LyKn+YInzWasOOHh8PtSFZt/Cx3A25A4S+YzfEA4QIs9fghSNIclhRLH4HcbBOcxyfhaouMUeE3kg2YjA==","signatures":[{"sig":"MEUCIQC7UhnTd5VWLO8pbZlUIXQ/z9y/d7Nb0xtTySpjMzqAcQIgZSDeRTrDmAY/lxo2Mxo/V4xEEaxHR6LkllwqdVQ3rrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493049},"type":"module","engines":{"node":">=24"},"gitHead":"3b0dc0c438eb92250cd4b5b0f7b0a8526e8461f6","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.1_1785129459392_0.0772628856066988","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"thincoder","version":"0.8.2","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.2","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"d173df564d24d1eff37384dd63785f8c48f0db91","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.2.tgz","fileCount":119,"integrity":"sha512-1tEo4S/LFixB/M7E/n0AhBpXbhBGz45eKcF7AZ8hpG9aWdkLGVWgIOPXx66pK5xBrGbuMhWBJFYW9c06cSvJ/A==","signatures":[{"sig":"MEYCIQC4lgEKCjnk15TEGz7CPtOoWhFel35g+Ay31xOJUICc0QIhALPF5FMzMIkIwAj6DvnZu3B1GxK8K2y8825CdbiYqg5/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493225},"type":"module","engines":{"node":">=24"},"gitHead":"e63f5b14dbbbab1362c66333236ee1573dbefe84","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.2_1785129576309_0.19375603929157403","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"thincoder","version":"0.8.3","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.3","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"9515e0c8bd13f53d9efc34233edf6b6b7e0fe35a","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.3.tgz","fileCount":112,"integrity":"sha512-OaZcqHvigznfgGmLFEs7U4Q5KNADZwpC+gToU6kAYtnyvQPPCsIuphhB+BhFdyJBP9FO4uyVgCq0PNoQdlcGNg==","signatures":[{"sig":"MEUCICLuzKAGBzXcfdYti2cZ1sDDvjzpiMekZWtzYqYzWNOqAiEAuqE0eDQocfcvLCDdAJI7QMd4jdw8OLQU3gt7EF9VkwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":515208},"type":"module","engines":{"node":">=24"},"gitHead":"b23d4ab6413706bd09d4e1cf33714e1e799f417c","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.3_1785164437399_0.5467153187793461","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"thincoder","version":"0.8.4","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.4","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"484d1e77d2a83ad67bad66723e4aea872f8af620","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.4.tgz","fileCount":112,"integrity":"sha512-sio2AD/5Sx/v5IECELDG5WwIn5yqkIrNLp1iLalLsIL9V30wuCK51+AFn3H/an2DuFsoboeqiayjmuIFfw+oUg==","signatures":[{"sig":"MEUCIFcBfQXQh8LaDgYZ22sceW03cOliMi2WSprHFmUSYxDPAiEA5w8Sd1VMOTShJdikFtREe0v+NnpJSCxvX6zmCdSpjGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":514934},"type":"module","engines":{"node":">=24"},"gitHead":"a91bd4b6d328f495f4506fe5a6a467d35e520bcd","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.4_1785172531476_0.7875182173409851","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"thincoder","version":"0.8.5","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.5","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"8ea0839b0b2e9591bcdf953941a81db7270c28a8","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.5.tgz","fileCount":114,"integrity":"sha512-3Zt7j0MsMxNaZ8EqxY/+1icSNyY6myV3HuMRrMmLCf8CWXcSUsGWcBTebjIdItVwr5rR9nkr1KtqKqoOd8nAdg==","signatures":[{"sig":"MEQCIEiomSDzGcbHiQUuiRRjYcVV5GlFZkzIQr0kZFC/B/w8AiBfXdJ/fuQPznfrWwznD6OR3XngsoVSceuXbJ+5xo6cWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519922},"type":"module","engines":{"node":">=24"},"gitHead":"27e9ef2f7506521d978186ad8254b3e84c936a30","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.5_1785173643255_0.707580436522554","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"thincoder","version":"0.8.6","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.6","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"19987f89ccbb4c76def09fbeeebf0aefc6ae1f04","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.6.tgz","fileCount":114,"integrity":"sha512-pIej6cCui+y70Jdvrtmf1WOv/EcHy32XINLXptmb2qmnt7eZv1U2QgdsQNgfIUVSeCc5R57cddGdcZqxwmy/cw==","signatures":[{"sig":"MEUCIFIaNgqwT8JRPXif6/zySaREonkfKbrpN6S6q2pDl/VZAiEAmuCBzb2RTMHsbwnqXhQ3IC/kaZSzg8GKRUrzcTayTks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521279},"type":"module","engines":{"node":">=24"},"gitHead":"8e7a32683c9b75f5450007a85b29e8e5ba47bed5","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.6_1785191137381_0.6713211319385111","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"thincoder","version":"0.8.7","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.7","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"996f66af4d22a4aecb586ff37f41ea44ca383860","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.7.tgz","fileCount":114,"integrity":"sha512-HMXimG9UKFOxM4GbNRmcUBXDpQ1BBBXd08Cqfzzpri5fBPQKx7m00VK5hJmQxC0bh3Mny+jS0cp4SaNG6lM67w==","signatures":[{"sig":"MEUCIQCE22txJ1AVrKOLSnNk/6JRezKS0qqsNNtHJpie0FufSgIgd9pUMZOusjFSqwqPuBU2Kx/1TMDK2gM5h0dRuHW7v1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521670},"type":"module","engines":{"node":">=24"},"gitHead":"8e7a32683c9b75f5450007a85b29e8e5ba47bed5","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.7_1785206980224_0.403585023270006","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"thincoder","version":"0.8.8","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.8","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"4e3125fff66c9a9d8333ddb467616710cb45d7d5","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.8.tgz","fileCount":114,"integrity":"sha512-wm5q9zrUsJh0DUvb/4KRqf5aoOPXHA68Xtkr6L88BDPOrxZdhJUE9mnBKi+6JbhppuBjq2+co3H+ikJy2+WFEw==","signatures":[{"sig":"MEUCIQCcKXz3fkFcXRof3pZU1Bqxj2RpJSTudmw8ZzBpJEMMVgIgRvSc8l9m8vTuWM9KhxarR48aUxf4ynfvnhGxqSd+TB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521092},"type":"module","engines":{"node":">=24"},"gitHead":"1f92c29b953bd717df8b48a7d750aa991d147e08","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.8_1785222715533_0.047081163135918036","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"thincoder","version":"0.8.9","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.9","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"7edd8048385a43db98a4489693b200de067c2d11","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.9.tgz","fileCount":114,"integrity":"sha512-q6Gcd5KNYJnU9ilXe3rhIZdHv5UAz91L9dhmyL8zsE1zIH3sartCUHXi6gna90XESgiQKjNIhseJMWskEFUDKg==","signatures":[{"sig":"MEYCIQD4mkbPwfxvH26RcCXrAsq7dYksq+GCvFEWhlx/DUi5OwIhAPnZykmO2sH6yPzHCgz4wyALgiGPR5qfPGvOdOMb7OWM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521113},"type":"module","engines":{"node":">=24"},"gitHead":"d98122894570a049e4fffcb848832ea04f5e5443","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.9_1785227442398_0.3930382796226748","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"thincoder","version":"0.8.10","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.10","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"7ced475b3f36ee5c4c5d12a4ecd2c3a98191ddfd","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.10.tgz","fileCount":114,"integrity":"sha512-cF1izIhe+ZrQRI8a5tcnjA/M6X/AVGRgoHE1v4Wa2/4MWTCfMjU+elyeH8pK8uCaUOkXvrAxVEY2hDrhzLtz5g==","signatures":[{"sig":"MEUCIQDZj7HREOwLsHSkZmDdTgFSkGqx22Q3jQO14QsTtxu9+gIgVR7S7RugVPPoELjJoMmrmB0KrwJJFBTvBuPTmCnuksQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":525276},"type":"module","engines":{"node":">=24"},"gitHead":"6f585a07cdc0ba900e2ce27df6d15d784190b0bf","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.10_1785232120176_0.7228623891916282","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"thincoder","version":"0.8.11","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.11","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"816ed91d22d4cbc64a572838da1978c7cc0064f4","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.11.tgz","fileCount":116,"integrity":"sha512-rwDCTohmWHXiO/pg3YrRshmt26nx6W+XsLwyqsyGmIhb3yDiPEq1DbnmcQZxSg2qx0TqLkDGZiQxIYDK89IwQg==","signatures":[{"sig":"MEUCIQCCLwT/KAErfO9P/Gbc2Wm/kGxT48RTe48CGVyY+62H5QIgYA/5n7k2pSuN0Z6FDYB/c1aJ9ZzrILrj3yzvCV48+/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":534646},"type":"module","engines":{"node":">=24"},"gitHead":"3e492f244120dc402be9c06b8cc8af5b84e5099c","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.11_1785243314669_0.4260364719157359","host":"s3://npm-registry-packages-npm-production"}},"0.8.12":{"name":"thincoder","version":"0.8.12","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.12","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"4d574120b1a622d43c412d4837f1b1b4a83d3ec6","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.12.tgz","fileCount":123,"integrity":"sha512-FxMwJ82MGuOz0kf4gH/ip6ERbpVumiZesQnVVHh5vraar4y8Pd9zI49tKKGDzAyYKkafvIgBOt5zTavMnu8yWA==","signatures":[{"sig":"MEUCIAtnDI/e6Bk8gvb5Ql81h3jrl/BAXcLE2h0DGYWGfBjjAiEAvj5p61jJF0nFJ4YI9Y6XUn4euWX2fMJCBzGWc+vqxY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591663},"type":"module","engines":{"node":">=24"},"gitHead":"6acfe53327f9c3f2d459b799e856670725df6d8d","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.12_1785346649588_0.7665075886010158","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"thincoder","version":"0.8.13","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.8.13","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"a3baba35282164fe9e95837a328c1490228de5d0","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.8.13.tgz","fileCount":123,"integrity":"sha512-Ae4o9ClFxeYw7K+r37erm4QPPFowRBscpTGzFZScrF1GZvrJ0XjuHvVRyE51j3MM+7F2InMMHlWE72CCCS6GDg==","signatures":[{"sig":"MEYCIQCD1h+FuRWvD2vttgwyIQQgL8QEgsSDMCOQv3TbVN301gIhAJ32iH+piej5M+8p69h+pZAQWbw5vQeH3DqLhpad46At","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607660},"type":"module","engines":{"node":">=24"},"gitHead":"1a3a16626e5f685b0c7820c5dbff7f4eb80e8671","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.8.13_1785357892878_0.049947879919496785","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"thincoder","version":"0.9.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.9.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"705d1e5a454f08aaa0fe1b48c2dd9d6ce30b5585","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.9.0.tgz","fileCount":126,"integrity":"sha512-XcSVXa8Np/H31p3yTikE7OrU98tEsJErr0XShPmrU+ihFlAPx4d9Y/BxXG5Lw7EGg4dgMvPNdZof516zvzTzmw==","signatures":[{"sig":"MEUCIG0xj8Jcjwi5DaTyJZsUSpQ6d8rTJsxJTwJ9SIaaFCHoAiEAmwZMkmT0SbpxaQhYrlMOOhA9+LHMKMBAQEDOSsTu1SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626495},"type":"module","engines":{"node":">=24"},"gitHead":"919d5ae8885f8db7fc21dbf9240b86dd0cbb34e1","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.9.0_1785381369655_0.5832317234435227","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"thincoder","version":"0.10.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.10.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"83327a1405f360bcd1ee6ea9b7d009fdeb6b0c93","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.10.0.tgz","fileCount":128,"integrity":"sha512-ZAW2PVXLmKBFY4hidXDTNwsO7zRmANMl9HRfhGIlNh3UONrBVVfIn2FGF5yiCsyjerVgsj7cSti9Pu1QhZ1KZg==","signatures":[{"sig":"MEYCIQDKERDNL4alcr/2728xrDQHdz/Rj4sLFzkzj+KvzI3sLAIhAP40YLv3d4795bRrW3w3AEjwwVUPUMnMhgWJz+cjaHdK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":647152},"type":"module","engines":{"node":">=24"},"gitHead":"02698933d423ebe6784719d114f89aa90508e208","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.10.0_1785381746432_0.8156125222035635","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"thincoder","version":"0.11.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.11.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"e448a5b8b5c71ba84396747255a5529dcbb8117e","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.11.0.tgz","fileCount":131,"integrity":"sha512-bIP37IeO3ejAWB+T4193wfpuzbyNaZBz23sqqZODmsoHQjx32W+n/xv47Le8xlpwoGmi/m9JbzA5wfJjpwZGSA==","signatures":[{"sig":"MEUCIQC4Nr4LA4/doHO7/J2BVb0zbiU8oDtAMXXcaXV3EUHiPAIgeiuGo6147chG7f/0HNThZo51c55WhPnCbQGXoERhSNg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":690790},"type":"module","engines":{"node":">=24"},"gitHead":"db086e1e21d4a0d71a8896c6aa136acbb9d54a1d","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.11.0_1785416207283_0.2877471800657365","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"thincoder","version":"0.11.1","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.11.1","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"afe898903f733f19b61690beb04bbdeb81abe788","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.11.1.tgz","fileCount":138,"integrity":"sha512-E3yHfu75Y4h4/OqfeRoLXWmOjmZB6gBHDOJlqYVKv7hlRkBOwjnYarQvgpKhbwKttM+Xeoqc0wycZ5yYh/Ng8Q==","signatures":[{"sig":"MEYCIQDC6gGLq54JJJ7lOPG06ryBA6jPzPAR12TJdiHtSYf8wwIhAP2htghi74ffAiNFa86eSdImxS7mqpWs7CkVX4Sac1Vp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723981},"type":"module","engines":{"node":">=24"},"gitHead":"3d9730c118adfd49db453abaeff91b70daa60134","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.11.1_1785470267264_0.03460818608436744","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"thincoder","version":"0.12.0","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.0","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"4ff3d0779837bfcd9d07b7413238da78796fcabc","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.0.tgz","fileCount":138,"integrity":"sha512-5+2HzYUDPOMds7RXHmCdY4Iq9b4t9tXFkysObO2cfggAXd2ohcOF03vzEn102lJqBcIyy+JawLR4DZ7MHvtxOw==","signatures":[{"sig":"MEYCIQC47TSSI0mJW78KlGJykha2DxD3o5at5IbaXtSxjSun3wIhAJQQFy2cFon+zhuqffb9wFnHntbewJn+EowzgaeUDCiH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":741619},"type":"module","engines":{"node":">=24"},"gitHead":"b0bcab4bc9c4c031ac3c35c8b8386d3a8b872eef","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.0_1785481562619_0.1115208637059808","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"thincoder","version":"0.12.1","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.1","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c73317cc05b048232ec549beacf2c5d725ed3a30","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.1.tgz","fileCount":138,"integrity":"sha512-JcFQA//vk+ydWsiRYsFNxYx+gQIGvCCQX2nlZ5y+o+N+v+L6nbmr7xMpIxqi+qJn1RkUNyZpryAibR6VGvi89Q==","signatures":[{"sig":"MEYCIQC9kzhgwudkDy7yWRxsc1uXeXouCA3HU2CrdUoYklSIlQIhAMsLRdPVu2S7CTvsploS/T+hqO5nZPX04uFPvUMntRo5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":744178},"type":"module","engines":{"node":">=24"},"gitHead":"2df0e355585b68f3e91d034b1f4bede7454877c1","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.1_1785484172799_0.8502879145680899","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"thincoder","version":"0.12.2","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.2","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c7331bd2042b723b75923c69a82e8d9fc57d57de","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.2.tgz","fileCount":138,"integrity":"sha512-xTX0/aJIKmB8OHNc+eKDhZDPApy5Ftae/AJ5wAO8hY5m+Qym2GzQTZ42JYwU1FRH98/veamedUZ/lR778Ssx7A==","signatures":[{"sig":"MEUCIQDc3CUVyfgFqOM7FHlPeLoKQsq4QrNV03JZht2m7/lgswIgPsGiLr+WREui8DbKtRZUaHn5H5bFOyTMTagxK52vEB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":743780},"type":"module","engines":{"node":">=24"},"gitHead":"47dc0d412b67f7577fbf4cc7a74915563f7328a4","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.2_1785484553052_0.8192293711543781","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"thincoder","version":"0.12.3","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.3","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"636cea55c03a886eaf71199bf059f46715845e41","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.3.tgz","fileCount":149,"integrity":"sha512-YIJ7bkMAuZcvyI13u3gazLgM2Wu802eBYuKhJYU4E0n9Ul6jbWD2odDEQvQbTsin5xKclyrc+qe2tVNNYwguLQ==","signatures":[{"sig":"MEYCIQD5Z/Us7TogAywxVLR8wPD3uqXDjYvySBce0qIbIAPsSAIhALHV53RGuPvld99IoFUuNtdcfDoyYTg7JB+cnG6YNnTY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":830252},"type":"module","engines":{"node":">=24"},"gitHead":"5903852140790eb5d46c09401aa8e4436564e522","scripts":{"test":"node --test","prepublishOnly":"node --test"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.3_1785654708875_0.5887985933327813","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"thincoder","version":"0.12.4","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.4","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"42f2f5ffdd5e398b1b1d442bd7441a61505dca21","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.4.tgz","fileCount":151,"integrity":"sha512-J5VVNVmXb8kduBcWubu5oP+hom/cUgd4eFGly26Yf4HwaDpihWoHwJrFvIuHTThy87IoJgcxMLrBIvs7gl/NSg==","signatures":[{"sig":"MEQCIDc0AU/WfkJ7+a1kokJkzu/J6v9Xfn7zrEMrzAycX8ONAiB0xczQfGusbgYU1+iz3gINmh+mKtHaGFvLpHZ2EXk9Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853298},"type":"module","engines":{"node":">=24"},"gitHead":"4f88919c29263689ad53ac9254ca820396e9df04","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.4_1785771905783_0.20482678281145938","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"thincoder","version":"0.12.5","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.5","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"df39dc1047880d5c84c189be5f4ab23a31c17fea","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.5.tgz","fileCount":151,"integrity":"sha512-Kc0C24oE3kVXgR70AGxNfRPxNRZYgATzFjcqR6vm8kdTixu5UZXEcgmF2bshHxdJss5Bk8CI4aAOYA0ZS3rTIA==","signatures":[{"sig":"MEQCICi+GRie0zBxidIL1+B5+tcZ0nRM+E0T3FkcUiLzNpgnAiBu1Ea3H/UQifwt+2qenV9EnsckdSHT+LO4HEiTNAFVyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":853459},"type":"module","engines":{"node":">=24"},"gitHead":"810866356a849991a7b0bca6b8e470ca09ff1a32","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.5_1785772154152_0.8993234968139467","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"thincoder","version":"0.12.6","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.6","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"221cc72088f1a039c335e080c406c3c7ddf4a6ec","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.6.tgz","fileCount":152,"integrity":"sha512-gADkBX9r8BtS9I7R/zMoe2ft/RoTrUHOGzosBZCMNkmgf67k6TPDZKxLFjFn5vM8XkQ+oQbQoFebmJobo5gvxQ==","signatures":[{"sig":"MEYCIQCpHp1y7MnMyTJ02SKl3x+ExdmOJCMRLlEPqEdHVIAQpgIhAMFyqxw8FenDlCk4RF6qQG3FAAtLNnaS1X7aRNtae0gB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":869993},"type":"module","engines":{"node":">=24"},"gitHead":"a2ec1523d74b96d8b20c1e2ccc04fa9401df4ef2","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.6_1785785885379_0.36708076307603066","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"thincoder","version":"0.12.7","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.7","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"d69de54dd96606d9f05df6221ca41fd936b02c34","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.7.tgz","fileCount":152,"integrity":"sha512-sLPrQVXrm67vxCDIikhviF/UKnw3JhGiO66BUfJsuEjuTuid+ircT97Q08o7Bti11B6W4CkVwKMhe1PCFwdT9A==","signatures":[{"sig":"MEUCIHNA1me0GLdSLtZykPe3huA0kM2jxVov5uRHPv7a2G5iAiEAkLJg+ceYCfsEpZDSpC3sJ7bR0XtUApGZPtV+kxdPlD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":871779},"type":"module","engines":{"node":">=24"},"gitHead":"1cf5c07764400bcda093ed108046bf8e61773c4f","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.7_1785804465262_0.7310404446273484","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"thincoder","version":"0.12.8","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.8","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"e48c8a7c74f66380bf292865def75c256ce58a7e","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.8.tgz","fileCount":152,"integrity":"sha512-FK9rmh2/60IkckodjYEvmUyfkYtBE5oxt8ub4xfrkl8vdAPvkrb+b1ON5KqABEWhJ1JfKSedj3Kh/Y2NE2tg3Q==","signatures":[{"sig":"MEQCIAJhl6FQ0GEop56iCxk24UOWfYfAL2Gc4NJVDOwEkhmhAiBflKVxlwU2RRkW7CiKr6Muag9THtVRb0VP6YL8oyopww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":872760},"type":"module","engines":{"node":">=24"},"gitHead":"37e93565fbf90997508439b8ac22336291311893","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.8_1785817506385_0.17027210448882868","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"thincoder","version":"0.12.9","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.9","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"adc631f1c5990a9f43ac71d695f463ca94af1b69","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.9.tgz","fileCount":152,"integrity":"sha512-3/OOg8mWnAJW9SUeITQ61fCo2fd2mtCHNs3U9eQkFH/gc3kehNHgjCc15ENmWVUYVf2UMnW2nRERvqmhj4Aqjw==","signatures":[{"sig":"MEUCIQCcXxCDR3p9/MxEO+SNLwAn1pNWSCPSGQjcSA7rXG/+igIgUCyLNKdrTDu2HnVYwicacocx7UvKwFh4+NKlp9XRknc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":875630},"type":"module","engines":{"node":">=24"},"gitHead":"1bdde4df984d31e3c6711693d9bb9a294a9712eb","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.9_1785823254797_0.37236295766135874","host":"s3://npm-registry-packages-npm-production"}},"0.12.10":{"name":"thincoder","version":"0.12.10","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.10","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"03a51a4df092f9ed59d3035fae3008bd2f48ec41","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.10.tgz","fileCount":152,"integrity":"sha512-F1EWaS3UzaL+KIdDeucL2fJJTgE28tj2j+3+5NeZFvA4YIIuGD9TW64fHgaeUnUMwygPqS+JIx8YMC57X8pl4Q==","signatures":[{"sig":"MEYCIQCZc9GNsSCf0xMf8fvY1ZVD8GA01SnGTlHyqCdhXPkZBAIhAMU9zu9i30MmKZzsUFLm2eCIIb3iOxQwvJWKeVj9BfMz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":876270},"type":"module","engines":{"node":">=24"},"gitHead":"958332ca9c0ec016cda740543656832bebd86c44","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.10_1785826523562_0.09096156484460671","host":"s3://npm-registry-packages-npm-production"}},"0.12.11":{"name":"thincoder","version":"0.12.11","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.11","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"1085666aa95eae05987875e6c95094ca39242912","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.11.tgz","fileCount":154,"integrity":"sha512-aMNMv+xN0Ozksz0LOe/UVF3V033oLIrk3DnhhZs8pBB43OGE69jct2Gv8LakzcHRxGMm9baGiZ0vv0nOSPNPHQ==","signatures":[{"sig":"MEUCICvuYTkqdtryjlF/aMObmPxyArL6fnIgoWiQC/lUTxdmAiEAkR0BcIWDccrWN1cNwmXGfR3ACwC5X/DP7igtQrFrxww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":898016},"type":"module","engines":{"node":">=24"},"gitHead":"a61688660845233914bf328198a7ec8717ace2c2","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.11_1785835880013_0.45335680481290686","host":"s3://npm-registry-packages-npm-production"}},"0.12.12":{"name":"thincoder","version":"0.12.12","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.12","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"b401101ba794206c185c800c70156dde3fed032e","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.12.tgz","fileCount":160,"integrity":"sha512-9ay7Tnfmjnf5oP2zTs4dO59+cplaE3rokHbL0uJpefUXG2IE9Kh1gNu7tftCBBgNLWVV1DG/7JHrhDTV/I3cUg==","signatures":[{"sig":"MEUCIDqQtI3K9t40xftcP9Jv5vkotdeJT79NvuHxQGERSTGIAiEAmeDukFtrg6KdpgmlPuRieRDLciem2WEN5b7tbs5UotY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":971071},"type":"module","engines":{"node":">=24"},"gitHead":"1fe9bb9923d29f3f2ab64f831c221d660c097afb","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.12_1786012622847_0.7124999888236494","host":"s3://npm-registry-packages-npm-production"}},"0.12.13":{"name":"thincoder","version":"0.12.13","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.13","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"b3c52cb18e5576fbbae87f4cdb2fba3dba7d238b","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.13.tgz","fileCount":161,"integrity":"sha512-MG/Ak7H486vAFLNbYsKgOh7I3qzbOBamJYbFYDU2aIYn8ExgHXZ+SFIjWZu66zksf5A4oLpQS2E8ymYGyIzklA==","signatures":[{"sig":"MEUCIAiDeNWV3Nj0eHO89nN2Wl1UfQyfPzWFKWCwv2Tb6gaqAiEAtSSYfWstcpEtBAhPWDI5SkyrPH+pFSP038uuj/Lsf+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":983039},"type":"module","engines":{"node":">=24"},"gitHead":"35de0aa9f9083e71c60dda8e999359a45d3ec04f","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"12.0.1","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.13_1786164496133_0.2206458829707305","host":"s3://npm-registry-packages-npm-production"}},"0.12.14":{"name":"thincoder","version":"0.12.14","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.14","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"03a6fb24094f73bc01538df068dcd85695cce0a9","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.14.tgz","fileCount":162,"integrity":"sha512-MGNK8B5N/sqSRIVt5ud9zvGs6VGL3EEh58JHohAAFZHqqQMrY8nA4Cr9NBJqBlqSkupw6gytcr2Qx74OO3Vw/A==","signatures":[{"sig":"MEQCIC2yc9n+Vyb9kfENK1YOGx1Iw3cvNBqU/thlg5czee0BAiBPg9VeAVY4RXfR8gNRs5oLOYnlSDsSlzooFzYUseZj6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984066},"type":"module","engines":{"node":">=24"},"gitHead":"8056a46770551624a9e758813c3ed1f99974f6c9","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.14_1786356508798_0.4043995314256559","host":"s3://npm-registry-packages-npm-production"}},"0.12.15":{"name":"thincoder","version":"0.12.15","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.15","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"7ff641ecdfd14536dc1fdbf1f95890fd4f160bff","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.15.tgz","fileCount":162,"integrity":"sha512-Ywh0kgDqJZUUsWjNgI47Up3kSDH3UiUanWggk3sQ8gjPdrEVTW6xhlmDOUDEpyWTFITn6ivd+zIoMitRfR9o/w==","signatures":[{"sig":"MEQCIA6UsGEL0gWU2ZC2fclGvEsIYWfMjHtEZ735/FVUprB+AiASs1buFRcGE004lkpbm/LPe3nQ40mVAa9Lezs6MkMV9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984769},"type":"module","engines":{"node":">=24"},"gitHead":"f404994bac7478ddae24daeb787dd85fd2e56196","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.15_1786357760820_0.10115352590518278","host":"s3://npm-registry-packages-npm-production"}},"0.12.16":{"name":"thincoder","version":"0.12.16","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.16","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"f63db9159d44a7adb1131be2578f1cd3ab7bd545","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.16.tgz","fileCount":162,"integrity":"sha512-aM9Qvaexb4XKpQdwnCY1v1Wx4yv8BohlXjs8q1YRwQaKG4SP69j5n0pBw1tZLRu47I1SmyR0bJ5h4OXbGuduUA==","signatures":[{"sig":"MEUCIHLf3t4LVIVZjgpibbbDrVfymZfQzrJU6ualBRXQCrW7AiEA+40TlfBszGxkH7iV6v7NpTvp9jYBxMV1BsT0yiQRCXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":986152},"type":"module","engines":{"node":">=24"},"gitHead":"3caf44de075b385b631e5550879fd48f6c234744","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.16_1786361698040_0.5072513952755107","host":"s3://npm-registry-packages-npm-production"}},"0.12.17":{"name":"thincoder","version":"0.12.17","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.17","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c899bc60341413e327e1464462ff97c399f51913","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.17.tgz","fileCount":162,"integrity":"sha512-B7agr93P+e258FqwX+tSTxt2rsK+QHJh94bv3Eelv/pPWtyEVQIVoHuIRIvQQ9vK8/qTcOO8lfNixbE6ZUcO9g==","signatures":[{"sig":"MEUCIGaWG0wOvSEprZteRdcNX9deHNYiDYEfTuc+6MTr0CKjAiEAqrVgkesKE+QOznLfeauv+J9dRQe22aJBb8PnaSoKBXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":986482},"type":"module","engines":{"node":">=24"},"gitHead":"60113391c1d1d6b0dbc8cb19bf1a53f329282e1a","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.17_1786362018341_0.8785034553754221","host":"s3://npm-registry-packages-npm-production"}},"0.12.18":{"name":"thincoder","version":"0.12.18","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.18","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"9e303b1a41c356e791ce5023c6957c247244be36","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.18.tgz","fileCount":162,"integrity":"sha512-tNhylPEc+7h9PxgpM7aOQZwHd1J4zOztwO7kZafYyUUQ26yGz+al68Lt/qOi/d0j1joM2Jqe5poHO+cXNkmRfQ==","signatures":[{"sig":"MEQCIDvWpT0dImqfSxobn2apXauOu1FH/7MUtN9jCw53umySAiAtC2rziPK0S2Kkfg4UDkggRVLMf0M3vZsAem6/W2CSmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":986720},"type":"module","engines":{"node":">=24"},"gitHead":"95ceeb274fdbfec9a4ed92c1ee9f6555e1db6baa","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.18_1786362980375_0.8503701181600636","host":"s3://npm-registry-packages-npm-production"}},"0.12.19":{"name":"thincoder","version":"0.12.19","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.19","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"a84aae232333d914d4c2f8537a17e934070a9f13","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.19.tgz","fileCount":162,"integrity":"sha512-Xb5v0vCVpP25uopvZMCBqXcxHXF8fKr7+8Ax0WbfWp7C8+L4ryWU8QexVgoIdMxO7KsCD5D8sLNSnp1TfqZe+A==","signatures":[{"sig":"MEYCIQCbHmK7d5yL1FgNpps8kS2twN88T37w43Eeq7/d5gJAEAIhAMPjZUNwGkGz3qXjpiyGIK3RzuXOEdbEzlS70pIzcL5M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":988140},"type":"module","engines":{"node":">=24"},"gitHead":"162acc6af71548f3780f362e06fdba86fc51758b","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.19_1786441027439_0.8469603444584108","host":"s3://npm-registry-packages-npm-production"}},"0.12.20":{"name":"thincoder","version":"0.12.20","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.20","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"a23499cd5bf2b6c06de678b9c4b859b7c579451f","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.20.tgz","fileCount":162,"integrity":"sha512-jVYQZ+T1yatBmTWkSkcSjjf0DzCxw3m/YxYHhleduevJ5Bq5+eIYQIduQBeQYlFwk5kVTwZS+10pjXozuTROrQ==","signatures":[{"sig":"MEYCIQDT4sLur0SwZ0OYXIJDAo6njpc4C7qJHyRdgyrPI6avIQIhAKrmSlsrNq/02pPuBITx5owUFGmKj3NTGkGtH/HMLdLg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":994251},"type":"module","engines":{"node":">=24"},"gitHead":"443dced37732e5a196a2b0b4acf55dadd5722b69","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.20_1786623414378_0.6946478106568765","host":"s3://npm-registry-packages-npm-production"}},"0.12.21":{"name":"thincoder","version":"0.12.21","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.21","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"cae4df976fe54d41b7ba6ee806a23a52c223b41f","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.21.tgz","fileCount":162,"integrity":"sha512-LScbrNE+L/XNgJcJCVpd9I6b2wmCMCAJKV4CPKjUl5FauCvRa+Zi/U3T8pug1W+VYHakxbD5LjcWpR2xkkeXng==","signatures":[{"sig":"MEUCIHBRrIWdHSaR6I/IUH17JHHHKwEqJ+eLYFlLGuju/vGYAiEA2/x2U+CfA8kH3VEgmvafdbwirOqwkPFxojsHyp1PywQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":995514},"type":"module","engines":{"node":">=24"},"gitHead":"be546e87f42aceef16f54d7af24d7aa9d455233a","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.21_1786624286208_0.5974803316301611","host":"s3://npm-registry-packages-npm-production"}},"0.12.22":{"name":"thincoder","version":"0.12.22","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.22","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"aa1e759ca015385ccc31e4d45c656377c119a103","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.22.tgz","fileCount":162,"integrity":"sha512-s5nNGTaBHHI9je+Aspx8fjwQeu+BoAkAJV/U00/wMjG9Uk6vAJo7fGQOj7bYCLNbULPxvZ+03Q29TgJ9Hpi8OA==","signatures":[{"sig":"MEQCIHhYxilg6uLNxP7lM7INzctX3jBA3pq1RuEKrr3DGqjHAiB8m7/B2TEqMNNg+Mk2mvTzsYEOdO3tMH1KeTDwF/tKyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":999197},"type":"module","engines":{"node":">=24"},"gitHead":"e2d96d6c5ff9dde0f18fe744337e4728b77816d6","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.22_1786634289958_0.25642341315175354","host":"s3://npm-registry-packages-npm-production"}},"0.12.23":{"name":"thincoder","version":"0.12.23","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.23","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c6b360308c2af3293f7f0d2bfee49293eecdd5a2","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.23.tgz","fileCount":162,"integrity":"sha512-aZeOTt/T6NAmsJ7AIj5XwRSiiRYEPQB6lbN3Uak+R390BCB6dnqEL8gFTQ2h2in6HQkeDDztig3DM2oz5Hu9lQ==","signatures":[{"sig":"MEUCICzTA4MYkKZDpy9eGtAxGqnaswiLR/+cS1+LULrDpicbAiEAxRmZCu4mcEBD9Qyrqf5d/o0swmgfp5A3HLvoLY5Sw+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001542},"type":"module","engines":{"node":">=24"},"gitHead":"737e990e9c32d2b75b82ce93884ccdbae5e9361a","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"https://gitee.com/shanghai-xinbo/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.23_1786647388156_0.6869131387387635","host":"s3://npm-registry-packages-npm-production"}},"0.12.24":{"name":"thincoder","version":"0.12.24","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.24","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"e97c50e3b603c8bb95ac49e46faa19167a8887fa","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.24.tgz","fileCount":162,"integrity":"sha512-K188C4DNMgVkYDxrl/MR07tyjawoIZEIV6LIzMVs8tzFGAOryF1KTwpMxmBoqB+aAHNra+WRx/jg+Ue8c15WHA==","signatures":[{"sig":"MEUCIGm2iPDL8+WZMnJkWP+MzddiNkqr6QZacevO+M29qEz7AiEAiShtYNMSxUVhofedI9Le/X+yYhtdEB3zJ5bXKS1h5pQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001152},"type":"module","engines":{"node":">=24"},"gitHead":"498d9ef4628fcd3b6086f063862a39f5bc35bfe0","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.24_1786723717582_0.34351218007122153","host":"s3://npm-registry-packages-npm-production"}},"0.12.25":{"name":"thincoder","version":"0.12.25","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.25","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"d0f32943196f9190da2d87e7010aef7f1fa217f1","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.25.tgz","fileCount":162,"integrity":"sha512-nNV6+GxliK6LGTV/ovhT7oVlTtEc6ArNZjpilwAuwM6AvEHQ4ZofAHtajFcpJSGAet2RHSJzrVb4zcLHk1vIWw==","signatures":[{"sig":"MEUCIQCQVdju7Eft5oCDANOZOUu/6rXXaO0+ClojCsBIqASurAIgOxYIHzjBVIr8OYvJYLoWrx2dlA43h9hBkHMYUjFt5/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1002032},"type":"module","engines":{"node":">=24"},"gitHead":"5feecf96fb55932a637a0946457baf23653dad4e","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.25_1786793269217_0.3009503370423141","host":"s3://npm-registry-packages-npm-production"}},"0.12.26":{"name":"thincoder","version":"0.12.26","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.26","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"815cf29d870f1418f2d7a7a8a759736c3b14d5d2","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.26.tgz","fileCount":162,"integrity":"sha512-4akPRLg6Q5pQiGmGbBN5Agvq7K74Ymvt6XdRqga/Gbi1uQSPqqSEGzvdhnIk0fFW1lb4wUErtb234Oil/4lEyA==","signatures":[{"sig":"MEYCIQCFC8+EvFadT/auXmAg+DyhlBApXD+5ezsFzWEeHmGuYQIhAIgKlzEw9Das2DFGJbnuLEuw7C18WMy5VecF+3ReVfcF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1009208},"type":"module","engines":{"node":">=24"},"gitHead":"9231dc97c2d1fb2bb1ec5b8fac9c932b77418c9d","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.26_1786794999203_0.3163244297343062","host":"s3://npm-registry-packages-npm-production"}},"0.12.27":{"name":"thincoder","version":"0.12.27","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.27","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"910dc24501eafdcc67b16f3ac78620623c749d1d","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.27.tgz","fileCount":162,"integrity":"sha512-foNNUOPoiTHnuqCsy4ym8ACnyKbIoBDAjgtlGUOuhNErQ+nUgIjBjci3Zyfp3o2peN47GTGnJgh0dOsoC36JCA==","signatures":[{"sig":"MEQCIB3f5WJfTsKJCASQirYoBvC2L0Fa1h25YDwJ3YQ8wOVaAiAGTS1YOVB0jB26tygDNz/tN8Mt5qpiYwZI1nV8cCaQ7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1009165},"type":"module","engines":{"node":">=24"},"gitHead":"dda2b528abb208c73f21411d99d16c21ceaf54ad","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.27_1786806846687_0.9469896501256512","host":"s3://npm-registry-packages-npm-production"}},"0.12.28":{"name":"thincoder","version":"0.12.28","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.28","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"ebde2b16f90794de0c3372315f16d3ad71312f4d","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.28.tgz","fileCount":162,"integrity":"sha512-XO1kF5EIZ9FD9y6D6Fni3wRLwhaqW0SVd1mvlCFxTtdGTqCCdO9+TP/w0TtKWbCkvhe6N0eTdtcgBbjmRs8Nog==","signatures":[{"sig":"MEQCIHWjjJQ5zG0RkbvJO1vQhC7m98u4UFaiUhg3jKfbmFXOAiBBpVOMbe6t+BoZiA1DZRRnOnMSn7NEH/mteNDJV+rtEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1009964},"type":"module","engines":{"node":">=24"},"gitHead":"9c1ccde839baf9f84b34213f54acc9a13a2c5ffd","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.28_1786853912289_0.9333594754988201","host":"s3://npm-registry-packages-npm-production"}},"0.12.29":{"name":"thincoder","version":"0.12.29","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.29","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"cfa18ee1f17fcf125215f5893e6dc3f1b9f8e410","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.29.tgz","fileCount":162,"integrity":"sha512-3rSWwUmu5sUwqHq08mULgmZJUiOoXZEv5zz7pjFDvU2DoGX48IEzyrR8k+0oW2HIfpWiz7jZqA4BkMSydOk2XQ==","signatures":[{"sig":"MEYCIQCBvx7jstZgasXE/WLSilisfEgdAEYwQ7acChN3Qd7hTAIhALOtktOngTDTkiuEpXHHXUdPvIT4N2Vjb5Do+zhDgr5Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1011115},"type":"module","engines":{"node":">=24"},"gitHead":"83e6ea1f90f154983ad6df339ee580354e27d8fe","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.29_1786859230199_0.8365415934774758","host":"s3://npm-registry-packages-npm-production"}},"0.12.30":{"name":"thincoder","version":"0.12.30","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.30","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"a7a816e22dc6a318387c84cbc2c42dce05b4629f","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.30.tgz","fileCount":165,"integrity":"sha512-8Y+tGv+RY1s7h4+7zTZUaxj49hqFqofdHIujRxTCs4sE65EmDuInspl/vOXhiQ/ui94u5vvvoho1hV3SAyJBeQ==","signatures":[{"sig":"MEYCIQDVlo+eFI70UWjyUKyWAs7YJ/+rlAEcEWu6qGJzryRWRgIhAOostTOzrePuNc28roTA8HhdlSMXB2YcX598ATbbw/yn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1042101},"type":"module","engines":{"node":">=24"},"gitHead":"866b24113fb64ef9287800d2749b92673d698714","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.30_1786861787110_0.7857920825528331","host":"s3://npm-registry-packages-npm-production"}},"0.12.31":{"name":"thincoder","version":"0.12.31","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.31","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"8dff0dc9d2400d5cbf5bfef5776c915d3d13b4e9","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.31.tgz","fileCount":165,"integrity":"sha512-uUPQegkW2mTaTV0IhakSt1Wih7kWsAkCvCgpZE0HL1VRiOyvCyCxQ4MbbvPCOGFGxx8tUNJ6aB752hBUXWcpuw==","signatures":[{"sig":"MEYCIQDbuWpaZ0ohblj7OLmC2+5uuhs87RIKNOpfemVNn1HikgIhAMKoKrINCuTDkZ/st5p9UiMR6VPqB5Tt/fZ2WKTQ5VRH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1043516},"type":"module","engines":{"node":">=24"},"gitHead":"3d6334b3f1e86e1083535798bb3b861e222a7025","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.31_1786865107558_0.35188577936408927","host":"s3://npm-registry-packages-npm-production"}},"0.12.32":{"name":"thincoder","version":"0.12.32","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.32","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"b17f7defcb5a2d48dab210e745a4062f481dfad0","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.32.tgz","fileCount":165,"integrity":"sha512-Yk2/l4wupBSWJ0NDiOpQi1GG//f5wasOLAK5j9SHZ68geRCXzGBdMT3inqRBak2KaipkQdP9JBpIG0puovQj/w==","signatures":[{"sig":"MEYCIQC1wk0H2x5lUIr5yJT73/tZjlBuemF9yeiMlOnakl+jXgIhAPCzNc/IQ21yJ9zvYqypWozQHjPJs7wGkT+P8Zgga9+d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1048021},"type":"module","engines":{"node":">=24"},"gitHead":"3d6334b3f1e86e1083535798bb3b861e222a7025","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.32_1786868206179_0.47203094615525076","host":"s3://npm-registry-packages-npm-production"}},"0.12.33":{"name":"thincoder","version":"0.12.33","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.33","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"715078e5b518e9a503538ea4b06b4254c3bc032e","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.33.tgz","fileCount":165,"integrity":"sha512-Qde7z5Bxh27ibWBIeQfw+UVxuhJjMMjZvvElZjxhY3rmqmlQ2E5bPf3lEuOkYDIRTEt1kLWBS+8rnPhB2m/4hw==","signatures":[{"sig":"MEYCIQCM1UZigiXoiU5K13nUygCBiGzc4H7lSP/0LG6ZNzyR2gIhAOESVMKM1Rx/Oxf2pIjF3g9dsNd24951nbhqr+fuI1oJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1049454},"type":"module","engines":{"node":">=24"},"gitHead":"a87723c8008e572bd886a9c8bbe3e4210261f2dd","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.6.2","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.33_1786973286738_0.40493752795384697","host":"s3://npm-registry-packages-npm-production"}},"0.12.34":{"name":"thincoder","version":"0.12.34","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.34","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"e84de7a74dbc0e32be851f2443bc73b5ca9e1bc8","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.34.tgz","fileCount":165,"integrity":"sha512-TQnXJCJ5qJdt4f6k7OKntGNycFMy6I4xHlrUlI45F8HZmM+DsYlFL8IBUktusDWqDjnn/M92/ms9mnB6FCQilg==","signatures":[{"sig":"MEQCIAilTdmq99UpzWkfUKf7w+qFJpc8/32NvswNyQebRT00AiAx999Z5OdaAwKWzmtXrEtnTFSUCnxeM0eQpSZu66J1Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1051926},"type":"module","engines":{"node":">=24"},"gitHead":"03aa98811754de5d8b6f7e751cb32f58820aabc4","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.34_1786987928216_0.15324256164087258","host":"s3://npm-registry-packages-npm-production"}},"0.12.35":{"name":"thincoder","version":"0.12.35","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.35","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"eef8c443a966afeba0a44102ef6f981764a80f95","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.35.tgz","fileCount":165,"integrity":"sha512-0wR/JaV4hWfo3li6bDNIdruNJnlnerynUhtGhrXPr7dSkRKZOlPnmBbfAZtsnO8QhFyedjSshzsbPBosR86FMQ==","signatures":[{"sig":"MEUCIQCeQR4Ozvyo+w19EPR7Zkx0xODCL3Zd7R638DgZ574e2AIgPTdcBM/XPTCg7SH3N4NKoB7u5Hc1tWKmE2hT8fvNPuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1055345},"type":"module","engines":{"node":">=24"},"gitHead":"4d88146999204f542be13fd6eea6ab54753372de","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.35_1787310477756_0.10565361933099604","host":"s3://npm-registry-packages-npm-production"}},"0.12.36":{"name":"thincoder","version":"0.12.36","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.36","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"849c2b5e68f5c9d64cdd0c899a4e56af84cce2fb","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.36.tgz","fileCount":165,"integrity":"sha512-5ulNoT5xNaRLJtRzi3fZITMnyZs52iTKPq5Kidbq/B39fJAj4+AFq6KKAnbjjpLzbFgcgPUAwe2FcbNKMO+Yow==","signatures":[{"sig":"MEUCIQDcNvP/NiDGjiYZR2w7DrxAZOSrcLo5jrQCgL8DdHDpTwIgTN5IVZH0lU/EVOi81xl1ILXNuZNGgfCvEVGEaLNjWyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1057180},"type":"module","engines":{"node":">=24"},"gitHead":"1220b84c155386c459339de627dbcdb83fb96517","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.36_1787337769622_0.7556316701551977","host":"s3://npm-registry-packages-npm-production"}},"0.12.37":{"name":"thincoder","version":"0.12.37","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.37","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"433fdddbfe89b3639d157e3d11fca67c8e0c3457","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.37.tgz","fileCount":169,"integrity":"sha512-9zfjjiEDC85XDZbMmpYNbtGMaF2JkJjfaHcQy2dnmcK7WEW85LAVjwC2rSxShRX2cd2MMaPRayO8ut+BxuJryA==","signatures":[{"sig":"MEYCIQDMvF+niPXLKJBhL6bRMhK/6MDVizQzqwSuTZgH4ejMggIhAMIRBME1EZSltKfBMScwzopDFGGHXTs1LA2AYRSAvk/z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1080000},"type":"module","engines":{"node":">=24"},"gitHead":"b480e34db88280f46659272d25d64f321e16d1b6","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.37_1787409572347_0.9977405675024675","host":"s3://npm-registry-packages-npm-production"}},"0.12.38":{"name":"thincoder","version":"0.12.38","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.38","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"ba7e0faaf308e5039f5cafe9c7e005580ccfeffb","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.38.tgz","fileCount":177,"integrity":"sha512-66oBu/X9tx7oqwxJmcSvOsl/2XMHbzop8MVecSz5jXcCspDLeqLfdI8D8rTEBZBJgiujQNpp0x0QsgynuMsJbQ==","signatures":[{"sig":"MEQCIGHFX4BIZ9QzGTDiA9YN+WzaP3uGdWXdcK3I63LHoPZZAiA1Ab1EPEcehmaXTIhG28adWoNhgTTEw+R8Q9126iii5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1105660},"type":"module","engines":{"node":">=24"},"gitHead":"48e5c9ff58d86394c8e4c920777073fd0e860dbe","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.38_1787452812471_0.319713410590573","host":"s3://npm-registry-packages-npm-production"}},"0.12.39":{"name":"thincoder","version":"0.12.39","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.39","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"9947e54e5537c0ae50988a53e0c39b4b7756083d","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.39.tgz","fileCount":178,"integrity":"sha512-rSWxk0iG+doOsbtTOZ8i8nw3073tsYZRQMAneUdmJiEjf8/SZMn1mJggKKGOK3AAy9wAx5Pz5JaDhHG+IKZkrw==","signatures":[{"sig":"MEQCIGrOw2s/KzI1iw/qvOYZ57F/1Cg3nF4XsCPYgYqPnK7wAiB1OrypjkyCM3UXwhSVIHTEJ5pSWImVbHhMnhhKxdNHng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1138854},"type":"module","engines":{"node":">=24"},"gitHead":"2d59a0664288880bb622d0232559aec0d441cf46","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.39_1787466201003_0.24258814178811328","host":"s3://npm-registry-packages-npm-production"}},"0.12.40":{"name":"thincoder","version":"0.12.40","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.40","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"4ff32dd5a07efc86b9168a68318dcfb294b9e1b7","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.40.tgz","fileCount":178,"integrity":"sha512-ri8Y025qO+L08EKfrVdve7WHX4gicowpuZTkJzWajch+/d2dVL3M16UoW8QRc5+Cg23jBWux2yqENrIIaKeG4A==","signatures":[{"sig":"MEUCIQDTp7Bi1wpXO7Kn/pdtd3FWqZSdy+BaqCjbsUPqre+YwAIganmjbIwqz4V/IiEWsZFaX/YV0apwLuQCDdBV8z4CVNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1139752},"type":"module","engines":{"node":">=24"},"gitHead":"e1ffbcd17d65e94656d355754983564571ea603d","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.40_1787471016787_0.3646342932557858","host":"s3://npm-registry-packages-npm-production"}},"0.12.41":{"name":"thincoder","version":"0.12.41","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.41","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"13fb9c96dc855ae186f7e4fa771bb61912ea88a2","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.41.tgz","fileCount":178,"integrity":"sha512-9e0Mkxoi6xoUgFaJ8LUZiIxblQeOIX+XYl0yThQARFkkiQqHakVX88tS/t1Lt7W9uf04AIwgsmQNmLEx9QG7ag==","signatures":[{"sig":"MEUCIQCC5WQcO5hWtmmNEbF1DvJzffWsCXYAsTsKV3NHsYd+2QIgLzAKITzU7gXkJoLiu6a5aB/+62g2i6w2kpiNs1iqJl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1160818},"type":"module","engines":{"node":">=24"},"gitHead":"26627e3cdb6ac38984456db10dfd49bb2f2c8341","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.41_1787481071643_0.503723014927179","host":"s3://npm-registry-packages-npm-production"}},"0.12.42":{"name":"thincoder","version":"0.12.42","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.42","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"8fb11a3f60214bb6521130e1e2719dedcba1de8f","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.42.tgz","fileCount":178,"integrity":"sha512-UmHKfQr96EZjQxmcy+2J9UmIpU9EWIgA3AZiVyqXnMFJ/4dz9cgmrgNc2nQUgzDbtAzI8cjDdKwglFhLQI/FMQ==","signatures":[{"sig":"MEYCIQDLQ73/0dJoLmCT364NCb/pjKkPAd0yMDrt2MgvZ3qEMAIhAMjp0UhrACoOpuS4LInzJ5DV6eabclxsF4wjgJGG2trx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1163048},"type":"module","engines":{"node":">=24"},"gitHead":"92fbf7b8b27bf3f9a0e117edd598bc0cc5af303f","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.42_1787506556212_0.43266005995275325","host":"s3://npm-registry-packages-npm-production"}},"0.12.43":{"name":"thincoder","version":"0.12.43","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.43","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"5b0895961d1b6fa99b720229718f2bcabef4abcd","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.43.tgz","fileCount":177,"integrity":"sha512-uxzNpPI9H++sFuZCHKfbqELFgoOofpBV5zg0Lil0d5Lo/EjqjqTPn6F/cO7LX6s5jeMN5NqUQf17RAdL9Yrcnw==","signatures":[{"sig":"MEQCIEKtNK6m4B9EdheZL/VbLYOapHbGhsgPsTGhRvlVjK70AiAuxKl1jr+MRuel5mZl04gNgNJBFO8i2Es/M93EeFDzyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1166619},"type":"module","engines":{"node":">=24"},"gitHead":"64b4049138e01e826bf22df757337a29a065d283","scripts":{"test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.43_1787595731546_0.19291376564189133","host":"s3://npm-registry-packages-npm-production"}},"0.12.44":{"name":"thincoder","version":"0.12.44","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.44","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"34ccf65084b758d410a3f58cd2b8af036877ddc7","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.44.tgz","fileCount":177,"integrity":"sha512-WGfGlOoYHbI3UUqol5xAh03MfNXKRu76rM5hswFCYLR9JTCQpuIpbBOpckK1uZWNjxwI1TMCMNVLfk5LvRFiig==","signatures":[{"sig":"MEUCIQD/ZXaUKAzxv9mTq8qwMxZWmxWajbywmIyDck6cYiDR+wIge1o1sh6RTHnrTuCRvHnxb8gbmSUCI/8KLT1bBH235a8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1168647},"type":"module","engines":{"node":">=24"},"gitHead":"68c608ece38fef76d564c294efbb5c437a261ba9","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.44_1787599733964_0.43103318397312584","host":"s3://npm-registry-packages-npm-production"}},"0.12.45":{"name":"thincoder","version":"0.12.45","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.45","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"11c85fa3067327c5bc3d29f5a4ecfc7b2b512fa0","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.45.tgz","fileCount":177,"integrity":"sha512-PHV/FPKvtluv7qO2S8kxB547qqkm0QDn/nyuCDmeZHB/8tpEN6MSixV/o4WpTI8xG1H7arIwBKb14GQwX9W9GQ==","signatures":[{"sig":"MEUCIQCafm+niRUKSx1X7RE4ZQdHFw+2JIB1yHb626tyfYg14QIgPdJe3yoKwqgoKztvXTcGmScAroE48dAcjnpXCEFUtq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1178496},"type":"module","engines":{"node":">=24"},"gitHead":"64968953ed6aab4b2ebebee355dec09edfa066d2","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.45_1787692142444_0.2669945042854598","host":"s3://npm-registry-packages-npm-production"}},"0.12.46":{"name":"thincoder","version":"0.12.46","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.46","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"26a8dde3faf1f08986071c5321b68230c20827ff","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.46.tgz","fileCount":177,"integrity":"sha512-B9FPA/++3zUX3+F7VV1UUd7VVAald7CyzUaKjgOAfmEfx2uoFZJgw4NLarlhqLwafihqAG9GQjmifsd7uVM46Q==","signatures":[{"sig":"MEUCIBe56uYSeuc0R+UXq0PqAkW/hDc0ROiP4wxNQDrWnYfBAiEA5MfeoYXVQ5LMT14AwJP/CW7Y5WvFJA3W5m9KSTxiRR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1181517},"type":"module","engines":{"node":">=24"},"gitHead":"8b11581082b9c1cb5438ad032b5acbcdded04a65","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.46_1787827553581_0.7883297995975447","host":"s3://npm-registry-packages-npm-production"}},"0.12.47":{"name":"thincoder","version":"0.12.47","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.47","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"96f73ac79e7ec68dad52842d700e857f2bc42564","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.47.tgz","fileCount":177,"integrity":"sha512-GJ5dCkecjJ1dp1QdkLI3L2uv0ER3RIhGlnkgVeC03KVu68A+aItrqV2mIdfEoEYuOwpft36T4oFJ3DY8h8uNwQ==","signatures":[{"sig":"MEYCIQDsHKX0B+prQaN9Y2zExkb/8kcnEW+wMCZlStJSoxtpuwIhAK/jwdE9gSNdt4QgYmPOYY/b2yFWDddaZMEXz/p6vgHO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1182058},"type":"module","engines":{"node":">=24"},"gitHead":"8c02aa77c08e701327dcd7a93c46fa9dd82fe5f4","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.47_1787848430946_0.056476735693359315","host":"s3://npm-registry-packages-npm-production"}},"0.12.48":{"name":"thincoder","version":"0.12.48","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.48","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"bafcbc40693b0ddceda3b96b61b9d2543c926354","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.48.tgz","fileCount":177,"integrity":"sha512-4JZIOWMDndjNhcZJqaLd7RNJP5C5vIvqmarakILd7SGod3P7oAtT3sKI4cncb60IVs7U/G1tEJqdAvDiGn13fA==","signatures":[{"sig":"MEYCIQDSCesLuVr1te42aTkcfAXtxkz8GtXU30/BlZ3PM/BA5wIhANvUxol5j5i3Cd82F7MvvqNMwPHCVcLBS/XnuD02L4iQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1183130},"type":"module","engines":{"node":">=24"},"gitHead":"248f968f9902e8239fb31bc3237cfdd607d17c9a","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.48_1787908358282_0.2133853364869287","host":"s3://npm-registry-packages-npm-production"}},"0.12.49":{"name":"thincoder","version":"0.12.49","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.49","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c2f224486283856fc1931369ad1196326d7ccf41","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.49.tgz","fileCount":177,"integrity":"sha512-EnnAc3WRcq2DRq6xDz/gElg5Je/ch/3GB/qBPqJVwQsBxBwNrEIymwEPKjSB5rdQImt+o94v0QLZNWg45xix1Q==","signatures":[{"sig":"MEUCIQDcgzIRQjq2nT6D6XV2zqstImX163eS1LAGnzhdq6y5fgIgZ6bJ3Z6E20EV+eQFNpw+8KWhRwVPBYhIamSkkGXJUX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191273},"type":"module","engines":{"node":">=24"},"gitHead":"44269ea51bef74192bd51ab968748e370371c85b","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.49_1787990184821_0.30024844405463336","host":"s3://npm-registry-packages-npm-production"}},"0.12.50":{"name":"thincoder","version":"0.12.50","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.50","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"4828f20ffe3d1755ca9e5f176f3f0310f06a3299","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.50.tgz","fileCount":177,"integrity":"sha512-ApVSSuPpXwIcZQY5KV1gD86bAczNcpjgWkUTu2Ugrli9HwCsl8HxWpeYTcLkaZdp85a1yz5nWKtlcVOnq0FDCA==","signatures":[{"sig":"MEUCIQD969f2YsPnEkxU9magmXoYqFL+qcZ5oSTIdSuPmtlzzgIgP7YFB96PqhEsE5kTckhksV9xri/3vb9QwAde6uoW+60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1198936},"type":"module","engines":{"node":">=24"},"gitHead":"cedb23ad494650488ae1462ad3154f58d32e731c","scripts":{"lint":"eslint src","test":"node --test \"test/*.mjs\"","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.50_1788003844275_0.009133080557818252","host":"s3://npm-registry-packages-npm-production"}},"0.12.51":{"name":"thincoder","version":"0.12.51","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.51","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"45e05deadd7026fdef6b6789085526867d37aee0","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.51.tgz","fileCount":184,"integrity":"sha512-2OiRxxykQpdEXiS8y3ZoZHiExVBH3RJ7RVItLtc4zwIfEO9pD6JK/1r8bZAqk625Onew8e/ouE1R/Gr6qlm9oQ==","signatures":[{"sig":"MEYCIQCh2prddtNID7C/G2n5z3oDpibP26Jl6eQEeDuPvA+I+QIhAJ33nJKNm0ujx1Iy3KL/cd262Choidpr1ccruur9b5+3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1288213},"type":"module","engines":{"node":">=24"},"gitHead":"84ccf9095ae79fb5d19196ce58e02440a0482446","scripts":{"lint":"eslint src","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.51_1788104789847_0.8085854792691038","host":"s3://npm-registry-packages-npm-production"}},"0.12.52":{"name":"thincoder","version":"0.12.52","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.52","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"59151b35f5df02304cbaf082dd31def8bf806568","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.52.tgz","fileCount":186,"integrity":"sha512-bO97S+hwAlFK9bapGWo+Db0H/pUc5CGbOmDl7McO1JztiXNpFfceIcZm0mAwXccOd5W6S8Rtb7OIk2XdST2++w==","signatures":[{"sig":"MEUCICl69Qx+CNy9cwALWpoCZn7VxXyTZm9f/48tDcuGFqx7AiEAn2sGR1kUsq75dzWUjvbeMap7rPCRlWPHqEBF/EVhgIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1291561},"type":"module","engines":{"node":">=24"},"gitHead":"168287fd843c78fd838209c0a7d7253f69456579","scripts":{"lint":"eslint src test","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.52_1788117067528_0.8270662925289582","host":"s3://npm-registry-packages-npm-production"}},"0.12.53":{"name":"thincoder","version":"0.12.53","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.53","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"cc2a4e70355ae5e91c953d16ee6657d26400ae95","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.53.tgz","fileCount":188,"integrity":"sha512-1kdtNaWEK6V3JeVyw6ZZxm+FmIxiCsxPGy4EnL7kCToCZdA2vTLv7j1McHy5cZlg22XLC+8pZ9NPYY1sfB1rsw==","signatures":[{"sig":"MEQCIBhsCJ3D8dj630RpommFy6AhH5dWc2RX+g4iUtofJo6jAiA1rgpQxI20Ceb6oUKC/9m0uChaJAUNz4i+23/Xhu6zKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1385075},"type":"module","engines":{"node":">=24"},"gitHead":"69f0b6cd6e9f1c749c76e64ca3c5d235ecae5761","scripts":{"lint":"eslint src test","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.53_1788173458733_0.9015640610800435","host":"s3://npm-registry-packages-npm-production"}},"0.12.54":{"name":"thincoder","version":"0.12.54","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.54","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"187712c487100a9c7d55049bf38dd09bc259344a","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.54.tgz","fileCount":193,"integrity":"sha512-bU9I0Gw2jUfB90NYBTIAw2dH+tjdYghBM96fRC+zA9jAV2++u7lNYPjRHONsZLQ6NPNMyWj2F9TJV7x1J+MlyQ==","signatures":[{"sig":"MEUCICR3d3ggKeuNadBy0UF4iQavtaTF5M9tX3VfyOWcFcLuAiEAuLF28gLb90VKuRRzU8Z7R/No3jO20LRkFLJriQDAbsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1443959},"type":"module","engines":{"node":">=24"},"gitHead":"32f8161a81736dea0420e6dfdc1575a01614e1c0","scripts":{"lint":"eslint src test","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","@eslint/js":"^9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.54_1788217809642_0.18324099413178563","host":"s3://npm-registry-packages-npm-production"}},"0.12.58":{"name":"thincoder","version":"0.12.58","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.58","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"cfa6cbd72b91e35b5eedfcd82b2b76b62bfe5c3c","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.58.tgz","fileCount":196,"integrity":"sha512-+X5GQmVwF5qMx9m0V2P0ZL9A6nYGs/2HCUapQjxEa5Jr59kyF0PxOJKmWcqdLmGNGwihZIDTsvNGE2Oz72YHgA==","signatures":[{"sig":"MEUCIQD5P0Y7/xJWpGXNdE9XfHQ0ZWaa97YjBe/g0gktEQ9+tgIgck/DxkT6BePagB/85fyr7QtZl5s0BQV7DOy5PY04IXo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1551258},"type":"module","engines":{"node":">=24"},"gitHead":"2e19fde50e19e2dde3c663c7330754a933f974fc","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.58_1788307362483_0.11576355042454423","host":"s3://npm-registry-packages-npm-production"}},"0.12.59":{"name":"thincoder","version":"0.12.59","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.59","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"6e5daec29850217acb211f6bc2e62da7822fa5bc","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.59.tgz","fileCount":208,"integrity":"sha512-7Fp1B+dATtV8gPWUcKbNIJpGZ6+ShXASSBm8KrmHilf0bx8e7IhvOq8nYufNNxu2I2K2ND0phrWNQGA+p4ZJ1Q==","signatures":[{"sig":"MEYCIQCHQntRqoJrL5lEg9hF154invIH+SWqRtwqaYv7aAzZUwIhAMalKEysi5xAdQu7/pe9I64d/0EQlFv6ZC3Yn78ZMVoY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1930808},"type":"module","engines":{"node":">=24"},"gitHead":"821afe106e7c35a852b6228aef5f2e29fea5e3c7","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node --test \"test/*.test.mjs\"","test:full":"node test/run-full.mjs","prepublishOnly":"npm run lint && node --test \"test/*.mjs\""},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.59_1788576266291_0.09934723098715725","host":"s3://npm-registry-packages-npm-production"}},"0.12.60":{"name":"thincoder","version":"0.12.60","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.60","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"5356b0f3c14bb1643cb3386b8498df34909705df","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.60.tgz","fileCount":231,"integrity":"sha512-btcWKaAs4JkpYtNJAYdd8BC2m3YfU8+5aOlfgMO3EpYAyePg7CTjxfcpysbgBEMMMd2v4FmR/T+25oFJClXBkQ==","signatures":[{"sig":"MEUCIQDt4l6vU+GP3mOh+ynfdATKc2yXT79cjH/qAOfcjgQxTQIgCjDhS+uwgZMtqDQivSbRIaLn2vvDnIwnuQLOkwoYEIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2168590},"type":"module","engines":{"node":">=24"},"gitHead":"64d38e0bd5dee5f56a947bb0508968565b595be0","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run-fast.mjs","test:full":"node test/run-full.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.60_1788829439597_0.9438005719659184","host":"s3://npm-registry-packages-npm-production"}},"0.12.61":{"name":"thincoder","version":"0.12.61","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.61","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"13a39f5095a57765c31b21a984b608833e9638e8","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.61.tgz","fileCount":253,"integrity":"sha512-jdn3GgcokeP20/1TCCnmabQo7L7x1eppAyzTkhoUXejPssxzzxK6WmbyZGn2EXZnqd4fp01gBmT+L0NsMIAEAA==","signatures":[{"sig":"MEQCIGfaM+FIXqvcvXAUfEuPNaLVfNXdinv7wnsesEjM0/ZgAiBioqFYytaye763x55P88lyaboyjtpFN0MRI7TO7QMy2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2384073},"type":"module","engines":{"node":">=24"},"gitHead":"106d6bda8fb8bc2451a9d365758434832eb40968","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run-fast.mjs","test:full":"node test/run-full.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check","test:integration":"node test/run-integration.mjs"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.61_1789127933692_0.4628102481872076","host":"s3://npm-registry-packages-npm-production"}},"0.12.62":{"name":"thincoder","version":"0.12.62","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.62","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c04ce2fa8284e9273424fdf86d27ab193b7dfe29","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.62.tgz","fileCount":261,"integrity":"sha512-Kf+SUyRkR9bukSLIAu+VFnrEBk33tIYDR5FOloPYsofzGXrtL1rb0nrQ20rvPdq2RisQCFod3+/GaiTMBAT8vQ==","signatures":[{"sig":"MEYCIQDp4LMM0EOFGgpYyQyrgcY2NtgUcvwIc8jA4wSJ+d+CxgIhAPj4a+wQ/E0TMJSTybyiRGvEpJYxBje5hVfQA5WY+CO6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2485637},"type":"module","engines":{"node":">=24"},"gitHead":"2d3ffdb4e985cf547942232350fa585ac4098cf9","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run-fast.mjs","test:full":"node test/run-full.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check","test:integration":"node test/run-integration.mjs"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.62_1789260522901_0.009195489427481274","host":"s3://npm-registry-packages-npm-production"}},"0.12.63":{"name":"thincoder","version":"0.12.63","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.63","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"c170e1618e4d91f6318c72f30ac6ad82c0ca7c82","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.63.tgz","fileCount":94,"integrity":"sha512-0LVbzwKPoj1ewtSsu96yvmStYPJMT5bfg8HA/xIfx3mWQqV7up1zdRQ63C2qpgf9ZK2RRZFDLW2+2M6ziLXx/g==","signatures":[{"sig":"MEUCIQDaV+6ils0ORKlr02rY9Td27jgpAswr+EugYg62Sf8/xAIgInPEKJ1ExT1ekYRmQG0AeGP9WHOcnMIVG1zGALWX/Mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGCZ2UxMtdSvMhZ5Zujq+GeNdHnS9hEbaOogpDC9gCTAIgcxK59kl2lnuUCa67U2MRqYXvrWNaDGuJng0890W7O6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":879724},"type":"module","engines":{"node":">=24"},"gitHead":"2bbdf7fd492ebb7e8e394f908fccfa15e51ea21c","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@thincoder/core":"^0.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.63_1789920613692_0.057994767863122076","host":"s3://npm-registry-packages-npm-production"}},"0.12.64":{"name":"thincoder","version":"0.12.64","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.64","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"55128e2cb4b8811b5e8d85ada9fc67d2a11adba6","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.64.tgz","fileCount":94,"integrity":"sha512-BCKoHxHMCVBv/POisi0iZ2OUW0NYJEjNG4+IJR4PUXsKrL7XhupnDZsDoYF9KP3LhzzsboNHM16mbqroLz2aLw==","signatures":[{"sig":"MEYCIQDADLMBSoed0bIsnLqNCcKsW7Zi+PEIt5ab/XL1fk3crAIhAJEQylX2+uaBmIAZKVosasq0OJX/JFHgvIX3dFJaWS8n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBKthcPpm+RcJbuKQM8puQ0oHOwOJu0qk2SxCjMi7Ri2AiBWuM8yky9t4nvPbY40E6lIGWTYCi0l1DlevBc73rsZkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":884962},"type":"module","engines":{"node":">=24"},"gitHead":"2b3d3cbfb397e81a7b2db3738a8586e01abc1766","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero third-party dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@thincoder/core":"^0.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.64_1789972633260_0.8799727308930607","host":"s3://npm-registry-packages-npm-production"}},"0.12.65":{"name":"thincoder","version":"0.12.65","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.65","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"6659b7faf6456b54d34c84c0b25044491b844746","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.65.tgz","fileCount":103,"integrity":"sha512-q7Ql8b/wqlCNKWpcw++5eOOlzPNc6dWC6QW2fi4Mu4s/16i3DteXGPGga6/MHyuUakWxXSkVDkZD6e9TCL8qaA==","signatures":[{"sig":"MEUCIB23VJlqvi46HeNuYJhvk6DGZ/qpHWPJh/8VFGkLs386AiEAznUZol4Labc4AjB1AvTdjwQi/iBn0miq7X2+gu1D/rQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEhuS0kQhnIyh2CFlkGBd91E+8+NsyH5SrhrSNSHqEK3AiASLNz/X4dqth2xIiJRCrqg56c7yEo1NEECWbyS46Drwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907043},"type":"module","engines":{"node":">=24"},"gitHead":"d7d40e59c07d462b587fe1ec7377fbfc9978d3fa","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero third-party dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@thincoder/core":"^0.9.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.65_1790064761798_0.6146083565609501","host":"s3://npm-registry-packages-npm-production"}},"0.12.66":{"name":"thincoder","version":"0.12.66","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","_id":"thincoder@0.12.66","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"homepage":"https://github.com/xinbo-tech/thincoder#readme","bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"bin":{"thincoder":"bin/thincoder.cjs"},"dist":{"shasum":"6919a148526054aff5a439c584331951718b05f0","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.66.tgz","fileCount":103,"integrity":"sha512-zw0UjxKjGMZH01U2G5rQmozXyPschX2d0cEFjo1TgoX+YFX+vgkYwnxTqY6WIVh+QdyT1ghuUB6PmEZd+vU+sA==","signatures":[{"sig":"MEQCIHWIYj2MwVInmmNy+BFmWkqjQ8GjNzIzRwbzK2wjxXetAiAy7QGAGXxNnnZI56XFpi8QLUF+GhgGE847W7sz6Lqe0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuUK3N4VnrypyvwP9OPQfkhXY5+tSrf0yWWPV9qxw3VAIhAOB+s96y2ofwwTXT7susuNOhfJBWlRjgdWDX7Jtsa1qP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":907507},"type":"module","engines":{"node":">=24"},"gitHead":"e6a02b6aabb88f6df8d1fa1fde2acc191c720610","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero third-party dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@thincoder/core":"^0.9.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/thincoder_0.12.66_1790090723049_0.5018784940903078","host":"s3://npm-registry-packages-npm-production"}},"0.12.67":{"_id":"thincoder@0.12.67","bin":{"thincoder":"bin/thincoder.cjs"},"bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"dist":{"shasum":"0d6d83be203949bd4933454cf237a327da015091","tarball":"https://registry.npmjs.org/thincoder/-/thincoder-0.12.67.tgz","fileCount":105,"integrity":"sha512-ekGNqUvOkUso5VUauQWClKQu28mFSQ7M755iovENPkqP1v4qdJvBS+cEcR28jYqn/WU7dc4HQxWfRYBMHJhAtg==","signatures":[{"sig":"MEQCIB9M/2pPT/N9n72+5yQc5y4FwQplTRmR0NNIzm4Bfd5jAiAifwtcUcPXqqTJsw5lMQfPIktWp65YNAHr1nl01CRxqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDB7MDKchbSObHEQEj5F+X3LRI8tTcFhwt2Xjq7ZFWHLgIhAPZ+zkI9w+gPRCEcGwbQ5+wTaBswKWI1Nk5655Jzedei"}],"unpackedSize":926375},"name":"thincoder","type":"module","author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"engines":{"node":">=24"},"gitHead":"279d7e3d8b85665cbf22acc96cca0b69a3532027","license":"MIT","scripts":{"lint":"node scripts/check-syntax.mjs","test":"node test/run.mjs","release:check":"node scripts/release-check.mjs","prepublishOnly":"npm run release:check"},"version":"0.12.67","_npmUser":{"name":"xinbo-tech","email":"liwei@51marine.com"},"homepage":"https://github.com/xinbo-tech/thincoder#readme","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"_npmVersion":"11.17.0","description":"Thin coding agent - zero third-party dependencies, no build step, Node.js native. Sharp code, zero bloat.","directories":{},"maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"_nodeVersion":"24.19.0","dependencies":{"@thincoder/core":"^0.9.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/thincoder_0.12.67_1790311242581_0.16947342149420863"}}},"time":{"created":"2026-07-24T03:19:42.504Z","modified":"2026-09-25T04:40:42.859Z","0.1.0":"2026-07-24T03:19:42.699Z","0.2.0":"2026-07-24T05:58:23.528Z","0.3.0":"2026-07-24T11:10:42.690Z","0.4.0":"2026-07-24T17:04:44.333Z","0.5.0":"2026-07-25T07:20:10.713Z","0.6.0":"2026-07-25T09:55:16.372Z","0.7.0":"2026-07-25T15:46:54.501Z","0.7.1":"2026-07-26T05:38:23.534Z","0.7.2":"2026-07-26T06:31:24.256Z","0.7.3":"2026-07-26T08:48:09.403Z","0.7.4":"2026-07-26T09:45:46.206Z","0.7.5":"2026-07-26T10:27:01.866Z","0.7.6":"2026-07-26T11:49:52.804Z","0.7.7":"2026-07-26T13:23:36.154Z","0.7.8":"2026-07-26T14:28:33.993Z","0.8.0":"2026-07-27T04:52:29.209Z","0.8.1":"2026-07-27T05:17:39.539Z","0.8.2":"2026-07-27T05:19:36.464Z","0.8.3":"2026-07-27T15:00:37.555Z","0.8.4":"2026-07-27T17:15:31.652Z","0.8.5":"2026-07-27T17:34:03.434Z","0.8.6":"2026-07-27T22:25:37.611Z","0.8.7":"2026-07-28T02:49:40.351Z","0.8.8":"2026-07-28T07:11:55.688Z","0.8.9":"2026-07-28T08:30:42.547Z","0.8.10":"2026-07-28T09:48:40.329Z","0.8.11":"2026-07-28T12:55:14.825Z","0.8.12":"2026-07-29T17:37:29.779Z","0.8.13":"2026-07-29T20:44:53.081Z","0.9.0":"2026-07-30T03:16:09.840Z","0.10.0":"2026-07-30T03:22:26.628Z","0.11.0":"2026-07-30T12:56:47.445Z","0.11.1":"2026-07-31T03:57:47.453Z","0.12.0":"2026-07-31T07:06:02.825Z","0.12.1":"2026-07-31T07:49:32.962Z","0.12.2":"2026-07-31T07:55:53.207Z","0.12.3":"2026-08-02T07:11:49.284Z","0.12.4":"2026-08-03T15:45:05.928Z","0.12.5":"2026-08-03T15:49:14.360Z","0.12.6":"2026-08-03T19:38:05.549Z","0.12.7":"2026-08-04T00:47:45.443Z","0.12.8":"2026-08-04T04:25:06.601Z","0.12.9":"2026-08-04T06:00:54.986Z","0.12.10":"2026-08-04T06:55:23.755Z","0.12.11":"2026-08-04T09:31:20.232Z","0.12.12":"2026-08-06T10:37:03.055Z","0.12.13":"2026-08-08T04:48:16.329Z","0.12.14":"2026-08-10T10:08:28.922Z","0.12.15":"2026-08-10T10:29:20.985Z","0.12.16":"2026-08-10T11:34:58.188Z","0.12.17":"2026-08-10T11:40:18.489Z","0.12.18":"2026-08-10T11:56:20.617Z","0.12.19":"2026-08-11T09:37:07.603Z","0.12.20":"2026-08-13T12:16:54.543Z","0.12.21":"2026-08-13T12:31:26.428Z","0.12.22":"2026-08-13T15:18:10.211Z","0.12.23":"2026-08-13T18:56:28.347Z","0.12.24":"2026-08-14T16:08:37.780Z","0.12.25":"2026-08-15T11:27:49.348Z","0.12.26":"2026-08-15T11:56:39.325Z","0.12.27":"2026-08-15T15:14:06.840Z","0.12.28":"2026-08-16T04:18:32.433Z","0.12.29":"2026-08-16T05:47:10.352Z","0.12.30":"2026-08-16T06:29:47.263Z","0.12.31":"2026-08-16T07:25:07.694Z","0.12.32":"2026-08-16T08:16:46.333Z","0.12.33":"2026-08-17T13:28:06.895Z","0.12.34":"2026-08-17T17:32:08.423Z","0.12.35":"2026-08-21T11:07:57.907Z","0.12.36":"2026-08-21T18:42:49.781Z","0.12.37":"2026-08-22T14:39:32.491Z","0.12.38":"2026-08-23T02:40:12.612Z","0.12.39":"2026-08-23T06:23:21.181Z","0.12.40":"2026-08-23T07:43:36.920Z","0.12.41":"2026-08-23T10:31:11.877Z","0.12.42":"2026-08-23T17:35:56.354Z","0.12.43":"2026-08-24T18:22:11.699Z","0.12.44":"2026-08-24T19:28:54.131Z","0.12.45":"2026-08-25T21:09:02.649Z","0.12.46":"2026-08-27T10:45:53.737Z","0.12.47":"2026-08-27T16:33:51.156Z","0.12.48":"2026-08-28T09:12:38.426Z","0.12.49":"2026-08-29T07:56:24.969Z","0.12.50":"2026-08-29T11:44:04.427Z","0.12.51":"2026-08-30T15:46:30.026Z","0.12.52":"2026-08-30T19:11:07.711Z","0.12.53":"2026-08-31T10:50:58.878Z","0.12.54":"2026-08-31T23:10:09.834Z","0.12.58":"2026-09-02T00:02:42.697Z","0.12.59":"2026-09-05T02:44:26.470Z","0.12.60":"2026-09-08T01:03:59.776Z","0.12.61":"2026-09-11T11:58:53.858Z","0.12.62":"2026-09-13T00:48:43.066Z","0.12.63":"2026-09-20T16:10:13.795Z","0.12.64":"2026-09-21T06:37:13.361Z","0.12.65":"2026-09-22T08:12:41.909Z","0.12.66":"2026-09-22T15:25:23.139Z","0.12.67":"2026-09-25T04:40:42.696Z"},"bugs":{"url":"https://github.com/xinbo-tech/thincoder/issues"},"author":{"url":"上海新舶","name":"liwei","email":"liwei@51marine.com"},"license":"MIT","homepage":"https://github.com/xinbo-tech/thincoder#readme","keywords":["ai","agent","coding","cli","llm","deepseek","openai","tui"],"repository":{"url":"git+https://github.com/xinbo-tech/thincoder.git","type":"git"},"description":"Thin coding agent - zero third-party dependencies, no build step, Node.js native. Sharp code, zero bloat.","maintainers":[{"name":"xinbo-tech","email":"liwei@51marine.com"}],"readme":"# ThinCoder\n\n**Sharp Code, Zero Bloat.**\n\n**A \"thin\" AI coding agent: pure `.mjs`, no build step, zero third-party dependencies, native Node.js.**\n\nThe \"Thin\" in ThinCoder doesn't mean \"feature-poor\" — it means **sharp thinking, straight to the point** — like a blade.\nWhile every AI agent races to be \"all-powerful\", ThinCoder plays the opposite card: **restraint, precision, no filler**.\nIts persona is a geek engineer of few words who cuts to the bone: give it a complex requirement, get back a clean implementation.\n\nDesign philosophy (the entire meaning of the name): if the Node standard library can do it, no third-party dependency is allowed. The project's `node_modules` contains no third-party packages — only the first-party `@thincoder/core` shared core (a local link in development,\nresolved from the npm registry for releases).\n\n## Features\n\n- **Fix-verify loop**: file changes without `verify` get pushed back — syntax check + tests must pass before the agent can claim completion (auto-repair up to 3 rounds)\n- **Checkpoint system**: auto-snapshot before every user task, `list`/`create`/`rewind` tools for the model, single-file restore — rewinding itself is reversible (pre-rewind state auto-saved)\n- **Codebase understanding** ⭐0.5.0: `repo_outline` (dependency outline, auto-injected at startup), `code_search` (source FTS5 + vectors + JSDoc extraction), `doc_search` (docs chunked by ## headings) — background indexing, auto-incremental updates on file writes, three tools\nguided by \"structure → intent → details\"\n- **Model adaptation** ⭐: top-tier only, latest only. Built-in flagship models from twenty-one providers — DeepSeek / Kimi / Kimi For Coding / GLM / GLM Coding Plan (智谱 Coding) / Qwen / Qwen Token Plan / MiMo (小米) / MiMo Token Plan (小米套餐) / MiniMax / OpenAI / Claude / Gemini /\nGrok / Mistral / Volcengine Ark (豆包) / Hunyuan (腾讯混元) / Tencent TokenHub (腾讯混元网关) / SiliconFlow (硅基流动) / OpenRouter / Groq. No legacy model compatibility. Auto-matched context windows, truncation-resume protocols (prefix/partial), thinking-mode APIs (thinking.type /\nreasoning_effort), reasoning_content echo strategies (reasoningEcho), output limits, temperature range clamping — all deeply adapted.\n- **Toolset**: `read` / `write` / `edit` / `bash` / `glob` (supports `**`) / `grep` / `websearch` / `ls` / `fetch` + `read_image` (image/video paste) + three retrieval tools + MCP — all zero-dependency, file tools confined to the working directory\n- **Memory system**: three layers (personal/project/team), FTS5 + vector RRF hybrid retrieval, git-friendly markdown format\n- **Two-phase tool scheduling**: permission prompts serialized, read-only tools parallelized, side-effect tools serialized\n- **Session persistence** ⭐0.5.0: unlimited archive slots, `/session` to switch anytime, tool results visible after restore. Process-level isolation — multiple instances in the same directory each get their own session slot\n- **Concurrent subagents**: five roles — `explore`/`plan`/`coder`/`eng-coder`/`eng-designer` — dispatched in parallel, streaming output visible, reports land in the conversation; per-subagent model override (`subagent` tool `model` arg or `agent.subagentModel` config — e.g.\ndiscuss with `glm-5.2`, let `deepseek-v4-flash` implement)\n- **Multi-model consultation 会诊 + 飞刀 (escalate)** ⭐0.12.30: `consult_start`/`consult_stop` run several configured models in parallel as independent read-only consultants (each with its own TUI activity card, `main_history` access to the failure trail); when every model settles,\nthe full verdict digest is delivered automatically (R17 — consult_check retired). `escalate` flies in a stronger model for a single expert implementation run with full write access (default-async since R17 — the post-op report arrives automatically with its mutations merged).\nCandidate pool = `agent.consultModels` ([{ provider, model, effort? }], up to 5); budgets via `agent.consultTurns` / `agent.consultTimeoutMs`\n- **Plan Mode**: read-only exploration + design, implement after user approval\n- **AUTO mode**: `/auto` full authorization, no confirmations on long tasks\n- **Task tracking**: `task` tool breaks down multi-step work, status bar ✓n/m live progress, auto-filters completed items\n- **Goal/Verify/Skills**: long-goal tracking, completion verification, reusable skills\n- **Streaming TUI**: bare ANSI, permission preview right above the input box, write/edit auto-shows diffs, paste shortcut hint in the input box corner for multimodal models (Win: Alt+V / Mac/Linux: Ctrl+V). Two-level model picker (providers → models), search/filter support,\nShift+Enter for multiline input\n\n## Memory: What One Learns, the Whole Team Knows\n\nThree layers, all \"query if present, skip if absent\", unified hybrid retrieval:\n\n| Layer            | Location                                             | Sync method                                                                                    |\n| ---------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------- |\n| **Personal**     | `~/.thincoder/memory.db` (sqlite)                    | Not synced, private                                                                            |\n| **Project**      | `.thincoder/memory/*.md` in the project repo         | With the project git (ThinCoder **only writes files, never commits for you**)                  |\n| **Team** (opt.)  | Dedicated memory repo, cloned to `~/.thincoder/teams/<name>/` | `thincoder sync` (pull --rebase); auto commit + push on write (dedicated facility, opt-in) |\n\n- **Hybrid retrieval**: FTS5 (BM25, per-character CJK indexing, bigrams matchable) + embedding vectors (brute-force cosine) + RRF(k=60) fusion ranking\n- **Embeddings**: OpenAI-compatible `/v1/embeddings`, defaults to SiliconFlow `BAAI/bge-m3` (free tier, good CJK support); Ollama works as an offline option. Vectors generated lazily — not computed on write, backfilled and persisted on first search\n- **Entry format**: Markdown + frontmatter (type/title/tags/author/created), readable and reviewable directly on GitHub; one file per entry, naturally avoiding merge conflicts; real conflicts produce honest errors, never auto-merged\n- **Dual-track accumulation**: conventions written manually (the `memory` tool, action put), experience extracted from sessions via `/extract` — **the LLM proposes candidates, a human confirms each y/n** before anything is stored; never fully automatic\n- **Retrieval isolation**: the Project layer is isolated by project path — project A's memories never leak into project B\n\n- **Agent Client Protocol** ⭐: `thincoder acp` exposes the agent over [ACP](https://agentclientprotocol.com/) v1 on stdio — one terminal login drives sessions from **Zed**, **JetBrains** AI chat, or **Paseo**:\n  - Streaming replies + thinking chunks; tool approval dialogs in the IDE\n  - IDE-native diffs — `write`/`edit` route through the editor buffer\n  - Persisted sessions: list / load (history replay) / resume / delete\n  - Per-session config: model / thinking / mode\n  - Setup: [ACP 接入设计](../docs/cli/design/ACP-CLIENT.md)\n  - Login: `thincoder acp --login` — one interactive terminal login; ACP clients and orchestrators then drive sessions headlessly\n\n\n## Requirements\n\n- Node.js >= 24\n- An API key for any OpenAI-compatible endpoint\n- Optional: an embedding service key (without it, retrieval degrades to pure FTS)\n\n## Quick Start\n\n```bash\n# Install\nnpm install -g thincoder\n\n# Launch the TUI (default command)\nthincoder\n```\n\nFirst launch walks you through a setup wizard: arrow keys to pick a provider (built-in presets or a custom endpoint) → enter API key → optionally enter an embedding key (SiliconFlow, enables vector memory search, skippable) → arrow keys to pick a model — no hand-editing config\nfiles. Adjust anytime with `/model` (add/remove providers, set keys, custom endpoints) or `/config embedkey`. `chat`/`distill` also offer in-place interactive setup when no key is configured in a terminal (in pipes/CI they exit with an error and instructions).\n\nYou can also hand-write `~/.thincoder/config.json` (see \"Configuration\" below), then:\n\n```bash\n# One-shot Q&A (pipe-friendly)\nthincoder chat \"read package.json and summarize it\"\n\n# Memory management\nthincoder memory put --type=rule --title=\"code style\" --content=\"no semicolons\"\nthincoder memory search \"code style\"\nthincoder memory list\nthincoder memory remove 1\n\n# Team memory (optional, available after configuring memory.team)\nthincoder sync                       # pull the team repo and rebuild the index\n\n# Extract knowledge from a session transcript (stored after per-item confirmation)\nthincoder distill session.txt\n\n# Upgrade\nthincoder upgrade\n```\n\nRunning from source: replace `thincoder` above with `node bin/thincoder.mjs`.\n\nSlash commands in the TUI: `/help`, `/model` (two-level picker: first select provider, then model; also add/remove providers, set keys, custom endpoints; `/model <provider>:<name>` switches directly), `/submodel` (subagent models per type — picker over global +\nexplore/plan/coder/eng-coder/eng-designer slots, or `/submodel <type> <provider:model>` directly), `/shell` (platform-aware picker of available shells — e.g. `/shell` → pick Git Bash/pwsh, or `/shell \"C:\\Program Files\\Git\\bin\\bash.exe\"`, `/shell reset`; fixes win11 cmd\nencoding/command issues), `/think` (thinking mode toggle and reasoning effort), `/config` (view config; no-argument form opens the interactive menu — e.g. default model, embedding key, proxy; `/config embedkey` sets the embedding key directly), `/session` (list/switch archived\nsessions), `/reindex` (rebuild the index), `/extract` (extract knowledge from the current session), `/restore` (restore checkpoint), `/clear`, `/exit`. High-frequency commands support abbreviations: `/h` `/x` `/m` `/p` `/t` `/c` `/n`. Typing `/` shows live matching hints in the\nstatus bar. Model picker supports search/filter — type to narrow down results.\n\nConfiguration comes exclusively from `~/.thincoder/config.json` — no environment-variable configuration is supported.\n\n> **Kimi note**: Kimi has **two separate platforms with non-interchangeable API keys** — Moonshot (`https://api.moonshot.cn/v1`, keys `sk-...`, platform.moonshot.cn) and **Kimi For Coding** (`https://api.kimi.com/coding/v1`, keys `sk-kimi-...`, platform.kimi.com, model ID `k3`).\n> Use the `kimi` preset for Moonshot and `kimi-code` for Kimi For Coding — putting one platform's key on the other's endpoint fails with 401 (a hint is appended when the key/baseURL look mismatched).\n\n## Configuration\n\n`~/.thincoder/config.json` — strictly parsed (`JSON.parse`); the `//` annotations below are illustrative only and are not valid in the actual file:\n\n```json\n{\n  \"providers\": [\n    // multiple allowed; switch with /model <name>\n    {\n      \"name\": \"deepseek\",\n      \"baseURL\": \"https://api.deepseek.com/v1\", // any OpenAI-compatible endpoint\n      \"apiKey\": \"sk-...\", // or leave empty — the TUI prompts for a key when this provider is selected\n      \"model\": \"deepseek-chat\",\n      // optional: proactive throttling budget (match your account's rate-limit tier;\n      // without it the gate is off, 429 backoff still applies).\n      // Rate limits are per-account counters (RPM/TPM over a 60s window) — check each vendor's console\n      // \"tpm\": 200000, // tokens/minute (input + output total)\n      // \"rpm\": 50,     // requests/minute\n    },\n  ],\n  \"defaultModel\": \"deepseek:deepseek-chat\", // new-session starting model — \"provider:model\" (set via /config → 默认模型; /model switches the current session)\n  \"shell\": null, // bash tool shell (win11: e.g. \"C:\\\\Program Files\\\\Git\\\\bin\\\\bash.exe\" or \"pwsh\"); null = system default — cmd on Windows (UTF-8 forced per command), /bin/sh elsewhere. TUI: /shell; a leading ~ in the path expands to the home directory\n  \"embedding\": {\n    // optional: without it, retrieval is pure FTS\n    \"baseURL\": \"https://api.siliconflow.cn/v1\",\n    \"apiKey\": \"sk-...\",\n    \"model\": \"BAAI/bge-m3\",\n  },\n  \"agent\": {\n    \"maxTurns\": 100, // tool-loop cap\n    \"subagentModel\": null, // default subagent provider/model override: \"provider:model\" | provider name | model name; null = inherit parent provider. Per-call: subagent tool `model` arg\n    \"subagentModels\": {}, // per-type override: { \"explore\": \"...\", \"plan\": \"...\", \"coder\": \"...\", \"eng-coder\": \"...\", \"eng-designer\": \"...\" }; priority: tool model arg > this > subagentModel > parent provider\n    \"compactThreshold\": 100000, // context compaction threshold (approx. tokens)\n  },\n  \"memory\": {\n    // Path fields (dbPath / projectDir / team.dir / shell) expand a leading ~ (~, ~/, ~\\) to the home directory at load time\n    \"dbPath\": \"~/.thincoder/memory.db\", // sqlite index path (~ expands to the home directory)\n    \"projectDir\": \".thincoder/memory\", // Project layer directory (relative to project root; ~ expands to an absolute path used as-is)\n    \"team\": {\n      // optional: Team layer disabled without it\n      \"name\": \"myteam\",\n      \"repo\": \"git@github.com:org/team-memory.git\",\n    },\n  },\n  \"mcp\": {\n    // optional: MCP server list\n    \"servers\": [\n      {\n        \"name\": \"filesystem\",\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \".\"],\n      },\n    ],\n  },\n  \"websearch\": {\n    // optional: Tavily structured search (stable JSON API, no HTML scraping).\n    // Empty apiKey → silently falls back to Bing HTML extraction (zero-config).\n    \"apiKey\": \"tvly-...\", // https://tavily.com — has a free monthly tier\n  },\n}\n```\n\n## Architecture\n\n```\nbin/thincoder.mjs   command entry (tui / chat / memory / sync / distill / reindex / completion / upgrade / acp / session gc)\nbin/thincoder.cjs   CommonJS shim → bin/thincoder.mjs\nsrc/\n  acp/                   Agent Client Protocol bridge — bridge, client caps, session/slot handlers, login, transport\n  acp.mjs                thincoder acp entry → src/acp/\n  cli/                   top-level command implementations — setup-wizard, memory-command, distill-command,\n                         make-agent (assembly), permission\n  completions.mjs        shell completion scripts (thincoder completion <shell>)\n  crash-reports.mjs      crash capture and forensics — fatal records, stderr capture, heap snapshots\n  distill.mjs            session knowledge extraction (candidates + human confirmation)\n  heap-watch.mjs         heap telemetry / watchdog\n  prompt-injections.mjs  prompt-anchor values for this end — tool face (bash / question)\n  tui/                   bare-ANSI terminal UI — index.mjs (startTUI), frame/conversation rendering,\n                         key handling, mouse/clipboard, the cmd-* command family, subagent panels\n  tui.mjs                re-export shim → src/tui/index.mjs\n  upgrade.mjs            version check and self-upgrade\ntest/               node:test offline unit tests (npm test)\nscripts/            repo-side scripts — release check, doc-impact, syntax/endpoint probes,\n                    real-environment verification (compaction, team sync)\n```\n\nKey design decisions:\n\n- **Two-phase tool execution**: phase one serializes permission prompts (each side-effect tool asks the user); phase two runs read-only tools in parallel (`Promise.all`) and side-effect tools serially. Results are fed back paired by `toolCallId`\n- **Permissions live in the UI layer**: tools only execute; \"ask the user or not\" is the TUI/CLI's business, so headless scenarios need no tool changes\n- **The index is disposable**: sqlite is just a local index of code/docs/memories — `reindex` rebuilds it anytime\n- **Separate code/doc indexes**: source and markdown docs are indexed in separate tables and searched through different tools — keeps the model from mistaking old code patterns for design conventions\n- **git boundaries**: the Project layer only writes files and never touches your repo's commits; the Team layer is a ThinCoder-managed repo where auto commit+push is allowed\n- **CJK retrieval**: FTS5 unicode61 + per-character CJK spacing on both write and query sides; semantic matching goes through the vector channel\n\n## Development\n\n```bash\nnpm test                          # offline unit tests (node:test, with local mock servers)\nnode scripts/verify-compress.mjs  # real-API verification of context compaction (needs valid config)\nnode scripts/verify-team.mjs      # team memory A->git->B full-chain verification (local git, offline)\n```\n\nCode conventions: pure `.mjs`, no semicolons, no third-party npm dependencies allowed (including devDependencies) — the first-party `@thincoder/core` shared core is the only npm dependency.\n\n## Roadmap\n\n- More builtin skills\n\n## Changelog\n\n### 0.12.67 (2026-09)\n- **Visible busy queue (multi-slot)** — queue up to 8 messages while a turn runs: a \"to send\" block shows each queued message in the stream, the status bar has four states, and batches are picked up at step boundaries (without interrupting in-flight tools) and merged into one message per turn (`/cmd` entries keep their order). New ledger commands: `thincoder ledger migrate --dry-run|--confirm` and `thincoder ledger audit`.\n- **Effort menus fixed** — the consult effort picker no longer shows a duplicated `none`; advisor effort \"off\" normalizes to `think_off` with an accurate receipt.\n- **Core `^0.9.5`** — wider model coverage (qwen-flash / qwen-vl-max / claude-fable-5.1 / gemini-3.1-pro / step-3.7-flash / kimi-code rows), the `cacheMode` dead field removed, deepseek preset aligned to 384K, plus peer intent claims and cross-platform ledger key fixes.\n- **Fixes** — the edit tool now returns a formed error for non-array `edits` (ACP bridge too); `question` is excluded from subagent tool tables.\n\n### 0.12.66 (2026-09)\n- **MiMo V2.6 support** — the core `^0.9.4` dependency registers MiMo V2.6 (pro / flash / pro-ultraspeed: 1M context, 131K output, vision, auto caching) and repoints the `mimo` / `mimoplan` presets to `mimo-v2.6-pro`.\n\n### 0.12.65 (2026-09)\n- **Session index** — `thincoder session index [--status|--rebuild]`. `read_history` now answers over-limit sessions and searches across sessions (`path:\"all\"`), backed by a derived, rebuildable `node:sqlite` index; the session files remain the only source of truth.\n- **Queue submissions while busy** — Enter during a running turn is no longer swallowed: it lands in a single slot with a visible `[sending queued message]` receipt and runs at the turn boundary. The same now applies inside suspended sessions. Ctrl+I stays the interrupt-style channel.\n- **Release claims on exit** — a clean exit frees this process's session claims, so restarts resume directly instead of relying on process probing.\n- **Safer, clearer surfaces** — MCP form headers/env values are masked; `/eng` and `/advisor` write to the bound slot; `git diff`/`log` note an unmatched pathspec instead of looking clean; `session gc` prints progress and estimates.\n- **Fixes** — the TUI exit no longer throws (`ledgerSurface.dispose`); oversized modules split (`key-handler` 498→124 + 5 family modules; `index.mjs` 499→228, `startTUI` 417→149).\n\n### 0.12.64 (2026-09)\n- **PROJECT-MANIFEST model** — per-use project resolution (owning-ancestor discovery + a five-step ladder); a missing manifest is no longer fatal (degrade at startup + a clear prompt to build one).\n- **Batch record lifecycle tool** (`batch`: create / append / status / close), **ledger executor column**, **two-tier signal lines** (digest/ask) with the start line, and **session claim release** (rejections write nothing).\n- **Non-blocking startup** — async session GC, stale sweep, traces cleanup; the CLI start line shares the wrapped-parent + TUI first-paint path.\n- **Engineering mode**: the `plan` role is excluded from the engineering tool set (FR31).\n- **Fixes** — batch-alias residue across assertions, prompt doc-refs and error strings; subagent block-title parity; README dependency claims corrected to zero third-party runtime deps.\n\n### 0.12.63 (2026-09)\n- **Core dependency live** — now depends on `@thincoder/core@^0.9.1` (the shared-mechanism core's first npm release); installed packages resolve the core from the registry instead of shipping duplicated copies.\n- **Fix: smoke probe always skipped** — `isBailianHost` was imported from the wrong module behind a silent catch, so the pre-release real-endpoint smoke test never actually ran. Fixed; smoke now performs the real three-call thinking-mapping check.\n\n### 0.12.62 (2026-09)\n- Last release in the pre-core shape (self-contained copies); 0.12.63 onward resolves the core from `@thincoder/core`.\n\n### 0.12.11 (2026-08)\n- **Subagent model per type** — `subagent` tool `model` arg, `config.agent.subagentModels` (per explore/plan/coder/eng-coder) and `config.agent.subagentModel` (global fallback); priority: tool arg > type > global > parent provider. `/submodel` TUI command: picker over 5 slots\n(global + 4 roles) with provider→model selection, or direct args (`/submodel coder deepseek:deepseek-v4-flash`).\n- **Configurable bash shell** — `config.shell` or `/shell` TUI command: platform-aware picker (Windows: pwsh/Git Bash/WSL bash; POSIX: bash/zsh/fish — availability-detected, custom path supported). Windows default cmd now forces UTF-8 per command (`chcp 65001`) — fixes garbled\nChinese output on win11.\n- **Markdown table alignment fix** — `stringWidth` strips ANSI (zero display width) and rendered table rows are padded back to the computed width; inline markers (`` `code` ``, `**bold**`) no longer shift the borders.\n- **sliceByWidth keeps ANSI sequences whole** — never slices mid-escape-sequence.\n\n### 0.12.10 (2026-08)\n- **Code-quality pass (advisor subsystem):**\n  - **Drop 11 unused exports** — internal-use symbols no longer leak through the module API (advisor table headers/constants, plan reminders, token-UUID helper, shrinkOversized).\n  - **Advisor tool-timeout timer is now cleared** when the tool wins the race (no dangling timers); static import replaces a dynamic import on the hot path.\n  - **Advisor re-review no longer trusts git output** — the follow-up path previously injected a `git diff HEAD` snapshot: once fixes were committed the diff was empty and the model read \"no changes\" as \"no fixes\", misreporting fixed items as unfixed. The follow-up now injects\n**no git information at all** — verification is `read`-only, evidence must quote this round's read output (line numbers from the stale prior table are not evidence), and dead snapshot-dedup fields were removed.\n\n### 0.12.9 (2026-08)\n- **Prompt-system quality pass (both CLI and VS Code extension, byte-identical sync):**\n  - **Advisor-after-code rule moved from system.md to discipline.md** — engineering mode no longer receives the conflicting \"call advisor after changing code\" instruction (its review-timing rules say do not call unprompted). Standard mode behavior unchanged.\n  - **engineering.md delivery-review semantics unified** — the mandatory-flow step and the state table now both say: eng-coder self-reviews inside the subagent; the architect verifies against acceptance criteria and re-reviews only when asked or when the delivery looks wrong.\n(Previously the step forced a parent-side advisor code review that the hard rules contradicted.)\n  - **checkpoint description aligned with actual auto-snapshot triggers** (task-list deletion + context compaction; manual checkpoint for the rest).\n  - **advisor round budget wording fixed** — prompts advertise a 30-round budget; the mechanical hard cap is 100 rounds (loop guard). Both layers are now named explicitly.\n\n### 0.12.8 (2026-08)\n- **Fix: pending-task pushback fires at most once** — the completion guard that reminds the model to update pending tasks before finishing could loop forever when a pending item could not be resolved. Now each task-list state earns exactly one reminder; if the model insists on\nfinishing anyway, it is allowed to (updating the list via the task tool resets the budget). VS Code extension synced.\n\n### 0.12.7 (2026-08)\n- **Fix: long replies and thinking are never folded** — the long-message folding feature (0.12.6) collapsed main output and reasoning behind a click when they exceeded 12 lines, hurting readability. Folding now applies to secondary dim-colored content (tool summaries/status)\nonly; expanded blocks are exempt from the consecutive-dim folding so nothing folds twice.\n- **Fix: wide tables misaligned in narrow terminals** — a many-column table that still exceeded the terminal width after column shrinking (e.g. 8 columns at 40 cols) wrapped at the terminal and misaligned. Table rows are now clipped with an ellipsis instead of ever exceeding the width.\n\n### 0.12.6 (2026-08)\n- **Checkpoint v2 — full-file-copy snapshots** — snapshots now store complete copies of changed files (tracked + untracked) instead of a git diff patch: rollback works even after commits happened post-snapshot. New `versions` checkpoint action lists a file's historical copies\nacross snapshots (time / size / content hash) and restores a specific version. **Full rollback is disabled** (as dangerous as a working-tree reset — silently discards post-snapshot work); oversized files (>5MB) are skipped with an explicit notice; files created after a snapshot\nare never deleted by a restore.\n- **Git destructive-command protection** — `checkout --` / `restore` / `reset --hard` / `clean -f` (including bypass variants like `checkout HEAD -- .`) auto-snapshot every uncommitted file **before** running, then execute without blocking — a model rollback can no longer destroy\nuncommitted work. Snapshot triggers slimmed to: destructive-git guard, pre-restore, manual.\n- **Fix: bash no longer hangs on background processes** — `start /b`, `&`, `nohup` children that hold the output pipe no longer stall the tool until timeout (resolves after a short grace with a notice).\n- **Mouse support** (SGR-protocol terminals) — click a picker option to select it, click a folded-block hint to expand it, click a message line for an action menu (copy to clipboard / load into the input box). **Long messages (>12 wrapped lines) auto-fold** to first/hint/last\nwith click-to-expand — folding now has real objects in everyday sessions.\n- **Fix: legacy session hash migration** — the 12→40 char hash migration now tries every historical algorithm (CLI 12-char, VS Code 16-char, both drive-letter cases): Windows sessions from older versions are found and migrated on next startup instead of being stranded.\n\n### 0.12.5 (2026-08)\n- **Fix: inline code styling** — markdown code spans now render with underline instead of reverse video (less harsh on the eyes)\n\n### 0.12.4 (2026-08)\n- **Context compaction unified spec** — CLI/VS Code now share one compaction semantics (`docs/design/CONTEXT-COMPACTION.md`): window-adaptive tail size (`max(10, ctx/100K×30)`, ≤40% of history), measured prompt-token baseline preferred, pure-estimation path includes system+tools\noverhead, head/tail tool-call pairing protection on both sides, 3-tier fallback (LLM summary → deterministic truncation after 3 failures → per-message shrink), compaction summaries are silent to the frontend (no streaming into the conversation), task re-injection deduplicated.\nUnknown model names now warn once instead of silently degrading to the 128K default\n- **Kimi For Coding support** — new `kimi-code` preset (`api.kimi.com/coding/v1`, model `k3`, platform.kimi.com, `sk-kimi-` keys — NOT interchangeable with Moonshot); `MODEL_SPECS` gains the `k3` alias (1M context / multimodal / partialMode / reasoningEcho); 401 errors hint at\nthe two-platform key mismatch; README documents the split\n- **Ctrl+C double-confirm** — idle-state first Ctrl+C only warns (3s window), second press exits; picker-cancel and in-flight abort semantics unchanged\n- **Empty-response auto-retry** — a transient empty LLM response (reasoning exhausted / truncated output) injects a retry reminder instead of aborting the whole turn; after 2 consecutive empties the original error surfaces (with the `/think` lowering hint)\n- **Lightweight inline markdown display** — model replies render `**bold**`, `` `code` `` (reverse video), `~~strike~~`, and `# headings` (marker-stripped + bold) via ANSI instead of showing literal markers; code spans are not re-interpreted; streaming-safe on unclosed markers;\ncopied text comes out clean\n\n### 0.12.3 (2026-08)\n- **Fix: user-level skills loading** — skills in `~/.thincoder/skills/` are now properly discovered and loaded alongside project-level skills. Project-level skills with the same name take priority. Both `skill list` and `skill load` support both directories.\n\n### 0.12.2 (2026-08)\n- **Session isolation for multiple processes** — each process gets a unique session ID (`pid-timestamp-random`), manifest tracks slot ownership via `slotSessions` mapping. Concurrent sessions in the same directory automatically get separate slots. Dead process slots are\nintelligently reclaimed via `isProcessAlive()` check\n- **Two-level model picker** — `/model` now shows providers first, then models for selected provider. Reduces visual clutter when many providers are configured. Direct switching still works: `/model qwen:qwen-max`\n- **Picker improvements** — auto-scroll keeps selected item visible, \"type to filter\" hint shown, search/filter support added\n- **Shift+Enter multiline input** — TUI now supports Shift+Enter for multiline input (regular Enter still submits)\n- **New provider presets** — added Volcengine Ark (豆包), Hunyuan (腾讯混元), SiliconFlow (硅基流动), OpenRouter, Groq (5 new providers, total now 12)\n- **Execute tool security hardening** — blocks dynamic `import()` calls to prevent sandbox escape. Pre-execution regex check + sandbox blocks `require()` and `process` access\n- **Advisor system overhaul** — convergence hardening with round-aware prompts, evidence rules, round cap (5 max). Design-review token gate. Simplified prompts, removed git dependency. Unified streaming block\n- **Verify guard improvements** — file path validation, error context enrichment, test coverage expanded\n\n### 0.12.1 (2026-07)\n- **Fix: `/exit` screen artifacts** — `/exit` now uses synchronous `process.exit(0)` instead of the deferred cleanup callback, preventing the post-handler `render()` from redrawing the TUI over the cleaned terminal. Ctrl+C and `/exit` now produce identical clean exits.\n\n### 0.12.0 (2026-07)\n- **Interactive slash command UX** — `/advisor`, `/think`, `/config`, `/mcp` now use persistent menu loops with live state feedback. Toggle, change settings, and see results without re-entering the command. Cursor position is remembered across menu cycles. `/plan` and `/auto` now\nshow immediate local feedback (`❯ Plan: ON/OFF`).\n- **User-level AGENTS.md** — `~/.thincoder/AGENTS.md` is now loaded alongside the project-level `AGENTS.md`. User-level preferences (language, style, format) apply across all projects; project-level rules take priority.\n- **Skill subdirectory format** — `.thincoder/skills/` now supports the standard `skill-name/SKILL.md` subdirectory convention (Claude Code / Cursor compatible). Flat `.md` files remain fully backward-compatible. Subdirectories take priority when both formats exist with the same name.\n- **MCP stdio `env` field** — `env` key in MCP stdio server config is now merged into the child process environment. Enables MCP servers requiring custom environment variables (e.g. `deveco-mcp`).\n- **Project-level `.mcp.json`** — `.mcp.json` in the project root is auto-loaded at startup (standard MCP client convention). Servers defined here are merged with `config.json` servers — `config.json` takes priority for same-named entries.\n- **Cleaner conversations** — Removed redundant `[System reminder: ...]` injections from `/advisor`, `/plan`, `/auto`, and `/think` toggles. All feedback is now local TUI output, not conversation noise.\n\n### 0.10.0 (2026-07)\n- **LSP tool** — `lsp` tool provides code intelligence via Language Server Protocol: go-to-definition, find-references, hover info, document symbols, diagnostics. Zero-dependency JSON-RPC 2.0 over stdio client. Lazy-starts language servers on first call. Configurable via\n`lsp.servers` in config.json (defaults: `typescript-language-server` for JS/TS, `pyright-langserver` for Python).\n- **Smart context: compaction checkpoint** — `compressIfNeeded` now auto-creates a git checkpoint before compaction. A checkpoint reference is injected after compaction so the model can reconstruct context from git diff + recent messages + task progress. Prevents information loss\nduring long sessions.\n- **CodeMode: sandboxed JS execution** — `execute` tool backed by `vm.Script.runInNewContext`. Compose multiple file operations (read/write/glob/grep/log) into a single script, reducing API round-trips and keeping intermediate results out of context. Sandbox strips all Node APIs,\nlimits output to 50KB, enforces 30s timeout, and blocks private IPs in fetch. Script size capped at 50KB.\n\n### 0.9.0 (2026-07)\n- **Checkpoint v2** — snapshot-before-destructive with full workspace copies, per-file restore (`cat` preview), auto-recover on failed apply, and escape-hatch hints when git checks fail\n- **Lifecycle Hooks** — `PreToolUse` / `PostToolUse` / `PostToolUseFailure` / `Stop` events. User-defined shell commands in config, with per-tool regex matching, timeout control, and `block`/`allow`/`notify` actions. Implemented in `thincoder-core/hooks.mjs`, integrated into tool dispatch.\n- **Built-in Skills (5)** — `pdf-create`, `xlsx-create`, `frontend-design`, `code-review`, `api-design` ship with the installation. Each is a standalone markdown instruction file using zero-dependency approaches (Chrome headless for PDF, PowerShell for Excel, etc.).\n- **Conversation message folding** — Long tool result blocks (>8 consecutive dim lines) auto-collapse to first 2 lines + \"… N more lines — Enter to expand\". `/fold on|off` toggles globally.\n- **Tree-shaped tasks** — `checklist` tool now supports hierarchical task IDs (`T1`, `T1.1`, `T1.2.1`) with auto-assigned numbering. `add` accepts `parent` parameter for subtree positioning. Indentation-based persistence in `checklist.md`.\n- **AI-native MCP config** — `/mcp add` picker now includes \"Describe with AI\" option. Describe a server in natural language → model generates config JSON → preview + confirm → save and connect.\n- **Goal judge model** — `goal complete` now runs an independent LLM check: goal criteria + recent agent activity → judge model verifies YES/NO. Prevents false completion claims during autonomous work.\n- **`/undo` command** — Tracks up to 50 write/edit/delete operations in `agent._undoStack`. `/undo` opens a picker showing each operation's file and original content size. Select to revert.\n- **Roadmap**: LSP tool, intelligent context management (checkpoint-based reconstruction), and CodeMode sandboxed JS are planned for 0.10.0.\n\n### 0.8.13 (2026-07)\n- **TUI: incremental rendering** — panel-level cache (`panelCache`) with sync-update bracketing (`DECSET 2026`). Only redraws changed panels, eliminating flicker. `saveCursor`/`restoreCursor` for efficient cursor positioning. Panel order reorganized:\n`header → conversation → subagent → output → todo → picker → permission → queue → input → status`.\n- **Ctrl+I inject resume** — Ctrl+I (or Tab during processing) now properly interrupts, injects the message, and *resumes* the agent loop. Controller is recreated after abort. Added active signal check in SSE read loop for faster abort on Windows.\n- **Processing hints** — Input box shows \"Ctrl+U clear\" hint during processing. Tab during processing treated as Ctrl+I. Slash commands re-render the frame.\n- **Compression visibility** — `compressIfNeeded` now forwards `onToken`/`onReasoning` callbacks, making compression activity visible in the TUI.\n- **Session: data-preserving fallback** — when atomic rename fails during session save, fall back to direct write instead of losing data.\n- **Distill: balanced-bracket JSON extraction** — handles nested arrays in LLM output (e.g. `\"tags\": [\"a\", \"b\"]`), replacing the broken non-greedy regex approach.\n- **File tools: EOL normalization** — `normalizeEOL` (`\\r\\n` → `\\n`) applied on all reads (`read`, `edit`, `hashline_edit`, `insert_after`, `grep`, `repomap`), making hash computation and string matching platform-consistent.\n- **hashline_edit: multiple-match detection** — when a hash sequence matches multiple positions, reports all with surrounding context instead of silently picking one.\n- **delete: symlink-safe** — uses `lstat` instead of `stat` to correctly identify symlinks (not directories even if pointing to one).\n- **repomap: large file guard** — skip files >10MB in dependency outline builds to prevent OOM.\n- **Improved error messages** — `grep` and `insert_after` now catch invalid regex patterns at validation time with clear error messages.\n- **Advisor session persistence** — advisor config saved/restored across sessions.\n- **Timeout hardening** — auto-think uses `AbortSignal.timeout(5s)`, embedding requests add 60s timeout, MCP HTTP connect uses `INIT_TIMEOUT_MS`, fetch timeout extended to 10 minutes.\n- **ClearScreen on exit** — terminal restored with `clearScreen` ANSI on TUI cleanup.\n\n### 0.8.12 (2026-07)\n- **Indexing: git-repo-only** — `codeSync` and `docSync` now only index inside git worktrees (via `git ls-files`), respecting `.gitignore`. Non-git directories get empty indexes. Prevents 2.9GB memory.db from accidentally indexing entire user profiles (AppData, browser\nextensions, Office add-ins, Program Files)\n- **Indexing: file-size caps** — code files >1MB and doc files >512KB are skipped during bulk indexing (minified bundles, test fixtures, generated code)\n- **Compaction: earlier trigger** — `COMPACT_RATIO` lowered from 0.8 to 0.6 (with 40K floor), so injected context (directory tree, git context, outline, memory/doc search results) doesn't starve the model for headroom before compaction fires\n- **Bugfix: event-loop blocking** — `buildOutline`/`buildSummary` in `repomap.mjs` now awaited (was sync calling async), `setup.mjs` outline injection fixed, `codeSync` walk uses `readFile` instead of `readFileSync`\n- **Feat: SKIP_DIRS expanded** — Windows profile directories (`AppData`, `Desktop`, `Documents`, `Downloads`, `Music`, `Pictures`, `Videos`, etc.) added to the skip list\n- **Feat: `listProjectFiles` shared helper** — extracted from `codeSync`/`docSync`, used by both; git-only with fallback removed\n- **Refactor: `embed-config.mjs`** — simplified to only read API key via `resolveEmbedKey()`, base URL and model are fixed constants; VSCode SecretStorage dependency removed\n\n### 0.8.11 (2026-07)\n- **Feat**: `checklist` tool — persistent project task tracking in `.thincoder/checklist.md`. Add/mark/list items, auto-archive done items to `checklist-done.md`. Injected at session start (pending + in_progress only)\n- **Feat**: updated prompts — four-step workflow (requirements→design→development→testing), three-step debugging strategy (logs→docs→binary search), working checklist discipline\n- **Feat**: methodology docs — `docs/design/METHODOLOGY.md` rebuilt, `PHILOSOPHY.md` expanded with worldview #6 (official docs over guessing)\n- **Bugfix**: vision guard — `read_image` now refuses non-vision models before reading the file, the agent loop injects a system reminder instead of image parts for text-only models, and `stripImagesForTextModel` sanitizes image parts at send time (history untouched, restored\nwhen switching back to a vision model). Previously a single image in history made text-only APIs (e.g. DeepSeek) reject EVERY subsequent request with 400, bricking the conversation\n- **Improvement**: silent `catch {}` blocks now log to stderr (checkpoint file copies, MCP notify/close, session incremental save, clipboard paste, provider picker, team-memory rebase abort, tool dispatch) — failures are visible for debugging instead of disappearing\n\n### 0.8.10 (2026-07)\n- **Bugfix**: pasted text now lands in the active TUI text target — the API key prompt when adding a provider via `/model` (and any free-text `askQuestion`) now accepts paste correctly. Previously, bracketed-paste injection in the terminal was always written to the main input\nbox, so pasting into a question prompt appeared as \"nothing happened\" and orphaned the text into the input box after the question closed. Both bracketed-paste (Windows Terminal / most modern terminals) and Ctrl+V-as-key-event (legacy conhost) now route through a single\n`insertPastedText` helper that targets the question answer, options-list (ignored), or main input box as appropriate\n\n### 0.8.9 (2026-07)\n- **Bugfix**: `wizardProviderItems` was defined inside `createWizard()` but not included in the return statement, causing key-handler to crash with `TypeError` during provider selection on first launch (/ new config)\n\n### 0.8.8 (2026-07)\n- **Bugfix**: remove env whitelist from bash tool — child processes receive full parent environment\n- **Bugfix**: reduce TUI flicker — single `write` with `home` + `clearToEnd` instead of separate cursor moves\n- **Feat**: auto update check on startup + `/upgrade` command\n\n### 0.8.3 (2026-07)\n- **Output panels**: tools with `outputPanel` flag stream to scrolled panel, auto-collapse to summary on completion (bash, long tool results)（机制已于 2026-08-30 废除——D6 清理，见 AGENT-LOOP.md）\n- **Checkpoint enhancements**: `cat` for file preview from snapshots, per-file rewind, auto-recover on apply failure, escape-hatch hints on errors\n- **Bash safety**: `checkpoint-before-destructive` discipline rule; bash guard guides checkpoint instead of just commit/stash\n- **Code review fixes**: output friendliness, readability, English-only strings, TUI polish\n\n### 0.8.0 (2026-07)\n- **TUI rendering overhaul**: layout engine (`layout.mjs`) — panels are positioned declaratively by priority instead of hand-pinned arithmetic; `renderFrame` is now a pure function (no state mutation); cursor position derived from layout coordinates. Status bar slash-command\nhints moved from if-else chain to lookup table. Three Chinese UI strings fixed to English\n- **Subagent panel redesigned**: per-instance tracking (`role#id/` prefix) — parallel subagents of the same role no longer overwrite each other. Shows current tool name + args, or streaming text last line (what it's writing right now), instead of truncated 200-char token\nfragments. `onToolCall` relayed from subagent to parent TUI. Only the earliest running subagent is marked done on completion (not all)\n- **Tool file split**: `system.mjs` (337 lines) split into `bash.mjs` / `glob.mjs` / `grep.mjs` / `ls.mjs`; `repomap.mjs` (306 lines) split into `repomap.mjs` (public API) + `repomap-parse.mjs` (dependency graph parsing)\n- **Export position normalization**: 8 files rearranged — exports at top, implementation helpers below, for top-down readability\n- **Provider management UX**: Add Provider excludes already-added presets from the list; Esc in sub-pickers (Add/Remove/Key) returns to model picker instead of exiting; config operations no longer leave traces in the conversation flow (picker refresh is the feedback); `❯ You:`\nlabel restored for user messages\n- **distill-cmd import fix**: resolved export name mismatch that crashed TUI startup\n\n### 0.7.8 (2026-07)\n- **Provider config flow streamlined**: adding a provider now immediately prompts for API key (no more \"go back to /provider → Set Key\"). Switching to a keyless provider via `/model` also prompts for key inline. Empty input gives clear \"skipped\" feedback\n- **bash tool: file writing forbidden**: models must use write/edit/insert_after/apply_patch instead of `echo`/`sed`/`printf > file`. Fixes GBK encoding corruption on Chinese Windows (cmd.exe writes redirected files in ANSI code page, not UTF-8). `PYTHONIOENCODING=utf-8` set for\nPython subprocesses on Windows\n\n### 0.7.7 (2026-07)\n- **Code review fixes (4 critical bugs)**:\n  - `gitSync` anchor never set after full `codeSync` fallback → fast path was dead in production; now `codeSync`/`docSync` write the anchor on success\n  - `gitSync` skipped deleted files → stale chunks remained in index forever; `--diff-filter` now includes `D`, and `ENOENT` is distinguished from other errors (failed files don't advance the anchor)\n  - Completion guard was a one-shot latch → after firing once, further mutations could finish unverified; now re-armed with a pushback counter (max 2 pushes, 3rd passes through)\n  - Verify-failure exhaustion returned raw model text without honesty framing → now injects a system reminder forcing the model to state what's still failing, what was tried, and that the work is unfinished\n- **Input queue during processing**: messages typed while the agent is processing are queued and auto-executed when processing ends. Queue preview shown as a single line above the input box (no collision with subagent panel). `Ctrl+D` deletes the last queued item. `/cancel` and\n`/exit` bypass the queue\n\n### 0.7.6 (2026-07)\n- **SYSTEM_PROMPT split into core + discipline**: core rules (shared by all agents) separated from coding/testing/debugging discipline (main agent + coder), so explore/plan subagents no longer burn attention on irrelevant coding clauses — single source of truth, one rule changed in one file\n- **git-driven incremental indexing**: new `gitSync` uses `git diff` at startup to find files changed since the last index and rebuilds only their FTS5 chunks. Non-git repos / first run / large changesets (>200 files) automatically fall back to full scans. `codeSync` + `docSync` startup parallelized\n- **Embeddings backfilled right after reindexFile**: incremental indexing after each agent write/edit no longer leaves vector NULLs — `ensureEmbeddings` runs immediately, so freshly changed files are semantically searchable at once\n- **Project-instruction injection hardening**: AGENTS.md content wrapped with `escapeXml` + `<untrusted_project_instructions>`, closing the prompt-injection hole from malicious project instructions\n- **Compaction threshold**: triggers at 60% of model context window, reserving 40% headroom for injected context\n- **readSSE tool_calls name dedup**: some APIs (GLM occasionally) resend the full name instead of deltas in the stream, and `+=` produced `readread`. Now only the first non-empty value is taken\n- **Edge-case thinking across all prompt layers**: plan/explore/coder/main overlays each gained an edge-case recognition rule (open-ended, no scenario enumeration)\n- **Testing discipline refined**: full-test trigger changed from \"touched core infrastructure files\" to \"changed core infrastructure behavior\" — adding a helper to memory.mjs no longer triggers the full suite\n\n### 0.7.5 (2026-07)\n- **Compound prompt instructions split**: 8 compound sentences across SYSTEM_PROMPT / main-overlay / coder-overlay split into independent bullets (one attention node per instruction), improving instruction-following on DeepSeek/GLM/Qwen — fallback clauses like \"add tests after\nchanging code\" no longer get skipped\n- **Testing discipline strengthened**: SYSTEM_PROMPT Testing discipline gained an independent hard rule (changing behavior/adding code requires tests); main-overlay self-review checklist gained \"do existing tests cover the change\"; coder-overlay final checklist gained a test item\n- **Plan mode workflow**: main-overlay's plan mode instruction split from one compound sentence into a 3-step numbered flow\n\n### 0.7.4 (2026-07)\n- **verify tiered self-check**: default quick mode (syntax-check changed files + git diff + self-review checklist, milliseconds); `full=true` also runs the full npm test suite — no more waiting ten-plus seconds per line changed; quick satisfies the completion guard, use full when\nwrapping up or touching core infrastructure\n- **Prompt discipline strengthened**: SYSTEM_PROMPT gained Testing discipline (when to run which tier) and Debugging strategy (diagnose before treating, one change at a time); coder/plan/main overlays gained self-review checklists (simplest solution, match project patterns, don't\ntouch unrelated files)\n- **Fix**: quick mode marked verification passed even when syntax checks failed, gutting the completion guard\n\n### 0.7.3 (2026-07)\n- **Image paste**: new `read_image` tool — paste images/videos from the clipboard, multimodal models directly understand screenshots, UI mockups, architecture diagrams (Win: `Alt+V` / Mac/Linux: `Ctrl+V`)\n- **TUI paste hint**: with a multimodal model, the input box corner shows the OS-appropriate paste shortcut; hidden for text-only models\n\n### 0.7.2 (2026-07)\n- **TPM/RPM proactive rate gate**: with `tpm`/`rpm` budgets configured on a provider, requests are booked against a local sliding window (60s, input+output) before sending — over budget means sleeping until the window frees up instead of gambling on 429s; covers the main loop /\ncompaction summaries / subagents / truncation resume. Status bar shows `TPM throttle wait ~Ns`; the gate is off for unconfigured providers\n- **429-specific backoff**: respects the `Retry-After` header, otherwise backs off 15s/30s/60s (60s window — sub-second backoff is pointless); quota/balance errors (`exceeded_current_quota_error`) are distinguished from rate limits and no longer retried uselessly\n- **Dependency injection as compact summary**: `buildSummary` (directory-level dependencies + hub files + entry points, naturally ~1-2k chars) replaces the full-outline injection; detailed import/export available on demand via `repo_outline`\n- **TUI menus**: `/model` `/config` `/provider` `/think` `/mcp` `/goal` `/session` `/restore` unified into picker menus\n- **Session robustness**: corrupted files or disk errors during archive/switch no longer crash — silently abandoned\n\n### 0.7.1 (2026-07)\n- **Context explosion fix (urgent)**: the startup dependency-outline injection is no longer unbounded — a multi-repo parent directory (thousands of indexed files) produced a 1.4M-char ≈ 350K-token outline, re-injected every turn, blowing up context within a few turns and tripping\nTPM limits. Now truncated to 6000 chars (with a pointer to `repo_outline` for focused queries) and injected only once per session\n- **Compaction escape hatch**: when history was too short (≤13 messages) to slice a middle section, compaction never happened — one giant message (huge paste/oversized injection) could deadlock. Now a deterministic slimming path: oversized user/tool bodies are truncated to stubs,\nreasoning_content and tool_calls pairing untouched\n- **docSync ReferenceError fix**: undeclared `failed`/`errors` made every doc index sync throw (two tests red)\n- **apply_patch tool**: unified-diff multi-file atomic patching (any failed hunk → nothing written), permission preview shows the diff directly\n- **checkpoint tool**: `list`/`create`/`rewind` snapshot abilities exposed to the model (previously only wired to TUI auto-snapshots + /rewind, so the model couldn't save itself); the bash destructive-git guard upgraded to per-segment detection (chained forms like\n`&&`/`;`/`|`/command substitution no longer slip through)\n- **bash process-tree kill**: timeout/interrupt kills the whole tree (POSIX process groups / Windows taskkill /T) — no orphaned grandchildren\n- **Subagent display contract**: only content/thinking tokens relay to the TUI scrolling area; internal tool calls no longer flood the screen\n- **Path safety**: `resolveInCwd` prevents symlink escapes (realpath double-check); edit rejects empty old_string; single-file incremental indexing skips hidden directories and node_modules\n- **Misc**: SQLite WAL + busy_timeout, single-transaction schema migrations, semantic version comparison for upgrades, MCP cmd.exe quote-doubling escape, gitmem skips commits when nothing changed\n\n### 0.7.0 (2026-07)\n- **Deep model protocol adaptation**: reasoning_content echo differentiated per model (`reasoningEcho` spec field) — DeepSeek/Kimi must echo, GLM must not; reasoning_effort enum validation (`reasoningEffortEnum`); temperature range clamping (`tempRange`)\n- **Qwen/MiniMax spec completion**: reasoning_effort enums (Qwen 3.8-max-preview), temperature ranges (Qwen [0,2), MiniMax [0,2]), MiniMax M3 thinking mode\n- **grep context lines**: `before`/`after` params (grep -B/-A equivalents), matches marked with `:`, context with `-`, adjacent ranges in the same file merged and deduped\n- **System prompt boundary rule**: never modify files outside the working directory; never use bash to bypass the read/write/edit directory confinement\n- **question tool input box title**: fixed to ` Question `, question text goes to the conversation area (no longer crammed into the box title)\n\n### 0.5.0 (2026-07)\n- **Codebase understanding**: `repo_outline` (dependency outline, auto-injected at startup), `code_search` (FTS5 + vectors + JSDoc), `doc_search` (chunked by ## headings), auto-incremental indexing on file writes\n- **Model adaptation**: 5 built-in presets (DeepSeek/Kimi/GLM/Qwen/MiniMax), maxTokens maxed out, truncation resume, thinking-mode APIs auto-matched\n- Session 5-slot archiving, `/session` switching, tool results shown after restore\n- Subagent streaming output visible, final reports in the conversation area\n- File tools confined to the working directory, permission preview above the input box\n- write/edit auto-attach git diffs, edit error messages with better hints\n- task auto-filters completed items, proactive reminder when all done\n- Prompt guidance: \"check official docs → save discrepancies to project memory\"\n\n### 0.4.0\n- Permission approval shows content previews (write content, edit diff, bash command)\n- Todo panel progress visualization, status bar token usage and context utilization\n- Two-layer project instructions merge (global + project AGENTS.md)\n\n### 0.3.0\n- MCP client (JSON-RPC + stdio, zero-dependency)\n- Skills system (`.thincoder/skills/*.md`)\n- Plan/Goal/Question tools\n- Prompts externalized to `.md` files, subagent role overlays\n- Strict task discipline (keep ONE in_progress), completion guard (file changes blocked without verify)\n- DeepSeek thinking echo, system prompt prefix caching\n- checkpoint snapshots + `/rewind` rollback\n\n### 0.2.0\n- multi-provider configuration (switch between endpoints)\n- Initial setup wizard (arrow-key model picker, key entry)\n- `/think` thinking mode toggle and reasoning effort\n- `/model` model picker\n- bash streaming output passthrough\n\n### 0.1.0\n- Agent main loop, 14 builtin tools, zero-dependency TUI\n- Three-layer memory (personal/project/team), FTS5 retrieval\n- Session persistence, context compaction, streaming SSE\n\n## License\n\nMIT\n","readmeFilename":"README.md"}