@doubao-dev/cli 0.0.34 → 0.0.36
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/1232.js +1 -0
- package/dist/1264.js +1 -0
- package/dist/1611.js +2 -0
- package/dist/2232.js +60 -0
- package/dist/2507.js +1 -0
- package/dist/275.js +5 -8
- package/dist/2932.js +1 -1
- package/dist/4525.js +1 -1
- package/dist/4880.js +1 -1
- package/dist/4931.js +1 -1
- package/dist/{3688.js → 5887.js} +3 -3
- package/dist/6438.js +140 -0
- package/dist/6976.js +280 -0
- package/dist/{8981.js.LICENSE.txt → 6976.js.LICENSE.txt} +108 -0
- package/dist/7410.js +1 -2
- package/dist/@byted-doubao-apps/create.js +1 -1
- package/dist/@byted-doubao-apps/kit.js +1 -1
- package/dist/@byted-doubao-apps/login.js +2 -2
- package/dist/@byted-doubao-apps/login~1.js +2 -2
- package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
- package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
- package/dist/@byted-hdt/cli.js +1 -1
- package/dist/@inquirer/select.js +1 -1
- package/dist/{assets/web-sdk-debugger/static/wasm/eaf690f2cd.module.wasm → @lynx-js/static/wasm/77fb77f77f.module.wasm} +0 -0
- package/dist/@lynx-js/{web-core-canary.js → web-core.js} +2 -2
- package/dist/app.js +1 -1
- package/dist/assets/web-sdk-debugger/__doubao_web_sdk_native_modules/applet-bridge-module-core.js +1 -1
- package/dist/assets/web-sdk-debugger/index.html +1 -1
- package/dist/assets/web-sdk-debugger/preact-devtools/index.js +4 -1
- package/dist/assets/web-sdk-debugger/static/css/index.ef5d8bc5ad.css +1 -0
- package/dist/assets/web-sdk-debugger/static/js/{682.de47e82f6b.js → 426.53c43a8594.js} +2 -2
- package/dist/assets/web-sdk-debugger/static/js/479.26e0b1d922.js +1829 -0
- package/dist/assets/web-sdk-debugger/static/js/async/503.259fed5610.js +1 -0
- package/dist/assets/web-sdk-debugger/static/js/async/{legacy-wasm-js.bacc8b5564.js → legacy-wasm-js.9b9367f818.js} +2 -2
- package/dist/assets/web-sdk-debugger/static/js/async/lynx-core-chunk.7f5e94dfae.js +5 -0
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-main-chunk.f78260697f.js +1 -0
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-markup-encoder.33c43c480e.js +4 -0
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-template-loader-thread.ba290b32d7.js +4 -0
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-worker-chunk.9a5989b104.js +1 -0
- package/dist/assets/web-sdk-debugger/static/js/async/web-elements.3fbd53918e.js +365 -0
- package/dist/assets/web-sdk-debugger/static/js/async/xmarkdown-deps.efd0ffb051.js +5 -0
- package/dist/assets/web-sdk-debugger/static/js/async/{xmarkdown-deps.3ea5672b2c.js.LICENSE.txt → xmarkdown-deps.efd0ffb051.js.LICENSE.txt} +1 -1
- package/dist/assets/web-sdk-debugger/static/js/index.b6e5c76345.js +44 -0
- package/dist/assets/web-sdk-debugger/static/js/lib-polyfill.c91181f230.js +1 -0
- package/dist/assets/web-sdk-debugger/static/wasm/{69a8ba8eb9.module.wasm → 4c402c7981.module.wasm} +0 -0
- package/dist/assets/web-sdk-debugger/static/wasm/{03b02f9e5a.module.wasm → 72aaf7d0aa.module.wasm} +0 -0
- package/dist/{@lynx-js/static/wasm/eaf690f2cd.module.wasm → assets/web-sdk-debugger/static/wasm/77fb77f77f.module.wasm} +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-react-dev.template.js +0 -0
- package/dist/assets/web-sdk-debugger/wsd/doubao-apps-react.template.js +0 -0
- package/dist/browser.js +1 -1
- package/dist/build.js +1 -1
- package/dist/build~1.js +10 -10
- package/dist/check.js +1 -1
- package/dist/client.js +1 -0
- package/dist/client~1.js +1 -0
- package/dist/components-loader.js +1 -1
- package/dist/demo-server.js +2 -2
- package/dist/demo.js +2 -2
- package/dist/dev-config.js +2 -2
- package/dist/dev-shell.js +1 -1
- package/dist/dev.js +19 -16
- package/dist/explore.js +10 -0
- package/dist/gen-explore.js +1 -1
- package/dist/gen-trajectory.js +1 -1
- package/dist/info.js +2 -2
- package/dist/init.js +4 -4
- package/dist/ink.js +1 -1
- package/dist/inquirer.js +1 -1
- package/dist/json-file.js +2 -2
- package/dist/legacy-status.js +1 -1
- package/dist/legacy-upload.js +1 -1
- package/dist/lepus.js +1 -1
- package/dist/login.js +2 -1
- package/dist/main.js +1 -1
- package/dist/{manifest-mcp-config.js → manifest-headers.js} +1 -1
- package/dist/ora.js +1 -1
- package/dist/portal.js +1 -1
- package/dist/project-layout.js +1 -1
- package/dist/project.js +1 -1
- package/dist/prompt.js +8 -8
- package/dist/prompts.js +1 -1
- package/dist/qrcode.js +1 -0
- package/dist/report.js +1 -1
- package/dist/run-registry.js +1 -1
- package/dist/run.js +321 -321
- package/dist/sandbox.js +1 -1
- package/dist/scan.js +1 -1
- package/dist/sdk.js +192 -59
- package/dist/sdk~1.js +66 -58
- package/dist/server.js +10 -10
- package/dist/skill.js +1 -1
- package/dist/skills.js +1 -1
- package/dist/skills~1.js +1 -1
- package/dist/status.js +1 -1
- package/dist/status~1.js +2 -2
- package/dist/stop.js +1 -1
- package/dist/sync.js +1 -1
- package/dist/trajectory.js +3 -0
- package/dist/update.js +1 -1
- package/dist/upgrade.js +1 -1
- package/dist/workspace.js +1 -1
- package/dist/yaml.js +1 -1
- package/package.json +7 -7
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +2 -2
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/06-/350/267/257/347/224/261.md +4 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/07-/347/225/214/351/235/242.md +8 -0
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +2 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +124 -8
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +2 -1
- package/skills/doubao-agentic-service-development/references/frontend/examples/page-widget-basics.md +1 -0
- package/skills/doubao-agentic-service-development/references/frontend/guides/client-tools-and-events.md +209 -0
- package/skills/doubao-agentic-service-development/references/frontend/guides/component-development.md +7 -1
- package/skills/doubao-agentic-service-development/references/frontend/guides/debugger-mcp.md +1 -1
- package/skills/doubao-agentic-service-development/references/frontend/widget-templates/overview.md +13 -9
- package/skills/doubao-agentic-service-development/references/frontend/widget-templates/props.md +26 -1
- package/skills/doubao-agentic-service-development/references/frontend-dev.md +2 -0
- package/dist/2168.js +0 -60
- package/dist/318.js +0 -1
- package/dist/3974.js +0 -151
- package/dist/6427.js +0 -126
- package/dist/7417.js +0 -204
- package/dist/7417.js.LICENSE.txt +0 -107
- package/dist/7945.js +0 -1
- package/dist/8981.js +0 -78
- package/dist/assets/web-sdk-debugger/static/css/index.7c65607402.css +0 -1
- package/dist/assets/web-sdk-debugger/static/js/670.8a8f0f7d57.js +0 -1829
- package/dist/assets/web-sdk-debugger/static/js/async/503.cf61731bba.js +0 -1
- package/dist/assets/web-sdk-debugger/static/js/async/lynx-core-chunk.afc1ded023.js +0 -5
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-main-chunk.7fe9af852c.js +0 -1
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-markup-encoder.f81d6d2cae.js +0 -4
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-template-loader-thread.4a49f8a286.js +0 -4
- package/dist/assets/web-sdk-debugger/static/js/async/web-core-worker-chunk.c315fd6753.js +0 -1
- package/dist/assets/web-sdk-debugger/static/js/async/web-elements.43d1e29387.js +0 -365
- package/dist/assets/web-sdk-debugger/static/js/async/xmarkdown-deps.3ea5672b2c.js +0 -5
- package/dist/assets/web-sdk-debugger/static/js/index.9f626ba3a2.js +0 -44
- package/dist/assets/web-sdk-debugger/static/js/lib-polyfill.9daa7c863e.js +0 -1
- package/dist/simulator-client.js +0 -1
- /package/dist/{7410.js.LICENSE.txt → 1611.js.LICENSE.txt} +0 -0
- /package/dist/assets/web-sdk-debugger/static/js/{670.8a8f0f7d57.js.LICENSE.txt → 479.26e0b1d922.js.LICENSE.txt} +0 -0
package/dist/2232.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
let e,t,r,i,n;import{createRequire as o}from"node:module";import{__webpack_require__ as a}from"./rslib-runtime.js";import{external_node_stream_promises_namespaceObject as s,external_node_tty_namespaceObject as l,external_node_v8_namespaceObject as c,external_node_process_namespaceObject as u,external_node_timers_promises_namespaceObject as d}from"./1264.js";import{isReadableStream as p,bold as h,isPlainObject as m,signalsByName as f,isWritableStream as g,node_modules_figures as y,source as _,isDuplexStream as w,npmRunPathEnv as b,mergeStreams as v,getStreamAsString as O,onExit as E,MaxBufferError as S,getStreamAsArray as $,stripFinalNewline as A,redBright as C,gray as T,prettyMilliseconds as x,TeaUploader as k,isStream as P,getStreamAsArrayBuffer as U,chalkStderr as I,yellowBright as j}from"./5887.js";let H=o(import.meta.url);a.add({readline(e){e.exports=H("readline")}});class M extends Error{constructor(e,t,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}}class N extends M{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}class D{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t!==this.defaultValue&&Array.isArray(t)?(t.push(e),t):[e]}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new N(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(e,t):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function R(e){let t=e.name()+(!0===e.variadic?"...":"");return e.required?"<"+t+">":"["+t+"]"}let B=a("node:util");class V{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),r=e._getHelpCommand();return r&&!r._hidden&&t.push(r),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let r=e=>e.short?e.short.replace(/^-/,""):e.long.replace(/^--/,"");return r(e).localeCompare(r(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),r=e._getHelpOption();if(r&&!r.hidden){let i=r.short&&e._findOption(r.short),n=r.long&&e._findOption(r.long);i||n?r.long&&!n?t.push(e.createOption(r.long,r.description)):r.short&&!i&&t.push(e.createOption(r.short,r.description)):t.push(r)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let r=e.parent;r;r=r.parent){let e=r.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return(e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||""}),e.registeredArguments.find(e=>e.description))?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(e=>R(e)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,r)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(r)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,r)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(r)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,r)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(r)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,r)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(r)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+"|"+e._aliases[0]);let r="";for(let t=e.parent;t;t=t.parent)r=t.name()+" "+r;return r+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(", ")}`),void 0!==e.defaultValue&&(e.required||e.optional||e.isBoolean()&&"boolean"==typeof e.defaultValue)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),void 0!==e.presetArg&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),void 0!==e.envVar&&t.push(`env: ${e.envVar}`),t.length>0){let r=`(${t.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(", ")}`),void 0!==e.defaultValue&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let r=`(${t.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}formatItemList(e,t,r){return 0===t.length?[]:[r.styleTitle(e),...t,""]}groupItems(e,t,r){let i=new Map;return e.forEach(e=>{let t=r(e);i.has(t)||i.set(t,[])}),t.forEach(e=>{let t=r(e);i.has(t)||i.set(t,[]),i.get(t).push(e)}),i}formatHelp(e,t){let r=t.padWidth(e,t),i=t.helpWidth??80;function n(e,i){return t.formatItem(e,r,i,t)}let o=[`${t.styleTitle("Usage:")} ${t.styleUsage(t.commandUsage(e))}`,""],a=t.commandDescription(e);a.length>0&&(o=o.concat([t.boxWrap(t.styleCommandDescription(a),i),""]));let s=t.visibleArguments(e).map(e=>n(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(o=o.concat(this.formatItemList("Arguments:",s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??"Options:").forEach((e,r)=>{let i=e.map(e=>n(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));o=o.concat(this.formatItemList(r,i,t))}),t.showGlobalOptions){let r=t.visibleGlobalOptions(e).map(e=>n(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));o=o.concat(this.formatItemList("Global Options:",r,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||"Commands:").forEach((e,r)=>{let i=e.map(e=>n(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));o=o.concat(this.formatItemList(r,i,t))}),o.join("\n")}displayWidth(e){return(0,B.stripVTControlCharacters)(e).length}styleTitle(e){return e}styleUsage(e){return e.split(" ").map(e=>"[options]"===e?this.styleOptionText(e):"[command]"===e?this.styleSubcommandText(e):"["===e[0]||"<"===e[0]?this.styleArgumentText(e):this.styleCommandText(e)).join(" ")}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(" ").map(e=>"[options]"===e?this.styleOptionText(e):"["===e[0]||"<"===e[0]?this.styleArgumentText(e):this.styleSubcommandText(e)).join(" ")}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,r,i){let n,o=" ".repeat(2);if(!r)return o+e;let a=e.padEnd(t+e.length-i.displayWidth(e)),s=(this.helpWidth??80)-t-2-2;return n=s<this.minWidthToWrap||i.preformatted(r)?r:i.boxWrap(r,s).replace(/\n/g,"\n"+" ".repeat(t+2)),o+a+" ".repeat(2)+n.replace(/\n/g,`
|
|
2
|
+
${o}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let r=e.split(/\r\n|\n/),i=/[\s]*[^\s]+/g,n=[];return r.forEach(e=>{let r=e.match(i);if(null===r)return void n.push("");let o=[r.shift()],a=this.displayWidth(o[0]);r.forEach(e=>{let r=this.displayWidth(e);if(a+r<=t){o.push(e),a+=r;return}n.push(o.join(""));let i=e.trimStart();o=[i],a=this.displayWidth(i)}),n.push(o.join(""))}),n.join("\n")}}class L{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let r=function(e){let t,r,i=/^-[^-]$/,n=/^--[^-]/,o=e.split(/[ |,]+/).concat("guard");if(i.test(o[0])&&(t=o.shift()),n.test(o[0])&&(r=o.shift()),!t&&i.test(o[0])&&(t=o.shift()),!t&&n.test(o[0])&&(t=r,r=o.shift()),o[0].startsWith("-")){let t=o[0],r=`option creation failed due to '${t}' in option flags '${e}'`;if(/^-[^-][^-]/.test(t))throw Error(`${r}
|
|
3
|
+
- a short flag is a single dash and a single character
|
|
4
|
+
- either use a single dash and a single character (for a short flag)
|
|
5
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(i.test(t))throw Error(`${r}
|
|
6
|
+
- too many short flags`);if(n.test(t))throw Error(`${r}
|
|
7
|
+
- too many long flags`);throw Error(`${r}
|
|
8
|
+
- unrecognised flag format`)}if(void 0===t&&void 0===r)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:r}}(e);this.short=r.shortFlag,this.long=r.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return"string"==typeof e&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t!==this.defaultValue&&Array.isArray(t)?(t.push(e),t):[e]}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,t)=>{if(!this.argChoices.includes(e))throw new N(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(e,t):e},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.negate?W(this.name().replace(/^no-/,"")):W(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class F{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let r=t.attributeName();if(!this.dualOptions.has(r))return!0;let i=this.negativeOptions.get(r).presetArg;return t.negate===((void 0!==i&&i)===e)}}function W(e){return e.split("-").reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function G(e,t){if(!t||0===t.length)return"";t=Array.from(new Set(t));let r=e.startsWith("--");r&&(e=e.slice(2),t=t.map(e=>e.slice(2)));let i=[],n=3;return(t.forEach(t=>{if(t.length<=1)return;let r=function(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let r=[];for(let t=0;t<=e.length;t++)r[t]=[t];for(let e=0;e<=t.length;e++)r[0][e]=e;for(let i=1;i<=t.length;i++)for(let n=1;n<=e.length;n++){let o;o=+(e[n-1]!==t[i-1]),r[n][i]=Math.min(r[n-1][i]+1,r[n][i-1]+1,r[n-1][i-1]+o),n>1&&i>1&&e[n-1]===t[i-2]&&e[n-2]===t[i-1]&&(r[n][i]=Math.min(r[n][i],r[n-2][i-2]+1))}return r[e.length][t.length]}(e,t),o=Math.max(e.length,t.length);(o-r)/o>.4&&(r<n?(n=r,i=[t]):r===n&&i.push(t))}),i.sort((e,t)=>e.localeCompare(t)),r&&(i=i.map(e=>`--${e}`)),i.length>1)?`
|
|
9
|
+
(Did you mean one of ${i.join(", ")}?)`:1===i.length?`
|
|
10
|
+
(Did you mean ${i[0]}?)`:""}let K=a("node:events"),q=a("node:child_process"),z=a("node:path"),J=a("node:fs");class X extends K.EventEmitter{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:e=>u.stdout.write(e),writeErr:e=>u.stderr.write(e),outputError:(e,t)=>t(e),getOutHelpWidth:()=>u.stdout.isTTY?u.stdout.columns:void 0,getErrHelpWidth:()=>u.stderr.isTTY?u.stderr.columns:void 0,getOutHasColors:()=>Z()??(u.stdout.isTTY&&u.stdout.hasColors?.()),getErrHasColors:()=>Z()??(u.stderr.isTTY&&u.stderr.hasColors?.()),stripColor:e=>(0,B.stripVTControlCharacters)(e)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,r){let i=t,n=r;"object"==typeof i&&null!==i&&(n=i,i=null),n=n||{};let[,o,a]=e.match(/([^ ]+) *(.*)/),s=this.createCommand(o);return(i&&(s.description(i),s._executableHandler=!0),n.isDefault&&(this._defaultCommandName=s._name),s._hidden=!!(n.noHelp||n.hidden),s._executableFile=n.executableFile||null,a&&s.arguments(a),this._registerCommand(s),s.parent=this,s.copyInheritedSettings(this),i)?this:s}createCommand(e){return new X(e)}createHelp(){return Object.assign(new V,this.configureHelp())}configureHelp(e){return void 0===e?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return void 0===e?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return"string"!=typeof e&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw Error(`Command passed to .addCommand() must have a name
|
|
11
|
+
- specify the name in Command constructor or using .name()`);return(t=t||{}).isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new D(e,t)}argument(e,t,r,i){let n=this.createArgument(e,t);return"function"==typeof r?n.default(i).argParser(r):n.default(r),this.addArgument(n),this}arguments(e){return e.trim().split(/ +/).forEach(e=>{this.argument(e)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&void 0!==e.defaultValue&&void 0===e.parseArg)throw Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if("boolean"==typeof e)return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let[,r,i]=(e??"help [command]").match(/([^ ]+) *(.*)/),n=t??"display help for command",o=this.createCommand(r);return o.helpOption(!1),i&&o.arguments(i),n&&o.description(n),this._addImplicitHelpCommand=!0,this._helpCommand=o,(e||t)&&this._initCommandGroup(o),this}addHelpCommand(e,t){return"object"!=typeof e?this.helpCommand(e,t):(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e)),this}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(void 0===this._helpCommand&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let r=["preSubcommand","preAction","postAction"];if(!r.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
|
|
12
|
+
Expecting one of '${r.join("', '")}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return e?this._exitCallback=e:this._exitCallback=e=>{if("commander.executeSubCommandAsync"!==e.code)throw e},this}_exit(e,t,r){this._exitCallback&&this._exitCallback(new M(e,t,r)),u.exit(e)}action(e){let t=t=>{let r=this.registeredArguments.length,i=t.slice(0,r);return this._storeOptionsAsProperties?i[r]=this:i[r]=this.opts(),i.push(this),e.apply(this,i)};return this._actionHandler=t,this}createOption(e,t){return new L(e,t)}_callParseArg(e,t,r,i){try{return e.parseArg(t,r)}catch(e){if("commander.invalidArgument"===e.code){let t=`${i} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let r=e.long&&this._findOption(e.long)?e.long:e.short;throw Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${r}'
|
|
13
|
+
- already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=e=>[e.name()].concat(e.aliases()),r=t(e).find(e=>this._findCommand(e));if(r){let i=t(this._findCommand(r)).join("|"),n=t(e).join("|");throw Error(`cannot add command '${n}' as already have command '${i}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),r=e.attributeName();void 0!==e.defaultValue&&this.setOptionValueWithSource(r,e.defaultValue,"default");let i=(t,i,n)=>{null==t&&void 0!==e.presetArg&&(t=e.presetArg);let o=this.getOptionValue(r);null!==t&&e.parseArg?t=this._callParseArg(e,t,o,i):null!==t&&e.variadic&&(t=e._collectValue(t,o)),null==t&&(t=!e.negate&&(!!e.isBoolean()||!!e.optional||"")),this.setOptionValueWithSource(r,t,n)};return this.on("option:"+t,t=>{let r=`error: option '${e.flags}' argument '${t}' is invalid.`;i(t,r,"cli")}),e.envVar&&this.on("optionEnv:"+t,t=>{let r=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;i(t,r,"env")}),this}_optionEx(e,t,r,i,n){if("object"==typeof t&&t instanceof L)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let o=this.createOption(t,r);if(o.makeOptionMandatory(!!e.mandatory),"function"==typeof i)o.default(n).argParser(i);else if(i instanceof RegExp){let e=i;i=(t,r)=>{let i=e.exec(t);return i?i[0]:r},o.default(n).argParser(i)}else o.default(i);return this.addOption(o)}option(e,t,r,i){return this._optionEx({},e,t,r,i)}requiredOption(e,t,r,i){return this._optionEx({mandatory:!0},e,t,r,i)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,r){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=r,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(r=>{void 0!==r.getOptionValueSource(e)&&(t=r.getOptionValueSource(e))}),t}_prepareUserArgs(e,t){let r;if(void 0!==e&&!Array.isArray(e))throw Error("first parameter to parse must be array or undefined");if(t=t||{},void 0===e&&void 0===t.from){u.versions?.electron&&(t.from="electron");let e=u.execArgv??[];(e.includes("-e")||e.includes("--eval")||e.includes("-p")||e.includes("--print"))&&(t.from="eval")}switch(void 0===e&&(e=u.argv),this.rawArgs=e.slice(),t.from){case void 0:case"node":this._scriptPath=e[1],r=e.slice(2);break;case"electron":u.defaultApp?(this._scriptPath=e[1],r=e.slice(2)):r=e.slice(1);break;case"user":r=e.slice(0);break;case"eval":r=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",r}parse(e,t){this._prepareForParse();let r=this._prepareUserArgs(e,t);return this._parseCommand([],r),this}async parseAsync(e,t){this._prepareForParse();let r=this._prepareUserArgs(e,t);return await this._parseCommand([],r),this}_prepareForParse(){null===this._savedState?(this.options.filter(e=>e.negate&&void 0===e.defaultValue&&void 0===this.getOptionValue(e.attributeName())).forEach(e=>{let t=e.long.replace(/^--no-/,"--");this._findOption(t)||this.setOptionValueWithSource(e.attributeName(),!0,"default")}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
14
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,r){if(J.existsSync(e))return;let i=t?`searched for local subcommand relative to directory '${t}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";throw Error(`'${e}' does not exist
|
|
15
|
+
- if '${r}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
16
|
+
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
17
|
+
- ${i}`)}_executeSubCommand(e,t){let r;t=t.slice();let i=[".js",".ts",".tsx",".mjs",".cjs"];function n(e,t){let r=z.resolve(e,t);if(J.existsSync(r))return r;if(i.includes(z.extname(t)))return;let n=i.find(e=>J.existsSync(`${r}${e}`));if(n)return`${r}${n}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=e._executableFile||`${this._name}-${e._name}`,a=this._executableDir||"";if(this._scriptPath){let e;try{e=J.realpathSync(this._scriptPath)}catch{e=this._scriptPath}a=z.resolve(z.dirname(e),a)}if(a){let t=n(a,o);if(!t&&!e._executableFile&&this._scriptPath){let r=z.basename(this._scriptPath,z.extname(this._scriptPath));r!==this._name&&(t=n(a,`${r}-${e._name}`))}o=t||o}let s=i.includes(z.extname(o));"win32"!==u.platform?s?(t.unshift(o),t=Y(u.execArgv).concat(t),r=q.spawn(u.argv["0"],t,{stdio:"inherit"})):r=q.spawn(o,t,{stdio:"inherit"}):(this._checkForMissingExecutable(o,a,e._name),t.unshift(o),t=Y(u.execArgv).concat(t),r=q.spawn(u.execPath,t,{stdio:"inherit"})),r.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(e=>{u.on(e,()=>{!1===r.killed&&null===r.exitCode&&r.kill(e)})});let l=this._exitCallback;r.on("close",e=>{e=e??1,l?l(new M(e,"commander.executeSubCommandAsync","(close)")):u.exit(e)}),r.on("error",t=>{if("ENOENT"===t.code)this._checkForMissingExecutable(o,a,e._name);else if("EACCES"===t.code)throw Error(`'${o}' not executable`);if(l){let e=new M(1,"commander.executeSubCommandAsync","(error)");e.nestedError=t,l(e)}else u.exit(1)}),this.runningCommand=r}_dispatchSubcommand(e,t,r){let i,n=this._findCommand(e);return n||this.help({error:!0}),n._prepareForParse(),i=this._chainOrCallSubCommandHook(i,n,"preSubcommand"),i=this._chainOrCall(i,()=>{if(!n._executableHandler)return n._parseCommand(t,r);this._executeSubCommand(n,t.concat(r))})}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&null==this.args[t]&&this.missingArgument(e.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic||this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,r)=>{let i=t;if(null!==t&&e.parseArg){let n=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;i=this._callParseArg(e,t,r,n)}return i};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((r,i)=>{let n=r.defaultValue;r.variadic?i<this.args.length?(n=this.args.slice(i),r.parseArg&&(n=n.reduce((t,i)=>e(r,i,t),r.defaultValue))):void 0===n&&(n=[]):i<this.args.length&&(n=this.args[i],r.parseArg&&(n=e(r,n,r.defaultValue))),t[i]=n}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&"function"==typeof e.then?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let r=e,i=[];return this._getCommandAndAncestors().reverse().filter(e=>void 0!==e._lifeCycleHooks[t]).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{i.push({hookedCommand:e,callback:t})})}),"postAction"===t&&i.reverse(),i.forEach(e=>{r=this._chainOrCall(r,()=>e.callback(e.hookedCommand,this))}),r}_chainOrCallSubCommandHook(e,t,r){let i=e;return void 0!==this._lifeCycleHooks[r]&&this._lifeCycleHooks[r].forEach(e=>{i=this._chainOrCall(i,()=>e(this,t))}),i}_parseCommand(e,t){let r=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(r.operands),t=r.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);!this.commands.length||0!==this.args.length||this._actionHandler||this._defaultCommandName||this.help({error:!0}),this._outputHelpIfRequested(r.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let i=()=>{r.unknown.length>0&&this.unknownOption(r.unknown[0])},n=`command:${this.name()}`;if(this._actionHandler){let r;return i(),this._processArguments(),r=this._chainOrCallHooks(r,"preAction"),r=this._chainOrCall(r,()=>this._actionHandler(this.processedArgs)),this.parent&&(r=this._chainOrCall(r,()=>{this.parent.emit(n,e,t)})),r=this._chainOrCallHooks(r,"postAction")}if(this.parent?.listenerCount(n))i(),this._processArguments(),this.parent.emit(n,e,t);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,t);this.listenerCount("command:*")?this.emit("command:*",e,t):this.commands.length?this.unknownCommand():(i(),this._processArguments())}else this.commands.length?(i(),this.help({error:!0})):(i(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&void 0===e.getOptionValue(t.attributeName())&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return void 0!==this.getOptionValue(t)&&"default"!==this.getOptionValueSource(t)});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let r=e.find(e=>t.conflictsWith.includes(e.attributeName()));r&&this._conflictingOption(t,r)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],r=[],i=t;function n(e){return e.length>1&&"-"===e[0]}let o=e=>!!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)&&!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))),a=null,s=null,l=0;for(;l<e.length||s;){let c=s??e[l++];if(s=null,"--"===c){i===r&&i.push(c),i.push(...e.slice(l));break}if(a&&(!n(c)||o(c))){this.emit(`option:${a.name()}`,c);continue}if(a=null,n(c)){let t=this._findOption(c);if(t){if(t.required){let r=e[l++];void 0===r&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,r)}else if(t.optional){let r=null;l<e.length&&(!n(e[l])||o(e[l]))&&(r=e[l++]),this.emit(`option:${t.name()}`,r)}else this.emit(`option:${t.name()}`);a=t.variadic?t:null;continue}}if(c.length>2&&"-"===c[0]&&"-"!==c[1]){let e=this._findOption(`-${c[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,c.slice(2)):(this.emit(`option:${e.name()}`),s=`-${c.slice(2)}`);continue}}if(/^--[^=]+=/.test(c)){let e=c.indexOf("="),t=this._findOption(c.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,c.slice(e+1));continue}}if(i===t&&n(c)&&!(0===this.commands.length&&o(c))&&(i=r),(this._enablePositionalOptions||this._passThroughOptions)&&0===t.length&&0===r.length){if(this._findCommand(c)){t.push(c),r.push(...e.slice(l));break}else if(this._getHelpCommand()&&c===this._getHelpCommand().name()){t.push(c,...e.slice(l));break}else if(this._defaultCommandName){r.push(c,...e.slice(l));break}}if(this._passThroughOptions){i.push(c,...e.slice(l));break}i.push(c)}return{operands:t,unknown:r}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let r=0;r<t;r++){let t=this.options[r].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}
|
|
18
|
+
`,this._outputConfiguration.writeErr),"string"==typeof this._showHelpAfterError?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
19
|
+
`):this._showHelpAfterError&&(this._outputConfiguration.writeErr("\n"),this.outputHelp({error:!0}));let r=t||{},i=r.exitCode||1,n=r.code||"commander.error";this._exit(i,n,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in u.env){let t=e.attributeName();(void 0===this.getOptionValue(t)||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,u.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new F(this.options),t=e=>void 0!==this.getOptionValue(e)&&!["default","implied"].includes(this.getOptionValueSource(e));this.options.filter(r=>void 0!==r.implied&&t(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let r=e=>{let t=e.attributeName(),r=this.getOptionValue(t),i=this.options.find(e=>e.negate&&t===e.attributeName()),n=this.options.find(e=>!e.negate&&t===e.attributeName());return i&&(void 0===i.presetArg&&!1===r||void 0!==i.presetArg&&r===i.presetArg)?i:n||e},i=e=>{let t=r(e),i=t.attributeName();return"env"===this.getOptionValueSource(i)?`environment variable '${t.envVar}'`:`option '${t.flags}'`},n=`error: ${i(e)} cannot be used with ${i(t)}`;this.error(n,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let r=[],i=this;do{let e=i.createHelp().visibleOptions(i).filter(e=>e.long).map(e=>e.long);r=r.concat(e),i=i.parent}while(i&&!i._enablePositionalOptions);t=G(e,r)}let r=`error: unknown option '${e}'${t}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,r=e.length,i=this.parent?` for '${this.name()}'`:"",n=e.join(", "),o=`error: too many arguments${i}. Expected ${t} argument${1===t?"":"s"} but got ${r}: ${n}.`;this.error(o,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let r=[];this.createHelp().visibleCommands(this).forEach(e=>{r.push(e.name()),e.alias()&&r.push(e.alias())}),t=G(e,r)}let r=`error: unknown command '${e}'${t}`;this.error(r,{code:"commander.unknownCommand"})}version(e,t,r){if(void 0===e)return this._version;this._version=e,t=t||"-V, --version",r=r||"output the version number";let i=this.createOption(t,r);return this._versionOptionName=i.attributeName(),this._registerOption(i),this.on("option:"+i.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
20
|
+
`),this._exit(0,"commander.version",e)}),this}description(e,t){return void 0===e&&void 0===t?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return void 0===e?this._summary:(this._summary=e,this)}alias(e){if(void 0===e)return this._aliases[0];let t=this;if(0!==this.commands.length&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(e);if(r){let t=[r.name()].concat(r.aliases()).join("|");throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return void 0===e?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(void 0===e){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>R(e));return[].concat(this.options.length||null!==this._helpOption?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?e:[]).join(" ")}return this._usage=e,this}name(e){return void 0===e?this._name:(this._name=e,this)}helpGroup(e){return void 0===e?this._helpGroupHeading??"":(this._helpGroupHeading=e,this)}commandsGroup(e){return void 0===e?this._defaultCommandGroup??"":(this._defaultCommandGroup=e,this)}optionsGroup(e){return void 0===e?this._defaultOptionGroup??"":(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=z.basename(e,z.extname(e)),this}executableDir(e){return void 0===e?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),r=this._getOutputContext(e);t.prepareContext({error:r.error,helpWidth:r.helpWidth,outputHasColors:r.hasColors});let i=t.formatHelp(this,t);return r.hasColors?i:this._outputConfiguration.stripColor(i)}_getOutputContext(e){let t,r,i,n=!!(e=e||{}).error;return n?(t=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(t=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:n,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),t(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;"function"==typeof e&&(t=e,e=void 0);let r=this._getOutputContext(e),i={error:r.error,write:r.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit("beforeAllHelp",i)),this.emit("beforeHelp",i);let n=this.helpInformation({error:r.error});if(t&&"string"!=typeof(n=t(n))&&!Buffer.isBuffer(n))throw Error("outputHelp callback must return a string or a Buffer");r.write(n),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",i),this._getCommandAndAncestors().forEach(e=>e.emit("afterAllHelp",i))}helpOption(e,t){return"boolean"==typeof e?e?(null===this._helpOption&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null:(this._helpOption=this.createOption(e??"-h, --help",t??"display help for command"),(e||t)&&this._initOptionGroup(this._helpOption)),this}_getHelpOption(){return void 0===this._helpOption&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(u.exitCode??0);0===t&&e&&"function"!=typeof e&&e.error&&(t=1),this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
21
|
+
Expecting one of '${r.join("', '")}'`);let i=`${e}Help`;return this.on(i,e=>{let r;(r="function"==typeof t?t({error:e.error,command:e.command}):t)&&e.write(`${r}
|
|
22
|
+
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}}function Y(e){return e.map(e=>{let t,r;if(!e.startsWith("--inspect"))return e;let i="127.0.0.1",n="9229";return(null!==(r=e.match(/^(--inspect(-brk)?)$/))?t=r[1]:null!==(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))?(t=r[1],/^\d+$/.test(r[3])?n=r[3]:i=r[3]):null!==(r=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))&&(t=r[1],i=r[3],n=r[4]),t&&"0"!==n)?`${t}=${i}:${parseInt(n)+1}`:e})}function Z(){return!u.env.NO_COLOR&&"0"!==u.env.FORCE_COLOR&&"false"!==u.env.FORCE_COLOR&&(!!u.env.FORCE_COLOR||void 0!==u.env.CLICOLOR_FORCE||void 0)}new X;let Q={authBaseUrl:"https://developer.doubao.com",apiBaseUrl:"https://developer.doubao.com",authAllowedOrigins:["https://developer.doubao.com"],excludeCommands:[],requestHeaders:{}},ee=new Set(["x-tt-env","x-use-ppe"]),et=(lj=Q,{authBaseUrl:(lH=(n=process.env.DBX_BUILD_BASE_DOMAIN?eo(function(e){let t=e.trim();if(/^http:\/\//i.test(t))throw Error("DBX 构建配置 baseDomain 必须使用 HTTPS");return/^https:\/\//i.test(t)?t:`https://${t}`}(process.env.DBX_BUILD_BASE_DOMAIN),"baseDomain"):void 0,{authBaseUrl:process.env.DBX_BUILD_AUTH_BASE_URL?eo(process.env.DBX_BUILD_AUTH_BASE_URL,"authBaseUrl"):n,apiBaseUrl:process.env.DBX_BUILD_API_BASE_URL?eo(process.env.DBX_BUILD_API_BASE_URL,"apiBaseUrl"):n,authAllowedOrigins:process.env.DBX_BUILD_AUTH_ALLOWED_ORIGINS?es(process.env.DBX_BUILD_AUTH_ALLOWED_ORIGINS):void 0,excludeCommands:process.env.DBX_BUILD_EXCLUDE_COMMANDS?es(process.env.DBX_BUILD_EXCLUDE_COMMANDS):void 0,requestHeaders:process.env.DBX_BUILD_REQUEST_HEADERS_JSON?function(e){let t=JSON.parse(e);if("object"!=typeof t||null===t||Array.isArray(t))throw Error("DBX_BUILD_REQUEST_HEADERS_JSON 必须是 JSON 对象");let r={};for(let[e,i]of Object.entries(t)){let t=e.toLowerCase();if(ee.has(t)){if("string"!=typeof i)throw Error(`DBX_BUILD_REQUEST_HEADERS_JSON 中请求头 ${t} 的值必须是字符串`);r[t]=i}}return r}(process.env.DBX_BUILD_REQUEST_HEADERS_JSON):void 0})).authBaseUrl??lj.authBaseUrl,apiBaseUrl:lH.apiBaseUrl??lj.apiBaseUrl,authAllowedOrigins:[...lj.authAllowedOrigins,...lH.authAllowedOrigins??[]],excludeCommands:lH.excludeCommands??lj.excludeCommands,requestHeaders:{...lj.requestHeaders,...lH.requestHeaders??{}}});function er(){var e;return{baseUrl:eo(et.authBaseUrl,"authBaseUrl"),allowedOrigins:[...new Set([ea((e=et).authBaseUrl,"authBaseUrl"),ea(e.apiBaseUrl,"apiBaseUrl"),...e.authAllowedOrigins.map(e=>ea(e,"authAllowedOrigins"))])],requestHeaders:et.requestHeaders}}function ei(){return eo(et.apiBaseUrl,"apiBaseUrl")}function en(e){return e.replace(/\/+$/,"")}function eo(e,t){let r;try{r=new URL(en(e))}catch{throw Error(`DBX 构建配置 ${t} 必须是完整的 HTTPS 地址`)}if("https:"!==r.protocol)throw Error(`DBX 构建配置 ${t} 必须使用 HTTPS`);return en(r.toString())}function ea(e,t){return new URL(eo(e,t)).origin}function es(e){return"string"==typeof e?e.split(",").map(e=>e.trim()).filter(Boolean):Array.isArray(e)?e.map(e=>String(e).trim()).filter(Boolean):[]}let el=JSON.parse('{"UU":"@doubao-dev/cli"}').UU;function ec(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function eu(e,t){if(!ec(e))return;let r=e[t];return"string"==typeof r&&r?r:void 0}let ed="0.0.36",ep=a("node:os"),eh=z.join(ep.homedir(),".dbx","token"),em=z.join(ep.homedir(),".doubao","token"),ef={};function eg(e={}){let t={...ef,...e},r=function(e,t){let r;try{r=new URL(ey(e))}catch{throw Error(`${t} 必须是完整的 HTTPS URL`)}if("https:"!==r.protocol)throw Error(`${t} 必须使用 HTTPS`);return ey(r.toString())}(t.baseUrl??"https://developer.doubao.com","baseUrl"),i=t.tokenPath??eh;return{...t,baseUrl:r,allowedOrigins:function(e,t){let r=new Set([new URL(t).origin]);for(let t of e??[]){let e;try{e=new URL(t)}catch{throw Error(`allowedOrigins 中的来源必须是完整的 HTTPS 地址:${t}`)}if("https:"!==e.protocol)throw Error(`allowedOrigins 中的来源必须使用 HTTPS:${t}`);r.add(e.origin)}return[...r]}(t.allowedOrigins,r),tokenPath:i,legacyTokenPath:t.tokenPath?void 0:em,requestHeaders:new Headers(t.requestHeaders)}}function ey(e){return e.replace(/\/+$/,"")}let e_=a("node:crypto"),ew=(0,B.promisify)(q.execFile),eb="byted-doubao-open-dbx-cli",ev="dbx-cli",eO="aes-256-gcm";class eE extends Error{constructor(e){super(e),this.name="CredentialStoreError"}}class eS extends eE{constructor(){super("无法读取本地登录凭证:用于解密凭证的密钥文件 master.key 已丢失。请运行 dbx auth login 重新登录。")}}class e${constructor(e,t){this.primary=e,this.fallback=t}async get(e){let t;try{let t=await this.primary.get(e);if(t)return t}catch(e){t=e}try{let t=await this.fallback.get(e);if(t)return t}catch(e){if(t)throw new eE(`从系统凭证存储读取登录凭证失败(${eH(t)});从备用加密文件读取也失败:${eH(e)}`);throw e}if(t)throw t instanceof Error?t:new eE(`从系统凭证存储读取登录凭证失败:${String(t)}`)}async set(e,t){let r;try{await this.primary.set(e,t)}catch(e){r=e}try{await this.fallback.set(e,t)}catch(e){if(r)throw new eE(`向系统凭证存储写入登录凭证失败(${eH(r)}),写入备用加密文件也失败(${eH(e)})`);throw e}}async delete(e){let t;try{await this.primary.delete(e)}catch(e){t=e}try{await this.fallback.delete(e)}catch(e){if(t)throw new eE(`从系统凭证存储删除登录凭证失败(${eH(t)}),从备用加密文件删除也失败(${eH(e)})`);throw e}}}class eA{constructor(e={}){this.baseDir=e.baseDir??("darwin"===process.platform?z.join(ep.homedir(),"Library","Application Support",ev):"win32"===process.platform?z.join(process.env.APPDATA||z.join(ep.homedir(),"AppData","Roaming"),ev):z.join(process.env.XDG_DATA_HOME||z.join(ep.homedir(),".local","share"),ev))}async get(e){var t,r;let i,n,o=this.credentialFilePath(e);try{i=await J.promises.readFile(o,"utf8")}catch(e){if(ej(e)&&"ENOENT"===e.code)return;throw new eE(`读取加密凭证文件失败:${eH(e)}`)}try{n=JSON.parse(i)}catch(e){throw new eE(`加密凭证文件不是有效的 JSON:${eH(e)}`)}if(!((t=n)&&"object"==typeof t&&1===t.version&&t.algorithm===eO&&"string"==typeof t.iv&&"string"==typeof t.authTag&&"string"==typeof t.ciphertext))throw new eE("无法读取本地登录凭证:当前 CLI 不支持凭证文件中的格式或字段。");let a=await this.readMasterKey();try{let t=e_.createDecipheriv(eO,a,Buffer.from(n.iv,"base64url"));return t.setAAD(Buffer.from((r=e,`${eb}:${r}`),"utf8")),t.setAuthTag(Buffer.from(n.authTag,"base64url")),Buffer.concat([t.update(Buffer.from(n.ciphertext,"base64url")),t.final()]).toString("utf8")}catch(e){throw new eE(`解密凭证文件失败:${eH(e)}`)}}async set(e,t){var r;let i=await this.readOrCreateMasterKey(),n=e_.randomBytes(12),o=e_.createCipheriv(eO,i,n);o.setAAD(Buffer.from((r=e,`${eb}:${r}`),"utf8"));let a=Buffer.concat([o.update(t,"utf8"),o.final()]),s={version:1,algorithm:eO,iv:n.toString("base64url"),authTag:o.getAuthTag().toString("base64url"),ciphertext:a.toString("base64url")};await ex(this.credentialFilePath(e),`${JSON.stringify(s,null,2)}
|
|
23
|
+
`)}async delete(e){try{await J.promises.unlink(this.credentialFilePath(e))}catch(e){if(!ej(e)||"ENOENT"!==e.code)throw new eE(`删除加密凭证文件失败:${eH(e)}`)}}masterKeyPath(){return z.join(this.baseDir,"master.key")}credentialFilePath(e){let t=e_.createHash("sha256").update(e).digest("hex");return z.join(this.baseDir,"credentials",`${t}.json`)}async readMasterKey(){try{var e=await J.promises.readFile(this.masterKeyPath(),"utf8");let t=Buffer.from(e.trim(),"base64url");if(32!==t.length)throw new eE("无法读取本地登录凭证:密钥文件 master.key 的内容无法解析为 32 字节密钥。");return t}catch(e){if(ej(e)&&"ENOENT"===e.code)throw new eS;if(e instanceof eE)throw e;throw new eE(`无法读取用于解密本地登录凭证的密钥文件 master.key:${eH(e)}`)}}async readOrCreateMasterKey(){try{return await this.readMasterKey()}catch(e){if(!(e instanceof eS))throw e}let e=e_.randomBytes(32);try{return await ex(this.masterKeyPath(),`${e.toString("base64url")}
|
|
24
|
+
`),e}catch(e){if(ej(e)&&"EEXIST"===e.code)return this.readMasterKey();throw new eE(`无法保存用于加密本地登录凭证的密钥文件 master.key:${eH(e)}`)}}}class eC{async get(e){try{let{stdout:t}=await ew("security",["find-generic-password","-a",e,"-s",eb,"-w"]);return String(t).replace(/\n$/,"")}catch(e){if(ek(e))return;throw new eE(`从 macOS 钥匙串读取登录凭证失败:${eH(e)}`)}}async set(e,t){try{await ew("security",["add-generic-password","-a",e,"-s",eb,"-w",t,"-U"])}catch(e){throw new eE(`向 macOS 钥匙串写入登录凭证失败:${eH(e)}`)}}async delete(e){try{await ew("security",["delete-generic-password","-a",e,"-s",eb])}catch(e){if(ek(e))return;throw new eE(`从 macOS 钥匙串删除登录凭证失败:${eH(e)}`)}}}class eT{async get(e){try{let{stdout:t}=await ew("secret-tool",["lookup","service",eb,"account",e]);return String(t).replace(/\n$/,"")}catch(e){if(eP(e))return;throw new eE(`从 Secret Service 读取登录凭证失败:${eH(e)}`)}}async set(e,t){try{var r,i,n;await (r="secret-tool",i=["store","--label","Doubao Open CLI 登录凭证","service",eb,"account",e],n=t,new Promise((e,t)=>{let o=(0,q.spawn)(r,i,{stdio:["pipe","ignore","pipe"]}),a="";o.stderr.setEncoding("utf8"),o.stderr.on("data",e=>{a+=String(e)}),o.on("error",t),o.on("close",i=>{0===i?e():t(Error(a.trim()||`${r} 已退出,退出码为 ${i}`))}),o.stdin.end(n)}))}catch(e){throw new eE(`向 Secret Service 写入登录凭证失败:${eH(e)}`)}}async delete(e){try{await ew("secret-tool",["clear","service",eb,"account",e])}catch(e){if(eP(e))return;throw new eE(`从 Secret Service 删除登录凭证失败:${eH(e)}`)}}}async function ex(e,t){let r=z.dirname(e);await J.promises.mkdir(r,{recursive:!0,mode:448}),"win32"!==process.platform&&await J.promises.chmod(r,448);let i=z.join(r,`.${z.basename(e)}.${process.pid}.${Date.now()}.tmp`);try{await J.promises.writeFile(i,t,{mode:384,flag:"wx"}),"win32"!==process.platform&&await J.promises.chmod(i,384),await J.promises.rename(i,e),"win32"!==process.platform&&await J.promises.chmod(e,384)}finally{try{await J.promises.unlink(i)}catch{}}}function ek(e){let t=eU(e),r=eI(e);return(1===t||44===t)&&(r.includes("could not be found")||r.includes("The specified item could not be found"))}function eP(e){let t=eU(e),r=eI(e);return 1===t&&(r.includes("could not be found")||r.includes("No matching items")||""===r.trim())}function eU(e){return"object"==typeof e&&null!==e&&"code"in e?e.code:void 0}function eI(e){return"object"==typeof e&&null!==e&&"stderr"in e?String(e.stderr??""):""}function ej(e){return e instanceof Error&&"code"in e}function eH(e){if("object"==typeof e&&null!==e&&"stderr"in e){let t=String(e.stderr??"").trim();if(t)return t}return e instanceof Error&&e.message?e.message:String(e)}class eM extends Error{constructor(e,t){super(e),this.code=t,this.name="AuthError"}}class eN extends eM{constructor(e="尚未登录,请运行 dbx auth login 完成登录。"){super(e,"NOT_LOGGED_IN"),this.name="NotLoggedInError"}}class eD extends eM{constructor(e="登录凭证已过期,请运行 dbx auth login 重新登录。"){super(e,"TOKEN_EXPIRED"),this.name="TokenExpiredError"}}class eR extends eM{constructor(e,t="DEVICE_AUTH_FAILED",r={}){super(e,t),this.name="DeviceAuthError",this.logId=r.logId}}function eB(e){let t=function(e){let t=e.split(".")[1];if(t)try{let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e.padEnd(e.length+(4-e.length%4)%4,"="),i=Buffer.from(r,"base64").toString("utf8"),n=JSON.parse(i);return n&&"object"==typeof n?n:void 0}catch{return}}(e),r=t?.uid??t?.sub;return"string"==typeof r&&r.length>0?r:"number"==typeof r&&Number.isFinite(r)?String(r):void 0}async function eV(e,t={}){let r,i=process.env.DBX_ACCESS_TOKEN?.trim()||void 0;if(i)return{accessToken:i,tokenType:"Bearer",expiresAt:0xf4865700,baseUrl:t.envTokenBaseUrl??""};let n=await eq(e);if(void 0===n)return ez(e,t);try{r=JSON.parse(n)}catch(e){return}if(eK(r)){if(!t.allowExpired&&eW(r))return void await eF(e,t);let i=await eJ(t).get(r.credentialAccount);if(!i)throw new eE("已找到登录记录,但登录凭证缺失或无法访问。请在能够访问凭证存储的终端中重新运行 dbx auth login。");return{accessToken:i,tokenType:r.tokenType,expiresAt:r.expiresAt,baseUrl:r.baseUrl}}if(eG(r))return!t.allowExpired&&eW(r)?void await eF(e,t):(await eL(e,r,t),r)}async function eL(e,t,r={}){let i={version:2,storage:"keychain",credentialAccount:eX(e),tokenType:t.tokenType,expiresAt:t.expiresAt,baseUrl:t.baseUrl};await eJ(r).set(i.credentialAccount,t.accessToken),await J.promises.mkdir(z.dirname(e),{recursive:!0,mode:448}),"win32"!==process.platform&&await J.promises.chmod(z.dirname(e),448);let n=`${e}.${process.pid}.${Date.now()}.tmp`;await J.promises.writeFile(n,`${JSON.stringify(i,null,2)}
|
|
25
|
+
`,{mode:384}),"win32"!==process.platform&&await J.promises.chmod(n,384),await J.promises.rename(n,e),"win32"!==process.platform&&await J.promises.chmod(e,384)}async function eF(e,t={}){let r=await eq(e);if(void 0!==r)try{let i=JSON.parse(r);eK(i)?await eJ(t).delete(i.credentialAccount):await eJ(t).delete(eX(e))}catch{}try{await J.promises.unlink(e)}catch(e){if(!eY(e)||"ENOENT"!==e.code)throw e}}function eW(e,t=Math.floor(Date.now()/1e3)){return e.expiresAt<=t}function eG(e){return!!e&&"object"==typeof e&&"string"==typeof e.accessToken&&e.accessToken.length>0&&"string"==typeof e.tokenType&&e.tokenType.length>0&&"number"==typeof e.expiresAt&&Number.isFinite(e.expiresAt)&&"string"==typeof e.baseUrl&&e.baseUrl.length>0}function eK(e){return!!e&&"object"==typeof e&&2===e.version&&"keychain"===e.storage&&"string"==typeof e.credentialAccount&&e.credentialAccount.length>0&&"string"==typeof e.tokenType&&e.tokenType.length>0&&"number"==typeof e.expiresAt&&Number.isFinite(e.expiresAt)&&"string"==typeof e.baseUrl&&e.baseUrl.length>0}async function eq(e){try{return await J.promises.readFile(e,"utf8")}catch(e){eY(e)&&e.code;return}}async function ez(e,t){let r;if(!t.legacyTokenPath||z.resolve(t.legacyTokenPath)===z.resolve(e))return;let i=await eq(t.legacyTokenPath);if(void 0!==i){try{r=JSON.parse(i)}catch{return}if(eG(r))return!t.allowExpired&&eW(r)?void await eF(t.legacyTokenPath,t):(await eL(e,r,t),await eF(t.legacyTokenPath,t),r)}}function eJ(e){let t;return e.credentialStore??(t=new eA,"darwin"===process.platform?new e$(new eC,t):"linux"===process.platform?new e$(new eT,t):t)}function eX(e){let t=e_.createHash("sha256").update(z.resolve(e)).digest("hex").slice(0,32);return`token:${t}`}function eY(e){return e instanceof Error&&"code"in e}async function eZ(e={}){let t=eg(e),r=t.fetch??fetch,i=t.sleep??e7,n=await e1(r,t.baseUrl,t.requestHeaders),o=e9(t.baseUrl,n.user_code);t.onVerification?.({userCode:n.user_code,verificationUrl:o,expiresIn:n.expires_in,interval:n.interval});let a=Math.max(1,n.interval),s=Date.now()+1e3*n.expires_in;for(;Date.now()<s;){await i(1e3*a);let e=await e2(r,t.baseUrl,n.device_code,t.requestHeaders);if(t.onPoll?.({status:e.status,interval:a}),e.status!==lM.Pending){if(e.status===lM.SlowDown){a+=Math.max(1,n.interval);continue}if(e.status===lM.Expired)throw new eR("设备授权已过期,请运行 dbx auth login 重新登录。","DEVICE_AUTH_EXPIRED");if(e.status===lM.Invalid)throw new eR("设备授权无效,请运行 dbx auth login 重新登录。","DEVICE_AUTH_INVALID");if(e.status===lM.Authorized){if(!e.access_token)throw new eR("无法完成登录:认证服务已确认授权,但未返回 access_token。");let r=e5(e,t.baseUrl);return await eL(t.tokenPath,r,{credentialStore:t.credentialStore}),{accessToken:r.accessToken,tokenType:r.tokenType,expiresAt:r.expiresAt,baseUrl:r.baseUrl,uid:eB(r.accessToken),tokenPath:t.tokenPath}}throw new eR(`无法完成登录:认证服务返回了无法识别的授权状态 status=${String(e.status)}`)}}throw new eR("等待设备授权超时,请运行 dbx auth login 重新发起登录。","DEVICE_AUTH_EXPIRED")}async function eQ(e={}){let t=eg(e),r=t.fetch??fetch,i=await e1(r,t.baseUrl,t.requestHeaders),n=e9(t.baseUrl,i.user_code);return t.onVerification?.({userCode:i.user_code,verificationUrl:n,expiresIn:i.expires_in,interval:i.interval}),{userCode:i.user_code,deviceCode:i.device_code,verificationUrl:n,expiresIn:i.expires_in,interval:i.interval}}async function e0(e,t={}){let r=eg(t),i=r.fetch??fetch,n=r.sleep??e7,o=r.baseUrl,a=r.requestHeaders,s=5,l=Date.now()+6e5;for(;Date.now()<l;){await n(1e3*s);let t=await e2(i,o,e,a);if(r.onPoll?.({status:t.status,interval:s}),t.status!==lM.Pending){if(t.status===lM.SlowDown){s+=5;continue}if(t.status===lM.Expired)throw new eR("设备授权已过期,请运行 dbx auth login 重新登录。","DEVICE_AUTH_EXPIRED");if(t.status===lM.Invalid)throw new eR("设备授权无效,请运行 dbx auth login 重新登录。","DEVICE_AUTH_INVALID");if(t.status===lM.Authorized){if(!t.access_token)throw new eR("无法完成登录:认证服务已确认授权,但未返回 access_token。");let e=e5(t,o);return await eL(r.tokenPath,e,{credentialStore:r.credentialStore}),{accessToken:e.accessToken,tokenType:e.tokenType,expiresAt:e.expiresAt,baseUrl:e.baseUrl,uid:eB(e.accessToken),tokenPath:r.tokenPath}}throw new eR(`无法完成登录:认证服务返回了无法识别的授权状态 status=${String(t.status)}`)}}throw new eR("等待设备授权超时,请运行 dbx auth login 重新发起登录。","DEVICE_AUTH_EXPIRED")}async function e1(e,t,r){let i=await e(`${t}/app_developer/oauth/device/code`,{method:"POST",headers:e6(r),body:JSON.stringify({client_name:"dbx-cli"})}),n=await e3(i),o=e4(n);if(!o||!o.device_code||!o.user_code||"number"!=typeof o.expires_in||"number"!=typeof o.interval)throw new eR(`无法获取登录授权码:认证服务返回的数据缺少必要字段或字段类型不正确(HTTP ${i.status}):${JSON.stringify(n)}`);return o}async function e2(e,t,r,i){let n=await e(`${t}/app_developer/oauth/token`,{method:"POST",headers:e6(i),body:JSON.stringify({device_code:r})}),o=await e3(n),a=e4(o);if(a?.access_token)return{status:lM.Authorized,access_token:a.access_token,token_type:a.token_type,expires_in:a.expires_in,expires_at:a.expires_at};if(!a||"number"!=typeof a.status)throw new eR(`无法获取登录凭证:认证服务返回的数据缺少有效的 status 字段(HTTP ${n.status}):${JSON.stringify(o)}`);return a}async function e3(e){var t;let r,i=e.headers.get("x-tt-logid")??void 0;try{r=await e.json()}catch{throw new eR(`无法读取登录结果:认证服务返回的内容不是有效的 JSON(HTTP ${e.status})${e8(i)}`,"DEVICE_AUTH_FAILED",{logId:i})}let n=function(e){if(e&&"object"==typeof e)return"string"==typeof e.log_id&&e.log_id?e.log_id:void 0}(r)??i;if(!e.ok)throw new eR(`认证服务返回 HTTP ${e.status}:${JSON.stringify(r)}${e8(n)}`,"DEVICE_AUTH_FAILED",{logId:n});let o=(t=r)&&"object"==typeof t&&"number"==typeof t.code&&0!==t.code?{code:t.code,message:"string"==typeof t.message?t.message:"未知错误",logId:"string"==typeof t.log_id?t.log_id:void 0}:null;if(o)throw new eR(`认证服务出错(错误码 ${o.code}):${o.message}${e8(o.logId??n)}`,"DEVICE_AUTH_FAILED",{logId:o.logId??n});return r}function e8(e){return e?` [log_id: ${e}]`:""}function e4(e){return e&&"object"==typeof e&&"data"in e?e.data:e}function e6(e){let t=new Headers(e);return t.set("Content-Type","application/json"),t}function e5(e,t){let r=Math.floor(Date.now()/1e3);return{accessToken:e.access_token??"",tokenType:e.token_type??"Bearer",expiresAt:"number"==typeof e.expires_at?e.expires_at:r+(e.expires_in??0),baseUrl:t}}function e7(e){return new Promise(t=>{setTimeout(t,e)})}function e9(e,t){let r=new URL(e).host,i=new URL(`https://${r}/oauth/device`);return i.searchParams.set("user_code",t),i.toString()}async function te(e={}){let t,r=eg(e);try{t=await eV(r.tokenPath,{envTokenBaseUrl:r.baseUrl,credentialStore:r.credentialStore,legacyTokenPath:r.legacyTokenPath})}catch(e){if(e instanceof eE)return{loggedIn:!1,tokenPath:r.tokenPath,baseUrl:r.baseUrl,credentialError:{code:"CREDENTIAL_STORE_UNAVAILABLE",message:e.message}};throw e}if(!t)return{loggedIn:!1,tokenPath:r.tokenPath};let i=await tt(e.fetch??fetch,r.baseUrl,t,r.requestHeaders);return i?{loggedIn:!0,uid:i.userId,name:i.name,avatar:i.avatar,expiresAt:t.expiresAt,tokenPath:r.tokenPath,baseUrl:r.baseUrl}:{loggedIn:!1,expiresAt:t.expiresAt,tokenPath:r.tokenPath,baseUrl:r.baseUrl}}async function tt(e,t,r,i){let n=new Headers(i);n.set("Authorization",`${r.tokenType||"Bearer"} ${r.accessToken}`);let o=await e(`${t.replace(/\/+$/,"")}/app_developer/api/user/basic`,{method:"GET",headers:n});if(!o.ok)return;let a=await o.json();if(0===a.code){var s;return{userId:"string"==typeof(s=a.data?.user_id)&&s.length>0?s:"number"==typeof s&&Number.isFinite(s)?String(s):void 0,name:a.data?.name,avatar:a.data?.avatar}}}async function tr(e={}){return eZ(ts(e))}async function ti(e={}){return eQ(ts(e))}async function tn(e,t={}){return e0(e,ts(t))}async function to(e={}){return te(ts(e))}function ta(e){switch(e){case lM.Pending:return"正在等待授权……";case lM.SlowDown:return"服务端要求降低轮询频率,正在延长等待时间……";case lM.Authorized:return"授权已完成。";case lM.Expired:return"授权已过期。";case lM.Invalid:return"授权无效。";default:return`授权状态:${String(e)}`}}function ts(e){var t,r,i;let n,o=er();return{...e,baseUrl:o.baseUrl,allowedOrigins:(t=o.allowedOrigins,[...new Set([...t??[],...e.allowedOrigins??[]])]),requestHeaders:(r=o.requestHeaders,i=e.requestHeaders,n=new Headers(r),i&&new Headers(i).forEach((e,t)=>{n.set(t,e)}),n)}}(lN=lM||(lM={}))[lN.Pending=1]="Pending",lN[lN.Authorized=2]="Authorized",lN[lN.Expired=3]="Expired",lN[lN.Invalid=4]="Invalid",lN[lN.SlowDown=5]="SlowDown";let tl="<已隐藏>",tc=/^(?:api[_-]?key|authorization|bearer|token|headers?|prompt|messages?|body|arguments?|arguments_json|result|raw_result_text|raw_mcp_result_json|content)$/i;function tu(e){return e instanceof Error?`${e.name}: ${td(e.message)}`:"string"==typeof e?td(e):Array.isArray(e)?e.map(e=>tu(e)):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,tc.test(e)?tl:tu(t)])):e}function td(e){return e.replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer <已隐藏>").replace(/("?(?:api[_-]?key|authorization|token|secret|cookie)"?\s*[=:]\s*)("?)[^\s,;}]+/gi,"$1$2<已隐藏>").replace(/(\b(?:body|prompt|messages?|arguments?|result|content)"?\s*[=:]\s*).*$/gi,"$1<已隐藏>").replace(/https?:\/\/[^\s\])}"']+/gi,"<接口地址已隐藏>").replace(/(?:\/[A-Za-z0-9._-]+){3,}(?:\.[A-Za-z0-9._-]+)?/g,"<本地路径已隐藏>").replace(/[A-Za-z]:\\(?:[^\s\\]+\\){2,}[^\s,;]*/g,"<本地路径已隐藏>")}function tp(e,t){return/意图|用户输入|入参|结果|目录|路径|prompt|message|body|argument/i.test(e)?[e,tl]:[e,tu(t)]}function th(e){let t=e instanceof Error&&e.name?e.name:"Error",r=e instanceof Error?e.message:String(e),i=r.match(/\bHTTP[=: ]+(\d{3})\b/i)?.[1],n=r.match(/(?:错误码|code)[=: ]+(-?[A-Za-z0-9_]+)/i)?.[1];return[t,i?`HTTP ${i}`:void 0,n?`错误码 ${n}`:void 0].filter(Boolean).join(",")}function tm(e){return{...e,reason:td(e.reason),hint:e.hint?td(e.hint):void 0}}async function tf(){try{let r=await to({fetch:(e,t)=>fetch(e,{...t,signal:AbortSignal.timeout(3e3)})});!e&&r.loggedIn&&r.uid&&(t=r.uid)}catch{}}async function tg(e){await tS({name:"cli_command",params:{...t$(e),cli_command:e.command,cli_output_mode:e.outputMode}})}async function ty(e){await tS({name:"cli_dev_action",params:{...t$(e),cli_action:e.action,cli_dev_session_id:e.devSessionId,cli_action_sequence:Math.max(1,Math.round(e.actionSequence))}})}async function t_(e){await tS({name:"cli_eval_phase",params:tT({...tC(e),cli_eval_execution_id:e.executionId,cli_eval_run_id:e.runId,cli_eval_run_type:e.runType,cli_eval_mode:e.mode,cli_eval_phase:e.phase,cli_eval_phase_sequence:tx(e.phaseSequence)})})}async function tw(e){var t;await tS({name:"cli_eval_run",params:tT({...tC(e),cli_eval_execution_id:e.executionId,cli_eval_run_id:e.runId,cli_eval_run_type:e.runType,cli_eval_mode:e.mode,cli_eval_rollout_mode:e.rolloutMode,cli_eval_intent_count:tx(e.intentCount),cli_eval_pass_k:tx(e.passK),cli_eval_concurrency:tx(e.concurrency),cli_eval_pass_threshold:void 0!==(t=e.passThreshold)&&Number.isFinite(t)?t:void 0,cli_eval_render_enabled:tA(e.renderEnabled),cli_eval_total_cases:tx(e.totalCases),cli_eval_evaluated_cases:tx(e.evaluatedCases),cli_eval_passed_cases:tx(e.passedCases),cli_eval_blocked_cases:tx(e.blockedCases),cli_eval_skipped_cases:tx(e.skippedCases),cli_eval_release_result:e.releaseResult,cli_eval_veto_hit:tA(e.vetoHit),cli_eval_l1_platform_count:tx(e.l1PlatformCount),cli_eval_l2_tool_count:tx(e.l2ToolCount),cli_eval_l3_skill_count:tx(e.l3SkillCount),cli_eval_case_quality_count:tx(e.caseQualityCount),cli_eval_other_intent_count:tx(e.otherIntentCount)})})}async function tb(e,t){let r=performance.now();try{let i=await t();return await ty({...e,durationMs:performance.now()-r,status:"success"}),i}catch(t){throw await ty({...e,durationMs:performance.now()-r,error:t,status:tO(t)}),t}}async function tv(){try{await e?.flush(3e3)}catch{}}function tO(e){let t=tE(e);return"user_cancelled"===t?"cancelled":"timeout_error"===t?"timeout":"failed"}function tE(e){let t=ec(e)?e:void 0,r=e instanceof Error?e.name.toLowerCase():"",i=(e instanceof Error?e.message:String(e)).toLowerCase(),n="string"==typeof t?.code?t.code.toLowerCase():"";return t?.exitCode===2||n.startsWith("commander.")?"usage_error":/^(econn|enet|enotfound|eai_again)/.test(n)?"network_error":"aborterror"===r||"evalrunstoppederror"===r||/cancel(?:led|ed)|用户取消/.test(i)?"user_cancelled":/timeout|timed out|超时/.test(`${r} ${n} ${i}`)?"timeout_error":/auth|credential|login|access token|token (?:expired|invalid)|登录|鉴权|认证/.test(i)?"auth_error":/device|debug router|二维码|扫码|真机|设备连接/.test(i)?"device_connection_error":/econn|enet|enotfound|eai_again|fetch|network|socket|网络/.test(`${n} ${i}`)?"network_error":/enoent|eacces|eperm|enotdir|eisdir/.test(n)?"filesystem_error":/manifest|config|yaml|配置/.test(i)?"config_error":/validat|schema|invalid|校验|无效/.test(i)?"validation_error":/build|compile|rspack|构建|编译/.test(i)?"build_error":/dependency|module not found|package|依赖/.test(i)?"dependency_error":/service|daemon|moleculer|服务/.test(i)?"service_error":"unknown_error"}async function tS(r){if("test"!==process.env.NODE_ENV)try{e??=new k(t),await e.upload(r)}catch{}}function t$(e){var t;let r,i=function(){let e=process.env.npm_config_user_agent;if(!e)return{name:"unknown"};let[t=""]=e.split(" "),[r="unknown",i]=t.split("/"),n="npm"===r&&"exec"===process.env.npm_command?"npx":r;return{name:["npm","npx","pnpm"].includes(n)?n:"unknown",...i?{version:i}:{}}}();return{cli_status:e.status,cli_duration_ms:tx(e.durationMs)??0,cli_version:ed,cli_package_name:el,cli_run_env:process.env.CI?"ci":"local",cli_os_name:process.platform,cli_node_version:process.version,cli_package_manager:i.name,...e.appId?{cli_app_id:e.appId}:{},...i.version?{cli_package_manager_version:i.version}:{},...void 0!==e.error?{cli_error_type:e.errorType??tE(e.error),cli_error_message:(r=(t=e.error)instanceof Error?t.message:String(t),(0,B.stripVTControlCharacters)(r||"Unknown error").split(process.cwd()).join("<project>").split((0,ep.homedir)()).join("<home>").replace(/([?&](?:access_?token|token|code)=)[^&\s]+/gi,"$1<redacted>").replace(/(authorization:\s*bearer\s+)\S+/gi,"$1<redacted>").slice(0,1024)),...e.errorStage?{cli_error_stage:e.errorStage}:{}}:{}}}function tA(e){return void 0===e?void 0:Number(e)}function tC(e){let t=t$(e);return"string"==typeof t.cli_error_message&&(t.cli_error_message=td(t.cli_error_message)),t}function tT(e){let t={};for(let[r,i]of Object.entries(e))"number"==typeof i&&Number.isFinite(i)?t[r]=i:"string"==typeof i&&i.length>0&&(t[r]=i);return t}function tx(e){return void 0!==e&&Number.isFinite(e)?Math.max(0,Math.round(e)):void 0}let tk=a("node:url"),tP=(e,t)=>{let r=tj(tU(e));if("string"!=typeof r)throw TypeError(`${t} must be a string or a file URL: ${r}.`);return r},tU=e=>tI(e)?e.toString():e,tI=e=>"string"!=typeof e&&e&&Object.getPrototypeOf(e)===String.prototype,tj=e=>e instanceof URL?(0,tk.fileURLToPath)(e):e,tH=(e,t=[],r={})=>{let i=tP(e,"First argument"),[n,o]=m(t)?[[],t]:[t,r];if(!Array.isArray(n))throw TypeError(`Second argument must be either an array of arguments or an options object: ${n}`);if(n.some(e=>"object"==typeof e&&null!==e))throw TypeError(`Second argument must be an array of strings: ${n}`);let a=n.map(String),s=a.find(e=>e.includes("\0"));if(void 0!==s)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${s}`);if(!m(o))throw TypeError(`Last argument must be an options object: ${o}`);return[i,a,o]},tM=a("node:string_decoder"),{toString:tN}=Object.prototype,tD=e=>"[object Uint8Array]"===tN.call(e),tR=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),tB=new TextEncoder,tV=new TextDecoder,tL=e=>1===e.length&&tD(e[0])?e[0]:tW(tF(e)),tF=e=>e.map(e=>"string"==typeof e?tB.encode(e):e),tW=e=>{let t=new Uint8Array(tG(e)),r=0;for(let i of e)t.set(i,r),r+=i.length;return t},tG=e=>{let t=0;for(let r of e)t+=r.length;return t},tK=({templates:e,expressions:t,tokens:r,index:i,template:n})=>{if(void 0===n)throw TypeError(`Invalid backslash sequence: ${e.raw[i]}`);let{nextTokens:o,leadingWhitespaces:a,trailingWhitespaces:s}=tq(n,e.raw[i]),l=tX(r,o,a);if(i===t.length)return l;let c=t[i];return tX(l,Array.isArray(c)?c.map(e=>tY(e)):[tY(c)],s)},tq=(e,t)=>{if(0===t.length)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let r=[],i=0,n=tz.has(t[0]);for(let n=0,o=0;n<e.length;n+=1,o+=1){let a=t[o];if(tz.has(a))i!==n&&r.push(e.slice(i,n)),i=n+1;else if("\\"===a){let e=t[o+1];"\n"===e?(n-=1,o+=1):"u"===e&&"{"===t[o+2]?o=t.indexOf("}",o+3):o+=tJ[e]??1}}let o=i===e.length;return o||r.push(e.slice(i)),{nextTokens:r,leadingWhitespaces:n,trailingWhitespaces:o}},tz=new Set([" "," ","\r","\n"]),tJ={x:3,u:5},tX=(e,t,r)=>r||0===e.length||0===t.length?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(1)],tY=e=>{let t=typeof e;if("string"===t)return e;if("number"===t)return String(e);if(m(e)&&("stdout"in e||"isMaxBuffer"in e))return tZ(e);if(e instanceof q.ChildProcess||"[object Promise]"===Object.prototype.toString.call(e))throw TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");throw TypeError(`Unexpected "${t}" in template expression`)},tZ=({stdout:e})=>{if("string"==typeof e)return e;if(tD(e))return tV.decode(e);if(void 0===e)throw TypeError('Missing result.stdout in template expression. This is probably due to the previous subprocess\' "stdout" option.');throw TypeError(`Unexpected "${typeof e}" stdout in template expression`)},tQ=e=>t0.includes(e),t0=[u.stdin,u.stdout,u.stderr],t1=["stdin","stdout","stderr"],t2=e=>t1[e]??`stdio[${e}]`,t3=(e,t)=>{let r=Array.from({length:t8(e)+1});return rr(t4(e[t],r,t),t)},t8=({stdio:e})=>Array.isArray(e)?Math.max(e.length,t1.length):t1.length,t4=(e,t,r)=>m(e)?t6(e,t,r):t.fill(e),t6=(e,t,r)=>{for(let i of Object.keys(e).sort(t5))for(let n of t9(i,r,t))t[n]=e[i];return t},t5=(e,t)=>t7(e)<t7(t)?1:-1,t7=e=>"stdout"===e||"stderr"===e?0:"all"===e?2:1,t9=(e,t,r)=>{if("ipc"===e)return[r.length-1];let i=re(e);if(void 0===i||0===i)throw TypeError(`"${t}.${e}" is invalid.
|
|
26
|
+
It must be "${t}.stdout", "${t}.stderr", "${t}.all", "${t}.ipc", or "${t}.fd3", "${t}.fd4" (and so on).`);if(i>=r.length)throw TypeError(`"${t}.${e}" is invalid: that file descriptor does not exist.
|
|
27
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);return"all"===i?[1,2]:[i]},re=e=>{if("all"===e)return e;if(t1.includes(e))return t1.indexOf(e);let t=rt.exec(e);if(null!==t)return Number(t[1])},rt=/^fd(\d+)$/,rr=(e,t)=>e.map(e=>void 0===e?ri[t]:e),ri={lines:!1,buffer:!0,maxBuffer:1e8,verbose:(0,B.debuglog)("execa").enabled?"full":"none",stripFinalNewline:!0},rn=["lines","buffer","maxBuffer","verbose","stripFinalNewline"],ro=(e,t)=>"ipc"===t?e.at(-1):e[t],ra=({verbose:e},t)=>!["none","short"].includes(rs(e,t)),rs=(e,t)=>void 0===t?rl(e):ro(e,t),rl=e=>e.find(e=>rc(e))??ru.findLast(t=>e.includes(t)),rc=e=>"function"==typeof e,ru=["none","short","full"],rd=e=>(0,B.stripVTControlCharacters)(e).split("\n").map(e=>rp(e)).join("\n"),rp=e=>e.replaceAll(rm,e=>rh(e)),rh=e=>{let t=rf[e];if(void 0!==t)return t;let r=e.codePointAt(0),i=r.toString(16);return r<=rg?`\\u${i.padStart(4,"0")}`:`\\U${i}`},rm=(()=>{try{return RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}})(),rf={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},rg=65535,ry=/^[\w./-]+$/,r_=(e,t)=>String(e).padStart(t,"0"),rw=({failed:e,reject:t})=>e?t?y.cross:y.warning:y.tick,rb={command:({piped:e})=>e?"|":"$",output:()=>" ",ipc:()=>"*",error:rw,duration:rw},rv=e=>e,rO={command:()=>h,output:()=>rv,ipc:()=>rv,error:({reject:e})=>e?C:j,duration:()=>T},rE=({type:e,verboseMessage:t,fdNumber:r,verboseInfo:i,result:n})=>{var o;let a,s=(o=r$(t,rS({type:e,result:n,verboseInfo:i})),a=(({verbose:e},t)=>{let r=rs(e,t);return rc(r)?r:void 0})(i,r),o.map(({verboseLine:e,verboseObject:t})=>((e,t,r)=>{if(void 0===r)return e;let i=r(e,t);if("string"==typeof i)return i})(e,t,a)).filter(e=>void 0!==e).map(e=>{let t;return(t=e).endsWith("\n")?t:`${t}
|
|
28
|
+
`}).join(""));""!==s&&console.warn(s.slice(0,-1))},rS=({type:e,result:t,verboseInfo:{escapedCommand:r,commandId:i,rawOptions:{piped:n=!1,...o}}})=>({type:e,escapedCommand:r,commandId:`${i}`,timestamp:new Date,piped:n,result:t,options:o}),r$=(e,t)=>e.split("\n").map(e=>rA({...t,message:e})),rA=e=>({verboseLine:(({type:e,message:t,timestamp:r,piped:i,commandId:n,result:{failed:o=!1}={},options:{reject:a=!0}})=>{let s,l=(s=r,`${r_(s.getHours(),2)}:${r_(s.getMinutes(),2)}:${r_(s.getSeconds(),2)}.${r_(s.getMilliseconds(),3)}`),c=rb[e]({failed:o,reject:a,piped:i}),u=rO[e]({reject:a});return`${T(`[${l}]`)} ${T(`[${n}]`)} ${u(c)} ${u(t)}`})(e),verboseObject:e}),rC=e=>rd("string"==typeof e?e:(0,B.inspect)(e)).replaceAll(" "," ".repeat(rT)),rT=2,rx=0n,rk=e=>Number(u.hrtime.bigint()-e)/1e6,rP=(e,t,r)=>{var i,n;let o,a,s=u.hrtime.bigint(),{command:l,escapedCommand:c}={command:(o=[e,...t]).join(" "),escapedCommand:o.map(e=>{let t;return ry.test(t=rp(e))?t:"win32"===u.platform?`"${t.replaceAll('"','""')}"`:`'${t.replaceAll("'","'\\''")}'`}).join(" ")},d=(i=t3(r,"verbose"),n={...r},(e=>{for(let t of e){if(!1===t)throw TypeError('The "verbose: false" option was renamed to "verbose: \'none\'".');if(!0===t)throw TypeError('The "verbose: true" option was renamed to "verbose: \'short\'".');if(!ru.includes(t)&&!rc(t)){let e=ru.map(e=>`'${e}'`).join(", ");throw TypeError(`The "verbose" option must not be ${t}. Allowed values are: ${e} or a function.`)}}})(i),a=(({verbose:e})=>"none"!==rs(e,void 0))({verbose:i})?rx++:void 0,{verbose:i,escapedCommand:c,commandId:a,rawOptions:n});return(({verbose:e})=>"none"!==rs(e,void 0))(d)&&rE({type:"command",verboseMessage:c,verboseInfo:d}),{command:l,escapedCommand:c,startTime:s,verboseInfo:d}};class rU extends Error{}let rI=(e,t)=>{Object.defineProperty(e.prototype,"name",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,rj,{value:!0,writable:!1,enumerable:!1,configurable:!1})},rj=Symbol("isExecaError"),rH=e=>"[object Error]"===Object.prototype.toString.call(e);class rM extends Error{}rI(rM,rM.name);class rN extends Error{}rI(rN,rN.name);let rD=(e,t)=>{if(Number.isInteger(e))return rR(e,t);if("string"==typeof e)return rV(e,t);throw TypeError(`Invalid ${t} ${String(e)}: it must be a string or an integer.
|
|
29
|
+
${rL()}`)},rR=(e,t)=>{if(rB.has(e))return rB.get(e);throw TypeError(`Invalid ${t} ${e}: this signal integer does not exist.
|
|
30
|
+
${rL()}`)},rB=new Map(Object.entries(ep.constants.signals).reverse().map(([e,t])=>[t,e])),rV=(e,t)=>{if(e in ep.constants.signals)return e;if(e.toUpperCase()in ep.constants.signals)throw TypeError(`Invalid ${t} '${e}': please rename it to '${e.toUpperCase()}'.`);throw TypeError(`Invalid ${t} '${e}': this signal name does not exist.
|
|
31
|
+
${rL()}`)},rL=()=>`Available signal names: ${rF()}.
|
|
32
|
+
Available signal numbers: ${rW()}.`,rF=()=>Object.keys(ep.constants.signals).sort().map(e=>`'${e}'`).join(", "),rW=()=>[...new Set(Object.values(ep.constants.signals).sort((e,t)=>e-t))].join(", "),rG=e=>f[e].description,rK=({kill:e,options:{forceKillAfterDelay:t,killSignal:r},onInternalError:i,context:n,controller:o},a,s)=>{let{signal:l,error:c}=rq(a,s,r);rz(c,i);let u=e(l);return rJ({kill:e,signal:l,forceKillAfterDelay:t,killSignal:r,killResult:u,context:n,controller:o}),u},rq=(e,t,r)=>{let[i=r,n]=rH(e)?[void 0,e]:[e,t];if("string"!=typeof i&&!Number.isInteger(i))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(i)}`);if(void 0!==n&&!rH(n))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${n}`);return{signal:0===i?i:rD(i,"`subprocess.kill()`'s argument"),error:n}},rz=(e,t)=>{void 0!==e&&t.reject(e)},rJ=async({kill:e,signal:t,forceKillAfterDelay:r,killSignal:i,killResult:n,context:o,controller:a})=>{t===i&&n&&rX({kill:e,forceKillAfterDelay:r,context:o,controllerSignal:a.signal})},rX=async({kill:e,forceKillAfterDelay:t,context:r,controllerSignal:i})=>{if(!1!==t)try{await (0,d.setTimeout)(t,void 0,{signal:i}),e("SIGKILL")&&(r.isForcefullyTerminated??=!0)}catch{}},rY=async(e,t)=>{e.aborted||await (0,K.once)(e,"abort",{signal:t})},rZ=async(e,t,r,{signal:i})=>{throw await rY(t,i),r.terminationReason??="cancel",e.kill(),t.reason},rQ=({methodName:e,isSubprocess:t,ipc:r,isConnected:i})=>{r0(e,t,r),r1(e,t,i)},r0=(e,t,r)=>{if(!r)throw Error(`${r4(e,t)} can only be used if the \`ipc\` option is \`true\`.`)},r1=(e,t,r)=>{if(!r)throw Error(`${r4(e,t)} cannot be used: the ${r5(t)} has already exited or disconnected.`)},r2=(e,t)=>Error(`${r4("sendMessage",t)} failed when sending an acknowledgment response to the ${r5(t)}.`,{cause:e}),r3=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),r8=["could not be cloned","circular structure","call stack size exceeded"],r4=(e,t,r="")=>"cancelSignal"===e?"`cancelSignal`'s `controller.abort()`":`${r6(t)}${e}(${r})`,r6=e=>e?"":"subprocess.",r5=e=>e?"parent process":"subprocess",r7=e=>{e.connected&&e.disconnect()},r9=()=>{let e={};return Object.assign(new Promise((t,r)=>{Object.assign(e,{resolve:t,reject:r})}),e)},ie=(e,t="stdin")=>{let{options:r,fileDescriptors:i}=ir.get(e),n=ii(i,t,!0),o=e.stdio[n];if(null===o)throw TypeError(is(n,t,r,!0));return o},it=(e,t="stdout")=>{let{options:r,fileDescriptors:i}=ir.get(e),n=ii(i,t,!1),o="all"===n?e.all:e.stdio[n];if(null==o)throw TypeError(is(n,t,r,!1));return o},ir=new WeakMap,ii=(e,t,r)=>{let i=io(t,r);return ia(i,t,r,e),i},io=(e,t)=>{let r=re(e);if(void 0!==r)return r;let{validOptions:i,defaultValue:n}=t?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw TypeError(`"${iu(t)}" must not be "${e}".
|
|
33
|
+
It must be ${i} or "fd3", "fd4" (and so on).
|
|
34
|
+
It is optional and defaults to "${n}".`)},ia=(e,t,r,i)=>{let n=i[ic(e)];if(void 0===n)throw TypeError(`"${iu(r)}" must not be ${t}. That file descriptor does not exist.
|
|
35
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);if("input"===n.direction&&!r)throw TypeError(`"${iu(r)}" must not be ${t}. It must be a readable stream, not writable.`);if("input"!==n.direction&&r)throw TypeError(`"${iu(r)}" must not be ${t}. It must be a writable stream, not readable.`)},is=(e,t,r,i)=>{if("all"===e&&!r.all)return'The "all" option must be true to use "from: \'all\'".';let{optionName:n,optionValue:o}=il(e,r);return`The "${n}: ${id(o)}" option is incompatible with using "${iu(i)}: ${id(t)}".
|
|
36
|
+
Please set this option with "pipe" instead.`},il=(e,{stdin:t,stdout:r,stderr:i,stdio:n})=>{let o=ic(e);return 0===o&&void 0!==t?{optionName:"stdin",optionValue:t}:1===o&&void 0!==r?{optionName:"stdout",optionValue:r}:2===o&&void 0!==i?{optionName:"stderr",optionValue:i}:{optionName:`stdio[${o}]`,optionValue:n[o]}},ic=e=>"all"===e?1:e,iu=e=>e?"to":"from",id=e=>"string"==typeof e?`'${e}'`:"number"==typeof e?`${e}`:"Stream",ip=(e,t,r)=>{let i=e.getMaxListeners();0!==i&&i!==1/0&&(e.setMaxListeners(i+t),(0,K.addAbortListener)(r,()=>{e.setMaxListeners(e.getMaxListeners()-t)}))},ih=(e,t)=>{t&&im(e)},im=e=>{e.refCounted()},ig=(e,t)=>{t&&iy(e)},iy=e=>{e.unrefCounted()},i_=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i},n)=>{if(iT(n)||iK(n))return;ib.has(e)||ib.set(e,[]);let o=ib.get(e);if(o.push(n),!(o.length>1))for(;o.length>0;){await ij(e,i,n),await d.scheduler.yield();let a=await iC({wrappedMessage:o[0],anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i});o.shift(),i.emit("message",a),i.emit("message:done")}},iw=async({anyProcess:e,channel:t,isSubprocess:r,ipcEmitter:i,boundOnMessage:n})=>{iz();let o=ib.get(e);for(;o?.length>0;)await (0,K.once)(i,"message:done");e.removeListener("message",n),r&&(im(t),im(t)),i.connected=!1,i.emit("disconnect")},ib=new WeakMap,iv=(e,t,r)=>{if(iO.has(e))return iO.get(e);let i=new K.EventEmitter;return i.connected=!0,iO.set(e,i),iE({ipcEmitter:i,anyProcess:e,channel:t,isSubprocess:r}),i},iO=new WeakMap,iE=({ipcEmitter:e,anyProcess:t,channel:r,isSubprocess:i})=>{let n=i_.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e});t.on("message",n),t.once("disconnect",iw.bind(void 0,{anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:e,boundOnMessage:n})),i&&(iy(r),iy(r))},iS=e=>{let t=iO.get(e);return void 0===t?null!==e.channel:t.connected},i$=0n,iA=(e,t)=>{if(t?.type===iU&&!t.hasListeners)for(let{id:t}of e)void 0!==t&&ik[t].resolve({isDeadlock:!0,hasListeners:!1})},iC=async({wrappedMessage:e,anyProcess:t,channel:r,isSubprocess:i,ipcEmitter:n})=>{if(e?.type!==iU||!t.connected)return e;let{id:o,message:a}=e,s={id:o,type:iI,message:iM(t,n)};try{await iD({anyProcess:t,channel:r,isSubprocess:i,ipc:!0},s)}catch(e){n.emit("strict:error",e)}return a},iT=e=>{if(e?.type!==iI)return!1;let{id:t,message:r}=e;return ik[t]?.resolve({isDeadlock:!1,hasListeners:r}),!0},ix=async(e,t,r)=>{if(e?.type!==iU)return;let i=r9();ik[e.id]=i;let n=new AbortController;try{let{isDeadlock:e,hasListeners:o}=await Promise.race([i,iP(t,r,n)]);e&&(e=>{throw Error(`${r4("sendMessage",e)} failed: the ${r5(e)} is sending a message too, instead of listening to incoming messages.
|
|
37
|
+
This can be fixed by both sending a message and listening to incoming messages at the same time:
|
|
38
|
+
|
|
39
|
+
const [receivedMessage] = await Promise.all([
|
|
40
|
+
${r4("getOneMessage",e)},
|
|
41
|
+
${r4("sendMessage",e,"message, {strict: true}")},
|
|
42
|
+
]);`)})(r),o||(e=>{throw Error(`${r4("sendMessage",e)} failed: the ${r5(e)} is not listening to incoming messages.`)})(r)}finally{n.abort(),delete ik[e.id]}},ik={},iP=async(e,t,{signal:r})=>{ip(e,1,r),await (0,K.once)(e,"disconnect",{signal:r});throw Error(`${r4("sendMessage",t)} failed: the ${r5(t)} exited without listening to incoming messages.`)},iU="execa:ipc:request",iI="execa:ipc:response",ij=async(e,t,r)=>{for(;!iM(e,t)&&iH.get(e)?.size>0;){let t=[...iH.get(e)];iA(t,r),await Promise.all(t.map(({onMessageSent:e})=>e))}},iH=new WeakMap,iM=(e,t)=>t.listenerCount("message")>iN(e),iN=e=>ir.has(e)&&!ro(ir.get(e).options.buffer,"ipc")?1:0,iD=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},n,{strict:o=!1}={})=>{let a="sendMessage";return rQ({methodName:a,isSubprocess:r,ipc:i,isConnected:e.connected}),iR({anyProcess:e,channel:t,methodName:a,isSubprocess:r,message:n,strict:o})},iR=async({anyProcess:e,channel:t,methodName:r,isSubprocess:i,message:n,strict:o})=>{let a,s,l=(({anyProcess:e,channel:t,isSubprocess:r,message:i,strict:n})=>{if(!n)return i;let o=iv(e,t,r),a=iM(e,o);return{id:i$++,type:iU,message:i,hasListeners:a}})({anyProcess:e,channel:t,isSubprocess:i,message:n,strict:o}),c=(iH.has(e)||iH.set(e,new Set),a=iH.get(e),s={onMessageSent:r9(),id:o?l.id:void 0},a.add(s),{outgoingMessages:a,outgoingMessage:s});try{await iB({anyProcess:e,methodName:r,isSubprocess:i,wrappedMessage:l,message:n})}catch(t){throw r7(e),t}finally{(({outgoingMessages:e,outgoingMessage:t})=>{e.delete(t),t.onMessageSent.resolve()})(c)}},iB=async({anyProcess:e,methodName:t,isSubprocess:r,wrappedMessage:i,message:n})=>{let o=iV(e);try{await Promise.all([ix(i,e,r),o(i)])}catch(e){throw(({error:e,methodName:t,isSubprocess:r})=>{if("EPIPE"===e.code)throw Error(`${r4(t,r)} cannot be used: the ${r5(r)} is disconnecting.`,{cause:e})})({error:e,methodName:t,isSubprocess:r}),(({error:e,methodName:t,isSubprocess:r,message:i})=>{if((({code:e,message:t})=>r3.has(e)||r8.some(e=>t.includes(e)))(e))throw Error(`${r4(t,r)}'s argument type is invalid: the message cannot be serialized: ${String(i)}.`,{cause:e})})({error:e,methodName:t,isSubprocess:r,message:n}),e}},iV=e=>{if(iL.has(e))return iL.get(e);let t=(0,B.promisify)(e.send.bind(e));return iL.set(e,t),t},iL=new WeakMap,iF=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>(await iW({anyProcess:e,channel:t,isSubprocess:r,ipc:i}),iJ.signal),iW=async({anyProcess:e,channel:t,isSubprocess:r,ipc:i})=>{if(!iG){if(iG=!0,!i)return void(()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")})();if(null===t)return void iz();iv(e,t,r),await d.scheduler.yield()}},iG=!1,iK=e=>e?.type===iq&&(iJ.abort(e.message),!0),iq="execa:ipc:cancel",iz=()=>{iJ.abort(Error(`\`cancelSignal\` aborted: the ${r5(!0)} disconnected.`))},iJ=new AbortController,iX=async({subprocess:e,cancelSignal:t,forceKillAfterDelay:r,context:i,controller:{signal:n}})=>{let o;await rY(t,n);let a=iY(t);throw await (r1(o="cancelSignal",!1,e.connected),iB({anyProcess:e,methodName:o,isSubprocess:!1,wrappedMessage:{type:iq,message:a},message:a})),rX({kill:e.kill,forceKillAfterDelay:r,context:i,controllerSignal:n}),i.terminationReason??="gracefulCancel",t.reason},iY=({reason:e})=>{if(!(e instanceof DOMException))return e;let t=Error(e.message);return Object.defineProperty(t,"stack",{value:e.stack,enumerable:!1,configurable:!0,writable:!0}),t},iZ=async(e,t,r,{signal:i})=>{throw await (0,d.setTimeout)(t,void 0,{signal:i}),r.terminationReason??="timeout",e.kill(),new rU},iQ={advanced:e=>{try{(0,c.serialize)(e)}catch(e){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:e})}},json:e=>{try{JSON.stringify(e)}catch(e){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:e})}}},i0=async(e,t)=>{void 0!==t&&await e.sendMessage(t)},i1=new Set(["utf8","utf16le"]),i2=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),i3=new Set([...i1,...i2]),i8={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"},i4=e=>"string"==typeof e?`"${e}"`:String(e),i6=()=>{try{return u.cwd()}catch(e){throw e.message=`The current directory does not exist.
|
|
43
|
+
${e.message}`,e}},i5=a("../../../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"),i7=(e,t,r)=>{r.cwd=((e=i6())=>{let t=tP(e,'The "cwd" option');return z.resolve(t)})(r.cwd);let[i,n,o]=((e,t,{node:r=!1,nodePath:i=u.execPath,nodeOptions:n=u.execArgv.filter(e=>!e.startsWith("--inspect")),cwd:o,execPath:a,...s})=>{if(void 0!==a)throw TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');let l=tP(i,'The "nodePath" option'),c=z.resolve(o,l),d={...s,nodePath:c,node:r,cwd:o};if(!r)return[e,t,d];if("node"===z.basename(e,".exe"))throw TypeError('When the "node" option is true, the first argument does not need to be "node".');return[c,[...n,e,...t],{ipc:!0,...d,shell:!1}]})(e,t,r),{command:a,args:s,options:l}=i5._parse(i,n,o),c=i9((e=>{let t={...e};for(let r of rn)t[r]=t3(e,r);return t})(l));return(({timeout:e})=>{if(void 0!==e&&(!Number.isFinite(e)||e<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)})(c),(({encoding:e})=>{if(i3.has(e))return;let t=(e=>{if(null===e)return"buffer";if("string"!=typeof e)return;let t=e.toLowerCase();return t in i8?i8[t]:i3.has(t)?t:void 0})(e);if(void 0!==t)throw TypeError(`Invalid option \`encoding: ${i4(e)}\`.
|
|
44
|
+
Please rename it to ${i4(t)}.`);let r=[...i3].map(e=>i4(e)).join(", ");throw TypeError(`Invalid option \`encoding: ${i4(e)}\`.
|
|
45
|
+
Please rename it to one of: ${r}.`)})(c),(({ipcInput:e,ipc:t,serialization:r})=>{if(void 0!==e){if(!t)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");iQ[r](e)}})(c),(({cancelSignal:e})=>{if(void 0!==e&&"[object AbortSignal]"!==Object.prototype.toString.call(e))throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(e)}`)})(c),(({gracefulCancel:e,cancelSignal:t,ipc:r,serialization:i})=>{if(e){if(void 0===t)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!r)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if("json"===i)throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}})(c),c.shell=tj(c.shell),c.env=ne(c),c.killSignal=(e=>{let t="option `killSignal`";if(0===e)throw TypeError(`Invalid ${t}: 0 cannot be used.`);return rD(e,t)})(c.killSignal),c.forceKillAfterDelay=(e=>{if(!1===e)return e;if(!0===e)return 5e3;if(!Number.isFinite(e)||e<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e})(c.forceKillAfterDelay),c.lines=c.lines.map((e,t)=>e&&!i2.has(c.encoding)&&c.buffer[t]),"win32"===u.platform&&"cmd"===z.basename(a,".exe")&&s.unshift("/q"),{file:a,commandArguments:s,options:c}},i9=({extendEnv:e=!0,preferLocal:t=!1,cwd:r,localDir:i=r,encoding:n="utf8",reject:o=!0,cleanup:a=!0,all:s=!1,windowsHide:l=!0,killSignal:c="SIGTERM",forceKillAfterDelay:u=!0,gracefulCancel:d=!1,ipcInput:p,ipc:h=void 0!==p||d,serialization:m="advanced",...f})=>({...f,extendEnv:e,preferLocal:t,cwd:r,localDirectory:i,encoding:n,reject:o,cleanup:a,all:s,windowsHide:l,killSignal:c,forceKillAfterDelay:u,gracefulCancel:d,ipcInput:p,ipc:h,serialization:m}),ne=({env:e,extendEnv:t,preferLocal:r,node:i,localDirectory:n,nodePath:o})=>{let a=t?{...u.env,...e}:e;return r||i?b({env:a,cwd:n,execPath:o,preferLocal:r,addExecPath:i}):a},nt=(e,t,r)=>r.shell&&t.length>0?[[e,...t].join(" "),[],r]:[e,t,r],nr=(e,t,r)=>{if(t.length!==r)return;let i=new S;throw i.maxBufferInfo={fdNumber:"ipc"},i},ni=(e,t)=>e?` and was forcefully terminated after ${t} milliseconds`:"",nn=e=>{if("string"==typeof e)return e;if(tD(e))return tV.decode(e);return""},no=({command:e,escapedCommand:t,stdio:r,all:i,ipcOutput:n,options:{cwd:o},startTime:a})=>nc({command:e,escapedCommand:t,cwd:o,durationMs:rk(a),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:r[1],stderr:r[2],all:i,stdio:r,ipcOutput:n,pipedFrom:[]}),na=({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:o,isSync:a})=>ns({error:e,command:t,escapedCommand:r,startTime:o,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:i.length}),ipcOutput:[],options:n,isSync:a}),ns=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:o,isGracefullyCanceled:a,isMaxBuffer:s,isForcefullyTerminated:l,exitCode:c,signal:u,stdio:d,all:p,ipcOutput:h,options:{timeoutDuration:m,timeout:f=m,forceKillAfterDelay:g,killSignal:y,cwd:_,maxBuffer:w},isSync:b})=>{let{exitCode:v,signal:O,signalDescription:E}=nu(c,u),{originalMessage:S,shortMessage:$,message:C}=(({stdio:e,all:t,ipcOutput:r,originalError:i,signal:n,signalDescription:o,exitCode:a,escapedCommand:s,timedOut:l,isCanceled:c,isGracefullyCanceled:u,isMaxBuffer:d,isForcefullyTerminated:p,forceKillAfterDelay:h,killSignal:m,maxBuffer:f,timeout:g,cwd:y})=>{let _=i?.code,w=(({originalError:e,timedOut:t,timeout:r,isMaxBuffer:i,maxBuffer:n,errorCode:o,signal:a,signalDescription:s,exitCode:l,isCanceled:c,isGracefullyCanceled:u,isForcefullyTerminated:d,forceKillAfterDelay:p,killSignal:h})=>{let m=ni(d,p);return t?`Command timed out after ${r} milliseconds${m}`:u?void 0===a?`Command was gracefully canceled with exit code ${l}`:d?`Command was gracefully canceled${m}`:`Command was gracefully canceled with ${a} (${s})`:c?`Command was canceled${m}`:i?`${((e,t)=>{let{streamName:r,threshold:i,unit:n}=((e,t)=>{if(e?.maxBufferInfo===void 0)return{streamName:"output",threshold:t[1],unit:"bytes"};let{maxBufferInfo:{fdNumber:r,unit:i}}=e;delete e.maxBufferInfo;let n=ro(t,r);return"ipc"===r?{streamName:"IPC output",threshold:n,unit:"messages"}:{streamName:t2(r),threshold:n,unit:i}})(e,t);return`Command's ${r} was larger than ${i} ${n}`})(e,n)}${m}`:void 0!==o?`Command failed with ${o}${m}`:d?`Command was killed with ${h} (${rG(h)})${m}`:void 0!==a?`Command was killed with ${a} (${s})`:void 0!==l?`Command failed with exit code ${l}`:"Command failed"})({originalError:i,timedOut:l,timeout:g,isMaxBuffer:d,maxBuffer:f,errorCode:_,signal:n,signalDescription:o,exitCode:a,isCanceled:c,isGracefullyCanceled:u,isForcefullyTerminated:p,forceKillAfterDelay:h,killSignal:m}),b=((e,t)=>{if(e instanceof rU)return;let r=rd(((e,t)=>{let r;if(t===i6())return e;try{r=(0,J.statSync)(t)}catch(r){return`The "cwd" option is invalid: ${t}.
|
|
46
|
+
${r.message}
|
|
47
|
+
${e}`}return r.isDirectory()?e:`The "cwd" option is not a directory: ${t}.
|
|
48
|
+
${e}`})(rH(e)&&rj in e?e.originalMessage:String(e?.message??e),t));return""===r?void 0:r})(i,y),v=void 0===b?"":`
|
|
49
|
+
${b}`,O=`${w}: ${s}${v}`,E=[O,...void 0===t?[e[2],e[1]]:[t],...e.slice(3),r.map(e=>{let t;return"string"==typeof(t=e)?t:(0,B.inspect)(t)}).join("\n")].map(e=>{let t;return rd(A(Array.isArray(t=e)?t.map(e=>A(nn(e))).filter(Boolean).join("\n"):nn(t)))}).filter(Boolean).join("\n\n");return{originalMessage:b,shortMessage:O,message:E}})({stdio:d,all:p,ipcOutput:h,originalError:e,signal:O,signalDescription:E,exitCode:v,escapedCommand:r,timedOut:n,isCanceled:o,isGracefullyCanceled:a,isMaxBuffer:s,isForcefullyTerminated:l,forceKillAfterDelay:g,killSignal:y,maxBuffer:w,timeout:f,cwd:_}),T=new(b?rN:rM)(C,e instanceof rU?{}:{cause:e});return Object.assign(T,nl({error:T,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:o,isGracefullyCanceled:a,isMaxBuffer:s,isForcefullyTerminated:l,exitCode:v,signal:O,signalDescription:E,stdio:d,all:p,ipcOutput:h,cwd:_,originalMessage:S,shortMessage:$})),T},nl=({error:e,command:t,escapedCommand:r,startTime:i,timedOut:n,isCanceled:o,isGracefullyCanceled:a,isMaxBuffer:s,isForcefullyTerminated:l,exitCode:c,signal:u,signalDescription:d,stdio:p,all:h,ipcOutput:m,cwd:f,originalMessage:g,shortMessage:y})=>nc({shortMessage:y,originalMessage:g,command:t,escapedCommand:r,cwd:f,durationMs:rk(i),failed:!0,timedOut:n,isCanceled:o,isGracefullyCanceled:a,isTerminated:void 0!==u,isMaxBuffer:s,isForcefullyTerminated:l,exitCode:c,signal:u,signalDescription:d,code:e.cause?.code,stdout:p[1],stderr:p[2],all:h,stdio:p,ipcOutput:m,pipedFrom:[]}),nc=e=>Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e)),nu=(e,t)=>{let r=null===t?void 0:t,i=void 0===r?void 0:rG(t);return{exitCode:null===e?void 0:e,signal:r,signalDescription:i}},nd=(e,t,{reject:r})=>{if((({verbose:e})=>"none"!==rs(e,void 0))(t)){var i,n;e.failed&&rE({type:"error",verboseMessage:e.shortMessage,verboseInfo:t,result:e}),i=e,n=t,rE({type:"duration",verboseMessage:`(done in ${x(i.durationMs)})`,verboseInfo:n,result:i})}if(e.failed&&r)throw e;return e},np=(e,t)=>(nm(e,t,"Duplex stream"),"duplex"),nh=(e,t)=>(nm(e,t,"web TransformStream"),"webTransform"),nm=({final:e,binary:t,objectMode:r},i,n)=>{nf(e,`${i}.final`,n),nf(t,`${i}.binary`,n),ny(r,`${i}.objectMode`)},nf=(e,t,r)=>{if(void 0!==e)throw TypeError(`The \`${t}\` option can only be defined when using a generator, not a ${r}.`)},ng=({transform:e,final:t,binary:r,objectMode:i},n)=>{if(void 0!==e&&!n_(e))throw TypeError(`The \`${n}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(w(t,{checkOpen:!1}))throw TypeError(`The \`${n}.final\` option must not be a Duplex stream.`);if(nC(t))throw TypeError(`The \`${n}.final\` option must not be a web TransformStream.`);if(void 0!==t&&!n_(t))throw TypeError(`The \`${n}.final\` option must be a generator.`);return ny(r,`${n}.binary`),ny(i,`${n}.objectMode`),nw(e)||nw(t)?"asyncGenerator":"generator"},ny=(e,t)=>{if(void 0!==e&&"boolean"!=typeof e)throw TypeError(`The \`${t}\` option must use a boolean.`)},n_=e=>nw(e)||nb(e),nw=e=>"[object AsyncGeneratorFunction]"===Object.prototype.toString.call(e),nb=e=>"[object GeneratorFunction]"===Object.prototype.toString.call(e),nv=e=>"[object URL]"===Object.prototype.toString.call(e),nO=new Set(["file","append"]),nE=e=>"string"==typeof e,nS=new Set(["ipc","ignore","inherit","overlapped","pipe"]),n$=e=>"[object ReadableStream]"===Object.prototype.toString.call(e),nA=e=>"[object WritableStream]"===Object.prototype.toString.call(e),nC=e=>n$(e?.readable)&&nA(e?.writable),nT=e=>"object"==typeof e&&null!==e,nx=new Set(["generator","asyncGenerator","duplex","webTransform"]),nk=new Set(["fileUrl","filePath","fileNumber"]),nP=new Set(["fileUrl","filePath"]),nU=new Set([...nP,"webStream","nodeStream"]),nI=new Set(["webTransform","duplex"]),nj={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"},nH=(e,t,r,i)=>"output"===i?nM(e,t,r):nN(e,t,r),nM=(e,t,r)=>{let i=0!==t&&r[t-1].value.readableObjectMode;return{writableObjectMode:i,readableObjectMode:e??i}},nN=(e,t,r)=>{let i=0===t?!0===e:r[t-1].value.readableObjectMode,n=t!==r.length-1&&(e??i);return{writableObjectMode:i,readableObjectMode:n}},nD=({stdioItem:e,stdioItem:{type:t},index:r,newTransforms:i,optionName:n,direction:o,encoding:a})=>"duplex"===t?nR({stdioItem:e,optionName:n}):"webTransform"===t?nB({stdioItem:e,index:r,newTransforms:i,direction:o}):nV({stdioItem:e,index:r,newTransforms:i,direction:o,encoding:a}),nR=({stdioItem:e,stdioItem:{value:{transform:t,transform:{writableObjectMode:r,readableObjectMode:i},objectMode:n=i}},optionName:o})=>{if(n&&!i)throw TypeError(`The \`${o}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!n&&i)throw TypeError(`The \`${o}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...e,value:{transform:t,writableObjectMode:r,readableObjectMode:i}}},nB=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n})=>{let{transform:o,objectMode:a}=m(t)?t:{transform:t},{writableObjectMode:s,readableObjectMode:l}=nH(a,r,i,n);return{...e,value:{transform:o,writableObjectMode:s,readableObjectMode:l}}},nV=({stdioItem:e,stdioItem:{value:t},index:r,newTransforms:i,direction:n,encoding:o})=>{let{transform:a,final:s,binary:l=!1,preserveNewlines:c=!1,objectMode:u}=m(t)?t:{transform:t},d=l||i2.has(o),{writableObjectMode:p,readableObjectMode:h}=nH(u,r,i,n);return{...e,value:{transform:a,final:s,binary:d,preserveNewlines:c,writableObjectMode:p,readableObjectMode:h}}},nL=(e,t)=>"input"===t?e.reverse():e,nF=["input","output","output"],nW=()=>void 0,nG=()=>"input",nK={generator:nW,asyncGenerator:nW,fileUrl:nW,filePath:nW,iterable:nG,asyncIterable:nG,uint8Array:nG,webStream:e=>nA(e)?"output":"input",nodeStream:e=>p(e,{checkOpen:!1})?g(e,{checkOpen:!1})?void 0:"input":"output",webTransform:nW,duplex:nW,native(e){let t=nq(e);return void 0!==t?t:P(e,{checkOpen:!1})?nK.nodeStream(e):void 0}},nq=e=>[0,u.stdin].includes(e)?"input":[1,2,u.stdout,u.stderr].includes(e)?"output":void 0,nz=e=>t1.some(t=>void 0!==e[t]),nJ=(e,t)=>Array.isArray(e)?e.map(e=>nJ(e,t)):null==e?t>=t1.length?"ignore":"pipe":e,nX=e=>"pipe"===e||Array.isArray(e)&&e.every(e=>"pipe"===e),nY=({value:e,optionName:t,fdNumber:r,direction:i})=>{let n=nZ(e,r);if(void 0!==n){if("output"===i)return{type:"fileNumber",value:n,optionName:t};if(l.isatty(n))throw TypeError(`The \`${t}: ${id(e)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:tR((0,J.readFileSync)(n)),optionName:t}}},nZ=(e,t)=>{if("inherit"===e)return t;if("number"==typeof e)return e;let r=t0.indexOf(e);if(-1!==r)return r},nQ=(e,t,r)=>{let i=t0[e];if(void 0===i)throw TypeError(`The \`${r}: ${t}\` option is invalid: no such standard stream.`);return i},n0=e=>{if(p(e,{checkOpen:!1}))return"nodeStream";if("string"==typeof e)return"string";if(tD(e))return"uint8Array";throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},n1=e=>{if(nv(e))return{type:"fileUrl",value:e};if(nE(e))return{type:"filePath",value:{file:e}};throw Error("The `inputFile` option must be a file path string or a file URL.")},n2=({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{let o=e.filter(e=>n3(e,r));if(0!==o.length)return n8(o.find(e=>e.direction!==n),i,t),"output"===n?o[0].stream:void 0},n3=({type:e,value:t},r)=>"filePath"===e?t.file===r.file:"fileUrl"===e?t.href===r.href:t===r,n8=(e,t,r)=>{if(void 0!==e)throw TypeError(`The \`${e.optionName}\` and \`${t}\` options must not target ${nj[r]} that is the same.`)},n4=(e,t,r,i)=>{let n=on({initialFileDescriptors:(({stdio:e,ipc:t,buffer:r,...i},n,o)=>{let a,s,l,c=((e,t)=>{if(void 0===e)return t1.map(e=>t[e]);if(nz(t))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${t1.map(e=>`\`${e}\``).join(", ")}`);if("string"==typeof e)return[e,e,e];if(!Array.isArray(e))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);return Array.from({length:Math.max(e.length,t1.length)},(t,r)=>e[r])})(e,i).map((e,t)=>nJ(e,t));return o?(a=c,s=r,l=n,a.map((e,t)=>!s[t]&&0!==t&&!ra(l,t)&&nX(e)?"ignore":e)):t&&!c.includes("ipc")?[...c,"ipc"]:c})(t,r,i).map((e,r)=>n6({stdioOption:e,fdNumber:r,options:t,isSync:i})),addProperties:e,options:t,isSync:i});return t.stdio=n.map(({stdioItems:e})=>ol(e)),n},n6=({stdioOption:e,fdNumber:t,options:r,isSync:i})=>{let n,o,a=t2(t),{stdioItems:s,isStdioArray:l}=n5({stdioOption:e,fdNumber:t,options:r,optionName:a}),c=((e,t,r)=>{let i=e.map(e=>(({type:e,value:t},r)=>nF[r]??nK[e](t))(e,t));if(i.includes("input")&&i.includes("output"))throw TypeError(`The \`${r}\` option must not be an array of both readable and writable values.`);return i.find(Boolean)??"output"})(s,t,a),u=(n=s.map(e=>(({stdioItem:e,stdioItem:{type:t},isStdioArray:r,fdNumber:i,direction:n,isSync:o})=>r&&"native"===t?o?(({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i,direction:n})=>{let o=nY({value:t,optionName:r,fdNumber:i,direction:n});if(void 0!==o)return o;if(P(t,{checkOpen:!1}))throw TypeError(`The \`${r}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return e})({stdioItem:e,fdNumber:i,direction:n}):(({stdioItem:e,stdioItem:{value:t,optionName:r},fdNumber:i})=>"inherit"===t?{type:"nodeStream",value:nQ(i,t,r),optionName:r}:"number"==typeof t?{type:"nodeStream",value:nQ(t,t,r),optionName:r}:P(t,{checkOpen:!1})?{type:"nodeStream",value:t,optionName:r}:e)({stdioItem:e,fdNumber:i}):e)({stdioItem:e,isStdioArray:l,fdNumber:t,direction:c,isSync:i})),[...n.filter(({type:e})=>!nx.has(e)),...((e,t,r,{encoding:i})=>{let n=e.filter(({type:e})=>nx.has(e)),o=Array.from({length:n.length});for(let[e,a]of Object.entries(n))o[e]=nD({stdioItem:a,index:Number(e),newTransforms:o,optionName:t,direction:r,encoding:i});return nL(o,r)})(n,a,c,r)]),d=void 0!==(o=u.findLast(({type:e})=>nx.has(e)))&&("input"===c?o.value.writableObjectMode:o.value.readableObjectMode);return oi(u,d),{direction:c,objectMode:d,stdioItems:u}},n5=({stdioOption:e,fdNumber:t,options:r,optionName:i})=>{let n,o=(n=[...(Array.isArray(e)?e:[e]).map(e=>n7(e,i)),...(({input:e,inputFile:t},r)=>{let i,n;return 0===r?[...void 0===(i=e)?[]:[{type:n0(i),value:i,optionName:"input"}],...void 0===(n=t)?[]:[{...n1(n),optionName:"inputFile"}]]:[]})(r,t)]).filter((e,t)=>n.every((r,i)=>e.value!==r.value||t>=i||"generator"===e.type||"asyncGenerator"===e.type)),a=o.length>1;return n9(o,a,i),ot(o),{stdioItems:o,isStdioArray:a}},n7=(e,t)=>{let r,i,n,o,a,s,l;return{type:nw(e)?"asyncGenerator":nb(e)?"generator":nv(e)?"fileUrl":m(r=e)&&Object.keys(r).length>0&&Object.keys(r).every(e=>nO.has(e))&&nE(r.file)?"filePath":n$(i=e)||nA(i)?"webStream":P(e,{checkOpen:!1})?"native":tD(e)?"uint8Array":nT(n=e)&&"function"==typeof n[Symbol.asyncIterator]?"asyncIterable":nT(o=e)&&"function"==typeof o[Symbol.iterator]?"iterable":nC(e)?nh({transform:e},t):m(a=e)&&(void 0!==a.transform||void 0!==a.final)?(s=e,l=t,w(s.transform,{checkOpen:!1})?np(s,l):nC(s.transform)?nh(s,l):ng(s,l)):"native",value:e,optionName:t}},n9=(e,t,r)=>{if(0===e.length)throw TypeError(`The \`${r}\` option must not be an empty array.`);if(t){for(let{value:t,optionName:r}of e)if(oe.has(t))throw Error(`The \`${r}\` option must not include \`${t}\`.`)}},oe=new Set(["ignore","ipc"]),ot=e=>{for(let t of e)or(t)},or=({type:e,value:t,optionName:r})=>{if(nv(t)&&"file:"!==t.protocol)throw TypeError(`The \`${r}: URL\` option must use the \`file:\` scheme.
|
|
50
|
+
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if("native"===e&&"string"==typeof t&&!nS.has(t))throw TypeError(`The \`${r}: { file: '...' }\` option must be used instead of \`${r}: '...'\`.`)},oi=(e,t)=>{if(!t)return;let r=e.find(({type:e})=>nk.has(e));if(void 0!==r)throw TypeError(`The \`${r.optionName}\` option cannot use both files and transforms in objectMode.`)},on=({initialFileDescriptors:e,addProperties:t,options:r,isSync:i})=>{let n=[];try{for(let o of e)n.push(oo({fileDescriptor:o,fileDescriptors:n,addProperties:t,options:r,isSync:i}));return n}catch(e){throw os(n),e}},oo=({fileDescriptor:{direction:e,objectMode:t,stdioItems:r},fileDescriptors:i,addProperties:n,options:o,isSync:a})=>{let s=r.map(t=>oa({stdioItem:t,addProperties:n,direction:e,options:o,fileDescriptors:i,isSync:a}));return{direction:e,objectMode:t,stdioItems:s}},oa=({stdioItem:e,addProperties:t,direction:r,options:i,fileDescriptors:n,isSync:o})=>{let a=(({stdioItem:{type:e,value:t,optionName:r},direction:i,fileDescriptors:n,isSync:o})=>{let a,s,l=(a=n,s=e,a.flatMap(({direction:e,stdioItems:t})=>t.filter(e=>e.type===s).map(t=>({...t,direction:e}))));if(0!==l.length){if(o)return void(({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})=>{nP.has(t)&&n2({otherStdioItems:e,type:t,value:r,optionName:i,direction:n})})({otherStdioItems:l,type:e,value:t,optionName:r,direction:i});if(nU.has(e))return n2({otherStdioItems:l,type:e,value:t,optionName:r,direction:i});nI.has(e)&&(({otherStdioItems:e,type:t,value:r,optionName:i})=>{n8(e.find(({value:{transform:e}})=>e===r.transform),i,t)})({otherStdioItems:l,type:e,value:t,optionName:r})}})({stdioItem:e,direction:r,fileDescriptors:n,isSync:o});return void 0!==a?{...e,stream:a}:{...e,...t[r][e.type](e,i)}},os=e=>{for(let{stdioItems:t}of e)for(let{stream:e}of t)void 0===e||tQ(e)||e.destroy()},ol=e=>{if(e.length>1)return e.some(({value:e})=>"overlapped"===e)?"overlapped":"pipe";let[{type:t,value:r}]=e;return"native"===t?r:"pipe"},oc=({type:e,optionName:t})=>{ou(t,nj[e])},ou=(e,t)=>{throw TypeError(`The \`${e}\` option cannot be ${t} with synchronous methods.`)},od={generator(){},asyncGenerator:oc,webStream:oc,nodeStream:oc,webTransform:oc,duplex:oc,asyncIterable:oc,native:({optionName:e,value:t})=>(("ipc"===t||"overlapped"===t)&&ou(e,`"${t}"`),{})},op={input:{...od,fileUrl:({value:e})=>({contents:[tR((0,J.readFileSync)(e))]}),filePath:({value:{file:e}})=>({contents:[tR((0,J.readFileSync)(e))]}),fileNumber:oc,iterable:({value:e})=>({contents:[...e]}),string:({value:e})=>({contents:[e]}),uint8Array:({value:e})=>({contents:[e]})},output:{...od,fileUrl:({value:e})=>({path:e}),filePath:({value:{file:e,append:t}})=>({path:e,append:t}),fileNumber:({value:e})=>({path:e}),iterable:oc,string:oc,uint8Array:oc}},oh=(e,{stripFinalNewline:t},r)=>om(t,r)&&void 0!==e&&!Array.isArray(e)?A(e):e,om=(e,t)=>"all"===t?e[1]||e[2]:e[t],of=(e,t,r,i)=>e||r?void 0:o_(t,i),og=(e,t,r)=>r?e.flatMap(e=>oy(e,t)):oy(e,t),oy=(e,t)=>{let{transform:r,final:i}=o_(t,{});return[...r(e),...i()]},o_=(e,t)=>(t.previousChunks="",{transform:ow.bind(void 0,t,e),final:ov.bind(void 0,t)}),ow=function*(e,t,r){if("string"!=typeof r)return void(yield r);let{previousChunks:i}=e,n=-1;for(let o=0;o<r.length;o+=1)if("\n"===r[o]){let a=ob(r,o,t,e),s=r.slice(n+1,o+1-a);i.length>0&&(s=oE(i,s),i=""),yield s,n=o}n!==r.length-1&&(i=oE(i,r.slice(n+1))),e.previousChunks=i},ob=(e,t,r,i)=>r?0:(i.isWindowsNewline=0!==t&&"\r"===e[t-1],i.isWindowsNewline?2:1),ov=function*({previousChunks:e}){e.length>0&&(yield e)},oO=function*({isWindowsNewline:e=!1},t){let{unixNewline:r,windowsNewline:i,LF:n,concatBytes:o}="string"==typeof t?oS:o$;t.at(-1)===n?yield t:yield o(t,e?i:r)},oE=(e,t)=>`${e}${t}`,oS={windowsNewline:"\r\n",unixNewline:"\n",LF:"\n",concatBytes:oE},o$={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:(e,t)=>{let r=new Uint8Array(e.length+t.length);return r.set(e,0),r.set(t,e.length),r}},oA=a("node:buffer"),oC=function*(e,t){if("string"!=typeof t&&!tD(t)&&!oA.Buffer.isBuffer(t))throw TypeError(`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof t}.`);yield t},oT=function*(e,t){ok(e,t),yield t},ox=function*(e,t){if(ok(e,t),"string"!=typeof t&&!tD(t))throw TypeError(`The \`${e}\` option's function must yield a string or an Uint8Array, not ${typeof t}.`);yield t},ok=(e,t)=>{if(null==t)throw TypeError(`The \`${e}\` option's function must not call \`yield ${t}\`.
|
|
51
|
+
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
52
|
+
if (condition) { yield value; }`)},oP=(e,t,r)=>{if(r)return;if(e)return{transform:oU.bind(void 0,new TextEncoder)};let i=new tM.StringDecoder(t);return{transform:oI.bind(void 0,i),final:oj.bind(void 0,i)}},oU=function*(e,t){oA.Buffer.isBuffer(t)?yield tR(t):"string"==typeof t?yield e.encode(t):yield t},oI=function*(e,t){yield tD(t)?e.write(t):t},oj=function*(e){let t=e.end();""!==t&&(yield t)},oH=(0,B.callbackify)(async(e,t,r,i)=>{t.currentIterable=e(...r);try{for await(let e of t.currentIterable)i.push(e)}finally{delete t.currentIterable}}),oM=async function*(e,t,r){if(r===t.length)return void(yield e);let{transform:i=oB}=t[r];for await(let n of i(e))yield*oM(n,t,r+1)},oN=async function*(e){for(let[t,{final:r}]of Object.entries(e))yield*oD(r,Number(t),e)},oD=async function*(e,t,r){if(void 0!==e)for await(let i of e())yield*oM(i,r,t+1)},oR=(0,B.callbackify)(async({currentIterable:e},t)=>{if(void 0!==e)return void await (t?e.throw(t):e.return());if(t)throw t}),oB=function*(e){yield e},oV=(e,t,r,i)=>{try{for(let i of e(...t))r.push(i);i()}catch(e){i(e)}},oL=(e,t)=>[...t.flatMap(t=>[...oF(t,e,0)]),...oW(e)],oF=function*(e,t,r){if(r===t.length)return void(yield e);let{transform:i=oK}=t[r];for(let n of i(e))yield*oF(n,t,r+1)},oW=function*(e){for(let[t,{final:r}]of Object.entries(e))yield*oG(r,Number(t),e)},oG=function*(e,t,r){if(void 0!==e)for(let i of e())yield*oF(i,r,t+1)},oK=function*(e){yield e},oq=a("node:stream"),oz=({value:e,value:{transform:t,final:r,writableObjectMode:i,readableObjectMode:n},optionName:o},{encoding:a})=>{let s={},l=oX(e,a,o),c=nw(t),u=nw(r),d=c?oH.bind(void 0,oM,s):oV.bind(void 0,oF),p=c||u?oH.bind(void 0,oN,s):oV.bind(void 0,oW),h=c||u?oR.bind(void 0,s):void 0;return{stream:new oq.Transform({writableObjectMode:i,writableHighWaterMark:(0,oq.getDefaultHighWaterMark)(i),readableObjectMode:n,readableHighWaterMark:(0,oq.getDefaultHighWaterMark)(n),transform(e,t,r){d([e,l,0],this,r)},flush(e){p([l],this,e)},destroy:h})}},oJ=(e,t,r,i)=>{let n=t.filter(({type:e})=>"generator"===e);for(let{value:t,optionName:o}of i?n.reverse():n)e=oL(oX(t,r,o),e);return e},oX=({transform:e,final:t,binary:r,writableObjectMode:i,readableObjectMode:n,preserveNewlines:o},a,s)=>{let l={};return[{transform:i?void 0:oC.bind(void 0,s)},oP(r,a,i),of(r,o,i,l),{transform:e,final:t},{transform:n?oT.bind(void 0,s):ox.bind(void 0,s)},(({binary:e,preserveNewlines:t,readableObjectMode:r,state:i})=>e||t||r?void 0:{transform:oO.bind(void 0,i)})({binary:r,preserveNewlines:o,readableObjectMode:n,state:l})].filter(Boolean)},oY=(e,t,r)=>{let{stdioItems:i}=e[t],n=i.filter(({contents:e})=>void 0!==e);if(0!==n.length){if(0!==t){let[{type:e,optionName:t}]=n;throw TypeError(`Only the \`stdin\` option, not \`${t}\`, can be ${nj[e]} with synchronous methods.`)}r.input=tL(n.map(({contents:e})=>e).map(e=>oZ(e,i)))}},oZ=(e,t)=>{let r=oJ(e,t,"utf8",!0);return oQ(r),tL(r)},oQ=e=>{let t=e.find(e=>"string"!=typeof e&&!tD(e));if(void 0!==t)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${t}.`)},o0=({stdioItems:e,encoding:t,verboseInfo:r,fdNumber:i})=>"all"!==i&&ra(r,i)&&!i2.has(t)&&o1(i)&&(e.some(({type:e,value:t})=>"native"===e&&o2.has(t))||e.every(({type:e})=>nx.has(e))),o1=e=>1===e||2===e,o2=new Set(["pipe","overlapped"]),o3=async(e,t,r,i)=>{for await(let n of e)o8(t)||o4(n,r,i)},o8=e=>e._readableState.pipes.length>0,o4=(e,t,r)=>{rE({type:"output",verboseMessage:rC(e),fdNumber:t,verboseInfo:r})},o6=(e,t,r,i)=>{try{return oJ(e,t,r,!1)}catch(t){return i.error=t,e}},o5=({chunks:e,objectMode:t,encoding:r,lines:i,stripFinalNewline:n,fdNumber:o})=>{if(t)return{serializedResult:e};if("buffer"===r)return{serializedResult:tL(e)};let a=((e,t)=>{if("utf8"===t&&e.every(e=>"string"==typeof e))return e;let r=new tM.StringDecoder(t),i=e.map(e=>"string"==typeof e?tB.encode(e):e).map(e=>r.write(e)),n=r.end();return""===n?i:[...i,n]})(e,r).join("");return i[o]?{serializedResult:a,finalResult:og(a,!n[o],t)}:{serializedResult:a}},o7=({serializedResult:e,fdNumber:t,state:r,verboseInfo:i,encoding:n,stdioItems:o,objectMode:a})=>{if(!o0({stdioItems:o,encoding:n,verboseInfo:i,fdNumber:t}))return;let s=og(e,!1,a);try{for(let e of s)o4(e,t,i)}catch(e){r.error??=e}},o9=(e,t,r)=>{for(let{path:i,append:n}of t.filter(({type:e})=>nk.has(e))){let t="string"==typeof i?i:i.toString();n||r.has(t)?(0,J.appendFileSync)(i,e):(r.add(t),(0,J.writeFileSync)(i,e))}},ae=async(e,t)=>{let[r,i]=await at(e);return t.isForcefullyTerminated??=!1,[r,i]},at=async e=>{let[t,r]=await Promise.allSettled([(0,K.once)(e,"spawn"),(0,K.once)(e,"exit")]);return"rejected"===t.status?[]:"rejected"===r.status?ar(e):r.value},ar=async e=>{try{return await (0,K.once)(e,"exit")}catch{return ar(e)}},ai=async e=>{let[t,r]=await e;if(!an(t,r)&&ao(t,r))throw new rU;return[t,r]},an=(e,t)=>void 0===e&&void 0===t,ao=(e,t)=>0!==e||null!==t,aa=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,as=({ipc:e,ipcInput:t,detached:r,cancelSignal:i})=>{t&&al("ipcInput"),e&&al("ipc: true"),r&&al("detached: true"),i&&al("cancelSignal")},al=e=>{throw TypeError(`The "${e}" option cannot be used with synchronous methods.`)},ac=({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:o,startTime:a})=>{try{let i;for(let e of(i=o,new Set(Object.entries(i).filter(([,{direction:e}])=>"input"===e).map(([e])=>Number(e)))))oY(o,e,r);let n=au(r);return(0,q.spawnSync)(...nt(e,t,n))}catch(e){return na({error:e,command:i,escapedCommand:n,fileDescriptors:o,options:r,startTime:a,isSync:!0})}},au=({encoding:e,maxBuffer:t,...r})=>({...r,encoding:"buffer",maxBuffer:(([,e])=>e)(t)}),ad=({error:e,exitCode:t,signal:r,timedOut:i,isMaxBuffer:n,stdio:o,all:a,options:s,command:l,escapedCommand:c,startTime:u})=>void 0===e?no({command:l,escapedCommand:c,stdio:o,all:a,ipcOutput:[],options:s,startTime:u}):ns({error:e,command:l,escapedCommand:c,timedOut:i,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:n,isForcefullyTerminated:!1,exitCode:t,signal:r,stdio:o,all:a,ipcOutput:[],options:s,startTime:u,isSync:!0}),ap=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0,filter:o}={})=>(rQ({methodName:"getOneMessage",isSubprocess:r,ipc:i,isConnected:iS(e)}),ah({anyProcess:e,channel:t,isSubprocess:r,filter:o,reference:n})),ah=async({anyProcess:e,channel:t,isSubprocess:r,filter:i,reference:n})=>{ih(t,n);let o=iv(e,t,r),a=new AbortController;try{return await Promise.race([am(o,i,a),af(o,r,a),ag(o,r,a)])}catch(t){throw r7(e),t}finally{a.abort(),ig(t,n)}},am=async(e,t,{signal:r})=>{if(void 0===t){let[t]=await (0,K.once)(e,"message",{signal:r});return t}for await(let[i]of(0,K.on)(e,"message",{signal:r}))if(t(i))return i},af=async(e,t,{signal:r})=>{await (0,K.once)(e,"disconnect",{signal:r});throw Error(`${r4("getOneMessage",t)} could not complete: the ${r5(t)} exited or disconnected.`)},ag=async(e,t,{signal:r})=>{let[i]=await (0,K.once)(e,"strict:error",{signal:r});throw r2(i,t)},ay=({anyProcess:e,channel:t,isSubprocess:r,ipc:i},{reference:n=!0}={})=>a_({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:!r,reference:n}),a_=({anyProcess:e,channel:t,isSubprocess:r,ipc:i,shouldAwait:n,reference:o})=>{rQ({methodName:"getEachMessage",isSubprocess:r,ipc:i,isConnected:iS(e)}),ih(t,o);let a=iv(e,t,r),s=new AbortController,l={};return aw(e,a,s),ab({ipcEmitter:a,isSubprocess:r,controller:s,state:l}),av({anyProcess:e,channel:t,ipcEmitter:a,isSubprocess:r,shouldAwait:n,controller:s,state:l,reference:o})},aw=async(e,t,r)=>{try{await (0,K.once)(t,"disconnect",{signal:r.signal}),r.abort()}catch{}},ab=async({ipcEmitter:e,isSubprocess:t,controller:r,state:i})=>{try{let[n]=await (0,K.once)(e,"strict:error",{signal:r.signal});i.error=r2(n,t),r.abort()}catch{}},av=async function*({anyProcess:e,channel:t,ipcEmitter:r,isSubprocess:i,shouldAwait:n,controller:o,state:a,reference:s}){try{for await(let[e]of(0,K.on)(r,"message",{signal:o.signal}))aO(a),yield e}catch{aO(a)}finally{o.abort(),ig(t,s),i||r7(e),n&&await e}},aO=({error:e})=>{if(e)throw e},aE=(e,t,r)=>({sendMessage:iD.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getOneMessage:ap.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r}),getEachMessage:ay.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:t,ipc:r})}),aS=()=>{let e=new oq.PassThrough;return e.end(),e},a$=()=>new oq.Readable({read(){}}),aA=()=>new oq.Writable({write(){}}),aC=()=>new oq.Duplex({read(){},write(){}}),aT=async(e,t,r)=>nd(e,t,r),ax=({type:e,optionName:t})=>{throw TypeError(`The \`${t}\` option cannot be ${nj[e]}.`)},ak={fileNumber:ax,generator:oz,asyncGenerator:oz,nodeStream:({value:e})=>({stream:e}),webTransform:({value:{transform:e,writableObjectMode:t,readableObjectMode:r}})=>({stream:oq.Duplex.fromWeb(e,{objectMode:t||r})}),duplex:({value:{transform:e}})=>({stream:e}),native(){}},aP={input:{...ak,fileUrl:({value:e})=>({stream:(0,J.createReadStream)(e)}),filePath:({value:{file:e}})=>({stream:(0,J.createReadStream)(e)}),webStream:({value:e})=>({stream:oq.Readable.fromWeb(e)}),iterable:({value:e})=>({stream:oq.Readable.from(e)}),asyncIterable:({value:e})=>({stream:oq.Readable.from(e)}),string:({value:e})=>({stream:oq.Readable.from(e)}),uint8Array:({value:e})=>({stream:oq.Readable.from(oA.Buffer.from(e))})},output:{...ak,fileUrl:({value:e})=>({stream:(0,J.createWriteStream)(e)}),filePath:({value:{file:e,append:t}})=>({stream:(0,J.createWriteStream)(e,t?{flags:"a"}:{})}),webStream:({value:e})=>({stream:oq.Writable.fromWeb(e)}),iterable:ax,asyncIterable:ax,string:ax,uint8Array:ax}},aU=(e,t)=>{e.pipe(t),aI(e,t),aH(e,t)},aI=async(e,t)=>{if(!(tQ(e)||tQ(t))){try{await (0,s.finished)(e,{cleanup:!0,readable:!0,writable:!1})}catch{}aj(t)}},aj=e=>{e.writable&&e.end()},aH=async(e,t)=>{if(!(tQ(e)||tQ(t))){try{await (0,s.finished)(t,{cleanup:!0,readable:!1,writable:!0})}catch{}aM(e)}},aM=e=>{e.readable&&e.destroy()},aN=(e,t,r,i)=>{"output"===r?aU(e.stdio[i],t):aU(t,e.stdio[i]);let n=aD[i];void 0!==n&&(e[n]=t),e.stdio[i]=t},aD=["stdin","stdout","stderr"],aR=({subprocess:e,stream:t,direction:r,fdNumber:i,pipeGroups:n,controller:o})=>{if(void 0===t)return;aB(t,o);let[a,s]="output"===r?[t,e.stdio[i]]:[e.stdio[i],t],l=n.get(a)??[];n.set(a,[...l,s])},aB=(e,{signal:t})=>{tQ(e)&&ip(e,aV,t)},aV=2,aL=(e,t,r,...i)=>{if(Array.isArray(r))return{destination:t(aF,e)(r,...i),pipeOptions:e};if("string"==typeof r||r instanceof URL||tI(r)){if(Object.keys(e).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[n,o,a]=tH(r,...i);return{destination:t(aF)(n,o,a),pipeOptions:a}}if(ir.has(r)){if(Object.keys(e).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:i[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},aF=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),aW=({error:e,fileDescriptors:t,sourceOptions:r,startTime:i})=>na({error:e,command:aG,escapedCommand:aG,fileDescriptors:t,options:r,startTime:i,isSync:!1}),aG="source.pipe(destination)",aK=async e=>{let[{status:t,reason:r,value:i=r},{status:n,reason:o,value:a=o}]=await e;if(a.pipedFrom.includes(i)||a.pipedFrom.push(i),"rejected"===n)throw a;if("rejected"===t)throw i;return a},aq=async e=>{try{await (0,s.finished)(e,{cleanup:!0,readable:!1,writable:!0})}catch{}az.delete(e)},az=new WeakMap,aJ=async(e,{sourceStream:t,mergedStream:r,fileDescriptors:i,sourceOptions:n,startTime:o})=>{throw await (0,B.aborted)(e,t),await r.remove(t),aW({error:Error("Pipe canceled by `unpipeSignal` option."),fileDescriptors:i,sourceOptions:n,startTime:o})},aX=(e,...t)=>{if(m(t[0]))return aX.bind(void 0,{...e,boundOptions:{...e.boundOptions,...t[0]}});let{destination:r,...i}=(({source:e,sourcePromise:t,boundOptions:r,createNested:i},...n)=>{let o=u.hrtime.bigint(),{destination:a,destinationStream:s,destinationError:l,from:c,unpipeSignal:d}=((e,t,r)=>{try{let{destination:i,pipeOptions:{from:n,to:o,unpipeSignal:a}={}}=aL(e,t,...r),s=ie(i,o);return{destination:i,destinationStream:s,from:n,unpipeSignal:a}}catch(e){return{destinationError:e}}})(r,i,n),{sourceStream:p,sourceError:h}=((e,t)=>{try{return{sourceStream:it(e,t)}}catch(e){return{sourceError:e}}})(e,c),{options:m,fileDescriptors:f}=ir.get(e);return{sourcePromise:t,sourceStream:p,sourceOptions:m,sourceError:h,destination:a,destinationStream:s,destinationError:l,unpipeSignal:d,fileDescriptors:f,startTime:o}})(e,...t),n=aY({...i,destination:r});return n.pipe=aX.bind(void 0,{...e,source:r,sourcePromise:n,boundOptions:{}}),n},aY=async({sourcePromise:e,sourceStream:t,sourceOptions:r,sourceError:i,destination:n,destinationStream:o,destinationError:a,unpipeSignal:s,fileDescriptors:l,startTime:c})=>{let u=aZ(e,n);(({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i,fileDescriptors:n,sourceOptions:o,startTime:a})=>{let s=(({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i})=>void 0!==t&&void 0!==i?i:void 0!==i?(aM(e),i):void 0!==t?(aj(r),t):void 0)({sourceStream:e,sourceError:t,destinationStream:r,destinationError:i});if(void 0!==s)throw aW({error:s,fileDescriptors:n,sourceOptions:o,startTime:a})})({sourceStream:t,sourceError:i,destinationStream:o,destinationError:a,fileDescriptors:l,sourceOptions:r,startTime:c});let d=new AbortController;try{var p,h,m,f;let e,i,n,a,g=(n=az.has(o)?(p=t,h=o,(e=az.get(h)).add(p),e):(m=t,f=o,i=v([m]),aU(i,f),az.set(f,i),i),ip(t,2,d.signal),ip(o,1,d.signal),aq(o),n);return await Promise.race([aK(u),...(a={sourceStream:t,mergedStream:g,sourceOptions:r,fileDescriptors:l,startTime:c},void 0===s?[]:[aJ(s,a)])])}finally{d.abort()}},aZ=(e,t)=>Promise.allSettled([e,t]),aQ=({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:i,encoding:n,preserveNewlines:o})=>{let a=new AbortController;return a0(t,a),a3({stream:e,controller:a,binary:r,shouldEncode:!e.readableObjectMode&&i,encoding:n,shouldSplit:!e.readableObjectMode,preserveNewlines:o})},a0=async(e,t)=>{try{await e}catch{}finally{t.abort()}},a1=({stream:e,onStreamEnd:t,lines:r,encoding:i,stripFinalNewline:n,allMixed:o})=>{let a=new AbortController;a2(t,a,e);let s=e.readableObjectMode&&!o;return a3({stream:e,controller:a,binary:"buffer"===i,shouldEncode:!s,encoding:i,shouldSplit:!s&&r,preserveNewlines:!n})},a2=async(e,t,r)=>{try{await e}catch{r.destroy()}finally{t.abort()}},a3=({stream:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:o,preserveNewlines:a})=>a6({onStdoutChunk:(0,K.on)(e,"data",{signal:t.signal,highWaterMark:a4,highWatermark:a4}),controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:o,preserveNewlines:a}),a8=(0,oq.getDefaultHighWaterMark)(!0),a4=a8,a6=async function*({onStdoutChunk:e,controller:t,binary:r,shouldEncode:i,encoding:n,shouldSplit:o,preserveNewlines:a}){let s=a5({binary:r,shouldEncode:i,encoding:n,shouldSplit:o,preserveNewlines:a});try{for await(let[t]of e)yield*oF(t,s,0)}catch(e){if(!t.signal.aborted)throw e}finally{yield*oW(s)}},a5=({binary:e,shouldEncode:t,encoding:r,shouldSplit:i,preserveNewlines:n})=>[oP(e,r,!t),of(e,n,!i,{})].filter(Boolean),a7=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,buffer:n,maxBuffer:o,lines:a,allMixed:s,stripFinalNewline:l,verboseInfo:c,streamInfo:u})=>{let d=a9({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:s,verboseInfo:c,streamInfo:u});if(!n)return void await Promise.all([se(e),d]);let p=a1({stream:e,onStreamEnd:t,lines:a,encoding:i,stripFinalNewline:om(l,r),allMixed:s}),[h]=await Promise.all([st({stream:e,iterable:p,fdNumber:r,encoding:i,maxBuffer:o,lines:a}),d]);return h},a9=async({stream:e,onStreamEnd:t,fdNumber:r,encoding:i,allMixed:n,verboseInfo:o,streamInfo:{fileDescriptors:a}})=>{if(!o0({stdioItems:a[r]?.stdioItems,encoding:i,verboseInfo:o,fdNumber:r}))return;let s=a1({stream:e,onStreamEnd:t,lines:!0,encoding:i,stripFinalNewline:!0,allMixed:n});await o3(s,e,r,o)},se=async e=>{await (0,d.setImmediate)(),null===e.readableFlowing&&e.resume()},st=async({stream:e,stream:{readableObjectMode:t},iterable:r,fdNumber:i,encoding:n,maxBuffer:o,lines:a})=>{try{if(t||a)return await $(r,{maxBuffer:o});if("buffer"===n)return new Uint8Array(await U(r,{maxBuffer:o}));return await O(r,{maxBuffer:o})}catch(r){return si((({error:e,stream:t,readableObjectMode:r,lines:i,encoding:n,fdNumber:o})=>{let a,s,l;if(!(e instanceof S))throw e;if("all"===o)return e;throw e.maxBufferInfo={fdNumber:o,unit:(a=r,s=i,l=n,a?"objects":s?"lines":"buffer"===l?"bytes":"characters")},t.destroy(),e})({error:r,stream:e,readableObjectMode:t,lines:a,encoding:n,fdNumber:i}))}},sr=async e=>{try{return await e}catch(e){return si(e)}},si=({bufferedData:e})=>"[object ArrayBuffer]"===tN.call(e)?new Uint8Array(e):e,sn=async(e,t,r,{isSameDirection:i,stopOnExit:n=!1}={})=>{let o=so(e,r),a=new AbortController;try{await Promise.race([...n?[r.exitPromise]:[],(0,s.finished)(e,{cleanup:!0,signal:a.signal})])}catch(e){o.stdinCleanedUp||sl(e,t,r,i)}finally{a.abort()}},so=(e,{originalStreams:[t],subprocess:r})=>{let i={stdinCleanedUp:!1};return e===t&&sa(e,r,i),i},sa=(e,t,r)=>{let{_destroy:i}=e;e._destroy=(...n)=>{ss(t,r),i.call(e,...n)}},ss=({exitCode:e,signalCode:t},r)=>{(null!==e||null!==t)&&(r.stdinCleanedUp=!0)},sl=(e,t,r,i)=>{if(!sc(e,t,r,i))throw e},sc=(e,t,r,i=!0)=>r.propagating?sp(e)||sd(e):(r.propagating=!0,su(r,t)===i?sp(e):sd(e)),su=({fileDescriptors:e},t)=>"all"!==t&&"input"===e[t].direction,sd=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",sp=e=>e?.code==="EPIPE",sh=async({stream:e,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:o,allMixed:a,stripFinalNewline:s,verboseInfo:l,streamInfo:c})=>{if(!e)return;let u=sn(e,t,c);if(su(c,t))return void await u;let[d]=await Promise.all([a7({stream:e,onStreamEnd:u,fdNumber:t,encoding:r,buffer:i,maxBuffer:n,lines:o,allMixed:a,stripFinalNewline:s,verboseInfo:l,streamInfo:c}),u]);return d},sm=(e,t)=>{rE({type:"ipc",verboseMessage:rC(e),fdNumber:"ipc",verboseInfo:t})},sf=async({subprocess:e,buffer:t,maxBuffer:r,ipc:i,ipcOutput:n,verboseInfo:o})=>{if(!i)return n;let a=ra(o,"ipc"),s=ro(t,"ipc"),l=ro(r,"ipc");for await(let t of a_({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:i,shouldAwait:!1,reference:!0}))s&&(nr(e,n,l),n.push(t)),a&&sm(t,o);return n},sg=async(e,t)=>(await Promise.allSettled([e]),t),sy=async({subprocess:e,options:{encoding:t,buffer:r,maxBuffer:i,lines:n,timeoutDuration:o,cancelSignal:a,gracefulCancel:s,forceKillAfterDelay:l,stripFinalNewline:c,ipc:u,ipcInput:d},context:p,verboseInfo:h,fileDescriptors:m,originalStreams:f,onInternalError:g,controller:y})=>{let _=ae(e,p),w={originalStreams:f,fileDescriptors:m,subprocess:e,exitPromise:_,propagating:!1},b=(({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:o,verboseInfo:a,streamInfo:s})=>e.stdio.map((e,l)=>sh({stream:e,fdNumber:l,encoding:t,buffer:r[l],maxBuffer:i[l],lines:n[l],allMixed:!1,stripFinalNewline:o,verboseInfo:a,streamInfo:s})))({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:c,verboseInfo:h,streamInfo:w}),v=(({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:o,verboseInfo:a,streamInfo:s})=>sh({...(({stdout:e,stderr:t,all:r},[,i,n])=>{let o=i||n;return o?i?n?{stream:r,buffer:o}:{stream:e,buffer:o}:{stream:t,buffer:o}:{stream:r,buffer:o}})(e,r),fdNumber:"all",encoding:t,maxBuffer:i[1]+i[2],lines:n[1]||n[2],allMixed:(({all:e,stdout:t,stderr:r})=>e&&t&&r&&t.readableObjectMode!==r.readableObjectMode)(e),stripFinalNewline:o,verboseInfo:a,streamInfo:s}))({subprocess:e,encoding:t,buffer:r,maxBuffer:i,lines:n,stripFinalNewline:c,verboseInfo:h,streamInfo:w}),O=[],E=sf({subprocess:e,buffer:r,maxBuffer:i,ipc:u,ipcOutput:O,verboseInfo:h}),S=s_(f,e,w),$=sw(m,w);try{return await Promise.race([Promise.all([{},ai(_),Promise.all(b),v,E,i0(e,d),...S,...$]),g,sb(e,y),...0===o||void 0===o?[]:[iZ(e,o,p,y)],...(({subprocess:e,cancelSignal:t,gracefulCancel:r,context:i,controller:n})=>void 0===t||r?[]:[rZ(e,t,i,n)])({subprocess:e,cancelSignal:a,gracefulCancel:s,context:p,controller:y}),...(({subprocess:e,cancelSignal:t,gracefulCancel:r,forceKillAfterDelay:i,context:n,controller:o})=>r?[iX({subprocess:e,cancelSignal:t,forceKillAfterDelay:i,context:n,controller:o})]:[])({subprocess:e,cancelSignal:a,gracefulCancel:s,forceKillAfterDelay:l,context:p,controller:y})])}catch(e){return p.terminationReason??="other",Promise.all([{error:e},_,Promise.all(b.map(e=>sr(e))),sr(v),sg(E,O),Promise.allSettled(S),Promise.allSettled($)])}},s_=(e,t,r)=>e.map((e,i)=>e===t.stdio[i]?void 0:sn(e,i,r)),sw=(e,t)=>e.flatMap(({stdioItems:e},r)=>e.filter(({value:e,stream:t=e})=>P(t,{checkOpen:!1})&&!tQ(t)).map(({type:e,value:i,stream:n=i})=>sn(n,r,t,{isSameDirection:nx.has(e),stopOnExit:"native"===e}))),sb=async(e,{signal:t})=>{let[r]=await (0,K.once)(e,"error",{signal:t});throw r},sv=(e,t,r)=>{let i=e[r];i.has(t)||i.set(t,[]);let n=i.get(t),o=r9();return n.push(o),{resolve:o.resolve.bind(o),promises:n}},sO=async({resolve:e,promises:t},r)=>{e();let[i]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...t])]);return!i},sE=async e=>{if(void 0!==e)try{await s$(e)}catch{}},sS=async e=>{if(void 0!==e)try{await sA(e)}catch{}},s$=async e=>{await (0,s.finished)(e,{cleanup:!0,readable:!1,writable:!0})},sA=async e=>{await (0,s.finished)(e,{cleanup:!0,readable:!0,writable:!1})},sC=async(e,t)=>{if(await e,t)throw t},sT=(e,t,r)=>{r&&!sd(r)?e.destroy(r):t&&e.destroy()},sx=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,binary:n=!0,preserveNewlines:o=!0}={})=>{let a=n||i2.has(r),{subprocessStdout:s,waitReadableDestroy:l}=sk(e,i,t),{readableEncoding:c,readableObjectMode:u,readableHighWaterMark:d}=sP(s,a),{read:p,onStdoutDataDone:h}=sU({subprocessStdout:s,subprocess:e,binary:a,encoding:r,preserveNewlines:o}),m=new oq.Readable({read:p,destroy:(0,B.callbackify)(sH.bind(void 0,{subprocessStdout:s,subprocess:e,waitReadableDestroy:l})),highWaterMark:d,objectMode:u,encoding:c});return sj({subprocessStdout:s,onStdoutDataDone:h,readable:m,subprocess:e}),m},sk=(e,t,r)=>{let i=it(e,t),n=sv(r,i,"readableDestroy");return{subprocessStdout:i,waitReadableDestroy:n}},sP=({readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r},i)=>i?{readableEncoding:e,readableObjectMode:t,readableHighWaterMark:r}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:a8},sU=({subprocessStdout:e,subprocess:t,binary:r,encoding:i,preserveNewlines:n})=>{let o=r9(),a=aQ({subprocessStdout:e,subprocess:t,binary:r,shouldEncode:!r,encoding:i,preserveNewlines:n});return{read(){sI(this,a,o)},onStdoutDataDone:o}},sI=async(e,t,r)=>{try{let{value:i,done:n}=await t.next();n?r.resolve():e.push(i)}catch{}},sj=async({subprocessStdout:e,onStdoutDataDone:t,readable:r,subprocess:i,subprocessStdin:n})=>{try{await sA(e),await i,await sE(n),await t,r.readable&&r.push(null)}catch(e){await sE(n),sM(r,e)}},sH=async({subprocessStdout:e,subprocess:t,waitReadableDestroy:r},i)=>{await sO(r,t)&&(sM(e,i),await sC(t,i))},sM=(e,t)=>{sT(e,e.readable,t)},sN=({subprocess:e,concurrentStreams:t},{to:r}={})=>{let{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:o}=sD(e,r,t),a=new oq.Writable({...sR(i,e,n),destroy:(0,B.callbackify)(sF.bind(void 0,{subprocessStdin:i,subprocess:e,waitWritableFinal:n,waitWritableDestroy:o})),highWaterMark:i.writableHighWaterMark,objectMode:i.writableObjectMode});return sL(i,a),a},sD=(e,t,r)=>{let i=ie(e,t),n=sv(r,i,"writableFinal"),o=sv(r,i,"writableDestroy");return{subprocessStdin:i,waitWritableFinal:n,waitWritableDestroy:o}},sR=(e,t,r)=>({write:sB.bind(void 0,e),final:(0,B.callbackify)(sV.bind(void 0,e,t,r))}),sB=(e,t,r,i)=>{e.write(t,r)?i():e.once("drain",i)},sV=async(e,t,r)=>{await sO(r,t)&&(e.writable&&e.end(),await t)},sL=async(e,t,r)=>{try{await s$(e),t.writable&&t.end()}catch(e){await sS(r),sW(t,e)}},sF=async({subprocessStdin:e,subprocess:t,waitWritableFinal:r,waitWritableDestroy:i},n)=>{await sO(r,t),await sO(i,t)&&(sW(e,n),await sC(t,n))},sW=(e,t)=>{sT(e,e.writable,t)},sG=({subprocess:e,concurrentStreams:t,encoding:r},{from:i,to:n,binary:o=!0,preserveNewlines:a=!0}={})=>{let s=o||i2.has(r),{subprocessStdout:l,waitReadableDestroy:c}=sk(e,i,t),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:p}=sD(e,n,t),{readableEncoding:h,readableObjectMode:m,readableHighWaterMark:f}=sP(l,s),{read:g,onStdoutDataDone:y}=sU({subprocessStdout:l,subprocess:e,binary:s,encoding:r,preserveNewlines:a}),_=new oq.Duplex({read:g,...sR(u,e,d),destroy:(0,B.callbackify)(sK.bind(void 0,{subprocessStdout:l,subprocessStdin:u,subprocess:e,waitReadableDestroy:c,waitWritableFinal:d,waitWritableDestroy:p})),readableHighWaterMark:f,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:m,writableObjectMode:u.writableObjectMode,encoding:h});return sj({subprocessStdout:l,onStdoutDataDone:y,readable:_,subprocess:e,subprocessStdin:u}),sL(u,_,l),_},sK=async({subprocessStdout:e,subprocessStdin:t,subprocess:r,waitReadableDestroy:i,waitWritableFinal:n,waitWritableDestroy:o},a)=>{await Promise.all([sH({subprocessStdout:e,subprocess:r,waitReadableDestroy:i},a),sF({subprocessStdin:t,subprocess:r,waitWritableFinal:n,waitWritableDestroy:o},a)])},sq=(e,t,{from:r,binary:i=!1,preserveNewlines:n=!1}={})=>{let o=i||i2.has(t),a=it(e,r);return sz(aQ({subprocessStdout:a,subprocess:e,binary:o,shouldEncode:!0,encoding:t,preserveNewlines:n}),a,e)},sz=async function*(e,t,r){try{yield*e}finally{t.readable&&t.destroy(),await r}},sJ=(async()=>{})().constructor.prototype,sX=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(sJ,e)]),sY=({timeout:e,signal:t,...r})=>{if(void 0!==t)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:e}},sZ=async({subprocess:e,options:t,startTime:r,verboseInfo:i,fileDescriptors:n,originalStreams:o,command:a,escapedCommand:s,context:l,onInternalError:c,controller:u})=>{let[d,[p,h],m,f,g]=await sy({subprocess:e,options:t,context:l,verboseInfo:i,fileDescriptors:n,originalStreams:o,onInternalError:c,controller:u});u.abort(),c.resolve();let y=sQ({errorInfo:d,exitCode:p,signal:h,stdio:m.map((e,r)=>oh(e,t,r)),all:oh(f,t,"all"),ipcOutput:g,context:l,options:t,command:a,escapedCommand:s,startTime:r});return nd(y,i,t)},sQ=({errorInfo:e,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:o,context:a,options:s,command:l,escapedCommand:c,startTime:u})=>"error"in e?ns({error:e.error,command:l,escapedCommand:c,timedOut:"timeout"===a.terminationReason,isCanceled:"cancel"===a.terminationReason||"gracefulCancel"===a.terminationReason,isGracefullyCanceled:"gracefulCancel"===a.terminationReason,isMaxBuffer:e.error instanceof S,isForcefullyTerminated:a.isForcefullyTerminated,exitCode:t,signal:r,stdio:i,all:n,ipcOutput:o,options:s,startTime:u,isSync:!1}):no({command:l,escapedCommand:c,stdio:i,all:n,ipcOutput:o,options:s,startTime:u}),s0=(e,t)=>{let r=Object.fromEntries(Object.entries(t).map(([t,r])=>[t,s1(t,e[t],r)]));return{...e,...r}},s1=(e,t,r)=>s2.has(e)&&m(t)&&m(r)?{...t,...r}:r,s2=new Set(["env",...rn]),s3=(e,t,r,i)=>{let n=(e,t,i)=>s3(e,t,r,i),o=(...o)=>s8({mapArguments:e,deepOptions:r,boundOptions:t,setBoundExeca:i,createNested:n},...o);return void 0!==i&&i(o,n,t),o},s8=({mapArguments:e,deepOptions:t={},boundOptions:r={},setBoundExeca:i,createNested:n},o,...a)=>{if(m(o))return n(e,s0(r,o),i);let{file:s,commandArguments:l,options:c,isSync:u}=s4({mapArguments:e,firstArgument:o,nextArguments:a,deepOptions:t,boundOptions:r});return u?((e,t,r)=>{let{file:i,commandArguments:n,command:o,escapedCommand:a,startTime:s,verboseInfo:l,options:c,fileDescriptors:u}=((e,t,r)=>{let{command:i,escapedCommand:n,startTime:o,verboseInfo:a}=rP(e,t,r),{file:s,commandArguments:l,options:c}=i7(e,t,aa(r));as(c);let u=n4(op,c,a,!0);return{file:s,commandArguments:l,command:i,escapedCommand:n,startTime:o,verboseInfo:a,options:c,fileDescriptors:u}})(e,t,r);return nd((({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,verboseInfo:o,fileDescriptors:a,startTime:s})=>{let l=ac({file:e,commandArguments:t,options:r,command:i,escapedCommand:n,fileDescriptors:a,startTime:s});if(l.failed)return l;let{resultError:c,exitCode:u,signal:d,timedOut:p,isMaxBuffer:h}=(({error:e,status:t,signal:r,output:i},{maxBuffer:n})=>{let o,a,s,l=(o=e,a=t,s=r,void 0!==o?o:ao(a,s)?new rU:void 0),c=l?.code==="ETIMEDOUT",u=l?.code==="ENOBUFS"&&null!==i&&i.some(e=>null!==e&&e.length>(([,e])=>e)(n));return{resultError:l,exitCode:t,signal:r,timedOut:c,isMaxBuffer:u}})(l,r),{output:m,error:f=c}=(({fileDescriptors:e,syncResult:{output:t},options:r,isMaxBuffer:i,verboseInfo:n})=>{if(null===t)return{output:Array.from({length:3})};let o={},a=new Set([]);return{output:t.map((t,s)=>(({result:e,fileDescriptors:t,fdNumber:r,state:i,outputFiles:n,isMaxBuffer:o,verboseInfo:a},{buffer:s,encoding:l,lines:c,stripFinalNewline:u,maxBuffer:d})=>{if(null===e)return;let p=tR(((e,t,r)=>{if(!t)return e;let i=(([,e])=>e)(r);return e.length>i?e.slice(0,i):e})(e,o,d)),{stdioItems:h,objectMode:m}=t[r],{serializedResult:f,finalResult:g=f}=o5({chunks:o6([p],h,l,i),objectMode:m,encoding:l,lines:c,stripFinalNewline:u,fdNumber:r});o7({serializedResult:f,fdNumber:r,state:i,verboseInfo:a,encoding:l,stdioItems:h,objectMode:m});let y=s[r]?g:void 0;try{return void 0===i.error&&o9(f,h,n),y}catch(e){return i.error=e,y}})({result:t,fileDescriptors:e,fdNumber:s,state:o,outputFiles:a,isMaxBuffer:i,verboseInfo:n},r)),...o}})({fileDescriptors:a,syncResult:l,options:r,isMaxBuffer:h,verboseInfo:o});return ad({error:f,exitCode:u,signal:d,timedOut:p,isMaxBuffer:h,stdio:m.map((e,t)=>oh(e,r,t)),all:oh((([,e,t],r)=>{if(r.all)return void 0===e?t:void 0===t?e:Array.isArray(e)?Array.isArray(t)?[...e,...t]:[...e,oh(t,r,"all")]:Array.isArray(t)?[oh(e,r,"all"),...t]:tD(e)&&tD(t)?tW([e,t]):`${e}${t}`})(m,r),r,"all"),options:r,command:i,escapedCommand:n,startTime:s})})({file:i,commandArguments:n,options:c,command:o,escapedCommand:a,verboseInfo:l,fileDescriptors:u,startTime:s}),l,c)})(s,l,c):((e,t,r,i)=>{let{file:n,commandArguments:o,command:a,escapedCommand:s,startTime:l,verboseInfo:c,options:u,fileDescriptors:d}=((e,t,r)=>{let{command:i,escapedCommand:n,startTime:o,verboseInfo:a}=rP(e,t,r),{file:s,commandArguments:l,options:c}=i7(e,t,r),u=sY(c),d=n4(aP,u,a,!1);return{file:s,commandArguments:l,command:i,escapedCommand:n,startTime:o,verboseInfo:a,options:u,fileDescriptors:d}})(e,t,r),{subprocess:p,promise:h}=(({file:e,commandArguments:t,options:r,startTime:i,verboseInfo:n,command:o,escapedCommand:a,fileDescriptors:s})=>{let l;try{l=(0,q.spawn)(...nt(e,t,r))}catch(e){return(({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:o,verboseInfo:a})=>{var s,l;let c,u,d,p,h,m;os(i);let f=new q.ChildProcess;return s=f,l=i,c=aS(),u=aS(),d=aS(),p=Array.from({length:l.length-3},aS),h=aS(),m=[c,u,d,...p],Object.assign(s,{stdin:c,stdout:u,stderr:d,all:h,stdio:m}),Object.assign(f,{readable:a$,writable:aA,duplex:aC}),{subprocess:f,promise:aT(na({error:e,command:t,escapedCommand:r,fileDescriptors:i,options:n,startTime:o,isSync:!1}),a,n)}})({error:e,command:o,escapedCommand:a,fileDescriptors:s,options:r,startTime:i,verboseInfo:n})}let c=new AbortController;(0,K.setMaxListeners)(1/0,c.signal);let u=[...l.stdio];var d=l;let p=new Map;for(let[e,{stdioItems:t,direction:r}]of Object.entries(s)){for(let{stream:i}of t.filter(({type:e})=>nx.has(e)))aN(d,i,r,e);for(let{stream:i}of t.filter(({type:e})=>!nx.has(e)))aR({subprocess:d,stream:i,direction:r,fdNumber:e,pipeGroups:p,controller:c})}for(let[e,t]of p.entries())aU(1===t.length?t[0]:v(t),e);((e,{cleanup:t,detached:r},{signal:i})=>{if(!t||r)return;let n=E(()=>{e.kill()});(0,K.addAbortListener)(i,()=>{n()})})(l,r,c);let h={},m=r9();l.kill=rK.bind(void 0,{kill:l.kill.bind(l),options:r,onInternalError:m,context:h,controller:c}),l.all=(({stdout:e,stderr:t},{all:r})=>r&&(e||t)?v([e,t].filter(Boolean)):void 0)(l,r),((e,{encoding:t})=>{let r={readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap};e.readable=sx.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.writable=sN.bind(void 0,{subprocess:e,concurrentStreams:r}),e.duplex=sG.bind(void 0,{subprocess:e,concurrentStreams:r,encoding:t}),e.iterable=sq.bind(void 0,e,t),e[Symbol.asyncIterator]=sq.bind(void 0,e,t,{})})(l,r),((e,{ipc:t})=>{Object.assign(e,aE(e,!1,t))})(l,r);let f=sZ({subprocess:l,options:r,startTime:i,verboseInfo:n,fileDescriptors:s,originalStreams:u,command:o,escapedCommand:a,context:h,onInternalError:m,controller:c});return{subprocess:l,promise:f}})({file:n,commandArguments:o,options:u,startTime:l,verboseInfo:c,command:a,escapedCommand:s,fileDescriptors:d});p.pipe=aX.bind(void 0,{source:p,sourcePromise:h,boundOptions:{},createNested:i});for(let[e,t]of sX){let r=t.value.bind(h);Reflect.defineProperty(p,e,{...t,value:r})}return ir.set(p,{options:u,fileDescriptors:d}),p})(s,l,c,n)},s4=({mapArguments:e,firstArgument:t,nextArguments:r,deepOptions:i,boundOptions:n})=>{let[o,a,s]=tH(...Array.isArray(t)&&Array.isArray(t.raw)?((e,t)=>{let r=[];for(let[i,n]of e.entries())r=tK({templates:e,expressions:t,tokens:r,index:i,template:n});if(0===r.length)throw TypeError("Template script must not be empty");let[i,...n]=r;return[i,n,{}]})(t,r):[t,...r]),l=s0(s0(i,n),s),{file:c=o,commandArguments:u=a,options:d=l,isSync:p=!1}=e({file:o,commandArguments:a,options:l});return{file:c,commandArguments:u,options:d,isSync:p}},s6=(e,t)=>{if(t.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${e} ${t}.`);let[r,...i]=s5(e);return{file:r,commandArguments:i}},s5=e=>{if("string"!=typeof e)throw TypeError(`The command must be a string: ${String(e)}.`);let t=e.trim();if(""===t)return[];let r=[];for(let e of t.split(s7)){let t=r.at(-1);t&&t.endsWith("\\")?r[r.length-1]=`${t.slice(0,-1)} ${e}`:r.push(e)}return r},s7=/ +/g,s9=({options:e})=>({...le(e),isSync:!0}),le=e=>({options:{...lt(e),...e}}),lt=({input:e,inputFile:t,stdio:r})=>void 0===e&&void 0===t&&void 0===r?{stdin:"inherit"}:{},lr=s3(()=>({}));s3(()=>({isSync:!0})),s3(({file:e,commandArguments:t})=>s6(e,t)),s3(({file:e,commandArguments:t})=>({...s6(e,t),isSync:!0})),s3(({options:e})=>{if(!1===e.node)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...e,node:!0}}}),s3(({options:e})=>le(e),{},{preferLocal:!0},(e,t,r)=>{e.sync=t(s9,r),e.s=e.sync});let{sendMessage:li,getOneMessage:ln,getEachMessage:lo,getCancelSignal:la}=(i=void 0!==u.channel,{...aE(u,!0,i),getCancelSignal:iF.bind(void 0,{anyProcess:u,channel:u.channel,isSubprocess:!0,ipc:i})}),ls=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+][0-9A-Za-z.-]+)?$/;function ll(e){return e.trim().replace(/^v/i,"")}function lc(e){return ls.test(e.trim())}function lu(e,t){let r=ld(e),i=ld(t);if(!r||!i)throw Error(`语义化版本号无效: ${!r?e:t}`);for(let e=0;e<3;e+=1){if(r[e]>i[e])return 1;if(r[e]<i[e])return -1}return 0}function ld(e){let t=e.trim().match(ls);return t?[Number(t[1]),Number(t[2]),Number(t[3])]:null}async function lp(e){if(lg(e.currentVersion))return;let t=e.runner??{npmView:async t=>(await lr("npm",["view",t,"version"],{cancelSignal:e.cancelSignal,env:process.env,killSignal:"SIGKILL",stdio:["ignore","pipe","pipe"],timeout:e.timeoutMs??5e3})).stdout.trim()};await ly(e.currentVersion,t)}async function lh(e){let t=ll(e);if(!lc(t))return;let r=Date.now();lf({...l_()??{},latest_version:t,checked_at:r,attempted_at:r})}function lm(e){let t=ll(e);lc(t)&&lf({...l_()??{},ignored_version:t})}function lf(e){try{J.mkdirSync(lb(),{recursive:!0}),lw(J.constants.O_WRONLY|J.constants.O_CREAT|J.constants.O_TRUNC|J.constants.O_NONBLOCK,t=>{J.fstatSync(t).isFile()&&J.writeFileSync(t,`${JSON.stringify(e,null,2)}
|
|
53
|
+
`,"utf8")})}catch{}}function lg(e){return!!process.env.DBX_CLI_NO_UPDATE_NOTIFIER||!!process.env.CI||!!process.env.BUILD_NUMBER||!!process.env.RUN_ID||!lc(ll(e))}async function ly(e,t){let r=ll(await t.npmView(el)),i=ll(e);lc(r)&&lc(i)&&await lh(r)}function l_(){try{let e=lw(J.constants.O_RDONLY|J.constants.O_NONBLOCK,e=>J.fstatSync(e).isFile()?J.readFileSync(e,"utf8"):""),t=JSON.parse(e);return ec(t)?t:null}catch{return null}}function lw(e,t){let r=J.openSync(z.join(lb(),"update-state.json"),e,438);try{return t(r)}finally{J.closeSync(r)}}function lb(){return z.join(ep.homedir(),".dbx")}let lv=new(a("node:async_hooks")).AsyncLocalStorage;function lO(){return r}function lE(e){let t=e.headers.get("x-tt-logid");t&&(r=t)}let lS=function(e=fetch,t={}){return async(r,i={})=>{let n=eg(t);var o=r,a=n.allowedOrigins;let s=function(e){try{if("string"==typeof e)return new URL(e);if(e instanceof URL)return e;return new URL(e.url)}catch{throw Error("携带登录凭证的请求必须使用完整的 HTTPS URL")}}(o);if("https:"!==s.protocol)throw Error(`携带登录凭证的请求必须使用 HTTPS:${s.toString()}`);if(!a.includes(s.origin))throw Error(`无法向不受信任的来源发送 Authorization 请求头:${s.origin}`);let l=await eV(n.tokenPath,{allowExpired:!0,envTokenBaseUrl:n.baseUrl,credentialStore:n.credentialStore,legacyTokenPath:n.legacyTokenPath});if(!l)throw new eN;if(eW(l))throw new eD;let c=new Headers(i.headers);return n.requestHeaders.forEach((e,t)=>{c.set(t,e)}),c.set("Authorization",`${l.tokenType||"Bearer"} ${l.accessToken}`),e(r,{...i,headers:c})}}(fetch,er()),l$=async(e,t)=>{let r=await lS(e,t);return lE(r),r},lA=async(e,t)=>{var r;let i,n=(r=t,i=new Headers(er().requestHeaders),lv.getStore()?.forEach((e,t)=>{i.set(t,e)}),r?.headers&&new Headers(r.headers).forEach((e,t)=>i.set(t,e)),{...r,headers:i}),o=await fetch(e,n);return lE(o),o};function lC(e,t){return lv.run(new Headers(e),t)}function lT(){return ei()}function lx(e){return`${lT()}${e}`}let lk=!1;function lP(e){let t=lk;return lk=e,t}function lU(){return lk}let lI=a("../../../node_modules/.pnpm/debug@4.4.3/node_modules/debug/src/index.js");var lj,lH,lM,lN,lD=a.n(lI);class lR extends Error{code;details;exitCode;json;logId;constructor(e,t={}){super(e),this.code=t.code??"DBX_INTERNAL_ERROR",this.details=t.details,this.exitCode=t.exitCode??1,this.json=t.json,this.logId=t.logId}}class lB extends lR{constructor(e,t="DBX_USAGE_ERROR",r){super(e,{code:t,details:r,exitCode:2})}}async function lV(e,t){try{return await t()}catch(r){if(r instanceof lR)throw r;let t=ec(r)?r:void 0;throw new lR(lG(r)??String(r),{code:e,details:t?.details,logId:"string"==typeof t?.logId?t.logId:void 0})}}async function lL(e,t,r={}){let i,n,o=(n=!!(i=e.optsWithGlobals()).json,{verbose:!!(i.verbose||lD().enabled("doubao-dev")),json:n,error(e){throw new lB(e)},log(e=""){n||process.stdout.write(`${e}
|
|
54
|
+
`)},warn(e,t={}){if(n)return;let r="deprecated"===t.style?lF(e,_.bgYellow.black.bold("已废弃 ")):"label"===t.style?lF(e,_.bold.yellow("警告".padEnd(5))):`警告:${e}`;process.stderr.write(`${r}
|
|
55
|
+
`)}}),a=function(e){let t=[];for(let r=e;r?.parent;r=r.parent)t.unshift(r.name());return t.join("_").replace(/-/g,"_")}(e),s=!1!==r.reportEvent&&"dev"!==a,l=performance.now(),c=lP(o.verbose&&!o.json);try{let e=await t(o);o.json&&void 0!==e&&process.stdout.write(`${JSON.stringify(e,null,2)}
|
|
56
|
+
`),s&&await tg({appId:o.targetAppId,command:a,durationMs:performance.now()-l,outputMode:o.json?"json":"human",status:130===process.exitCode?"cancelled":"success"})}catch(e){throw s&&await tg({appId:o.targetAppId,command:a,durationMs:performance.now()-l,error:e,errorStage:"execute",outputMode:o.json?"json":"human",status:tO(e)}),e}finally{lP(c)}}function lF(e,t="警告".padEnd(5)){let[r="",...i]=e.split("\n");return[`${t} ${r}`,...i.map(e=>`${"".padEnd(8)}${e}`)].join("\n")}function lW(e){if(ec(e)){if("string"==typeof e.logId&&e.logId)return e.logId;if("string"==typeof e.log_id&&e.log_id)return e.log_id}return lO()}function lG(e){return e instanceof Error&&e.message?e.message:void 0}function lK(e){let t=Number(e);if(!/^-?\d+$/.test(e)||!Number.isSafeInteger(t))throw new N("请输入整数");return t}function lq(e){let t=lK(e);if(t<1)throw new N("请输入大于或等于 1 的整数");return t}function lz(e){return(t,r)=>{if(!e.includes(t))throw new N(`可选值为 ${e.join(", ")}`);return[...r,t]}}function lJ(e){return async()=>{let t=await e();return"function"==typeof t?t:t.default}}let lX=[{path:["init"],load:lJ(()=>import("./init.js").then(e=>e.init_namespaceObject))},{path:["upgrade"],load:lJ(()=>import("./upgrade.js"))},{path:["dev"],load:lJ(()=>import("./dev.js").then(e=>e.dev_namespaceObject))},{path:["check"],load:lJ(()=>import("./check.js").then(e=>e.check_namespaceObject))},{path:["build"],load:lJ(()=>import("./build.js").then(e=>e.build_namespaceObject))},{path:["config","sync"],load:lJ(()=>import("./sync.js"))},{path:["sandbox","info"],load:lJ(()=>import("./info.js"))},{path:["dev","stop"],load:lJ(()=>import("./stop.js"))},{path:["auth","login"],load:lJ(()=>import("./login.js"))},{path:["auth","status"],load:lJ(()=>import("./status.js"))},{path:["app","artifacts","upload"],load:lJ(()=>import("./legacy-upload.js"))},{path:["app","artifacts","status"],load:lJ(()=>import("./legacy-status.js"))},{path:["mcp","demo"],load:lJ(()=>import("./demo.js"))},{path:["eval","gen-trajectory"],load:lJ(()=>import("./gen-trajectory.js"))},{path:["eval","gen-explore"],load:lJ(()=>import("./gen-explore.js"))},{path:["eval","run"],load:lJ(()=>import("./run.js").then(e=>e.run_namespaceObject))},{path:["eval","server"],load:lJ(()=>import("./server.js").then(e=>e.server_namespaceObject))},{path:["eval","report"],load:lJ(()=>import("./report.js").then(e=>e.report_namespaceObject))},{path:["eval","skill"],load:lJ(()=>import("./skill.js"))},{path:["skills"],load:lJ(()=>import("./skills.js").then(e=>e.skills_namespaceObject))}],lY={app:"应用管理","app artifacts":"版本产物上传与构建",auth:"认证管理",build:"上传并触发云构建",check:"校验配置文件或检查 Agentic Service Simulator 链路",config:"平台配置","config sync":"同步配置到开发者平台",dev:"开发与调试","dev desktop":"真机调试",eval:"自动化评测",init:"创建一个新的 dbx 项目",mcp:"MCP 工具","mcp demo":"启动内置 MCP 示例服务",sandbox:"Sandbox 信息","sandbox info":"查看 Sandbox 信息",skills:"管理内置开发 Skill",upgrade:"升级 Doubao Dev CLI"};async function lZ(e=process.argv){var t,r,i,n;let o,a,s,l,c,u=performance.now(),d=((c=(l=e.slice(2)).indexOf("--"))<0?l:l.slice(0,c)).includes("--json"),p=(t=d,(o=l0(new X,t).name("dbx").description("Doubao Open CLI").version(ed,"-V, --version","显示版本号").option("--json","输出机器可读 JSON").option("--verbose","输出详细日志").showHelpAfterError()).action(()=>o.outputHelp()),o),h=function(e){let t=e.findIndex((e,t)=>t>=2&&"--"!==e&&!e.startsWith("-"));if(t<0)return;let r=e.slice(t);return[...lX].sort((e,t)=>t.path.length-e.path.length).find(e=>e.path.every((e,t)=>r[t]===e))?.path}(e),m=lg(ed)?null:(r=ed,i=l_(),a=ll(i?.latest_version??""),s=ll(r),!lc(a)||!lc(s)||0>=lu(a,s)||ll(i?.ignored_version??"")===a?null:{current:s,latest:a,message:`dbx 新版本 ${a} 已可用,当前版本为 ${s},请运行:dbx upgrade`,command:"dbx upgrade"}),f=new Set(et.excludeCommands.map(l8)),g=await l1(h,f),y=new Map;(function(e,t,r,i){for(let n of r){let r=lQ(e,t,n.path.slice(0,-1),i),o=l0(n.factory(),i);r.addCommand(o,{hidden:"app"===n.path[0]}),t.set(n.path.join(" "),o)}})(p,y,g,d),function(e,t,r,i,n,o){for(let a of r){if(l3(a.path,n)||i&&(l2(a.path,i)||function(e,t){return e.length<t.length&&e.every((e,r)=>e===t[r])}(a.path,i)))continue;let r=a.path.join(" ");if(t.has(r))continue;let s=lQ(e,t,a.path.slice(0,-1),o),l=l0(new X(a.path.at(-1)).description(lY[r]??""),o);l.action(()=>l.outputHelp()),s.addCommand(l,{hidden:"app"===a.path[0]}),t.set(r,l)}}(p,y,lX,h,f,d);let _=new AbortController;h?.[0]!=="upgrade"&&function(e,t,r=Date.now()){if(lg(e))return;let i=l_();if(function(e,t=Date.now()){let r=e?.attempted_at??e?.checked_at;return!r||t-r>=6e4}(i,r)){lf({...i??{},attempted_at:r});try{t()}catch{}}}(ed,()=>{lp({cancelSignal:_.signal,currentVersion:ed}).catch(()=>void 0)});try{if(m&&function(e,t,r,i=!!(process.stdin.isTTY&&process.stderr.isTTY)){if(r||!i)return!1;let n=e.indexOf("--",2);return!e.slice(2,n<0?void 0:n).some(e=>["-h","--help","-V","--version"].includes(e))&&t?.[0]!=="upgrade"}(e,h,d)){let{promptForUpdate:e}=await import("./prompt.js");if(await e(m))return}await p.parseAsync(e)}catch(e){if(e instanceof M){if(0===e.exitCode)return;h&&await tg({command:h.join("_").replace(/-/g,"_"),durationMs:performance.now()-u,error:e,errorStage:"parse_args",outputMode:d?"json":"human",status:"failed"}),d&&(n=e.message.replace(/^error:\s*/i,""),process.stdout.write(`${JSON.stringify({error:{code:"DBX_USAGE_ERROR"},message:n},null,2)}
|
|
57
|
+
`)),process.exitCode=2;return}if(d)process.stdout.write(`${JSON.stringify(function(e){var t;let r=lG(e),i=e instanceof lR&&void 0!==e.json?e.json:{};if(!ec(i))return i;let{details:n,...o}=ec(i.error)?i.error:{},a=lW(e),s=ec(t=e)?t.details:void 0;return{...i,error:{...o,code:e instanceof lR?e.code:"DBX_INTERNAL_ERROR"},...r&&!("message"in i)?{message:r}:{},...a?{log_id:a}:{},...void 0===s?{}:{details:s}}}(e),null,2)}
|
|
58
|
+
`);else{let t,r;process.stderr.write(`${I.red(`错误:${(t=lG(e)??String(e),(r=lW(e))&&!t.includes(r)?`${t}
|
|
59
|
+
log_id: ${r}`:t)}`)}
|
|
60
|
+
`)}process.exitCode=ec(e)&&"number"==typeof e.exitCode?e.exitCode:1}finally{await tv(),_.abort()}}function lQ(e,t,r,i){let n=e,o=[];for(let e of r){o.push(e);let r=o.join(" "),a=t.get(r);a||((a=l0(new X(e),i).description(lY[r]??"")).action(()=>a?.outputHelp()),n.addCommand(a,{hidden:"app"===o[0]}),t.set(r,a)),n=a}return n}function l0(e,t){return e.helpOption("-h, --help","显示帮助信息"),e.configureHelp({showGlobalOptions:!0,styleTitle:e=>({"Usage:":"用法:","Arguments:":"参数:","Options:":"选项:","Global Options:":"全局选项:","Commands:":"命令:"})[e]??e}),e.exitOverride(),t&&e.configureOutput({outputError:()=>void 0,writeErr:()=>void 0}),e}async function l1(e,t){return Promise.all(lX.filter(({path:r})=>!!(e&&l2(r,e))&&!l3(r,t)).map(async e=>({...e,factory:await e.load()})))}function l2(e,t){return e.length===t.length&&e.every((e,r)=>e===t[r])}function l3(e,t){let r=l8(e.join(" "));for(let e of t)if(r===e||r.startsWith(`${e}:`))return!0;return!1}function l8(e){return e.trim().replace(/^dbx\s+/i,"").replace(/[/:]+/g,":").replace(/\s+/g,":").replace(/^:+|:+$/g,"")}export{lR as CliError,lB as CliUsageError,D as argument_Argument,tn as auth_completeLogin,tr as auth_login,ti as auth_startLogin,l$ as authorizedFetch,tE as classifyError,tO as classifyEventStatus,lz as collectChoiceValues,X as command_Command,lu as compareSemver,lA as configuredFetch,lr as execa,tv as flushEvents,ta as formatPollStatus,ei as getApiBaseUrl,lx as getApiUrl,er as getAuthOptions,to as getAuthStatus,lO as getLastHttpResponseLogId,lT as http_getApiBaseUrl,lm as ignoreUpdateVersion,ec as isRecord,lc as isValidSemver,lZ as main,ll as normalizeVersion,L as option_Option,lK as parseInteger,lq as parsePositiveInteger,tg as reportCommand,ty as reportDevAction,t_ as reportEvalPhase,tw as reportEvalRun,lL as runCommand,tb as runTrackedDevAction,el as runtime_packageName,tp as sanitizeDetailField,td as sanitizeLogText,tu as sanitizeLogValue,tm as sanitizeProgressFailure,tf as setEventTrackingUid,eu as stringField,th as summarizeLogError,lM as types_TokenStatus,lU as verbose_isVerbose,ed as version_version,lV as withCliErrorCode,lC as withConfiguredFetchHeaders,lh as writeUpdateCheckState};
|
package/dist/2507.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"node:module";import{__webpack_require__ as e}from"./rslib-runtime.js";import"./1264.js";import"./3551.js";let t=e("node:os");function r(){let e=Object.entries(t.networkInterfaces()),r=[];for(let[t,o]of e){if(!o)continue;let e=/^(?:utun|tun|tap|ppp|ipsec|wg|docker|vboxnet|vmnet|awdl|llw|tailscale|zt)/i.test(t)||/^(?:br-|bridge\d|virbr\d|veth)/i.test(t)||/(?:vEthernet|Hyper-V|Docker|VirtualBox|VMware|WireGuard|Tailscale|ZeroTier|VPN)/i.test(t),s=/^(?:en\d+|eth\d+|eno\d+|enp\w+|wl\w+)$|^(?:Ethernet|Wi-?Fi|WLAN|以太网|无线网络连接)(?:\s|$)/i.test(t);for(let t of o){let{address:o,family:i,internal:n}=t;if(!n&&"IPv4"===i){let t=o.startsWith("169.254.")?3:e?2:+!s;r.push({address:o,priority:t})}}}return r.sort((e,t)=>e.priority-t.priority),[...new Set(r.map(({address:e})=>e))]}function o(e,t=r()[0]??"127.0.0.1"){return`http://${t}:${e}`}async function s(){if(!process.stdin.isTTY||!process.stdout.isTTY)throw Error("不带参数的 --host 需要交互式终端,请使用 --host <IP> 直接指定地址。");let e=Object.entries(t.networkInterfaces()),o=r().map(t=>{let r=e.find(([,e])=>e?.some(e=>e.address===t))?.[0];return{name:r?`${t} (${r})`:t,value:t}});o.length||o.push({name:"127.0.0.1 (仅本机)",value:"127.0.0.1"});let{default:s}=await import("./inquirer.js"),{host:i}=await s.prompt([{type:"select",name:"host",message:"请选择设备可访问的本机 IP(VPN 地址需要设备能访问该 VPN):",choices:o}]);return i}var i,n=((i={}).Adb="adb",i.Hdt="hdt",i.DevTools="devtools",i);let a=["adb","hdt","devtools"];function l(e){return a.includes(e)}export{a as DEBUG_DRIVER_NAMES,r as getLocalAreaNetworkAddress,o as getLocalAreaNetworkUrl,l as isDebugDriverName,s as selectDevServerHost,n as DebugDriverType};
|