@longzai-intelligence-bun/cli 0.0.25 → 0.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +12 -10
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -172,24 +172,26 @@ ${a}
172
172
  ${q.default.gray(ru+tu.repeat(i+2)+iu)}
173
173
  `)},hu=(e=``)=>{process.stdout.write(`${q.default.gray(Ql)} ${q.default.red(e)}
174
174
 
175
- `)},Q={message:(e=``,{symbol:t=q.default.gray(Z)}={})=>{let n=[`${q.default.gray(Z)}`];if(e){let[r,...i]=e.split(`
175
+ `)},gu={message:(e=``,{symbol:t=q.default.gray(Z)}={})=>{let n=[`${q.default.gray(Z)}`];if(e){let[r,...i]=e.split(`
176
176
  `);n.push(`${t} ${r}`,...i.map(e=>`${q.default.gray(Z)} ${e}`))}process.stdout.write(`${n.join(`
177
177
  `)}
178
- `)},info:e=>{Q.message(e,{symbol:q.default.blue(au)})},success:e=>{Q.message(e,{symbol:q.default.green(ou)})},step:e=>{Q.message(e,{symbol:q.default.green(Zl)})},warn:e=>{Q.message(e,{symbol:q.default.yellow(su)})},warning:e=>{Q.warn(e)},error:e=>{Q.message(e,{symbol:q.default.red(cu)})}};`${q.default.gray(Z)}`;const gu=({indicator:e=`dots`}={})=>{let t=ql?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],n=ql?80:120,r=process.env.CI===`true`,i,a,o=!1,s=``,c,l=performance.now(),u=e=>{o&&y(e>1?`Something went wrong`:`Canceled`,e)},d=()=>u(2),f=()=>u(1),p=()=>{process.on(`uncaughtExceptionMonitor`,d),process.on(`unhandledRejection`,d),process.on(`SIGINT`,f),process.on(`SIGTERM`,f),process.on(`exit`,u)},m=()=>{process.removeListener(`uncaughtExceptionMonitor`,d),process.removeListener(`unhandledRejection`,d),process.removeListener(`SIGINT`,f),process.removeListener(`SIGTERM`,f),process.removeListener(`exit`,u)},h=()=>{if(c===void 0)return;r&&process.stdout.write(`
178
+ `)},info:e=>{gu.message(e,{symbol:q.default.blue(au)})},success:e=>{gu.message(e,{symbol:q.default.green(ou)})},step:e=>{gu.message(e,{symbol:q.default.green(Zl)})},warn:e=>{gu.message(e,{symbol:q.default.yellow(su)})},warning:e=>{gu.warn(e)},error:e=>{gu.message(e,{symbol:q.default.red(cu)})}};`${q.default.gray(Z)}`;const _u=({indicator:e=`dots`}={})=>{let t=ql?[`◒`,`◐`,`◓`,`◑`]:[`•`,`o`,`O`,`0`],n=ql?80:120,r=process.env.CI===`true`,i,a,o=!1,s=``,c,l=performance.now(),u=e=>{o&&y(e>1?`Something went wrong`:`Canceled`,e)},d=()=>u(2),f=()=>u(1),p=()=>{process.on(`uncaughtExceptionMonitor`,d),process.on(`unhandledRejection`,d),process.on(`SIGINT`,f),process.on(`SIGTERM`,f),process.on(`exit`,u)},m=()=>{process.removeListener(`uncaughtExceptionMonitor`,d),process.removeListener(`unhandledRejection`,d),process.removeListener(`SIGINT`,f),process.removeListener(`SIGTERM`,f),process.removeListener(`exit`,u)},h=()=>{if(c===void 0)return;r&&process.stdout.write(`
179
179
  `);let e=c.split(`
180
180
  `);process.stdout.write(K.cursor.move(-999,e.length-1)),process.stdout.write(K.erase.down(e.length))},g=e=>e.replace(/\.+$/,``),_=e=>{let t=(performance.now()-e)/1e3,n=Math.floor(t/60),r=Math.floor(t%60);return n>0?`[${n}m ${r}s]`:`[${r}s]`},v=(u=``)=>{o=!0,i=Il(),s=g(u),l=performance.now(),process.stdout.write(`${q.default.gray(Z)}
181
181
  `);let d=0,f=0;p(),a=setInterval(()=>{if(r&&s===c)return;h(),c=s;let n=q.default.magenta(t[d]);if(r)process.stdout.write(`${n} ${s}...`);else if(e===`timer`)process.stdout.write(`${n} ${s} ${_(l)}`);else{let e=`.`.repeat(Math.floor(f)).slice(0,3);process.stdout.write(`${n} ${s}${e}`)}d=d+1<t.length?d+1:0,f=f<t.length?f+.125:0},n)},y=(t=``,n=0)=>{o=!1,clearInterval(a),h();let r=n===0?q.default.green(Zl):n===1?q.default.red(Yl):q.default.red(Xl);s=g(t??s),e===`timer`?process.stdout.write(`${r} ${s} ${_(l)}
182
182
  `):process.stdout.write(`${r} ${s}
183
- `),m(),i()};return{start:v,stop:y,message:(e=``)=>{s=g(e??s)}}},_u={red:e=>q.default.red(e),green:e=>q.default.green(e),yellow:e=>q.default.yellow(e),blue:e=>q.default.blue(e),cyan:e=>q.default.cyan(e),magenta:e=>q.default.magenta(e),gray:e=>q.default.gray(e),bold:e=>q.default.bold(e),dim:e=>q.default.dim(e)},vu={async select(e,t){let n=await pu({message:e,options:t.map(e=>({value:e.value,label:e.label,hint:e.hint}))});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`string`?n:String(n)},async textInput(e,t){let n=await du({message:e,placeholder:t?.placeholder,defaultValue:t?.defaultValue});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`string`?n:String(n)},async confirm(e,t){let n=await fu({message:e,initialValue:t?.defaultValue??!1});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`boolean`?n:!!n},spinner(){let e=gu();return{start(t){e.start(t)},stop(t){e.stop(t)}}},note(e,t){mu(e,t)},log:{info(e){Q.info(q.default.blue(e))},success(e){Q.success(q.default.green(e))},warn(e){Q.warn(q.default.yellow(e))},error(e){Q.error(q.default.red(e))},step(e){Q.step(e)}}},$=`https://registry.npmjs.org/`,yu=/* @__PURE__ */ new Map([[`longzai-intelligence`,$],[`longzai-intelligence-agent-tools`,$],[`longzai-intelligence-audit`,$],[`longzai-intelligence-auth`,$],[`longzai-intelligence-builder`,$],[`longzai-intelligence-bun`,$],[`longzai-intelligence-cache`,$],[`longzai-intelligence-cli`,$],[`longzai-intelligence-config`,$],[`longzai-intelligence-design-system`,$],[`longzai-intelligence-dev-tools`,$],[`longzai-intelligence-electron`,$],[`longzai-intelligence-error`,$],[`longzai-intelligence-event-bus`,$],[`longzai-intelligence-logger`,$],[`longzai-intelligence-oxfmt`,$],[`longzai-intelligence-okr`,$],[`longzai-intelligence-oxlint`,$],[`longzai-intelligence-plugin`,$],[`longzai-intelligence-shared-config`,$],[`longzai-intelligence-shared-kernel`,$],[`longzai-intelligence-transport`,$],[`longzai-intelligence-typescript`,$],[`longzai-intelligence-zod`,$],[`longzai-intelligence-prettier`,$],[`longzai-intelligence-tsdown`,$],[`longzai-intelligence-vitest`,$],[`longzai-intelligence-academy`,$],[`longzai-intelligence-accounting`,$],[`longzai-intelligence-activity`,$],[`longzai-intelligence-administration`,$],[`longzai-intelligence-agent`,$],[`longzai-intelligence-agent-collaboration`,$],[`longzai-intelligence-agent-endless`,$],[`longzai-intelligence-agent-session`,$],[`longzai-intelligence-agent-swarm`,$],[`longzai-intelligence-agent-ui`,$],[`longzai-intelligence-analytics`,$],[`longzai-intelligence-api`,$],[`longzai-intelligence-app-store`,$],[`longzai-intelligence-architecture`,$],[`longzai-intelligence-arkts`,$],[`longzai-intelligence-art`,$],[`longzai-intelligence-arxiv`,$],[`longzai-intelligence-atomic`,$],[`longzai-intelligence-attention`,$],[`longzai-intelligence-audio`,$],[`longzai-intelligence-audio-assistant`,$],[`longzai-intelligence-auto-research`,$],[`longzai-intelligence-automate`,$],[`longzai-intelligence-benchmark`,$],[`longzai-intelligence-billing`,$],[`longzai-intelligence-board`,$],[`longzai-intelligence-broker`,$],[`longzai-intelligence-business-plan`,$],[`longzai-intelligence-calendar`,$],[`longzai-intelligence-canvas`,$],[`longzai-intelligence-capture`,$],[`longzai-intelligence-changeset`,$],[`longzai-intelligence-chat`,$],[`longzai-intelligence-chess`,$],[`longzai-intelligence-circuit`,$],[`longzai-intelligence-claude-code`,$],[`longzai-intelligence-clipboard-share`,$],[`longzai-intelligence-cloud`,$],[`longzai-intelligence-code`,$],[`longzai-intelligence-code-agent`,$],[`longzai-intelligence-code-reviewer`,$],[`longzai-intelligence-codebase-research`,$],[`longzai-intelligence-collaboration`,$],[`longzai-intelligence-commerce`,$],[`longzai-intelligence-concrete`,$],[`longzai-intelligence-context`,$],[`longzai-intelligence-contract`,$],[`longzai-intelligence-contract-parity`,$],[`longzai-intelligence-cookery`,$],[`longzai-intelligence-country`,$],[`longzai-intelligence-creativity`,$],[`longzai-intelligence-cross-platform`,$],[`longzai-intelligence-crypto`,$],[`longzai-intelligence-customer-service`,$],[`longzai-intelligence-cut`,$],[`longzai-intelligence-dashboard`,$],[`longzai-intelligence-data`,$],[`longzai-intelligence-data-science`,$],[`longzai-intelligence-database`,$],[`longzai-intelligence-decenterlization`,$],[`longzai-intelligence-decision`,$],[`longzai-intelligence-design`,$],[`longzai-intelligence-design-lab`,$],[`longzai-intelligence-device`,$],[`longzai-intelligence-discipline`,$],[`longzai-intelligence-discovery`,$],[`longzai-intelligence-distill`,$],[`longzai-intelligence-docs`,$],[`longzai-intelligence-document`,$],[`longzai-intelligence-drone`,$],[`longzai-intelligence-edge`,$],[`longzai-intelligence-electrobun`,$],[`longzai-intelligence-elysia`,$],[`longzai-intelligence-embodied`,$],[`longzai-intelligence-empowerment`,$],[`longzai-intelligence-engineering`,$],[`longzai-intelligence-equilibrium`,$],[`longzai-intelligence-eslint`,$],[`longzai-intelligence-event`,$],[`longzai-intelligence-evolution`,$],[`longzai-intelligence-exchange-rate`,$],[`longzai-intelligence-execution`,$],[`longzai-intelligence-experience`,$],[`longzai-intelligence-expert-thinking`,$],[`longzai-intelligence-feature-flags`,$],[`longzai-intelligence-federation`,$],[`longzai-intelligence-feed`,$],[`longzai-intelligence-file-processing`,$],[`longzai-intelligence-fitness`,$],[`longzai-intelligence-game`,$],[`longzai-intelligence-gateway`,$],[`longzai-intelligence-geo`,$],[`longzai-intelligence-git`,$],[`longzai-intelligence-git-insight`,$],[`longzai-intelligence-gitcode`,$],[`longzai-intelligence-github-trending`,$],[`longzai-intelligence-hardware`,$],[`longzai-intelligence-harness`,$],[`longzai-intelligence-healthcare`,$],[`longzai-intelligence-history`,$],[`longzai-intelligence-horizon`,$],[`longzai-intelligence-human-resource`,$],[`longzai-intelligence-i18n`,$],[`longzai-intelligence-idea`,$],[`longzai-intelligence-identity`,$],[`longzai-intelligence-ime`,$],[`longzai-intelligence-impact-maker`,$],[`longzai-intelligence-intellectual-property`,$],[`longzai-intelligence-key-management`,$],[`longzai-intelligence-knowledge`,$],[`longzai-intelligence-language-model`,$],[`longzai-intelligence-legal`,$],[`longzai-intelligence-loop`,$],[`longzai-intelligence-machine-learning`,$],[`longzai-intelligence-mail`,$],[`longzai-intelligence-mandala`,$],[`longzai-intelligence-map`,$],[`longzai-intelligence-markdown`,$],[`longzai-intelligence-marketing`,$],[`longzai-intelligence-marketplace`,$],[`longzai-intelligence-math`,$],[`longzai-intelligence-mcn`,$],[`longzai-intelligence-mcp`,$],[`longzai-intelligence-memory`,$],[`longzai-intelligence-mentor`,$],[`longzai-intelligence-messaging`,$],[`longzai-intelligence-mindset`,$],[`longzai-intelligence-mission-control`,$],[`longzai-intelligence-model-fusion`,$],[`longzai-intelligence-model-gateway`,$],[`longzai-intelligence-moment`,$],[`longzai-intelligence-montage`,$],[`longzai-intelligence-movie`,$],[`longzai-intelligence-narrative-analyzer`,$],[`longzai-intelligence-nginx`,$],[`longzai-intelligence-notification`,$],[`longzai-intelligence-npm`,$],[`longzai-intelligence-npm-registry`,$],[`longzai-intelligence-observability`,$],[`longzai-intelligence-office-industry`,$],[`longzai-intelligence-older`,$],[`longzai-intelligence-one`,$],[`longzai-intelligence-ontology`,$],[`longzai-intelligence-open-pencil`,$],[`longzai-intelligence-opencode`,$],[`longzai-intelligence-opportunity`,$],[`longzai-intelligence-orchestry`,$],[`longzai-intelligence-organization`,$],[`longzai-intelligence-orm`,$],[`longzai-intelligence-outfit`,$],[`longzai-intelligence-outsourcing`,$],[`longzai-intelligence-overseas`,$],[`longzai-intelligence-pagination`,$],[`longzai-intelligence-panel`,$],[`longzai-intelligence-paper-reader`,$],[`longzai-intelligence-parametric-industry`,$],[`longzai-intelligence-partner`,$],[`longzai-intelligence-payment`,$],[`longzai-intelligence-personal-assistant`,$],[`longzai-intelligence-pii`,$],[`longzai-intelligence-policy-research`,$],[`longzai-intelligence-portal`,$],[`longzai-intelligence-prezi`,$],[`longzai-intelligence-product-requirement`,$],[`longzai-intelligence-product-research`,$],[`longzai-intelligence-programming-language`,$],[`longzai-intelligence-project`,$],[`longzai-intelligence-project-portfolio`,$],[`longzai-intelligence-promotion`,$],[`longzai-intelligence-prospect`,$],[`longzai-intelligence-publication`,$],[`longzai-intelligence-qcloud`,$],[`longzai-intelligence-quant`,$],[`longzai-intelligence-queue`,$],[`longzai-intelligence-react-devtools`,$],[`longzai-intelligence-reasoning`,$],[`longzai-intelligence-recruitment`,$],[`longzai-intelligence-reliability`,$],[`longzai-intelligence-report`,$],[`longzai-intelligence-repository`,$],[`longzai-intelligence-repository-handover`,$],[`longzai-intelligence-resilience`,$],[`longzai-intelligence-reverse-engineering`,$],[`longzai-intelligence-reviewer`,$],[`longzai-intelligence-risk`,$],[`longzai-intelligence-router`,$],[`longzai-intelligence-sales`,$],[`longzai-intelligence-scheduler`,$],[`longzai-intelligence-schema`,$],[`longzai-intelligence-scrape`,$],[`longzai-intelligence-search`,$],[`longzai-intelligence-security`,$],[`longzai-intelligence-security-inventory`,$],[`longzai-intelligence-serverless`,$],[`longzai-intelligence-share`,$],[`longzai-intelligence-skill`,$],[`longzai-intelligence-slider`,$],[`longzai-intelligence-smart-transition`,$],[`longzai-intelligence-sms`,$],[`longzai-intelligence-soul`,$],[`longzai-intelligence-sports`,$],[`longzai-intelligence-ssl`,$],[`longzai-intelligence-storage`,$],[`longzai-intelligence-strategy`,$],[`longzai-intelligence-supply-chain`,$],[`longzai-intelligence-talk`,$],[`longzai-intelligence-taro`,$],[`longzai-intelligence-task`,$],[`longzai-intelligence-templates`,$],[`longzai-intelligence-tenant`,$],[`longzai-intelligence-testing`,$],[`longzai-intelligence-thinking`,$],[`longzai-intelligence-token-exchange`,$],[`longzai-intelligence-token-finance`,$],[`longzai-intelligence-token-handover`,$],[`longzai-intelligence-topology`,$],[`longzai-intelligence-trader`,$],[`longzai-intelligence-trae`,$],[`longzai-intelligence-training-data`,$],[`longzai-intelligence-translator`,$],[`longzai-intelligence-travel`,$],[`longzai-intelligence-trending`,$],[`longzai-intelligence-tsgo`,$],[`longzai-intelligence-twitter`,$],[`longzai-intelligence-typeorm`,$],[`longzai-intelligence-usecase`,$],[`longzai-intelligence-user-research`,$],[`longzai-intelligence-userscript`,$],[`longzai-intelligence-utils`,$],[`longzai-intelligence-value-chain`,$],[`longzai-intelligence-vector-search`,$],[`longzai-intelligence-vendor`,$],[`longzai-intelligence-venture-capital`,$],[`longzai-intelligence-voice`,$],[`longzai-intelligence-vscode-developer`,$],[`longzai-intelligence-warehouse`,$],[`longzai-intelligence-wealth`,$],[`longzai-intelligence-web3`,$],[`longzai-intelligence-webhook`,$],[`longzai-intelligence-websocket`,$],[`longzai-intelligence-wechat`,$],[`longzai-intelligence-wechat-miniprogram`,$],[`longzai-intelligence-wechat-pay`,$],[`longzai-intelligence-wiki`,$],[`longzai-intelligence-work`,$],[`longzai-intelligence-worker`,$],[`longzai-intelligence-workflow`,$],[`longzai-intelligence-workspace`,$],[`longzai-intelligence-writer`,$],[`longzai-intelligence-zcode`,$]]),bu=`LZI_GLOBALS_ROOT`,xu=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;var Su=class extends Error{details;constructor(e,t=`install.extraScopes`){super(`${t} 校验失败:\n${e.map(e=>`- ${e}`).join(`
184
- `)}`),this.name=`InstallScopesError`,this.details=e}};function Cu(e){if(typeof e!=`string`)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function wu(e,t,n,r){let i=e instanceof Map?Object.fromEntries(e):{...e},a=[],o={};for(let[n,i]of Object.entries(t??{})){let t=n.replace(/^@+/,``);if(t.length===0||!xu.test(t)){a.push(`\`${n}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`);continue}if(!Cu(i)){a.push(`\`${n}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`);continue}if(o[t]!==void 0&&o[t]!==i){a.push(`\`${t}\` 在 extraScopes 内重复声明且安装源不一致`);continue}if(e instanceof Map?e.has(t):Object.hasOwn(e,t)){a.push(`\`${t}\` 与预定义 scope 冲突(预定义不可覆盖,如需调整请在 ${r} 维护)`);continue}o[t]=i}let s=/* @__PURE__ */ new Set;for(let e of n??[]){let t=e.replace(/^@+/,``);if(t.length===0||!xu.test(t)){a.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`);continue}if(o[t]!==void 0){a.push(`\`${t}\` 同时出现在 extraScopes 与 privateScopes(追加公网安装源与私有轨声明矛盾)`);continue}s.add(t)}if(a.length>0)throw new Su(a);for(let[e,t]of Object.entries(o))i[e]=t;for(let e of s)delete i[e];return i}function Tu(e,t,n){return wu(e,t,n,`globals 仓 lzi-bun-install.config.ts`)}function Eu(e){let t=[];if(typeof e!=`object`||!e)throw new Su([`default export 必须是对象({ scopes: { ... } })`],`globals 预设 lzi-bun-install.config.ts`);let n=typeof e==`object`&&e&&`scopes`in e?e.scopes:void 0;if(typeof n!=`object`||!n||Array.isArray(n))throw new Su([`scopes 必须是 scope → registry 的对象映射`],`globals 预设 lzi-bun-install.config.ts`);let r={};for(let[e,i]of Object.entries(n)){if(!xu.test(e)){t.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,不含 @ 前缀)`);continue}if(typeof i!=`string`||!Cu(i)){t.push(`\`${e}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`);continue}r[e]=i}if(t.length>0)throw new Su(t,`globals 预设 lzi-bun-install.config.ts`);if(Object.keys(r).length===0)throw new Su([`scopes 清单为空(真源不允许空清单)`],`globals 预设 lzi-bun-install.config.ts`);return r}var Du=class extends Error{configPath;constructor(e,t){super(e),this.name=`SharedConfigError`,this.configPath=t}},Ou=class extends Du{cause;constructor(e,t){super(`加载配置文件 ${e} 失败`,e),this.name=`SharedConfigLoadError`,this.cause=t}},ku=class extends Du{searchFrom;constructor(e){super(`未在 ${e} 及其上级目录中找到 lzi.config.ts 配置文件`,e),this.name=`SharedConfigNotFoundError`,this.searchFrom=e}};const Au=[`packages/*`,`apps/*`];function ju(e){let r=s(e,`package.json`);if(!t(r))throw new ku(e);let i;try{i=JSON.parse(n(r,`utf8`)).workspaces}catch(e){throw new Ou(r,e)}let a=Array.isArray(i)?i:i?.packages;return a&&a.length>0?a:Au}async function Mu(e,r={}){let i=ju(e),a=/* @__PURE__ */ new Set,o=[];for(let c of i){let i=new Bun.Glob(`${c}/package.json`);for await(let c of i.scan({cwd:e,absolute:!0,onlyFiles:!0})){let e=s(c,`..`);if(a.has(e))continue;let i;try{i=JSON.parse(n(c,`utf8`))}catch{continue}typeof i.name==`string`&&i.name.length!==0&&(r.configFileName!==void 0&&!t(s(e,r.configFileName))||(a.add(e),o.push({name:i.name,dir:e})))}}return o}function Nu(e=process.cwd()){let n=s(e);for(;;){let e=o(n,`lzi.config.ts`);if(t(e))return e;let r=a(n);if(r===n)return null;n=r}}async function Pu(e={}){let t=e.cwd??process.cwd(),n=Nu(t);if(n===null)throw new ku(t);let r=s(n,`..`);try{return{config:(await import(n)).default,configPath:r,configFilePath:n}}catch(e){throw new Ou(n,e)}}function Fu(e,n=process.cwd()){let r=Array.isArray(e)?e:[e],i=s(n);for(;;){for(let e of r){let n=o(i,e);if(t(n))return n}let e=a(i);if(e===i)return null;i=e}}async function Iu(e={}){let t=e.cwd??s(process.cwd());if(e.standaloneFile){let n=Fu(e.standaloneFile,t);if(n)try{let e=await import(n);return{success:!0,config:e.default??e,source:`standalone`,configFilePath:n}}catch(e){throw new Ou(n,e)}}if(e.unifiedField)try{let{config:n,configFilePath:r}=await Pu({cwd:t}),i=n?.[e.unifiedField];if(i!==void 0)return{success:!0,config:i,source:`unified`,configFilePath:r}}catch{}return{success:!1,configFilePath:null}}var Lu=class extends Error{bunfigPath;constructor(e){super(`${e} 已存在且非 lzi-bun-cli 生成(缺少 @lzi-bun-cli 自动生成,请勿编辑 标记),如需 lzi-bun-cli 接管,请删除该文件或手动合并后重试`),this.name=`BunfigProtectedError`,this.bunfigPath=e}};function Ru(e){return`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`}function zu(e,t){let n=e.map(e=>Ru(e)),r=`[${n.join(`, `)}]`;return`${t} = `.length+r.length<=100?r:`[\n${n.map(e=>` ${e},`).join(`
185
- `)}\n]`}function Bu(e){let t=[];return e.lines!==void 0&&t.push(`lines = ${e.lines}`),e.functions!==void 0&&t.push(`functions = ${e.functions}`),e.statements!==void 0&&t.push(`statements = ${e.statements}`),`{ ${t.join(`, `)} }`}function Vu(e){let t=[`registry = ${Ru(e.registry)}`],n=Uu(`linker`,e.linker);n&&t.push(n);let r=Uu(`globalStore`,e.globalStore);r&&t.push(r);let i=Object.entries(e.scopes).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${Ru(`@${e}`)} = ${Ru(t)}`),a=[`[install]\n${t.join(`
183
+ `),m(),i()};return{start:v,stop:y,message:(e=``)=>{s=g(e??s)}}},vu={red:e=>q.default.red(e),green:e=>q.default.green(e),yellow:e=>q.default.yellow(e),blue:e=>q.default.blue(e),cyan:e=>q.default.cyan(e),magenta:e=>q.default.magenta(e),gray:e=>q.default.gray(e),bold:e=>q.default.bold(e),dim:e=>q.default.dim(e)},yu={async select(e,t){let n=await pu({message:e,options:t.map(e=>({value:e.value,label:e.label,hint:e.hint}))});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`string`?n:String(n)},async textInput(e,t){let n=await du({message:e,placeholder:t?.placeholder,defaultValue:t?.defaultValue});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`string`?n:String(n)},async confirm(e,t){let n=await fu({message:e,initialValue:t?.defaultValue??!1});return Pl(n)&&(hu(`操作已取消`),process.exit(0)),typeof n==`boolean`?n:!!n},spinner(){let e=_u();return{start(t){e.start(t)},stop(t){e.stop(t)}}},note(e,t){mu(e,t)},log:{info(e){gu.info(q.default.blue(e))},success(e){gu.success(q.default.green(e))},warn(e){gu.warn(q.default.yellow(e))},error(e){gu.error(q.default.red(e))},step(e){gu.step(e)}}},Q=`https://registry.npmjs.org/`,bu=/* @__PURE__ */ new Map([[`longzai-intelligence`,Q],[`longzai-intelligence-agent-tools`,Q],[`longzai-intelligence-audit`,Q],[`longzai-intelligence-auth`,Q],[`longzai-intelligence-builder`,Q],[`longzai-intelligence-bun`,Q],[`longzai-intelligence-cache`,Q],[`longzai-intelligence-cli`,Q],[`longzai-intelligence-config`,Q],[`longzai-intelligence-design-system`,Q],[`longzai-intelligence-dev-tools`,Q],[`longzai-intelligence-electron`,Q],[`longzai-intelligence-error`,Q],[`longzai-intelligence-event-bus`,Q],[`longzai-intelligence-logger`,Q],[`longzai-intelligence-oxfmt`,Q],[`longzai-intelligence-okr`,Q],[`longzai-intelligence-oxlint`,Q],[`longzai-intelligence-plugin`,Q],[`longzai-intelligence-shared-config`,Q],[`longzai-intelligence-shared-kernel`,Q],[`longzai-intelligence-transport`,Q],[`longzai-intelligence-typescript`,Q],[`longzai-intelligence-vscode`,Q],[`longzai-intelligence-zod`,Q],[`longzai-intelligence-prettier`,Q],[`longzai-intelligence-tsdown`,Q],[`longzai-intelligence-vitest`,Q],[`longzai-intelligence-academy`,Q],[`longzai-intelligence-accounting`,Q],[`longzai-intelligence-activity`,Q],[`longzai-intelligence-administration`,Q],[`longzai-intelligence-agent`,Q],[`longzai-intelligence-agent-collaboration`,Q],[`longzai-intelligence-agent-endless`,Q],[`longzai-intelligence-agent-session`,Q],[`longzai-intelligence-agent-swarm`,Q],[`longzai-intelligence-agent-ui`,Q],[`longzai-intelligence-analytics`,Q],[`longzai-intelligence-api`,Q],[`longzai-intelligence-app-store`,Q],[`longzai-intelligence-architecture`,Q],[`longzai-intelligence-arkts`,Q],[`longzai-intelligence-art`,Q],[`longzai-intelligence-arxiv`,Q],[`longzai-intelligence-arxiv-markdown`,Q],[`longzai-intelligence-atomic`,Q],[`longzai-intelligence-attention`,Q],[`longzai-intelligence-audio`,Q],[`longzai-intelligence-audio-assistant`,Q],[`longzai-intelligence-auto-research`,Q],[`longzai-intelligence-automate`,Q],[`longzai-intelligence-benchmark`,Q],[`longzai-intelligence-billing`,Q],[`longzai-intelligence-board`,Q],[`longzai-intelligence-broker`,Q],[`longzai-intelligence-business-plan`,Q],[`longzai-intelligence-calendar`,Q],[`longzai-intelligence-canvas`,Q],[`longzai-intelligence-capture`,Q],[`longzai-intelligence-changeset`,Q],[`longzai-intelligence-chat`,Q],[`longzai-intelligence-chess`,Q],[`longzai-intelligence-circuit`,Q],[`longzai-intelligence-claude-code`,Q],[`longzai-intelligence-clipboard-share`,Q],[`longzai-intelligence-cloud`,Q],[`longzai-intelligence-code`,Q],[`longzai-intelligence-code-agent`,Q],[`longzai-intelligence-code-reviewer`,Q],[`longzai-intelligence-codebase-research`,Q],[`longzai-intelligence-collaboration`,Q],[`longzai-intelligence-commerce`,Q],[`longzai-intelligence-concrete`,Q],[`longzai-intelligence-context`,Q],[`longzai-intelligence-contract`,Q],[`longzai-intelligence-contract-parity`,Q],[`longzai-intelligence-cookery`,Q],[`longzai-intelligence-country`,Q],[`longzai-intelligence-creativity`,Q],[`longzai-intelligence-cross-platform`,Q],[`longzai-intelligence-crypto`,Q],[`longzai-intelligence-customer-service`,Q],[`longzai-intelligence-cut`,Q],[`longzai-intelligence-dashboard`,Q],[`longzai-intelligence-data`,Q],[`longzai-intelligence-data-science`,Q],[`longzai-intelligence-database`,Q],[`longzai-intelligence-decenterlization`,Q],[`longzai-intelligence-decision`,Q],[`longzai-intelligence-design`,Q],[`longzai-intelligence-design-lab`,Q],[`longzai-intelligence-device`,Q],[`longzai-intelligence-discipline`,Q],[`longzai-intelligence-discovery`,Q],[`longzai-intelligence-distill`,Q],[`longzai-intelligence-docs`,Q],[`longzai-intelligence-document`,Q],[`longzai-intelligence-drone`,Q],[`longzai-intelligence-edge`,Q],[`longzai-intelligence-electrobun`,Q],[`longzai-intelligence-elysia`,Q],[`longzai-intelligence-embodied`,Q],[`longzai-intelligence-empowerment`,Q],[`longzai-intelligence-engineering`,Q],[`longzai-intelligence-equilibrium`,Q],[`longzai-intelligence-eslint`,Q],[`longzai-intelligence-event`,Q],[`longzai-intelligence-evolution`,Q],[`longzai-intelligence-exchange-rate`,Q],[`longzai-intelligence-execution`,Q],[`longzai-intelligence-experience`,Q],[`longzai-intelligence-expert-thinking`,Q],[`longzai-intelligence-feature-flags`,Q],[`longzai-intelligence-federation`,Q],[`longzai-intelligence-feed`,Q],[`longzai-intelligence-file-processing`,Q],[`longzai-intelligence-fitness`,Q],[`longzai-intelligence-game`,Q],[`longzai-intelligence-gateway`,Q],[`longzai-intelligence-geo`,Q],[`longzai-intelligence-git`,Q],[`longzai-intelligence-git-insight`,Q],[`longzai-intelligence-gitcode`,Q],[`longzai-intelligence-github-trending`,Q],[`longzai-intelligence-github-trending-markdown`,Q],[`longzai-intelligence-hardware`,Q],[`longzai-intelligence-harness`,Q],[`longzai-intelligence-healthcare`,Q],[`longzai-intelligence-history`,Q],[`longzai-intelligence-horizon`,Q],[`longzai-intelligence-human-resource`,Q],[`longzai-intelligence-i18n`,Q],[`longzai-intelligence-idea`,Q],[`longzai-intelligence-identity`,Q],[`longzai-intelligence-ime`,Q],[`longzai-intelligence-impact-maker`,Q],[`longzai-intelligence-intellectual-property`,Q],[`longzai-intelligence-key-management`,Q],[`longzai-intelligence-knowledge`,Q],[`longzai-intelligence-language-model`,Q],[`longzai-intelligence-legal`,Q],[`longzai-intelligence-loop`,Q],[`longzai-intelligence-machine-learning`,Q],[`longzai-intelligence-mail`,Q],[`longzai-intelligence-mandala`,Q],[`longzai-intelligence-map`,Q],[`longzai-intelligence-markdown`,Q],[`longzai-intelligence-marketing`,Q],[`longzai-intelligence-marketplace`,Q],[`longzai-intelligence-math`,Q],[`longzai-intelligence-mcn`,Q],[`longzai-intelligence-mcp`,Q],[`longzai-intelligence-memory`,Q],[`longzai-intelligence-mentor`,Q],[`longzai-intelligence-messaging`,Q],[`longzai-intelligence-mindset`,Q],[`longzai-intelligence-mission-control`,Q],[`longzai-intelligence-model-fusion`,Q],[`longzai-intelligence-model-gateway`,Q],[`longzai-intelligence-moment`,Q],[`longzai-intelligence-montage`,Q],[`longzai-intelligence-movie`,Q],[`longzai-intelligence-music-video`,Q],[`longzai-intelligence-narrative-analyzer`,Q],[`longzai-intelligence-nginx`,Q],[`longzai-intelligence-notification`,Q],[`longzai-intelligence-npm`,Q],[`longzai-intelligence-npm-registry`,Q],[`longzai-intelligence-observability`,Q],[`longzai-intelligence-office-industry`,Q],[`longzai-intelligence-older`,Q],[`longzai-intelligence-one`,Q],[`longzai-intelligence-ontology`,Q],[`longzai-intelligence-open-pencil`,Q],[`longzai-intelligence-opencode`,Q],[`longzai-intelligence-opportunity`,Q],[`longzai-intelligence-orchestry`,Q],[`longzai-intelligence-organization`,Q],[`longzai-intelligence-orm`,Q],[`longzai-intelligence-outfit`,Q],[`longzai-intelligence-outsourcing`,Q],[`longzai-intelligence-overseas`,Q],[`longzai-intelligence-pagination`,Q],[`longzai-intelligence-panel`,Q],[`longzai-intelligence-paper-reader`,Q],[`longzai-intelligence-parametric-industry`,Q],[`longzai-intelligence-partner`,Q],[`longzai-intelligence-payment`,Q],[`longzai-intelligence-personal-assistant`,Q],[`longzai-intelligence-pii`,Q],[`longzai-intelligence-policy-research`,Q],[`longzai-intelligence-portal`,Q],[`longzai-intelligence-prezi`,Q],[`longzai-intelligence-product-requirement`,Q],[`longzai-intelligence-product-research`,Q],[`longzai-intelligence-programming-language`,Q],[`longzai-intelligence-project`,Q],[`longzai-intelligence-project-portfolio`,Q],[`longzai-intelligence-promotion`,Q],[`longzai-intelligence-prospect`,Q],[`longzai-intelligence-publication`,Q],[`longzai-intelligence-qcloud`,Q],[`longzai-intelligence-quant`,Q],[`longzai-intelligence-queue`,Q],[`longzai-intelligence-react-devtools`,Q],[`longzai-intelligence-reasoning`,Q],[`longzai-intelligence-recruitment`,Q],[`longzai-intelligence-reliability`,Q],[`longzai-intelligence-report`,Q],[`longzai-intelligence-repository`,Q],[`longzai-intelligence-repository-handover`,Q],[`longzai-intelligence-resilience`,Q],[`longzai-intelligence-reverse-engineering`,Q],[`longzai-intelligence-reviewer`,Q],[`longzai-intelligence-risk`,Q],[`longzai-intelligence-router`,Q],[`longzai-intelligence-sales`,Q],[`longzai-intelligence-scheduler`,Q],[`longzai-intelligence-schema`,Q],[`longzai-intelligence-scrape`,Q],[`longzai-intelligence-search`,Q],[`longzai-intelligence-security`,Q],[`longzai-intelligence-security-inventory`,Q],[`longzai-intelligence-serverless`,Q],[`longzai-intelligence-share`,Q],[`longzai-intelligence-skill`,Q],[`longzai-intelligence-slider`,Q],[`longzai-intelligence-smart-transition`,Q],[`longzai-intelligence-sms`,Q],[`longzai-intelligence-soul`,Q],[`longzai-intelligence-sports`,Q],[`longzai-intelligence-ssl`,Q],[`longzai-intelligence-storage`,Q],[`longzai-intelligence-strategy`,Q],[`longzai-intelligence-supply-chain`,Q],[`longzai-intelligence-talk`,Q],[`longzai-intelligence-taro`,Q],[`longzai-intelligence-task`,Q],[`longzai-intelligence-templates`,Q],[`longzai-intelligence-tenant`,Q],[`longzai-intelligence-testing`,Q],[`longzai-intelligence-thinking`,Q],[`longzai-intelligence-token-exchange`,Q],[`longzai-intelligence-token-finance`,Q],[`longzai-intelligence-token-handover`,Q],[`longzai-intelligence-topology`,Q],[`longzai-intelligence-trader`,Q],[`longzai-intelligence-trae`,Q],[`longzai-intelligence-training-data`,Q],[`longzai-intelligence-translator`,Q],[`longzai-intelligence-travel`,Q],[`longzai-intelligence-trending`,Q],[`longzai-intelligence-tsgo`,Q],[`longzai-intelligence-twitter`,Q],[`longzai-intelligence-typeorm`,Q],[`longzai-intelligence-usecase`,Q],[`longzai-intelligence-user-research`,Q],[`longzai-intelligence-userscript`,Q],[`longzai-intelligence-utils`,Q],[`longzai-intelligence-value-chain`,Q],[`longzai-intelligence-vector-search`,Q],[`longzai-intelligence-vendor`,Q],[`longzai-intelligence-venture-capital`,Q],[`longzai-intelligence-voice`,Q],[`longzai-intelligence-vscode-developer`,Q],[`longzai-intelligence-warehouse`,Q],[`longzai-intelligence-wealth`,Q],[`longzai-intelligence-web3`,Q],[`longzai-intelligence-webhook`,Q],[`longzai-intelligence-websocket`,Q],[`longzai-intelligence-wechat`,Q],[`longzai-intelligence-wechat-miniprogram`,Q],[`longzai-intelligence-wechat-pay`,Q],[`longzai-intelligence-wiki`,Q],[`longzai-intelligence-work`,Q],[`longzai-intelligence-worker`,Q],[`longzai-intelligence-workflow`,Q],[`longzai-intelligence-workspace`,Q],[`longzai-intelligence-writer`,Q],[`longzai-intelligence-zcode`,Q]]),xu=`LZI_GLOBALS_ROOT`,Su=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;var Cu=class extends Error{details;constructor(e,t=`install.extraScopes`){super(`${t} 校验失败:\n${e.map(e=>`- ${e}`).join(`
184
+ `)}`),this.name=`InstallScopesError`,this.details=e}};function wu(e){if(typeof e!=`string`)return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Tu(e,t,n,r){let i=e instanceof Map?Object.fromEntries(e):{...e},a=[],o={};for(let[n,i]of Object.entries(t??{})){let t=n.replace(/^@+/,``);if(t.length===0||!Su.test(t)){a.push(`\`${n}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`);continue}if(!wu(i)){a.push(`\`${n}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`);continue}if(o[t]!==void 0&&o[t]!==i){a.push(`\`${t}\` 在 extraScopes 内重复声明且安装源不一致`);continue}if(e instanceof Map?e.has(t):Object.hasOwn(e,t)){a.push(`\`${t}\` 与预定义 scope 冲突(预定义不可覆盖,如需调整请在 ${r} 维护)`);continue}o[t]=i}let s=/* @__PURE__ */ new Set;for(let e of n??[]){let t=e.replace(/^@+/,``);if(t.length===0||!Su.test(t)){a.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,@ 前缀可省略)`);continue}if(o[t]!==void 0){a.push(`\`${t}\` 同时出现在 extraScopes 与 privateScopes(追加公网安装源与私有轨声明矛盾)`);continue}s.add(t)}if(a.length>0)throw new Cu(a);for(let[e,t]of Object.entries(o))i[e]=t;for(let e of s)delete i[e];return i}function Eu(e,t,n,r){let i=Tu(e,t,n,`globals 仓 lzi-bun-install.config.ts`),a=r?.replace(/^@+/,``),o=new Set((n??[]).map(e=>e.replace(/^@+/,``)));return a!==void 0&&Su.test(a)&&!Object.hasOwn(i,a)&&!o.has(a)&&(i[a]=Q),i}function Du(e){let t=[];if(typeof e!=`object`||!e)throw new Cu([`default export 必须是对象({ scopes: { ... } })`],`globals 预设 lzi-bun-install.config.ts`);let n=typeof e==`object`&&e&&`scopes`in e?e.scopes:void 0;if(typeof n!=`object`||!n||Array.isArray(n))throw new Cu([`scopes 必须是 scope → registry 的对象映射`],`globals 预设 lzi-bun-install.config.ts`);let r={};for(let[e,i]of Object.entries(n)){if(!Su.test(e)){t.push(`\`${e}\` 不是合法 scope 名(仅允许字母/数字开头,后接字母/数字与 . _ -,不含 @ 前缀)`);continue}if(typeof i!=`string`||!wu(i)){t.push(`\`${e}\` 的安装源 \`${String(i)}\` 不是合法的 http/https URL`);continue}r[e]=i}if(t.length>0)throw new Cu(t,`globals 预设 lzi-bun-install.config.ts`);if(Object.keys(r).length===0)throw new Cu([`scopes 清单为空(真源不允许空清单)`],`globals 预设 lzi-bun-install.config.ts`);return r}var Ou=class extends Error{configPath;constructor(e,t){super(e),this.name=`SharedConfigError`,this.configPath=t}},ku=class extends Ou{cause;constructor(e,t){super(`加载配置文件 ${e} 失败`,e),this.name=`SharedConfigLoadError`,this.cause=t}},Au=class extends Ou{searchFrom;constructor(e){super(`未在 ${e} 及其上级目录中找到 lzi.config.ts 配置文件`,e),this.name=`SharedConfigNotFoundError`,this.searchFrom=e}};const ju=[`packages/*`,`apps/*`];function Mu(e){let r=s(e,`package.json`);if(!t(r))throw new Au(e);let i;try{i=JSON.parse(n(r,`utf8`)).workspaces}catch(e){throw new ku(r,e)}let a=Array.isArray(i)?i:i?.packages;return a&&a.length>0?a:ju}async function Nu(e,r={}){let i=Mu(e),a=/* @__PURE__ */ new Set,o=[];for(let c of i){let i=new Bun.Glob(`${c}/package.json`);for await(let c of i.scan({cwd:e,absolute:!0,onlyFiles:!0})){let e=s(c,`..`);if(a.has(e))continue;let i;try{i=JSON.parse(n(c,`utf8`))}catch{continue}typeof i.name==`string`&&i.name.length!==0&&(r.configFileName!==void 0&&!t(s(e,r.configFileName))||(a.add(e),o.push({name:i.name,dir:e})))}}return o}function Pu(e=process.cwd()){let n=s(e);for(;;){let e=o(n,`lzi.config.ts`);if(t(e))return e;let r=a(n);if(r===n)return null;n=r}}async function Fu(e={}){let t=e.cwd??process.cwd(),n=Pu(t);if(n===null)throw new Au(t);let r=s(n,`..`);try{return{config:(await import(n)).default,configPath:r,configFilePath:n}}catch(e){throw new ku(n,e)}}function Iu(e,n=process.cwd()){let r=Array.isArray(e)?e:[e],i=s(n);for(;;){for(let e of r){let n=o(i,e);if(t(n))return n}let e=a(i);if(e===i)return null;i=e}}async function Lu(e={}){let t=e.cwd??s(process.cwd());if(e.standaloneFile){let n=Iu(e.standaloneFile,t);if(n)try{let e=await import(n);return{success:!0,config:e.default??e,source:`standalone`,configFilePath:n}}catch(e){throw new ku(n,e)}}if(e.unifiedField)try{let{config:n,configFilePath:r}=await Fu({cwd:t}),i=n?.[e.unifiedField];if(i!==void 0)return{success:!0,config:i,source:`unified`,configFilePath:r}}catch{}return{success:!1,configFilePath:null}}var Ru=class extends Error{bunfigPath;reason;constructor(e,t){super(`${e} 校验失败:${t};请运行 bun run bun-config:generate 后重试`),this.name=`BunfigDriftError`,this.bunfigPath=e,this.reason=t}},zu=class extends Error{bunfigPath;constructor(e){super(`${e} 已存在且非 lzi-bun-cli 生成(缺少 @lzi-bun-cli 自动生成,请勿编辑 标记),如需 lzi-bun-cli 接管,请删除该文件或手动合并后重试`),this.name=`BunfigProtectedError`,this.bunfigPath=e}};function Bu(e){return`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`}function Vu(e,t){let n=e.map(e=>Bu(e)),r=`[${n.join(`, `)}]`;return`${t} = `.length+r.length<=100?r:`[\n${n.map(e=>` ${e},`).join(`
185
+ `)}\n]`}function Hu(e){let t=[];return e.lines!==void 0&&t.push(`lines = ${e.lines}`),e.functions!==void 0&&t.push(`functions = ${e.functions}`),e.statements!==void 0&&t.push(`statements = ${e.statements}`),`{ ${t.join(`, `)} }`}function Uu(e){let t=[`registry = ${Bu(e.registry)}`],n=Gu(`linker`,e.linker);n&&t.push(n);let r=Gu(`globalStore`,e.globalStore);r&&t.push(r);let i=Object.entries(e.scopes).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${Bu(`@${e}`)} = ${Bu(t)}`),a=[`[install]\n${t.join(`
186
186
  `)}`];return i.length>0&&a.push(`[install.scopes]\n${i.join(`
187
187
  `)}`),a.join(`
188
188
 
189
- `)}function Hu(e,t){return{registry:`https://mirrors.cloud.tencent.com/npm/`,scopes:Tu(t,e?.extraScopes,e?.privateScopes),linker:e?.linker,globalStore:e?.globalStore}}function Uu(e,t){if(t!==void 0){if(typeof t==`boolean`||typeof t==`number`)return`${e} = ${t}`;if(typeof t==`string`)return`${e} = ${Ru(t)}`;if(Array.isArray(t))return t.length===0?void 0:`${e} = ${zu(t,e)}`}}function Wu(e){let t=[];e.install&&t.push(Vu(e.install));let n=e.test,r=[],i=Uu(`preload`,n.preload);i&&r.push(i);let a=Uu(`coverage`,n.coverage);a&&r.push(a);let o=Uu(`coverageSkipTestFiles`,n.coverageSkipTestFiles);o&&r.push(o);let s=Uu(`coverageReporter`,n.coverageReporter);s&&r.push(s);let c=Uu(`coverageDir`,n.coverageDir);c&&r.push(c);let l=Uu(`coveragePathIgnorePatterns`,n.coveragePathIgnorePatterns);l&&r.push(l),n.coverageThreshold!==void 0&&(typeof n.coverageThreshold==`number`?r.push(`coverageThreshold = ${n.coverageThreshold}`):r.push(`coverageThreshold = ${Bu(n.coverageThreshold)}`));let u=Uu(`coverageIgnoreSourcemaps`,n.coverageIgnoreSourcemaps);u&&r.push(u);let d=Uu(`timeout`,n.timeout);return d&&r.push(d),r.length>0&&t.push(`[test]\n${r.join(`
189
+ `)}function Wu(e,t,n){return{registry:`https://mirrors.cloud.tencent.com/npm/`,scopes:Eu(t,e?.extraScopes,e?.privateScopes,n),linker:e?.linker,globalStore:e?.globalStore}}function Gu(e,t){if(t!==void 0){if(typeof t==`boolean`||typeof t==`number`)return`${e} = ${t}`;if(typeof t==`string`)return`${e} = ${Bu(t)}`;if(Array.isArray(t))return t.length===0?void 0:`${e} = ${Vu(t,e)}`}}function Ku(e){let t=[];e.install&&t.push(Uu(e.install));let n=e.test,r=[],i=Gu(`preload`,n.preload);i&&r.push(i);let a=Gu(`coverage`,n.coverage);a&&r.push(a);let o=Gu(`coverageSkipTestFiles`,n.coverageSkipTestFiles);o&&r.push(o);let s=Gu(`coverageReporter`,n.coverageReporter);s&&r.push(s);let c=Gu(`coverageDir`,n.coverageDir);c&&r.push(c);let l=Gu(`coveragePathIgnorePatterns`,n.coveragePathIgnorePatterns);l&&r.push(l),n.coverageThreshold!==void 0&&(typeof n.coverageThreshold==`number`?r.push(`coverageThreshold = ${n.coverageThreshold}`):r.push(`coverageThreshold = ${Hu(n.coverageThreshold)}`));let u=Gu(`coverageIgnoreSourcemaps`,n.coverageIgnoreSourcemaps);u&&r.push(u);let d=Gu(`timeout`,n.timeout);return d&&r.push(d),r.length>0&&t.push(`[test]\n${r.join(`
190
190
  `)}`),`# @lzi-bun-cli 自动生成,请勿编辑\n${t.join(`
191
191
 
192
- `)}\n`}function Gu(e,t={}){let n=t.isRoot===!0,r=e?.test,i=r?r.coverage!==void 0||r.coverageThreshold!==void 0||r.coveragePathIgnorePatterns!==void 0||r.coverageReporter!==void 0||r.coverageSkipTestFiles!==void 0||r.coverageDir!==void 0||r.preload!==void 0||r.timeout!==void 0:!1;if(!n&&!i)return null;let a={test:r??{}};if(n){if(t.installScopesPreset===void 0)throw Error(`root bunfig 生成需要 globals 仓 install scopes 预设(LZI_GLOBALS_ROOT 定位 longzai-intelligence-globals → lzi-bun-install.config.ts),调用方应先解析并加载`);a.install=Hu(e?.install,t.installScopesPreset)}return{content:Wu(a),shouldWrite:!0}}function Ku(e){return e.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `)}function qu(...e){process.stdout.write(`${Ku(e)}\n`)}function Ju(...e){process.stderr.write(`${Ku(e)}\n`)}const Yu=async(e=process.cwd())=>{let t=await Iu({cwd:e,standaloneFile:`lzi-bun.config.ts`,unifiedField:`bun`});return t.success?t.config:(qu(`提示: 未找到配置文件 lzi-bun.config.ts,使用默认配置`),{})};var Xu=class extends Error{constructor(e){super(e),this.name=`GlobalsUnresolvedError`}};const Zu=e=>`已配置的 globals 定位未能命中(longzai-intelligence-globals),已尝试:\n ${e.join(`
193
- `)}\n请修正 ${bu} / --globals 的路径,或移除该配置以回落包内预设(LZI_SCOPES)`,Qu=e=>{try{return r(e).isDirectory()}catch{return!1}},$u=(e={})=>{let t=process.env[bu],n=[...t!==void 0&&t!==``?[{source:`env`,path:s(t)}]:[],...e.explicitPath===void 0?[]:[{source:`explicit`,path:s(e.explicitPath)}]],r=[];for(let e of n)if(r.push(`${e.source}: ${e.path}`),Qu(e.path))return{ok:!0,resolution:{globalsRoot:e.path,source:e.source}};return{ok:!1,failure:{attempted:r}}},ed=RegExp(`^${bu}=.*$`,`m`),td=`${bu}=/absolute/path/to/longzai-intelligence-globals`,nd=(e,r)=>{let a=o(e,`.env`),s=`${bu}=${r}`;if(t(a)){let e=n(a,`utf8`);if(ed.test(e)){let t=e.replace(ed,s);t!==e&&i(a,t,`utf8`)}else{let t=e.endsWith(`
194
- `)||e.length===0?e:`${e}\n`;i(a,`${t}${s}\n`,`utf8`)}}else i(a,`${s}\n`,`utf8`);let c=o(e,`.env.example`);if(t(c)){let e=n(c,`utf8`);if(!e.includes(`${bu}=`)){let t=e.endsWith(`
195
- `)||e.length===0?e:`${e}\n`;i(c,`${t}${td}\n`,`utf8`)}}else i(c,`${td}\n`,`utf8`)},rd=e=>typeof e==`object`&&e&&`default`in e?e.default:void 0,id=async e=>{let t=o(e,`lzi-bun-install.config.ts`);return Eu(rd(await import(t)))},ad=async(e={})=>{let t=$u({explicitPath:e.explicitPath});if(t.ok)return{presetScopes:await id(t.resolution.globalsRoot),source:`globals`};if(t.failure.attempted.length===0)return{presetScopes:Object.fromEntries(yu),source:`preset`};throw new Xu(Zu(t.failure.attempted))},od=e=>typeof e==`object`&&!!e&&!Array.isArray(e),sd=e=>Array.isArray(e)||typeof e==`object`&&!!e&&`packages`in e,cd=e=>{let r=o(e,`package.json`);if(!t(r))return`missing-package-json`;let i;try{i=JSON.parse(n(r,`utf8`))}catch{return`not-root`}return od(i)&&sd(i.workspaces)?`root`:`not-root`},ld=e=>cd(e)===`root`,ud=(e,t)=>{let r=o(e,`package.json`);try{let e=JSON.parse(n(r,`utf8`));if(od(e)){let t=e.name;if(typeof t==`string`&&t!==``)return t}}catch{}return t},dd=[`src/**/*.test.ts`,`src/**/*.test.tsx`,`__tests__/**/*.test.ts`];function fd(e){let t=[`bun`,`test`];return e.watch===!0&&t.push(`--watch`),e.coverage===!0&&t.push(`--coverage`),e.extra&&e.extra.length>0&&t.push(...e.extra),t}async function pd(e){let t=/* @__PURE__ */ new Set;for(let n of e){let e=new Bun.Glob(n);for await(let n of e.scan({cwd:process.cwd(),onlyFiles:!0}))t.add(n)}return t.size}const md=async(e,r={})=>{let a=r.dir??process.cwd(),s=o(a,`bunfig.toml`),c=ld(a),l;c&&(l=(await ad({explicitPath:r.globalsPath})).presetScopes);let u=Gu(e,{isRoot:c,installScopesPreset:l});if(!u?.shouldWrite)return r.dryRun&&qu(`(无 coverage 配置,不会生成 bunfig.toml)`),{status:`skipped`,bunfigPath:s};if(r.dryRun)return qu(`[dry-run] 将写入 ${s}:`),qu(u.content),{status:`generated`,bunfigPath:s};if(t(s)&&!n(s,`utf8`).includes(`@lzi-bun-cli 自动生成,请勿编辑`))throw new Lu(s);return i(s,u.content,`utf8`),qu(`已生成 ${s}(lzi-bun-cli 接管覆盖率配置)`),{status:`generated`,bunfigPath:s}},hd=async e=>{let t=await Yu(),n=t.test?.passWithNoTests??!0;await pd(t.test?.include??dd)===0&&(n&&(qu(`无测试文件,跳过(type-only / facade 包,passWithNoTests)`),process.exit(0)),Ju(`错误: 未找到测试文件,且 test.passWithNoTests 为 false`),Ju(`(如该包确为 type-only / facade 包,请在 lzi-dev.config.ts 设置 test.passWithNoTests: true)`),process.exit(1));try{await md(t)}catch(e){throw(e instanceof Lu||e instanceof Su||e instanceof Xu)&&(Ju(`错误: ${e.message}`),process.exit(1)),e}let r=fd(e),i=await Bun.spawn(r,{cwd:process.cwd(),stdout:`inherit`,stderr:`inherit`}).exited;i!==0&&process.exit(i)},gd=async(e,t)=>{let n=await Yu();try{await md(n,{dryRun:e,globalsPath:t})}catch(e){throw(e instanceof Lu||e instanceof Su||e instanceof Xu)&&(Ju(`错误: ${e.message}`),process.exit(1)),e}},_d=e=>{let t=cd(e);t===`missing-package-json`&&(Ju(`错误: 当前目录 ${e} 无 package.json,--recursive 须在 monorepo root 执行`),process.exit(1)),t!==`root`&&(Ju(`错误: ${e} 的 package.json 未声明 workspaces 字段,--recursive 须在 monorepo root 执行`),process.exit(1))},vd=async(e,t)=>{let n=process.cwd();_d(n);let r=await Mu(n,{configFileName:`lzi-bun.config.ts`}),i=[{name:ud(n,n.split(`/`).pop()??`root`),dir:n}];i.push(...r.map(e=>({name:e.name,dir:e.dir}))),qu(`发现 ${i.length} 个目标(root 1 + 子包 ${r.length}),开始${e?`预览`:`生成`}...`);let a=[];for(let n of i){qu(`▶ ${n.name}`);try{let r=await Yu(n.dir),{status:i}=await md(r,{dryRun:e,dir:n.dir,globalsPath:t});a.push({name:n.name,dir:n.dir,status:i})}catch(e){a.push({name:n.name,dir:n.dir,status:`failed`,reason:e instanceof Error?e.message:String(e)})}}let o=a.filter(e=>e.status===`generated`),s=a.filter(e=>e.status===`skipped`),c=a.filter(e=>e.status===`failed`);if(qu(``),qu(`汇总:${o.length} 生成 / ${s.length} 跳过 / ${c.length} 失败`),c.length>0){Ju(``),Ju(`失败子包:`);for(let e of c)Ju(` - ${e.name}:${e.reason}`);process.exitCode=1}},yd=async e=>{let t=e.dryRun===!0;if(e.globalsPath!==void 0){let t=$u({explicitPath:e.globalsPath});t.ok||(Ju(`错误: ${Zu(t.failure.attempted)}`),process.exit(1));let{globalsRoot:n,source:r}=t.resolution;nd(process.cwd(),n),qu(`已定位 globals 仓(${r})并固化到 .env:${n}`)}if(e.recursive===!0){await vd(t,e.globalsPath);return}await gd(t,e.globalsPath)};function bd(e){xd(e),Sd(e)}function xd(e){tl(e,{name:`test`,description:`运行 bun 测试(替代三件套,零测试包默认放行)`,options:[{flags:`--watch`,description:`监听模式(对应 test:watch)`},{flags:`--coverage`,description:`覆盖率(对应 test:coverage)`}],schema:fc({watch:ic().optional(),coverage:ic().optional()}),action:async(e,t)=>{await hd({watch:e.watch===!0,coverage:e.coverage===!0,extra:t})}})}function Sd(e){tl(e,{name:`config generate`,description:`生成 bunfig.toml(不执行测试,支持 --dry-run 预览、-r 批量、--globals 定位)`,options:[{flags:`--dry-run`,description:`仅预览将写入的内容,不写盘`},{flags:`-r, --recursive`,description:`递归处理 monorepo 下含 lzi-bun.config.ts 的子包`},{flags:`--globals <path>`,description:`一次性 bootstrap 定位 globals 仓(命中后固化 .env,此后零参数)`}],schema:fc({dryRun:ic().optional(),recursive:ic().optional(),globals:Ns().optional()}),action:async e=>{await yd({dryRun:e.dryRun===!0,recursive:e.recursive===!0,globalsPath:e.globals})}})}const Cd=Zc({name:`lzi-bun-cli`,description:`Longzai Intelligence bun 工具集`,interaction:vu,color:_u});bd(Cd);async function wd(){await Cd.parseAsync(process.argv)}wd().catch(e=>{process.stderr.write(`错误: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)});export{};
192
+ `)}\n`}function qu(e,t={}){let n=t.isRoot===!0,r=e?.test,i=r?r.coverage!==void 0||r.coverageThreshold!==void 0||r.coveragePathIgnorePatterns!==void 0||r.coverageReporter!==void 0||r.coverageSkipTestFiles!==void 0||r.coverageDir!==void 0||r.preload!==void 0||r.timeout!==void 0:!1;if(!n&&!i)return null;let a={test:r??{}};if(n){if(t.installScopesPreset===void 0)throw Error(`root bunfig 生成需要 globals 仓 install scopes 预设(LZI_GLOBALS_ROOT 定位 longzai-intelligence-globals → lzi-bun-install.config.ts),调用方应先解析并加载`);a.install=Wu(e?.install,t.installScopesPreset,t.selfScope)}return{content:Ku(a),shouldWrite:!0}}function Ju(e){return e.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}).join(` `)}function $(...e){process.stdout.write(`${Ju(e)}\n`)}function Yu(...e){process.stderr.write(`${Ju(e)}\n`)}const Xu=async(e=process.cwd())=>{let t=await Lu({cwd:e,standaloneFile:`lzi-bun.config.ts`,unifiedField:`bun`});return t.success?t.config:($(`提示: 未找到配置文件 lzi-bun.config.ts,使用默认配置`),{})};var Zu=class extends Error{constructor(e){super(e),this.name=`GlobalsUnresolvedError`}};const Qu=e=>`已配置的 globals 定位未能命中(longzai-intelligence-globals),已尝试:\n ${e.join(`
193
+ `)}\n请修正 ${xu} / --globals 的路径,或移除该配置以回落包内预设(LZI_SCOPES)`,$u=e=>{try{return r(e).isDirectory()}catch{return!1}},ed=(e={})=>{let t=process.env[xu],n=[...t!==void 0&&t!==``?[{source:`env`,path:s(t)}]:[],...e.explicitPath===void 0?[]:[{source:`explicit`,path:s(e.explicitPath)}]],r=[];for(let e of n)if(r.push(`${e.source}: ${e.path}`),$u(e.path))return{ok:!0,resolution:{globalsRoot:e.path,source:e.source}};return{ok:!1,failure:{attempted:r}}},td=RegExp(`^${xu}=.*$`,`m`),nd=`${xu}=/absolute/path/to/longzai-intelligence-globals`,rd=(e,r)=>{let a=o(e,`.env`),s=`${xu}=${r}`;if(t(a)){let e=n(a,`utf8`);if(td.test(e)){let t=e.replace(td,s);t!==e&&i(a,t,`utf8`)}else{let t=e.endsWith(`
194
+ `)||e.length===0?e:`${e}\n`;i(a,`${t}${s}\n`,`utf8`)}}else i(a,`${s}\n`,`utf8`);let c=o(e,`.env.example`);if(t(c)){let e=n(c,`utf8`);if(!e.includes(`${xu}=`)){let t=e.endsWith(`
195
+ `)||e.length===0?e:`${e}\n`;i(c,`${t}${nd}\n`,`utf8`)}}else i(c,`${nd}\n`,`utf8`)},id=e=>typeof e==`object`&&e&&`default`in e?e.default:void 0,ad=async e=>{let t=o(e,`lzi-bun-install.config.ts`);return Du(id(await import(t)))},od=async(e={})=>{let t=ed({explicitPath:e.explicitPath});if(t.ok)return{presetScopes:await ad(t.resolution.globalsRoot),source:`globals`};if(t.failure.attempted.length===0)return{presetScopes:Object.fromEntries(bu),source:`preset`};throw new Zu(Qu(t.failure.attempted))},sd=e=>typeof e==`object`&&!!e&&!Array.isArray(e),cd=e=>Array.isArray(e)||typeof e==`object`&&!!e&&`packages`in e,ld=e=>{let r=o(e,`package.json`);if(!t(r))return`missing-package-json`;let i;try{i=JSON.parse(n(r,`utf8`))}catch{return`not-root`}return sd(i)&&cd(i.workspaces)?`root`:`not-root`},ud=e=>ld(e)===`root`,dd=(e,t)=>{let r=o(e,`package.json`);try{let e=JSON.parse(n(r,`utf8`));if(sd(e)){let t=e.name;if(typeof t==`string`&&t!==``)return t}}catch{}return t},fd=e=>{let t=e.indexOf(`/`);if(!(!e.startsWith(`@`)||t<=1))return e.slice(1,t)},pd=[`src/**/*.test.ts`,`src/**/*.test.tsx`,`__tests__/**/*.test.ts`];function md(e){let t=[`bun`,`test`];return e.watch===!0&&t.push(`--watch`),e.coverage===!0&&t.push(`--coverage`),e.extra&&e.extra.length>0&&t.push(...e.extra),t}async function hd(e){let t=/* @__PURE__ */ new Set;for(let n of e){let e=new Bun.Glob(n);for await(let n of e.scan({cwd:process.cwd(),onlyFiles:!0}))t.add(n)}return t.size}const gd=(e,t,n)=>{let r=e.split(`
196
+ `),i=t.split(`
197
+ `),a=0;for(;a<r.length&&a<i.length&&r[a]===i[a];)a++;let o=`第 ${a+1} 行不一致(磁盘 \`${r[a]??`<缺行>`}\` ≠ 预期 \`${i[a]??`<缺行>`}\`)`,s=n===void 0?void 0:`"@${n}" = `;return s!==void 0&&t.includes(s)&&!e.includes(s)?`${o},且本仓 scope @${n} 行在磁盘文件中缺位——bun publish 的 scope 映射优先级会使公网轨发布回退默认镜像源并以 missing authentication 失败(issue 0008)`:o},_d=async(e,r={})=>{let a=r.dir??process.cwd(),s=o(a,`bunfig.toml`),c=ud(a),l;c&&(l=(await od({explicitPath:r.globalsPath})).presetScopes);let u=c?fd(dd(a,``)):void 0,d=qu(e,{isRoot:c,installScopesPreset:l,selfScope:u});if(!d?.shouldWrite){if(r.dryRun&&$(`(无 coverage 配置,不会生成 bunfig.toml)`),r.check===!0&&t(s))throw new Ru(s,`该包无 coverage 配置,生成器判定不应存在 bunfig.toml(多余文件),请删除该文件`);return{status:`skipped`,bunfigPath:s}}if(r.dryRun)return $(`[dry-run] 将写入 ${s}:`),$(d.content),{status:`generated`,bunfigPath:s};if(r.check===!0){if(!t(s))throw new Ru(s,u===void 0?`bunfig.toml 不存在(生成器预期应存在)`:`bunfig.toml 不存在,本仓 scope @${u} 未注入 [install.scopes]——bun publish 的 scope 映射优先级会使公网轨发布回退默认镜像源并以 missing authentication 失败(issue 0008)`);let e=n(s,`utf8`);if(!e.includes(`@lzi-bun-cli 自动生成,请勿编辑`))throw new Ru(s,`bunfig.toml 为手写文件(无生成标记),不受 lzi-bun-cli 管理;如需接管请确认内容后删除该文件重新生成`);if(e!==d.content)throw new Ru(s,gd(e,d.content,u));return $(`校验通过 ${s}(与生成器预期一致)`),{status:`checked`,bunfigPath:s}}if(t(s)&&!n(s,`utf8`).includes(`@lzi-bun-cli 自动生成,请勿编辑`))throw new zu(s);return i(s,d.content,`utf8`),$(`已生成 ${s}(lzi-bun-cli 接管覆盖率配置)`),{status:`generated`,bunfigPath:s}},vd=async e=>{let t=await Xu(),n=t.test?.passWithNoTests??!0;await hd(t.test?.include??pd)===0&&(n&&($(`无测试文件,跳过(type-only / facade 包,passWithNoTests)`),process.exit(0)),Yu(`错误: 未找到测试文件,且 test.passWithNoTests 为 false`),Yu(`(如该包确为 type-only / facade 包,请在 lzi-dev.config.ts 设置 test.passWithNoTests: true)`),process.exit(1));try{await _d(t)}catch(e){throw(e instanceof zu||e instanceof Cu||e instanceof Zu)&&(Yu(`错误: ${e.message}`),process.exit(1)),e}let r=md(e),i=await Bun.spawn(r,{cwd:process.cwd(),stdout:`inherit`,stderr:`inherit`}).exited;i!==0&&process.exit(i)},yd=async(e,t,n)=>{let r=await Xu();try{await _d(r,{dryRun:e,globalsPath:t,check:n})}catch(e){throw(e instanceof zu||e instanceof Ru||e instanceof Cu||e instanceof Zu)&&(Yu(`错误: ${e.message}`),process.exit(1)),e}},bd=e=>{let t=ld(e);t===`missing-package-json`&&(Yu(`错误: 当前目录 ${e} 无 package.json,--recursive 须在 monorepo root 执行`),process.exit(1)),t!==`root`&&(Yu(`错误: ${e} 的 package.json 未声明 workspaces 字段,--recursive 须在 monorepo root 执行`),process.exit(1))},xd=async(e,t,n)=>{let r=process.cwd();bd(r);let i=await Nu(r,{configFileName:`lzi-bun.config.ts`}),a=[{name:dd(r,r.split(`/`).pop()??`root`),dir:r}];a.push(...i.map(e=>({name:e.name,dir:e.dir})));let o=n===!0?`校验`:e?`预览`:`生成`;$(`发现 ${a.length} 个目标(root 1 + 子包 ${i.length}),开始${o}...`);let s=[];for(let r of a){$(`▶ ${r.name}`);try{let i=await Xu(r.dir),{status:a}=await _d(i,{dryRun:e,check:n,dir:r.dir,globalsPath:t});s.push({name:r.name,dir:r.dir,status:a})}catch(e){s.push({name:r.name,dir:r.dir,status:`failed`,reason:e instanceof Error?e.message:String(e)})}}let c=s.filter(e=>e.status===`generated`),l=s.filter(e=>e.status===`checked`),u=s.filter(e=>e.status===`skipped`),d=s.filter(e=>e.status===`failed`);if($(``),$(`汇总:${c.length} 生成 / ${l.length} 一致 / ${u.length} 跳过 / ${d.length} 失败`),d.length>0){Yu(``),Yu(`失败子包:`);for(let e of d)Yu(` - ${e.name}:${e.reason}`);process.exitCode=1}},Sd=async e=>{let t=e.dryRun===!0,n=e.check===!0;if(t&&n&&(Yu(`错误: --dry-run 与 --check 互斥(预览与校验是两种只读形态,请二选一)`),process.exit(1)),e.globalsPath!==void 0){let t=ed({explicitPath:e.globalsPath});t.ok||(Yu(`错误: ${Qu(t.failure.attempted)}`),process.exit(1));let{globalsRoot:n,source:r}=t.resolution;rd(process.cwd(),n),$(`已定位 globals 仓(${r})并固化到 .env:${n}`)}if(e.recursive===!0){await xd(t,e.globalsPath,n);return}await yd(t,e.globalsPath,n)};function Cd(e){wd(e),Td(e)}function wd(e){tl(e,{name:`test`,description:`运行 bun 测试(替代三件套,零测试包默认放行)`,options:[{flags:`--watch`,description:`监听模式(对应 test:watch)`},{flags:`--coverage`,description:`覆盖率(对应 test:coverage)`}],schema:fc({watch:ic().optional(),coverage:ic().optional()}),action:async(e,t)=>{await vd({watch:e.watch===!0,coverage:e.coverage===!0,extra:t})}})}function Td(e){tl(e,{name:`config generate`,description:`生成 bunfig.toml(不执行测试,支持 --dry-run 预览、--check 校验、-r 批量、--globals 定位)`,options:[{flags:`--dry-run`,description:`仅预览将写入的内容,不写盘`},{flags:`--check`,description:`仅校验磁盘 bunfig.toml 与生成器预期是否一致(漂移即报错退出,不写盘)`},{flags:`-r, --recursive`,description:`递归处理 monorepo 下含 lzi-bun.config.ts 的子包`},{flags:`--globals <path>`,description:`一次性 bootstrap 定位 globals 仓(命中后固化 .env,此后零参数)`}],schema:fc({dryRun:ic().optional(),check:ic().optional(),recursive:ic().optional(),globals:Ns().optional()}),action:async e=>{await Sd({dryRun:e.dryRun===!0,check:e.check===!0,recursive:e.recursive===!0,globalsPath:e.globals})}})}const Ed=Zc({name:`lzi-bun-cli`,description:`Longzai Intelligence bun 工具集`,interaction:yu,color:vu});Cd(Ed);async function Dd(){await Ed.parseAsync(process.argv)}Dd().catch(e=>{process.stderr.write(`错误: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)});export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@longzai-intelligence-bun/cli",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "description": "Longzai Intelligence bun 工具集 CLI",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -33,7 +33,7 @@
33
33
  "test:coverage": "bun test --coverage"
34
34
  },
35
35
  "dependencies": {
36
- "@longzai-intelligence-bun/config": "0.0.25",
36
+ "@longzai-intelligence-bun/config": "0.0.26",
37
37
  "@longzai-intelligence-cli/core": "^0.0.10",
38
38
  "@longzai-intelligence-cli/standard": "^0.0.10",
39
39
  "@longzai-intelligence-shared-config/core": "^0.0.7",