{"_id":"@autonoelle/wsg-active","_rev":"10-0d198bea742cb126bb2b8e467b860ec6","name":"@autonoelle/wsg-active","dist-tags":{"latest":"0.6.1"},"versions":{"0.1.0":{"name":"@autonoelle/wsg-active","version":"0.1.0","_id":"@autonoelle/wsg-active@0.1.0","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/index.js"},"dist":{"shasum":"0c274a012d39f77d0dc1c9fd52afbacd7b96dba8","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.1.0.tgz","fileCount":110,"integrity":"sha512-8rcYqiRE9wGV5onHBL6mkE41rL0sZjagt8QTU7/MLrA2vCG6zQlGbzE+EA8GN7t9pNsCcZZifT5e1pY0UUpkRw==","signatures":[{"sig":"MEYCIQC5IlviJ9XTNxpN1inknjLqQKbo7NpgkxhB7fFfdl0CGAIhAMePkBn4jCdnbiMma4ijrQYywzakaqRBBWGS1mUU5zfQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378055},"type":"module","gitHead":"1be36f7059c339eae830a898578846799c464ce9","private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc","check":"tsc --noEmit","start":"node dist/index.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"面向脚本和 AI Agent 的账号查询、用户配置、Store、会话与任务控制 CLI。公开舰船、装备、地图、路线和掉落查询请使用相邻的 `autonoelle-wsg-gamedata-cli`。","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.1.0_1783672985161_0.5906003307489425","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@autonoelle/wsg-active","version":"0.2.2","_id":"@autonoelle/wsg-active@0.2.2","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"95d6feb12f42649b33488d288ac9610bc430b266","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.2.2.tgz","fileCount":134,"integrity":"sha512-ENw1HZaY8TdokCPw9BnF07MLqQ+RpCsZjJUlTLNiV8MGbhK3dbq5neOnZ8KHZpmlNShiwltykE/2uqg5xNS5jg==","signatures":[{"sig":"MEUCIGdiNWOKUu/QklvrRaKSUZ/94KGYZ1CEBz+GjAbOyPi6AiEA3Av6dUBsrtJWTuiEYn/3TsoMp8D6p/3fsp9h/WRB0Dg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473672},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"面向脚本和 AI Agent 的账号查询、用户配置、Store、会话与任务控制 CLI。公开舰船、装备、地图、路线和掉落查询请使用相邻的 `autonoelle-wsg-gamedata-cli`。","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.2.2_1783930392764_0.5825189001653479","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@autonoelle/wsg-active","version":"0.2.3","_id":"@autonoelle/wsg-active@0.2.3","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"c8405b03c4608893eb1da0b4c0fd5174b5b3ebf3","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.2.3.tgz","fileCount":134,"integrity":"sha512-QYnua6oG2FMqpyDE9Xujx2vjBqj7vIffJfL3ejVMYtTNtm5bMPu2eEh6AGzVcPBTbOw1wOU96lFRrYprPtmyqw==","signatures":[{"sig":"MEQCICzdxtfy74F0Kqhx5EYxLDFLJ4I12TQ5jHKQruDBG59lAiBfxqZPAJlwH/Lc30A94xgRnblKoQOU1PueqwIQc/MrFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482458},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.2.3_1783931035815_0.15761879463574235","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@autonoelle/wsg-active","version":"0.2.4","_id":"@autonoelle/wsg-active@0.2.4","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"1f147a16e917ed839e24b4747811d7a93db35a44","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.2.4.tgz","fileCount":138,"integrity":"sha512-50FuQG2iiLGrMr1wCFztP0l6716CWU6Gqu00tr+Axm+rKyBoDSgCCj7hatJpRfMeXoC5MSFgurwCapsm0Q092Q==","signatures":[{"sig":"MEUCIQCUg10C8/MOT6SuQg0/7OfaLayjUicxvqr13J5Gw7XARgIgCwYcazazdaGrVWOYM6ZYfixNmRidMO0qmE31OTIwq1Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495480},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.2.4_1784533026659_0.007006071519526813","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@autonoelle/wsg-active","version":"0.3.0","_id":"@autonoelle/wsg-active@0.3.0","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"9ffc101f0e7079c5f460c79b35a2fdbb57ef1ac1","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.3.0.tgz","fileCount":138,"integrity":"sha512-ApKfNQzhPZV0ue2hi++lB+leAAeQynLWpbeEOcpYFkRkzvRygs7KmJ25S8R5w77+DMe296NObAFV3m+G0BswwA==","signatures":[{"sig":"MEUCIH6N785deF3pgbdyO/jNy1byn/aFHmOAB8vrdjfC/tbIAiEAvO/ge/hb7EmsYKesBXtnrVBmd94cUTibPTropetofKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":508003},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.3.0_1784538918944_0.3509496045928635","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@autonoelle/wsg-active","version":"0.4.0","_id":"@autonoelle/wsg-active@0.4.0","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"44a6be2da1308de0bbdb6baa19419964578e1147","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.4.0.tgz","fileCount":138,"integrity":"sha512-rXS/UN5Ag/ATUJ0g4rAwHjFn4vNAMIcHakHwmadLYOZl4yDrbwbNgl0CBprjnxnoIJADurBfhgKyMedJb5vNjA==","signatures":[{"sig":"MEUCIQCJlpYm2a93eRTc5qqbC4rnYxl0RGjW4LiCu34NEyCM4AIgTIVMKfk9+ZfYUvAL5y63uSXaBABdswDa2M9bUOVz0fA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":520705},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.4.0_1785386728008_0.14238128132025651","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@autonoelle/wsg-active","version":"0.5.0","_id":"@autonoelle/wsg-active@0.5.0","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"0f85ee74625625a5eb10c3b8268220f47adea2b7","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.5.0.tgz","fileCount":174,"integrity":"sha512-se2J2+yUrZwKS2eiuh/0IXqAc2Dcp6BqKHoaJ3NT0RGc9gfVO5cmxcggLnV77dsWdI1kscYTP+rYPQjxKfTvQQ==","signatures":[{"sig":"MEYCIQCCXT8771flUuC+pPSMNurHVHL2BBhMr2CpfWjYgKTzkwIhAMD88nwwuGPVTm0b98AUzju84QXCAzNKV2vifFh2XGwo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572163},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && tsc -p tsconfig.tests.json && node scripts/inject-version.mjs && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.5.0_1785916447464_0.9606600650214094","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@autonoelle/wsg-active","version":"0.5.1","_id":"@autonoelle/wsg-active@0.5.1","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"d960274e2ed68c52ca6af0be497de83bd2befb63","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.5.1.tgz","fileCount":178,"integrity":"sha512-m157GlVQUyg36qC/iKjK0s0T5QCPiz9j6AXPhcKGbR2FLnOe9FAbzehcCxm8IR5+zhEImJSgUj26LwmyZYoXWg==","signatures":[{"sig":"MEQCIEKkg5is+olHT/ls3U9szWCqAWRZnUFwPt/oGDK8zM6FAiBPG+v1BjzkY1E2UeKwCMghAa/S4QFbridvxFvbHcy0cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":605028},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"private":false,"scripts":{"test":"npm run build && tsc -p tsconfig.tests.json && node scripts/inject-version.mjs && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.6.2","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.13.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.5.1_1785998566935_0.6393197686698651","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@autonoelle/wsg-active","version":"0.6.0","_id":"@autonoelle/wsg-active@0.6.0","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"bin":{"autonoelle-wsg-active":"dist/bin.js"},"dist":{"shasum":"dd314f85009762c04d62b450c091f31d19a45744","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.6.0.tgz","fileCount":178,"integrity":"sha512-rvxhreMX9FFcxasWoEP/jn8EckqMhy9IJ2724wPt8a0nKLwM2Xbz/KFiDLCvaL37tV7CxaGYYEJ7EfeJN+DhBg==","signatures":[{"sig":"MEYCIQCxb/yH1SHhGOqefpxko/CQsB3b6AUj7V6SljLj6zUwaAIhAOtRZ9jMuE2p2ZjSgzDxYJKVg6zcMO4SgPYYCTQZT3/1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612571},"main":"./dist/public.js","type":"module","types":"./dist/public.d.ts","exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./package.json":"./package.json","./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"}},"gitHead":"60a2838020ff3226e449e5c95fd458bd1510a6a1","private":false,"scripts":{"test":"npm run build && tsc -p tsconfig.tests.json && node scripts/inject-version.mjs && node --test \"dist/tests/*.test.js\"","build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"_npmVersion":"11.5.1","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","directories":{},"_nodeVersion":"24.7.0","dependencies":{"commander":"^12.1.0","@autonoelle/wsg-gamedata":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/wsg-active_0.6.0_1786279650442_0.4639572796870637","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@autonoelle/wsg-active","version":"0.6.1","private":false,"type":"module","main":"./dist/public.js","types":"./dist/public.d.ts","publishConfig":{"access":"public"},"bin":{"autonoelle-wsg-active":"dist/bin.js"},"exports":{".":{"types":"./dist/public.d.ts","import":"./dist/public.js"},"./command":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rest-client":{"types":"./dist/activeRestClient.d.ts","import":"./dist/activeRestClient.js"},"./graphql-client":{"types":"./dist/graphqlClient.d.ts","import":"./dist/graphqlClient.js"},"./schema":{"types":"./dist/commands/discovery.d.ts","import":"./dist/commands/discovery.js"},"./package.json":"./package.json"},"scripts":{"build":"tsc && node scripts/inject-version.mjs","check":"tsc --noEmit","test":"npm run build && tsc -p tsconfig.tests.json && node scripts/inject-version.mjs && node --test \"dist/tests/*.test.js\"","start":"node dist/bin.js","prepack":"npm run build","prepublishOnly":"npm run check && npm test"},"dependencies":{"@autonoelle/wsg-gamedata":"^0.5.0","commander":"^12.1.0"},"devDependencies":{"@types/node":"^22.20.1","typescript":"^7.0.2"},"_id":"@autonoelle/wsg-active@0.6.1","gitHead":"d40fa7b1e50c9e44d96b783969e328452922781c","description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-dv+A3bCsUz/OlPa2m6QcfDDKRgbGjfghr1CAi0qD5pd04CazsZAU/KJC57MlOHezjynM2ZgztUlwfeevbZURmA==","shasum":"f26c00c60d0e4586fa5975735a90c90c58452ad9","tarball":"https://registry.npmjs.org/@autonoelle/wsg-active/-/wsg-active-0.6.1.tgz","fileCount":178,"unpackedSize":622855,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIA5kOuBE+yuXefTAgPMQ7sacoEIt0CSxnYm74BrZF9NYAiBkYvTPdzuqsPMrLZPjkGsD9/NOJAsrDhj+nR/TQP6M5g=="}]},"_npmUser":{"name":"yueao7","email":"Leaoqi@outlook.com"},"directories":{},"maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wsg-active_0.6.1_1786631943825_0.8743006180333834"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-10T08:43:04.980Z","modified":"2026-08-13T14:39:04.181Z","0.1.0":"2026-07-10T08:43:05.300Z","0.2.2":"2026-07-13T08:13:12.909Z","0.2.3":"2026-07-13T08:23:55.959Z","0.2.4":"2026-07-20T07:37:06.805Z","0.3.0":"2026-07-20T09:15:19.101Z","0.4.0":"2026-07-30T04:45:28.166Z","0.5.0":"2026-08-05T07:54:07.597Z","0.5.1":"2026-08-06T06:42:47.237Z","0.6.0":"2026-08-09T12:47:30.660Z","0.6.1":"2026-08-13T14:39:03.982Z"},"description":"`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：","maintainers":[{"name":"yueao7","email":"Leaoqi@outlook.com"}],"readme":"# AutoNoelle WSG Active CLI 与 TypeScript 库\n\n`@autonoelle/wsg-active` 是面向脚本、自动化程序和 AI Agent 的 Node.js ESM 包。它同时提供：\n\n- `autonoelle-wsg-active` 命令行工具。\n- 可组合的 Commander 命令树。\n- Active REST 与 UserConfig GraphQL 客户端。\n- Config、Store、Mission、ID 和安全写入的机器可读 Guide 与 Schema。\n- 账号摘要、资源、舰船、装备、队伍、任务、地图、远征和战斗状态查询。\n- Config/Store 的 dry-run、并发哈希、写后回读与失败恢复。\n- 内嵌的只读 `gamedata` 命令树。\n\n建议使用 Node.js 18 或更高版本。\n\n## 安装\n\n作为项目依赖安装：\n\n```bash\nnpm install @autonoelle/wsg-active\n```\n\n作为全局 CLI 安装：\n\n```bash\nnpm install --global @autonoelle/wsg-active\nautonoelle-wsg-active --help\n```\n\n如果需要把 Active 挂到自己的 Commander 程序，应把 `commander` 声明为宿主项目的直接依赖：\n\n```bash\nnpm install @autonoelle/wsg-active commander\n```\n\n### 进程内缓存\n\n账号快照（`ActiveUserInfoData`）和 GameData 舰船图鉴会在进程内做短期 TTL 缓存（默认快照 5 秒、图鉴 10 分钟），避免嵌入式调用重复拉取大对象。长驻进程如需在数据更新后立即刷新，可调用 `clearActiveDataCaches()` 清空缓存。\n\n## 快速开始\n\n先读取机器可解析的能力说明。这些发现命令不需要业务凭据：\n\n```bash\nautonoelle-wsg-active guide\nautonoelle-wsg-active guide commands\nautonoelle-wsg-active guide missions\nautonoelle-wsg-active guide configs\nautonoelle-wsg-active guide stores\nautonoelle-wsg-active guide ids\nautonoelle-wsg-active guide safety\nautonoelle-wsg-active guide errors\n\nautonoelle-wsg-active config types\nautonoelle-wsg-active config schema --type MissionBattleConfig\nautonoelle-wsg-active config schema --type credentials\nautonoelle-wsg-active config schema --type ids\nautonoelle-wsg-active config schema --type writes\n```\n\n`guide all` 返回所有 Guide 主题。Schema 类型名大小写不敏感；Schema 不只列字段，还包含字段类型、可用性、ID 命名空间、运行行为、副作用、验证覆盖和安全限制。\n\n配置 user key 后即可读取账号摘要：\n\n```powershell\n$env:AUTO_NOELLE_USER_KEY = '<user-key>'\n$env:AUTO_NOELLE_SCOPE = 'CN'\n\nautonoelle-wsg-active account summary\n```\n\n优先使用环境变量，避免把密钥写入源码、JSON、日志或 shell 历史。\n\n## TypeScript 库手册\n\n### 组合 Commander 命令\n\n包入口不会自动解析 `argv`，可以直接挂到已有 Commander 程序：\n\n```ts\nimport { Command } from 'commander';\nimport { active } from '@autonoelle/wsg-active';\n\nconst command = new Command('host');\ncommand.addCommand(active);\n\nawait command.parseAsync(process.argv);\n```\n\nCommander 的标准组合方法是 `addCommand()`，不是 `add()`。现成的 `active` 适合挂载一次；测试、自定义命令名或多个命令树应使用工厂：\n\n```ts\nimport { Command } from 'commander';\nimport { createActiveCommand } from '@autonoelle/wsg-active';\n\nconst command = new Command('host');\n\ncommand.addCommand(createActiveCommand({\n  name: 'wsg',\n  commandPrefix: 'host wsg',\n  includeGameData: true,\n  gameDataName: 'data',\n}));\n\nawait command.parseAsync(process.argv);\n```\n\n`createActiveCommand()` 选项：\n\n| 选项 | 含义 |\n| --- | --- |\n| `name` | Commander 中显示的命令名 |\n| `commandPrefix` | 帮助、示例和恢复建议中使用的完整调用前缀 |\n| `includeGameData` | 是否挂载内嵌 GameData；默认 `true` |\n| `gameDataName` | 内嵌 GameData 的命令名；默认 `gamedata` |\n\n### 直接调用库 API\n\n机器可读 Guide 和 Schema 不需要网络凭据：\n\n```ts\nimport {\n  getGuide,\n  guideTopics,\n  listTypes,\n  schema,\n} from '@autonoelle/wsg-active';\n\nconst missionGuide = getGuide('missions');\nconst missionSchema = schema('MissionBattleConfig');\nconst availableTypes = await listTypes();\n\nconsole.log(guideTopics, missionGuide, missionSchema, availableTypes);\n```\n\n读取 UserConfig：\n\n```ts\nimport {\n  buildGqlOptions,\n  getConfig,\n} from '@autonoelle/wsg-active';\n\nconst options = buildGqlOptions();\nconst current = await getConfig(options, 'MissionBattleConfig');\n```\n\n`buildGqlOptions()` 从环境变量读取端点、user key、区域和超时。也可以显式构造 `GraphQlOptions`：\n\n```ts\nimport {\n  getConfig,\n  type GraphQlOptions,\n} from '@autonoelle/wsg-active';\n\nconst options: GraphQlOptions = {\n  queryUrl: 'https://query.auto.noelle.cool/UserConfig',\n  k: process.env.AUTO_NOELLE_USER_KEY ?? '',\n  scope: 'CN',\n  timeoutMs: 15000,\n};\n\nconst current = await getConfig(options, 'GlobalArchiveLockConfig');\n```\n\n安全生成 Config 写入计划：\n\n```ts\nimport {\n  setConfig,\n  type GraphQlOptions,\n} from '@autonoelle/wsg-active';\n\ndeclare const options: GraphQlOptions;\n\nconst plan = await setConfig(\n  options,\n  'MissionBattleConfig',\n  'mission-battle.patch.json',\n  { dryRun: true },\n);\n```\n\n直接调用库函数时返回原始数据并通过异常报告失败；只有 CLI runner 会包装统一 JSON envelope。\n\n### 公开入口\n\n根入口导出：\n\n| 导出 | 用途 |\n| --- | --- |\n| `active`, `createActiveCommand`, `runActiveCli` | 组合命令树或运行 Active CLI |\n| `activeCall`, `activePost`, `ActiveRestError` | Active REST 调用与结构化错误 |\n| `gql`, `mutation`, `GraphQlError` | UserConfig GraphQL 调用与结构化错误 |\n| `getConfig`, `setConfig`, `listTypes` | Config 发现、读取和安全写入 |\n| `schema`, `schemas` | 完整机器可读 Schema |\n| `getGuide`, `guideTopics` | AI Guide |\n| `configTypes`, `storeTypes` | 已部署 Config 与 Store 元数据 |\n| `knownConfigTypesWithoutCliApi` | 已知但不可通过 Config API 使用的类型 |\n\n稳定子路径：\n\n| 入口 | 内容 |\n| --- | --- |\n| `@autonoelle/wsg-active/command` | Command 工厂、现成实例和 runner |\n| `@autonoelle/wsg-active/rest-client` | Active REST 客户端 |\n| `@autonoelle/wsg-active/graphql-client` | UserConfig GraphQL 客户端 |\n| `@autonoelle/wsg-active/schema` | Config、Mission、Store、ID、凭据和写入 Schema |\n\n## 内嵌 GameData\n\nActive 依赖 `@autonoelle/wsg-gamedata`，并把同一份只读命令树挂载为 `gamedata`：\n\n```bash\nautonoelle-wsg-active gamedata guide\nautonoelle-wsg-active gamedata ship --title 胡德\nautonoelle-wsg-active gamedata map detail --title 6-1 --node A\nautonoelle-wsg-active gamedata enums --type ShipType\n```\n\n内嵌命令继承 Active 的 `--data-url`、`--scope` 和 `--timeout`。这些全局选项必须写在 `gamedata` 之前：\n\n```bash\nautonoelle-wsg-active --scope JP --timeout 15000 gamedata ship --title 胡德\n```\n\n## CLI 全局选项与环境变量\n\n| 全局选项 | 环境变量 | 默认值 |\n| --- | --- | --- |\n| `--query-url <url>` | `AUTO_NOELLE_QUERY_URL` | `https://query.auto.noelle.cool/UserConfig` |\n| `--active-url <url>` | `AUTO_NOELLE_ACTIVE_URL` | `https://api.auto.noelle.cool` |\n| `--data-url <url>` | `AUTO_NOELLE_DATA_URL` | `https://data.auto.noelle.cool/GameData` |\n| `--scope <scope>` | `AUTO_NOELLE_SCOPE` | `CN`；允许 `CN`、`JP` |\n| `--k <key>` | `AUTO_NOELLE_USER_KEY` | 无 |\n| `--timeout <ms>` | `AUTO_NOELLE_TIMEOUT_MS` | `15000` |\n\n全局选项应写在业务子命令之前：\n\n```bash\nautonoelle-wsg-active --scope CN --timeout 15000 account summary\n```\n\n## 认证\n\n优先直接提供 AutoNoelle user key。也可以使用运行时登录变量：\n\n| 环境变量 | 含义 |\n| --- | --- |\n| `AUTO_NOELLE_USERNAME` | 登录用户名 |\n| `AUTO_NOELLE_PASSWORD` | 登录密码 |\n| `AUTO_NOELLE_SERVERNAME` | 服务器名 |\n\n当 `--k` 和 `AUTO_NOELLE_USER_KEY` 都缺失，而三个登录变量齐全时，CLI 会在当前进程中登录并复用返回的 user key，不写入凭据文件。\n\n显式验证登录：\n\n```bash\nautonoelle-wsg-active auth login \\\n  --username <用户名> \\\n  --password <密码> \\\n  --servername <服务器名>\n```\n\n命令输出只包含脱敏标识。密码、user key、access token、authorization 和常见敏感字段会递归脱敏。对于共享终端，仍应使用环境变量，避免密码进入命令历史。\n\n## 命令总览\n\n| 命令组 | 用途 |\n| --- | --- |\n| `guide` | 返回能力、Mission、Config、Store、ID、安全与错误处理说明 |\n| `auth` | 登录验证和脱敏凭据确认 |\n| `account` | 返回紧凑的账号资源和拥有对象视图 |\n| `config` | 发现、读取和安全写入单例 UserConfig |\n| `store` | 管理 UUID 标识的可复用配置项 |\n| `takeover` | 外部接管：状态、日志、出征、演习、驻防和港口操作 |\n| `session` | 查看或调整连接、登录锁和自动登录状态 |\n| `mission` | 查看、校验、启用或停用运行时 Mission |\n| `snapshot` | 读取低层 ActiveUserInfo；通常优先使用 `account` |\n| `functions` | 账号辅助检查，例如图鉴一致性检查 |\n| `log` | 查询用户活动日志（时间/模块/级别/文本过滤、游标分页） |\n| `gamedata` | 内嵌的公共游戏数据查询 |\n\n查看任意层级的精确参数：\n\n```bash\nautonoelle-wsg-active --help\nautonoelle-wsg-active config --help\nautonoelle-wsg-active config set --help\nautonoelle-wsg-active store ShipPipe preview --help\n```\n\n需要传入 JSON 对象的命令统一支持三种互斥来源：`--file <path>`、`--json '<object>'`、`--stdin`。脚本和智能体集成建议使用标准输入，避免 shell 引号与命令长度问题：\n\n```bash\nprintf '%s' '{\"name\":\"2-1BDF\"}' | autonoelle-wsg-active store BattleMapConfig set --stdin --dry-run\n```\n\n## 账号查询\n\n常用紧凑查询：\n\n```bash\nautonoelle-wsg-active account summary\nautonoelle-wsg-active account resources\nautonoelle-wsg-active account teams --all\nautonoelle-wsg-active account equips --first 20 --fields id\nautonoelle-wsg-active account items --first 20\nautonoelle-wsg-active account tasks --first 20\nautonoelle-wsg-active account maps --first 20\nautonoelle-wsg-active account expeditions --all\nautonoelle-wsg-active account dock\nautonoelle-wsg-active account battle\n```\n\n舰船查询支持复合 AND 过滤；同一个 `--ship-type` 或 `--country` 内的逗号分隔值是 OR：\n\n```bash\nautonoelle-wsg-active account ships \\\n  --ship-type BB,BC \\\n  --level-min 100 \\\n  --locked \\\n  --available \\\n  --fields instanceId,cid,title,shipType,country,level,status \\\n  --all\n\nautonoelle-wsg-active account ships --title 胡德 --first 20\nautonoelle-wsg-active account ships --id <owned-instance-id>\nautonoelle-wsg-active account ships --unmarried --occupied --first 20\n```\n\n`--available` 遵循队伍选择时对修理、远征和驻防占用的主要排除规则。除非确实需要大型原始对象，不要使用 `snapshot active-info full`。\n\n## ID 命名空间\n\n| ID | 含义 | 常见位置 |\n| --- | --- | --- |\n| 舰船目录 CID | 公共 `EntityShip.id`，表示舰船定义 | `ShipInfo.cid`、`ShipPipe.shipIdApply` |\n| 拥有舰船实例 ID | 账号中某一艘舰船的唯一 ID | `ShipInfo.id`、`account ships --id` |\n| 装备目录 ID | 公共装备定义 ID | `ShipReadyPipe.equipApply1…4` |\n| Store UUID | ShipPipe、ShipReadyPipe、TeamPipe 或 BattleMapConfig 项 ID | `store ... --id` |\n| 地图 ID | 公共 `EntityMap.id` | GameData 地图查询 |\n| 地图初始节点 ID | `EntityMap.initNodeId`，不是地图 ID | `BattleMapConfig.mapInitNodeId` |\n| 地图节点 ID | `EntityMapNode.id` | `BattleMapConfig.nodeConfigs[].key` |\n| 账号队伍 ID | 实际队伍 ID | `MissionBattleConfig.activeBattle[].teamId` |\n\n不得在这些命名空间之间直接替换。名称解析应先获取公共定义，再通过 CID 关联账号对象。\n\n```bash\nautonoelle-wsg-active config schema --type ids\n```\n\n## Config 发现与含义\n\n先列出实际可调用类型，再读取精确 Schema：\n\n```bash\nautonoelle-wsg-active config types\nautonoelle-wsg-active config schema\nautonoelle-wsg-active config schema --type MissionBattleConfig\nautonoelle-wsg-active config schema --type GlobalStrengthenConfig\n```\n\n支持 `config get/set` 的十个持久化 Config：\n\n| Config | 含义与重要影响 |\n| --- | --- |\n| `MissionBattleConfig` | 普通地图自动出征；引用 BattleMapConfig，可选引用 TeamPipe |\n| `MissionCampaignBattleConfig` | 按累计次数执行每日战役序列 |\n| `MissionTaskReciverConfig` | 任务更新时领取已完成的活动任务；不会接取新任务；`Reciver` 是历史拼写 |\n| `MissionAnythingConfig` | 每日奖励与烹饪；`autoBuildShip` 当前未实现 |\n| `MissionSixthBattleConfig` | 决战 EX4/EX5/EX6；可自动购票、补给、修理和战斗 |\n| `MissionRepairConfig` | 将符合条件的受损舰船放入可用修理槽 |\n| `MissionInsertConfig` | 一次性执行 Decompose、Strengthen、ArchiveLock 队列 |\n| `GlobalDecomposeConfig` | 自动分解开关与有序 ShipPipe 筛选器；具有破坏性 |\n| `GlobalStrengthenConfig` | 自动强化目标、素材船与权重；会消耗素材船 |\n| `GlobalArchiveLockConfig` | 每个改造家族无锁定实例时锁定最高等级代表 |\n\n已知但不支持 `config get/set` 的类型：\n\n| 类型 | 状态 |\n| --- | --- |\n| `MissionExpeditionConfig` | 运行时 Mission 已注册，但配置为空且没有 UserConfig API |\n| `MissionBuildShipConfig` | 仅有源码模型，运行时 Mission 未注册 |\n| `MissionEvoConfig` | 开发中的源码模型，运行时 Mission 未注册 |\n| `GlobalRepairPoolConfig` | 空模型，没有运行时模块和 UserConfig API |\n\n“存在类型名”不等于“已部署可用”。AI 和自动化程序必须以 `config types` 和 Schema 的 `availability` 为准。\n\n## Config 安全写入\n\n读取当前值：\n\n```bash\nautonoelle-wsg-active config get --type MissionBattleConfig\n```\n\n默认写入语义：\n\n- 嵌套对象深度合并。\n- 数组整体替换。\n- 输入未提供的对象字段会保留。\n- `--replace` 替换完整对象。\n- 只读 `description` 会从写入数据中移除。\n\n先 dry-run：\n\n```bash\nautonoelle-wsg-active config set \\\n  --type MissionBattleConfig \\\n  --file mission-battle.patch.json \\\n  --dry-run\n```\n\n确认 `changedPaths`、校验结果和 `proposedHash` 后，使用返回的 `currentHash` 防止覆盖并发修改：\n\n```bash\nautonoelle-wsg-active config set \\\n  --type MissionBattleConfig \\\n  --file mission-battle.patch.json \\\n  --expect-current-hash <sha256>\n```\n\nCLI 会执行“写前读取 → 合并 → 校验 → 哈希检查 → 写入 → 回读比较”。写入或验证失败时会尝试恢复原值，并通过 `details.rollback` 报告恢复结果。\n\n## Store\n\n| Store | 含义 |\n| --- | --- |\n| `ShipPipe` | 按舰种、CID、等级、技能、血量、锁定、改造等条件筛选舰船 |\n| `ShipReadyPipe` | 指定各装备槽使用的装备目录 ID |\n| `TeamPipe` | 用 ShipPipe 和 ShipReadyPipe 引用描述六个编队位置；`autoStripEquip=true` 时换队自动卸下离队船装备 |\n| `BattleMapConfig` | 描述初始节点、舰队血量条件和各节点行为 |\n\n典型依赖关系：\n\n```text\nShipPipe / ShipReadyPipe -> TeamPipe -> MissionBattleConfig\nBattleMapConfig ----------------------> MissionBattleConfig\n```\n\n常用命令：\n\n```bash\nautonoelle-wsg-active store ShipPipe list\nautonoelle-wsg-active store ShipPipe get --id <uuid>\nautonoelle-wsg-active store ShipPipe preview --id <uuid> --first 20\nautonoelle-wsg-active store ShipPipe preview --file ship-pipe.json --all\nautonoelle-wsg-active store ShipPipe set --file ship-pipe.json --dry-run\n\nautonoelle-wsg-active store TeamPipe get --id <uuid>\nautonoelle-wsg-active store TeamPipe set --file team-pipe.json --dry-run\n\nautonoelle-wsg-active store BattleMapConfig validate --file map-config.json\nautonoelle-wsg-active store BattleMapConfig set --file map-config.json --dry-run\n```\n\nStore `set` 与 Config 写入一样支持 `--replace` 和 `--expect-current-hash`。删除会先检查已知引用并在删除后验证对象不存在：\n\n```bash\nautonoelle-wsg-active store TeamPipe remove --id <uuid> --dry-run\nautonoelle-wsg-active store TeamPipe remove --id <uuid> --expect-current-hash <sha256>\n```\n\n`--force` 会绕过引用保护，只能在用户明确授权且已有恢复方案时使用。\n\n## Session\n\n```bash\nautonoelle-wsg-active session info\nautonoelle-wsg-active session reconnect\nautonoelle-wsg-active session disconnect\nautonoelle-wsg-active session unlock\nautonoelle-wsg-active session autologin --state true\n```\n\nSession 修改属于运行时操作，不会代替 Config 写入。执行 reconnect、disconnect、unlock 或 autologin 前应确认用户意图。\n\n## Mission\n\n运行时 Mission：\n\n| Mission | 运行行为 | 重要限制 |\n| --- | --- | --- |\n| `MissionExpeditionConfig` | 收取已完成远征，并用原远征和原队伍重新开始 | 无可编辑 Config 和专用 preflight |\n| `MissionBattleConfig` | 按地图计划执行普通出征 | 唯一具有完整 CLI 依赖 preflight 的 Mission |\n| `MissionCampaignBattleConfig` | 执行每日战役序列 | 会补给、修理并进行真实战斗 |\n| `MissionTaskReciverConfig` | 领取已完成的活动任务 | `autoStart` 表示自动唤醒收取模块，不是接取新任务 |\n| `MissionAnythingConfig` | 处理每日奖励和烹饪 | 烹饪会消耗材料；自动建造未实现 |\n| `MissionSixthBattleConfig` | 执行受支持的决战地图 | 可购票并消耗基础资源 |\n| `MissionRepairConfig` | 自动安排修理 | 会改变舰船和修理槽状态 |\n| `MissionInsertConfig` | 执行一次性维护动作 | 可触发分解或消耗素材船 |\n\n`mission enable/disable` 修改当前进程中的运行时模块状态，不会改写持久化 Config。`MissionBattleConfig` 还存在独立的 `activeBattle[].enable` 条目选择层。\n\n每个 `activeBattle[]` 条目可配置 `selectSupport`（军阶支援 ID，可空）：为空时出征前关闭支援；非空时出征前切换并开启指定支援，若指定支援未解锁或可用次数为 0 则报错并禁用该条目；切换/开关请求失败会累计连续失败次数，超过 5 次停止任务，成功后清零。\n\n```bash\nautonoelle-wsg-active mission list\nautonoelle-wsg-active mission validate --type MissionBattleConfig\nautonoelle-wsg-active mission validate --type MissionBattleConfig --file proposed.json\nautonoelle-wsg-active mission enable --type MissionBattleConfig --dry-run\nautonoelle-wsg-active mission enable --type MissionBattleConfig\nautonoelle-wsg-active mission disable --type MissionBattleConfig\n```\n\nMissionBattle preflight 会检查：\n\n- Session 和完整 MissionBattleConfig。\n- 实际账号队伍。\n- BattleMapConfig、TeamPipe、ShipPipe 和 ShipReadyPipe 引用。\n- 候选舰船、地图行为、容量和必要资源。\n\n除 MissionBattle 外，当前 Mission 没有同等级的 `--dry-run` 或专用依赖 preflight；启用可能立即产生账号行为。启用前必须读取 `guide missions`、精确 Config Schema，并取得覆盖实际影响的授权。\n\n## 日志查询\n\n`log query` 查询 Query 服务（ClickHouse）中的用户活动日志，`log modules` 列出可用于过滤的模块名：\n\n```bash\nautonoelle-wsg-active log modules\nautonoelle-wsg-active log query\nautonoelle-wsg-active log query --start 2026-08-01T00:00:00Z --end 2026-08-02T00:00:00Z\nautonoelle-wsg-active log query --search 出征 --module MissionBattle --level 2,3 --first 100\nautonoelle-wsg-active log query --cursor 100 --first 100\n```\n\n规则：\n\n- `--start`/`--end` 接受 ISO 时间或 Unix 毫秒时间戳，必须成对提供；都缺省时默认查询最近 1 小时。\n- `--search` 是消息文本的区分大小写子串匹配；`--module` 逗号分隔多个模块名（OR）；`--level` 逗号分隔整数（0=Trace、1=Debug、2=Info、3=Warn、4=Error、5=Critical）。\n- 显式游标分页：`--cursor` 默认 0，`--first` 默认 100。响应包含 `logs`、`total`、`cursor`、`first`、`nextCursor`；脚本以 `nextCursor < total` 循环翻页，CLI 不会自动拉取全量。\n- 日志 REST 地址由 `--query-url` 推导（去掉尾部 `/UserConfig`），不新增全局配置。\n\n## JSON 输出与退出码\n\n帮助文本是普通文本。业务命令只向 stdout 写一个 JSON envelope。\n\n成功：\n\n```json\n{\n  \"ok\": true,\n  \"data\": {}\n}\n```\n\n失败：\n\n```json\n{\n  \"ok\": false,\n  \"error\": {\n    \"code\": \"MISSION_PREFLIGHT_FAILED\",\n    \"category\": \"validation\",\n    \"message\": \"MissionBattleConfig is not safe to start.\",\n    \"field\": \"optional.path\",\n    \"details\": {},\n    \"suggestion\": \"Resolve every preflight error before enabling the mission.\",\n    \"retryable\": false\n  }\n}\n```\n\n成功退出码为 `0`，失败为非 `0`。自动化程序必须：\n\n1. 按 `error.code` 或 `error.category` 分支，不解析 `message` 文本。\n2. 优先执行 `error.suggestion`。\n3. 只有 `retryable: true` 才进行有限次数退避重试。\n4. 用法、校验、鉴权和并发冲突必须先修正输入。\n5. 写入失败后先检查 `details.rollback`，再决定后续动作。\n\n## AI 推荐工作流\n\n只读操作：\n\n1. 运行相应 Guide、`config types` 和 Schema。\n2. 选择最窄的 `account` 或 `store get/list` 命令。\n3. 使用精确过滤器、`--fields` 和有限的 `--first`。\n4. 只有确实需要完整集合时才使用 `--all`。\n5. 解析一个 JSON envelope，并按稳定错误码处理。\n\n写入或运行时操作：\n\n1. 确认用户授权覆盖具体 Config、Store、Session 或 Mission 动作。\n2. 完整读取当前值并保留原始数据。\n3. 读取精确 Schema 和所有引用对象。\n4. 准备最小 patch。\n5. 执行 `--dry-run`、`preview` 或 `validate`。\n6. 使用 `currentHash` 进行乐观并发控制。\n7. 写入并要求回读验证成功。\n8. 失败时检查 rollback；停止测试 Mission 并按依赖逆序恢复。\n\n可直接交给 AI 的最小规则：\n\n```text\n先运行 guide、config types 和 config schema，禁止猜命令、字段、ID 或部署状态。\n业务输出只解析一个 JSON envelope；按 error.code/category 分支，只重试 retryable=true。\n默认只读；写入必须先完整读取，再 dry-run/preview/validate，携带 currentHash，最后回读验证。\n目录 CID、拥有实例 ID、Store UUID、地图 ID、初始节点 ID、节点 ID 和队伍 ID 不得混用。\nmission enable 修改运行时状态，不修改 Config；只有 MissionBattle 有完整专用 preflight。\n分解、强化、购票、移动已用装备、真实战斗和 force 删除必须取得明确授权。\n```\n\n## 高风险边界与已知限制\n\n- `GlobalDecomposeConfig` 会分解匹配舰船。\n- `GlobalStrengthenConfig` 会消耗素材舰船，并可能升级目标技能。\n- `MissionInsertConfig` 可以触发上述破坏性动作。\n- `ShipReadyPipe.useUsedEquip=true` 可能从其他舰船移动装备。\n- `BattleMission.autoDecompose=true` 可能在船舱满时触发分解链路。\n- `MissionSixthBattleConfig.autoBuy=true` 会按配置消耗基础资源购票。\n- `store remove --force` 会绕过引用保护。\n- 持久化 ShipPipe 没有婚姻或拥有实例 ID 条件；这些只能用于账号查询。\n- ShipPipe 的精确 `hpRate` 预览需要完整复现舰船、技能和装备属性聚合，当前会明确拒绝不可靠结果。\n- 专用 Mission 依赖 preflight 当前只覆盖 `MissionBattleConfig`。\n- 如果类型未部署、字段不存在或缺少验证器，应报告限制，不得虚构支持。\n\n## 开发与发布检查\n\n```bash\nnpm install\nnpm run check\nnpm run build\nnpm test\n```\n\n`build` 使用 TypeScript 编译并从 `package.json` 向构建产物注入版本字面量。`prepack` 会在打包前构建，`prepublishOnly` 会在发布前执行类型检查和完整测试。\n","readmeFilename":"README.md"}