bailian-cli-runtime 1.12.0 → 1.13.0
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.
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -46,7 +46,7 @@ ${kt()}\nRun: ${R} auth status — to check credentials.`,{cause:t}),R);if(t ins
|
|
|
46
46
|
`),e.forEach((e,n)=>{process.stderr.write(`${t.dim(String(n+1))} ${e}\n`)}),process.stderr.write(`
|
|
47
47
|
`)}function Vt(e){return N(_(),`plugins`,e.npmPackage)}function Ht(e){return N(Vt(e),`package.json`)}function Ut(e,t){return N(Vt(e),`node_modules`,...t.split(`/`))}async function Wt(t){try{return JSON.parse(await ve(t,`utf8`))}catch(n){throw new e(`Could not parse JSON file: ${t}`,i.GENERAL,`Repair or remove the invalid file and try again.`,{cause:n})}}async function Gt(e){let t=Ht(e);return me(t)?Wt(t):{dependencies:{}}}async function Kt(e,t){return qt(Ut(e,t))}async function qt(e){return Wt(N(e,`package.json`))}const Jt=new Set([`none`,`apiKey`,`console`,`openapi`]),Yt=/^[a-z0-9][a-z0-9-]*$/;function Xt(e,n,r){if(n.name!==e)throw Error(`Package name mismatch: expected "${e}", received "${n.name??``}".`);let i=n.bailianCli;if(!i||i.type!==`command-pack`)throw Error(`Package "${e}" is missing bailianCli.type="command-pack".`);if(i.apiVersion!==t)throw Error(`Command Pack API ${i.apiVersion} is not supported; this CLI supports API ${t}.`);if(i.minCliVersion&&nt(r.version,i.minCliVersion)<0)throw Error(`Command Pack requires ${r.npmPackage} ${i.minCliVersion} or newer; current version is ${r.version}.`);if(!i.entry||Ce(i.entry))throw Error(`Command Pack "${e}" must declare a relative bailianCli.entry.`);return i}function Zt(e,t){let n=e.split(/\s+/).filter(Boolean).join(` `);if(!e||e!==n||!e.split(` `).every(e=>Yt.test(e)))throw Error(`Invalid command path "${e}".`);if(!t.commandPrefixes.some(t=>e===t||e.startsWith(`${t} `)))throw Error(`Command "${e}" is outside the allowed prefixes: ${t.commandPrefixes.join(`, `)}.`)}function Qt(e,t){if(!t||typeof t!=`object`)throw Error(`Command "${e}" must export an object.`);let n=t;if(!n.description||typeof n.description!=`string`)throw Error(`Command "${e}" is missing a description.`);if(!n.auth||!Jt.has(n.auth))throw Error(`Command "${e}" has an invalid auth requirement.`);if(typeof n.run!=`function`)throw Error(`Command "${e}" is missing run(ctx).`)}function $t(t,n,r){return Object.fromEntries(Object.entries(n).map(([n,a])=>[n,{description:a.description,auth:a.auth,usageArgs:a.usageArgs,exampleArgs:a.exampleArgs,notes:a.notes,flags:a.flags,validate:a.validate,run:o=>{let s={identity:o.identity,settings:o.settings,flags:o.flags,client:o.client,output:{result(e,t){let n=o.settings.output===`text`&&t?.text!==void 0?t.text:g(e,o.settings.output);process.stdout.write(`${n}\n`)},line(e){process.stdout.write(`${e}\n`)},write(e){process.stdout.write(e)}},errors:{general(t,n){return new e(t,i.GENERAL,n?.hint,{cause:n?.cause})},usage(e,t){return new c(e,t)},timeout(t=`Request timed out.`,n){return new e(t,i.TIMEOUT,n?.hint,{cause:n?.cause})}},credentials:{apiKey(){if(!r.credentialAccess?.includes(`apiKey`))throw new e(`Command Pack "${t}" is not allowed to access API-key credentials.`,i.GENERAL);if(a.auth!==`apiKey`)throw new e(`Command "${n}" must declare auth="apiKey" before accessing API-key credentials.`,i.GENERAL);let s=o.authStore.describe().apiKey;if(!s)throw new e(`No API key available to the Command Pack.`,i.AUTH);return s}}};return a.run(s)}}]))}async function en(e,t,n,r,i=Ut(r,e)){let a=Xt(e,t,r),o=await ye(i),s=await ye(Te(o,a.entry)),c=we(o,s);if(!c||c.startsWith(`..`)||Ce(c))throw Error(`Command Pack entry must stay inside the package root: ${a.entry}`);let l=(await import(Ee(s).href)).default;if(!l||typeof l!=`object`||Array.isArray(l))throw Error(`Command Pack "${e}" must default-export a command map.`);let u=Object.entries(l);if(u.length===0)throw Error(`Command Pack "${e}" does not export any commands.`);for(let[e,t]of u)Zt(e,n),Qt(e,t);let d=$t(e,l,n);return new We(d,r.binName),d}function tn(e){return e.startsWith(`file:`)?`linked`:`installed`}async function nn(e,t,n){let r={...e},i=[],a;try{a=await Gt(t)}catch(e){return{commands:r,reports:[{name:`(plugin sandbox)`,source:`installed`,status:`failed`,commands:[],error:e instanceof Error?e.message:String(e)}]}}for(let[e,o]of Object.entries(a.dependencies??{}).sort(([e],[t])=>e.localeCompare(t))){let a=tn(o),s=n.supported[e];if(!s){i.push({name:e,source:a,status:`failed`,commands:[],error:`Command Pack "${e}" is not supported by ${t.binName}.`});continue}try{let n=await Kt(t,e),o=await en(e,n,s,t),c=Object.keys(o).filter(e=>e in r);if(c.length>0)throw Error(`Command conflicts: ${c.join(`, `)}.`);Object.assign(r,o),i.push({name:e,version:n.version,source:a,status:`loaded`,commands:Object.keys(o).sort()})}catch(t){i.push({name:e,source:a,status:`failed`,commands:[],error:t instanceof Error?t.message:String(t)})}}return{commands:r,reports:i}}const rn={name:`bailian-cli-command-packs`,private:!0,dependencies:{}},an=new Set(`PATH.HOME.USER.LOGNAME.SHELL.TMPDIR.TEMP.TMP.LANG.TERM.NODE.NODE_PATH.NODE_OPTIONS.FORCE_COLOR.NO_COLOR.NPM_TOKEN.NODE_AUTH_TOKEN.HTTP_PROXY.HTTPS_PROXY.NO_PROXY.http_proxy.https_proxy.no_proxy.SystemRoot.ComSpec.APPDATA.PATHEXT`.split(`.`)),on=new Set([`registry`,`userconfig`,`globalconfig`,`cache`,`proxy`,`https_proxy`,`noproxy`,`strict_ssl`,`ca`,`cafile`]);function sn(e){let t=/^(?:npm_config_|NPM_CONFIG_)(.+)$/.exec(e);return!!t&&on.has(t[1].toLowerCase())}function cn(e,t){let n=Object.keys(t.supported);return n.length>0?`Allowed packages: ${n.join(`, `)}`:`${e.binName} does not currently support any Command Packs.`}function ln(e=process.env){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(an.has(n)||n.startsWith(`LC_`)||sn(n))&&(t[n]=r);return t}async function un(e){await ge(e,{recursive:!0,mode:448});let t=N(e,`package.json`);me(t)||await Se(t,`${JSON.stringify(rn,null,2)}\n`,{mode:384})}async function dn(t,n){await new Promise((r,a)=>{let o=De(`npm`,t,{cwd:n,env:ln(),stdio:[`inherit`,`pipe`,`pipe`]});o.stdout.on(`data`,e=>process.stderr.write(e)),o.stderr.on(`data`,e=>process.stderr.write(e)),o.once(`error`,a),o.once(`close`,(n,o)=>{if(n===0){r();return}a(new e(`npm ${t[0]} failed${o?` with signal ${o}`:` with exit code ${n}`}.`,i.GENERAL))})})}async function fn(t){let n=Vt(t);await un(n);let r=N(n,`.lock`);for(let t=0;t<2;t++)try{let e=await _e(r,`wx`,384);return await e.writeFile(`${process.pid} ${Date.now()}\n`),await e.close(),async()=>{try{await xe(r)}catch{}}}catch(t){if(t.code!==`EEXIST`)throw t;try{let e=await be(r);if(Date.now()-e.mtimeMs>6e5){await xe(r);continue}}catch{continue}throw new e(`Another Command Pack install, link, or remove operation is already running.`,i.GENERAL,`Wait for it to finish and try again.`)}throw new e(`Could not acquire the Command Pack operation lock.`,i.GENERAL)}async function pn(e,t){let n=await fn(e);try{return await t()}finally{await n()}}function mn(t,n,r){let a=t.trim(),o=/^(@[^/\s]+\/[^@/\s]+)(?:@([a-zA-Z0-9][a-zA-Z0-9._-]*))?$/.exec(a);if(!o)throw new e(`Unsupported Command Pack package spec: "${t}".`,i.USAGE,`Use an allowlisted scoped package name with an optional version or tag.`);let s=o[1];if(!r.supported[s])throw new e(`Command Pack "${s}" is not allowlisted for ${n.binName}.`,i.USAGE,cn(n,r));return{name:s,requested:a}}async function hn(e,t,n,r){let i=r.supported[e],a=await qt(t);return{pjson:a,commands:await en(e,a,i,n,t)}}function gn(e,t){return t.startsWith(`file:`)?t:`${e}@${t}`}async function _n(e,t,n){if(t){await dn([`install`,gn(e,t),`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],n);return}await dn([`uninstall`,e,`--ignore-scripts`,`--no-fund`,`--no-audit`],n)}async function vn(t,n,r){let{name:a,requested:o}=mn(t,n,r);return pn(n,async()=>{let t=Vt(n),s=(await Gt(n)).dependencies?.[a];try{await dn([`install`,o,`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],t);let s=await hn(a,Ut(n,a),n,r);if(!s.pjson.version)throw new e(`Command Pack "${a}" has no package version.`,i.USAGE);return{name:a,version:s.pjson.version,commands:Object.keys(s.commands).sort()}}catch(e){try{await _n(a,s,t)}catch{}throw e}})}async function yn(t,n,r){let a=Te(t);if(!me(N(a,`package.json`)))throw new e(`Command Pack path does not exist: ${a}`,i.USAGE);let o=(await qt(a)).name;if(!o||!r.supported[o])throw new e(`Local package "${o??`(unnamed)`}" is not an allowlisted Command Pack for ${n.binName}.`,i.USAGE,cn(n,r));let s=await hn(o,a,n,r);return pn(n,async()=>{await dn([`install`,`file:${a}`,`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],Vt(n));let e=await hn(o,Ut(n,o),n,r);return{name:o,version:e.pjson.version??s.pjson.version,commands:Object.keys(e.commands).sort()}})}async function bn(t,n,r){if(!r.supported[t])throw new e(`Command Pack "${t}" is not allowlisted for ${n.binName}.`,i.USAGE,cn(n,r));if(!(t in((await Gt(n)).dependencies??{})))throw new e(`Command Pack "${t}" is not installed.`,i.USAGE);await pn(n,()=>dn([`uninstall`,t,`--ignore-scripts`,`--no-fund`,`--no-audit`],Vt(n)))}async function xn(e,t){return(await nn({},e,t)).reports}function Sn(e,t){return{install:n=>vn(n,e,t),link:n=>yn(n,e,t),list:()=>xn(e,t),remove:n=>bn(n,e,t)}}function Cn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function wn(e){try{xt()}catch(t){B(t,e)}process.on(`SIGINT`,()=>{process.stderr.write(`
|
|
48
48
|
Interrupted. Exiting.
|
|
49
|
-
`),h(500).finally(()=>process.exit(130))}),process.stdout.on(`error`,e=>{if(e.code===`EPIPE`)process.exit(0);else throw e})}function Tn(e,t){let{binName:i,version:d,npmPackage:m,clientName:g}=t,_={binName:i,version:d,npmPackage:m,clientName:g},v=t.commandPacks??{supported:{}},x=Sn(_,v),S;wn(i);let C=mt([_t,gt,ht,vt]);function w(){return S||=nn(e,_,v).then(e=>new We(e.commands,i)),S}function T(e,r,c){if(e.printHelp(r,process.stderr),r.length>0)return;let l=!1;try{let e=p(u(ze(c,{...a,...o,...n,...s})));l=!!(e.apiKey||e.console)}catch{}l?t.quickStartTasks?.length&&Bt(t.quickStartTasks):zt(i)}async function E(e,t){let n=Ge(t,e);switch(n.kind){case`version`:process.stdout.write(`${i} ${d}\n`);return;case`help`:T(e,n.path,t);return;case`usageError`:B(n.error,i);return;case`run`:try{let e=f(n.command),t=ze(n.rest,{...a,...e,...n.command.flags}),i=Cn(t,[...Object.keys(a),...Object.keys(e)]),o=Cn(t,Object.keys(n.command.flags??{})),s=n.command.validate?.(o);if(s)throw new c(s);let d=u(i),p=l(d);await C({identity:_,path:n.path,command:n.command,flags:o,settings:p,sources:d,configStore:b(d.configName),authStore:y(d),commandPacks:x,client:new r({identity:_,settings:p,baseUrl:D(d)})}),await h(1e3)}catch(t){if(t instanceof c&&n.rest.length===0){e.printHelp(n.path,process.stderr);return}await h(1e3),B(t,i)}return}}return{run(e=process.argv.slice(2)){return w().then(t=>E(t,e)).catch(e=>h(1e3).finally(()=>B(e,i)))}}}const En=`1.
|
|
49
|
+
`),h(500).finally(()=>process.exit(130))}),process.stdout.on(`error`,e=>{if(e.code===`EPIPE`)process.exit(0);else throw e})}function Tn(e,t){let{binName:i,version:d,npmPackage:m,clientName:g}=t,_={binName:i,version:d,npmPackage:m,clientName:g},v=t.commandPacks??{supported:{}},x=Sn(_,v),S;wn(i);let C=mt([_t,gt,ht,vt]);function w(){return S||=nn(e,_,v).then(e=>new We(e.commands,i)),S}function T(e,r,c){if(e.printHelp(r,process.stderr),r.length>0)return;let l=!1;try{let e=p(u(ze(c,{...a,...o,...n,...s})));l=!!(e.apiKey||e.console)}catch{}l?t.quickStartTasks?.length&&Bt(t.quickStartTasks):zt(i)}async function E(e,t){let n=Ge(t,e);switch(n.kind){case`version`:process.stdout.write(`${i} ${d}\n`);return;case`help`:T(e,n.path,t);return;case`usageError`:B(n.error,i);return;case`run`:try{let e=f(n.command),t=ze(n.rest,{...a,...e,...n.command.flags}),i=Cn(t,[...Object.keys(a),...Object.keys(e)]),o=Cn(t,Object.keys(n.command.flags??{})),s=n.command.validate?.(o);if(s)throw new c(s);let d=u(i),p=l(d);await C({identity:_,path:n.path,command:n.command,flags:o,settings:p,sources:d,configStore:b(d.configName),authStore:y(d),commandPacks:x,client:new r({identity:_,settings:p,baseUrl:D(d)})}),await h(1e3)}catch(t){if(t instanceof c&&n.rest.length===0){e.printHelp(n.path,process.stderr);return}await h(1e3),B(t,i)}return}}return{run(e=process.argv.slice(2)){return w().then(t=>E(t,e)).catch(e=>h(1e3).finally(()=>B(e,i)))}}}const En=`1.13.0`;function Dn(e,t){process.stdout.write(g(e,t)+`
|
|
50
50
|
`)}function On(e){process.stdout.write(e+`
|
|
51
51
|
`)}function kn(e,t,{gap:n=2}={}){let r=e.map((e,n)=>{let r=e.length;for(let e of t){let t=e[n]??``;t.length>r&&(r=t.length)}return r}),i=` `.repeat(n),a=e=>e.map((e,t)=>(e??``).padEnd(r[t])).join(i),o=[];o.push(a(e));for(let e of t)o.push(a(e));return o}function An(e){return e>=11904&&e<=40959||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=195103}function V(e){let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=An(e)?2:1}return t}function jn(e,t){let n=t-V(e);return n>0?e+` `.repeat(n):e}const Mn=` │ `,Nn=[0,150,160],Pn=[176,205,250],Fn=[160,160,170];function In(e){if(`NO_COLOR`in process.env)return 0;let t=process.env.FORCE_COLOR;if(t!=null){if(t===`0`||t===`false`)return 0;if(t===`3`||t===`truecolor`)return 3;if(t===`2`)return 2;if(t===`1`||t===`true`||t===``)return 1}if(!Ve(e))return 0;let n=process.env.COLORTERM;if(n===`truecolor`||n===`24bit`)return 3;let r=process.env.TERM??``;return r===`dumb`?1:/-256(color)?$/i.test(r)?2:1}function Ln(e,t,n){return e===t&&t===n?e<8?16:e>248?231:232+Math.round((e-8)/247*24):16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)}function Rn(e,t,n,r){let i=Math.max(e,t,n)>127,a=i?128:64;return(r===48?i?100:40:i?90:30)+(e>=a|(t>=a?2:0)|(n>=a?4:0))}function zn(e,t,n,r,i=38){return e>=3?`${i};2;${t};${n};${r}`:e===2?`${i};5;${Ln(t,n,r)}`:String(Rn(t,n,r,i))}function Bn(e,[t,n,r],i){return e<=0?i:`\x1b[${zn(e,t,n,r)}m${i}\x1b[0m`}function Vn(e,t,n){return t<=0?e:`\x1b[1;${zn(t,255,255,255,38)};${zn(t,n[0],n[1],n[2],48)}m${e}\x1b[0m`}function Hn(e,t){let n=t-V(e);return n>0?` `.repeat(n)+e:e}function Un(e,t,n,r){let i=e==null?0:Math.max(0,Math.min(100,e)),a=e!=null,o=a?Math.round(i/100*n):0,s=``,c=``;for(let e=0;e<n;e++)a&&e<o?(s+=`█`,c+=Bn(r,Nn,`█`)):(s+=` `,c+=` `);let l=a?Pn:Fn;return s+=` ${t}`,c+=` ${Bn(r,l,t)}`,{plain:s,colored:c}}function Wn(e){let t=In(e.out??process.stdout),n=e.align??[],r=e.barColumns??[],i=e.headers.length,a={};for(let n of r){let r=n.width??20,i=[];for(let a=0;a<e.rows.length;a++){let e=n.percents[a]??null,o=n.labels?.[a]??(e==null?`-`:`${Number.isInteger(e)?e:e.toFixed(1)}%`);i.push(Un(e,o,r,t))}a[n.index]=i}let o=(t,n)=>a[n]?a[n][t].plain:e.rows[t][n]??``,s=e.headers.map((t,n)=>{let r=V(t);for(let t=0;t<e.rows.length;t++){let e=V(o(t,n));e>r&&(r=e)}return r}),c=[],l=e.headers.map((e,t)=>n[t]===`right`?Hn(e,s[t]):jn(e,s[t])).join(Mn),u=Math.max(V(l),...e.rows.map((e,t)=>V(Array.from({length:i},(e,n)=>o(t,n)).join(Mn))));c.push(Vn(` ${jn(l,u)} `,t,Nn));let d=` ${Bn(t,Nn,`│`)} `;for(let t=0;t<e.rows.length;t++){let r=[];for(let o=0;o<i;o++){let i=s[o];if(a[o]){let e=a[o][t],n=i-V(e.plain);r.push(n>0?e.colored+` `.repeat(n):e.colored);continue}let c=e.rows[t][o]??``,l=e.cellColor?.(t,o,c),u=n[o]===`right`?Hn(c,i):jn(c,i);l?r.push(n[o]===`right`?u.slice(0,u.length-c.length)+l:l+u.slice(c.length)):r.push(u)}let o=` `;for(let e=0;e<i;e++)o+=r[e],e<i-1&&(o+=d);c.push(o)}return c}const Gn=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function Kn(e){let t=process.stderr.isTTY,n=0,r=null,i=e;return{start(){t&&(r=setInterval(()=>{process.stderr.write(`\r${Gn[n%Gn.length]} ${i}`),n++},80))},update(e){i=e},stop(e){r&&=(clearInterval(r),null),t&&(process.stderr.write(`\r\x1B[K`),e&&process.stderr.write(`${e}\n`))}}}function qn(e,t=``){let n=process.stderr.isTTY;return{update(r){if(!n)return;let i=Math.min(1,r/e),a=Math.round(30*i),o=30-a,s=`█`.repeat(a)+`░`.repeat(o),c=`${Math.round(i*100)}%`;process.stderr.write(`\r${t} ${s} ${c}`)},finish(){n&&process.stderr.write(`
|
|
52
52
|
`)}}}async function Jn(t,n,r){let a=Date.now()+r.timeoutSec*1e3,o=Kn(`Polling...`);n.quiet||o.start();try{for(;Date.now()<a;){let a=await t.requestJson({path:r.url});if(r.getStatus&&!n.quiet&&o.update(`Status: ${r.getStatus(a)}`),r.isComplete(a))return o.stop(`Done.`),a;if(r.isFailed(a)){o.stop(`Failed.`),n.verbose&&process.stderr.write(`[verbose] Task response: ${JSON.stringify(a,null,2)}\n`);let t=r.getErrorMessage?.(a);throw new e(t?`Task failed: ${t}`:`Task failed.`,i.GENERAL,t?void 0:`Use --verbose to see full API response details.`)}await new Promise(e=>setTimeout(e,r.intervalSec*1e3))}}finally{o.stop()}throw new e(`Polling timed out.`,i.TIMEOUT,`Try increasing --timeout or check task status manually.`)}async function Yn(t,n,r){let a=await fetch(t,{headers:ne()});if(!a.ok)throw new e(`Download failed: HTTP ${a.status}`,i.GENERAL);let o=Number(a.headers.get(`content-length`)||0),s=a.body?.getReader();if(!s)throw new e(`No response body`,i.GENERAL);ce(ae(n),{recursive:!0});let c=se(n),l=o>0&&!r?.quiet?qn(o,`Downloading`):null,u=0,d=!1;try{let e=new Promise((e,t)=>{c.on(`error`,t)});for(;;){let{done:t,value:n}=await Promise.race([s.read(),e]);if(t)break;c.write(n)||await new Promise(e=>c.once(`drain`,()=>e())),u+=n.byteLength,l?.update(u)}d=!0}finally{if(s.releaseLock(),l?.finish(),await new Promise((e,t)=>{c.on(`finish`,e),c.on(`error`,t),c.end()}),!d)try{ue(n)}catch{}}return{size:u}}function Xn(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function Zn(e){return Math.max(1,e.concurrent??1)}async function Qn(e,t,n,r=`requests`){if(e<=1)return[await n(0)];t.quiet||process.stderr.write(`[Concurrent: ${e} ${r}]\n`);let i=Array.from({length:e},(e,t)=>n(t));return Promise.all(i)}async function $n(e,t,n){return Promise.all(e.map(({url:e,destPath:r})=>t(e,r,n).then(()=>r)))}const er={"qwen-image-2.0":{"16:9":`2688*1536`,"9:16":`1536*2688`,"1:1":`2048*2048`,"4:3":`2368*1728`,"3:4":`1728*2368`},"qwen-image-fixed":{"16:9":`1664*928`,"4:3":`1472*1104`,"1:1":`1328*1328`,"3:4":`1104*1472`,"9:16":`928*1664`},wan27:{"16:9":`2688*1536`,"9:16":`1536*2688`,"1:1":`2048*2048`,"4:3":`2368*1728`,"3:4":`1728*2368`},"z-image":{"1:1":`1024*1024`,"16:9":`1280*720`,"9:16":`720*1280`,"4:3":`1152*864`,"3:4":`864*1152`,"3:2":`1248*832`,"2:3":`832*1248`},wan26:{"1:1":`1280*1280`,"16:9":`1696*960`,"9:16":`960*1696`,"4:3":`1472*1104`,"3:4":`1104*1472`},"wan-legacy":{"1:1":`1024*1024`,"16:9":`1280*720`,"9:16":`720*1280`,"3:4":`768*1152`,"4:3":`1152*768`},"wanx-v1":{"1:1":`1024*1024`,"9:16":`720*1280`,"3:4":`768*1152`,"16:9":`1280*720`},"wan25-i2i":{"1:1":`1280*1280`,"16:9":`1280*720`,"9:16":`720*1280`,"4:3":`1152*864`,"3:4":`864*1152`}};function tr(e,t){if(e)return er[typeof t==`boolean`?t?`qwen-image-2.0`:`qwen-image-fixed`:t][e]??e}const nr=`Enable watermark (true/false). Omit flag to use CLI default (true).`,rr=`Enable prompt extend (true/false). Omit flag to use CLI default (true).`,ir=`Enable prompt extend (true/false). Omit flag: true for qwen-image sync; parameter omitted on async models (API default).`,ar=`Enable prompt extend (true/false). Omit flag to omit the parameter (DashScope default).`;var H=class extends Error{code;step;details;constructor(e,t,n){super(t),this.name=`PipelineError`,this.code=e,this.step=n?.step,this.details=n?.details}toJSON(){return{code:this.code,message:this.message,...this.step?{step:this.step}:{},...this.details?{details:this.details}:{}}}};function or(e,t){return e instanceof H?e:new H(`step_execution_error`,e instanceof Error?e.message:String(e),{step:t})}var sr=class{handlers=new Map;outputSchemas=new Map;registerStep(e,t,n){this.handlers.set(e,t),n&&this.outputSchemas.set(e,n)}executeStep(e,t,n){let r=this.handlers.get(e);if(!r)throw new H(`unknown_step`,`Unknown step type: ${e}`,{details:{available:this.listSteps()}});return r(t,n)}hasStep(e){return this.handlers.has(e)}listSteps(){return Array.from(this.handlers.keys()).sort()}getOutputSchema(e){return this.outputSchemas.get(e)}};const cr=new sr;function lr(){return cr}function ur(e,t,n,r){let i,a;n instanceof sr?(i=n,a=r):(i=cr,a=n??r),i.registerStep(e,t,a)}function dr(){let e=u({}),t={...l(e),output:`json`,outputExplicit:!0,quiet:!0},n={binName:`bl`,version:`0.0.0-dev`,npmPackage:`bailian-cli`,clientName:`bailian-cli`},i;try{i=S(e)}catch{}return{client:new r({identity:n,settings:t,baseUrl:D(e),apiCred:i}),settings:t}}const fr=[`download`,`out-dir`,`output`];function pr(e){return e.startsWith(`./`)||e.startsWith(`../`)}function mr(e,t){let n={},r=[];for(let[i,a]of Object.entries(e))typeof a==`string`&&pr(a)?(n[i]=Te(t,a),r.push(i)):n[i]=a;return{input:n,resolvedKeys:r}}async function hr(e,t,n){let r=[];for(let i of t){let t=e[i];typeof t==`string`&&(await he(t).then(()=>!0,()=>!1)||r.push(`Step "${n}" input "${i}" references file that does not exist: ${t}`))}return r}function gr(e){if(e===void 0)return;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:void 0;let t=e.match(/^(\d+(?:\.\d+)?)(ms|s|m)?$/);if(!t)return;let n=Number(t[1]);if(!Number.isFinite(n)||n<=0)return;let r=t[2]??`s`;return r===`ms`?n/1e3:r===`m`?n*60:n}function U(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function _r(e,t){if(Array.isArray(e)){e.forEach(e=>_r(e,t));return}if(U(e)){`$from`in e&&typeof e.$from==`string`&&t.add(e.$from);for(let n of Object.values(e))_r(n,t)}}async function vr(e,t){let n=[];for(let r of e)for(let[e,i]of Object.entries(r.input)){if(fr.includes(e)||typeof i!=`string`||!pr(i))continue;let a=Te(t,i);await he(a).then(()=>!0,()=>!1)||n.push(`Step "${r.id}" input "${e}" references file that does not exist: ${a}`)}return n}async function yr(e,t,n){if(!t.message)throw new H(`missing_input`,`text/chat requires 'message' input`,{step:`text/chat`});let r=t.model||`qwen3.7-max`,i=[];t.system&&i.push({role:`system`,content:t.system}),i.push({role:`user`,content:t.message});let a={model:r,messages:i,max_tokens:t[`max-tokens`]??4096,stream:!1};t.temperature!==void 0&&(a.temperature=t.temperature),t[`top-p`]!==void 0&&(a.top_p=t[`top-p`]),t[`enable-thinking`]&&(a.enable_thinking=!0,t[`thinking-budget`]!==void 0&&(a.thinking_budget=t[`thinking-budget`]));let o=d();return await e.client.requestJson({path:o,method:`POST`,body:a,timeout:n.blRequestTimeoutSeconds,signal:n.signal})}async function br(e,t,n){let r=t.model||`qwen3-vl-plus`,i=Array.isArray(t.image)?t.image:t.image?[t.image]:[],a=t.video?`Describe the video.`:`Describe the image.`,o=t.prompt||a,s=[];if(t.video){let i=t.video;v(i)&&(i=await e.client.uploadFile(i,r,{signal:n.signal})),s.push({type:`video_url`,video_url:{url:i}})}for(let t of i){let i=t;v(t)&&(i=await e.client.uploadFile(t,r,{signal:n.signal})),s.push({type:`image_url`,image_url:{url:i}})}s.push({type:`text`,text:o});let c={model:r,messages:[{role:`user`,content:s}]},l=d();return await e.client.requestJson({path:l,method:`POST`,body:c,signal:n.signal})}async function xr(e,t,n){if(!t.prompt)throw new H(`missing_input`,`image/generate requires 'prompt' input`,{step:`image/generate`});let r=t.model||`qwen-image-2.0`,i=E(r),a=t.n??1,o=C(t[`prompt-extend`],i.promptExtendDefault,`prompt-extend`),s={size:tr(t.size,i.sizeProfile),n:a,seed:t.seed,prompt_extend:o,watermark:k(t.watermark)},c=i.inputStyle===`prompt`?{model:r,input:{prompt:t.prompt,negative_prompt:t[`negative-prompt`]||void 0},parameters:s}:{model:r,input:{messages:[{role:`user`,content:[{text:t.prompt}]}]},parameters:{...s,negative_prompt:t[`negative-prompt`]||void 0}};if(i.useSync){let r=await e.client.requestJson({path:i.path,method:`POST`,body:c,signal:n.signal}),a=r.output.choices.flatMap(e=>e.message?.content||[]).map(e=>e.image).filter(Boolean),o=await Cr(a,t[`out-dir`],t[`out-prefix`]);return{urls:a,request_id:r.request_id,...o?{saved:o}:{}}}let l=(await e.client.requestJson({path:i.path,method:`POST`,body:c,async:!0,signal:n.signal})).output.task_id,u=await Or(e,l,n),d=await Cr(Array.isArray(u.urls)?u.urls:[],t[`out-dir`],t[`out-prefix`]);return d&&(u.saved=d),u}async function Sr(e,t,n){if(!t.prompt)throw new H(`missing_input`,`image/edit requires 'prompt' input`,{step:`image/edit`});let r=Array.isArray(t.image)?t.image:t.image?[t.image]:[],i=t.model||`qwen-image-2.0`,a=T(i),o=t.n??1,s=C(t[`prompt-extend`],a.promptExtendDefault,`prompt-extend`),c=[];for(let t of r){let r=t;v(t)&&(r=await e.client.uploadFile(t,i,{signal:n.signal})),c.push(r)}let l={size:tr(t.size,a.sizeProfile),n:o,seed:t.seed,prompt_extend:s,watermark:k(t.watermark)},u;if(a.inputStyle===`function-base-image`){let e=c[0];if(!e)throw new H(`missing_input`,`image/edit with wanx*-imageedit requires at least one image`,{step:`image/edit`});u={model:i,input:{function:t.function||`description_edit`,prompt:t.prompt,base_image_url:e},parameters:l}}else if(a.inputStyle===`prompt-images`)u={model:i,input:{prompt:t.prompt,images:c,negative_prompt:t[`negative-prompt`]||void 0},parameters:l};else{let e=c.map(e=>({image:e}));e.push({text:t.prompt}),u={model:i,input:{messages:[{role:`user`,content:e}]},parameters:{...l,negative_prompt:t[`negative-prompt`]||void 0}}}if(a.useSync){let r=await e.client.requestJson({path:a.path,method:`POST`,body:u,signal:n.signal}),i=r.output.choices.flatMap(e=>e.message?.content||[]).map(e=>e.image).filter(Boolean),o=await Cr(i,t[`out-dir`],t[`out-prefix`]);return{urls:i,request_id:r.request_id,...o?{saved:o}:{}}}let d=(await e.client.requestJson({path:a.path,method:`POST`,body:u,async:!0,signal:n.signal})).output.task_id,f=await Or(e,d,n),p=await Cr(Array.isArray(f.urls)?f.urls:[],t[`out-dir`],t[`out-prefix`]);return p&&(f.saved=p),f}async function Cr(e,t,n){if(!t||e.length===0)return;await ge(t,{recursive:!0});let r=n&&n.length>0?n:`image`,i=e.length===1?[{url:e[0],destPath:N(t,`${r}.png`)}]:e.map((e,n)=>({url:e,destPath:N(t,`${r}_${String(n+1).padStart(3,`0`)}.png`)})),a=[];for(let{url:e,destPath:t}of i)await Yn(e,t,{quiet:!0}),a.push(t);return a}async function wr(e,t,n){if(!t.prompt)throw new H(`missing_input`,`video/generate requires 'prompt' input`,{step:`video/generate`});let r=t.model||(t.image?`happyhorse-1.1-i2v`:`happyhorse-1.1-t2v`),i;t.image&&(i=v(t.image)?await e.client.uploadFile(t.image,r,{signal:n.signal}):t.image);let a={model:r,input:{prompt:t.prompt,negative_prompt:t[`negative-prompt`]||void 0,...i?{media:[{type:`first_frame`,url:i}]}:{}},parameters:{resolution:t.resolution||void 0,ratio:t.ratio||void 0,duration:t.duration,prompt_extend:C(t[`prompt-extend`],void 0,`prompt-extend`),watermark:k(t.watermark),seed:t.seed}};j(a.parameters);let o=re(),s=(await e.client.requestJson({path:o,method:`POST`,body:a,async:!0,signal:n.signal})).output.task_id;return await kr(e,s,(t[`poll-interval`]??10)*1e3,(n.timeoutSeconds??900)*1e3,n)}async function Tr(e,t,n){let r=t.text;if(!r&&t[`text-file`]){let{readFileSync:e}=await import(`node:fs`);r=e(t[`text-file`],`utf-8`).trim()}if(!r)throw new H(`missing_input`,`speech/synthesize requires 'text' input`,{step:`speech/synthesize`});let i=t.model||`cosyvoice-v3-flash`,a={model:i,input:{text:r,voice:t.voice,format:t.format,sample_rate:t[`sample-rate`],volume:t.volume,rate:t.rate,pitch:t.pitch,seed:t.seed,language_hints:t.language?[t.language]:void 0,instruction:t.instruction,enable_ssml:t[`enable-ssml`]}};j(a.input);let o=ee(),s=await e.client.requestJson({path:o,method:`POST`,body:a,signal:n.signal});return{audio_url:s.output.audio.url,url_expires_at:s.output.audio.expires_at,model:i,voice:t.voice,request_id:s.request_id}}async function Er(e,t,n){let r=Array.isArray(t.url)?t.url:t.url?[t.url]:[];if(r.length===0)throw new H(`missing_input`,`speech/recognize requires 'url' input`,{step:`speech/recognize`});let i=[];for(let a of r)v(a)?i.push(await e.client.uploadFile(a,t.model||`fun-asr`,{signal:n.signal})):i.push(a);let a={model:t.model||`fun-asr`,input:{file_urls:i},parameters:{channel_id:t[`channel-id`]===void 0?void 0:[t[`channel-id`]],language_hints:t.language?[t.language]:void 0,diarization_enabled:t.diarization,speaker_count:t[`speaker-count`],vocabulary_id:t[`vocabulary-id`]}};j(a.parameters);let o=A(),s=(await e.client.requestJson({path:o,method:`POST`,body:a,async:!0,signal:n.signal})).output.task_id;return await kr(e,s,(t[`poll-interval`]??2)*1e3,(n.timeoutSeconds??300)*1e3,n)}function Dr(e){let{output:t,request_id:n,usage:r}=e,i={task_id:t.task_id,task_status:t.task_status,request_id:n};if(t.video_url&&(i.video_url=t.video_url),t.choices){let e=t.choices.flatMap(e=>e.message?.content||[]).map(e=>e.image).filter(Boolean);e.length>0&&(i.urls=e)}if(t.results){let e=t.results.map(e=>e.url).filter(Boolean);e.length>0&&!i.urls&&(i.urls=e)}return t.task_metrics&&(i.task_metrics=t.task_metrics),r&&(i.usage=r),i}async function Or(e,t,n){return await kr(e,t,3e3,e.settings.timeout*1e3,n)}async function kr(e,t,n,r,i){let a=Date.now(),o=0;for(;;){if(i?.signal?.aborted)throw new H(`aborted`,`Task polling was aborted`,{details:{taskId:t}});await Ar(n,i?.signal),o++;let s=te(t),c=await e.client.requestJson({path:s,method:`GET`,signal:i?.signal}),l=c.output.task_status;if(l===`SUCCEEDED`)return Dr(c);if(l===`FAILED`)throw new H(`async_task_failed`,c.output.message||c.output.code||`Task failed`,{details:{taskId:t,data:c}});let u=Date.now()-a;if(await i?.emitEvent?.({type:`step.polling`,timestamp:new Date().toISOString(),status:`running`,taskId:t,taskStatus:l,elapsedMs:u,pollAttempt:o}),u>r)throw new H(`async_poll_timeout`,`Task ${t} timed out after ${Math.round(r/1e3)}s`,{details:{taskId:t,timeoutMs:r,pollAttempts:o}})}}function Ar(e,t){return t?new Promise((n,r)=>{let i=setTimeout(()=>{o(),n()},e),a=()=>{o(),r(new H(`aborted`,`Poll delay was aborted`))},o=()=>{clearTimeout(i),t.removeEventListener(`abort`,a)};t.aborted?a():t.addEventListener(`abort`,a,{once:!0})}):new Promise(t=>setTimeout(t,e))}const jr={"text/chat":(e,t,n)=>yr(e,t,n),"vision/describe":(e,t,n)=>br(e,t,n),"image/generate":(e,t,n)=>xr(e,t,n),"image/edit":(e,t,n)=>Sr(e,t,n),"video/generate":(e,t,n)=>wr(e,t,n),"speech/synthesize":(e,t,n)=>Tr(e,t,n),"speech/recognize":(e,t,n)=>Er(e,t,n)},Mr={"image/generate":e=>({data:e,artifacts:Ir(e),warnings:[],metadata:{}}),"image/edit":e=>({data:e,artifacts:Ir(e),warnings:[],metadata:{}}),"video/generate":e=>({data:e,artifacts:Ir(e),warnings:[],metadata:{}}),"speech/synthesize":e=>({data:e,artifacts:Lr(e,`audio`),warnings:[],metadata:{}}),"speech/recognize":e=>({data:e,artifacts:Lr(e,`transcript`),warnings:[],metadata:{}})},Nr={"text/chat":{description:`LLM text completion via chat API`,paths:[{path:`/data/choices/0/message/content`,description:`Generated text content`},{path:`/data/choices/0/message/role`,description:`Message role (assistant)`},{path:`/data/usage/total_tokens`,description:`Total token usage`}]},"vision/describe":{description:`Multimodal vision understanding (image/video to text)`,paths:[{path:`/data/choices/0/message/content`,description:`Generated description text`},{path:`/data/choices/0/message/role`,description:`Message role (assistant)`},{path:`/data/usage/total_tokens`,description:`Total token usage`}]},"image/generate":{description:`Text-to-image generation`,paths:[{path:`/data/urls`,description:`Array of generated image URLs`},{path:`/data/urls/0`,description:`First generated image URL`},{path:`/data/task_id`,description:`Async task ID (if applicable)`},{path:`/artifacts/0/url`,description:`First artifact URL`},{path:`/artifacts/0/path`,description:`First artifact local path (if saved)`}]},"image/edit":{description:`Image editing with reference image(s)`,paths:[{path:`/data/urls`,description:`Array of generated image URLs`},{path:`/data/urls/0`,description:`First generated image URL`},{path:`/data/task_id`,description:`Async task ID (if applicable)`},{path:`/artifacts/0/url`,description:`First artifact URL`},{path:`/artifacts/0/path`,description:`First artifact local path (if saved)`}]},"video/generate":{description:`Video generation (text-to-video or image-to-video)`,paths:[{path:`/data/video_url`,description:`Generated video URL`},{path:`/data/task_id`,description:`Async task ID`},{path:`/artifacts/0/url`,description:`First artifact URL`},{path:`/artifacts/0/path`,description:`First artifact local path (if saved)`}]},"speech/synthesize":{description:`Text-to-speech synthesis`,paths:[{path:`/data/audio_url`,description:`Generated audio URL`},{path:`/data/url_expires_at`,description:`Audio URL expiration time`},{path:`/artifacts/0/url`,description:`First artifact URL`}]},"speech/recognize":{description:`Speech recognition (ASR)`,paths:[{path:`/data/text`,description:`Full transcribed text`},{path:`/data/task_id`,description:`Async task ID`},{path:`/artifacts/0/taskId`,description:`Task ID from artifact`}]}};function Pr(e){for(let t of Object.keys(jr))ur(t,async(e,n)=>await Fr(t,e,n),e,Nr[t])}async function Fr(e,t,n){if(n.dryRun)return{metadata:{dryRun:!0,step:e,plannedInput:t},warnings:[{code:`dry_run_skipped`,message:`Step ${e} was not executed in dry-run mode`}]};let r=jr[e];if(!r)throw Error(`No direct API handler registered for step: ${e}`);let i=await r(n.blEnv??dr(),t,n),a=Mr[e];return a?a(i):{data:i,warnings:[],metadata:{}}}function Ir(e){if(!U(e))return;let t=[],n=W(e.task_id)??W(e.taskId);for(let r of Br(e.urls))t.push({url:r,taskId:n,kind:Vr(r)});for(let r of Br(e.saved))t.push({path:r,taskId:n,kind:Hr(r)});let r=W(e.video_url)??W(e.videoUrl);r&&t.push({url:r,taskId:n,kind:`video`});let i=W(e.saved);if(i&&t.push({path:i,taskId:n,kind:Hr(i)}),Array.isArray(e.videos))for(let n of e.videos){if(!U(n))continue;let e=W(n.task_id)??W(n.taskId),r=W(n.video_url)??W(n.videoUrl),i=W(n.saved);r&&t.push({url:r,taskId:e,kind:`video`}),i&&t.push({path:i,taskId:e,kind:`video`})}let a=Array.isArray(e.task_ids)?e.task_ids.map(W).filter(zr):[];for(let e of a)t.push({taskId:e,kind:`task`});return t.length===0&&n&&t.push({taskId:n,kind:`task`}),t.length>0?t:void 0}function Lr(e,t){if(!U(e))return;let n=[],r=W(e.task_id)??W(e.taskId),i=[W(e.url),W(e.audio_url),W(e.audioUrl),W(e.output_url),W(e.outputUrl)].filter(zr);for(let e of i)n.push({url:e,taskId:r,kind:t});let a=[W(e.saved),W(e.path),W(e.output_path),W(e.outputPath)].filter(zr);for(let e of a)n.push({path:e,taskId:r,kind:t});return n.length===0&&r&&n.push({taskId:r,kind:`task`}),n.length>0?Rr(n):void 0}function Rr(e){let t=new Set,n=[];for(let r of e){let e=`${r.kind??``}:${r.taskId??``}:${r.url??``}:${r.path??``}`;t.has(e)||(t.add(e),n.push(r))}return n}function zr(e){return typeof e==`string`}function W(e){return typeof e==`string`&&e.length>0?e:void 0}function Br(e){return Array.isArray(e)?e.map(W).filter(zr):[]}function Vr(e){try{return Hr(new URL(e).pathname)}catch{return`artifact`}}function Hr(e){let t=e.toLowerCase();return t.endsWith(`.mp4`)||t.endsWith(`.mov`)||t.endsWith(`.webm`)?`video`:t.endsWith(`.png`)||t.endsWith(`.jpg`)||t.endsWith(`.jpeg`)||t.endsWith(`.webp`)?`image`:`artifact`}var Ur=P((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;let a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),Wr=P((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;let t=Ur();var n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;let o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),G=P((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;let t=Ur(),n=Wr();var r=Ur();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,`strConcat`,{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,`getProperty`,{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,`regexpCode`,{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return r.Name}});var i=Wr();Object.defineProperty(e,`Scope`,{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,`ValueScope`,{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,`ValueScopeName`,{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,`varKinds`,{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=k(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=k(this.rhs,e,n),this}get names(){return O(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=k(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(A(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>D(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(ee(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=k(this.condition,e,t),this}get names(){let e=super.names;return O(e,this.condition),this.else&&D(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=k(this.iteration,e,t),this}get names(){return D(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return O(O(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=k(this.iterable,e,t),this}get names(){return D(super.names,this.iterable.names)}},S=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};S.kind=`func`;var C=class extends p{render(e){return`return `+super.render(e)}};C.kind=`return`;var w=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&D(e,this.catch.names),this.finally&&D(e,this.finally.names),e}},T=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};T.kind=`catch`;var E=class extends m{render(e){return`finally`+super.render(e)}};E.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bailian-cli-runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Runtime framework for bailian-cli (createCli, registry, args, output, pipeline). See https://www.npmjs.com/package/bailian-cli for usage.",
|
|
5
5
|
"homepage": "https://bailian.console.aliyun.com/cli",
|
|
6
6
|
"bugs": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"boxen": "^8.0.1",
|
|
31
31
|
"chalk": "^5.6.2",
|
|
32
32
|
"undici": "^6.27.0",
|
|
33
|
-
"bailian-cli-core": "1.
|
|
33
|
+
"bailian-cli-core": "1.13.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@clack/prompts": "^0.7.0",
|