{"_id":"tianxincode","_rev":"59-faa41c77d6b469fb7408f6938546a78b","name":"tianxincode","dist-tags":{"latest":"1.0.61"},"versions":{"1.0.0":{"name":"tianxincode","version":"1.0.0","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.0","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"834bb46f4d5b7aed4dc5632e6cce4708d5212651","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.0.tgz","fileCount":374,"integrity":"sha512-JaT3mhbZrA9fpCUzd4cwwCLWd9wR9/vGkWS1xtSSC0Fxg4Ugr7Ri1oTDfNFhM4YspOC+aJlEBsXJuNleYjjAlA==","signatures":[{"sig":"MEUCIQCOppgf4QxFNmrnV4OpbSK1DcAoosyiBjeldoBZXGcMhAIgVV2LbgSusA74xQ0nwyIIspNyq6tib3QOHFO7x/kUeFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2126429},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9491543245c958b5db54dbf1a3402d19616a9b70","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^5.1.1","tsx":"^4.21.0","cors":"^2.8.6","jest":"^30.3.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","express":"^5.2.1","js-yaml":"^4.1.1","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","better-sqlite3":"^12.8.0","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.0_1774427061015_0.9060228767224836","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"tianxincode","version":"1.0.1","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.1","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"debb73e6f8aca079c32767892fc0e5c848c4742b","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.1.tgz","fileCount":374,"integrity":"sha512-/xkxHpLrY5PGGq7Gu0jUYD7Wzu2SdoIO1JlCSir96II/7ZVzENiL0ajHGJvO7fFXYa2AAJFQhkcb17apy4bxIg==","signatures":[{"sig":"MEUCIFtfXWK7MOuQy5iLXo//ivZ3shNCXBIt5SGX9TXAWUunAiEAq4gfEUlw+UPJp60HrT2dYrfyaz/e8J+lDhYGoVheX4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2126429},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9491543245c958b5db54dbf1a3402d19616a9b70","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.1_1774428540071_0.8776926616420035","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"tianxincode","version":"1.0.2","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.2","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"a0640a684ea77aa1e31c5092e972c1349e80266e","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.2.tgz","fileCount":374,"integrity":"sha512-x8hvOxmwogwWFrMpqu8/Z6heoffyNx20FR8HFSKX3pA+bcPX/6KSYA5T6t+rtdsdnp6jg4uYim9oD93kBXuEPQ==","signatures":[{"sig":"MEYCIQD8Ln3QR+zKshwCa39Ch6gFiIpjj7xH+lGQWSGpe7LymwIhAPoIdMhgHZvDHd5RjY3vjgCa4sm5az4epHy0ukdOd84n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2127572},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9491543245c958b5db54dbf1a3402d19616a9b70","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.2_1774429296440_0.01893158200659051","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"tianxincode","version":"1.0.3","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.3","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"464e7718f519391bbfdca3874a0ff09a877803e5","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.3.tgz","fileCount":374,"integrity":"sha512-2CX5A7oz1xAsNEvkC4Qa+JV9xnFp+eHcKNDM253wqOQJojHlqBSeNq21Ue2jwidn1S75TQ7RsTSUy/jD8liOLQ==","signatures":[{"sig":"MEUCICKMGU2cdLogx8smuFnp4AcMOGoL0myRvA0OqYoIfJJEAiEAwriRZykBG0soTHQ1aCWkvzPXUACwrLZ5MTzNpDl8DzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2125932},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"d4efbc7c99c13cecc822bad7a8d6dba74f5287d8","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.3_1774448090057_0.6829189283860677","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"tianxincode","version":"1.0.4","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.4","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"f1e55fb53d3b0f582e3b6c8b209ddc08327704f6","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.4.tgz","fileCount":378,"integrity":"sha512-sp7Q1qCwxkhnPlW3tNkPHyYBmEwCa52gCzRkHuYE1XrsWSxvAA5UkHbsePnWkiQXwjBUo5puVAtrrzyM5p4udQ==","signatures":[{"sig":"MEYCIQD/+vzKeZSr0rraJbToGNQH+SZwbE2aZXWWRjdXf5/YHAIhAL60ZBLnjlfTo9hPd2wiy2HkwV7gnmX36tZ/6kvvLLrj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151521},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8fadaef5a9d3bd10b984309d1a5b2538d778d7f9","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.4_1774504786968_0.32693259576137446","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"tianxincode","version":"1.0.5","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.5","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"198ffb2e959927033d07aad5ee4dab9b6e4a113c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.5.tgz","fileCount":378,"integrity":"sha512-/rKG4sYAAp/dARj1T2fV/QID4pXKBzeViGA7R5zvkZGPobPQCJy9P7za3Y2ZY19dkgLq/zObXVnOEo7zA3kZTw==","signatures":[{"sig":"MEYCIQDi8q9hewUV9MmqsH2haoui46wKUrlpAQtdRfpMfohM8AIhAJVaT3hfZCMUTP+I3qrSbSFY/SOc//mAAu46nzwXZBrv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151497},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a7d426f06b3b07b8a151a641fd4d92d3e6d4edef","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.5_1774505042146_0.44242985237057897","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"tianxincode","version":"1.0.6","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.6","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"5c205b75eff19501a53012bbf4635501b6e72e87","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.6.tgz","fileCount":378,"integrity":"sha512-CFGd9pGV6hauB7r+ZmCUesZi2G33vTNea4agIkc+4N670vIWFg3rOnC9RH1oLiZPPqEa5Pm+lsTTBptgE08PuA==","signatures":[{"sig":"MEUCIEY/Gvh7cGDZoOB5R1QxWkyEELsx5/+RzZIso/aeOvWNAiEA6xnO6c1QKrRIaxAzYdr5sBq508oYl6MJ/R3yk29bTtw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2151510},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ddd1bbdb22fdabfd09953d4c3c646026d0aa4cdb","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.6_1774507025432_0.7853132034780907","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"tianxincode","version":"1.0.7","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.7","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"21d805b3759b91485334cbd556632365031bc525","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.7.tgz","fileCount":399,"integrity":"sha512-byZM5IRuQIBYnefuDXfdXXwe3DpfU4a4ZA5DjMPRMDxTmCJvCkQ9Wa0xsc8FB5Ct3sz/KQKabH/1L/xJZf99oQ==","signatures":[{"sig":"MEYCIQD/htFg8oZqOgP1zmoS7Xsju5OH0p6xKKBxEdvzJ9sqXAIhALJHjFf8uEZw4nqRYqfrZGJpayMYd9HgCEL+hOPrRJtZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2199812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"d189466a8648778b5c7c374432bbaf5f511a38cf","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","better-sqlite3":"^12.8.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7","@types/better-sqlite3":"^7.6.13"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.7_1774528326878_0.24860653279612133","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"tianxincode","version":"1.0.8","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.8","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"44dfb85d09742df6c924db6dd0cef64d10597dd8","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.8.tgz","fileCount":399,"integrity":"sha512-Quv3IixsPO3eWQBcwG3eR1mAYxPCEtZXAh/zkyRJC1JZcq75/sNZWd+XtiQcdAbUHmx84V2L/ausLRRiRzzvNg==","signatures":[{"sig":"MEYCIQDoBoWpJRbKvclC2y0aueaiQvg78K+i0CKiomECoGZxxwIhANbdjUBqfM17mActvO7QEhNUw8/AyGNZJ1BlTAq4LlZC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2201372},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9d2c55fd9f283cddcdcbd3ebe40a080665bf2d4f","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.8_1774535728185_0.30007765633366157","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"tianxincode","version":"1.0.9","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.9","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"85d14366ed3d375c46ddf11a56f80e6536187133","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.9.tgz","fileCount":473,"integrity":"sha512-+VC6gR/C1F0c/GXQ4SRQr9EMt3YN7pUuawOGpFfG1rHuE9oAzzcKIXKGAYJdzx2udIiOl9FhuRfqW/V7HpgS3A==","signatures":[{"sig":"MEYCIQCvd1v57wPh/ytoo3DdFPmmxmz+wxPoDeoeSS4NgusgaAIhANUX6h+qQ4+Mqj0a0TyDUrb1dWu0UJvcg0gti495UKei","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2358046},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"517e9900603142b0da59e698d431f325500ef0bb","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.9_1774595596275_0.11311634090419531","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"tianxincode","version":"1.0.10","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.10","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"cff0d2728ad7c8a4d0d0c6992d3a0489c4f4c82b","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.10.tgz","fileCount":486,"integrity":"sha512-cToqRSu8ZAIfEyMzEOVQSItQc1ZeV6jKXjDNQVU+7L7L6YuGliqdSXyziY0Kv01C+ymjnms/5PbMhNQiuciaIw==","signatures":[{"sig":"MEYCIQDKMP7Oj2qbPsAUOvAlk6+jBRfqz/LtnrLVl8ixcopkWQIhAKcRRoH3BLuWvHfiTGLM+uJybZB8PfqHlkudN6qM+Y5q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2371512},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ab70a7b155a4f8e32674753f1c0aee0f23e802e7","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.10_1774595900078_0.11534489704760098","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"tianxincode","version":"1.0.11","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.11","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"958889e12409bf970afe56fb8fe9751688836f22","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.11.tgz","fileCount":510,"integrity":"sha512-EJ3rSuMr6WBATAOLzl1bXSOsfS/h4I8PDnemvEO8fk8hQ6UikQSNe8WD/amwg+40jHUDNxQJ2sh8VUrg19cWCA==","signatures":[{"sig":"MEQCIB5pbalwSqMWlkVduMHgyUny+IEIx5BhmL14xc5aOwwGAiAIKqiSzUWdid/SnHbvCYrlc32EGGnX+COwqIwKRAKo0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2428749},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"5a2d90c4d2f6bfeb121dab228b55288ed42d3452","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.11_1774616028871_0.3133745372419632","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"tianxincode","version":"1.0.12","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.12","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"6038ddd83cf6b7f9dee47ce3cdb290450db4a9a4","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.12.tgz","fileCount":614,"integrity":"sha512-z//7XWEe/VtNHeTfh4fl0lSZcvpgAQFYBixIoj4MHpC89IqQcXx4RvR6cMnNGa8S+ij3zQd6dDr8mTBsXa7rfQ==","signatures":[{"sig":"MEUCIDNMn3z2SZUv8azv/LoOIz8usOwugNrVxtaTncViMEfZAiEAw1WZuIEVQlMYUMj6CYsfDNylCdaz2mJkPq/LifX45KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6951042},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"786a5b54e5e1e3fe01b5b669761bb16e452b22db","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const src='src/modules/tools/builtin';const dst='dist/modules/tools/builtin';fs.readdirSync(src).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(src,f),path.join(dst,f)));const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f)));const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const promptSrc='src/modules/ai/react/prompt';const promptDst='dist/modules/ai/react/prompt';fs.mkdirSync(promptDst,{recursive:true});fs.copyFileSync(path.join(promptSrc,'role.txt'),path.join(promptDst,'role.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/react-dom":"^18.3.7"},"optionalDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.12_1774755019364_0.5444911990771302","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"tianxincode","version":"1.0.13","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.13","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"ffd03f40af15de7629f9086df49991713dc6ff99","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.13.tgz","fileCount":732,"integrity":"sha512-12ewXpNJr0C5cNXFcymHujm3zwWjw2Nx3pBmetUjB8feQHMA6LAQepg2fnZUdP1oxtM8d8U17GHZ/H7XpgUGHA==","signatures":[{"sig":"MEYCIQDxd6Y8DW57npysmyhsJDD+NZroLh+Je5IH9DijLWrupwIhANXtQ92bfDIPYwdmaUtaM3QKAjylRfgK9dBvNixyWl6i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7205023},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1df5d9b902396d4773d79c5328eb05ee388fe2cc","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^5.1.1","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^18.3.1","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","node-cron":"^4.2.1","nodemailer":"^8.0.4","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^18.3.28","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^18.3.7"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.13_1774877834908_0.9514115469911768","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"tianxincode","version":"1.0.14","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.14","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"7b75dd4d15177bf9bd2a371d2196de7f5a9aec75","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.14.tgz","fileCount":785,"integrity":"sha512-QZr3F/c48ZxZ/Z3QHdbFXlLtIWU8zUthUHI2N1x9NlyLBua1alwq6PL8oGR53OWzn9vpUFXBUh8r1KzJoVRMTA==","signatures":[{"sig":"MEUCIAhPFajdWzZdqlBJKAAeZuK6RKv/Qu3z+Cwp7QFLc9sEAiEA8Sl/eeiaQoHG6mdMOoyXMwOjsANTIcncUym7S25jZ0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7323489},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c45a2de95dd9e088c88ac02dd06a09cdb5f2fab9","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.14_1774976324055_0.40404613961824465","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"tianxincode","version":"1.0.15","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.15","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"56a7b7ede5b34709cae07efa6a118b1868601fa7","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.15.tgz","fileCount":785,"integrity":"sha512-xu40CpiVU7mkCHaos/zvCDn13FbevMVvYUuBWOsFUai9pCoYlShwIUeA9Tk1DIovaDPaCtUM3zqu69PmZKGuog==","signatures":[{"sig":"MEUCIBsPITXyLZUSnMgv0wAQyGuuyQMbKFq3S/EUJlRz/0CKAiEApJdxk2jAK2YvnJQcWct1Xwc2BXA6+LVLkacZeX3s4zE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7323663},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"904a2e042d0e01a9b5d8b440346cb4df1621e6be","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.15_1775003460759_0.5071515222754024","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"tianxincode","version":"1.0.16","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.16","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"c735fb917f30862b44be16c8f3af7692d5dfa2c7","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.16.tgz","fileCount":785,"integrity":"sha512-EFQ2XXaAa6+0D5MBMhnMp/hdxU0nUIUvSiWfHv6rdy9aAQK9ceg1Ww/07Gunqu/DabEv1hGOiHG6EaOpJP+bVg==","signatures":[{"sig":"MEUCIQCcMJTA0tYgz1WIPcqGsFUCe9GDnv/DHAWW7gDaMoFE8gIgOFN6rerkq05kuQ8hoZPucLZRxZTH1p/BKTf3Bn+URfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7323663},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9bc4b861d29820ae8e57ecad5531b99a9a7c956d","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.16_1775026527220_0.845306992806923","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"tianxincode","version":"1.0.17","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.17","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"56c3faf8405334f9c45a446f4798f48a320f2e3e","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.17.tgz","fileCount":785,"integrity":"sha512-qQcbXgnUfE+bUVmsuT2YsXkcMytJiPHR2rt3duhH6Jh6N1xxXfUhNHeA5WZYb+DTVlnN6IL87xXdqEUnz6Q2fg==","signatures":[{"sig":"MEUCIQCL6+v1mNlSZl/7o5m7UYxkQycz9i4Z+ahgYvuv/qqdmQIgMbxG4vnsHRBLdTJxOuA6f49dcYpZj1l9mAoaqdxqUE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7323665},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9bc4b861d29820ae8e57ecad5531b99a9a7c956d","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-pty":"^1.0.0","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.17_1775028604713_0.07263691101485281","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"tianxincode","version":"1.0.18","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.18","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"ece3d83f08b05fc3a0d82e45b27bb4fc6a438098","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.18.tgz","fileCount":806,"integrity":"sha512-rQcSeH9d7nwWd15cvqSTfewip0qv+OnKFqsx96zKg7YzA6T9ryfOo9W5YnByY78hQN2TkAuyip6xAJWZY3OuPQ==","signatures":[{"sig":"MEUCIG2ge+DqHc+oEFWY0ZFwKEJ6gC8v8fX8Oqhaweg2AGGfAiEAnlO88u0i5eu613Wf0zAPP0ldsGigzigHK2k/6I89E98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7380894},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9e0d194f6a4ad16d69b5dd816c6f8023e297f2b1","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.18_1775121745249_0.8578862383000012","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"tianxincode","version":"1.0.19","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.19","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"e34554b027ce8c4623e859f2bdef56b07b861ab2","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.19.tgz","fileCount":812,"integrity":"sha512-GL6jdeGL93zwNdA8CCpA5OGaoob+Ua3W8fglW2W8xbytfl47u8JExxfb6xTZbvUXkARGztCI4OnPq48TKnn0CQ==","signatures":[{"sig":"MEUCIAy/HKterbCF5wCbTSuKbbj97se0ZJS+BOlIVXVyO5ozAiEAy1EnyCGdw6c6Ymg1agUdOHqz6tar8XWz/tYjKzWyam0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7424324},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cc33f4ef309e83da729273fc746e8ce91f8509e7","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.19_1775140329028_0.07294981184291638","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"tianxincode","version":"1.0.20","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.20","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"7d647a968b7f0eff8cf48175443b834c96fc32cc","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.20.tgz","fileCount":817,"integrity":"sha512-JSbPOJD+2ZgXwiTnWPrzGqJ9dmlCHEFvItys6ZUHiqOQ/WMw7hj5c5dxl36NFpf8B52srvJw62oqVYdrorum7A==","signatures":[{"sig":"MEUCIDc/Mn8D3v8BC5aLqW1Pde4/aG/m3+4njKs8FasSKf2XAiEA4KlzhWwUo/oHX6YpYyPgKFTa+bKrpeLLzZm6aDWhBz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7396633},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"63c3df22e6dec44ae88bd292303fe2d46285b7ff","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.20_1775192622049_0.0949197836563982","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"tianxincode","version":"1.0.21","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.21","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"a099bcef59ebb80f6d3da20014ce1283cf52d846","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.21.tgz","fileCount":825,"integrity":"sha512-xdQZ0kDsgKOx+lHvvyhiQgezjajpj9rm9YIQNdCP3We1bTJX40NBb24yv7mDD15HpJgc9ruC/VKzfROLWnho6w==","signatures":[{"sig":"MEQCIGjeTg3J8dWZPTQ6AxGHWvUoYx5+M48X0/oCFU/wkbjaAiA5yn4Q9BAXAsyd9uQ06fd5rbaLE/06yGjDsifImmkXeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7422881},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9e405a8a8f40d256a557f48998505fb26a1ce65b","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.21_1775235223665_0.5220104527610383","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"tianxincode","version":"1.0.22","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.22","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"9dde8206a50c36e8a59b58fa04f32a491ec3c708","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.22.tgz","fileCount":850,"integrity":"sha512-EUaDY2GUSb9nHckhVwhrXlfZKSevIxlrbfvsy+ukuP3lyy+wQD9jDxyHNbrkyI3T5JYuEFQ8a43lej8m3EcOJg==","signatures":[{"sig":"MEUCIQC+PRaW45tCtrvLfc59UWdozEQ3NC/i3uhwgOcfB+jLCwIgR1rLl5jfbrz7usIoWomRlxNj+2iK28twOKbKlFL5CuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7521814},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"85db6ac4a130cd5c745e8109b240960b1ae80fc6","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.22_1775496920533_0.45772539080030983","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"tianxincode","version":"1.0.23","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.23","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"81db0bd070c5f0168c87911924a2be9f633994dd","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.23.tgz","fileCount":850,"integrity":"sha512-imk1AA+b2ejOQfk6SFJwAYI2awUi/Y9DABBnwCk7o0z5WouJp2ASTBYtSytWQS1WV5tq6QjxZGMu08Q3Rw6eug==","signatures":[{"sig":"MEUCIQDkCj/mw73KOzIxylkUPaXjDuDoJ9s41YdE38cj0a0xtwIgVsLCnQE7r1y4DcLq3YM9MFzZqMAwFVzwTdC9GDGc6ho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7523251},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3512fb6ca63a8b735126b637707d22769b2603fe","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.23_1775656740089_0.371439548425317","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"tianxincode","version":"1.0.24","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.24","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"8b7610d3dee9a902ad47c456b18c57cf13a40b6a","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.24.tgz","fileCount":850,"integrity":"sha512-zTh5zIn6NZHvGPt3jNyfwjBrgVXTkQNkYn+sqxgF4ob8n5kh2JRozlpuYXOkzf6Xr/acRr7DQ5DsX5FSHSqwpQ==","signatures":[{"sig":"MEQCIBojRb2xUfxvcDmUa6OEqZrsTDxoViovWUTb5YPRiXTsAiAfhPwBOQnKZq15Q9HlpboySHCHK0G5uBOH83ZMmkIxnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7524711},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"68c67f78bf6d6594b89acfc298b1932eb2f7e16c","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.24_1775666813463_0.017349648798254957","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"tianxincode","version":"1.0.25","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.25","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"2ea6990ce50bc1b31abee55aa106199a9906fa91","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.25.tgz","fileCount":850,"integrity":"sha512-5yJgCPazkwVOSEj02t/pvhL8MdGd7ZXpYvzJyntyJaoy9HVNf72N37hsCUlfFq8UfL+6kDCIwVSPWfwtlqyfog==","signatures":[{"sig":"MEUCIQDHAjIIoVr/pvmp5mLJwPaoUptMn9U7vC5ZuaRQzObZKgIgY31GxRHQXKXgCaOdSF9pQRif46Tl1XH+v3rCRuvWiJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7527852},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"257c0d5fefbf4aac0726e1cd31696501ed44b0eb","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.25_1775708790397_0.09110664835581783","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"tianxincode","version":"1.0.26","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.26","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"4ad06c695d5d96c33897b14b4524ad65b01571d4","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.26.tgz","fileCount":862,"integrity":"sha512-sdI+qxugsH1Ckxt4G+9htV6L8/LyPgSJpDVSrM+fg4K1J/3pd5MT5I8jAGTj85r5xrQdyQe7N4DJBgucJqOUPQ==","signatures":[{"sig":"MEQCIE9AkDiP7se+AXKwPAsC2CHJeB57ZhsKowRuvtWb+MjjAiBPq8Z2eOjO4jfQhTyP0WtkFR9XIBImoZxcMGViQ9SzvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7700276},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"53a1c404c90ee7b99f28faf89d42294f730b348c","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.26_1776275740173_0.26027401897777835","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"tianxincode","version":"1.0.27","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.27","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"f72e960e42d3d0fb276d4356fe8573fdbe86dd1c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.27.tgz","fileCount":862,"integrity":"sha512-fuWYJnR7uBmsmNQG6iQxO6ugiHZNNwgsuruPFh4rx34yw+XJWFYqSGdVi3jKbVBnq7lbyVghYi4oymCf4qeh2Q==","signatures":[{"sig":"MEUCIDp8IgTij/ZQvkHK8Sm2cGvD5KCekJ+DdcbqNSa0PfCMAiEAwLdp4Qv5xvTyFSlXs5qOb72IKydpUst/goyrJOH+i4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7728122},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"43c4866ab1caa7dd3ef168d91edf2126231bf432","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.3","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.27_1776342326202_0.4867150155611708","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"tianxincode","version":"1.0.28","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.28","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"2067cd7f3720dcc49c349c480dc071b1f4220d0d","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.28.tgz","fileCount":862,"integrity":"sha512-NuWluwGThi2OjBoAJdoowMGQy9ugGiZmzMGGNev6TtB2HtK0EupWpFNbj7By5xlshk5SJJ1otiqltcjU1YIkGA==","signatures":[{"sig":"MEYCIQCVBEA0ofhFqj9vNnXdTVbYwM1jn6DHz0SsHmcuQluONAIhAIBeF17mB7ckyEsor59BkYvdojfwWHMiw/ocPhDMEIXo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7728122},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"695b9d73bf097bc4b602285ebe799420841ab6ca","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.28_1776342838094_0.1614388227178889","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"tianxincode","version":"1.0.29","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.29","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"840f315e8bcb7028f4eee0756898b09fadadc1cc","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.29.tgz","fileCount":916,"integrity":"sha512-g7dBgSEZaaEm4iBUu0yWVdXSpyxB/1nSzCT+4Y8Gr6kgKQr/v8BbTKHrLD94BeKSwV3a+OAy8FAgQBxLaGpD+Q==","signatures":[{"sig":"MEYCIQDutTgmYBy3SQ/x+shrZCSibVFhlRFcFIpGr1w9UjJSTAIhANehy6z1EBZC5nPSs8sLCY/UxoiLEM7kB2lLItIgXshb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7796844},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7a8bbc0b7f37ab276b668afc10206586cae6147c","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.29_1776408112595_0.6783432230230708","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"tianxincode","version":"1.0.30","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.30","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"fce70a9431e7a871e204fe9ed4d32d32849394c4","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.30.tgz","fileCount":916,"integrity":"sha512-7R/Df2Pu7cNSu3XZYJnqokEs39jjBlKh/zn9VhbrvWE28F7YQgwhD4lhePaYbxPwBWey2Yi+CqyArrY4+VPgSA==","signatures":[{"sig":"MEUCIQCpRp+amBdD2/XiwaJ3YiIYKoFQPsbtd6TbIfO32O1JnwIgFfLC7k4RL1VmAe7eNp1JuZPY8+VzxdNwZK+r28DagEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7800412},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"17773de1a51c7a4f21d43d92982cead9bf085966","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.30_1776436432019_0.5961314678647842","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"tianxincode","version":"1.0.31","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.31","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"57c79424ff56a4a91e74ab493b6a0787802d2949","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.31.tgz","fileCount":916,"integrity":"sha512-nOhjiymdhTIaWGswy6WtMsRzNawWtT/zh439D1yrH36BIAxstRRJZDX6YN2gHXCZ6SxDCOQDhg5d/d+qvsCOEQ==","signatures":[{"sig":"MEYCIQCrIpcgiY5BERx5z0bjTjIu7AihCHiX35VulNsRGT+VqQIhAOm9VByg2mptownxAa5JuR0efeXxKJbeY2ZHXfvPvas4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7800773},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0d280ce08a332785b631f28c8f43cd60af587c49","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.31_1776438469070_0.8675000578901668","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"tianxincode","version":"1.0.32","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.32","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"6f8e62035d2da71d67d813ab87b6cf123bf9c998","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.32.tgz","fileCount":929,"integrity":"sha512-+vupy0Xr9qu5MwidZ/xEKQwSAxzLv21ayD6RgbXkgek1UV7xMe/sbOjxTIJrKJlcIQnF1NDjuClsiRJWZCGHHw==","signatures":[{"sig":"MEUCIHW2g6T9FKFEYTer4o3UqKLkWRJmGxr0KMajzyZpcKZqAiEA9dIzxiyFoALVmEd5a/Yyv/bDnyNXK5UpsVoXKC3EcAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7836061},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f94d119fbca94ed6f9e53998be1684a1c68c4758","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.32_1776908346520_0.675771628811098","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"tianxincode","version":"1.0.33","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.33","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"9d0f05aebcf7f49c41f6d4395f59764f2d95a092","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.33.tgz","fileCount":929,"integrity":"sha512-IsR1483FpPOAnBf8YuEI7EEZJne5x5FX7UKEayEu/rJ+biFlRy7dqwMy2mRMQuUNw3wONnqDXTBSkmyLX57qKA==","signatures":[{"sig":"MEQCIA17o0Ik0NhGfCqyx1DlIfTlawN0bGHISQMTkHPF3CteAiAahzn8DGN3AUZQL8cfMJCHN4vLPlEezf6o9xlbSwxtiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7836107},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"28976b4e2bca34cfc37a472d73c01584c4bb88be","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.33_1776909604992_0.3807262953390611","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"tianxincode","version":"1.0.34","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.34","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"9899ad52899bfe0d7e0d7bf81ef78dad9cded7bc","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.34.tgz","fileCount":950,"integrity":"sha512-k+M1ZfRoVJptC7DvacxQMrsUAv+7xsYOl/+iResQYc16mscz/2ukbBmMLYf1bgdifkFo/qlUdZAdg9hFF5xi7A==","signatures":[{"sig":"MEUCIQCfP9iDHQxT7dqqze+3YU5rrzYKCVr5VGowVInrlesU7gIgX7b1p6fTpSeXZtOh31DpEmJX2mw2kSeOU5sc7FwPMqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7954589},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0061a00abb765a98f18b12331a4263b1c9ce44f9","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","ali-oss":"^6.23.0","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/ali-oss":"^6.23.3","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.34_1776989686535_0.46782674270356495","host":"s3://npm-registry-packages-npm-production"}},"1.0.35":{"name":"tianxincode","version":"1.0.35","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.35","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"5fb55d79d08391ba38087902021673b048f8cce9","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.35.tgz","fileCount":958,"integrity":"sha512-2VaKgy2KA/F0d890KiDtAQePekl1ucxErUdUec3E9WFe/kI2/QvLH+8f1RCMTicqr0ToIMZq/u+2T5fU088rhw==","signatures":[{"sig":"MEUCIQDPbiIFlQx/8zRLMs6QneZVY1AKR7qWgZXPiO+QnXTOIwIgdpt0NcpK1ZzRPlVdmd8E+K98EfXx3SH2q2KyfXquf5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7971867},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f1a1337b442392b5b5c15f8b34c4873a3115323a","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","ali-oss":"^6.23.0","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/ali-oss":"^6.23.3","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.35_1777036766287_0.8983897740333171","host":"s3://npm-registry-packages-npm-production"}},"1.0.36":{"name":"tianxincode","version":"1.0.36","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.36","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"fa9c6a6c5559311da6b32913c5faadc984fd85be","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.36.tgz","fileCount":962,"integrity":"sha512-aKAD58KmM6UQrbo8lRIRLl9HxYGM7X8yFm/+XVBY8WUF2OT3h2ZGXPU4Ex/VUWjB5Q8xYnuVmjI47+tCMcg1EQ==","signatures":[{"sig":"MEUCIBUR6s3jSFTbkjufMjlG5EEWOLL3Uk+tR1Ic/2mqPKq9AiEAi/w9VNi9iQaoe9QT7zpZ7GWkRXsZh9XFU22QJ/1hg4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8038142},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"bcca212a8c1eecfddd4cbf9a17e05ffad3b02251","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node -e \"const fs=require('fs');const path=require('path');const providerSrc='src/modules/tools/provider';const providerDst='dist/modules/tools/provider';fs.readdirSync(providerSrc).filter(f=>f.endsWith('.txt')).forEach(f=>{fs.mkdirSync(providerDst,{recursive:true});fs.copyFileSync(path.join(providerSrc,f),path.join(providerDst,f))});const skillSrc='src/modules/skill';const skillDst='dist/modules/skill';fs.mkdirSync(skillDst,{recursive:true});fs.copyFileSync(path.join(skillSrc,'skill.txt'),path.join(skillDst,'skill.txt'));const providerPromptSrc='src/modules/ai/provider/openai/prompt';const providerPromptDst='dist/modules/ai/provider/openai/prompt';fs.mkdirSync(providerPromptDst,{recursive:true});fs.copyFileSync(path.join(providerPromptSrc,'role.txt'),path.join(providerPromptDst,'role.txt'));const agents=['code','chat','task','mem','skill'];agents.forEach(agent=>{const src='src/modules/ai/agents/'+agent+'/prompts';const dst='dist/modules/ai/agents/'+agent+'/prompts';fs.mkdirSync(dst,{recursive:true});fs.copyFileSync(path.join(src,'role.txt'),path.join(dst,'role.txt'))});console.log('Copied .txt files to dist')\"","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","ali-oss":"^6.23.0","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/ali-oss":"^6.23.3","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.36_1777510233320_0.468559481961903","host":"s3://npm-registry-packages-npm-production"}},"1.0.37":{"name":"tianxincode","version":"1.0.37","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.37","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"78d828c2c5cdd06ac39b5f917d7a4f488652234c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.37.tgz","fileCount":1030,"integrity":"sha512-2CHkjajikCiZqiTkmjTsvT3JH58F/j+piaHUPlgsnymi1Kk1BNWHm+V9FgForKyGEx418rT6DkmptT/xM1WjyA==","signatures":[{"sig":"MEYCIQDS5d0YMtIFB8XPkoCOaaK4VuwS799QOE1+Tbbo69u2XQIhAKFH0kjQGfdyLGsrMZMo2aij5UrF9VFyCFYX1wRpy3nx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8268675},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3480efb77a049db060e987f9106b2c6ed1c5c7b7","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.37_1779417180854_0.12399743424512155","host":"s3://npm-registry-packages-npm-production"}},"1.0.38":{"name":"tianxincode","version":"1.0.38","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.38","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"ee72352af8fb09b2a40cbcdd130153423302d05f","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.38.tgz","fileCount":1030,"integrity":"sha512-fcAwREWk2IuWc3lXKuoEdXCCn4YwoDrgLSWNZdNWXl2BF8hVl9Sm+bJDnEb7F37YVl4zK2smjsJO5VGKagMbsQ==","signatures":[{"sig":"MEUCIG971xeZW2amqPmpEjwmQsfZEOcJjUA8xNHQL7B03jPDAiEAt0Q/jrE6hdukAYCePDqojq4ppTD00/oIy20GUK3KvyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8269002},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"050bd22b6d1126c9e212520dd41b055b59ddc50d","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.38_1779520627856_0.8035785378060605","host":"s3://npm-registry-packages-npm-production"}},"1.0.39":{"name":"tianxincode","version":"1.0.39","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.39","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"d9a8ee1f30af8ce94fc1bd7cebc0f9100e5ef29c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.39.tgz","fileCount":1030,"integrity":"sha512-w1eLbzT82HxIOzzzvPTi8aBuf53HEHY5sghSKROAXVRQTOxgR0Q7DTbc7mwNWtfZc/a+A75NooQxzT8dYrZXog==","signatures":[{"sig":"MEYCIQChtY3VnbR0XyfALt8sGL0pVMpPGNVKrZSMSAjVgYjbNwIhAJ00EP46tv9wC+VOU+EPi8qAoiy/zTpxZ1hYmKnSh37J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8269002},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"9035e125f07209b7092de11a6dd441414cab9754","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.39_1779547008534_0.9454921663928468","host":"s3://npm-registry-packages-npm-production"}},"1.0.40":{"name":"tianxincode","version":"1.0.40","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.40","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"15ac86b4346a29fb7501f49b3339718065c86ea9","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.40.tgz","fileCount":1030,"integrity":"sha512-2tvDPsTmSsRSJ77eEXA8IJwhTMQ2Iau96MCNVQmq+zkQQ+QZ+MUReiiFdhdIVvJR+xFGGFcejHpE01oJ7ZhOSw==","signatures":[{"sig":"MEUCIF27E/uSXdj4e/7PIkrLWyvcNYaawyI/UzIuHiZ1+MMTAiEAr3MfdPDNlr4ZLz0FeLc8xj5LX++j/nvSxR+EhJ8RYMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8269520},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e8c0ee60e56074c0469f3c95bdd64c1aeb751fe4","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.40_1779548440254_0.3276913733358646","host":"s3://npm-registry-packages-npm-production"}},"1.0.41":{"name":"tianxincode","version":"1.0.41","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.41","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"4c40606b014239ed7a0830a29363edd3b71fd038","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.41.tgz","fileCount":1030,"integrity":"sha512-2PA/I3i5lCxVjSHUob2cNL2YgOlvqJZWENVSECL+ZgjQfQjcE66EQi4Cx/iHpSgE40EeZ2ZYe30el+xoZ9a81A==","signatures":[{"sig":"MEUCIQDOPh9aNCBvej9efPoXZkqOiClciprsxNQI4ZdhiiD+pQIgMTy1Vm6IvNYGskSfiimkNbyBOvolROvcq20gb/+R1fQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8279392},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a979820a9773202defdc85386a459c1e3cce3847","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.41_1779694474095_0.5742714653381509","host":"s3://npm-registry-packages-npm-production"}},"1.0.42":{"name":"tianxincode","version":"1.0.42","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.42","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"ea1b24c756d5dda0bfcb92346b58b828bb046eae","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.42.tgz","fileCount":1030,"integrity":"sha512-YCKuwYscJq2YFGLx0CSLz5/ED+U1QC9mEvQEnid/obcMCBXwhbM9oJlBLBoG/G9xuGJtzS01uRXKJUsrO+1Gfw==","signatures":[{"sig":"MEUCIQDs7Ntdm2k3VEBqGvrWx8aL45LBmDgBX+Bs8bxZGSXkdAIgDIpOZ2FffFeM0vDuPnoEqSXMXUQ98tsXlVI3bJyvaDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8279392},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"8136706e814dce0e7f3bb8d153dc28539548da9d","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.42_1780298853325_0.7127692887823516","host":"s3://npm-registry-packages-npm-production"}},"1.0.43":{"name":"tianxincode","version":"1.0.43","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.43","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"c7cb47f593fcb3ba973935f0f2520ffc982e2b76","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.43.tgz","fileCount":1058,"integrity":"sha512-+jeu/8g/h0ZG7ilAR5PVvOMRDBrlkBb3Yee6XAsy7rltr2IZ/VH0RSVT2R5Giw1ncU7rsf1pc7WVXkVSwSoa2Q==","signatures":[{"sig":"MEUCIQDLrhGlQfkdBCqx87u0VgKbaQ6nyMd3pSG5tTAFIYHNQgIgGSolILcQz67O2NlDDxL68F/U9q7XPczkC7FWO3nXpYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8307757},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c9f9ee4cd6535634719684dfa940f76cc9de8167","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.43_1780639780809_0.6038646483647265","host":"s3://npm-registry-packages-npm-production"}},"1.0.44":{"name":"tianxincode","version":"1.0.44","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.44","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"dfb0b8eb331a9486cb60af04f9eff81698c1a733","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.44.tgz","fileCount":1059,"integrity":"sha512-KL9VzLH8CMJxktVmjBES0AnhShIzuCEfYY4hlEsGgnRCGb7d2hI8XhBPxUtJfZ+uDVC0/c1TdJkcqih0hJFy4Q==","signatures":[{"sig":"MEUCIEa34yLB1DPl6LT0aibjqN3+Cgm9DfKKWSCAgqjeNNCRAiEA+ZbKvWEtjOOjl25Dxa6OzoFp3afeZ2V0LAlNqb8uF1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8308456},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"16fb76ba75c05b86ab362cba2e564cca8dc61e64","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.44_1780645433708_0.9384316273790951","host":"s3://npm-registry-packages-npm-production"}},"1.0.45":{"name":"tianxincode","version":"1.0.45","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.45","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"bf370c7643d00a625ac6f742d7aba8a92b9e9967","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.45.tgz","fileCount":1059,"integrity":"sha512-gNlMibKQRDTMXgMFBIvDJoz+7UTst8hRzL1jBv4g8oJHv/Ki+zwbjuEDa86iJKkGuj6P3amulwKAuGAYpGE+Dw==","signatures":[{"sig":"MEYCIQDi+1DN104hIPQpvr7VH7kOm955+uMfoT9C7harTEx1QgIhAPvPJ4SrZ4mUelQqIhD+dfGh226Wa1EJHRJEfUO9H2l1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8338609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f20d622ca54f36faaba25aecde5170196643b227","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.45_1781079085792_0.1014861331051935","host":"s3://npm-registry-packages-npm-production"}},"1.0.46":{"name":"tianxincode","version":"1.0.46","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.46","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"12dd2191498030197581cac55b452ec712f17991","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.46.tgz","fileCount":2514,"integrity":"sha512-S8394UegsEatAsNumW3sfmub7aaK+pQb7B771lSFS64wtL1zkh1mRHBhyb4LpmE9jC63OL8qsqeOpxQK3HxCGw==","signatures":[{"sig":"MEUCIHixHmVgeS6Yw/J7i8g8xGbzcI0lURQ89QF+NegKRqimAiEA1BBC+v1EhFinz3E1TvhQxhRkA3ckBeV4Nc+Fqo7lnpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10080916},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"2f33ca9a82bd58f4135922f4ce36642387f4630a","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.46_1781579805597_0.5627610573125548","host":"s3://npm-registry-packages-npm-production"}},"1.0.47":{"name":"tianxincode","version":"1.0.47","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.47","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"e7b0a41a2df2174177b5bb7da2f5a128feaeaea8","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.47.tgz","fileCount":2514,"integrity":"sha512-gbSIVf6+WDJZZvyxEQW/jkvJfLv4BcEbXtTYbqjE6870qEJGNpzil67xEOB2q+VPU62G7Xr52+qo5gMEqMMwgg==","signatures":[{"sig":"MEYCIQD+q2Olx949f+K4w/8rRqo5+hWtufsco/wU8My8Cv2LXAIhANbpG5Sb82yUQ7RxND/sqt//w5bLVwbPdVXr0p/UDrNq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10084045},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"358417bf3de2cdc70f3c303a6e0c3dedd0895caf","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.47_1781615523297_0.8569350354029113","host":"s3://npm-registry-packages-npm-production"}},"1.0.48":{"name":"tianxincode","version":"1.0.48","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.48","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"d2d7d0a1e84e2adf51741b3d26174db5983f39c7","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.48.tgz","fileCount":2514,"integrity":"sha512-3dHvQ2oLmDZtbw+UE8xwUrJ0FdJD8wkcaEldVlknWLv+eF3Tsw+BO0Fhshl+HLuuhmfweuU5JkkE1htS8vMsXQ==","signatures":[{"sig":"MEUCIATRd/6MYrwdp7CMFPzu3AFBfT7hRAzN0yG5BejgmRIZAiEA8OF1KPHhXU7ecHwWr2nfGq9mDN5F6UL5cNeOFqgChhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10084048},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"cb6da49058213e55f2fca8a5f4be277e82ed9d08","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.18.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.48_1781617674844_0.2295257262250916","host":"s3://npm-registry-packages-npm-production"}},"1.0.49":{"name":"tianxincode","version":"1.0.49","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.49","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"3b531ce551ce4962ef46a8da2bfbe9c4759525e8","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.49.tgz","fileCount":2392,"integrity":"sha512-TYtQbVg5ENFGLOEssuYje9WfKiTqly5AVacCHFXlLGFWkFEq31iXAmgohiCx7m4CQzJqvooWsbrZxInSHJtAAQ==","signatures":[{"sig":"MEYCIQDTXDfstu+Ga3q3WIpEa1jwxdJ2xbQDFyql5XHdO75zzQIhAOViwv2Luz0FZs1bI+HNconh+J5wJgF4tgyUJ28Fd1G/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9858214},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"97ade039bb72c3ec7a22c8ba3798f18054869c5b","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.49_1782304153396_0.7094200185489499","host":"s3://npm-registry-packages-npm-production"}},"1.0.50":{"name":"tianxincode","version":"1.0.50","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.50","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"6c864c91882bb727689790183a18d6a638abe52c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.50.tgz","fileCount":2476,"integrity":"sha512-4VNktONGo6VU49apdVbs0Y0DLx5/fPoS4fQ0y/4IO6l8HrZN9eI6kJiPxrbNq1XrbYeq0yVRgM06In8rrHphgg==","signatures":[{"sig":"MEUCIDMYe0mvn0FvjeFwbSP4zaQ4bwjGS8Ho8ua/L0LEO9knAiEAwMK2FrsL1l0Gd4M/bo/1bUlZD1nsbunU+fIpr002EOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9918847},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1ddc0bf0822d4ff5c40526d6ff5e3119714df4ca","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.50_1782799310487_0.4032220935033599","host":"s3://npm-registry-packages-npm-production"}},"1.0.51":{"name":"tianxincode","version":"1.0.51","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.51","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"ba564f0a08abb4f5d3182c51dfc860dd6e403f72","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.51.tgz","fileCount":2480,"integrity":"sha512-HESRqR24UsTOxXJw731vBqZmSff5srUGZNcsmv483NuXfJIZsPtjIlf7BqyWipqr13m1Vf0zlXBTLaln63QdKg==","signatures":[{"sig":"MEQCIQDAvbrr21DSD/PaklhY8QxEKHtwl5d21XhppckAgYb0YQIfbye3zZS3zpRTKZTVmQB5k+DQA6TbdJ9nzIcZ07Byjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9967613},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b946e6d6bae84d1cee7df689d6c71f0635814e1f","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.51_1782874613955_0.6066135248566658","host":"s3://npm-registry-packages-npm-production"}},"1.0.52":{"name":"tianxincode","version":"1.0.52","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.52","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"1a899032295f5ef7619396e05ed7f09db2c5ef77","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.52.tgz","fileCount":2541,"integrity":"sha512-/Yvr4rEIyLJ0zsn2WgG4ex9bHN71uE/oGdnObZ14RAEIhRH/bCefiQzuqTZpssu95ILqFUp5twH7D0N275fw6g==","signatures":[{"sig":"MEQCIDvc31XO8cG5BDkrsCMLJswWXLTci17u1A4wi85UlXREAiArmgEhRRXh1IO0kVkxegm5YweQk2UPOAc5LvJtrTqzLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10143412},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"33e9fa15f10962afe41e6bdca0b62aec454c56f9","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.52_1783329700076_0.7443424443870075","host":"s3://npm-registry-packages-npm-production"}},"1.0.53":{"name":"tianxincode","version":"1.0.53","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.53","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"70f6045d505d4e1d25456fc4167b24096612405a","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.53.tgz","fileCount":2546,"integrity":"sha512-XFQ5TCsU8WHvcAg9wSaaQuAE8WENzWPwI04d9iFC2weUpacYSsKo6+kim+VkYN/v3pE3BmKvLbtW+Djo38P5Fg==","signatures":[{"sig":"MEUCIQDy7QwPrKJY7UJw8wzh3lp9PFm1AZU11B4oDZ8VYzU8nQIgJSrhrpplPKB+alXTegJQLP9XZRrTw8YXfNkNqKQ+n2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10136711},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c0565828a8db874dca9a74f335689242150ceb6e","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.53_1783400469748_0.6483532080645011","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"tianxincode","version":"1.0.54","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.54","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"a155450aed710132663b8644c9f073e58496a4d2","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.54.tgz","fileCount":2546,"integrity":"sha512-GnKTAePKwAebH5iRro1z26p1o9SXJHTICFoy91BMfnC/RPX6kLfn4iQ/MDCPH8xp9gUVkyjjmjEeuG266D2MHA==","signatures":[{"sig":"MEYCIQCGALKVqIImY/qicBkICoCl38unUQ9GqSIOs5wAid5z4gIhALBNMm7ClUP4QsjsNjewj8e3RwKc4zECL3wesK+s6ZRZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10137280},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c5e677608788e9ce1d30e944f7d895462b53e114","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.54_1783986700000_0.11674818131613529","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"tianxincode","version":"1.0.55","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.55","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"474f2bab1aac54e41da7d35fdbd60ee4fa4ccbdd","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.55.tgz","fileCount":2551,"integrity":"sha512-dnkig8QjIrnIEllNu4p7RA0vBDnLxyizb/7ilXtwoRv1pwoodR1Mgz7hVrcoumg6yQHlJ0RdCEEIdy+ev1wYZA==","signatures":[{"sig":"MEUCICUywbEESt9jc/T4Dy+J9NRd1bdOBzTey5ryoUNNlWfXAiEAzWKvT1pMhEszDp7l89x884+HAtC01iLyQZZ/zmwXHUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10163782},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1a8cf7af7d6e248d4baf9df9481ed1f35bde8ca1","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.55_1784015162596_0.27799181188464295","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"tianxincode","version":"1.0.56","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.56","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"fbdb7e7908631f797bbd080d8c1ceea98d572e3c","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.56.tgz","fileCount":2762,"integrity":"sha512-jbquKPb09Su/h1IS4nTxYTo/K7u4TPMwuWmGidqbdXmBRwl8N2oo1BxxVJvmogqYne9PFumHCUBE3Vs/WpVeyA==","signatures":[{"sig":"MEYCIQCk699qcxkQBiAauE7Jbg7jqRT5Uv2GUCe9gGi3KetuWwIhAK2LAuWFzK9RVjEFgS7cVREm3qLcIcHUHyolStGGinED","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10449972},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"879a9d0472302410e5d0292e1dfba897c3ca4809","scripts":{"dev":"tsx src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","web:dev":"cd web && npm run dev","copy-txt":"node scripts/copy-txt.js","start:web":"node dist/index.js web","web:build":"cd web && npm install && npm run build","desktop:dev":"cd desktop && npm run dev","test:coverage":"jest --coverage","demo:ink-scroll":"tsx scripts/ink-scroll-demo.tsx","desktop:build:all":"cd desktop && npm run build:all","desktop:build:mac":"cd desktop && npm run build:mac","desktop:build:win":"cd desktop && npm run build:win"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"10.9.3","description":"AI Coding Assistant","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ws":"^8.20.0","ink":"^6.8.0","cors":"^2.8.6","diff":"^7.0.0","ssh2":"^1.17.0","uuid":"^9.0.1","yaml":"^2.8.3","react":"^19.2.4","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","react-dom":"^19.2.4","nodemailer":"^8.0.4","playwright":"^1.61.1","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/react":"^19.2.14","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11","@types/react-dom":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.56_1784690724689_0.5624649315084269","host":"s3://npm-registry-packages-npm-production"}},"1.0.57":{"name":"tianxincode","version":"1.0.57","keywords":["ai","coding","assistant"],"author":"","license":"ISC","_id":"tianxincode@1.0.57","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"bin":{"txcode":"dist/index.js"},"dist":{"shasum":"29c03885281d365d3b07db4c180b602e42d50cf3","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.57.tgz","fileCount":3082,"integrity":"sha512-5Y38cSFi8n6uhL3iODOP3bWXLba6PCtu4iN0QYECSHAYU64wXADGquOvRueef28+zHCaqf5tVOKIrrsMtMlSMA==","signatures":[{"sig":"MEUCICiNcdC+LmDSoOqUF6VvrlXJRTcVEU1LA9m7Y4N1UippAiEAsURPqoJLoUrEZ/eB//QPMdR9iq2qyxv416OlVLDcqPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16651852},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1fd4b994e304e7f2935a06c33147c4a74b4c7a8e","scripts":{"dev":"tsx tx_server/src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","copy-txt":"node tx_server/scripts/copy-txt.js","desktop:dev":"cd tx_desktop && npm run dev","desktop:build":"cd tx_desktop && npm install --include=dev && npm run build","test:coverage":"jest --coverage","desktop:build:all":"cd tx_desktop && npm run build:all","desktop:build:mac":"cd tx_desktop && npm run build:mac","desktop:build:win":"cd tx_desktop && npm run build:win"},"_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"_npmVersion":"11.16.0","description":"AI Coding Assistant","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","cors":"^2.8.6","diff":"^7.0.0","ssh2":"^1.17.0","uuid":"^9.0.1","yaml":"^2.8.3","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","nodemailer":"^8.0.4","playwright":"^1.61.1","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"prepublishOnly":"npm run build && npm run desktop:build","devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11"},"_npmOperationalInternal":{"tmp":"tmp/tianxincode_1.0.57_1788065070782_0.7188460379094239","host":"s3://npm-registry-packages-npm-production"}},"1.0.61":{"_id":"tianxincode@1.0.61","bin":{"txcode":"dist/index.js"},"dist":{"shasum":"5a59d9a89a8b7e975865eb8b08771a9c3f132de4","tarball":"https://registry.npmjs.org/tianxincode/-/tianxincode-1.0.61.tgz","fileCount":3084,"integrity":"sha512-GoK3M3VtFwVsKumYGWkZrCVDxhgp5anJ7k8WlDCGsoZbTwDyVG85uB0iQ37HAR8Hkv8NOYRn73pSgYP+uMyIKA==","signatures":[{"sig":"MEYCIQDtP0Rk9Pr5gEvNYb1E3Annq5A/UfM6oHT3H12vBL4raQIhANrmi8l9UZEnMKwBr3Wfn4nalZyIBlszLXD5S0K7iqNh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC7UbtPRtaO2oUy/XKzF12yalVYf/lhtnzK79/zijNSuwIhAL94s5ofRIwYdfJUf1XfBNGRn+hbUcYN3pqIsTBlRs38"}],"unpackedSize":16669651},"main":"dist/index.js","name":"tianxincode","type":"module","types":"dist/index.d.ts","author":"","gitHead":"0831a352539238933a97fdba474f6db34a4a41d7","license":"ISC","scripts":{"dev":"tsx tx_server/src/index.ts","test":"jest","build":"tsc && tsc-alias && npm run copy-txt","start":"node dist/index.js","copy-txt":"node tx_server/scripts/copy-txt.js","desktop:dev":"cd tx_desktop && npm run dev","desktop:build":"cd tx_desktop && npm install --include=dev && npm run build","test:coverage":"jest --coverage","desktop:build:all":"cd tx_desktop && npm run build:all","desktop:build:mac":"cd tx_desktop && npm run build:mac","desktop:build:win":"cd tx_desktop && npm run build:win"},"version":"1.0.61","_npmUser":{"name":"wuxw","email":"joinz2015@gmail.com"},"keywords":["ai","coding","assistant"],"_npmVersion":"11.16.0","description":"AI Coding Assistant","directories":{},"maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","cors":"^2.8.6","diff":"^7.0.0","ssh2":"^1.17.0","uuid":"^9.0.1","yaml":"^2.8.3","which":"^6.0.1","multer":"^2.1.1","openai":"^5.5.1","sql.js":"^1.12.0","undici":"^7.25.0","xml2js":"^0.6.2","adm-zip":"^0.5.18","express":"^5.2.1","js-yaml":"^4.1.1","node-cron":"^4.2.1","nodemailer":"^8.0.4","playwright":"^1.61.1","@types/diff":"^7.0.2","@lydell/node-pty":"^1.0.0","@types/nodemailer":"^7.0.11","dingtalk-stream-sdk-nodejs":"^2.0.4"},"_hasShrinkwrap":false,"prepublishOnly":"npm run build && npm run desktop:build","devDependencies":{"tsx":"^4.21.0","jest":"^30.3.0","ts-jest":"^29.4.6","ts-node":"^10.9.2","@types/ws":"^8.18.1","tsc-alias":"^1.8.10","typescript":"^5.9.3","@types/cors":"^2.8.19","@types/jest":"^30.0.0","@types/node":"^25.5.0","@types/uuid":"^10.0.0","@types/which":"^3.0.4","@types/multer":"^2.1.0","@types/sql.js":"^1.4.9","@types/xml2js":"^0.4.14","@types/express":"^5.0.6","@types/js-yaml":"^4.0.9","@types/node-cron":"^3.0.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tianxincode_1.0.61_1789478550538_0.25096440447913393"}}},"time":{"created":"2026-03-25T08:24:20.939Z","modified":"2026-09-15T13:22:30.891Z","1.0.0":"2026-03-25T08:24:21.277Z","1.0.1":"2026-03-25T08:49:00.236Z","1.0.2":"2026-03-25T09:01:36.636Z","1.0.3":"2026-03-25T14:14:50.426Z","1.0.4":"2026-03-26T05:59:47.244Z","1.0.5":"2026-03-26T06:04:02.340Z","1.0.6":"2026-03-26T06:37:05.710Z","1.0.7":"2026-03-26T12:32:07.065Z","1.0.8":"2026-03-26T14:35:28.371Z","1.0.9":"2026-03-27T07:13:16.500Z","1.0.10":"2026-03-27T07:18:20.369Z","1.0.11":"2026-03-27T12:53:49.039Z","1.0.12":"2026-03-29T03:30:19.595Z","1.0.13":"2026-03-30T13:37:15.132Z","1.0.14":"2026-03-31T16:58:44.363Z","1.0.15":"2026-04-01T00:31:01.252Z","1.0.16":"2026-04-01T06:55:27.456Z","1.0.17":"2026-04-01T07:30:04.958Z","1.0.18":"2026-04-02T09:22:25.469Z","1.0.19":"2026-04-02T14:32:09.298Z","1.0.20":"2026-04-03T05:03:42.290Z","1.0.21":"2026-04-03T16:53:43.980Z","1.0.22":"2026-04-06T17:35:20.849Z","1.0.23":"2026-04-08T13:59:00.336Z","1.0.24":"2026-04-08T16:46:53.699Z","1.0.25":"2026-04-09T04:26:30.584Z","1.0.26":"2026-04-15T17:55:40.386Z","1.0.27":"2026-04-16T12:25:26.420Z","1.0.28":"2026-04-16T12:33:58.391Z","1.0.29":"2026-04-17T06:41:52.819Z","1.0.30":"2026-04-17T14:33:52.211Z","1.0.31":"2026-04-17T15:07:49.273Z","1.0.32":"2026-04-23T01:39:06.756Z","1.0.33":"2026-04-23T02:00:05.214Z","1.0.34":"2026-04-24T00:14:46.841Z","1.0.35":"2026-04-24T13:19:26.554Z","1.0.36":"2026-04-30T00:50:33.582Z","1.0.37":"2026-05-22T02:33:01.053Z","1.0.38":"2026-05-23T07:17:08.056Z","1.0.39":"2026-05-23T14:36:48.742Z","1.0.40":"2026-05-23T15:00:40.457Z","1.0.41":"2026-05-25T07:34:34.346Z","1.0.42":"2026-06-01T07:27:33.487Z","1.0.43":"2026-06-05T06:09:41.070Z","1.0.44":"2026-06-05T07:43:53.933Z","1.0.45":"2026-06-10T08:11:25.968Z","1.0.46":"2026-06-16T03:16:45.843Z","1.0.47":"2026-06-16T13:12:03.572Z","1.0.48":"2026-06-16T13:47:55.106Z","1.0.49":"2026-06-24T12:29:13.658Z","1.0.50":"2026-06-30T06:01:50.745Z","1.0.51":"2026-07-01T02:56:54.204Z","1.0.52":"2026-07-06T09:21:40.273Z","1.0.53":"2026-07-07T05:01:09.957Z","1.0.54":"2026-07-13T23:51:40.245Z","1.0.55":"2026-07-14T07:46:02.775Z","1.0.56":"2026-07-22T03:25:24.941Z","1.0.57":"2026-08-30T04:44:31.033Z","1.0.61":"2026-09-15T13:22:30.733Z"},"license":"ISC","keywords":["ai","coding","assistant"],"description":"AI Coding Assistant","maintainers":[{"name":"wuxw","email":"joinz2015@gmail.com"}],"readme":"# txcode\n\nAI Coding Assistant - 一个强大的 AI 编程助手命令行工具。\n\n## 安装\n\n### 全局安装（推荐）\n\n```bash\nnpm install -g tianxincode\n```\n\n安装完成后，您可以在任何目录下使用 `txcode` 命令。\n\n\n## 快速开始\n\n安装完成后，直接在终端中运行：\n\n```bash\ntxcode\n```\n\n访问http://localhost:40000 页面 设置里配置模型提供商和模型，然后可以在页面交互，也可以ctrl+c 关闭后启动命令行方式\n![配置提供商和模型](https://github.com/joinz2015-boop/txcode/blob/main/docs/001.png)\n\n## 基本用法\n\n### 操作文档\n\n[https://joinz2015-boop.github.io/txcode/getting-started/index.html](https://joinz2015-boop.github.io/txcode/getting-started/index.html)\n\n### 启动交互模式（默认）\n\n```bash\ntxcode\n```\n\n### 启动桌面页面\n\n```bash\ntxcode\n```\n\n### 指定服务端口\n\n```bash\ntxcode --port 40001\n```\n\n### 获取帮助（在交互模式中）\n\n启动交互模式后，输入 `/help` 查看可用命令。\n\n## 功能特性\n\n- **交互式命令行界面**：直接在终端中与 AI 助手对话\n- **代码智能分析**：支持代码搜索、文件操作、Git 集成等功能\n- **项目记忆管理**：自动记录项目关键信息，快速定位代码\n- **多工具支持**：内置文件操作、代码搜索、网络搜索等工具\n- **桌面页面**：提供图形化操作界面（可选）\n\n## 使用示例\n\n### 1. 启动交互模式\n\n```bash\n# 启动交互式命令行界面\ntxcode\n\n# 启动后，您可以输入自然语言指令，例如：\n> 搜索所有包含 \"function\" 的 TypeScript 文件\n> 读取 tx_server/src/index.ts 文件\n> 查看当前 Git 状态\n```\n\n### 2. 使用桌面页面\n\n```bash\n# 启动服务并自动打开桌面页面（默认端口 40000）\ntxcode\n\n# 指定端口启动\ntxcode --port 40001\n```\n\n### 3. 交互式命令\n\n在交互模式中，可以使用以下命令：\n\n```\n/help          - 显示帮助信息\n/new [标题]    - 创建新会话\n/sessions      - 列出所有会话\n/switch <ID>   - 切换到指定会话\n/models        - 列出可用模型\n/model <ID>    - 切换模型\n/skills        - 列出可用技能\n/use <技能名>  - 使用特定技能\n/token         - 显示 Token 使用统计\n/exit          - 退出程序\n```\n\n### 4. 常见任务示例\n\n```\n# 代码搜索和分析\n> 查找所有使用 useState 的 React 组件\n> 分析项目的目录结构\n> 搜索包含特定错误信息的文件\n\n# 文件操作\n> 创建新的组件文件\n> 修改现有代码\n> 批量重命名文件\n\n# Git 操作\n> 查看最近的提交\n> 创建新的分支\n> 提交当前更改\n```\n\n## 配置说明\n\n### 环境变量\n\n工具支持以下环境变量：\n\n- `OPENAI_API_KEY`：OpenAI API 密钥（必需）\n- `TXCODE_WORKSPACE`：工作空间目录路径（可选）\n\n### 配置文件\n\n工具会在工作目录下创建 `.txcode` 文件夹，用于存储：\n- 项目记忆文件\n- 会话历史\n- 配置文件\n\n## 项目结构\n\n```\n├── tx_server/   # 后端源代码目录\n│   └── src/              # 主入口与业务代码\n│       ├── index.ts          # 主入口文件\n│       ├── modules/          # 功能模块\n│       └── types/            # 类型定义\n├── tx_desktop/   # 前端源码（Vue2，构建产物由后端静态托管，亦可 Electron 打包）\n├── dist/         # 后端构建输出目录\n├── tests/        # 测试文件\n└── package.json  # 项目配置\n```\n\n## 开发说明\n\n> **注意**：以下内容主要面向开发者，普通用户无需关注。\n\n### 开发环境设置\n\n```bash\n# 克隆项目\ngit clone <repository-url>\ncd txcode\n\n# 安装依赖\nnpm install\n\n# 开发模式运行\nnpm run dev\n\n# 构建项目\nnpm run build\n```\n\n### 运行测试\n\n```bash\n# 运行测试\nnpm test\n\n# 运行测试并生成覆盖率报告\nnpm run test:coverage\n```\n\n### 发布新版本\n\n```bash\n# 更新版本号\nnpm version patch  # 或 minor, major\n\n# 发布到 npm\nnpm publish\n```\n\n## CHANGE LOG\n[change log](https://github.com/joinz2015-boop/txcode/blob/main/CHANGELOG.md)\n\n## 许可证\n\nISC","readmeFilename":"README.md"}