{"_id":"@dayinxisheng/novel-tools","_rev":"10-46ebec89587c8db88554d697e2ca965d","name":"@dayinxisheng/novel-tools","dist-tags":{"latest":"0.4.5"},"versions":{"0.1.0":{"name":"@dayinxisheng/novel-tools","version":"0.1.0","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.1.0","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"bdc7c1b0f5b33ef5eb2c26cd484d717203146fd5","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.1.0.tgz","fileCount":83,"integrity":"sha512-hNetbIhMhpnzUtZLuTeHhUXTlLDUmrk4jjDZqOqRxmyOa9vtJ5c6tkdV1RoD7+Nxh2SSh/paUyibIoPUpHy8YA==","signatures":[{"sig":"MEUCIHOXDAaAsAG10fPhn9aE9QzsxRrfTlZhuOQ1wyj/egOMAiEAm778meu7XJbKKUyoAWv9QXoiumi7oaPxOgCsait+RlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180571},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"e5d11ab3aa3ea057643d3247e774a2f3f6f9c9b5","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.1.0_1773063301992_0.9488182020672755","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dayinxisheng/novel-tools","version":"0.2.0","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.2.0","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"1238a9d2d94fc653f91de8bbc7723f50a47cda99","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.2.0.tgz","fileCount":99,"integrity":"sha512-OodCe6YefzRUZmqU9Ed7M86zl88mJRoF4wrI4WVJXTQELYmLqmcmTUI44gqV9oRXgH0Cbp/jigBtgx2WMDkZ1w==","signatures":[{"sig":"MEYCIQD+Gnu1NSWP8Kqs9f9YiC4kvwBkcN2dPjhIbPfi6BNimQIhAK3j/0BH23YGdIGz1hBb+ZciNWZKSP9TF4LZlruymsum","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253333},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"01f381f657d00d4258592db611e59660d9221505","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.2.0_1773065259540_0.6855145779494811","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dayinxisheng/novel-tools","version":"0.2.1","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.2.1","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"9877b56fc2f08e34582c86e106c9260dd01d7c1a","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.2.1.tgz","fileCount":107,"integrity":"sha512-vF1K5AinKWOgolu2PIcUag1KHAir7zK1d3bj2kRCWtK0tpoWIUsjnoF5HtfthVDbOG4mDqDIoBLYFwkbMw6C6Q==","signatures":[{"sig":"MEYCIQDmcHcc/gEqR8qrYYM4NNmBaKa8BUxt0Wqzfe4ciWLHfgIhAJnGNGCBQ7p5oonuvWSwBy8bw5keFyu0H5dzbJ0nJM30","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270925},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"c02982f90ce97c51a905f992c3c3ec96fbf6e5b0","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.2.1_1773107628924_0.503364832705822","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dayinxisheng/novel-tools","version":"0.2.2","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.2.2","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"29d796a80551602e7c56fc326a6b16e3075c43dd","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.2.2.tgz","fileCount":107,"integrity":"sha512-LHW7baz2cO+pTIqjDzZij2ngCe/I1tXeCPSf+rSzwJx2kijjoq9t09uVIrdv9hZQMt6cTTi6G1M7GUdgtA8XdQ==","signatures":[{"sig":"MEYCIQCYaIib+dRIbDyyztxER5UKUATs5GZiNR/a/zfT8z1tLQIhAOcOc4z5/6KwbMiQhx6kad5NcPzePUFzYNzikudWpIXe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278907},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"f3df7b0d9dd0cf6c4859c970fcff71b0de372e78","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.2.2_1773133820207_0.2440545444356801","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dayinxisheng/novel-tools","version":"0.3.0","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.3.0","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"be3f6226e414694a686be61555e80ec898ef457e","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.3.0.tgz","fileCount":119,"integrity":"sha512-LsX8e0K6vfBysr2+KB/X+aYmD6JKJhHtGm/RExG+mGxw3Vt2BP3DK+d39c8sNaqaEwEievbyvhaaQ6DZ7Ubhsg==","signatures":[{"sig":"MEUCIFI1spYMxWWOG0BmCEXi8IPKG2WKcPFvvUq2M2IAWulUAiEA2ldMZ8n/2AP8Mueec/ndAIggbrYc1fxQFxmK31NiBH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314651},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"d63ed3c681b00cb7bd40244f971d18ec62c006c5","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.3.0_1773201812463_0.22648979573119465","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dayinxisheng/novel-tools","version":"0.3.1","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.3.1","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"aa4e1727b51f1fefd0ca5583198438015387962d","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.3.1.tgz","fileCount":119,"integrity":"sha512-tBdZHOnk+wUnhNW6l6ROfC4Q34pxeL3MKg1JlflqWeLSZ0SzCTpjR7r2J3hcOKLpuS89bT5dVCNfCRTZr7TLUQ==","signatures":[{"sig":"MEUCIEGu14aiuUKesw68zmxUeKHcn8WM2up8eFBhvak1j1iUAiEAikQkVYiivFqFGoXMgVVbhjPHkWA1VtFVjWL7OjWA98E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301765},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"3dc4922c5e27db3ede6aa8ca1774d7d05fc053b5","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.3.1_1773219399956_0.23983232438314883","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@dayinxisheng/novel-tools","version":"0.4.0","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.4.0","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"c83dc42bd655339f3296a9d246909c9a686fdadd","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.4.0.tgz","fileCount":123,"integrity":"sha512-L49DiFphncRUgtW+yc6OQzme1rQmre6vk2OIyAnmlCfyJi0OMUpTvklbmZIWnDzCAlBcdVrmxR7sYmGfctM9Hg==","signatures":[{"sig":"MEUCIQDeUtUJRS5bRGqr1pdHUUlRmwfXWCv29T2YHf0exs2orgIgQHC3RWY1yQ2RI3ee9E8O1wI9Q6i8+LvJltFxvcOI6Z8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":338261},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"c6dcf87bc221145f8eecdf91284ed1e35a03aa1a","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.4.0_1773222502214_0.5140286905575049","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@dayinxisheng/novel-tools","version":"0.4.1","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.4.1","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"f7fe304a4bdb9288d385ef1a8d49d09d2a2a9866","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.4.1.tgz","fileCount":123,"integrity":"sha512-CuXPuEJoaKBd0qqDiLoOCrYXUYP0TTY4dtS6rrdJcTd0q6J2WBanCReS3l/67YWp8M2NGdXRQF/nxqFtbdzr4A==","signatures":[{"sig":"MEUCIQDFwMonZnKMZdMwPyh4FzTOg5PBxRRied3FVvjYNd7l/AIgeCHQ8tp74s8G6b4l/NSsgDgyFr/xz3IoXVzvj83P+e4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339842},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"38b0ab26f4f9542bc72e3a7535e72687755094eb","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.4.1_1773233859739_0.9343374348276483","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@dayinxisheng/novel-tools","version":"0.4.4","keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","_id":"@dayinxisheng/novel-tools@0.4.4","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"bin":{"novel-tools":"dist/commands/index.js"},"dist":{"shasum":"949ae75c2eb62c5ea4de0b0a96afe3e2dd56a8b3","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.4.4.tgz","fileCount":123,"integrity":"sha512-HfbNQFwtT3eXeVRjnP5OrrWeRcZmBGvvJ5cVMzt1G0JeCoqqP16G29I7+9TaHRrRvaBTUiDg2ABGC1A2ba/rRQ==","signatures":[{"sig":"MEYCIQCgWWWk0TfYiLkI8hCVJSMlw9NV8D+liPxQ59G8CcswCgIhAMAD/Z0X6L4UtYN4dqqeAqYmrt6O4ukchcUltfIPCQT7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341156},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"gitHead":"38b0ab26f4f9542bc72e3a7535e72687755094eb","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest","build":"tsc","prepare":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"_npmVersion":"10.9.2","description":"小说创作辅助工具集 - TypeScript 实现","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.0","chalk":"^5.3.0","js-yaml":"^4.1.0","commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","typescript":"^5.3.3","@types/jest":"^29.5.12","@types/node":"^20.11.24","@types/js-yaml":"^4.0.9","@typescript-eslint/parser":"^7.1.1","@typescript-eslint/eslint-plugin":"^7.1.1"},"_npmOperationalInternal":{"tmp":"tmp/novel-tools_0.4.4_1773234612356_0.8735341839164488","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@dayinxisheng/novel-tools","version":"0.4.5","description":"小说创作辅助工具集 - TypeScript 实现","type":"module","main":"dist/index.js","bin":{"novel-tools":"dist/commands/index.js"},"exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./core":"./dist/core/index.js","./services":"./dist/services/index.js"},"scripts":{"build":"tsc","dev":"tsc --watch","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","prepare":"npm run build","prepublishOnly":"npm run test && npm run build"},"keywords":["novel","writing","fiction","cli","authoring"],"author":{"name":"dayinxisheng"},"license":"MIT","dependencies":{"chalk":"^5.3.0","commander":"^12.1.0","glob":"^11.0.0","js-yaml":"^4.1.0"},"devDependencies":{"@types/jest":"^29.5.12","@types/js-yaml":"^4.0.9","@types/node":"^20.11.24","@typescript-eslint/eslint-plugin":"^7.1.1","@typescript-eslint/parser":"^7.1.1","eslint":"^8.57.0","jest":"^29.7.0","ts-jest":"^29.1.2","typescript":"^5.3.3"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"_id":"@dayinxisheng/novel-tools@0.4.5","gitHead":"9772754b9ddfe50ca71e347b37aff3184b229159","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-bREvCcYNR74Mv+PmJT8YnDUpZ3YLqSoxms/xz4Z289URuDWbG6b0htMn05WO2TjCWhIUsDOisaEn/7UcfB5hWA==","shasum":"db91eefd297bf125ff6cb59d6a78f9b9d9060ad1","tarball":"https://registry.npmjs.org/@dayinxisheng/novel-tools/-/novel-tools-0.4.5.tgz","fileCount":123,"unpackedSize":340992,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCeh0utXCSrFvy9Lj9q8rNE08L8QyuXYgnoBp98a0ESSQIhAMtOEukmEz7DV1jRiQLs8dcSeYukf6XWM/TXDNW7Mhmc"}]},"_npmUser":{"name":"dayinxisheng","email":"daxing_fujian@163.com"},"directories":{},"maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/novel-tools_0.4.5_1773285931278_0.8589192102559493"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T13:35:01.904Z","modified":"2026-03-12T03:25:31.614Z","0.1.0":"2026-03-09T13:35:02.143Z","0.2.0":"2026-03-09T14:07:39.700Z","0.2.1":"2026-03-10T01:53:49.073Z","0.2.2":"2026-03-10T09:10:20.352Z","0.3.0":"2026-03-11T04:03:32.650Z","0.3.1":"2026-03-11T08:56:40.173Z","0.4.0":"2026-03-11T09:48:22.925Z","0.4.1":"2026-03-11T12:57:39.914Z","0.4.4":"2026-03-11T13:10:12.521Z","0.4.5":"2026-03-12T03:25:31.432Z"},"author":{"name":"dayinxisheng"},"license":"MIT","keywords":["novel","writing","fiction","cli","authoring"],"description":"小说创作辅助工具集 - TypeScript 实现","maintainers":[{"name":"dayinxisheng","email":"daxing_fujian@163.com"}],"readme":"# @dayinxisheng/novel-tools\n\n小说创作辅助工具集 - TypeScript 实现\n\n## 概述\n\n这是一套用于长篇小说创作的命令行工具，提供设定管理、状态查询、一致性检查等功能。原 Python 脚本的 TypeScript 移植版本。\n\n## 功能\n\n- **全局配置**：管理项目路径配置，支持自动路径解析\n- **项目初始化**：创建标准的小说项目目录结构\n- **查询功能**：查询静态设定、人物信息、状态快照、人物关系、伏笔等\n- **事件管理**：追加事件、生成章节摘要、列出事件\n- **临时设定**：添加临时设定、审核队列、迁移到正式设定\n- **快照管理**：生成、列出、查看卷级/弧级状态快照\n- **一致性检查**：检查大纲、章节的一致性\n- **风格分析**：从 JSONL 文件提取章节内容用于写作风格分析\n\n## 安装\n\n```bash\nnpm install -g @dayinxisheng/novel-tools\n```\n\n或作为项目依赖：\n\n```bash\nnpm install @dayinxisheng/novel-tools\n```\n\n## 使用\n\n### 全局配置管理\n\n```bash\n# 设置当前项目的小说路径\nnovel-tools config set my-novel\n\n# 查看当前项目配置\nnovel-tools config get\n\n# 列出所有已配置的项目\nnovel-tools config list\n\n# 删除当前项目配置\nnovel-tools config unset\n```\n\n配置后，在项目的任何子目录执行命令都会自动使用配置的小说路径，无需每次指定 `-p` 参数。\n\n### 初始化项目\n\n```bash\nnovel-tools init my-novel webnovel\n```\n\n### 查询设定\n\n```bash\n# 查询静态设定\nnovel-tools query setting world\nnovel-tools query setting power_system\n\n# 查询设定大纲（多层级标题树状结构）\nnovel-tools query setting world --outline\n\n# 提取指定大章节内容\nnovel-tools query setting world --section \"第一章\"\n\n# 查询人物信息\nnovel-tools query character 张三\n\n# 查询人物关系\nnovel-tools query relationships 张三\nnovel-tools query relationships\n\n# 查询伏笔（默认显示未解决）\nnovel-tools query foreshadows\n\n# 查询特定状态的伏笔\nnovel-tools query foreshadows --status resolved\n\n# 查询当前状态快照\nnovel-tools query state\n\n# 查询指定卷的状态快照\nnovel-tools query state --volume 1\n```\n\n### 事件管理\n\n#### 追加事件\n\n```bash\n# JSON 字符串\nnovel-tools event append 1 --events '[{\"type\":\"出场\",\"character\":\"林风\"}]'\n\n# 从文件\nnovel-tools event append 1 --file events.json\n\n# 交互式\nnovel-tools event append 1 --interactive\n\n# 覆盖已存在的事件\nnovel-tools event append 1 --events '[...]' --replace\n```\n\n#### 章节摘要\n\n```bash\nnovel-tools event summary 1 --output table\nnovel-tools event summary 1 --output json\nnovel-tools event summary 1 --output markdown\n```\n\n#### 列出事件\n\n```bash\n# 列出所有事件\nnovel-tools event list\n\n# 按章节过滤\nnovel-tools event list --chapter 1\n\n# 按类型过滤\nnovel-tools event list --type 出场\n\n# 按卷过滤（新增）\nnovel-tools event list --volume 1\n\n# 按弧过滤（新增）\nnovel-tools event list --volume 1 --arc 1\nnovel-tools event list --volume 1 --arc \"圣道觉醒\"\n\n# 包含章纲摘要（新增）\nnovel-tools event list --volume 1 --include-plans\n```\n\n### 临时设定管理\n\n#### 添加临时设定\n\n```bash\n# 添加人物（--type、--name、--chapter 为必需参数）\nnovel-tools temp-setting add --type character --name 林风 --chapter 5 --description \"主要角色\"\n\n# 添加物品\nnovel-tools temp-setting add --type item --name 神秘令牌 --chapter 6 --description \"一枚刻有古老符文的令牌\"\n```\n\n#### 列出待审核项\n\n```bash\nnovel-tools temp-setting list\nnovel-tools temp-setting list --type character\n```\n\n#### 审核设定\n\n```bash\n# 交互式审核\nnovel-tools temp-setting review --interactive\n\n# 列出所有待审核项\nnovel-tools temp-setting review\n```\n\n#### 迁移设定\n\n```bash\n# 迁移为正式人物卡片\nnovel-tools temp-setting migrate 林风 --to-character\n\n# 迁移为正式设定元素\nnovel-tools temp-setting migrate 神秘令牌 --to-element\n\n# 自定义目标路径\nnovel-tools temp-setting migrate 林风 --location characters/cards/supporting/林风.md\n```\n\n### 一致性检查\n\n```bash\n# 检查大纲\nnovel-tools check outline\n\n# 检查章节\nnovel-tools check chapter 5\n```\n\n### 生成快照\n\n```bash\n# 生成卷级快照\nnovel-tools snapshot generate --volume 1\n\n# 生成弧级快照\nnovel-tools snapshot generate --arc \"英雄之旅\"\n\n# 列出所有快照\nnovel-tools snapshot list\n\n# 查看快照详情\nnovel-tools snapshot show vol1\nnovel-tools snapshot show \"英雄之旅\"\n```\n\n### 写作风格分析\n\n```bash\n# 显示 JSONL 文件信息\nnovel-tools style info chapters.jsonl\n\n# 提取章节内容用于风格分析\nnovel-tools style extract chapters.jsonl --output sample.md\n\n# 提取指定数量章节\nnovel-tools style extract chapters.jsonl --count 20 --output sample.md\n\n# 从指定章节开始提取\nnovel-tools style extract chapters.jsonl --start 10 --count 5\n\n# 随机选择章节\nnovel-tools style extract chapters.jsonl --count 10 --random\n\n# 输出纯文本格式\nnovel-tools style extract chapters.jsonl --format text\n```\n\n## 开发\n\n```bash\n# 安装依赖\nnpm install\n\n# 构建\nnpm run build\n\n# 运行测试\nnpm test\n\n# 监听模式\nnpm run dev\n```\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md"}