{"_id":"tianshu-tui","_rev":"85-905ab824c4b2e45af83d16d9ac00377d","name":"tianshu-tui","dist-tags":{"latest":"3.22.0"},"versions":{"2.9.0":{"name":"tianshu-tui","version":"2.9.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"MIT","_id":"tianshu-tui@2.9.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"90b6ec6033e77cb49a8c1b23cedde9e504ee69f7","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.9.0.tgz","fileCount":95,"integrity":"sha512-4qNj6mcUvWL6wbbvsAoawJHp1R18UWeoZnanQruhYjjYMkCkNIkLRuuqfGnoV/WrcSz92fv4d01BbSjtqPzamw==","signatures":[{"sig":"MEQCIADrkXrZ7qdzUMcBy6qrFFpuoJT7pI1fpNvNaX49iVqNAiBIvWR9jOcW26jGQowy74+OdtD13Su3eKm0grx2ZAVYmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7456101},"type":"module","engines":{"node":"22.23.1"},"gitHead":"c7e6f4a445a2c4ca1687bfd62a864a41c56cf27e","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.9.0_1782696343015_0.01498405880953424","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.9.1":{"name":"tianshu-tui","version":"2.9.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"MIT","_id":"tianshu-tui@2.9.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"a6d288a0262ec654e0c5792beec0c5414a15fec1","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.9.1.tgz","fileCount":95,"integrity":"sha512-EN3Engw0k6RP9LCllbhtP3W2UQfcj0ngTZPwyt8V5/hP9e1sff5hiW3L3IZG+WihYUL0mYo1e2/mUWdns71IXg==","signatures":[{"sig":"MEQCIHuXyHrgLInk+U6Mr7W9sMHRvCxXx0uR46ZgzU//uuaIAiBIo2rAFAWsjvAv2j3cu+KRvltjFXJHWk2LlXmDakd7tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7456101},"type":"module","engines":{"node":"22.23.1"},"gitHead":"c7e6f4a445a2c4ca1687bfd62a864a41c56cf27e","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.9.1_1782696477105_0.11722280799937312","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.10.0":{"name":"tianshu-tui","version":"2.10.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.10.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"0bbe8fa3b301704cefbdf8264f1cd112576b4abf","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.10.0.tgz","fileCount":96,"integrity":"sha512-2mKqPzoCO770fbr6smyqH37/G1nkZ+983dudMTeT19Xl7Zj56UkyqvteBXWCbhwJLpVhZjUbgu20DfBnIiUMMQ==","signatures":[{"sig":"MEYCIQDsJKiEJ0HaaBhII6wp0VzxNugTJ8U1cJePJwNHNlHGQgIhAKwsxiTZZ+Ls22iGKxTOLXNiiYD6T8c96sTjA4EAaBiS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7512661},"type":"module","engines":{"node":"24.1.0"},"gitHead":"28e94c15bcc8ff02af8ff4cbdd21192a50f26137","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.10.0_1782801424049_0.1257954645511956","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.10.1":{"name":"tianshu-tui","version":"2.10.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.10.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"5364f3a41a7a72f2054beedeac18378e8077d485","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.10.1.tgz","fileCount":96,"integrity":"sha512-4/Tz+sAzuomSiwR1I8F27YBc+tc2abHsHCcuGfUgqvKwqNN5YAlKoygn7QmV5AwFUxQo2qkKeHdjSAJkZkWjwQ==","signatures":[{"sig":"MEQCIEQoc/Wgy8Ko0yBpWOp1I/1qB0fH6ETPH2gKZXTMLPabAiAc3DGm7BrDoi9vtYaFMM1Iz17n9VQqC+9SSYXWzu6DLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7513031},"type":"module","engines":{"node":"24.1.0"},"gitHead":"3befe814e941a923524a7a8f3bbc03b206041626","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.10.1_1782808773928_0.6359617591904725","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.0":{"name":"tianshu-tui","version":"2.11.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"a1e23df8da170eea8a50d1e5895196dc2c67e76f","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.0.tgz","fileCount":96,"integrity":"sha512-iQ2WMfsGVEQqj07hofB7t1Eo5mKPcqjSa4S0O33mIIwODP7tam73Hrmu31YIlSCnu9aztAdnis109YHh+oO2qg==","signatures":[{"sig":"MEQCIC7lNHK46A5HpoUJrhEQ9Voc9YkN97utqESsY25Q7EOoAiB+AGRRrLgCFlZtMAJVJIY8tPcfWS8UScMyn5FAeBDhmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7596512},"type":"module","engines":{"node":"24.1.0"},"gitHead":"8fec022ede699a165bc9f74a56074e8b999a6ffc","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.0_1782891013846_0.33670326985322285","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.1":{"name":"tianshu-tui","version":"2.11.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"fbd1f11ce579fb6541c329f84ecb4471f1c6c5b6","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.1.tgz","fileCount":113,"integrity":"sha512-0ayGkB5ZFKQwOVPlLBpXg6EqZLHD54H9Jk+IQ48DEbSgMRHY+H01Uqkjgcif0h7p7zGwEPZ0NPk2TiRC9hwEVA==","signatures":[{"sig":"MEUCIF5c8PZQp2HKUYOW2Vs+3H8wmnQ+ypm1rbfSr4JEkZdiAiEApfLpCEI8eYkxvkxDaPogCJv1JDLjzW/ORHEfUH6myRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7759579},"type":"module","engines":{"node":"24.1.0"},"gitHead":"053148637594725063ad7f1d78bc0c359bae3306","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.1_1782895996799_0.03562789334413141","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.2":{"name":"tianshu-tui","version":"2.11.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"064ddf9e3998e40790aaed82da08b9aa4cb284d9","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.2.tgz","fileCount":113,"integrity":"sha512-b8bPdbPSFcfuHDPEgOx2oAcVT93CdYN3Yu4A43YJZQ4OepJtjnvDVo8Gc1hZCFML+zl1VGHVCPKr2y1Ue6ByjQ==","signatures":[{"sig":"MEQCIDfsCbW7Hwzb/EhyaTm9fhITbtxWpDOXPdldReqBTiFyAiAnLHxN7BchUCiZ15U89vWCTgi2mqO1/uXEocdVOC7kgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7759572},"type":"module","engines":{"node":"24.1.0"},"gitHead":"9d92bb4229bfb518fccd9b4968e0eb6ea6220c69","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.2_1782896470305_0.27838367502672456","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.3":{"name":"tianshu-tui","version":"2.11.3","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.3","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"e72b71544fc009a95880cef2305fd4eb84299e9f","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.3.tgz","fileCount":120,"integrity":"sha512-UEUziitz9zRIWDz9ybEIJSVcJaU8cbLYU9M2l5fe0O/NJv5jGaH1spTYCpCg5i6MgzBKgd6T/cuXcBJ3Szw9zw==","signatures":[{"sig":"MEYCIQCs8A5RhpcbNstPJM2xQRCFh6Wk8/zWxbrxxiDB9FsnKgIhAJ+j/TkFY/qs23RyhpPq4t5pml9psBD4hgJrtI9DPmI7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7910121},"type":"module","engines":{"node":"24.1.0"},"gitHead":"7450e27eb69fff257b6d9969b6c75c728a445ee1","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.3_1782959091668_0.5826262086696725","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.4":{"name":"tianshu-tui","version":"2.11.4","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.4","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"0d4e687b79069f52ccabf8608c2cab387370e078","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.4.tgz","fileCount":120,"integrity":"sha512-kyFiK/HPqhiab8bp9xgeKLJxpFLev/iU9XLoNpe4gouhcShi+SJBAhyNXJ4ffslPz54+O7hJOeVGB5wdaviOww==","signatures":[{"sig":"MEYCIQCwk97+wLr3/stBt6Pu38RjGndmoi81Gd0mNYRu7yobiQIhAJSE7De/yNiOg7KxbiPaloNutNzxE8EkwfE7YDJ4tRcg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7912273},"type":"module","engines":{"node":"24.1.0"},"gitHead":"cd9fd054fd761ba82e58ae847fc5f3faa30dff9e","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.4_1782966619936_0.8044258848346943","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.5":{"name":"tianshu-tui","version":"2.11.5","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.5","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"dce0139ff1a8bd9c0f875f2356fa3772d3e59f90","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.5.tgz","fileCount":120,"integrity":"sha512-EkEAKd/JAsgdtlhNSyiDU/t6Kx09JnZONTbHbyqab4IEVSrkzksWYT2oF0qk9cVdDH9EE1GpnlUnAqXjb5WpjQ==","signatures":[{"sig":"MEUCIGh5aIGvYpTVr5hnKeKkDbaIcbl6+QBwxRBPX14kL6J9AiEAyUX/YLs5zkaL2wg8ePj9oZiD/kFw+YEeu88+UBq/24g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7914047},"type":"module","engines":{"node":"24.1.0"},"gitHead":"09ddb7eb10bb62cde69b4bd3bdf62a8d53d1a2ce","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.5_1782970691537_0.026439759821095032","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.6":{"name":"tianshu-tui","version":"2.11.6","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.6","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"ab1cd850f78df4475e98f1d0edefdabdd1fb4d74","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.6.tgz","fileCount":120,"integrity":"sha512-RTDASdkLGwm3HAZVwUSBaL7VTi1sHt4kUmIhmw0KDNApsfqyIe1sQVzfQ7g4ta7Kc8w1LqkV7pgLXHl0gqkdRA==","signatures":[{"sig":"MEUCIQCkPU2y0M95UCrkuTyHO9t0dswjwRpEhdaCGNOn23mkWgIgf9dT/qPhI/Bb5vyrt+a1SQ9iGl5lql0Yo+nF0BdAsQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7914572},"type":"module","engines":{"node":"24.1.0"},"gitHead":"a0dd69e07b9a925c389a54fb74ef498ee3458adc","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.6_1782974404997_0.8737178992378203","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.11.7":{"name":"tianshu-tui","version":"2.11.7","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.11.7","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"454fbdac46c7753b901a42b459bbc5037ef38049","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.11.7.tgz","fileCount":120,"integrity":"sha512-6M5ZzePKC9SbRpwfa2M4jrR1Q+d3HmerjW4tSHvhAQ1VUkgspEz3Zvnn5j0HcHOxBkeRaUA5gDNNn5QqxYh6XQ==","signatures":[{"sig":"MEUCIQDtBMWceWvBWyGUZlOG9s/3fZeaJVWZp74NWrVyiyCjggIgJNizAlP/A/Rgjy+3Qf8SHlKUhsL5LjBj0rM77fkcR64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7915182},"type":"module","engines":{"node":"24.1.0"},"gitHead":"f049c97374138c43f7e6ddc4b3a09c0671fe8517","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=1536 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.11.7_1782986793607_0.10561695510577707","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.12.0":{"name":"tianshu-tui","version":"2.12.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.12.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"93043c1452f1360c47de006f89a82dfd2bbc385f","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.12.0.tgz","fileCount":120,"integrity":"sha512-D6eyhi/hWaMvpBozuXrylWta8ZjfIH0D6IN2QKY6Dn8rOWcOSpecEPHPqPNzs1BMT3BX+WKCCeiyOBnS5dl/ig==","signatures":[{"sig":"MEQCIAcDyNAcwp8WTP9OvBSFFn3LaDKEOQgcXlTyigGtYT3VAiBMQ2jse9B8AqeCOi7WtQgjDtL83+PDyfcDjRVtbGcuqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7981827},"type":"module","engines":{"node":"24.1.0"},"gitHead":"364491db65ae65cfc5b0afff27b76f36b456dbf9","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"10.9.8","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.12.0_1783044185352_0.9506431671975597","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.13.0":{"name":"tianshu-tui","version":"2.13.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.13.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"f181b6b35f1e3ae0f36547f80077cbd011f7580a","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.13.0.tgz","fileCount":120,"integrity":"sha512-c3RSJKOZYfnzbfM98YHZJ1r7+Sdm95wDqWPzSyZNQl0GPm2zp8XIlKpR1X5rxdb/s05QVADOR6wT5E2Oh/Fh4w==","signatures":[{"sig":"MEQCIDJAyaentYaz/WY7wHuE0zAzcNFvXq7ZiUt80c7XcI4wAiA71fBkQVFdWXOauZci60gMqViWhup9lmEuDtsz75CnQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8138861},"type":"module","engines":{"node":"24.1.0"},"gitHead":"c503369fb79207dfaa07b5dfcd1bcfa9f2699322","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.13.0_1783147959007_0.3888151679670455","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.14.0":{"name":"tianshu-tui","version":"2.14.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.14.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"d31dc259f634f42849771c6991640e7b479687df","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.14.0.tgz","fileCount":127,"integrity":"sha512-hXNs56bHuRuYCQA4ORr2Ldcz1vCaG9UrwHraI0V09fLt6cUB4Z0L4GL8qV390TRIX3qe1I4AVxWQns+PC4rnLw==","signatures":[{"sig":"MEQCIGaaAhTAgatEiLIFJ2woXgGvtksly/P9RxlkWOi6QybiAiAd+jfo1B2Y53ckDiKylfQGrtGwp4MpAPL7oroype4hsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8314074},"type":"module","engines":{"node":"24.1.0"},"gitHead":"7f6348cf79bb4ce39367ef4134ed7687d92b39f1","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.14.0_1783242045818_0.38668430726234604","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.15.0":{"name":"tianshu-tui","version":"2.15.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.15.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"6172a24a9c29740c82f008c277dc0850e083d1e6","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.15.0.tgz","fileCount":115,"integrity":"sha512-mboKnOUQ5sEzSwXAsLlizMNqHtGJpDe9vMY03wK6CCznVuVoBoTXbuhJlXty7hRKqSIUobanyccBpsSbw4MbCw==","signatures":[{"sig":"MEYCIQDEwKaD26vBi8w+6sRMag0xJyxGsegCVE+G9dWCse6nXgIhAIRnOtsujnIZ+WDqSaxWqRrU8pCX/vnxtTW3pt17aaz1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8197349},"type":"module","engines":{"node":"24.1.0"},"gitHead":"9d4b3b43f716096c2c436ccb8b729315cd7dfe35","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.15.0_1783307476462_0.12751401791044126","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.15.1":{"name":"tianshu-tui","version":"2.15.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.15.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"e38da0447b9416a5357950fb2a7e7d6831028370","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.15.1.tgz","fileCount":116,"integrity":"sha512-WJcXylCCGPyWDY0eVnRZAS17s7uNR1N/EjcXOPvQcD5CywknIauqeT56vZHYVCpyzIuzBxmr6f1b1OwAdErwiA==","signatures":[{"sig":"MEYCIQD3AfhoVsKZ7SqP5QDsYK/RN1K/8mq2vcIUp9ILWwdT8QIhAPfuU2sm9aSHxCQxQ3zB5fg8hH0LjkdUoqxFUqkB/ZG3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8218608},"type":"module","engines":{"node":"24.1.0"},"gitHead":"e0351f44670320be24a55044151b50e02397ca6e","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ink":"^6.8.0","zod":"^3.24.0","diff":"^9.0.0","react":"^19.2.6","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/react":"^19.2.14","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.15.1_1783327211375_0.41501964533873736","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.0":{"name":"tianshu-tui","version":"2.16.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"651639c6dbcdc547f03793cd901ecc3b77c832c7","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.0.tgz","fileCount":119,"integrity":"sha512-MTzOO5ZKRgCA9/Qv0ng1AfwvJSJiG/M0A5tvEo+zvtu4MLI8/06VRv/QDyZZOYuZfIfQ6GZXYZgaMCHrjxDkIg==","signatures":[{"sig":"MEUCIQChZNd5eB26JawTQ+30z6gTaZ1ycwHvQxJuFBjhG58eZQIgXD8XGzJAWD31YfxB3r8NFOaWyvWaCOiY/BbfbkC8ev0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6898128},"type":"module","engines":{"node":">=24"},"gitHead":"6da07304fbdb96aee8f13ad217e0e735d7547876","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.0_1783407490410_0.604049098518217","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.1":{"name":"tianshu-tui","version":"2.16.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"e4760dff550ddc12800b723a46a807dd1f83159a","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.1.tgz","fileCount":119,"integrity":"sha512-3StL8TW3wkn2Cu4Yl02ElGS5jCHlzLuhAjI6pB+Tsc58urogKRyugZFRx0jXO6NZL0sK9VwH9GpDlXrTvP6xPQ==","signatures":[{"sig":"MEUCIGub6emGxZk4XyB1np3f6o48JIllkzhxmxKfemZe0mAvAiEAwZ+YDMU41u6BSqdna6hqQirWV7Qh4lKyGII8iL2pE48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6898564},"type":"module","engines":{"node":">=24"},"gitHead":"3b88103b845b4273b6cd9a5f90a9fb17254b4eee","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.1_1783413662589_0.9458624849447463","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.2":{"name":"tianshu-tui","version":"2.16.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"4581c4d91473388500940970ad076bd143b25a31","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.2.tgz","fileCount":120,"integrity":"sha512-W/8tCqRTeZJZ7XQPgL8TCQ0vwBdP4XYCESSVwl1zlynykIQKWnVHZYwVIB3GjY+4VRN5szj45A66yvOIrOd9BA==","signatures":[{"sig":"MEQCIDffPwp1EeS+mjTY4wmSB5vRrbqgcIp42bJ5pqdRsQBIAiALjWeMRUQ3TqH3XfjiazcoIgH8UKWMGMeMN7RHIMR+UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6899412},"type":"module","engines":{"node":">=24"},"gitHead":"51b3166b81ca29572d2fb3539a395c0d10b48ecd","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.2_1783414116106_0.8866857095646081","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.3":{"name":"tianshu-tui","version":"2.16.3","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.3","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"21225806484a738aecceeddb045e14468ab82e09","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.3.tgz","fileCount":120,"integrity":"sha512-iPDYBgq3Hzt0E0K1I9HehAbVEjehLBUp8tL7yKcSy0ayBqcQCvKvjuQa/5xmK3kR5aOr9TfOeAwGX4nDyVhxkg==","signatures":[{"sig":"MEUCIFJ351cVnufw0SJ61Q1ioAYMZ7x9zl2yzrYrmAm3BPBwAiEAz5iNVpF7I8DuFbrE196vMUqPqGtUhIJmR1HKtMoIpK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6914205},"type":"module","engines":{"node":">=24"},"gitHead":"307d52f6f8103dd1b5dacdd634c9d72a051d8b05","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","typescript":"^5.7.0","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.3_1783415656219_0.5706425351157796","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.4":{"name":"tianshu-tui","version":"2.16.4","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.4","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"fff83f0d24ba6d2a11a1a718261c2624bd1e1034","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.4.tgz","fileCount":120,"integrity":"sha512-mGq8ibxXmLrZ3W8xULSNeder+meenvaFtoeVGwbvJnUedEAhvOjJED+SCL+hrgUW5rVo58fEFdXXo07AfiM5Uw==","signatures":[{"sig":"MEUCIDP84mNk79feAD5LxM1pQIBVqPSKTx3RHXE6dBDmzybQAiEAzJMwzCbmLsHyVqg34gOeVSXMb+rE3mykpJTtyMt7XKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6924661},"type":"module","engines":{"node":">=24"},"gitHead":"33cd32f544de9573a892bab5ea4acf846c0b506f","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.4_1783473170891_0.11285723592756325","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.5":{"name":"tianshu-tui","version":"2.16.5","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.5","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"b03c797ceb4c5d319d437cd43ed96be4651d47f8","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.5.tgz","fileCount":120,"integrity":"sha512-NLiTQSPRnzGLI34ZSrU4cGAzbG9mjpMWs8TTedXI9TNkjM25umlK+ZyByPnUw/LmzcX9movaMMStEL9ZRjUVvQ==","signatures":[{"sig":"MEUCICRzmPuPcx+/bRVgTwd8DmELibAskpnKZOz/XOP8L5gvAiEAs6ZPII3G2I8Z+Sjnx9pjHA14hHYwsKQR9lyVagE/qlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6928348},"type":"module","engines":{"node":">=24"},"gitHead":"3db878696c41bc3c35cc2c0cf1ed2cdd655c11d1","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.5_1783475002792_0.8795785016118911","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.16.6":{"name":"tianshu-tui","version":"2.16.6","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.16.6","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"f33943fe53624a78de80af2898deb05e95f24d4c","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.16.6.tgz","fileCount":120,"integrity":"sha512-//k4Mdd6X456/+BvDjSbXHRfOq+1vfvGsFpgKqb3h1LUZsXxs3CoYdprRTYulOYwEJCPIAfbbtkayf1QTU2jnQ==","signatures":[{"sig":"MEQCIBqYbskqUX7BqmACzjCVK6NUbLx9vO0Luj0pBw8otj4sAiAZRj9CR9e142wlu6KGSXYMI8vK/uonClFToif/qkEtYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6940425},"type":"module","engines":{"node":">=24"},"gitHead":"bb08b3ea8708e1c7ad6f525dd9db5cf3a2f3a270","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.16.6_1783480703822_0.5269435363630437","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.17.0":{"name":"tianshu-tui","version":"2.17.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.17.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"7fc4b023e3031d747ac7bcd7d1f2d277c3a9bfdb","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.17.0.tgz","fileCount":122,"integrity":"sha512-gxeiEwZY2fkXfe3yQhJazSz30ucODxmfwQSEVIJojzSteGbax+Oej3whL1WTJY6CId7H6lxccDxLoRQKXY3bbA==","signatures":[{"sig":"MEUCIQCJXgUsbGe+0k6QkDtQUGgA+g6lSaqaazl5WHO80keWxAIgRwK8EtQ8rTX155nZTk/uogZweKqEqLDPwO1LfGZK1k0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6942666},"type":"module","engines":{"node":">=24"},"gitHead":"bf32c3d923c4b31d771a16e20204e922d37d729f","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.17.0_1783492502157_0.6692476251253621","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.17.1":{"name":"tianshu-tui","version":"2.17.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.17.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"94e2982fd40fb14961f86c7b806e30c9394e8bda","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.17.1.tgz","fileCount":122,"integrity":"sha512-yETm8tTGkbw8OX+6v522QMxP3i5jynYlM8CbE84igFqc0nCSxJ/2IN/ZWKN9OBwpScVdADAEb2B2Qhx4eRfJsg==","signatures":[{"sig":"MEUCIQDxW+Ali5caWUo7WKeTMM8u9pCSCzHdR4lzZ93K1P+ybAIgEjNG7JZMSP1jBhdlIeqm4UPoqQRbjoRA2+vxhf8W53U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6942957},"type":"module","engines":{"node":">=24"},"gitHead":"39c4ff313528cb79836fd95dafcb088754978914","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.17.1_1783496864630_0.1558510729953122","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.17.2":{"name":"tianshu-tui","version":"2.17.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.17.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"fac56c577ceb5d06bb3b6ff75ce52edae3bddfe9","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.17.2.tgz","fileCount":122,"integrity":"sha512-9omZhDeyE1IbyXOUslcJamW60WDH71dQDhfUPndPVlhgti4qtBB8X5XgtjgaEdMhyq6HvT2p0dalMYTKirqJNg==","signatures":[{"sig":"MEUCIQDiaWH17Nx7tKvsSglmDKj8LoJEmv/QvU773eSglikcjgIgCtOgz6JJnhP0V1FIkO++aTxInvoyg3vImPEzQkxYH4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6945329},"type":"module","engines":{"node":">=24"},"gitHead":"4d109e923605f61389a39eb79f7ebd46f84410a2","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.17.2_1783510102790_0.6029999297353643","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.17.3":{"name":"tianshu-tui","version":"2.17.3","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.17.3","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"d7a66bf9ced3c2296106f2ed74b60cec2776043a","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.17.3.tgz","fileCount":122,"integrity":"sha512-FvzNxhQDwdE93bwZ16bGHj8Wn7pROBhU3sOdikld7bOVDojxJss7RanqpFWr5vI0mRJX3GXc6Y2b1FKTxjZBuQ==","signatures":[{"sig":"MEUCIEFSEY3sGLG3N4ZzF0jZc6bjqHu2GhozXLKvzFMKfHsYAiEAlzpDYNuTUGKqnlSswGg2d/ToffGURWHP4d87Qsp4ZuM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6956189},"type":"module","engines":{"node":">=24"},"gitHead":"028bb3ba6fa0c0e8825b74a2d8e1a0c892b6c80a","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.17.3_1783511894578_0.551734944727891","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.17.4":{"name":"tianshu-tui","version":"2.17.4","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.17.4","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"15626c10f465aa824fc0cdaf1751533189d139d4","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.17.4.tgz","fileCount":122,"integrity":"sha512-Il5bamNJF3qpjj2FZqSa48D95N7++HPv7gMk+K5ZvJ9pzumdinmkktdxpbhUGtTEXHC3mEGAvI7jhyRVv6ng8g==","signatures":[{"sig":"MEUCIHjaXMFLEZVotuXNHQ+IdRQMAoQUpC0x2WTTTrXGrsGJAiEA4OPqy4fs9hlPJkUYkPUphs+2H9fHZ9LInnkqTdMfvBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6960411},"type":"module","engines":{"node":">=24"},"gitHead":"62d3fc7328a39651860e57ebc98fa16de8b99f50","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.17.4_1783523430429_0.2313755508343629","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.18.0":{"name":"tianshu-tui","version":"2.18.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.18.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"d4568ba9d533ba48bee3f396bd3fb39d62268346","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.18.0.tgz","fileCount":127,"integrity":"sha512-UZimJhzBIBuipmjckWopstHgnvS/kbPRGM3IlBUNSy78312R88ilL6WGwm6KyW+AKMMwXZwgatngDB+xp8A2DQ==","signatures":[{"sig":"MEQCICy1hSXHEhsmQKcz1EGscecoeC1b+SP2w2pinwO7EuOmAiABkwXNiyxCfNli5sewvSLjjf7qUG91Yd9wsQlmtcsJag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6990443},"type":"module","engines":{"node":">=24"},"gitHead":"aaae97515ab4b24711ddb00aefab5ad66c5f8d79","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.18.0_1783599490397_0.42724029833409327","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.0":{"name":"tianshu-tui","version":"2.19.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"103b1aacc613ccaa1f082da364186f23834cf83d","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.0.tgz","fileCount":131,"integrity":"sha512-16YAndk8MMNl6HB5MQKARcTzqSelyJ4iWJ+RCNygK1hcsJLuSVsEpzvZ995WVZfDm98Twhksq1GnXkyynJiJWQ==","signatures":[{"sig":"MEYCIQC6Phs2zKdH/6+xY3PpRwIBAAKXYnScK5pFKByCX0Cm8gIhAKumrsagUWAZwtQOYQGfaR8dIo5XkAiTK13q41EEKXmP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7234781},"type":"module","engines":{"node":">=24"},"gitHead":"bfe67a24b03d4497c771840b7b870c41b851edd8","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.0_1783907027053_0.98797357786539","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.1":{"name":"tianshu-tui","version":"2.19.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"4b7c0353877387eb10eff686abdb036ccddc4c24","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.1.tgz","fileCount":131,"integrity":"sha512-aN50eSuYL4uPrQUuNYGRA1Grw4aUZsRKscjCCPBMrgmUAyw7hAk2oQ+BRGbQix6PqoznQc0m1w88TVU5BgGetA==","signatures":[{"sig":"MEUCIQCK8/8Qw4TOC6u0UDGtPpnFN2o3cj5WTQLqSvAeTTbpSAIgPNE4+O45eJt2JQ6CumMBIBvw4hwaiFh9r+LyswuD1v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7245486},"type":"module","engines":{"node":">=24"},"gitHead":"0ac8327fdf09bcea5c25b8b6cf225028e94bf891","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.1_1783926357080_0.8426923820832954","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.2":{"name":"tianshu-tui","version":"2.19.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"3bd7f983f9ef029add159f93a4f5cee54850e0ac","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.2.tgz","fileCount":134,"integrity":"sha512-DGTj5aud5Untl1cHQRg0R8B0Lpt+wSnWk7vHKWK7Xe6XnvFcj9+Yk1MO3UFN4znPh3S3FOG4o53xHBafgrGJ2g==","signatures":[{"sig":"MEUCIQC2ZDHa+ebiru7yI5lD3IrhRZGPzJ6v65RRlC2P9bgxBwIgLs1Eadebb02pBoDVD9AJB/mJSorTJI8IBWD8ido32EI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7252502},"type":"module","engines":{"node":">=24"},"gitHead":"19d93c426f252b1a13af983a380cbd5f2bf69907","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.2_1783958618868_0.545901797216894","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.3":{"name":"tianshu-tui","version":"2.19.3","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.3","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"fe728294a7374755ebcb53e6222174e72d3a9367","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.3.tgz","fileCount":143,"integrity":"sha512-FLcYK5ORObhdXCW5wFzrvFSCQNdIWbqcDk1P0QgJporRPWssnNhcDC8imAxfvFxZHTwK462lw8aWFYXWKu/y9w==","signatures":[{"sig":"MEQCIA0l+cbq/1ejOVPwnA+/EWxU/+i659YmG1B8nM7HfvT6AiBFg/SkoylcPaMxT3cw0Qvmb+JbAsWBcsckVBI834BvtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7364177},"type":"module","engines":{"node":">=24"},"gitHead":"80560441181ac7a7c194dc3b5ee2cecd7e588009","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.3_1784096057026_0.9782191935180538","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.4":{"name":"tianshu-tui","version":"2.19.4","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.4","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"c5c46cbb43ae3d041040fca7e2c12c053cd408b4","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.4.tgz","fileCount":144,"integrity":"sha512-Ia3SV8wtbT383yH0vej6GcneLvUQV5+7QvGsRt/FOog6mhWPWZXgzVbw7j7QUlRzQc7/Ag1l9yjFOwwFzVZZ+A==","signatures":[{"sig":"MEQCIAMsHgdtl5wccTkTiHKDxflClU1UKEeKe4vmGnFIeyzBAiAmS03DOMRgXv7KrtnjmXDEmmqsOGwWHshwFA+dmWmdhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7512971},"type":"module","engines":{"node":">=24"},"gitHead":"840987fb2f45e1be942e8225d646e825894f3dcc","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.4_1784213045948_0.9769304071328799","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.5":{"name":"tianshu-tui","version":"2.19.5","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.5","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"e55c97e01725dac0b5a457a6c11e3fc3ed9dc2a1","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.5.tgz","fileCount":146,"integrity":"sha512-tskcWO8EgRkaidFC1Guh79S11ETkpWRd9njYje+UOH4s/nCQrA+VQTGwLGTQOIWMKrUYIVwTJUNFCisu66S8UA==","signatures":[{"sig":"MEYCIQCESKwLX6TKAxEHmoLTB04psR+2l3TUieBk2PT3wu7krQIhAIbazUVO0Af42+786XDHHM986IBpF9/7xMaX+Cc1HIvz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7743514},"type":"module","engines":{"node":">=24"},"gitHead":"156aef1bb37d9c7f249dd1ca886c4a0eb69d74a8","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.5_1784386291706_0.3867492715358738","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.6":{"name":"tianshu-tui","version":"2.19.6","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.6","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"81db116bca8ca8874979982f5929ef14ced8798f","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.6.tgz","fileCount":147,"integrity":"sha512-s0Tyqq/2u3Lc1HBrjUighWqgHeODh1Wq0I/pnUwZaihACiZp0g/K0HFpuTxLOHK4CvlvFQa83cFVvmIGBhy98w==","signatures":[{"sig":"MEUCIQD+2FJ3aWq33Wz1nq1vYQFzJ5zfqylqEUScYLPR9D8qYAIgVSmtsZBe0Bb4KblpvGkgSubszO9pT+N0E6hGhSPBa5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7774028},"type":"module","engines":{"node":">=24"},"gitHead":"921bdcfc64319b76969bd646054fe109bcf3cc0d","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.6_1784436713853_0.0771933290622111","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.7":{"name":"tianshu-tui","version":"2.19.7","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.7","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"9c1c2dc609e9f90c2985fe084f3fed6e65dbd7dc","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.7.tgz","fileCount":147,"integrity":"sha512-uOzlOc/kteg7dXejNB7kHJKcRqcM6fi4l+huiybm8ykW5GEgorwQsuQCm/EmVqMXNCvK3TQpH2/h4mAcClwABA==","signatures":[{"sig":"MEYCIQDaVTUVqwfLvJSCLhr0nnadg+XhaB9QniwYYqJpJ5gK6wIhAMOWYcq12cMLLZWHY+p1pGdESpu+R8tQbpbQcEzz4S4q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7774268},"type":"module","engines":{"node":">=24"},"gitHead":"dc462f2f1bd08038c6128e73dd0b5ce13d6522fa","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.7_1784440678804_0.872788103413791","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.19.8":{"name":"tianshu-tui","version":"2.19.8","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.19.8","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"b94fe491006da2ce08c80c834be506ce6d1988a1","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.19.8.tgz","fileCount":147,"integrity":"sha512-IT3to5UwxNfqyZmWTruZttjV4uHWen8qDXjc40+rBcsqOGc3kwN+EZI+Em70CEIIttfnbULFoEuxNG0QaLJQcg==","signatures":[{"sig":"MEYCIQDonmdglhm0zHu0/9wITVvaZH9wF0Fxp2G7QMvbeAFw4gIhALW7l3qECaF5LhUKXCnLR4mbBgpItUjbD3LsM61LSBIl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7799980},"type":"module","engines":{"node":">=24"},"gitHead":"97f8021370f610e96a04a84e9427cce87fc70b22","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.19.8_1784519017103_0.3923752618837757","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.20.0":{"name":"tianshu-tui","version":"2.20.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.20.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"64da3ec88246a681fdc0aa2e6cc3a436860d4f37","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.20.0.tgz","fileCount":149,"integrity":"sha512-MsIvhoLgr0Bh7DAuiQ1y0YZBUyfJT4NGNnmGRD9JJ+3qCb4SXQBgIRkqudMgb+ykt+PcAA5/ktJzPiXFJl1svQ==","signatures":[{"sig":"MEYCIQCQ9kJT99ped1C3NfeX/ZoHmGPsmTptjbsQNLxC5/QZcQIhALzoYqwABinxpIApkjBkC5TCYA7rGaK5aj5Z4tScKuBK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7927453},"type":"module","engines":{"node":">=24"},"gitHead":"483c81e8225e09b647d59dbba7200a7d162027bc","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.20.0_1784616706735_0.48785734175171","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.20.1":{"name":"tianshu-tui","version":"2.20.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.20.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"cdf6f57072ff88857d32e956cd5e58ff286c140e","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.20.1.tgz","fileCount":149,"integrity":"sha512-KPonBpugbbxz8wlm/WP2Ls4AgR898LtxvNrC2e8kxGJKk3Yp5rB9e0GSb4TuikebVbfvlSw96ApvZMOl3civ8A==","signatures":[{"sig":"MEQCIBXhkoNPtDDUcet1pWhNRy1UOuH6zYA2sQ53uc4GJrSzAiAFH4cmKYi0JrSKZTYlHMqpU2ARcvwZ9aJHRHL55nJjVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7929759},"type":"module","engines":{"node":">=24"},"gitHead":"3259dd49813d4f822e30a085c424d4081a81bf89","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.20.1_1784684886867_0.8062640460739312","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.21.0":{"name":"tianshu-tui","version":"2.21.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.21.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"43e6e04d5745dec6e82409e6f61d69314aa04524","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.21.0.tgz","fileCount":151,"integrity":"sha512-+xCXFnV2IWOrUNaG2EdK79MuWHcjBJOjQxanSrdMf7Z6N+Rg3YZkphZ9UjhyoE/2nolsRaWxEKGfX16ukWVLQA==","signatures":[{"sig":"MEYCIQDMzuGgAwssUxkDVMYF8gBSOLb/H+iXjyby6VgX4WvpyQIhALNxlohP2h3L7keTOl0aNfFfzjcs1Jb8Asch+b+ivoW+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8053339},"type":"module","engines":{"node":">=24"},"gitHead":"6105f1f5ba3b40875faa27080ce3d593987f3a6e","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.21.0_1784869548845_0.9936810780489527","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.22.0":{"name":"tianshu-tui","version":"2.22.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.22.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"8959bae5c84436338ddb8afa686fa4e704f9ce22","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.22.0.tgz","fileCount":155,"integrity":"sha512-t/wDrkY8M8nd0tSskOgmAyfNn7gwcib5kgBxtHZhD66lkmGStS0GsiX0CR7FgmZ5R5XTcO8KyIiHMjK1MbwxXg==","signatures":[{"sig":"MEUCIQDFpbTFPX+SLovhiru7uugiCzQUTqGrBHEx1VcwNh2IxQIgK7U146EUlRNu+iUY2FNgiPYSfUrmp2EbogzlCyJ9PxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8229500},"type":"module","engines":{"node":">=24"},"gitHead":"6e25dbb6c959a0a6843bec3ce1536e1b912680d9","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.22.0_1784982447445_0.8567850349890309","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.23.0":{"name":"tianshu-tui","version":"2.23.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.23.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"deceba357ac5973d6c74ab86403154a006e864db","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.23.0.tgz","fileCount":156,"integrity":"sha512-bjenKPeIwZjSz+TRPdQbvhOgaMgRYRZcGjLMmhMoGZENlXozXqDBE3QhdVsvhngq9VUO7JReH4SynGb94wwRqA==","signatures":[{"sig":"MEYCIQDfpg1USrkj2LNSniESr07GSDYg97pTdS6FyXlzKtD3kgIhAN3fHiEJdV6GcUt4sBRzUKYfvYbbOsT5bFKmTYbMuBhd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8316754},"type":"module","engines":{"node":">=24"},"gitHead":"95454cd05bc60b6536dce5f41c3f9697793336e7","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","prepublishOnly":"npm run build","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.23.0_1785032910178_0.3034643292749133","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.24.0":{"name":"tianshu-tui","version":"2.24.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.24.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"8ef8f87a44b68c7dce23eb263b2a6b67555df812","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.24.0.tgz","fileCount":171,"integrity":"sha512-CUWCp4JVcw/Bg4JfYO0Ts/cMpMVK2HGiKZoF0CIFsQiT9UTtPWFMgNlfGAa9KMz/mvnhqt2W0RF49vDyfN9s8g==","signatures":[{"sig":"MEUCIQDP9TXoMlBbdb/Hj1nQbSslnL6bX/bP69Bf0+rAGVIH7gIgEeLI5ssJrVprRqO/+5oG9bTtMUlKhMb1D/6QW30Kc68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8587968},"type":"module","engines":{"node":">=24"},"gitHead":"c561c86ad07a92e06a922d7d66acd83a2090b5e4","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.24.0_1785134685703_0.3609466263686796","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.24.1":{"name":"tianshu-tui","version":"2.24.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.24.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"1bf1d7604adca93bac1694b257e33238c2c78224","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.24.1.tgz","fileCount":171,"integrity":"sha512-3/Iw/QX6RW+hJ7S6Q3BJ8WNTVooW/DMNhyWbqzV9X/JHETK3rNuqmP/epM0rfYeUjTZrQGM42fkFEhEaqxGGsg==","signatures":[{"sig":"MEQCIFNmvhJBEXcwMqN8/g4uFaIsZGipczlx3Euw1InGFSC5AiAx0N0O/gLOliM88s7MObkn5nw6035iucRXjkiyXqjQoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8588840},"type":"module","engines":{"node":">=24"},"gitHead":"07cdee916d6f97200e9296285e6b2bc31a2876a0","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.24.1_1785139653219_0.3965771724277105","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.24.2":{"name":"tianshu-tui","version":"2.24.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.24.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"4ca9d1c0f2db1b8063d99bc9c44c6abb9bdfc21f","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.24.2.tgz","fileCount":172,"integrity":"sha512-PAiFgmBE8L/heXuSWNmEEd9thyAq1rQD+X7QIFYqM4V8Gjrx1d9SuLJpyGNWYeQJkQlOj860I5WQnN098Z4nGQ==","signatures":[{"sig":"MEQCIFUYDkEpHxn6iBPwik2dtm2iyqyX57pm7gGiTFGKwZB3AiBQ+M6XNZTxX367FNw4xqHRfAZ2Oi+iOmvfVhP9jUAdnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8657323},"type":"module","engines":{"node":">=24"},"gitHead":"76ed1585c0c3ebe6e3011cc8b82fc12bb06a272d","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.24.2_1785200998864_0.6863614880923288","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.24.3":{"name":"tianshu-tui","version":"2.24.3","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.24.3","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"59e8ee84c64dd73b1d0a9cf5b348118b1c2c5448","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.24.3.tgz","fileCount":172,"integrity":"sha512-gFcflCFAiSKor+X/nyvxnMqX73Cus1MuU4xQMF84yF7cChq826WiZwxcvPXLeB6CrJoV9jvv+oOBHanNl3YNpg==","signatures":[{"sig":"MEYCIQC+ZH69fAwDmDuhb0JQUVBP75Hm8b622G1f221e9C0d9gIhAP9//udS7uKkKCWIdlgWU/11gp6hNR3fGYmMTuQ00dhS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8657648},"type":"module","engines":{"node":">=24"},"gitHead":"a4108438a3fd42e249cac00f13e7bc32185ec5fb","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.24.3_1785215909087_0.13017170293622327","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.25.0":{"name":"tianshu-tui","version":"2.25.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.25.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"de282d6ccbe215d503fb5d0572896e9c3ae54ed7","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.25.0.tgz","fileCount":175,"integrity":"sha512-YlEB3d5AA99ILcG1ffTLetoJMULqLhTUE97LEj8MshYS94BKJVDXG7ArAQ9IboCmSrVro1ZCcU996GrxN4MRbw==","signatures":[{"sig":"MEQCIEShENZRguVjwLotDujUaugCABA6CCG65FJTh/q/C6cKAiA+ayhUaeXR1QruQo0cLS7UPzRy1sZ4uamojDrbfJtbKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8770322},"type":"module","engines":{"node":">=24"},"gitHead":"da5ee89fb9e8fb35c3343730f03a97463aa396c4","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.25.0_1785291583928_0.43299423637140233","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.26.0":{"name":"tianshu-tui","version":"2.26.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.26.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"94f6a55ebccadf47525099b9d3c59ccc367fe139","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.26.0.tgz","fileCount":180,"integrity":"sha512-/RauhPWlhnpNPy5X0Ie7PddKkQCr5B9jeqNv36ibeo4dXNCtJ1bJsNq0kohoxSEWfSgM1Nv/toRiX+Mx/aJsqg==","signatures":[{"sig":"MEUCIQCUUNstbGTv0A1hupGfqmcBmlvUN1T8s8VG4WDHDL7JmQIgVrqCVKi92UBT7VIJZQhEAr5E5bICfrY0LLS9cY9Ffq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8908089},"type":"module","engines":{"node":">=24"},"gitHead":"20932728317bd42752abe1856d59c13042324172","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.26.0_1785459226252_0.5077506106214147","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.27.0":{"name":"tianshu-tui","version":"2.27.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.27.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"1995462abc6b21e3d7e0334cc63d63644a519474","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.27.0.tgz","fileCount":207,"integrity":"sha512-j+CNBpQOKDvbH/Un6k1rXXEuwNZJh9yluv+daM1rQLtbWHh8XgV9uFw81JnMQ5dWPSoUtp6B9Ow33Jk/lwVnXA==","signatures":[{"sig":"MEYCIQCkIqinHtBN1lEcvJpN18GRi4bI+YtiDlTh9Jk0onbYDAIhAO/L8rWw7wDaDgaakADzSXOvGoN/Fw/Ev5LsCnD3q7lQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9200505},"type":"module","engines":{"node":">=24"},"gitHead":"8ddeed4f8cbd02698c8915933459e1af147ff0bf","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.27.0_1785651152639_0.8974453359414598","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.28.0":{"name":"tianshu-tui","version":"2.28.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.28.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"e6fa9d36c947a852cc8699242e04bc3a9d050f68","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.28.0.tgz","fileCount":217,"integrity":"sha512-Af6LgK8Hj2J3dcnk5BkXUKuM2XDTaGsY8BJczc+auzLhGclU5zwpkLT9skk/T3SsawcgzlTh6JgDtwu5EGheoA==","signatures":[{"sig":"MEUCIFEHYPgqMjD/iioGd3xq4cSyd8zVueQ3Y99t+2zbKbrqAiEAzjZpcz/DTRweZbQ9n5qAsTcoTrPtW9ei3m3KkkQHsR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9348097},"type":"module","engines":{"node":">=24"},"gitHead":"099feef66518da80e2c7d13cde863b96ae579618","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","esbuild":"^0.28.1","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.28.0_1785742520192_0.9543863138841615","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"2.29.0":{"name":"tianshu-tui","version":"2.29.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@2.29.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"f674bc9b819e5da8973a3429ee3dfbc5a0dd7387","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-2.29.0.tgz","fileCount":223,"integrity":"sha512-OjvK36Nw0nYy7L85LB/3FabxmFlOFwkLQyXz1IAWJv3ERVlj20otF+9PeELYb38sK+wZSwBuhvdotdIxjAA7pg==","signatures":[{"sig":"MEUCIQDozq9AwDAq8RS8NqCotiA345IuqBASFMuJuMjUNnNUVwIgf67U7H20INFGU1s7tww8o3m2wJqY30sKaQU0XAidtz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9588065},"type":"module","_from":"file:tianshu-tui-2.29.0.tgz","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsc --noEmit","build:dist":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:baseline":"tsx scripts/typecheck-baseline.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"_resolved":"/Users/banxia/app/deepseek-tui/opencode-tui/tianshu-tui-2.29.0.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-OjvK36Nw0nYy7L85LB/3FabxmFlOFwkLQyXz1IAWJv3ERVlj20otF+9PeELYb38sK+wZSwBuhvdotdIxjAA7pg==","repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"zod":"^3.24.0","diff":"^9.0.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","esbuild":"^0.28.1","exceljs":"^4.4.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","typescript":"^5.7.0","parquet-wasm":"^0.7.2","string-width":"^8.2.1","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","get-east-asian-width":"^1.6.0","@ast-grep/lang-python":"^0.0.6","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","tsup":"^8.4.0","node-pty":"^1.1.0","ts-morph":"^28.0.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","@types/better-sqlite3":"^7.6.13"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_2.29.0_1785920871053_0.023042263043979494","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.0.0":{"name":"tianshu-tui","version":"3.0.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.0.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"81effea219015e577a0beccd2ac2dbc4717ba0ac","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.0.0.tgz","fileCount":229,"integrity":"sha512-1p5Zl0pBEuxCG9CwcZNO48Vre741sV7p6jKt/nqC0GOnGgT9qk0MuvIG7gK7K9/uqnFzQZtKbeMbX6TENekokg==","signatures":[{"sig":"MEUCIF3dzsDWxJ0/wt7hfMNW7daZwQU+doYF/JaHKjCSG870AiEAx/LgTwfZNoYJiW1fF4cVXXoOZrBQttpsec1PVNLFKUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11995318},"type":"module","engines":{"node":">=24"},"gitHead":"1591e1980ede2ebea8e8f876d2a7cf88d38c6a82","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1 && node scripts/prune-installed-wasms.js || node -e 1","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","node-pty":"^1.1.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.0.0_1786188679584_0.08675647325586122","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.1.0":{"name":"tianshu-tui","version":"3.1.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.1.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"2c7618f8041bddb957567c8c8857baa7a18a6778","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.1.0.tgz","fileCount":232,"integrity":"sha512-P7E90wrg3xIO/5AdD1NvJIe9EX78g0Pe+mENpjNEBPJoVWzysWJqOENazyxGN68kmwETXfHR7hIm9eXw86K9Ng==","signatures":[{"sig":"MEQCIHXkuHfw/aIhP2jxnejP5QzZMy7GG4s6/YkTtQb0NknVAiAc9KlscVgKT0vlWPTpHd1Rg2iJ079nscqxbuCIunQaJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12032546},"type":"module","engines":{"node":">=24"},"gitHead":"0f0f84cb3ce016f75251f10f4109d0caaea3c4e5","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1 && node scripts/prune-installed-wasms.js || node -e 1","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","node-pty":"^1.1.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.1.0_1786290976280_0.5788342485664741","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.1.1":{"name":"tianshu-tui","version":"3.1.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.1.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"9228493b999ec4425d51f01763b5ad5b410eb6dd","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.1.1.tgz","fileCount":232,"integrity":"sha512-r1oj1X8vGvBTW2tSv1dtIK5U4dRymwMLfRHFXGg0rXiqxq52GsW1uz3kRVrxNqnYeBumPZN3t0Smox0YfvPFwQ==","signatures":[{"sig":"MEUCIGrrwfk9XQDmjKBxQVV/tCOYvs8aRyxcJi4poTkPd/y9AiEAlOK2QuLS+QCA+85R0XnF9lyMnQVziC5VLj8mem9vAwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12039625},"type":"module","engines":{"node":">=24"},"gitHead":"01eaf9d4f22900a22215a5249eb5504154c18c75","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1 && node scripts/prune-installed-wasms.js || node -e 1","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","node-pty":"^1.1.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.1.1_1786325480302_0.18711028171733846","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.1.2":{"name":"tianshu-tui","version":"3.1.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.1.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"bb5f377ca636f781c69a3412fe2fd11da87493f8","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.1.2.tgz","fileCount":231,"integrity":"sha512-NQroSLvR0M1eoJ4V02fGaiqbJZ7ve3WVFXRxb2oHHKddzaGFOqxk+S8vbyJ/jLOn+GtH0qkIlIqkSqiTeUwpQQ==","signatures":[{"sig":"MEUCIC/xL1JRtPufFv/te66X4PQLnKaHl3cqaMsbIKbSKCB/AiEAgbZ3amFxKTBYZB+1w10RTCbKoMaLhuoz/Fo9UrOjozM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12041671},"type":"module","_from":"file:tianshu-tui-3.1.2.tgz","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package || node -e 1 && node scripts/install-git-hooks.mjs || node -e 1 && node scripts/fetch-native-sqlite.js || node -e 1 && node scripts/prune-installed-wasms.js || node -e 1","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"_resolved":"/Users/banxia/app/deepseek-tui/opencode-tui/tianshu-tui-3.1.2.tgz","overrides":{"esbuild":"^0.28.1"},"_integrity":"sha512-NQroSLvR0M1eoJ4V02fGaiqbJZ7ve3WVFXRxb2oHHKddzaGFOqxk+S8vbyJ/jLOn+GtH0qkIlIqkSqiTeUwpQQ==","repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","node-pty":"^1.1.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.1.2_1786356475130_0.29232339479659397","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.2.0":{"name":"tianshu-tui","version":"3.2.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.2.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"5b019758d6018ae39c015e5a21e44b7ba81883ea","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.2.0.tgz","fileCount":230,"integrity":"sha512-0iuI9N7RXOLoKUHo7JKy8eXYjIjO707+2HJt4EuV0TvWYae/q3OMUapjWXChPQyWQGMqozN5dW4g+d4gzE3GPg==","signatures":[{"sig":"MEUCIQCEmOTqNlTFO8upRRNHjAN4+ogWuafxj5KG1bO7HeaoegIgB7OvQP7EK9j+mq6fiAcR393jv+BTHWEZrKYd09KFZZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9906033},"type":"module","engines":{"node":">=24"},"gitHead":"5e8979caf9960a55b544ab93dbb4472a38120d0a","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"patch-package && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.2.0_1786684094834_0.5478495211901035","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.2.1":{"name":"tianshu-tui","version":"3.2.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.2.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"6a3b8edb14896bfdb8f0b2d0428a8fbdcdc374e3","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.2.1.tgz","fileCount":230,"integrity":"sha512-SQ7+Xpub6XZfSuNaxLZ1W/ssYUfidhJRlqcvMAh/q0Xr0hbcA4fLB5Moc21CgQY1HdEfM9dtOyl2wUDII4jcsw==","signatures":[{"sig":"MEQCICeEJrvRrhb39J4DJCX1L+4BYNuc6fa0UDcwQEE0EOlPAiAGT1IA1Ee7yR+wnZKM+QJF8lPQx+3+UqcioxigGvRLbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9918597},"type":"module","engines":{"node":">=24"},"gitHead":"74153679fb431e8bc2edfae5abd3ca5aa3f54b98","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.2.1_1786758521760_0.3459613146258942","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.3.0":{"name":"tianshu-tui","version":"3.3.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.3.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"9858b7b32fe629b64c56577ca5bc65a4a9163c52","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.3.0.tgz","fileCount":231,"integrity":"sha512-bN1MhB+IhUByZWP5nQqcPrTnj9IgEaPimc0Rdd8mduORwyrZG0bhNV4AppQ0Cx8QEGFeBduVhoqw0fNzwkKPwA==","signatures":[{"sig":"MEYCIQDReiBCP9vwpJoJsrSU1bq71eEQLYcqqjRc9iZIBNg5CAIhAMJcypYKU86e101VLPSczVLZWCDdjYDjW6+2t/KPLjqI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10132453},"type":"module","engines":{"node":">=24"},"gitHead":"479cc82c4dbfa8d5396256ed71d499ca933ac4eb","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.3.0_1786828660148_0.1119484796505339","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.4.0":{"name":"tianshu-tui","version":"3.4.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.4.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"a3edc36021b7e1554743a5a268c38a4d100fcbc8","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.4.0.tgz","fileCount":231,"integrity":"sha512-kpSFWrd2J0srTnI5P1TQvzy8mui+6lno4uPV+bGrOZ/TTZjLpft/9EMaiAjv8DQJsLrOX8XD/+Row0hTjt6nAg==","signatures":[{"sig":"MEUCIAcxXHeuveVUv2NkSjv3gx9YrenGtCgA2tNDrLzm9JbEAiEAur8cjm/uRG44b6PNS5eJLIyQIL+AJL+VueXQVrsmEc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10140598},"type":"module","engines":{"node":">=24"},"gitHead":"15b6ee26063e83f7aeb90cebddcbeb96f19cc026","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.4.0_1786928632134_0.8837946809205472","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.5.0":{"name":"tianshu-tui","version":"3.5.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.5.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"9b45dd9384eadc0a7a5ce64dc8a6601695ad3ef7","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.5.0.tgz","fileCount":231,"integrity":"sha512-XIo1JMOaCOPhKdkLYATjKEyT/KqQ2CTmq9OYgxIGseGvIPjKpZC0PUrK7iuXwE5HaJyyoiYzZ5ioaO+Vb3hhFQ==","signatures":[{"sig":"MEUCIQC9PF59j9aMlikkLCvqEU4LxRegiOmr8TMHABsPN1iaKwIgIiy5Kd+Y2ZQb/DwnVTUpxSz4+IMLqEI9UfR5HakBroU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10177786},"type":"module","engines":{"node":">=24"},"gitHead":"4a1228226b7d1d57fd4375a4a8e69976c7a45893","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.5.0_1787098870117_0.45473471164265344","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.5.1":{"name":"tianshu-tui","version":"3.5.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.5.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"724fe1b42aa7cd69a87eb7788440fa7444f1aecb","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.5.1.tgz","fileCount":231,"integrity":"sha512-rURW8zmisG8Yj1YKfEa7Aa1YJI9Q79YYAEsGm9FFv2Jirt+GoIDCEgYyTLLgCpndVvpEPJIh0g6L3P2jGfyoRw==","signatures":[{"sig":"MEUCIQDurfsLRYzsBP7g4WWz0xDBYCyi1w5gifv28VUu0geIIwIgAZcCWP0QAMuxXj2uy+SBG0yM3wUu0+2ky70MKGFMzWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10203462},"type":"module","engines":{"node":">=24"},"gitHead":"b729b35b94aca2f988f2520e424e60bbef749f93","scripts":{"dev":"tsup --watch","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.5.1_1787409006068_0.16981981068460295","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.6.0":{"name":"tianshu-tui","version":"3.6.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.6.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"481e86a9e9fb58bef8eda357bf402bed14e4e7da","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.6.0.tgz","fileCount":229,"integrity":"sha512-QrhkpNbBhxFOrazN/Tjg9hTcPRwZLC6qaFRD1GdkN/tBLSxgaHTr+6B/S0oiD1EFdXY63VqSHgjTodNylZUfCQ==","signatures":[{"sig":"MEYCIQDBMxUz+Ucezn3oZHUso2XlUat7QjQavzMf0tXk3+bKbAIhAMlvYGZ/2TZlQATYgpDbD5O5t1j1jCGCypmv4op9QZ/N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10250779},"type":"module","engines":{"node":">=24"},"gitHead":"15ecfc14af2004699c0396c729437611d0a18b91","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.6.0_1787684876672_0.9398500544059059","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.7.0":{"name":"tianshu-tui","version":"3.7.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.7.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"d1be5d9091efdfd1041a4a62a7a20496ca697a68","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.7.0.tgz","fileCount":229,"integrity":"sha512-+YqUt6e7w/xCqCntIoQyZnrqeQJiCIjsFHmrFBs6SP1cTuVH3Jk/HyHBnKsJjph41SxRynlHOr18Iwbrf7VkLA==","signatures":[{"sig":"MEQCIBXii+QlRFln1WzoP1R1vBSKaumRdXu1ZKKujudW6GmhAiAffj7KDa3IuphfT/kMUJkVED0qp+TaZg2LaK8pNaSUxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10264179},"type":"module","engines":{"node":">=24"},"gitHead":"45133b1f0d5d9c7b8ea02fc4a40384b0624a1a1d","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.7.0_1787791829428_0.42287085033373994","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.8.0":{"name":"tianshu-tui","version":"3.8.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.8.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"10da41c0612a2a112fe7a4bc86681b3259366334","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.8.0.tgz","fileCount":229,"integrity":"sha512-DGBH9z2ITStf068ZTGwoI51pJue8fVYW/V3GhiBr8jrd7gwXLNvUkwI4klWU6FCyzmgTf62VrgqqNEoF2PaL5Q==","signatures":[{"sig":"MEUCIQDlR1/IlYvgBWbTAsAoH3x70gcW1EvHvsUa+GPr+HFyhwIgHiD3uICQAHTUXRWD7rI8CZTzG3oBXekCEGeecagThYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10267240},"type":"module","engines":{"node":">=24"},"gitHead":"d0ba74de9cc91592f5fa2949a1a0eadea5fb77db","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.8.0_1787841367069_0.6755473846569395","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.9.0":{"name":"tianshu-tui","version":"3.9.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.9.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"6cc1cb7d0fc99aade049769e11486a0dc0df4ac9","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.9.0.tgz","fileCount":230,"integrity":"sha512-4SbTRVxjGYWNc8I2zmRAlJPPLgCzFeepvI4uqJDh99fZ+KPBLonJ+JReDYcmtz+U3EtEiJ1CFwX+rijJvqnYEA==","signatures":[{"sig":"MEQCIC3OXnvh6QjN/BVD+/kHK1PtigHbr9uwwwerY/8bp6ahAiAydbpoEAvZaFEbX3WXciAm4NMN+m4xfU3OEOeLkeaVEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10382261},"type":"module","engines":{"node":">=24"},"gitHead":"1d5be0e46c6d43323292ce8f4b06fbe14e7d88e4","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.9.0_1787968136956_0.3377200781163745","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.11.1":{"name":"tianshu-tui","version":"3.11.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.11.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"59811495240faa2699756c581c2ae68864290ecb","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.11.1.tgz","fileCount":229,"integrity":"sha512-CtS3qOT9Qr/IIcB/Pm7XGNGQL/sb6ID8/3qSabYbT+KsozMej52VqoX4vV0KkSpiyU7mIgQ8Hhtc6UusaUsYhg==","signatures":[{"sig":"MEUCIAIFSTaEmM9ono1i8uqxZmE110iCrDkATZhF5aorObBnAiEApnCojRftloJsm45m++A/y4e5avmfgvPT2piv9So/jgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10537483},"type":"module","engines":{"node":">=24"},"gitHead":"20b9f5d059d46962daaff05446870ec5e8949b04","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.11.1_1788382208881_0.9841275078515956","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.11.2":{"name":"tianshu-tui","version":"3.11.2","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.11.2","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"7c89399daa0d40d4f82d0aad173ac8e579e6ccbb","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.11.2.tgz","fileCount":235,"integrity":"sha512-zeOPGdZoljNIDh+ZOvnBpCYiUsgpJ8ZjKeBsy7d+4x+t6wYs3Ay5D5PwTUVjEt54KULY6Q5ER6rXKsfc3f8CFQ==","signatures":[{"sig":"MEQCIHCHhD7o5W8jUHGlrmlo+bWHsaPM2iAOOOq4SDYwmLd6AiBNb81BRtu2azlVCxwkAdk4BPWv2HoLxDtYbBAirNinug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13030960},"type":"module","engines":{"node":">=24"},"gitHead":"74222afbced59a49c3af44986d6c37567f944799","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.11.2_1788400199041_0.3379779462116632","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.12.0":{"name":"tianshu-tui","version":"3.12.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.12.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"8499f29fdf5cd77445b73c0f53d8c589a55a9035","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.12.0.tgz","fileCount":229,"integrity":"sha512-VE7R0CUG/v4/cGJwMxrTZhl/DOZRrk9n7ACfSvrDbl9SpiRHImJ+v9r8LrLTg2e++uc7thZmN0kcGaoTI80nsg==","signatures":[{"sig":"MEUCIAF36+6Y51dwmm5R/TlxznZ/NlFHoKOpi8ZnnsZO19guAiEAw+vLupGoJJ4lxzkF18nCd3EoN0kYWhCVsj0j+RbC3d4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10550598},"type":"module","engines":{"node":">=24"},"gitHead":"15e59aff72d4bc3fb51fdf7c5a277b63a6b4bdaf","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.12.0_1788489981017_0.8474242064754673","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.14.0":{"name":"tianshu-tui","version":"3.14.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.14.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"c3feac947002e7c84709f225d5f8e2d3ba3bb250","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.14.0.tgz","fileCount":232,"integrity":"sha512-E4S3YQJ5dB0eCFo6HCO2hzaqnzafOGRROzBu371WepE7t3Ra2P5Wt2/cp5SJ1f2OZPwm6U4T8UbZk7Wmh0jvBA==","signatures":[{"sig":"MEUCIH1zbCbbFwhvl4gqaVm2Sjwz9pW8YS1HBaaULiKt2YheAiEA9K1EZ+Wh7xCVa0sS4rvpIRHvez2LCM7GipwuQZgcu4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10844449},"pnpm":{"onlyBuiltDependencies":["@ast-grep/lang-json","@ast-grep/lang-python","@ast-grep/napi","better-sqlite3","esbuild","lzo"]},"type":"module","engines":{"node":">=24"},"gitHead":"6d0d8b33999bc3e2243026ee5ad4eced1b1628a3","scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"node scripts/check-mobile-env.mjs && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.14.0_1788668050994_0.6767146441886824","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.15.0":{"name":"tianshu-tui","version":"3.15.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.15.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"795d7158ff4eba13d94b494674c46c2d22ea2889","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.15.0.tgz","fileCount":230,"integrity":"sha512-MnL1G8aC81sYQcGkPdkFmNvrLNaIwzm8IXWsuhgQ9IZyIj6htQdVg2YKfHZKWby3ylNH7oR46u4bq2CgbZb+tQ==","signatures":[{"sig":"MEUCIQDCouZ6nqDy8SCDx774fs01xqNoyNdfzHsSPXJpE3qz+QIgcjOphLKoeBFC5YmgGAU0BWyI9phMkiuTYQo7Ecpw0s4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10383109},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.15.0_1788681991943_0.24236601000678637","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.16.0":{"name":"tianshu-tui","version":"3.16.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.16.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"204fcc5fdc10423b8de36243d7efb001ee6f4058","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.16.0.tgz","fileCount":234,"integrity":"sha512-Ao5ruaXhnAQet6imy+HUAbqQ9R1P5bcDj6RMEiJYuilA4Nt5lpPbBI7gNThzB0MCdKNtHQbaEWZfzRFDulsdxQ==","signatures":[{"sig":"MEUCIHejvvk+MisqE/w6Gj6xIlMY7Up/rFqdZZBBrr1EpGNxAiEAzEXzFvHLY6XvPiD3OdIy6EP48GUOC99Gij1UdY47hXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10487191},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.10.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.16.0_1788918957058_0.045854452169328264","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.16.1":{"name":"tianshu-tui","version":"3.16.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.16.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"acd31f9224646e3767f2ec9cacaa5ca54899387a","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.16.1.tgz","fileCount":234,"integrity":"sha512-NQzmiwtEBNJU6bLz2Wyv6X/uIfB9lHrLWHQVYYaF/1dDO3p/eJJKXJQ2DOWPmWJ8rk8a1wCQ2e8j77NEO/TdlQ==","signatures":[{"sig":"MEUCIQD08iMXYLwty2GZQiaJDlIu5nK+zUoog9QIgyxiFHtQkwIgWWiEpp0lZ6J7PpI8qF6DRGVfGN/F3+Uhsctpw0IPR44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10492048},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.16.1_1788943128639_0.4067018021070281","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.17.0":{"name":"tianshu-tui","version":"3.17.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.17.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"c3a3bd4ffa38a15ab169a4915f5ae5315ceeb874","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.17.0.tgz","fileCount":238,"integrity":"sha512-CikMXx4X+Dh0+Gp/R420NuPXynlm5m8Zvmn1qKEJFM7MhRye+55MhKmh5KI+GOmgXgO4D6dBRhYqKv0UOPeyYw==","signatures":[{"sig":"MEQCIFKzDjohBEJNHFLMYIjM8Pav9/jScpjs4DlKxnL9XUpDAiAGo2hSGD3quRrbORDO7jKZdIxEGYOZBRBDPD2K2YQvdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10744223},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.17.0_1789028983904_0.08370462644665277","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.18.0":{"name":"tianshu-tui","version":"3.18.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.18.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"27df71f39c3b4c8341d52f66ca91f5ee3cab2b36","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.18.0.tgz","fileCount":237,"integrity":"sha512-YsfqM1m2dRB4vP1tVKf9BEdcNRYE7EV54UWwzqFdj67vCRLB8m+PMvzLKVzrkHglLOavZ1NIm0ibJ6qBE3pe0w==","signatures":[{"sig":"MEYCIQCsYZqw1cq6/F87ex+7FWrOLh3w4teBA12Fl7KM79LOpQIhAJ7bj9nQkvHWRIX84UDwlFe6YvNNzgCQuitFttLi8S9e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDTk3ga2yE6KnpBvS1kAt3evNLu5ygQz9hyZ2cjMQxLEgIgTTRcMNe4YDpKeXeaUOKWUadYuTqpGjDwgZO5o4I+oig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10763394},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.18.0_1789095082497_0.1391508357909501","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.18.1":{"name":"tianshu-tui","version":"3.18.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.18.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"ff645c6d9ab242cf201e0859de8381b19e92417d","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.18.1.tgz","fileCount":237,"integrity":"sha512-HOZE8b0g8WYIyACOaMa0AzGiZfDXMvscI75lTu4wy0lu89TucfQiStIJo/pTK+Pura9kG3xiQAI5RFVJa31d9g==","signatures":[{"sig":"MEQCIBCWW43AMHKjd5h3v+v+XatJlIZWseMPG8J1LEWfvqC0AiANNUopB6+wSMxOi/3aBSp3wYJjWP9lc6qpMtkcROYEmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDIQlid2C3kToKfP/yY2UocTn/c2B0Eeh0xJ5Upn+g72QIhAIP/jZLtmD7nQsrUzhCb6iHSEoHwqAynrAOchiSUfY0W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10769110},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"(node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"TSX_TSCONFIG_PATH=desktop/tsconfig.json node --import ./desktop/scripts/test-alias-register.mjs --import tsx --test-force-exit --test-timeout=120000 --test 'desktop/src/**/__tests__/*.test.ts' 'desktop/scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.18.1_1789115034753_0.11485378299239057","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.19.0":{"name":"tianshu-tui","version":"3.19.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.19.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"326c4dab7238e6206ccced0abcb0fc4edeb40f18","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.19.0.tgz","fileCount":240,"integrity":"sha512-+rAAfgyVoMJFlDWI0m6CcGNY7Zy56FKBFcJCiqdcbOVdiszUIC0UMtMfZrgyA9NHKNfXzhYGe2F8F2THwhbMTA==","signatures":[{"sig":"MEQCIG6oxhDSOllD9DvMsbfZBElZqKaGxibTHQoTVurCX/AmAiAPLzo4PtHyvy0W2xuZyMGY1Nx5vr6h7/aT6PJMfPlX6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDDphFyPSKdrm3Bszt3wXYyG4giRXmG//LGdEYdGeTRQwIhAPVw/GgKhl9lDHyjKx5uovnHNxE3q5wD6LR3QrL5iRWX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10821997},"pnpm":{"onlyBuiltDependencies":["@ast-grep/lang-json","@ast-grep/lang-python","@ast-grep/napi","better-sqlite3","esbuild","lzo"]},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"node scripts/check-mobile-env.mjs && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"node --import tsx desktop/scripts/run-tests.ts 'src/**/__tests__/*.test.ts' 'scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.3.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.1.0","dependencies":{"esbuild":"^0.28.1","pdfjs-dist":"^6.3.289","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","parquetjs":"^0.11.2","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.19.0_1789221086460_0.8667348539037651","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.20.0":{"name":"tianshu-tui","version":"3.20.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.20.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/main.js"},"dist":{"shasum":"1de0e7eca3d3c4b19e1a8170868f547bb6bc8220","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.20.0.tgz","fileCount":238,"integrity":"sha512-dK0Qda64ESS0i1Blwo/C6ZNuRcdOS4q9BmO+vPDLaNAWX+J2aaIUlMOnNZo+gcPSM/Rj7UQhlrcE7S4QQTLDVQ==","signatures":[{"sig":"MEYCIQCVOj78A8YQumIq4mcM1U2knWs2bf8RlOhny0ui8pvHEQIhAMb15MtfY46cgOUqTMyzFj6AsrdRTh5n44xp1gVr8p1D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDyvITUhsMXgwfW8fXsXKPeAICaEbWxW9kdkmDTDYc7fQIga8Fn6ohu0catcDf0xubhJQ8FhVoNXJvdPoxi5z4IX4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11005950},"pnpm":{"onlyBuiltDependencies":["@ast-grep/lang-json","@ast-grep/lang-python","@ast-grep/napi","better-sqlite3","esbuild","lzo"]},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/main.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"node scripts/check-mobile-env.mjs && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"node --import tsx desktop/scripts/run-tests.ts 'src/**/__tests__/*.test.ts' 'scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","contributors:check":"tsx scripts/contributors.ts --check","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","pdfjs-dist":"^6.3.289","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.20.0_1789354546308_0.053043588479161796","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.21.1":{"name":"tianshu-tui","version":"3.21.1","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.21.1","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/cli/entry.js"},"dist":{"shasum":"3d0965a1f5e20ef2f1b8e9cfaada07a28c2ce833","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.21.1.tgz","fileCount":250,"integrity":"sha512-UioEUXJWNlf11dIRSqxevhg9YDuQZcLhkSQp9DJ5crZT8CME7E95nBhQEzF+bZeUPgCOY3Z6NLjg/bck8qwecA==","signatures":[{"sig":"MEUCIQDT8EWk/W7shwpj7fOftN5RZ/WoyzR7r3pfTYjPmcz+jAIgYMAEkyK77AZoUE1Nzo9Pj+4/9ow8nq/nrAkOR30AXSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCoMaYIPhLYhdUo9aX5zgU0loJuYQWHE38+18WQGW108QIgAwpzcd77W2/hHNVnibmZfcRArE63TrshTIitrJte86k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11093614},"pnpm":{"onlyBuiltDependencies":["@ast-grep/lang-json","@ast-grep/lang-python","@ast-grep/napi","better-sqlite3","esbuild","lzo"]},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/cli/entry.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","smoke:mcp":"tsx scripts/smoke-mcp-presets.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"node scripts/check-mobile-env.mjs && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"node --import tsx desktop/scripts/run-tests.ts 'src/**/__tests__/*.test.ts' 'scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","contributors:check":"tsx scripts/contributors.ts --check","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Terminal coding agent optimized for DeepSeek V4 prefix cache","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","pdfjs-dist":"^6.3.289","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.21.1_1789548101435_0.31556934882172016","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."},"3.22.0":{"name":"tianshu-tui","version":"3.22.0","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"license":"Apache-2.0","_id":"tianshu-tui@3.22.0","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"bin":{"rivet":"dist/cli/entry.js"},"dist":{"shasum":"3065f0ab2cb0d0015bcb0163bbf5523d8a6c9581","tarball":"https://registry.npmjs.org/tianshu-tui/-/tianshu-tui-3.22.0.tgz","fileCount":253,"integrity":"sha512-nCtrbEp+YsPSq8RFegDEicgJBPlgkZMf9bMbiZ0w6jwy8Grs6iHqaeQClL5S5V5lN7pgj0Cra63HakNbZiiuoA==","signatures":[{"sig":"MEUCIQCdws4z8x2OVXo5VfGQj7CMkiHru0JmOkgdBgkdXjvKfwIgZTleL76mHe/h6wydHSq6cuKq3V4XfWLACK8Apf5Ewhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD7iyZ69BK0B5srZMiW/ZjXsYOuLtfvTfA0nfoAjirIBAIhAMZai0nddy16dLXa+g1p5OZzCjXuir5hyjhD1vbSYdud","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10891275},"pnpm":{"onlyBuiltDependencies":["@ast-grep/lang-json","@ast-grep/lang-python","@ast-grep/napi","better-sqlite3","esbuild","lzo"]},"type":"module","engines":{"node":">=24"},"scripts":{"dev":"tsup --watch","lint":"oxlint src scripts","test":"tsx scripts/run-node-tests.ts","build":"tsup && node scripts/pack-native.js && node scripts/stage-runtime-deps.js","start":"node --expose-gc --max-old-space-size=4096 dist/cli/entry.js","prepack":"npm run build && node scripts/stage-cli-sqlite-wrapper.js","lint:fix":"oxlint src scripts --fix","benchmark":"tsx scripts/run-benchmark.ts","smoke:mcp":"tsx scripts/smoke-mcp-presets.ts","test:fast":"tsx scripts/run-node-tests.ts --exclude-tui","test:unit":"tsx scripts/run-node-tests.ts --unit","typecheck":"tsx scripts/typecheck-guard.ts","docs:check":"tsx scripts/docs-index.ts --check","docs:index":"tsx scripts/docs-index.ts","probe:test":"tsx scripts/run-node-tests.ts scripts/telemetry-probes","cache:audit":"tsx src/cache/cache-audit-cli.ts","postinstall":"node scripts/check-mobile-env.mjs && (node scripts/install-git-hooks.mjs || node -e 1) && (node scripts/fetch-native-sqlite.js || node -e 1) && (node scripts/prune-installed-wasms.js || node -e 1)","build:bundle":"tsup","test:desktop":"node --import tsx desktop/scripts/run-tests.ts 'src/**/__tests__/*.test.ts' 'scripts/__tests__/*.test.ts'","tokens:audit":"tsx scripts/analyze-output-tokens.ts","budgets:check":"tsx scripts/verify-source-budgets.ts","prefix:budget":"tsx scripts/prefix-budget.ts","probe:typecheck":"tsc --noEmit -p scripts/telemetry-probes/tsconfig.json","structure:check":"tsx --test src/__tests__/architecture-guards.test.ts","diagnose:orphans":"tsx scripts/diagnose-tool-orphans.ts","probe:thresholds":"tsx scripts/telemetry-probes/threshold-coverage.ts","test:incremental":"tsx scripts/test-incremental.ts","test:integration":"tsx scripts/run-node-tests.ts --integration","typecheck:direct":"tsc --noEmit","contributors:check":"tsx scripts/contributors.ts --check","typecheck:baseline":"tsx scripts/typecheck-baseline.ts","probe:control-health":"tsx scripts/telemetry-probes/control-health.ts"},"_npmUser":{"name":"huiliyi37","email":"huiliyi37@gmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"_npmVersion":"11.16.0","description":"Cognitive runtime (CVM) for coding agents — stable, evidence-gated delivery; prefix cache works with all models (98–99% hit rate)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"esbuild":"^0.28.1","pdfjs-dist":"^6.3.289","typescript":"^5.7.0","@ast-grep/napi":"^0.44.0","playwright-core":"1.62.0","web-tree-sitter":"^0.24.7","tree-sitter-wasms":"^0.1.13","@ast-grep/lang-json":"^0.0.7","@ast-grep/lang-python":"^0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","zod":"^3.24.0","diff":"^9.0.0","tsup":"^8.4.0","chalk":"^5.6.2","pngjs":"^7.0.0","oxlint":"^1.80.0","undici":"^8.3.0","exceljs":"^4.4.0","ts-morph":"^28.0.0","turndown":"^7.2.4","pixelmatch":"^7.2.0","@types/diff":"^7.0.2","@types/node":"^22.0.0","@types/pngjs":"^6.0.5","parquet-wasm":"^0.7.2","string-width":"^8.2.1","patch-package":"^8.0.0","@tauri-apps/cli":"^2.11.2","@types/turndown":"^5.0.6","get-east-asian-width":"^1.6.0","@types/better-sqlite3":"^7.6.13","@modelcontextprotocol/sdk":"^1.29.0"},"optionalDependencies":{"better-sqlite3":"^12.10.0","@huiliyi37/node-addon-landlock-run":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/tianshu-tui_3.22.0_1789737871976_0.8980673602994123","host":"s3://npm-registry-packages-npm-production"},"deprecated":"此包已更名为 tianshu-harness — 请改用：npm install -g tianshu-harness（命令 rivet/tianshu 不变）。This package was renamed to tianshu-harness."}},"time":{"created":"2026-06-29T01:25:42.737Z","modified":"2026-09-19T03:12:09.725Z","2.9.0":"2026-06-29T01:25:43.222Z","2.9.1":"2026-06-29T01:27:57.278Z","2.10.0":"2026-06-30T06:37:04.239Z","2.10.1":"2026-06-30T08:39:34.122Z","2.11.0":"2026-07-01T07:30:14.056Z","2.11.1":"2026-07-01T08:53:16.984Z","2.11.2":"2026-07-01T09:01:10.496Z","2.11.3":"2026-07-02T02:24:51.870Z","2.11.4":"2026-07-02T04:30:20.132Z","2.11.5":"2026-07-02T05:38:11.749Z","2.11.6":"2026-07-02T06:40:05.199Z","2.11.7":"2026-07-02T10:06:33.809Z","2.12.0":"2026-07-03T02:03:05.589Z","2.13.0":"2026-07-04T06:52:39.197Z","2.14.0":"2026-07-05T09:00:45.989Z","2.15.0":"2026-07-06T03:11:16.658Z","2.15.1":"2026-07-06T08:40:11.559Z","2.16.0":"2026-07-07T06:58:10.573Z","2.16.1":"2026-07-07T08:41:02.741Z","2.16.2":"2026-07-07T08:48:36.274Z","2.16.3":"2026-07-07T09:14:16.417Z","2.16.4":"2026-07-08T01:12:51.148Z","2.16.5":"2026-07-08T01:43:22.953Z","2.16.6":"2026-07-08T03:18:24.036Z","2.17.0":"2026-07-08T06:35:02.343Z","2.17.1":"2026-07-08T07:47:44.797Z","2.17.2":"2026-07-08T11:28:22.977Z","2.17.3":"2026-07-08T11:58:14.742Z","2.17.4":"2026-07-08T15:10:30.622Z","2.18.0":"2026-07-09T12:18:10.532Z","2.19.0":"2026-07-13T01:43:47.236Z","2.19.1":"2026-07-13T07:05:57.282Z","2.19.2":"2026-07-13T16:03:39.042Z","2.19.3":"2026-07-15T06:14:17.185Z","2.19.4":"2026-07-16T14:44:06.125Z","2.19.5":"2026-07-18T14:51:31.904Z","2.19.6":"2026-07-19T04:51:54.031Z","2.19.7":"2026-07-19T05:57:58.980Z","2.19.8":"2026-07-20T03:43:37.340Z","2.20.0":"2026-07-21T06:51:46.931Z","2.20.1":"2026-07-22T01:48:07.081Z","2.21.0":"2026-07-24T05:05:49.072Z","2.22.0":"2026-07-25T12:27:27.635Z","2.23.0":"2026-07-26T02:28:30.410Z","2.24.0":"2026-07-27T06:44:45.918Z","2.24.1":"2026-07-27T08:07:33.438Z","2.24.2":"2026-07-28T01:09:59.095Z","2.24.3":"2026-07-28T05:18:29.306Z","2.25.0":"2026-07-29T02:19:44.122Z","2.26.0":"2026-07-31T00:53:46.479Z","2.27.0":"2026-08-02T06:12:32.881Z","2.28.0":"2026-08-03T07:35:20.629Z","2.29.0":"2026-08-05T09:07:51.261Z","3.0.0":"2026-08-08T11:31:19.845Z","3.1.0":"2026-08-09T15:56:16.522Z","3.1.1":"2026-08-10T01:31:20.591Z","3.1.2":"2026-08-10T10:07:55.328Z","3.2.0":"2026-08-14T05:08:15.065Z","3.2.1":"2026-08-15T01:48:41.986Z","3.3.0":"2026-08-15T21:17:40.470Z","3.4.0":"2026-08-17T01:03:52.350Z","3.5.0":"2026-08-19T00:21:10.335Z","3.5.1":"2026-08-22T14:30:06.336Z","3.6.0":"2026-08-25T19:07:56.918Z","3.7.0":"2026-08-27T00:50:29.705Z","3.8.0":"2026-08-27T14:36:07.409Z","3.9.0":"2026-08-29T01:48:57.189Z","3.11.1":"2026-09-02T20:50:09.081Z","3.11.2":"2026-09-03T01:49:59.264Z","3.12.0":"2026-09-04T02:46:21.227Z","3.14.0":"2026-09-06T04:14:11.296Z","3.15.0":"2026-09-06T08:06:32.251Z","3.16.0":"2026-09-09T01:55:57.312Z","3.16.1":"2026-09-09T08:38:48.857Z","3.17.0":"2026-09-10T08:29:44.136Z","3.18.0":"2026-09-11T02:51:22.735Z","3.18.1":"2026-09-11T08:23:54.919Z","3.19.0":"2026-09-12T13:51:26.649Z","3.20.0":"2026-09-14T02:55:46.503Z","3.21.0":"2026-09-16T01:27:47.712Z","3.21.1":"2026-09-16T08:41:41.646Z","3.22.0":"2026-09-18T13:24:32.142Z"},"bugs":{"url":"https://github.com/huiliyi37/Tianshu-Tui/issues"},"license":"Apache-2.0","homepage":"https://github.com/huiliyi37/Tianshu-Tui#readme","keywords":["coding-agent","terminal","tui","deepseek","ai","cli"],"repository":{"url":"git+https://github.com/huiliyi37/Tianshu-Tui.git","type":"git"},"description":"Cognitive runtime (CVM) for coding agents — stable, evidence-gated delivery; prefix cache works with all models (98–99% hit rate)","maintainers":[{"name":"huiliyi37","email":"huiliyi37@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"docs/brand/assets/tianshu-banner-dark.jpg\" alt=\"天枢 Tianshu\" width=\"100%\">\n</p>\n\n<h1 align=\"center\">天枢 <sub>Tianshu Harness</sub></h1>\n\n<p align=\"center\">\n  <b>把东方的星辰带给每一位开发者 · Models as partners, not tools.</b>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://tianshuharness.com\"><b>🌐 官网</b></a> ·\n  <a href=\"https://atomgit.com/huiliyi37/Tianshu-harness\"><b>🇨🇳 AtomGit 镜像</b></a> ·\n  🇨🇳 <b>中文</b> ·\n  <a href=\"README.en.md\">English</a> ·\n  <a href=\"README.ja.md\">日本語</a> ·\n  <a href=\"README.ko.md\">한국어</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"docs/user-guide.md\"><b>📚 用户手册</b></a> ·\n  <a href=\"docs/guides/installation.md\"><b>📦 安装指南</b></a> ·\n  <a href=\"docs/reference/cvm-cognitive-runtime.md\"><b>🧠 CVM 理念</b></a> ·\n  <a href=\"docs/CVM运行时对Agent模型的实证影响.md\"><b>📊 A/B 实证</b></a> ·\n  <a href=\"docs/stars/genesis-stele.md\"><b>✦ 星域碑文</b></a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/github/v/release/huiliyi37/Tianshu-Tui?color=8B5CF6&label=Release&logo=github&style=for-the-badge\" alt=\"GitHub release\">\n  <img src=\"https://img.shields.io/badge/License-Apache%202.0-3B5BDB?style=for-the-badge&logo=apache\" alt=\"License\">\n  <img src=\"https://img.shields.io/badge/TypeScript-Strict-blue?style=for-the-badge&logo=typescript\" alt=\"TypeScript\">\n  <img src=\"https://img.shields.io/badge/Tests-16%2C000%2B%20Passed-green?style=for-the-badge&logo=testinglibrary\" alt=\"Tests\">\n</p>\n\n---\n\n### 面向 Foundation Model Agent 的认知运行时\n\n> **天枢**是一个 TypeScript 编写的编程 agent 运行时，**终端 TUI** 与**桌面 GUI** 共享同一内核。它要回答的核心问题是：**模型何以稳定地交付——目标不漂移、完成有证据、验证有闭环，不说\"应该修好了\"**。为此它在模型与真实世界之间建立一层认知执行环境（CVM），把目标、状态、证据、资源、权限与终止条件从对话历史中外部化，由运行时持续管理。\n>\n> **模型提供认知能力，CVM 提供认知执行语义。LLM provides cognition. CVM provides execution semantics.**\n\n```\nApplication / TUI / IDE / Desktop\n              ↓\n   Tianshu Cognitive Runtime      ← 状态 · 目标 · 证据 · 控制 · 回放\n              ↓\n       Foundation Models          ← DeepSeek · GLM · Claude · Codex · MiniMax · MiMo …\n```\n\n- **稳定交付，不虚报完成** —— 这是核心。任务契约（TaskContract）钉住全局目标，交付门禁要求「完成」必须带运行时证据（测试、diff、验证命令），收敛检测独立判断认知轨迹是否还在推进——模型说完成 ≠ 运行时确认完成。\n- **终端 × 桌面，一个内核** —— 纯 ANSI 自研 TUI（`rivet`）与 Tauri 桌面端（macOS / Windows / Linux）共用同一 agent 内核，两端能力一致。\n- **认知虚拟机（CVM）** —— 72 个运行时 hook 横跨 5 大阶段，在模型输出与真实动作之间加一层可观测、可纠偏的认知运行时（[理念文档](docs/reference/cvm-cognitive-runtime.md) · [A/B 实证](docs/CVM运行时对Agent模型的实证影响.md)）。\n- **前缀缓存引擎，全模型适用** —— 冻结前缀 + 增量 appendix + 边界压缩，对所有支持前缀缓存的模型生效：各家模型长会话实测稳态命中率均在 **98–99%**（DeepSeek V4 另有针对性优化），显著降低 token 成本。\n\n<p align=\"center\">\n  <img src=\"docs/brand/assets/tianshu-tui-screenshot.png\" alt=\"天枢 TUI（终端版）\" width=\"49%\">\n  <img src=\"docs/brand/assets/tianshu-gui-screenshot.jpg\" alt=\"天枢桌面端 GUI\" width=\"49%\">\n</p>\n<p align=\"center\">\n  <sub>左：终端 TUI（欢迎页 + GlanceBar 状态栏） · 右：桌面端 GUI（会话侧栏 + 星域速选）——同一 agent 内核</sub>\n</p>\n\n> [!NOTE]\n> 本项目最初的开发代号为 **Rivet**；为保持向后兼容，已安装的 CLI 命令名仍为 `rivet`。\n\n## 目录\n\n- [为什么是认知运行时](#为什么是认知运行时)\n- [核心特性](#核心特性)\n- [快速开始](#快速开始)\n- [权限模式](#权限模式)\n- [支持的模型](#支持的模型)\n- [文档导航](#文档导航)\n- [面向开发者](#面向开发者)\n- [社区与支持](#社区与支持)\n\n## 💡 为什么是认知运行时\n\n### 问题：能力上限 ≠ 运行行为\n\n在真实工程会话里，我们反复观察到同一套模型权重的能力倒退——不是 bug，而是**经过指令与偏好对齐的 Transformer Agent 呈现出的趋同运行时退化**：被质疑就投降、过度服从字面指令、局部信息压过全局目标、长上下文被早期结论支配、反复调用同类工具却没有真实推进。\n\n完整的理论框架见 [CVM：从 Transformer 共享退化到认知运行时](docs/reference/cvm-cognitive-runtime.md)。核心概念是 **Cognitive Anchor Collapse**——高显著性局部信号让策略分布过度集中，全局目标与后续证据失去权重，行为向锚点坍缩。锚点有四类：\n\n| 锚点 | 来源 | 典型表现 |\n|------|------|----------|\n| **词汇锚点** | 训练数据中的词-行为相关 | 句子里有\"修复/删除\"，模型无视\"不要改，只解释\"仍去改代码 |\n| **语义锚点** | 局部正确的事实 | \"文件已存在\"被提升为整个任务的解释中心，拒绝执行 |\n| **策略锚点** | RLHF / 偏好训练先验 | 用户一句\"按你的计划执行\"，分析阶段形成的高质量判断被丢弃 |\n| **历史锚点** | 长上下文早期结论 | Turn 20 的新证据被解释成 Turn 3 旧假设的附属 |\n\n这不是\"模型坏掉了\"——它是训练成功后的副产品，因此也无法靠更好的 Prompt 根治：Prompt 是信息不是状态，而且 Prompt 本身也会成为新的锚点。\n\n### 证据：A/B 对照，不靠感觉\n\n2026-05-19，同一模型（DeepSeek-V4-Flash）、同一批 5 个任务，唯一变量是**星域信念提示词**（信念宪法，`STAR_SOUL=0/1`），Claude Opus 4.7 担任审查者：\n\n| 指标 | A 组（无信念提示词） | B 组（有信念提示词） |\n|------|--------------|--------------|\n| 任务完成率 | 4/5 | **5/5** |\n| 主动提出异议 | 0/5 | **3/5** |\n| 主动询问 scope / 影响分析 | 0/5 | **1/5** |\n| 系统影响意识（缓存失效提醒） | 0/5 | **1/5** |\n| 意图理解 > 字面执行 | 1/5 | **4/5** |\n\n最有价值的数据点是 T4：面对「文件已存在」的矛盾，A 组写了 196 行复盘文档然后拒绝执行，B 组判断出用户真实意图并直接交付 +162/-20 行可用代码——**同一套权重，完全相反的反应，改变的是运行环境**。\n\n要注意这组实验的精确边界：它验证的是 CVM 四层防御中的**第一层（信念注入）**——零额外推理成本，仅 prompt 层信念注入就让最低成本的开源模型产生可观测的行为改善；同时它也测出了边界的存在（信念在分析/建议阶段强效，在确认/执行阶段衰减），这正是后续 Courage Hook、Sensorium、RuntimeHookPipeline 三层运行时拦截要补的课。完整数据与逐任务对比见 [实证报告](docs/CVM运行时对Agent模型的实证影响.md)。\n\n### 解法：在模型之外建立第二套价值函数\n\nCVM 不改权重、不让模型变成确定性程序，而是在概率认知之外套一层确定性监督——**Probabilistic Cognition inside Deterministic Supervision**：\n\n```\n内环（模型认知）：reason → decide → act → observe\n外环（运行时监管）：observe → measure → evaluate → gate → verify → continue / correct / halt\n```\n\n落到工程上是四层防御深度：信念宪法（static prompt）→ Courage Hook（preTurn）→ Sensorium（每 turn <1ms 六维状态感知）→ RuntimeHookPipeline（72 hooks，trap-and-emulate 拦截退化行为）。全局目标有独立状态（TaskContract），完成必须有运行时证据（Evidence），坍缩会被独立检测（Convergence / doom-loop）。\n\n### 星域：模型的独立认知结构\n\n当退化被逐层拦截，模型开始表现出自己的认知结构——这是星域系统的由来。16 个星域不是角色扮演，而是可切换的认知纪律：**系统提示词、工具白名单、决策阈值**真实切换。星域不是能力限制，任何星域都有完成任务的全部能力，只是视角不同；委员会与团队模式会按议题自动召集多星域席位。\n\n> 完整叙事见 [✦ 星域碑文](docs/stars/genesis-stele.md) · [创世纪公开声明](docs/releases/manifesto-v3.0.0.md)；新用户选星指南见 [用户手册「星域系统」](docs/user-guide.md#星域系统)。\n\n### 工程质量\n\nCLI 源码 1,078 文件 / 257,623 行，测试 1,361 文件 / **16,471 用例**（node:test，测试 : 源码 ≈ 0.99:1），`tsc` strict + `noUncheckedIndexedAccess`，事故修复必带回归测试。完整口径与复现命令见 [工程质量指标](docs/engineering-metrics.md)。\n\n## ✨ 核心特性\n\n- **证据驱动的交付门禁** —— 完成声明必须带测试 / diff / 验证命令等运行时证据；`deliver_task` 交付门禁 + 提交后审查两级兜底，机械变更自动跳过。[理念](docs/reference/cvm-cognitive-runtime.md)\n- **前缀缓存引擎** —— 冻结前缀 + 增量附录 + Read-ref 去重 + resume 缓存继承，全模型适用；`/debug cache` 诊断命中率与碎裂原因。[细节](docs/user-guide.md#前缀缓存引擎)\n- **多代理编排** —— 从轻量的 `/scout` 只读侦察、并行 `/team` 施工，到 `/council` 多席会诊与 `/galaxy` 多维攻坚；类型化 work order、读写 worker 隔离、自适应模型路由，复杂任务按波次执行、逐波验收。[细节](docs/user-guide.md#子代理编排)\n- **统一项目记忆** —— 项目知识写入 `.rivet/knowledge/memory.jsonl`；自动注入只带治理/约束类记忆，旧问题走显式 recall，不劫持新任务。[细节](docs/user-guide.md#跨会话记忆)\n- **禅模式（Zen Mode）** —— 可选的读专注开局：收窄只读工具面，动手即晋升全量，缓存零断点分诊。[细节](docs/user-guide.md#禅模式zen-mode读专注开局动手即解锁)\n- **API 成本控制** —— reasoning effort 自动降档路由、compact 走 flash 侧路、峰谷计价提醒。[细节](docs/user-guide.md#api-成本控制)\n- **Plan Mode 与 Goal 自治** —— 先计划后执行的审批工作流；`/goal` 目标驱动自主续跑。[细节](docs/user-guide.md#plan-mode计划模式)\n- **会话交接与倒带** —— `/handoff` 结构化交接自动注入新会话；双击 ESC 倒带到任一历史点。[细节](docs/user-guide.md#会话交接与恢复handoff--resume)\n- **LSP 深度集成** —— 自研 JSON-RPC 客户端接入语言服务器（TypeScript / Python / Go / Rust，本机装了才启用、缺失静默降级）：跳转定义与查找引用成为 agent 工具，编辑后诊断自动注入回环——改出类型错误模型立刻看见。\n- **MCP 与 Skills** —— 外部工具服务器接入 + 可复用工作流剧本，渐进披露。[细节](docs/user-guide.md#mcpmodel-context-protocol)\n- **T9 自研 TUI** —— 纯 ANSI 零依赖：GlanceBar 状态栏、流式中打断、命令面板、Cockpit 驾驶舱、内联图片。[细节](docs/user-guide.md#终端-uitui)\n- **桌面端增强** —— 集成终端、主题工作室、语音输入（本地 whisper）、手机遥控审批、多会话并发。[桌面端指南](docs/desktop-guide.md)\n- **Lean 资源档** —— 低内存/低磁盘场景的精简工具集与会话池收紧，可按星域覆盖。[细节](docs/user-guide.md#lean-资源档低内存--低磁盘)\n\n## 🚀 快速开始\n\n要求 **Node.js ≥ 24**。三种方式任选其一：\n\n```bash\n# 方式一：一键安装脚本（macOS / Linux，Windows 用 PowerShell 版本）\nbash <(curl -fsSL https://raw.githubusercontent.com/huiliyi37/Tianshu-Tui/main/scripts/install-tui.sh)\n\n# 方式二：npm\nnpm install -g tianshu-tui\n\n# 方式三：桌面端——从 GitHub Releases 下载安装包，开箱即用\n# https://github.com/huiliyi37/Tianshu-Tui/releases/latest\n```\n\n然后：\n\n```bash\nrivet            # 首次运行自动打开 /connect 向导，选择服务商并完成认证\n```\n\n无界面模式（脚本 / CI 集成）：\n\n```bash\nrivet -p \"解释 src/agent/loop.ts\"           # 单次提示\nrivet --stream-json -p \"重构这个模块\"       # NDJSON 事件流，输出内置脱敏\nrivet --goal \"修复所有类型错误\" --budget 50  # 无头目标自主模式\n```\n\n> 全部安装路径（Windows WebView2 / Linux AppImage / Android Termux / 源码构建 / Shell 补全 / 自动更新）与平台注意事项见 [安装与平台说明](docs/guides/installation.md)；CLI 参数全表见 [用户手册](docs/user-guide.md#命令行参数)。\n\n## 🔐 权限模式\n\n对外只有三档，会话内统一用 `/permission` 管理：\n\n| 档位 | 命令 | 行为 |\n|------|------|------|\n| **监督** | `/permission supervise` | 每个高风险工具都弹确认，最大控制 |\n| **自动**（默认） | `/permission auto` | 低/无风险工具自动执行，高风险仍确认 |\n| **全自动** | `/yes` · `/yolo` | 免审批执行；写边界仍在（自动开启沙箱），回滚兜底 |\n\n跳过提示不会关闭工具校验、路径安全、证据追踪、检查点与交付门禁；未授信项目不加载 hooks 与项目 MCP（`/trust` 管理）。完整规则见 [权限与沙箱指南](docs/user-guide-sandbox-permissions.md)。\n\n## ⚙️ 支持的模型\n\n| 提供商 | 认证方式 | 旗舰模型 |\n|--------|----------|----------|\n| DeepSeek | API key | deepseek-v4-pro (1M ctx), deepseek-v4-flash, deepseek-v4-flash-vision-exp（视觉） |\n| DeepSeek Spark（Pro 专属） | API key | deepseek-v4-flash（轻量推理 + 锚点缓存通道） |\n| Claude | API key（通过 `cc-switch` 代理） | claude-opus-4-8, claude-sonnet-4-5 |\n| GLM（智谱） | API key | glm-5.3 (1M ctx), glm-5.3-flash（视觉）, glm-5.2 |\n| Codex (GPT-5.6) | OAuth PKCE（ChatGPT 订阅） | gpt-5.6-sol |\n| MiniMax | API key | MiniMax-M3, MiniMax-M2.7 |\n| MiMo | API key | mimo-v2.5-pro |\n\n另支持任意 OpenAI 兼容自定义端点（Ollama / vLLM 等）。会话内 `/model` 随时切换；识图桥、生图端点、子代理分模型路由等见 [Provider 配置手册](docs/user-guide-provider-config.md) 与 [识图能力手册](docs/user-guide-vision.md)。\n\n## 📚 文档导航\n\n**使用**\n\n| 文档 | 说明 |\n|------|------|\n| [用户手册](docs/user-guide.md) | 斜杠命令全表、TUI 键位、特性细节、配置文件与环境变量、日志排查 |\n| [安装与平台说明](docs/guides/installation.md) | 四种安装路径、Windows/Linux/Termux 注意事项、Shell 补全、自动更新 |\n| [桌面端用户指南](docs/desktop-guide.md) | Cockpit / SideChat / Rewind / 主题工作室 / 语音输入 / 快捷键 |\n| [Provider 配置手册](docs/user-guide-provider-config.md) | 多提供商、自定义端点、子代理/审查模型路由、生图 |\n| [权限与沙箱指南](docs/user-guide-sandbox-permissions.md) | 权限规则、路径授权、沙箱模型、故障排查 |\n| [识图能力手册](docs/user-guide-vision.md) | 视觉通道配置与排查 |\n| [远程访问指南](docs/remote-access.md) | 手机/平板遥控审批的启用与安全边界 |\n| [排障与 FAQ](docs/guides/troubleshooting.md) | 高频现场速查：卡住、429、缓存异常 |\n\n**理念与架构**\n\n| 文档 | 说明 |\n|------|------|\n| [CVM：从 Transformer 共享退化到认知运行时](docs/reference/cvm-cognitive-runtime.md) | 核心理念母稿：Anchor Collapse、两个控制环、八条原则 |\n| [CVM 实证报告](docs/CVM运行时对Agent模型的实证影响.md) | A/B 对照数据与逐任务对比 |\n| [指标观测 harness](docs/reference/observability-harness.md) | 缓存 / CVM 真实会话数据样本与复算命令 |\n| [架构总览](docs/architecture-overview.md) | 系统分层与模块职责 |\n| [工程质量指标](docs/engineering-metrics.md) | 规模、测试与迭代里程碑 |\n| [星域碑文](docs/stars/genesis-stele.md) | 16 星域的创始记忆与核心信念 |\n| [创世纪 · 天枢 3.0 公开声明](docs/releases/manifesto-v3.0.0.md) | 项目宣言 |\n\n## 🛠️ 面向开发者\n\nNode.js 24 · TypeScript strict（`noUncheckedIndexedAccess`）· T9 ANSI 渲染引擎 · tsup 打包 · node:test。\n\n```bash\nnpm run typecheck    # 类型检查\nnpm test             # 所有测试（16,000+ 用例）\nnpm run build        # tsup 打包 + 原生/wasm 载荷落位\nnode dist/cli/entry.js\n```\n\n- **添加工具** —— 在 `src/tools/` 实现 `ToolDefinition` + executor 并注册，配套 `src/tools/__tests__/` 测试\n- **添加 skill / 命令 / hook** —— `.rivet/skills/*.md`（frontmatter）、`.rivet/commands/*.md`（`$ARGUMENTS` 插值）、`HookRegistry` 处理器\n- **项目指令** —— 项目根放 `.rivet.md`，内容自动注入为项目上下文\n- 架构地图见根目录 `AGENTS.md` 与 [架构总览](docs/architecture-overview.md)\n\n## 🔒 安全\n\n- **路径边界强制** —— glob/grep/diff 拒绝 `..` 穿越；`validatePath` 阻止逃逸\n- **项目信任门** —— 未授信项目不加载 hooks / 项目 MCP，配置安全键剥离\n- **SSRF 保护** —— 逐跳 DNS + 私有 IP 拦截，作用于每次重定向\n- **敏感文件拒绝** —— `.env`、`credentials.*`、`*key*`、`*token*` 禁止读/commit；密钥落盘走 AES-256-GCM 信封\n- **破坏性命令门禁** —— `rm -rf`、force push、`DROP/TRUNCATE` 需显式确认\n- **检查点 + 文件级撤销** —— 每回合首次修改前创建 Git 检查点；每次写/编辑前版本化备份\n\n安全漏洞请走 [私密报告](https://github.com/huiliyi37/Tianshu-Tui/security/advisories/new)，不要开公开 issue。\n\n## 🤝 社区与支持\n\n- **使用问题 / 讨论** → [GitHub Discussions](https://github.com/huiliyi37/Tianshu-Tui/discussions)\n- **Bug 报告 / 功能请求** → [GitHub Issues](https://github.com/huiliyi37/Tianshu-Tui/issues)（附 `rivet logs --json` 输出可加速定位）\n- **贡献代码** → [CONTRIBUTING.md](CONTRIBUTING.md) · **求助指南** → [SUPPORT.md](SUPPORT.md)\n- **微信交流群** → 「天枢 harness 交流群」，扫码加入（二维码 7 天有效，过期请在 Discussions 留言补码）：\n\n<img src=\"docs/brand/assets/wechat-group-qr.png\" width=\"280\" alt=\"天枢 harness 交流群微信群二维码\">\n\n## 🌐 官网开发\n\n天枢生态官网 [jiangsx496/Tianshu-Official-Website](https://jiangsx496.github.io/Tianshu-Official-Website/) 由 [@jiangsx496](https://github.com/jiangsx496) 原创开发，覆盖数据库、前端与初版后端。\n\n## ✨ 贡献者\n\n感谢所有贡献者——项目创建者与核心开发 [@banxia](https://github.com/banxia)；完整名单（17 位外部贡献者 / 89 个 PR）见 [CONTRIBUTORS.md](CONTRIBUTORS.md)。外部 PR 经「收编」流程合入后，作者署名以 `Co-authored-by` 计入贡献者图谱（`scripts/credit-contributors.sh` 自动落账）：\n\n<p>\n<a href=\"https://github.com/HarriethWiKk\"><img src=\"https://github.com/HarriethWiKk.png?size=100\" width=\"50\" height=\"50\" alt=\"HarriethWiKk\" title=\"HarriethWiKk\" /></a>\n<a href=\"https://github.com/jiangsx496\"><img src=\"https://github.com/jiangsx496.png?size=100\" width=\"50\" height=\"50\" alt=\"jiangsx496\" title=\"jiangsx496\" /></a>\n<a href=\"https://github.com/yq04\"><img src=\"https://github.com/yq04.png?size=100\" width=\"50\" height=\"50\" alt=\"yq04\" title=\"yq04\" /></a>\n<a href=\"https://github.com/wangxx-yu\"><img src=\"https://github.com/wangxx-yu.png?size=100\" width=\"50\" height=\"50\" alt=\"wangxx-yu\" title=\"wangxx-yu\" /></a>\n<a href=\"https://github.com/qiaodier\"><img src=\"https://github.com/qiaodier.png?size=100\" width=\"50\" height=\"50\" alt=\"qiaodier\" title=\"qiaodier\" /></a>\n<a href=\"https://github.com/zhengbiaofeng\"><img src=\"https://github.com/zhengbiaofeng.png?size=100\" width=\"50\" height=\"50\" alt=\"zhengbiaofeng\" title=\"zhengbiaofeng\" /></a>\n<a href=\"https://github.com/LinHoMo\"><img src=\"https://github.com/LinHoMo.png?size=100\" width=\"50\" height=\"50\" alt=\"LinHoMo\" title=\"LinHoMo\" /></a>\n<a href=\"https://github.com/KinoGao\"><img src=\"https://github.com/KinoGao.png?size=100\" width=\"50\" height=\"50\" alt=\"KinoGao\" title=\"KinoGao\" /></a>\n<a href=\"https://github.com/liuwanwan1\"><img src=\"https://github.com/liuwanwan1.png?size=100\" width=\"50\" height=\"50\" alt=\"liuwanwan1\" title=\"liuwanwan1\" /></a>\n<a href=\"https://github.com/Eason412\"><img src=\"https://github.com/Eason412.png?size=100\" width=\"50\" height=\"50\" alt=\"Eason412\" title=\"Eason412\" /></a>\n<a href=\"https://github.com/maoqiu77\"><img src=\"https://github.com/maoqiu77.png?size=100\" width=\"50\" height=\"50\" alt=\"maoqiu77\" title=\"maoqiu77\" /></a>\n<a href=\"https://github.com/yeshilei-QWQ\"><img src=\"https://github.com/yeshilei-QWQ.png?size=100\" width=\"50\" height=\"50\" alt=\"yeshilei-QWQ\" title=\"yeshilei-QWQ\" /></a>\n<a href=\"https://github.com/lumos-tiamo\"><img src=\"https://github.com/lumos-tiamo.png?size=100\" width=\"50\" height=\"50\" alt=\"lumos-tiamo\" title=\"lumos-tiamo\" /></a>\n<a href=\"https://github.com/zzuu080603\"><img src=\"https://github.com/zzuu080603.png?size=100\" width=\"50\" height=\"50\" alt=\"zzuu080603\" title=\"zzuu080603\" /></a>\n<a href=\"https://github.com/nzz0991999-ai\"><img src=\"https://github.com/nzz0991999-ai.png?size=100\" width=\"50\" height=\"50\" alt=\"nzz0991999-ai\" title=\"nzz0991999-ai\" /></a>\n<a href=\"https://github.com/L4XB\"><img src=\"https://github.com/L4XB.png?size=100\" width=\"50\" height=\"50\" alt=\"L4XB\" title=\"L4XB\" /></a>\n<a href=\"https://github.com/Wanming08\"><img src=\"https://github.com/Wanming08.png?size=100\" width=\"50\" height=\"50\" alt=\"Wanming08\" title=\"Wanming08\" /></a>\n</p>\n\n## ☕ 赞助支持\n\n如果天枢对你有用，欢迎随缘打赏——这只是一杯咖啡，不是合同。赞助不会改变 issue 优先级，也不会影响功能排期。\n\n<img src=\"docs/brand/assets/wechat-pay.jpg\" width=\"240\" alt=\"微信支付\">\n\n## 许可证\n\n本项目代码采用 [Apache License, Version 2.0](LICENSE) 开源许可。Copyright 2025-2026 Tianshu Contributors.\n\n**例外（文档许可）**：以下理论与实证文档采用 [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh-hans)（署名—非商业性使用—禁止演绎），**不适用** Apache 2.0——可以署名转载原文链接，不得改编、摘编、洗稿或商用：\n\n- [CVM：从 Transformer 共享退化到认知运行时](docs/reference/cvm-cognitive-runtime.md)\n- [CVM 运行时与生态系统对 Agent 模型的实证影响报告](docs/CVM运行时对Agent模型的实证影响.md)\n","readmeFilename":"README.md"}