{"_id":"brand-cli","_rev":"30-072ec95844a8e9685fabe0c10cfa3c52","name":"brand-cli","dist-tags":{"latest":"0.1.34"},"versions":{"0.1.0":{"name":"brand-cli","version":"0.1.0","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.0","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"93c76ba5535650d3e3f7693d1e5829fc72aebff7","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.0.tgz","fileCount":3,"integrity":"sha512-WbHcCwsjXV1JOOslAruIn1m9d9fo3KusEehzzsHANySkxfaHYJ2aXCRoojxHLmeA6LywsU6XKU4sc5+bDfBHIQ==","signatures":[{"sig":"MEUCIQDRZyGIgHUDfYK46vrw1FM+EXJmsCQZ65y7l+yzsQ+jTAIgcoO7vV9q5tz135pBo5q/iEnDQCJMclDoC/tQb0RawSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6260},"type":"module","engines":{"node":">=20"},"gitHead":"ae6ba0883ca175e0995c6604227917be49840338","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.0_1786891249259_0.10092573908872904","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"brand-cli","version":"0.1.1","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.1","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"a42ce18b69273ea0f97f5779ad62268b8d2f32b4","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.1.tgz","fileCount":3,"integrity":"sha512-pSbFsGG9JVq0Je5uFIak8p48buF4jQcNP6jM1zaWLZnmhyAE14av4jBdsu6hhh17+DECsDZabxygLRVEEJgUVQ==","signatures":[{"sig":"MEQCICsG8O051isn7D0SYEvWzow7oOAon9r4kbeD6mZznYihAiAYv4KDGuRcOAokmRYdLcy5cayawrlQNLKCYtpdq9Q9Ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24704},"type":"module","engines":{"node":">=20"},"gitHead":"b3452b8d9b5d17daff0afc5af5a72c7a55135ae8","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.1_1786938146624_0.4986424536066101","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"brand-cli","version":"0.1.2","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.2","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"418c4f499e6fd96c660e087cbddc29aac982b0b4","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.2.tgz","fileCount":3,"integrity":"sha512-6UXbwHEySBvN/SJmlfViUNJTRWY7InYTBQYfV5dcORIL+f3Kjs2n1odCWIKdOjL723iZvprFjEbKqZM9s/uxqw==","signatures":[{"sig":"MEYCIQDgpnBp8dFUNIfhpYfy64CZx9n6gfiVjMoVj9M4Ojv3WwIhAO+yG+ZexUuBX3L2r8WtzV+NOjlznOMdDL2rwelxMohn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25207},"type":"module","engines":{"node":">=20"},"gitHead":"cbdca376578bf78d90e4b38b405a5373b6154461","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.2_1786961573807_0.8335135890142458","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"brand-cli","version":"0.1.3","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.3","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"aa293c4281733f3a84c5ee9c6bba4bddd94e8193","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.3.tgz","fileCount":3,"integrity":"sha512-tOPa2jSYmY6D3voVrUI58ugmVr3VdyU0Gs66j+4mzC6ywtJ6/ZppQgUZL0gvTOjdGAc7Ul4tuyZryn54ddOgBw==","signatures":[{"sig":"MEUCIQDuPUG/ENvDH+gzr0luVA+91JJNRBaEUc0eglWWtbIgAQIgc5OJrxbirWb8NJT+L5xv8rCsnpYqwYM7miZoQkmCi44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28570},"type":"module","engines":{"node":">=20"},"gitHead":"072f9e7746651908decf891d1ffa81ea29b440f9","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.3_1786974674458_0.5160883205932039","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"brand-cli","version":"0.1.4","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.4","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"ec9986e2ee3aa7d1cb3f9a2d0dae091532a32503","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.4.tgz","fileCount":3,"integrity":"sha512-J9//+Mbl8M88FR8K4xALXTVZiSf6cJHLPKixmxE7H7qH3bo+dz5hId1Drq/QRrf1Yf2Q2dB4MqgD+aFdkBxHDQ==","signatures":[{"sig":"MEYCIQDdXEJJSgV1dUlY0UR3OpqdiYUnA0dCMlAauLstAdRWogIhAIwjgdAEhKbfwKC+SYxgTL76RcMHd5b5gqg27JOno2cu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28570},"type":"module","engines":{"node":">=20"},"gitHead":"385d6273d2a699460dc108ae34de1df6cc475975","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.4_1787043542008_0.9304483648445392","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"brand-cli","version":"0.1.5","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.5","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"405d9ad46513aab3c9617acc8bc888b9257faf3f","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.5.tgz","fileCount":3,"integrity":"sha512-TLFUrNG6wRkMtpHZSsO1OUICqmGFgd6bldngyAoT4qxKuIb79qYSgMswk0XkP2wX8p0oL3X8eUA0E7+7/HehPA==","signatures":[{"sig":"MEYCIQDLDrlbRzU7xGy9vsg6HNs7s23z6h6EyBH3JvkJim1RiAIhAIXJFp7VdhGsl4+7J3h1Finivivb8z5w9ndn5bBmY0b6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28920},"type":"module","engines":{"node":">=20"},"gitHead":"56b6edfc0146b2a9f7f50b8be989ec4d0daf5d59","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.5_1787047364559_0.36727419507387626","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"brand-cli","version":"0.1.6","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.6","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"79b129747b207cb0e73ce48ecb3e451b41318589","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.6.tgz","fileCount":3,"integrity":"sha512-OyPHJ6OaYnWRyMqU5QPdvlWagW750+57hV8yELgB653z0wDrVn0S4Yo5JgWAxxkaEbwqKi4bXdudqgZoYQHf2w==","signatures":[{"sig":"MEYCIQDAc/wvT4T6T8LEnwf8JleKQw3Tdaw6VAZF0eaEe6haJAIhAJ7ZOicROFy1OPjBca5b1BvzTXbLcrf8tm2sz9PgR8ZA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29197},"type":"module","engines":{"node":">=20"},"gitHead":"91eb7964ccd2e1b505c4015506418db38bb41a2e","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.6_1787098471802_0.37279240222753507","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"brand-cli","version":"0.1.7","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.7","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"35b41c7d48f5406e833d5a32714d1a81399dcc28","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.7.tgz","fileCount":3,"integrity":"sha512-j1fnhZtBY8MlONRrUDbZmF+Yb+pXv7wNuHR/hLHnsCG+XrKQTVR3kdTKfAVpJFmMZYZWT2Jl+wcrfT/fgSFCtA==","signatures":[{"sig":"MEYCIQC5aPjXmrwU9Krxq+L+z3OIoji7yxjHLJQE3UPLBXP84wIhAOCA1a6AXp2WllzjEOVkFlW7fTTNJP1oCNkw7Y/AKize","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29936},"type":"module","engines":{"node":">=20"},"gitHead":"be44f901f118d0de9f1e8bf5aab49bde474cc54a","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.7_1787101107151_0.8196038419551546","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"brand-cli","version":"0.1.8","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.8","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"f188d602ba08c1687104031c442c292e2bf061e3","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.8.tgz","fileCount":3,"integrity":"sha512-79k2CJW9dWMFvUKvCoLhxUq08TG+yPfZxNDBdj1J6bd0I9zoiFcPx+PLskKN+Gdw938qzipM6cKMhxh7tU87wA==","signatures":[{"sig":"MEYCIQDfTQI0+9N9/7B4JFsf6mEQiiVLm6p2rCVqNqY9/l32jgIhALTJ119aeEZrW8rutoFLSNNHSoOThZI/rhwV5XfcFmPf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30199},"type":"module","engines":{"node":">=20"},"gitHead":"5ecd69023a72def6948743f58a196ee04a9551c6","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.8_1787101737077_0.8699443183866822","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"brand-cli","version":"0.1.9","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.9","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"4f277b482436741c3b53f581cf0cfde4f237a1b1","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.9.tgz","fileCount":3,"integrity":"sha512-2NyHtKDFznIcfxAQNl/4e4CyIG4T6AVMk+Ukf/1hBMy/jHNnQmCPwwQTVGjJUWHeuKzmm/2F3M5YbzzGQVoXXA==","signatures":[{"sig":"MEQCIBdXBcoKwtOzMrl2UGmUXhw2s399LgrR5Te6Lx5g2Ga7AiAfviOy562Ny0I26Sen/7THdscTMqfPQ5KTa8bPDMzQpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32666},"type":"module","engines":{"node":">=20"},"gitHead":"0ebd089597e6b1b8373ec1aafe1770bd92365cdf","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.9_1787106568722_0.30203186440982366","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"brand-cli","version":"0.1.11","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.11","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"dfbe00ad8b96ac4e8c785f33468bacbcd527a971","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.11.tgz","fileCount":3,"integrity":"sha512-Tsom3NUtQNL39esbtAv1Hcr/2HFHokDy/FcQf0/Ng6jGdq/s6s5L9D1oeh6iwkt/013MvSKBFrkRm61v5/eUdw==","signatures":[{"sig":"MEUCIQDzTjEJIGJ5EaLM0fZvHkegcKAs5fPT8E9krzzdgTDZRgIgbvV8gBxxlk9kmnDDKHB0CjwDDEMV4VvKzhWcP3SLY8c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34641},"type":"module","engines":{"node":">=20"},"gitHead":"4bfbde150cba12f22f84c1983717b088062e3998","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.11_1787125978137_0.6700190536542161","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"brand-cli","version":"0.1.12","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.12","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"0ba2fb4c6a9efcd540591ba41fc49b61221b2579","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.12.tgz","fileCount":3,"integrity":"sha512-+Y3lfKwmTLtJ9tFwkYtky2qqFbFaNTwgVVDzj19zTUQJEVrkBLIvARqFvDRxum6fYvlAA00lZzDG2S6/V9RRMQ==","signatures":[{"sig":"MEUCIQD04JuJ0dOH7BcYLZ6bIm5IouWZyYC3cd3M2OeKMM6CvwIgWyikmJWlCVWHxOYgmkwHyTc/8fe05vRX5mgand2B850=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35112},"type":"module","engines":{"node":">=20"},"gitHead":"c36a13c9e15a4b4d4e11a304942e9ad4e5d8805a","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.12_1787128464532_0.50241289766693","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"brand-cli","version":"0.1.13","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.13","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"eb5727435b588d5ac295371fb0c82c36f17d3678","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.13.tgz","fileCount":3,"integrity":"sha512-E2YQKJcWMyUkpyaZJ8dEey3vpBPQNTYcwdJx7BXybMgz9HNGJtZ8n7x0iJrHxpoSf1UCWFqBmfEhUIDmxeKXrg==","signatures":[{"sig":"MEYCIQCBn2L7MujwPzuxYv1bK8PYKtyidi7zZAkKQXr8Ew9fKQIhAOHupeg5YNjbiPkUj/tBGzL+ID2ybI3WdTgoYi0nsGZT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45850},"type":"module","engines":{"node":">=20"},"gitHead":"a93edb9957ebad47dbfb9de0eccb68a0c6468fe3","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.13_1787134638104_0.5362653836663129","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"brand-cli","version":"0.1.15","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.15","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"d22f6933f8545d3804cd3568bb9e98f8fa16661a","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.15.tgz","fileCount":3,"integrity":"sha512-G7YtZvj5fCLRoE6s/Ui3373Inm5FqpijuqjSGN+59usH11xlZSkc8rbAzGD95fkILEbcVoeGU7/U9dD2Irfljw==","signatures":[{"sig":"MEUCIQCkHzBnaCwRgiAJ7m4sp7Zi4YPUKqGbZs7NBHTtqDIVaAIgbyhjtFSErZCptIFtLdAAT1a+zxs0UJL0Yo2HnBFu9Wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58384},"type":"module","engines":{"node":">=20"},"gitHead":"fecb826956a680a2917f90970cbb9071eb7f453f","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.15_1787212341239_0.14212432918773166","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"brand-cli","version":"0.1.16","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.16","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"4ed9d63895ac745c30e02b3065b034e540fff714","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.16.tgz","fileCount":3,"integrity":"sha512-HjYYEWfh0iZ6WaAR9TP0K2PbsdQTOuINLlm6lPMvOQGMNS3mz5NudhXJaq7BSzcnjaVvDGmtprUOx87E0p2VBg==","signatures":[{"sig":"MEYCIQCDHUOZlK7+AoDfA4+maYSotqrkZP62Z1BOtIsrVAbHkAIhAJVIShByCvkX3tr5NXMnpS2JZ8+tVCTiZdDh1tjewzHO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61390},"type":"module","engines":{"node":">=20"},"gitHead":"e36bfc4ff34da6a88400f4daa32ba2ddc687e48f","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"10.9.7","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.16_1787214335504_0.01384481501755519","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"brand-cli","version":"0.1.17","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.17","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"074d733c1d7930ab53e01c4d1e185aa4690b2231","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.17.tgz","fileCount":3,"integrity":"sha512-cS/GqDe7Ls/oxQFVy8Gk9Y5UB+TNaqjLUM9qZ2Zr8ma+dNlRywsnNLD3jrtG7uHgW0kolibtO0fwPLRhNXGc+g==","signatures":[{"sig":"MEUCIB0f+/3SMVxVg0sNmngWkAV0ZPwQ0fM7HRYWrS9DmWBIAiEA0XSBGPzRIToJXGZvT8j8GMjCAaTgnYUO0ME65VwSu5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63698},"type":"module","engines":{"node":">=20"},"gitHead":"d4b6f8c8c487a048cd4931043d45d55e028b8111","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.17_1787275878635_0.2463898330060934","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"brand-cli","version":"0.1.18","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.18","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"4c4ecd24e3bad71179869ece97382e9e4d42603e","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.18.tgz","fileCount":3,"integrity":"sha512-/cua7zTCYZA2hWzCBbRvG7dM/7eNWiBP3A3HuB4ClX8p4UKFeeKk1jj313RrbEGayT3KNv0CrBRhRA7TC4gQ0w==","signatures":[{"sig":"MEUCIQCoSuaAQ7ej8CrCMUgPnhYu7RQF7c2R7bIebi0YCi6g/wIgV4O4qd8ROpUp04AqjyuDRmmG79rIfIiuYeaq/GaqRKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65014},"type":"module","engines":{"node":">=20"},"gitHead":"f9cd71a27524f9c890277b99ce5fab093b443bc4","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.18_1787286870318_0.5514965869882662","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"brand-cli","version":"0.1.19","keywords":["brand-context","openapi","cli","startrader"],"license":"MIT","_id":"brand-cli@0.1.19","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"f592bef8fd07deadaa8bf89580b0bf9d0deae24d","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.19.tgz","fileCount":3,"integrity":"sha512-75Ce7W5CkDcZcYxckaC6gSc58zRBj4whRXM+fq5oI6fZNntn3O36bVGJblLJviHzJL0U3Mzuzp+bfQrtS99ISQ==","signatures":[{"sig":"MEUCIQC1JskF47qr4T0SbmIYYKVhgy+KqRAfmmfvO2nYTwMiMQIgUuOyc5UUmTslmsV3BnPs5hQeAF5te8o85r2PYpR9MuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64993},"type":"module","engines":{"node":">=20"},"gitHead":"3ca76e433e4a0d1ac7bdae021ff33d8df1bed08e","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.19_1787288351975_0.8149933998783734","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"brand-cli","version":"0.1.20","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.20","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"039f0531254fe533aa847fe94205516f0d6b4e10","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.20.tgz","fileCount":3,"integrity":"sha512-uUC9WI2Xb7qe1+puTRiGSLNtS8CIy4Q9hOY0GF1WfR0hRFKjm/61JohyuGyhfDd3oimT3SnSQ+RsSz1zZaY0tg==","signatures":[{"sig":"MEUCIQDPL2/N2sgJipEgH1BTlfeTbroR8fl1LMv2vceW3eZEjwIgBq4ipgCUuXgXS+eqSe5SuBp2Ri0kTFxwH/UKPpFm0q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70841},"type":"module","engines":{"node":">=20"},"gitHead":"2068130e1d29473030bcb9ba24b5a64dee65c7f3","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.20_1787302994917_0.20746569227023937","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"brand-cli","version":"0.1.22","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.22","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"518cccb21ea0dea5beb203d97a9053d74b3b56bd","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.22.tgz","fileCount":3,"integrity":"sha512-iYYRWZLHLddKv5/YpMPAY7qVSkvfQ8PfGw606uwJSWOsOxmWSvzK5Vo2XiQgfBLOt+UhMIYEWGoRyJmkaUZIFQ==","signatures":[{"sig":"MEQCIHU6akvSY7iNVBqUbsfztwmeadZuV7rmIYTVJ+klQ9IeAiBHObUJh6TVxIs6L3hk3OOS81fI8+1C7dADgcH18tePNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72015},"type":"module","engines":{"node":">=20"},"gitHead":"a55bab7c11d13ec37110ba8417dc8e45f32a3148","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.22_1787309436854_0.0882529706998727","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"brand-cli","version":"0.1.23","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.23","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"07a3dc4861cec1245b4f134d40c78b49bc6d0e1e","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.23.tgz","fileCount":3,"integrity":"sha512-fU3gddcO8TBNbInN4nBpxnDIfQZvOa51BGWFzoNIuXd++kYXNfiuCpkvWkvoIVrD1LHNb14sB4Qj55fz/xN2Cg==","signatures":[{"sig":"MEUCIQCHMt3f+8vvPuzd45Ocfq/b4L0RPqbkJtZ8NskL5q+tgQIgGm3TOyWCnLFncO0ja311IJDALrUHSJBcV144ieGI/IM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71975},"type":"module","engines":{"node":">=20"},"gitHead":"e2e7806caad38c6921e55a3371f126eb5aa6a476","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.23_1787310696115_0.7291238633548938","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"brand-cli","version":"0.1.24","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.24","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"1e1f9abbc8773cb9a4f435fdffeeb06fa0e2761f","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.24.tgz","fileCount":3,"integrity":"sha512-ao8sodju+XJC0QaZTpXHSF/ybOUv6OTLtAGRIv40Tx0NbQGljXSHi/ymFhgqLdgkaxGaLlo+WC9c/un1e3yFXw==","signatures":[{"sig":"MEQCIF/nqTkUqGh2B3/ROAyBs0nnxY1Z1MNIThy3RrO2bqvKAiBQNuOmX+LqO1kKxMU0ju2m/1E6ZXT1KT30kPapjJYgKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74156},"type":"module","engines":{"node":">=20"},"gitHead":"946cc60795e7b1963fd269e06bc7c47092f59674","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.24_1788170995529_0.42719953927358745","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"brand-cli","version":"0.1.26","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.26","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"1cd942ef328d99c6e77c626abd43419f46985df8","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.26.tgz","fileCount":3,"integrity":"sha512-w3rQYvSL1JQ/Kq8RGUDtss1o2iAc4188LxvOLt0brPYalFq4cPiKPJKToyhUH6yQJ/LuWnv0R1q8sB50Ktxcnw==","signatures":[{"sig":"MEQCICUIBMZZXc8LWM1uGjYzll1aYnysK+f4rQY2mLbtYvoFAiBu7B2nVPeTD9MZIj1zbYtebPIHNE63TG31+k71rfWTWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80680},"type":"module","engines":{"node":">=20"},"gitHead":"221fbf5094fa00ae390dd47b77fdbd3ce92a1fa1","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.26_1789201422539_0.5852984261199969","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"brand-cli","version":"0.1.27","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.27","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"1a5eb617e42ed5e587714259f5768e9679844151","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.27.tgz","fileCount":3,"integrity":"sha512-EO7IrvM6W2EJZwDEKaSIi6tisJRmjYWHubHKN7guqkMkPOjvDM54MzR12cTvGfsw5HRE7Gccqj2+2LQAFpppyw==","signatures":[{"sig":"MEUCID2XkFqUt4faE55a1hpu7BIgfDVD+3gdI/4ZmRJv2wxFAiEAvWZfuJyO9qbOInprw+HLULygvS7RfeUk66pK9zO++R8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84491},"type":"module","engines":{"node":">=20"},"gitHead":"7fd303ce989307384199573494d8c8ebb832010c","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.27_1789655587850_0.8394216185422418","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"brand-cli","version":"0.1.29","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.29","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"99d60b5c2ebb76ea3ca21ca60509898506efba28","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.29.tgz","fileCount":3,"integrity":"sha512-nhxO4gaF+IO6SWQF6DTRn0McomaRKBVCJ5JI+DngWheUKq9dcYW/BNTX8p61FzaQY36TR1Jst+dDp2ST5FKNxg==","signatures":[{"sig":"MEUCIQCmDuQlpjfULNqNujJjV2qwcB9uV9ctIPU2STjuNER7DgIgN9wVoudzKEGRxfMY0izFJWdXpcQ1Q5YAFQeXuw7o+/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86747},"type":"module","engines":{"node":">=20"},"gitHead":"e0342a1b1efe3ac0edf2e42c4430b5ad91006803","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.29_1789657113805_0.5245211195023249","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"brand-cli","version":"0.1.30","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.30","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"4ae59194621d486d078b970bd982d5a13ca433c0","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.30.tgz","fileCount":3,"integrity":"sha512-AfuJm/4pjoeVso3hNsbZu/ANo9m8MIZLbPvoMhgwy7CvLjk8xU9KudtfaNH6vVuCnV8Ly4jhIlR02Y6dv5z38A==","signatures":[{"sig":"MEUCIQCXOPpYplfPzhuua0vw9Ed6My5SmC59DUDbzPdmumAnXwIgX1RI3hPSc8nBMiWZYetPcLiHTaYnXAyt5xcffs0NewE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDHneJcHB5OPSPxLrtZOma2BCknZBNRhit6RGAMcFnGggIhALgsElNWpm2nM/TcEOqNpY0dWNv7179Q6P7mOuc2QZsS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86157},"type":"module","engines":{"node":">=20"},"gitHead":"9800bafbdc79a6fb7794d4c0657f9e65d62d4909","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.30_1789698634515_0.1143259795610756","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"brand-cli","version":"0.1.31","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.31","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"477a4d7f12d574c999010ed5b9108e2736db2d5f","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.31.tgz","fileCount":3,"integrity":"sha512-zJNkaR1+F3/fkxSC917nUerA6s+ClSgGxsuABuQgMLK73t2/fhl2wopRoDicK5ljcq0PzfQ5DSf7gCdJ2tBkfQ==","signatures":[{"sig":"MEUCIEUQ8DiDuhIKIK3dRDQz0lbP98xekTjSLxhuU2wVNe39AiEAnMLiq2QmqKePd8r2OvM4d3vxZccZjfwLfkdg+dYJVvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH0GRXvumug46NaNZO0+CDq1WZqv95+5KtAjuYt52IPKAiBrCCew37SwO+yIHg0Mm5pgjHg/OGNV64IRWw26pUuOqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95005},"type":"module","engines":{"node":">=20"},"gitHead":"7dfacea6c6fb90c9a7cab18b15d975338d154617","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.31_1789714242857_0.5446772799557031","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"brand-cli","version":"0.1.32","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.32","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"5edff3f613fefdd707ab7e876d32d703dbc4d3fd","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.32.tgz","fileCount":3,"integrity":"sha512-Xxh3BsSb3bD7hnzpZUvTCDZxwmqb0V57idzd5PXJCzH19Ybew3+QEVYJw6V1G87SLN2YgbfA5et8Po2v3+3apg==","signatures":[{"sig":"MEQCID1Rq1Hu84GZNINGmd3gunqCpl0ZOSA+h+9hadUNqd9WAiAhlBCgZpGt9mujZ2kR6dImtC7nLgjW491ZAwLtH7pLfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGDAtnAZGf8P4o77rohrV+OqW0EeMeIgXdNrqaU7VGoAIhALDzRqUzBmxABPSaqlvTmFhKknMIlSTAOpIbeI0dvubj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96046},"type":"module","engines":{"node":">=20"},"gitHead":"c8b7d642dd89c7816bafc515cd11d1d06f853554","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.32_1789715747163_0.7895796309793506","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"brand-cli","version":"0.1.33","keywords":["brand-context","openapi","cli"],"license":"MIT","_id":"brand-cli@0.1.33","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"5f79e0a583839fd1e050e58b834846db6a193d13","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.33.tgz","fileCount":3,"integrity":"sha512-/SafQnkOmcuh2iixMPQtR6fr5WncYWOAvaIaZvSWzZakmOuySoGoKVdvDEV6JbYtv5Z8apKAEYkRnj/yIbabvQ==","signatures":[{"sig":"MEQCIHvQZTxvU1SCXrYmzU2c9Kf6dA6Am78lfoIAS2WAInKiAiAY5RrUoad6L/JcPl9gSnp4eLgzh7LJsT5zF/VgjmhPEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEC5YI9VJ3n3NAEPdoZM5xvQPXrULrTPvKE1uCPwFBgpAiAGg62gCvSIf5XKgQmNJwdUA6O9B5FLlYprPoAw8rGzhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114189},"type":"module","engines":{"node":">=20"},"gitHead":"a951983dc9a469a5e0191f31c5e81ce7c70a3cec","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"tmp":"tmp/brand-cli_0.1.33_1789725863502_0.7217347086918318","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"_id":"brand-cli@0.1.34","bin":{"brand-cli":"dist/cli.js"},"dist":{"shasum":"9f268f55b075b9ca498f8dbfb927989fd145b11b","tarball":"https://registry.npmjs.org/brand-cli/-/brand-cli-0.1.34.tgz","fileCount":3,"integrity":"sha512-bxaNChadrGLJ2SOllBi+8/Vu5zR2qdhCNIRNflwU3yv3mco2+f5myM+GH5uFfcD9SjIqkmeWota7dTkWI1km/w==","signatures":[{"sig":"MEYCIQD1ATxRQVAtJ2bsIncgQuNHvP250n+Wy3xGu8eVMtKsCgIhAM2D5OBWWRQuPSXpURCI94rUwC4hpmpEqpYOrjfiT/ak","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF1ooFj1thQ4Gn85re47pdLVID2Qt1nRHPVxaCAdykMNAiEAuc2woddE1452ANJi/gSIGuFYcflrzVyzKrJ3G471ipw="}],"unpackedSize":128107},"name":"brand-cli","type":"module","engines":{"node":">=20"},"gitHead":"ba49951b25ac8bf92751d60d68260402bc46718d","license":"MIT","scripts":{"build":"esbuild src/cli.ts --bundle --platform=node --format=esm --outfile=dist/cli.js --banner:js='#!/usr/bin/env node' && chmod +x dist/cli.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"version":"0.1.34","_npmUser":{"name":"shadowcz007","email":"chizw@icloud.com"},"keywords":["brand-context","openapi","cli"],"_npmVersion":"11.11.0","description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","directories":{},"maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brand-cli_0.1.34_1790242067303_0.4041040876242379"}}},"time":{"created":"2026-08-16T14:40:49.147Z","modified":"2026-09-24T09:27:47.601Z","0.1.0":"2026-08-16T14:40:49.390Z","0.1.1":"2026-08-17T03:42:26.762Z","0.1.2":"2026-08-17T10:12:53.960Z","0.1.3":"2026-08-17T13:51:14.597Z","0.1.4":"2026-08-18T08:59:02.133Z","0.1.5":"2026-08-18T10:02:44.687Z","0.1.6":"2026-08-19T00:14:31.933Z","0.1.7":"2026-08-19T00:58:27.303Z","0.1.8":"2026-08-19T01:08:57.225Z","0.1.9":"2026-08-19T02:29:28.867Z","0.1.11":"2026-08-19T07:52:58.268Z","0.1.12":"2026-08-19T08:34:24.698Z","0.1.13":"2026-08-19T10:17:18.247Z","0.1.15":"2026-08-20T07:52:21.384Z","0.1.16":"2026-08-20T08:25:35.661Z","0.1.17":"2026-08-21T01:31:18.802Z","0.1.18":"2026-08-21T04:34:30.477Z","0.1.19":"2026-08-21T04:59:12.114Z","0.1.20":"2026-08-21T09:03:15.067Z","0.1.22":"2026-08-21T10:50:37.017Z","0.1.23":"2026-08-21T11:11:36.265Z","0.1.24":"2026-08-31T10:09:55.661Z","0.1.26":"2026-09-12T08:23:42.659Z","0.1.27":"2026-09-17T14:33:07.995Z","0.1.29":"2026-09-17T14:58:33.929Z","0.1.30":"2026-09-18T02:30:34.593Z","0.1.31":"2026-09-18T06:50:42.941Z","0.1.32":"2026-09-18T07:15:47.254Z","0.1.33":"2026-09-18T10:04:23.598Z","0.1.34":"2026-09-24T09:27:47.396Z"},"license":"MIT","keywords":["brand-context","openapi","cli"],"description":"类型安全（来自自动 OpenAPI）的 brand-context 管理端 CLI","maintainers":[{"name":"shadowcz007","email":"chizw@icloud.com"}],"readme":"# brand-cli\n\n类型安全（来自自动 OpenAPI）的 **brand-context** 管理端 CLI。\n\n> 仅供 brand-context 后端使用。它只连你自己的后端实例，对第三方无作用。\n\n## 安装\n\n```bash\nnpm install -g brand-cli      # 已发布版本（其他机器 / 他人）\nnpx brand-cli --help          # 免安装试一下\n```\n\n> **在本仓库里开发 CLI 时不要用 `npm install -g`** —— 那是静态拷贝快照，改完源码 build 了也不生效。\n> 用 `cd brand-cli && npm link`（软链到本仓库，`npm run build` 后立即生效）。\n\n## 配置（环境变量）\n\n| 变量 | 说明 | 默认 |\n| --- | --- | --- |\n| `BRANDCLI_BASE` | 后端地址 | `https://brand-context-opal.vercel.app` |\n| `BRANDCLI_TOKEN` | 管理端 token（`Bearer`） | 空 |\n| `ADMIN_TOKEN` | 兜底读取 `.env` 的 `ADMIN_TOKEN` | 空 |\n\n`--token <t>` 命令行参数可覆盖以上一切。\n\n## 鉴权\n\n推荐用设备授权（OAuth 2.0 Device Flow）：CLI 打印一个链接，你在浏览器里批准，凭证写进 `~/.brand-cli/auth.json`，**有效期 7 天**。\n\n```bash\nbrand-cli login [--base URL]     # --base 后面必须紧跟 URL；本地 dev 例：--base http://localhost:3008\nbrand-cli whoami                 # 查看当前角色与凭证到期时间\nbrand-cli logout\n```\n\n**优先级**：`--token` > `BRANDCLI_TOKEN` > `ADMIN_TOKEN` > 本地登录 cookie。显式令牌存在时只发 `Authorization: Bearer`。\n临时提权：`ADMIN_TOKEN=<令牌> brand-cli <admin-only 命令>`。\n\n## 角色\n\n三档，**包含关系**（admin ⊃ contributor ⊃ reader）。本地门禁会先拦一道，越权命令在终端直接提示「需要管理员及以上账号」。\n\n| 角色 | 能做什么 |\n| --- | --- |\n| `reader` | 只读：`entities list/get`、`coverage`、`search`、`entity public`、`products public`、`product public` |\n| `contributor` | reader + 内容生产：建/改实体与字段补丁、建/改产物、items 增删序、预览、预检、`graph`、分类增改删（限自己建的）、`locales list`、`locale add/restore` |\n| `admin` | contributor + 破坏性/治理：`purge`（物理删除）、发布/撤回、改字段名、`locale disable`、审计、用户 |\n\n> `locale` 的分档判据是**「加宽 vs 收窄」**而不是重要性：`add`/`restore` 只会让更多语言可写（可逆、不外溢），\n> 故下放到 contributor；`disable` 会穿透到公开 v1 读接口（`/api/v1/*` 带该 locale 直接 400），故仍限 admin，\n> 且禁止禁用源语言 `en` 与被已发布产物引用的语言。\n\n## 命令\n\n```bash\n# 读\nbrand-cli entities list [--category X] [--includeArchived]\nbrand-cli entity get <id|key>\nbrand-cli coverage [--includeArchived]\nbrand-cli search <关键词> [--locale en] [--limit N]\nbrand-cli graph [--entity <key>] [--with-data] [--diagnostics] [--locale en] [--json]\nbrand-cli products list [--includeArchived]\nbrand-cli products public                          # 已发布产物列表\nbrand-cli product public <slug> [--locale en]      # 整包已发布合并 JSON（消费者 / PPTX·PDF 渲染器用这个）\nbrand-cli product admin get <id|slug>              # 完整元数据含 version/archived/slideConfig\nbrand-cli product preview <id|slug> [--locale en] [--page N] [--all]   # 逐字段解析结果，等价 GUI 预览面板\nbrand-cli entity public <key> [--locale en]\n\n# 实体：写\nbrand-cli entity create --key K [--category C] [--recordLabel R] [--source S] [--schemaHint @file.json]\nbrand-cli entity update <id> [--category C] [--status S] [--recordLabel R] [--source S] [--schemaHint @file.json] [--if-match V]\nbrand-cli entity delete <id|key>                   # 软删（archived）\nbrand-cli entity restore <id|key>                  # archived → active（幂等）\nbrand-cli entity purge <id|key> --confirm <key>    # 物理删除，不可恢复 [admin]\nbrand-cli entity recompute <id>\nbrand-cli entity rename-field <id> --from F --to T [admin]\n\n# 实体数据（每语言一份独立 JSON）\nbrand-cli entity data get <id|key> [--locale en]   # 输出裸 JSON\nbrand-cli entity data set <id> --locale en --data @file.json | -d '{...}' | -d -   # data 必须【嵌套在实体 key 下】，扁平 JSON → 400\nbrand-cli entity data patch <id> --locale en --set <path>=<value> [--set <p2>=<v2> ...]   # 增量写，只改指定字段\nbrand-cli entity data rm-field <id> --locale en --field <f>\nbrand-cli entity data rm <id> --locale en          # 删整个语言层 [admin]\nbrand-cli entity data split <id> [--field <f>]\nbrand-cli entity data diff <id> --locales cn,en    # 两语逐字段差异\n\n# 产物：写 + 发布生命周期\n# ⚠️ 产物内容 = 实体的有序组合（items）：create 只建骨架，创建时不带任何实体\nbrand-cli product create --slug S [--name N] [--sourceDir D] [--defaultLocales en,cn] [--slideConfig @file.json]\nbrand-cli product add-item <id> --entity <entityKey|entityId>   # 把实体组合进产物（追加到末尾，顺序 = order）\nbrand-cli product update <id> [--name N] [--description D] [--defaultLocales en,cn] [--status S] [--slideConfig @file.json] [--diff-check @file.json] [--if-match V]\nbrand-cli product delete <id|slug>                 # 软删（archived）\nbrand-cli product restore <id|slug>                # archived → draft（恢复后需重新 publish）\nbrand-cli product purge <id|slug> --confirm <slug> [--force]   # 物理删除 [admin]\nbrand-cli product check <id|slug> [--locales en,cn]            # 发布前预检\nbrand-cli product publish <id> [--locales en,cn] [--force-empty]   # 0 实体时本地拦截 [admin]\nbrand-cli product unpublish <id>                               # [admin]\nbrand-cli product add-item <id> --entity <entityId>\nbrand-cli product rm-item <id> <itemId>\nbrand-cli product reorder <id> --order id1,id2,id3\n\n# 分类\nbrand-cli category create --key K [--label '{\"cn\":\"品牌\",\"en\":\"Brand\"}'] [--color #hex] [--order N]\nbrand-cli category update <key> [--label L] [--color #hex] [--order N]\nbrand-cli category delete <key>                    # 被实体引用时 422\n\n# 语言白名单（运行时哪些语言可写）\nbrand-cli locales list                             # 已启用 / 已软禁用 + 代码允许集缺口 [contributor]\nbrand-cli locale add <key> --zh 中文名 --en English   # 解锁某语言；contributor 限代码允许集 [contributor]\nbrand-cli locale disable <key>                     # 软禁用（行与数据都保留，可 restore） [admin]\nbrand-cli locale restore <key>                     # [contributor]\n\n# 其他\nbrand-cli audit [--includeArchived] [--drift] [--all]   # [admin]\nbrand-cli --help                                        # 含每个命令的角色标签\nbrand-cli <命令> --help                                 # 详细用法与示例\n```\n\n写操作默认自动带 `If-Match` 乐观锁（last-write-wins）；CLI 发 `If-Match: *` 通配 + `x-vercel-bypass: 1` 绕过 Vercel CDN ETag 412；`--if-match <v>` 可显式覆盖。\n\n## 空产物防护（items 为空）\n\n产物内容 = 实体的有序组合。`items` 为空的产物**对外只会输出空对象 `{}`**，但服务端的完整性检查对它判\n`complete=true`（没有实体就谈不上缺失）—— **不会自然拦下**，于是很容易发布出一个没有任何内容的产物。\nCLI 侧因此做了这几道：\n\n| 命令 | 行为 |\n| --- | --- |\n| `products list` | 末尾汇总所有 `Entities=0` 的产物（slug + 状态） |\n| `product admin get` / `preview` / `check` | 0 实体 → 打提示（`check` 会在 `complete=true` 这种「假绿」时提醒） |\n| `product rm-item` | 删到 0 实体 → 打提示 |\n| `product create` | 建完必然 0 实体 → 必提示下一步 + 新产物 id |\n| `product publish` | **0 实体 → 报错退出、不发请求**；`--force-empty` 显式越过 |\n\n- 所有提示写 **stderr**，`stdout` 的 JSON 保持干净（可直接 `| jq` 或重定向存文件）。\n- 服务端门槛**未改**：直接打 `POST /api/admin/products/:id/publish` 仍可发布空产物 —— 这道防护只覆盖 CLI 路径。\n- 回归验证：`python3 scripts/verify-cli-empty-product.py`（本地 mock 后端，零副作用，15 项断言）。\n\n> **新部署的实例语言白名单是空表** → 此时任何语言（含 `cn`）都写不进去（400 `LOCALE_DISABLED`，不是 403）。\n> 用 `locales list` 确认，再跑 `locale add` 解锁。\n","readmeFilename":"README.md"}