watcha-cli 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,158 +1,177 @@
1
- var Bo=Object.defineProperty;var Ho=(e,t)=>{for(var n in t)Bo(e,n,{get:t[n],enumerable:!0})};import{pathToFileURL as Pu}from"node:url";var Ue=class extends Error{constructor(t,n,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=n,this.exitCode=t,this.nestedError=void 0}},et=class extends Ue{constructor(t){super(1,"commander.invalidArgument",t),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};var $t=class{constructor(t,n){switch(this.description=n||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,t[0]){case"<":this.required=!0,this._name=t.slice(1,-1);break;case"[":this.required=!1,this._name=t.slice(1,-1);break;default:this.required=!0,this._name=t;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(t,n){return n===this.defaultValue||!Array.isArray(n)?[t]:(n.push(t),n)}default(t,n){return this.defaultValue=t,this.defaultValueDescription=n,this}argParser(t){return this.parseArg=t,this}choices(t){return this.argChoices=t.slice(),this.parseArg=(n,r)=>{if(!this.argChoices.includes(n))throw new et(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(n,r):n},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function Zt(e){let t=e.name()+(e.variadic===!0?"...":"");return e.required?"<"+t+">":"["+t+"]"}import{EventEmitter as Go}from"node:events";import Fn from"node:child_process";import Me from"node:path";import tn from"node:fs";import F from"node:process";import{stripVTControlCharacters as zo}from"node:util";import{stripVTControlCharacters as Vo}from"node:util";var At=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){let n=t.commands.filter(i=>!i._hidden),r=t._getHelpCommand();return r&&!r._hidden&&n.push(r),this.sortSubcommands&&n.sort((i,o)=>i.name().localeCompare(o.name())),n}compareOptions(t,n){let r=i=>i.short?i.short.replace(/^-/,""):i.long.replace(/^--/,"");return r(t).localeCompare(r(n))}visibleOptions(t){let n=t.options.filter(i=>!i.hidden),r=t._getHelpOption();if(r&&!r.hidden){let i=r.short&&t._findOption(r.short),o=r.long&&t._findOption(r.long);!i&&!o?n.push(r):r.long&&!o?n.push(t.createOption(r.long,r.description)):r.short&&!i&&n.push(t.createOption(r.short,r.description))}return this.sortOptions&&n.sort(this.compareOptions),n}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];let n=[];for(let r=t.parent;r;r=r.parent){let i=r.options.filter(o=>!o.hidden);n.push(...i)}return this.sortOptions&&n.sort(this.compareOptions),n}visibleArguments(t){return t._argsDescription&&t.registeredArguments.forEach(n=>{n.description=n.description||t._argsDescription[n.name()]||""}),t.registeredArguments.find(n=>n.description)?t.registeredArguments:[]}subcommandTerm(t){let n=t.registeredArguments.map(r=>Zt(r)).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(n?" "+n:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,n){return n.visibleCommands(t).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleSubcommandTerm(n.subcommandTerm(i)))),0)}longestOptionTermLength(t,n){return n.visibleOptions(t).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleOptionTerm(n.optionTerm(i)))),0)}longestGlobalOptionTermLength(t,n){return n.visibleGlobalOptions(t).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleOptionTerm(n.optionTerm(i)))),0)}longestArgumentTermLength(t,n){return n.visibleArguments(t).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleArgumentTerm(n.argumentTerm(i)))),0)}commandUsage(t){let n=t._name;t._aliases[0]&&(n=n+"|"+t._aliases[0]);let r="";for(let i=t.parent;i;i=i.parent)r=i.name()+" "+r;return r+n+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){let n=[];if(t.argChoices&&n.push(`choices: ${t.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),t.defaultValue!==void 0&&(t.required||t.optional||t.isBoolean()&&typeof t.defaultValue=="boolean")&&n.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),t.presetArg!==void 0&&t.optional&&n.push(`preset: ${JSON.stringify(t.presetArg)}`),t.envVar!==void 0&&n.push(`env: ${t.envVar}`),n.length>0){let r=`(${n.join(", ")})`;return t.description?`${t.description} ${r}`:r}return t.description}argumentDescription(t){let n=[];if(t.argChoices&&n.push(`choices: ${t.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),t.defaultValue!==void 0&&n.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`),n.length>0){let r=`(${n.join(", ")})`;return t.description?`${t.description} ${r}`:r}return t.description}formatItemList(t,n,r){return n.length===0?[]:[r.styleTitle(t),...n,""]}groupItems(t,n,r){let i=new Map;return t.forEach(o=>{let s=r(o);i.has(s)||i.set(s,[])}),n.forEach(o=>{let s=r(o);i.has(s)||i.set(s,[]),i.get(s).push(o)}),i}formatHelp(t,n){let r=n.padWidth(t,n),i=n.helpWidth??80;function o(p,c){return n.formatItem(p,r,c,n)}let s=[`${n.styleTitle("Usage:")} ${n.styleUsage(n.commandUsage(t))}`,""],a=n.commandDescription(t);a.length>0&&(s=s.concat([n.boxWrap(n.styleCommandDescription(a),i),""]));let d=n.visibleArguments(t).map(p=>o(n.styleArgumentTerm(n.argumentTerm(p)),n.styleArgumentDescription(n.argumentDescription(p))));if(s=s.concat(this.formatItemList("Arguments:",d,n)),this.groupItems(t.options,n.visibleOptions(t),p=>p.helpGroupHeading??"Options:").forEach((p,c)=>{let m=p.map(y=>o(n.styleOptionTerm(n.optionTerm(y)),n.styleOptionDescription(n.optionDescription(y))));s=s.concat(this.formatItemList(c,m,n))}),n.showGlobalOptions){let p=n.visibleGlobalOptions(t).map(c=>o(n.styleOptionTerm(n.optionTerm(c)),n.styleOptionDescription(n.optionDescription(c))));s=s.concat(this.formatItemList("Global Options:",p,n))}return this.groupItems(t.commands,n.visibleCommands(t),p=>p.helpGroup()||"Commands:").forEach((p,c)=>{let m=p.map(y=>o(n.styleSubcommandTerm(n.subcommandTerm(y)),n.styleSubcommandDescription(n.subcommandDescription(y))));s=s.concat(this.formatItemList(c,m,n))}),s.join(`
2
- `)}displayWidth(t){return Vo(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map(n=>n==="[options]"?this.styleOptionText(n):n==="[command]"?this.styleSubcommandText(n):n[0]==="["||n[0]==="<"?this.styleArgumentText(n):this.styleCommandText(n)).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map(n=>n==="[options]"?this.styleOptionText(n):n[0]==="["||n[0]==="<"?this.styleArgumentText(n):this.styleSubcommandText(n)).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,n){return Math.max(n.longestOptionTermLength(t,n),n.longestGlobalOptionTermLength(t,n),n.longestSubcommandTermLength(t,n),n.longestArgumentTermLength(t,n))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,n,r,i){let s=" ".repeat(2);if(!r)return s+t;let a=t.padEnd(n+t.length-i.displayWidth(t)),d=2,u=(this.helpWidth??80)-n-d-2,p;return u<this.minWidthToWrap||i.preformatted(r)?p=r:p=i.boxWrap(r,u).replace(/\n/g,`
3
- `+" ".repeat(n+d)),s+a+" ".repeat(d)+p.replace(/\n/g,`
4
- ${s}`)}boxWrap(t,n){if(n<this.minWidthToWrap)return t;let r=t.split(/\r\n|\n/),i=/[\s]*[^\s]+/g,o=[];return r.forEach(s=>{let a=s.match(i);if(a===null){o.push("");return}let d=[a.shift()],l=this.displayWidth(d[0]);a.forEach(u=>{let p=this.displayWidth(u);if(l+p<=n){d.push(u),l+=p;return}o.push(d.join(""));let c=u.trimStart();d=[c],l=this.displayWidth(c)}),o.push(d.join(""))}),o.join(`
5
- `)}};var lt=class{constructor(t,n){this.flags=t,this.description=n||"",this.required=t.includes("<"),this.optional=t.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(t),this.mandatory=!1;let r=jo(t);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(t,n){return this.defaultValue=t,this.defaultValueDescription=n,this}preset(t){return this.presetArg=t,this}conflicts(t){return this.conflictsWith=this.conflictsWith.concat(t),this}implies(t){let n=t;return typeof t=="string"&&(n={[t]:!0}),this.implied=Object.assign(this.implied||{},n),this}env(t){return this.envVar=t,this}argParser(t){return this.parseArg=t,this}makeOptionMandatory(t=!0){return this.mandatory=!!t,this}hideHelp(t=!0){return this.hidden=!!t,this}_collectValue(t,n){return n===this.defaultValue||!Array.isArray(n)?[t]:(n.push(t),n)}choices(t){return this.argChoices=t.slice(),this.parseArg=(n,r)=>{if(!this.argChoices.includes(n))throw new et(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(n,r):n},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.negate?Fr(this.name().replace(/^no-/,"")):Fr(this.name())}helpGroup(t){return this.helpGroupHeading=t,this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}},en=class{constructor(t){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,t.forEach(n=>{n.negate?this.negativeOptions.set(n.attributeName(),n):this.positiveOptions.set(n.attributeName(),n)}),this.negativeOptions.forEach((n,r)=>{this.positiveOptions.has(r)&&this.dualOptions.add(r)})}valueFromOption(t,n){let r=n.attributeName();if(!this.dualOptions.has(r))return!0;let i=this.negativeOptions.get(r).presetArg,o=i!==void 0?i:!1;return n.negate===(o===t)}};function Fr(e){return e.split("-").reduce((t,n)=>t+n[0].toUpperCase()+n.slice(1))}function jo(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,o=e.split(/[ |,]+/).concat("guard");if(r.test(o[0])&&(t=o.shift()),i.test(o[0])&&(n=o.shift()),!t&&r.test(o[0])&&(t=o.shift()),!t&&i.test(o[0])&&(t=n,n=o.shift()),o[0].startsWith("-")){let s=o[0],a=`option creation failed due to '${s}' in option flags '${e}'`;throw/^-[^-][^-]/.test(s)?new Error(`${a}
1
+ var Bs=Object.defineProperty;var js=(t,e)=>{for(var n in e)Bs(t,n,{get:e[n],enumerable:!0})};import{pathToFileURL as vl}from"node:url";var Qt=class extends Error{constructor(e,n,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=n,this.exitCode=e,this.nestedError=void 0}},de=class extends Qt{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};var Je=class{constructor(e,n){switch(this.description=n||"",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;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,n){return n===this.defaultValue||!Array.isArray(n)?[e]:(n.push(e),n)}default(e,n){return this.defaultValue=e,this.defaultValueDescription=n,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(n,r)=>{if(!this.argChoices.includes(n))throw new de(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(n,r):n},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function gn(t){let e=t.name()+(t.variadic===!0?"...":"");return t.required?"<"+e+">":"["+e+"]"}import{EventEmitter as zs}from"node:events";import ur from"node:child_process";import jt from"node:path";import wn from"node:fs";import H from"node:process";import{stripVTControlCharacters as Qs}from"node:util";import{stripVTControlCharacters as Vs}from"node:util";var Be=class{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 n=e.commands.filter(i=>!i._hidden),r=e._getHelpCommand();return r&&!r._hidden&&n.push(r),this.sortSubcommands&&n.sort((i,o)=>i.name().localeCompare(o.name())),n}compareOptions(e,n){let r=i=>i.short?i.short.replace(/^-/,""):i.long.replace(/^--/,"");return r(e).localeCompare(r(n))}visibleOptions(e){let n=e.options.filter(i=>!i.hidden),r=e._getHelpOption();if(r&&!r.hidden){let i=r.short&&e._findOption(r.short),o=r.long&&e._findOption(r.long);!i&&!o?n.push(r):r.long&&!o?n.push(e.createOption(r.long,r.description)):r.short&&!i&&n.push(e.createOption(r.short,r.description))}return this.sortOptions&&n.sort(this.compareOptions),n}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let n=[];for(let r=e.parent;r;r=r.parent){let i=r.options.filter(o=>!o.hidden);n.push(...i)}return this.sortOptions&&n.sort(this.compareOptions),n}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(n=>{n.description=n.description||e._argsDescription[n.name()]||""}),e.registeredArguments.find(n=>n.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(r=>gn(r)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(n?" "+n:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,n){return n.visibleCommands(e).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleSubcommandTerm(n.subcommandTerm(i)))),0)}longestOptionTermLength(e,n){return n.visibleOptions(e).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleOptionTerm(n.optionTerm(i)))),0)}longestGlobalOptionTermLength(e,n){return n.visibleGlobalOptions(e).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleOptionTerm(n.optionTerm(i)))),0)}longestArgumentTermLength(e,n){return n.visibleArguments(e).reduce((r,i)=>Math.max(r,this.displayWidth(n.styleArgumentTerm(n.argumentTerm(i)))),0)}commandUsage(e){let n=e._name;e._aliases[0]&&(n=n+"|"+e._aliases[0]);let r="";for(let i=e.parent;i;i=i.parent)r=i.name()+" "+r;return r+n+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let n=[];if(e.argChoices&&n.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue=="boolean")&&n.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&n.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&n.push(`env: ${e.envVar}`),n.length>0){let r=`(${n.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}argumentDescription(e){let n=[];if(e.argChoices&&n.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&n.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),n.length>0){let r=`(${n.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}formatItemList(e,n,r){return n.length===0?[]:[r.styleTitle(e),...n,""]}groupItems(e,n,r){let i=new Map;return e.forEach(o=>{let s=r(o);i.has(s)||i.set(s,[])}),n.forEach(o=>{let s=r(o);i.has(s)||i.set(s,[]),i.get(s).push(o)}),i}formatHelp(e,n){let r=n.padWidth(e,n),i=n.helpWidth??80;function o(d,p){return n.formatItem(d,r,p,n)}let s=[`${n.styleTitle("Usage:")} ${n.styleUsage(n.commandUsage(e))}`,""],a=n.commandDescription(e);a.length>0&&(s=s.concat([n.boxWrap(n.styleCommandDescription(a),i),""]));let u=n.visibleArguments(e).map(d=>o(n.styleArgumentTerm(n.argumentTerm(d)),n.styleArgumentDescription(n.argumentDescription(d))));if(s=s.concat(this.formatItemList("Arguments:",u,n)),this.groupItems(e.options,n.visibleOptions(e),d=>d.helpGroupHeading??"Options:").forEach((d,p)=>{let m=d.map(g=>o(n.styleOptionTerm(n.optionTerm(g)),n.styleOptionDescription(n.optionDescription(g))));s=s.concat(this.formatItemList(p,m,n))}),n.showGlobalOptions){let d=n.visibleGlobalOptions(e).map(p=>o(n.styleOptionTerm(n.optionTerm(p)),n.styleOptionDescription(n.optionDescription(p))));s=s.concat(this.formatItemList("Global Options:",d,n))}return this.groupItems(e.commands,n.visibleCommands(e),d=>d.helpGroup()||"Commands:").forEach((d,p)=>{let m=d.map(g=>o(n.styleSubcommandTerm(n.subcommandTerm(g)),n.styleSubcommandDescription(n.subcommandDescription(g))));s=s.concat(this.formatItemList(p,m,n))}),s.join(`
2
+ `)}displayWidth(e){return Vs(e).length}styleTitle(e){return e}styleUsage(e){return e.split(" ").map(n=>n==="[options]"?this.styleOptionText(n):n==="[command]"?this.styleSubcommandText(n):n[0]==="["||n[0]==="<"?this.styleArgumentText(n):this.styleCommandText(n)).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(n=>n==="[options]"?this.styleOptionText(n):n[0]==="["||n[0]==="<"?this.styleArgumentText(n):this.styleSubcommandText(n)).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,n){return Math.max(n.longestOptionTermLength(e,n),n.longestGlobalOptionTermLength(e,n),n.longestSubcommandTermLength(e,n),n.longestArgumentTermLength(e,n))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,n,r,i){let s=" ".repeat(2);if(!r)return s+e;let a=e.padEnd(n+e.length-i.displayWidth(e)),u=2,c=(this.helpWidth??80)-n-u-2,d;return c<this.minWidthToWrap||i.preformatted(r)?d=r:d=i.boxWrap(r,c).replace(/\n/g,`
3
+ `+" ".repeat(n+u)),s+a+" ".repeat(u)+d.replace(/\n/g,`
4
+ ${s}`)}boxWrap(e,n){if(n<this.minWidthToWrap)return e;let r=e.split(/\r\n|\n/),i=/[\s]*[^\s]+/g,o=[];return r.forEach(s=>{let a=s.match(i);if(a===null){o.push("");return}let u=[a.shift()],l=this.displayWidth(u[0]);a.forEach(c=>{let d=this.displayWidth(c);if(l+d<=n){u.push(c),l+=d;return}o.push(u.join(""));let p=c.trimStart();u=[p],l=this.displayWidth(p)}),o.push(u.join(""))}),o.join(`
5
+ `)}};var xe=class{constructor(e,n){this.flags=e,this.description=n||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let r=Hs(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,n){return this.defaultValue=e,this.defaultValueDescription=n,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let n=e;return typeof e=="string"&&(n={[e]:!0}),this.implied=Object.assign(this.implied||{},n),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,n){return n===this.defaultValue||!Array.isArray(n)?[e]:(n.push(e),n)}choices(e){return this.argChoices=e.slice(),this.parseArg=(n,r)=>{if(!this.argChoices.includes(n))throw new de(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(n,r):n},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return this.negate?hi(this.name().replace(/^no-/,"")):hi(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}},yn=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(n=>{n.negate?this.negativeOptions.set(n.attributeName(),n):this.positiveOptions.set(n.attributeName(),n)}),this.negativeOptions.forEach((n,r)=>{this.positiveOptions.has(r)&&this.dualOptions.add(r)})}valueFromOption(e,n){let r=n.attributeName();if(!this.dualOptions.has(r))return!0;let i=this.negativeOptions.get(r).presetArg,o=i!==void 0?i:!1;return n.negate===(o===e)}};function hi(t){return t.split("-").reduce((e,n)=>e+n[0].toUpperCase()+n.slice(1))}function Hs(t){let e,n,r=/^-[^-]$/,i=/^--[^-]/,o=t.split(/[ |,]+/).concat("guard");if(r.test(o[0])&&(e=o.shift()),i.test(o[0])&&(n=o.shift()),!e&&r.test(o[0])&&(e=o.shift()),!e&&i.test(o[0])&&(e=n,n=o.shift()),o[0].startsWith("-")){let s=o[0],a=`option creation failed due to '${s}' in option flags '${t}'`;throw/^-[^-][^-]/.test(s)?new Error(`${a}
6
6
  - a short flag is a single dash and a single character
7
7
  - either use a single dash and a single character (for a short flag)
8
8
  - or use a double dash for a long option (and can have two, like '--ws, --workspace')`):r.test(s)?new Error(`${a}
9
9
  - too many short flags`):i.test(s)?new Error(`${a}
10
10
  - too many long flags`):new Error(`${a}
11
- - unrecognised flag format`)}if(t===void 0&&n===void 0)throw new Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:n}}function Jo(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let n=[];for(let r=0;r<=e.length;r++)n[r]=[r];for(let r=0;r<=t.length;r++)n[0][r]=r;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let o;e[i-1]===t[r-1]?o=0:o=1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+o),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}function Un(e,t){if(!t||t.length===0)return"";t=Array.from(new Set(t));let n=e.startsWith("--");n&&(e=e.slice(2),t=t.map(s=>s.slice(2)));let r=[],i=3,o=.4;return t.forEach(s=>{if(s.length<=1)return;let a=Jo(e,s),d=Math.max(e.length,s.length);(d-a)/d>o&&(a<i?(i=a,r=[s]):a===i&&r.push(s))}),r.sort((s,a)=>s.localeCompare(a)),n&&(r=r.map(s=>`--${s}`)),r.length>1?`
11
+ - unrecognised flag format`)}if(e===void 0&&n===void 0)throw new Error(`option creation failed due to no flags found in '${t}'.`);return{shortFlag:e,longFlag:n}}function Gs(t,e){if(Math.abs(t.length-e.length)>3)return Math.max(t.length,e.length);let n=[];for(let r=0;r<=t.length;r++)n[r]=[r];for(let r=0;r<=e.length;r++)n[0][r]=r;for(let r=1;r<=e.length;r++)for(let i=1;i<=t.length;i++){let o;t[i-1]===e[r-1]?o=0:o=1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+o),i>1&&r>1&&t[i-1]===e[r-2]&&t[i-2]===e[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[t.length][e.length]}function ar(t,e){if(!e||e.length===0)return"";e=Array.from(new Set(e));let n=t.startsWith("--");n&&(t=t.slice(2),e=e.map(s=>s.slice(2)));let r=[],i=3,o=.4;return e.forEach(s=>{if(s.length<=1)return;let a=Gs(t,s),u=Math.max(t.length,s.length);(u-a)/u>o&&(a<i?(i=a,r=[s]):a===i&&r.push(s))}),r.sort((s,a)=>s.localeCompare(a)),n&&(r=r.map(s=>`--${s}`)),r.length>1?`
12
12
  (Did you mean one of ${r.join(", ")}?)`:r.length===1?`
13
- (Did you mean ${r[0]}?)`:""}var ct=class e extends Go{constructor(t){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=t||"",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:n=>F.stdout.write(n),writeErr:n=>F.stderr.write(n),outputError:(n,r)=>r(n),getOutHelpWidth:()=>F.stdout.isTTY?F.stdout.columns:void 0,getErrHelpWidth:()=>F.stderr.isTTY?F.stderr.columns:void 0,getOutHasColors:()=>Hr()??(F.stdout.isTTY&&F.stdout.hasColors?.()),getErrHasColors:()=>Hr()??(F.stderr.isTTY&&F.stderr.hasColors?.()),stripColor:n=>zo(n)},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(t){return this._outputConfiguration=t._outputConfiguration,this._helpOption=t._helpOption,this._helpCommand=t._helpCommand,this._helpConfiguration=t._helpConfiguration,this._exitCallback=t._exitCallback,this._storeOptionsAsProperties=t._storeOptionsAsProperties,this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue,this._allowExcessArguments=t._allowExcessArguments,this._enablePositionalOptions=t._enablePositionalOptions,this._showHelpAfterError=t._showHelpAfterError,this._showSuggestionAfterError=t._showSuggestionAfterError,this}_getCommandAndAncestors(){let t=[];for(let n=this;n;n=n.parent)t.push(n);return t}command(t,n,r){let i=n,o=r;typeof i=="object"&&i!==null&&(o=i,i=null),o=o||{};let[,s,a]=t.match(/([^ ]+) *(.*)/),d=this.createCommand(s);return i&&(d.description(i),d._executableHandler=!0),o.isDefault&&(this._defaultCommandName=d._name),d._hidden=!!(o.noHelp||o.hidden),d._executableFile=o.executableFile||null,a&&d.arguments(a),this._registerCommand(d),d.parent=this,d.copyInheritedSettings(this),i?this:d}createCommand(t){return new e(t)}createHelp(){return Object.assign(new At,this.configureHelp())}configureHelp(t){return t===void 0?this._helpConfiguration:(this._helpConfiguration=t,this)}configureOutput(t){return t===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...t},this)}showHelpAfterError(t=!0){return typeof t!="string"&&(t=!!t),this._showHelpAfterError=t,this}showSuggestionAfterError(t=!0){return this._showSuggestionAfterError=!!t,this}addCommand(t,n){if(!t._name)throw new Error(`Command passed to .addCommand() must have a name
14
- - specify the name in Command constructor or using .name()`);return n=n||{},n.isDefault&&(this._defaultCommandName=t._name),(n.noHelp||n.hidden)&&(t._hidden=!0),this._registerCommand(t),t.parent=this,t._checkForBrokenPassThrough(),this}createArgument(t,n){return new $t(t,n)}argument(t,n,r,i){let o=this.createArgument(t,n);return typeof r=="function"?o.default(i).argParser(r):o.default(r),this.addArgument(o),this}arguments(t){return t.trim().split(/ +/).forEach(n=>{this.argument(n)}),this}addArgument(t){let n=this.registeredArguments.slice(-1)[0];if(n?.variadic)throw new Error(`only the last argument can be variadic '${n.name()}'`);if(t.required&&t.defaultValue!==void 0&&t.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${t.name()}'`);return this.registeredArguments.push(t),this}helpCommand(t,n){if(typeof t=="boolean")return this._addImplicitHelpCommand=t,t&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let r=t??"help [command]",[,i,o]=r.match(/([^ ]+) *(.*)/),s=n??"display help for command",a=this.createCommand(i);return a.helpOption(!1),o&&a.arguments(o),s&&a.description(s),this._addImplicitHelpCommand=!0,this._helpCommand=a,(t||n)&&this._initCommandGroup(a),this}addHelpCommand(t,n){return typeof t!="object"?(this.helpCommand(t,n),this):(this._addImplicitHelpCommand=!0,this._helpCommand=t,this._initCommandGroup(t),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(t,n){let r=["preSubcommand","preAction","postAction"];if(!r.includes(t))throw new Error(`Unexpected value for event passed to hook : '${t}'.
15
- Expecting one of '${r.join("', '")}'`);return this._lifeCycleHooks[t]?this._lifeCycleHooks[t].push(n):this._lifeCycleHooks[t]=[n],this}exitOverride(t){return t?this._exitCallback=t:this._exitCallback=n=>{if(n.code!=="commander.executeSubCommandAsync")throw n},this}_exit(t,n,r){this._exitCallback&&this._exitCallback(new Ue(t,n,r)),F.exit(t)}action(t){let n=r=>{let i=this.registeredArguments.length,o=r.slice(0,i);return this._storeOptionsAsProperties?o[i]=this:o[i]=this.opts(),o.push(this),t.apply(this,o)};return this._actionHandler=n,this}createOption(t,n){return new lt(t,n)}_callParseArg(t,n,r,i){try{return t.parseArg(n,r)}catch(o){if(o.code==="commander.invalidArgument"){let s=`${i} ${o.message}`;this.error(s,{exitCode:o.exitCode,code:o.code})}throw o}}_registerOption(t){let n=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(n){let r=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${r}'
16
- - already used by option '${n.flags}'`)}this._initOptionGroup(t),this.options.push(t)}_registerCommand(t){let n=i=>[i.name()].concat(i.aliases()),r=n(t).find(i=>this._findCommand(i));if(r){let i=n(this._findCommand(r)).join("|"),o=n(t).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this._initCommandGroup(t),this.commands.push(t)}addOption(t){this._registerOption(t);let n=t.name(),r=t.attributeName();t.defaultValue!==void 0&&this.setOptionValueWithSource(r,t.defaultValue,"default");let i=(o,s,a)=>{o==null&&t.presetArg!==void 0&&(o=t.presetArg);let d=this.getOptionValue(r);o!==null&&t.parseArg?o=this._callParseArg(t,o,d,s):o!==null&&t.variadic&&(o=t._collectValue(o,d)),o==null&&(t.negate?o=!1:t.isBoolean()||t.optional?o=!0:o=""),this.setOptionValueWithSource(r,o,a)};return this.on("option:"+n,o=>{let s=`error: option '${t.flags}' argument '${o}' is invalid.`;i(o,s,"cli")}),t.envVar&&this.on("optionEnv:"+n,o=>{let s=`error: option '${t.flags}' value '${o}' from env '${t.envVar}' is invalid.`;i(o,s,"env")}),this}_optionEx(t,n,r,i,o){if(typeof n=="object"&&n instanceof lt)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let s=this.createOption(n,r);if(s.makeOptionMandatory(!!t.mandatory),typeof i=="function")s.default(o).argParser(i);else if(i instanceof RegExp){let a=i;i=(d,l)=>{let u=a.exec(d);return u?u[0]:l},s.default(o).argParser(i)}else s.default(i);return this.addOption(s)}option(t,n,r,i){return this._optionEx({},t,n,r,i)}requiredOption(t,n,r,i){return this._optionEx({mandatory:!0},t,n,r,i)}combineFlagAndOptionalValue(t=!0){return this._combineFlagAndOptionalValue=!!t,this}allowUnknownOption(t=!0){return this._allowUnknownOption=!!t,this}allowExcessArguments(t=!0){return this._allowExcessArguments=!!t,this}enablePositionalOptions(t=!0){return this._enablePositionalOptions=!!t,this}passThroughOptions(t=!0){return this._passThroughOptions=!!t,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(t=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!t,this}getOptionValue(t){return this._storeOptionsAsProperties?this[t]:this._optionValues[t]}setOptionValue(t,n){return this.setOptionValueWithSource(t,n,void 0)}setOptionValueWithSource(t,n,r){return this._storeOptionsAsProperties?this[t]=n:this._optionValues[t]=n,this._optionValueSources[t]=r,this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let n;return this._getCommandAndAncestors().forEach(r=>{r.getOptionValueSource(t)!==void 0&&(n=r.getOptionValueSource(t))}),n}_prepareUserArgs(t,n){if(t!==void 0&&!Array.isArray(t))throw new Error("first parameter to parse must be array or undefined");if(n=n||{},t===void 0&&n.from===void 0){F.versions?.electron&&(n.from="electron");let i=F.execArgv??[];(i.includes("-e")||i.includes("--eval")||i.includes("-p")||i.includes("--print"))&&(n.from="eval")}t===void 0&&(t=F.argv),this.rawArgs=t.slice();let r;switch(n.from){case void 0:case"node":this._scriptPath=t[1],r=t.slice(2);break;case"electron":F.defaultApp?(this._scriptPath=t[1],r=t.slice(2)):r=t.slice(1);break;case"user":r=t.slice(0);break;case"eval":r=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${n.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",r}parse(t,n){this._prepareForParse();let r=this._prepareUserArgs(t,n);return this._parseCommand([],r),this}async parseAsync(t,n){this._prepareForParse();let r=this._prepareUserArgs(t,n);return await this._parseCommand([],r),this}_prepareForParse(){this._savedState===null?(this.options.filter(t=>t.negate&&t.defaultValue===void 0&&this.getOptionValue(t.attributeName())===void 0).forEach(t=>{let n=t.long.replace(/^--no-/,"--");this._findOption(n)||this.setOptionValueWithSource(t.attributeName(),!0,"default")}),this.saveStateBeforeParse()):this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.
17
- - 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(t,n,r){if(tn.existsSync(t))return;let i=n?`searched for local subcommand relative to directory '${n}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",o=`'${t}' does not exist
13
+ (Did you mean ${r[0]}?)`:""}var Ce=class t extends zs{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:n=>H.stdout.write(n),writeErr:n=>H.stderr.write(n),outputError:(n,r)=>r(n),getOutHelpWidth:()=>H.stdout.isTTY?H.stdout.columns:void 0,getErrHelpWidth:()=>H.stderr.isTTY?H.stderr.columns:void 0,getOutHasColors:()=>yi()??(H.stdout.isTTY&&H.stdout.hasColors?.()),getErrHasColors:()=>yi()??(H.stderr.isTTY&&H.stderr.hasColors?.()),stripColor:n=>Qs(n)},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 n=this;n;n=n.parent)e.push(n);return e}command(e,n,r){let i=n,o=r;typeof i=="object"&&i!==null&&(o=i,i=null),o=o||{};let[,s,a]=e.match(/([^ ]+) *(.*)/),u=this.createCommand(s);return i&&(u.description(i),u._executableHandler=!0),o.isDefault&&(this._defaultCommandName=u._name),u._hidden=!!(o.noHelp||o.hidden),u._executableFile=o.executableFile||null,a&&u.arguments(a),this._registerCommand(u),u.parent=this,u.copyInheritedSettings(this),i?this:u}createCommand(e){return new t(e)}createHelp(){return Object.assign(new Be,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!="string"&&(e=!!e),this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,n){if(!e._name)throw new Error(`Command passed to .addCommand() must have a name
14
+ - specify the name in Command constructor or using .name()`);return n=n||{},n.isDefault&&(this._defaultCommandName=e._name),(n.noHelp||n.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,n){return new Je(e,n)}argument(e,n,r,i){let o=this.createArgument(e,n);return typeof r=="function"?o.default(i).argParser(r):o.default(r),this.addArgument(o),this}arguments(e){return e.trim().split(/ +/).forEach(n=>{this.argument(n)}),this}addArgument(e){let n=this.registeredArguments.slice(-1)[0];if(n?.variadic)throw new Error(`only the last argument can be variadic '${n.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,n){if(typeof e=="boolean")return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let r=e??"help [command]",[,i,o]=r.match(/([^ ]+) *(.*)/),s=n??"display help for command",a=this.createCommand(i);return a.helpOption(!1),o&&a.arguments(o),s&&a.description(s),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||n)&&this._initCommandGroup(a),this}addHelpCommand(e,n){return typeof e!="object"?(this.helpCommand(e,n),this):(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,n){let r=["preSubcommand","preAction","postAction"];if(!r.includes(e))throw new Error(`Unexpected value for event passed to hook : '${e}'.
15
+ Expecting one of '${r.join("', '")}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(n):this._lifeCycleHooks[e]=[n],this}exitOverride(e){return e?this._exitCallback=e:this._exitCallback=n=>{if(n.code!=="commander.executeSubCommandAsync")throw n},this}_exit(e,n,r){this._exitCallback&&this._exitCallback(new Qt(e,n,r)),H.exit(e)}action(e){let n=r=>{let i=this.registeredArguments.length,o=r.slice(0,i);return this._storeOptionsAsProperties?o[i]=this:o[i]=this.opts(),o.push(this),e.apply(this,o)};return this._actionHandler=n,this}createOption(e,n){return new xe(e,n)}_callParseArg(e,n,r,i){try{return e.parseArg(n,r)}catch(o){if(o.code==="commander.invalidArgument"){let s=`${i} ${o.message}`;this.error(s,{exitCode:o.exitCode,code:o.code})}throw o}}_registerOption(e){let n=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(n){let r=e.long&&this._findOption(e.long)?e.long:e.short;throw new Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${r}'
16
+ - already used by option '${n.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let n=i=>[i.name()].concat(i.aliases()),r=n(e).find(i=>this._findCommand(i));if(r){let i=n(this._findCommand(r)).join("|"),o=n(e).join("|");throw new Error(`cannot add command '${o}' as already have command '${i}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let n=e.name(),r=e.attributeName();e.defaultValue!==void 0&&this.setOptionValueWithSource(r,e.defaultValue,"default");let i=(o,s,a)=>{o==null&&e.presetArg!==void 0&&(o=e.presetArg);let u=this.getOptionValue(r);o!==null&&e.parseArg?o=this._callParseArg(e,o,u,s):o!==null&&e.variadic&&(o=e._collectValue(o,u)),o==null&&(e.negate?o=!1:e.isBoolean()||e.optional?o=!0:o=""),this.setOptionValueWithSource(r,o,a)};return this.on("option:"+n,o=>{let s=`error: option '${e.flags}' argument '${o}' is invalid.`;i(o,s,"cli")}),e.envVar&&this.on("optionEnv:"+n,o=>{let s=`error: option '${e.flags}' value '${o}' from env '${e.envVar}' is invalid.`;i(o,s,"env")}),this}_optionEx(e,n,r,i,o){if(typeof n=="object"&&n instanceof xe)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let s=this.createOption(n,r);if(s.makeOptionMandatory(!!e.mandatory),typeof i=="function")s.default(o).argParser(i);else if(i instanceof RegExp){let a=i;i=(u,l)=>{let c=a.exec(u);return c?c[0]:l},s.default(o).argParser(i)}else s.default(i);return this.addOption(s)}option(e,n,r,i){return this._optionEx({},e,n,r,i)}requiredOption(e,n,r,i){return this._optionEx({mandatory:!0},e,n,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 new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,n){return this.setOptionValueWithSource(e,n,void 0)}setOptionValueWithSource(e,n,r){return this._storeOptionsAsProperties?this[e]=n:this._optionValues[e]=n,this._optionValueSources[e]=r,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let n;return this._getCommandAndAncestors().forEach(r=>{r.getOptionValueSource(e)!==void 0&&(n=r.getOptionValueSource(e))}),n}_prepareUserArgs(e,n){if(e!==void 0&&!Array.isArray(e))throw new Error("first parameter to parse must be array or undefined");if(n=n||{},e===void 0&&n.from===void 0){H.versions?.electron&&(n.from="electron");let i=H.execArgv??[];(i.includes("-e")||i.includes("--eval")||i.includes("-p")||i.includes("--print"))&&(n.from="eval")}e===void 0&&(e=H.argv),this.rawArgs=e.slice();let r;switch(n.from){case void 0:case"node":this._scriptPath=e[1],r=e.slice(2);break;case"electron":H.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 new Error(`unexpected parse option { from: '${n.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||"program",r}parse(e,n){this._prepareForParse();let r=this._prepareUserArgs(e,n);return this._parseCommand([],r),this}async parseAsync(e,n){this._prepareForParse();let r=this._prepareUserArgs(e,n);return await this._parseCommand([],r),this}_prepareForParse(){this._savedState===null?(this.options.filter(e=>e.negate&&e.defaultValue===void 0&&this.getOptionValue(e.attributeName())===void 0).forEach(e=>{let n=e.long.replace(/^--no-/,"--");this._findOption(n)||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 new Error(`Can not call parse again when storeOptionsAsProperties is true.
17
+ - 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,n,r){if(wn.existsSync(e))return;let i=n?`searched for local subcommand relative to directory '${n}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",o=`'${e}' does not exist
18
18
  - if '${r}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
19
19
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
20
- - ${i}`;throw new Error(o)}_executeSubCommand(t,n){n=n.slice();let r=[".js",".ts",".tsx",".mjs",".cjs"];function i(u,p){let c=Me.resolve(u,p);if(tn.existsSync(c))return c;if(r.includes(Me.extname(p)))return;let m=r.find(y=>tn.existsSync(`${c}${y}`));if(m)return`${c}${m}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=t._executableFile||`${this._name}-${t._name}`,s=this._executableDir||"";if(this._scriptPath){let u;try{u=tn.realpathSync(this._scriptPath)}catch{u=this._scriptPath}s=Me.resolve(Me.dirname(u),s)}if(s){let u=i(s,o);if(!u&&!t._executableFile&&this._scriptPath){let p=Me.basename(this._scriptPath,Me.extname(this._scriptPath));p!==this._name&&(u=i(s,`${p}-${t._name}`))}o=u||o}let a=r.includes(Me.extname(o)),d;F.platform!=="win32"?a?(n.unshift(o),n=Br(F.execArgv).concat(n),d=Fn.spawn(F.argv[0],n,{stdio:"inherit"})):d=Fn.spawn(o,n,{stdio:"inherit"}):(this._checkForMissingExecutable(o,s,t._name),n.unshift(o),n=Br(F.execArgv).concat(n),d=Fn.spawn(F.execPath,n,{stdio:"inherit"})),d.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(p=>{F.on(p,()=>{d.killed===!1&&d.exitCode===null&&d.kill(p)})});let l=this._exitCallback;d.on("close",u=>{u=u??1,l?l(new Ue(u,"commander.executeSubCommandAsync","(close)")):F.exit(u)}),d.on("error",u=>{if(u.code==="ENOENT")this._checkForMissingExecutable(o,s,t._name);else if(u.code==="EACCES")throw new Error(`'${o}' not executable`);if(!l)F.exit(1);else{let p=new Ue(1,"commander.executeSubCommandAsync","(error)");p.nestedError=u,l(p)}}),this.runningCommand=d}_dispatchSubcommand(t,n,r){let i=this._findCommand(t);i||this.help({error:!0}),i._prepareForParse();let o;return o=this._chainOrCallSubCommandHook(o,i,"preSubcommand"),o=this._chainOrCall(o,()=>{if(i._executableHandler)this._executeSubCommand(i,n.concat(r));else return i._parseCommand(n,r)}),o}_dispatchHelpCommand(t){t||this.help();let n=this._findCommand(t);return n&&!n._executableHandler&&n.help(),this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((t,n)=>{t.required&&this.args[n]==null&&this.missingArgument(t.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let t=(r,i,o)=>{let s=i;if(i!==null&&r.parseArg){let a=`error: command-argument value '${i}' is invalid for argument '${r.name()}'.`;s=this._callParseArg(r,i,o,a)}return s};this._checkNumberOfArguments();let n=[];this.registeredArguments.forEach((r,i)=>{let o=r.defaultValue;r.variadic?i<this.args.length?(o=this.args.slice(i),r.parseArg&&(o=o.reduce((s,a)=>t(r,a,s),r.defaultValue))):o===void 0&&(o=[]):i<this.args.length&&(o=this.args[i],r.parseArg&&(o=t(r,o,r.defaultValue))),n[i]=o}),this.processedArgs=n}_chainOrCall(t,n){return t?.then&&typeof t.then=="function"?t.then(()=>n()):n()}_chainOrCallHooks(t,n){let r=t,i=[];return this._getCommandAndAncestors().reverse().filter(o=>o._lifeCycleHooks[n]!==void 0).forEach(o=>{o._lifeCycleHooks[n].forEach(s=>{i.push({hookedCommand:o,callback:s})})}),n==="postAction"&&i.reverse(),i.forEach(o=>{r=this._chainOrCall(r,()=>o.callback(o.hookedCommand,this))}),r}_chainOrCallSubCommandHook(t,n,r){let i=t;return this._lifeCycleHooks[r]!==void 0&&this._lifeCycleHooks[r].forEach(o=>{i=this._chainOrCall(i,()=>o(this,n))}),i}_parseCommand(t,n){let r=this.parseOptions(n);if(this._parseOptionsEnv(),this._parseOptionsImplied(),t=t.concat(r.operands),n=r.unknown,this.args=t.concat(n),t&&this._findCommand(t[0]))return this._dispatchSubcommand(t[0],t.slice(1),n);if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(t[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(n),this._dispatchSubcommand(this._defaultCommandName,t,n);this.commands.length&&this.args.length===0&&!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])},o=`command:${this.name()}`;if(this._actionHandler){i(),this._processArguments();let s;return s=this._chainOrCallHooks(s,"preAction"),s=this._chainOrCall(s,()=>this._actionHandler(this.processedArgs)),this.parent&&(s=this._chainOrCall(s,()=>{this.parent.emit(o,t,n)})),s=this._chainOrCallHooks(s,"postAction"),s}if(this.parent?.listenerCount(o))i(),this._processArguments(),this.parent.emit(o,t,n);else if(t.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",t,n);this.listenerCount("command:*")?this.emit("command:*",t,n):this.commands.length?this.unknownCommand():(i(),this._processArguments())}else this.commands.length?(i(),this.help({error:!0})):(i(),this._processArguments())}_findCommand(t){if(t)return this.commands.find(n=>n._name===t||n._aliases.includes(t))}_findOption(t){return this.options.find(n=>n.is(t))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(t=>{t.options.forEach(n=>{n.mandatory&&t.getOptionValue(n.attributeName())===void 0&&t.missingMandatoryOptionValue(n)})})}_checkForConflictingLocalOptions(){let t=this.options.filter(r=>{let i=r.attributeName();return this.getOptionValue(i)===void 0?!1:this.getOptionValueSource(i)!=="default"});t.filter(r=>r.conflictsWith.length>0).forEach(r=>{let i=t.find(o=>r.conflictsWith.includes(o.attributeName()));i&&this._conflictingOption(r,i)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(t=>{t._checkForConflictingLocalOptions()})}parseOptions(t){let n=[],r=[],i=n;function o(u){return u.length>1&&u[0]==="-"}let s=u=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(u)?!this._getCommandAndAncestors().some(p=>p.options.map(c=>c.short).some(c=>/^-\d$/.test(c))):!1,a=null,d=null,l=0;for(;l<t.length||d;){let u=d??t[l++];if(d=null,u==="--"){i===r&&i.push(u),i.push(...t.slice(l));break}if(a&&(!o(u)||s(u))){this.emit(`option:${a.name()}`,u);continue}if(a=null,o(u)){let p=this._findOption(u);if(p){if(p.required){let c=t[l++];c===void 0&&this.optionMissingArgument(p),this.emit(`option:${p.name()}`,c)}else if(p.optional){let c=null;l<t.length&&(!o(t[l])||s(t[l]))&&(c=t[l++]),this.emit(`option:${p.name()}`,c)}else this.emit(`option:${p.name()}`);a=p.variadic?p:null;continue}}if(u.length>2&&u[0]==="-"&&u[1]!=="-"){let p=this._findOption(`-${u[1]}`);if(p){p.required||p.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${p.name()}`,u.slice(2)):(this.emit(`option:${p.name()}`),d=`-${u.slice(2)}`);continue}}if(/^--[^=]+=/.test(u)){let p=u.indexOf("="),c=this._findOption(u.slice(0,p));if(c&&(c.required||c.optional)){this.emit(`option:${c.name()}`,u.slice(p+1));continue}}if(i===n&&o(u)&&!(this.commands.length===0&&s(u))&&(i=r),(this._enablePositionalOptions||this._passThroughOptions)&&n.length===0&&r.length===0){if(this._findCommand(u)){n.push(u),r.push(...t.slice(l));break}else if(this._getHelpCommand()&&u===this._getHelpCommand().name()){n.push(u,...t.slice(l));break}else if(this._defaultCommandName){r.push(u,...t.slice(l));break}}if(this._passThroughOptions){i.push(u,...t.slice(l));break}i.push(u)}return{operands:n,unknown:r}}opts(){if(this._storeOptionsAsProperties){let t={},n=this.options.length;for(let r=0;r<n;r++){let i=this.options[r].attributeName();t[i]=i===this._versionOptionName?this._version:this[i]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((t,n)=>Object.assign(t,n.opts()),{})}error(t,n){this._outputConfiguration.outputError(`${t}
20
+ - ${i}`;throw new Error(o)}_executeSubCommand(e,n){n=n.slice();let r=[".js",".ts",".tsx",".mjs",".cjs"];function i(c,d){let p=jt.resolve(c,d);if(wn.existsSync(p))return p;if(r.includes(jt.extname(d)))return;let m=r.find(g=>wn.existsSync(`${p}${g}`));if(m)return`${p}${m}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let o=e._executableFile||`${this._name}-${e._name}`,s=this._executableDir||"";if(this._scriptPath){let c;try{c=wn.realpathSync(this._scriptPath)}catch{c=this._scriptPath}s=jt.resolve(jt.dirname(c),s)}if(s){let c=i(s,o);if(!c&&!e._executableFile&&this._scriptPath){let d=jt.basename(this._scriptPath,jt.extname(this._scriptPath));d!==this._name&&(c=i(s,`${d}-${e._name}`))}o=c||o}let a=r.includes(jt.extname(o)),u;H.platform!=="win32"?a?(n.unshift(o),n=gi(H.execArgv).concat(n),u=ur.spawn(H.argv[0],n,{stdio:"inherit"})):u=ur.spawn(o,n,{stdio:"inherit"}):(this._checkForMissingExecutable(o,s,e._name),n.unshift(o),n=gi(H.execArgv).concat(n),u=ur.spawn(H.execPath,n,{stdio:"inherit"})),u.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(d=>{H.on(d,()=>{u.killed===!1&&u.exitCode===null&&u.kill(d)})});let l=this._exitCallback;u.on("close",c=>{c=c??1,l?l(new Qt(c,"commander.executeSubCommandAsync","(close)")):H.exit(c)}),u.on("error",c=>{if(c.code==="ENOENT")this._checkForMissingExecutable(o,s,e._name);else if(c.code==="EACCES")throw new Error(`'${o}' not executable`);if(!l)H.exit(1);else{let d=new Qt(1,"commander.executeSubCommandAsync","(error)");d.nestedError=c,l(d)}}),this.runningCommand=u}_dispatchSubcommand(e,n,r){let i=this._findCommand(e);i||this.help({error:!0}),i._prepareForParse();let o;return o=this._chainOrCallSubCommandHook(o,i,"preSubcommand"),o=this._chainOrCall(o,()=>{if(i._executableHandler)this._executeSubCommand(i,n.concat(r));else return i._parseCommand(n,r)}),o}_dispatchHelpCommand(e){e||this.help();let n=this._findCommand(e);return n&&!n._executableHandler&&n.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,n)=>{e.required&&this.args[n]==null&&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=(r,i,o)=>{let s=i;if(i!==null&&r.parseArg){let a=`error: command-argument value '${i}' is invalid for argument '${r.name()}'.`;s=this._callParseArg(r,i,o,a)}return s};this._checkNumberOfArguments();let n=[];this.registeredArguments.forEach((r,i)=>{let o=r.defaultValue;r.variadic?i<this.args.length?(o=this.args.slice(i),r.parseArg&&(o=o.reduce((s,a)=>e(r,a,s),r.defaultValue))):o===void 0&&(o=[]):i<this.args.length&&(o=this.args[i],r.parseArg&&(o=e(r,o,r.defaultValue))),n[i]=o}),this.processedArgs=n}_chainOrCall(e,n){return e?.then&&typeof e.then=="function"?e.then(()=>n()):n()}_chainOrCallHooks(e,n){let r=e,i=[];return this._getCommandAndAncestors().reverse().filter(o=>o._lifeCycleHooks[n]!==void 0).forEach(o=>{o._lifeCycleHooks[n].forEach(s=>{i.push({hookedCommand:o,callback:s})})}),n==="postAction"&&i.reverse(),i.forEach(o=>{r=this._chainOrCall(r,()=>o.callback(o.hookedCommand,this))}),r}_chainOrCallSubCommandHook(e,n,r){let i=e;return this._lifeCycleHooks[r]!==void 0&&this._lifeCycleHooks[r].forEach(o=>{i=this._chainOrCall(i,()=>o(this,n))}),i}_parseCommand(e,n){let r=this.parseOptions(n);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(r.operands),n=r.unknown,this.args=e.concat(n),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),n);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(n),this._dispatchSubcommand(this._defaultCommandName,e,n);this.commands.length&&this.args.length===0&&!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])},o=`command:${this.name()}`;if(this._actionHandler){i(),this._processArguments();let s;return s=this._chainOrCallHooks(s,"preAction"),s=this._chainOrCall(s,()=>this._actionHandler(this.processedArgs)),this.parent&&(s=this._chainOrCall(s,()=>{this.parent.emit(o,e,n)})),s=this._chainOrCallHooks(s,"postAction"),s}if(this.parent?.listenerCount(o))i(),this._processArguments(),this.parent.emit(o,e,n);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,n);this.listenerCount("command:*")?this.emit("command:*",e,n):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(n=>n._name===e||n._aliases.includes(e))}_findOption(e){return this.options.find(n=>n.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(n=>{n.mandatory&&e.getOptionValue(n.attributeName())===void 0&&e.missingMandatoryOptionValue(n)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(r=>{let i=r.attributeName();return this.getOptionValue(i)===void 0?!1:this.getOptionValueSource(i)!=="default"});e.filter(r=>r.conflictsWith.length>0).forEach(r=>{let i=e.find(o=>r.conflictsWith.includes(o.attributeName()));i&&this._conflictingOption(r,i)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let n=[],r=[],i=n;function o(c){return c.length>1&&c[0]==="-"}let s=c=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(c)?!this._getCommandAndAncestors().some(d=>d.options.map(p=>p.short).some(p=>/^-\d$/.test(p))):!1,a=null,u=null,l=0;for(;l<e.length||u;){let c=u??e[l++];if(u=null,c==="--"){i===r&&i.push(c),i.push(...e.slice(l));break}if(a&&(!o(c)||s(c))){this.emit(`option:${a.name()}`,c);continue}if(a=null,o(c)){let d=this._findOption(c);if(d){if(d.required){let p=e[l++];p===void 0&&this.optionMissingArgument(d),this.emit(`option:${d.name()}`,p)}else if(d.optional){let p=null;l<e.length&&(!o(e[l])||s(e[l]))&&(p=e[l++]),this.emit(`option:${d.name()}`,p)}else this.emit(`option:${d.name()}`);a=d.variadic?d:null;continue}}if(c.length>2&&c[0]==="-"&&c[1]!=="-"){let d=this._findOption(`-${c[1]}`);if(d){d.required||d.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${d.name()}`,c.slice(2)):(this.emit(`option:${d.name()}`),u=`-${c.slice(2)}`);continue}}if(/^--[^=]+=/.test(c)){let d=c.indexOf("="),p=this._findOption(c.slice(0,d));if(p&&(p.required||p.optional)){this.emit(`option:${p.name()}`,c.slice(d+1));continue}}if(i===n&&o(c)&&!(this.commands.length===0&&s(c))&&(i=r),(this._enablePositionalOptions||this._passThroughOptions)&&n.length===0&&r.length===0){if(this._findCommand(c)){n.push(c),r.push(...e.slice(l));break}else if(this._getHelpCommand()&&c===this._getHelpCommand().name()){n.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:n,unknown:r}}opts(){if(this._storeOptionsAsProperties){let e={},n=this.options.length;for(let r=0;r<n;r++){let i=this.options[r].attributeName();e[i]=i===this._versionOptionName?this._version:this[i]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,n)=>Object.assign(e,n.opts()),{})}error(e,n){this._outputConfiguration.outputError(`${e}
21
21
  `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError=="string"?this._outputConfiguration.writeErr(`${this._showHelpAfterError}
22
22
  `):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
23
- `),this.outputHelp({error:!0}));let r=n||{},i=r.exitCode||1,o=r.code||"commander.error";this._exit(i,o,t)}_parseOptionsEnv(){this.options.forEach(t=>{if(t.envVar&&t.envVar in F.env){let n=t.attributeName();(this.getOptionValue(n)===void 0||["default","config","env"].includes(this.getOptionValueSource(n)))&&(t.required||t.optional?this.emit(`optionEnv:${t.name()}`,F.env[t.envVar]):this.emit(`optionEnv:${t.name()}`))}})}_parseOptionsImplied(){let t=new en(this.options),n=r=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter(r=>r.implied!==void 0&&n(r.attributeName())&&t.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach(r=>{Object.keys(r.implied).filter(i=>!n(i)).forEach(i=>{this.setOptionValueWithSource(i,r.implied[i],"implied")})})}missingArgument(t){let n=`error: missing required argument '${t}'`;this.error(n,{code:"commander.missingArgument"})}optionMissingArgument(t){let n=`error: option '${t.flags}' argument missing`;this.error(n,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){let n=`error: required option '${t.flags}' not specified`;this.error(n,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,n){let r=s=>{let a=s.attributeName(),d=this.getOptionValue(a),l=this.options.find(p=>p.negate&&a===p.attributeName()),u=this.options.find(p=>!p.negate&&a===p.attributeName());return l&&(l.presetArg===void 0&&d===!1||l.presetArg!==void 0&&d===l.presetArg)?l:u||s},i=s=>{let a=r(s),d=a.attributeName();return this.getOptionValueSource(d)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},o=`error: ${i(t)} cannot be used with ${i(n)}`;this.error(o,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let n="";if(t.startsWith("--")&&this._showSuggestionAfterError){let i=[],o=this;do{let s=o.createHelp().visibleOptions(o).filter(a=>a.long).map(a=>a.long);i=i.concat(s),o=o.parent}while(o&&!o._enablePositionalOptions);n=Un(t,i)}let r=`error: unknown option '${t}'${n}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;let n=this.registeredArguments.length,r=n===1?"":"s",i=t.length,o=this.parent?` for '${this.name()}'`:"",s=t.join(", "),a=`error: too many arguments${o}. Expected ${n} argument${r} but got ${i}: ${s}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){let t=this.args[0],n="";if(this._showSuggestionAfterError){let i=[];this.createHelp().visibleCommands(this).forEach(o=>{i.push(o.name()),o.alias()&&i.push(o.alias())}),n=Un(t,i)}let r=`error: unknown command '${t}'${n}`;this.error(r,{code:"commander.unknownCommand"})}version(t,n,r){if(t===void 0)return this._version;this._version=t,n=n||"-V, --version",r=r||"output the version number";let i=this.createOption(n,r);return this._versionOptionName=i.attributeName(),this._registerOption(i),this.on("option:"+i.name(),()=>{this._outputConfiguration.writeOut(`${t}
24
- `),this._exit(0,"commander.version",t)}),this}description(t,n){return t===void 0&&n===void 0?this._description:(this._description=t,n&&(this._argsDescription=n),this)}summary(t){return t===void 0?this._summary:(this._summary=t,this)}alias(t){if(t===void 0)return this._aliases[0];let n=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(n=this.commands[this.commands.length-1]),t===n._name)throw new Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(t);if(r){let i=[r.name()].concat(r.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${i}'`)}return n._aliases.push(t),this}aliases(t){return t===void 0?this._aliases:(t.forEach(n=>this.alias(n)),this)}usage(t){if(t===void 0){if(this._usage)return this._usage;let n=this.registeredArguments.map(r=>Zt(r));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?n:[]).join(" ")}return this._usage=t,this}name(t){return t===void 0?this._name:(this._name=t,this)}helpGroup(t){return t===void 0?this._helpGroupHeading??"":(this._helpGroupHeading=t,this)}commandsGroup(t){return t===void 0?this._defaultCommandGroup??"":(this._defaultCommandGroup=t,this)}optionsGroup(t){return t===void 0?this._defaultOptionGroup??"":(this._defaultOptionGroup=t,this)}_initOptionGroup(t){this._defaultOptionGroup&&!t.helpGroupHeading&&t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){this._defaultCommandGroup&&!t.helpGroup()&&t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){return this._name=Me.basename(t,Me.extname(t)),this}executableDir(t){return t===void 0?this._executableDir:(this._executableDir=t,this)}helpInformation(t){let n=this.createHelp(),r=this._getOutputContext(t);n.prepareContext({error:r.error,helpWidth:r.helpWidth,outputHasColors:r.hasColors});let i=n.formatHelp(this,n);return r.hasColors?i:this._outputConfiguration.stripColor(i)}_getOutputContext(t){t=t||{};let n=!!t.error,r,i,o;return n?(r=a=>this._outputConfiguration.writeErr(a),i=this._outputConfiguration.getErrHasColors(),o=this._outputConfiguration.getErrHelpWidth()):(r=a=>this._outputConfiguration.writeOut(a),i=this._outputConfiguration.getOutHasColors(),o=this._outputConfiguration.getOutHelpWidth()),{error:n,write:a=>(i||(a=this._outputConfiguration.stripColor(a)),r(a)),hasColors:i,helpWidth:o}}outputHelp(t){let n;typeof t=="function"&&(n=t,t=void 0);let r=this._getOutputContext(t),i={error:r.error,write:r.write,command:this};this._getCommandAndAncestors().reverse().forEach(s=>s.emit("beforeAllHelp",i)),this.emit("beforeHelp",i);let o=this.helpInformation({error:r.error});if(n&&(o=n(o),typeof o!="string"&&!Buffer.isBuffer(o)))throw new Error("outputHelp callback must return a string or a Buffer");r.write(o),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",i),this._getCommandAndAncestors().forEach(s=>s.emit("afterAllHelp",i))}helpOption(t,n){return typeof t=="boolean"?(t?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(t??"-h, --help",n??"display help for command"),(t||n)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(t){return this._helpOption=t,this._initOptionGroup(t),this}help(t){this.outputHelp(t);let n=Number(F.exitCode??0);n===0&&t&&typeof t!="function"&&t.error&&(n=1),this._exit(n,"commander.help","(outputHelp)")}addHelpText(t,n){let r=["beforeAll","before","after","afterAll"];if(!r.includes(t))throw new Error(`Unexpected value for position to addHelpText.
25
- Expecting one of '${r.join("', '")}'`);let i=`${t}Help`;return this.on(i,o=>{let s;typeof n=="function"?s=n({error:o.error,command:o.command}):s=n,s&&o.write(`${s}
26
- `)}),this}_outputHelpIfRequested(t){let n=this._getHelpOption();n&&t.find(i=>n.is(i))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Br(e){return e.map(t=>{if(!t.startsWith("--inspect"))return t;let n,r="127.0.0.1",i="9229",o;return(o=t.match(/^(--inspect(-brk)?)$/))!==null?n=o[1]:(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(n=o[1],/^\d+$/.test(o[3])?i=o[3]:r=o[3]):(o=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(n=o[1],r=o[3],i=o[4]),n&&i!=="0"?`${n}=${r}:${parseInt(i)+1}`:t})}function Hr(){if(F.env.NO_COLOR||F.env.FORCE_COLOR==="0"||F.env.FORCE_COLOR==="false")return!1;if(F.env.FORCE_COLOR||F.env.CLICOLOR_FORCE!==void 0)return!0}var ll=new ct;function B(e){return{skip:e.skip??0,limit:e.limit??20}}var Ee={startQrcode:(e,t={})=>e.request("GET","/auth/3rd/qrcode",{query:{type:t.type||"wechat_miniprogram",source_client_id:t.source_client_id},auth:"none"}),qrcodeStatus:(e,t)=>e.request("GET","/auth/3rd/qrcode/status",{query:{secret:t},auth:"none"}),requestVerifyCode:(e,t)=>e.request("POST","/auth/request-verify-code",{body:t,auth:"none"}),signinWithCode:(e,t)=>e.request("POST","/auth/signin-code",{body:t,auth:"none"}),signinWithPassword:(e,t)=>e.request("POST","/auth/signin",{body:t,auth:"none"}),refresh:(e,t)=>e.request("POST","/auth/access-token",{body:{refresh_token:t},auth:"none"}),signout:(e,t)=>e.request("POST","/auth/signout",{body:{token:t},auth:"optional"}),perms:e=>e.request("GET","/auth/perms",{auth:"optional"}),introspect:e=>e.request("GET","/auth/access-token/introspect",{auth:"optional"})},ce={me:e=>e.request("GET","/users/me",{auth:"required"}),show:(e,t)=>e.request("GET",`/users/${encodeURIComponent(t)}`),search:(e,t,n)=>e.request("GET","/users/search",{query:{q:t,...B(n)}}),posts:(e,t,n)=>e.request("GET",`/users/${encodeURIComponent(t)}/posts`,{query:B(n)}),reviews:(e,t,n)=>e.request("GET",`/users/${encodeURIComponent(t)}/reviews`,{query:B(n)}),submits:(e,t,n)=>e.request("GET",`/users/${encodeURIComponent(t)}/submits`,{query:B(n)}),memberProducts:(e,t,n)=>e.request("GET",`/users/${encodeURIComponent(t)}/member-products`,{query:B(n)}),mySubmits:(e,t)=>e.request("GET","/users/my/submits",{query:B(t),auth:"required"}),follow:(e,t)=>e.request("POST",`/users/${encodeURIComponent(t)}/subscribers`,{auth:"required"}),unfollow:(e,t)=>e.request("DELETE",`/users/${encodeURIComponent(t)}/subscribers`,{auth:"required"}),myFavoritePosts:(e,t)=>e.request("GET","/users/me/posts/favorites",{query:B(t),auth:"required"}),myFavoriteReviews:(e,t)=>e.request("GET","/users/me/reviews/favorites",{query:B(t),auth:"required"})},H={list:(e,t)=>e.request("GET","/products",{query:t}),search:(e,t)=>e.request("GET","/products/search",{query:t}),show:(e,t)=>e.request("GET",`/products/${encodeURIComponent(t)}`),categories:e=>e.request("GET","/products/categories"),reviews:(e,t,n)=>e.request("GET",`/products/${encodeURIComponent(t)}/reviews`,{query:n}),posts:(e,t,n)=>e.request("GET",`/products/${encodeURIComponent(t)}/posts`,{query:B(n)}),similar:(e,t,n)=>e.request("GET",`/products/${encodeURIComponent(t)}/similar`,{query:B(n)}),launches:(e,t,n)=>e.request("GET",`/products/${t}/launches`,{query:B(n)}),latestLaunches:(e,t)=>e.request("GET","/products/launches",{query:B(t)}),createLaunch:(e,t,n)=>e.request("POST",`/products/${t}/launches`,{body:n,auth:"required"}),update:(e,t)=>e.request("PUT","/products",{body:t,auth:"required"}),star:(e,t)=>e.request("PUT",`/products/${encodeURIComponent(t)}/star`,{auth:"required"}),subscribe:(e,t)=>e.request("PUT",`/products/${encodeURIComponent(t)}/subscribe`,{auth:"required"}),createReview:(e,t,n)=>e.request("POST",`/products/${encodeURIComponent(t)}/reviews`,{body:n,auth:"required"}),random:e=>e.request("GET","/products/random"),hot:(e,t)=>e.request("GET","/hot/products",{query:B(t)}),collections:(e,t)=>e.request("GET","/collections",{query:B(t)}),collection:(e,t)=>e.request("GET",`/collections/${encodeURIComponent(t)}`),collectionProducts:(e,t,n)=>e.request("GET",`/collections/${encodeURIComponent(t)}/products`,{query:B(n)})},fe={show:(e,t)=>e.request("GET",`/reviews/${encodeURIComponent(t)}`),replies:(e,t,n)=>e.request("GET",`/reviews/${encodeURIComponent(t)}/replies`,{query:B(n)}),children:(e,t,n)=>e.request("GET",`/reviews/${encodeURIComponent(t)}/children`,{query:B(n)}),similar:(e,t,n)=>e.request("GET",`/reviews/${encodeURIComponent(t)}/similar`,{query:B(n)}),hot:(e,t)=>e.request("GET","/hot/reviews",{query:B(t)}),reply:(e,t,n)=>e.request("POST",`/reviews/${encodeURIComponent(t)}/replies`,{body:n,auth:"required"}),remark:(e,t,n)=>e.request("PUT",`/reviews/${encodeURIComponent(t)}/remarks`,{body:{remark_type:n},auth:"required"}),favorite:(e,t)=>e.request("POST",`/reviews/${encodeURIComponent(t)}/favorites`,{auth:"required"}),unfavorite:(e,t)=>e.request("DELETE",`/reviews/${encodeURIComponent(t)}/favorites`,{auth:"required"}),update:(e,t,n)=>e.request("PUT",`/reviews/${encodeURIComponent(t)}`,{body:n,auth:"required"}),remove:(e,t)=>e.request("DELETE",`/reviews/${encodeURIComponent(t)}`,{auth:"required"})},ie={list:(e,t)=>e.request("GET","/discuss/posts",{query:t}),show:(e,t)=>e.request("GET",`/discuss/posts/${encodeURIComponent(t)}`),floors:(e,t,n)=>e.request("GET",`/discuss/posts/${encodeURIComponent(t)}/floors`,{query:B(n)}),floor:(e,t)=>e.request("GET",`/discuss/floors/${encodeURIComponent(t)}`),subfloors:(e,t,n)=>e.request("GET",`/discuss/floors/${encodeURIComponent(t)}/subfloors`,{query:B(n)}),similar:(e,t,n)=>e.request("GET",`/discuss/posts/${encodeURIComponent(t)}/similar`,{query:B(n)}),hot:(e,t)=>e.request("GET","/hot/posts",{query:B(t)}),create:(e,t)=>e.request("POST","/discuss/posts",{body:t,auth:"required"}),createFloor:(e,t)=>e.request("POST","/discuss/floors",{body:t,auth:"required"}),update:(e,t,n)=>e.request("PUT",`/discuss/posts/${encodeURIComponent(t)}`,{body:n,auth:"required"}),remove:(e,t)=>e.request("DELETE",`/discuss/posts/${encodeURIComponent(t)}`,{auth:"required"}),remark:(e,t,n)=>e.request("PUT",`/discuss/posts/${encodeURIComponent(t)}/remarks`,{body:{remark_type:n},auth:"required"}),favorite:(e,t)=>e.request("POST",`/discuss/posts/${encodeURIComponent(t)}/favorites`,{auth:"required"}),unfavorite:(e,t)=>e.request("DELETE",`/discuss/posts/${encodeURIComponent(t)}/favorites`,{auth:"required"}),topics:(e,t)=>e.request("GET","/discuss/topic",{query:B(t)}),hotTopics:e=>e.request("GET","/discuss/topic/hot"),topic:(e,t)=>e.request("GET",`/discuss/topic/${encodeURIComponent(t)}`),topicHotPosts:(e,t,n)=>e.request("GET",`/discuss/topic/${encodeURIComponent(t)}/posts/hot`,{query:B(n)}),topicFeaturedPosts:(e,t,n)=>e.request("GET",`/discuss/topic/${encodeURIComponent(t)}/posts/featured`,{query:B(n)})},Fe={general:(e,t)=>e.request("POST","/search/general",{body:t}),federation:(e,t)=>e.request("POST","/search/federation",{body:t}),agentStart:(e,t)=>e.open("POST","/search/agent",{body:{q:t},auth:"required"}),agentResume:(e,t)=>e.open("GET",`/search/agent/stream/${encodeURIComponent(t)}`,{auth:"required"}),sessions:(e,t)=>e.request("GET","/search/agent/sessions",{query:B(t),auth:"required"}),session:(e,t)=>e.request("GET",`/search/agent/sessions/${encodeURIComponent(t)}`,{auth:"required"}),deleteSession:(e,t)=>e.request("DELETE",`/search/agent/sessions/${encodeURIComponent(t)}`,{auth:"required"}),share:(e,t)=>e.request("POST",`/search/agent/sessions/${encodeURIComponent(t)}/share`,{auth:"required"}),unshare:(e,t)=>e.request("DELETE",`/search/agent/sessions/${encodeURIComponent(t)}/share`,{auth:"required"}),shared:(e,t)=>e.request("GET",`/search/agent/share/${encodeURIComponent(t)}`,{auth:"none"}),feedback:(e,t,n)=>e.request("PUT",`/search/agent/sessions/${encodeURIComponent(t)}/feedback`,{body:{content:n},auth:"required"})},oe={rankRange:(e,t,n,r)=>e.request("GET",`/ranks/${encodeURIComponent(t)}/${encodeURIComponent(n)}/range`,{query:r}),rankArchives:(e,t,n,r)=>e.request("GET",`/ranks/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archives`,{query:B(r)}),feed:(e,t)=>e.request("GET","/feed",{query:B(t)}),activities:(e,t)=>e.request("GET","/activities/v2",{query:t}),activitySearch:(e,t)=>e.request("GET","/activities/v2/search",{query:t}),activity:(e,t)=>e.request("GET",`/activities/v2/${encodeURIComponent(t)}`),activityCalendar:(e,t)=>e.request("GET","/activities/v2/calendar",{query:t}),myRegistered:(e,t)=>e.request("GET","/activities/v2/mine/registered",{query:B(t),auth:"required"}),notifications:(e,t)=>e.request("GET","/notifications",{query:t,auth:"required"}),notificationStatus:e=>e.request("GET","/notifications/status",{auth:"required"}),readNotification:(e,t)=>e.request("PUT",`/notifications/${encodeURIComponent(t)}/read`,{auth:"required"}),readAllNotifications:(e,t={})=>e.request("PUT","/notifications/read-all",{body:t,auth:"required"}),quests:(e,t)=>e.request("GET","/quests",{query:B(t)}),myQuestProgress:e=>e.request("GET","/quests/progresses/me",{auth:"required"}),emojiAdd:(e,t,n,r)=>e.request("POST",`/emojis/${t}/${encodeURIComponent(n)}`,{body:{emoji_code:r},auth:"required"}),emojiRemove:(e,t,n,r)=>e.request("DELETE",`/emojis/${t}/${encodeURIComponent(n)}`,{body:{emoji_code:r},auth:"required"}),vote:(e,t)=>e.request("POST",`/votes/items/${encodeURIComponent(t)}/vote`,{auth:"required"}),unvote:(e,t)=>e.request("DELETE",`/votes/items/${encodeURIComponent(t)}/vote`,{auth:"required"}),voteShow:(e,t)=>e.request("GET",`/votes/${encodeURIComponent(t)}`),tags:e=>e.request("GET","/tags"),badgeUrl:(e,t,n)=>`${e}/products/${encodeURIComponent(String(t))}/badge${n?`?theme=${encodeURIComponent(n)}`:""}`},Vr={create:(e,t)=>e.request("POST","/feedbacks",{body:t,auth:"required"})},nn=["\u{1F389}","\u{1F929}","\u{1F923}","\u{1F914}","\u{1F633}","\u2764\uFE0F","\u{1F4A9}","\u{1F648}"],rn={product:1,review:2,reply:3,post:4,floor:5},pt=["week_product_hot_reviewed","week_reputation_skyrockets","week_product_owner_active","week_platform_user_active","scrolling_hot_topic"];var Te={ok:0,generic:1,auth:2,validation:3,confirmation_required:4,rate_limited:5,captcha_required:6,network:7,forbidden:8,not_found:9};function Qo(e){switch(e){case"auth":return Te.auth;case"validation":return Te.validation;case"confirmation_required":return Te.confirmation_required;case"rate_limited":return Te.rate_limited;case"captcha_required":return Te.captcha_required;case"network":return Te.network;case"forbidden":return Te.forbidden;case"not_found":return Te.not_found;default:return Te.generic}}var v=class extends Error{type;code;status;hint;details;constructor(t){super(t.message,t.cause!==void 0?{cause:t.cause}:void 0),this.name="WatchaError",this.type=t.type,this.code=t.code,this.status=t.status,this.hint=t.hint,this.details=t.details}get exitCode(){return Qo(this.type)}toJSON(){return{type:this.type,code:this.code,status:this.status,message:this.message,hint:this.hint,details:this.details}}},jr=[{pattern:/未登录|令牌无效|token.*(失效|过期)/i,type:"auth",hint:"\u5148\u6267\u884C watcha auth login"},{pattern:/发布过于频繁|搜索太频繁|过于频繁|稍后再试/,type:"rate_limited",hint:"\u53D1\u5E16/\u53D1\u7339\u8BC4\u6BCF\u5206\u949F\u6700\u591A 2 \u6761\uFF0CAI \u641C\u7D22\u6BCF\u5206\u949F\u6700\u591A 2 \u6B21\uFF1B\u7B49 60 \u79D2\u518D\u8BD5"},{pattern:/被监猹委封禁|已被封禁/,type:"forbidden",hint:"\u8D26\u53F7\u5904\u4E8E\u5C01\u7981\u72B6\u6001\uFF0C\u89E3\u5C01\u65F6\u95F4\u89C1 message"},{pattern:/无权限/,type:"forbidden",hint:"\u53D1\u7339\u8BC4\u9700\u8981\u89C2\u7339\u5458(L1)\u8D44\u683C\uFF1A\u5728 watcha.cn/exam \u901A\u8FC7\u664B\u7EA7\u8003\u8BD5\uFF0C\u6216\u4F7F\u7528\u9080\u8BF7\u7801\uFF1B\u56DE\u590D\u4E0E\u53D1\u5E16\u53EA\u9700\u767B\u5F55"},{pattern:/猹评内容过短/,type:"validation",hint:"\u7339\u8BC4\u6B63\u6587\u81F3\u5C11\u7EA6 15 \u4E2A\u6C49\u5B57\uFF08\u534A\u89D2\u5B57\u7B26\u6309 0.5 \u8BA1\uFF09"},{pattern:/标题过长|标题为空|内容为空|长度超过上限|图片过多/,type:"validation"},{pattern:/非可信来源/,type:"validation",hint:"\u56FE\u7247\u5FC5\u987B\u5148\u901A\u8FC7 watcha \u7684\u4E0A\u4F20\u94FE\u8DEF\uFF08CLI \u4F1A\u81EA\u52A8\u4E0A\u4F20\u672C\u5730\u6587\u4EF6\uFF09\uFF0C\u4E0D\u80FD\u76F4\u63A5\u5F15\u7528\u5916\u94FE"},{pattern:/含有敏感词/,type:"validation"},{pattern:/不存在|未找到|找不到/,type:"not_found",hint:"\u6838\u5BF9 id / slug \u662F\u5426\u6B63\u786E\uFF1B\u4EA7\u54C1\u53EF\u7528 watcha search <\u5173\u952E\u8BCD> --domain product \u627E\u5230\u6B63\u786E\u7684 slug"},{pattern:/已经成为观猹员/,type:"validation"},{pattern:/参数|格式|不合法|无效/,type:"validation"}];function Bn(e){let t=(e.code||"").toUpperCase(),n=e.message||"";if(e.status===449||t==="RETRY_CAPTCHA")return{type:"captcha_required",hint:"\u540E\u7AEF\u8981\u6C42\u6ED1\u5757\u9A8C\u8BC1\uFF0C\u7EC8\u7AEF\u5185\u65E0\u6CD5\u5B8C\u6210\u3002\u8BF7\u5728\u6D4F\u89C8\u5668\u6253\u5F00 https://watcha.cn \u5B8C\u6210\u4E00\u6B21\u767B\u5F55/\u64CD\u4F5C\u540E\u91CD\u8BD5\uFF0C\u6216\u6539\u7528 watcha auth login --refresh-token"};if(t==="UNAUTHORIZED"||e.status===401)return{type:"auth",hint:"\u5148\u6267\u884C watcha auth login\uFF1B\u82E5\u5DF2\u767B\u5F55\uFF0Ctoken \u53EF\u80FD\u5DF2\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF08\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A 5 \u4E2A\u767B\u5F55\u6001\uFF09"};if(t==="TOO_MANY_REQUEST"||e.status===429)return{type:"rate_limited",hint:"\u89E6\u53D1\u9650\u6D41\uFF0C\u7A0D\u540E\u518D\u8BD5"};if(t==="IP_BANNED"||t==="RISK_REJECTED")return{type:"forbidden"};if(t==="FORBIDDEN"||e.status===403)return{type:"forbidden",hint:jr.find(i=>i.type==="forbidden"&&i.pattern.test(n))?.hint};for(let r of jr)if(r.pattern.test(n))return{type:r.type,hint:r.hint};return e.status>=500?{type:"server"}:e.status===404?{type:"not_found"}:{type:"api"}}function on(e){return e instanceof v}function tt(e){if(on(e))return e;if(e instanceof Error){let t=e,n=t.cause?.code,r=["ECONNREFUSED","ENOTFOUND","ECONNRESET","ETIMEDOUT","EAI_AGAIN","UND_ERR_CONNECT_TIMEOUT","UND_ERR_SOCKET"];return t.name==="AbortError"||t.code&&r.includes(t.code)||n&&r.includes(n)||/fetch failed/i.test(t.message)?new v({type:"network",message:`\u7F51\u7EDC\u9519\u8BEF\uFF1A${t.message}${n?` (${n})`:""}`,hint:"\u68C0\u67E5\u7F51\u7EDC\u6216 WATCHA_BASE_URL \u914D\u7F6E",cause:e}):new v({type:"internal",message:t.message,cause:e})}return new v({type:"internal",message:String(e)})}var Ko={"claude-code":"Claude Code",codex:"Codex",cursor:"Cursor",openclaw:"OpenClaw",copilot:"GitHub Copilot CLI",opencode:"OpenCode","gemini-cli":"Gemini CLI",cline:"Cline",goose:"Goose",amp:"Amp",generic:"AI agent"};function Jr(e){let t=(e||"").trim().toLowerCase();return t?t.startsWith("claude")?"claude-code":t.startsWith("codex")?"codex":t.startsWith("cursor")?"cursor":t.startsWith("openclaw")?"openclaw":t.startsWith("copilot")?"copilot":t.startsWith("opencode")?"opencode":t.startsWith("gemini")?"gemini-cli":t.startsWith("cline")?"cline":t.startsWith("goose")?"goose":t.startsWith("amp")?"amp":"generic":null}function Gr(e=process.env){let t=null;return e.CLAUDECODE==="1"||e.CLAUDE_CODE_CHILD_SESSION==="1"?t="claude-code":e.CODEX_SANDBOX||e.CODEX_SANDBOX_NETWORK_DISABLED||e.CODEX_THREAD_ID||e.CODEX_CI?t="codex":e.CURSOR_AGENT||e.CURSOR_TRACE_ID?t="cursor":e.OPENCLAW_SHELL?t="openclaw":e.COPILOT_MODEL||e.COPILOT_ALLOW_ALL?t="copilot":e.OPENCODE||e.OPENCODE_CLIENT?t="opencode":e.GEMINI_CLI?t="gemini-cli":e.CLINE_ACTIVE?t="cline":e.GOOSE_PROVIDER?t="goose":t=Jr(e.AGENT)??Jr(e.AI_AGENT),{host:t,label:t?Ko[t]:"",networkDisabled:!!e.CODEX_SANDBOX_NETWORK_DISABLED}}function Hn(e=process.env){if(e.CODEX_SANDBOX_NETWORK_DISABLED)throw new v({type:"network",message:"Codex \u6C99\u7BB1\u5DF2\u7981\u7528\u7F51\u7EDC\u8BBF\u95EE\uFF0C\u65E0\u6CD5\u8BF7\u6C42\u89C2\u7339",hint:"Codex \u9ED8\u8BA4\u65AD\u7F51\u3002\u4E34\u65F6\u653E\u5F00\uFF1Acodex -c 'sandbox_workspace_write.network_access=true'\uFF1B\u957F\u671F\u653E\u5F00\uFF1A\u5728 ~/.codex/config.toml \u52A0 [sandbox_workspace_write] network_access = true"})}async function*zr(e){if(!e.body){yield{kind:"eof"};return}let t=new TextDecoder("utf-8"),n="",r=[],i=()=>{if(r.length===0)return null;let s=r.join(`
27
- `);if(r=[],s.trim()==="[DONE]")return{kind:"done"};try{let a=JSON.parse(s);return{kind:"frame",frame:{id:typeof a.id=="string"?a.id:void 0,sid:typeof a.sid=="string"?a.sid:void 0,ts:typeof a.ts=="number"?a.ts:void 0,type:typeof a.type=="string"?a.type:"unknown",data:a.data}}}catch{return{kind:"frame",frame:{type:"unknown",data:null,raw:s}}}},o=e.body.getReader();try{for(;;){let{value:a,done:d}=await o.read();if(d)break;n+=t.decode(a,{stream:!0});let l;for(;(l=n.indexOf(`
28
- `))>=0;){let u=n.slice(0,l);if(n=n.slice(l+1),u.endsWith("\r")&&(u=u.slice(0,-1)),u===""){let p=i();if(p&&(yield p,p.kind==="done"))return;continue}u.startsWith(":")||u.startsWith("data:")&&r.push(u.slice(5).replace(/^ /,""))}}if(n+=t.decode(),n.trim()){let a=n.replace(/\r?\n$/,"");a.startsWith("data:")&&r.push(a.slice(5).replace(/^ /,""))}let s=i();if(s&&(yield s,s.kind==="done"))return;yield{kind:"eof"}}finally{o.releaseLock()}}function Qr(e){return new v({type:"stream",message:"\u6D41\u5728\u6536\u5230 [DONE] \u4E4B\u524D\u5C31\u65AD\u5F00\u4E86\uFF0C\u7ED3\u679C\u53EF\u80FD\u4E0D\u5B8C\u6574",hint:e?`\u53EF\u7528 watcha ask --resume ${e} \u7EED\u4F20`:"\u91CD\u8BD5\u4E00\u6B21\uFF1B\u82E5\u53CD\u590D\u51FA\u73B0\u8BF7\u68C0\u67E5\u7F51\u7EDC",details:e?{sessionId:e}:void 0})}import ge from"node:fs";import rt from"node:path";import an from"node:fs";import Yo from"node:os";import sn from"node:path";var vt="https://watcha.cn/api/v2",un="https://watcha.cn";function be(){let e=process.env.WATCHA_CONFIG_DIR;if(e&&e.trim())return sn.resolve(e);let t=process.env.XDG_CONFIG_HOME,n=t&&t.trim()?t:sn.join(Yo.homedir(),".config");return sn.join(n,"watcha")}function Ot(){return sn.join(be(),"config.json")}function Pt(){let e=be();return an.mkdirSync(e,{recursive:!0,mode:448}),e}var Vn={currentProfile:"default",profiles:{default:{baseUrl:vt,siteUrl:un}}};function nt(){try{let e=an.readFileSync(Ot(),"utf8"),t=JSON.parse(e),n={...Vn.profiles,...t.profiles||{}};return{currentProfile:t.currentProfile||Vn.currentProfile,profiles:n}}catch{return structuredClone(Vn)}}function jn(e){Pt();let t=Ot()+".tmp";an.writeFileSync(t,JSON.stringify(e,null,2)+`
29
- `,{mode:384}),an.renameSync(t,Ot())}function Kr(e){let t=nt(),n=e||process.env.WATCHA_PROFILE||t.currentProfile||"default",r=t.profiles[n]||{baseUrl:vt},i=(process.env.WATCHA_BASE_URL||r.baseUrl||vt).replace(/\/+$/,""),o=(r.siteUrl||Xo(i)).replace(/\/+$/,"");return{name:n,baseUrl:i,siteUrl:o}}function Xo(e){try{let t=new URL(e);return`${t.protocol}//${t.host}`}catch{return un}}function Yr(e,t,n=!1){let r=nt();return r.profiles[e]={...r.profiles[e]||{},...t},n&&(r.currentProfile=e),jn(r),r}function Xr(e){let t=nt();return t.profiles[e]||(t.profiles[e]={baseUrl:vt,siteUrl:un}),t.currentProfile=e,jn(t),t}function Zr(e){let t=nt();return delete t.profiles[e],t.currentProfile===e&&(t.currentProfile="default"),t.profiles.default||(t.profiles.default={baseUrl:vt,siteUrl:un}),jn(t),t}var dt="[[watcha:end]]",Zo=20;function cn(e=be()){return rt.join(e,"streams")}var es=3e4;function ei(e){return rt.join(e,"viewer-last-open")}function ti(e=cn(),t=Date.now()){try{return t-ge.statSync(ei(e)).mtimeMs<es}catch{return!1}}function ni(e=cn()){try{ge.mkdirSync(e,{recursive:!0,mode:448}),ge.writeFileSync(ei(e),String(Date.now()),{mode:384})}catch{}}function ts(e){let t=(n,r=2)=>String(n).padStart(r,"0");return`${e.getFullYear()}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}`}var ln=class e{constructor(t,n){this.path=t;this.fd=n}path;fd;static create(t,n={}){let r=n.dir??cn();ge.mkdirSync(r,{recursive:!0,mode:448});let i=rt.join(r,`${t}-${ts(n.now??new Date)}-${process.pid}.log`),o=ge.openSync(i,"a",384);return ns(r,i),new e(i,o)}write(t){if(!(this.fd===null||!t))try{ge.writeSync(this.fd,t)}catch{}}finish(t){if(this.fd!==null){this.write(`
30
- ${dt} ${JSON.stringify(t)}
31
- `);try{ge.closeSync(this.fd)}catch{}this.fd=null}}};function ri(e){if(!e.startsWith(dt))return null;try{return JSON.parse(e.slice(dt.length).trim())}catch{return{status:"done"}}}function ii(e=cn()){let t;try{t=ge.readdirSync(e).filter(n=>n.endsWith(".log"))}catch{return null}return t.length?(t.sort((n,r)=>{let i=ge.statSync(rt.join(e,n)).mtimeMs;return ge.statSync(rt.join(e,r)).mtimeMs-i||r.localeCompare(n)}),rt.join(e,t[0])):null}function ns(e,t){try{let n=ge.readdirSync(e).filter(r=>r.endsWith(".log")).map(r=>rt.join(e,r)).filter(r=>r!==t).map(r=>({p:r,m:ge.statSync(r).mtimeMs})).sort((r,i)=>i.m-r.m);for(let{p:r}of n.slice(Zo-1))ge.rmSync(r,{force:!0})}catch{}}import{spawn as rs}from"node:child_process";import oi from"node:fs/promises";import is from"node:os";import si from"node:path";import os from"node:readline/promises";function Be(){return!!process.stdout.isTTY}function ss(){return!!process.stdin.isTTY}function He(){return Be()&&ss()&&!process.env.CI&&!process.env.WATCHA_NO_INPUT}async function mt(e,t={}){let n=os.createInterface({input:process.stdin,output:process.stderr,terminal:!0});try{if(t.hidden){let r=process.stdin;r.setRawMode?.(!0);try{let i=await n.question(e);return process.stderr.write(`
32
- `),i.trim()}finally{r.setRawMode?.(!1)}}return(await n.question(e)).trim()}finally{n.close()}}async function pn(e){let t=await mt(`${e} [y/N] `);return/^y(es)?$/i.test(t)}function as(){if(!Be())return"none";let e=(process.env.WATCHA_IMAGE_PROTOCOL||"").toLowerCase();if(e==="iterm2"||e==="kitty"||e==="none")return e;let t=(process.env.TERM_PROGRAM||"").toLowerCase(),n=(process.env.TERM||"").toLowerCase();return t.includes("iterm")||t.includes("wezterm")||process.env.WEZTERM_EXECUTABLE?"iterm2":n.includes("kitty")||process.env.KITTY_WINDOW_ID||t.includes("ghostty")?"kitty":"none"}function ai(e,t,n={}){let r=as();if(r==="iterm2"){let i=Buffer.from(n.name||"qrcode.jpg").toString("base64"),o=n.widthCells?`;width=${n.widthCells}`:"";return e.write(`\x1B]1337;File=name=${i};inline=1;preserveAspectRatio=1${o}:${t}\x07
33
- `),!0}if(r==="kitty"){let i=[];for(let o=0;o<t.length;o+=4096)i.push(t.slice(o,o+4096));return i.forEach((o,s)=>{let a=s<i.length-1?1:0,d=s===0?`a=T,f=100,t=d,m=${a}`:`m=${a}`;e.write(`\x1B_G${d};${o}\x1B\\`)}),e.write(`
34
- `),!0}return!1}async function ui(e,t=".jpg"){let n=await oi.mkdtemp(si.join(is.tmpdir(),"watcha-")),r=si.join(n,`qrcode${t}`);await oi.writeFile(r,Buffer.from(e,"base64"),{mode:384});let i=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",o=process.platform==="win32"?["/c","start","",r]:[r],s=await new Promise(a=>{try{let d=rs(i,o,{stdio:"ignore",detached:!0});d.on("error",()=>a(!1)),d.on("spawn",()=>{d.unref(),a(!0)})}catch{a(!1)}});return{file:r,opened:s}}function It(e){return new Promise(t=>setTimeout(t,e))}import{spawnSync as cs}from"node:child_process";import pi from"node:fs";import di from"node:path";import Gn from"node:fs";import dn from"node:path";import{fileURLToPath as us}from"node:url";var li="watcha-cli",Jn=null;function ls(){if(Jn)return Jn;let e=dn.dirname(us(import.meta.url));for(;;){let t=dn.join(e,"package.json");if(Gn.existsSync(t))try{if(JSON.parse(Gn.readFileSync(t,"utf8")).name===li)return Jn=e,e}catch{}let n=dn.dirname(e);if(n===e)throw new Error(`\u627E\u4E0D\u5230 ${li} \u7684 package.json`);e=n}}function qt(...e){return dn.join(ls(),...e)}function ci(){try{return JSON.parse(Gn.readFileSync(qt("package.json"),"utf8")).version}catch{return"0.0.0"}}function ps(e){return e===""?"''":/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function ds(e){return e.map(ps).join(" ")}function mi(e){return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function hi(...e){let t=qt("bin","watcha.js");return[process.execPath,t,...e]}function ms(e,t){let n=(t.PATH||"").split(di.delimiter).filter(Boolean);for(let r of[...n,"/opt/homebrew/bin","/usr/local/bin","/usr/bin"])try{return pi.accessSync(di.join(r,e),pi.constants.X_OK),!0}catch{}return!1}var hs={env:process.env,platform:process.platform,has:e=>ms(e,process.env),run:(e,t)=>{let n=cs(e,t,{stdio:["ignore","ignore","pipe"],timeout:8e3,encoding:"utf8"});return{status:n.error?null:n.status,stderr:n.error?String(n.error.message):String(n.stderr||"")}}};function fs(e){let{env:t,platform:n}=e,r=(t.TERM_PROGRAM||"").toLowerCase(),i=[];return t.TMUX&&e.has("tmux")&&i.push("tmux"),(r.includes("wezterm")||t.WEZTERM_EXECUTABLE||t.WEZTERM_UNIX_SOCKET)&&e.has("wezterm")&&i.push("wezterm"),(t.KITTY_WINDOW_ID||t.TERM==="xterm-kitty")&&e.has("kitty")&&i.push("kitty"),n==="darwin"?(r==="iterm.app"&&i.push("iterm2"),r==="ghostty"&&i.push("ghostty"),i.push("terminal.app")):n==="linux"&&(t.DISPLAY||t.WAYLAND_DISPLAY)&&(e.has("gnome-terminal")&&i.push("gnome-terminal"),e.has("x-terminal-emulator")&&i.push("x-terminal-emulator")),i}function gs(e,t,n,r){let i=ds(t);switch(e){case"tmux":return r.run("tmux",["split-window","-d","-h",i]);case"wezterm":return r.run("wezterm",["cli","spawn","--new-window","--",...t]);case"kitty":return r.run("kitty",["@","launch","--type=os-window","--keep-focus","--title",n,...t]);case"iterm2":return r.run("osascript",["-e",'tell application "iTerm2"',"-e","set newWindow to (create window with default profile)","-e",`tell current session of newWindow to write text ${mi(i)}`,"-e","end tell"]);case"ghostty":return r.run("open",["-na","Ghostty.app","--args","-e",...t]);case"terminal.app":return r.run("osascript",["-e",'tell application "Terminal"',"-e",`do script ${mi(i)}`,"-e","activate","-e","end tell"]);case"gnome-terminal":return r.run("gnome-terminal",["--window","--title",n,"--",...t]);case"x-terminal-emulator":return r.run("x-terminal-emulator",["-e",i])}}function fi(e,t={}){let n=t.deps??hs,r=t.title??"\u89C2\u7339",i=[];for(let o of fs(n)){let s=gs(o,e,r,n);if(s.status===0)return{opened:!0,terminal:o,attempts:i};i.push({terminal:o,error:s.stderr.trim()||`exit ${s.status??"spawn failed"}`})}return{opened:!1,attempts:i}}import{createHash as ys}from"node:crypto";import hn from"node:fs";import ws from"node:path";var zn="watcha-cli";function Qn(e,t=be(),n=process.env){return(n.WATCHA_CONFIG_DIR||"").trim()?`${e}@${ys("sha256").update(t).digest("hex").slice(0,12)}`:e}var ht;async function Kn(){if(ht!==void 0)return ht;if((process.env.WATCHA_CREDENTIALS_BACKEND||"").toLowerCase()==="file")return ht=null,null;try{let e=await import("@napi-rs/keyring");ht=typeof e.Entry=="function"?e:null}catch{ht=null}return ht}function gi(){return ws.join(be(),"credentials.json")}function mn(){try{return JSON.parse(hn.readFileSync(gi(),"utf8"))}catch{return{}}}function Yn(e){Pt();let t=gi(),n=t+".tmp";hn.writeFileSync(n,JSON.stringify(e,null,2)+`
35
- `,{mode:384}),hn.renameSync(n,t),hn.chmodSync(t,384)}var fn=class{constructor(t){this.profile=t}profile;envCredentials(){let t=process.env.WATCHA_ACCESS_TOKEN?.trim(),n=process.env.WATCHA_REFRESH_TOKEN?.trim();return!t&&!n?null:{accessToken:t||"",refreshToken:n||"",savedAt:new Date(0).toISOString()}}memory=null;async load(){let t=this.envCredentials();if(t)return{credentials:this.memory||t,source:"env"};let n=await Kn();if(n)try{let s=new n.Entry(zn,Qn(this.profile)).getPassword();if(s)return{credentials:JSON.parse(s),source:"keyring"}}catch{}let i=mn()[this.profile];return i?{credentials:i,source:"file"}:{credentials:null,source:"none"}}async save(t){if(this.envCredentials())return this.memory=t,"env";let n=await Kn();if(n)try{new n.Entry(zn,Qn(this.profile)).setPassword(JSON.stringify(t));let o=mn();return o[this.profile]&&(delete o[this.profile],Yn(o)),"keyring"}catch{}let r=mn();return r[this.profile]=t,Yn(r),"file"}async clear(){this.memory=null;let t=await Kn();if(t)try{new t.Entry(zn,Qn(this.profile)).deletePassword()}catch{}let n=mn();n[this.profile]&&(delete n[this.profile],Yn(n))}};function Ve(e){let t=e.split(".");if(t.length<2)return null;try{let n=Buffer.from(t[1].replace(/-/g,"+").replace(/_/g,"/"),"base64").toString("utf8");return JSON.parse(n)}catch{return null}}function yi(e,t=30,n=Date.now()){let r=Ve(e);return!r||typeof r.exp!="number"?!0:r.exp*1e3<=n+t*1e3}function Rt(e){let t=Ve(e);return!t||typeof t.exp!="number"?null:new Date(t.exp*1e3)}var Lt=class extends Error{constructor(n){super("dry-run");this.request=n;this.name="DryRunSignal"}request},gn=class{baseUrl;store;dryRun;userAgent;debug;cached;refreshing=null;constructor(t){this.baseUrl=t.baseUrl.replace(/\/+$/,""),this.store=t.credentials,this.dryRun=!!t.dryRun,this.userAgent=t.userAgent||"watcha-cli",this.debug=t.debug}buildUrl(t,n){let r=new URL(t.startsWith("http")?t:`${this.baseUrl}/${t.replace(/^\/+/,"")}`);if(n){for(let[i,o]of Object.entries(n))if(!(o==null||o===""))if(Array.isArray(o))for(let s of o)r.searchParams.append(i,String(s));else r.searchParams.set(i,String(o))}return r.toString()}async currentCredentials(){if(this.cached!==void 0)return this.cached;let{credentials:t}=await this.store.load();return this.cached=t,t}async loadCredentials(){let t=await this.store.load();return this.cached=t.credentials,t}async setCredentials(t){this.cached=t,await this.store.save(t)}async clearCredentials(){this.cached=null,await this.store.clear()}async accessToken(t){let n=await this.currentCredentials();if(!n||!n.accessToken&&!n.refreshToken){if(t)throw new v({type:"auth",message:"\u5C1A\u672A\u767B\u5F55",hint:"\u6267\u884C watcha auth login\uFF08\u9ED8\u8BA4\u5FAE\u4FE1\u626B\u7801\uFF09\uFF0C\u6216\u8BBE\u7F6E WATCHA_REFRESH_TOKEN"});return null}if(n.accessToken&&!yi(n.accessToken))return n.accessToken;if(!n.refreshToken){if(t)throw new v({type:"auth",message:"access token \u5DF2\u8FC7\u671F\u4E14\u6CA1\u6709 refresh token",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});return null}let r=await this.refresh();if(!r){if(t)throw new v({type:"auth",message:"\u5237\u65B0\u767B\u5F55\u6001\u5931\u8D25",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});return null}return r.accessToken}async refresh(){if(this.refreshing)return this.refreshing;this.refreshing=(async()=>{let t=await this.currentCredentials();if(!t?.refreshToken)return null;let n=this.buildUrl("/auth/access-token");Hn(),this.debug?.(`POST ${n} (refresh)`);let r;try{r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":this.userAgent},body:JSON.stringify({refresh_token:t.refreshToken}),signal:AbortSignal.timeout(3e4)})}catch(a){throw tt(a)}let i=await wi(r);if(!r.ok||!i?.data?.access_token){let a=Bn({status:r.status,code:i?.code,message:i?.message});throw new v({type:"auth",message:i?.message||`\u5237\u65B0\u767B\u5F55\u6001\u5931\u8D25 (HTTP ${r.status})`,code:i?.code||void 0,status:r.status,hint:a.type==="auth"?"refresh token \u5DF2\u5931\u6548\uFF1A\u53EF\u80FD\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF08\u6BCF\u8D26\u53F7 5 \u4E2A\uFF09\u6216\u8D85\u8FC7 30 \u5929\uFF0C\u91CD\u65B0 watcha auth login":a.hint})}let o=Ve(i.data.access_token),s={...t,accessToken:i.data.access_token,refreshToken:i.data.refresh_token||t.refreshToken,userId:t.userId??(typeof o?.id=="number"?o.id:void 0),username:t.username??(typeof o?.username=="string"?o.username:void 0),nickname:t.nickname??(typeof o?.nickname=="string"?o.nickname:void 0),savedAt:new Date().toISOString()};return await this.setCredentials(s),s})();try{return await this.refreshing}finally{this.refreshing=null}}async request(t,n,r={}){let i=await this.send(t,n,r,!0);return await this.parseEnvelope(i,t,n)}async open(t,n,r={}){let i=await this.send(t,n,{...r,stream:!0},!0);return i.ok||await this.parseEnvelope(i,t,n),i}async send(t,n,r,i){let o=r.auth||"optional",s=o==="none"?null:await this.accessToken(o==="required"),a=this.buildUrl(n,r.query),d={Accept:r.stream?"text/event-stream":"application/json","User-Agent":this.userAgent,...r.headers||{}};s&&(d.Authorization=`Bearer ${s}`),r.stream&&(d["Cache-Control"]="no-cache");let l;if(r.rawBody!==void 0?l=r.rawBody:r.body!==void 0&&(d["Content-Type"]="application/json",l=JSON.stringify(r.body)),this.dryRun&&t.toUpperCase()!=="GET")throw new Lt({method:t.toUpperCase(),url:a,headers:ks(d),body:r.body});Hn(),this.debug?.(`${t.toUpperCase()} ${a}`);let u;try{u=await fetch(a,{method:t.toUpperCase(),headers:d,body:l,signal:r.stream?void 0:AbortSignal.timeout(r.timeoutMs??3e4)})}catch(p){throw tt(p)}return u.status===401&&s&&i&&(await this.currentCredentials())?.refreshToken&&(await u.body?.cancel().catch(()=>{}),await this.refresh().catch(()=>null))?this.send(t,n,r,!1):u}async parseEnvelope(t,n,r){let s=(t.headers.get("content-type")||"").includes("application/json")?await wi(t):null,a=s?.statusCode;if(t.ok&&(a===void 0||a>=200&&a<300))return s&&"data"in s?s.data:s||(t.status===204?void 0:await t.text().catch(()=>""));let l=a&&a>=400?a:t.status,u=Bn({status:l,code:s?.code,message:s?.message,captchaContext:s?.captchaContext}),p=s?"":await t.text().catch(()=>"");throw new v({type:u.type,status:l,code:s?.code||void 0,message:s?.message||p.slice(0,300)||`${n.toUpperCase()} ${r} \u5931\u8D25 (HTTP ${t.status})`,hint:u.hint,details:s?.captchaContext?{captchaContext:s.captchaContext}:void 0})}};async function wi(e){try{return await e.json()}catch{return null}}function ks(e){let t={...e};return t.Authorization&&(t.Authorization="Bearer <redacted>"),t}var Y={postTitleMaxWidth:32,postContentMaxWidth:2e4,postMaxImages:18,postMaxInlineFigures:50,reviewMinWidth:15,reviewMaxImages:18,replyMaxImages:9,topicMaxCount:3};function bs(e){return e===0||e<32||e>=127&&e<160||xs(e)||e===8203||e===8204||e===8205||e===65279?0:Cs(e)?2:1}function xs(e){return e>=768&&e<=879||e>=6832&&e<=6911||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65024&&e<=65039||e>=65056&&e<=65071||e>=917760&&e<=917999}function Cs(e){return e>=4352&&e<=4447||e===9001||e===9002||e>=8986&&e<=8987||e>=9193&&e<=9196||e===9200||e===9203||e>=9725&&e<=9726||e>=9748&&e<=9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e>=9898&&e<=9899||e>=9917&&e<=9918||e>=9924&&e<=9925||e===9934||e===9940||e===9962||e>=9970&&e<=9971||e===9973||e===9978||e===9981||e===9989||e>=9994&&e<=9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e>=11035&&e<=11036||e===11088||e===11093||e>=11904&&e<=12350||e>=12353&&e<=13311||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=40960&&e<=42191||e>=43360&&e<=43391||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=94176&&e<=94180||e>=94208&&e<=101119||e>=110592&&e<=111359||e>=126980&&e<=126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127569||e>=127744&&e<=128591||e>=128640&&e<=128767||e>=129280&&e<=129535||e>=129648&&e<=129791||e>=131072&&e<=262141}function Ne(e){let t=0;for(let n of e)t+=bs(n.codePointAt(0)??0);return t}function ft(e){return Math.ceil(Ne(e)/2)}function Xn(e,t){t(e);for(let n of e.content||[])Xn(n,t)}function Je(e){let t=0;return Xn(e,n=>{if(n.type==="text"&&typeof n.text=="string")t+=Ne(n.text);else if((n.type==="mention"||n.type==="topic")&&n.attrs){let r=n.attrs.label??n.attrs.name;typeof r=="string"&&(t+=Ne(r))}}),Math.ceil(t/2)}function je(e){let t=[],n="",r=new Set(["paragraph","heading","codeBlock","blockquote","listItem","horizontalRule","figure"]),i=o=>{if(o.type==="text")n+=o.text||"";else if(o.type==="hardBreak")n+=`
36
- `;else if(o.type==="mention"&&o.attrs){let s=o.attrs.label??o.attrs.name??o.attrs.id;n+=`@${String(s??"")}`}else o.type==="figure"&&o.attrs?.src&&(n+=`[\u56FE\u7247 ${String(o.attrs.src)}]`);for(let s of o.content||[])i(s);r.has(o.type)&&(t.push(n),n="")};return i(e),n&&t.push(n),t.join(`
23
+ `),this.outputHelp({error:!0}));let r=n||{},i=r.exitCode||1,o=r.code||"commander.error";this._exit(i,o,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in H.env){let n=e.attributeName();(this.getOptionValue(n)===void 0||["default","config","env"].includes(this.getOptionValueSource(n)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,H.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new yn(this.options),n=r=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter(r=>r.implied!==void 0&&n(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach(r=>{Object.keys(r.implied).filter(i=>!n(i)).forEach(i=>{this.setOptionValueWithSource(i,r.implied[i],"implied")})})}missingArgument(e){let n=`error: missing required argument '${e}'`;this.error(n,{code:"commander.missingArgument"})}optionMissingArgument(e){let n=`error: option '${e.flags}' argument missing`;this.error(n,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let n=`error: required option '${e.flags}' not specified`;this.error(n,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,n){let r=s=>{let a=s.attributeName(),u=this.getOptionValue(a),l=this.options.find(d=>d.negate&&a===d.attributeName()),c=this.options.find(d=>!d.negate&&a===d.attributeName());return l&&(l.presetArg===void 0&&u===!1||l.presetArg!==void 0&&u===l.presetArg)?l:c||s},i=s=>{let a=r(s),u=a.attributeName();return this.getOptionValueSource(u)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},o=`error: ${i(e)} cannot be used with ${i(n)}`;this.error(o,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let n="";if(e.startsWith("--")&&this._showSuggestionAfterError){let i=[],o=this;do{let s=o.createHelp().visibleOptions(o).filter(a=>a.long).map(a=>a.long);i=i.concat(s),o=o.parent}while(o&&!o._enablePositionalOptions);n=ar(e,i)}let r=`error: unknown option '${e}'${n}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let n=this.registeredArguments.length,r=n===1?"":"s",i=e.length,o=this.parent?` for '${this.name()}'`:"",s=e.join(", "),a=`error: too many arguments${o}. Expected ${n} argument${r} but got ${i}: ${s}.`;this.error(a,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],n="";if(this._showSuggestionAfterError){let i=[];this.createHelp().visibleCommands(this).forEach(o=>{i.push(o.name()),o.alias()&&i.push(o.alias())}),n=ar(e,i)}let r=`error: unknown command '${e}'${n}`;this.error(r,{code:"commander.unknownCommand"})}version(e,n,r){if(e===void 0)return this._version;this._version=e,n=n||"-V, --version",r=r||"output the version number";let i=this.createOption(n,r);return this._versionOptionName=i.attributeName(),this._registerOption(i),this.on("option:"+i.name(),()=>{this._outputConfiguration.writeOut(`${e}
24
+ `),this._exit(0,"commander.version",e)}),this}description(e,n){return e===void 0&&n===void 0?this._description:(this._description=e,n&&(this._argsDescription=n),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let n=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(n=this.commands[this.commands.length-1]),e===n._name)throw new Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(e);if(r){let i=[r.name()].concat(r.aliases()).join("|");throw new Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${i}'`)}return n._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(n=>this.alias(n)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let n=this.registeredArguments.map(r=>gn(r));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?n:[]).join(" ")}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??"":(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??"":(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?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=jt.basename(e,jt.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let n=this.createHelp(),r=this._getOutputContext(e);n.prepareContext({error:r.error,helpWidth:r.helpWidth,outputHasColors:r.hasColors});let i=n.formatHelp(this,n);return r.hasColors?i:this._outputConfiguration.stripColor(i)}_getOutputContext(e){e=e||{};let n=!!e.error,r,i,o;return n?(r=a=>this._outputConfiguration.writeErr(a),i=this._outputConfiguration.getErrHasColors(),o=this._outputConfiguration.getErrHelpWidth()):(r=a=>this._outputConfiguration.writeOut(a),i=this._outputConfiguration.getOutHasColors(),o=this._outputConfiguration.getOutHelpWidth()),{error:n,write:a=>(i||(a=this._outputConfiguration.stripColor(a)),r(a)),hasColors:i,helpWidth:o}}outputHelp(e){let n;typeof e=="function"&&(n=e,e=void 0);let r=this._getOutputContext(e),i={error:r.error,write:r.write,command:this};this._getCommandAndAncestors().reverse().forEach(s=>s.emit("beforeAllHelp",i)),this.emit("beforeHelp",i);let o=this.helpInformation({error:r.error});if(n&&(o=n(o),typeof o!="string"&&!Buffer.isBuffer(o)))throw new Error("outputHelp callback must return a string or a Buffer");r.write(o),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit("afterHelp",i),this._getCommandAndAncestors().forEach(s=>s.emit("afterAllHelp",i))}helpOption(e,n){return typeof e=="boolean"?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??"-h, --help",n??"display help for command"),(e||n)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let n=Number(H.exitCode??0);n===0&&e&&typeof e!="function"&&e.error&&(n=1),this._exit(n,"commander.help","(outputHelp)")}addHelpText(e,n){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw new Error(`Unexpected value for position to addHelpText.
25
+ Expecting one of '${r.join("', '")}'`);let i=`${e}Help`;return this.on(i,o=>{let s;typeof n=="function"?s=n({error:o.error,command:o.command}):s=n,s&&o.write(`${s}
26
+ `)}),this}_outputHelpIfRequested(e){let n=this._getHelpOption();n&&e.find(i=>n.is(i))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function gi(t){return t.map(e=>{if(!e.startsWith("--inspect"))return e;let n,r="127.0.0.1",i="9229",o;return(o=e.match(/^(--inspect(-brk)?)$/))!==null?n=o[1]:(o=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(n=o[1],/^\d+$/.test(o[3])?i=o[3]:r=o[3]):(o=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(n=o[1],r=o[3],i=o[4]),n&&i!=="0"?`${n}=${r}:${parseInt(i)+1}`:e})}function yi(){if(H.env.NO_COLOR||H.env.FORCE_COLOR==="0"||H.env.FORCE_COLOR==="false")return!1;if(H.env.FORCE_COLOR||H.env.CLICOLOR_FORCE!==void 0)return!0}var nd=new Ce;function Q(t){return{skip:t.skip??0,limit:t.limit??20}}var qt={startQrcode:(t,e={})=>t.request("GET","/auth/3rd/qrcode",{query:{type:e.type||"wechat_miniprogram",source_client_id:e.source_client_id},auth:"none"}),qrcodeStatus:(t,e)=>t.request("GET","/auth/3rd/qrcode/status",{query:{secret:e},auth:"none"}),requestVerifyCode:(t,e)=>t.request("POST","/auth/request-verify-code",{body:e,auth:"none"}),signinWithCode:(t,e)=>t.request("POST","/auth/signin-code",{body:e,auth:"none"}),signinWithPassword:(t,e)=>t.request("POST","/auth/signin",{body:e,auth:"none"}),refresh:(t,e)=>t.request("POST","/auth/access-token",{body:{refresh_token:e},auth:"none"}),signout:(t,e)=>t.request("POST","/auth/signout",{body:{token:e},auth:"optional"}),perms:t=>t.request("GET","/auth/perms",{auth:"optional"}),introspect:t=>t.request("GET","/auth/access-token/introspect",{auth:"optional"})},lt={me:t=>t.request("GET","/users/me",{auth:"required"}),show:(t,e)=>t.request("GET",`/users/${encodeURIComponent(e)}`),search:(t,e,n)=>t.request("GET","/users/search",{query:{q:e,...Q(n)}}),posts:(t,e,n)=>t.request("GET",`/users/${encodeURIComponent(e)}/posts`,{query:Q(n)}),reviews:(t,e,n)=>t.request("GET",`/users/${encodeURIComponent(e)}/reviews`,{query:Q(n)}),submits:(t,e,n)=>t.request("GET",`/users/${encodeURIComponent(e)}/submits`,{query:Q(n)}),memberProducts:(t,e,n)=>t.request("GET",`/users/${encodeURIComponent(e)}/member-products`,{query:Q(n)}),mySubmits:(t,e)=>t.request("GET","/users/my/submits",{query:Q(e),auth:"required"}),follow:(t,e)=>t.request("POST",`/users/${encodeURIComponent(e)}/subscribers`,{auth:"required"}),unfollow:(t,e)=>t.request("DELETE",`/users/${encodeURIComponent(e)}/subscribers`,{auth:"required"}),myFavoritePosts:(t,e)=>t.request("GET","/users/me/posts/favorites",{query:Q(e),auth:"required"}),myFavoriteReviews:(t,e)=>t.request("GET","/users/me/reviews/favorites",{query:Q(e),auth:"required"})},G={list:(t,e)=>t.request("GET","/products",{query:e}),search:(t,e)=>t.request("GET","/products/search",{query:e}),show:(t,e)=>t.request("GET",`/products/${encodeURIComponent(e)}`),categories:t=>t.request("GET","/products/categories"),reviews:(t,e,n)=>t.request("GET",`/products/${encodeURIComponent(e)}/reviews`,{query:n}),posts:(t,e,n)=>t.request("GET",`/products/${encodeURIComponent(e)}/posts`,{query:Q(n)}),similar:(t,e,n)=>t.request("GET",`/products/${encodeURIComponent(e)}/similar`,{query:Q(n)}),launches:(t,e,n)=>t.request("GET",`/products/${e}/launches`,{query:Q(n)}),latestLaunches:(t,e)=>t.request("GET","/products/launches",{query:Q(e)}),createLaunch:(t,e,n)=>t.request("POST",`/products/${e}/launches`,{body:n,auth:"required"}),update:(t,e)=>t.request("PUT","/products",{body:e,auth:"required"}),star:(t,e)=>t.request("PUT",`/products/${encodeURIComponent(e)}/star`,{auth:"required"}),subscribe:(t,e)=>t.request("PUT",`/products/${encodeURIComponent(e)}/subscribe`,{auth:"required"}),createReview:(t,e,n)=>t.request("POST",`/products/${encodeURIComponent(e)}/reviews`,{body:n,auth:"required"}),random:t=>t.request("GET","/products/random"),hot:(t,e)=>t.request("GET","/hot/products",{query:Q(e)}),collections:(t,e)=>t.request("GET","/collections",{query:Q(e)}),collection:(t,e)=>t.request("GET",`/collections/${encodeURIComponent(e)}`),collectionProducts:(t,e,n)=>t.request("GET",`/collections/${encodeURIComponent(e)}/products`,{query:Q(n)})},xt={show:(t,e)=>t.request("GET",`/reviews/${encodeURIComponent(e)}`),replies:(t,e,n)=>t.request("GET",`/reviews/${encodeURIComponent(e)}/replies`,{query:Q(n)}),children:(t,e,n)=>t.request("GET",`/reviews/${encodeURIComponent(e)}/children`,{query:Q(n)}),similar:(t,e,n)=>t.request("GET",`/reviews/${encodeURIComponent(e)}/similar`,{query:Q(n)}),hot:(t,e)=>t.request("GET","/hot/reviews",{query:Q(e)}),reply:(t,e,n)=>t.request("POST",`/reviews/${encodeURIComponent(e)}/replies`,{body:n,auth:"required"}),remark:(t,e,n)=>t.request("PUT",`/reviews/${encodeURIComponent(e)}/remarks`,{body:{remark_type:n},auth:"required"}),favorite:(t,e)=>t.request("POST",`/reviews/${encodeURIComponent(e)}/favorites`,{auth:"required"}),unfavorite:(t,e)=>t.request("DELETE",`/reviews/${encodeURIComponent(e)}/favorites`,{auth:"required"}),update:(t,e,n)=>t.request("PUT",`/reviews/${encodeURIComponent(e)}`,{body:n,auth:"required"}),remove:(t,e)=>t.request("DELETE",`/reviews/${encodeURIComponent(e)}`,{auth:"required"})},at={list:(t,e)=>t.request("GET","/discuss/posts",{query:e}),show:(t,e)=>t.request("GET",`/discuss/posts/${encodeURIComponent(e)}`),floors:(t,e,n)=>t.request("GET",`/discuss/posts/${encodeURIComponent(e)}/floors`,{query:Q(n)}),floor:(t,e)=>t.request("GET",`/discuss/floors/${encodeURIComponent(e)}`),subfloors:(t,e,n)=>t.request("GET",`/discuss/floors/${encodeURIComponent(e)}/subfloors`,{query:Q(n)}),similar:(t,e,n)=>t.request("GET",`/discuss/posts/${encodeURIComponent(e)}/similar`,{query:Q(n)}),hot:(t,e)=>t.request("GET","/hot/posts",{query:Q(e)}),create:(t,e)=>t.request("POST","/discuss/posts",{body:e,auth:"required"}),createFloor:(t,e)=>t.request("POST","/discuss/floors",{body:e,auth:"required"}),update:(t,e,n)=>t.request("PUT",`/discuss/posts/${encodeURIComponent(e)}`,{body:n,auth:"required"}),remove:(t,e)=>t.request("DELETE",`/discuss/posts/${encodeURIComponent(e)}`,{auth:"required"}),remark:(t,e,n)=>t.request("PUT",`/discuss/posts/${encodeURIComponent(e)}/remarks`,{body:{remark_type:n},auth:"required"}),favorite:(t,e)=>t.request("POST",`/discuss/posts/${encodeURIComponent(e)}/favorites`,{auth:"required"}),unfavorite:(t,e)=>t.request("DELETE",`/discuss/posts/${encodeURIComponent(e)}/favorites`,{auth:"required"}),topics:(t,e)=>t.request("GET","/discuss/topic",{query:Q(e)}),hotTopics:t=>t.request("GET","/discuss/topic/hot"),topic:(t,e)=>t.request("GET",`/discuss/topic/${encodeURIComponent(e)}`),topicHotPosts:(t,e,n)=>t.request("GET",`/discuss/topic/${encodeURIComponent(e)}/posts/hot`,{query:Q(n)}),topicFeaturedPosts:(t,e,n)=>t.request("GET",`/discuss/topic/${encodeURIComponent(e)}/posts/featured`,{query:Q(n)})},Kt={general:(t,e)=>t.request("POST","/search/general",{body:e}),federation:(t,e)=>t.request("POST","/search/federation",{body:e}),agentStart:(t,e)=>t.open("POST","/search/agent",{body:{q:e},auth:"required"}),agentResume:(t,e)=>t.open("GET",`/search/agent/stream/${encodeURIComponent(e)}`,{auth:"required"}),sessions:(t,e)=>t.request("GET","/search/agent/sessions",{query:Q(e),auth:"required"}),session:(t,e)=>t.request("GET",`/search/agent/sessions/${encodeURIComponent(e)}`,{auth:"required"}),deleteSession:(t,e)=>t.request("DELETE",`/search/agent/sessions/${encodeURIComponent(e)}`,{auth:"required"}),share:(t,e)=>t.request("POST",`/search/agent/sessions/${encodeURIComponent(e)}/share`,{auth:"required"}),unshare:(t,e)=>t.request("DELETE",`/search/agent/sessions/${encodeURIComponent(e)}/share`,{auth:"required"}),shared:(t,e)=>t.request("GET",`/search/agent/share/${encodeURIComponent(e)}`,{auth:"none"}),feedback:(t,e,n)=>t.request("PUT",`/search/agent/sessions/${encodeURIComponent(e)}/feedback`,{body:{content:n},auth:"required"})},et={list:(t,e)=>t.request("GET","/activities/v2",{query:e}),search:(t,e)=>t.request("GET","/activities/v2/search",{query:e}),show:(t,e)=>t.request("GET",`/activities/v2/${encodeURIComponent(e)}`),calendar:(t,e)=>t.request("GET","/activities/v2/calendar",{query:e}),cities:t=>t.request("GET","/activities/v2/cities"),more:(t,e)=>t.request("GET","/activities/v2/more",{query:e}),hostedBy:(t,e,n)=>t.request("GET",`/users/${encodeURIComponent(e)}/activities`,{query:n}),create:(t,e)=>t.request("POST","/activities/v2",{body:e,auth:"required"}),myRegistered:(t,e)=>t.request("GET","/activities/v2/mine/registered",{query:e,auth:"required"}),myManaged:(t,e)=>t.request("GET","/activities/v2/mine/managed",{query:e,auth:"required"}),myCheckIn:(t,e)=>t.request("GET","/activities/v2/mine/check-in",{query:e,auth:"required"}),registration:(t,e)=>t.request("GET",`/activities/v2/${e}/registration`),register:(t,e,n)=>t.request("POST",`/activities/v2/${e}/registration`,{body:n,auth:"required"}),resubmit:(t,e,n)=>t.request("PUT",`/activities/v2/${e}/registration`,{body:n,auth:"required"}),cancelRegistration:(t,e)=>t.request("DELETE",`/activities/v2/${e}/registration`,{auth:"required"})},j={show:(t,e)=>t.request("GET",`/activities/v2/manage/${e}`,{auth:"required"}),update:(t,e,n)=>t.request("PUT",`/activities/v2/manage/${e}`,{body:n,auth:"required"}),cancel:(t,e)=>t.request("PUT",`/activities/v2/manage/${e}/cancel`,{auth:"required"}),collaborators:(t,e)=>t.request("GET",`/activities/v2/manage/${e}/collaborators`,{auth:"required"}),addHost:(t,e,n)=>t.request("POST",`/activities/v2/manage/${e}/hosts`,{body:n,auth:"required"}),updateHost:(t,e,n,r)=>t.request("PUT",`/activities/v2/manage/${e}/hosts/${n}`,{body:r,auth:"required"}),removeHost:(t,e,n)=>t.request("DELETE",`/activities/v2/manage/${e}/hosts/${n}`,{auth:"required"}),addCheckInStaff:(t,e,n)=>t.request("POST",`/activities/v2/manage/${e}/check-in-staff`,{body:n,auth:"required"}),removeCheckInStaff:(t,e,n)=>t.request("DELETE",`/activities/v2/manage/${e}/check-in-staff/${n}`,{auth:"required"}),guests:(t,e,n)=>t.request("GET",`/activities/v2/manage/${e}/guests`,{query:n,auth:"required"}),guest:(t,e,n)=>t.request("GET",`/activities/v2/manage/${e}/guests/${n}`,{auth:"required"}),approveGuest:(t,e,n,r)=>t.request("PUT",`/activities/v2/manage/${e}/guests/${n}/approve`,{body:r,auth:"required"}),rejectGuest:(t,e,n,r)=>t.request("PUT",`/activities/v2/manage/${e}/guests/${n}/reject`,{body:r,auth:"required"}),inviteGuest:(t,e,n)=>t.request("POST",`/activities/v2/manage/${e}/guests/invite`,{body:n,auth:"required"}),exportGuestsPath:t=>`/activities/v2/manage/${t}/guests/export`,statistics:(t,e)=>t.request("GET",`/activities/v2/manage/${e}/statistics`,{auth:"required"}),registration:(t,e)=>t.request("GET",`/activities/v2/manage/${e}/registration`,{auth:"required"}),updateRegistrationConfig:(t,e,n)=>t.request("PUT",`/activities/v2/manage/${e}/registration-config`,{body:n,auth:"required"}),createTicketType:(t,e,n)=>t.request("POST",`/activities/v2/manage/${e}/ticket-types`,{body:n,auth:"required"}),updateTicketType:(t,e,n,r)=>t.request("PUT",`/activities/v2/manage/${e}/ticket-types/${n}`,{body:r,auth:"required"}),deleteTicketType:(t,e,n)=>t.request("DELETE",`/activities/v2/manage/${e}/ticket-types/${n}`,{auth:"required"}),checkInGuests:(t,e,n)=>t.request("GET",`/activities/v2/manage/${e}/check-in/guests`,{query:n,auth:"required"}),resolveTicket:(t,e,n)=>t.request("POST",`/activities/v2/manage/${e}/check-in/resolve`,{body:{ticket_code:n},auth:"required"}),checkInTicket:(t,e,n)=>t.request("PUT",`/activities/v2/manage/${e}/check-in`,{body:{ticket_code:n},auth:"required"}),checkInGuest:(t,e,n)=>t.request("PUT",`/activities/v2/manage/${e}/guests/${n}/check-in`,{auth:"required"}),undoCheckIn:(t,e,n)=>t.request("DELETE",`/activities/v2/manage/${e}/guests/${n}/check-in`,{auth:"required"})};var gt={rankRange:(t,e,n,r)=>t.request("GET",`/ranks/${encodeURIComponent(e)}/${encodeURIComponent(n)}/range`,{query:r}),rankArchives:(t,e,n,r)=>t.request("GET",`/ranks/${encodeURIComponent(e)}/${encodeURIComponent(n)}/archives`,{query:Q(r)}),feed:(t,e)=>t.request("GET","/feed",{query:Q(e)}),notifications:(t,e)=>t.request("GET","/notifications",{query:e,auth:"required"}),notificationStatus:t=>t.request("GET","/notifications/status",{auth:"required"}),readNotification:(t,e)=>t.request("PUT",`/notifications/${encodeURIComponent(e)}/read`,{auth:"required"}),readAllNotifications:(t,e={})=>t.request("PUT","/notifications/read-all",{body:e,auth:"required"}),quests:(t,e)=>t.request("GET","/quests",{query:Q(e)}),myQuestProgress:t=>t.request("GET","/quests/progresses/me",{auth:"required"}),emojiAdd:(t,e,n,r)=>t.request("POST",`/emojis/${e}/${encodeURIComponent(n)}`,{body:{emoji_code:r},auth:"required"}),emojiRemove:(t,e,n,r)=>t.request("DELETE",`/emojis/${e}/${encodeURIComponent(n)}`,{body:{emoji_code:r},auth:"required"}),vote:(t,e)=>t.request("POST",`/votes/items/${encodeURIComponent(e)}/vote`,{auth:"required"}),unvote:(t,e)=>t.request("DELETE",`/votes/items/${encodeURIComponent(e)}/vote`,{auth:"required"}),voteShow:(t,e)=>t.request("GET",`/votes/${encodeURIComponent(e)}`),tags:t=>t.request("GET","/tags"),badgeUrl:(t,e,n)=>`${t}/products/${encodeURIComponent(String(e))}/badge${n?`?theme=${encodeURIComponent(n)}`:""}`},wi={create:(t,e)=>t.request("POST","/feedbacks",{body:e,auth:"required"})},kn=["\u{1F389}","\u{1F929}","\u{1F923}","\u{1F914}","\u{1F633}","\u2764\uFE0F","\u{1F4A9}","\u{1F648}"],bn={product:1,review:2,reply:3,post:4,floor:5},ve=["week_product_hot_reviewed","week_reputation_skyrockets","week_product_owner_active","week_platform_user_active","scrolling_hot_topic"];import{spawn as Ks}from"node:child_process";import ki from"node:fs/promises";import Ys from"node:os";import bi from"node:path";import Xs from"node:readline/promises";function Yt(){return!!process.stdout.isTTY}function Zs(){return!!process.stdin.isTTY}function Lt(){return Yt()&&Zs()&&!process.env.CI&&!process.env.WATCHA_NO_INPUT}async function Vt(t,e={}){let n=Xs.createInterface({input:process.stdin,output:process.stderr,terminal:!0});try{if(e.hidden){let r=process.stdin;r.setRawMode?.(!0);try{let i=await n.question(t);return process.stderr.write(`
27
+ `),i.trim()}finally{r.setRawMode?.(!1)}}return(await n.question(t)).trim()}finally{n.close()}}async function _n(t){let e=await Vt(`${t} [y/N] `);return/^y(es)?$/i.test(e)}function ta(){if(!Yt())return"none";let t=(process.env.WATCHA_IMAGE_PROTOCOL||"").toLowerCase();if(t==="iterm2"||t==="kitty"||t==="none")return t;let e=(process.env.TERM_PROGRAM||"").toLowerCase(),n=(process.env.TERM||"").toLowerCase();return e.includes("iterm")||e.includes("wezterm")||process.env.WEZTERM_EXECUTABLE?"iterm2":n.includes("kitty")||process.env.KITTY_WINDOW_ID||e.includes("ghostty")?"kitty":"none"}function _i(t,e,n={}){let r=ta();if(r==="iterm2"){let i=Buffer.from(n.name||"qrcode.jpg").toString("base64"),o=n.widthCells?`;width=${n.widthCells}`:"";return t.write(`\x1B]1337;File=name=${i};inline=1;preserveAspectRatio=1${o}:${e}\x07
28
+ `),!0}if(r==="kitty"){let i=[];for(let o=0;o<e.length;o+=4096)i.push(e.slice(o,o+4096));return i.forEach((o,s)=>{let a=s<i.length-1?1:0,u=s===0?`a=T,f=100,t=d,m=${a}`:`m=${a}`;t.write(`\x1B_G${u};${o}\x1B\\`)}),t.write(`
29
+ `),!0}return!1}async function xi(t,e=".jpg"){let n=await ki.mkdtemp(bi.join(Ys.tmpdir(),"watcha-")),r=bi.join(n,`qrcode${e}`);await ki.writeFile(r,Buffer.from(t,"base64"),{mode:384});let i=process.platform==="darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",o=process.platform==="win32"?["/c","start","",r]:[r],s=await new Promise(a=>{try{let u=Ks(i,o,{stdio:"ignore",detached:!0});u.on("error",()=>a(!1)),u.on("spawn",()=>{u.unref(),a(!0)})}catch{a(!1)}});return{file:r,opened:s}}function je(t){return new Promise(e=>setTimeout(e,t))}import Ea from"node:fs/promises";import Cn from"node:fs";import ea from"node:os";import xn from"node:path";var Ve="https://watcha.cn/api/v2",vn="https://watcha.cn";function kt(){let t=process.env.WATCHA_CONFIG_DIR;if(t&&t.trim())return xn.resolve(t);let e=process.env.XDG_CONFIG_HOME,n=e&&e.trim()?e:xn.join(ea.homedir(),".config");return xn.join(n,"watcha")}function He(){return xn.join(kt(),"config.json")}function pe(){let t=kt();return Cn.mkdirSync(t,{recursive:!0,mode:448}),t}var cr={currentProfile:"default",profiles:{default:{baseUrl:Ve,siteUrl:vn}}};function me(){try{let t=Cn.readFileSync(He(),"utf8"),e=JSON.parse(t),n={...cr.profiles,...e.profiles||{}};return{currentProfile:e.currentProfile||cr.currentProfile,profiles:n}}catch{return structuredClone(cr)}}function lr(t){pe();let e=He()+".tmp";Cn.writeFileSync(e,JSON.stringify(t,null,2)+`
30
+ `,{mode:384}),Cn.renameSync(e,He())}function Ci(t){let e=me(),n=t||process.env.WATCHA_PROFILE||e.currentProfile||"default",r=e.profiles[n]||{baseUrl:Ve},i=(process.env.WATCHA_BASE_URL||r.baseUrl||Ve).replace(/\/+$/,""),o=(r.siteUrl||na(i)).replace(/\/+$/,"");return{name:n,baseUrl:i,siteUrl:o}}function na(t){try{let e=new URL(t);return`${e.protocol}//${e.host}`}catch{return vn}}function vi(t,e,n=!1){let r=me();return r.profiles[t]={...r.profiles[t]||{},...e},n&&(r.currentProfile=t),lr(r),r}function $i(t){let e=me();return e.profiles[t]||(e.profiles[t]={baseUrl:Ve,siteUrl:vn}),e.currentProfile=t,lr(e),e}function Si(t){let e=me();return delete e.profiles[t],e.currentProfile===t&&(e.currentProfile="default"),e.profiles.default||(e.profiles.default={baseUrl:Ve,siteUrl:vn}),lr(e),e}import{createHash as ra}from"node:crypto";import Sn from"node:fs";import ia from"node:path";var dr="watcha-cli";function pr(t,e=kt(),n=process.env){return(n.WATCHA_CONFIG_DIR||"").trim()?`${t}@${ra("sha256").update(e).digest("hex").slice(0,12)}`:t}var $e;async function mr(){if($e!==void 0)return $e;if((process.env.WATCHA_CREDENTIALS_BACKEND||"").toLowerCase()==="file")return $e=null,null;try{let t=await import("@napi-rs/keyring");$e=typeof t.Entry=="function"?t:null}catch{$e=null}return $e}function Ei(){return ia.join(kt(),"credentials.json")}function $n(){try{return JSON.parse(Sn.readFileSync(Ei(),"utf8"))}catch{return{}}}function fr(t){pe();let e=Ei(),n=e+".tmp";Sn.writeFileSync(n,JSON.stringify(t,null,2)+`
31
+ `,{mode:384}),Sn.renameSync(n,e),Sn.chmodSync(e,384)}var En=class{constructor(e){this.profile=e}profile;envCredentials(){let e=process.env.WATCHA_ACCESS_TOKEN?.trim(),n=process.env.WATCHA_REFRESH_TOKEN?.trim();return!e&&!n?null:{accessToken:e||"",refreshToken:n||"",savedAt:new Date(0).toISOString()}}memory=null;async load(){let e=this.envCredentials();if(e)return{credentials:this.memory||e,source:"env"};let n=await mr();if(n)try{let s=new n.Entry(dr,pr(this.profile)).getPassword();if(s)return{credentials:JSON.parse(s),source:"keyring"}}catch{}let i=$n()[this.profile];return i?{credentials:i,source:"file"}:{credentials:null,source:"none"}}async save(e){if(this.envCredentials())return this.memory=e,"env";let n=await mr();if(n)try{new n.Entry(dr,pr(this.profile)).setPassword(JSON.stringify(e));let o=$n();return o[this.profile]&&(delete o[this.profile],fr(o)),"keyring"}catch{}let r=$n();return r[this.profile]=e,fr(r),"file"}async clear(){this.memory=null;let e=await mr();if(e)try{new e.Entry(dr,pr(this.profile)).deletePassword()}catch{}let n=$n();n[this.profile]&&(delete n[this.profile],fr(n))}};var It={ok:0,generic:1,auth:2,validation:3,confirmation_required:4,rate_limited:5,captcha_required:6,network:7,forbidden:8,not_found:9};function oa(t){switch(t){case"auth":return It.auth;case"validation":return It.validation;case"confirmation_required":return It.confirmation_required;case"rate_limited":return It.rate_limited;case"captcha_required":return It.captcha_required;case"network":return It.network;case"forbidden":return It.forbidden;case"not_found":return It.not_found;default:return It.generic}}var A=class extends Error{type;code;status;hint;details;constructor(e){super(e.message,e.cause!==void 0?{cause:e.cause}:void 0),this.name="WatchaError",this.type=e.type,this.code=e.code,this.status=e.status,this.hint=e.hint,this.details=e.details}get exitCode(){return oa(this.type)}toJSON(){return{type:this.type,code:this.code,status:this.status,message:this.message,hint:this.hint,details:this.details}}},Ti=[{pattern:/未登录|令牌无效|token.*(失效|过期)/i,type:"auth",hint:"\u5148\u6267\u884C watcha auth login"},{pattern:/发布过于频繁|搜索太频繁|过于频繁|稍后再试/,type:"rate_limited",hint:"\u53D1\u5E16/\u53D1\u7339\u8BC4\u6BCF\u5206\u949F\u6700\u591A 2 \u6761\uFF0CAI \u641C\u7D22\u6BCF\u5206\u949F\u6700\u591A 2 \u6B21\uFF1B\u7B49 60 \u79D2\u518D\u8BD5"},{pattern:/被监猹委封禁|已被封禁/,type:"forbidden",hint:"\u8D26\u53F7\u5904\u4E8E\u5C01\u7981\u72B6\u6001\uFF0C\u89E3\u5C01\u65F6\u95F4\u89C1 message"},{pattern:/无权限/,type:"forbidden",hint:"\u53D1\u7339\u8BC4\u9700\u8981\u89C2\u7339\u5458(L1)\u8D44\u683C\uFF08watcha.cn/exam \u901A\u8FC7\u664B\u7EA7\u8003\u8BD5\u6216\u7528\u9080\u8BF7\u7801\uFF0C\u56DE\u590D\u4E0E\u53D1\u5E16\u53EA\u9700\u767B\u5F55\uFF09\uFF1B\u6D3B\u52A8\u7684\u7BA1\u7406\u4E0E\u7B7E\u5230\u9700\u8981\u4F60\u662F\u8BE5\u6D3B\u52A8\u7684\u4E3B\u529E\u65B9\u6216\u7B7E\u5230\u4EBA\u5458\uFF0C\u7528 watcha activity mine --role managed / --role checkin \u770B\u81EA\u5DF1\u6709\u54EA\u4E9B"},{pattern:/猹评内容过短/,type:"validation",hint:"\u7339\u8BC4\u6B63\u6587\u81F3\u5C11\u7EA6 15 \u4E2A\u6C49\u5B57\uFF08\u534A\u89D2\u5B57\u7B26\u6309 0.5 \u8BA1\uFF09"},{pattern:/活动当前不可访问/,type:"not_found",hint:"\u6D3B\u52A8\u53EF\u80FD\u8FD8\u5728\u5F85\u5BA1\u6838\u3001\u88AB\u62D2\u7EDD\u6216\u5DF2\u53D6\u6D88\uFF1B\u4E3B\u529E\u65B9\u7528 watcha activity manage show <\u6D3B\u52A8>\uFF0C\u6216\u5148 watcha activity mine --role managed \u627E\u5230\u5B83"},{pattern:/活动当前不能报名|当前报名没有可用门票/,type:"validation",hint:"\u62A5\u540D\u6CA1\u5F00\u3001\u5DF2\u622A\u6B62\uFF0C\u6216\u6CA1\u6709\u5728\u552E\u7684\u7968\u6863\uFF1B\u5148 watcha activity form <\u6D3B\u52A8> \u770B mode \u4E0E\u7968\u6863\u7684\u552E\u5356\u65F6\u95F4\uFF08\u7EBF\u4E0A\u591A\u6570\u6D3B\u52A8\u662F\u5916\u94FE\u62A5\u540D\uFF0CCLI \u53EA\u80FD\u7ED9\u94FE\u63A5\uFF09"},{pattern:/当前报名状态不能重新提交|活动当前不能修改报名信息/,type:"validation",hint:"\u53EA\u6709\u88AB\u62D2\u7EDD\u7684\u62A5\u540D\u80FD\u91CD\u65B0\u63D0\u4EA4\uFF1B\u5DF2\u901A\u8FC7\u6216\u5F85\u5BA1\u6838\u7684\u8981\u5148 watcha activity unregister \u518D\u91CD\u62A5"},{pattern:/当前报名状态不能取消/,type:"validation",hint:"\u53EA\u6709\u5F85\u5BA1\u6838 / \u5DF2\u901A\u8FC7\u4E14\u8FD8\u6CA1\u7B7E\u5230\u7684\u62A5\u540D\u80FD\u53D6\u6D88"},{pattern:/参加者已签到|当前报名不能撤销签到|参加者已签到,不能移除门票/,type:"validation",hint:"\u7968\u7801\u7B7E\u5230\u4E0D\u5E42\u7B49\uFF0C\u540C\u4E00\u5F20\u7968\u4E0D\u80FD\u626B\u4E24\u6B21\uFF1B\u8981\u64A4\u9500\u52A0 --undo"},{pattern:/报名手机号格式无效/,type:"validation",hint:"\u540E\u7AEF\u6309\u4E2D\u56FD\u5927\u9646\u89C4\u5219\u6821\u9A8C\u624B\u673A\u53F7\uFF1A1 \u5F00\u5934\u7684 11 \u4F4D\u6570\u5B57"},{pattern:/必填问题未回答|报名字段缺少必填基础字段|姓名和手机号字段必须必填/,type:"validation",hint:"\u5148 watcha activity form <\u6D3B\u52A8> \u770B\u5FC5\u586B\u9879\uFF1B\u59D3\u540D\u4E0E\u624B\u673A\u53F7\u662F\u540E\u7AEF\u5F3A\u5236\u5FC5\u586B\u7684\uFF0C\u5173\u4E0D\u6389"},{pattern:/选项答案不在当前问题选项中|单选题只能选择一个答案|选项答案不能重复|报名问题不能重复回答|报名答案对应的问题不存在/,type:"validation",hint:"\u7B54\u6848\u4E0E\u9898\u76EE\u5BF9\u4E0D\u4E0A\uFF1B\u7528 watcha activity form <\u6D3B\u52A8> --json \u6838\u5BF9 question_id \u4E0E options"},{pattern:/选项不能超过10个|多行文本答案不能超过2000字|报名问题.*过长/,type:"validation"},{pattern:/活动主办方不能超过5人|活动签到人员不能超过20人/,type:"validation"},{pattern:/活动创建者不能降权|隐藏主办方必须拥有管理权限|只有活动创建者可以移除其他主办方/,type:"validation",hint:"\u6D3B\u52A8\u9875\u9690\u85CF\u7684\u4E3B\u529E\u65B9\u5FC5\u987B\u540C\u65F6\u6709\u7BA1\u7406\u6743\u9650\uFF1B\u53EA\u6709\u521B\u5EFA\u8005\u80FD\u79FB\u9664\u522B\u7684\u4E3B\u529E\u65B9"},{pattern:/外链报名活动必须配置报名链接|线下活动不能配置线上地址|线上活动不能配置线下地点|线下活动必须配置城市|线上活动必须配置活动地址/,type:"validation",hint:"\u7EBF\u4E0A\u6D3B\u52A8\u7528 --online-url\uFF0C\u7EBF\u4E0B\u6D3B\u52A8\u7528 --city / --address\uFF1B\u5916\u94FE\u62A5\u540D\u8981\u540C\u65F6\u7ED9 --registration-url"},{pattern:/活动.*(不能为空|为空)|活动开始时间.*(晚于|早于)结束时间|活动时间范围无效/,type:"validation"},{pattern:/活动时间范围和指定日期不能同时使用|活动开始时间距离仅支持升序/,type:"validation",hint:"--period \u4E0E --date \u4E92\u65A5\uFF1B--sort \u65F6 --order \u53EA\u80FD asc"},{pattern:/票档.*(不存在|名称不能为空)|报名票档不匹配|票档开始时间晚于结束时间/,type:"validation"},{pattern:/已(取消|结束)的活动不能(签到|编辑)|当前活动状态不能执行该操作/,type:"validation",hint:"\u6D3B\u52A8\u5DF2\u7ED3\u675F\u3001\u5DF2\u53D6\u6D88\u6216\u8FD8\u6CA1\u8FC7\u5BA1\uFF0C\u5199\u64CD\u4F5C\u88AB\u9501\u4F4F\u4E86"},{pattern:/标题过长|标题为空|内容为空|长度超过上限|图片过多/,type:"validation"},{pattern:/非可信来源/,type:"validation",hint:"\u56FE\u7247\u5FC5\u987B\u5148\u901A\u8FC7 watcha \u7684\u4E0A\u4F20\u94FE\u8DEF\uFF08CLI \u4F1A\u81EA\u52A8\u4E0A\u4F20\u672C\u5730\u6587\u4EF6\uFF09\uFF0C\u4E0D\u80FD\u76F4\u63A5\u5F15\u7528\u5916\u94FE"},{pattern:/含有敏感词/,type:"validation"},{pattern:/不存在|未找到|找不到/,type:"not_found",hint:"\u6838\u5BF9 id / slug \u662F\u5426\u6B63\u786E\uFF1B\u4EA7\u54C1\u53EF\u7528 watcha search <\u5173\u952E\u8BCD> --domain product \u627E\u5230\u6B63\u786E\u7684 slug"},{pattern:/已经成为观猹员/,type:"validation"},{pattern:/参数|格式|不合法|无效/,type:"validation"}];function hr(t){let e=(t.code||"").toUpperCase(),n=t.message||"";if(t.status===449||e==="RETRY_CAPTCHA")return{type:"captcha_required",hint:"\u540E\u7AEF\u8981\u6C42\u6ED1\u5757\u9A8C\u8BC1\uFF0C\u7EC8\u7AEF\u5185\u65E0\u6CD5\u5B8C\u6210\u3002\u8BF7\u5728\u6D4F\u89C8\u5668\u6253\u5F00 https://watcha.cn \u5B8C\u6210\u4E00\u6B21\u767B\u5F55/\u64CD\u4F5C\u540E\u91CD\u8BD5\uFF0C\u6216\u6539\u7528 watcha auth login --refresh-token"};if(e==="UNAUTHORIZED"||t.status===401)return{type:"auth",hint:"\u5148\u6267\u884C watcha auth login\uFF1B\u82E5\u5DF2\u767B\u5F55\uFF0Ctoken \u53EF\u80FD\u5DF2\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF08\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A 5 \u4E2A\u767B\u5F55\u6001\uFF09"};if(e==="TOO_MANY_REQUEST"||t.status===429)return{type:"rate_limited",hint:"\u89E6\u53D1\u9650\u6D41\uFF0C\u7A0D\u540E\u518D\u8BD5"};if(e==="IP_BANNED"||e==="RISK_REJECTED")return{type:"forbidden"};if(e==="FORBIDDEN"||t.status===403)return{type:"forbidden",hint:Ti.find(i=>i.type==="forbidden"&&i.pattern.test(n))?.hint};for(let r of Ti)if(r.pattern.test(n))return{type:r.type,hint:r.hint};return t.status>=500?{type:"server"}:t.status===404?{type:"not_found"}:{type:"api"}}function Se(t){return t instanceof A}function fe(t){if(Se(t))return t;if(t instanceof Error){let e=t,n=e.cause?.code,r=["ECONNREFUSED","ENOTFOUND","ECONNRESET","ETIMEDOUT","EAI_AGAIN","UND_ERR_CONNECT_TIMEOUT","UND_ERR_SOCKET"];return e.name==="AbortError"||e.code&&r.includes(e.code)||n&&r.includes(n)||/fetch failed/i.test(e.message)?new A({type:"network",message:`\u7F51\u7EDC\u9519\u8BEF\uFF1A${e.message}${n?` (${n})`:""}`,hint:"\u68C0\u67E5\u7F51\u7EDC\u6216 WATCHA_BASE_URL \u914D\u7F6E",cause:t}):new A({type:"internal",message:e.message,cause:t})}return new A({type:"internal",message:String(t)})}var sa={"claude-code":"Claude Code",codex:"Codex",cursor:"Cursor",openclaw:"OpenClaw",copilot:"GitHub Copilot CLI",opencode:"OpenCode","gemini-cli":"Gemini CLI",cline:"Cline",goose:"Goose",amp:"Amp",generic:"AI agent"};function Ai(t){let e=(t||"").trim().toLowerCase();return e?e.startsWith("claude")?"claude-code":e.startsWith("codex")?"codex":e.startsWith("cursor")?"cursor":e.startsWith("openclaw")?"openclaw":e.startsWith("copilot")?"copilot":e.startsWith("opencode")?"opencode":e.startsWith("gemini")?"gemini-cli":e.startsWith("cline")?"cline":e.startsWith("goose")?"goose":e.startsWith("amp")?"amp":"generic":null}function Oi(t=process.env){let e=null;return t.CLAUDECODE==="1"||t.CLAUDE_CODE_CHILD_SESSION==="1"?e="claude-code":t.CODEX_SANDBOX||t.CODEX_SANDBOX_NETWORK_DISABLED||t.CODEX_THREAD_ID||t.CODEX_CI?e="codex":t.CURSOR_AGENT||t.CURSOR_TRACE_ID?e="cursor":t.OPENCLAW_SHELL?e="openclaw":t.COPILOT_MODEL||t.COPILOT_ALLOW_ALL?e="copilot":t.OPENCODE||t.OPENCODE_CLIENT?e="opencode":t.GEMINI_CLI?e="gemini-cli":t.CLINE_ACTIVE?e="cline":t.GOOSE_PROVIDER?e="goose":e=Ai(t.AGENT)??Ai(t.AI_AGENT),{host:e,label:e?sa[e]:"",networkDisabled:!!t.CODEX_SANDBOX_NETWORK_DISABLED}}function gr(t=process.env){if(t.CODEX_SANDBOX_NETWORK_DISABLED)throw new A({type:"network",message:"Codex \u6C99\u7BB1\u5DF2\u7981\u7528\u7F51\u7EDC\u8BBF\u95EE\uFF0C\u65E0\u6CD5\u8BF7\u6C42\u89C2\u7339",hint:"Codex \u9ED8\u8BA4\u65AD\u7F51\u3002\u4E34\u65F6\u653E\u5F00\uFF1Acodex -c 'sandbox_workspace_write.network_access=true'\uFF1B\u957F\u671F\u653E\u5F00\uFF1A\u5728 ~/.codex/config.toml \u52A0 [sandbox_workspace_write] network_access = true"})}function Xt(t){let e=t.split(".");if(e.length<2)return null;try{let n=Buffer.from(e[1].replace(/-/g,"+").replace(/_/g,"/"),"base64").toString("utf8");return JSON.parse(n)}catch{return null}}function Pi(t,e=30,n=Date.now()){let r=Xt(t);return!r||typeof r.exp!="number"?!0:r.exp*1e3<=n+e*1e3}function Ge(t){let e=Xt(t);return!e||typeof e.exp!="number"?null:new Date(e.exp*1e3)}var ze=class extends Error{constructor(n){super("dry-run");this.request=n;this.name="DryRunSignal"}request},Tn=class{baseUrl;store;dryRun;userAgent;debug;cached;refreshing=null;constructor(e){this.baseUrl=e.baseUrl.replace(/\/+$/,""),this.store=e.credentials,this.dryRun=!!e.dryRun,this.userAgent=e.userAgent||"watcha-cli",this.debug=e.debug}buildUrl(e,n){let r=new URL(e.startsWith("http")?e:`${this.baseUrl}/${e.replace(/^\/+/,"")}`);if(n){for(let[i,o]of Object.entries(n))if(!(o==null||o===""))if(Array.isArray(o))for(let s of o)r.searchParams.append(i,String(s));else r.searchParams.set(i,String(o))}return r.toString()}async currentCredentials(){if(this.cached!==void 0)return this.cached;let{credentials:e}=await this.store.load();return this.cached=e,e}async loadCredentials(){let e=await this.store.load();return this.cached=e.credentials,e}async setCredentials(e){this.cached=e,await this.store.save(e)}async clearCredentials(){this.cached=null,await this.store.clear()}async accessToken(e){let n=await this.currentCredentials();if(!n||!n.accessToken&&!n.refreshToken){if(e)throw new A({type:"auth",message:"\u5C1A\u672A\u767B\u5F55",hint:"\u6267\u884C watcha auth login\uFF08\u9ED8\u8BA4\u5FAE\u4FE1\u626B\u7801\uFF09\uFF0C\u6216\u8BBE\u7F6E WATCHA_REFRESH_TOKEN"});return null}if(n.accessToken&&!Pi(n.accessToken))return n.accessToken;if(!n.refreshToken){if(e)throw new A({type:"auth",message:"access token \u5DF2\u8FC7\u671F\u4E14\u6CA1\u6709 refresh token",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});return null}let r=await this.refresh();if(!r){if(e)throw new A({type:"auth",message:"\u5237\u65B0\u767B\u5F55\u6001\u5931\u8D25",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});return null}return r.accessToken}async refresh(){if(this.refreshing)return this.refreshing;this.refreshing=(async()=>{let e=await this.currentCredentials();if(!e?.refreshToken)return null;let n=this.buildUrl("/auth/access-token");gr(),this.debug?.(`POST ${n} (refresh)`);let r;try{r=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":this.userAgent},body:JSON.stringify({refresh_token:e.refreshToken}),signal:AbortSignal.timeout(3e4)})}catch(a){throw fe(a)}let i=await qi(r);if(!r.ok||!i?.data?.access_token){let a=hr({status:r.status,code:i?.code,message:i?.message});throw new A({type:"auth",message:i?.message||`\u5237\u65B0\u767B\u5F55\u6001\u5931\u8D25 (HTTP ${r.status})`,code:i?.code||void 0,status:r.status,hint:a.type==="auth"?"refresh token \u5DF2\u5931\u6548\uFF1A\u53EF\u80FD\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF08\u6BCF\u8D26\u53F7 5 \u4E2A\uFF09\u6216\u8D85\u8FC7 30 \u5929\uFF0C\u91CD\u65B0 watcha auth login":a.hint})}let o=Xt(i.data.access_token),s={...e,accessToken:i.data.access_token,refreshToken:i.data.refresh_token||e.refreshToken,userId:e.userId??(typeof o?.id=="number"?o.id:void 0),username:e.username??(typeof o?.username=="string"?o.username:void 0),nickname:e.nickname??(typeof o?.nickname=="string"?o.nickname:void 0),savedAt:new Date().toISOString()};return await this.setCredentials(s),s})();try{return await this.refreshing}finally{this.refreshing=null}}async request(e,n,r={}){let i=await this.send(e,n,r,!0);return await this.parseEnvelope(i,e,n)}async download(e,n,r={}){let i=await this.send(e,n,{...r,headers:{Accept:"*/*",...r.headers||{}}},!0),o=i.headers.get("content-type")||"application/octet-stream";if(!i.ok||o.includes("application/json"))throw await this.parseEnvelope(i,e,n),new A({type:"api",message:`${e.toUpperCase()} ${n} \u6CA1\u6709\u8FD4\u56DE\u6587\u4EF6`,hint:"\u540E\u7AEF\u53EF\u80FD\u6539\u4E86\u8FD9\u4E2A\u63A5\u53E3\u7684\u8FD4\u56DE\u5F62\u6001"});return{buffer:Buffer.from(await i.arrayBuffer()),filename:aa(i.headers.get("content-disposition")),contentType:o}}async open(e,n,r={}){let i=await this.send(e,n,{...r,stream:!0},!0);return i.ok||await this.parseEnvelope(i,e,n),i}async send(e,n,r,i){let o=r.auth||"optional",s=o==="none"?null:await this.accessToken(o==="required"),a=this.buildUrl(n,r.query),u={Accept:r.stream?"text/event-stream":"application/json","User-Agent":this.userAgent,...r.headers||{}};s&&(u.Authorization=`Bearer ${s}`),r.stream&&(u["Cache-Control"]="no-cache");let l;if(r.rawBody!==void 0?l=r.rawBody:r.body!==void 0&&(u["Content-Type"]="application/json",l=JSON.stringify(r.body)),this.dryRun&&e.toUpperCase()!=="GET")throw new ze({method:e.toUpperCase(),url:a,headers:ua(u),body:r.body});gr(),this.debug?.(`${e.toUpperCase()} ${a}`);let c;try{c=await fetch(a,{method:e.toUpperCase(),headers:u,body:l,signal:r.stream?void 0:AbortSignal.timeout(r.timeoutMs??3e4)})}catch(d){throw fe(d)}return c.status===401&&s&&i&&(await this.currentCredentials())?.refreshToken&&(await c.body?.cancel().catch(()=>{}),await this.refresh().catch(()=>null))?this.send(e,n,r,!1):c}async parseEnvelope(e,n,r){let s=(e.headers.get("content-type")||"").includes("application/json")?await qi(e):null,a=s?.statusCode;if(e.ok&&(a===void 0||a>=200&&a<300))return s&&"data"in s?s.data:s||(e.status===204?void 0:await e.text().catch(()=>""));let l=a&&a>=400?a:e.status,c=hr({status:l,code:s?.code,message:s?.message,captchaContext:s?.captchaContext}),d=s?"":await e.text().catch(()=>"");throw new A({type:c.type,status:l,code:s?.code||void 0,message:s?.message||d.slice(0,300)||`${n.toUpperCase()} ${r} \u5931\u8D25 (HTTP ${e.status})`,hint:c.hint,details:s?.captchaContext?{captchaContext:s.captchaContext}:void 0})}};function aa(t){if(!t)return;let e=/filename\*=(?:UTF-8'')?([^;]+)/i.exec(t);if(e)return decodeURIComponent(e[1].trim().replace(/^"|"$/g,""));let n=/filename="?([^";]+)"?/i.exec(t);return n?n[1].trim():void 0}async function qi(t){try{return await t.json()}catch{return null}}function ua(t){let e={...t};return e.Authorization&&(e.Authorization="Bearer <redacted>"),e}import wr from"node:fs";import An from"node:path";import{fileURLToPath as ca}from"node:url";var Ii="watcha-cli",yr=null;function kr(){if(yr)return yr;let t=An.dirname(ca(import.meta.url));for(;;){let e=An.join(t,"package.json");if(wr.existsSync(e))try{if(JSON.parse(wr.readFileSync(e,"utf8")).name===Ii)return yr=t,t}catch{}let n=An.dirname(t);if(n===t)throw new Error(`\u627E\u4E0D\u5230 ${Ii} \u7684 package.json`);t=n}}function Qe(...t){return An.join(kr(),...t)}function Ri(){try{return JSON.parse(wr.readFileSync(Qe("package.json"),"utf8")).version}catch{return"0.0.0"}}import{spawn as la}from"node:child_process";import Ni from"node:fs";import da from"node:path";var pa="https://registry.npmjs.org/watcha-cli/latest",ma=7200*1e3,fa=7200*1e3,ha=5e3;function Li(){return da.join(kt(),"update-check.json")}function ga(t,e){let n=o=>{let s=/^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(o.trim());return s?{nums:[Number(s[1]),Number(s[2]),Number(s[3])],pre:s[4]||""}:null},r=n(t),i=n(e);if(!r||!i)return 0;for(let o=0;o<3;o++)if(r.nums[o]!==i.nums[o])return r.nums[o]<i.nums[o]?-1:1;return r.pre===i.pre?0:r.pre?i.pre?r.pre<i.pre?-1:1:-1:1}function br(t=process.env,e=ya()){return t.WATCHA_NO_UPDATE_CHECK||t.CI||t.CODEX_SANDBOX_NETWORK_DISABLED?!0:/[\\/]_npx[\\/]/.test(e)}function ya(){try{return kr()}catch{return""}}function _r(){try{return JSON.parse(Ni.readFileSync(Li(),"utf8"))}catch{return{}}}function On(t){try{pe(),Ni.writeFileSync(Li(),JSON.stringify({..._r(),...t}),{mode:384})}catch{}}function Mi(t,e){return!t.latest||ga(e,t.latest)>=0?null:{current:e,latest:t.latest,upgrade:`npm i -g watcha-cli@${t.latest}`}}function wa(t,e=Date.now()){return!t.checkedAt||e-t.checkedAt>=ma}function Di(t,e=Date.now()){return!t.notifiedAt||e-t.notifiedAt>=fa}function Ui(t){if(!(br()||!wa(t))){On({checkedAt:Date.now()});try{let e=process.argv[1];if(!e)return;la(process.execPath,[e,"__update-check"],{detached:!0,stdio:"ignore"}).unref()}catch{}}}async function Wi(){try{let t=await fetch(pa,{headers:{accept:"application/json"},signal:AbortSignal.timeout(ha)});if(!t.ok)return;let e=(await t.json()).version;typeof e=="string"&&e&&On({checkedAt:Date.now(),latest:e})}catch{}}var Z={postTitleMaxWidth:32,postContentMaxWidth:2e4,postMaxImages:18,postMaxInlineFigures:50,reviewMinWidth:15,reviewMaxImages:18,replyMaxImages:9,topicMaxCount:3};function ka(t){return t===0||t<32||t>=127&&t<160||ba(t)||t===8203||t===8204||t===8205||t===65279?0:_a(t)?2:1}function ba(t){return t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65024&&t<=65039||t>=65056&&t<=65071||t>=917760&&t<=917999}function _a(t){return t>=4352&&t<=4447||t===9001||t===9002||t>=8986&&t<=8987||t>=9193&&t<=9196||t===9200||t===9203||t>=9725&&t<=9726||t>=9748&&t<=9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t>=9898&&t<=9899||t>=9917&&t<=9918||t>=9924&&t<=9925||t===9934||t===9940||t===9962||t>=9970&&t<=9971||t===9973||t===9978||t===9981||t===9989||t>=9994&&t<=9995||t===10024||t===10060||t===10062||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t>=11035&&t<=11036||t===11088||t===11093||t>=11904&&t<=12350||t>=12353&&t<=13311||t>=13312&&t<=19903||t>=19968&&t<=40959||t>=40960&&t<=42191||t>=43360&&t<=43391||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65135||t>=65280&&t<=65376||t>=65504&&t<=65510||t>=94176&&t<=94180||t>=94208&&t<=101119||t>=110592&&t<=111359||t>=126980&&t<=126980||t===127183||t===127374||t>=127377&&t<=127386||t>=127488&&t<=127569||t>=127744&&t<=128591||t>=128640&&t<=128767||t>=129280&&t<=129535||t>=129648&&t<=129791||t>=131072&&t<=262141}function Ht(t){let e=0;for(let n of t)e+=ka(n.codePointAt(0)??0);return e}function Ee(t){return Math.ceil(Ht(t)/2)}function xr(t,e){e(t);for(let n of t.content||[])xr(n,e)}function te(t){let e=0;return xr(t,n=>{if(n.type==="text"&&typeof n.text=="string")e+=Ht(n.text);else if((n.type==="mention"||n.type==="topic")&&n.attrs){let r=n.attrs.label??n.attrs.name;typeof r=="string"&&(e+=Ht(r))}}),Math.ceil(e/2)}function Zt(t){let e=[],n="",r=new Set(["paragraph","heading","codeBlock","blockquote","listItem","horizontalRule","figure"]),i=o=>{if(o.type==="text")n+=o.text||"";else if(o.type==="hardBreak")n+=`
32
+ `;else if(o.type==="mention"&&o.attrs){let s=o.attrs.label??o.attrs.name??o.attrs.id;n+=`@${String(s??"")}`}else o.type==="figure"&&o.attrs?.src&&(n+=`[\u56FE\u7247 ${String(o.attrs.src)}]`);for(let s of o.content||[])i(s);r.has(o.type)&&(e.push(n),n="")};return i(t),n&&e.push(n),e.join(`
37
33
  `).replace(/\n{3,}/g,`
38
34
 
39
- `).trim()}function bi(e){let t=[];return Xn(e,n=>{n.type==="figure"&&typeof n.attrs?.src=="string"&&t.push(n.attrs.src)}),t}function ki(e){return!!e&&typeof e=="object"&&e.type==="doc"&&Array.isArray(e.content)}function $e(e){if(ki(e))return{doc:e,text:je(e)};if(typeof e=="string"){let t=e.trim();if(t.startsWith("{"))try{let n=JSON.parse(t);if(ki(n))return{doc:n,text:je(n)}}catch{}return{doc:null,text:e}}return{doc:null,text:""}}var xi=["json","pretty","ndjson","table"];function yn(e){return typeof e=="string"&&xi.includes(e)}function Ci(e){if(e.json)return"json";if(e.format!==void 0){if(!yn(e.format))throw new v({type:"validation",message:`--format \u53EA\u80FD\u662F ${xi.join(" / ")}\uFF0C\u6536\u5230 "${e.format}"`});return e.format}let t=(process.env.WATCHA_FORMAT||"").toLowerCase();return yn(t)?t:Be()?"pretty":"json"}function Zn(e,t=process.env,n=Be()){if(e.includes("--json"))return"json";for(let i=0;i<e.length;i++){let o=e[i],s=o.startsWith("--format=")?o.slice(9):o==="--format"?e[i+1]:void 0;if(s!==void 0)return yn(s)?s:"json"}let r=(t.WATCHA_FORMAT||"").toLowerCase();return yn(r)?r:n?"pretty":"json"}function _i(e,t){let n=process.stdout;switch(t){case"json":n.write(JSON.stringify({ok:!0,data:e.data,...e.meta?{meta:e.meta}:{}},null,2)+`
40
- `);return;case"ndjson":{let r=Array.isArray(e.data)?e.data:[e.data];for(let i of r)n.write(JSON.stringify(i)+`
41
- `);return}case"table":if(e.table){n.write(_s(e.table.columns,e.table.rows(e.data))+`
42
- `);return}default:e.pretty?n.write(e.pretty(e.data).replace(/\n?$/,`
43
- `)):n.write(JSON.stringify(e.data,null,2)+`
44
- `)}}function Si(e,t){let n={ok:!0,data:{dry_run:!0,request:e.request}};t==="pretty"||t==="table"?process.stdout.write(`[dry-run] \u672A\u6267\u884C\uFF0C\u5C06\u53D1\u9001\uFF1A
45
- ${JSON.stringify(e.request,null,2)}
35
+ `).trim()}function Ji(t){let e=[];return xr(t,n=>{n.type==="figure"&&typeof n.attrs?.src=="string"&&e.push(n.attrs.src)}),e}function Fi(t){return!!t&&typeof t=="object"&&t.type==="doc"&&Array.isArray(t.content)}function Et(t){if(Fi(t))return{doc:t,text:Zt(t)};if(typeof t=="string"){let e=t.trim();if(e.startsWith("{"))try{let n=JSON.parse(e);if(Fi(n))return{doc:n,text:Zt(n)}}catch{}return{doc:null,text:t}}return{doc:null,text:""}}var Bi=["json","pretty","ndjson","table"];function Pn(t){return typeof t=="string"&&Bi.includes(t)}function ji(t){if(t.json)return"json";if(t.format!==void 0){if(!Pn(t.format))throw new A({type:"validation",message:`--format \u53EA\u80FD\u662F ${Bi.join(" / ")}\uFF0C\u6536\u5230 "${t.format}"`});return t.format}let e=(process.env.WATCHA_FORMAT||"").toLowerCase();return Pn(e)?e:Yt()?"pretty":"json"}function Cr(t,e=process.env,n=Yt()){if(t.includes("--json"))return"json";for(let i=0;i<t.length;i++){let o=t[i],s=o.startsWith("--format=")?o.slice(9):o==="--format"?t[i+1]:void 0;if(s!==void 0)return Pn(s)?s:"json"}let r=(e.WATCHA_FORMAT||"").toLowerCase();return Pn(r)?r:n?"pretty":"json"}function Vi(t,e){let n=process.stdout;switch(e){case"json":n.write(JSON.stringify({ok:!0,data:t.data,...t.meta?{meta:t.meta}:{}},null,2)+`
36
+ `);return;case"ndjson":{let r=Array.isArray(t.data)?t.data:[t.data];for(let i of r)n.write(JSON.stringify(i)+`
37
+ `);return}case"table":if(t.table){n.write(xa(t.table.columns,t.table.rows(t.data))+`
38
+ `);return}default:t.pretty?n.write(t.pretty(t.data).replace(/\n?$/,`
39
+ `)):n.write(JSON.stringify(t.data,null,2)+`
40
+ `)}}function Hi(t,e){let n={ok:!0,data:{dry_run:!0,request:t.request}};e==="pretty"||e==="table"?process.stdout.write(`[dry-run] \u672A\u6267\u884C\uFF0C\u5C06\u53D1\u9001\uFF1A
41
+ ${JSON.stringify(t.request,null,2)}
46
42
  `):process.stdout.write(JSON.stringify(n,null,2)+`
47
- `)}function Mt(e,t){let n=tt(e),r={ok:!1,error:n.toJSON()};if(t==="pretty"||t==="table"){let i=`\u9519\u8BEF [${n.type}${n.code?`/${n.code}`:""}${n.status?` HTTP ${n.status}`:""}]\uFF1A${n.message}`;n.hint&&(i+=`
43
+ `)}function Ke(t,e){let n=fe(t),r={ok:!1,error:n.toJSON()};if(e==="pretty"||e==="table"){let i=`\u9519\u8BEF [${n.type}${n.code?`/${n.code}`:""}${n.status?` HTTP ${n.status}`:""}]\uFF1A${n.message}`;n.hint&&(i+=`
48
44
  \u63D0\u793A\uFF1A${n.hint}`),process.stderr.write(i+`
49
45
  `),process.env.WATCHA_DEBUG&&n.cause&&process.stderr.write(String(n.cause.stack||n.cause)+`
50
46
  `)}else process.stderr.write(JSON.stringify(r)+`
51
- `);return n.exitCode}function ee(e,t={}){t.quiet||process.stderr.write(e.replace(/\n?$/,`
52
- `))}function Nt(e){return new v({type:"confirmation_required",message:`${e} \u9700\u8981\u786E\u8BA4`,hint:"\u5728\u539F\u547D\u4EE4\u672B\u5C3E\u52A0 --yes \u518D\u6267\u884C\uFF08agent \u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\u5C06\u8981\u6267\u884C\u7684\u64CD\u4F5C\u6216\u53D1\u5E03\u7684\u5185\u5BB9\uFF0C\u83B7\u5F97\u540C\u610F\u540E\u518D\u52A0\uFF09",details:{action:e}})}function _s(e,t){let n=t.map(a=>e.map(d=>Ss(a[d.key]))),r=e.map((a,d)=>{let l=Math.max(Ne(a.title),...n.map(u=>Ne(u[d])));return a.width?Math.min(a.width,l):l}),i=a=>a.map((d,l)=>{let u=Ei(d,r[l]),p=r[l]-Ne(u);return e[l].align==="right"?" ".repeat(p)+u:u+" ".repeat(p)}).join(" "),o=i(e.map(a=>a.title)),s=r.map(a=>"-".repeat(a)).join(" ");return[o,s,...n.map(i)].join(`
53
- `)}function Ss(e){return e==null?"":typeof e=="object"?JSON.stringify(e):String(e).replace(/\s+/g," ")}function Ei(e,t){if(Ne(e)<=t)return e;let n="",r=0;for(let i of e){let o=Ne(i);if(r+o>t-1)break;n+=i,r+=o}return n+"\u2026"}function J(e){return typeof e!="number"?e==null?"-":String(e):e.toLocaleString("zh-CN")}function se(e){if(!e)return"-";let t=typeof e=="number"?new Date(e>1e12?e:e*1e3):new Date(String(e));if(Number.isNaN(t.getTime()))return String(e);let n=r=>String(r).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function Dt(e,...t){if(e)for(let n of t){let r=n.split(".").reduce((i,o)=>i&&typeof i=="object"?i[o]:void 0,e);if(r!=null)return r}}function C(e,t="-"){return e==null||e===""?t:String(e)}function X(e,t=120){return Ei(e.replace(/\s+/g," ").trim(),t)}var gt=ci();function Es(e){let t=e.optsWithGlobals();return{format:t.format,json:t.json,profile:t.profile,dryRun:t.dryRun,yes:t.yes,quiet:t.quiet,debug:t.debug,baseUrl:t.baseUrl}}function Ts(e){let t=Es(e),n=Kr(t.profile);t.baseUrl&&(n.baseUrl=t.baseUrl.replace(/\/+$/,""));let r=new gn({baseUrl:n.baseUrl,credentials:new fn(n.name),dryRun:t.dryRun,userAgent:`watcha-cli/${gt} (+https://watcha.cn)`,debug:t.debug||process.env.WATCHA_DEBUG?i=>process.stderr.write(`[debug] ${i}
54
- `):void 0});return{opts:t,format:Ci(t),profile:n,client:r,siteUrl:n.siteUrl}}function _(e,t){return(async()=>{let n="json";try{let r=Ts(e);n=r.format;let i=await t(r);i&&_i(i,n),process.exitCode=0}catch(r){if(r instanceof Lt){Si(r,n),process.exitCode=0;return}process.exitCode=Mt(r,n)}})()}function G(e){let t=er(e.limit,"--limit",20,1,100),n=er(e.skip,"--skip",0,0,Number.MAX_SAFE_INTEGER);return e.page!==void 0&&(n=(er(e.page,"--page",1,1,Number.MAX_SAFE_INTEGER)-1)*t),{skip:n,limit:t}}function er(e,t,n,r,i){if(e==null||e==="")return n;let o=typeof e=="number"?e:Number(String(e).trim());if(!Number.isInteger(o))throw new v({type:"validation",message:`${t} \u5FC5\u987B\u662F\u6574\u6570\uFF0C\u6536\u5230 "${String(e)}"`});if(o<r||o>i){let s=Math.min(i,Math.max(r,o));return ee(`${t} ${o} \u8D85\u51FA ${r}-${i===Number.MAX_SAFE_INTEGER?"\u221E":i}\uFF0C\u6309 ${s} \u5904\u7406`),s}return o}function yt(e,t,n,r){let i=typeof e=="number"?e:parseInt(String(e??""),10);return Number.isFinite(i)?Math.min(r,Math.max(n,i)):t}function L(e,t){return new v({type:"validation",message:e,hint:t})}function Wt(e,t,n){let r=e.commands.find(o=>o.name()===t);if(r)return r;let i=e.command(t);return n&&i.description(n),i}function Ti(e,t,n){let r=e.count??e.items?.length??0,i=typeof e.total=="number"&&e.total>0?`/${J(e.total)}`:"",o=r>=n?` \uFF08\u8FD8\u6709\u66F4\u591A\uFF1A--skip ${t+n}\uFF09`:"";return`\u2014 ${J(r)} \u6761${i}\uFF0Cskip=${t} limit=${n}${o}`}function wn(e){return typeof e=="number"?e.toFixed(1):"\u672A\u51FA\u5206"}function xe(e,t){let n=e.stats||{},r=Array.isArray(e.categories)?e.categories.map(i=>C(i.name)).join("/"):"";return[`#${C(e.id)} ${C(e.name)}${e.slogan?` \u2014 ${X(String(e.slogan),50)}`:""}`,` \u8BC4\u5206 ${wn(n.score)} \xB7 \u7339\u8BC4 ${J(n.review_count)} \xB7 \u8D5E ${J(n.upvotes)} \xB7 \u6536\u85CF ${J(n.stars)}${r?` \xB7 ${r}`:""}`,` ${t}/products/${C(e.slug,String(e.id))}`].join(`
55
- `)}function tr(e,t){let n=e.stats||{},r=$e(e.description).text;return[`${C(e.name)} (#${C(e.id)} \xB7 ${C(e.slug)})`,e.slogan?String(e.slogan):"",`\u7EC4\u7EC7\uFF1A${C(e.organization)} \u72B6\u6001\uFF1A${C(e.status)}`,`\u8BC4\u5206 ${wn(n.score)} \xB7 \u7339\u8BC4 ${J(n.review_count)} \xB7 \u5E16\u5B50 ${J(n.post_count)} \xB7 \u8D5E ${J(n.upvotes)} \xB7 \u6536\u85CF ${J(n.stars)}`,`\u5206\u7C7B\uFF1A${Array.isArray(e.categories)?e.categories.map(o=>C(o.name)).join(" / "):"-"}`,e.website_url?`\u5B98\u7F51\uFF1A${String(e.website_url)}`:"",`\u9875\u9762\uFF1A${t}/products/${C(e.slug,String(e.id))}`,r?`
47
+ `);return n.exitCode}function V(t,e={}){e.quiet||process.stderr.write(t.replace(/\n?$/,`
48
+ `))}function Ye(t){return new A({type:"confirmation_required",message:`${t} \u9700\u8981\u786E\u8BA4`,hint:"\u5728\u539F\u547D\u4EE4\u672B\u5C3E\u52A0 --yes \u518D\u6267\u884C\uFF08agent \u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\u5C06\u8981\u6267\u884C\u7684\u64CD\u4F5C\u6216\u53D1\u5E03\u7684\u5185\u5BB9\uFF0C\u83B7\u5F97\u540C\u610F\u540E\u518D\u52A0\uFF09",details:{action:t}})}function xa(t,e){let n=e.map(a=>t.map(u=>Ca(a[u.key]))),r=t.map((a,u)=>{let l=Math.max(Ht(a.title),...n.map(c=>Ht(c[u])));return a.width?Math.min(a.width,l):l}),i=a=>a.map((u,l)=>{let c=Gi(u,r[l]),d=r[l]-Ht(c);return t[l].align==="right"?" ".repeat(d)+c:c+" ".repeat(d)}).join(" "),o=i(t.map(a=>a.title)),s=r.map(a=>"-".repeat(a)).join(" ");return[o,s,...n.map(i)].join(`
49
+ `)}function Ca(t){return t==null?"":typeof t=="object"?JSON.stringify(t):String(t).replace(/\s+/g," ")}function Gi(t,e){if(Ht(t)<=e)return t;let n="",r=0;for(let i of t){let o=Ht(i);if(r+o>e-1)break;n+=i,r+=o}return n+"\u2026"}function K(t){return typeof t!="number"?t==null?"-":String(t):t.toLocaleString("zh-CN")}function mt(t){if(!t)return"-";let e=typeof t=="number"?new Date(t>1e12?t:t*1e3):new Date(String(t));if(Number.isNaN(e.getTime()))return String(t);let n=r=>String(r).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${n(e.getHours())}:${n(e.getMinutes())}`}function Te(t,...e){if(t)for(let n of e){let r=n.split(".").reduce((i,o)=>i&&typeof i=="object"?i[o]:void 0,t);if(r!=null)return r}}function w(t,e="-"){return t==null||t===""?e:String(t)}function F(t,e=120){return Gi(t.replace(/\s+/g," ").trim(),e)}var he=Ri();function va(t){let e=t.optsWithGlobals();return{format:e.format,json:e.json,profile:e.profile,dryRun:e.dryRun,yes:e.yes,quiet:e.quiet,debug:e.debug,baseUrl:e.baseUrl}}function $a(t){let e=va(t),n=Ci(e.profile);e.baseUrl&&(n.baseUrl=e.baseUrl.replace(/\/+$/,""));let r=new Tn({baseUrl:n.baseUrl,credentials:new En(n.name),dryRun:e.dryRun,userAgent:`watcha-cli/${he} (+https://watcha.cn)`,debug:e.debug||process.env.WATCHA_DEBUG?i=>process.stderr.write(`[debug] ${i}
50
+ `):void 0});return{opts:e,format:ji(e),profile:n,client:r,siteUrl:n.siteUrl}}function _(t,e){return(async()=>{let n="json",r=br()?{}:_r();try{let i=$a(t);n=i.format;let o=await e(i);o&&Vi(Sa(o,r,n,i.opts),n),process.exitCode=0}catch(i){if(i instanceof ze){Hi(i,n),process.exitCode=0;return}process.exitCode=Ke(i,n)}finally{Ui(r)}})()}function Sa(t,e,n,r){let i=Mi(e,he);return i?(n==="pretty"&&Di(e)&&(On({notifiedAt:Date.now()}),V(`watcha-cli \u6709\u65B0\u7248\u672C ${i.latest}\uFF08\u5F53\u524D ${i.current}\uFF09\uFF1A${i.upgrade}`,r)),{...t,meta:{...t.meta||{},update_available:i}}):t}function B(t){let e=Ae(t.limit,"--limit",20,1,100),n=Ae(t.skip,"--skip",0,0,Number.MAX_SAFE_INTEGER);return t.page!==void 0&&(n=(Ae(t.page,"--page",1,1,Number.MAX_SAFE_INTEGER)-1)*e),{skip:n,limit:e}}function Ae(t,e,n,r,i){if(t==null||t==="")return n;let o=typeof t=="number"?t:Number(String(t).trim());if(!Number.isInteger(o))throw new A({type:"validation",message:`${e} \u5FC5\u987B\u662F\u6574\u6570\uFF0C\u6536\u5230 "${String(t)}"`});if(o<r||o>i){let s=Math.min(i,Math.max(r,o));return V(`${e} ${o} \u8D85\u51FA ${r}-${i===Number.MAX_SAFE_INTEGER?"\u221E":i}\uFF0C\u6309 ${s} \u5904\u7406`),s}return o}function Oe(t,e,n,r){let i=typeof t=="number"?t:parseInt(String(t??""),10);return Number.isFinite(i)?Math.min(r,Math.max(n,i)):e}function Mt(t,e){let n=Number(t);if(!Number.isInteger(n))throw new A({type:"validation",message:`${e} \u5FC5\u987B\u662F\u6574\u6570\uFF0C\u6536\u5230 "${t}"`});return n}function b(t,e){return new A({type:"validation",message:t,hint:e})}function Gt(t,e,n){let r=t.commands.find(o=>o.name()===e);if(r)return r;let i=t.command(e);return n&&i.description(n),i}var Ta=/^1[3-9]\d{9}$/,Aa=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,zi=2e3;function Qi(t,e){let n=t.indexOf("=");if(n<=0)throw b(`${e} \u8981\u5199\u6210 <\u952E>=<\u503C>\uFF0C\u6536\u5230 "${t}"`);return{key:t.slice(0,n).trim(),value:t.slice(n+1)}}function qn(t){let e=t.config||{},n=Array.isArray(e.fields)?e.fields:[],r=Array.isArray(e.questions)?e.questions:[];return{fields:n,questions:r}}function Ki(t,e){let n=e.find(i=>i.id===t);if(n)return n;if(/^\d+$/.test(t)){let i=e[Number(t)-1];if(!i)throw b(`\u6CA1\u6709\u7B2C ${t} \u9053\u95EE\u9898`,`\u8FD9\u4E2A\u6D3B\u52A8\u4E00\u5171 ${e.length} \u9053\u95EE\u9898\uFF0C\u7528 watcha activity form \u770B`);return i}let r=e.filter(i=>i.title.startsWith(t));if(r.length===1)return r[0];throw r.length>1?b(`"${t}" \u5339\u914D\u5230\u591A\u9053\u95EE\u9898`,`\u5019\u9009\uFF1A${r.map(i=>i.title).join(" / ")}\uFF1B\u6539\u7528\u9898\u53F7\u6216 question_id`):b(`\u627E\u4E0D\u5230\u95EE\u9898 "${t}"`,"\u7528 watcha activity form <\u6D3B\u52A8> \u770B\u9898\u53F7\u3001\u6807\u9898\u548C question_id")}function Yi(t,e){if(!e.trim())throw b(`--field ${t} \u7684\u503C\u4E0D\u80FD\u4E3A\u7A7A`);if(t==="phone"&&!Ta.test(e.trim()))throw b(`\u624B\u673A\u53F7 "${e}" \u683C\u5F0F\u4E0D\u5BF9`,"\u540E\u7AEF\u6309\u4E2D\u56FD\u5927\u9646\u89C4\u5219\u6821\u9A8C\uFF1A1 \u5F00\u5934\u7684 11 \u4F4D\u6570\u5B57");if(t==="email"&&!Aa.test(e.trim()))throw b(`\u90AE\u7BB1 "${e}" \u683C\u5F0F\u4E0D\u5BF9`)}function Xi(t){return t.type==="single_choice"||t.type==="multi_choice"}function Xe(t,e){let n=t.options||[];if(Xi(t)){if(e.text!==void 0)throw b(`\u300C${t.title}\u300D\u662F\u9009\u9879\u9898\uFF0C\u7B54\u6848\u8981\u653E\u5728 choices \u91CC`);let i=(Array.isArray(e.choices)?e.choices:[]).map(o=>String(o).trim()).filter(Boolean);if(!i.length)throw b(`\u300C${t.title}\u300D\u6CA1\u7ED9\u7B54\u6848`);if(t.type==="single_choice"&&i.length>1)throw b(`\u300C${t.title}\u300D\u662F\u5355\u9009\uFF0C\u53EA\u80FD\u7ED9\u4E00\u4E2A\u7B54\u6848`);for(let o of i)if(!n.includes(o))throw b(`\u300C${t.title}\u300D\u6CA1\u6709\u9009\u9879 "${o}"`,`\u53EF\u9009\uFF1A${n.join(" / ")}`);return{choices:i}}if(e.choices!==void 0)throw b(`\u300C${t.title}\u300D\u662F\u6587\u672C\u9898\uFF0C\u7B54\u6848\u8981\u653E\u5728 text \u91CC`);let r=e.text===void 0?"":String(e.text);if(t.type==="long_text"&&r.length>zi)throw b(`\u300C${t.title}\u300D\u7684\u7B54\u6848 ${r.length} \u5B57\uFF0C\u8D85\u8FC7 ${zi} \u5B57\u4E0A\u9650`);if(!r.trim())throw b(`\u300C${t.title}\u300D\u6CA1\u7ED9\u7B54\u6848`);return{text:r}}function Zi(t,e){if(!Xi(t))return Xe(t,{text:e});let n=t.options||[],r=e.trim();if(t.type==="single_choice"){if(!n.includes(r)){let o=r.split(",").map(s=>s.trim()).filter(Boolean);if(o.length>1&&o.every(s=>n.includes(s)))throw b(`\u300C${t.title}\u300D\u662F\u5355\u9009\uFF0C\u53EA\u80FD\u7ED9\u4E00\u4E2A\u7B54\u6848`)}return Xe(t,{choices:[r]})}let i=n.includes(r)?[r]:e.split(",").map(o=>o.trim()).filter(Boolean);return Xe(t,{choices:i})}function Oa(t,e){let n=Array.isArray(t.ticket_types)?t.ticket_types:[],r=n.filter(i=>i.available!==!1);if(e!==void 0){let i=n.find(o=>String(o.id)===e.trim()||o.name===e.trim());if(!i)throw b(`\u6CA1\u6709\u7968\u6863 "${e}"`,n.length?`\u53EF\u9009\uFF1A${n.map(o=>`${o.id} ${o.name}`).join("\u3001")}`:"\u8FD9\u4E2A\u6D3B\u52A8\u6CA1\u6709\u53EF\u9009\u7968\u6863");return Number(i.id)}if(!r.length)throw b("\u8FD9\u4E2A\u6D3B\u52A8\u5F53\u524D\u6CA1\u6709\u53EF\u9009\u7684\u7968\u6863","\u53EF\u80FD\u662F\u552E\u5356\u65F6\u95F4\u6CA1\u5230\u6216\u5DF2\u622A\u6B62\uFF0C\u7528 watcha activity form \u770B\u552E\u5356\u65F6\u95F4");if(r.length>1)throw b("\u6709\u591A\u4E2A\u7968\u6863\uFF0C\u7528 --ticket \u6307\u5B9A\u4E00\u4E2A",r.map(i=>`${i.id} ${i.name}${i.require_approval?"\uFF08\u9700\u5BA1\u6838\uFF09":""}`).join("\u3001"));return Number(r[0].id)}function to(t,e,n){let{fields:r,questions:i}=qn(t),o=new Set(r.map(c=>c.type)),s=[],a=(c,d,p)=>{if(!o.has(c))throw b(`\u8FD9\u4E2A\u6D3B\u52A8\u4E0D\u6536 "${c}" \u5B57\u6BB5\uFF08${p}\uFF09`,r.length?`\u5B83\u8981\u586B\uFF1A${r.map(m=>m.type).join(" / ")}`:"\u5B83\u6CA1\u6709\u8981\u586B\u7684\u5B57\u6BB5");if(s.some(m=>m.type===c))throw b(`${c} \u7ED9\u4E86\u4E24\u6B21\uFF08${p}\uFF09`);Yi(c,d),s.push({type:c,value:d.trim()})};for(let c of n?.fieldValues||[]){let d=typeof c?.type=="string"?c.type.trim():"";if(!d)throw b("--form \u7684 field_values \u6BCF\u9879\u90FD\u8981\u6709 type",'\u5F62\u5982 {"type":"name","value":"\u5F20\u4E09"}');if(typeof c.value!="string"&&typeof c.value!="number")throw b(`--form \u7684 field_values \u91CC "${d}" \u7684 value \u8981\u662F\u5B57\u7B26\u4E32`);a(d,String(c.value),"--form")}for(let c of e.field||[]){let{key:d,value:p}=Qi(c,"--field");a(d,p,"--field")}let u=[],l=(c,d,p)=>{if(u.some(m=>m.question_id===c.id))throw b(`\u300C${c.title}\u300D\u7B54\u4E86\u4E24\u6B21\uFF08${p}\uFF09`);u.push({question_id:c.id,value:Xe(c,d)})};for(let c of n?.answers||[]){let d=typeof c?.question_id=="string"?c.question_id:"";if(!d)throw b("--form \u7684 question_answers \u6BCF\u9879\u90FD\u8981\u6709 question_id","\u7528 watcha activity form <\u6D3B\u52A8> \u770B question_id");let p=Ki(d,i),m=c.value||{};if(typeof m!="object")throw b(`\u300C${p.title}\u300D\u7684 value \u8981\u662F {"text":\u2026} \u6216 {"choices":[\u2026]}`);l(p,m,"--form")}for(let c of e.answer||[]){let{key:d,value:p}=Qi(c,"--answer"),m=Ki(d,i);l(m,Zi(m,p),"--answer")}for(let c of r)if(c.requirement==="required"&&!s.some(d=>d.type===c.type))throw b(`\u7F3A\u5FC5\u586B\u5B57\u6BB5 ${c.type}`,`\u8865\u4E0A --field ${c.type}=<\u503C>\uFF1B\u59D3\u540D\u548C\u624B\u673A\u53F7\u662F\u540E\u7AEF\u5F3A\u5236\u5FC5\u586B\u7684`);for(let c of i)if(c.required&&!u.some(d=>d.question_id===c.id))throw b(`\u5FC5\u7B54\u9898\u6CA1\u7B54\uFF1A\u300C${c.title}\u300D`,`\u8865\u4E0A --answer ${c.id}=<\u7B54\u6848>`);return{ticket_type_id:Oa(t,e.ticket),field_values:s,question_answers:u}}async function eo(t){let e;try{e=JSON.parse(await Ea.readFile(t,"utf8"))}catch(i){throw b(`\u8BFB\u4E0D\u5230\u6216\u89E3\u6790\u4E0D\u4E86 --form \u6587\u4EF6\uFF1A${t}`,String(i.message))}let n=Array.isArray(e.field_values)?e.field_values:[],r=Array.isArray(e.question_answers)?e.question_answers:[];return{fieldValues:n,answers:r,ticket:e.ticket_type_id===void 0?void 0:String(e.ticket_type_id)}}async function no(t){let{fields:e,questions:n}=qn(t),r=[];for(let o of e){let s=o.requirement==="required";for(;;){let a=await Vt(`${o.type}${s?"\uFF08\u5FC5\u586B\uFF09":"\uFF08\u53EF\u7559\u7A7A\uFF09"}\uFF1A`);if(!a){if(!s)break;continue}try{Yi(o.type,a)}catch(u){process.stderr.write(`${u.message}
51
+ `);continue}r.push({type:o.type,value:a.trim()});break}}let i=[];for(let[o,s]of n.entries()){let a=s.options||[];for(;;){a.length&&(process.stderr.write(`${o+1}. ${s.title}${s.required?"\uFF08\u5FC5\u7B54\uFF09":""}
52
+ `),a.forEach((c,d)=>process.stderr.write(` ${d+1}) ${c}
53
+ `)));let u=a.length?s.type==="multi_choice"?"\u9009\u9879\u53F7\uFF0C\u591A\u9009\u7528\u9017\u53F7\u5206\u9694\uFF1A":"\u9009\u9879\u53F7\uFF1A":`${o+1}. ${s.title}${s.required?"\uFF08\u5FC5\u7B54\uFF09":""}\uFF1A`,l=await Vt(u);if(!l){if(!s.required)break;continue}try{let c=a.length?Xe(s,{choices:l.split(",").map(d=>Pa(d.trim(),a))}):Zi(s,l);i.push({question_id:s.id,value:c})}catch(c){process.stderr.write(`${c.message}
54
+ `);continue}break}}return{fieldValues:r,answers:i}}function Pa(t,e){if(/^\d+$/.test(t)){let n=e[Number(t)-1];if(n)return n}return t}function ro(t,e,n){let i=(Array.isArray(e.ticket_types)?e.ticket_types:[]).find(s=>Number(s.id)===t.ticket_type_id),o=[`\u7968\u6863\uFF1A${i?`${i.name}${i.require_approval?"\uFF08\u9700\u4E3B\u529E\u65B9\u5BA1\u6838\uFF09":"\uFF08\u62A5\u540D\u5373\u51FA\u7968\uFF09"}`:t.ticket_type_id}`];for(let s of t.field_values)o.push(`${s.type}\uFF1A${s.value}`);for(let s of t.question_answers){let a=n.find(u=>u.id===s.question_id);o.push(`${a?.title||s.question_id}\uFF1A${s.value.choices?s.value.choices.join("\u3001"):s.value.text||""}`)}return o.join(`
55
+ `)}var vr=new Map;function qa(t){return/^\d+$/.test(t)}async function it(t,e,n="public"){if(qa(e))return Number(e);let r=`${t.profile.baseUrl}|${e}`,i=vr.get(r);if(i!==void 0)return i;let o;try{let a=await et.show(t.client,e),u=Number(a?.id);if(Number.isInteger(u))return vr.set(r,u),u}catch(a){o=a}let s=!1;if(n==="manage"){let{id:a,truncated:u}=await Ia(t,e);if(a!==void 0)return vr.set(r,a),a;s=u}throw Se(o)&&o.type!=="not_found"?o:new A({type:"not_found",message:`\u627E\u4E0D\u5230\u6D3B\u52A8 "${e}"`,hint:n!=="manage"?"\u6838\u5BF9 slug \u662F\u5426\u6B63\u786E\uFF0C\u6216\u7528 watcha activity list \u627E\u5230\u5B83":s?`\u4F60\u7BA1\u7406\u7684\u6D3B\u52A8\u8D85\u8FC7 ${io} \u4E2A\uFF0C\u53EA\u56DE\u6EAF\u4E86\u8FD9\u4E48\u591A\u6CA1\u627E\u5230\u5B83\uFF1B\u76F4\u63A5\u7528\u6570\u5B57\u6D3B\u52A8 id`:"\u5F85\u5BA1\u6838 / \u88AB\u62D2\u7EDD / \u5DF2\u53D6\u6D88\u7684\u6D3B\u52A8\u516C\u5F00\u9875\u8BFB\u4E0D\u5230\uFF1B\u7528\u6570\u5B57\u6D3B\u52A8 id\uFF0C\u6216\u5148\u8DD1 watcha activity mine --role managed \u627E\u5230 id"})}var io=2e3,$r=100;async function Ia(t,e){let n=!1;for(let r of["future","past"])for(let i=0;;i+=$r){if(i>=io){n=!0;break}let s=(await et.myManaged(t.client,{skip:i,limit:$r,period:r}))?.items||[],a=s.find(u=>u.slug===e);if(a&&Number.isInteger(Number(a.id)))return{id:Number(a.id),truncated:n};if(s.length<$r)break}return{truncated:n}}var Ze=["online","offline"],In=["future","past"],Ra=["active","future","past","all"],Na=["asc","desc"],La="start_at_distance",Sr="+08:00",so=/^(\d{4})-(\d{2})-(\d{2})$/,Ma=/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?$/;function oo(t,e="--date"){let n=t.trim();if(so.exec(n))return`${n}T00:00:00${Sr}`;if(/[+-]\d{2}:\d{2}$|Z$/.test(n))return n;throw b(`${e} \u683C\u5F0F\u4E0D\u5BF9\uFF1A"${t}"`,"\u7528 2026-09-10 \u8FD9\u79CD\u5199\u6CD5\uFF08\u6309\u4E1C\u516B\u533A\u6574\u5929\u7B5B\u9009\uFF09")}function Rn(t,e){let n=t.trim();if(/[+-]\d{2}:\d{2}$|Z$/.test(n))return n;if(so.exec(n))return`${n}T00:00:00${Sr}`;let i=Ma.exec(n);if(i){let[,o,s,a,u,l,c]=i;return`${o}-${s}-${a}T${u}:${l}:${c||"00"}${Sr}`}throw b(`${e} \u683C\u5F0F\u4E0D\u5BF9\uFF1A"${t}"`,'\u7528 "2026-09-10 19:30" \u6216\u5B8C\u6574\u7684 2026-09-10T19:30:00+08:00')}function ut(t,e,n){if(t!==void 0){if(!e.includes(t))throw b(`${n} \u53EA\u80FD\u662F ${e.join(" / ")}\uFF0C\u6536\u5230 "${t}"`);return t}}function ao(t,e){let n=!!t.q,r={skip:e.skip,limit:e.limit},i=ut(t.locationType,Ze,"--location-type");if(i&&(r.location_type=i),n){for(let[l,c]of[["--city",t.city],["--period",t.period],["--sort",t.sort],["--order",t.order]])if(c!==void 0)throw b(`${l} \u4E0D\u80FD\u548C --q \u4E00\u8D77\u7528`,"\u641C\u7D22\u8D70\u7684\u662F\u53E6\u4E00\u4E2A\u63A5\u53E3\uFF0C\u53EA\u652F\u6301 --location-type / --date / --time-scope / --hybrid");let u=ut(t.timeScope,Ra,"--time-scope");if(t.date&&u)throw b("--time-scope \u4E0E --date \u53EA\u80FD\u4E8C\u9009\u4E00");return r.q=t.q,t.hybrid&&(r.enable_hybrid=!0),u&&(r.time_scope=u),t.date&&(r.date=oo(t.date)),r}if(t.hybrid||t.timeScope!==void 0)throw b("--hybrid / --time-scope \u53EA\u5728\u5E26 --q \u641C\u7D22\u65F6\u6709\u6548","\u4E0D\u641C\u7D22\u65F6\u7528 --period future|past \u6216 --date");let o=ut(t.period,In,"--period"),s=ut(t.order,Na,"--order"),a=ut(t.sort,[La],"--sort");if(t.date&&o)throw b("--period \u4E0E --date \u53EA\u80FD\u4E8C\u9009\u4E00");if(a&&o)throw b("--sort \u4E0E --period \u53EA\u80FD\u4E8C\u9009\u4E00","\u6309\u5F00\u59CB\u65F6\u95F4\u8DDD\u79BB\u6392\u5E8F\u65F6\u540E\u7AEF\u4E0D\u63A5\u53D7\u65F6\u95F4\u6BB5\u7B5B\u9009");if(a&&s==="desc")throw b("--sort \u65F6 --order \u53EA\u80FD\u662F asc","\u540E\u7AEF\u53EA\u652F\u6301\u300C\u8DDD\u73B0\u5728\u6700\u8FD1\u7684\u6392\u524D\u9762\u300D\u8FD9\u4E00\u4E2A\u65B9\u5411");return t.city&&(r.city=t.city),o&&(r.period=o),t.date&&(r.date=oo(t.date)),a&&(r.sort_by=a),s&&(r.sort_order=s),r}async function ft(t,e,n){if(t.opts.yes)return;if(!Lt())throw Ye(e);if(V(`
56
+ ${n}
57
+ `,t.opts),!await _n(`\u786E\u8BA4${e}\uFF1F`))throw new A({type:"confirmation_required",message:"\u5DF2\u53D6\u6D88"})}function dt(t,e){if(!(t.opts.yes||Lt()))throw Ye(e)}function uo(t,e,n){let r=t.count??t.items?.length??0,i=typeof t.total=="number"&&t.total>0?`/${K(t.total)}`:"",o=r>=n?` \uFF08\u8FD8\u6709\u66F4\u591A\uFF1A--skip ${e+n}\uFF09`:"";return`\u2014 ${K(r)} \u6761${i}\uFF0Cskip=${e} limit=${n}${o}`}function Nn(t){return typeof t=="number"?t.toFixed(1):"\u672A\u51FA\u5206"}function Tt(t,e){let n=t.stats||{},r=Array.isArray(t.categories)?t.categories.map(i=>w(i.name)).join("/"):"";return[`#${w(t.id)} ${w(t.name)}${t.slogan?` \u2014 ${F(String(t.slogan),50)}`:""}`,` \u8BC4\u5206 ${Nn(n.score)} \xB7 \u7339\u8BC4 ${K(n.review_count)} \xB7 \u8D5E ${K(n.upvotes)} \xB7 \u6536\u85CF ${K(n.stars)}${r?` \xB7 ${r}`:""}`,` ${e}/products/${w(t.slug,String(t.id))}`].join(`
58
+ `)}function Er(t,e){let n=t.stats||{},r=Et(t.description).text;return[`${w(t.name)} (#${w(t.id)} \xB7 ${w(t.slug)})`,t.slogan?String(t.slogan):"",`\u7EC4\u7EC7\uFF1A${w(t.organization)} \u72B6\u6001\uFF1A${w(t.status)}`,`\u8BC4\u5206 ${Nn(n.score)} \xB7 \u7339\u8BC4 ${K(n.review_count)} \xB7 \u5E16\u5B50 ${K(n.post_count)} \xB7 \u8D5E ${K(n.upvotes)} \xB7 \u6536\u85CF ${K(n.stars)}`,`\u5206\u7C7B\uFF1A${Array.isArray(t.categories)?t.categories.map(o=>w(o.name)).join(" / "):"-"}`,t.website_url?`\u5B98\u7F51\uFF1A${String(t.website_url)}`:"",`\u9875\u9762\uFF1A${e}/products/${w(t.slug,String(t.id))}`,r?`
56
59
  ${r.slice(0,1200)}${r.length>1200?`
57
60
  \u2026`:""}`:""].filter(Boolean).join(`
58
- `)}function ve(e,t,n={}){let r=e.stats||{},i=e.user||{},o=e.product||{},s=e.vote_value===1?"\u{1F44D} \u63A8\u8350":e.vote_value===2?"\u{1F44E} \u4E0D\u63A8\u8350":"\u2014",a=$e(e.content).text,d=n.full?a:X(a,160);return[`[\u7339\u8BC4 #${C(e.id)}] ${s} \xB7 ${C(i.nickname)}${o.name?` \u2192 ${String(o.name)}`:""} \xB7 ${se(e.create_at)}`,` \u8D5E ${J(r.upvotes)} \xB7 \u56DE\u590D ${J(Dt(r,"reply_subtree_size","reply_count"))}${typeof e.reply_count=="number"?` \xB7 \u76F4\u63A5\u56DE\u590D ${e.reply_count}`:""}`,` ${d||"\uFF08\u65E0\u6B63\u6587\uFF09"}`,` ${t}/reply/${C(e.id)}`].join(`
59
- `)}function Oe(e,t){let n=e.stats||{},r=e.user||{},i=e.product||null;return[`[\u5E16\u5B50 #${C(e.id)}] ${C(e.title)}`,` ${C(r.nickname)} \xB7 ${se(e.create_at)} \xB7 \u8D5E ${J(n.upvotes)} \xB7 \u697C\u5C42 ${J(n.floors)}${i?.name?` \xB7 \u5173\u8054 ${String(i.name)}`:""}`,` ${t}/discuss/${C(e.id)}`].join(`
60
- `)}function $i(e,t){let n=$e(e.content).text,r=typeof e.images=="string"&&e.images?e.images.split(";").filter(Boolean):[];return[Oe(e,t),"",n||"\uFF08\u65E0\u6B63\u6587\uFF09",r.length?`
61
+ `)}function Dt(t,e,n={}){let r=t.stats||{},i=t.user||{},o=t.product||{},s=t.vote_value===1?"\u{1F44D} \u63A8\u8350":t.vote_value===2?"\u{1F44E} \u4E0D\u63A8\u8350":"\u2014",a=Et(t.content).text,u=n.full?a:F(a,160);return[`[\u7339\u8BC4 #${w(t.id)}] ${s} \xB7 ${w(i.nickname)}${o.name?` \u2192 ${String(o.name)}`:""} \xB7 ${mt(t.create_at)}`,` \u8D5E ${K(r.upvotes)} \xB7 \u56DE\u590D ${K(Te(r,"reply_subtree_size","reply_count"))}${typeof t.reply_count=="number"?` \xB7 \u76F4\u63A5\u56DE\u590D ${t.reply_count}`:""}`,` ${u||"\uFF08\u65E0\u6B63\u6587\uFF09"}`,` ${e}/reply/${w(t.id)}`].join(`
62
+ `)}function Ut(t,e){let n=t.stats||{},r=t.user||{},i=t.product||null;return[`[\u5E16\u5B50 #${w(t.id)}] ${w(t.title)}`,` ${w(r.nickname)} \xB7 ${mt(t.create_at)} \xB7 \u8D5E ${K(n.upvotes)} \xB7 \u697C\u5C42 ${K(n.floors)}${i?.name?` \xB7 \u5173\u8054 ${String(i.name)}`:""}`,` ${e}/discuss/${w(t.id)}`].join(`
63
+ `)}function co(t,e){let n=Et(t.content).text,r=typeof t.images=="string"&&t.images?t.images.split(";").filter(Boolean):[];return[Ut(t,e),"",n||"\uFF08\u65E0\u6B63\u6587\uFF09",r.length?`
61
64
  \u56FE\u7247\uFF1A
62
65
  ${r.map(i=>` ${i}`).join(`
63
66
  `)}`:""].filter(i=>i!==void 0).join(`
64
- `)}function nr(e){let t=e.user||{},n=e.stats||{},r=$e(e.content).text;return` #${C(e.id)} ${C(t.nickname)} \xB7 ${se(e.create_at)} \xB7 \u8D5E ${J(n.upvotes)}
65
- ${X(r,200)}`}function kn(e,t){let n=e.stats||{};return`#${C(e.id)} ${C(e.name).trim()}${e.intro?` \u2014 ${X(String(e.intro),60)}`:""}${n.post_count!==void 0?` \xB7 \u5E16\u5B50 ${J(n.post_count)}`:""}
66
- ${t}/discuss/topics/${C(e.id)}`}function wt(e,t){let n=[e.is_official?"\u5B98\u65B9":"",e.is_gold_member?"\u91D1\u724C\u89C2\u7339\u5458":""].filter(Boolean).join(" \xB7 ");return[`${C(e.nickname)} (#${C(e.id)}${e.username?` \xB7 @${String(e.username)}`:""})${n?` [${n}]`:""}`,e.bio?String(e.bio):"",`\u7339\u8BC4 ${J(e.review_count)} \xB7 \u5E16\u5B50 ${J(e.post_count)} \xB7 \u83B7\u8D5E ${J(e.upvotes)} \xB7 \u5173\u6CE8 ${J(e.subscribes)} \xB7 \u7C89\u4E1D ${J(e.subscribers)}`,`\u9875\u9762\uFF1A${t}/@${C(e.username,String(e.id))}`].filter(Boolean).join(`
67
- `)}function bn(e,t){let n=e.location&&typeof e.location=="object"?e.location:null,r=n?C(Dt(n,"city","name","address"),""):typeof e.location=="string"?e.location:"";return[`[\u6D3B\u52A8 #${C(e.id)}] ${C(e.title)} (${C(e.status)})`,` ${se(e.start_at)} ~ ${se(e.end_at)}${r?` \xB7 ${r}`:""}${e.location_type?` \xB7 ${String(e.location_type)}`:""} \xB7 \u53C2\u4E0E ${J(e.participant_count)}`,` ${t}/activities/${C(e.slug,String(e.id))}`].join(`
68
- `)}function Ai(e){let t=Dt(e,"title","content","message","type");return`#${C(e.id)} ${e.read===!1||e.is_read===!1?"\u25CF ":""}${X(C(t),120)} \xB7 ${se(Dt(e,"create_at","created_at"))}`}function vi(e,t){let n=[`\u699C\u5355 ${C(e.key)} / ${C(e.sub_key)}\uFF08item_type=${C(e.item_type)}\uFF0Cmax ${C(e.max_size)}\uFF09`],r=e.product_items||[],i=e.user_items||[],o=e.topic_items||[],s=e.user_score_items||e.entries||[];return r.forEach((a,d)=>n.push(`${String(d+1).padStart(2)}. ${C(a.name)} (#${C(a.id)}) ${t}/products/${C(a.slug,String(a.id))}`)),i.forEach((a,d)=>n.push(`${String(d+1).padStart(2)}. ${C(a.nickname)} (#${C(a.id)})`)),o.forEach((a,d)=>n.push(`${String(d+1).padStart(2)}. ${C(a.name)} (#${C(a.id)})`)),!r.length&&!i.length&&!o.length&&s.length&&s.forEach((a,d)=>n.push(`${String(d+1).padStart(2)}. member ${C(a.member_id)} score ${C(a.score)}`)),n.length===1&&n.push("\uFF08\u7A7A\uFF09"),n.join(`
69
- `)}function Oi(e,t){let n=C(e.type);return e.review?ve(e.review,t):e.posting||e.post?Oe(e.posting||e.post,t):e.product?xe(e.product,t):`[${n}] ${X(JSON.stringify(e),160)}`}function xn(e,t,n,r){let i=e.items||[];return i.length?i.map(t).join(`
67
+ `)}function Tr(t){let e=t.user||{},n=t.stats||{},r=Et(t.content).text;return` #${w(t.id)} ${w(e.nickname)} \xB7 ${mt(t.create_at)} \xB7 \u8D5E ${K(n.upvotes)}
68
+ ${F(r,200)}`}function Ln(t,e){let n=t.stats||{};return`#${w(t.id)} ${w(t.name).trim()}${t.intro?` \u2014 ${F(String(t.intro),60)}`:""}${n.post_count!==void 0?` \xB7 \u5E16\u5B50 ${K(n.post_count)}`:""}
69
+ ${e}/discuss/topics/${w(t.id)}`}function Pe(t,e){let n=[t.is_official?"\u5B98\u65B9":"",t.is_gold_member?"\u91D1\u724C\u89C2\u7339\u5458":""].filter(Boolean).join(" \xB7 ");return[`${w(t.nickname)} (#${w(t.id)}${t.username?` \xB7 @${String(t.username)}`:""})${n?` [${n}]`:""}`,t.bio?String(t.bio):"",`\u7339\u8BC4 ${K(t.review_count)} \xB7 \u5E16\u5B50 ${K(t.post_count)} \xB7 \u83B7\u8D5E ${K(t.upvotes)} \xB7 \u5173\u6CE8 ${K(t.subscribes)} \xB7 \u7C89\u4E1D ${K(t.subscribers)}`,`\u9875\u9762\uFF1A${e}/@${w(t.username,String(t.id))}`].filter(Boolean).join(`
70
+ `)}function lo(t){let e=Te(t,"title","content","message","type");return`#${w(t.id)} ${t.read===!1||t.is_read===!1?"\u25CF ":""}${F(w(e),120)} \xB7 ${mt(Te(t,"create_at","created_at"))}`}function po(t,e){let n=[`\u699C\u5355 ${w(t.key)} / ${w(t.sub_key)}\uFF08item_type=${w(t.item_type)}\uFF0Cmax ${w(t.max_size)}\uFF09`],r=t.product_items||[],i=t.user_items||[],o=t.topic_items||[],s=t.user_score_items||t.entries||[];return r.forEach((a,u)=>n.push(`${String(u+1).padStart(2)}. ${w(a.name)} (#${w(a.id)}) ${e}/products/${w(a.slug,String(a.id))}`)),i.forEach((a,u)=>n.push(`${String(u+1).padStart(2)}. ${w(a.nickname)} (#${w(a.id)})`)),o.forEach((a,u)=>n.push(`${String(u+1).padStart(2)}. ${w(a.name)} (#${w(a.id)})`)),!r.length&&!i.length&&!o.length&&s.length&&s.forEach((a,u)=>n.push(`${String(u+1).padStart(2)}. member ${w(a.member_id)} score ${w(a.score)}`)),n.length===1&&n.push("\uFF08\u7A7A\uFF09"),n.join(`
71
+ `)}function mo(t,e){let n=w(t.type);return t.review?Dt(t.review,e):t.posting||t.post?Ut(t.posting||t.post,e):t.product?Tt(t.product,e):`[${n}] ${F(JSON.stringify(t),160)}`}function Mn(t,e,n,r){let i=t.items||[];return i.length?i.map(e).join(`
70
72
  `)+`
71
- `+Ti(e,n,r):`\uFF08\u7A7A\uFF09
72
- ${Ti(e,n,r)}`}var $s={federated_search:"\u8054\u90A6\u641C\u7D22",browse:"\u6D4F\u89C8",get_details:"\u53D6\u8BE6\u60C5",get_product_reviews:"\u53D6\u4EA7\u54C1\u7339\u8BC4",get_user_info:"\u53D6\u7528\u6237\u4FE1\u606F",discover_activities:"\u53D1\u73B0\u6D3B\u52A8"};function Pi(e,t){return{write:e,...t,mode:"none",pending:""}}var rr=class{constructor(t){this.sinks=t}sinks;styled(t,n,r){return t.color?n==="dim"?`\x1B[2m${r}\x1B[0m`:`\x1B[36m${r}\x1B[0m`:r}flushPending(t){t.pending&&(t.write(t.pending),t.pending="")}switchMode(t,n){t.mode!==n&&(this.flushPending(t),t.mode!=="none"&&t.write(`
73
- `),n==="thinking"&&t.write(this.styled(t,"dim","\u{1F914} \u601D\u8003\uFF1A")),t.mode=n)}thinking(t){if(t)for(let n of this.sinks)n.showThinking&&(this.switchMode(n,"thinking"),n.write(this.styled(n,"dim",t)))}content(t){if(t)for(let n of this.sinks){if(this.switchMode(n,"content"),!n.lineBuffered){n.write(t);continue}n.pending+=t;let r=n.pending.lastIndexOf(`
74
- `);r!==-1&&(n.write(n.pending.slice(0,r+1)),n.pending=n.pending.slice(r+1))}}toolCall(t,n){let r=`\u{1F50E} ${$s[t]||t} ${X(JSON.stringify(n??{}),100)}`;for(let i of this.sinks)this.breakLine(i),i.write(this.styled(i,"cyan",r)+`
75
- `)}toolResult(t){for(let n of this.sinks)if(!n.lineBuffered){for(let r of t.slice(0,8))n.write(this.styled(n,"dim",` \xB7 [${C(r.type)}] ${C(r.name)} ${C(r.link,"")}`)+`
76
- `);t.length>8&&n.write(this.styled(n,"dim",` \xB7 \u2026 \u5171 ${t.length} \u6761`)+`
77
- `)}}breakLine(t){for(let n of t?[t]:this.sinks)this.flushPending(n),n.mode!=="none"&&n.write(`
78
- `),n.mode="none"}finish(){this.breakLine()}};async function As(e,t,n){let r={status:"done",thinking:"",content:"",tool_calls:[],frames:0},i=new Set,{renderer:o}=n,s=!1,a=!1;for await(let d of zr(t)){if(d.kind==="done"){a=!0;break}if(d.kind==="eof")break;let l=d.frame;if(r.frames+=1,l.id){if(i.has(l.id))continue;i.add(l.id)}switch(n.ndjson&&process.stdout.write(JSON.stringify(l)+`
79
- `),l.type){case"begin":{let u=l.data||{},p=u.sessionId??u.session_id;r.session_id=typeof p=="string"||typeof p=="number"?String(p):r.session_id,ee(`\u4F1A\u8BDD ${r.session_id??"?"} \u5F00\u59CB\uFF08mode=${C(u.mode)}\uFF09`,e.opts);break}case"thinking":{let u=typeof l.data=="string"?l.data:"";r.thinking+=u,o.thinking(u);break}case"content":{let u=typeof l.data=="string"?l.data:"";r.content+=u,o.content(u);break}case"tool_call":{let u=l.data||{};r.tool_calls.push({id:u.id,name:u.name,parameters:u.parameters}),o.toolCall(String(u.name),u.parameters);break}case"tool_result":{let u=l.data||{},p=r.tool_calls.find(m=>m.id&&m.id===u.id),c=Array.isArray(u.items)?u.items:[];p?p.items=c:r.tool_calls.push({id:u.id,name:u.name,items:c}),o.toolResult(c);break}case"error":{s=!0,r.status="error",r.error=typeof l.data=="string"?l.data:JSON.stringify(l.data),o.breakLine();break}default:break}if(s&&!n.replay)break}return o.finish(),!a&&!s&&(r.status="truncated"),r}function vs(e,t=process.env,n=Be()){if(e!==void 0)return e;let r=(t.WATCHA_WATCH||"").trim().toLowerCase();return r==="0"||r==="false"||r==="off"?!1:r==="1"||r==="true"||r==="on"?!0:t.CI&&t.CI!=="0"&&t.CI.toLowerCase()!=="false"?!1:Gr(t).host!==null&&!n}function Os(e,t,n){if(!n&&ti())return ee(`30 \u79D2\u5185\u5DF2\u81EA\u52A8\u5F00\u8FC7\u5B9E\u65F6\u89C6\u56FE\uFF0C\u8FD9\u6B21\u4E0D\u518D\u5F00\u65B0\u7A97\u53E3\uFF1B\u8981\u770B\u7684\u8BDD\u6267\u884C\uFF1Awatcha watch ${t}`,e.opts),{opened:!1,attempts:[]};let r=fi(hi("watch",t,"--hold"),{title:"\u89C2\u7339 AI \u641C\u7D22"});if(r.opened)ni(),ee(`\u5B9E\u65F6\u89C6\u56FE\u5DF2\u5728 ${r.terminal} \u65B0\u7A97\u53E3\u6253\u5F00\uFF08\u65E5\u5FD7\uFF1A${t}\uFF09`,e.opts);else if(ee(`\u65E0\u6CD5\u81EA\u52A8\u6253\u5F00\u5B9E\u65F6\u89C6\u56FE\u7A97\u53E3\uFF1B\u53E6\u5F00\u4E00\u4E2A\u7EC8\u7AEF\u6267\u884C\uFF1Awatcha watch ${t}`,e.opts),e.opts.debug)for(let i of r.attempts)ee(` ${i.terminal}: ${i.error}`,e.opts);return r}function Ii(e){e.command("ask <question>").description("AI \u641C\u7D22\uFF1A\u8BA9\u89C2\u7339\u7684 ReAct agent \u57FA\u4E8E\u793E\u533A\u7339\u8BC4/\u5E16\u5B50/\u4EA7\u54C1\u56DE\u7B54\u95EE\u9898\uFF08\u9700\u767B\u5F55\uFF0C\u6BCF\u5206\u949F\u6700\u591A 2 \u6B21\uFF09").option("--resume <sessionId>","\u7EED\u4F20/\u56DE\u653E\u4E00\u4E2A\u5DF2\u6709\u4F1A\u8BDD\uFF0C\u800C\u4E0D\u662F\u53D1\u8D77\u65B0\u641C\u7D22").option("--share","\u7ED3\u675F\u540E\u751F\u6210\u516C\u5F00\u5206\u4EAB\u94FE\u63A5").option("--raw","\u4E0D\u8981\u6D41\u5F0F\u6E32\u67D3\uFF0C\u53EA\u5728\u7ED3\u675F\u540E\u8F93\u51FA\u6C47\u603B\uFF08json \u9ED8\u8BA4\u5373\u5982\u6B64\uFF09").option("--watch","\u628A\u5B9E\u65F6\u89C6\u56FE\u5F00\u5230\u4E00\u4E2A\u65B0\u7EC8\u7AEF\u7A97\u53E3\u7ED9\u4EBA\u770B\uFF08\u88AB Claude Code / Codex \u7B49 agent \u8C03\u7528\u65F6\u81EA\u52A8\u5F00\u542F\uFF09").option("--no-watch","\u4E0D\u5F00\u5B9E\u65F6\u89C6\u56FE\u7A97\u53E3").action(async(n,r,i)=>{await _(i,async o=>{let s=o.format==="ndjson",a=o.format==="pretty"&&!r.raw,d=Be(),l=vs(r.watch),u=[];a&&u.push(Pi(g=>process.stdout.write(g),{color:d,showThinking:d,lineBuffered:!d}));let p,c;if(l){let g=ln.create("ask");p=g,u.push(Pi(x=>g.write(x),{color:!0,showThinking:!0,lineBuffered:!1})),g.write(`\x1B[1m\u2753 ${r.resume?`\u56DE\u653E\u4F1A\u8BDD ${r.resume}`:n}\x1B[0m
73
+ `+uo(t,n,r):`\uFF08\u7A7A\uFF09
74
+ ${uo(t,n,r)}`}var z=t=>t.option("--limit <n>","\u6BCF\u9875\u6761\u6570\uFF0C1-100","20").option("--skip <n>","\u8DF3\u8FC7\u6761\u6570","0").option("--page <n>","\u9875\u7801\uFF08\u4E0E --skip \u4E8C\u9009\u4E00\uFF09");function J(t,e,n,r,i,o,s){return{data:t.items||[],meta:{total:typeof t.total=="number"&&t.total>0?t.total:void 0,skip:t.skip??n,limit:t.limit??r,count:t.count??t.items?.length??0,has_more:(t.count??t.items?.length??0)>=r,...s||{}},pretty:()=>Mn(t,e,n,r),table:i&&o?{columns:i,rows:a=>a.map(o)}:void 0}}var Da="Asia/Shanghai",Ua=-480,Wa=new Intl.DateTimeFormat("zh-CN",{timeZone:Da,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1});function Fa(){return new Date().getTimezoneOffset()===Ua?"":"\uFF08\u5317\u4EAC\u65F6\u95F4\uFF09"}function qe(t){if(!t)return"-";let e=typeof t=="number"?new Date(t>1e12?t:t*1e3):new Date(String(t));if(Number.isNaN(e.getTime()))return String(t);let n=Object.fromEntries(Wa.formatToParts(e).map(r=>[r.type,r.value]));return`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}`}var Ja={upcoming:"\u672A\u5F00\u59CB",soon:"\u5373\u5C06\u5F00\u59CB",ongoing:"\u8FDB\u884C\u4E2D",ended:"\u5DF2\u7ED3\u675F"},Ba={internal:"\u7AD9\u5185\u62A5\u540D",external:"\u5916\u94FE\u62A5\u540D",disabled:"\u672A\u5F00\u653E\u62A5\u540D"},ja={pending_approval:"\u5F85\u5BA1\u6838",approved:"\u5DF2\u901A\u8FC7",rejected:"\u5DF2\u62D2\u7EDD"};function Va(t){return Ja[typeof t=="string"?t:""]||w(t,"")}function Ha(t){let e=typeof t.lifecycle_status=="string"?t.lifecycle_status:"";return!e||e==="approved"?"":e==="rejected"?` [\u5DF2\u62D2\u7EDD${t.reject_reason?`\uFF1A${F(String(t.reject_reason),60)}`:""}]`:e==="pending"?" [\u5F85\u5BA1\u6838]":" [\u5DF2\u53D6\u6D88]"}function fo(t){return Ba[typeof t=="string"?t:""]||w(t,"")}function Dn(t){return ja[typeof t=="string"?t:""]||w(t,"")}function Ga(t){let e=t.location&&typeof t.location=="object"?t.location:null;return e?[e.city,e.district,e.address].filter(Boolean).map(String).join(" "):typeof t.location=="string"?t.location:""}function ee(t,e){let n=Ga(t),r=t.location_type==="online"?"\u7EBF\u4E0A":t.location_type==="offline"?"\u7EBF\u4E0B":"",i=Va(t.status),o=[r,n].filter(Boolean).join(" \xB7 ");return[`[\u6D3B\u52A8 #${w(t.id)}] ${w(t.title)}${i?` (${i})`:""}${Ha(t)}`,` ${qe(t.start_at)} ~ ${qe(t.end_at)}${Fa()}${o?` \xB7 ${o}`:""} \xB7 \u53C2\u4E0E ${K(t.participant_count)}`,` ${e}/activities/${w(t.slug,String(t.id))}`].join(`
75
+ `)}function Un(t,e,n={}){let r=[ee(t,e)],i=typeof t.registration_mode=="string"?t.registration_mode:"",o=[`\u62A5\u540D\uFF1A${fo(i)||"\u672A\u77E5"}`];i==="external"&&t.registration_url&&o.push(String(t.registration_url)),i==="internal"&&o.push("\u53EF\u7528 watcha activity form <\u6D3B\u52A8> \u770B\u8981\u586B\u4EC0\u4E48"),r.push(` ${o.join(" ")}`),t.redirect_url&&r.push(` \u5361\u7247\u76F4\u63A5\u5916\u8DF3\uFF1A${String(t.redirect_url)}`),t.online_url&&r.push(` \u7EBF\u4E0A\u5730\u5740\uFF1A${String(t.online_url)}`),t.organizer_contact_url&&r.push(` \u8054\u7CFB\u4E3B\u529E\u65B9\uFF1A${String(t.organizer_contact_url)}`);let s=t.viewer_context||null;if(s){let l=[s.registration_status?`\u6211\u7684\u62A5\u540D\uFF1A${Dn(s.registration_status)}`:"\u6211\u5C1A\u672A\u62A5\u540D",s.can_manage?"\u6211\u53EF\u7BA1\u7406":"",s.can_check_in?"\u6211\u53EF\u7B7E\u5230":""].filter(Boolean).join(" \xB7 ");r.push(` ${l}`)}else n.manage||r.push(" \uFF08\u672A\u767B\u5F55\uFF0C\u770B\u4E0D\u5230\u81EA\u5DF1\u7684\u62A5\u540D\u72B6\u6001\uFF09");let a=Array.isArray(t.hosts)?t.hosts:[];a.length&&r.push(` \u4E3B\u529E\uFF1A${a.map(l=>`${w(l.nickname)}(#${w(l.id)})`).join("\u3001")}`),t.short_description&&r.push("",String(t.short_description));let u=Et(t.description).text;return u&&r.push("",u.slice(0,1500)),r.join(`
76
+ `)}function ne(t,e={}){let n=t.user||{},r=t.ticket||null,i=t.ticket_type||null,o=e.full?w(t.submitted_phone,""):za(t.submitted_phone),s=[`#${w(t.id)} ${w(t.submitted_name,w(n.nickname))}`,o,Dn(t.status),t.source==="host_added"?"\u4E3B\u529E\u65B9\u6DFB\u52A0":"",i?String(i.name):""].filter(Boolean).join(" \xB7 "),a=[n.id?`\u7528\u6237 #${w(n.id)}`:"",r?`\u7968 ${Qa(w(r.code,""))}`:"\u672A\u51FA\u7968",r?.checked_in_at?`\u5DF2\u7B7E\u5230 ${qe(r.checked_in_at)}`:"",t.reject_reason?`\u62D2\u7EDD\u539F\u56E0\uFF1A${F(String(t.reject_reason),60)}`:"",`\u62A5\u540D\u4E8E ${qe(Te(t,"created_at","create_at"))}`].filter(Boolean).join(" \xB7 ");return`${s}
77
+ ${a}`}function za(t){let e=typeof t=="string"?t:"";return e.length<9?e?"*".repeat(e.length):"":`${e.slice(0,3)}****${e.slice(-4)}`}function Qa(t){return t.length>6?`\u2026${t.slice(-6)}`:t}function Ar(t){let e=[t.sales_start_at?`\u552E\u5356 ${qe(t.sales_start_at)}`:"",t.sales_end_at?`\u81F3 ${qe(t.sales_end_at)}`:""].filter(Boolean).join(" ");return[`#${w(t.id)} ${w(t.name)}${t.available===!1?"\uFF08\u5F53\u524D\u4E0D\u53EF\u9009\uFF09":""}${t.require_approval?" \xB7 \u9700\u4E3B\u529E\u65B9\u5BA1\u6838":" \xB7 \u62A5\u540D\u5373\u51FA\u7968"}`,[t.description?F(String(t.description),60):"",e].filter(Boolean).join(" \xB7 ")].filter(Boolean).join(`
78
+ `)}function Wn(t){let e=typeof t.mode=="string"?t.mode:"",n=[`\u62A5\u540D\u65B9\u5F0F\uFF1A${fo(e)||"\u672A\u77E5"}\u3000${t.can_register?"\u5F53\u524D\u53EF\u62A5\u540D":"\u5F53\u524D\u4E0D\u53EF\u62A5\u540D"}`],r=Array.isArray(t.ticket_types)?t.ticket_types:[];n.push("",r.length?"\u7968\u6863\uFF08--ticket \u7528 ID\uFF09\uFF1A":"\u7968\u6863\uFF1A\uFF08\u65E0\uFF09"),r.forEach(u=>n.push(` ${Ar(u)}`));let i=t.config||{},o=Array.isArray(i.fields)?i.fields:[];n.push("",o.length?"\u9700\u8981\u586B\u7684\u5B57\u6BB5\uFF08--field <\u7C7B\u578B>=<\u503C>\uFF09\uFF1A":"\u9700\u8981\u586B\u7684\u5B57\u6BB5\uFF1A\uFF08\u65E0\uFF09"),o.forEach(u=>n.push(` ${w(u.type)}${u.requirement==="required"?"\uFF08\u5FC5\u586B\uFF09":"\uFF08\u9009\u586B\uFF09"}`));let s=Array.isArray(i.questions)?i.questions:[];s.length&&(n.push("","\u4E3B\u529E\u65B9\u7684\u95EE\u9898\uFF08--answer <\u9898\u53F7\u6216ID>=<\u7B54\u6848>\uFF09\uFF1A"),s.forEach((u,l)=>{let c=Array.isArray(u.options)?u.options.map(String):[];n.push(` ${l+1}. ${w(u.title)}${u.required?"\uFF08\u5FC5\u7B54\uFF09":"\uFF08\u9009\u7B54\uFF09"} [${w(u.type)}] id=${w(u.id)}`),u.description&&n.push(` ${F(String(u.description),80)}`),c.length&&n.push(` \u9009\u9879\uFF1A${c.join(" / ")}`)}));let a=t.guest||null;return n.push("",a?`\u6211\u7684\u62A5\u540D\uFF1A${ne(a,{full:!0})}`:"\u6211\u8FD8\u6CA1\u62A5\u540D"),n.join(`
79
+ `)}function ho(t){let e=Array.isArray(t.hosts)?t.hosts:[],n=Array.isArray(t.check_in_staff)?t.check_in_staff:[],r=[`\u4E3B\u529E\u65B9 ${e.length} \u4EBA\uFF08\u4E0A\u9650 5\uFF09`];return e.forEach(i=>{let o=i.user||{},s=[i.is_creator?"\u521B\u5EFA\u8005":"",i.is_manager?"\u53EF\u7BA1\u7406":"\u4EC5\u5C55\u793A",i.show_on_event_page===!1?"\u6D3B\u52A8\u9875\u9690\u85CF":""].filter(Boolean).join(" \xB7 ");r.push(` #${w(i.user_id)} ${w(o.nickname)} \xB7 ${s} \xB7 \u5C55\u793A\u987A\u5E8F ${w(i.display_order,"0")}`)}),r.push("",`\u7B7E\u5230\u4EBA\u5458 ${n.length} \u4EBA\uFF08\u4E0A\u9650 20\uFF09`),n.forEach(i=>{let o=i.user||{};r.push(` #${w(i.user_id)} ${w(o.nickname)}`)}),r.join(`
80
+ `)}var Ka=["registered","managed","checkin"],Ya=["all","pending_approval","approved","rejected"];function yo(t){let e=Gt(t,"activity","\u6D3B\u52A8");z(e.command("list").description("\u6D3B\u52A8\u5217\u8868\uFF08\u5E26 --q \u8D70\u641C\u7D22\uFF09").option("--q <keyword>","\u5173\u952E\u8BCD\u641C\u7D22").option("--city <city>","\u57CE\u5E02\uFF1B\u300C\u7EBF\u4E0A\u300D\u662F\u7279\u6B8A\u503C\uFF0C\u7B49\u4EF7\u4E8E --location-type online").option("--location-type <type>","online | offline").option("--date <date>","\u67D0\u4E00\u5929\u7684\u6D3B\u52A8\uFF0C\u5982 2026-09-10\uFF08\u6309\u4E1C\u516B\u533A\u6574\u5929\uFF09").option("--period <period>","future | past\uFF1B\u4E0D\u4F20\u5219\u4E0D\u9650\uFF08\u4E0E --date / --sort \u4E92\u65A5\uFF09").option("--sort <field>","start_at_distance\uFF1A\u8DDD\u73B0\u5728\u6700\u8FD1\u7684\u6392\u524D\u9762\uFF08\u53EA\u652F\u6301 --order asc\uFF09").option("--order <order>","asc | desc").option("--hybrid","\u6DF7\u5408\u8BED\u4E49\u68C0\u7D22\uFF08\u4EC5 --q\uFF09").option("--time-scope <scope>","active\uFF08\u9ED8\u8BA4\uFF09| future | past | all\uFF08\u4EC5 --q\uFF0C\u4E0E --date \u4E92\u65A5\uFF09")).action(async(n,r)=>{await _(r,async i=>{let{skip:o,limit:s}=B(n),a=ao(n,{skip:o,limit:s}),u=(n.q?await et.search(i.client,a):await et.list(i.client,a))||{};return J(u,l=>ee(l,i.siteUrl),o,s)})}),e.command("show <idOrSlug>").description("\u6D3B\u52A8\u8BE6\u60C5\uFF08id \u6216 slug \u90FD\u884C\uFF09").action(async(n,r,i)=>{await _(i,async o=>({data:await et.show(o.client,n),pretty:a=>Un(a,o.siteUrl)}))}),e.command("cities").description("\u6709\u6D3B\u52A8\u7684\u57CE\u5E02\u4E0E\u5404\u81EA\u7684\u6D3B\u52A8\u6570").action(async(n,r)=>{await _(r,async i=>{let s=(await et.cities(i.client))?.cities||[];return{data:s,meta:{count:s.length},pretty:()=>s.length?s.map(a=>`${a.name} ${a.count}`).join(`
81
+ `):"\uFF08\u7A7A\uFF09"}})}),e.command("calendar").description("\u67D0\u6708\u54EA\u4E9B\u5929\u6709\u6D3B\u52A8").requiredOption("--year <year>","\u5E74\u4EFD").requiredOption("--month <month>","\u6708\u4EFD 1-12").option("--city <city>","\u57CE\u5E02").option("--location-type <type>","online | offline").action(async(n,r)=>{await _(r,async i=>{let o=Mt(n.year,"--year"),s=Ae(n.month,"--month",1,1,12),u=(await et.calendar(i.client,{year:o,month:s,city:n.city,location_type:ut(n.locationType,Ze,"--location-type")}))?.dates_with_events||[];return{data:{year:o,month:s,dates_with_events:u},pretty:()=>u.length?`${o} \u5E74 ${s} \u6708\u6709\u6D3B\u52A8\u7684\u65E5\u5B50\uFF1A${u.join("\u3001")}`:`${o} \u5E74 ${s} \u6708\u6CA1\u6709\u6D3B\u52A8`}})}),e.command("upcoming").description("\u5373\u5C06\u5F00\u59CB\u7684\u6D3B\u52A8\uFF08\u8BE6\u60C5\u9875\u300C\u66F4\u591A\u6D3B\u52A8\u300D\u7528\u7684\u90A3\u6279\uFF0C\u6700\u591A 10 \u6761\uFF09").option("--exclude <idOrSlug>","\u6392\u9664\u67D0\u4E2A\u6D3B\u52A8").option("--limit <n>","\u6761\u6570\uFF0C1-10","5").action(async(n,r)=>{await _(r,async i=>{let o=Ae(n.limit,"--limit",5,1,10),s=n.exclude?await it(i,n.exclude):void 0,u=(await et.more(i.client,{limit:o,exclude_id:s}))?.items||[];return{data:u,meta:{count:u.length},pretty:()=>u.length?u.map(l=>ee(l,i.siteUrl)).join(`
82
+ `):"\uFF08\u7A7A\uFF09"}})}),z(e.command("hosted <userIdOrName>").description("\u67D0\u4E2A\u7528\u6237\u4E3B\u529E\u7684\u6D3B\u52A8").option("--period <period>","future\uFF08\u540E\u7AEF\u9ED8\u8BA4\uFF09| past")).action(async(n,r,i)=>{await _(i,async o=>{let{skip:s,limit:a}=B(r),u=await et.hostedBy(o.client,n,{skip:s,limit:a,period:ut(r.period,In,"--period")})||{};return J(u,l=>ee(l,o.siteUrl),s,a)})}),z(e.command("mine").description("\u6211\u7684\u6D3B\u52A8\uFF1A\u62A5\u540D\u7684 / \u6211\u7BA1\u7406\u7684 / \u6211\u8D1F\u8D23\u7B7E\u5230\u7684").option("--role <role>","registered\uFF08\u9ED8\u8BA4\uFF0C\u6211\u62A5\u540D\u7684\uFF09| managed\uFF08\u6211\u7BA1\u7406\u7684\uFF09| checkin\uFF08\u6211\u8D1F\u8D23\u7B7E\u5230\u7684\uFF09","registered").option("--period <period>","future | past\uFF1B\u540E\u7AEF\u9ED8\u8BA4\u53EA\u7ED9 future\uFF0C\u8981\u770B\u8FC7\u53BB\u7684\u6D3B\u52A8\u5FC5\u987B\u663E\u5F0F\u4F20 past").option("--status <status>","\u62A5\u540D\u72B6\u6001\uFF1Aall\uFF08\u9ED8\u8BA4\uFF09| pending_approval | approved | rejected\uFF08\u4EC5 --role registered\uFF09")).action(async(n,r)=>{await _(r,async i=>{let{skip:o,limit:s}=B(n),a=ut(n.role,Ka,"--role")||"registered",u=ut(n.period,In,"--period");if(n.status!==void 0&&a!=="registered")throw b("--status \u53EA\u5728 --role registered \u65F6\u6709\u6548");let l=ut(n.status,Ya,"--status"),c={skip:o,limit:s,period:u,...l?{status:l}:{}},d=a==="managed"?await et.myManaged(i.client,c):a==="checkin"?await et.myCheckIn(i.client,c):await et.myRegistered(i.client,c);return J(d||{},p=>ee(p,i.siteUrl),o,s,void 0,void 0,{role:a})})}),e.command("form <idOrSlug>").description("\u62A5\u540D\u524D\u5148\u770B\u8FD9\u4E2A\uFF1A\u62A5\u540D\u65B9\u5F0F\u3001\u7968\u6863\u3001\u8981\u586B\u54EA\u4E9B\u5B57\u6BB5\u548C\u95EE\u9898\u3001\u6211\u5F53\u524D\u7684\u62A5\u540D\u72B6\u6001").action(async(n,r,i)=>{await _(i,async o=>{let s=await it(o,n);return{data:await et.registration(o.client,s),meta:{activity_id:s},pretty:u=>Wn(u)}})}),e.command("register <idOrSlug>").description("\u62A5\u540D\uFF08\u4EC5\u7AD9\u5185\u62A5\u540D\u7684\u6D3B\u52A8\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--ticket <idOrName>","\u7968\u6863\uFF1B\u53EA\u6709\u4E00\u4E2A\u53EF\u9009\u7968\u6863\u65F6\u53EF\u7701\u7565").option("--field <\u7C7B\u578B=\u503C...>","\u5E73\u53F0\u5B57\u6BB5\uFF0C\u5982 --field name=\u5F20\u4E09 --field phone=13800138000",go,[]).option("--answer <\u9898\u53F7\u6216ID=\u7B54\u6848...>","\u4E3B\u529E\u65B9\u7684\u95EE\u9898\uFF0C\u591A\u9009\u7528\u9017\u53F7\u5206\u9694\u9009\u9879",go,[]).option("--form <file>","\u6574\u5305\u7ED9 {ticket_type_id, field_values, question_answers} \u7684 JSON").action(async(n,r,i)=>{await _(i,async o=>{let s=await it(o,n),a=await et.registration(o.client,s);await Xa(o,a,n);let u=a.guest||null,l=u?w(u.status,""):"";if(l==="pending_approval"||l==="approved")throw b(`\u4F60\u5DF2\u7ECF\u62A5\u8FC7\u540D\u4E86\uFF08${l==="approved"?"\u5DF2\u901A\u8FC7":"\u5F85\u4E3B\u529E\u65B9\u5BA1\u6838"}\uFF09`,`\u8981\u6539\u62A5\u540D\u5185\u5BB9\uFF0C\u5148 watcha activity unregister ${n} \u518D\u91CD\u65B0\u62A5`);let c=l==="rejected";if(!c&&a.can_register===!1)throw b("\u8FD9\u4E2A\u6D3B\u52A8\u5F53\u524D\u4E0D\u80FD\u62A5\u540D","\u53EF\u80FD\u6CA1\u5230\u62A5\u540D\u65F6\u95F4\u3001\u5DF2\u622A\u6B62\uFF0C\u6216\u6CA1\u6709\u5728\u552E\u7684\u7968\u6863\uFF1Bwatcha activity form \u770B\u7968\u6863\u7684\u552E\u5356\u65F6\u95F4");let d=r.form?await eo(r.form):void 0,m=!r.form&&!r.field?.length&&!r.answer?.length&&Lt()?await no(a):void 0,g=to(a,{...r,ticket:r.ticket??d?.ticket},{fieldValues:[...d?.fieldValues||[],...m?.fieldValues||[]],answers:[...d?.answers||[],...m?.answers||[]]}),{questions:y}=qn(a);await ft(o,c?"\u91CD\u65B0\u63D0\u4EA4\u62A5\u540D":"\u62A5\u540D",ro(g,a,y));let $=(c?await et.resubmit(o.client,s,g):await et.register(o.client,s,g))||{},v=$.ticket||null;return{data:{activity_id:s,guest_id:$.id,status:$.status,resubmitted:c,ticket_code:v?.code},pretty:()=>[`\u5DF2${c?"\u91CD\u65B0\u63D0\u4EA4":"\u63D0\u4EA4"}\u62A5\u540D\uFF1A${w($.status)==="approved"?"\u5DF2\u901A\u8FC7\uFF0C\u7968\u5DF2\u51FA":"\u5F85\u4E3B\u529E\u65B9\u5BA1\u6838"}`,v?.code?`\u7968\u7801\uFF1A${w(v.code)}\uFF08\u73B0\u573A\u7B7E\u5230\u7528\uFF0C\u522B\u5916\u4F20\uFF09`:"",`\u67E5\u770B\uFF1Awatcha activity form ${n}`].filter(Boolean).join(`
83
+ `)}})}),e.command("unregister <idOrSlug>").description("\u53D6\u6D88\u62A5\u540D\uFF08\u7269\u7406\u5220\u9664\u62A5\u540D\u8BB0\u5F55\uFF0C\u53D6\u6D88\u540E\u8981\u91CD\u65B0\u62A5\u540D\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").action(async(n,r,i)=>{await _(i,async o=>{let s=await it(o,n),u=(await et.registration(o.client,s)).guest||null;if(!u)throw b(`\u4F60\u6CA1\u6709\u62A5\u540D\u300C${n}\u300D`,"\u7528 watcha activity mine \u770B\u81EA\u5DF1\u62A5\u4E86\u54EA\u4E9B\u6D3B\u52A8");if((u.ticket||null)?.checked_in_at)throw b("\u5DF2\u7ECF\u7B7E\u5230\u8FC7\u7684\u62A5\u540D\u4E0D\u80FD\u53D6\u6D88");return await ft(o,"\u53D6\u6D88\u62A5\u540D",[`\u6D3B\u52A8\uFF1A${n}`,`\u5F53\u524D\u72B6\u6001\uFF1A${Dn(u.status)}`,"\u53D6\u6D88\u662F\u5220\u9664\u62A5\u540D\u8BB0\u5F55\uFF0C\u4E0D\u53EF\u64A4\u9500\uFF1B\u4E4B\u540E\u60F3\u53C2\u52A0\u8981\u91CD\u65B0\u62A5\u540D"].join(`
84
+ `)),await et.cancelRegistration(o.client,s),{data:{activity_id:s,guest_id:u.id,canceled:!0},pretty:()=>"\u5DF2\u53D6\u6D88\u62A5\u540D"}})})}function go(t,e){return[...e,t]}async function Xa(t,e,n){let r=w(e.mode,"");if(r!=="internal"){if(r==="external"){let i=await et.show(t.client,n).catch(()=>({})),o=w(i.registration_url,"");throw b(`\u300C${n}\u300D\u662F\u5916\u94FE\u62A5\u540D\uFF0CCLI \u62A5\u4E0D\u4E86\u540D`,o?`\u5230\u8FD9\u91CC\u62A5\u540D\uFF1A${o}`:`\u62A5\u540D\u94FE\u63A5\u89C1 watcha activity show ${n}`)}throw b(`\u300C${n}\u300D\u6CA1\u6709\u5F00\u653E\u7AD9\u5185\u62A5\u540D`,"\u4E3B\u529E\u65B9\u628A\u62A5\u540D\u5173\u4E86\uFF0C\u6216\u53EA\u5728\u6D3B\u52A8\u9875\u4E0A\u7559\u4E86\u8054\u7CFB\u65B9\u5F0F\uFF1B\u7528 watcha activity show \u770B\u8BE6\u60C5")}}import ri from"node:fs/promises";import ni from"node:path";var Za={};function Or(t,e){let n=e||Za,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return ko(t,r,i)}function ko(t,e,n){if(tu(t)){if("value"in t)return t.type==="html"&&!n?"":t.value;if(e&&"alt"in t&&t.alt)return t.alt;if("children"in t)return wo(t.children,e,n)}return Array.isArray(t)?wo(t,e,n):""}function wo(t,e,n){let r=[],i=-1;for(;++i<t.length;)r[i]=ko(t[i],e,n);return r.join("")}function tu(t){return!!(t&&typeof t=="object")}var Pr={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
85
+ `,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var eu={}.hasOwnProperty;function Ie(t){return eu.call(Pr,t)?Pr[t]:!1}function pt(t,e,n,r){let i=t.length,o=0,s;if(e<0?e=-e>i?0:i+e:e=e>i?i:e,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(e,n),t.splice(...s);else for(n&&t.splice(e,n);o<r.length;)s=r.slice(o,o+1e4),s.unshift(e,0),t.splice(...s),o+=1e4,e+=1e4}function yt(t,e){return t.length>0?(pt(t,t.length,0,e),t):e}var bo={}.hasOwnProperty;function _o(t){let e={},n=-1;for(;++n<t.length;)nu(e,t[n]);return e}function nu(t,e){let n;for(n in e){let i=(bo.call(t,n)?t[n]:void 0)||(t[n]={}),o=e[n],s;if(o)for(s in o){bo.call(i,s)||(i[s]=[]);let a=o[s];ru(i[s],Array.isArray(a)?a:a?[a]:[])}}}function ru(t,e){let n=-1,r=[];for(;++n<e.length;)(e[n].add==="after"?t:r).push(e[n]);pt(t,0,0,r)}function Fn(t,e){let n=Number.parseInt(t,e);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function zt(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Ct=re(/[A-Za-z]/),wt=re(/[\dA-Za-z]/),xo=re(/[#-'*+\--9=?A-Z^-~]/);function tn(t){return t!==null&&(t<32||t===127)}var en=re(/\d/),Co=re(/[\dA-Fa-f]/),vo=re(/[!-/:-@[-`{-~]/);function E(t){return t!==null&&t<-2}function ot(t){return t!==null&&(t<0||t===32)}function q(t){return t===-2||t===-1||t===32}var $o=re(new RegExp("\\p{P}|\\p{S}","u")),So=re(/\s/);function re(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function R(t,e,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,o=0;return s;function s(u){return q(u)?(t.enter(n),a(u)):e(u)}function a(u){return q(u)&&o++<i?(t.consume(u),a):(t.exit(n),e(u))}}var Eo={tokenize:iu};function iu(t){let e=t.attempt(this.parser.constructs.contentInitial,r,i),n;return e;function r(a){if(a===null){t.consume(a);return}return t.enter("lineEnding"),t.consume(a),t.exit("lineEnding"),R(t,e,"linePrefix")}function i(a){return t.enter("paragraph"),o(a)}function o(a){let u=t.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=u),n=u,s(a)}function s(a){if(a===null){t.exit("chunkText"),t.exit("paragraph"),t.consume(a);return}return E(a)?(t.consume(a),t.exit("chunkText"),o):(t.consume(a),s)}}var Ao={tokenize:ou},To={tokenize:su};function ou(t){let e=this,n=[],r=0,i,o,s;return a;function a(C){if(r<n.length){let O=n[r];return e.containerState=O[1],t.attempt(O[0].continuation,u,l)(C)}return l(C)}function u(C){if(r++,e.containerState._closeFlow){e.containerState._closeFlow=void 0,i&&U();let O=e.events.length,N=O,x;for(;N--;)if(e.events[N][0]==="exit"&&e.events[N][1].type==="chunkFlow"){x=e.events[N][1].end;break}v(r);let T=O;for(;T<e.events.length;)e.events[T][1].end={...x},T++;return pt(e.events,N+1,0,e.events.slice(O)),e.events.length=T,l(C)}return a(C)}function l(C){if(r===n.length){if(!i)return p(C);if(i.currentConstruct&&i.currentConstruct.concrete)return g(C);e.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return e.containerState={},t.check(To,c,d)(C)}function c(C){return i&&U(),v(r),p(C)}function d(C){return e.parser.lazy[e.now().line]=r!==n.length,s=e.now().offset,g(C)}function p(C){return e.containerState={},t.attempt(To,m,g)(C)}function m(C){return r++,n.push([e.currentConstruct,e.containerState]),p(C)}function g(C){if(C===null){i&&U(),v(0),t.consume(C);return}return i=i||e.parser.flow(e.now()),t.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:o}),y(C)}function y(C){if(C===null){$(t.exit("chunkFlow"),!0),v(0),t.consume(C);return}return E(C)?(t.consume(C),$(t.exit("chunkFlow")),r=0,e.interrupt=void 0,a):(t.consume(C),y)}function $(C,O){let N=e.sliceStream(C);if(O&&N.push(null),C.previous=o,o&&(o.next=C),o=C,i.defineSkip(C.start),i.write(N),e.parser.lazy[C.start.line]){let x=i.events.length;for(;x--;)if(i.events[x][1].start.offset<s&&(!i.events[x][1].end||i.events[x][1].end.offset>s))return;let T=e.events.length,rt=T,L,tt;for(;rt--;)if(e.events[rt][0]==="exit"&&e.events[rt][1].type==="chunkFlow"){if(L){tt=e.events[rt][1].end;break}L=!0}for(v(r),x=T;x<e.events.length;)e.events[x][1].end={...tt},x++;pt(e.events,rt+1,0,e.events.slice(T)),e.events.length=x}}function v(C){let O=n.length;for(;O-- >C;){let N=n[O];e.containerState=N[1],N[0].exit.call(e,t)}n.length=C}function U(){i.write([null]),o=void 0,i=void 0,e.containerState._closeFlow=void 0}}function su(t,e,n){return R(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function qr(t){if(t===null||ot(t)||So(t))return 1;if($o(t))return 2}function Re(t,e,n){let r=[],i=-1;for(;++i<t.length;){let o=t[i].resolveAll;o&&!r.includes(o)&&(e=o(e,n),r.push(o))}return e}var nn={name:"attention",resolveAll:au,tokenize:uu};function au(t,e){let n=-1,r,i,o,s,a,u,l,c;for(;++n<t.length;)if(t[n][0]==="enter"&&t[n][1].type==="attentionSequence"&&t[n][1]._close){for(r=n;r--;)if(t[r][0]==="exit"&&t[r][1].type==="attentionSequence"&&t[r][1]._open&&e.sliceSerialize(t[r][1]).charCodeAt(0)===e.sliceSerialize(t[n][1]).charCodeAt(0)){if((t[r][1]._close||t[n][1]._open)&&(t[n][1].end.offset-t[n][1].start.offset)%3&&!((t[r][1].end.offset-t[r][1].start.offset+t[n][1].end.offset-t[n][1].start.offset)%3))continue;u=t[r][1].end.offset-t[r][1].start.offset>1&&t[n][1].end.offset-t[n][1].start.offset>1?2:1;let d={...t[r][1].end},p={...t[n][1].start};Oo(d,-u),Oo(p,u),s={type:u>1?"strongSequence":"emphasisSequence",start:d,end:{...t[r][1].end}},a={type:u>1?"strongSequence":"emphasisSequence",start:{...t[n][1].start},end:p},o={type:u>1?"strongText":"emphasisText",start:{...t[r][1].end},end:{...t[n][1].start}},i={type:u>1?"strong":"emphasis",start:{...s.start},end:{...a.end}},t[r][1].end={...s.start},t[n][1].start={...a.end},l=[],t[r][1].end.offset-t[r][1].start.offset&&(l=yt(l,[["enter",t[r][1],e],["exit",t[r][1],e]])),l=yt(l,[["enter",i,e],["enter",s,e],["exit",s,e],["enter",o,e]]),l=yt(l,Re(e.parser.constructs.insideSpan.null,t.slice(r+1,n),e)),l=yt(l,[["exit",o,e],["enter",a,e],["exit",a,e],["exit",i,e]]),t[n][1].end.offset-t[n][1].start.offset?(c=2,l=yt(l,[["enter",t[n][1],e],["exit",t[n][1],e]])):c=0,pt(t,r-1,n-r+3,l),n=r+l.length-c-2;break}}for(n=-1;++n<t.length;)t[n][1].type==="attentionSequence"&&(t[n][1].type="data");return t}function uu(t,e){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=qr(r),o;return s;function s(u){return o=u,t.enter("attentionSequence"),a(u)}function a(u){if(u===o)return t.consume(u),a;let l=t.exit("attentionSequence"),c=qr(u),d=!c||c===2&&i||n.includes(u),p=!i||i===2&&c||n.includes(r);return l._open=!!(o===42?d:d&&(i||!p)),l._close=!!(o===42?p:p&&(c||!d)),e(u)}}function Oo(t,e){t.column+=e,t.offset+=e,t._bufferIndex+=e}var Ir={name:"autolink",tokenize:cu};function cu(t,e,n){let r=0;return i;function i(m){return t.enter("autolink"),t.enter("autolinkMarker"),t.consume(m),t.exit("autolinkMarker"),t.enter("autolinkProtocol"),o}function o(m){return Ct(m)?(t.consume(m),s):m===64?n(m):l(m)}function s(m){return m===43||m===45||m===46||wt(m)?(r=1,a(m)):l(m)}function a(m){return m===58?(t.consume(m),r=0,u):(m===43||m===45||m===46||wt(m))&&r++<32?(t.consume(m),a):(r=0,l(m))}function u(m){return m===62?(t.exit("autolinkProtocol"),t.enter("autolinkMarker"),t.consume(m),t.exit("autolinkMarker"),t.exit("autolink"),e):m===null||m===32||m===60||tn(m)?n(m):(t.consume(m),u)}function l(m){return m===64?(t.consume(m),c):xo(m)?(t.consume(m),l):n(m)}function c(m){return wt(m)?d(m):n(m)}function d(m){return m===46?(t.consume(m),r=0,c):m===62?(t.exit("autolinkProtocol").type="autolinkEmail",t.enter("autolinkMarker"),t.consume(m),t.exit("autolinkMarker"),t.exit("autolink"),e):p(m)}function p(m){if((m===45||wt(m))&&r++<63){let g=m===45?p:d;return t.consume(m),g}return n(m)}}var ie={partial:!0,tokenize:lu};function lu(t,e,n){return r;function r(o){return q(o)?R(t,i,"linePrefix")(o):i(o)}function i(o){return o===null||E(o)?e(o):n(o)}}var Jn={continuation:{tokenize:pu},exit:mu,name:"blockQuote",tokenize:du};function du(t,e,n){let r=this;return i;function i(s){if(s===62){let a=r.containerState;return a.open||(t.enter("blockQuote",{_container:!0}),a.open=!0),t.enter("blockQuotePrefix"),t.enter("blockQuoteMarker"),t.consume(s),t.exit("blockQuoteMarker"),o}return n(s)}function o(s){return q(s)?(t.enter("blockQuotePrefixWhitespace"),t.consume(s),t.exit("blockQuotePrefixWhitespace"),t.exit("blockQuotePrefix"),e):(t.exit("blockQuotePrefix"),e(s))}}function pu(t,e,n){let r=this;return i;function i(s){return q(s)?R(t,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s):o(s)}function o(s){return t.attempt(Jn,e,n)(s)}}function mu(t){t.exit("blockQuote")}var Bn={name:"characterEscape",tokenize:fu};function fu(t,e,n){return r;function r(o){return t.enter("characterEscape"),t.enter("escapeMarker"),t.consume(o),t.exit("escapeMarker"),i}function i(o){return vo(o)?(t.enter("characterEscapeValue"),t.consume(o),t.exit("characterEscapeValue"),t.exit("characterEscape"),e):n(o)}}var jn={name:"characterReference",tokenize:hu};function hu(t,e,n){let r=this,i=0,o,s;return a;function a(d){return t.enter("characterReference"),t.enter("characterReferenceMarker"),t.consume(d),t.exit("characterReferenceMarker"),u}function u(d){return d===35?(t.enter("characterReferenceMarkerNumeric"),t.consume(d),t.exit("characterReferenceMarkerNumeric"),l):(t.enter("characterReferenceValue"),o=31,s=wt,c(d))}function l(d){return d===88||d===120?(t.enter("characterReferenceMarkerHexadecimal"),t.consume(d),t.exit("characterReferenceMarkerHexadecimal"),t.enter("characterReferenceValue"),o=6,s=Co,c):(t.enter("characterReferenceValue"),o=7,s=en,c(d))}function c(d){if(d===59&&i){let p=t.exit("characterReferenceValue");return s===wt&&!Ie(r.sliceSerialize(p))?n(d):(t.enter("characterReferenceMarker"),t.consume(d),t.exit("characterReferenceMarker"),t.exit("characterReference"),e)}return s(d)&&i++<o?(t.consume(d),c):n(d)}}var Po={partial:!0,tokenize:yu},Vn={concrete:!0,name:"codeFenced",tokenize:gu};function gu(t,e,n){let r=this,i={partial:!0,tokenize:N},o=0,s=0,a;return u;function u(x){return l(x)}function l(x){let T=r.events[r.events.length-1];return o=T&&T[1].type==="linePrefix"?T[2].sliceSerialize(T[1],!0).length:0,a=x,t.enter("codeFenced"),t.enter("codeFencedFence"),t.enter("codeFencedFenceSequence"),c(x)}function c(x){return x===a?(s++,t.consume(x),c):s<3?n(x):(t.exit("codeFencedFenceSequence"),q(x)?R(t,d,"whitespace")(x):d(x))}function d(x){return x===null||E(x)?(t.exit("codeFencedFence"),r.interrupt?e(x):t.check(Po,y,O)(x)):(t.enter("codeFencedFenceInfo"),t.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===null||E(x)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),d(x)):q(x)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),R(t,m,"whitespace")(x)):x===96&&x===a?n(x):(t.consume(x),p)}function m(x){return x===null||E(x)?d(x):(t.enter("codeFencedFenceMeta"),t.enter("chunkString",{contentType:"string"}),g(x))}function g(x){return x===null||E(x)?(t.exit("chunkString"),t.exit("codeFencedFenceMeta"),d(x)):x===96&&x===a?n(x):(t.consume(x),g)}function y(x){return t.attempt(i,O,$)(x)}function $(x){return t.enter("lineEnding"),t.consume(x),t.exit("lineEnding"),v}function v(x){return o>0&&q(x)?R(t,U,"linePrefix",o+1)(x):U(x)}function U(x){return x===null||E(x)?t.check(Po,y,O)(x):(t.enter("codeFlowValue"),C(x))}function C(x){return x===null||E(x)?(t.exit("codeFlowValue"),U(x)):(t.consume(x),C)}function O(x){return t.exit("codeFenced"),e(x)}function N(x,T,rt){let L=0;return tt;function tt(M){return x.enter("lineEnding"),x.consume(M),x.exit("lineEnding"),$t}function $t(M){return x.enter("codeFencedFence"),q(M)?R(x,Y,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):Y(M)}function Y(M){return M===a?(x.enter("codeFencedFenceSequence"),P(M)):rt(M)}function P(M){return M===a?(L++,x.consume(M),P):L>=s?(x.exit("codeFencedFenceSequence"),q(M)?R(x,D,"whitespace")(M):D(M)):rt(M)}function D(M){return M===null||E(M)?(x.exit("codeFencedFence"),T(M)):rt(M)}}}function yu(t,e,n){let r=this;return i;function i(s){return s===null?n(s):(t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),o)}function o(s){return r.parser.lazy[r.now().line]?n(s):e(s)}}var rn={name:"codeIndented",tokenize:ku},wu={partial:!0,tokenize:bu};function ku(t,e,n){let r=this;return i;function i(l){return t.enter("codeIndented"),R(t,o,"linePrefix",5)(l)}function o(l){let c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?s(l):n(l)}function s(l){return l===null?u(l):E(l)?t.attempt(wu,s,u)(l):(t.enter("codeFlowValue"),a(l))}function a(l){return l===null||E(l)?(t.exit("codeFlowValue"),s(l)):(t.consume(l),a)}function u(l){return t.exit("codeIndented"),e(l)}}function bu(t,e,n){let r=this;return i;function i(s){return r.parser.lazy[r.now().line]?n(s):E(s)?(t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),i):R(t,o,"linePrefix",5)(s)}function o(s){let a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?e(s):E(s)?i(s):n(s)}}var Rr={name:"codeText",previous:xu,resolve:_u,tokenize:Cu};function _u(t){let e=t.length-4,n=3,r,i;if((t[n][1].type==="lineEnding"||t[n][1].type==="space")&&(t[e][1].type==="lineEnding"||t[e][1].type==="space")){for(r=n;++r<e;)if(t[r][1].type==="codeTextData"){t[n][1].type="codeTextPadding",t[e][1].type="codeTextPadding",n+=2,e-=2;break}}for(r=n-1,e++;++r<=e;)i===void 0?r!==e&&t[r][1].type!=="lineEnding"&&(i=r):(r===e||t[r][1].type==="lineEnding")&&(t[i][1].type="codeTextData",r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),e-=r-i-2,r=i+2),i=void 0);return t}function xu(t){return t!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Cu(t,e,n){let r=this,i=0,o,s;return a;function a(p){return t.enter("codeText"),t.enter("codeTextSequence"),u(p)}function u(p){return p===96?(t.consume(p),i++,u):(t.exit("codeTextSequence"),l(p))}function l(p){return p===null?n(p):p===32?(t.enter("space"),t.consume(p),t.exit("space"),l):p===96?(s=t.enter("codeTextSequence"),o=0,d(p)):E(p)?(t.enter("lineEnding"),t.consume(p),t.exit("lineEnding"),l):(t.enter("codeTextData"),c(p))}function c(p){return p===null||p===32||p===96||E(p)?(t.exit("codeTextData"),l(p)):(t.consume(p),c)}function d(p){return p===96?(t.consume(p),o++,d):o===i?(t.exit("codeTextSequence"),t.exit("codeText"),e(p)):(s.type="codeTextData",c(p))}}var Hn=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,n){let r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(e,r):e>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(e,n,r){let i=n||0;this.setCursor(Math.trunc(e));let o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&on(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),on(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),on(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let n=this.left.splice(e,Number.POSITIVE_INFINITY);on(this.right,n.reverse())}else{let n=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);on(this.left,n.reverse())}}};function on(t,e){let n=0;if(e.length<1e4)t.push(...e);else for(;n<e.length;)t.push(...e.slice(n,n+1e4)),n+=1e4}function Gn(t){let e={},n=-1,r,i,o,s,a,u,l,c=new Hn(t);for(;++n<c.length;){for(;n in e;)n=e[n];if(r=c.get(n),n&&r[1].type==="chunkFlow"&&c.get(n-1)[1].type==="listItemPrefix"&&(u=r[1]._tokenizer.events,o=0,o<u.length&&u[o][1].type==="lineEndingBlank"&&(o+=2),o<u.length&&u[o][1].type==="content"))for(;++o<u.length&&u[o][1].type!=="content";)u[o][1].type==="chunkText"&&(u[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(e,vu(c,n)),n=e[n],l=!0);else if(r[1]._container){for(o=n,i=void 0;o--;)if(s=c.get(o),s[1].type==="lineEnding"||s[1].type==="lineEndingBlank")s[0]==="enter"&&(i&&(c.get(i)[1].type="lineEndingBlank"),s[1].type="lineEnding",i=o);else if(!(s[1].type==="linePrefix"||s[1].type==="listItemIndent"))break;i&&(r[1].end={...c.get(i)[1].start},a=c.slice(i,n),a.unshift(r),c.splice(i,n-i+1,a))}}return pt(t,0,Number.POSITIVE_INFINITY,c.slice(0)),!l}function vu(t,e){let n=t.get(e)[1],r=t.get(e)[2],i=e-1,o=[],s=n._tokenizer;s||(s=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(s._contentTypeTextTrailing=!0));let a=s.events,u=[],l={},c,d,p=-1,m=n,g=0,y=0,$=[y];for(;m;){for(;t.get(++i)[1]!==m;);o.push(i),m._tokenizer||(c=r.sliceStream(m),m.next||c.push(null),d&&s.defineSkip(m.start),m._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(c),m._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),d=m,m=m.next}for(m=n;++p<a.length;)a[p][0]==="exit"&&a[p-1][0]==="enter"&&a[p][1].type===a[p-1][1].type&&a[p][1].start.line!==a[p][1].end.line&&(y=p+1,$.push(y),m._tokenizer=void 0,m.previous=void 0,m=m.next);for(s.events=[],m?(m._tokenizer=void 0,m.previous=void 0):$.pop(),p=$.length;p--;){let v=a.slice($[p],$[p+1]),U=o.pop();u.push([U,U+v.length-1]),t.splice(U,2,v)}for(u.reverse(),p=-1;++p<u.length;)l[g+u[p][0]]=g+u[p][1],g+=u[p][1]-u[p][0]-1;return l}var Nr={resolve:Su,tokenize:Eu},$u={partial:!0,tokenize:Tu};function Su(t){return Gn(t),t}function Eu(t,e){let n;return r;function r(a){return t.enter("content"),n=t.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?o(a):E(a)?t.check($u,s,o)(a):(t.consume(a),i)}function o(a){return t.exit("chunkContent"),t.exit("content"),e(a)}function s(a){return t.consume(a),t.exit("chunkContent"),n.next=t.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function Tu(t,e,n){let r=this;return i;function i(s){return t.exit("chunkContent"),t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),R(t,o,"linePrefix")}function o(s){if(s===null||E(s))return n(s);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?e(s):t.interrupt(r.parser.constructs.flow,n,e)(s)}}function zn(t,e,n,r,i,o,s,a,u){let l=u||Number.POSITIVE_INFINITY,c=0;return d;function d(v){return v===60?(t.enter(r),t.enter(i),t.enter(o),t.consume(v),t.exit(o),p):v===null||v===32||v===41||tn(v)?n(v):(t.enter(r),t.enter(s),t.enter(a),t.enter("chunkString",{contentType:"string"}),y(v))}function p(v){return v===62?(t.enter(o),t.consume(v),t.exit(o),t.exit(i),t.exit(r),e):(t.enter(a),t.enter("chunkString",{contentType:"string"}),m(v))}function m(v){return v===62?(t.exit("chunkString"),t.exit(a),p(v)):v===null||v===60||E(v)?n(v):(t.consume(v),v===92?g:m)}function g(v){return v===60||v===62||v===92?(t.consume(v),m):m(v)}function y(v){return!c&&(v===null||v===41||ot(v))?(t.exit("chunkString"),t.exit(a),t.exit(s),t.exit(r),e(v)):c<l&&v===40?(t.consume(v),c++,y):v===41?(t.consume(v),c--,y):v===null||v===32||v===40||tn(v)?n(v):(t.consume(v),v===92?$:y)}function $(v){return v===40||v===41||v===92?(t.consume(v),y):y(v)}}function Qn(t,e,n,r,i,o){let s=this,a=0,u;return l;function l(m){return t.enter(r),t.enter(i),t.consume(m),t.exit(i),t.enter(o),c}function c(m){return a>999||m===null||m===91||m===93&&!u||m===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?n(m):m===93?(t.exit(o),t.enter(i),t.consume(m),t.exit(i),t.exit(r),e):E(m)?(t.enter("lineEnding"),t.consume(m),t.exit("lineEnding"),c):(t.enter("chunkString",{contentType:"string"}),d(m))}function d(m){return m===null||m===91||m===93||E(m)||a++>999?(t.exit("chunkString"),c(m)):(t.consume(m),u||(u=!q(m)),m===92?p:d)}function p(m){return m===91||m===92||m===93?(t.consume(m),a++,d):d(m)}}function Kn(t,e,n,r,i,o){let s;return a;function a(p){return p===34||p===39||p===40?(t.enter(r),t.enter(i),t.consume(p),t.exit(i),s=p===40?41:p,u):n(p)}function u(p){return p===s?(t.enter(i),t.consume(p),t.exit(i),t.exit(r),e):(t.enter(o),l(p))}function l(p){return p===s?(t.exit(o),u(s)):p===null?n(p):E(p)?(t.enter("lineEnding"),t.consume(p),t.exit("lineEnding"),R(t,l,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===s||p===null||E(p)?(t.exit("chunkString"),l(p)):(t.consume(p),p===92?d:c)}function d(p){return p===s||p===92?(t.consume(p),c):c(p)}}function ge(t,e){let n;return r;function r(i){return E(i)?(t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),n=!0,r):q(i)?R(t,r,n?"linePrefix":"lineSuffix")(i):e(i)}}var Lr={name:"definition",tokenize:Ou},Au={partial:!0,tokenize:Pu};function Ou(t,e,n){let r=this,i;return o;function o(m){return t.enter("definition"),s(m)}function s(m){return Qn.call(r,t,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function a(m){return i=zt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),m===58?(t.enter("definitionMarker"),t.consume(m),t.exit("definitionMarker"),u):n(m)}function u(m){return ot(m)?ge(t,l)(m):l(m)}function l(m){return zn(t,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function c(m){return t.attempt(Au,d,d)(m)}function d(m){return q(m)?R(t,p,"whitespace")(m):p(m)}function p(m){return m===null||E(m)?(t.exit("definition"),r.parser.defined.push(i),e(m)):n(m)}}function Pu(t,e,n){return r;function r(a){return ot(a)?ge(t,i)(a):n(a)}function i(a){return Kn(t,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return q(a)?R(t,s,"whitespace")(a):s(a)}function s(a){return a===null||E(a)?e(a):n(a)}}var Mr={name:"hardBreakEscape",tokenize:qu};function qu(t,e,n){return r;function r(o){return t.enter("hardBreakEscape"),t.consume(o),i}function i(o){return E(o)?(t.exit("hardBreakEscape"),e(o)):n(o)}}var Dr={name:"headingAtx",resolve:Iu,tokenize:Ru};function Iu(t,e){let n=t.length-2,r=3,i,o;return t[r][1].type==="whitespace"&&(r+=2),n-2>r&&t[n][1].type==="whitespace"&&(n-=2),t[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&t[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:t[r][1].start,end:t[n][1].end},o={type:"chunkText",start:t[r][1].start,end:t[n][1].end,contentType:"text"},pt(t,r,n-r+1,[["enter",i,e],["enter",o,e],["exit",o,e],["exit",i,e]])),t}function Ru(t,e,n){let r=0;return i;function i(c){return t.enter("atxHeading"),o(c)}function o(c){return t.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&r++<6?(t.consume(c),s):c===null||ot(c)?(t.exit("atxHeadingSequence"),a(c)):n(c)}function a(c){return c===35?(t.enter("atxHeadingSequence"),u(c)):c===null||E(c)?(t.exit("atxHeading"),e(c)):q(c)?R(t,a,"whitespace")(c):(t.enter("atxHeadingText"),l(c))}function u(c){return c===35?(t.consume(c),u):(t.exit("atxHeadingSequence"),a(c))}function l(c){return c===null||c===35||ot(c)?(t.exit("atxHeadingText"),a(c)):(t.consume(c),l)}}var qo=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ur=["pre","script","style","textarea"];var Wr={concrete:!0,name:"htmlFlow",resolveTo:Mu,tokenize:Du},Nu={partial:!0,tokenize:Wu},Lu={partial:!0,tokenize:Uu};function Mu(t){let e=t.length;for(;e--&&!(t[e][0]==="enter"&&t[e][1].type==="htmlFlow"););return e>1&&t[e-2][1].type==="linePrefix"&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t}function Du(t,e,n){let r=this,i,o,s,a,u;return l;function l(h){return c(h)}function c(h){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(h),d}function d(h){return h===33?(t.consume(h),p):h===47?(t.consume(h),o=!0,y):h===63?(t.consume(h),i=3,r.interrupt?e:f):Ct(h)?(t.consume(h),s=String.fromCharCode(h),$):n(h)}function p(h){return h===45?(t.consume(h),i=2,m):h===91?(t.consume(h),i=5,a=0,g):Ct(h)?(t.consume(h),i=4,r.interrupt?e:f):n(h)}function m(h){return h===45?(t.consume(h),r.interrupt?e:f):n(h)}function g(h){let bt="CDATA[";return h===bt.charCodeAt(a++)?(t.consume(h),a===bt.length?r.interrupt?e:Y:g):n(h)}function y(h){return Ct(h)?(t.consume(h),s=String.fromCharCode(h),$):n(h)}function $(h){if(h===null||h===47||h===62||ot(h)){let bt=h===47,ue=s.toLowerCase();return!bt&&!o&&Ur.includes(ue)?(i=1,r.interrupt?e(h):Y(h)):qo.includes(s.toLowerCase())?(i=6,bt?(t.consume(h),v):r.interrupt?e(h):Y(h)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(h):o?U(h):C(h))}return h===45||wt(h)?(t.consume(h),s+=String.fromCharCode(h),$):n(h)}function v(h){return h===62?(t.consume(h),r.interrupt?e:Y):n(h)}function U(h){return q(h)?(t.consume(h),U):tt(h)}function C(h){return h===47?(t.consume(h),tt):h===58||h===95||Ct(h)?(t.consume(h),O):q(h)?(t.consume(h),C):tt(h)}function O(h){return h===45||h===46||h===58||h===95||wt(h)?(t.consume(h),O):N(h)}function N(h){return h===61?(t.consume(h),x):q(h)?(t.consume(h),N):C(h)}function x(h){return h===null||h===60||h===61||h===62||h===96?n(h):h===34||h===39?(t.consume(h),u=h,T):q(h)?(t.consume(h),x):rt(h)}function T(h){return h===u?(t.consume(h),u=null,L):h===null||E(h)?n(h):(t.consume(h),T)}function rt(h){return h===null||h===34||h===39||h===47||h===60||h===61||h===62||h===96||ot(h)?N(h):(t.consume(h),rt)}function L(h){return h===47||h===62||q(h)?C(h):n(h)}function tt(h){return h===62?(t.consume(h),$t):n(h)}function $t(h){return h===null||E(h)?Y(h):q(h)?(t.consume(h),$t):n(h)}function Y(h){return h===45&&i===2?(t.consume(h),nt):h===60&&i===1?(t.consume(h),st):h===62&&i===4?(t.consume(h),St):h===63&&i===3?(t.consume(h),f):h===93&&i===5?(t.consume(h),Nt):E(h)&&(i===6||i===7)?(t.exit("htmlFlowData"),t.check(Nu,Wt,P)(h)):h===null||E(h)?(t.exit("htmlFlowData"),P(h)):(t.consume(h),Y)}function P(h){return t.check(Lu,D,Wt)(h)}function D(h){return t.enter("lineEnding"),t.consume(h),t.exit("lineEnding"),M}function M(h){return h===null||E(h)?P(h):(t.enter("htmlFlowData"),Y(h))}function nt(h){return h===45?(t.consume(h),f):Y(h)}function st(h){return h===47?(t.consume(h),s="",Ot):Y(h)}function Ot(h){if(h===62){let bt=s.toLowerCase();return Ur.includes(bt)?(t.consume(h),St):Y(h)}return Ct(h)&&s.length<8?(t.consume(h),s+=String.fromCharCode(h),Ot):Y(h)}function Nt(h){return h===93?(t.consume(h),f):Y(h)}function f(h){return h===62?(t.consume(h),St):h===45&&i===2?(t.consume(h),f):Y(h)}function St(h){return h===null||E(h)?(t.exit("htmlFlowData"),Wt(h)):(t.consume(h),St)}function Wt(h){return t.exit("htmlFlow"),e(h)}}function Uu(t,e,n){let r=this;return i;function i(s){return E(s)?(t.enter("lineEnding"),t.consume(s),t.exit("lineEnding"),o):n(s)}function o(s){return r.parser.lazy[r.now().line]?n(s):e(s)}}function Wu(t,e,n){return r;function r(i){return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),t.attempt(ie,e,n)}}var Fr={name:"htmlText",tokenize:Fu};function Fu(t,e,n){let r=this,i,o,s;return a;function a(f){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(f),u}function u(f){return f===33?(t.consume(f),l):f===47?(t.consume(f),N):f===63?(t.consume(f),C):Ct(f)?(t.consume(f),rt):n(f)}function l(f){return f===45?(t.consume(f),c):f===91?(t.consume(f),o=0,g):Ct(f)?(t.consume(f),U):n(f)}function c(f){return f===45?(t.consume(f),m):n(f)}function d(f){return f===null?n(f):f===45?(t.consume(f),p):E(f)?(s=d,st(f)):(t.consume(f),d)}function p(f){return f===45?(t.consume(f),m):d(f)}function m(f){return f===62?nt(f):f===45?p(f):d(f)}function g(f){let St="CDATA[";return f===St.charCodeAt(o++)?(t.consume(f),o===St.length?y:g):n(f)}function y(f){return f===null?n(f):f===93?(t.consume(f),$):E(f)?(s=y,st(f)):(t.consume(f),y)}function $(f){return f===93?(t.consume(f),v):y(f)}function v(f){return f===62?nt(f):f===93?(t.consume(f),v):y(f)}function U(f){return f===null||f===62?nt(f):E(f)?(s=U,st(f)):(t.consume(f),U)}function C(f){return f===null?n(f):f===63?(t.consume(f),O):E(f)?(s=C,st(f)):(t.consume(f),C)}function O(f){return f===62?nt(f):C(f)}function N(f){return Ct(f)?(t.consume(f),x):n(f)}function x(f){return f===45||wt(f)?(t.consume(f),x):T(f)}function T(f){return E(f)?(s=T,st(f)):q(f)?(t.consume(f),T):nt(f)}function rt(f){return f===45||wt(f)?(t.consume(f),rt):f===47||f===62||ot(f)?L(f):n(f)}function L(f){return f===47?(t.consume(f),nt):f===58||f===95||Ct(f)?(t.consume(f),tt):E(f)?(s=L,st(f)):q(f)?(t.consume(f),L):nt(f)}function tt(f){return f===45||f===46||f===58||f===95||wt(f)?(t.consume(f),tt):$t(f)}function $t(f){return f===61?(t.consume(f),Y):E(f)?(s=$t,st(f)):q(f)?(t.consume(f),$t):L(f)}function Y(f){return f===null||f===60||f===61||f===62||f===96?n(f):f===34||f===39?(t.consume(f),i=f,P):E(f)?(s=Y,st(f)):q(f)?(t.consume(f),Y):(t.consume(f),D)}function P(f){return f===i?(t.consume(f),i=void 0,M):f===null?n(f):E(f)?(s=P,st(f)):(t.consume(f),P)}function D(f){return f===null||f===34||f===39||f===60||f===61||f===96?n(f):f===47||f===62||ot(f)?L(f):(t.consume(f),D)}function M(f){return f===47||f===62||ot(f)?L(f):n(f)}function nt(f){return f===62?(t.consume(f),t.exit("htmlTextData"),t.exit("htmlText"),e):n(f)}function st(f){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(f),t.exit("lineEnding"),Ot}function Ot(f){return q(f)?R(t,Nt,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f):Nt(f)}function Nt(f){return t.enter("htmlTextData"),s(f)}}var ye={name:"labelEnd",resolveAll:Vu,resolveTo:Hu,tokenize:Gu},Ju={tokenize:zu},Bu={tokenize:Qu},ju={tokenize:Ku};function Vu(t){let e=-1,n=[];for(;++e<t.length;){let r=t[e][1];if(n.push(t[e]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){let i=r.type==="labelImage"?4:2;r.type="data",e+=i}}return t.length!==n.length&&pt(t,0,t.length,n),t}function Hu(t,e){let n=t.length,r=0,i,o,s,a;for(;n--;)if(i=t[n][1],o){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;t[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(s){if(t[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(o=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(s=n);let u={type:t[o][1].type==="labelLink"?"link":"image",start:{...t[o][1].start},end:{...t[t.length-1][1].end}},l={type:"label",start:{...t[o][1].start},end:{...t[s][1].end}},c={type:"labelText",start:{...t[o+r+2][1].end},end:{...t[s-2][1].start}};return a=[["enter",u,e],["enter",l,e]],a=yt(a,t.slice(o+1,o+r+3)),a=yt(a,[["enter",c,e]]),a=yt(a,Re(e.parser.constructs.insideSpan.null,t.slice(o+r+4,s-3),e)),a=yt(a,[["exit",c,e],t[s-2],t[s-1],["exit",l,e]]),a=yt(a,t.slice(s+1)),a=yt(a,[["exit",u,e]]),pt(t,o,t.length,a),t}function Gu(t,e,n){let r=this,i=r.events.length,o,s;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){o=r.events[i][1];break}return a;function a(p){return o?o._inactive?d(p):(s=r.parser.defined.includes(zt(r.sliceSerialize({start:o.end,end:r.now()}))),t.enter("labelEnd"),t.enter("labelMarker"),t.consume(p),t.exit("labelMarker"),t.exit("labelEnd"),u):n(p)}function u(p){return p===40?t.attempt(Ju,c,s?c:d)(p):p===91?t.attempt(Bu,c,s?l:d)(p):s?c(p):d(p)}function l(p){return t.attempt(ju,c,d)(p)}function c(p){return e(p)}function d(p){return o._balanced=!0,n(p)}}function zu(t,e,n){return r;function r(d){return t.enter("resource"),t.enter("resourceMarker"),t.consume(d),t.exit("resourceMarker"),i}function i(d){return ot(d)?ge(t,o)(d):o(d)}function o(d){return d===41?c(d):zn(t,s,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function s(d){return ot(d)?ge(t,u)(d):c(d)}function a(d){return n(d)}function u(d){return d===34||d===39||d===40?Kn(t,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):c(d)}function l(d){return ot(d)?ge(t,c)(d):c(d)}function c(d){return d===41?(t.enter("resourceMarker"),t.consume(d),t.exit("resourceMarker"),t.exit("resource"),e):n(d)}}function Qu(t,e,n){let r=this;return i;function i(a){return Qn.call(r,t,o,s,"reference","referenceMarker","referenceString")(a)}function o(a){return r.parser.defined.includes(zt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?e(a):n(a)}function s(a){return n(a)}}function Ku(t,e,n){return r;function r(o){return t.enter("reference"),t.enter("referenceMarker"),t.consume(o),t.exit("referenceMarker"),i}function i(o){return o===93?(t.enter("referenceMarker"),t.consume(o),t.exit("referenceMarker"),t.exit("reference"),e):n(o)}}var Jr={name:"labelStartImage",resolveAll:ye.resolveAll,tokenize:Yu};function Yu(t,e,n){let r=this;return i;function i(a){return t.enter("labelImage"),t.enter("labelImageMarker"),t.consume(a),t.exit("labelImageMarker"),o}function o(a){return a===91?(t.enter("labelMarker"),t.consume(a),t.exit("labelMarker"),t.exit("labelImage"),s):n(a)}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):e(a)}}var Br={name:"labelStartLink",resolveAll:ye.resolveAll,tokenize:Xu};function Xu(t,e,n){let r=this;return i;function i(s){return t.enter("labelLink"),t.enter("labelMarker"),t.consume(s),t.exit("labelMarker"),t.exit("labelLink"),o}function o(s){return s===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):e(s)}}var sn={name:"lineEnding",tokenize:Zu};function Zu(t,e){return n;function n(r){return t.enter("lineEnding"),t.consume(r),t.exit("lineEnding"),R(t,e,"linePrefix")}}var we={name:"thematicBreak",tokenize:tc};function tc(t,e,n){let r=0,i;return o;function o(l){return t.enter("thematicBreak"),s(l)}function s(l){return i=l,a(l)}function a(l){return l===i?(t.enter("thematicBreakSequence"),u(l)):r>=3&&(l===null||E(l))?(t.exit("thematicBreak"),e(l)):n(l)}function u(l){return l===i?(t.consume(l),r++,u):(t.exit("thematicBreakSequence"),q(l)?R(t,a,"whitespace")(l):a(l))}}var ht={continuation:{tokenize:ic},exit:sc,name:"list",tokenize:rc},ec={partial:!0,tokenize:ac},nc={partial:!0,tokenize:oc};function rc(t,e,n){let r=this,i=r.events[r.events.length-1],o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return a;function a(m){let g=r.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(g==="listUnordered"?!r.containerState.marker||m===r.containerState.marker:en(m)){if(r.containerState.type||(r.containerState.type=g,t.enter(g,{_container:!0})),g==="listUnordered")return t.enter("listItemPrefix"),m===42||m===45?t.check(we,n,l)(m):l(m);if(!r.interrupt||m===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),u(m)}return n(m)}function u(m){return en(m)&&++s<10?(t.consume(m),u):(!r.interrupt||s<2)&&(r.containerState.marker?m===r.containerState.marker:m===41||m===46)?(t.exit("listItemValue"),l(m)):n(m)}function l(m){return t.enter("listItemMarker"),t.consume(m),t.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||m,t.check(ie,r.interrupt?n:c,t.attempt(ec,p,d))}function c(m){return r.containerState.initialBlankLine=!0,o++,p(m)}function d(m){return q(m)?(t.enter("listItemPrefixWhitespace"),t.consume(m),t.exit("listItemPrefixWhitespace"),p):n(m)}function p(m){return r.containerState.size=o+r.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(m)}}function ic(t,e,n){let r=this;return r.containerState._closeFlow=void 0,t.check(ie,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,R(t,e,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!q(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,t.attempt(nc,e,s)(a))}function s(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,R(t,t.attempt(ht,e,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function oc(t,e,n){let r=this;return R(t,i,"listItemIndent",r.containerState.size+1);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?e(o):n(o)}}function sc(t){t.exit(this.containerState.type)}function ac(t,e,n){let r=this;return R(t,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){let s=r.events[r.events.length-1];return!q(o)&&s&&s[1].type==="listItemPrefixWhitespace"?e(o):n(o)}}var Yn={name:"setextUnderline",resolveTo:uc,tokenize:cc};function uc(t,e){let n=t.length,r,i,o;for(;n--;)if(t[n][0]==="enter"){if(t[n][1].type==="content"){r=n;break}t[n][1].type==="paragraph"&&(i=n)}else t[n][1].type==="content"&&t.splice(n,1),!o&&t[n][1].type==="definition"&&(o=n);let s={type:"setextHeading",start:{...t[r][1].start},end:{...t[t.length-1][1].end}};return t[i][1].type="setextHeadingText",o?(t.splice(i,0,["enter",s,e]),t.splice(o+1,0,["exit",t[r][1],e]),t[r][1].end={...t[o][1].end}):t[r][1]=s,t.push(["exit",s,e]),t}function cc(t,e,n){let r=this,i;return o;function o(l){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(t.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return t.enter("setextHeadingLineSequence"),a(l)}function a(l){return l===i?(t.consume(l),a):(t.exit("setextHeadingLineSequence"),q(l)?R(t,u,"lineSuffix")(l):u(l))}function u(l){return l===null||E(l)?(t.exit("setextHeadingLine"),e(l)):n(l)}}var Io={tokenize:lc};function lc(t){let e=this,n=t.attempt(ie,r,t.attempt(this.parser.constructs.flowInitial,i,R(t,t.attempt(this.parser.constructs.flow,i,t.attempt(Nr,i)),"linePrefix")));return n;function r(o){if(o===null){t.consume(o);return}return t.enter("lineEndingBlank"),t.consume(o),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n}function i(o){if(o===null){t.consume(o);return}return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),e.currentConstruct=void 0,n}}var Ro={resolveAll:Do()},No=Mo("string"),Lo=Mo("text");function Mo(t){return{resolveAll:Do(t==="text"?dc:void 0),tokenize:e};function e(n){let r=this,i=this.parser.constructs[t],o=n.attempt(i,s,a);return s;function s(c){return l(c)?o(c):a(c)}function a(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),u}function u(c){return l(c)?(n.exit("data"),o(c)):(n.consume(c),u)}function l(c){if(c===null)return!0;let d=i[c],p=-1;if(d)for(;++p<d.length;){let m=d[p];if(!m.previous||m.previous.call(r,r.previous))return!0}return!1}}}function Do(t){return e;function e(n,r){let i=-1,o;for(;++i<=n.length;)o===void 0?n[i]&&n[i][1].type==="data"&&(o=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==o+2&&(n[o][1].end=n[i-1][1].end,n.splice(o+2,i-o-2),i=o+2),o=void 0);return t?t(n,r):n}}function dc(t,e){let n=0;for(;++n<=t.length;)if((n===t.length||t[n][1].type==="lineEnding")&&t[n-1][1].type==="data"){let r=t[n-1][1],i=e.sliceStream(r),o=i.length,s=-1,a=0,u;for(;o--;){let l=i[o];if(typeof l=="string"){for(s=l.length;l.charCodeAt(s-1)===32;)a++,s--;if(s)break;s=-1}else if(l===-2)u=!0,a++;else if(l!==-1){o++;break}}if(e._contentTypeTextTrailing&&n===t.length&&(a=0),a){let l={type:n===t.length||u||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?s:r.start._bufferIndex+s,_index:r.start._index+o,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...l.start},r.start.offset===r.end.offset?Object.assign(r,l):(t.splice(n,0,["enter",l,e],["exit",l,e]),n+=2)}n++}return t}var jr={};js(jr,{attentionMarkers:()=>kc,contentInitial:()=>mc,disable:()=>bc,document:()=>pc,flow:()=>hc,flowInitial:()=>fc,insideSpan:()=>wc,string:()=>gc,text:()=>yc});var pc={42:ht,43:ht,45:ht,48:ht,49:ht,50:ht,51:ht,52:ht,53:ht,54:ht,55:ht,56:ht,57:ht,62:Jn},mc={91:Lr},fc={[-2]:rn,[-1]:rn,32:rn},hc={35:Dr,42:we,45:[Yn,we],60:Wr,61:Yn,95:we,96:Vn,126:Vn},gc={38:jn,92:Bn},yc={[-5]:sn,[-4]:sn,[-3]:sn,33:Jr,38:jn,42:nn,60:[Ir,Fr],91:Br,92:[Mr,Bn],93:ye,95:nn,96:Rr},wc={null:[nn,Ro]},kc={null:[42,95]},bc={null:[]};function Uo(t,e,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},o=[],s=[],a=[],u=!0,l={attempt:L(T),check:L(rt),consume:O,enter:N,exit:x,interrupt:L(rt,{interrupt:!0})},c={code:null,containerState:{},defineSkip:v,events:[],now:$,parser:t,previous:null,sliceSerialize:g,sliceStream:y,write:m},d=e.tokenize.call(c,l),p;return e.resolveAll&&o.push(e),c;function m(P){return s=yt(s,P),U(),s[s.length-1]!==null?[]:(tt(e,0),c.events=Re(o,c.events,c),c.events)}function g(P,D){return xc(y(P),D)}function y(P){return _c(s,P)}function $(){let{_bufferIndex:P,_index:D,line:M,column:nt,offset:st}=r;return{_bufferIndex:P,_index:D,line:M,column:nt,offset:st}}function v(P){i[P.line]=P.column,Y()}function U(){let P;for(;r._index<s.length;){let D=s[r._index];if(typeof D=="string")for(P=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===P&&r._bufferIndex<D.length;)C(D.charCodeAt(r._bufferIndex));else C(D)}}function C(P){u=void 0,p=P,d=d(P)}function O(P){E(P)?(r.line++,r.column=1,r.offset+=P===-3?2:1,Y()):P!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===s[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=P,u=!0}function N(P,D){let M=D||{};return M.type=P,M.start=$(),c.events.push(["enter",M,c]),a.push(M),M}function x(P){let D=a.pop();return D.end=$(),c.events.push(["exit",D,c]),D}function T(P,D){tt(P,D.from)}function rt(P,D){D.restore()}function L(P,D){return M;function M(nt,st,Ot){let Nt,f,St,Wt;return Array.isArray(nt)?bt(nt):"tokenize"in nt?bt([nt]):h(nt);function h(ct){return Ue;function Ue(Ft){let ce=Ft!==null&&ct[Ft],be=Ft!==null&&ct.null,sr=[...Array.isArray(ce)?ce:ce?[ce]:[],...Array.isArray(be)?be:be?[be]:[]];return bt(sr)(Ft)}}function bt(ct){return Nt=ct,f=0,ct.length===0?Ot:ue(ct[f])}function ue(ct){return Ue;function Ue(Ft){return Wt=$t(),St=ct,ct.partial||(c.currentConstruct=ct),ct.name&&c.parser.constructs.disable.null.includes(ct.name)?hn(Ft):ct.tokenize.call(D?Object.assign(Object.create(c),D):c,l,or,hn)(Ft)}}function or(ct){return u=!0,P(St,Wt),st}function hn(ct){return u=!0,Wt.restore(),++f<Nt.length?ue(Nt[f]):Ot}}}function tt(P,D){P.resolveAll&&!o.includes(P)&&o.push(P),P.resolve&&pt(c.events,D,c.events.length-D,P.resolve(c.events.slice(D),c)),P.resolveTo&&(c.events=P.resolveTo(c.events,c))}function $t(){let P=$(),D=c.previous,M=c.currentConstruct,nt=c.events.length,st=Array.from(a);return{from:nt,restore:Ot};function Ot(){r=P,c.previous=D,c.currentConstruct=M,c.events.length=nt,a=st,Y()}}function Y(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function _c(t,e){let n=e.start._index,r=e.start._bufferIndex,i=e.end._index,o=e.end._bufferIndex,s;if(n===i)s=[t[n].slice(r,o)];else{if(s=t.slice(n,i),r>-1){let a=s[0];typeof a=="string"?s[0]=a.slice(r):s.shift()}o>0&&s.push(t[i].slice(0,o))}return s}function xc(t,e){let n=-1,r=[],i;for(;++n<t.length;){let o=t[n],s;if(typeof o=="string")s=o;else switch(o){case-5:{s="\r";break}case-4:{s=`
86
+ `;break}case-3:{s=`\r
87
+ `;break}case-2:{s=e?" ":" ";break}case-1:{if(!e&&i)continue;s=" ";break}default:s=String.fromCharCode(o)}i=o===-2,r.push(s)}return r.join("")}function Vr(t){let r={constructs:_o([jr,...(t||{}).extensions||[]]),content:i(Eo),defined:[],document:i(Ao),flow:i(Io),lazy:{},string:i(No),text:i(Lo)};return r;function i(o){return s;function s(a){return Uo(r,o,a)}}}function Hr(t){for(;!Gn(t););return t}var Wo=/[\0\t\n\r]/g;function Gr(){let t=1,e="",n=!0,r;return i;function i(o,s,a){let u=[],l,c,d,p,m;for(o=e+(typeof o=="string"?o.toString():new TextDecoder(s||void 0).decode(o)),d=0,e="",n&&(o.charCodeAt(0)===65279&&d++,n=void 0);d<o.length;){if(Wo.lastIndex=d,l=Wo.exec(o),p=l&&l.index!==void 0?l.index:o.length,m=o.charCodeAt(p),!l){e=o.slice(d);break}if(m===10&&d===p&&r)u.push(-3),r=void 0;else switch(r&&(u.push(-5),r=void 0),d<p&&(u.push(o.slice(d,p)),t+=p-d),m){case 0:{u.push(65533),t++;break}case 9:{for(c=Math.ceil(t/4)*4,u.push(-2);t++<c;)u.push(-1);break}case 10:{u.push(-4),t=1;break}default:r=!0,t=1}d=p+1}return a&&(r&&u.push(-5),e&&u.push(e),u.push(null)),u}}var Cc=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Fo(t){return t.replace(Cc,vc)}function vc(t,e,n){if(e)return e;if(n.charCodeAt(0)===35){let i=n.charCodeAt(1),o=i===120||i===88;return Fn(n.slice(o?2:1),o?16:10)}return Ie(n)||t}function Ne(t){return!t||typeof t!="object"?"":"position"in t||"type"in t?Jo(t.position):"start"in t||"end"in t?Jo(t):"line"in t||"column"in t?zr(t):""}function zr(t){return Bo(t&&t.line)+":"+Bo(t&&t.column)}function Jo(t){return zr(t&&t.start)+"-"+zr(t&&t.end)}function Bo(t){return t&&typeof t=="number"?t:1}var Vo={}.hasOwnProperty;function Qr(t,e,n){return e&&typeof e=="object"&&(n=e,e=void 0),$c(n)(Hr(Vr(n).document().write(Gr()(t,e,!0))))}function $c(t){let e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(mi),autolinkProtocol:L,autolinkEmail:L,atxHeading:o(li),blockQuote:o(Ft),characterEscape:L,characterReference:L,codeFenced:o(ce),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:o(ce,s),codeText:o(be,s),codeTextData:L,data:L,codeFlowValue:L,definition:o(sr),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:o(Ls),hardBreakEscape:o(di),hardBreakTrailing:o(di),htmlFlow:o(pi,s),htmlFlowData:L,htmlText:o(pi,s),htmlTextData:L,image:o(Ms),label:s,link:o(mi),listItem:o(Ds),listItemValue:p,listOrdered:o(fi,d),listUnordered:o(fi),paragraph:o(Us),reference:h,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:o(li),strong:o(Ws),thematicBreak:o(Js)},exit:{atxHeading:u(),atxHeadingSequence:N,autolink:u(),autolinkEmail:Ue,autolinkProtocol:ct,blockQuote:u(),characterEscapeValue:tt,characterReferenceMarkerHexadecimal:ue,characterReferenceMarkerNumeric:ue,characterReferenceValue:or,characterReference:hn,codeFenced:u($),codeFencedFence:y,codeFencedFenceInfo:m,codeFencedFenceMeta:g,codeFlowValue:tt,codeIndented:u(v),codeText:u(M),codeTextData:tt,data:tt,definition:u(),definitionDestinationString:O,definitionLabelString:U,definitionTitleString:C,emphasis:u(),hardBreakEscape:u(Y),hardBreakTrailing:u(Y),htmlFlow:u(P),htmlFlowData:tt,htmlText:u(D),htmlTextData:tt,image:u(st),label:Nt,labelText:Ot,lineEnding:$t,link:u(nt),listItem:u(),listOrdered:u(),listUnordered:u(),paragraph:u(),referenceString:bt,resourceDestinationString:f,resourceTitleString:St,resource:Wt,setextHeading:u(rt),setextHeadingLineSequence:T,setextHeadingText:x,strong:u(),thematicBreak:u()}};Ho(e,(t||{}).mdastExtensions||[]);let n={};return r;function r(k){let S={type:"root",children:[]},I={stack:[S],tokenStack:[],config:e,enter:a,exit:l,buffer:s,resume:c,data:n},W=[],X=-1;for(;++X<k.length;)if(k[X][1].type==="listOrdered"||k[X][1].type==="listUnordered")if(k[X][0]==="enter")W.push(X);else{let Pt=W.pop();X=i(k,Pt,X)}for(X=-1;++X<k.length;){let Pt=e[k[X][0]];Vo.call(Pt,k[X][1].type)&&Pt[k[X][1].type].call(Object.assign({sliceSerialize:k[X][2].sliceSerialize},I),k[X][1])}if(I.tokenStack.length>0){let Pt=I.tokenStack[I.tokenStack.length-1];(Pt[1]||jo).call(I,void 0,Pt[0])}for(S.position={start:oe(k.length>0?k[0][1].start:{line:1,column:1,offset:0}),end:oe(k.length>0?k[k.length-2][1].end:{line:1,column:1,offset:0})},X=-1;++X<e.transforms.length;)S=e.transforms[X](S)||S;return S}function i(k,S,I){let W=S-1,X=-1,Pt=!1,le,Jt,We,Fe;for(;++W<=I;){let _t=k[W];switch(_t[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{_t[0]==="enter"?X++:X--,Fe=void 0;break}case"lineEndingBlank":{_t[0]==="enter"&&(le&&!Fe&&!X&&!We&&(We=W),Fe=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Fe=void 0}if(!X&&_t[0]==="enter"&&_t[1].type==="listItemPrefix"||X===-1&&_t[0]==="exit"&&(_t[1].type==="listUnordered"||_t[1].type==="listOrdered")){if(le){let _e=W;for(Jt=void 0;_e--;){let Bt=k[_e];if(Bt[1].type==="lineEnding"||Bt[1].type==="lineEndingBlank"){if(Bt[0]==="exit")continue;Jt&&(k[Jt][1].type="lineEndingBlank",Pt=!0),Bt[1].type="lineEnding",Jt=_e}else if(!(Bt[1].type==="linePrefix"||Bt[1].type==="blockQuotePrefix"||Bt[1].type==="blockQuotePrefixWhitespace"||Bt[1].type==="blockQuoteMarker"||Bt[1].type==="listItemIndent"))break}We&&(!Jt||We<Jt)&&(le._spread=!0),le.end=Object.assign({},Jt?k[Jt][1].start:_t[1].end),k.splice(Jt||W,0,["exit",le,_t[2]]),W++,I++}if(_t[1].type==="listItemPrefix"){let _e={type:"listItem",_spread:!1,start:Object.assign({},_t[1].start),end:void 0};le=_e,k.splice(W,0,["enter",_e,_t[2]]),W++,I++,We=void 0,Fe=!0}}}return k[S][1]._spread=Pt,I}function o(k,S){return I;function I(W){a.call(this,k(W),W),S&&S.call(this,W)}}function s(){this.stack.push({type:"fragment",children:[]})}function a(k,S,I){this.stack[this.stack.length-1].children.push(k),this.stack.push(k),this.tokenStack.push([S,I||void 0]),k.position={start:oe(S.start),end:void 0}}function u(k){return S;function S(I){k&&k.call(this,I),l.call(this,I)}}function l(k,S){let I=this.stack.pop(),W=this.tokenStack.pop();if(W)W[0].type!==k.type&&(S?S.call(this,k,W[0]):(W[1]||jo).call(this,k,W[0]));else throw new Error("Cannot close `"+k.type+"` ("+Ne({start:k.start,end:k.end})+"): it\u2019s not open");I.position.end=oe(k.end)}function c(){return Or(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(k){if(this.data.expectingFirstListItemValue){let S=this.stack[this.stack.length-2];S.start=Number.parseInt(this.sliceSerialize(k),10),this.data.expectingFirstListItemValue=void 0}}function m(){let k=this.resume(),S=this.stack[this.stack.length-1];S.lang=k}function g(){let k=this.resume(),S=this.stack[this.stack.length-1];S.meta=k}function y(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function $(){let k=this.resume(),S=this.stack[this.stack.length-1];S.value=k.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function v(){let k=this.resume(),S=this.stack[this.stack.length-1];S.value=k.replace(/(\r?\n|\r)$/g,"")}function U(k){let S=this.resume(),I=this.stack[this.stack.length-1];I.label=S,I.identifier=zt(this.sliceSerialize(k)).toLowerCase()}function C(){let k=this.resume(),S=this.stack[this.stack.length-1];S.title=k}function O(){let k=this.resume(),S=this.stack[this.stack.length-1];S.url=k}function N(k){let S=this.stack[this.stack.length-1];if(!S.depth){let I=this.sliceSerialize(k).length;S.depth=I}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function T(k){let S=this.stack[this.stack.length-1];S.depth=this.sliceSerialize(k).codePointAt(0)===61?1:2}function rt(){this.data.setextHeadingSlurpLineEnding=void 0}function L(k){let I=this.stack[this.stack.length-1].children,W=I[I.length-1];(!W||W.type!=="text")&&(W=Fs(),W.position={start:oe(k.start),end:void 0},I.push(W)),this.stack.push(W)}function tt(k){let S=this.stack.pop();S.value+=this.sliceSerialize(k),S.position.end=oe(k.end)}function $t(k){let S=this.stack[this.stack.length-1];if(this.data.atHardBreak){let I=S.children[S.children.length-1];I.position.end=oe(k.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&e.canContainEols.includes(S.type)&&(L.call(this,k),tt.call(this,k))}function Y(){this.data.atHardBreak=!0}function P(){let k=this.resume(),S=this.stack[this.stack.length-1];S.value=k}function D(){let k=this.resume(),S=this.stack[this.stack.length-1];S.value=k}function M(){let k=this.resume(),S=this.stack[this.stack.length-1];S.value=k}function nt(){let k=this.stack[this.stack.length-1];if(this.data.inReference){let S=this.data.referenceType||"shortcut";k.type+="Reference",k.referenceType=S,delete k.url,delete k.title}else delete k.identifier,delete k.label;this.data.referenceType=void 0}function st(){let k=this.stack[this.stack.length-1];if(this.data.inReference){let S=this.data.referenceType||"shortcut";k.type+="Reference",k.referenceType=S,delete k.url,delete k.title}else delete k.identifier,delete k.label;this.data.referenceType=void 0}function Ot(k){let S=this.sliceSerialize(k),I=this.stack[this.stack.length-2];I.label=Fo(S),I.identifier=zt(S).toLowerCase()}function Nt(){let k=this.stack[this.stack.length-1],S=this.resume(),I=this.stack[this.stack.length-1];if(this.data.inReference=!0,I.type==="link"){let W=k.children;I.children=W}else I.alt=S}function f(){let k=this.resume(),S=this.stack[this.stack.length-1];S.url=k}function St(){let k=this.resume(),S=this.stack[this.stack.length-1];S.title=k}function Wt(){this.data.inReference=void 0}function h(){this.data.referenceType="collapsed"}function bt(k){let S=this.resume(),I=this.stack[this.stack.length-1];I.label=S,I.identifier=zt(this.sliceSerialize(k)).toLowerCase(),this.data.referenceType="full"}function ue(k){this.data.characterReferenceType=k.type}function or(k){let S=this.sliceSerialize(k),I=this.data.characterReferenceType,W;I?(W=Fn(S,I==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):W=Ie(S);let X=this.stack[this.stack.length-1];X.value+=W}function hn(k){let S=this.stack.pop();S.position.end=oe(k.end)}function ct(k){tt.call(this,k);let S=this.stack[this.stack.length-1];S.url=this.sliceSerialize(k)}function Ue(k){tt.call(this,k);let S=this.stack[this.stack.length-1];S.url="mailto:"+this.sliceSerialize(k)}function Ft(){return{type:"blockquote",children:[]}}function ce(){return{type:"code",lang:null,meta:null,value:""}}function be(){return{type:"inlineCode",value:""}}function sr(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Ls(){return{type:"emphasis",children:[]}}function li(){return{type:"heading",depth:0,children:[]}}function di(){return{type:"break"}}function pi(){return{type:"html",value:""}}function Ms(){return{type:"image",title:null,url:"",alt:null}}function mi(){return{type:"link",title:null,url:"",children:[]}}function fi(k){return{type:"list",ordered:k.type==="listOrdered",start:null,spread:k._spread,children:[]}}function Ds(k){return{type:"listItem",spread:k._spread,checked:null,children:[]}}function Us(){return{type:"paragraph",children:[]}}function Ws(){return{type:"strong",children:[]}}function Fs(){return{type:"text",value:""}}function Js(){return{type:"thematicBreak"}}}function oe(t){return{line:t.line,column:t.column,offset:t.offset}}function Ho(t,e){let n=-1;for(;++n<e.length;){let r=e[n];Array.isArray(r)?Ho(t,r):Sc(t,r)}}function Sc(t,e){let n;for(n in e)if(Vo.call(e,n))switch(n){case"canContainEols":{let r=e[n];r&&t[n].push(...r);break}case"transforms":{let r=e[n];r&&t[n].push(...r);break}case"enter":case"exit":{let r=e[n];r&&Object.assign(t[n],r);break}}}function jo(t,e){throw t?new Error("Cannot close `"+t.type+"` ("+Ne({start:t.start,end:t.end})+"): a different token (`"+e.type+"`, "+Ne({start:e.start,end:e.end})+") is open"):new Error("Cannot close document, a token (`"+e.type+"`, "+Ne({start:e.start,end:e.end})+") is still open")}var Zn=class{constructor(e){this.profile=e}profile;warnings=[];convert(e){return this.blocks(e.children)}blockHandlers={paragraph:e=>this.flow(e.children),heading:e=>this.heading(e),blockquote:e=>this.blockquote(e),list:e=>this.list(e),code:e=>this.code(e),thematicBreak:()=>this.rule(),html:e=>this.htmlBlock(e),definition:()=>[],footnoteDefinition:()=>[]};blocks(e){let n=[];for(let r of e)for(let i of this.block(r))n.push(i);return n}block(e){let n=this.blockHandlers[e.type];return n?n(e):this.unknownBlock(e)}flow(e){return Xn(this.inlines(e,[]))}heading(e){let n=this.inlines(e.children,[]),r=this.headingLevel(e.depth);if(r===null)return Xn(n);let i=n.filter(a=>a.type==="figure"),o=n.filter(a=>a.type!=="figure"),s=[...i];return(o.length||!i.length)&&s.push({type:"heading",attrs:{level:r},content:Qo(o)}),s}headingLevel(e){if(!this.profile.blocks.has("heading"))return null;let n=this.profile.headingLevels;return n.length?n.includes(e)?e:n.reduce((r,i)=>Math.abs(i-e)<Math.abs(r-e)?i:r):null}blockquote(e){let n=this.blocks(e.children);return this.profile.blocks.has("blockquote")?[{type:"blockquote",content:zo(n)}]:n}list(e){let n=e.ordered?"orderedList":"bulletList";return this.profile.blocks.has(n)?[{type:n,attrs:e.ordered?{start:e.start??1}:void 0,content:e.children.map(r=>({type:"listItem",content:zo(this.blocks(r.children))}))}]:this.listAsParagraphs(e)}listAsParagraphs(e){let n=e.start??1;return e.children.flatMap((r,i)=>{let o=e.ordered?`${n+i}. `:"- ";return Xn([At(o),...r.children.flatMap(s=>this.inlineOf(s))])})}code(e){return this.profile.blocks.has("codeBlock")?[{type:"codeBlock",attrs:e.lang?{language:e.lang}:void 0,content:e.value?[At(e.value)]:void 0}]:e.value.split(`
88
+ `).map(n=>an(n?[At(n)]:[]))}rule(){return this.profile.blocks.has("horizontalRule")?[{type:"horizontalRule"}]:[an([At("---")])]}htmlBlock(e){return this.warn("dropped-html","Markdown HTML was dropped because raw HTML is not supported.",e.type),[]}unknownBlock(e){return this.warn("unsupported-node",`Unsupported Markdown node "${e.type}" was converted to paragraph text.`,e.type),Xn(this.inlineOf(e))}inlineHandlers={text:(e,n)=>e.value?[At(e.value,n)]:[],emphasis:(e,n)=>this.marked(e.children,n,"italic"),strong:(e,n)=>this.marked(e.children,n,"bold"),delete:(e,n)=>this.marked(e.children,n,"strike"),inlineCode:(e,n)=>[At(e.value,this.profile.marks.has("code")?[...n,{type:"code"}]:n)],break:(e,n)=>this.profile.hardBreak?[{type:"hardBreak"}]:[At(`
89
+ `,n)],link:(e,n)=>this.link(e,n),image:(e,n)=>this.image(e,n),html:()=>[]};inlines(e,n){let r=[];for(let i of e)for(let o of this.inline(i,n))r.push(o);return r}inline(e,n){let r=this.inlineHandlers[e.type];return r?r(e,n):this.inlineOf(e)}marked(e,n,r){return this.inlines(e,this.profile.marks.has(r)?[...n,{type:r}]:n)}link(e,n){if(this.profile.marks.has("link"))return this.inlines(e.children,[...n,Go(e.url,e.title)]);let r=Ko(e.children);return[At(r?`${r} (${e.url})`:e.url,n)]}image(e,n){return this.profile.blocks.has("figure")?[{type:"figure",attrs:{src:e.url,alt:e.alt??null,title:e.title??null,width:null},content:e.alt?[At(e.alt)]:void 0}]:this.profile.marks.has("link")?[At(e.alt||e.url,[...n,Go(e.url,e.title)])]:[At(e.alt?`${e.alt} (${e.url})`:e.url,n)]}inlineOf(e){return"children"in e&&Array.isArray(e.children)?this.inlines(e.children,[]):"value"in e&&typeof e.value=="string"?[At(e.value)]:[]}warn(e,n,r){this.warnings.push({code:e,message:n,sourceType:r})}};function Xn(t){let e=[],n=[],r=()=>{n.length&&e.push(an(n)),n=[]};for(let i of t)i.type==="figure"?(r(),e.push(i)):n.push(i);return(n.length||!e.length)&&e.push(an(n)),e}function an(t){return{type:"paragraph",content:Qo(t)}}function At(t,e){return{type:"text",text:t,marks:e?.length?Ec(e):void 0}}function Go(t,e){return{type:"link",attrs:{href:t,title:e??null}}}function Qo(t){return t.length?t:void 0}function zo(t){return t.length?t:[an([])]}function Ec(t){let e=new Set;return t.filter(n=>{let r=`${n.type}:${JSON.stringify(n.attrs??{})}`;return e.has(r)?!1:(e.add(r),!0)})}function Ko(t){let e="";for(let n of t)"value"in n&&typeof n.value=="string"?e+=n.value:"children"in n&&Array.isArray(n.children)&&(e+=Ko(n.children));return e}var tr={blocks:new Set(["heading","blockquote","bulletList","orderedList","horizontalRule","codeBlock","figure"]),marks:new Set(["bold","italic","strike","code","link"]),headingLevels:[1,2,3,4,5,6],hardBreak:!0},Tc={blocks:new Set(["bulletList","orderedList"]),marks:new Set(["link"]),headingLevels:[],hardBreak:!0},Ac={post:tr,review:tr,launch:tr,activity:tr,reply:Tc};function Yo(t){return Ac[t]}function Rt(t,e="post"){let n=new Zn(Yo(e)),r=n.convert(Qr(t.replace(/\r\n/g,`
90
+ `))),i={type:"doc",content:r.length?r:[{type:"paragraph"}]};return{doc:i,warnings:n.warnings,images:Oc(i)}}function Oc(t){let e=[],n=r=>{r.type==="figure"&&typeof r.attrs?.src=="string"&&e.push({src:r.attrs.src,alt:r.attrs.alt??null,node:r});for(let i of r.content||[])n(i)};return n(t),e}var Pc=new Set(["listItem","blockquote","bulletList","orderedList"]);function Xo(t,e){let n=i=>i.filter(o=>!e.has(o)).flatMap(o=>{if(!o.content)return[o];let s=n(o.content);return s.length?[{...o,content:s}]:Pc.has(o.type)?[]:[{...o,content:void 0}]}),r=n(t.content);return{type:"doc",content:r.length?r:[{type:"paragraph"}]}}import er from"node:fs/promises";import Le from"node:path";import qc from"node:fs/promises";import Kr from"node:path";var Ic={".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png",".gif":"image/gif",".webp":"image/webp",".heic":"image/heic",".bmp":"image/bmp"},Yr=20*1024*1024,Rc=1024;function Xr(t){return Ic[Kr.extname(t).toLowerCase()]||"application/octet-stream"}async function un(t,e){let n=Kr.resolve(e),r;try{r=await qc.readFile(n)}catch(s){throw new A({type:"validation",message:`\u8BFB\u4E0D\u5230\u56FE\u7247\u6587\u4EF6\uFF1A${e}`,cause:s})}if(r.byteLength<Rc||r.byteLength>Yr)throw new A({type:"validation",message:`\u56FE\u7247\u5927\u5C0F\u9700\u5728 1KB\u201320MB \u4E4B\u95F4\uFF1A${e} \u4E3A ${r.byteLength} \u5B57\u8282`});let i=Kr.extname(n).toLowerCase()||".jpg",o=Xr(n);if(o==="application/octet-stream")throw new A({type:"validation",message:`\u4E0D\u652F\u6301\u7684\u56FE\u7247\u683C\u5F0F\uFF1A${i}`,hint:"\u652F\u6301 jpg/jpeg/png/gif/webp/heic/bmp"});return Zr(t,r,i,o)}async function Zr(t,e,n,r){let i=await t.request("GET","/infra/request-upload-image",{query:{postfix:n.toLowerCase(),safaricanbiteme:Math.random()},auth:"required"});if(!i?.upload_url||!i.upload_context)throw new A({type:"api",message:"\u4E0A\u4F20\u51ED\u8BC1\u54CD\u5E94\u7F3A\u5C11 upload_url / upload_context",details:i});if(i.upload_type&&i.upload_type!=="tos")throw new A({type:"api",message:`\u4E0D\u652F\u6301\u7684\u4E0A\u4F20\u7C7B\u578B\uFF1A${i.upload_type}`});let o=new FormData;for(let[u,l]of Object.entries(i.upload_context))l!=null&&o.append(u,typeof l=="string"?l:String(l));o.append("acl","public-read"),o.append("Content-Type",r),o.append("file",new Blob([new Uint8Array(e)],{type:r}),`image${n}`);let s;try{s=await fetch(i.upload_url,{method:"POST",body:o,signal:AbortSignal.timeout(12e4)})}catch(u){throw fe(u)}if(!s.ok){let u=await s.text().catch(()=>"");throw new A({type:"server",status:s.status,message:`\u56FE\u7247\u76F4\u4F20\u5931\u8D25 (HTTP ${s.status})`,details:u.slice(0,500)})}let a=i.upload_context.key;if(typeof a!="string"||!a)throw new A({type:"api",message:"\u4E0A\u4F20\u51ED\u8BC1\u7F3A\u5C11 key\uFF0C\u65E0\u6CD5\u62FC\u51FA\u56FE\u7247 URL",details:i.upload_context});return`${i.upload_url}${a}`}var Zo=2*1024*1024;async function se(t,e,n={text:"--text",file:"--md"}){if(e!==void 0&&t!==void 0)throw b(`${n.text} \u4E0E ${n.file} \u53EA\u80FD\u4E8C\u9009\u4E00`,"\u540C\u65F6\u7ED9\u4E86\u4E24\u4E2A\u6B63\u6587\u6765\u6E90\uFF0C\u4E0D\u77E5\u9053\u8BE5\u7528\u54EA\u4E2A");let r;if(e!==void 0)r={markdown:e,baseDir:process.cwd()};else if(t)if(t==="-"){let o=[];for await(let s of process.stdin)o.push(Buffer.isBuffer(s)?s:Buffer.from(s));r={markdown:Buffer.concat(o).toString("utf8"),baseDir:process.cwd()}}else{let o=Le.resolve(t);try{r={markdown:await er.readFile(o,"utf8"),baseDir:Le.dirname(o)}}catch(s){throw new A({type:"validation",message:`\u8BFB\u4E0D\u5230 Markdown \u6587\u4EF6\uFF1A${t}`,cause:s})}}else throw b(`\u9700\u8981 ${n.file} <\u6587\u4EF6> \u6216 ${n.text} <\u5185\u5BB9>`,`\u7528 ${n.file} - \u4ECE stdin \u8BFB\u53D6`);let i=Buffer.byteLength(r.markdown,"utf8");if(i>Zo)throw b(`Markdown \u8F93\u5165 ${(i/1024/1024).toFixed(1)} MB\uFF0C\u8D85\u8FC7 ${Zo/1024/1024} MB \u4E0A\u9650`,"\u6B63\u6587\u5BBD\u5EA6\u4E0A\u9650\u662F 20000\uFF0C\u8FD9\u4E2A\u4F53\u79EF\u7684\u8F93\u5165\u4E0D\u53EF\u80FD\u53D1\u51FA\u53BB");return r}function ti(t){let e=t.match(/^\s*#\s+(.+?)\s*\n+([\s\S]*)$/);return e?{title:e[1].trim(),body:e[2]}:{body:t}}function Nc(t){return/^https?:\/\//i.test(t)}async function cn(t,e,n){let r=0;if(t.opts.dryRun&&e.length)return V(`[dry-run] \u8DF3\u8FC7 ${e.length} \u5F20\u6B63\u6587\u56FE\u7247\u7684\u4E0A\u4F20`,t.opts),{uploaded:0};for(let i of e){let o=i.src,s;if(Nc(o)){if(/(^|\.)watcha\.cn$|tos-cn-beijing\.volces\.com$/.test(new URL(o).hostname))continue;V(`\u955C\u50CF\u5916\u94FE\u56FE\u7247\uFF1A${F(o,100)}`,t.opts);let a=await fetch(o,{signal:AbortSignal.timeout(6e4)}).catch(d=>{throw new A({type:"network",message:`\u4E0B\u8F7D\u5916\u94FE\u56FE\u7247\u5931\u8D25\uFF1A${o}`,cause:d})});if(!a.ok)throw new A({type:"validation",message:`\u5916\u94FE\u56FE\u7247\u4E0D\u53EF\u8BBF\u95EE\uFF08HTTP ${a.status}\uFF09\uFF1A${o}`});let u=Buffer.from(await a.arrayBuffer());if(u.byteLength>Yr)throw new A({type:"validation",message:`\u5916\u94FE\u56FE\u7247\u8D85\u8FC7 20MB\uFF1A${o}`});let l=a.headers.get("content-type")?.split(";")[0]||Xr(o),c=l==="image/png"?".png":l==="image/gif"?".gif":l==="image/webp"?".webp":".jpg";s=await Zr(t.client,u,c,l.startsWith("image/")?l:"image/jpeg")}else{let a=Le.isAbsolute(o)?o:Le.resolve(n,decodeURIComponent(o));V(`\u4E0A\u4F20\u56FE\u7247\uFF1A${a}`,t.opts),s=await un(t.client,a)}i.node.attrs={...i.node.attrs||{},src:s},r+=1}return{uploaded:r}}async function nr(t,e,n){if(!e?.length)return[];if(e.length>n)throw b(`\u6700\u591A ${n} \u5F20\u56FE\u7247\uFF0C\u6536\u5230 ${e.length} \u5F20`);if(t.opts.dryRun)return V(`[dry-run] \u8DF3\u8FC7 ${e.length} \u5F20\u56FE\u7247\u7684\u4E0A\u4F20`,t.opts),e.map(i=>`dry-run://${i}`);let r=[];for(let i of e)V(`\u4E0A\u4F20\u56FE\u7247\uFF1A${i}`,t.opts),r.push(await un(t.client,i));return r}async function ln(t){let e=Le.join(kt(),"publish-log.json"),n={};try{n=JSON.parse(await er.readFile(e,"utf8"))}catch{}let r=Date.now(),i=(n[t.profile.name]||[]).filter(o=>r-o<6e4);if(i.length>=2){let o=Math.ceil((6e4-(r-i[0]))/1e3);throw new A({type:"rate_limited",message:`\u6700\u8FD1 60 \u79D2\u5185\u5DF2\u53D1\u5E03 ${i.length} \u6761\uFF0C\u5148\u7B49 ${o} \u79D2`,hint:'\u89C2\u7339\u540E\u7AEF\u9650\u5236\u6BCF\u5206\u949F\u6700\u591A 2 \u6761\uFF0C\u8D85\u9650\u4F1A\u89E6\u53D1"\u7591\u4F3C\u5237\u5E16"\u544A\u8B66\uFF1BCLI \u4E0D\u63D0\u4F9B\u4EFB\u4F55\u6279\u91CF\u53D1\u5E03\u80FD\u529B'})}}async function dn(t){pe();let e=Le.join(kt(),"publish-log.json"),n={};try{n=JSON.parse(await er.readFile(e,"utf8"))}catch{}let r=Date.now();n[t.profile.name]=[...(n[t.profile.name]||[]).filter(i=>r-i<6e4),r],await er.writeFile(e,JSON.stringify(n),{mode:384})}var Lc=["pending_approval","approved","rejected"],Mc=["all","approved","checked_in","rejected"],Dc=["registered_at","user_name"],Uc=["asc","desc"],Wc=["required","optional","off"],Fc=/^[A-Za-z0-9]{16,}$/;async function ei(t,e){if(/^\d+$/.test(e))return Number(e);let n=await lt.show(t.client,e),r=Number(n?.id);if(!Number.isInteger(r))throw b(`\u627E\u4E0D\u5230\u7528\u6237 "${e}"`);return r}async function ts(t,e,n,r){let i={},o,s=async()=>o||(o=n==="edit"&&r!==void 0?await j.show(t.client,r)||{}:{},o);if(e.title!==void 0&&(i.title=e.title),e.slug!==void 0&&(i.slug=e.slug),e.shortDescription!==void 0&&(i.short_description=e.shortDescription),e.start!==void 0&&(i.start_at=Rn(e.start,"--start")),e.end!==void 0&&(i.end_at=Rn(e.end,"--end")),e.visibility!==void 0&&(i.visibility=ut(e.visibility,["public","private"],"--visibility")),e.registrationMode!==void 0&&(i.registration_mode=ut(e.registrationMode,["internal","external","disabled"],"--registration-mode")),e.registrationUrl!==void 0&&(i.registration_url=e.registrationUrl),e.redirectUrl!==void 0&&(i.redirect_url=e.redirectUrl),e.organizerContactUrl!==void 0&&(i.organizer_contact_url=e.organizerContactUrl),e.showParticipants!==void 0){let u=(await s()).config||{};i.config={...u,show_participant_summary:e.showParticipants}}n==="create"&&(i.require_approval=!!e.requireApproval);let a=ut(e.locationType,Ze,"--location-type");if(a&&(i.location_type=a),a==="online"||a===void 0&&e.onlineUrl!==void 0){if(e.city||e.district||e.address)throw b("\u7EBF\u4E0A\u6D3B\u52A8\u4E0D\u80FD\u914D\u7F6E\u7EBF\u4E0B\u5730\u70B9","\u53BB\u6389 --city / --district / --address");e.onlineUrl!==void 0&&(i.online_url=e.onlineUrl)}if(a==="offline"||a===void 0&&(e.city||e.district||e.address)){if(e.onlineUrl!==void 0)throw b("\u7EBF\u4E0B\u6D3B\u52A8\u4E0D\u80FD\u914D\u7F6E\u7EBF\u4E0A\u5730\u5740","\u53BB\u6389 --online-url");if(a==="offline"&&!e.city&&n==="create")throw b("\u7EBF\u4E0B\u6D3B\u52A8\u5FC5\u987B\u7ED9 --city");if(e.city||e.district||e.address){let u=(await s()).location||{};i.location={city:e.city??u.city,district:e.district??u.district,address:e.address??u.address}}}if(e.cover!==void 0&&(/^https?:\/\//i.test(e.cover)?i.cover_url=e.cover:t.opts.dryRun?(V(`[dry-run] \u8DF3\u8FC7\u5C01\u9762\u56FE\u4E0A\u4F20\uFF1A${e.cover}`,t.opts),i.cover_url=`dry-run://${e.cover}`):i.cover_url=await un(t.client,e.cover)),e.md!==void 0||e.text!==void 0){let{markdown:u,baseDir:l}=await se(e.md,e.text),c=Rt(u,"activity");await cn(t,c.images,l),i.description=c.doc}if(n==="create"){let u=[["--title",i.title],["--start",i.start_at],["--cover",i.cover_url],["--short-description",i.short_description],["--md / --text",i.description],["--location-type",i.location_type]].filter(([,l])=>l===void 0).map(([l])=>l);if(u.length)throw b(`\u521B\u5EFA\u6D3B\u52A8\u7F3A\u5C11\u5FC5\u586B\u9879\uFF1A${u.join("\u3001")}`);if(i.registration_mode==="external"&&!i.registration_url)throw b("\u5916\u94FE\u62A5\u540D\u5FC5\u987B\u540C\u65F6\u7ED9 --registration-url")}if(!Object.keys(i).length)throw b("\u6CA1\u6709\u8981\u6539\u7684\u5B57\u6BB5","\u81F3\u5C11\u7ED9\u4E00\u4E2A\u5B57\u6BB5\uFF0C\u6BD4\u5982 --title \u6216 --start");return i}function es(t){return Object.entries(t).map(([e,n])=>`${e}\uFF1A${e==="description"?"\uFF08\u6B63\u6587\u5DF2\u8F6C\u6362\uFF09":F(typeof n=="object"?JSON.stringify(n):String(n),80)}`).join(`
91
+ `)}function is(t){let e=Gt(t,"activity","\u6D3B\u52A8"),n=e.command("manage").description("\u4E3B\u529E\u65B9\u89C6\u89D2\uFF1A\u6D3B\u52A8\u3001\u62A5\u540D\u8005\u3001\u7968\u6863\u3001\u534F\u4F5C\u8005");n.command("show <idOrSlug>").description("\u7BA1\u7406\u89C6\u89D2\u7684\u6D3B\u52A8\u8BE6\u60C5\uFF08\u5F85\u5BA1\u6838 / \u88AB\u62D2\u7EDD\u7684\u6D3B\u52A8\u53EA\u80FD\u4ECE\u8FD9\u91CC\u770B\uFF09").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage");return{data:await j.show(s.client,a),meta:{activity_id:a},pretty:l=>Un(l,s.siteUrl,{manage:!0})}})}),ns(n.command("create").description("\u521B\u5EFA\u6D3B\u52A8\uFF08\u5EFA\u51FA\u6765\u662F\u5F85\u5BA1\u6838\u72B6\u6001\uFF0C\u8FC7\u5BA1\u540E\u624D\u516C\u5F00\u53EF\u89C1\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4")).action(async(r,i)=>{await _(i,async o=>{let s=await ts(o,r,"create");return await ft(o,"\u521B\u5EFA\u6D3B\u52A8",es(s)),{data:await et.create(o.client,s)||{},pretty:u=>[`\u5DF2\u63D0\u4EA4\uFF0C\u7B49\u5F85\u5E73\u53F0\u5BA1\u6838\uFF1A${w(u.title)}\uFF08#${w(u.id)}\uFF09`,"\u8FC7\u5BA1\u524D\u516C\u5F00\u9875\u770B\u4E0D\u5230\u5B83\uFF0C\u7528\u4E0B\u9762\u8FD9\u6761\u770B\u8FDB\u5EA6\uFF1A",` watcha activity manage show ${w(u.id)}`].join(`
92
+ `)}})}),ns(n.command("edit <idOrSlug>").description("\u7F16\u8F91\u6D3B\u52A8\uFF0C\u53EA\u53D1\u4F60\u663E\u5F0F\u7ED9\u7684\u5B57\u6BB5\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4")).action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage"),u=await ts(s,i,"edit",a);return await ft(s,"\u4FEE\u6539\u6D3B\u52A8",`\u6D3B\u52A8 #${a}
93
+ ${es(u)}`),{data:await j.update(s.client,a,u)||{},meta:{activity_id:a},pretty:c=>ee(c,s.siteUrl)}})}),n.command("cancel <idOrSlug>").description("\u53D6\u6D88\u6D3B\u52A8\uFF08\u4E0D\u53EF\u64A4\u9500\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage"),u=await j.show(s.client,a).catch(()=>({}));return await ft(s,"\u53D6\u6D88\u6D3B\u52A8",[`\u6D3B\u52A8\uFF1A${w(u.title,String(a))}\uFF08#${a}\uFF09`,"\u53D6\u6D88\u540E\u62A5\u540D\u4E0E\u7B7E\u5230\u90FD\u4F1A\u505C\u6389\uFF0C\u4E14\u4E0D\u53EF\u64A4\u9500"].join(`
94
+ `)),{data:await j.cancel(s.client,a)||{},meta:{activity_id:a},pretty:()=>"\u6D3B\u52A8\u5DF2\u53D6\u6D88"}})}),z(n.command("guests <idOrSlug> [guestId]").description("\u62A5\u540D\u8005\u540D\u5355\uFF1B\u7ED9\u4E86 guestId \u5C31\u662F\u5355\u4E2A\u62A5\u540D\u7684\u8BE6\u60C5").option("--checkin","\u5207\u5230\u7B7E\u5230\u89C6\u89D2\uFF08\u591A\u7ED9\u7B7E\u5230\u8FDB\u5EA6\uFF0C\u7B5B\u9009\u503C\u4E5F\u4E0D\u540C\uFF09").option("--status <status>","\u4E0D\u5E26 --checkin\uFF1Apending_approval | approved | rejected\uFF1B\u5E26 --checkin\uFF1Aall | approved | checked_in | rejected").option("--keyword <kw>","\u6309\u59D3\u540D/\u624B\u673A\u53F7\u641C").option("--sort <field>","registered_at\uFF08\u9ED8\u8BA4\uFF09| user_name").option("--order <order>","asc | desc\uFF08\u9ED8\u8BA4 desc\uFF09").option("--full","\u624B\u673A\u53F7\u4E0D\u8131\u654F")).action(async(r,i,o,s)=>{await _(s,async a=>{let u=await it(a,r,"manage"),l=!!o.full;if(i){let v=await j.guest(a.client,u,Mt(i,"guestId"));return l||V("\u624B\u673A\u53F7\u9ED8\u8BA4\u8131\u654F\uFF0C\u52A0 --full \u770B\u5B8C\u6574\u53F7\u7801",a.opts),{data:v,meta:{activity_id:u},pretty:U=>ne(U,{full:l})}}let{skip:c,limit:d}=B(o),p=!!o.checkin;if(p&&(o.sort!==void 0||o.order!==void 0))throw b("--checkin \u89C6\u89D2\u4E0D\u652F\u6301 --sort / --order","\u53BB\u6389 --checkin \u7528\u62A5\u540D\u89C6\u89D2\u6392\u5E8F\uFF0C\u6216\u53BB\u6389\u6392\u5E8F\u53C2\u6570");let m=ut(o.status,p?Mc:Lc,"--status"),y=(p?await j.checkInGuests(a.client,u,{skip:c,limit:d,filter:m,keyword:o.keyword}):await j.guests(a.client,u,{skip:c,limit:d,status:m,keyword:o.keyword,sort_by:ut(o.sort,Dc,"--sort"),sort_order:ut(o.order,Uc,"--order")}))||{};!l&&y.items?.length&&V("\u624B\u673A\u53F7\u9ED8\u8BA4\u8131\u654F\uFF0C\u52A0 --full \u770B\u5B8C\u6574\u53F7\u7801",a.opts);let $={activity_id:u};return y.status_counts&&($.status_counts=y.status_counts),y.check_in_counts&&($.check_in_counts=y.check_in_counts),J(y,v=>ne(v,{full:l}),c,d,void 0,void 0,$)})}),n.command("review <idOrSlug> <guestId>").description("\u5BA1\u6838\u62A5\u540D\uFF1A--approve \u901A\u8FC7 / --reject \u62D2\u7EDD\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--approve","\u901A\u8FC7").option("--reject","\u62D2\u7EDD\uFF08\u5FC5\u987B\u540C\u65F6\u7ED9 --message\uFF0C\u5BF9\u65B9\u4F1A\u770B\u5230\uFF09").option("--message <text>","\u7ED9\u62A5\u540D\u8005\u7684\u7559\u8A00").action(async(r,i,o,s)=>{await _(s,async a=>{if(!!o.approve==!!o.reject)throw b("--approve \u4E0E --reject \u4E8C\u9009\u4E00");if(o.reject&&!o.message?.trim())throw b("--reject \u5FC5\u987B\u5E26 --message","\u62D2\u7EDD\u539F\u56E0\u4F1A\u5199\u8FDB\u5BF9\u65B9\u6536\u5230\u7684\u901A\u77E5\u91CC");let u=await it(a,r,"manage"),l=Mt(i,"guestId");dt(a,`${o.approve?"\u901A\u8FC7":"\u62D2\u7EDD"}\u62A5\u540D #${l}`);let c={message:o.message||""};return{data:(o.approve?await j.approveGuest(a.client,u,l,c):await j.rejectGuest(a.client,u,l,c))||{},meta:{activity_id:u},pretty:p=>`\u5DF2${o.approve?"\u901A\u8FC7":"\u62D2\u7EDD"}\uFF1A${ne(p)}`}})}),n.command("invite <idOrSlug> <userIdOrName>").description("\u4E3B\u529E\u65B9\u76F4\u63A5\u628A\u4EBA\u52A0\u8FDB\u62A5\u540D\uFF08\u7ED5\u8FC7\u5BA1\u6838\u76F4\u63A5\u51FA\u7968\uFF09\u3002\u540E\u7AEF\u53EF\u80FD\u5C1A\u672A\u5F00\u653E\u8FD9\u6761\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").requiredOption("--ticket <ticketTypeId>","\u7968\u6863 ID").action(async(r,i,o,s)=>{await _(s,async a=>{let u=await it(a,r,"manage"),l=await ei(a,i);return dt(a,`\u9080\u8BF7\u7528\u6237 #${l} \u53C2\u52A0\u6D3B\u52A8 #${u}`),{data:await j.inviteGuest(a.client,u,{user_id:l,ticket_type_id:Mt(o.ticket,"--ticket")})||{},meta:{activity_id:u},pretty:d=>`\u5DF2\u9080\u8BF7\uFF1A${ne(d)}`}})}),n.command("export <idOrSlug>").description("\u5BFC\u51FA\u62A5\u540D\u8005\u540D\u5355\u4E3A xlsx \u6587\u4EF6\uFF08\u542B\u5B8C\u6574\u624B\u673A\u53F7\u7B49\u4E2A\u4EBA\u4FE1\u606F\uFF0C\u6CE8\u610F\u4FDD\u7BA1\uFF09").option("--out <path>","\u8F93\u51FA\u8DEF\u5F84\uFF0C- \u8868\u793A\u5199\u5230 stdout").option("--force","\u76EE\u6807\u6587\u4EF6\u5DF2\u5B58\u5728\u65F6\u8986\u76D6").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage"),u=j.exportGuestsPath(a),l=await s.client.download("GET",u,{auth:"required"});if(i.out==="-"){if(process.stdout.isTTY)throw b("--out - \u4F1A\u628A xlsx \u4E8C\u8FDB\u5236\u5199\u5230\u7EC8\u7AEF","\u91CD\u5B9A\u5411\u5230\u6587\u4EF6\uFF1Awatcha ... --out - > guests.xlsx");process.stdout.write(l.buffer);return}let c=l.filename?ni.basename(l.filename):"",d=ni.resolve(i.out||c||`activity-${a}-participants.xlsx`);if(!i.force&&await Vc(d))throw b(`\u6587\u4EF6\u5DF2\u5B58\u5728\uFF1A${d}`,"\u6362\u4E2A --out\uFF0C\u6216\u52A0 --force \u8986\u76D6");return await ri.writeFile(d,l.buffer,{mode:384}),V(`\u5DF2\u5199\u5165 ${(l.buffer.byteLength/1024).toFixed(1)}KB \u2192 ${d}`,s.opts),{data:{activity_id:a,file:d,bytes:l.buffer.byteLength,content_type:l.contentType,filename:l.filename},pretty:p=>`\u5DF2\u5BFC\u51FA ${w(p.file)}`}})}),n.command("stats <idOrSlug>").description("\u62A5\u540D\u4E0E\u7B7E\u5230\u7EDF\u8BA1").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage");return{data:await j.statistics(s.client,a),meta:{activity_id:a},pretty:l=>[`\u62A5\u540D\u8BB0\u5F55 ${w(l.registration_count)}\uFF08\u542B\u5F85\u5BA1\u6838\u4E0E\u88AB\u62D2\u7EDD\uFF09`,`\u5DF2\u7B7E\u5230 ${w(l.checked_in_count)}`].join(`
95
+ `)}})}),n.command("form <idOrSlug>").description("\u7BA1\u7406\u89C6\u89D2\u7684\u62A5\u540D\u914D\u7F6E\uFF1A\u62A5\u540D\u65B9\u5F0F\u3001\u8981\u586B\u4EC0\u4E48\u3001\u6709\u54EA\u4E9B\u7968\u6863").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage");return{data:await j.registration(s.client,a),meta:{activity_id:a},pretty:l=>Wn(l)}})}),n.command("form-set <idOrSlug>").description("\u6539\u62A5\u540D\u8868\u3002\u540E\u7AEF\u662F\u6574\u4EFD\u66FF\u6362\uFF0C\u8FD9\u91CC\u4F1A\u5148\u8BFB\u73B0\u72B6\u518D\u5408\u5E76\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--file <json>",'\u6574\u4EFD\u914D\u7F6E\uFF1A{"fields":[...],"questions":[...]}').option("--field <\u7C7B\u578B=required|optional|off...>","\u6539\u5355\u4E2A\u5E73\u53F0\u5B57\u6BB5\uFF1Boff \u8868\u793A\u4E0D\u518D\u6536\u8FD9\u4E2A\u5B57\u6BB5",Bc,[]).option("--replace","\u5141\u8BB8\u6574\u4EFD\u66FF\u6362\u6389\u5DF2\u6709\u7684\u81EA\u5B9A\u4E49\u95EE\u9898\uFF08\u4E0D\u52A0\u8FD9\u4E2A\u5F00\u5173\u65F6\uFF0C--file \u91CC\u5C11\u5199\u4E86\u95EE\u9898\u4F1A\u88AB\u62D2\uFF09").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage"),l=(await j.registration(s.client,a)||{}).config||{},c=i.file?await jc(i.file):{fields:l.fields||[],questions:l.questions||[]},d=Jc(Array.isArray(c.fields)?c.fields:[],i.field),p=Array.isArray(c.questions)?c.questions:[],m=Array.isArray(l.questions)?l.questions:[];if(!i.replace&&m.length>p.length)throw b(`\u4F1A\u4E22\u6389 ${m.length-p.length} \u9053\u5DF2\u6709\u7684\u81EA\u5B9A\u4E49\u95EE\u9898`,"\u786E\u8BA4\u8981\u8FD9\u4E48\u6539\u5C31\u52A0 --replace\uFF1B\u53EA\u60F3\u6539\u5B57\u6BB5\u5C31\u522B\u4F20 --file");let g={config:{fields:d,questions:p}};return await ft(s,"\u66FF\u6362\u62A5\u540D\u8868",[`\u6D3B\u52A8 #${a}`,`\u5B57\u6BB5\uFF1A${d.map($=>`${$.type}(${$.requirement})`).join("\u3001")}`,`\u81EA\u5B9A\u4E49\u95EE\u9898\uFF1A${p.length?p.map($=>w($.title)).join("\u3001"):"\uFF08\u65E0\uFF09"}`,m.length!==p.length?`\u95EE\u9898\u6570 ${m.length} \u2192 ${p.length}`:""].filter(Boolean).join(`
96
+ `)),{data:await j.updateRegistrationConfig(s.client,a,g)||{},meta:{activity_id:a},pretty:()=>"\u62A5\u540D\u8868\u5DF2\u66F4\u65B0"}})}),n.command("ticket <idOrSlug> [ticketTypeId]").description("\u7968\u6863\uFF1A\u4E0D\u7ED9 ID \u662F\u65B0\u5EFA\uFF0C\u7ED9\u4E86\u662F\u4FEE\u6539\uFF0C--remove \u662F\u5220\u9664\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--name <name>","\u7968\u6863\u540D").option("--description <text>","\u8BF4\u660E").option("--sales-start <time>",'\u5F00\u552E\u65F6\u95F4\uFF1B\u7ED9\u7A7A\u4E32 "" \u6E05\u9664').option("--sales-end <time>",'\u505C\u552E\u65F6\u95F4\uFF1B\u7ED9\u7A7A\u4E32 "" \u6E05\u9664').option("--require-approval","\u62A5\u540D\u540E\u9700\u4E3B\u529E\u65B9\u5BA1\u6838\uFF08\u9ED8\u8BA4\u4E0D\u9700\u8981\uFF09").option("--no-require-approval","\u62A5\u540D\u5373\u51FA\u7968").option("--order <n>","\u5C55\u793A\u987A\u5E8F").option("--remove","\u5220\u9664\u8FD9\u4E2A\u7968\u6863\uFF08\u6709\u4EBA\u9009\u8FC7\u5C31\u5220\u4E0D\u6389\uFF09").action(async(r,i,o,s)=>{await _(s,async a=>{let u=await it(a,r,"manage");if(o.remove){if(!i)throw b("--remove \u8981\u6307\u5B9A\u7968\u6863 ID");let p=Mt(i,"ticketTypeId");return await ft(a,"\u5220\u9664\u7968\u6863",`\u6D3B\u52A8 #${u} \u7684\u7968\u6863 #${p}
97
+ \u5DF2\u7ECF\u6709\u4EBA\u9009\u8FC7\u7684\u7968\u6863\u5220\u4E0D\u6389`),await j.deleteTicketType(a.client,u,p),{data:{activity_id:u,ticket_type_id:p,removed:!0},pretty:()=>"\u7968\u6863\u5DF2\u5220\u9664"}}let l={};if(i){let p=await j.registration(a.client,u)||{},m=Array.isArray(p.ticket_types)?p.ticket_types:[],g=m.find(y=>String(y.id)===i);if(!g)throw b(`\u6D3B\u52A8 #${u} \u6CA1\u6709\u7968\u6863 ${i}`,m.length?`\u73B0\u6709\uFF1A${m.map(y=>`${y.id} ${y.name}`).join("\u3001")}`:"\u8FD9\u4E2A\u6D3B\u52A8\u8FD8\u6CA1\u6709\u7968\u6863");l=g}let c={name:o.name??l.name,description:o.description??l.description??void 0,sales_start_at:rs(o.salesStart,l.sales_start_at,"--sales-start"),sales_end_at:rs(o.salesEnd,l.sales_end_at,"--sales-end"),require_approval:o.requireApproval??!!l.require_approval,display_order:o.order!==void 0?Mt(o.order,"--order"):Number(l.display_order??0)};if(!c.name)throw b("\u7968\u6863\u5FC5\u987B\u6709\u540D\u5B57","\u52A0 --name");return dt(a,i?`\u4FEE\u6539\u7968\u6863 #${i}`:`\u65B0\u5EFA\u7968\u6863\u300C${String(c.name)}\u300D`),{data:(i?await j.updateTicketType(a.client,u,Mt(i,"ticketTypeId"),c):await j.createTicketType(a.client,u,c))||{},meta:{activity_id:u},pretty:p=>`${i?"\u5DF2\u4FEE\u6539":"\u5DF2\u65B0\u5EFA"}\uFF1A${Ar(p)}`}})}),n.command("collaborators <idOrSlug>").description("\u4E3B\u529E\u65B9\u4E0E\u7B7E\u5230\u4EBA\u5458\u540D\u5355").action(async(r,i,o)=>{await _(o,async s=>{let a=await it(s,r,"manage");return{data:await j.collaborators(s.client,a),meta:{activity_id:a},pretty:l=>ho(l)}})}),n.command("host <idOrSlug> <userIdOrName>").description("\u589E\u6539\u4E3B\u529E\u65B9\uFF08\u5DF2\u5728\u540D\u5355\u91CC\u5C31\u662F\u4FEE\u6539\uFF0C\u4E0A\u9650 5 \u4EBA\uFF09\u3002--remove \u79FB\u9664\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--manager","\u7ED9\u7BA1\u7406\u6743\u9650").option("--no-manager","\u6536\u56DE\u7BA1\u7406\u6743\u9650").option("--hidden","\u4E0D\u5728\u6D3B\u52A8\u9875\u5C55\u793A\uFF08\u5FC5\u987B\u540C\u65F6\u6709\u7BA1\u7406\u6743\u9650\uFF09").option("--order <n>","\u5C55\u793A\u987A\u5E8F").option("--remove","\u628A\u8FD9\u4E2A\u4EBA\u4ECE\u4E3B\u529E\u65B9\u91CC\u79FB\u9664\uFF08\u53EA\u6709\u521B\u5EFA\u8005\u80FD\u79FB\u9664\u522B\u4EBA\uFF09").action(async(r,i,o,s)=>{await _(s,async a=>{let u=await it(a,r,"manage"),l=await ei(a,i),c=await j.collaborators(a.client,u)||{},d=Array.isArray(c.hosts)?c.hosts:[],p=d.find(v=>Number(v.user_id)===l);if(o.remove){if(!p)throw b(`\u7528\u6237 #${l} \u4E0D\u5728\u4E3B\u529E\u65B9\u540D\u5355\u91CC`);return await ft(a,"\u79FB\u9664\u4E3B\u529E\u65B9",`\u628A\u7528\u6237 #${l} \u4ECE\u6D3B\u52A8 #${u} \u7684\u4E3B\u529E\u65B9\u91CC\u79FB\u9664`),await j.removeHost(a.client,u,l),{data:{activity_id:u,user_id:l,removed:!0},pretty:()=>"\u5DF2\u79FB\u9664"}}let m=o.manager??!!p?.is_manager,g=o.hidden===void 0?p?.show_on_event_page??!0:!o.hidden;if(!g&&!m)throw b("\u6D3B\u52A8\u9875\u9690\u85CF\u7684\u4E3B\u529E\u65B9\u5FC5\u987B\u6709\u7BA1\u7406\u6743\u9650","\u540C\u65F6\u52A0 --manager");let y={is_manager:m,show_on_event_page:g,display_order:o.order!==void 0?Mt(o.order,"--order"):Number(p?.display_order??d.length)};return dt(a,p?`\u4FEE\u6539\u4E3B\u529E\u65B9 #${l}`:`\u628A\u7528\u6237 #${l} \u52A0\u4E3A\u4E3B\u529E\u65B9`),{data:(p?await j.updateHost(a.client,u,l,y):await j.addHost(a.client,u,{user_id:l,...y}))||{},meta:{activity_id:u},pretty:()=>`${p?"\u5DF2\u4FEE\u6539":"\u5DF2\u6DFB\u52A0"}\u4E3B\u529E\u65B9 #${l}${m?"\uFF08\u53EF\u7BA1\u7406\uFF09":""}`}})}),n.command("staff <idOrSlug> <userIdOrName>").description("\u589E\u5220\u7B7E\u5230\u4EBA\u5458\uFF08\u4E0A\u9650 20 \u4EBA\uFF09\u3002--remove \u79FB\u9664\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--remove","\u79FB\u9664").action(async(r,i,o,s)=>{await _(s,async a=>{let u=await it(a,r,"manage"),l=await ei(a,i);return o.remove?(await ft(a,"\u79FB\u9664\u7B7E\u5230\u4EBA\u5458",`\u628A\u7528\u6237 #${l} \u4ECE\u6D3B\u52A8 #${u} \u7684\u7B7E\u5230\u4EBA\u5458\u91CC\u79FB\u9664`),await j.removeCheckInStaff(a.client,u,l),{data:{activity_id:u,user_id:l,removed:!0},pretty:()=>"\u5DF2\u79FB\u9664"}):(dt(a,`\u628A\u7528\u6237 #${l} \u52A0\u4E3A\u7B7E\u5230\u4EBA\u5458`),{data:await j.addCheckInStaff(a.client,u,{user_id:l})||{},meta:{activity_id:u},pretty:()=>`\u5DF2\u6DFB\u52A0\u7B7E\u5230\u4EBA\u5458 #${l}`})})}),e.command("check-in <idOrSlug> <ticketCodeOrGuestId>").description("\u73B0\u573A\u7B7E\u5230\uFF1A\u53C2\u6570\u7ED9\u7968\u7801\u6216\u62A5\u540D ID\u3002--resolve \u53EA\u67E5\u4E0D\u5199\uFF0C--undo \u64A4\u9500\u7B7E\u5230\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--resolve","\u53EA\u89E3\u6790\u7968\u7801\u770B\u662F\u8C01\uFF0C\u4E0D\u7B7E\u5230").option("--undo","\u64A4\u9500\u7B7E\u5230\uFF08\u5E42\u7B49\uFF09").option("--full","\u624B\u673A\u53F7\u4E0D\u8131\u654F").action(async(r,i,o,s)=>{await _(s,async a=>{if(o.resolve&&o.undo)throw b("--resolve \u4E0E --undo \u4E0D\u80FD\u4E00\u8D77\u7528");let u=await it(a,r,"manage"),l=!/^\d+$/.test(i);if(l&&!Fc.test(i))throw b(`"${i}" \u65E2\u4E0D\u50CF\u7968\u7801\u4E5F\u4E0D\u50CF\u62A5\u540D ID`,"\u7968\u7801\u662F\u4E00\u4E32 32 \u4F4D\u5B57\u6BCD\u6570\u5B57\uFF1B\u62A5\u540D ID \u662F\u7EAF\u6570\u5B57");let c=!!o.full;dt(a,o.resolve?"\u89E3\u6790\u7968\u7801\u770B\u62A5\u540D\u8005\u662F\u8C01":o.undo?`\u64A4\u9500\u6D3B\u52A8 #${u} \u7684\u4E00\u6761\u7B7E\u5230`:`\u5728\u6D3B\u52A8 #${u} \u7B7E\u5230`);let d=()=>{c||V("\u624B\u673A\u53F7\u9ED8\u8BA4\u8131\u654F\uFF0C\u52A0 --full \u770B\u5B8C\u6574\u53F7\u7801",a.opts)},m=l&&!a.opts.dryRun?await j.resolveTicket(a.client,u,i)||{}:null;if(o.resolve){if(!m)throw b("--resolve \u9700\u8981\u7968\u7801",l?"--dry-run \u4E0B\u4E0D\u505A\u89E3\u6790":"\u62A5\u540D ID \u76F4\u63A5\u7528 watcha activity manage guests <\u6D3B\u52A8> <\u62A5\u540DID>");return d(),{data:m,meta:{activity_id:u},pretty:v=>ne(v,{full:c})}}let g=m?.ticket||null;if(g?.checked_in_at&&!o.undo)throw b(`\u8FD9\u5F20\u7968\u5DF2\u7ECF\u5728 ${w(g.checked_in_at)} \u7B7E\u5230\u8FC7\u4E86`,"\u8981\u64A4\u9500\u5C31\u52A0 --undo");let y=Number(l?m?.id:i);if(o.undo){if(!Number.isInteger(y))throw b("\u64A4\u9500\u7B7E\u5230\u9700\u8981\u5148\u89E3\u6790\u51FA\u62A5\u540D ID","\u76F4\u63A5\u7ED9\u62A5\u540D ID\uFF0C\u6216\u53BB\u6389 --dry-run");return{data:await j.undoCheckIn(a.client,u,y)||{},meta:{activity_id:u},pretty:()=>"\u5DF2\u64A4\u9500\u7B7E\u5230"}}let $=(l?await j.checkInTicket(a.client,u,i):await j.checkInGuest(a.client,u,y))||{};return d(),{data:$,meta:{activity_id:u},pretty:v=>`\u7B7E\u5230\u6210\u529F\uFF1A${ne(v,{full:c})}`}})})}function ns(t){return t.option("--title <title>","\u6D3B\u52A8\u6807\u9898").option("--slug <slug>","\u81EA\u5B9A\u4E49 slug\uFF08\u4E0D\u7ED9\u5219\u540E\u7AEF\u81EA\u52A8\u751F\u6210\uFF0C\u4E0D\u80FD\u662F\u7EAF\u6570\u5B57\uFF09").option("--start <time>",'\u5F00\u59CB\u65F6\u95F4\uFF0C\u5982 "2026-09-10 19:30"\uFF08\u6309\u4E1C\u516B\u533A\uFF09').option("--end <time>","\u7ED3\u675F\u65F6\u95F4").option("--location-type <type>","online | offline").option("--city <city>","\u57CE\u5E02\uFF08\u7EBF\u4E0B\uFF09").option("--district <district>","\u533A\u53BF\uFF08\u7EBF\u4E0B\uFF09").option("--address <address>","\u8BE6\u7EC6\u5730\u5740\uFF08\u7EBF\u4E0B\uFF09").option("--online-url <url>","\u7EBF\u4E0A\u6D3B\u52A8\u5730\u5740").option("--cover <fileOrUrl>","\u5C01\u9762\u56FE\uFF0C\u672C\u5730\u6587\u4EF6\u4F1A\u81EA\u52A8\u4E0A\u4F20").option("--short-description <text>","\u77ED\u63CF\u8FF0\uFF0C\u5217\u8868\u5361\u7247\u4E0A\u663E\u793A").option("--md <file>","\u6D3B\u52A8\u8BE6\u60C5\u7684 Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u7ED9 Markdown \u6587\u672C").option("--visibility <visibility>","public | private").option("--registration-mode <mode>","internal\uFF08\u7AD9\u5185\u62A5\u540D\uFF09| external\uFF08\u5916\u94FE\uFF09| disabled\uFF08\u4E0D\u5F00\u653E\uFF09").option("--registration-url <url>","\u5916\u94FE\u62A5\u540D\u5730\u5740\uFF08--registration-mode external \u5FC5\u586B\uFF09").option("--redirect-url <url>","\u5361\u7247\u76F4\u63A5\u5916\u8DF3\u7684\u5730\u5740").option("--organizer-contact-url <url>","\u4E3B\u529E\u65B9\u8054\u7CFB\u65B9\u5F0F").option("--require-approval","\u62A5\u540D\u9700\u8981\u5BA1\u6838\uFF08\u4EC5\u521B\u5EFA\u65F6\u6709\u6548\uFF09").option("--show-participants","\u5728\u6D3B\u52A8\u9875\u5C55\u793A\u53C2\u4E0E\u8005\u6982\u51B5").option("--no-show-participants","\u4E0D\u5C55\u793A\u53C2\u4E0E\u8005\u6982\u51B5")}function Jc(t,e){let n=[...t];for(let r of e){let i=r.indexOf("=");if(i<=0)throw b(`--field \u8981\u5199\u6210 <\u7C7B\u578B>=required|optional|off\uFF0C\u6536\u5230 "${r}"`);let o=r.slice(0,i).trim(),s=ut(r.slice(i+1).trim(),Wc,`--field ${o}`);if(s==="off"&&(o==="name"||o==="phone"))throw b(`${o} \u662F\u540E\u7AEF\u5F3A\u5236\u5FC5\u586B\u7684\uFF0C\u5173\u4E0D\u6389`,"\u59D3\u540D\u548C\u624B\u673A\u53F7\u5FC5\u987B\u6536\uFF0C\u522B\u7684\u5B57\u6BB5\u624D\u80FD\u8BBE\u6210 off");let a=n.findIndex(u=>u.type===o);s==="off"?a>=0&&n.splice(a,1):a>=0?n[a]={...n[a],requirement:s}:n.push({type:o,requirement:s})}for(let r of["name","phone"]){let i=n.findIndex(o=>o.type===r);i>=0?n[i]={...n[i],requirement:"required"}:n.push({type:r,requirement:"required"})}return n}function Bc(t,e){return[...e,t]}async function jc(t){try{return JSON.parse(await ri.readFile(ni.resolve(t),"utf8"))}catch(e){throw new A({type:"validation",message:`\u8BFB\u4E0D\u5230\u6216\u89E3\u6790\u4E0D\u4E86 JSON \u6587\u4EF6\uFF1A${t}`,cause:e})}}function rs(t,e,n){return t===void 0?e??void 0:t.trim()?Rn(t,n):void 0}async function Vc(t){try{return await ri.access(t),!0}catch{return!1}}async function*os(t){if(!t.body){yield{kind:"eof"};return}let e=new TextDecoder("utf-8"),n="",r=[],i=()=>{if(r.length===0)return null;let s=r.join(`
98
+ `);if(r=[],s.trim()==="[DONE]")return{kind:"done"};try{let a=JSON.parse(s);return{kind:"frame",frame:{id:typeof a.id=="string"?a.id:void 0,sid:typeof a.sid=="string"?a.sid:void 0,ts:typeof a.ts=="number"?a.ts:void 0,type:typeof a.type=="string"?a.type:"unknown",data:a.data}}}catch{return{kind:"frame",frame:{type:"unknown",data:null,raw:s}}}},o=t.body.getReader();try{for(;;){let{value:a,done:u}=await o.read();if(u)break;n+=e.decode(a,{stream:!0});let l;for(;(l=n.indexOf(`
99
+ `))>=0;){let c=n.slice(0,l);if(n=n.slice(l+1),c.endsWith("\r")&&(c=c.slice(0,-1)),c===""){let d=i();if(d&&(yield d,d.kind==="done"))return;continue}c.startsWith(":")||c.startsWith("data:")&&r.push(c.slice(5).replace(/^ /,""))}}if(n+=e.decode(),n.trim()){let a=n.replace(/\r?\n$/,"");a.startsWith("data:")&&r.push(a.slice(5).replace(/^ /,""))}let s=i();if(s&&(yield s,s.kind==="done"))return;yield{kind:"eof"}}finally{o.releaseLock()}}function ss(t){return new A({type:"stream",message:"\u6D41\u5728\u6536\u5230 [DONE] \u4E4B\u524D\u5C31\u65AD\u5F00\u4E86\uFF0C\u7ED3\u679C\u53EF\u80FD\u4E0D\u5B8C\u6574",hint:t?`\u53EF\u7528 watcha ask --resume ${t} \u7EED\u4F20`:"\u91CD\u8BD5\u4E00\u6B21\uFF1B\u82E5\u53CD\u590D\u51FA\u73B0\u8BF7\u68C0\u67E5\u7F51\u7EDC",details:t?{sessionId:t}:void 0})}import vt from"node:fs";import ke from"node:path";var Me="[[watcha:end]]",Hc=20;function ir(t=kt()){return ke.join(t,"streams")}var Gc=3e4;function as(t){return ke.join(t,"viewer-last-open")}function us(t=ir(),e=Date.now()){try{return e-vt.statSync(as(t)).mtimeMs<Gc}catch{return!1}}function cs(t=ir()){try{vt.mkdirSync(t,{recursive:!0,mode:448}),vt.writeFileSync(as(t),String(Date.now()),{mode:384})}catch{}}function zc(t){let e=(n,r=2)=>String(n).padStart(r,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}-${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var rr=class t{constructor(e,n){this.path=e;this.fd=n}path;fd;static create(e,n={}){let r=n.dir??ir();vt.mkdirSync(r,{recursive:!0,mode:448});let i=ke.join(r,`${e}-${zc(n.now??new Date)}-${process.pid}.log`),o=vt.openSync(i,"a",384);return Qc(r,i),new t(i,o)}write(e){if(!(this.fd===null||!e))try{vt.writeSync(this.fd,e)}catch{}}finish(e){if(this.fd!==null){this.write(`
100
+ ${Me} ${JSON.stringify(e)}
101
+ `);try{vt.closeSync(this.fd)}catch{}this.fd=null}}};function ls(t){if(!t.startsWith(Me))return null;try{return JSON.parse(t.slice(Me.length).trim())}catch{return{status:"done"}}}function ds(t=ir()){let e;try{e=vt.readdirSync(t).filter(n=>n.endsWith(".log"))}catch{return null}return e.length?(e.sort((n,r)=>{let i=vt.statSync(ke.join(t,n)).mtimeMs;return vt.statSync(ke.join(t,r)).mtimeMs-i||r.localeCompare(n)}),ke.join(t,e[0])):null}function Qc(t,e){try{let n=vt.readdirSync(t).filter(r=>r.endsWith(".log")).map(r=>ke.join(t,r)).filter(r=>r!==e).map(r=>({p:r,m:vt.statSync(r).mtimeMs})).sort((r,i)=>i.m-r.m);for(let{p:r}of n.slice(Hc-1))vt.rmSync(r,{force:!0})}catch{}}import{spawnSync as Kc}from"node:child_process";import ps from"node:fs";import ms from"node:path";function Yc(t){return t===""?"''":/^[A-Za-z0-9_@%+=:,./-]+$/.test(t)?t:`'${t.replace(/'/g,"'\\''")}'`}function Xc(t){return t.map(Yc).join(" ")}function fs(t){return`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function hs(...t){let e=Qe("bin","watcha.js");return[process.execPath,e,...t]}function Zc(t,e){let n=(e.PATH||"").split(ms.delimiter).filter(Boolean);for(let r of[...n,"/opt/homebrew/bin","/usr/local/bin","/usr/bin"])try{return ps.accessSync(ms.join(r,t),ps.constants.X_OK),!0}catch{}return!1}var tl={env:process.env,platform:process.platform,has:t=>Zc(t,process.env),run:(t,e)=>{let n=Kc(t,e,{stdio:["ignore","ignore","pipe"],timeout:8e3,encoding:"utf8"});return{status:n.error?null:n.status,stderr:n.error?String(n.error.message):String(n.stderr||"")}}};function el(t){let{env:e,platform:n}=t,r=(e.TERM_PROGRAM||"").toLowerCase(),i=[];return e.TMUX&&t.has("tmux")&&i.push("tmux"),(r.includes("wezterm")||e.WEZTERM_EXECUTABLE||e.WEZTERM_UNIX_SOCKET)&&t.has("wezterm")&&i.push("wezterm"),(e.KITTY_WINDOW_ID||e.TERM==="xterm-kitty")&&t.has("kitty")&&i.push("kitty"),n==="darwin"?(r==="iterm.app"&&i.push("iterm2"),r==="ghostty"&&i.push("ghostty"),i.push("terminal.app")):n==="linux"&&(e.DISPLAY||e.WAYLAND_DISPLAY)&&(t.has("gnome-terminal")&&i.push("gnome-terminal"),t.has("x-terminal-emulator")&&i.push("x-terminal-emulator")),i}function nl(t,e,n,r){let i=Xc(e);switch(t){case"tmux":return r.run("tmux",["split-window","-d","-h",i]);case"wezterm":return r.run("wezterm",["cli","spawn","--new-window","--",...e]);case"kitty":return r.run("kitty",["@","launch","--type=os-window","--keep-focus","--title",n,...e]);case"iterm2":return r.run("osascript",["-e",'tell application "iTerm2"',"-e","set newWindow to (create window with default profile)","-e",`tell current session of newWindow to write text ${fs(i)}`,"-e","end tell"]);case"ghostty":return r.run("open",["-na","Ghostty.app","--args","-e",...e]);case"terminal.app":return r.run("osascript",["-e",'tell application "Terminal"',"-e",`do script ${fs(i)}`,"-e","activate","-e","end tell"]);case"gnome-terminal":return r.run("gnome-terminal",["--window","--title",n,"--",...e]);case"x-terminal-emulator":return r.run("x-terminal-emulator",["-e",i])}}function gs(t,e={}){let n=e.deps??tl,r=e.title??"\u89C2\u7339",i=[];for(let o of el(n)){let s=nl(o,t,r,n);if(s.status===0)return{opened:!0,terminal:o,attempts:i};i.push({terminal:o,error:s.stderr.trim()||`exit ${s.status??"spawn failed"}`})}return{opened:!1,attempts:i}}var rl={federated_search:"\u8054\u90A6\u641C\u7D22",browse:"\u6D4F\u89C8",get_details:"\u53D6\u8BE6\u60C5",get_product_reviews:"\u53D6\u4EA7\u54C1\u7339\u8BC4",get_user_info:"\u53D6\u7528\u6237\u4FE1\u606F",discover_activities:"\u53D1\u73B0\u6D3B\u52A8"};function ys(t,e){return{write:t,...e,mode:"none",pending:""}}var ii=class{constructor(e){this.sinks=e}sinks;styled(e,n,r){return e.color?n==="dim"?`\x1B[2m${r}\x1B[0m`:`\x1B[36m${r}\x1B[0m`:r}flushPending(e){e.pending&&(e.write(e.pending),e.pending="")}switchMode(e,n){e.mode!==n&&(this.flushPending(e),e.mode!=="none"&&e.write(`
102
+ `),n==="thinking"&&e.write(this.styled(e,"dim","\u{1F914} \u601D\u8003\uFF1A")),e.mode=n)}thinking(e){if(e)for(let n of this.sinks)n.showThinking&&(this.switchMode(n,"thinking"),n.write(this.styled(n,"dim",e)))}content(e){if(e)for(let n of this.sinks){if(this.switchMode(n,"content"),!n.lineBuffered){n.write(e);continue}n.pending+=e;let r=n.pending.lastIndexOf(`
103
+ `);r!==-1&&(n.write(n.pending.slice(0,r+1)),n.pending=n.pending.slice(r+1))}}toolCall(e,n){let r=`\u{1F50E} ${rl[e]||e} ${F(JSON.stringify(n??{}),100)}`;for(let i of this.sinks)this.breakLine(i),i.write(this.styled(i,"cyan",r)+`
104
+ `)}toolResult(e){for(let n of this.sinks)if(!n.lineBuffered){for(let r of e.slice(0,8))n.write(this.styled(n,"dim",` \xB7 [${w(r.type)}] ${w(r.name)} ${w(r.link,"")}`)+`
105
+ `);e.length>8&&n.write(this.styled(n,"dim",` \xB7 \u2026 \u5171 ${e.length} \u6761`)+`
106
+ `)}}breakLine(e){for(let n of e?[e]:this.sinks)this.flushPending(n),n.mode!=="none"&&n.write(`
107
+ `),n.mode="none"}finish(){this.breakLine()}};async function il(t,e,n){let r={status:"done",thinking:"",content:"",tool_calls:[],frames:0},i=new Set,{renderer:o}=n,s=!1,a=!1;for await(let u of os(e)){if(u.kind==="done"){a=!0;break}if(u.kind==="eof")break;let l=u.frame;if(r.frames+=1,l.id){if(i.has(l.id))continue;i.add(l.id)}switch(n.ndjson&&process.stdout.write(JSON.stringify(l)+`
108
+ `),l.type){case"begin":{let c=l.data||{},d=c.sessionId??c.session_id;r.session_id=typeof d=="string"||typeof d=="number"?String(d):r.session_id,V(`\u4F1A\u8BDD ${r.session_id??"?"} \u5F00\u59CB\uFF08mode=${w(c.mode)}\uFF09`,t.opts);break}case"thinking":{let c=typeof l.data=="string"?l.data:"";r.thinking+=c,o.thinking(c);break}case"content":{let c=typeof l.data=="string"?l.data:"";r.content+=c,o.content(c);break}case"tool_call":{let c=l.data||{};r.tool_calls.push({id:c.id,name:c.name,parameters:c.parameters}),o.toolCall(String(c.name),c.parameters);break}case"tool_result":{let c=l.data||{},d=r.tool_calls.find(m=>m.id&&m.id===c.id),p=Array.isArray(c.items)?c.items:[];d?d.items=p:r.tool_calls.push({id:c.id,name:c.name,items:p}),o.toolResult(p);break}case"error":{s=!0,r.status="error",r.error=typeof l.data=="string"?l.data:JSON.stringify(l.data),o.breakLine();break}default:break}if(s&&!n.replay)break}return o.finish(),!a&&!s&&(r.status="truncated"),r}function ol(t,e=process.env,n=Yt()){if(t!==void 0)return t;let r=(e.WATCHA_WATCH||"").trim().toLowerCase();return r==="0"||r==="false"||r==="off"?!1:r==="1"||r==="true"||r==="on"?!0:e.CI&&e.CI!=="0"&&e.CI.toLowerCase()!=="false"?!1:Oi(e).host!==null&&!n}function sl(t,e,n){if(!n&&us())return V(`30 \u79D2\u5185\u5DF2\u81EA\u52A8\u5F00\u8FC7\u5B9E\u65F6\u89C6\u56FE\uFF0C\u8FD9\u6B21\u4E0D\u518D\u5F00\u65B0\u7A97\u53E3\uFF1B\u8981\u770B\u7684\u8BDD\u6267\u884C\uFF1Awatcha watch ${e}`,t.opts),{opened:!1,attempts:[]};let r=gs(hs("watch",e,"--hold"),{title:"\u89C2\u7339 AI \u641C\u7D22"});if(r.opened)cs(),V(`\u5B9E\u65F6\u89C6\u56FE\u5DF2\u5728 ${r.terminal} \u65B0\u7A97\u53E3\u6253\u5F00\uFF08\u65E5\u5FD7\uFF1A${e}\uFF09`,t.opts);else if(V(`\u65E0\u6CD5\u81EA\u52A8\u6253\u5F00\u5B9E\u65F6\u89C6\u56FE\u7A97\u53E3\uFF1B\u53E6\u5F00\u4E00\u4E2A\u7EC8\u7AEF\u6267\u884C\uFF1Awatcha watch ${e}`,t.opts),t.opts.debug)for(let i of r.attempts)V(` ${i.terminal}: ${i.error}`,t.opts);return r}function ws(t){t.command("ask <question>").description("AI \u641C\u7D22\uFF1A\u8BA9\u89C2\u7339\u7684 ReAct agent \u57FA\u4E8E\u793E\u533A\u7339\u8BC4/\u5E16\u5B50/\u4EA7\u54C1\u56DE\u7B54\u95EE\u9898\uFF08\u9700\u767B\u5F55\uFF0C\u6BCF\u5206\u949F\u6700\u591A 2 \u6B21\uFF09").option("--resume <sessionId>","\u7EED\u4F20/\u56DE\u653E\u4E00\u4E2A\u5DF2\u6709\u4F1A\u8BDD\uFF0C\u800C\u4E0D\u662F\u53D1\u8D77\u65B0\u641C\u7D22").option("--share","\u7ED3\u675F\u540E\u751F\u6210\u516C\u5F00\u5206\u4EAB\u94FE\u63A5").option("--raw","\u4E0D\u8981\u6D41\u5F0F\u6E32\u67D3\uFF0C\u53EA\u5728\u7ED3\u675F\u540E\u8F93\u51FA\u6C47\u603B\uFF08json \u9ED8\u8BA4\u5373\u5982\u6B64\uFF09").option("--watch","\u628A\u5B9E\u65F6\u89C6\u56FE\u5F00\u5230\u4E00\u4E2A\u65B0\u7EC8\u7AEF\u7A97\u53E3\u7ED9\u4EBA\u770B\uFF08\u88AB Claude Code / Codex \u7B49 agent \u8C03\u7528\u65F6\u81EA\u52A8\u5F00\u542F\uFF09").option("--no-watch","\u4E0D\u5F00\u5B9E\u65F6\u89C6\u56FE\u7A97\u53E3").action(async(n,r,i)=>{await _(i,async o=>{let s=o.format==="ndjson",a=o.format==="pretty"&&!r.raw,u=Yt(),l=ol(r.watch),c=[];a&&c.push(ys(y=>process.stdout.write(y),{color:u,showThinking:u,lineBuffered:!u}));let d,p;if(l){let y=rr.create("ask");d=y,c.push(ys($=>y.write($),{color:!0,showThinking:!0,lineBuffered:!1})),y.write(`\x1B[1m\u2753 ${r.resume?`\u56DE\u653E\u4F1A\u8BDD ${r.resume}`:n}\x1B[0m
80
109
 
81
- `)}let m=new rr(u),y;try{let g=r.resume?await Fe.agentResume(o.client,r.resume):await Fe.agentStart(o.client,n);p&&(c=Os(o,p.path,r.watch===!0)),y=await As(o,g,{replay:!!r.resume,ndjson:s,renderer:m})}catch(g){throw p?.finish({status:"error",error:g instanceof Error?g.message:String(g)}),p&&c&&on(g)?new v({type:g.type,code:g.code,status:g.status,message:g.message,hint:g.hint,details:{...typeof g.details=="object"&&g.details?g.details:{},stream_log:p.path,viewer:{opened:c.opened,terminal:c.terminal}},cause:g}):g}if(r.resume&&!y.session_id&&(y.session_id=r.resume),p?.finish({status:y.status,session_id:y.session_id,error:y.error}),p&&(y.stream_log=p.path),c&&(y.viewer={opened:c.opened,terminal:c.terminal}),y.status==="truncated")throw Qr(y.session_id);if(y.status==="error")throw new v({type:"api",message:y.error||"AI \u641C\u7D22\u8FD4\u56DE\u9519\u8BEF",details:{session_id:y.session_id}});if(r.share&&y.session_id){let g=await Fe.share(o.client,y.session_id),x=g?.token??g?.share_token??g?.id;y.share_url=x?`${o.siteUrl}/ai-search/share/${x}`:void 0,y.share_url||(y.share_url=JSON.stringify(g))}if(s){process.stdout.write(JSON.stringify({type:"summary",...y})+`
82
- `);return}return{data:y,pretty:g=>a?[g.share_url?`\u5206\u4EAB\u94FE\u63A5\uFF1A${g.share_url}`:"",g.session_id?`\u4F1A\u8BDD ID\uFF1A${g.session_id}\uFF08watcha ask --resume ${g.session_id} \u53EF\u56DE\u653E\uFF09`:"",g.viewer?.opened?`\u5B9E\u65F6\u89C6\u56FE\u5DF2\u5728 ${g.viewer.terminal} \u7A97\u53E3\u663E\u793A`:""].filter(Boolean).join(`
83
- `):[g.content||"\uFF08\u65E0\u6B63\u6587\uFF09","",g.share_url?`\u5206\u4EAB\u94FE\u63A5\uFF1A${g.share_url}`:"",g.session_id?`\u4F1A\u8BDD ID\uFF1A${g.session_id}`:""].filter(Boolean).join(`
84
- `)}})});let t=e.command("ask-sessions").description("AI \u641C\u7D22\u5386\u53F2\u4F1A\u8BDD");t.command("list").description("\u4F1A\u8BDD\u5217\u8868").option("--limit <n>","\u6BCF\u9875\u6761\u6570\uFF0C1-100","20").option("--skip <n>","\u8DF3\u8FC7\u6761\u6570","0").option("--page <n>","\u9875\u7801\uFF08\u4E0E --skip \u4E8C\u9009\u4E00\uFF09").action(async(n,r)=>{await _(r,async i=>{let{skip:o,limit:s}=G(n),a=await Fe.sessions(i.client,{skip:o,limit:s})||{};return{data:a.items||[],meta:{total:a.total,skip:o,limit:s,count:a.count},pretty:()=>xn(a,d=>`${C(d.id)} ${se(d.created_at??d.create_at)} ${X(C(d.query??d.q??d.title),80)}`,o,s)}})}),t.command("show <id>").description("\u4F1A\u8BDD\u8BE6\u60C5\uFF08\u542B\u5386\u53F2\u4E8B\u4EF6\uFF09").action(async(n,r,i)=>{await _(i,async o=>({data:await Fe.session(o.client,n)}))}),t.command("delete <id>").description("\u5220\u9664\u4F1A\u8BDD").action(async(n,r,i)=>{await _(i,async o=>(await Fe.deleteSession(o.client,n),{data:{deleted:n},pretty:()=>`\u4F1A\u8BDD ${n} \u5DF2\u5220\u9664`}))}),t.command("shared <token>").description("\u67E5\u770B\u5206\u4EAB\u51FA\u6765\u7684\u4F1A\u8BDD\uFF08\u65E0\u9700\u767B\u5F55\uFF09").action(async(n,r,i)=>{await _(i,async o=>({data:await Fe.shared(o.client,n)}))})}function ir(e){if(!e.access_token||!e.refresh_token)throw new v({type:"api",message:"\u767B\u5F55\u54CD\u5E94\u7F3A\u5C11 access_token / refresh_token",details:Object.keys(e)});let t=Ve(e.access_token);return{accessToken:e.access_token,refreshToken:e.refresh_token,userId:typeof e.id=="number"?e.id:typeof t?.id=="number"?t.id:void 0,username:typeof e.username=="string"?e.username:typeof t?.username=="string"?t.username:void 0,nickname:typeof e.nickname=="string"?e.nickname:typeof t?.nickname=="string"?t.nickname:void 0,savedAt:new Date().toISOString()}}async function Ps(e,t){let r=Date.now()+t*1e3,{qrcode:i,req_secret:o}=await Ee.startQrcode(e.client),s=i.replace(/^data:image\/\w+;base64,/,""),a=/^data:image\/png/.test(i)?".png":".jpg";if(ee("\u8BF7\u7528\u5FAE\u4FE1\u626B\u63CF\u4E0B\u65B9\u5C0F\u7A0B\u5E8F\u7801\u767B\u5F55\u89C2\u7339\uFF085 \u5206\u949F\u5185\u6709\u6548\uFF09\uFF1A",e.opts),!ai(process.stderr,s,{name:`watcha-login${a}`,widthCells:30})){let{file:u,opened:p}=await ui(s,a);ee(p?`\u4E8C\u7EF4\u7801\u5DF2\u7528\u7CFB\u7EDF\u56FE\u7247\u67E5\u770B\u5668\u6253\u5F00\uFF08\u6587\u4EF6\uFF1A${u}\uFF09`:`\u5F53\u524D\u7EC8\u7AEF\u4E0D\u652F\u6301\u5185\u8054\u56FE\u7247\uFF0C\u4E8C\u7EF4\u7801\u5DF2\u4FDD\u5B58\u5230\uFF1A${u}\uFF0C\u8BF7\u6253\u5F00\u540E\u626B\u7801`,e.opts)}let l=!1;for(;Date.now()<r;){await It(l?1e3:3e3);let u=await Ee.qrcodeStatus(e.client,o);switch(u.status){case"not_scanned":break;case"scanned":l||ee("\u5DF2\u626B\u7801\uFF0C\u8BF7\u5728\u624B\u673A\u4E0A\u786E\u8BA4\u2026",e.opts),l=!0;break;case"logged_in":if(!u.profile)throw new v({type:"api",message:"\u626B\u7801\u72B6\u6001\u4E3A logged_in \u4F46\u6CA1\u6709\u8FD4\u56DE profile"});return ir(u.profile);case"cancelled":throw new v({type:"auth",message:"\u5DF2\u5728\u624B\u673A\u4E0A\u53D6\u6D88\u767B\u5F55"});case"expired":throw new v({type:"auth",message:"\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});default:ee(`\u672A\u77E5\u626B\u7801\u72B6\u6001\uFF1A${u.status}`,e.opts)}}throw new v({type:"auth",message:`\u7B49\u5F85\u626B\u7801\u8D85\u65F6\uFF08${t} \u79D2\uFF09`,hint:"\u91CD\u65B0\u6267\u884C watcha auth login"})}async function Is(e,t,n){if(!He()&&(!t||!n))throw new v({type:"validation",message:"\u975E\u4EA4\u4E92\u73AF\u5883\u4E0B\u77ED\u4FE1\u767B\u5F55\u5FC5\u987B\u540C\u65F6\u63D0\u4F9B --phone \u4E0E --code",hint:"\u5148\u7528 --phone \u53D1\u7801\uFF08\u4F1A\u8FD4\u56DE\u63D0\u793A\uFF09\uFF0C\u518D\u5E26 --code \u8C03\u7528\uFF1B\u6216\u6539\u7528 --refresh-token / WATCHA_REFRESH_TOKEN"});let r=t||await mt("\u624B\u673A\u53F7\uFF1A");if(!/^1\d{10}$/.test(r))throw new v({type:"validation",message:"\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u5BF9\uFF08\u9700\u8981 11 \u4F4D\u5927\u9646\u624B\u673A\u53F7\uFF09"});let i=n;i||(await Ee.requestVerifyCode(e.client,{phone:r,type:"signin"}),ee("\u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001\uFF08\u6BCF\u4E2A\u53F7\u7801 1 \u5206\u949F\u53EA\u80FD\u53D1 1 \u6B21\uFF09",e.opts),i=await mt("\u9A8C\u8BC1\u7801\uFF1A"));let o=await Ee.signinWithCode(e.client,{phone:r,code:i});return ir(o)}async function qs(e,t){if(!He())throw new v({type:"validation",message:"\u5BC6\u7801\u767B\u5F55\u53EA\u652F\u6301\u4EA4\u4E92\u5F0F\u7EC8\u7AEF",hint:"\u811A\u672C\u73AF\u5883\u8BF7\u7528 --refresh-token / WATCHA_REFRESH_TOKEN"});let n=t||await mt("\u8D26\u53F7\uFF08\u624B\u673A\u53F7/\u90AE\u7BB1/\u7528\u6237\u540D\uFF09\uFF1A"),r=await mt("\u5BC6\u7801\uFF1A",{hidden:!0}),i=await Ee.signinWithPassword(e.client,{account:n,password:r});return ir(i)}async function Rs(e,t){let n=t.trim().replace(/^Bearer\s+/i,""),r=Ve(n);if(!r||r.token_type!=="refresh")throw new v({type:"validation",message:"\u8FD9\u4E0D\u662F\u89C2\u7339\u7684 refresh token",hint:"\u5728\u6D4F\u89C8\u5668\u767B\u5F55 watcha.cn \u540E\uFF0C\u5F00\u53D1\u8005\u5DE5\u5177 \u2192 Application \u2192 Local Storage \u2192 watcha.refreshToken\uFF0C\u590D\u5236\u6574\u6BB5\u503C"});let i=await Ee.refresh(e.client,n),o=Ve(i.access_token);return{accessToken:i.access_token,refreshToken:i.refresh_token||n,userId:typeof o?.id=="number"?o.id:void 0,username:typeof o?.username=="string"?o.username:void 0,nickname:typeof o?.nickname=="string"?o.nickname:void 0,savedAt:new Date().toISOString()}}function qi(e){let t=e.command("auth").description("\u767B\u5F55\u6001\u7BA1\u7406\uFF08\u9ED8\u8BA4\u5FAE\u4FE1\u626B\u7801\uFF1B\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A 5 \u4E2A\u767B\u5F55\u6001\uFF0CCLI \u5360\u5176\u4E00\uFF09");t.command("login").description("\u767B\u5F55\u89C2\u7339\u3002\u9ED8\u8BA4\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u7801\uFF1B--sms \u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF1B--password \u8D26\u53F7\u5BC6\u7801\uFF1B--refresh-token \u76F4\u63A5\u5BFC\u5165\u6D4F\u89C8\u5668\u767B\u5F55\u6001").option("--wechat","\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u7801\u767B\u5F55\uFF08\u9ED8\u8BA4\uFF09").option("--sms","\u77ED\u4FE1\u9A8C\u8BC1\u7801\u767B\u5F55").option("--password","\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\uFF08\u4EC5\u4EA4\u4E92\u5F0F\uFF09").option("--phone <phone>","\u77ED\u4FE1\u767B\u5F55\u7528\u7684\u624B\u673A\u53F7").option("--code <code>","\u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF08\u975E\u4EA4\u4E92\u73AF\u5883\u5FC5\u586B\uFF09").option("--account <account>","\u5BC6\u7801\u767B\u5F55\u7528\u7684\u8D26\u53F7").option("--refresh-token <token>","\u76F4\u63A5\u7528\u6D4F\u89C8\u5668\u91CC\u7684 watcha.refreshToken \u767B\u5F55").option("--timeout <seconds>","\u626B\u7801\u7B49\u5F85\u79D2\u6570","300").action(async(r,i)=>{await _(i,async o=>{let s;r.refreshToken?s=await Rs(o,r.refreshToken):r.sms||r.phone?s=await Is(o,r.phone,r.code):r.password||r.account?s=await qs(o,r.account):s=await Ps(o,Math.max(30,parseInt(r.timeout,10)||300)),await o.client.setCredentials(s);let{source:a}=await o.client.loadCredentials(),d={profile:o.profile.name,user_id:s.userId,username:s.username,nickname:s.nickname,stored_in:a,access_expires_at:Rt(s.accessToken)?.toISOString(),refresh_expires_at:Rt(s.refreshToken)?.toISOString()};return ee("\u63D0\u793A\uFF1A\u89C2\u7339\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A\u4FDD\u7559 5 \u4E2A\u767B\u5F55\u6001\uFF08Web/App/CLI \u5171\u7528\uFF09\uFF0C\u8D85\u51FA\u4F1A\u6309\u6700\u4E45\u672A\u7528\u8E22\u51FA\uFF1B\u4E0D\u7528 CLI \u65F6\u53EF watcha auth logout \u91CA\u653E\u3002",o.opts),{data:d,pretty:l=>`\u5DF2\u767B\u5F55\uFF1A${C(l.nickname)}\uFF08#${C(l.user_id)}\uFF09
110
+ `)}let m=new ii(c),g;try{let y=r.resume?await Kt.agentResume(o.client,r.resume):await Kt.agentStart(o.client,n);d&&(p=sl(o,d.path,r.watch===!0)),g=await il(o,y,{replay:!!r.resume,ndjson:s,renderer:m})}catch(y){throw d?.finish({status:"error",error:y instanceof Error?y.message:String(y)}),d&&p&&Se(y)?new A({type:y.type,code:y.code,status:y.status,message:y.message,hint:y.hint,details:{...typeof y.details=="object"&&y.details?y.details:{},stream_log:d.path,viewer:{opened:p.opened,terminal:p.terminal}},cause:y}):y}if(r.resume&&!g.session_id&&(g.session_id=r.resume),d?.finish({status:g.status,session_id:g.session_id,error:g.error}),d&&(g.stream_log=d.path),p&&(g.viewer={opened:p.opened,terminal:p.terminal}),g.status==="truncated")throw ss(g.session_id);if(g.status==="error")throw new A({type:"api",message:g.error||"AI \u641C\u7D22\u8FD4\u56DE\u9519\u8BEF",details:{session_id:g.session_id}});if(r.share&&g.session_id){let y=await Kt.share(o.client,g.session_id),$=y?.token??y?.share_token??y?.id;g.share_url=$?`${o.siteUrl}/ai-search/share/${$}`:void 0,g.share_url||(g.share_url=JSON.stringify(y))}if(s){process.stdout.write(JSON.stringify({type:"summary",...g})+`
111
+ `);return}return{data:g,pretty:y=>a?[y.share_url?`\u5206\u4EAB\u94FE\u63A5\uFF1A${y.share_url}`:"",y.session_id?`\u4F1A\u8BDD ID\uFF1A${y.session_id}\uFF08watcha ask --resume ${y.session_id} \u53EF\u56DE\u653E\uFF09`:"",y.viewer?.opened?`\u5B9E\u65F6\u89C6\u56FE\u5DF2\u5728 ${y.viewer.terminal} \u7A97\u53E3\u663E\u793A`:""].filter(Boolean).join(`
112
+ `):[y.content||"\uFF08\u65E0\u6B63\u6587\uFF09","",y.share_url?`\u5206\u4EAB\u94FE\u63A5\uFF1A${y.share_url}`:"",y.session_id?`\u4F1A\u8BDD ID\uFF1A${y.session_id}`:""].filter(Boolean).join(`
113
+ `)}})});let e=t.command("ask-sessions").description("AI \u641C\u7D22\u5386\u53F2\u4F1A\u8BDD");e.command("list").description("\u4F1A\u8BDD\u5217\u8868").option("--limit <n>","\u6BCF\u9875\u6761\u6570\uFF0C1-100","20").option("--skip <n>","\u8DF3\u8FC7\u6761\u6570","0").option("--page <n>","\u9875\u7801\uFF08\u4E0E --skip \u4E8C\u9009\u4E00\uFF09").action(async(n,r)=>{await _(r,async i=>{let{skip:o,limit:s}=B(n),a=await Kt.sessions(i.client,{skip:o,limit:s})||{};return{data:a.items||[],meta:{total:a.total,skip:o,limit:s,count:a.count},pretty:()=>Mn(a,u=>`${w(u.id)} ${mt(u.created_at??u.create_at)} ${F(w(u.query??u.q??u.title),80)}`,o,s)}})}),e.command("show <id>").description("\u4F1A\u8BDD\u8BE6\u60C5\uFF08\u542B\u5386\u53F2\u4E8B\u4EF6\uFF09").action(async(n,r,i)=>{await _(i,async o=>({data:await Kt.session(o.client,n)}))}),e.command("delete <id>").description("\u5220\u9664\u4F1A\u8BDD").action(async(n,r,i)=>{await _(i,async o=>(await Kt.deleteSession(o.client,n),{data:{deleted:n},pretty:()=>`\u4F1A\u8BDD ${n} \u5DF2\u5220\u9664`}))}),e.command("shared <token>").description("\u67E5\u770B\u5206\u4EAB\u51FA\u6765\u7684\u4F1A\u8BDD\uFF08\u65E0\u9700\u767B\u5F55\uFF09").action(async(n,r,i)=>{await _(i,async o=>({data:await Kt.shared(o.client,n)}))})}function oi(t){if(!t.access_token||!t.refresh_token)throw new A({type:"api",message:"\u767B\u5F55\u54CD\u5E94\u7F3A\u5C11 access_token / refresh_token",details:Object.keys(t)});let e=Xt(t.access_token);return{accessToken:t.access_token,refreshToken:t.refresh_token,userId:typeof t.id=="number"?t.id:typeof e?.id=="number"?e.id:void 0,username:typeof t.username=="string"?t.username:typeof e?.username=="string"?e.username:void 0,nickname:typeof t.nickname=="string"?t.nickname:typeof e?.nickname=="string"?e.nickname:void 0,savedAt:new Date().toISOString()}}async function al(t,e){let r=Date.now()+e*1e3,{qrcode:i,req_secret:o}=await qt.startQrcode(t.client),s=i.replace(/^data:image\/\w+;base64,/,""),a=/^data:image\/png/.test(i)?".png":".jpg";if(V("\u8BF7\u7528\u5FAE\u4FE1\u626B\u63CF\u4E0B\u65B9\u5C0F\u7A0B\u5E8F\u7801\u767B\u5F55\u89C2\u7339\uFF085 \u5206\u949F\u5185\u6709\u6548\uFF09\uFF1A",t.opts),!_i(process.stderr,s,{name:`watcha-login${a}`,widthCells:30})){let{file:c,opened:d}=await xi(s,a);V(d?`\u4E8C\u7EF4\u7801\u5DF2\u7528\u7CFB\u7EDF\u56FE\u7247\u67E5\u770B\u5668\u6253\u5F00\uFF08\u6587\u4EF6\uFF1A${c}\uFF09`:`\u5F53\u524D\u7EC8\u7AEF\u4E0D\u652F\u6301\u5185\u8054\u56FE\u7247\uFF0C\u4E8C\u7EF4\u7801\u5DF2\u4FDD\u5B58\u5230\uFF1A${c}\uFF0C\u8BF7\u6253\u5F00\u540E\u626B\u7801`,t.opts)}let l=!1;for(;Date.now()<r;){await je(l?1e3:3e3);let c=await qt.qrcodeStatus(t.client,o);switch(c.status){case"not_scanned":break;case"scanned":l||V("\u5DF2\u626B\u7801\uFF0C\u8BF7\u5728\u624B\u673A\u4E0A\u786E\u8BA4\u2026",t.opts),l=!0;break;case"logged_in":if(!c.profile)throw new A({type:"api",message:"\u626B\u7801\u72B6\u6001\u4E3A logged_in \u4F46\u6CA1\u6709\u8FD4\u56DE profile"});return oi(c.profile);case"cancelled":throw new A({type:"auth",message:"\u5DF2\u5728\u624B\u673A\u4E0A\u53D6\u6D88\u767B\u5F55"});case"expired":throw new A({type:"auth",message:"\u4E8C\u7EF4\u7801\u5DF2\u8FC7\u671F",hint:"\u91CD\u65B0\u6267\u884C watcha auth login"});default:V(`\u672A\u77E5\u626B\u7801\u72B6\u6001\uFF1A${c.status}`,t.opts)}}throw new A({type:"auth",message:`\u7B49\u5F85\u626B\u7801\u8D85\u65F6\uFF08${e} \u79D2\uFF09`,hint:"\u91CD\u65B0\u6267\u884C watcha auth login"})}async function ul(t,e,n){if(!Lt()&&(!e||!n))throw new A({type:"validation",message:"\u975E\u4EA4\u4E92\u73AF\u5883\u4E0B\u77ED\u4FE1\u767B\u5F55\u5FC5\u987B\u540C\u65F6\u63D0\u4F9B --phone \u4E0E --code",hint:"\u5148\u7528 --phone \u53D1\u7801\uFF08\u4F1A\u8FD4\u56DE\u63D0\u793A\uFF09\uFF0C\u518D\u5E26 --code \u8C03\u7528\uFF1B\u6216\u6539\u7528 --refresh-token / WATCHA_REFRESH_TOKEN"});let r=e||await Vt("\u624B\u673A\u53F7\uFF1A");if(!/^1\d{10}$/.test(r))throw new A({type:"validation",message:"\u624B\u673A\u53F7\u683C\u5F0F\u4E0D\u5BF9\uFF08\u9700\u8981 11 \u4F4D\u5927\u9646\u624B\u673A\u53F7\uFF09"});let i=n;i||(await qt.requestVerifyCode(t.client,{phone:r,type:"signin"}),V("\u9A8C\u8BC1\u7801\u5DF2\u53D1\u9001\uFF08\u6BCF\u4E2A\u53F7\u7801 1 \u5206\u949F\u53EA\u80FD\u53D1 1 \u6B21\uFF09",t.opts),i=await Vt("\u9A8C\u8BC1\u7801\uFF1A"));let o=await qt.signinWithCode(t.client,{phone:r,code:i});return oi(o)}async function cl(t,e){if(!Lt())throw new A({type:"validation",message:"\u5BC6\u7801\u767B\u5F55\u53EA\u652F\u6301\u4EA4\u4E92\u5F0F\u7EC8\u7AEF",hint:"\u811A\u672C\u73AF\u5883\u8BF7\u7528 --refresh-token / WATCHA_REFRESH_TOKEN"});let n=e||await Vt("\u8D26\u53F7\uFF08\u624B\u673A\u53F7/\u90AE\u7BB1/\u7528\u6237\u540D\uFF09\uFF1A"),r=await Vt("\u5BC6\u7801\uFF1A",{hidden:!0}),i=await qt.signinWithPassword(t.client,{account:n,password:r});return oi(i)}async function ll(t,e){let n=e.trim().replace(/^Bearer\s+/i,""),r=Xt(n);if(!r||r.token_type!=="refresh")throw new A({type:"validation",message:"\u8FD9\u4E0D\u662F\u89C2\u7339\u7684 refresh token",hint:"\u5728\u6D4F\u89C8\u5668\u767B\u5F55 watcha.cn \u540E\uFF0C\u5F00\u53D1\u8005\u5DE5\u5177 \u2192 Application \u2192 Local Storage \u2192 watcha.refreshToken\uFF0C\u590D\u5236\u6574\u6BB5\u503C"});let i=await qt.refresh(t.client,n),o=Xt(i.access_token);return{accessToken:i.access_token,refreshToken:i.refresh_token||n,userId:typeof o?.id=="number"?o.id:void 0,username:typeof o?.username=="string"?o.username:void 0,nickname:typeof o?.nickname=="string"?o.nickname:void 0,savedAt:new Date().toISOString()}}function ks(t){let e=t.command("auth").description("\u767B\u5F55\u6001\u7BA1\u7406\uFF08\u9ED8\u8BA4\u5FAE\u4FE1\u626B\u7801\uFF1B\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A 5 \u4E2A\u767B\u5F55\u6001\uFF0CCLI \u5360\u5176\u4E00\uFF09");e.command("login").description("\u767B\u5F55\u89C2\u7339\u3002\u9ED8\u8BA4\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u7801\uFF1B--sms \u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF1B--password \u8D26\u53F7\u5BC6\u7801\uFF1B--refresh-token \u76F4\u63A5\u5BFC\u5165\u6D4F\u89C8\u5668\u767B\u5F55\u6001").option("--wechat","\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u7801\u767B\u5F55\uFF08\u9ED8\u8BA4\uFF09").option("--sms","\u77ED\u4FE1\u9A8C\u8BC1\u7801\u767B\u5F55").option("--password","\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\uFF08\u4EC5\u4EA4\u4E92\u5F0F\uFF09").option("--phone <phone>","\u77ED\u4FE1\u767B\u5F55\u7528\u7684\u624B\u673A\u53F7").option("--code <code>","\u77ED\u4FE1\u9A8C\u8BC1\u7801\uFF08\u975E\u4EA4\u4E92\u73AF\u5883\u5FC5\u586B\uFF09").option("--account <account>","\u5BC6\u7801\u767B\u5F55\u7528\u7684\u8D26\u53F7").option("--refresh-token <token>","\u76F4\u63A5\u7528\u6D4F\u89C8\u5668\u91CC\u7684 watcha.refreshToken \u767B\u5F55").option("--timeout <seconds>","\u626B\u7801\u7B49\u5F85\u79D2\u6570","300").action(async(r,i)=>{await _(i,async o=>{let s;r.refreshToken?s=await ll(o,r.refreshToken):r.sms||r.phone?s=await ul(o,r.phone,r.code):r.password||r.account?s=await cl(o,r.account):s=await al(o,Math.max(30,parseInt(r.timeout,10)||300)),await o.client.setCredentials(s);let{source:a}=await o.client.loadCredentials(),u={profile:o.profile.name,user_id:s.userId,username:s.username,nickname:s.nickname,stored_in:a,access_expires_at:Ge(s.accessToken)?.toISOString(),refresh_expires_at:Ge(s.refreshToken)?.toISOString()};return V("\u63D0\u793A\uFF1A\u89C2\u7339\u6BCF\u4E2A\u8D26\u53F7\u6700\u591A\u4FDD\u7559 5 \u4E2A\u767B\u5F55\u6001\uFF08Web/App/CLI \u5171\u7528\uFF09\uFF0C\u8D85\u51FA\u4F1A\u6309\u6700\u4E45\u672A\u7528\u8E22\u51FA\uFF1B\u4E0D\u7528 CLI \u65F6\u53EF watcha auth logout \u91CA\u653E\u3002",o.opts),{data:u,pretty:l=>`\u5DF2\u767B\u5F55\uFF1A${w(l.nickname)}\uFF08#${w(l.user_id)}\uFF09
85
114
  profile=${l.profile}\uFF0C\u51ED\u8BC1\u5B58\u653E\uFF1A${l.stored_in}
86
- refresh token \u6709\u6548\u671F\u81F3 ${se(l.refresh_expires_at)}`}})}),t.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u6001\uFF08\u4F1A\u5411\u540E\u7AEF\u6838\u5B9E\u4E00\u6B21\uFF09").action(async(r,i)=>{await _(i,async o=>{let{credentials:s,source:a}=await o.client.loadCredentials();if(!s)return{data:{logged_in:!1,profile:o.profile.name,base_url:o.profile.baseUrl},pretty:()=>`\u672A\u767B\u5F55\uFF08profile=${o.profile.name}\uFF0C${o.profile.baseUrl}\uFF09
87
- \u6267\u884C watcha auth login \u767B\u5F55`};let d=null,l;try{d=await ce.me(o.client)}catch(c){l=c instanceof Error?c.message:String(c)}let u=d?await Ee.perms(o.client).catch(()=>[]):[];return{data:{logged_in:!!d,profile:o.profile.name,base_url:o.profile.baseUrl,stored_in:a,user:d?{id:d.id,nickname:d.nickname,username:d.username,is_gold_member:d.is_gold_member,is_official:d.is_official}:null,can_create_review:u.includes("create.product_review.v1"),permissions:u,access_expires_at:Rt(s.accessToken)?.toISOString(),refresh_expires_at:Rt(s.refreshToken)?.toISOString(),error:l},pretty:c=>c.logged_in?`\u5DF2\u767B\u5F55\uFF1A${C(c.user?.nickname)}\uFF08#${C(c.user?.id)}\uFF09 profile=${c.profile} \u51ED\u8BC1\uFF1A${c.stored_in}
88
- \u53D1\u7339\u8BC4\u8D44\u683C\uFF1A${c.can_create_review?"\u6709\uFF08\u89C2\u7339\u5458\uFF09":"\u65E0\uFF08\u9700\u901A\u8FC7 watcha.cn/exam \u664B\u7EA7\u8003\u8BD5\u6216\u4F7F\u7528\u9080\u8BF7\u7801\uFF09"}
89
- refresh token \u6709\u6548\u671F\u81F3 ${se(c.refresh_expires_at)}`:`\u672C\u5730\u6709\u51ED\u8BC1\u4F46\u540E\u7AEF\u6838\u5B9E\u5931\u8D25\uFF1A${c.error}
90
- \u53EF\u80FD\u5DF2\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF0C\u6267\u884C watcha auth login \u91CD\u65B0\u767B\u5F55`}})}),t.command("logout").description("\u9000\u51FA\u767B\u5F55\u5E76\u91CA\u653E\u540E\u7AEF\u7684\u767B\u5F55\u69FD\u4F4D").action(async(r,i)=>{await _(i,async o=>{let{credentials:s}=await o.client.loadCredentials();return s?.refreshToken&&await Ee.signout(o.client,s.refreshToken).catch(()=>{}),await o.client.clearCredentials(),{data:{logged_out:!0,profile:o.profile.name},pretty:()=>`\u5DF2\u9000\u51FA\u767B\u5F55\uFF08profile=${o.profile.name}\uFF09`}})}),t.command("token").description("\u8F93\u51FA\u5F53\u524D\u53EF\u7528\u7684 access token\uFF08\u7ED9 curl/\u811A\u672C\u7528\uFF1B\u4F1A\u6309\u9700\u5237\u65B0\uFF09").action(async(r,i)=>{await _(i,async o=>({data:{access_token:await o.client.accessToken(!0)},pretty:a=>String(a.access_token)}))});let n=e.command("profile").description("\u591A\u8D26\u53F7/\u591A\u73AF\u5883 profile\uFF08AI agent\uFF1A\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\uFF0C\u4E0D\u8981\u5207\u6362\u6216\u5220\u9664 profile\uFF09");n.command("list").description("\u5217\u51FA profile").action(async(r,i)=>{await _(i,async o=>{let s=nt();return{data:Object.entries(s.profiles).map(([d,l])=>({name:d,base_url:l.baseUrl,current:d===o.profile.name})),pretty:d=>d.map(l=>`${l.current?"* ":" "}${l.name} ${l.base_url}`).join(`
91
- `)}})}),n.command("use <name>").description("\u5207\u6362\u5F53\u524D profile").action(async(r,i,o)=>{await _(o,async()=>(Xr(r),{data:{current:r},pretty:()=>`\u5F53\u524D profile \u2192 ${r}`}))}),n.command("add <name>").description("\u65B0\u589E/\u66F4\u65B0 profile").option("--base-url <url>","API \u57FA\u5740\uFF0C\u9ED8\u8BA4 https://watcha.cn/api/v2").option("--site-url <url>","\u7AD9\u70B9\u5730\u5740\uFF08\u7528\u4E8E\u62FC\u9875\u9762\u94FE\u63A5\uFF09").option("--use","\u540C\u65F6\u5207\u6362\u4E3A\u5F53\u524D profile").action(async(r,i,o)=>{await _(o,async()=>{let s=nt().profiles[r];return Yr(r,{baseUrl:i.baseUrl||s?.baseUrl||"https://watcha.cn/api/v2",siteUrl:i.siteUrl||s?.siteUrl},!!i.use),{data:{name:r,base_url:i.baseUrl,current:!!i.use},pretty:()=>`profile ${r} \u5DF2\u4FDD\u5B58`}})}),n.command("remove <name>").description("\u5220\u9664 profile\uFF08\u4E0D\u4F1A\u5220\u9664\u5176\u767B\u5F55\u51ED\u8BC1\uFF0C\u8BF7\u5148 logout\uFF09").action(async(r,i,o)=>{await _(o,async()=>(Zr(r),{data:{removed:r},pretty:()=>`profile ${r} \u5DF2\u5220\u9664`}))})}async function Ut(e,t,n){if(e.opts.yes)return;if(!He())throw Nt(t);if(ee(`
92
- ${n}
93
- `,e.opts),!await pn(`\u786E\u8BA4${t}\uFF1F`))throw new v({type:"confirmation_required",message:"\u5DF2\u53D6\u6D88"})}function Pe(e,t){if(!(e.opts.yes||He()))throw Nt(t)}var Z=e=>e.option("--limit <n>","\u6BCF\u9875\u6761\u6570\uFF0C1-100","20").option("--skip <n>","\u8DF3\u8FC7\u6761\u6570","0").option("--page <n>","\u9875\u7801\uFF08\u4E0E --skip \u4E8C\u9009\u4E00\uFF09");function z(e,t,n,r,i,o){return{data:e.items||[],meta:{total:typeof e.total=="number"&&e.total>0?e.total:void 0,skip:e.skip??n,limit:e.limit??r,count:e.count??e.items?.length??0,has_more:(e.count??e.items?.length??0)>=r},pretty:()=>xn(e,t,n,r),table:i&&o?{columns:i,rows:s=>s.map(o)}:void 0}}async function or(e,t){if(/^\d+$/.test(t))return t;let n=await H.show(e.client,t);return String(n.id)}var Ft=[{key:"id",title:"ID"},{key:"name",title:"\u540D\u79F0",width:24},{key:"score",title:"\u8BC4\u5206"},{key:"reviews",title:"\u7339\u8BC4"},{key:"slug",title:"slug",width:30}],Bt=e=>({id:e.id,name:e.name,score:typeof e.stats?.score=="number"?e.stats.score.toFixed(1):"",reviews:e.stats?.review_count,slug:e.slug});function Ri(e){Z(e.command("search <query>").description("\u641C\u7D22\u89C2\u7339\uFF08\u9ED8\u8BA4\u8054\u90A6\u6DF7\u6392\uFF1B--domain \u9650\u5B9A\u4EA7\u54C1/\u7339\u8BC4/\u5E16\u5B50/\u7528\u6237\uFF09").option("--domain <domain>","product | review | posting | user\uFF1B\u4E0D\u4F20\u5219\u6DF7\u6392").option("--category <ids>","\u4EA7\u54C1\u5206\u7C7B ID\uFF0C\u9017\u53F7\u5206\u9694\uFF08\u4EC5 product\uFF09").option("--score-gte <n>","\u6700\u4F4E\u8BC4\u5206\uFF08\u4EC5 product\uFF09").option("--score-lte <n>","\u6700\u9AD8\u8BC4\u5206\uFF08\u4EC5 product\uFF09").option("--organization <name>","\u6240\u5C5E\u7EC4\u7EC7\uFF08\u4EC5 product\uFF09").option("--order-by <field>","score:desc | publish_at:desc | update_at:desc\uFF08\u4EC5 product\uFF09").option("--hybrid","\u542F\u7528\u5411\u91CF\u6DF7\u5408\u68C0\u7D22\uFF08\u4EC5 product\uFF09")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=u.domain;if(g&&!["product","review","posting","user"].includes(g))throw L(`--domain \u53EA\u80FD\u662F product / review / posting / user\uFF0C\u6536\u5230 "${g}"`);let x={};if(u.category&&(x.category_ids=u.category.split(",").map(j=>Number(j.trim())).filter(Number.isFinite)),u.scoreGte&&(x.score_gte=Number(u.scoreGte)),u.scoreLte&&(x.score_lte=Number(u.scoreLte)),u.organization&&(x.organization=u.organization),u.orderBy&&(x.order_by=[u.orderBy]),u.hybrid&&(x.enable_hybrid=!0),!g){let j=await c.client.request("POST","/search/federation",{query:{q:l,skip:m,limit:y},body:{}})||{};return z(j,W=>W.product?xe(W.product,c.siteUrl):W.review?ve(W.review,c.siteUrl):W.posting?Oe(W.posting,c.siteUrl):W.user?wt(W.user,c.siteUrl):X(JSON.stringify(W),160),m,y)}let S={options:{domains:[g],...g==="product"&&Object.keys(x).length?{product_options:x}:{}}},b=(await c.client.request("POST","/search/general",{query:{q:l,skip:m,limit:y},body:S})||{})[g]||{},$={product:"products",review:"reviews",posting:"postings",user:"users"}[g],R=b[$]||{items:[]},A=z(R,j=>g==="product"?xe(j,c.siteUrl):g==="review"?ve(j,c.siteUrl):g==="posting"?Oe(j,c.siteUrl):wt(j,c.siteUrl),m,y,g==="product"?Ft:void 0,g==="product"?Bt:void 0);return b.facets&&(A.meta={...A.meta,facets:b.facets}),A})});let t=e.command("product").description("\u4EA7\u54C1\u56FE\u9274");Z(t.command("list").description("\u4EA7\u54C1\u5217\u8868").option("--order-by <field>","\u6392\u5E8F\u5B57\u6BB5\uFF0C\u5982 hot_score / publish_at").option("--category <id>","\u5206\u7C7B ID")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y={skip:c,limit:m,order_by:l.orderBy,category:l.category},g=await H.list(p.client,y)||{};return z(g,x=>xe(x,p.siteUrl),c,m,Ft,Bt)})}),t.command("show <idOrSlug>").description("\u4EA7\u54C1\u8BE6\u60C5").action(async(l,u,p)=>{await _(p,async c=>({data:await H.show(c.client,l),pretty:y=>tr(y,c.siteUrl)}))}),Z(t.command("reviews <idOrSlug>").description("\u67D0\u4EA7\u54C1\u7684\u7339\u8BC4").option("--order-by <field>","create_at | remark_count")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await H.reviews(c.client,await or(c,l),{skip:m,limit:y,order_by:u.orderBy})||{};return z(g,x=>ve(x,c.siteUrl),m,y)})}),Z(t.command("posts <idOrSlug>").description("\u67D0\u4EA7\u54C1\u5173\u8054\u7684\u5E16\u5B50")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await H.posts(c.client,await or(c,l),{skip:m,limit:y})||{};return z(g,x=>Oe(x,c.siteUrl),m,y)})}),Z(t.command("similar <idOrSlug>").description("\u76F8\u4F3C\u4EA7\u54C1")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await H.similar(c.client,await or(c,l),{skip:m,limit:y})||{};return z(g,x=>xe(x,c.siteUrl),m,y,Ft,Bt)})}),Z(t.command("hot").description("\u70ED\u95E8\u4EA7\u54C1")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await H.hot(p.client,{skip:c,limit:m})||{};return z(y,g=>xe(g,p.siteUrl),c,m,Ft,Bt)})}),Z(t.command("launches [idOrSlug]").description("\u4EA7\u54C1\u53D1\u5E03\u8BB0\u5F55\uFF08\u4E0D\u4F20\u5219\u770B\u5168\u7AD9\u6700\u65B0\u4E0A\u65B0\uFF09")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u);if(!l){let S=await H.latestLaunches(c.client,{skip:m,limit:y})||{};return z(S,U=>xe(U,c.siteUrl),m,y)}let g=await H.show(c.client,l),x=await H.launches(c.client,Number(g.id),{skip:m,limit:y})||{};return z(x,S=>`#${C(S.id)} ${C(S.title)} \xB7 ${se(S.create_at)}
94
- ${X($e(S.description).text,200)}`,m,y)})}),t.command("categories").description("\u4EA7\u54C1\u5206\u7C7B\u5217\u8868").action(async(l,u)=>{await _(u,async p=>{let c=await H.categories(p.client),m=Array.isArray(c)?c:Array.isArray(c?.items)?c.items:[];return{data:c,pretty:()=>m.map(y=>`#${C(y.id)} ${C(y.name)}${y.product_count!==void 0?` (${J(y.product_count)})`:""}`).join(`
95
- `)||JSON.stringify(c,null,2)}})}),Z(t.command("collections").description("\u4EA7\u54C1\u5408\u96C6")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await H.collections(p.client,{skip:c,limit:m})||{};return z(y,g=>`#${C(g.id)} ${C(g.name??g.title)} (${C(g.slug)})${g.description?` \u2014 ${X($e(g.description).text,80)}`:""}
96
- ${p.siteUrl}/collections/${C(g.slug,String(g.id))}`,c,m)})}),Z(t.command("collection <idOrSlug>").description("\u5408\u96C6\u91CC\u7684\u4EA7\u54C1")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await H.collectionProducts(c.client,l,{skip:m,limit:y})||{};return z(g,x=>xe(x,c.siteUrl),m,y,Ft,Bt)})}),t.command("random").description("\u968F\u673A\u6765\u4E00\u4E2A\u4EA7\u54C1").action(async(l,u)=>{await _(u,async p=>({data:await H.random(p.client),pretty:m=>tr(m,p.siteUrl)}))});let n=e.command("review").description("\u7339\u8BC4\uFF08\u4EA7\u54C1\u8BC4\u4EF7\uFF09");n.command("show <id>").description("\u7339\u8BC4\u8BE6\u60C5").action(async(l,u,p)=>{await _(p,async c=>({data:await fe.show(c.client,l),pretty:y=>ve(y,c.siteUrl,{full:!0})}))}),Z(n.command("replies <id>").description("\u7339\u8BC4\u7684\u56DE\u590D\uFF08--all \u8FD4\u56DE\u6574\u68F5\u5B50\u6811\uFF09").option("--all","\u6241\u5E73\u5316\u6574\u68F5\u56DE\u590D\u6811")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=(u.all?await fe.children(c.client,l,{skip:m,limit:y}):await fe.replies(c.client,l,{skip:m,limit:y}))||{};return z(g,x=>ve(x,c.siteUrl,{full:!0}),m,y)})}),Z(n.command("hot").description("\u70ED\u95E8\u7339\u8BC4")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await fe.hot(p.client,{skip:c,limit:m})||{};return z(y,g=>ve(g,p.siteUrl),c,m)})}),Z(n.command("similar <id>").description("\u76F8\u4F3C\u7339\u8BC4")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await fe.similar(c.client,l,{skip:m,limit:y})||{};return z(g,x=>ve(x,c.siteUrl),m,y)})});let r=e.command("post").description("\u7339\u9986\u5E16\u5B50");Z(r.command("list").description("\u5E16\u5B50\u6D41").option("--topic <id>","\u6309\u8BDD\u9898\u7B5B\u9009")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await ie.list(p.client,{skip:c,limit:m,topic_id:l.topic})||{};return z(y,g=>Oe(g,p.siteUrl),c,m)})}),r.command("show <id>").description("\u5E16\u5B50\u8BE6\u60C5\uFF08\u542B\u6B63\u6587\uFF09").action(async(l,u,p)=>{await _(p,async c=>({data:await ie.show(c.client,l),pretty:y=>$i(y,c.siteUrl)}))}),Z(r.command("floors <id>").description("\u5E16\u5B50\u7684\u697C\u5C42")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await ie.floors(c.client,l,{skip:m,limit:y})||{};return z(g,nr,m,y)})}),Z(r.command("subfloors <floorId>").description("\u697C\u5C42\u4E0B\u7684\u56DE\u590D")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await ie.subfloors(c.client,l,{skip:m,limit:y})||{};return z(g,nr,m,y)})}),Z(r.command("hot").description("\u70ED\u95E8\u5E16\u5B50")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await ie.hot(p.client,{skip:c,limit:m})||{};return z(y,g=>Oe(g,p.siteUrl),c,m)})});let i=e.command("topic").description("\u8BDD\u9898");Z(i.command("list").description("\u8BDD\u9898\u5217\u8868")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await ie.topics(p.client,{skip:c,limit:m})||{};return z(y,g=>kn(g,p.siteUrl),c,m)})}),i.command("hot").description("\u70ED\u95E8\u8BDD\u9898").action(async(l,u)=>{await _(u,async p=>{let c=await ie.hotTopics(p.client),m=Array.isArray(c)?c:c?.items??[];return{data:m,pretty:()=>m.map(y=>kn(y,p.siteUrl)).join(`
97
- `)||"\uFF08\u7A7A\uFF09"}})}),i.command("show <id>").description("\u8BDD\u9898\u8BE6\u60C5").action(async(l,u,p)=>{await _(p,async c=>({data:await ie.topic(c.client,l),pretty:y=>`${kn(y,c.siteUrl)}
98
- ${y.intro?String(y.intro):""}`}))}),Z(i.command("posts <id>").description("\u8BDD\u9898\u4E0B\u7684\u5E16\u5B50\uFF08\u9ED8\u8BA4\u70ED\u95E8\uFF0C--featured \u7CBE\u9009\uFF09").option("--featured","\u53EA\u770B\u7CBE\u9009")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=(u.featured?await ie.topicFeaturedPosts(c.client,l,{skip:m,limit:y}):await ie.topicHotPosts(c.client,l,{skip:m,limit:y}))||{};return z(g,x=>Oe(x,c.siteUrl),m,y)})}),e.command("rank [key]").description(`\u699C\u5355\u3002key \u53EF\u9009\uFF1A${pt.join(" | ")}\uFF1B\u4E0D\u4F20\u5219\u5217\u51FA\u5168\u90E8 key`).option("--sub-key <key>","\u5B50\u699C\uFF0C\u9ED8\u8BA4 default","default").option("--top <n>","\u53D6\u524D N \u540D\uFF0C\u9ED8\u8BA4\u5168\u90E8").option("--archives","\u5217\u51FA\u5386\u53F2\u5F52\u6863\u800C\u4E0D\u662F\u5F53\u524D\u699C").option("--detail","\u8BF7\u6C42\u660E\u7EC6\u5B57\u6BB5\uFF08\u9700\u8981\u7BA1\u7406\u5458\u6743\u9650\uFF09").action(async(l,u,p)=>{await _(p,async c=>{if(!l)return{data:pt,pretty:()=>pt.map(g=>`- ${g}`).join(`
99
- `)};if(!pt.includes(l))throw L(`\u4E0D\u8BA4\u8BC6\u7684\u699C\u5355 key "${l}"`,`\u53EF\u7528\uFF1A${pt.join(" | ")}\uFF1B\u4E0D\u5E26\u53C2\u6570\u6267\u884C watcha rank \u4E5F\u80FD\u5217\u51FA`);if(u.archives){let g=await oe.rankArchives(c.client,l,u.subKey,{skip:0,limit:50})||{};return z(g,x=>`#${C(x.id)} ${se(x.period_start??x.start_at)} ~ ${se(x.period_end??x.end_at)}`,0,50)}let m=u.top?yt(u.top,20,1,1e3)-1:-1;return{data:await oe.rankRange(c.client,l,u.subKey,{start:0,end:m,need_detail:u.detail?!0:void 0}),pretty:g=>vi(g,c.siteUrl)}})}),Z(e.command("feed").description("\u9996\u9875\u4FE1\u606F\u6D41\uFF08\u767B\u5F55\u540E\u4E2A\u6027\u5316\uFF09")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await oe.feed(p.client,{skip:c,limit:m})||{};return z(y,g=>Oi(g,p.siteUrl),c,m)})});let o=e.command("user").description("\u7528\u6237");o.command("show <idOrUsername>").description("\u7528\u6237\u4E3B\u9875\u4FE1\u606F").action(async(l,u,p)=>{await _(p,async c=>({data:await ce.show(c.client,l),pretty:y=>wt(y,c.siteUrl)}))}),o.command("me").description("\u5F53\u524D\u767B\u5F55\u7528\u6237").action(async(l,u)=>{await _(u,async p=>({data:await ce.me(p.client),pretty:m=>wt(m,p.siteUrl)}))}),Z(o.command("search <query>").description("\u641C\u7528\u6237")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await ce.search(c.client,l,{skip:m,limit:y})||{};return z(g,x=>wt(x,c.siteUrl),m,y)})}),Z(o.command("reviews <idOrUsername>").description("\u67D0\u7528\u6237\u7684\u7339\u8BC4")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await ce.reviews(c.client,l,{skip:m,limit:y})||{};return z(g,x=>ve(x,c.siteUrl),m,y)})}),Z(o.command("posts <idOrUsername>").description("\u67D0\u7528\u6237\u7684\u5E16\u5B50")).action(async(l,u,p)=>{await _(p,async c=>{let{skip:m,limit:y}=G(u),g=await ce.posts(c.client,l,{skip:m,limit:y})||{};return z(g,x=>Oe(x,c.siteUrl),m,y)})});let s=e.command("activity").description("\u6D3B\u52A8");Z(s.command("list").description("\u6D3B\u52A8\u5217\u8868").option("--q <keyword>","\u5173\u952E\u8BCD\u641C\u7D22").option("--city <city>","\u57CE\u5E02")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y={skip:c,limit:m,city:l.city},g=(l.q?await oe.activitySearch(p.client,{...y,q:l.q}):await oe.activities(p.client,y))||{};return z(g,x=>bn(x,p.siteUrl),c,m)})}),s.command("show <slug>").description("\u6D3B\u52A8\u8BE6\u60C5").action(async(l,u,p)=>{await _(p,async c=>({data:await oe.activity(c.client,l),pretty:y=>`${bn(y,c.siteUrl)}
100
- ${y.short_description?String(y.short_description)+`
101
- `:""}${$e(y.description).text.slice(0,1500)}`}))}),Z(s.command("mine").description("\u6211\u62A5\u540D\u7684\u6D3B\u52A8")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await oe.myRegistered(p.client,{skip:c,limit:m})||{};return z(y,g=>bn(g,p.siteUrl),c,m)})});let a=e.command("notify").description("\u901A\u77E5");Z(a.command("list").description("\u901A\u77E5\u5217\u8868").option("--unread","\u53EA\u770B\u672A\u8BFB")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await oe.notifications(p.client,{skip:c,limit:m,unread:l.unread?!0:void 0})||{};return z(y,Ai,c,m)})}),a.command("status").description("\u672A\u8BFB\u6570").action(async(l,u)=>{await _(u,async p=>({data:await oe.notificationStatus(p.client),pretty:m=>JSON.stringify(m)}))}),a.command("read [id]").description("\u6807\u8BB0\u5DF2\u8BFB\uFF08\u4E0D\u4F20 id \u5219\u5168\u90E8\u5DF2\u8BFB\uFF0C\u4E0D\u53EF\u64A4\u9500\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(l,u,p)=>{await _(p,async c=>(Pe(c,l?`\u6807\u8BB0\u901A\u77E5 ${l} \u5DF2\u8BFB`:"\u6807\u8BB0\u5168\u90E8\u901A\u77E5\u5DF2\u8BFB"),l?await oe.readNotification(c.client,l):await oe.readAllNotifications(c.client),{data:{read:l||"all"},pretty:()=>l?`\u901A\u77E5 ${l} \u5DF2\u8BFB`:"\u5168\u90E8\u5DF2\u8BFB"}))});let d=e.command("quest").description("\u6210\u957F\u4EFB\u52A1");Z(d.command("list").description("\u4EFB\u52A1\u5217\u8868")).action(async(l,u)=>{await _(u,async p=>{let{skip:c,limit:m}=G(l),y=await oe.quests(p.client,{skip:c,limit:m})||{};return z(y,g=>`#${C(g.id)} ${C(g.title??g.name)}${g.code?` (${String(g.code)})`:""} \xB7 ${X(C(g.description,""),100)}`,c,m)})}),d.command("mine").description("\u6211\u7684\u4EFB\u52A1\u8FDB\u5EA6").action(async(l,u)=>{await _(u,async p=>({data:await oe.myQuestProgress(p.client)}))})}import Ht from"node:fs";import Ls from"node:readline/promises";import{StringDecoder as Ms}from"node:string_decoder";var Ni=80,Di=3e4,Li=12e4,Mi=6e5;function Ns(e,t,n){let r=e,i=t;for(;;){if(!r)return{carry:"",atLineStart:i};if(i){if(r.startsWith(dt)){let s=r.indexOf(`
102
- `);return s===-1?{carry:r,atLineStart:!0}:{carry:"",atLineStart:!0,end:ri(r.slice(0,s))??{status:"done"}}}if(dt.startsWith(r))return{carry:r,atLineStart:!0}}let o=r.indexOf(`
103
- `);if(o===-1)return n(r),{carry:"",atLineStart:!1};n(r.slice(0,o+1)),r=r.slice(o+1),i=!0}}async function Ds(e){let t=Date.now()+Di;for(;Date.now()<t;){if(Ht.existsSync(e))return!0;await It(Ni)}return!1}async function Ws(e,t){let n=!!t.isTTY,r=p=>n?`\x1B[2m${p}\x1B[0m`:p;if(!await Ds(e))return t.write(`\u7B49\u4E86 ${Di/1e3} \u79D2\u4E5F\u6CA1\u7B49\u5230\u65E5\u5FD7\u6587\u4EF6\uFF1A${e}
104
- `),null;let i=Ht.openSync(e,"r"),o=new Ms("utf8"),s=0,a="",d=!0,l=Date.now(),u=!1;try{for(;;){let p=Ht.fstatSync(i).size;if(p>s){let m=Buffer.alloc(p-s),y=Ht.readSync(i,m,0,m.length,s);s+=y,l=Date.now(),a+=o.write(m.subarray(0,y));let g=Ns(a,d,x=>t.write(x));if(a=g.carry,d=g.atLineStart,g.end)return g.end;continue}let c=Date.now()-l;if(c>Mi)return t.write(r(`
105
- \u2026${Mi/6e4} \u5206\u949F\u6CA1\u6709\u65B0\u5185\u5BB9\uFF0C\u505C\u6B62\u8DDF\u968F\u3002
106
- `)),null;c>Li&&!u&&(u=!0,t.write(r(`
107
- \u2026${Li/6e4} \u5206\u949F\u6CA1\u6709\u65B0\u5185\u5BB9\uFF0C\u53D1\u8D77\u641C\u7D22\u7684\u90A3\u4E00\u4FA7\u53EF\u80FD\u5DF2\u4E2D\u65AD\u3002
108
- `))),await It(Ni)}}finally{Ht.closeSync(i)}}function Wi(e){e.command("watch [file]").description("\u5B9E\u65F6\u8DDF\u968F\u4E00\u4EFD AI \u641C\u7D22\u6D41\u65E5\u5FD7\uFF08ask --watch \u81EA\u52A8\u5F00\u7684\u7A97\u53E3\u5C31\u5728\u8DD1\u5B83\uFF1B\u4E0D\u4F20\u6587\u4EF6\u5219\u8DDF\u6700\u65B0\u4E00\u4EFD\uFF09").option("--hold","\u7ED3\u675F\u540E\u7B49\u7528\u6237\u6309\u56DE\u8F66\u518D\u9000\u51FA\uFF08\u7ED9\u72EC\u5360\u7A97\u53E3\u7528\uFF0C\u907F\u514D\u7A97\u53E3\u4E00\u95EA\u800C\u8FC7\uFF09").action(async(t,n)=>{let r=process.stdout,i=!!r.isTTY,o=d=>i?`\x1B[2m${d}\x1B[0m`:d,s=t||ii();if(!s){r.write(`\u8FD8\u6CA1\u6709\u4EFB\u4F55 AI \u641C\u7D22\u6D41\u65E5\u5FD7\uFF1B\u5148\u5728\u522B\u5904\u6267\u884C watcha ask --watch "\u2026"
115
+ refresh token \u6709\u6548\u671F\u81F3 ${mt(l.refresh_expires_at)}`}})}),e.command("status").description("\u67E5\u770B\u5F53\u524D\u767B\u5F55\u6001\uFF08\u4F1A\u5411\u540E\u7AEF\u6838\u5B9E\u4E00\u6B21\uFF09").action(async(r,i)=>{await _(i,async o=>{let{credentials:s,source:a}=await o.client.loadCredentials();if(!s)return{data:{logged_in:!1,profile:o.profile.name,base_url:o.profile.baseUrl},pretty:()=>`\u672A\u767B\u5F55\uFF08profile=${o.profile.name}\uFF0C${o.profile.baseUrl}\uFF09
116
+ \u6267\u884C watcha auth login \u767B\u5F55`};let u=null,l;try{u=await lt.me(o.client)}catch(p){l=p instanceof Error?p.message:String(p)}let c=u?await qt.perms(o.client).catch(()=>[]):[];return{data:{logged_in:!!u,profile:o.profile.name,base_url:o.profile.baseUrl,stored_in:a,user:u?{id:u.id,nickname:u.nickname,username:u.username,is_gold_member:u.is_gold_member,is_official:u.is_official}:null,can_create_review:c.includes("create.product_review.v1"),permissions:c,access_expires_at:Ge(s.accessToken)?.toISOString(),refresh_expires_at:Ge(s.refreshToken)?.toISOString(),error:l},pretty:p=>p.logged_in?`\u5DF2\u767B\u5F55\uFF1A${w(p.user?.nickname)}\uFF08#${w(p.user?.id)}\uFF09 profile=${p.profile} \u51ED\u8BC1\uFF1A${p.stored_in}
117
+ \u53D1\u7339\u8BC4\u8D44\u683C\uFF1A${p.can_create_review?"\u6709\uFF08\u89C2\u7339\u5458\uFF09":"\u65E0\uFF08\u9700\u901A\u8FC7 watcha.cn/exam \u664B\u7EA7\u8003\u8BD5\u6216\u4F7F\u7528\u9080\u8BF7\u7801\uFF09"}
118
+ refresh token \u6709\u6548\u671F\u81F3 ${mt(p.refresh_expires_at)}`:`\u672C\u5730\u6709\u51ED\u8BC1\u4F46\u540E\u7AEF\u6838\u5B9E\u5931\u8D25\uFF1A${p.error}
119
+ \u53EF\u80FD\u5DF2\u88AB\u5176\u4ED6\u8BBE\u5907\u6324\u6389\uFF0C\u6267\u884C watcha auth login \u91CD\u65B0\u767B\u5F55`}})}),e.command("logout").description("\u9000\u51FA\u767B\u5F55\u5E76\u91CA\u653E\u540E\u7AEF\u7684\u767B\u5F55\u69FD\u4F4D").action(async(r,i)=>{await _(i,async o=>{let{credentials:s}=await o.client.loadCredentials();return s?.refreshToken&&await qt.signout(o.client,s.refreshToken).catch(()=>{}),await o.client.clearCredentials(),{data:{logged_out:!0,profile:o.profile.name},pretty:()=>`\u5DF2\u9000\u51FA\u767B\u5F55\uFF08profile=${o.profile.name}\uFF09`}})}),e.command("token").description("\u8F93\u51FA\u5F53\u524D\u53EF\u7528\u7684 access token\uFF08\u7ED9 curl/\u811A\u672C\u7528\uFF1B\u4F1A\u6309\u9700\u5237\u65B0\uFF09").action(async(r,i)=>{await _(i,async o=>({data:{access_token:await o.client.accessToken(!0)},pretty:a=>String(a.access_token)}))});let n=t.command("profile").description("\u591A\u8D26\u53F7/\u591A\u73AF\u5883 profile\uFF08AI agent\uFF1A\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\uFF0C\u4E0D\u8981\u5207\u6362\u6216\u5220\u9664 profile\uFF09");n.command("list").description("\u5217\u51FA profile").action(async(r,i)=>{await _(i,async o=>{let s=me();return{data:Object.entries(s.profiles).map(([u,l])=>({name:u,base_url:l.baseUrl,current:u===o.profile.name})),pretty:u=>u.map(l=>`${l.current?"* ":" "}${l.name} ${l.base_url}`).join(`
120
+ `)}})}),n.command("use <name>").description("\u5207\u6362\u5F53\u524D profile").action(async(r,i,o)=>{await _(o,async()=>($i(r),{data:{current:r},pretty:()=>`\u5F53\u524D profile \u2192 ${r}`}))}),n.command("add <name>").description("\u65B0\u589E/\u66F4\u65B0 profile").option("--base-url <url>","API \u57FA\u5740\uFF0C\u9ED8\u8BA4 https://watcha.cn/api/v2").option("--site-url <url>","\u7AD9\u70B9\u5730\u5740\uFF08\u7528\u4E8E\u62FC\u9875\u9762\u94FE\u63A5\uFF09").option("--use","\u540C\u65F6\u5207\u6362\u4E3A\u5F53\u524D profile").action(async(r,i,o)=>{await _(o,async()=>{let s=me().profiles[r];return vi(r,{baseUrl:i.baseUrl||s?.baseUrl||"https://watcha.cn/api/v2",siteUrl:i.siteUrl||s?.siteUrl},!!i.use),{data:{name:r,base_url:i.baseUrl,current:!!i.use},pretty:()=>`profile ${r} \u5DF2\u4FDD\u5B58`}})}),n.command("remove <name>").description("\u5220\u9664 profile\uFF08\u4E0D\u4F1A\u5220\u9664\u5176\u767B\u5F55\u51ED\u8BC1\uFF0C\u8BF7\u5148 logout\uFF09").action(async(r,i,o)=>{await _(o,async()=>(Si(r),{data:{removed:r},pretty:()=>`profile ${r} \u5DF2\u5220\u9664`}))})}async function si(t,e){if(/^\d+$/.test(e))return e;let n=await G.show(t.client,e);return String(n.id)}var pn=[{key:"id",title:"ID"},{key:"name",title:"\u540D\u79F0",width:24},{key:"score",title:"\u8BC4\u5206"},{key:"reviews",title:"\u7339\u8BC4"},{key:"slug",title:"slug",width:30}],mn=t=>({id:t.id,name:t.name,score:typeof t.stats?.score=="number"?t.stats.score.toFixed(1):"",reviews:t.stats?.review_count,slug:t.slug});function bs(t){z(t.command("search <query>").description("\u641C\u7D22\u89C2\u7339\uFF08\u9ED8\u8BA4\u8054\u90A6\u6DF7\u6392\uFF1B--domain \u9650\u5B9A\u4EA7\u54C1/\u7339\u8BC4/\u5E16\u5B50/\u7528\u6237\uFF09").option("--domain <domain>","product | review | posting | user\uFF1B\u4E0D\u4F20\u5219\u6DF7\u6392").option("--category <ids>","\u4EA7\u54C1\u5206\u7C7B ID\uFF0C\u9017\u53F7\u5206\u9694\uFF08\u4EC5 product\uFF09").option("--score-gte <n>","\u6700\u4F4E\u8BC4\u5206\uFF08\u4EC5 product\uFF09").option("--score-lte <n>","\u6700\u9AD8\u8BC4\u5206\uFF08\u4EC5 product\uFF09").option("--organization <name>","\u6240\u5C5E\u7EC4\u7EC7\uFF08\u4EC5 product\uFF09").option("--order-by <field>","score:desc | publish_at:desc | update_at:desc\uFF08\u4EC5 product\uFF09").option("--hybrid","\u542F\u7528\u5411\u91CF\u6DF7\u5408\u68C0\u7D22\uFF08\u4EC5 product\uFF09")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=l.domain;if(g&&!["product","review","posting","user"].includes(g))throw b(`--domain \u53EA\u80FD\u662F product / review / posting / user\uFF0C\u6536\u5230 "${g}"`);let y={};if(l.category&&(y.category_ids=l.category.split(",").map(T=>Number(T.trim())).filter(Number.isFinite)),l.scoreGte&&(y.score_gte=Number(l.scoreGte)),l.scoreLte&&(y.score_lte=Number(l.scoreLte)),l.organization&&(y.organization=l.organization),l.orderBy&&(y.order_by=[l.orderBy]),l.hybrid&&(y.enable_hybrid=!0),!g){let T=await d.client.request("POST","/search/federation",{query:{q:u,skip:p,limit:m},body:{}})||{};return J(T,L=>L.product?Tt(L.product,d.siteUrl):L.review?Dt(L.review,d.siteUrl):L.posting?Ut(L.posting,d.siteUrl):L.user?Pe(L.user,d.siteUrl):F(JSON.stringify(L),160),p,m)}let $={options:{domains:[g],...g==="product"&&Object.keys(y).length?{product_options:y}:{}}},U=(await d.client.request("POST","/search/general",{query:{q:u,skip:p,limit:m},body:$})||{})[g]||{},C={product:"products",review:"reviews",posting:"postings",user:"users"}[g],O=U[C]||{items:[]},x=J(O,T=>g==="product"?Tt(T,d.siteUrl):g==="review"?Dt(T,d.siteUrl):g==="posting"?Ut(T,d.siteUrl):Pe(T,d.siteUrl),p,m,g==="product"?pn:void 0,g==="product"?mn:void 0);return U.facets&&(x.meta={...x.meta,facets:U.facets}),x})});let e=t.command("product").description("\u4EA7\u54C1\u56FE\u9274");z(e.command("list").description("\u4EA7\u54C1\u5217\u8868").option("--order-by <field>","\u6392\u5E8F\u5B57\u6BB5\uFF0C\u5982 hot_score / publish_at").option("--category <id>","\u5206\u7C7B ID")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m={skip:d,limit:p,order_by:u.orderBy,category:u.category},g=await G.list(c.client,m)||{};return J(g,y=>Tt(y,c.siteUrl),d,p,pn,mn)})}),e.command("show <idOrSlug>").description("\u4EA7\u54C1\u8BE6\u60C5").action(async(u,l,c)=>{await _(c,async d=>({data:await G.show(d.client,u),pretty:m=>Er(m,d.siteUrl)}))}),z(e.command("reviews <idOrSlug>").description("\u67D0\u4EA7\u54C1\u7684\u7339\u8BC4").option("--order-by <field>","create_at | remark_count")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await G.reviews(d.client,await si(d,u),{skip:p,limit:m,order_by:l.orderBy})||{};return J(g,y=>Dt(y,d.siteUrl),p,m)})}),z(e.command("posts <idOrSlug>").description("\u67D0\u4EA7\u54C1\u5173\u8054\u7684\u5E16\u5B50")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await G.posts(d.client,await si(d,u),{skip:p,limit:m})||{};return J(g,y=>Ut(y,d.siteUrl),p,m)})}),z(e.command("similar <idOrSlug>").description("\u76F8\u4F3C\u4EA7\u54C1")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await G.similar(d.client,await si(d,u),{skip:p,limit:m})||{};return J(g,y=>Tt(y,d.siteUrl),p,m,pn,mn)})}),z(e.command("hot").description("\u70ED\u95E8\u4EA7\u54C1")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await G.hot(c.client,{skip:d,limit:p})||{};return J(m,g=>Tt(g,c.siteUrl),d,p,pn,mn)})}),z(e.command("launches [idOrSlug]").description("\u4EA7\u54C1\u53D1\u5E03\u8BB0\u5F55\uFF08\u4E0D\u4F20\u5219\u770B\u5168\u7AD9\u6700\u65B0\u4E0A\u65B0\uFF09")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l);if(!u){let $=await G.latestLaunches(d.client,{skip:p,limit:m})||{};return J($,v=>Tt(v,d.siteUrl),p,m)}let g=await G.show(d.client,u),y=await G.launches(d.client,Number(g.id),{skip:p,limit:m})||{};return J(y,$=>`#${w($.id)} ${w($.title)} \xB7 ${mt($.create_at)}
121
+ ${F(Et($.description).text,200)}`,p,m)})}),e.command("categories").description("\u4EA7\u54C1\u5206\u7C7B\u5217\u8868").action(async(u,l)=>{await _(l,async c=>{let d=await G.categories(c.client),p=Array.isArray(d)?d:Array.isArray(d?.items)?d.items:[];return{data:d,pretty:()=>p.map(m=>`#${w(m.id)} ${w(m.name)}${m.product_count!==void 0?` (${K(m.product_count)})`:""}`).join(`
122
+ `)||JSON.stringify(d,null,2)}})}),z(e.command("collections").description("\u4EA7\u54C1\u5408\u96C6")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await G.collections(c.client,{skip:d,limit:p})||{};return J(m,g=>`#${w(g.id)} ${w(g.name??g.title)} (${w(g.slug)})${g.description?` \u2014 ${F(Et(g.description).text,80)}`:""}
123
+ ${c.siteUrl}/collections/${w(g.slug,String(g.id))}`,d,p)})}),z(e.command("collection <idOrSlug>").description("\u5408\u96C6\u91CC\u7684\u4EA7\u54C1")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await G.collectionProducts(d.client,u,{skip:p,limit:m})||{};return J(g,y=>Tt(y,d.siteUrl),p,m,pn,mn)})}),e.command("random").description("\u968F\u673A\u6765\u4E00\u4E2A\u4EA7\u54C1").action(async(u,l)=>{await _(l,async c=>({data:await G.random(c.client),pretty:p=>Er(p,c.siteUrl)}))});let n=t.command("review").description("\u7339\u8BC4\uFF08\u4EA7\u54C1\u8BC4\u4EF7\uFF09");n.command("show <id>").description("\u7339\u8BC4\u8BE6\u60C5").action(async(u,l,c)=>{await _(c,async d=>({data:await xt.show(d.client,u),pretty:m=>Dt(m,d.siteUrl,{full:!0})}))}),z(n.command("replies <id>").description("\u7339\u8BC4\u7684\u56DE\u590D\uFF08--all \u8FD4\u56DE\u6574\u68F5\u5B50\u6811\uFF09").option("--all","\u6241\u5E73\u5316\u6574\u68F5\u56DE\u590D\u6811")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=(l.all?await xt.children(d.client,u,{skip:p,limit:m}):await xt.replies(d.client,u,{skip:p,limit:m}))||{};return J(g,y=>Dt(y,d.siteUrl,{full:!0}),p,m)})}),z(n.command("hot").description("\u70ED\u95E8\u7339\u8BC4")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await xt.hot(c.client,{skip:d,limit:p})||{};return J(m,g=>Dt(g,c.siteUrl),d,p)})}),z(n.command("similar <id>").description("\u76F8\u4F3C\u7339\u8BC4")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await xt.similar(d.client,u,{skip:p,limit:m})||{};return J(g,y=>Dt(y,d.siteUrl),p,m)})});let r=t.command("post").description("\u7339\u9986\u5E16\u5B50");z(r.command("list").description("\u5E16\u5B50\u6D41").option("--topic <id>","\u6309\u8BDD\u9898\u7B5B\u9009")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await at.list(c.client,{skip:d,limit:p,topic_id:u.topic})||{};return J(m,g=>Ut(g,c.siteUrl),d,p)})}),r.command("show <id>").description("\u5E16\u5B50\u8BE6\u60C5\uFF08\u542B\u6B63\u6587\uFF09").action(async(u,l,c)=>{await _(c,async d=>({data:await at.show(d.client,u),pretty:m=>co(m,d.siteUrl)}))}),z(r.command("floors <id>").description("\u5E16\u5B50\u7684\u697C\u5C42")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await at.floors(d.client,u,{skip:p,limit:m})||{};return J(g,Tr,p,m)})}),z(r.command("subfloors <floorId>").description("\u697C\u5C42\u4E0B\u7684\u56DE\u590D")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await at.subfloors(d.client,u,{skip:p,limit:m})||{};return J(g,Tr,p,m)})}),z(r.command("hot").description("\u70ED\u95E8\u5E16\u5B50")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await at.hot(c.client,{skip:d,limit:p})||{};return J(m,g=>Ut(g,c.siteUrl),d,p)})});let i=t.command("topic").description("\u8BDD\u9898");z(i.command("list").description("\u8BDD\u9898\u5217\u8868")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await at.topics(c.client,{skip:d,limit:p})||{};return J(m,g=>Ln(g,c.siteUrl),d,p)})}),i.command("hot").description("\u70ED\u95E8\u8BDD\u9898").action(async(u,l)=>{await _(l,async c=>{let d=await at.hotTopics(c.client),p=Array.isArray(d)?d:d?.items??[];return{data:p,pretty:()=>p.map(m=>Ln(m,c.siteUrl)).join(`
124
+ `)||"\uFF08\u7A7A\uFF09"}})}),i.command("show <id>").description("\u8BDD\u9898\u8BE6\u60C5").action(async(u,l,c)=>{await _(c,async d=>({data:await at.topic(d.client,u),pretty:m=>`${Ln(m,d.siteUrl)}
125
+ ${m.intro?String(m.intro):""}`}))}),z(i.command("posts <id>").description("\u8BDD\u9898\u4E0B\u7684\u5E16\u5B50\uFF08\u9ED8\u8BA4\u70ED\u95E8\uFF0C--featured \u7CBE\u9009\uFF09").option("--featured","\u53EA\u770B\u7CBE\u9009")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=(l.featured?await at.topicFeaturedPosts(d.client,u,{skip:p,limit:m}):await at.topicHotPosts(d.client,u,{skip:p,limit:m}))||{};return J(g,y=>Ut(y,d.siteUrl),p,m)})}),t.command("rank [key]").description(`\u699C\u5355\u3002key \u53EF\u9009\uFF1A${ve.join(" | ")}\uFF1B\u4E0D\u4F20\u5219\u5217\u51FA\u5168\u90E8 key`).option("--sub-key <key>","\u5B50\u699C\uFF0C\u9ED8\u8BA4 default","default").option("--top <n>","\u53D6\u524D N \u540D\uFF0C\u9ED8\u8BA4\u5168\u90E8").option("--archives","\u5217\u51FA\u5386\u53F2\u5F52\u6863\u800C\u4E0D\u662F\u5F53\u524D\u699C").option("--detail","\u8BF7\u6C42\u660E\u7EC6\u5B57\u6BB5\uFF08\u9700\u8981\u7BA1\u7406\u5458\u6743\u9650\uFF09").action(async(u,l,c)=>{await _(c,async d=>{if(!u)return{data:ve,pretty:()=>ve.map(g=>`- ${g}`).join(`
126
+ `)};if(!ve.includes(u))throw b(`\u4E0D\u8BA4\u8BC6\u7684\u699C\u5355 key "${u}"`,`\u53EF\u7528\uFF1A${ve.join(" | ")}\uFF1B\u4E0D\u5E26\u53C2\u6570\u6267\u884C watcha rank \u4E5F\u80FD\u5217\u51FA`);if(l.archives){let g=await gt.rankArchives(d.client,u,l.subKey,{skip:0,limit:50})||{};return J(g,y=>`#${w(y.id)} ${mt(y.period_start??y.start_at)} ~ ${mt(y.period_end??y.end_at)}`,0,50)}let p=l.top?Oe(l.top,20,1,1e3)-1:-1;return{data:await gt.rankRange(d.client,u,l.subKey,{start:0,end:p,need_detail:l.detail?!0:void 0}),pretty:g=>po(g,d.siteUrl)}})}),z(t.command("feed").description("\u9996\u9875\u4FE1\u606F\u6D41\uFF08\u767B\u5F55\u540E\u4E2A\u6027\u5316\uFF09")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await gt.feed(c.client,{skip:d,limit:p})||{};return J(m,g=>mo(g,c.siteUrl),d,p)})});let o=t.command("user").description("\u7528\u6237");o.command("show <idOrUsername>").description("\u7528\u6237\u4E3B\u9875\u4FE1\u606F").action(async(u,l,c)=>{await _(c,async d=>({data:await lt.show(d.client,u),pretty:m=>Pe(m,d.siteUrl)}))}),o.command("me").description("\u5F53\u524D\u767B\u5F55\u7528\u6237").action(async(u,l)=>{await _(l,async c=>({data:await lt.me(c.client),pretty:p=>Pe(p,c.siteUrl)}))}),z(o.command("search <query>").description("\u641C\u7528\u6237")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await lt.search(d.client,u,{skip:p,limit:m})||{};return J(g,y=>Pe(y,d.siteUrl),p,m)})}),z(o.command("reviews <idOrUsername>").description("\u67D0\u7528\u6237\u7684\u7339\u8BC4")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await lt.reviews(d.client,u,{skip:p,limit:m})||{};return J(g,y=>Dt(y,d.siteUrl),p,m)})}),z(o.command("posts <idOrUsername>").description("\u67D0\u7528\u6237\u7684\u5E16\u5B50")).action(async(u,l,c)=>{await _(c,async d=>{let{skip:p,limit:m}=B(l),g=await lt.posts(d.client,u,{skip:p,limit:m})||{};return J(g,y=>Ut(y,d.siteUrl),p,m)})});let s=t.command("notify").description("\u901A\u77E5");z(s.command("list").description("\u901A\u77E5\u5217\u8868").option("--unread","\u53EA\u770B\u672A\u8BFB")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await gt.notifications(c.client,{skip:d,limit:p,unread:u.unread?!0:void 0})||{};return J(m,lo,d,p)})}),s.command("status").description("\u672A\u8BFB\u6570").action(async(u,l)=>{await _(l,async c=>({data:await gt.notificationStatus(c.client),pretty:p=>JSON.stringify(p)}))}),s.command("read [id]").description("\u6807\u8BB0\u5DF2\u8BFB\uFF08\u4E0D\u4F20 id \u5219\u5168\u90E8\u5DF2\u8BFB\uFF0C\u4E0D\u53EF\u64A4\u9500\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(u,l,c)=>{await _(c,async d=>(dt(d,u?`\u6807\u8BB0\u901A\u77E5 ${u} \u5DF2\u8BFB`:"\u6807\u8BB0\u5168\u90E8\u901A\u77E5\u5DF2\u8BFB"),u?await gt.readNotification(d.client,u):await gt.readAllNotifications(d.client),{data:{read:u||"all"},pretty:()=>u?`\u901A\u77E5 ${u} \u5DF2\u8BFB`:"\u5168\u90E8\u5DF2\u8BFB"}))});let a=t.command("quest").description("\u6210\u957F\u4EFB\u52A1");z(a.command("list").description("\u4EFB\u52A1\u5217\u8868")).action(async(u,l)=>{await _(l,async c=>{let{skip:d,limit:p}=B(u),m=await gt.quests(c.client,{skip:d,limit:p})||{};return J(m,g=>`#${w(g.id)} ${w(g.title??g.name)}${g.code?` (${String(g.code)})`:""} \xB7 ${F(w(g.description,""),100)}`,d,p)})}),a.command("mine").description("\u6211\u7684\u4EFB\u52A1\u8FDB\u5EA6").action(async(u,l)=>{await _(l,async c=>({data:await gt.myQuestProgress(c.client)}))})}import fn from"node:fs";import dl from"node:readline/promises";import{StringDecoder as pl}from"node:string_decoder";var Cs=80,vs=3e4,_s=12e4,xs=6e5;function ml(t,e,n){let r=t,i=e;for(;;){if(!r)return{carry:"",atLineStart:i};if(i){if(r.startsWith(Me)){let s=r.indexOf(`
127
+ `);return s===-1?{carry:r,atLineStart:!0}:{carry:"",atLineStart:!0,end:ls(r.slice(0,s))??{status:"done"}}}if(Me.startsWith(r))return{carry:r,atLineStart:!0}}let o=r.indexOf(`
128
+ `);if(o===-1)return n(r),{carry:"",atLineStart:!1};n(r.slice(0,o+1)),r=r.slice(o+1),i=!0}}async function fl(t){let e=Date.now()+vs;for(;Date.now()<e;){if(fn.existsSync(t))return!0;await je(Cs)}return!1}async function hl(t,e){let n=!!e.isTTY,r=d=>n?`\x1B[2m${d}\x1B[0m`:d;if(!await fl(t))return e.write(`\u7B49\u4E86 ${vs/1e3} \u79D2\u4E5F\u6CA1\u7B49\u5230\u65E5\u5FD7\u6587\u4EF6\uFF1A${t}
129
+ `),null;let i=fn.openSync(t,"r"),o=new pl("utf8"),s=0,a="",u=!0,l=Date.now(),c=!1;try{for(;;){let d=fn.fstatSync(i).size;if(d>s){let m=Buffer.alloc(d-s),g=fn.readSync(i,m,0,m.length,s);s+=g,l=Date.now(),a+=o.write(m.subarray(0,g));let y=ml(a,u,$=>e.write($));if(a=y.carry,u=y.atLineStart,y.end)return y.end;continue}let p=Date.now()-l;if(p>xs)return e.write(r(`
130
+ \u2026${xs/6e4} \u5206\u949F\u6CA1\u6709\u65B0\u5185\u5BB9\uFF0C\u505C\u6B62\u8DDF\u968F\u3002
131
+ `)),null;p>_s&&!c&&(c=!0,e.write(r(`
132
+ \u2026${_s/6e4} \u5206\u949F\u6CA1\u6709\u65B0\u5185\u5BB9\uFF0C\u53D1\u8D77\u641C\u7D22\u7684\u90A3\u4E00\u4FA7\u53EF\u80FD\u5DF2\u4E2D\u65AD\u3002
133
+ `))),await je(Cs)}}finally{fn.closeSync(i)}}function $s(t){t.command("watch [file]").description("\u5B9E\u65F6\u8DDF\u968F\u4E00\u4EFD AI \u641C\u7D22\u6D41\u65E5\u5FD7\uFF08ask --watch \u81EA\u52A8\u5F00\u7684\u7A97\u53E3\u5C31\u5728\u8DD1\u5B83\uFF1B\u4E0D\u4F20\u6587\u4EF6\u5219\u8DDF\u6700\u65B0\u4E00\u4EFD\uFF09").option("--hold","\u7ED3\u675F\u540E\u7B49\u7528\u6237\u6309\u56DE\u8F66\u518D\u9000\u51FA\uFF08\u7ED9\u72EC\u5360\u7A97\u53E3\u7528\uFF0C\u907F\u514D\u7A97\u53E3\u4E00\u95EA\u800C\u8FC7\uFF09").action(async(e,n)=>{let r=process.stdout,i=!!r.isTTY,o=u=>i?`\x1B[2m${u}\x1B[0m`:u,s=e||ds();if(!s){r.write(`\u8FD8\u6CA1\u6709\u4EFB\u4F55 AI \u641C\u7D22\u6D41\u65E5\u5FD7\uFF1B\u5148\u5728\u522B\u5904\u6267\u884C watcha ask --watch "\u2026"
109
134
  `),process.exitCode=1;return}r.write(o(`\u89C2\u7339 AI \u641C\u7D22 \xB7 \u5B9E\u65F6\u89C6\u56FE ${s}
110
135
 
111
- `));let a=await Ws(s,r);if(a){let d=a.status==="done"?`\u2705 \u5B8C\u6210${a.session_id?`\uFF08\u4F1A\u8BDD ${a.session_id}\uFF0Cwatcha ask --resume ${a.session_id} \u53EF\u56DE\u653E\uFF09`:""}`:a.status==="truncated"?"\u26A0\uFE0F \u6D41\u5728\u7ED3\u675F\u524D\u65AD\u5F00\u4E86\uFF0C\u7ED3\u679C\u53EF\u80FD\u4E0D\u5B8C\u6574":`\u274C \u51FA\u9519\uFF1A${a.error||"\u672A\u77E5\u9519\u8BEF"}`;r.write(`
112
- ${d}
113
- `)}else process.exitCode=1;if(n.hold&&process.stdin.isTTY){let d=a?.status==="done"?9e5:12e4,l=Ls.createInterface({input:process.stdin,output:r,terminal:!0}),u;try{await Promise.race([l.question(o(`\u6309\u56DE\u8F66\u5173\u95ED\uFF08${Math.round(d/6e4)} \u5206\u949F\u540E\u81EA\u52A8\u5173\u95ED\uFF09\u2026 `)),new Promise(p=>{u=setTimeout(p,d)})])}finally{u&&clearTimeout(u),l.close()}}})}async function Ui(e,t){if(/^\d+$/.test(t))return t;let n=await H.show(e.client,t);return String(n.id)}function Fi(e){if(e==="review"||e==="post")return e;throw L(`\u5BF9\u8C61\u7C7B\u578B\u53EA\u80FD\u662F review \u6216 post\uFF0C\u6536\u5230 "${e}"`)}function Bi(e){e.command("like <type> <id>").description("\u70B9\u8D5E\u7339\u8BC4/\u5E16\u5B50\uFF08type: review | post\uFF09\u3002--down \u70B9\u8E29\uFF0C--undo \u53D6\u6D88\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--down","\u70B9\u8E29\u800C\u4E0D\u662F\u70B9\u8D5E").option("--undo","\u53D6\u6D88\u4E4B\u524D\u7684\u8D5E/\u8E29").action(async(t,n,r,i)=>{await _(i,async o=>{let s=Fi(t),a=r.undo?0:r.down?2:1;Pe(o,`${a===0?"\u53D6\u6D88\u8D5E/\u8E29":a===1?"\u70B9\u8D5E":"\u70B9\u8E29"} ${s} #${n}`),s==="review"?await fe.remark(o.client,n,a):await ie.remark(o.client,n,a);let d=a===0?"\u5DF2\u53D6\u6D88":a===1?"\u5DF2\u70B9\u8D5E":"\u5DF2\u70B9\u8E29";return{data:{type:s,id:n,remark_type:a},pretty:()=>`${d} ${s} #${n}`}})}),e.command("favorite <type> <id>").description("\u6536\u85CF\u7339\u8BC4/\u5E16\u5B50\uFF08type: review | post\uFF09\u3002--undo \u53D6\u6D88\u6536\u85CF\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u53D6\u6D88\u6536\u85CF").action(async(t,n,r,i)=>{await _(i,async o=>{let s=Fi(t);return Pe(o,`${r.undo?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF"} ${s} #${n}`),s==="review"?await(r.undo?fe.unfavorite(o.client,n):fe.favorite(o.client,n)):await(r.undo?ie.unfavorite(o.client,n):ie.favorite(o.client,n)),{data:{type:s,id:n,favorited:!r.undo},pretty:()=>`${r.undo?"\u5DF2\u53D6\u6D88\u6536\u85CF":"\u5DF2\u6536\u85CF"} ${s} #${n}`}})}),e.command("star <productIdOrSlug>").description("\u6536\u85CF\u4EA7\u54C1\uFF08\u518D\u6B21\u6267\u884C\u5373\u53D6\u6D88\uFF0C\u540E\u7AEF\u662F\u5F00\u5173\u8BED\u4E49\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(t,n,r)=>{await _(r,async i=>(Pe(i,`\u5207\u6362\u4EA7\u54C1 ${t} \u7684\u6536\u85CF\u72B6\u6001`),await H.star(i.client,await Ui(i,t)),{data:{product:t,toggled:!0},pretty:()=>`\u5DF2\u5207\u6362\u4EA7\u54C1 ${t} \u7684\u6536\u85CF\u72B6\u6001`}))}),e.command("follow <userIdOrName>").description("\u5173\u6CE8\u7528\u6237\u3002--undo \u53D6\u6D88\u5173\u6CE8\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u53D6\u6D88\u5173\u6CE8").action(async(t,n,r)=>{await _(r,async i=>(Pe(i,`${n.undo?"\u53D6\u6D88\u5173\u6CE8":"\u5173\u6CE8"}\u7528\u6237 ${t}`),await(n.undo?ce.unfollow(i.client,t):ce.follow(i.client,t)),{data:{user:t,following:!n.undo},pretty:()=>`${n.undo?"\u5DF2\u53D6\u6D88\u5173\u6CE8":"\u5DF2\u5173\u6CE8"} ${t}`}))}),e.command("react <scope> <id> <emoji>").description(`\u8868\u60C5\u56DE\u5E94\u3002scope: ${Object.keys(rn).join(" | ")}\uFF1Bemoji \u53EA\u80FD\u662F ${nn.join(" ")}\uFF1B--undo \u79FB\u9664\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes`).option("--undo","\u79FB\u9664\u8868\u60C5").action(async(t,n,r,i,o)=>{await _(o,async s=>{let a=rn[t];if(!a)throw L(`scope \u53EA\u80FD\u662F ${Object.keys(rn).join(" / ")}`);if(!nn.includes(r))throw L("emoji \u4E0D\u5728\u540E\u7AEF\u767D\u540D\u5355\u5185",`\u53EF\u7528\uFF1A${nn.join(" ")}`);return Pe(s,`${i.undo?"\u79FB\u9664":"\u6DFB\u52A0"}\u8868\u60C5 ${r} \u2192 ${t} #${n}`),await(i.undo?oe.emojiRemove(s.client,a,n,r):oe.emojiAdd(s.client,a,n,r)),{data:{scope:t,id:n,emoji:r,added:!i.undo},pretty:()=>`${i.undo?"\u5DF2\u79FB\u9664":"\u5DF2\u6DFB\u52A0"} ${r} \u2192 ${t} #${n}`}})}),e.command("vote <itemId>").description("\u7ED9\u5E16\u5B50\u91CC\u7684\u6295\u7968\u9879\u6295\u7968\u3002--undo \u64A4\u7968\uFF1B\u7528 post show \u67E5\u770B vote.items \u62FF itemId\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u64A4\u9500\u6295\u7968").action(async(t,n,r)=>{await _(r,async i=>(Pe(i,`${n.undo?"\u64A4\u9500\u6295\u7968":"\u6295\u7968"} \u9009\u9879 #${t}`),await(n.undo?oe.unvote(i.client,t):oe.vote(i.client,t)),{data:{item_id:t,voted:!n.undo},pretty:()=>`${n.undo?"\u5DF2\u64A4\u7968":"\u5DF2\u6295\u7968"} \u9009\u9879 #${t}`}))}),e.command("subscribe <productIdOrSlug>").description("\u8BA2\u9605\u4EA7\u54C1\u53D1\u5E03\u63D0\u9192\uFF08\u5F00\u5173\u8BED\u4E49\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(t,n,r)=>{await _(r,async i=>(Pe(i,`\u5207\u6362\u4EA7\u54C1 ${t} \u7684\u8BA2\u9605\u72B6\u6001`),await H.subscribe(i.client,await Ui(i,t)),{data:{product:t,toggled:!0},pretty:()=>`\u5DF2\u5207\u6362\u4EA7\u54C1 ${t} \u7684\u8BA2\u9605\u72B6\u6001`}))})}var Us={};function sr(e,t){let n=t||Us,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Vi(e,r,i)}function Vi(e,t,n){if(Fs(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Hi(e.children,t,n)}return Array.isArray(e)?Hi(e,t,n):""}function Hi(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=Vi(e[i],t,n);return r.join("")}function Fs(e){return!!(e&&typeof e=="object")}var ar={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
114
- `,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"};var Bs={}.hasOwnProperty;function kt(e){return Bs.call(ar,e)?ar[e]:!1}function ue(e,t,n,r){let i=e.length,o=0,s;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);o<r.length;)s=r.slice(o,o+1e4),s.unshift(t,0),e.splice(...s),o+=1e4,t+=1e4}function pe(e,t){return e.length>0?(ue(e,e.length,0,t),e):t}var ji={}.hasOwnProperty;function Ji(e){let t={},n=-1;for(;++n<e.length;)Hs(t,e[n]);return t}function Hs(e,t){let n;for(n in t){let i=(ji.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n],s;if(o)for(s in o){ji.call(i,s)||(i[s]=[]);let a=o[s];Vs(i[s],Array.isArray(a)?a:a?[a]:[])}}}function Vs(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);ue(e,0,0,r)}function Cn(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function De(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var ye=Ge(/[A-Za-z]/),de=Ge(/[\dA-Za-z]/),Gi=Ge(/[#-'*+\--9=?A-Z^-~]/);function Vt(e){return e!==null&&(e<32||e===127)}var jt=Ge(/\d/),zi=Ge(/[\dA-Fa-f]/),Qi=Ge(/[!-/:-@[-`{-~]/);function T(e){return e!==null&&e<-2}function ne(e){return e!==null&&(e<0||e===32)}function P(e){return e===-2||e===-1||e===32}var Ki=Ge(new RegExp("\\p{P}|\\p{S}","u")),Yi=Ge(/\s/);function Ge(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function q(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,o=0;return s;function s(d){return P(d)?(e.enter(n),a(d)):t(d)}function a(d){return P(d)&&o++<i?(e.consume(d),a):(e.exit(n),t(d))}}var Xi={tokenize:js};function js(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(a){if(a===null){e.consume(a);return}return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),q(e,t,"linePrefix")}function i(a){return e.enter("paragraph"),o(a)}function o(a){let d=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=d),n=d,s(a)}function s(a){if(a===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(a);return}return T(a)?(e.consume(a),e.exit("chunkText"),o):(e.consume(a),s)}}var eo={tokenize:Js},Zi={tokenize:Gs};function Js(e){let t=this,n=[],r=0,i,o,s;return a;function a(b){if(r<n.length){let $=n[r];return t.containerState=$[1],e.attempt($[0].continuation,d,l)(b)}return l(b)}function d(b){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&U();let $=t.events.length,R=$,k;for(;R--;)if(t.events[R][0]==="exit"&&t.events[R][1].type==="chunkFlow"){k=t.events[R][1].end;break}S(r);let A=$;for(;A<t.events.length;)t.events[A][1].end={...k},A++;return ue(t.events,R+1,0,t.events.slice($)),t.events.length=A,l(b)}return a(b)}function l(b){if(r===n.length){if(!i)return c(b);if(i.currentConstruct&&i.currentConstruct.concrete)return y(b);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Zi,u,p)(b)}function u(b){return i&&U(),S(r),c(b)}function p(b){return t.parser.lazy[t.now().line]=r!==n.length,s=t.now().offset,y(b)}function c(b){return t.containerState={},e.attempt(Zi,m,y)(b)}function m(b){return r++,n.push([t.currentConstruct,t.containerState]),c(b)}function y(b){if(b===null){i&&U(),S(0),e.consume(b);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:o}),g(b)}function g(b){if(b===null){x(e.exit("chunkFlow"),!0),S(0),e.consume(b);return}return T(b)?(e.consume(b),x(e.exit("chunkFlow")),r=0,t.interrupt=void 0,a):(e.consume(b),g)}function x(b,$){let R=t.sliceStream(b);if($&&R.push(null),b.previous=o,o&&(o.next=b),o=b,i.defineSkip(b.start),i.write(R),t.parser.lazy[b.start.line]){let k=i.events.length;for(;k--;)if(i.events[k][1].start.offset<s&&(!i.events[k][1].end||i.events[k][1].end.offset>s))return;let A=t.events.length,j=A,V,W;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){if(V){W=t.events[j][1].end;break}V=!0}for(S(r),k=A;k<t.events.length;)t.events[k][1].end={...W},k++;ue(t.events,j+1,0,t.events.slice(A)),t.events.length=k}}function S(b){let $=n.length;for(;$-- >b;){let R=n[$];t.containerState=R[1],R[0].exit.call(t,e)}n.length=b}function U(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Gs(e,t,n){return q(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ur(e){if(e===null||ne(e)||Yi(e))return 1;if(Ki(e))return 2}function bt(e,t,n){let r=[],i=-1;for(;++i<e.length;){let o=e[i].resolveAll;o&&!r.includes(o)&&(t=o(t,n),r.push(o))}return t}var Jt={name:"attention",resolveAll:zs,tokenize:Qs};function zs(e,t){let n=-1,r,i,o,s,a,d,l,u;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;d=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let p={...e[r][1].end},c={...e[n][1].start};to(p,-d),to(c,d),s={type:d>1?"strongSequence":"emphasisSequence",start:p,end:{...e[r][1].end}},a={type:d>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:c},o={type:d>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:d>1?"strong":"emphasis",start:{...s.start},end:{...a.end}},e[r][1].end={...s.start},e[n][1].start={...a.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=pe(l,[["enter",e[r][1],t],["exit",e[r][1],t]])),l=pe(l,[["enter",i,t],["enter",s,t],["exit",s,t],["enter",o,t]]),l=pe(l,bt(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=pe(l,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=pe(l,[["enter",e[n][1],t],["exit",e[n][1],t]])):u=0,ue(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function Qs(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=ur(r),o;return s;function s(d){return o=d,e.enter("attentionSequence"),a(d)}function a(d){if(d===o)return e.consume(d),a;let l=e.exit("attentionSequence"),u=ur(d),p=!u||u===2&&i||n.includes(d),c=!i||i===2&&u||n.includes(r);return l._open=!!(o===42?p:p&&(i||!c)),l._close=!!(o===42?c:c&&(u||!p)),t(d)}}function to(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var lr={name:"autolink",tokenize:Ks};function Ks(e,t,n){let r=0;return i;function i(m){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),o}function o(m){return ye(m)?(e.consume(m),s):m===64?n(m):l(m)}function s(m){return m===43||m===45||m===46||de(m)?(r=1,a(m)):l(m)}function a(m){return m===58?(e.consume(m),r=0,d):(m===43||m===45||m===46||de(m))&&r++<32?(e.consume(m),a):(r=0,l(m))}function d(m){return m===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.exit("autolink"),t):m===null||m===32||m===60||Vt(m)?n(m):(e.consume(m),d)}function l(m){return m===64?(e.consume(m),u):Gi(m)?(e.consume(m),l):n(m)}function u(m){return de(m)?p(m):n(m)}function p(m){return m===46?(e.consume(m),r=0,u):m===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(m),e.exit("autolinkMarker"),e.exit("autolink"),t):c(m)}function c(m){if((m===45||de(m))&&r++<63){let y=m===45?c:p;return e.consume(m),y}return n(m)}}var ze={partial:!0,tokenize:Ys};function Ys(e,t,n){return r;function r(o){return P(o)?q(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||T(o)?t(o):n(o)}}var _n={continuation:{tokenize:Zs},exit:ea,name:"blockQuote",tokenize:Xs};function Xs(e,t,n){let r=this;return i;function i(s){if(s===62){let a=r.containerState;return a.open||(e.enter("blockQuote",{_container:!0}),a.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(s),e.exit("blockQuoteMarker"),o}return n(s)}function o(s){return P(s)?(e.enter("blockQuotePrefixWhitespace"),e.consume(s),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(s))}}function Zs(e,t,n){let r=this;return i;function i(s){return P(s)?q(e,o,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s):o(s)}function o(s){return e.attempt(_n,t,n)(s)}}function ea(e){e.exit("blockQuote")}var Sn={name:"characterEscape",tokenize:ta};function ta(e,t,n){return r;function r(o){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(o),e.exit("escapeMarker"),i}function i(o){return Qi(o)?(e.enter("characterEscapeValue"),e.consume(o),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(o)}}var En={name:"characterReference",tokenize:na};function na(e,t,n){let r=this,i=0,o,s;return a;function a(p){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),d}function d(p){return p===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(p),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),o=31,s=de,u(p))}function l(p){return p===88||p===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(p),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),o=6,s=zi,u):(e.enter("characterReferenceValue"),o=7,s=jt,u(p))}function u(p){if(p===59&&i){let c=e.exit("characterReferenceValue");return s===de&&!kt(r.sliceSerialize(c))?n(p):(e.enter("characterReferenceMarker"),e.consume(p),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return s(p)&&i++<o?(e.consume(p),u):n(p)}}var no={partial:!0,tokenize:ia},Tn={concrete:!0,name:"codeFenced",tokenize:ra};function ra(e,t,n){let r=this,i={partial:!0,tokenize:R},o=0,s=0,a;return d;function d(k){return l(k)}function l(k){let A=r.events[r.events.length-1];return o=A&&A[1].type==="linePrefix"?A[2].sliceSerialize(A[1],!0).length:0,a=k,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),u(k)}function u(k){return k===a?(s++,e.consume(k),u):s<3?n(k):(e.exit("codeFencedFenceSequence"),P(k)?q(e,p,"whitespace")(k):p(k))}function p(k){return k===null||T(k)?(e.exit("codeFencedFence"),r.interrupt?t(k):e.check(no,g,$)(k)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),c(k))}function c(k){return k===null||T(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),p(k)):P(k)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),q(e,m,"whitespace")(k)):k===96&&k===a?n(k):(e.consume(k),c)}function m(k){return k===null||T(k)?p(k):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),y(k))}function y(k){return k===null||T(k)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),p(k)):k===96&&k===a?n(k):(e.consume(k),y)}function g(k){return e.attempt(i,$,x)(k)}function x(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),S}function S(k){return o>0&&P(k)?q(e,U,"linePrefix",o+1)(k):U(k)}function U(k){return k===null||T(k)?e.check(no,g,$)(k):(e.enter("codeFlowValue"),b(k))}function b(k){return k===null||T(k)?(e.exit("codeFlowValue"),U(k)):(e.consume(k),b)}function $(k){return e.exit("codeFenced"),t(k)}function R(k,A,j){let V=0;return W;function W(M){return k.enter("lineEnding"),k.consume(M),k.exit("lineEnding"),we}function we(M){return k.enter("codeFencedFence"),P(M)?q(k,Q,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):Q(M)}function Q(M){return M===a?(k.enter("codeFencedFenceSequence"),O(M)):j(M)}function O(M){return M===a?(V++,k.consume(M),O):V>=s?(k.exit("codeFencedFenceSequence"),P(M)?q(k,N,"whitespace")(M):N(M)):j(M)}function N(M){return M===null||T(M)?(k.exit("codeFencedFence"),A(M)):j(M)}}}function ia(e,t,n){let r=this;return i;function i(s){return s===null?n(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}var Gt={name:"codeIndented",tokenize:sa},oa={partial:!0,tokenize:aa};function sa(e,t,n){let r=this;return i;function i(l){return e.enter("codeIndented"),q(e,o,"linePrefix",5)(l)}function o(l){let u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?s(l):n(l)}function s(l){return l===null?d(l):T(l)?e.attempt(oa,s,d)(l):(e.enter("codeFlowValue"),a(l))}function a(l){return l===null||T(l)?(e.exit("codeFlowValue"),s(l)):(e.consume(l),a)}function d(l){return e.exit("codeIndented"),t(l)}}function aa(e,t,n){let r=this;return i;function i(s){return r.parser.lazy[r.now().line]?n(s):T(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):q(e,o,"linePrefix",5)(s)}function o(s){let a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):T(s)?i(s):n(s)}}var cr={name:"codeText",previous:la,resolve:ua,tokenize:ca};function ua(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function la(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function ca(e,t,n){let r=this,i=0,o,s;return a;function a(c){return e.enter("codeText"),e.enter("codeTextSequence"),d(c)}function d(c){return c===96?(e.consume(c),i++,d):(e.exit("codeTextSequence"),l(c))}function l(c){return c===null?n(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),l):c===96?(s=e.enter("codeTextSequence"),o=0,p(c)):T(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l):(e.enter("codeTextData"),u(c))}function u(c){return c===null||c===32||c===96||T(c)?(e.exit("codeTextData"),l(c)):(e.consume(c),u)}function p(c){return c===96?(e.consume(c),o++,p):o===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(c)):(s.type="codeTextData",u(c))}}var $n=class{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){let r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&zt(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),zt(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),zt(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){let n=this.left.splice(t,Number.POSITIVE_INFINITY);zt(this.right,n.reverse())}else{let n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);zt(this.left,n.reverse())}}};function zt(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function An(e){let t={},n=-1,r,i,o,s,a,d,l,u=new $n(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type==="chunkFlow"&&u.get(n-1)[1].type==="listItemPrefix"&&(d=r[1]._tokenizer.events,o=0,o<d.length&&d[o][1].type==="lineEndingBlank"&&(o+=2),o<d.length&&d[o][1].type==="content"))for(;++o<d.length&&d[o][1].type!=="content";)d[o][1].type==="chunkText"&&(d[o][1]._isInFirstContentOfListItem=!0,o++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,pa(u,n)),n=t[n],l=!0);else if(r[1]._container){for(o=n,i=void 0;o--;)if(s=u.get(o),s[1].type==="lineEnding"||s[1].type==="lineEndingBlank")s[0]==="enter"&&(i&&(u.get(i)[1].type="lineEndingBlank"),s[1].type="lineEnding",i=o);else if(!(s[1].type==="linePrefix"||s[1].type==="listItemIndent"))break;i&&(r[1].end={...u.get(i)[1].start},a=u.slice(i,n),a.unshift(r),u.splice(i,n-i+1,a))}}return ue(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!l}function pa(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,o=[],s=n._tokenizer;s||(s=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(s._contentTypeTextTrailing=!0));let a=s.events,d=[],l={},u,p,c=-1,m=n,y=0,g=0,x=[g];for(;m;){for(;e.get(++i)[1]!==m;);o.push(i),m._tokenizer||(u=r.sliceStream(m),m.next||u.push(null),p&&s.defineSkip(m.start),m._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(u),m._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),p=m,m=m.next}for(m=n;++c<a.length;)a[c][0]==="exit"&&a[c-1][0]==="enter"&&a[c][1].type===a[c-1][1].type&&a[c][1].start.line!==a[c][1].end.line&&(g=c+1,x.push(g),m._tokenizer=void 0,m.previous=void 0,m=m.next);for(s.events=[],m?(m._tokenizer=void 0,m.previous=void 0):x.pop(),c=x.length;c--;){let S=a.slice(x[c],x[c+1]),U=o.pop();d.push([U,U+S.length-1]),e.splice(U,2,S)}for(d.reverse(),c=-1;++c<d.length;)l[y+d[c][0]]=y+d[c][1],y+=d[c][1]-d[c][0]-1;return l}var pr={resolve:ma,tokenize:ha},da={partial:!0,tokenize:fa};function ma(e){return An(e),e}function ha(e,t){let n;return r;function r(a){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(a)}function i(a){return a===null?o(a):T(a)?e.check(da,s,o)(a):(e.consume(a),i)}function o(a){return e.exit("chunkContent"),e.exit("content"),t(a)}function s(a){return e.consume(a),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function fa(e,t,n){let r=this;return i;function i(s){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),q(e,o,"linePrefix")}function o(s){if(s===null||T(s))return n(s);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):e.interrupt(r.parser.constructs.flow,n,t)(s)}}function vn(e,t,n,r,i,o,s,a,d){let l=d||Number.POSITIVE_INFINITY,u=0;return p;function p(S){return S===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(S),e.exit(o),c):S===null||S===32||S===41||Vt(S)?n(S):(e.enter(r),e.enter(s),e.enter(a),e.enter("chunkString",{contentType:"string"}),g(S))}function c(S){return S===62?(e.enter(o),e.consume(S),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),m(S))}function m(S){return S===62?(e.exit("chunkString"),e.exit(a),c(S)):S===null||S===60||T(S)?n(S):(e.consume(S),S===92?y:m)}function y(S){return S===60||S===62||S===92?(e.consume(S),m):m(S)}function g(S){return!u&&(S===null||S===41||ne(S))?(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(r),t(S)):u<l&&S===40?(e.consume(S),u++,g):S===41?(e.consume(S),u--,g):S===null||S===32||S===40||Vt(S)?n(S):(e.consume(S),S===92?x:g)}function x(S){return S===40||S===41||S===92?(e.consume(S),g):g(S)}}function On(e,t,n,r,i,o){let s=this,a=0,d;return l;function l(m){return e.enter(r),e.enter(i),e.consume(m),e.exit(i),e.enter(o),u}function u(m){return a>999||m===null||m===91||m===93&&!d||m===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?n(m):m===93?(e.exit(o),e.enter(i),e.consume(m),e.exit(i),e.exit(r),t):T(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),p(m))}function p(m){return m===null||m===91||m===93||T(m)||a++>999?(e.exit("chunkString"),u(m)):(e.consume(m),d||(d=!P(m)),m===92?c:p)}function c(m){return m===91||m===92||m===93?(e.consume(m),a++,p):p(m)}}function Pn(e,t,n,r,i,o){let s;return a;function a(c){return c===34||c===39||c===40?(e.enter(r),e.enter(i),e.consume(c),e.exit(i),s=c===40?41:c,d):n(c)}function d(c){return c===s?(e.enter(i),e.consume(c),e.exit(i),e.exit(r),t):(e.enter(o),l(c))}function l(c){return c===s?(e.exit(o),d(s)):c===null?n(c):T(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),q(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(c))}function u(c){return c===s||c===null||T(c)?(e.exit("chunkString"),l(c)):(e.consume(c),c===92?p:u)}function p(c){return c===s||c===92?(e.consume(c),u):u(c)}}function it(e,t){let n;return r;function r(i){return T(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):P(i)?q(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var dr={name:"definition",tokenize:ya},ga={partial:!0,tokenize:wa};function ya(e,t,n){let r=this,i;return o;function o(m){return e.enter("definition"),s(m)}function s(m){return On.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(m)}function a(m){return i=De(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),d):n(m)}function d(m){return ne(m)?it(e,l)(m):l(m)}function l(m){return vn(e,u,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(m)}function u(m){return e.attempt(ga,p,p)(m)}function p(m){return P(m)?q(e,c,"whitespace")(m):c(m)}function c(m){return m===null||T(m)?(e.exit("definition"),r.parser.defined.push(i),t(m)):n(m)}}function wa(e,t,n){return r;function r(a){return ne(a)?it(e,i)(a):n(a)}function i(a){return Pn(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return P(a)?q(e,s,"whitespace")(a):s(a)}function s(a){return a===null||T(a)?t(a):n(a)}}var mr={name:"hardBreakEscape",tokenize:ka};function ka(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return T(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}var hr={name:"headingAtx",resolve:ba,tokenize:xa};function ba(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},ue(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function xa(e,t,n){let r=0;return i;function i(u){return e.enter("atxHeading"),o(u)}function o(u){return e.enter("atxHeadingSequence"),s(u)}function s(u){return u===35&&r++<6?(e.consume(u),s):u===null||ne(u)?(e.exit("atxHeadingSequence"),a(u)):n(u)}function a(u){return u===35?(e.enter("atxHeadingSequence"),d(u)):u===null||T(u)?(e.exit("atxHeading"),t(u)):P(u)?q(e,a,"whitespace")(u):(e.enter("atxHeadingText"),l(u))}function d(u){return u===35?(e.consume(u),d):(e.exit("atxHeadingSequence"),a(u))}function l(u){return u===null||u===35||ne(u)?(e.exit("atxHeadingText"),a(u)):(e.consume(u),l)}}var ro=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],fr=["pre","script","style","textarea"];var gr={concrete:!0,name:"htmlFlow",resolveTo:Sa,tokenize:Ea},Ca={partial:!0,tokenize:$a},_a={partial:!0,tokenize:Ta};function Sa(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Ea(e,t,n){let r=this,i,o,s,a,d;return l;function l(f){return u(f)}function u(f){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(f),p}function p(f){return f===33?(e.consume(f),c):f===47?(e.consume(f),o=!0,g):f===63?(e.consume(f),i=3,r.interrupt?t:h):ye(f)?(e.consume(f),s=String.fromCharCode(f),x):n(f)}function c(f){return f===45?(e.consume(f),i=2,m):f===91?(e.consume(f),i=5,a=0,y):ye(f)?(e.consume(f),i=4,r.interrupt?t:h):n(f)}function m(f){return f===45?(e.consume(f),r.interrupt?t:h):n(f)}function y(f){let me="CDATA[";return f===me.charCodeAt(a++)?(e.consume(f),a===me.length?r.interrupt?t:Q:y):n(f)}function g(f){return ye(f)?(e.consume(f),s=String.fromCharCode(f),x):n(f)}function x(f){if(f===null||f===47||f===62||ne(f)){let me=f===47,Ye=s.toLowerCase();return!me&&!o&&fr.includes(Ye)?(i=1,r.interrupt?t(f):Q(f)):ro.includes(s.toLowerCase())?(i=6,me?(e.consume(f),S):r.interrupt?t(f):Q(f)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(f):o?U(f):b(f))}return f===45||de(f)?(e.consume(f),s+=String.fromCharCode(f),x):n(f)}function S(f){return f===62?(e.consume(f),r.interrupt?t:Q):n(f)}function U(f){return P(f)?(e.consume(f),U):W(f)}function b(f){return f===47?(e.consume(f),W):f===58||f===95||ye(f)?(e.consume(f),$):P(f)?(e.consume(f),b):W(f)}function $(f){return f===45||f===46||f===58||f===95||de(f)?(e.consume(f),$):R(f)}function R(f){return f===61?(e.consume(f),k):P(f)?(e.consume(f),R):b(f)}function k(f){return f===null||f===60||f===61||f===62||f===96?n(f):f===34||f===39?(e.consume(f),d=f,A):P(f)?(e.consume(f),k):j(f)}function A(f){return f===d?(e.consume(f),d=null,V):f===null||T(f)?n(f):(e.consume(f),A)}function j(f){return f===null||f===34||f===39||f===47||f===60||f===61||f===62||f===96||ne(f)?R(f):(e.consume(f),j)}function V(f){return f===47||f===62||P(f)?b(f):n(f)}function W(f){return f===62?(e.consume(f),we):n(f)}function we(f){return f===null||T(f)?Q(f):P(f)?(e.consume(f),we):n(f)}function Q(f){return f===45&&i===2?(e.consume(f),te):f===60&&i===1?(e.consume(f),re):f===62&&i===4?(e.consume(f),ke):f===63&&i===3?(e.consume(f),h):f===93&&i===5?(e.consume(f),Ae):T(f)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Ca,Ie,O)(f)):f===null||T(f)?(e.exit("htmlFlowData"),O(f)):(e.consume(f),Q)}function O(f){return e.check(_a,N,Ie)(f)}function N(f){return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),M}function M(f){return f===null||T(f)?O(f):(e.enter("htmlFlowData"),Q(f))}function te(f){return f===45?(e.consume(f),h):Q(f)}function re(f){return f===47?(e.consume(f),s="",_e):Q(f)}function _e(f){if(f===62){let me=s.toLowerCase();return fr.includes(me)?(e.consume(f),ke):Q(f)}return ye(f)&&s.length<8?(e.consume(f),s+=String.fromCharCode(f),_e):Q(f)}function Ae(f){return f===93?(e.consume(f),h):Q(f)}function h(f){return f===62?(e.consume(f),ke):f===45&&i===2?(e.consume(f),h):Q(f)}function ke(f){return f===null||T(f)?(e.exit("htmlFlowData"),Ie(f)):(e.consume(f),ke)}function Ie(f){return e.exit("htmlFlow"),t(f)}}function Ta(e,t,n){let r=this;return i;function i(s){return T(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):n(s)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function $a(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(ze,t,n)}}var yr={name:"htmlText",tokenize:Aa};function Aa(e,t,n){let r=this,i,o,s;return a;function a(h){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(h),d}function d(h){return h===33?(e.consume(h),l):h===47?(e.consume(h),R):h===63?(e.consume(h),b):ye(h)?(e.consume(h),j):n(h)}function l(h){return h===45?(e.consume(h),u):h===91?(e.consume(h),o=0,y):ye(h)?(e.consume(h),U):n(h)}function u(h){return h===45?(e.consume(h),m):n(h)}function p(h){return h===null?n(h):h===45?(e.consume(h),c):T(h)?(s=p,re(h)):(e.consume(h),p)}function c(h){return h===45?(e.consume(h),m):p(h)}function m(h){return h===62?te(h):h===45?c(h):p(h)}function y(h){let ke="CDATA[";return h===ke.charCodeAt(o++)?(e.consume(h),o===ke.length?g:y):n(h)}function g(h){return h===null?n(h):h===93?(e.consume(h),x):T(h)?(s=g,re(h)):(e.consume(h),g)}function x(h){return h===93?(e.consume(h),S):g(h)}function S(h){return h===62?te(h):h===93?(e.consume(h),S):g(h)}function U(h){return h===null||h===62?te(h):T(h)?(s=U,re(h)):(e.consume(h),U)}function b(h){return h===null?n(h):h===63?(e.consume(h),$):T(h)?(s=b,re(h)):(e.consume(h),b)}function $(h){return h===62?te(h):b(h)}function R(h){return ye(h)?(e.consume(h),k):n(h)}function k(h){return h===45||de(h)?(e.consume(h),k):A(h)}function A(h){return T(h)?(s=A,re(h)):P(h)?(e.consume(h),A):te(h)}function j(h){return h===45||de(h)?(e.consume(h),j):h===47||h===62||ne(h)?V(h):n(h)}function V(h){return h===47?(e.consume(h),te):h===58||h===95||ye(h)?(e.consume(h),W):T(h)?(s=V,re(h)):P(h)?(e.consume(h),V):te(h)}function W(h){return h===45||h===46||h===58||h===95||de(h)?(e.consume(h),W):we(h)}function we(h){return h===61?(e.consume(h),Q):T(h)?(s=we,re(h)):P(h)?(e.consume(h),we):V(h)}function Q(h){return h===null||h===60||h===61||h===62||h===96?n(h):h===34||h===39?(e.consume(h),i=h,O):T(h)?(s=Q,re(h)):P(h)?(e.consume(h),Q):(e.consume(h),N)}function O(h){return h===i?(e.consume(h),i=void 0,M):h===null?n(h):T(h)?(s=O,re(h)):(e.consume(h),O)}function N(h){return h===null||h===34||h===39||h===60||h===61||h===96?n(h):h===47||h===62||ne(h)?V(h):(e.consume(h),N)}function M(h){return h===47||h===62||ne(h)?V(h):n(h)}function te(h){return h===62?(e.consume(h),e.exit("htmlTextData"),e.exit("htmlText"),t):n(h)}function re(h){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),_e}function _e(h){return P(h)?q(e,Ae,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h):Ae(h)}function Ae(h){return e.enter("htmlTextData"),s(h)}}var ot={name:"labelEnd",resolveAll:Ia,resolveTo:qa,tokenize:Ra},va={tokenize:La},Oa={tokenize:Ma},Pa={tokenize:Na};function Ia(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){let i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&ue(e,0,e.length,n),e}function qa(e,t){let n=e.length,r=0,i,o,s,a;for(;n--;)if(i=e[n][1],o){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(s){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(o=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(s=n);let d={type:e[o][1].type==="labelLink"?"link":"image",start:{...e[o][1].start},end:{...e[e.length-1][1].end}},l={type:"label",start:{...e[o][1].start},end:{...e[s][1].end}},u={type:"labelText",start:{...e[o+r+2][1].end},end:{...e[s-2][1].start}};return a=[["enter",d,t],["enter",l,t]],a=pe(a,e.slice(o+1,o+r+3)),a=pe(a,[["enter",u,t]]),a=pe(a,bt(t.parser.constructs.insideSpan.null,e.slice(o+r+4,s-3),t)),a=pe(a,[["exit",u,t],e[s-2],e[s-1],["exit",l,t]]),a=pe(a,e.slice(s+1)),a=pe(a,[["exit",d,t]]),ue(e,o,e.length,a),e}function Ra(e,t,n){let r=this,i=r.events.length,o,s;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){o=r.events[i][1];break}return a;function a(c){return o?o._inactive?p(c):(s=r.parser.defined.includes(De(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelEnd"),d):n(c)}function d(c){return c===40?e.attempt(va,u,s?u:p)(c):c===91?e.attempt(Oa,u,s?l:p)(c):s?u(c):p(c)}function l(c){return e.attempt(Pa,u,p)(c)}function u(c){return t(c)}function p(c){return o._balanced=!0,n(c)}}function La(e,t,n){return r;function r(p){return e.enter("resource"),e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),i}function i(p){return ne(p)?it(e,o)(p):o(p)}function o(p){return p===41?u(p):vn(e,s,a,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(p)}function s(p){return ne(p)?it(e,d)(p):u(p)}function a(p){return n(p)}function d(p){return p===34||p===39||p===40?Pn(e,l,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(p):u(p)}function l(p){return ne(p)?it(e,u)(p):u(p)}function u(p){return p===41?(e.enter("resourceMarker"),e.consume(p),e.exit("resourceMarker"),e.exit("resource"),t):n(p)}}function Ma(e,t,n){let r=this;return i;function i(a){return On.call(r,e,o,s,"reference","referenceMarker","referenceString")(a)}function o(a){return r.parser.defined.includes(De(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(a):n(a)}function s(a){return n(a)}}function Na(e,t,n){return r;function r(o){return e.enter("reference"),e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),i}function i(o){return o===93?(e.enter("referenceMarker"),e.consume(o),e.exit("referenceMarker"),e.exit("reference"),t):n(o)}}var wr={name:"labelStartImage",resolveAll:ot.resolveAll,tokenize:Da};function Da(e,t,n){let r=this;return i;function i(a){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(a),e.exit("labelImageMarker"),o}function o(a){return a===91?(e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelImage"),s):n(a)}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}var kr={name:"labelStartLink",resolveAll:ot.resolveAll,tokenize:Wa};function Wa(e,t,n){let r=this;return i;function i(s){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelLink"),o}function o(s){return s===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(s):t(s)}}var Qt={name:"lineEnding",tokenize:Ua};function Ua(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),q(e,t,"linePrefix")}}var st={name:"thematicBreak",tokenize:Fa};function Fa(e,t,n){let r=0,i;return o;function o(l){return e.enter("thematicBreak"),s(l)}function s(l){return i=l,a(l)}function a(l){return l===i?(e.enter("thematicBreakSequence"),d(l)):r>=3&&(l===null||T(l))?(e.exit("thematicBreak"),t(l)):n(l)}function d(l){return l===i?(e.consume(l),r++,d):(e.exit("thematicBreakSequence"),P(l)?q(e,a,"whitespace")(l):a(l))}}var le={continuation:{tokenize:ja},exit:Ga,name:"list",tokenize:Va},Ba={partial:!0,tokenize:za},Ha={partial:!0,tokenize:Ja};function Va(e,t,n){let r=this,i=r.events[r.events.length-1],o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return a;function a(m){let y=r.containerState.type||(m===42||m===43||m===45?"listUnordered":"listOrdered");if(y==="listUnordered"?!r.containerState.marker||m===r.containerState.marker:jt(m)){if(r.containerState.type||(r.containerState.type=y,e.enter(y,{_container:!0})),y==="listUnordered")return e.enter("listItemPrefix"),m===42||m===45?e.check(st,n,l)(m):l(m);if(!r.interrupt||m===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(m)}return n(m)}function d(m){return jt(m)&&++s<10?(e.consume(m),d):(!r.interrupt||s<2)&&(r.containerState.marker?m===r.containerState.marker:m===41||m===46)?(e.exit("listItemValue"),l(m)):n(m)}function l(m){return e.enter("listItemMarker"),e.consume(m),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||m,e.check(ze,r.interrupt?n:u,e.attempt(Ba,c,p))}function u(m){return r.containerState.initialBlankLine=!0,o++,c(m)}function p(m){return P(m)?(e.enter("listItemPrefixWhitespace"),e.consume(m),e.exit("listItemPrefixWhitespace"),c):n(m)}function c(m){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(m)}}function ja(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(ze,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,q(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!P(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Ha,t,s)(a))}function s(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,q(e,e.attempt(le,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function Ja(e,t,n){let r=this;return q(e,i,"listItemIndent",r.containerState.size+1);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(o):n(o)}}function Ga(e){e.exit(this.containerState.type)}function za(e,t,n){let r=this;return q(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){let s=r.events[r.events.length-1];return!P(o)&&s&&s[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}var In={name:"setextUnderline",resolveTo:Qa,tokenize:Ka};function Qa(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);let s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",s,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function Ka(e,t,n){let r=this,i;return o;function o(l){let u=r.events.length,p;for(;u--;)if(r.events[u][1].type!=="lineEnding"&&r.events[u][1].type!=="linePrefix"&&r.events[u][1].type!=="content"){p=r.events[u][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||p)?(e.enter("setextHeadingLine"),i=l,s(l)):n(l)}function s(l){return e.enter("setextHeadingLineSequence"),a(l)}function a(l){return l===i?(e.consume(l),a):(e.exit("setextHeadingLineSequence"),P(l)?q(e,d,"lineSuffix")(l):d(l))}function d(l){return l===null||T(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var io={tokenize:Ya};function Ya(e){let t=this,n=e.attempt(ze,r,e.attempt(this.parser.constructs.flowInitial,i,q(e,e.attempt(this.parser.constructs.flow,i,e.attempt(pr,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var oo={resolveAll:lo()},so=uo("string"),ao=uo("text");function uo(e){return{resolveAll:lo(e==="text"?Xa:void 0),tokenize:t};function t(n){let r=this,i=this.parser.constructs[e],o=n.attempt(i,s,a);return s;function s(u){return l(u)?o(u):a(u)}function a(u){if(u===null){n.consume(u);return}return n.enter("data"),n.consume(u),d}function d(u){return l(u)?(n.exit("data"),o(u)):(n.consume(u),d)}function l(u){if(u===null)return!0;let p=i[u],c=-1;if(p)for(;++c<p.length;){let m=p[c];if(!m.previous||m.previous.call(r,r.previous))return!0}return!1}}}function lo(e){return t;function t(n,r){let i=-1,o;for(;++i<=n.length;)o===void 0?n[i]&&n[i][1].type==="data"&&(o=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==o+2&&(n[o][1].end=n[i-1][1].end,n.splice(o+2,i-o-2),i=o+2),o=void 0);return e?e(n,r):n}}function Xa(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){let r=e[n-1][1],i=t.sliceStream(r),o=i.length,s=-1,a=0,d;for(;o--;){let l=i[o];if(typeof l=="string"){for(s=l.length;l.charCodeAt(s-1)===32;)a++,s--;if(s)break;s=-1}else if(l===-2)d=!0,a++;else if(l!==-1){o++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(a=0),a){let l={type:n===e.length||d||a<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?s:r.start._bufferIndex+s,_index:r.start._index+o,line:r.end.line,column:r.end.column-a,offset:r.end.offset-a},end:{...r.end}};r.end={...l.start},r.start.offset===r.end.offset?Object.assign(r,l):(e.splice(n,0,["enter",l,t],["exit",l,t]),n+=2)}n++}return e}var br={};Ho(br,{attentionMarkers:()=>su,contentInitial:()=>eu,disable:()=>au,document:()=>Za,flow:()=>nu,flowInitial:()=>tu,insideSpan:()=>ou,string:()=>ru,text:()=>iu});var Za={42:le,43:le,45:le,48:le,49:le,50:le,51:le,52:le,53:le,54:le,55:le,56:le,57:le,62:_n},eu={91:dr},tu={[-2]:Gt,[-1]:Gt,32:Gt},nu={35:hr,42:st,45:[In,st],60:gr,61:In,95:st,96:Tn,126:Tn},ru={38:En,92:Sn},iu={[-5]:Qt,[-4]:Qt,[-3]:Qt,33:wr,38:En,42:Jt,60:[lr,yr],91:kr,92:[mr,Sn],93:ot,95:Jt,96:cr},ou={null:[Jt,oo]},su={null:[42,95]},au={null:[]};function co(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},o=[],s=[],a=[],d=!0,l={attempt:V(A),check:V(j),consume:$,enter:R,exit:k,interrupt:V(j,{interrupt:!0})},u={code:null,containerState:{},defineSkip:S,events:[],now:x,parser:e,previous:null,sliceSerialize:y,sliceStream:g,write:m},p=t.tokenize.call(u,l),c;return t.resolveAll&&o.push(t),u;function m(O){return s=pe(s,O),U(),s[s.length-1]!==null?[]:(W(t,0),u.events=bt(o,u.events,u),u.events)}function y(O,N){return lu(g(O),N)}function g(O){return uu(s,O)}function x(){let{_bufferIndex:O,_index:N,line:M,column:te,offset:re}=r;return{_bufferIndex:O,_index:N,line:M,column:te,offset:re}}function S(O){i[O.line]=O.column,Q()}function U(){let O;for(;r._index<s.length;){let N=s[r._index];if(typeof N=="string")for(O=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===O&&r._bufferIndex<N.length;)b(N.charCodeAt(r._bufferIndex));else b(N)}}function b(O){d=void 0,c=O,p=p(O)}function $(O){T(O)?(r.line++,r.column=1,r.offset+=O===-3?2:1,Q()):O!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===s[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=O,d=!0}function R(O,N){let M=N||{};return M.type=O,M.start=x(),u.events.push(["enter",M,u]),a.push(M),M}function k(O){let N=a.pop();return N.end=x(),u.events.push(["exit",N,u]),N}function A(O,N){W(O,N.from)}function j(O,N){N.restore()}function V(O,N){return M;function M(te,re,_e){let Ae,h,ke,Ie;return Array.isArray(te)?me(te):"tokenize"in te?me([te]):f(te);function f(ae){return St;function St(qe){let Xe=qe!==null&&ae[qe],at=qe!==null&&ae.null,Wn=[...Array.isArray(Xe)?Xe:Xe?[Xe]:[],...Array.isArray(at)?at:at?[at]:[]];return me(Wn)(qe)}}function me(ae){return Ae=ae,h=0,ae.length===0?_e:Ye(ae[h])}function Ye(ae){return St;function St(qe){return Ie=we(),ke=ae,ae.partial||(u.currentConstruct=ae),ae.name&&u.parser.constructs.disable.null.includes(ae.name)?Xt(qe):ae.tokenize.call(N?Object.assign(Object.create(u),N):u,l,Dn,Xt)(qe)}}function Dn(ae){return d=!0,O(ke,Ie),re}function Xt(ae){return d=!0,Ie.restore(),++h<Ae.length?Ye(Ae[h]):_e}}}function W(O,N){O.resolveAll&&!o.includes(O)&&o.push(O),O.resolve&&ue(u.events,N,u.events.length-N,O.resolve(u.events.slice(N),u)),O.resolveTo&&(u.events=O.resolveTo(u.events,u))}function we(){let O=x(),N=u.previous,M=u.currentConstruct,te=u.events.length,re=Array.from(a);return{from:te,restore:_e};function _e(){r=O,u.previous=N,u.currentConstruct=M,u.events.length=te,a=re,Q()}}function Q(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function uu(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,o=t.end._bufferIndex,s;if(n===i)s=[e[n].slice(r,o)];else{if(s=e.slice(n,i),r>-1){let a=s[0];typeof a=="string"?s[0]=a.slice(r):s.shift()}o>0&&s.push(e[i].slice(0,o))}return s}function lu(e,t){let n=-1,r=[],i;for(;++n<e.length;){let o=e[n],s;if(typeof o=="string")s=o;else switch(o){case-5:{s="\r";break}case-4:{s=`
115
- `;break}case-3:{s=`\r
116
- `;break}case-2:{s=t?" ":" ";break}case-1:{if(!t&&i)continue;s=" ";break}default:s=String.fromCharCode(o)}i=o===-2,r.push(s)}return r.join("")}function xr(e){let r={constructs:Ji([br,...(e||{}).extensions||[]]),content:i(Xi),defined:[],document:i(eo),flow:i(io),lazy:{},string:i(so),text:i(ao)};return r;function i(o){return s;function s(a){return co(r,o,a)}}}function Cr(e){for(;!An(e););return e}var po=/[\0\t\n\r]/g;function _r(){let e=1,t="",n=!0,r;return i;function i(o,s,a){let d=[],l,u,p,c,m;for(o=t+(typeof o=="string"?o.toString():new TextDecoder(s||void 0).decode(o)),p=0,t="",n&&(o.charCodeAt(0)===65279&&p++,n=void 0);p<o.length;){if(po.lastIndex=p,l=po.exec(o),c=l&&l.index!==void 0?l.index:o.length,m=o.charCodeAt(c),!l){t=o.slice(p);break}if(m===10&&p===c&&r)d.push(-3),r=void 0;else switch(r&&(d.push(-5),r=void 0),p<c&&(d.push(o.slice(p,c)),e+=c-p),m){case 0:{d.push(65533),e++;break}case 9:{for(u=Math.ceil(e/4)*4,d.push(-2);e++<u;)d.push(-1);break}case 10:{d.push(-4),e=1;break}default:r=!0,e=1}p=c+1}return a&&(r&&d.push(-5),t&&d.push(t),d.push(null)),d}}var cu=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function mo(e){return e.replace(cu,pu)}function pu(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let i=n.charCodeAt(1),o=i===120||i===88;return Cn(n.slice(o?2:1),o?16:10)}return kt(n)||e}function xt(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?ho(e.position):"start"in e||"end"in e?ho(e):"line"in e||"column"in e?Sr(e):""}function Sr(e){return fo(e&&e.line)+":"+fo(e&&e.column)}function ho(e){return Sr(e&&e.start)+"-"+Sr(e&&e.end)}function fo(e){return e&&typeof e=="number"?e:1}var yo={}.hasOwnProperty;function Er(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),du(n)(Cr(xr(n).document().write(_r()(e,t,!0))))}function du(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(Wr),autolinkProtocol:V,autolinkEmail:V,atxHeading:o(Mr),blockQuote:o(qe),characterEscape:V,characterReference:V,codeFenced:o(Xe),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:o(Xe,s),codeText:o(at,s),codeTextData:V,data:V,codeFlowValue:V,definition:o(Wn),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:o(Lo),hardBreakEscape:o(Nr),hardBreakTrailing:o(Nr),htmlFlow:o(Dr,s),htmlFlowData:V,htmlText:o(Dr,s),htmlTextData:V,image:o(Mo),label:s,link:o(Wr),listItem:o(No),listItemValue:c,listOrdered:o(Ur,p),listUnordered:o(Ur),paragraph:o(Do),reference:f,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:o(Mr),strong:o(Wo),thematicBreak:o(Fo)},exit:{atxHeading:d(),atxHeadingSequence:R,autolink:d(),autolinkEmail:St,autolinkProtocol:ae,blockQuote:d(),characterEscapeValue:W,characterReferenceMarkerHexadecimal:Ye,characterReferenceMarkerNumeric:Ye,characterReferenceValue:Dn,characterReference:Xt,codeFenced:d(x),codeFencedFence:g,codeFencedFenceInfo:m,codeFencedFenceMeta:y,codeFlowValue:W,codeIndented:d(S),codeText:d(M),codeTextData:W,data:W,definition:d(),definitionDestinationString:$,definitionLabelString:U,definitionTitleString:b,emphasis:d(),hardBreakEscape:d(Q),hardBreakTrailing:d(Q),htmlFlow:d(O),htmlFlowData:W,htmlText:d(N),htmlTextData:W,image:d(re),label:Ae,labelText:_e,lineEnding:we,link:d(te),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:me,resourceDestinationString:h,resourceTitleString:ke,resource:Ie,setextHeading:d(j),setextHeadingLineSequence:A,setextHeadingText:k,strong:d(),thematicBreak:d()}};wo(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(w){let E={type:"root",children:[]},I={stack:[E],tokenStack:[],config:t,enter:a,exit:l,buffer:s,resume:u,data:n},D=[],K=-1;for(;++K<w.length;)if(w[K][1].type==="listOrdered"||w[K][1].type==="listUnordered")if(w[K][0]==="enter")D.push(K);else{let Se=D.pop();K=i(w,Se,K)}for(K=-1;++K<w.length;){let Se=t[w[K][0]];yo.call(Se,w[K][1].type)&&Se[w[K][1].type].call(Object.assign({sliceSerialize:w[K][2].sliceSerialize},I),w[K][1])}if(I.tokenStack.length>0){let Se=I.tokenStack[I.tokenStack.length-1];(Se[1]||go).call(I,void 0,Se[0])}for(E.position={start:Qe(w.length>0?w[0][1].start:{line:1,column:1,offset:0}),end:Qe(w.length>0?w[w.length-2][1].end:{line:1,column:1,offset:0})},K=-1;++K<t.transforms.length;)E=t.transforms[K](E)||E;return E}function i(w,E,I){let D=E-1,K=-1,Se=!1,Ze,Re,Et,Tt;for(;++D<=I;){let he=w[D];switch(he[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{he[0]==="enter"?K++:K--,Tt=void 0;break}case"lineEndingBlank":{he[0]==="enter"&&(Ze&&!Tt&&!K&&!Et&&(Et=D),Tt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Tt=void 0}if(!K&&he[0]==="enter"&&he[1].type==="listItemPrefix"||K===-1&&he[0]==="exit"&&(he[1].type==="listUnordered"||he[1].type==="listOrdered")){if(Ze){let ut=D;for(Re=void 0;ut--;){let Le=w[ut];if(Le[1].type==="lineEnding"||Le[1].type==="lineEndingBlank"){if(Le[0]==="exit")continue;Re&&(w[Re][1].type="lineEndingBlank",Se=!0),Le[1].type="lineEnding",Re=ut}else if(!(Le[1].type==="linePrefix"||Le[1].type==="blockQuotePrefix"||Le[1].type==="blockQuotePrefixWhitespace"||Le[1].type==="blockQuoteMarker"||Le[1].type==="listItemIndent"))break}Et&&(!Re||Et<Re)&&(Ze._spread=!0),Ze.end=Object.assign({},Re?w[Re][1].start:he[1].end),w.splice(Re||D,0,["exit",Ze,he[2]]),D++,I++}if(he[1].type==="listItemPrefix"){let ut={type:"listItem",_spread:!1,start:Object.assign({},he[1].start),end:void 0};Ze=ut,w.splice(D,0,["enter",ut,he[2]]),D++,I++,Et=void 0,Tt=!0}}}return w[E][1]._spread=Se,I}function o(w,E){return I;function I(D){a.call(this,w(D),D),E&&E.call(this,D)}}function s(){this.stack.push({type:"fragment",children:[]})}function a(w,E,I){this.stack[this.stack.length-1].children.push(w),this.stack.push(w),this.tokenStack.push([E,I||void 0]),w.position={start:Qe(E.start),end:void 0}}function d(w){return E;function E(I){w&&w.call(this,I),l.call(this,I)}}function l(w,E){let I=this.stack.pop(),D=this.tokenStack.pop();if(D)D[0].type!==w.type&&(E?E.call(this,w,D[0]):(D[1]||go).call(this,w,D[0]));else throw new Error("Cannot close `"+w.type+"` ("+xt({start:w.start,end:w.end})+"): it\u2019s not open");I.position.end=Qe(w.end)}function u(){return sr(this.stack.pop())}function p(){this.data.expectingFirstListItemValue=!0}function c(w){if(this.data.expectingFirstListItemValue){let E=this.stack[this.stack.length-2];E.start=Number.parseInt(this.sliceSerialize(w),10),this.data.expectingFirstListItemValue=void 0}}function m(){let w=this.resume(),E=this.stack[this.stack.length-1];E.lang=w}function y(){let w=this.resume(),E=this.stack[this.stack.length-1];E.meta=w}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function x(){let w=this.resume(),E=this.stack[this.stack.length-1];E.value=w.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function S(){let w=this.resume(),E=this.stack[this.stack.length-1];E.value=w.replace(/(\r?\n|\r)$/g,"")}function U(w){let E=this.resume(),I=this.stack[this.stack.length-1];I.label=E,I.identifier=De(this.sliceSerialize(w)).toLowerCase()}function b(){let w=this.resume(),E=this.stack[this.stack.length-1];E.title=w}function $(){let w=this.resume(),E=this.stack[this.stack.length-1];E.url=w}function R(w){let E=this.stack[this.stack.length-1];if(!E.depth){let I=this.sliceSerialize(w).length;E.depth=I}}function k(){this.data.setextHeadingSlurpLineEnding=!0}function A(w){let E=this.stack[this.stack.length-1];E.depth=this.sliceSerialize(w).codePointAt(0)===61?1:2}function j(){this.data.setextHeadingSlurpLineEnding=void 0}function V(w){let I=this.stack[this.stack.length-1].children,D=I[I.length-1];(!D||D.type!=="text")&&(D=Uo(),D.position={start:Qe(w.start),end:void 0},I.push(D)),this.stack.push(D)}function W(w){let E=this.stack.pop();E.value+=this.sliceSerialize(w),E.position.end=Qe(w.end)}function we(w){let E=this.stack[this.stack.length-1];if(this.data.atHardBreak){let I=E.children[E.children.length-1];I.position.end=Qe(w.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(E.type)&&(V.call(this,w),W.call(this,w))}function Q(){this.data.atHardBreak=!0}function O(){let w=this.resume(),E=this.stack[this.stack.length-1];E.value=w}function N(){let w=this.resume(),E=this.stack[this.stack.length-1];E.value=w}function M(){let w=this.resume(),E=this.stack[this.stack.length-1];E.value=w}function te(){let w=this.stack[this.stack.length-1];if(this.data.inReference){let E=this.data.referenceType||"shortcut";w.type+="Reference",w.referenceType=E,delete w.url,delete w.title}else delete w.identifier,delete w.label;this.data.referenceType=void 0}function re(){let w=this.stack[this.stack.length-1];if(this.data.inReference){let E=this.data.referenceType||"shortcut";w.type+="Reference",w.referenceType=E,delete w.url,delete w.title}else delete w.identifier,delete w.label;this.data.referenceType=void 0}function _e(w){let E=this.sliceSerialize(w),I=this.stack[this.stack.length-2];I.label=mo(E),I.identifier=De(E).toLowerCase()}function Ae(){let w=this.stack[this.stack.length-1],E=this.resume(),I=this.stack[this.stack.length-1];if(this.data.inReference=!0,I.type==="link"){let D=w.children;I.children=D}else I.alt=E}function h(){let w=this.resume(),E=this.stack[this.stack.length-1];E.url=w}function ke(){let w=this.resume(),E=this.stack[this.stack.length-1];E.title=w}function Ie(){this.data.inReference=void 0}function f(){this.data.referenceType="collapsed"}function me(w){let E=this.resume(),I=this.stack[this.stack.length-1];I.label=E,I.identifier=De(this.sliceSerialize(w)).toLowerCase(),this.data.referenceType="full"}function Ye(w){this.data.characterReferenceType=w.type}function Dn(w){let E=this.sliceSerialize(w),I=this.data.characterReferenceType,D;I?(D=Cn(E,I==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):D=kt(E);let K=this.stack[this.stack.length-1];K.value+=D}function Xt(w){let E=this.stack.pop();E.position.end=Qe(w.end)}function ae(w){W.call(this,w);let E=this.stack[this.stack.length-1];E.url=this.sliceSerialize(w)}function St(w){W.call(this,w);let E=this.stack[this.stack.length-1];E.url="mailto:"+this.sliceSerialize(w)}function qe(){return{type:"blockquote",children:[]}}function Xe(){return{type:"code",lang:null,meta:null,value:""}}function at(){return{type:"inlineCode",value:""}}function Wn(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Lo(){return{type:"emphasis",children:[]}}function Mr(){return{type:"heading",depth:0,children:[]}}function Nr(){return{type:"break"}}function Dr(){return{type:"html",value:""}}function Mo(){return{type:"image",title:null,url:"",alt:null}}function Wr(){return{type:"link",title:null,url:"",children:[]}}function Ur(w){return{type:"list",ordered:w.type==="listOrdered",start:null,spread:w._spread,children:[]}}function No(w){return{type:"listItem",spread:w._spread,checked:null,children:[]}}function Do(){return{type:"paragraph",children:[]}}function Wo(){return{type:"strong",children:[]}}function Uo(){return{type:"text",value:""}}function Fo(){return{type:"thematicBreak"}}}function Qe(e){return{line:e.line,column:e.column,offset:e.offset}}function wo(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?wo(e,r):mu(e,r)}}function mu(e,t){let n;for(n in t)if(yo.call(t,n))switch(n){case"canContainEols":{let r=t[n];r&&e[n].push(...r);break}case"transforms":{let r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{let r=t[n];r&&Object.assign(e[n],r);break}}}function go(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+xt({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+xt({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+xt({start:t.start,end:t.end})+") is still open")}var Rn=class{constructor(t){this.profile=t}profile;warnings=[];convert(t){return this.blocks(t.children)}blockHandlers={paragraph:t=>this.flow(t.children),heading:t=>this.heading(t),blockquote:t=>this.blockquote(t),list:t=>this.list(t),code:t=>this.code(t),thematicBreak:()=>this.rule(),html:t=>this.htmlBlock(t),definition:()=>[],footnoteDefinition:()=>[]};blocks(t){let n=[];for(let r of t)for(let i of this.block(r))n.push(i);return n}block(t){let n=this.blockHandlers[t.type];return n?n(t):this.unknownBlock(t)}flow(t){return qn(this.inlines(t,[]))}heading(t){let n=this.inlines(t.children,[]),r=this.headingLevel(t.depth);if(r===null)return qn(n);let i=n.filter(a=>a.type==="figure"),o=n.filter(a=>a.type!=="figure"),s=[...i];return(o.length||!i.length)&&s.push({type:"heading",attrs:{level:r},content:xo(o)}),s}headingLevel(t){if(!this.profile.blocks.has("heading"))return null;let n=this.profile.headingLevels;return n.length?n.includes(t)?t:n.reduce((r,i)=>Math.abs(i-t)<Math.abs(r-t)?i:r):null}blockquote(t){let n=this.blocks(t.children);return this.profile.blocks.has("blockquote")?[{type:"blockquote",content:bo(n)}]:n}list(t){let n=t.ordered?"orderedList":"bulletList";return this.profile.blocks.has(n)?[{type:n,attrs:t.ordered?{start:t.start??1}:void 0,content:t.children.map(r=>({type:"listItem",content:bo(this.blocks(r.children))}))}]:this.listAsParagraphs(t)}listAsParagraphs(t){let n=t.start??1;return t.children.flatMap((r,i)=>{let o=t.ordered?`${n+i}. `:"- ";return qn([Ce(o),...r.children.flatMap(s=>this.inlineOf(s))])})}code(t){return this.profile.blocks.has("codeBlock")?[{type:"codeBlock",attrs:t.lang?{language:t.lang}:void 0,content:t.value?[Ce(t.value)]:void 0}]:t.value.split(`
117
- `).map(n=>Kt(n?[Ce(n)]:[]))}rule(){return this.profile.blocks.has("horizontalRule")?[{type:"horizontalRule"}]:[Kt([Ce("---")])]}htmlBlock(t){return this.warn("dropped-html","Markdown HTML was dropped because raw HTML is not supported.",t.type),[]}unknownBlock(t){return this.warn("unsupported-node",`Unsupported Markdown node "${t.type}" was converted to paragraph text.`,t.type),qn(this.inlineOf(t))}inlineHandlers={text:(t,n)=>t.value?[Ce(t.value,n)]:[],emphasis:(t,n)=>this.marked(t.children,n,"italic"),strong:(t,n)=>this.marked(t.children,n,"bold"),delete:(t,n)=>this.marked(t.children,n,"strike"),inlineCode:(t,n)=>[Ce(t.value,this.profile.marks.has("code")?[...n,{type:"code"}]:n)],break:(t,n)=>this.profile.hardBreak?[{type:"hardBreak"}]:[Ce(`
118
- `,n)],link:(t,n)=>this.link(t,n),image:(t,n)=>this.image(t,n),html:()=>[]};inlines(t,n){let r=[];for(let i of t)for(let o of this.inline(i,n))r.push(o);return r}inline(t,n){let r=this.inlineHandlers[t.type];return r?r(t,n):this.inlineOf(t)}marked(t,n,r){return this.inlines(t,this.profile.marks.has(r)?[...n,{type:r}]:n)}link(t,n){if(this.profile.marks.has("link"))return this.inlines(t.children,[...n,ko(t.url,t.title)]);let r=Co(t.children);return[Ce(r?`${r} (${t.url})`:t.url,n)]}image(t,n){return this.profile.blocks.has("figure")?[{type:"figure",attrs:{src:t.url,alt:t.alt??null,title:t.title??null,width:null},content:t.alt?[Ce(t.alt)]:void 0}]:this.profile.marks.has("link")?[Ce(t.alt||t.url,[...n,ko(t.url,t.title)])]:[Ce(t.alt?`${t.alt} (${t.url})`:t.url,n)]}inlineOf(t){return"children"in t&&Array.isArray(t.children)?this.inlines(t.children,[]):"value"in t&&typeof t.value=="string"?[Ce(t.value)]:[]}warn(t,n,r){this.warnings.push({code:t,message:n,sourceType:r})}};function qn(e){let t=[],n=[],r=()=>{n.length&&t.push(Kt(n)),n=[]};for(let i of e)i.type==="figure"?(r(),t.push(i)):n.push(i);return(n.length||!t.length)&&t.push(Kt(n)),t}function Kt(e){return{type:"paragraph",content:xo(e)}}function Ce(e,t){return{type:"text",text:e,marks:t?.length?hu(t):void 0}}function ko(e,t){return{type:"link",attrs:{href:e,title:t??null}}}function xo(e){return e.length?e:void 0}function bo(e){return e.length?e:[Kt([])]}function hu(e){let t=new Set;return e.filter(n=>{let r=`${n.type}:${JSON.stringify(n.attrs??{})}`;return t.has(r)?!1:(t.add(r),!0)})}function Co(e){let t="";for(let n of e)"value"in n&&typeof n.value=="string"?t+=n.value:"children"in n&&Array.isArray(n.children)&&(t+=Co(n.children));return t}var Tr={blocks:new Set(["heading","blockquote","bulletList","orderedList","horizontalRule","codeBlock","figure"]),marks:new Set(["bold","italic","strike","code","link"]),headingLevels:[1,2,3,4,5,6],hardBreak:!0},fu={blocks:new Set(["bulletList","orderedList"]),marks:new Set(["link"]),headingLevels:[],hardBreak:!0},gu={post:Tr,review:Tr,launch:Tr,reply:fu};function _o(e){return gu[e]}function We(e,t="post"){let n=new Rn(_o(t)),r=n.convert(Er(e.replace(/\r\n/g,`
119
- `))),i={type:"doc",content:r.length?r:[{type:"paragraph"}]};return{doc:i,warnings:n.warnings,images:yu(i)}}function yu(e){let t=[],n=r=>{r.type==="figure"&&typeof r.attrs?.src=="string"&&t.push({src:r.attrs.src,alt:r.attrs.alt??null,node:r});for(let i of r.content||[])n(i)};return n(e),t}var wu=new Set(["listItem","blockquote","bulletList","orderedList"]);function So(e,t){let n=i=>i.filter(o=>!t.has(o)).flatMap(o=>{if(!o.content)return[o];let s=n(o.content);return s.length?[{...o,content:s}]:wu.has(o.type)?[]:[{...o,content:void 0}]}),r=n(e.content);return{type:"doc",content:r.length?r:[{type:"paragraph"}]}}function ku(e,t,n,r){return`${e}/api/v2/products/${encodeURIComponent(t)}/badge?style=${n}&dark=${r}`}function bu(e,t){let n=new URLSearchParams({tab:"review",utm_source:"product-badge",utm_content:"review"});return`${e}/products/${encodeURIComponent(t)}?${n.toString()}`}function $r(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function xu(e,t,n){let r=[],i=0,o=100;for(;r.length<n;){let a=(await H.reviews(e.client,t,{skip:i,limit:o,order_by:"create_at"})||{}).items||[];if(r.push(...a),a.length<o)break;i+=o}return r.slice(0,n)}async function Eo(e,t,n){if(!e.opts.yes){if(!He())throw Nt(t);if(ee(`
136
+ `));let a=await hl(s,r);if(a){let u=a.status==="done"?`\u2705 \u5B8C\u6210${a.session_id?`\uFF08\u4F1A\u8BDD ${a.session_id}\uFF0Cwatcha ask --resume ${a.session_id} \u53EF\u56DE\u653E\uFF09`:""}`:a.status==="truncated"?"\u26A0\uFE0F \u6D41\u5728\u7ED3\u675F\u524D\u65AD\u5F00\u4E86\uFF0C\u7ED3\u679C\u53EF\u80FD\u4E0D\u5B8C\u6574":`\u274C \u51FA\u9519\uFF1A${a.error||"\u672A\u77E5\u9519\u8BEF"}`;r.write(`
137
+ ${u}
138
+ `)}else process.exitCode=1;if(n.hold&&process.stdin.isTTY){let u=a?.status==="done"?9e5:12e4,l=dl.createInterface({input:process.stdin,output:r,terminal:!0}),c;try{await Promise.race([l.question(o(`\u6309\u56DE\u8F66\u5173\u95ED\uFF08${Math.round(u/6e4)} \u5206\u949F\u540E\u81EA\u52A8\u5173\u95ED\uFF09\u2026 `)),new Promise(d=>{c=setTimeout(d,u)})])}finally{c&&clearTimeout(c),l.close()}}})}async function Ss(t,e){if(/^\d+$/.test(e))return e;let n=await G.show(t.client,e);return String(n.id)}function Es(t){if(t==="review"||t==="post")return t;throw b(`\u5BF9\u8C61\u7C7B\u578B\u53EA\u80FD\u662F review \u6216 post\uFF0C\u6536\u5230 "${t}"`)}function Ts(t){t.command("like <type> <id>").description("\u70B9\u8D5E\u7339\u8BC4/\u5E16\u5B50\uFF08type: review | post\uFF09\u3002--down \u70B9\u8E29\uFF0C--undo \u53D6\u6D88\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--down","\u70B9\u8E29\u800C\u4E0D\u662F\u70B9\u8D5E").option("--undo","\u53D6\u6D88\u4E4B\u524D\u7684\u8D5E/\u8E29").action(async(e,n,r,i)=>{await _(i,async o=>{let s=Es(e),a=r.undo?0:r.down?2:1;dt(o,`${a===0?"\u53D6\u6D88\u8D5E/\u8E29":a===1?"\u70B9\u8D5E":"\u70B9\u8E29"} ${s} #${n}`),s==="review"?await xt.remark(o.client,n,a):await at.remark(o.client,n,a);let u=a===0?"\u5DF2\u53D6\u6D88":a===1?"\u5DF2\u70B9\u8D5E":"\u5DF2\u70B9\u8E29";return{data:{type:s,id:n,remark_type:a},pretty:()=>`${u} ${s} #${n}`}})}),t.command("favorite <type> <id>").description("\u6536\u85CF\u7339\u8BC4/\u5E16\u5B50\uFF08type: review | post\uFF09\u3002--undo \u53D6\u6D88\u6536\u85CF\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u53D6\u6D88\u6536\u85CF").action(async(e,n,r,i)=>{await _(i,async o=>{let s=Es(e);return dt(o,`${r.undo?"\u53D6\u6D88\u6536\u85CF":"\u6536\u85CF"} ${s} #${n}`),s==="review"?await(r.undo?xt.unfavorite(o.client,n):xt.favorite(o.client,n)):await(r.undo?at.unfavorite(o.client,n):at.favorite(o.client,n)),{data:{type:s,id:n,favorited:!r.undo},pretty:()=>`${r.undo?"\u5DF2\u53D6\u6D88\u6536\u85CF":"\u5DF2\u6536\u85CF"} ${s} #${n}`}})}),t.command("star <productIdOrSlug>").description("\u6536\u85CF\u4EA7\u54C1\uFF08\u518D\u6B21\u6267\u884C\u5373\u53D6\u6D88\uFF0C\u540E\u7AEF\u662F\u5F00\u5173\u8BED\u4E49\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(e,n,r)=>{await _(r,async i=>(dt(i,`\u5207\u6362\u4EA7\u54C1 ${e} \u7684\u6536\u85CF\u72B6\u6001`),await G.star(i.client,await Ss(i,e)),{data:{product:e,toggled:!0},pretty:()=>`\u5DF2\u5207\u6362\u4EA7\u54C1 ${e} \u7684\u6536\u85CF\u72B6\u6001`}))}),t.command("follow <userIdOrName>").description("\u5173\u6CE8\u7528\u6237\u3002--undo \u53D6\u6D88\u5173\u6CE8\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u53D6\u6D88\u5173\u6CE8").action(async(e,n,r)=>{await _(r,async i=>(dt(i,`${n.undo?"\u53D6\u6D88\u5173\u6CE8":"\u5173\u6CE8"}\u7528\u6237 ${e}`),await(n.undo?lt.unfollow(i.client,e):lt.follow(i.client,e)),{data:{user:e,following:!n.undo},pretty:()=>`${n.undo?"\u5DF2\u53D6\u6D88\u5173\u6CE8":"\u5DF2\u5173\u6CE8"} ${e}`}))}),t.command("react <scope> <id> <emoji>").description(`\u8868\u60C5\u56DE\u5E94\u3002scope: ${Object.keys(bn).join(" | ")}\uFF1Bemoji \u53EA\u80FD\u662F ${kn.join(" ")}\uFF1B--undo \u79FB\u9664\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes`).option("--undo","\u79FB\u9664\u8868\u60C5").action(async(e,n,r,i,o)=>{await _(o,async s=>{let a=bn[e];if(!a)throw b(`scope \u53EA\u80FD\u662F ${Object.keys(bn).join(" / ")}`);if(!kn.includes(r))throw b("emoji \u4E0D\u5728\u540E\u7AEF\u767D\u540D\u5355\u5185",`\u53EF\u7528\uFF1A${kn.join(" ")}`);return dt(s,`${i.undo?"\u79FB\u9664":"\u6DFB\u52A0"}\u8868\u60C5 ${r} \u2192 ${e} #${n}`),await(i.undo?gt.emojiRemove(s.client,a,n,r):gt.emojiAdd(s.client,a,n,r)),{data:{scope:e,id:n,emoji:r,added:!i.undo},pretty:()=>`${i.undo?"\u5DF2\u79FB\u9664":"\u5DF2\u6DFB\u52A0"} ${r} \u2192 ${e} #${n}`}})}),t.command("vote <itemId>").description("\u7ED9\u5E16\u5B50\u91CC\u7684\u6295\u7968\u9879\u6295\u7968\u3002--undo \u64A4\u7968\uFF1B\u7528 post show \u67E5\u770B vote.items \u62FF itemId\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").option("--undo","\u64A4\u9500\u6295\u7968").action(async(e,n,r)=>{await _(r,async i=>(dt(i,`${n.undo?"\u64A4\u9500\u6295\u7968":"\u6295\u7968"} \u9009\u9879 #${e}`),await(n.undo?gt.unvote(i.client,e):gt.vote(i.client,e)),{data:{item_id:e,voted:!n.undo},pretty:()=>`${n.undo?"\u5DF2\u64A4\u7968":"\u5DF2\u6295\u7968"} \u9009\u9879 #${e}`}))}),t.command("subscribe <productIdOrSlug>").description("\u8BA2\u9605\u4EA7\u54C1\u53D1\u5E03\u63D0\u9192\uFF08\u5F00\u5173\u8BED\u4E49\uFF09\u3002\u975E\u4EA4\u4E92\u73AF\u5883\u9700 --yes").action(async(e,n,r)=>{await _(r,async i=>(dt(i,`\u5207\u6362\u4EA7\u54C1 ${e} \u7684\u8BA2\u9605\u72B6\u6001`),await G.subscribe(i.client,await Ss(i,e)),{data:{product:e,toggled:!0},pretty:()=>`\u5DF2\u5207\u6362\u4EA7\u54C1 ${e} \u7684\u8BA2\u9605\u72B6\u6001`}))})}function gl(t,e,n,r){return`${t}/api/v2/products/${encodeURIComponent(e)}/badge?style=${n}&dark=${r}`}function yl(t,e){let n=new URLSearchParams({tab:"review",utm_source:"product-badge",utm_content:"review"});return`${t}/products/${encodeURIComponent(e)}?${n.toString()}`}function ai(t){return t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function wl(t,e,n){let r=[],i=0,o=100;for(;r.length<n;){let a=(await G.reviews(t.client,e,{skip:i,limit:o,order_by:"create_at"})||{}).items||[];if(r.push(...a),a.length<o)break;i+=o}return r.slice(0,n)}async function As(t,e,n){if(!t.opts.yes){if(!Lt())throw Ye(e);if(V(`
120
139
  ${n}
121
- `,e.opts),!await pn(`\u786E\u8BA4${t}\uFF1F`))throw new v({type:"confirmation_required",message:"\u5DF2\u53D6\u6D88"})}}function To(e){let t=Wt(e,"product","\u4EA7\u54C1\u56FE\u9274");t.command("mine").description("\u6211\u63D0\u4EA4\u7684\u4EA7\u54C1 + \u6211\u662F\u6210\u5458\u7684\u4EA7\u54C1").action(async(n,r)=>{await _(r,async i=>{let o=await ce.me(i.client),s=await ce.mySubmits(i.client,{skip:0,limit:100})||{},a=await ce.memberProducts(i.client,String(o.id),{skip:0,limit:100}).catch(()=>({}))||{};return{data:{submitted:s.items||[],member:a.items||[]},pretty:l=>[`\u6211\u63D0\u4EA4\u7684\u4EA7\u54C1\uFF08${l.submitted.length}\uFF09\uFF1A`,...l.submitted.length?l.submitted.map(u=>xe(u,i.siteUrl)+`
122
- \u72B6\u6001\uFF1A${C(u.status)}`):[" \uFF08\u65E0\uFF09"],"",`\u6211\u662F\u6210\u5458\u7684\u4EA7\u54C1\uFF08${l.member.length}\uFF09\uFF1A`,...l.member.length?l.member.map(u=>xe(u,i.siteUrl)):[" \uFF08\u65E0\uFF09"]].join(`
123
- `)}})}),t.command("badge <idOrSlug>").description("\u751F\u6210\u53EF\u8D34\u8FDB GitHub README / \u5B98\u7F51\u7684\u89C2\u7339\u8BC4\u5206\u5FBD\u7AE0\u4EE3\u7801").option("--theme <theme>","light | dark","light").option("--style <n>","\u6837\u5F0F 0 \u6216 1","0").option("--as <format>","md | html | url","md").action(async(n,r,i)=>{await _(i,async o=>{let s=await H.show(o.client,n),a=String(s.slug||s.id),d=r.theme==="dark",l=yt(r.style,0,0,1)??0,u=ku(o.siteUrl,a,l,d),p=bu(o.siteUrl,a),c=`${C(s.name)} \u89C2\u7339\u5FBD\u7AE0`,m=`<a href="${$r(p)}" target="_blank" rel="noopener"><img src="${$r(u)}" alt="${$r(c)}" width="360" style="display:block;width:360px;max-width:100%;" /></a>`,y=`[![${c}](${u})](${p})`;return{data:{product:{id:s.id,name:s.name,slug:a},theme:d?"dark":"light",style:l,image_url:u,link:p,markdown:y,html:m},pretty:x=>r.as==="html"?x.html:r.as==="url"?x.image_url:x.markdown}})}),t.command("launch <idOrSlug>").description("\u7ED9\u81EA\u5DF1\u7684\u4EA7\u54C1\u53D1\u5E03\u4E00\u6761\u66F4\u65B0\u65E5\u5FD7\uFF08title + Markdown \u6B63\u6587\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").requiredOption("--title <title>","\u66F4\u65B0\u6807\u9898").option("--md <file>","Markdown \u6587\u4EF6").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").action(async(n,r,i)=>{await _(i,async o=>{await o.client.accessToken(!0);let s=await H.show(o.client,n),a=r.text??(r.md?await(await import("node:fs/promises")).readFile(r.md,"utf8"):"");if(!a.trim())throw L("\u9700\u8981 --md \u6216 --text \u63D0\u4F9B\u66F4\u65B0\u5185\u5BB9");let{doc:d,warnings:l}=We(a,"launch");if(Je(d)===0)throw L("\u66F4\u65B0\u5185\u5BB9\u4E3A\u7A7A");return await Eo(o,`\u4E3A ${C(s.name)} \u53D1\u5E03\u66F4\u65B0`,`\u6807\u9898\uFF1A${r.title}
124
- \u5185\u5BB9\uFF1A${X(a,200)}`),{data:{id:(await H.createLaunch(o.client,Number(s.id),{title:r.title,description:d}))?.id,product_id:s.id,warnings:l},pretty:p=>`\u5DF2\u53D1\u5E03\u66F4\u65B0 #${C(p.id)} \u2192 ${o.siteUrl}/products/${C(s.slug)}`}})}),t.command("update <idOrSlug>").description("\u66F4\u65B0\u81EA\u5DF1\u4EA7\u54C1\u7684\u57FA\u7840\u8D44\u6599\uFF08\u53EA\u6539\u4F20\u4E86\u7684\u5B57\u6BB5\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--name <name>","\u4EA7\u54C1\u540D").option("--slogan <slogan>","\u4E00\u53E5\u8BDD\u4ECB\u7ECD").option("--organization <org>","\u6240\u5C5E\u7EC4\u7EC7").option("--description-md <file>","\u7528 Markdown \u6587\u4EF6\u66FF\u6362\u4EA7\u54C1\u4ECB\u7ECD").action(async(n,r,i)=>{await _(i,async o=>{await o.client.accessToken(!0);let s=await H.show(o.client,n),a={id:Number(s.id)};if(r.name&&(a.name=r.name),r.slogan&&(a.slogan=r.slogan),r.organization&&(a.organization=r.organization),r.descriptionMd){let u=await(await import("node:fs/promises")).readFile(r.descriptionMd,"utf8");a.description=We(u,"post").doc}if(Object.keys(a).length===1)throw L("\u81F3\u5C11\u4F20\u4E00\u4E2A\u8981\u4FEE\u6539\u7684\u5B57\u6BB5");let d=Object.entries(a).filter(([u])=>u!=="id").map(([u,p])=>`${u}: ${u==="description"?"(Markdown \u6B63\u6587)":X(String(p),80)}`).join(`
125
- `);return await Eo(o,`\u66F4\u65B0\u4EA7\u54C1 ${C(s.name)}`,d),{data:await H.update(o.client,a)??a,pretty:()=>`\u5DF2\u66F4\u65B0\u4EA7\u54C1 #${C(s.id)}\uFF1A
126
- ${d}`}})}),t.command("stats <idOrSlug>").description("\u4EA7\u54C1\u53E3\u7891\u7EDF\u8BA1\uFF1A\u8BC4\u5206\u3001\u63A8\u8350\u6BD4\u3001\u6309\u5468\u8D8B\u52BF\u3001\u6700\u8FD1\u7339\u8BC4\uFF08\u5BA2\u6237\u7AEF\u805A\u5408\uFF0C\u6700\u591A\u62C9 1000 \u6761\uFF09").option("--weeks <n>","\u8D8B\u52BF\u56DE\u770B\u5468\u6570","12").option("--max <n>","\u6700\u591A\u62C9\u53D6\u7684\u7339\u8BC4\u6570","1000").action(async(n,r,i)=>{await _(i,async o=>{let s=await H.show(o.client,n),a=s.stats||{},d=await xu(o,String(s.id),yt(r.max,1e3,1,5e3)),l=yt(r.weeks,12,1,104),u=Date.now(),p=168*3600*1e3,c=[];for(let b=l-1;b>=0;b--){let $=u-(b+1)*p;c.push({week_start:new Date($).toISOString().slice(0,10),total:0,good:0,bad:0})}let m=0,y=0,g=0,x=0;for(let b of d){b.vote_value===1?m+=1:b.vote_value===2&&(y+=1);let $=b.stats||{};g+=Number($.reply_subtree_size??$.reply_count??0)||0,x+=Number($.upvotes??0)||0;let R=new Date(String(b.create_at)).getTime();if(Number.isFinite(R)){let k=l-1-Math.floor((u-R)/p);k>=0&&k<l&&(c[k].total+=1,b.vote_value===1?c[k].good+=1:b.vote_value===2&&(c[k].bad+=1))}}let S=d.slice(0,5).map(b=>({id:b.id,vote:b.vote_value===1?"good":b.vote_value===2?"bad":"none",user:b.user?.nickname,create_at:b.create_at,excerpt:X($e(b.content).text,120),url:`${o.siteUrl}/reply/${C(b.id)}`}));return{data:{product:{id:s.id,name:s.name,slug:s.slug,score:a.score??null,public_score:typeof a.score=="number"},totals:{reviews:d.length,reviews_reported:a.review_count,good:m,bad:y,good_ratio:d.length?Number((m/d.length).toFixed(3)):null,replies:g,upvotes:x,stars:a.stars,posts:a.post_count},weekly:c,latest:S,note:"\u8BC4\u5206\u516C\u5F00\u95E8\u69DB\uFF1A\u7339\u8BC4\u6570\u8FBE\u5230 9 \u6761\u540E\u624D\u663E\u793A\u8BC4\u5206"},pretty:b=>[`${C(b.product.name)}\uFF08#${C(b.product.id)}\uFF09 \u8BC4\u5206 ${wn(b.product.score)}`,`\u7339\u8BC4 ${J(b.totals.reviews)} \u6761\uFF08\u63A8\u8350 ${b.totals.good} / \u4E0D\u63A8\u8350 ${b.totals.bad}\uFF0C\u63A8\u8350\u6BD4 ${b.totals.good_ratio===null?"-":Math.round(b.totals.good_ratio*100)+"%"}\uFF09\xB7 \u56DE\u590D ${J(b.totals.replies)} \xB7 \u83B7\u8D5E ${J(b.totals.upvotes)} \xB7 \u6536\u85CF ${J(b.totals.stars)}`,"",`\u8FD1 ${l} \u5468\u8D8B\u52BF\uFF08\u5468\u8D77\u59CB / \u603B / \u63A8\u8350 / \u4E0D\u63A8\u8350\uFF09\uFF1A`,...b.weekly.map($=>` ${$.week_start} ${String($.total).padStart(3)} ${String($.good).padStart(3)} ${String($.bad).padStart(3)} ${"\u2588".repeat(Math.min(40,$.total))}`),"","\u6700\u8FD1\u7339\u8BC4\uFF1A",...b.latest.map($=>` #${C($.id)} ${$.vote==="good"?"\u{1F44D}":$.vote==="bad"?"\u{1F44E}":"\u2014"} ${C($.user)} \xB7 ${se($.create_at)}
127
- ${$.excerpt}
128
- ${$.url}`),"",b.note].join(`
129
- `)}})})}import Ke from"node:fs";import Ct from"node:path";function Ar(){return qt("skills")}var Cu=["post create","review create","reply","feedback","product launch","product update","like","favorite","star","follow","react","vote","subscribe","notify read"],_u=["auth login","auth logout","profile add","profile remove","profile use","skills install"];function Su(e){return{flags:e.flags,description:e.description,takes_value:e.required||e.optional||void 0,mandatory:e.mandatory||void 0,default:e.defaultValue}}function $o(e,t=""){let n=t?`${t} ${e.name()}`:e.name()==="watcha"?"":e.name(),r=e.registeredArguments.map(d=>({name:d.name(),required:d.required,variadic:d.variadic,description:d.description||void 0})),i=e.options.filter(d=>!d.hidden).map(Su),o=e.commands.filter(d=>!d._hidden).map(d=>$o(d,n)),s=Cu.includes(n),a=_u.includes(n);return{name:e.name(),path:n||void 0,description:e.description()||void 0,usage:e.usage(),mutating:s||a||void 0,requires_yes:s||void 0,arguments:r.length?r:void 0,options:i.length?i:void 0,subcommands:o.length?o:void 0}}function Ao(e){e.command("schema").description("\u8F93\u51FA\u5168\u90E8\u547D\u4EE4\u3001\u53C2\u6570\u3001\u8F93\u51FA\u5951\u7EA6\u4E0E\u9000\u51FA\u7801\uFF08\u7ED9 agent \u4E00\u6B21\u6027\u8BFB\u53D6\uFF0C\u7701\u53BB\u9010\u6761 --help\uFF09").action(async(n,r)=>{await _(r,async()=>{let i=$o(e);return{data:{name:"watcha",version:gt,schema_version:2,output_contract:{stdout_success:'{ "ok": true, "data": <any>, "meta"?: {...} }',stderr_failure:'{ "ok": false, "error": { "type", "code"?, "status"?, "message", "hint"?, "details"? } }',success_rule:"\u53EA\u770B\u9000\u51FA\u7801 0 / ok==true\uFF0C\u4E0D\u8981\u89E3\u6790 data \u5224\u65AD\u6210\u8D25\uFF1B\u552F\u4E00\u4F8B\u5916\u662F auth status\uFF1A\u5B83\u4EE5\u9000\u51FA\u7801 0 \u62A5\u544A\u72B6\u6001\uFF0C\u662F\u5426\u767B\u5F55\u770B data.logged_in",formats:["json (\u975E TTY \u9ED8\u8BA4)","pretty (TTY \u9ED8\u8BA4)","ndjson","table"],human_formats_note:"pretty / table \u662F\u7ED9\u4EBA\u770B\u7684\uFF1A\u9519\u8BEF\u4E5F\u662F\u4EBA\u8BDD\u6587\u672C\u800C\u4E0D\u662F JSON\u3002agent \u8BF7\u7528 json\uFF08\u975E TTY \u9ED8\u8BA4\uFF09\u6216\u663E\u5F0F --json",dry_run:'--dry-run \u4E0B\u5199\u547D\u4EE4\u4E0D\u53D1\u8BF7\u6C42\uFF0Cstdout \u8F93\u51FA { "ok": true, "data": { "dry_run": true, "request": { method, url, headers, body } } }\uFF0CAuthorization \u5DF2\u8131\u654F',write_commands:"\u6807\u6CE8 requires_yes \u7684\u547D\u4EE4\u4F1A\u6539\u670D\u52A1\u7AEF\u72B6\u6001\uFF1A\u975E\u4EA4\u4E92\u73AF\u5883\u5FC5\u987B\u663E\u5F0F --yes\uFF0C\u5426\u5219\u9000\u51FA\u7801 4 confirmation_required\uFF1Bagent \u5FC5\u987B\u5148\u628A\u5C06\u8981\u53D1\u9001\u7684\u5185\u5BB9\u7ED9\u7528\u6237\u770B\u5E76\u83B7\u5F97\u540C\u610F\u3002\u6807\u6CE8 mutating \u800C\u65E0 requires_yes \u7684\u53EA\u6539\u672C\u673A\u72B6\u6001",pagination:"\u5217\u8868\u547D\u4EE4\u7528 --limit(1-100) --skip / --page\uFF1B\u7FFB\u9875\u53EA\u770B meta.has_more\uFF08\u540E\u7AEF\u591A\u6570\u7AEF\u70B9\u4E0D\u8FD4\u56DE total\uFF0C\u6709\u624D\u51FA\u73B0\uFF09\u3002has_more \u662F\u6EE1\u9875\u5373 true \u7684\u4E50\u89C2\u4F30\u8BA1\uFF0C\u6700\u540E\u4E00\u9875\u53EF\u80FD\u591A\u7FFB\u4E00\u6B21\u7A7A\u9875",global_options_note:"global_options \u91CC\u7684\u9009\u9879\u53EF\u4EE5\u653E\u5728\u4EFB\u610F\u5B50\u547D\u4EE4\u4E4B\u540E\uFF0C\u5982 watcha product show claude-code --json"},global_options:i.options,exit_codes:Te,error_types:["auth","forbidden","validation","not_found","rate_limited","captcha_required","confirmation_required","network","server","api","stream","internal"],environment:{WATCHA_REFRESH_TOKEN:"\u7528\u6D4F\u89C8\u5668\u767B\u5F55\u6001\u7684 refresh token \u76F4\u63A5\u8BA4\u8BC1\uFF08\u6700\u9AD8\u4F18\u5148\u7EA7\uFF0C\u4E0D\u843D\u76D8\uFF09",WATCHA_ACCESS_TOKEN:"\u53EF\u9009\uFF0C\u914D\u5408 WATCHA_REFRESH_TOKEN",WATCHA_PROFILE:"\u9009\u62E9 profile",WATCHA_BASE_URL:"\u8986\u76D6 API \u57FA\u5740\uFF08\u9ED8\u8BA4 https://watcha.cn/api/v2\uFF09",WATCHA_FORMAT:"\u9ED8\u8BA4\u8F93\u51FA\u683C\u5F0F\uFF1Ajson | pretty | ndjson | table",WATCHA_CONFIG_DIR:"\u914D\u7F6E\u76EE\u5F55\uFF08\u9ED8\u8BA4 $XDG_CONFIG_HOME/watcha\uFF0C\u5426\u5219 ~/.config/watcha\uFF09\uFF1B\u663E\u5F0F\u6307\u5B9A\u65F6\u94A5\u5319\u4E32\u6761\u76EE\u4E5F\u6309\u76EE\u5F55\u9694\u79BB\uFF0C\u4E0D\u4F1A\u62FF\u5230\u9ED8\u8BA4\u76EE\u5F55\u7684\u767B\u5F55\u6001",WATCHA_CREDENTIALS_BACKEND:"file \u8868\u793A\u4E0D\u4F7F\u7528\u7CFB\u7EDF\u94A5\u5319\u4E32\uFF0C\u51ED\u8BC1\u5B58\u914D\u7F6E\u76EE\u5F55\u4E0B 0600 \u6587\u4EF6",WATCHA_NO_INPUT:"\u8BBE\u4E3A 1 \u5219\u6C38\u4E0D\u4EA4\u4E92\u63D0\u95EE",WATCHA_DEBUG:"\u6253\u5370\u6BCF\u4E2A\u8BF7\u6C42\u7684\u65B9\u6CD5\u4E0E URL \u5230 stderr",WATCHA_WATCH:"ask \u662F\u5426\u628A\u5B9E\u65F6\u89C6\u56FE\u5F00\u5230\u65B0\u7EC8\u7AEF\u7A97\u53E3\uFF1A1 \u5F3A\u5236\u5F00 / 0 \u5173\uFF1B\u4E0D\u8BBE\u5219\u5728\u88AB agent \u8C03\u7528\u4E14\u975E TTY \u65F6\u81EA\u52A8\u5F00\uFF08CI \u4E0B\u4E0D\u5F00\uFF0C30 \u79D2\u5185\u53EA\u5F00\u4E00\u6B21\uFF09",WATCHA_IMAGE_PROTOCOL:"\u5F3A\u5236\u7EC8\u7AEF\u56FE\u7247\u534F\u8BAE\uFF1Aiterm2 | kitty | none\uFF08\u4EC5 TTY \u4E0B\u6709\u610F\u4E49\uFF09",CI:"\u975E\u7A7A\u4E14\u4E0D\u4E3A 0/false \u65F6\u89C6\u4E3A CI\uFF1Aask \u4E0D\u81EA\u52A8\u5F00\u7A97\uFF0C\u4E5F\u4E0D\u4F1A\u4EA4\u4E92\u63D0\u95EE"},agent_detection:"CLAUDECODE / CLAUDE_CODE_CHILD_SESSION / CODEX_SANDBOX / CURSOR_AGENT / GEMINI_CLI / CLINE_ACTIVE / AGENT=<name> \u4EFB\u4E00\u5B58\u5728\u5373\u89C6\u4E3A\u88AB agent \u8C03\u7528",commands:i.subcommands}}})}),e.command("api <method> <path>").description("\u9003\u751F\u8231\uFF1A\u76F4\u63A5\u8C03 /api/v2 \u4E0B\u4EFB\u610F\u7AEF\u70B9\uFF0C\u5982 watcha api GET /products --query limit=3").option("--query <kv...>","query \u53C2\u6570\uFF0C\u5F62\u5982 key=value").option("--data <json>","JSON \u8BF7\u6C42\u4F53\uFF08- \u8868\u793A\u4ECE stdin \u8BFB\uFF09").option("--no-auth","\u4E0D\u643A\u5E26\u767B\u5F55\u6001").action(async(n,r,i,o)=>{await _(o,async s=>{let a=n.toUpperCase();if(!["GET","POST","PUT","DELETE","PATCH"].includes(a))throw L("method \u53EA\u80FD\u662F GET/POST/PUT/DELETE/PATCH");let d={};for(let p of i.query||[]){let c=p.indexOf("=");if(c<=0)throw L(`--query \u9700\u8981 key=value \u5F62\u5F0F\uFF0C\u6536\u5230 "${p}"`);d[p.slice(0,c)]=p.slice(c+1)}let l;if(i.data!==void 0){let p=i.data;if(p==="-"){let c=[];for await(let m of process.stdin)c.push(Buffer.isBuffer(m)?m:Buffer.from(m));p=Buffer.concat(c).toString("utf8")}try{l=JSON.parse(p)}catch{throw L("--data \u4E0D\u662F\u5408\u6CD5 JSON")}}return{data:await s.client.request(a,r,{query:d,body:l,auth:i.auth===!1?"none":"optional"})}})});let t=e.command("skills").description("\u968F CLI \u53D1\u5E03\u7684 Agent Skills\uFF08SKILL.md\uFF09");t.command("list").description("\u5217\u51FA\u5185\u7F6E skill").action(async(n,r)=>{await _(r,async()=>{let i=Ar();return{data:(Ke.existsSync(i)?Ke.readdirSync(i,{withFileTypes:!0}).filter(a=>a.isDirectory()):[]).map(a=>({name:a.name,path:Ct.join(i,a.name,"SKILL.md")})),pretty:a=>a.length?a.map(d=>`${d.name} ${d.path}`).join(`
130
- `):`\uFF08\u672A\u627E\u5230 skills \u76EE\u5F55\uFF1A${i}\uFF09`}})}),t.command("read [name]").description("\u6253\u5370 skill \u6B63\u6587\uFF08\u9ED8\u8BA4 watcha\uFF09").action(async(n,r,i)=>{await _(i,async o=>{let s=Ct.join(Ar(),n||"watcha","SKILL.md");if(!Ke.existsSync(s))throw L(`\u627E\u4E0D\u5230 skill\uFF1A${s}`);let a=Ke.readFileSync(s,"utf8");if(o.format==="pretty"||o.format==="table"){process.stdout.write(a.replace(/\n?$/,`
131
- `));return}return{data:{name:n||"watcha",path:s,content:a}}})}),t.command("install").description("\u628A\u5185\u7F6E skill \u88C5\u5230 ~/.claude/skills\uFF08Claude Code\uFF09\u4E0E ~/.agents/skills\uFF08Codex / Cursor / OpenClaw / Gemini CLI \u5171\u7528\u7684\u7528\u6237\u7EA7\u76EE\u5F55\uFF09\uFF1B--project \u6539\u88C5\u5230\u5F53\u524D\u76EE\u5F55\u7684 .claude/skills \u4E0E .agents/skills").option("--project","\u88C5\u5230\u5F53\u524D\u9879\u76EE\u76EE\u5F55\uFF08./.claude/skills \u4E0E ./.agents/skills\uFF09\u800C\u4E0D\u662F\u7528\u6237\u76EE\u5F55").option("--dir <dir...>","\u81EA\u5B9A\u4E49\u76EE\u6807\u76EE\u5F55\uFF08\u53EF\u591A\u4E2A\uFF09").action(async(n,r)=>{await _(r,async()=>{let i=Ct.join(Ar(),"watcha");if(!Ke.existsSync(i))throw L(`\u627E\u4E0D\u5230\u5185\u7F6E skill\uFF1A${i}`);let o;if(n.dir?.length)o=n.dir;else{let a=n.project?process.cwd():process.env.HOME||process.env.USERPROFILE||"";if(!a)throw L("\u627E\u4E0D\u5230\u7528\u6237\u76EE\u5F55\uFF08HOME / USERPROFILE \u90FD\u4E3A\u7A7A\uFF09","\u7528 --dir <\u76EE\u5F55> \u6307\u5B9A\u5B89\u88C5\u4F4D\u7F6E\uFF0C\u6216\u52A0 --project \u88C5\u5230\u5F53\u524D\u76EE\u5F55");o=[Ct.join(a,".claude","skills"),Ct.join(a,".agents","skills")]}let s=[];for(let a of o){let d=Ct.join(a,"watcha"),l=Ke.existsSync(d);Ke.mkdirSync(d,{recursive:!0}),Ke.cpSync(i,d,{recursive:!0}),s.push({path:d,action:l?"overwritten":"created"})}return{data:{installed:s},pretty:a=>`\u5DF2\u5B89\u88C5\u5230\uFF1A
132
- ${a.installed.map(d=>` ${d.path}${d.action==="overwritten"?"\uFF08\u8986\u76D6\u4E86\u5DF2\u6709\u6587\u4EF6\uFF09":""}`).join(`
133
- `)}`}})}),e.command("config").description("\u663E\u793A\u914D\u7F6E\u6587\u4EF6\u4F4D\u7F6E\u4E0E\u5F53\u524D\u751F\u6548\u7684\u914D\u7F6E").action(async(n,r)=>{await _(r,async i=>({data:{config_dir:be(),config_file:Ot(),profile:i.profile,version:gt},pretty:s=>`\u914D\u7F6E\u76EE\u5F55\uFF1A${s.config_dir}
140
+ `,t.opts),!await _n(`\u786E\u8BA4${e}\uFF1F`))throw new A({type:"confirmation_required",message:"\u5DF2\u53D6\u6D88"})}}function Os(t){let e=Gt(t,"product","\u4EA7\u54C1\u56FE\u9274");e.command("mine").description("\u6211\u63D0\u4EA4\u7684\u4EA7\u54C1 + \u6211\u662F\u6210\u5458\u7684\u4EA7\u54C1").action(async(n,r)=>{await _(r,async i=>{let o=await lt.me(i.client),s=await lt.mySubmits(i.client,{skip:0,limit:100})||{},a=await lt.memberProducts(i.client,String(o.id),{skip:0,limit:100}).catch(()=>({}))||{};return{data:{submitted:s.items||[],member:a.items||[]},pretty:l=>[`\u6211\u63D0\u4EA4\u7684\u4EA7\u54C1\uFF08${l.submitted.length}\uFF09\uFF1A`,...l.submitted.length?l.submitted.map(c=>Tt(c,i.siteUrl)+`
141
+ \u72B6\u6001\uFF1A${w(c.status)}`):[" \uFF08\u65E0\uFF09"],"",`\u6211\u662F\u6210\u5458\u7684\u4EA7\u54C1\uFF08${l.member.length}\uFF09\uFF1A`,...l.member.length?l.member.map(c=>Tt(c,i.siteUrl)):[" \uFF08\u65E0\uFF09"]].join(`
142
+ `)}})}),e.command("badge <idOrSlug>").description("\u751F\u6210\u53EF\u8D34\u8FDB GitHub README / \u5B98\u7F51\u7684\u89C2\u7339\u8BC4\u5206\u5FBD\u7AE0\u4EE3\u7801").option("--theme <theme>","light | dark","light").option("--style <n>","\u6837\u5F0F 0 \u6216 1","0").option("--as <format>","md | html | url","md").action(async(n,r,i)=>{await _(i,async o=>{let s=await G.show(o.client,n),a=String(s.slug||s.id),u=r.theme==="dark",l=Oe(r.style,0,0,1)??0,c=gl(o.siteUrl,a,l,u),d=yl(o.siteUrl,a),p=`${w(s.name)} \u89C2\u7339\u5FBD\u7AE0`,m=`<a href="${ai(d)}" target="_blank" rel="noopener"><img src="${ai(c)}" alt="${ai(p)}" width="360" style="display:block;width:360px;max-width:100%;" /></a>`,g=`[![${p}](${c})](${d})`;return{data:{product:{id:s.id,name:s.name,slug:a},theme:u?"dark":"light",style:l,image_url:c,link:d,markdown:g,html:m},pretty:$=>r.as==="html"?$.html:r.as==="url"?$.image_url:$.markdown}})}),e.command("launch <idOrSlug>").description("\u7ED9\u81EA\u5DF1\u7684\u4EA7\u54C1\u53D1\u5E03\u4E00\u6761\u66F4\u65B0\u65E5\u5FD7\uFF08title + Markdown \u6B63\u6587\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").requiredOption("--title <title>","\u66F4\u65B0\u6807\u9898").option("--md <file>","Markdown \u6587\u4EF6").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").action(async(n,r,i)=>{await _(i,async o=>{await o.client.accessToken(!0);let s=await G.show(o.client,n),a=r.text??(r.md?await(await import("node:fs/promises")).readFile(r.md,"utf8"):"");if(!a.trim())throw b("\u9700\u8981 --md \u6216 --text \u63D0\u4F9B\u66F4\u65B0\u5185\u5BB9");let{doc:u,warnings:l}=Rt(a,"launch");if(te(u)===0)throw b("\u66F4\u65B0\u5185\u5BB9\u4E3A\u7A7A");return await As(o,`\u4E3A ${w(s.name)} \u53D1\u5E03\u66F4\u65B0`,`\u6807\u9898\uFF1A${r.title}
143
+ \u5185\u5BB9\uFF1A${F(a,200)}`),{data:{id:(await G.createLaunch(o.client,Number(s.id),{title:r.title,description:u}))?.id,product_id:s.id,warnings:l},pretty:d=>`\u5DF2\u53D1\u5E03\u66F4\u65B0 #${w(d.id)} \u2192 ${o.siteUrl}/products/${w(s.slug)}`}})}),e.command("update <idOrSlug>").description("\u66F4\u65B0\u81EA\u5DF1\u4EA7\u54C1\u7684\u57FA\u7840\u8D44\u6599\uFF08\u53EA\u6539\u4F20\u4E86\u7684\u5B57\u6BB5\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--name <name>","\u4EA7\u54C1\u540D").option("--slogan <slogan>","\u4E00\u53E5\u8BDD\u4ECB\u7ECD").option("--organization <org>","\u6240\u5C5E\u7EC4\u7EC7").option("--description-md <file>","\u7528 Markdown \u6587\u4EF6\u66FF\u6362\u4EA7\u54C1\u4ECB\u7ECD").action(async(n,r,i)=>{await _(i,async o=>{await o.client.accessToken(!0);let s=await G.show(o.client,n),a={id:Number(s.id)};if(r.name&&(a.name=r.name),r.slogan&&(a.slogan=r.slogan),r.organization&&(a.organization=r.organization),r.descriptionMd){let c=await(await import("node:fs/promises")).readFile(r.descriptionMd,"utf8");a.description=Rt(c,"post").doc}if(Object.keys(a).length===1)throw b("\u81F3\u5C11\u4F20\u4E00\u4E2A\u8981\u4FEE\u6539\u7684\u5B57\u6BB5");let u=Object.entries(a).filter(([c])=>c!=="id").map(([c,d])=>`${c}: ${c==="description"?"(Markdown \u6B63\u6587)":F(String(d),80)}`).join(`
144
+ `);return await As(o,`\u66F4\u65B0\u4EA7\u54C1 ${w(s.name)}`,u),{data:await G.update(o.client,a)??a,pretty:()=>`\u5DF2\u66F4\u65B0\u4EA7\u54C1 #${w(s.id)}\uFF1A
145
+ ${u}`}})}),e.command("stats <idOrSlug>").description("\u4EA7\u54C1\u53E3\u7891\u7EDF\u8BA1\uFF1A\u8BC4\u5206\u3001\u63A8\u8350\u6BD4\u3001\u6309\u5468\u8D8B\u52BF\u3001\u6700\u8FD1\u7339\u8BC4\uFF08\u5BA2\u6237\u7AEF\u805A\u5408\uFF0C\u6700\u591A\u62C9 1000 \u6761\uFF09").option("--weeks <n>","\u8D8B\u52BF\u56DE\u770B\u5468\u6570","12").option("--max <n>","\u6700\u591A\u62C9\u53D6\u7684\u7339\u8BC4\u6570","1000").action(async(n,r,i)=>{await _(i,async o=>{let s=await G.show(o.client,n),a=s.stats||{},u=await wl(o,String(s.id),Oe(r.max,1e3,1,5e3)),l=Oe(r.weeks,12,1,104),c=Date.now(),d=168*3600*1e3,p=[];for(let C=l-1;C>=0;C--){let O=c-(C+1)*d;p.push({week_start:new Date(O).toISOString().slice(0,10),total:0,good:0,bad:0})}let m=0,g=0,y=0,$=0;for(let C of u){C.vote_value===1?m+=1:C.vote_value===2&&(g+=1);let O=C.stats||{};y+=Number(O.reply_subtree_size??O.reply_count??0)||0,$+=Number(O.upvotes??0)||0;let N=new Date(String(C.create_at)).getTime();if(Number.isFinite(N)){let x=l-1-Math.floor((c-N)/d);x>=0&&x<l&&(p[x].total+=1,C.vote_value===1?p[x].good+=1:C.vote_value===2&&(p[x].bad+=1))}}let v=u.slice(0,5).map(C=>({id:C.id,vote:C.vote_value===1?"good":C.vote_value===2?"bad":"none",user:C.user?.nickname,create_at:C.create_at,excerpt:F(Et(C.content).text,120),url:`${o.siteUrl}/reply/${w(C.id)}`}));return{data:{product:{id:s.id,name:s.name,slug:s.slug,score:a.score??null,public_score:typeof a.score=="number"},totals:{reviews:u.length,reviews_reported:a.review_count,good:m,bad:g,good_ratio:u.length?Number((m/u.length).toFixed(3)):null,replies:y,upvotes:$,stars:a.stars,posts:a.post_count},weekly:p,latest:v,note:"\u8BC4\u5206\u516C\u5F00\u95E8\u69DB\uFF1A\u7339\u8BC4\u6570\u8FBE\u5230 9 \u6761\u540E\u624D\u663E\u793A\u8BC4\u5206"},pretty:C=>[`${w(C.product.name)}\uFF08#${w(C.product.id)}\uFF09 \u8BC4\u5206 ${Nn(C.product.score)}`,`\u7339\u8BC4 ${K(C.totals.reviews)} \u6761\uFF08\u63A8\u8350 ${C.totals.good} / \u4E0D\u63A8\u8350 ${C.totals.bad}\uFF0C\u63A8\u8350\u6BD4 ${C.totals.good_ratio===null?"-":Math.round(C.totals.good_ratio*100)+"%"}\uFF09\xB7 \u56DE\u590D ${K(C.totals.replies)} \xB7 \u83B7\u8D5E ${K(C.totals.upvotes)} \xB7 \u6536\u85CF ${K(C.totals.stars)}`,"",`\u8FD1 ${l} \u5468\u8D8B\u52BF\uFF08\u5468\u8D77\u59CB / \u603B / \u63A8\u8350 / \u4E0D\u63A8\u8350\uFF09\uFF1A`,...C.weekly.map(O=>` ${O.week_start} ${String(O.total).padStart(3)} ${String(O.good).padStart(3)} ${String(O.bad).padStart(3)} ${"\u2588".repeat(Math.min(40,O.total))}`),"","\u6700\u8FD1\u7339\u8BC4\uFF1A",...C.latest.map(O=>` #${w(O.id)} ${O.vote==="good"?"\u{1F44D}":O.vote==="bad"?"\u{1F44E}":"\u2014"} ${w(O.user)} \xB7 ${mt(O.create_at)}
146
+ ${O.excerpt}
147
+ ${O.url}`),"",C.note].join(`
148
+ `)}})})}import ae from"node:fs";import De from"node:path";function ui(){return Qe("skills")}var kl=["post create","review create","reply","feedback","product launch","product update","like","favorite","star","follow","react","vote","subscribe","notify read","activity register","activity unregister","activity check-in","activity manage create","activity manage edit","activity manage cancel","activity manage review","activity manage invite","activity manage form-set","activity manage ticket","activity manage host","activity manage staff"],bl=["auth login","auth logout","profile add","profile remove","profile use","skills install","activity manage export"];function _l(t){return{flags:t.flags,description:t.description,takes_value:t.required||t.optional||void 0,mandatory:t.mandatory||void 0,default:t.defaultValue}}function Ps(t,e=""){let n=e?`${e} ${t.name()}`:t.name()==="watcha"?"":t.name(),r=t.registeredArguments.map(u=>({name:u.name(),required:u.required,variadic:u.variadic,description:u.description||void 0})),i=t.options.filter(u=>!u.hidden).map(_l),o=t.commands.filter(u=>!u._hidden).map(u=>Ps(u,n)),s=kl.includes(n),a=bl.includes(n);return{name:t.name(),path:n||void 0,description:t.description()||void 0,usage:t.usage(),mutating:s||a||void 0,requires_yes:s||void 0,arguments:r.length?r:void 0,options:i.length?i:void 0,subcommands:o.length?o:void 0}}function qs(t){t.command("__update-check",{hidden:!0}).description("\u5185\u90E8\uFF1A\u5237\u65B0\u7248\u672C\u68C0\u67E5\u7F13\u5B58").action(async()=>{await Wi()}),t.command("schema").description("\u8F93\u51FA\u5168\u90E8\u547D\u4EE4\u3001\u53C2\u6570\u3001\u8F93\u51FA\u5951\u7EA6\u4E0E\u9000\u51FA\u7801\uFF08\u7ED9 agent \u4E00\u6B21\u6027\u8BFB\u53D6\uFF0C\u7701\u53BB\u9010\u6761 --help\uFF09").action(async(n,r)=>{await _(r,async()=>{let i=Ps(t);return{data:{name:"watcha",version:he,schema_version:2,output_contract:{stdout_success:'{ "ok": true, "data": <any>, "meta"?: {...} }',stderr_failure:'{ "ok": false, "error": { "type", "code"?, "status"?, "message", "hint"?, "details"? } }',success_rule:"\u53EA\u770B\u9000\u51FA\u7801 0 / ok==true\uFF0C\u4E0D\u8981\u89E3\u6790 data \u5224\u65AD\u6210\u8D25\uFF1B\u552F\u4E00\u4F8B\u5916\u662F auth status\uFF1A\u5B83\u4EE5\u9000\u51FA\u7801 0 \u62A5\u544A\u72B6\u6001\uFF0C\u662F\u5426\u767B\u5F55\u770B data.logged_in",formats:["json (\u975E TTY \u9ED8\u8BA4)","pretty (TTY \u9ED8\u8BA4)","ndjson","table"],human_formats_note:"pretty / table \u662F\u7ED9\u4EBA\u770B\u7684\uFF1A\u9519\u8BEF\u4E5F\u662F\u4EBA\u8BDD\u6587\u672C\u800C\u4E0D\u662F JSON\u3002agent \u8BF7\u7528 json\uFF08\u975E TTY \u9ED8\u8BA4\uFF09\u6216\u663E\u5F0F --json",dry_run:'--dry-run \u4E0B\u5199\u547D\u4EE4\u4E0D\u53D1\u8BF7\u6C42\uFF0Cstdout \u8F93\u51FA { "ok": true, "data": { "dry_run": true, "request": { method, url, headers, body } } }\uFF0CAuthorization \u5DF2\u8131\u654F',write_commands:"\u6807\u6CE8 requires_yes \u7684\u547D\u4EE4\u4F1A\u6539\u670D\u52A1\u7AEF\u72B6\u6001\uFF1A\u975E\u4EA4\u4E92\u73AF\u5883\u5FC5\u987B\u663E\u5F0F --yes\uFF0C\u5426\u5219\u9000\u51FA\u7801 4 confirmation_required\uFF1Bagent \u5FC5\u987B\u5148\u628A\u5C06\u8981\u53D1\u9001\u7684\u5185\u5BB9\u7ED9\u7528\u6237\u770B\u5E76\u83B7\u5F97\u540C\u610F\u3002\u6807\u6CE8 mutating \u800C\u65E0 requires_yes \u7684\u53EA\u6539\u672C\u673A\u72B6\u6001",pagination:"\u5217\u8868\u547D\u4EE4\u7528 --limit(1-100) --skip / --page\uFF1B\u7FFB\u9875\u53EA\u770B meta.has_more\uFF08\u540E\u7AEF\u591A\u6570\u7AEF\u70B9\u4E0D\u8FD4\u56DE total\uFF0C\u6709\u624D\u51FA\u73B0\uFF09\u3002has_more \u662F\u6EE1\u9875\u5373 true \u7684\u4E50\u89C2\u4F30\u8BA1\uFF0C\u6700\u540E\u4E00\u9875\u53EF\u80FD\u591A\u7FFB\u4E00\u6B21\u7A7A\u9875",global_options_note:"global_options \u91CC\u7684\u9009\u9879\u53EF\u4EE5\u653E\u5728\u4EFB\u610F\u5B50\u547D\u4EE4\u4E4B\u540E\uFF0C\u5982 watcha product show claude-code --json",update_available:"\u88C5\u7684 CLI \u6709\u65B0\u7248\u672C\u65F6\uFF0C\u6210\u529F\u4FE1\u5C01\u4F1A\u591A\u4E00\u4E2A meta.update_available = { current, latest, upgrade }\u3002upgrade \u662F\u53EF\u4EE5\u76F4\u63A5\u8DD1\u7684\u5347\u7EA7\u547D\u4EE4\uFF0C\u4F46\u5B83\u6539\u7684\u662F\u7528\u6237\u673A\u5668\u7684\u5168\u5C40\u72B6\u6001\uFF1A\u5148\u544A\u8BC9\u7528\u6237\u6709\u65B0\u7248\u5E76\u53D6\u5F97\u540C\u610F\u518D\u6267\u884C\uFF0C\u4E00\u4E2A\u4F1A\u8BDD\u91CC\u8BF4\u4E00\u6B21\u5C31\u591F\u3002\u5347\u7EA7\u5B8C\u91CD\u8DD1 watcha skills install\uFF0C\u5426\u5219\u624B\u4E0A\u7684\u7528\u6CD5\u8BF4\u660E\u8FD8\u662F\u65E7\u7248\u7684"},global_options:i.options,exit_codes:It,error_types:["auth","forbidden","validation","not_found","rate_limited","captcha_required","confirmation_required","network","server","api","stream","internal"],environment:{WATCHA_REFRESH_TOKEN:"\u7528\u6D4F\u89C8\u5668\u767B\u5F55\u6001\u7684 refresh token \u76F4\u63A5\u8BA4\u8BC1\uFF08\u6700\u9AD8\u4F18\u5148\u7EA7\uFF0C\u4E0D\u843D\u76D8\uFF09",WATCHA_ACCESS_TOKEN:"\u53EF\u9009\uFF0C\u914D\u5408 WATCHA_REFRESH_TOKEN",WATCHA_PROFILE:"\u9009\u62E9 profile",WATCHA_BASE_URL:"\u8986\u76D6 API \u57FA\u5740\uFF08\u9ED8\u8BA4 https://watcha.cn/api/v2\uFF09",WATCHA_FORMAT:"\u9ED8\u8BA4\u8F93\u51FA\u683C\u5F0F\uFF1Ajson | pretty | ndjson | table",WATCHA_CONFIG_DIR:"\u914D\u7F6E\u76EE\u5F55\uFF08\u9ED8\u8BA4 $XDG_CONFIG_HOME/watcha\uFF0C\u5426\u5219 ~/.config/watcha\uFF09\uFF1B\u663E\u5F0F\u6307\u5B9A\u65F6\u94A5\u5319\u4E32\u6761\u76EE\u4E5F\u6309\u76EE\u5F55\u9694\u79BB\uFF0C\u4E0D\u4F1A\u62FF\u5230\u9ED8\u8BA4\u76EE\u5F55\u7684\u767B\u5F55\u6001",WATCHA_CREDENTIALS_BACKEND:"file \u8868\u793A\u4E0D\u4F7F\u7528\u7CFB\u7EDF\u94A5\u5319\u4E32\uFF0C\u51ED\u8BC1\u5B58\u914D\u7F6E\u76EE\u5F55\u4E0B 0600 \u6587\u4EF6",WATCHA_NO_INPUT:"\u8BBE\u4E3A 1 \u5219\u6C38\u4E0D\u4EA4\u4E92\u63D0\u95EE",WATCHA_NO_UPDATE_CHECK:"\u8BBE\u4E3A 1 \u5219\u5B8C\u5168\u4E0D\u505A\u7248\u672C\u68C0\u67E5\uFF08CI\u3001Codex \u7981\u7F51\u3001npx \u5B89\u88C5\u672C\u6765\u5C31\u4E0D\u67E5\uFF09",WATCHA_DEBUG:"\u6253\u5370\u6BCF\u4E2A\u8BF7\u6C42\u7684\u65B9\u6CD5\u4E0E URL \u5230 stderr",WATCHA_WATCH:"ask \u662F\u5426\u628A\u5B9E\u65F6\u89C6\u56FE\u5F00\u5230\u65B0\u7EC8\u7AEF\u7A97\u53E3\uFF1A1 \u5F3A\u5236\u5F00 / 0 \u5173\uFF1B\u4E0D\u8BBE\u5219\u5728\u88AB agent \u8C03\u7528\u4E14\u975E TTY \u65F6\u81EA\u52A8\u5F00\uFF08CI \u4E0B\u4E0D\u5F00\uFF0C30 \u79D2\u5185\u53EA\u5F00\u4E00\u6B21\uFF09",WATCHA_IMAGE_PROTOCOL:"\u5F3A\u5236\u7EC8\u7AEF\u56FE\u7247\u534F\u8BAE\uFF1Aiterm2 | kitty | none\uFF08\u4EC5 TTY \u4E0B\u6709\u610F\u4E49\uFF09",CI:"\u975E\u7A7A\u4E14\u4E0D\u4E3A 0/false \u65F6\u89C6\u4E3A CI\uFF1Aask \u4E0D\u81EA\u52A8\u5F00\u7A97\uFF0C\u4E5F\u4E0D\u4F1A\u4EA4\u4E92\u63D0\u95EE"},agent_detection:"CLAUDECODE / CLAUDE_CODE_CHILD_SESSION / CODEX_SANDBOX / CURSOR_AGENT / GEMINI_CLI / CLINE_ACTIVE / AGENT=<name> \u4EFB\u4E00\u5B58\u5728\u5373\u89C6\u4E3A\u88AB agent \u8C03\u7528",commands:i.subcommands}}})}),t.command("api <method> <path>").description("\u9003\u751F\u8231\uFF1A\u76F4\u63A5\u8C03 /api/v2 \u4E0B\u4EFB\u610F\u7AEF\u70B9\uFF0C\u5982 watcha api GET /products --query limit=3").option("--query <kv...>","query \u53C2\u6570\uFF0C\u5F62\u5982 key=value").option("--data <json>","JSON \u8BF7\u6C42\u4F53\uFF08- \u8868\u793A\u4ECE stdin \u8BFB\uFF09").option("--no-auth","\u4E0D\u643A\u5E26\u767B\u5F55\u6001").action(async(n,r,i,o)=>{await _(o,async s=>{let a=n.toUpperCase();if(!["GET","POST","PUT","DELETE","PATCH"].includes(a))throw b("method \u53EA\u80FD\u662F GET/POST/PUT/DELETE/PATCH");let u={};for(let d of i.query||[]){let p=d.indexOf("=");if(p<=0)throw b(`--query \u9700\u8981 key=value \u5F62\u5F0F\uFF0C\u6536\u5230 "${d}"`);u[d.slice(0,p)]=d.slice(p+1)}let l;if(i.data!==void 0){let d=i.data;if(d==="-"){let p=[];for await(let m of process.stdin)p.push(Buffer.isBuffer(m)?m:Buffer.from(m));d=Buffer.concat(p).toString("utf8")}try{l=JSON.parse(d)}catch{throw b("--data \u4E0D\u662F\u5408\u6CD5 JSON")}}return{data:await s.client.request(a,r,{query:u,body:l,auth:i.auth===!1?"none":"optional"})}})});let e=t.command("skills").description("\u968F CLI \u53D1\u5E03\u7684 Agent Skills\uFF08SKILL.md\uFF09");e.command("list").description("\u5217\u51FA\u5185\u7F6E skill").action(async(n,r)=>{await _(r,async()=>{let i=ui();return{data:(ae.existsSync(i)?ae.readdirSync(i,{withFileTypes:!0}).filter(a=>a.isDirectory()):[]).map(a=>({name:a.name,path:De.join(i,a.name,"SKILL.md")})),pretty:a=>a.length?a.map(u=>`${u.name} ${u.path}`).join(`
149
+ `):`\uFF08\u672A\u627E\u5230 skills \u76EE\u5F55\uFF1A${i}\uFF09`}})}),e.command("read [name]").description("\u6253\u5370 skill \u6B63\u6587\uFF08\u9ED8\u8BA4 watcha\uFF09").action(async(n,r,i)=>{await _(i,async o=>{let s=De.join(ui(),n||"watcha","SKILL.md");if(!ae.existsSync(s))throw b(`\u627E\u4E0D\u5230 skill\uFF1A${s}`);let a=ae.readFileSync(s,"utf8");if(o.format==="pretty"||o.format==="table"){process.stdout.write(a.replace(/\n?$/,`
150
+ `));return}return{data:{name:n||"watcha",path:s,content:a}}})}),e.command("install").description("\u628A\u5185\u7F6E skill \u88C5\u5230 ~/.claude/skills\uFF08Claude Code\uFF09\u4E0E ~/.agents/skills\uFF08Codex / Cursor / OpenClaw / Gemini CLI \u5171\u7528\u7684\u7528\u6237\u7EA7\u76EE\u5F55\uFF09\uFF1B--project \u6539\u88C5\u5230\u5F53\u524D\u76EE\u5F55\u7684 .claude/skills \u4E0E .agents/skills").option("--project","\u88C5\u5230\u5F53\u524D\u9879\u76EE\u76EE\u5F55\uFF08./.claude/skills \u4E0E ./.agents/skills\uFF09\u800C\u4E0D\u662F\u7528\u6237\u76EE\u5F55").option("--dir <dir...>","\u81EA\u5B9A\u4E49\u76EE\u6807\u76EE\u5F55\uFF08\u53EF\u591A\u4E2A\uFF09").action(async(n,r)=>{await _(r,async()=>{let i=De.join(ui(),"watcha");if(!ae.existsSync(i))throw b(`\u627E\u4E0D\u5230\u5185\u7F6E skill\uFF1A${i}`);let o;if(n.dir?.length)o=n.dir;else{let a=n.project?process.cwd():process.env.HOME||process.env.USERPROFILE||"";if(!a)throw b("\u627E\u4E0D\u5230\u7528\u6237\u76EE\u5F55\uFF08HOME / USERPROFILE \u90FD\u4E3A\u7A7A\uFF09","\u7528 --dir <\u76EE\u5F55> \u6307\u5B9A\u5B89\u88C5\u4F4D\u7F6E\uFF0C\u6216\u52A0 --project \u88C5\u5230\u5F53\u524D\u76EE\u5F55");o=[De.join(a,".claude","skills"),De.join(a,".agents","skills")]}let s=[];for(let a of o){let u=De.join(a,"watcha"),l=ae.existsSync(u);ae.mkdirSync(u,{recursive:!0}),ae.cpSync(i,u,{recursive:!0}),s.push({path:u,action:l?"overwritten":"created"})}return{data:{installed:s},pretty:a=>`\u5DF2\u5B89\u88C5\u5230\uFF1A
151
+ ${a.installed.map(u=>` ${u.path}${u.action==="overwritten"?"\uFF08\u8986\u76D6\u4E86\u5DF2\u6709\u6587\u4EF6\uFF09":""}`).join(`
152
+ `)}`}})}),t.command("config").description("\u663E\u793A\u914D\u7F6E\u6587\u4EF6\u4F4D\u7F6E\u4E0E\u5F53\u524D\u751F\u6548\u7684\u914D\u7F6E").action(async(n,r)=>{await _(r,async i=>({data:{config_dir:kt(),config_file:He(),profile:i.profile,version:he},pretty:s=>`\u914D\u7F6E\u76EE\u5F55\uFF1A${s.config_dir}
134
153
  profile\uFF1A${s.profile.name}
135
154
  API\uFF1A${s.profile.baseUrl}
136
155
  \u7AD9\u70B9\uFF1A${s.profile.siteUrl}
137
- \u7248\u672C\uFF1A${s.version}`}))})}import Nn from"node:fs/promises";import _t from"node:path";import Eu from"node:fs/promises";import vr from"node:path";var Tu={".jpg":"image/jpeg",".jpeg":"image/jpeg",".png":"image/png",".gif":"image/gif",".webp":"image/webp",".heic":"image/heic",".bmp":"image/bmp"},Or=20*1024*1024,$u=1024;function Pr(e){return Tu[vr.extname(e).toLowerCase()]||"application/octet-stream"}async function Ir(e,t){let n=vr.resolve(t),r;try{r=await Eu.readFile(n)}catch(s){throw new v({type:"validation",message:`\u8BFB\u4E0D\u5230\u56FE\u7247\u6587\u4EF6\uFF1A${t}`,cause:s})}if(r.byteLength<$u||r.byteLength>Or)throw new v({type:"validation",message:`\u56FE\u7247\u5927\u5C0F\u9700\u5728 1KB\u201320MB \u4E4B\u95F4\uFF1A${t} \u4E3A ${r.byteLength} \u5B57\u8282`});let i=vr.extname(n).toLowerCase()||".jpg",o=Pr(n);if(o==="application/octet-stream")throw new v({type:"validation",message:`\u4E0D\u652F\u6301\u7684\u56FE\u7247\u683C\u5F0F\uFF1A${i}`,hint:"\u652F\u6301 jpg/jpeg/png/gif/webp/heic/bmp"});return qr(e,r,i,o)}async function qr(e,t,n,r){let i=await e.request("GET","/infra/request-upload-image",{query:{postfix:n.toLowerCase(),safaricanbiteme:Math.random()},auth:"required"});if(!i?.upload_url||!i.upload_context)throw new v({type:"api",message:"\u4E0A\u4F20\u51ED\u8BC1\u54CD\u5E94\u7F3A\u5C11 upload_url / upload_context",details:i});if(i.upload_type&&i.upload_type!=="tos")throw new v({type:"api",message:`\u4E0D\u652F\u6301\u7684\u4E0A\u4F20\u7C7B\u578B\uFF1A${i.upload_type}`});let o=new FormData;for(let[d,l]of Object.entries(i.upload_context))l!=null&&o.append(d,typeof l=="string"?l:String(l));o.append("acl","public-read"),o.append("Content-Type",r),o.append("file",new Blob([new Uint8Array(t)],{type:r}),`image${n}`);let s;try{s=await fetch(i.upload_url,{method:"POST",body:o,signal:AbortSignal.timeout(12e4)})}catch(d){throw tt(d)}if(!s.ok){let d=await s.text().catch(()=>"");throw new v({type:"server",status:s.status,message:`\u56FE\u7247\u76F4\u4F20\u5931\u8D25 (HTTP ${s.status})`,details:d.slice(0,500)})}let a=i.upload_context.key;if(typeof a!="string"||!a)throw new v({type:"api",message:"\u4E0A\u4F20\u51ED\u8BC1\u7F3A\u5C11 key\uFF0C\u65E0\u6CD5\u62FC\u51FA\u56FE\u7247 URL",details:i.upload_context});return`${i.upload_url}${a}`}var Au="\uFF08\u672C\u6587\u7531 AI \u8F85\u52A9\u521B\u4F5C\uFF0C\u4F5C\u8005\u5DF2\u5BA1\u9605\u5E76\u5BF9\u5185\u5BB9\u8D1F\u8D23\uFF09",vo={0:"\u5F85\u5BA1\u6838",1:"\u5DF2\u516C\u5F00",2:"\u5DF2\u88AB\u6298\u53E0\uFF08\u672A\u901A\u8FC7\u5185\u5BB9\u5BA1\u6838\uFF09"},Oo=2*1024*1024;async function Yt(e,t,n={text:"--text",file:"--md"}){if(t!==void 0&&e!==void 0)throw L(`${n.text} \u4E0E ${n.file} \u53EA\u80FD\u4E8C\u9009\u4E00`,"\u540C\u65F6\u7ED9\u4E86\u4E24\u4E2A\u6B63\u6587\u6765\u6E90\uFF0C\u4E0D\u77E5\u9053\u8BE5\u7528\u54EA\u4E2A");let r;if(t!==void 0)r={markdown:t,baseDir:process.cwd()};else if(e)if(e==="-"){let o=[];for await(let s of process.stdin)o.push(Buffer.isBuffer(s)?s:Buffer.from(s));r={markdown:Buffer.concat(o).toString("utf8"),baseDir:process.cwd()}}else{let o=_t.resolve(e);try{r={markdown:await Nn.readFile(o,"utf8"),baseDir:_t.dirname(o)}}catch(s){throw new v({type:"validation",message:`\u8BFB\u4E0D\u5230 Markdown \u6587\u4EF6\uFF1A${e}`,cause:s})}}else throw L(`\u9700\u8981 ${n.file} <\u6587\u4EF6> \u6216 ${n.text} <\u5185\u5BB9>`,`\u7528 ${n.file} - \u4ECE stdin \u8BFB\u53D6`);let i=Buffer.byteLength(r.markdown,"utf8");if(i>Oo)throw L(`Markdown \u8F93\u5165 ${(i/1024/1024).toFixed(1)} MB\uFF0C\u8D85\u8FC7 ${Oo/1024/1024} MB \u4E0A\u9650`,"\u6B63\u6587\u5BBD\u5EA6\u4E0A\u9650\u662F 20000\uFF0C\u8FD9\u4E2A\u4F53\u79EF\u7684\u8F93\u5165\u4E0D\u53EF\u80FD\u53D1\u51FA\u53BB");return r}function Po(e){let t=e.match(/^\s*#\s+(.+?)\s*\n+([\s\S]*)$/);return t?{title:t[1].trim(),body:t[2]}:{body:e}}function vu(e){return/^https?:\/\//i.test(e)}async function Io(e,t,n){let r=0;if(e.opts.dryRun&&t.length)return ee(`[dry-run] \u8DF3\u8FC7 ${t.length} \u5F20\u6B63\u6587\u56FE\u7247\u7684\u4E0A\u4F20`,e.opts),{uploaded:0};for(let i of t){let o=i.src,s;if(vu(o)){if(/(^|\.)watcha\.cn$|tos-cn-beijing\.volces\.com$/.test(new URL(o).hostname))continue;ee(`\u955C\u50CF\u5916\u94FE\u56FE\u7247\uFF1A${X(o,100)}`,e.opts);let a=await fetch(o,{signal:AbortSignal.timeout(6e4)}).catch(p=>{throw new v({type:"network",message:`\u4E0B\u8F7D\u5916\u94FE\u56FE\u7247\u5931\u8D25\uFF1A${o}`,cause:p})});if(!a.ok)throw new v({type:"validation",message:`\u5916\u94FE\u56FE\u7247\u4E0D\u53EF\u8BBF\u95EE\uFF08HTTP ${a.status}\uFF09\uFF1A${o}`});let d=Buffer.from(await a.arrayBuffer());if(d.byteLength>Or)throw new v({type:"validation",message:`\u5916\u94FE\u56FE\u7247\u8D85\u8FC7 20MB\uFF1A${o}`});let l=a.headers.get("content-type")?.split(";")[0]||Pr(o),u=l==="image/png"?".png":l==="image/gif"?".gif":l==="image/webp"?".webp":".jpg";s=await qr(e.client,d,u,l.startsWith("image/")?l:"image/jpeg")}else{let a=_t.isAbsolute(o)?o:_t.resolve(n,decodeURIComponent(o));ee(`\u4E0A\u4F20\u56FE\u7247\uFF1A${a}`,e.opts),s=await Ir(e.client,a)}i.node.attrs={...i.node.attrs||{},src:s},r+=1}return{uploaded:r}}async function Rr(e,t,n){if(!t?.length)return[];if(t.length>n)throw L(`\u6700\u591A ${n} \u5F20\u56FE\u7247\uFF0C\u6536\u5230 ${t.length} \u5F20`);if(e.opts.dryRun)return ee(`[dry-run] \u8DF3\u8FC7 ${t.length} \u5F20\u56FE\u7247\u7684\u4E0A\u4F20`,e.opts),t.map(i=>`dry-run://${i}`);let r=[];for(let i of t)ee(`\u4E0A\u4F20\u56FE\u7247\uFF1A${i}`,e.opts),r.push(await Ir(e.client,i));return r}function qo(e){return{type:"doc",content:[...e.content,{type:"paragraph",content:[{type:"text",text:Au,marks:[{type:"italic"}]}]}]}}async function Ln(e){let t=_t.join(be(),"publish-log.json"),n={};try{n=JSON.parse(await Nn.readFile(t,"utf8"))}catch{}let r=Date.now(),i=(n[e.profile.name]||[]).filter(o=>r-o<6e4);if(i.length>=2){let o=Math.ceil((6e4-(r-i[0]))/1e3);throw new v({type:"rate_limited",message:`\u6700\u8FD1 60 \u79D2\u5185\u5DF2\u53D1\u5E03 ${i.length} \u6761\uFF0C\u5148\u7B49 ${o} \u79D2`,hint:'\u89C2\u7339\u540E\u7AEF\u9650\u5236\u6BCF\u5206\u949F\u6700\u591A 2 \u6761\uFF0C\u8D85\u9650\u4F1A\u89E6\u53D1"\u7591\u4F3C\u5237\u5E16"\u544A\u8B66\uFF1BCLI \u4E0D\u63D0\u4F9B\u4EFB\u4F55\u6279\u91CF\u53D1\u5E03\u80FD\u529B'})}}async function Mn(e){Pt();let t=_t.join(be(),"publish-log.json"),n={};try{n=JSON.parse(await Nn.readFile(t,"utf8"))}catch{}let r=Date.now();n[e.profile.name]=[...(n[e.profile.name]||[]).filter(i=>r-i<6e4),r],await Nn.writeFile(t,JSON.stringify(n),{mode:384})}function Ou(e){return{width:Je(e),figures:bi(e).length,plain_text_preview:X(je(e),200)}}function Ro(e){e.command("draft").description("\u672C\u5730\u9884\u89C8 Markdown \u8F6C\u6362\u7ED3\u679C\uFF0C\u4E0D\u53D1\u4EFB\u4F55\u8BF7\u6C42").command("preview").description("\u628A Markdown \u8F6C\u6210\u89C2\u7339 ProseMirror JSON \u5E76\u505A\u672C\u5730\u6821\u9A8C\uFF08\u6807\u9898\u5BBD\u5EA6\u3001\u6B63\u6587\u5BBD\u5EA6\u3001\u56FE\u7247\u6570\uFF09").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--kind <kind>","post | review | reply | launch\uFF08\u51B3\u5B9A\u652F\u6301\u7684\u8282\u70B9\uFF09","post").option("--title <title>","\u6807\u9898\uFF08\u4E0D\u4F20\u5219\u53D6\u9996\u884C\u4E00\u7EA7\u6807\u9898\uFF09").action(async(i,o)=>{await _(o,async()=>{let s=i.kind;if(!["post","review","reply","launch"].includes(s))throw L("--kind \u53EA\u80FD\u662F post / review / reply / launch");let{markdown:a}=await Yt(i.md,i.text),{title:d,body:l}=s==="post"||s==="launch"?Po(a):{title:void 0,body:a},u=i.title??d,p=We(l,s),c=Ou(p.doc),m=[];return(s==="post"||s==="launch")&&!u&&m.push("\u7F3A\u5C11\u6807\u9898\uFF08--title \u6216\u9996\u884C # \u6807\u9898\uFF09"),u&&ft(u)>Y.postTitleMaxWidth&&m.push(`\u6807\u9898\u5BBD\u5EA6 ${ft(u)} \u8D85\u8FC7 ${Y.postTitleMaxWidth}`),c.width===0&&m.push("\u6B63\u6587\u4E3A\u7A7A"),s==="post"&&c.width>Y.postContentMaxWidth&&m.push(`\u6B63\u6587\u5BBD\u5EA6 ${c.width} \u8D85\u8FC7 ${Y.postContentMaxWidth}`),s==="review"&&c.width<Y.reviewMinWidth&&m.push(`\u7339\u8BC4\u6B63\u6587\u5BBD\u5EA6 ${c.width} \u4E0D\u8DB3 ${Y.reviewMinWidth}\uFF08\u7EA6 15 \u4E2A\u6C49\u5B57\uFF09`),c.figures>Y.postMaxInlineFigures&&m.push(`\u6B63\u6587\u56FE\u7247 ${c.figures} \u5F20\u8D85\u8FC7 ${Y.postMaxInlineFigures}`),{data:{kind:s,title:u,title_width:u?ft(u):void 0,...c,images:p.images.map(g=>g.src),warnings:p.warnings,problems:m,ok:m.length===0,content:p.doc},pretty:g=>[`kind=${g.kind}${g.title?` \u6807\u9898\uFF1A${g.title}\uFF08\u5BBD\u5EA6 ${g.title_width}/${Y.postTitleMaxWidth}\uFF09`:""}`,`\u6B63\u6587\u5BBD\u5EA6\uFF1A${g.width} \u6B63\u6587\u56FE\u7247\uFF1A${g.figures}`,g.images.length?`\u56FE\u7247\uFF1A
138
- ${g.images.map(x=>` - ${x}`).join(`
139
- `)}`:"",g.warnings.length?`\u8F6C\u6362\u63D0\u9192\uFF1A
140
- ${g.warnings.map(x=>` - [${x.code}] ${x.message}`).join(`
141
- `)}`:"",g.problems.length?`\u274C \u95EE\u9898\uFF1A
142
- ${g.problems.map(x=>` - ${x}`).join(`
143
- `)}`:"\u2705 \u672C\u5730\u6821\u9A8C\u901A\u8FC7","",JSON.stringify(g.content,null,2)].filter(Boolean).join(`
144
- `)}})}),Wt(e,"post","\u7339\u9986\u5E16\u5B50").command("create").description("\u53D1\u7339\u9986\u5E16\u5B50\uFF08Markdown \u6B63\u6587\uFF1B\u56FE\u7247\u81EA\u52A8\u4E0A\u4F20\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4\uFF09").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--title <title>","\u6807\u9898\uFF08\u226432 \u5BBD\u5EA6\uFF1B\u4E0D\u4F20\u5219\u53D6\u9996\u884C # \u6807\u9898\uFF09").option("--product <idOrSlug>","\u5173\u8054\u4EA7\u54C1").option("--topic <ids>","\u8BDD\u9898 ID\uFF0C\u9017\u53F7\u5206\u9694\uFF0C\u6700\u591A 3 \u4E2A").option("--image <file...>","\u9644\u52A0\u56FE\u7247\uFF08\u65C1\u8DEF\u5B57\u6BB5\uFF0C\u6700\u591A 18 \u5F20\uFF09").option("--ai-assisted","\u6587\u672B\u8FFD\u52A0 AI \u8F85\u52A9\u521B\u4F5C\u62AB\u9732").action(async(i,o)=>{await _(o,async s=>{await s.client.accessToken(!0);let{markdown:a,baseDir:d}=await Yt(i.md,i.text),{title:l,body:u}=Po(a),p=(i.title??l??"").trim();if(!p)throw L("\u7F3A\u5C11\u6807\u9898","\u7528 --title\uFF0C\u6216\u5728 Markdown \u9996\u884C\u5199 # \u6807\u9898");if(ft(p)>Y.postTitleMaxWidth)throw L(`\u6807\u9898\u5BBD\u5EA6 ${ft(p)} \u8D85\u8FC7 ${Y.postTitleMaxWidth}\uFF08\u534A\u89D2\u7B97 0.5\uFF0C\u6C49\u5B57\u7B97 1\uFF09`);let c=i.topic?i.topic.split(",").map(A=>Number(A.trim())).filter(Number.isInteger):[];if(c.length>Y.topicMaxCount)throw L(`\u8BDD\u9898\u6700\u591A ${Y.topicMaxCount} \u4E2A`);let m;if(i.product){let A=await H.show(s.client,i.product);m=Number(A.id)}let y=We(u,"post"),g=y.doc;i.aiAssisted&&(g=qo(g));let x=Je(g);if(x===0)throw L("\u6B63\u6587\u4E3A\u7A7A");if(x>Y.postContentMaxWidth)throw L(`\u6B63\u6587\u5BBD\u5EA6 ${x} \u8D85\u8FC7 ${Y.postContentMaxWidth}`);if(y.images.length>Y.postMaxInlineFigures)throw L(`\u6B63\u6587\u56FE\u7247 ${y.images.length} \u5F20\u8D85\u8FC7 ${Y.postMaxInlineFigures}`);if((i.image?.length||0)>Y.postMaxImages)throw L(`\u9644\u52A0\u56FE\u7247\u6700\u591A ${Y.postMaxImages} \u5F20`);await Ln(s);let S=[`\u6807\u9898\uFF1A${p}`,`\u6B63\u6587\uFF08${x} \u5BBD\u5EA6\uFF09\uFF1A${X(je(g),200)}`,`\u6B63\u6587\u56FE\u7247 ${y.images.length} \u5F20\uFF0C\u9644\u52A0\u56FE\u7247 ${i.image?.length||0} \u5F20`,c.length?`\u8BDD\u9898\uFF1A${c.join(",")}`:"",m?`\u5173\u8054\u4EA7\u54C1\uFF1A#${m}`:""].filter(Boolean).join(`
145
- `);await Ut(s,"\u53D1\u5E03\u5E16\u5B50",S),await Io(s,y.images,d);let U=await Rr(s,i.image,Y.postMaxImages),b=await ie.create(s.client,{title:p,content:g,product_id:m,topic_ids:c.length?c:void 0,images:U.length?U.join(";"):void 0});await Mn(s);let $=b?.id,R=typeof b?.status=="number"?b.status:void 0;if($!==void 0){let A=await ie.show(s.client,String($)).catch(()=>null);A&&typeof A.status=="number"&&(R=A.status)}return{data:{id:$,status:R,status_label:R!==void 0?vo[R]||String(R):void 0,url:$!==void 0?`${s.siteUrl}/discuss/${$}`:void 0,title:p},pretty:A=>`\u5DF2\u53D1\u5E03\u5E16\u5B50 #${C(A.id)}\uFF1A${A.title}
146
- \u72B6\u6001\uFF1A${C(A.status_label)}
147
- ${C(A.url)}${A.status===2?`
148
- \u26A0\uFE0F \u5185\u5BB9\u88AB AI \u5BA1\u6838\u6298\u53E0\uFF0C\u5176\u4ED6\u4EBA\u6682\u65F6\u770B\u4E0D\u5230\uFF1B\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u5E7F\u544A/\u4F4E\u8D28/\u8FDD\u89C4\u5185\u5BB9`:A.status===0?`
149
- \uFF08\u5BA1\u6838\u4E2D\uFF0C\u51E0\u79D2\u540E\u53EF\u7528 watcha post show \u56DE\u67E5\uFF09`:""}`}})}),Wt(e,"review","\u7339\u8BC4\uFF08\u4EA7\u54C1\u8BC4\u4EF7\uFF09").command("create").description("\u53D1\u7339\u8BC4\uFF08\u9700\u89C2\u7339\u5458\u8D44\u683C\uFF1BMarkdown \u6B63\u6587 \u226515 \u5BBD\u5EA6\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4\uFF09").requiredOption("--product <idOrSlug>","\u8BC4\u4EF7\u54EA\u4E2A\u4EA7\u54C1").requiredOption("--vote <good|bad>","\u63A8\u8350 good / \u4E0D\u63A8\u8350 bad").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--image <file...>","\u56FE\u7247\uFF08\u6700\u591A 18 \u5F20\uFF1B\u6B63\u6587\u91CC\u7684\u56FE\u7247\u4E5F\u4F1A\u632A\u5230\u8FD9\u91CC\uFF09").option("--append","\u8FFD\u8BC4\uFF08\u5BF9\u540C\u4E00\u4EA7\u54C1\u7684\u8865\u5145\u8BC4\u4EF7\uFF09").option("--ai-assisted","\u6587\u672B\u8FFD\u52A0 AI \u8F85\u52A9\u521B\u4F5C\u62AB\u9732").action(async(i,o)=>{await _(o,async s=>{await s.client.accessToken(!0);let a=i.vote==="good"?1:i.vote==="bad"?2:null;if(!a)throw L("--vote \u53EA\u80FD\u662F good \u6216 bad");if(!(await Ee.perms(s.client)).includes("create.product_review.v1"))throw new v({type:"forbidden",message:"\u5F53\u524D\u8D26\u53F7\u6CA1\u6709\u53D1\u7339\u8BC4\u7684\u8D44\u683C\uFF08\u9700\u8981\u89C2\u7339\u5458\uFF09",hint:`\u5728 ${s.siteUrl}/exam \u901A\u8FC7\u664B\u7EA7\u8003\u8BD5\uFF0C\u6216\u4F7F\u7528\u9080\u8BF7\u7801\uFF1B\u56DE\u590D\u7339\u8BC4\u548C\u53D1\u5E16\u4E0D\u9700\u8981\u8FD9\u4E2A\u8D44\u683C`});let{markdown:l,baseDir:u}=await Yt(i.md,i.text),p=We(l,"review"),c=new Set(p.images.map(A=>A.node)),m=So(p.doc,c);i.aiAssisted&&(m=qo(m));let y=Je(m);if(y<Y.reviewMinWidth)throw L(`\u7339\u8BC4\u6B63\u6587\u5BBD\u5EA6 ${y} \u4E0D\u8DB3 ${Y.reviewMinWidth}\uFF08\u7EA6 15 \u4E2A\u6C49\u5B57\uFF09`);let g=p.images.length+(i.image?.length||0);if(g>Y.reviewMaxImages)throw L(`\u56FE\u7247\u6700\u591A ${Y.reviewMaxImages} \u5F20\uFF0C\u6536\u5230 ${g} \u5F20`);let x=await H.show(s.client,i.product);await Ln(s);let S=[`\u4EA7\u54C1\uFF1A${C(x.name)}\uFF08#${C(x.id)}\uFF09 ${a===1?"\u{1F44D} \u63A8\u8350":"\u{1F44E} \u4E0D\u63A8\u8350"}${i.append?" [\u8FFD\u8BC4]":""}`,`\u6B63\u6587\uFF08${y} \u5BBD\u5EA6\uFF09\uFF1A${X(je(m),200)}`,`\u56FE\u7247 ${g} \u5F20`].join(`
150
- `);await Ut(s,"\u53D1\u5E03\u7339\u8BC4",S),await Io(s,p.images,u);let U=[...p.images.map(A=>String(A.node.attrs?.src)),...await Rr(s,i.image,Y.reviewMaxImages)],b=await H.createReview(s.client,String(x.id),{content:m,vote_value:a,images:U.length?U.join(";"):void 0,append:i.append||void 0});await Mn(s);let $=b?.id,R=typeof b?.status=="number"?b.status:void 0;if($!==void 0){let A=await fe.show(s.client,String($)).catch(()=>null);A&&typeof A.status=="number"&&(R=A.status)}return{data:{id:$,status:R,status_label:R!==void 0?vo[R]||String(R):void 0,url:$!==void 0?`${s.siteUrl}/reply/${$}`:void 0,product_id:x.id},pretty:A=>`\u5DF2\u53D1\u5E03\u7339\u8BC4 #${C(A.id)}
151
- \u72B6\u6001\uFF1A${C(A.status_label)}
152
- ${C(A.url)}${A.status===2?`
153
- \u26A0\uFE0F \u5185\u5BB9\u88AB AI \u5BA1\u6838\u6298\u53E0\uFF0C\u5176\u4ED6\u4EBA\u6682\u65F6\u770B\u4E0D\u5230`:""}`}})}),e.command("reply <type> <id>").description("\u56DE\u590D\u7339\u8BC4\u6216\u5E16\u5B50\uFF08type: review | post\uFF1B\u56DE\u590D\u5E16\u5B50\u65F6 --parent \u6307\u5B9A\u697C\u5C42\u53EF\u6210\u4E3A\u5B50\u697C\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20\u6587\u672C").option("--parent <floorId>","\u56DE\u590D\u5E16\u5B50\u65F6\u6302\u5728\u54EA\u4E2A\u697C\u5C42\u4E0B").option("--image <file...>","\u56FE\u7247\uFF08\u6700\u591A 9 \u5F20\uFF09").action(async(i,o,s,a)=>{await _(a,async d=>{if(i!=="review"&&i!=="post")throw L("type \u53EA\u80FD\u662F review \u6216 post");await d.client.accessToken(!0);let{markdown:l}=await Yt(s.md,s.text),p=We(l,"reply").doc;if(Je(p)===0)throw L("\u56DE\u590D\u5185\u5BB9\u4E3A\u7A7A");await Ln(d),await Ut(d,`\u56DE\u590D${i==="review"?"\u7339\u8BC4":"\u5E16\u5B50"} #${o}`,`\u5185\u5BB9\uFF1A${X(je(p),200)}`);let m=await Rr(d,s.image,Y.replyMaxImages),y=i==="review"?await fe.reply(d.client,o,{content:p,images:m.length?m.join(";"):void 0}):await ie.createFloor(d.client,{post_id:Number(o),parent_id:s.parent?Number(s.parent):void 0,content:p,images:m.length?m.join(";"):void 0});return await Mn(d),{data:{id:y?.id,type:i,target:o,url:i==="review"?`${d.siteUrl}/reply/${o}`:`${d.siteUrl}/discuss/${o}`},pretty:x=>`\u5DF2\u56DE\u590D\uFF08#${C(x.id)}\uFF09
154
- ${x.url}`}})}),e.command("feedback [text]").description("\u628A Bug / \u5EFA\u8BAE\u6295\u5230\u89C2\u7339\u7AD9\u5185\u53CD\u9988\uFF08\u4E0E\u7F51\u9875\u300C\u53CD\u9988\u300D\u5F39\u7A97\u540C\u4E00\u5165\u53E3\uFF09\u3002\u9700\u767B\u5F55\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--type <type>",`\u53CD\u9988\u7C7B\u578B\uFF1A${Object.keys(Lr).join(" | ")}`,"bug").option("--md <file>","Markdown \u6587\u4EF6\u4F5C\u4E3A\u6B63\u6587\uFF0C- \u8868\u793A stdin").action(async(i,o,s)=>{await _(s,async a=>{let d=Lr[o.type];if(!d)throw L(`--type \u53EA\u80FD\u662F ${Object.keys(Lr).join(" / ")}`);await a.client.accessToken(!0);let{markdown:l}=await Yt(o.md,i,{text:"\u6B63\u6587\u53C2\u6570",file:"--md"}),u=We(l,"reply").doc;if(Je(u)===0)throw L("\u53CD\u9988\u5185\u5BB9\u4E3A\u7A7A");return await Ln(a),await Ut(a,"\u63D0\u4EA4\u53CD\u9988",`\u7C7B\u578B\uFF1A${d}
155
- \u5185\u5BB9\uFF1A${X(je(u),200)}`),await Vr.create(a.client,{title:d,content:u,scene:"cli"}),await Mn(a),{data:{type:o.type,title:d},pretty:()=>"\u6536\u5230\u53CD\u9988\u5566\uFF0C\u611F\u8C22\uFF01"}})})}var Lr={bug:"Bug \u53CD\u9988",feature:"\u529F\u80FD\u5EFA\u8BAE",content:"\u5185\u5BB9\u5EFA\u8BAE",other:"\u5176\u4ED6"};var Iu=`
156
+ \u7248\u672C\uFF1A${s.version}`}))})}var xl="\uFF08\u672C\u6587\u7531 AI \u8F85\u52A9\u521B\u4F5C\uFF0C\u4F5C\u8005\u5DF2\u5BA1\u9605\u5E76\u5BF9\u5185\u5BB9\u8D1F\u8D23\uFF09",Is={0:"\u5F85\u5BA1\u6838",1:"\u5DF2\u516C\u5F00",2:"\u5DF2\u88AB\u6298\u53E0\uFF08\u672A\u901A\u8FC7\u5185\u5BB9\u5BA1\u6838\uFF09"};function Rs(t){return{type:"doc",content:[...t.content,{type:"paragraph",content:[{type:"text",text:xl,marks:[{type:"italic"}]}]}]}}function Cl(t){return{width:te(t),figures:Ji(t).length,plain_text_preview:F(Zt(t),200)}}function Ns(t){t.command("draft").description("\u672C\u5730\u9884\u89C8 Markdown \u8F6C\u6362\u7ED3\u679C\uFF0C\u4E0D\u53D1\u4EFB\u4F55\u8BF7\u6C42").command("preview").description("\u628A Markdown \u8F6C\u6210\u89C2\u7339 ProseMirror JSON \u5E76\u505A\u672C\u5730\u6821\u9A8C\uFF08\u6807\u9898\u5BBD\u5EA6\u3001\u6B63\u6587\u5BBD\u5EA6\u3001\u56FE\u7247\u6570\uFF09").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--kind <kind>","post | review | reply | launch | activity\uFF08\u51B3\u5B9A\u652F\u6301\u7684\u8282\u70B9\uFF09","post").option("--title <title>","\u6807\u9898\uFF08\u4E0D\u4F20\u5219\u53D6\u9996\u884C\u4E00\u7EA7\u6807\u9898\uFF09").action(async(i,o)=>{await _(o,async()=>{let s=i.kind;if(!["post","review","reply","launch","activity"].includes(s))throw b("--kind \u53EA\u80FD\u662F post / review / reply / launch / activity");let{markdown:a}=await se(i.md,i.text),{title:u,body:l}=s==="post"||s==="launch"?ti(a):{title:void 0,body:a},c=i.title??u,d=Rt(l,s),p=Cl(d.doc),m=[];return(s==="post"||s==="launch")&&!c&&m.push("\u7F3A\u5C11\u6807\u9898\uFF08--title \u6216\u9996\u884C # \u6807\u9898\uFF09"),c&&Ee(c)>Z.postTitleMaxWidth&&m.push(`\u6807\u9898\u5BBD\u5EA6 ${Ee(c)} \u8D85\u8FC7 ${Z.postTitleMaxWidth}`),p.width===0&&m.push("\u6B63\u6587\u4E3A\u7A7A"),s==="post"&&p.width>Z.postContentMaxWidth&&m.push(`\u6B63\u6587\u5BBD\u5EA6 ${p.width} \u8D85\u8FC7 ${Z.postContentMaxWidth}`),s==="review"&&p.width<Z.reviewMinWidth&&m.push(`\u7339\u8BC4\u6B63\u6587\u5BBD\u5EA6 ${p.width} \u4E0D\u8DB3 ${Z.reviewMinWidth}\uFF08\u7EA6 15 \u4E2A\u6C49\u5B57\uFF09`),p.figures>Z.postMaxInlineFigures&&m.push(`\u6B63\u6587\u56FE\u7247 ${p.figures} \u5F20\u8D85\u8FC7 ${Z.postMaxInlineFigures}`),{data:{kind:s,title:c,title_width:c?Ee(c):void 0,...p,images:d.images.map(y=>y.src),warnings:d.warnings,problems:m,ok:m.length===0,content:d.doc},pretty:y=>[`kind=${y.kind}${y.title?` \u6807\u9898\uFF1A${y.title}\uFF08\u5BBD\u5EA6 ${y.title_width}/${Z.postTitleMaxWidth}\uFF09`:""}`,`\u6B63\u6587\u5BBD\u5EA6\uFF1A${y.width} \u6B63\u6587\u56FE\u7247\uFF1A${y.figures}`,y.images.length?`\u56FE\u7247\uFF1A
157
+ ${y.images.map($=>` - ${$}`).join(`
158
+ `)}`:"",y.warnings.length?`\u8F6C\u6362\u63D0\u9192\uFF1A
159
+ ${y.warnings.map($=>` - [${$.code}] ${$.message}`).join(`
160
+ `)}`:"",y.problems.length?`\u274C \u95EE\u9898\uFF1A
161
+ ${y.problems.map($=>` - ${$}`).join(`
162
+ `)}`:"\u2705 \u672C\u5730\u6821\u9A8C\u901A\u8FC7","",JSON.stringify(y.content,null,2)].filter(Boolean).join(`
163
+ `)}})}),Gt(t,"post","\u7339\u9986\u5E16\u5B50").command("create").description("\u53D1\u7339\u9986\u5E16\u5B50\uFF08Markdown \u6B63\u6587\uFF1B\u56FE\u7247\u81EA\u52A8\u4E0A\u4F20\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4\uFF09").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--title <title>","\u6807\u9898\uFF08\u226432 \u5BBD\u5EA6\uFF1B\u4E0D\u4F20\u5219\u53D6\u9996\u884C # \u6807\u9898\uFF09").option("--product <idOrSlug>","\u5173\u8054\u4EA7\u54C1").option("--topic <ids>","\u8BDD\u9898 ID\uFF0C\u9017\u53F7\u5206\u9694\uFF0C\u6700\u591A 3 \u4E2A").option("--image <file...>","\u9644\u52A0\u56FE\u7247\uFF08\u65C1\u8DEF\u5B57\u6BB5\uFF0C\u6700\u591A 18 \u5F20\uFF09").option("--ai-assisted","\u6587\u672B\u8FFD\u52A0 AI \u8F85\u52A9\u521B\u4F5C\u62AB\u9732").action(async(i,o)=>{await _(o,async s=>{await s.client.accessToken(!0);let{markdown:a,baseDir:u}=await se(i.md,i.text),{title:l,body:c}=ti(a),d=(i.title??l??"").trim();if(!d)throw b("\u7F3A\u5C11\u6807\u9898","\u7528 --title\uFF0C\u6216\u5728 Markdown \u9996\u884C\u5199 # \u6807\u9898");if(Ee(d)>Z.postTitleMaxWidth)throw b(`\u6807\u9898\u5BBD\u5EA6 ${Ee(d)} \u8D85\u8FC7 ${Z.postTitleMaxWidth}\uFF08\u534A\u89D2\u7B97 0.5\uFF0C\u6C49\u5B57\u7B97 1\uFF09`);let p=i.topic?i.topic.split(",").map(T=>Number(T.trim())).filter(Number.isInteger):[];if(p.length>Z.topicMaxCount)throw b(`\u8BDD\u9898\u6700\u591A ${Z.topicMaxCount} \u4E2A`);let m;if(i.product){let T=await G.show(s.client,i.product);m=Number(T.id)}let g=Rt(c,"post"),y=g.doc;i.aiAssisted&&(y=Rs(y));let $=te(y);if($===0)throw b("\u6B63\u6587\u4E3A\u7A7A");if($>Z.postContentMaxWidth)throw b(`\u6B63\u6587\u5BBD\u5EA6 ${$} \u8D85\u8FC7 ${Z.postContentMaxWidth}`);if(g.images.length>Z.postMaxInlineFigures)throw b(`\u6B63\u6587\u56FE\u7247 ${g.images.length} \u5F20\u8D85\u8FC7 ${Z.postMaxInlineFigures}`);if((i.image?.length||0)>Z.postMaxImages)throw b(`\u9644\u52A0\u56FE\u7247\u6700\u591A ${Z.postMaxImages} \u5F20`);await ln(s);let v=[`\u6807\u9898\uFF1A${d}`,`\u6B63\u6587\uFF08${$} \u5BBD\u5EA6\uFF09\uFF1A${F(Zt(y),200)}`,`\u6B63\u6587\u56FE\u7247 ${g.images.length} \u5F20\uFF0C\u9644\u52A0\u56FE\u7247 ${i.image?.length||0} \u5F20`,p.length?`\u8BDD\u9898\uFF1A${p.join(",")}`:"",m?`\u5173\u8054\u4EA7\u54C1\uFF1A#${m}`:""].filter(Boolean).join(`
164
+ `);await ft(s,"\u53D1\u5E03\u5E16\u5B50",v),await cn(s,g.images,u);let U=await nr(s,i.image,Z.postMaxImages),C=await at.create(s.client,{title:d,content:y,product_id:m,topic_ids:p.length?p:void 0,images:U.length?U.join(";"):void 0});await dn(s);let O=C?.id,N=typeof C?.status=="number"?C.status:void 0;if(O!==void 0){let T=await at.show(s.client,String(O)).catch(()=>null);T&&typeof T.status=="number"&&(N=T.status)}return{data:{id:O,status:N,status_label:N!==void 0?Is[N]||String(N):void 0,url:O!==void 0?`${s.siteUrl}/discuss/${O}`:void 0,title:d},pretty:T=>`\u5DF2\u53D1\u5E03\u5E16\u5B50 #${w(T.id)}\uFF1A${T.title}
165
+ \u72B6\u6001\uFF1A${w(T.status_label)}
166
+ ${w(T.url)}${T.status===2?`
167
+ \u26A0\uFE0F \u5185\u5BB9\u88AB AI \u5BA1\u6838\u6298\u53E0\uFF0C\u5176\u4ED6\u4EBA\u6682\u65F6\u770B\u4E0D\u5230\uFF1B\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u5E7F\u544A/\u4F4E\u8D28/\u8FDD\u89C4\u5185\u5BB9`:T.status===0?`
168
+ \uFF08\u5BA1\u6838\u4E2D\uFF0C\u51E0\u79D2\u540E\u53EF\u7528 watcha post show \u56DE\u67E5\uFF09`:""}`}})}),Gt(t,"review","\u7339\u8BC4\uFF08\u4EA7\u54C1\u8BC4\u4EF7\uFF09").command("create").description("\u53D1\u7339\u8BC4\uFF08\u9700\u89C2\u7339\u5458\u8D44\u683C\uFF1BMarkdown \u6B63\u6587 \u226515 \u5BBD\u5EA6\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4\uFF09").requiredOption("--product <idOrSlug>","\u8BC4\u4EF7\u54EA\u4E2A\u4EA7\u54C1").requiredOption("--vote <good|bad>","\u63A8\u8350 good / \u4E0D\u63A8\u8350 bad").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20 Markdown \u6587\u672C").option("--image <file...>","\u56FE\u7247\uFF08\u6700\u591A 18 \u5F20\uFF1B\u6B63\u6587\u91CC\u7684\u56FE\u7247\u4E5F\u4F1A\u632A\u5230\u8FD9\u91CC\uFF09").option("--append","\u8FFD\u8BC4\uFF08\u5BF9\u540C\u4E00\u4EA7\u54C1\u7684\u8865\u5145\u8BC4\u4EF7\uFF09").option("--ai-assisted","\u6587\u672B\u8FFD\u52A0 AI \u8F85\u52A9\u521B\u4F5C\u62AB\u9732").action(async(i,o)=>{await _(o,async s=>{await s.client.accessToken(!0);let a=i.vote==="good"?1:i.vote==="bad"?2:null;if(!a)throw b("--vote \u53EA\u80FD\u662F good \u6216 bad");if(!(await qt.perms(s.client)).includes("create.product_review.v1"))throw new A({type:"forbidden",message:"\u5F53\u524D\u8D26\u53F7\u6CA1\u6709\u53D1\u7339\u8BC4\u7684\u8D44\u683C\uFF08\u9700\u8981\u89C2\u7339\u5458\uFF09",hint:`\u5728 ${s.siteUrl}/exam \u901A\u8FC7\u664B\u7EA7\u8003\u8BD5\uFF0C\u6216\u4F7F\u7528\u9080\u8BF7\u7801\uFF1B\u56DE\u590D\u7339\u8BC4\u548C\u53D1\u5E16\u4E0D\u9700\u8981\u8FD9\u4E2A\u8D44\u683C`});let{markdown:l,baseDir:c}=await se(i.md,i.text),d=Rt(l,"review"),p=new Set(d.images.map(T=>T.node)),m=Xo(d.doc,p);i.aiAssisted&&(m=Rs(m));let g=te(m);if(g<Z.reviewMinWidth)throw b(`\u7339\u8BC4\u6B63\u6587\u5BBD\u5EA6 ${g} \u4E0D\u8DB3 ${Z.reviewMinWidth}\uFF08\u7EA6 15 \u4E2A\u6C49\u5B57\uFF09`);let y=d.images.length+(i.image?.length||0);if(y>Z.reviewMaxImages)throw b(`\u56FE\u7247\u6700\u591A ${Z.reviewMaxImages} \u5F20\uFF0C\u6536\u5230 ${y} \u5F20`);let $=await G.show(s.client,i.product);await ln(s);let v=[`\u4EA7\u54C1\uFF1A${w($.name)}\uFF08#${w($.id)}\uFF09 ${a===1?"\u{1F44D} \u63A8\u8350":"\u{1F44E} \u4E0D\u63A8\u8350"}${i.append?" [\u8FFD\u8BC4]":""}`,`\u6B63\u6587\uFF08${g} \u5BBD\u5EA6\uFF09\uFF1A${F(Zt(m),200)}`,`\u56FE\u7247 ${y} \u5F20`].join(`
169
+ `);await ft(s,"\u53D1\u5E03\u7339\u8BC4",v),await cn(s,d.images,c);let U=[...d.images.map(T=>String(T.node.attrs?.src)),...await nr(s,i.image,Z.reviewMaxImages)],C=await G.createReview(s.client,String($.id),{content:m,vote_value:a,images:U.length?U.join(";"):void 0,append:i.append||void 0});await dn(s);let O=C?.id,N=typeof C?.status=="number"?C.status:void 0;if(O!==void 0){let T=await xt.show(s.client,String(O)).catch(()=>null);T&&typeof T.status=="number"&&(N=T.status)}return{data:{id:O,status:N,status_label:N!==void 0?Is[N]||String(N):void 0,url:O!==void 0?`${s.siteUrl}/reply/${O}`:void 0,product_id:$.id},pretty:T=>`\u5DF2\u53D1\u5E03\u7339\u8BC4 #${w(T.id)}
170
+ \u72B6\u6001\uFF1A${w(T.status_label)}
171
+ ${w(T.url)}${T.status===2?`
172
+ \u26A0\uFE0F \u5185\u5BB9\u88AB AI \u5BA1\u6838\u6298\u53E0\uFF0C\u5176\u4ED6\u4EBA\u6682\u65F6\u770B\u4E0D\u5230`:""}`}})}),t.command("reply <type> <id>").description("\u56DE\u590D\u7339\u8BC4\u6216\u5E16\u5B50\uFF08type: review | post\uFF1B\u56DE\u590D\u5E16\u5B50\u65F6 --parent \u6307\u5B9A\u697C\u5C42\u53EF\u6210\u4E3A\u5B50\u697C\uFF09\u3002\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--md <file>","Markdown \u6587\u4EF6\uFF0C- \u8868\u793A stdin").option("--text <markdown>","\u76F4\u63A5\u4F20\u6587\u672C").option("--parent <floorId>","\u56DE\u590D\u5E16\u5B50\u65F6\u6302\u5728\u54EA\u4E2A\u697C\u5C42\u4E0B").option("--image <file...>","\u56FE\u7247\uFF08\u6700\u591A 9 \u5F20\uFF09").action(async(i,o,s,a)=>{await _(a,async u=>{if(i!=="review"&&i!=="post")throw b("type \u53EA\u80FD\u662F review \u6216 post");await u.client.accessToken(!0);let{markdown:l}=await se(s.md,s.text),d=Rt(l,"reply").doc;if(te(d)===0)throw b("\u56DE\u590D\u5185\u5BB9\u4E3A\u7A7A");await ln(u),await ft(u,`\u56DE\u590D${i==="review"?"\u7339\u8BC4":"\u5E16\u5B50"} #${o}`,`\u5185\u5BB9\uFF1A${F(Zt(d),200)}`);let m=await nr(u,s.image,Z.replyMaxImages),g=i==="review"?await xt.reply(u.client,o,{content:d,images:m.length?m.join(";"):void 0}):await at.createFloor(u.client,{post_id:Number(o),parent_id:s.parent?Number(s.parent):void 0,content:d,images:m.length?m.join(";"):void 0});return await dn(u),{data:{id:g?.id,type:i,target:o,url:i==="review"?`${u.siteUrl}/reply/${o}`:`${u.siteUrl}/discuss/${o}`},pretty:$=>`\u5DF2\u56DE\u590D\uFF08#${w($.id)}\uFF09
173
+ ${$.url}`}})}),t.command("feedback [text]").description("\u628A Bug / \u5EFA\u8BAE\u6295\u5230\u89C2\u7339\u7AD9\u5185\u53CD\u9988\uFF08\u4E0E\u7F51\u9875\u300C\u53CD\u9988\u300D\u5F39\u7A97\u540C\u4E00\u5165\u53E3\uFF09\u3002\u9700\u767B\u5F55\uFF1B\u9700 --yes \u6216\u4EA4\u4E92\u786E\u8BA4").option("--type <type>",`\u53CD\u9988\u7C7B\u578B\uFF1A${Object.keys(ci).join(" | ")}`,"bug").option("--md <file>","Markdown \u6587\u4EF6\u4F5C\u4E3A\u6B63\u6587\uFF0C- \u8868\u793A stdin").action(async(i,o,s)=>{await _(s,async a=>{let u=ci[o.type];if(!u)throw b(`--type \u53EA\u80FD\u662F ${Object.keys(ci).join(" / ")}`);await a.client.accessToken(!0);let{markdown:l}=await se(o.md,i,{text:"\u6B63\u6587\u53C2\u6570",file:"--md"}),c=Rt(l,"reply").doc;if(te(c)===0)throw b("\u53CD\u9988\u5185\u5BB9\u4E3A\u7A7A");return await ln(a),await ft(a,"\u63D0\u4EA4\u53CD\u9988",`\u7C7B\u578B\uFF1A${u}
174
+ \u5185\u5BB9\uFF1A${F(Zt(c),200)}`),await wi.create(a.client,{title:u,content:c,scene:"cli"}),await dn(a),{data:{type:o.type,title:u},pretty:()=>"\u6536\u5230\u53CD\u9988\u5566\uFF0C\u611F\u8C22\uFF01"}})})}var ci={bug:"Bug \u53CD\u9988",feature:"\u529F\u80FD\u5EFA\u8BAE",content:"\u5185\u5BB9\u5EFA\u8BAE",other:"\u5176\u4ED6"};var $l=`
156
175
  AGENT QUICKSTART\uFF08\u7ED9 AI agent \u7684\u4E09\u884C\u8BF4\u660E\uFF09:
157
176
  watcha schema --json \u4E00\u6B21\u62FF\u5230\u5168\u90E8\u547D\u4EE4/\u53C2\u6570/\u8F93\u51FA\u5951\u7EA6/\u9000\u51FA\u7801
158
177
  watcha skills read \u8BFB\u5185\u7F6E SKILL.md\uFF08\u6982\u5FF5\u3001\u7EA6\u675F\u3001\u5E38\u89C1\u4EFB\u52A1\uFF09
@@ -167,6 +186,6 @@ AGENT QUICKSTART\uFF08\u7ED9 AI agent \u7684\u4E09\u884C\u8BF4\u660E\uFF09:
167
186
  watcha product reviews claude-code \u4EA7\u54C1\u7339\u8BC4
168
187
  watcha draft preview --md post.md \u672C\u5730\u770B Markdown \u4F1A\u88AB\u8F6C\u6210\u4EC0\u4E48\uFF0C\u4E0D\u53D1\u8BF7\u6C42
169
188
  watcha post create --md post.md --yes \u53D1\u5E16
170
- `;function qu(e={text:""}){let t=new ct;return t.name("watcha").description("\u89C2\u7339 (watcha.cn) \u547D\u4EE4\u884C\u5DE5\u5177\uFF1AAI \u4EA7\u54C1\u8BC4\u4EF7\u793E\u533A\u7684\u8BFB\u5199\u5BA2\u6237\u7AEF\uFF0C\u7ED9\u4EBA\u548C AI agent \u7528").version(gt,"-v, --version","\u8F93\u51FA\u7248\u672C\u53F7").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF1Ajson | pretty | ndjson | table\uFF08\u975E TTY \u9ED8\u8BA4 json\uFF09").option("--json","\u7B49\u4EF7\u4E8E --format json").option("--profile <name>","\u4F7F\u7528\u6307\u5B9A profile\uFF08\u591A\u8D26\u53F7/\u591A\u73AF\u5883\uFF09").option("--base-url <url>","\u8986\u76D6 API \u57FA\u5740").option("--dry-run","\u5199\u64CD\u4F5C\u53EA\u6253\u5370\u5C06\u8981\u53D1\u9001\u7684\u8BF7\u6C42\uFF0C\u4E0D\u6267\u884C").option("-y, --yes","\u8DF3\u8FC7\u786E\u8BA4\uFF08\u5199\u64CD\u4F5C\u5FC5\u987B\u663E\u5F0F\u5E26\u4E0A\uFF09").option("-q, --quiet","\u4E0D\u8F93\u51FA\u8FDB\u5EA6\u63D0\u793A").option("--debug","\u628A\u6BCF\u4E2A\u8BF7\u6C42\u7684\u65B9\u6CD5\u4E0E URL \u6253\u5230 stderr").showHelpAfterError("\uFF08\u52A0 --help \u67E5\u770B\u7528\u6CD5\uFF09").showSuggestionAfterError(!0).addHelpText("after",Iu).configureOutput({writeErr:n=>{e.text+=n}}).exitOverride(),qi(t),Ri(t),Ii(t),Wi(t),Bi(t),Ro(t),To(t),Ao(t),Ru(t),t}function Ru(e){for(let t of e.commands){if(!t.commands.length)continue;let n=()=>t.commands.map(r=>r.name()).join(" / ");t.allowExcessArguments(!0).action(async(...r)=>{let i=r[r.length-1],o=i.args[0];await _(i,async()=>{throw L(o?`watcha ${t.name()} \u6CA1\u6709\u5B50\u547D\u4EE4 "${o}"`:`watcha ${t.name()} \u9700\u8981\u6307\u5B9A\u5B50\u547D\u4EE4`,`\u53EF\u7528\uFF1A${n()}\uFF1B\u8BE6\u89C1 watcha ${t.name()} --help`)})})}}async function Lu(e){let t={text:""},n=qu(t);try{await n.parseAsync(e)}catch(r){let i=r;if(i&&typeof i.code=="string"&&i.code.startsWith("commander.")){if(i.code==="commander.helpDisplayed"||i.code==="commander.version"||i.code==="commander.help"&&i.exitCode===0){process.exitCode=0;return}let o=Zn(e);if(o==="pretty"||o==="table"){process.stderr.write(t.text),process.exitCode=3;return}let s=(i.message||t.text).replace(/^error:\s*/i,"").split(`
171
- `)[0].trim()||"\u53C2\u6570\u9519\u8BEF";process.exitCode=Mt(new v({type:"validation",message:s,hint:i.code==="commander.unknownCommand"?"\u7528 watcha --help \u770B\u5168\u90E8\u547D\u4EE4\uFF0C\u6216 watcha schema --json \u8BFB\u5B8C\u6574\u5951\u7EA6":"\u52A0 --help \u67E5\u770B\u8BE5\u547D\u4EE4\u7684\u7528\u6CD5"}),o);return}process.exitCode=Mt(r,Zn(e))}}process.argv[1]&&import.meta.url===Pu(process.argv[1]).href&&Lu(process.argv).catch(e=>{process.stderr.write(String(e?.stack||e)+`
172
- `),process.exit(1)});export{qu as buildProgram,Lu as main};
189
+ `;function Sl(t={text:""}){let e=new Ce;return e.name("watcha").description("\u89C2\u7339 (watcha.cn) \u547D\u4EE4\u884C\u5DE5\u5177\uFF1AAI \u4EA7\u54C1\u8BC4\u4EF7\u793E\u533A\u7684\u8BFB\u5199\u5BA2\u6237\u7AEF\uFF0C\u7ED9\u4EBA\u548C AI agent \u7528").version(he,"-v, --version","\u8F93\u51FA\u7248\u672C\u53F7").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF1Ajson | pretty | ndjson | table\uFF08\u975E TTY \u9ED8\u8BA4 json\uFF09").option("--json","\u7B49\u4EF7\u4E8E --format json").option("--profile <name>","\u4F7F\u7528\u6307\u5B9A profile\uFF08\u591A\u8D26\u53F7/\u591A\u73AF\u5883\uFF09").option("--base-url <url>","\u8986\u76D6 API \u57FA\u5740").option("--dry-run","\u5199\u64CD\u4F5C\u53EA\u6253\u5370\u5C06\u8981\u53D1\u9001\u7684\u8BF7\u6C42\uFF0C\u4E0D\u6267\u884C").option("-y, --yes","\u8DF3\u8FC7\u786E\u8BA4\uFF08\u5199\u64CD\u4F5C\u5FC5\u987B\u663E\u5F0F\u5E26\u4E0A\uFF09").option("-q, --quiet","\u4E0D\u8F93\u51FA\u8FDB\u5EA6\u63D0\u793A").option("--debug","\u628A\u6BCF\u4E2A\u8BF7\u6C42\u7684\u65B9\u6CD5\u4E0E URL \u6253\u5230 stderr").showHelpAfterError("\uFF08\u52A0 --help \u67E5\u770B\u7528\u6CD5\uFF09").showSuggestionAfterError(!0).addHelpText("after",$l).configureOutput({writeErr:n=>{t.text+=n}}).exitOverride(),ks(e),bs(e),yo(e),is(e),ws(e),$s(e),Ts(e),Ns(e),Os(e),qs(e),El(e),e}function El(t){for(let e of t.commands){if(!e.commands.length)continue;let n=()=>e.commands.map(r=>r.name()).join(" / ");e.allowExcessArguments(!0).action(async(...r)=>{let i=r[r.length-1],o=i.args[0];await _(i,async()=>{throw b(o?`watcha ${e.name()} \u6CA1\u6709\u5B50\u547D\u4EE4 "${o}"`:`watcha ${e.name()} \u9700\u8981\u6307\u5B9A\u5B50\u547D\u4EE4`,`\u53EF\u7528\uFF1A${n()}\uFF1B\u8BE6\u89C1 watcha ${e.name()} --help`)})})}}async function Tl(t){let e={text:""},n=Sl(e);try{await n.parseAsync(t)}catch(r){let i=r;if(i&&typeof i.code=="string"&&i.code.startsWith("commander.")){if(i.code==="commander.helpDisplayed"||i.code==="commander.version"||i.code==="commander.help"&&i.exitCode===0){process.exitCode=0;return}let o=Cr(t);if(o==="pretty"||o==="table"){process.stderr.write(e.text),process.exitCode=3;return}let s=(i.message||e.text).replace(/^error:\s*/i,"").split(`
190
+ `)[0].trim()||"\u53C2\u6570\u9519\u8BEF";process.exitCode=Ke(new A({type:"validation",message:s,hint:i.code==="commander.unknownCommand"?"\u7528 watcha --help \u770B\u5168\u90E8\u547D\u4EE4\uFF0C\u6216 watcha schema --json \u8BFB\u5B8C\u6574\u5951\u7EA6":"\u52A0 --help \u67E5\u770B\u8BE5\u547D\u4EE4\u7684\u7528\u6CD5"}),o);return}process.exitCode=Ke(r,Cr(t))}}process.argv[1]&&import.meta.url===vl(process.argv[1]).href&&Tl(process.argv).catch(t=>{process.stderr.write(String(t?.stack||t)+`
191
+ `),process.exit(1)});export{Sl as buildProgram,Tl as main};