bailian-cli-runtime 1.14.2 → 1.14.3
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 @@ ${qt()}\nRun: ${R} auth status — to check credentials.`,{cause:e}),R);if(e ins
|
|
|
46
46
|
`),e.forEach((e,n)=>{process.stderr.write(`${t.dim(String(n+1))} ${e}\n`)}),process.stderr.write(`
|
|
47
47
|
`)}function on(e){return P(te(),`plugins`,e.npmPackage)}function sn(e){return P(on(e),`package.json`)}function cn(e,t){return P(on(e),`node_modules`,...t.split(`/`))}async function ln(e){try{return JSON.parse(await Pe(e,`utf8`))}catch(t){throw new m(`Could not parse JSON file: ${e}`,b.GENERAL,`Repair or remove the invalid file and try again.`,{cause:t})}}async function un(e){let t=sn(e);return Ae(t)?ln(t):{dependencies:{}}}async function dn(e,t){return fn(cn(e,t))}async function fn(e){return ln(P(e,`package.json`))}const pn=new Set([`none`,`apiKey`,`console`,`openapi`]),mn=/^[a-z0-9][a-z0-9-]*$/;function hn(e,t,n){if(t.name!==e)throw Error(`Package name mismatch: expected "${e}", received "${t.name??``}".`);let r=t.bailianCli;if(!r||r.type!==`command-pack`)throw Error(`Package "${e}" is missing bailianCli.type="command-pack".`);if(r.apiVersion!==h)throw Error(`Command Pack API ${r.apiVersion} is not supported; this CLI supports API ${h}.`);if(r.minCliVersion&&bt(n.version,r.minCliVersion)<0)throw Error(`Command Pack requires ${n.npmPackage} ${r.minCliVersion} or newer; current version is ${n.version}.`);if(!r.entry||ze(r.entry))throw Error(`Command Pack "${e}" must declare a relative bailianCli.entry.`);return r}function gn(e,t){let n=e.split(/\s+/).filter(Boolean).join(` `);if(!e||e!==n||!e.split(` `).every(e=>mn.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 _n(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||!pn.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 vn(e,t,n){return Object.fromEntries(Object.entries(t).map(([t,r])=>[t,{description:r.description,auth:r.auth,usageArgs:r.usageArgs,exampleArgs:r.exampleArgs,notes:r.notes,flags:r.flags,validate:r.validate,run:i=>{let a={identity:i.identity,settings:i.settings,flags:i.flags,client:i.client,output:{result(e,t){let n=i.settings.output===`text`&&t?.text!==void 0?t.text:ee(e,i.settings.output);process.stdout.write(`${n}\n`)},line(e){process.stdout.write(`${e}\n`)},write(e){process.stdout.write(e)}},errors:{general(e,t){return new m(e,b.GENERAL,t?.hint,{cause:t?.cause})},usage(e,t){return new w(e,t)},timeout(e=`Request timed out.`,t){return new m(e,b.TIMEOUT,t?.hint,{cause:t?.cause})}},credentials:{apiKey(){if(!n.credentialAccess?.includes(`apiKey`))throw new m(`Command Pack "${e}" is not allowed to access API-key credentials.`,b.GENERAL);if(r.auth!==`apiKey`)throw new m(`Command "${t}" must declare auth="apiKey" before accessing API-key credentials.`,b.GENERAL);let a=i.authStore.describe().apiKey;if(!a)throw new m(`No API key available to the Command Pack.`,b.AUTH);return a}}};return r.run(a)}}]))}async function yn(e,t,n,r,i=cn(r,e)){let a=hn(e,t,r),o=await Fe(i),s=await Fe(Ve(o,a.entry)),c=Be(o,s);if(!c||c.startsWith(`..`)||ze(c))throw Error(`Command Pack entry must stay inside the package root: ${a.entry}`);let l=(await import(He(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)gn(e,n),_n(e,t);let d=vn(e,l,n);return new st(d,r.binName),d}function bn(e){return e.startsWith(`file:`)?`linked`:`installed`}async function xn(e,t,n){let r={...e},i=[],a;try{a=await un(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=bn(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 dn(t,e),o=await yn(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 Sn={name:`bailian-cli-command-packs`,private:!0,dependencies:{}},Cn=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(`.`)),wn=new Set([`registry`,`userconfig`,`globalconfig`,`cache`,`proxy`,`https_proxy`,`noproxy`,`strict_ssl`,`ca`,`cafile`]);function Tn(e){let t=/^(?:npm_config_|NPM_CONFIG_)(.+)$/.exec(e);return!!t&&wn.has(t[1].toLowerCase())}function En(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 Dn(e=process.env){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(Cn.has(n)||n.startsWith(`LC_`)||Tn(n))&&(t[n]=r);return t}async function On(e){await Me(e,{recursive:!0,mode:448});let t=P(e,`package.json`);Ae(t)||await Re(t,`${JSON.stringify(Sn,null,2)}\n`,{mode:384})}async function kn(e,t){if(We(`npm`,[`--version`],{encoding:`utf-8`}).status!==0){let e=ne()?"Command Packs need a local npm. Install Node.js, or use `npm install -g bailian-cli` instead of the binary install.":`Install Node.js / npm and retry.`;throw new m(`npm is required to install, link, or remove Command Packs, but was not found on PATH.`,b.GENERAL,e)}await new Promise((n,r)=>{let i=Ue(`npm`,e,{cwd:t,env:Dn(),stdio:[`inherit`,`pipe`,`pipe`]});i.stdout.on(`data`,e=>process.stderr.write(e)),i.stderr.on(`data`,e=>process.stderr.write(e)),i.once(`error`,r),i.once(`close`,(t,i)=>{if(t===0){n();return}r(new m(`npm ${e[0]} failed${i?` with signal ${i}`:` with exit code ${t}`}.`,b.GENERAL))})})}async function An(e){let t=on(e);await On(t);let n=P(t,`.lock`);for(let e=0;e<2;e++)try{let e=await Ne(n,`wx`,384);return await e.writeFile(`${process.pid} ${Date.now()}\n`),await e.close(),async()=>{try{await Le(n)}catch{}}}catch(e){if(e.code!==`EEXIST`)throw e;try{let e=await Ie(n);if(Date.now()-e.mtimeMs>6e5){await Le(n);continue}}catch{continue}throw new m(`Another Command Pack install, link, or remove operation is already running.`,b.GENERAL,`Wait for it to finish and try again.`)}throw new m(`Could not acquire the Command Pack operation lock.`,b.GENERAL)}async function jn(e,t){let n=await An(e);try{return await t()}finally{await n()}}function Mn(e,t,n){let r=e.trim(),i=/^(@[^/\s]+\/[^@/\s]+)(?:@([a-zA-Z0-9][a-zA-Z0-9._-]*))?$/.exec(r);if(!i)throw new m(`Unsupported Command Pack package spec: "${e}".`,b.USAGE,`Use an allowlisted scoped package name with an optional version or tag.`);let a=i[1];if(!n.supported[a])throw new m(`Command Pack "${a}" is not allowlisted for ${t.binName}.`,b.USAGE,En(t,n));return{name:a,requested:r}}async function Nn(e,t,n,r){let i=r.supported[e],a=await fn(t);return{pjson:a,commands:await yn(e,a,i,n,t)}}function Pn(e,t){return t.startsWith(`file:`)?t:`${e}@${t}`}async function Fn(e,t,n){if(t){await kn([`install`,Pn(e,t),`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],n);return}await kn([`uninstall`,e,`--ignore-scripts`,`--no-fund`,`--no-audit`],n)}async function In(e,t,n){let{name:r,requested:i}=Mn(e,t,n);return jn(t,async()=>{let e=on(t),a=(await un(t)).dependencies?.[r];try{await kn([`install`,i,`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],e);let a=await Nn(r,cn(t,r),t,n);if(!a.pjson.version)throw new m(`Command Pack "${r}" has no package version.`,b.USAGE);return{name:r,version:a.pjson.version,commands:Object.keys(a.commands).sort()}}catch(t){try{await Fn(r,a,e)}catch{}throw t}})}async function Ln(e,t,n){let r=Ve(e);if(!Ae(P(r,`package.json`)))throw new m(`Command Pack path does not exist: ${r}`,b.USAGE);let i=(await fn(r)).name;if(!i||!n.supported[i])throw new m(`Local package "${i??`(unnamed)`}" is not an allowlisted Command Pack for ${t.binName}.`,b.USAGE,En(t,n));let a=await Nn(i,r,t,n);return jn(t,async()=>{await kn([`install`,`file:${r}`,`--save-exact`,`--ignore-scripts`,`--no-fund`,`--no-audit`],on(t));let e=await Nn(i,cn(t,i),t,n);return{name:i,version:e.pjson.version??a.pjson.version,commands:Object.keys(e.commands).sort()}})}async function Rn(e,t,n){if(!n.supported[e])throw new m(`Command Pack "${e}" is not allowlisted for ${t.binName}.`,b.USAGE,En(t,n));if(!(e in((await un(t)).dependencies??{})))throw new m(`Command Pack "${e}" is not installed.`,b.USAGE);await jn(t,()=>kn([`uninstall`,e,`--ignore-scripts`,`--no-fund`,`--no-audit`],on(t)))}async function zn(e,t){return(await xn({},e,t)).reports}function Bn(e,t){return{install:n=>In(n,e,t),link:n=>Ln(n,e,t),list:()=>zn(e,t),remove:n=>Rn(n,e,t)}}function Vn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Hn(e){try{zt()}catch(t){B(t,e)}process.on(`SIGINT`,()=>{process.stderr.write(`
|
|
48
48
|
Interrupted. Exiting.
|
|
49
|
-
`),j(500).finally(()=>process.exit(130))}),process.stdout.on(`error`,e=>{if(e.code===`EPIPE`)process.exit(0);else throw e})}function Un(e,t){let{binName:n,version:r,npmPackage:i,clientName:a}=t,o={binName:n,version:r,npmPackage:i,clientName:a},s=t.commandPacks??{supported:{}},c=Bn(o,s),l;Hn(n);let u=Mt([Ft,Pt,Nt,It]);function d(){return l||=xn(e,o,s).then(e=>new st(e.commands,n)),l}function f(e,r,i){if(e.printHelp(r,process.stderr),r.length>0)return;let a=!1;try{let e=k(E(nt(i,{...x,...S,...g,...C})));a=!!(e.apiKey||e.console)}catch{}a?t.quickStartTasks?.length&&an(t.quickStartTasks):rn(n)}async function p(e,t){let i=ct(t,e);switch(i.kind){case`version`:process.stdout.write(`${n} ${r}\n`);return;case`help`:f(e,i.path,t);return;case`usageError`:B(i.error,n);return;case`run`:try{let e=O(i.command),t=nt(i.rest,{...x,...e,...i.command.flags}),n=Vn(t,[...Object.keys(x),...Object.keys(e)]),r=Vn(t,Object.keys(i.command.flags??{})),a=i.command.validate?.(r);if(a)throw new w(a);let s=E(n),l=T(s);await u({identity:o,path:i.path,command:i.command,flags:r,settings:l,sources:s,configStore:ie(s.configName),authStore:re(s),commandPacks:c,client:new _({identity:o,settings:l,baseUrl:de(s)})}),await j(1e3)}catch(t){if(t instanceof w&&i.rest.length===0){e.printHelp(i.path,process.stderr);return}await j(1e3),B(t,n)}return}}return{run(e=process.argv.slice(2)){return d().then(t=>p(t,e)).catch(e=>j(1e3).finally(()=>B(e,n)))}}}const Wn=`1.14.
|
|
49
|
+
`),j(500).finally(()=>process.exit(130))}),process.stdout.on(`error`,e=>{if(e.code===`EPIPE`)process.exit(0);else throw e})}function Un(e,t){let{binName:n,version:r,npmPackage:i,clientName:a}=t,o={binName:n,version:r,npmPackage:i,clientName:a},s=t.commandPacks??{supported:{}},c=Bn(o,s),l;Hn(n);let u=Mt([Ft,Pt,Nt,It]);function d(){return l||=xn(e,o,s).then(e=>new st(e.commands,n)),l}function f(e,r,i){if(e.printHelp(r,process.stderr),r.length>0)return;let a=!1;try{let e=k(E(nt(i,{...x,...S,...g,...C})));a=!!(e.apiKey||e.console)}catch{}a?t.quickStartTasks?.length&&an(t.quickStartTasks):rn(n)}async function p(e,t){let i=ct(t,e);switch(i.kind){case`version`:process.stdout.write(`${n} ${r}\n`);return;case`help`:f(e,i.path,t);return;case`usageError`:B(i.error,n);return;case`run`:try{let e=O(i.command),t=nt(i.rest,{...x,...e,...i.command.flags}),n=Vn(t,[...Object.keys(x),...Object.keys(e)]),r=Vn(t,Object.keys(i.command.flags??{})),a=i.command.validate?.(r);if(a)throw new w(a);let s=E(n),l=T(s);await u({identity:o,path:i.path,command:i.command,flags:r,settings:l,sources:s,configStore:ie(s.configName),authStore:re(s),commandPacks:c,client:new _({identity:o,settings:l,baseUrl:de(s)})}),await j(1e3)}catch(t){if(t instanceof w&&i.rest.length===0){e.printHelp(i.path,process.stderr);return}await j(1e3),B(t,n)}return}}return{run(e=process.argv.slice(2)){return d().then(t=>p(t,e)).catch(e=>j(1e3).finally(()=>B(e,n)))}}}const Wn=`1.14.3`;function Gn(e,t){process.stdout.write(ee(e,t)+`
|
|
50
50
|
`)}function Kn(e){process.stdout.write(e+`
|
|
51
51
|
`)}function qn(e,t){!e||t||process.stderr.write(`request_id: ${e}\n`)}function Jn(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 Yn(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+=Yn(e)?2:1}return t}function Xn(e,t){let n=t-V(e);return n>0?e+` `.repeat(n):e}const Zn=` │ `,Qn=[0,150,160],$n=[176,205,250],er=[160,160,170];function tr(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(!it(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 nr(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 rr(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 ir(e,t,n,r,i=38){return e>=3?`${i};2;${t};${n};${r}`:e===2?`${i};5;${nr(t,n,r)}`:String(rr(t,n,r,i))}function ar(e,[t,n,r],i){return e<=0?i:`\x1b[${ir(e,t,n,r)}m${i}\x1b[0m`}function or(e,t,n){return t<=0?e:`\x1b[1;${ir(t,255,255,255,38)};${ir(t,n[0],n[1],n[2],48)}m${e}\x1b[0m`}function sr(e,t){let n=t-V(e);return n>0?` `.repeat(n)+e:e}function cr(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+=ar(r,Qn,`█`)):(s+=` `,c+=` `);let l=a?$n:er;return s+=` ${t}`,c+=` ${ar(r,l,t)}`,{plain:s,colored:c}}function lr(e){let t=tr(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(cr(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`?sr(e,s[t]):Xn(e,s[t])).join(Zn),u=Math.max(V(l),...e.rows.map((e,t)=>V(Array.from({length:i},(e,n)=>o(t,n)).join(Zn))));c.push(or(` ${Xn(l,u)} `,t,Qn));let d=` ${ar(t,Qn,`│`)} `;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`?sr(c,i):Xn(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 ur=[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`];function dr(e){let t=process.stderr.isTTY,n=0,r=null,i=e;return{start(){t&&(r=setInterval(()=>{process.stderr.write(`\r${ur[n%ur.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 fr(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 pr(e,t,n){let r=Date.now()+n.timeoutSec*1e3,i=dr(`Polling...`);t.quiet||i.start();try{for(;Date.now()<r;){let r=await e.requestJson({path:n.url});if(n.getStatus&&!t.quiet&&i.update(`Status: ${n.getStatus(r)}`),n.isComplete(r))return i.stop(`Done.`),r;if(n.isFailed(r)){i.stop(`Failed.`),t.verbose&&process.stderr.write(`[verbose] Task response: ${JSON.stringify(r,null,2)}\n`);let e=n.getErrorMessage?.(r);throw new m(e?`Task failed: ${e}`:`Task failed.`,b.GENERAL,e?void 0:`Use --verbose to see full API response details.`)}await new Promise(e=>setTimeout(e,n.intervalSec*1e3))}}finally{i.stop()}throw new m(`Polling timed out.`,b.TIMEOUT,`Try increasing --timeout or check task status manually.`)}async function mr(e,t,n){let r=await fetch(e);if(!r.ok)throw new m(`Download failed: HTTP ${r.status}`,b.GENERAL);let i=Number(r.headers.get(`content-length`)||0),a=r.body?.getReader();if(!a)throw new m(`No response body`,b.GENERAL);we(xe(t),{recursive:!0});let o=Ce(t),s=i>0&&!n?.quiet?fr(i,`Downloading`):null,c=0,l=!1;try{let e=new Promise((e,t)=>{o.on(`error`,t)});for(;;){let{done:t,value:n}=await Promise.race([a.read(),e]);if(t)break;o.write(n)||await new Promise(e=>o.once(`drain`,()=>e())),c+=n.byteLength,s?.update(c)}l=!0}finally{if(a.releaseLock(),s?.finish(),await new Promise((e,t)=>{o.on(`finish`,e),o.on(`error`,t),o.end()}),!l)try{Ee(t)}catch{}}return{size:c}}function hr(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 gr(e){return Math.max(1,e.concurrent??1)}async function _r(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 vr(e,t,n){return Promise.all(e.map(({url:e,destPath:r})=>t(e,r,n).then(()=>r)))}const yr={"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 br(e,t){if(e)return yr[typeof t==`boolean`?t?`qwen-image-2.0`:`qwen-image-fixed`:t][e]??e}const xr=`Enable watermark (true/false). Omit flag to use CLI default (true).`,Sr=`Enable prompt extend (true/false). Omit flag to use CLI default (true).`,Cr=`Enable prompt extend (true/false). Omit flag: true for qwen-image sync; parameter omitted on async models (API default).`,wr=`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 Tr(e,t){return e instanceof H?e:new H(`step_execution_error`,e instanceof Error?e.message:String(e),{step:t})}var Er=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 Dr=new Er;function Or(){return Dr}function kr(e,t,n,r){let i,a;n instanceof Er?(i=n,a=r):(i=Dr,a=n??r),i.registerStep(e,t,a)}function Ar(){let e=E({}),t={...T(e),output:`json`,outputExplicit:!0,quiet:!0},n={binName:`bl`,version:`0.0.0-dev`,npmPackage:`bailian-cli`,clientName:`bailian-cli`},r;try{r=oe(e)}catch{}return{client:new _({identity:n,settings:t,baseUrl:de(e),apiCred:r}),settings:t}}const jr=[`download`,`out-dir`,`output`];function Mr(e){return e.startsWith(`./`)||e.startsWith(`../`)}function Nr(e,t){let n={},r=[];for(let[i,a]of Object.entries(e))typeof a==`string`&&Mr(a)?(n[i]=Ve(t,a),r.push(i)):n[i]=a;return{input:n,resolvedKeys:r}}async function Pr(e,t,n){let r=[];for(let i of t){let t=e[i];typeof t==`string`&&(await je(t).then(()=>!0,()=>!1)||r.push(`Step "${n}" input "${i}" references file that does not exist: ${t}`))}return r}function Fr(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 Ir(e,t){if(Array.isArray(e)){e.forEach(e=>Ir(e,t));return}if(U(e)){`$from`in e&&typeof e.$from==`string`&&t.add(e.$from);for(let n of Object.values(e))Ir(n,t)}}async function Lr(e,t){let n=[];for(let r of e)for(let[e,i]of Object.entries(r.input)){if(jr.includes(e)||typeof i!=`string`||!Mr(i))continue;let a=Ve(t,i);await je(a).then(()=>!0,()=>!1)||n.push(`Step "${r.id}" input "${e}" references file that does not exist: ${a}`)}return n}async function Rr(e,t,n){if(!t.message)throw new H(`missing_input`,`text/chat requires 'message' input`,{step:`text/chat`});let r=t.model||`qwen3.8-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 zr(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;N(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;N(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 Br(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-3.0`,i=ue(r),a=t.n??1,o=se(t[`prompt-extend`],i.promptExtendDefault,`prompt-extend`),s={size:br(t.size,i.sizeProfile),n:a,seed:t.seed,prompt_extend:o,watermark:pe(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 Hr(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 qr(e,l,n),d=await Hr(Array.isArray(u.urls)?u.urls:[],t[`out-dir`],t[`out-prefix`]);return d&&(u.saved=d),u}async function Vr(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-3.0`,a=le(i),o=t.n??1,s=se(t[`prompt-extend`],a.promptExtendDefault,`prompt-extend`),c=[];for(let t of r){let r=t;N(t)&&(r=await e.client.uploadFile(t,i,{signal:n.signal})),c.push(r)}let l={size:br(t.size,a.sizeProfile),n:o,seed:t.seed,prompt_extend:s,watermark:pe(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 Hr(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 qr(e,d,n),p=await Hr(Array.isArray(f.urls)?f.urls:[],t[`out-dir`],t[`out-prefix`]);return p&&(f.saved=p),f}async function Hr(e,t,n){if(!t||e.length===0)return;await Me(t,{recursive:!0});let r=n&&n.length>0?n:`image`,i=e.length===1?[{url:e[0],destPath:P(t,`${r}.png`)}]:e.map((e,n)=>({url:e,destPath:P(t,`${r}_${String(n+1).padStart(3,`0`)}.png`)})),a=[];for(let{url:e,destPath:t}of i)await mr(e,t,{quiet:!0}),a.push(t);return a}async function Ur(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=N(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:se(t[`prompt-extend`],void 0,`prompt-extend`),watermark:pe(t.watermark),seed:t.seed}};ge(a.parameters);let o=ye(),s=(await e.client.requestJson({path:o,method:`POST`,body:a,async:!0,signal:n.signal})).output.task_id;return await Jr(e,s,(t[`poll-interval`]??10)*1e3,(n.timeoutSeconds??900)*1e3,n)}async function Wr(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`]}};ge(a.input);let o=he(),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 Gr(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)N(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`]}};ge(a.parameters);let o=me(),s=(await e.client.requestJson({path:o,method:`POST`,body:a,async:!0,signal:n.signal})).output.task_id;return await Jr(e,s,(t[`poll-interval`]??2)*1e3,(n.timeoutSeconds??300)*1e3,n)}function Kr(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 qr(e,t,n){return await Jr(e,t,3e3,e.settings.timeout*1e3,n)}async function Jr(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 Yr(n,i?.signal),o++;let s=_e(t),c=await e.client.requestJson({path:s,method:`GET`,signal:i?.signal}),l=c.output.task_status;if(l===`SUCCEEDED`)return Kr(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 Yr(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 Xr={"text/chat":(e,t,n)=>Rr(e,t,n),"vision/describe":(e,t,n)=>zr(e,t,n),"image/generate":(e,t,n)=>Br(e,t,n),"image/edit":(e,t,n)=>Vr(e,t,n),"video/generate":(e,t,n)=>Ur(e,t,n),"speech/synthesize":(e,t,n)=>Wr(e,t,n),"speech/recognize":(e,t,n)=>Gr(e,t,n)},Zr={"image/generate":e=>({data:e,artifacts:ti(e),warnings:[],metadata:{}}),"image/edit":e=>({data:e,artifacts:ti(e),warnings:[],metadata:{}}),"video/generate":e=>({data:e,artifacts:ti(e),warnings:[],metadata:{}}),"speech/synthesize":e=>({data:e,artifacts:ni(e,`audio`),warnings:[],metadata:{}}),"speech/recognize":e=>({data:e,artifacts:ni(e,`transcript`),warnings:[],metadata:{}})},Qr={"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 $r(e){for(let t of Object.keys(Xr))kr(t,async(e,n)=>await ei(t,e,n),e,Qr[t])}async function ei(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=Xr[e];if(!r)throw Error(`No direct API handler registered for step: ${e}`);let i=await r(n.blEnv??Ar(),t,n),a=Zr[e];return a?a(i):{data:i,warnings:[],metadata:{}}}function ti(e){if(!U(e))return;let t=[],n=W(e.task_id)??W(e.taskId);for(let r of ai(e.urls))t.push({url:r,taskId:n,kind:oi(r)});for(let r of ai(e.saved))t.push({path:r,taskId:n,kind:si(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:si(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(ii):[];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 ni(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(ii);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(ii);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?ri(n):void 0}function ri(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 ii(e){return typeof e==`string`}function W(e){return typeof e==`string`&&e.length>0?e:void 0}function ai(e){return Array.isArray(e)?e.map(W).filter(ii):[]}function oi(e){try{return si(new URL(e).pathname)}catch{return`artifact`}}function si(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 ci=F((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})),li=F((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;let t=ci();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=F((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=ci(),n=li();var r=ci();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=li();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(j(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.14.
|
|
3
|
+
"version": "1.14.3",
|
|
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.14.
|
|
33
|
+
"bailian-cli-core": "1.14.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@clack/prompts": "^0.7.0",
|