@kyun.si/codex-hongguo 0.0.28 → 0.0.29

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-hongguo",
3
- "version": "0.0.28",
3
+ "version": "0.0.29",
4
4
  "description": "在 Codex 会话侧栏观看红果短剧,回合停止时保存进度。",
5
5
  "hooks": "./hooks/hooks.json",
6
6
  "skills": "./skills/",
package/README.en.md CHANGED
@@ -8,14 +8,22 @@ After installation and Hook review, continue working normally. The optional **Wa
8
8
 
9
9
  ## Installation & Setup
10
10
 
11
- Supports macOS and Linux (x64/arm64). Requires Node.js >=22.16 with npm and a Codex CLI supporting npm plugin sources. The plugin prepares its playback component automatically; no separate FFmpeg installation is needed.
11
+ Supports macOS, Linux (x64/arm64), and Windows (x64 Node). Requires Node.js >=22.16 with npm and a Codex CLI supporting npm plugin sources. The plugin prepares its playback component automatically; no separate FFmpeg installation is needed.
12
12
 
13
- Install with npm:
13
+ Install with npm on macOS / Linux:
14
14
 
15
15
  ```sh
16
- npx @kyun.si/codex-hongguo@latest setup
16
+ npx "@kyun.si/codex-hongguo@latest" setup
17
17
  ```
18
18
 
19
+ On Windows PowerShell:
20
+
21
+ ```powershell
22
+ npx.cmd "@kyun.si/codex-hongguo@latest" setup
23
+ ```
24
+
25
+ Keep the package name quoted so PowerShell treats the leading `@` literally. `npx.cmd` invokes the npm command shim directly. See [Windows support](https://github.com/mreasonyang/codex-hongguo/blob/main/docs/windows-support.md) (Chinese) for details and offline installation.
26
+
19
27
  The command checks the environment, downloads and verifies the playback component, then installs the plugin through Codex's native marketplace. The first installation requires a network connection; later runs reuse the local cache. The installer tells you to review, trust and enable `UserPromptSubmit`, `Stop` and `Interrupt` in Codex **Settings → Hooks**. Then open a new local chat to use the plugin.
20
28
 
21
29
  ### Post-Install Setup
@@ -77,15 +85,17 @@ Close all open player panels and split-view browser tabs before updating or unin
77
85
  Update with:
78
86
 
79
87
  ```sh
80
- npx @kyun.si/codex-hongguo@latest update
88
+ npx "@kyun.si/codex-hongguo@latest" update
81
89
  ```
82
90
 
91
+ In Windows PowerShell, use `npx.cmd` instead of `npx` for the update and uninstall commands, keeping the package name quoted.
92
+
83
93
  Updates preserve viewing progress and settings. Open a new chat afterward and review changed Hooks when prompted.
84
94
 
85
95
  Uninstall with:
86
96
 
87
97
  ```sh
88
- npx @kyun.si/codex-hongguo@latest uninstall
98
+ npx "@kyun.si/codex-hongguo@latest" uninstall
89
99
  ```
90
100
 
91
101
  Uninstalling deletes the plugin's playback components, viewing progress, settings, all video caches and device profiles, including old components and partial downloads. System FFmpeg installations and external executables are kept. Open a new chat afterward. To disable the plugin temporarily while keeping data, use Codex plugin settings.
@@ -95,6 +105,7 @@ The default user data directories below are removed automatically during uninsta
95
105
  | OS | User Data Directory |
96
106
  | --- | --- |
97
107
  | macOS | `~/Library/Application Support/CodexHongguo/` |
108
+ | Windows | `%LOCALAPPDATA%\CodexHongguo\` (defaults to `%USERPROFILE%\AppData\Local\CodexHongguo\`) |
98
109
  | Linux | `codex-hongguo` under `XDG_DATA_HOME` (defaults to `~/.local/share/codex-hongguo/`) |
99
110
 
100
111
  Inside this folder, `player.sqlite` and its WAL/SHM files store progress, turn state, recommendation rotation, catalog and episode metadata, refresh state and settings. `media/` holds prepared full episodes, capped at 40 episodes and 1 GiB with protection for active files. `panel-media/` contains temporary panel fragments with separate cleanup; its size is outside that 1 GiB limit. `device/` holds the upstream SDK's anonymous device profile. Raw hook payloads, prompts and assistant replies are not written to disk. Third-party runtime dependency notices are under `licenses/` in the plugin root.
package/README.md CHANGED
@@ -8,14 +8,22 @@
8
8
 
9
9
  ## 安装与配置
10
10
 
11
- 支持 macOS 和 Linux(x64/arm64)。需要 Node.js >=22.16(含 npm)和支持 npm 插件源的 Codex CLI。播放组件由插件自动准备,无需单独安装 FFmpeg。
11
+ 支持 macOS、Linux(x64/arm64)和 Windows(x64 Node)。需要 Node.js >=22.16(含 npm)和支持 npm 插件源的 Codex CLI。播放组件由插件自动准备,无需单独安装 FFmpeg。
12
12
 
13
- 使用 npm 安装:
13
+ macOS / Linux 使用 npm 安装:
14
14
 
15
15
  ```sh
16
- npx @kyun.si/codex-hongguo@latest setup
16
+ npx "@kyun.si/codex-hongguo@latest" setup
17
17
  ```
18
18
 
19
+ Windows PowerShell 使用:
20
+
21
+ ```powershell
22
+ npx.cmd "@kyun.si/codex-hongguo@latest" setup
23
+ ```
24
+
25
+ 包名的引号必须保留,避免 PowerShell 将 `@` 解析为展开运算符;`npx.cmd` 可直接调用 npm 命令入口。Windows 详细说明和离线安装见 [Windows 支持](https://github.com/mreasonyang/codex-hongguo/blob/main/docs/windows-support.md)。
26
+
19
27
  命令会检查运行环境、自动下载并校验播放组件,再通过 Codex 原生市场安装插件。首次安装需要联网,之后复用本机缓存。安装完成时会提示你到 Codex「设置 → Hooks」审查、信任并启用 `UserPromptSubmit`、`Stop`、`Interrupt`。然后打开新的本地聊天使用。
20
28
 
21
29
  ### 安装后配置
@@ -76,15 +84,17 @@ npx @kyun.si/codex-hongguo@latest setup
76
84
  更新命令:
77
85
 
78
86
  ```sh
79
- npx @kyun.si/codex-hongguo@latest update
87
+ npx "@kyun.si/codex-hongguo@latest" update
80
88
  ```
81
89
 
90
+ Windows PowerShell 将上述更新和卸载命令中的 `npx` 写为 `npx.cmd`,并保留包名引号。
91
+
82
92
  更新会保留观看进度和设置。完成后打开新聊天,并按提示重新审查 Hooks。
83
93
 
84
94
  卸载命令:
85
95
 
86
96
  ```sh
87
- npx @kyun.si/codex-hongguo@latest uninstall
97
+ npx "@kyun.si/codex-hongguo@latest" uninstall
88
98
  ```
89
99
 
90
100
  卸载会删除本插件的播放组件、观看进度、设置、全部视频缓存和设备档案,包括历史组件和下载残片;系统或外部自行配置的 FFmpeg 不会删除。完成后打开新聊天。只想暂时停用并保留数据时,可从 Codex 插件设置中禁用。
@@ -94,6 +104,7 @@ npx @kyun.si/codex-hongguo@latest uninstall
94
104
  | 系统 | 用户数据目录 |
95
105
  | --- | --- |
96
106
  | macOS | `~/Library/Application Support/CodexHongguo/` |
107
+ | Windows | `%LOCALAPPDATA%\CodexHongguo\`(缺省为 `%USERPROFILE%\AppData\Local\CodexHongguo\`) |
97
108
  | Linux | `XDG_DATA_HOME` 下的 `codex-hongguo`(缺省为 `~/.local/share/codex-hongguo/`) |
98
109
 
99
110
  目录内 `player.sqlite`(及其 WAL/SHM 文件)保存观看进度、回合状态、推荐轮换、片库与分集元数据、刷新状态及播放器设置;`media/` 保存本机处理后的整集缓存(上限 40 集、1 GiB,活动文件有保护期);`panel-media/` 保存单独回收的临时面板分片,其占用不计入整集缓存的 1 GiB 上限;`device/` 为上游 SDK 管理的匿名设备档案。本插件不将 Hook 原始输入、提示词和模型回复写入磁盘。第三方运行时依赖的许可证位于插件根目录 `licenses/`。
package/bin/run-node.exe CHANGED
Binary file
package/dist/cli/main.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  import {createRequire as __cr} from 'node:module';const require=__cr(import.meta.url);
2
- var ht=Object.create;var bA=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var lt=Object.getOwnPropertyNames;var Et=Object.getPrototypeOf,Bt=Object.prototype.hasOwnProperty;var N=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var p=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var pt=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of lt(e))!Bt.call(A,n)&&n!==t&&bA(A,n,{get:()=>e[n],enumerable:!(r=Qt(e,n))||r.enumerable});return A};var RA=(A,e,t)=>(t=A!=null?ht(Et(A)):{},pt(e||!A||!A.__esModule?bA(t,"default",{value:A,enumerable:!0}):t,A));var OA=p((jr,zA)=>{zA.exports=UA;UA.sync=vt;var qA=N("fs");function wt(A,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var r=0;r<t.length;r++){var n=t[r].toLowerCase();if(n&&A.substr(-n.length).toLowerCase()===n)return!0}return!1}function KA(A,e,t){return!A.isSymbolicLink()&&!A.isFile()?!1:wt(e,t)}function UA(A,e,t){qA.stat(A,function(r,n){t(r,r?!1:KA(n,A,e))})}function vt(A,e){return KA(qA.statSync(A),A,e)}});var XA=p((Wr,WA)=>{WA.exports=PA;PA.sync=yt;var TA=N("fs");function PA(A,e,t){TA.stat(A,function(r,n){t(r,r?!1:jA(n,e))})}function yt(A,e){return jA(TA.statSync(A),e)}function jA(A,e){return A.isFile()&&mt(A,e)}function mt(A,e){var t=A.mode,r=A.uid,n=A.gid,o=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),s=parseInt("100",8),C=parseInt("010",8),g=parseInt("001",8),I=s|C,a=t&g||t&C&&n===i||t&s&&r===o||t&I&&o===0;return a}});var VA=p((Zr,ZA)=>{var Xr=N("fs"),Z;process.platform==="win32"||global.TESTING_WINDOWS?Z=OA():Z=XA();ZA.exports=iA;iA.sync=Dt;function iA(A,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,n){iA(A,e||{},function(o,i){o?n(o):r(i)})})}Z(A,e||{},function(r,n){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,n=!1),t(r,n)})}function Dt(A,e){try{return Z.sync(A,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var ne=p((Vr,re)=>{var L=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",_A=N("path"),dt=L?";":":",$A=VA(),Ae=A=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),ee=(A,e)=>{let t=e.colon||dt,r=A.match(/\//)||L&&A.match(/\\/)?[""]:[...L?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=L?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=L?n.split(t):[""];return L&&A.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:n}},te=(A,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:r,pathExt:n,pathExtExe:o}=ee(A,e),i=[],s=g=>new Promise((I,a)=>{if(g===r.length)return e.all&&i.length?I(i):a(Ae(A));let c=r[g],f=/^".*"$/.test(c)?c.slice(1,-1):c,u=_A.join(f,A),h=!f&&/^\.[\\\/]/.test(A)?A.slice(0,2)+u:u;I(C(h,g,0))}),C=(g,I,a)=>new Promise((c,f)=>{if(a===n.length)return c(s(I+1));let u=n[a];$A(g+u,{pathExt:o},(h,l)=>{if(!h&&l)if(e.all)i.push(g+u);else return c(g+u);return c(C(g,I,a+1))})});return t?s(0).then(g=>t(null,g),t):s(0)},xt=(A,e)=>{e=e||{};let{pathEnv:t,pathExt:r,pathExtExe:n}=ee(A,e),o=[];for(let i=0;i<t.length;i++){let s=t[i],C=/^".*"$/.test(s)?s.slice(1,-1):s,g=_A.join(C,A),I=!C&&/^\.[\\\/]/.test(A)?A.slice(0,2)+g:g;for(let a=0;a<r.length;a++){let c=I+r[a];try{if($A.sync(c,{pathExt:n}))if(e.all)o.push(c);else return c}catch{}}}if(e.all&&o.length)return o;if(e.nothrow)return null;throw Ae(A)};re.exports=te;te.sync=xt});var oe=p((_r,oA)=>{"use strict";var ie=(A={})=>{let e=A.env||process.env;return(A.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};oA.exports=ie;oA.exports.default=ie});var Ie=p(($r,ge)=>{"use strict";var ae=N("path"),Nt=ne(),kt=oe();function se(A,e){let t=A.options.env||process.env,r=process.cwd(),n=A.options.cwd!=null,o=n&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(A.options.cwd)}catch{}let i;try{i=Nt.sync(A.command,{path:t[kt({env:t})],pathExt:e?ae.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=ae.resolve(n?A.options.cwd:"",i)),i}function St(A){return se(A)||se(A,!0)}ge.exports=St});var Ce=p((An,sA)=>{"use strict";var aA=/([()\][%!^"`<>&|;, *?])/g;function Ft(A){return A=A.replace(aA,"^$1"),A}function Mt(A,e){return A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(aA,"^$1"),e&&(A=A.replace(aA,"^$1")),A}sA.exports.command=Ft;sA.exports.argument=Mt});var fe=p((en,ce)=>{"use strict";ce.exports=/^#!(.*)/});var he=p((tn,ue)=>{"use strict";var Jt=fe();ue.exports=(A="")=>{let e=A.match(Jt);if(!e)return null;let[t,r]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?r:r?`${n} ${r}`:n}});var le=p((rn,Qe)=>{"use strict";var gA=N("fs"),Lt=he();function Yt(A){let t=Buffer.alloc(150),r;try{r=gA.openSync(A,"r"),gA.readSync(r,t,0,150,0),gA.closeSync(r)}catch{}return Lt(t.toString())}Qe.exports=Yt});var we=p((nn,pe)=>{"use strict";var Gt=N("path"),Ee=Ie(),Be=Ce(),Ht=le(),bt=process.platform==="win32",Rt=/\.(?:com|exe)$/i,qt=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Kt(A){A.file=Ee(A);let e=A.file&&Ht(A.file);return e?(A.args.unshift(A.file),A.command=e,Ee(A)):A.file}function Ut(A){if(!bt)return A;let e=Kt(A),t=!Rt.test(e);if(A.options.forceShell||t){let r=qt.test(e);A.command=Gt.normalize(A.command),A.command=Be.command(A.command),A.args=A.args.map(o=>Be.argument(o,r));let n=[A.command].concat(A.args).join(" ");A.args=["/d","/s","/c",`"${n}"`],A.command=process.env.comspec||"cmd.exe",A.options.windowsVerbatimArguments=!0}return A}function zt(A,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let r={command:A,args:e,options:t,file:void 0,original:{command:A,args:e}};return t.shell?r:Ut(r)}pe.exports=zt});var me=p((on,ye)=>{"use strict";var IA=process.platform==="win32";function CA(A,e){return Object.assign(new Error(`${e} ${A.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${A.command}`,path:A.command,spawnargs:A.args})}function Ot(A,e){if(!IA)return;let t=A.emit;A.emit=function(r,n){if(r==="exit"){let o=ve(n,e);if(o)return t.call(A,"error",o)}return t.apply(A,arguments)}}function ve(A,e){return IA&&A===1&&!e.file?CA(e.original,"spawn"):null}function Tt(A,e){return IA&&A===1&&!e.file?CA(e.original,"spawnSync"):null}ye.exports={hookChildProcess:Ot,verifyENOENT:ve,verifyENOENTSync:Tt,notFoundError:CA}});var xe=p((an,Y)=>{"use strict";var De=N("child_process"),cA=we(),fA=me();function de(A,e,t){let r=cA(A,e,t),n=De.spawn(r.command,r.args,r.options);return fA.hookChildProcess(n,r),n}function Pt(A,e,t){let r=cA(A,e,t),n=De.spawnSync(r.command,r.args,r.options);return n.error=n.error||fA.verifyENOENTSync(n.status,r),n}Y.exports=de;Y.exports.spawn=de;Y.exports.sync=Pt;Y.exports._parse=cA;Y.exports._enoent=fA});var Ye=p((W,pA)=>{(function(e,t){typeof W=="object"&&typeof pA=="object"?pA.exports=t(N("stream/web")):typeof define=="function"&&define.amd?define(["stream/web"],t):typeof W=="object"?W["xz-decompress"]=t(N("stream/web")):e["xz-decompress"]=t(e["stream/web"])})(W,A=>(()=>{"use strict";var e=[,(o=>{o.exports="data:application/wasm;base64,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ACABQX9qIgENAAsgAkJ/hSECCyACC8oQAgx/An4CQAJAIAAoAiRFDQAgACgCACECDAELQQAhAiAAQQA6ACggAEIANwMAIABCADcDGCAAQcgAakEAQeQAEIaAgIAAGiAAQawBakEMNgIACyAAIAEoAgQiAzYCECAAQeAAaiEEIABByABqIQUgAEG2AWohBiAAQbABaiEHIABBqAFqIQggASgCECEJAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDgoBAgAEBQYHCAkKDwsgASgCACEKIAAoAqgBIQIgACgCrAEhCyABKAIEIQwgASgCCCENDAILIAcgACgCqAEiDGogASgCACABKAIEIgJqIAEoAgggAmsiAiAAKAKsASAMayIMIAIgDEkbIgIQh4CAgAAaIAEgASgCBCACajYCBEEAIQwgAEEAIAAoAqgBIAJqIgIgAiAAKAKsASILRhs2AqgBIAIgC0cNESAAQQE2AgACQCAHQaiIgIAAQQYQhICAgABFDQBBBSEMDBILIAZBAkEAEI2AgIAAIAAoALgBRw0QQQYhDCAGLQAADREgACAALQC3ASICNgIgIAJBBEsNEUEBIAJ0QRNxRQ0RCyABKAIEIgwgASgCCCINRg0OAkAgASgCACIKIAxqLQAAIgsNACAAIAw2AhAgASAMQQFqNgIEQQYhAgwMC0EAIQIgAEEANgKoASAAQQI2AgAgACALQQJ0QQRqIgs2AqwBIAAgCzYCQAsgByACaiAKIAxqIA0gDGsiDCALIAJrIgIgDCACSRsiAhCHgICAABogASABKAIEIAJqNgIEQQAhDCAAQQAgACgCqAEgAmoiAiACIAAoAqwBIgtGGzYCqAEgAiALRw0PIAAgAkF8aiICNgKsAUEHIQwgByACQQAQjYCAgAAgByAAKAKsASICaigAAEcNDyAAQQI2AqgBIAAtALEBIgtBP3ENDAJAAkAgC0HAAHFFDQAgACAHIAggAhCRgICAAEEBRw0RIAAgACkDCDcDMCAAKAKsASECIAAtALEBIQsMAQsgAEJ/NwMwC0J/IQ4CQCALwEF/Sg0AIAAgByAIIAIQkYCAgABBAUcNECAAKAKsASECIAApAwghDgsgACAONwM4IAIgACgCqAEiC2tBAkkNDyAAIAtBAWoiCjYCqAEgCCALakEI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AA8LIAEgA0EBaiIFNgIEAkAgASgCACADai0AACAAKQMYIAAoAgQiA62Ip0H/AXFGDQBBBw8LIAAgA0EIaiIGNgIEIAUhAyAGIAJJDQALIABBADYCBCAAQgA3AxhBAQtvAQF/QQchAQJAIABBugFqLwAAQdm0AUcNACAAQbQBakEGQQAQjYCAgAAgAEGwAWooAABHDQAgAEGAAWopAwBCAoggADUAtAFSDQAgAEG4AWotAAANAEEBQQcgACgCICAAQbkBai0AAEYbIQELIAELwAIBA38CQAJAAkAgACgCJA0AIABBADoAKCAAQQA2AgBBASECDAELAkAgACgCAEEKRw0AQQAhAwwCC0ECIQMMAQtBASEDCwJAAkADQAJAAkACQAJAIAMOAwABAwMLIAEoAgQiAyABKAIIIgRGDQQgASgCACEFAkADQCAFIANqLQAADQEgASADQQFqIgM2AgQgACAAKAIEQQFqQQNxNgIEIAQgA0YNBgwACwsCQCAAKAIERQ0AQQcPCyAAKAIkRQ0BIABBADoAKCAAQQA2AgBBASEDDAMLIABCADcDGCAAQQA2AgQgAEHIAGpBAEHkABCGgICAABogAEGsAWpBDDYCAAtBAiEDDAELIAAgARCQgICAACIDQQFHDQIgAEEKNgIAQQAhAwwACwsCQCACDQBBAA8LQQdBASAAKAIEGyEDCyADC3UBAX8CQEG4CRCAgICAACICRQ0AIAIgADYCJCACIAAgARCbgICAACIANgKwCQJAIABFDQAgAkEAOgAoIAJCADcDACACQgA3AxggAkHIAGpBAEHkABCGgICAABogAkGsAWpBDDYCACACDwsgAhCCgICAAAtBAAseAAJAIABFDQAgACgCsAkQnYCAgAAgABCCgICAAAsL3RABCn8gAEHo3QFqIQIgAEHUAGohAyAAQRxqIgRBCGohBQJAAkADQCAAKAJAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBCIHIAEoAghJDQAgBkEHRg0BDBELIAYOCQECAwQFBgcACQ4LIAAoAkwhBgwHC0EBIQYgASAHQQFqNgIEIAEoAgAgB2otAAAiB0UNCAJAAkAgB0HfAUsNACAHQQFHDQELIABBgAI7AVACQCAAKAI8DQAgACABKAIMIAEoAhAiBmo2AhggACABKAIUIAZr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"}),(o=>{o.exports=A})],t={};function r(o){var i=t[o];if(i!==void 0)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}r.d=(o,i)=>{for(var s in i)r.o(i,s)&&!r.o(o,s)&&Object.defineProperty(o,s,{enumerable:!0,get:i[s]})},r.o=(o,i)=>Object.prototype.hasOwnProperty.call(o,i),r.r=o=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{XzReadableStream:()=>a});var o=r(1);let i=globalThis.ReadableStream||r(2).ReadableStream,s=0,C=1;class g{constructor(f){this.exports=f.exports,this.memory=this.exports.memory,this.ptr=this.exports.create_context(),this._refresh(),this.bufSize=this.mem32[0],this.inStart=this.mem32[1]-this.ptr,this.inEnd=this.inStart+this.bufSize,this.outStart=this.mem32[4]-this.ptr}supplyInput(f){this._refresh(),this.mem8.subarray(this.inStart,this.inEnd).set(f,0),this.exports.supply_input(this.ptr,f.byteLength),this._refresh()}getNextOutput(){let f=this.exports.get_next_output(this.ptr);if(this._refresh(),f!==s&&f!==C)throw new Error(`get_next_output failed with error code ${f}`);return{outChunk:this.mem8.slice(this.outStart,this.outStart+this.mem32[5]),finished:f===C}}needsMoreInput(){return this.mem32[2]===this.mem32[3]}outputBufferIsFull(){return this.mem32[5]===this.bufSize}resetOutputBuffer(){this.outPos=this.mem32[5]=0}dispose(){this.exports.destroy_context(this.ptr),this.exports=null}_refresh(){this.memory.buffer!==this.mem8?.buffer&&(this.mem8=new Uint8Array(this.memory.buffer,this.ptr),this.mem32=new Uint32Array(this.memory.buffer,this.ptr))}}class I{constructor(){this.locked=!1,this.waitQueue=[]}async acquire(){if(!this.locked){this.locked=!0;return}return new Promise(f=>{this.waitQueue.push(f)})}release(){this.waitQueue.length>0?this.waitQueue.shift()():this.locked=!1}}class a extends i{static _moduleInstancePromise;static _moduleInstance;static _contextMutex=new I;static async _getModuleInstance(){let f=o.replace("data:application/wasm;base64,",""),u=Uint8Array.from(atob(f),E=>E.charCodeAt(0)).buffer,h={},l=await WebAssembly.instantiate(u,h);a._moduleInstance=l.instance}constructor(f){let u,h=null,l=f.getReader();super({async start(E){await a._contextMutex.acquire();try{a._moduleInstance||await(a._moduleInstancePromise||(a._moduleInstancePromise=a._getModuleInstance())),u=new g(a._moduleInstance)}catch(m){throw a._contextMutex.release(),m}},async pull(E){try{if(u.needsMoreInput()){if(h===null||h.byteLength===0){let{done:U,value:z}=await l.read();U||(h=z)}let w=Math.min(u.bufSize,h.byteLength);u.supplyInput(h.subarray(0,w)),h=h.subarray(w)}let m=u.getNextOutput();E.enqueue(m.outChunk),u.resetOutputBuffer(),m.finished&&(u.dispose(),a._contextMutex.release(),E.close())}catch(m){throw u&&u.dispose(),a._contextMutex.release(),m}},cancel(){try{return u&&u.dispose(),l.cancel()}finally{a._contextMutex.release()}}})}}})(),n})())});import{readFileSync as Kr,existsSync as Ur}from"node:fs";import{fileURLToPath as zr}from"node:url";var tt=RA(xe(),1);import{accessSync as kr,constants as $e,statSync as Sr}from"node:fs";import{homedir as Fr}from"node:os";import{posix as At,win32 as et}from"node:path";import{createHash as qe,randomUUID as hr}from"node:crypto";import{createReadStream as Ke}from"node:fs";import{mkdir as He,lstat as yA,open as Ue,readFile as ze,writeFile as Qr,rename as lr,rm as b,chmod as Er,stat as be,unlink as Br,rmdir as Re}from"node:fs/promises";import{lstatSync as pr}from"node:fs";import{homedir as Oe}from"node:os";import{posix as mA,win32 as DA}from"node:path";import{spawnSync as wr}from"node:child_process";import{createRequire as jt}from"module";var Wt=jt("/"),H,Xt,Zt;try{H=Wt("worker_threads"),Xt=H.Worker,Zt=H.isMarkedAsUntransferable}catch{}var y=Uint8Array,G=Uint16Array,Vt=Int32Array,Ne=new y([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ke=new y([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),_t=new y([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Se=function(A,e){for(var t=new G(31),r=0;r<31;++r)t[r]=e+=1<<A[r-1];for(var n=new Vt(t[30]),r=1;r<30;++r)for(var o=t[r];o<t[r+1];++o)n[o]=o-t[r]<<5|r;return{b:t,r:n}},H=Se(Ne,2),Fe=H.b,$t=H.r;Fe[28]=258,$t[258]=28;var Me=Se(ke,0),Ar=Me.b,gn=Me.r,lA=new G(32768);for(Q=0;Q<32768;++Q)S=(Q&43690)>>1|(Q&21845)<<1,S=(S&52428)>>2|(S&13107)<<2,S=(S&61680)>>4|(S&3855)<<4,lA[Q]=((S&65280)>>8|(S&255)<<8)>>1;var S,Q,P=(function(A,e,t){for(var r=A.length,n=0,o=new G(e);n<r;++n)A[n]&&++o[A[n]-1];var i=new G(e);for(n=1;n<e;++n)i[n]=i[n-1]+o[n-1]<<1;var s;if(t){s=new G(1<<e);var C=15-e;for(n=0;n<r;++n)if(A[n])for(var g=n<<4|A[n],I=e-A[n],a=i[A[n]-1]++<<I,c=a|(1<<I)-1;a<=c;++a)s[lA[a]>>C]=g}else for(s=new G(r),n=0;n<r;++n)A[n]&&(s[n]=lA[i[A[n]-1]++]>>15-A[n]);return s}),j=new y(288);for(Q=0;Q<144;++Q)j[Q]=8;var Q;for(Q=144;Q<256;++Q)j[Q]=9;var Q;for(Q=256;Q<280;++Q)j[Q]=7;var Q;for(Q=280;Q<288;++Q)j[Q]=8;var Q,Je=new y(32);for(Q=0;Q<32;++Q)Je[Q]=5;var Q;var er=P(j,9,1);var tr=P(Je,5,1),uA=function(A){for(var e=A[0],t=1;t<A.length;++t)A[t]>e&&(e=A[t]);return e},x=function(A,e,t){var r=e/8|0;return(A[r]|A[r+1]<<8)>>(e&7)&t},hA=function(A,e){var t=e/8|0;return(A[t]|A[t+1]<<8|A[t+2]<<16)>>(e&7)},rr=function(A){return(A+7)/8|0},BA=function(A,e,t){return(e==null||e<0)&&(e=0),(t==null||t>A.length)&&(t=A.length),new y(A.subarray(e,t))};var nr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],v=function(A,e,t){var r=new Error(e||nr[A]);if(r.code=A,Error.captureStackTrace&&Error.captureStackTrace(r,v),!t)throw r;return r},ir=function(A,e,t,r){var n=A.length,o=r?r.length:0;if(!n||e.f&&!e.l)return t||new y(0);var i=!t,s=i||e.i!=2,C=e.i;i&&(t=new y(n*3));var g=function(YA){var GA=t.length;if(YA>GA){var HA=new y(Math.max(GA*2,YA));HA.set(t),t=HA}},I=e.f||0,a=e.p||0,c=e.b||0,f=e.l,u=e.d,h=e.m,l=e.n,E=n*8;do{if(!f){I=x(A,a,1);var m=x(A,a+1,3);if(a+=3,m)if(m==1)f=er,u=tr,h=9,l=5;else if(m==2){var AA=x(A,a,31)+257,xA=x(A,a+10,15)+4,NA=AA+x(A,a+5,31)+1;a+=14;for(var O=new y(NA),eA=new y(19),D=0;D<xA;++D)eA[_t[D]]=x(A,a+D*3,7);a+=xA*3;for(var kA=uA(eA),It=(1<<kA)-1,Ct=P(eA,kA,1),D=0;D<NA;){var SA=Ct[x(A,a,It)];a+=SA&15;var w=SA>>4;if(w<16)O[D++]=w;else{var M=0,X=0;for(w==16?(X=3+x(A,a,3),a+=2,M=O[D-1]):w==17?(X=3+x(A,a,7),a+=3):w==18&&(X=11+x(A,a,127),a+=7);X--;)O[D++]=M}}var FA=O.subarray(0,AA),F=O.subarray(AA);h=uA(FA),l=uA(F),f=P(FA,h,1),u=P(F,l,1)}else v(1);else{var w=rr(a)+4,U=A[w-4]|A[w-3]<<8,z=w+U;if(z>n){C&&v(0);break}s&&g(c+U),t.set(A.subarray(w,z),c),e.b=c+=U,e.p=a=z*8,e.f=I;continue}if(a>E){C&&v(0);break}}s&&g(c+131072);for(var ct=(1<<h)-1,ft=(1<<l)-1,tA=a;;tA=a){var M=f[hA(A,a)&ct],J=M>>4;if(a+=M&15,a>E){C&&v(0);break}if(M||v(2),J<256)t[c++]=J;else if(J==256){tA=a,f=null;break}else{var MA=J-254;if(J>264){var D=J-257,T=Ne[D];MA=x(A,a,(1<<T)-1)+Fe[D],a+=T}var rA=u[hA(A,a)&ft],nA=rA>>4;rA||v(3),a+=rA&15;var F=Ar[nA];if(nA>3){var T=ke[nA];F+=hA(A,a)&(1<<T)-1,a+=T}if(a>E){C&&v(0);break}s&&g(c+131072);var JA=c+MA;if(c<F){var LA=o-F,ut=Math.min(F,JA);for(LA+c<0&&v(3);c<ut;++c)t[c]=r[LA+c]}for(;c<JA;++c)t[c]=t[c-F]}}e.l=f,e.p=tA,e.b=c,e.f=I,f&&(I=1,e.m=h,e.d=u,e.n=l)}while(!I);return c!=t.length&&i?BA(t,0,c):t.subarray(0,c)};var or=new y(0);var k=function(A,e){return A[e]|A[e+1]<<8},d=function(A,e){return(A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24)>>>0},QA=function(A,e){return d(A,e)+d(A,e+4)*4294967296};function ar(A,e){return ir(A,{i:2},e&&e.out,e&&e.dictionary)}var EA=typeof TextDecoder<"u"&&new TextDecoder,sr=0;try{EA.decode(or,{stream:!0}),sr=1}catch{}var gr=function(A){for(var e="",t=0;;){var r=A[t++],n=(r>127)+(r>223)+(r>239);if(t+n>A.length)return{s:e,r:BA(A,t-1)};n?n==3?(r=((r&15)<<18|(A[t++]&63)<<12|(A[t++]&63)<<6|A[t++]&63)-65536,e+=String.fromCharCode(55296|r>>10,56320|r&1023)):n&1?e+=String.fromCharCode((r&31)<<6|A[t++]&63):e+=String.fromCharCode((r&15)<<12|(A[t++]&63)<<6|A[t++]&63):e+=String.fromCharCode(r)}};function Ir(A,e){if(e){for(var t="",r=0;r<A.length;r+=16384)t+=String.fromCharCode.apply(null,A.subarray(r,r+16384));return t}else{if(EA)return EA.decode(A);var n=gr(A),o=n.s,t=n.r;return t.length&&v(8),o}}var Cr=function(A,e){return e+30+k(A,e+26)+k(A,e+28)},cr=function(A,e,t){var r=k(A,e+28),n=k(A,e+30),o=Ir(A.subarray(e+46,e+46+r),!(k(A,e+8)&2048)),i=e+46+r,s=fr(A,i,n,t,d(A,e+20),d(A,e+24),d(A,e+42)),C=s[0],g=s[1],I=s[2];return[k(A,e+10),C,g,o,i+n+k(A,e+32),I]},fr=function(A,e,t,r,n,o,i){var s=n==4294967295,C=o==4294967295,g=i==4294967295,I=e+t,a=s+C+g;if(r&&a){for(;e+4<I;e+=4+k(A,e+2))if(k(A,e)==1)return[s?QA(A,e+4+8*C):n,C?QA(A,e+4):o,g?QA(A,e+4+8*(C+s)):i,1];r<2&&v(13)}return[n,o,i,0]};function Le(A,e){for(var t={},r=A.length-22;d(A,r)!=101010256;--r)(!r||A.length-r>65558)&&v(13);var n=k(A,r+8);if(!n)return{};var o=d(A,r+16),i=d(A,r-20)==117853008;if(i){var s=d(A,r-12);i=d(A,s)==101075792,i&&(n=d(A,s+32),o=d(A,s+48))}for(var C=e&&e.filter,g=0;g<n;++g){var I=cr(A,o,i),a=I[0],c=I[1],f=I[2],u=I[3],h=I[4],l=I[5],E=Cr(A,l);o=h,(!C||C({name:u,size:c,originalSize:f,compression:a}))&&(a?a==8?t[u]=ar(A.subarray(E,E+c),{out:new y(f)}):v(14,"unknown compression type "+a):t[u]=BA(A,E,E+c))}return t}var Te=RA(Ye(),1);var Ge={"darwin-arm64":{version:"9.0.2",url:"https://www.osxexperts.net/ffmpeg902arm.zip",format:"zip",entry:"ffmpeg",archiveBytes:22665869,archiveSha256:"07e00300593799005b060c03a99fe648b1edda0f30c36b0c1adafe8e3247e586",binaryBytes:52160568,binarySha256:"762f16b2913b8d3b8fdb8092df12b691053b035b13ae9b88205513c55cb8e71e"},"darwin-x64":{version:"9.0.2",url:"https://evermeet.cx/ffmpeg/ffmpeg-9.0.2.zip",format:"zip",entry:"ffmpeg",archiveBytes:26198325,archiveSha256:"4acc0be580f9b2788029eb7bd4d645ff87968911b0a62aeeb3940d42d54558d5",binaryBytes:80827688,binarySha256:"a45b462cf91ed89148ae218c4577e30896485d7a6792c3673bcf5f823fa01b63"},"linux-x64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-linux64-gpl-9.0.tar.xz",format:"tar.xz",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-linux64-gpl-9.0/bin/ffmpeg",archiveBytes:153175100,archiveSha256:"73e29a56974ae5a651133a04584c7483b21afe941e17dc91d79814a758b608d3"},"linux-arm64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-linuxarm64-gpl-9.0.tar.xz",format:"tar.xz",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-linuxarm64-gpl-9.0/bin/ffmpeg",archiveBytes:128664064,archiveSha256:"6cad88ae5bcec356cfc5d7979a036cc4007128201928a0cf243df3db483276cc"},"win32-x64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-win64-gpl-9.0.zip",format:"zip",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-win64-gpl-9.0/bin/ffmpeg.exe",archiveBytes:195110184,archiveSha256:"693f3e224bc184b40524a62ca47526cfebaf2504414021b92fe75f677ad868b9"}};var R=new Map,V=new Map,vr="@kyun.si/codex-hongguo",B=()=>Error("\u64AD\u653E\u7EC4\u4EF6\u81EA\u52A8\u51C6\u5907\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u548C\u7F13\u5B58\u76EE\u5F55\u6743\u9650\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"),yr=A=>new Promise(e=>setTimeout(e,A));function Pe(A={}){let{env:e=process.env,home:t=Oe(),platform:r=process.platform,arch:n=process.arch}=A,o=r==="win32"?DA:mA;if(e.HONGGUO_FFMPEG){if(!o.isAbsolute(e.HONGGUO_FFMPEG))throw B();return{...A,env:e,platform:r,target:e.HONGGUO_FFMPEG,override:!0}}let i=(A.artifacts||Ge)[r+"-"+n];if(!i)throw Error("\u5F53\u524D\u7CFB\u7EDF\u67B6\u6784\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\u3002");let s=je({env:e,home:t,platform:r,paths:o}),C=o.join(s,"runtime","ffmpeg",i.archiveSha256.slice(0,16),r+"-"+n);return{...A,env:e,platform:r,artifact:i,directory:C,target:o.join(C,r==="win32"?"ffmpeg.exe":"ffmpeg")}}function je({env:A,home:e,platform:t,paths:r}){return A.HONGGUO_RUNTIME_DIR?r.join(A.HONGGUO_RUNTIME_DIR,"codex-hongguo"):t==="darwin"?r.join(e,"Library","Caches","CodexHongguo"):t==="win32"?r.join(A.LOCALAPPDATA||r.join(e,"AppData","Local"),"CodexHongguo","Cache"):r.join(A.XDG_CACHE_HOME||r.join(e,".cache"),"codex-hongguo")}function We(A){return Pe(A).target}function wA(A){try{let e=pr(A);return e.isFile()&&!e.isSymbolicLink()?`${e.size}:${e.mtimeMs}:${e.ctimeMs}`:null}catch{return null}}async function Xe(A){let e=qe("sha256");for await(let t of Ke(A))e.update(t);return e.digest("hex")}function Ze(A,e){return e.probe?e.probe(A):wr(A,["-version"],{stdio:"ignore",timeout:5e3,windowsHide:!0}).status===0}async function vA(A){let{target:e,artifact:t}=A;if(R.get(e)&&R.get(e)===wA(e))return!0;try{let r=await yA(e);if(!r.isFile()||r.isSymbolicLink())return!1;if(t){let n=JSON.parse(await ze(e+".json","utf8"));if(n.archiveSha256!==t.archiveSha256||!/^[a-f0-9]{64}$/.test(n.binarySha256)||r.size!==(t.binaryBytes||n.binaryBytes)||await Xe(e)!==(t.binarySha256||n.binarySha256))return!1}return Ze(e,A)?(R.set(e,wA(e)),!0):!1}catch{return!1}}async function mr(A,e,t){let r=new Set(["github.com","release-assets.githubusercontent.com","objects.githubusercontent.com","evermeet.cx","www.osxexperts.net"]),n=AbortSignal.timeout(3e5),o=new URL(A.url),i;for(let I=0;I<=6;I++){if(o.protocol!=="https:"||o.username||o.password||o.port||!r.has(o.hostname))throw B();if(i=await t(o,{redirect:"manual",signal:n}),![301,302,303,307,308].includes(i.status))break;let a=i.headers.get("location");if(await i.body?.cancel(),!a||I===6)throw B();o=new URL(a,o)}if(!i.ok||!i.body||Number(i.headers.get("content-length"))>A.archiveBytes)throw await i.body?.cancel(),B();let s=await Ue(e,"wx",384),C=qe("sha256"),g=0;try{for await(let I of i.body){if(g+=I.length,g>A.archiveBytes)throw B();C.update(I),await s.writeFile(I)}if(g!==A.archiveBytes||C.digest("hex")!==A.archiveSha256)throw B()}finally{await s.close()}}async function Dr(A,e,t){let r=await Ue(t,"wx",384);try{if(A.format==="zip"){let c=Le(await ze(e),{filter:f=>f.name===A.entry&&f.originalSize<=(A.binaryBytes||268435456)})[A.entry];if(!c||A.binaryBytes&&c.length!==A.binaryBytes)throw B();await r.writeFile(c);return}let n=new Te.default.XzReadableStream(dr(e)),o=n.getReader(),i=Buffer.alloc(0),s=0,C=0,g=!1,I=0;try{for(;;){let{value:a,done:c}=await o.read();if(c)break;if(I+=a.length,I>1024*1024*1024)throw B();for(i=Buffer.concat([i,a]);i.length;)if(s){let f=Math.min(s,i.length);if(g&&await r.writeFile(i.subarray(0,f)),i=i.subarray(f),s-=f,!s&&g)return}else if(C){let f=Math.min(C,i.length);i=i.subarray(f),C-=f}else{if(i.length<512)break;let f=i.subarray(0,512);i=i.subarray(512);let u=(E,m)=>f.subarray(E,m).toString("utf8").split("\0")[0],h=[u(345,500),u(0,100)].filter(Boolean).join("/"),l=parseInt(u(124,136).trim()||"0",8);if(!Number.isSafeInteger(l)||l<0||l>512*1024*1024||(g=h===A.entry,g&&(A.binaryBytes&&l!==A.binaryBytes||l>256*1024*1024||![0,48].includes(f[156]))))throw B();s=l,C=(512-l%512)%512}}throw B()}finally{await o.cancel().catch(()=>{})}}finally{await r.close()}}function dr(A){let e=Ke(A)[Symbol.asyncIterator]();return new ReadableStream({async pull(t){let{value:r,done:n}=await e.next();n?t.close():t.enqueue(r)},async cancel(){await e.return?.()}})}async function Ve(A={}){let e=Pe(A);if(await vA(e))return e.target;if(e.override)throw B();if(V.has(e.target))return V.get(e.target);let t=Nr(e).finally(()=>V.delete(e.target));return V.set(e.target,t),t}async function xr(A,e){for(let t=A;;t=e.dirname(t)){let r=await yA(t);if(!r.isDirectory()||r.isSymbolicLink())return!1;if(e.dirname(t)===t)return!0}}async function _e(A={}){let{env:e=process.env,home:t=Oe(),platform:r=process.platform}=A,n=r==="win32"?DA:mA,o=je({env:e,home:t,platform:r,paths:n}),i=n.join(o,"runtime","ffmpeg"),s=n.dirname(i),C=()=>Error("\u63D2\u4EF6\u5DF2\u5378\u8F7D\uFF0C\u4F46\u64AD\u653E\u7EC4\u4EF6\u6E05\u7406\u5931\u8D25\u3002\u8BF7\u5173\u95ED\u64AD\u653E\u5668\u5E76\u68C0\u67E5\u7F13\u5B58\u76EE\u5F55\u6743\u9650\u540E\uFF0C\u91CD\u65B0\u8FD0\u884C uninstall\u3002");if(!n.isAbsolute(o))throw C();try{if(!await xr(s,n))throw C();let g=await yA(i);g.isDirectory()&&!g.isSymbolicLink()?await b(i,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await Br(i);for(let I of R.keys()){let a=n.relative(i,I);a&&!a.startsWith(".."+n.sep)&&!n.isAbsolute(a)&&R.delete(I)}}catch(g){if(g.code==="ENOENT")return{removed:0};throw C()}return await Re(s).catch(()=>{}),await Re(o).catch(()=>{}),{removed:1}}async function Nr(A){let{directory:e,target:t,artifact:r}=A,n=e+".lock",o=Date.now()+42e4;await He(e,{recursive:!0,mode:448});let i=!1;for(;!i;)try{await He(n,{mode:448}),i=!0}catch(a){if(a.code!=="EEXIST"||Date.now()>o)throw B();if(await vA(A))return t;try{Date.now()-(await be(n)).mtimeMs>6e5&&await b(n,{recursive:!0,force:!0})}catch{}await yr(200)}let s=A.platform==="win32"?DA:mA,C=s.basename(t)+"."+hr(),g=s.join(e,C+".archive"),I=s.join(e,C+".part");try{if(await vA(A))return t;await mr(r,g,A.fetchImpl||fetch),await Dr(r,g,I);let a=await Xe(I);if(r.binarySha256&&a!==r.binarySha256||(await Er(I,493),!Ze(I,A)))throw B();return A.platform==="win32"&&await b(t,{force:!0}),await lr(I,t),await Qr(t+".json",JSON.stringify({owner:vr,schema:1,archiveSha256:r.archiveSha256,binarySha256:a,binaryBytes:(await be(t)).size,version:r.version})+`
3
- `,{mode:384}),R.set(t,wA(t)),t}catch{throw B()}finally{await Promise.all([b(g,{force:!0}),b(I,{force:!0}),b(n,{recursive:!0,force:!0})])}}var _=tt.default.sync;function $(A,e,{env:t=process.env,home:r=Fr(),platform:n=process.platform,arch:o=process.arch}={}){if(e)return e;if(A==="ffmpeg")return We({env:t,home:r,platform:n,arch:o});let{delimiter:i,dirname:s,join:C,isAbsolute:g,extname:I}=n==="win32"?et:At,a=Object.keys(t).find(h=>h.toUpperCase()==="PATH")||"PATH",c=[s(process.execPath),...(t[a]||"").split(i).filter(Boolean).map(h=>h.replace(/^"(.*)"$/,"$1"))];n!=="win32"?c.push("/opt/homebrew/bin","/usr/local/bin","/usr/bin","/bin",C(r,".volta/bin"),C(r,".local/bin")):c.push(C(t.APPDATA||C(r,"AppData","Roaming"),"npm"),C(r,".volta","bin"));let f=n!=="win32"||I(A)?[""]:[".exe",".com",".cmd",".bat"],u=c.filter(g).flatMap(h=>f.map(l=>C(h,A+l)));A==="codex"&&n==="darwin"&&u.push("/Applications/Codex.app/Contents/Resources/codex");for(let h of u)try{if(kr(h,n==="win32"?$e.F_OK:$e.X_OK),Sr(h).isFile())return h}catch{}return A}function rt(){let{delimiter:A,dirname:e}=process.platform==="win32"?et:At,t=Object.keys(process.env).find(r=>r.toUpperCase()==="PATH")||"PATH";process.env[t]=[...new Set([e(process.execPath),...(process.env[t]||"").split(A).filter(Boolean)])].join(A),process.env.HONGGUO_CODEX=$("codex",process.env.HONGGUO_CODEX)}var nt="\u8BF7\u5728 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\u4E2D\u68C0\u67E5\u6388\u6743\uFF0C\u5BA1\u67E5\u3001\u4FE1\u4EFB\u5E76\u542F\u7528 UserPromptSubmit\u3001Stop\u3001Interrupt\u3002";import{lstat as it,rm as Gr,unlink as Hr}from"node:fs/promises";import{homedir as br}from"node:os";import{posix as Rr,win32 as qr}from"node:path";import{homedir as Mr}from"node:os";import{posix as Jr,win32 as Lr}from"node:path";import{fileURLToPath as Yr}from"node:url";var Fn=Yr(new URL("../../",import.meta.url));function dA({env:A=process.env,home:e=Mr(),platform:t=process.platform}={}){let{join:r}=t==="win32"?Lr:Jr;return A.HONGGUO_DATA_DIR?A.HONGGUO_DATA_DIR:t==="darwin"?r(e,"Library","Application Support","CodexHongguo"):t==="win32"?r(A.LOCALAPPDATA||r(e,"AppData","Local"),"CodexHongguo"):r(A.XDG_DATA_HOME||r(e,".local","share"),"codex-hongguo")}async function ot(A={}){let{env:e=process.env,home:t=br(),platform:r=process.platform}=A,n=r==="win32"?qr:Rr,o=n.resolve(dA({env:e,home:t,platform:r})),i=n.resolve(dA({env:{...e,HONGGUO_DATA_DIR:void 0},home:t,platform:r})),s=o===i?[o]:["player.sqlite","player.sqlite-wal","player.sqlite-shm","player.sqlite-journal","media","panel-media","device"].map(g=>n.join(o,g)),C=!1;for(let g of s)try{for(let a=n.dirname(g);;a=n.dirname(a)){let c=await it(a);if(!c.isDirectory()||c.isSymbolicLink())throw Error("Substituted data ancestor");if(n.dirname(a)===a)break}let I=await it(g);I.isDirectory()&&!I.isSymbolicLink()?await Gr(g,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await Hr(g)}catch(I){I.code!=="ENOENT"&&(C=!0)}if(C)throw Error("\u63D2\u4EF6\u5DF2\u5378\u8F7D\uFF0C\u4F46\u672C\u5730\u6570\u636E\u6E05\u7406\u5931\u8D25\u3002\u8BF7\u5173\u95ED\u64AD\u653E\u5668\u5E76\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u540E\uFF0C\u91CD\u65B0\u8FD0\u884C uninstall\u3002")}var q="hongguo-local",K="codex-hongguo@"+q,gt="mreasonyang/codex-hongguo",at=A=>typeof A=="string"?A.replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,"").replace(/\/$/,""):A;function st(A,e=process.env){return t=>{let r=_(A,[...t,"--json"],{env:e,encoding:"utf8",timeout:12e4,windowsHide:!0,maxBuffer:4194304});if(r.status!==0)throw Error("Codex \u6B65\u9AA4\u5931\u8D25\uFF1A"+t.slice(0,3).join(" ")+"\u3002\u8BF7\u5728 Codex \u63D2\u4EF6\u8BBE\u7F6E\u4E2D\u68C0\u67E5\u72B6\u6001\u540E\u91CD\u8BD5\u3002");try{return JSON.parse(r.stdout)}catch{throw Error("Codex \u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u7ED3\u679C\uFF0C\u8BF7\u66F4\u65B0 Codex \u540E\u91CD\u8BD5\u3002")}}}function Or(A){if(/^[\w.-]+\/[\w.-]+$/.test(A)||Ur(A))return A;throw Error("--marketplace \u53EA\u63A5\u53D7 owner/repo \u6216\u73B0\u6709\u672C\u5730\u5E02\u573A\u76EE\u5F55\u3002")}function Tr({run:A,source:e=gt,dryRun:t=!1,log:r=console.log}){if(Or(e),t){r("\u5C06\u4F7F\u7528 Codex \u539F\u751F\u5E02\u573A\u5B89\u88C5 "+K+"\uFF1B\u5E02\u573A\u6765\u6E90\uFF1A"+e),r("\u89C2\u770B\u8FDB\u5EA6\u4FDD\u7559\u5728\u539F\u6570\u636E\u76EE\u5F55\u3002\u5B89\u88C5\u5B8C\u6210\u540E\u9700\u5728 Codex \u4E2D\u5BA1\u67E5\u5E76\u4FE1\u4EFB\u4E09\u4E2A Hooks\u3002");return}let n=A(["plugin","marketplace","list"]).marketplaces?.find(s=>s.name===q),o=n?.marketplaceSource?.source,i=!!n&&at(o)!==at(e);i&&A(["plugin","marketplace","remove",q]);try{A(["plugin","marketplace","add",e]),!i&&n?.marketplaceSource?.sourceType==="git"&&A(["plugin","marketplace","upgrade",q]),A(["plugin","add",K])}catch(s){if(i&&o){try{A(["plugin","marketplace","remove",q])}catch{}try{A(["plugin","marketplace","add",o]),A(["plugin","add",K])}catch{throw Error("\u5B89\u88C5\u5931\u8D25\uFF0C\u539F\u5E02\u573A\u672A\u80FD\u81EA\u52A8\u6062\u590D\u3002\u8BF7\u4ECE Codex \u63D2\u4EF6\u8BBE\u7F6E\u91CD\u65B0\u6DFB\u52A0\u539F\u6765\u6E90\uFF1B\u89C2\u770B\u8FDB\u5EA6\u4ECD\u4FDD\u7559\u3002")}}throw s}r("\u7EA2\u679C\u77ED\u5267\u5DF2\u5B89\u88C5\u3002\u8BF7\u5728\u65B0\u7684\u672C\u5730\u804A\u5929\u4E2D\u4F7F\u7528\uFF1B\u66F4\u65B0\u65F6\u5148\u5173\u95ED\u65E7\u64AD\u653E\u5668\u3002")}async function On(A=process.argv.slice(2)){try{let[e="help",...t]=A;if(e==="--version"){console.log(JSON.parse(Kr(new URL("../../package.json",import.meta.url),"utf8")).version);return}if(["help","--help","-h"].includes(e)){console.log(`\u7EA2\u679C\u77ED\u5267
2
+ var Qt=Object.create;var UA=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Bt=Object.getPrototypeOf,pt=Object.prototype.hasOwnProperty;var N=(A=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(A,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):A)(function(A){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+A+'" is not supported')});var p=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var wt=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Et(e))!pt.call(A,n)&&n!==t&&UA(A,n,{get:()=>e[n],enumerable:!(r=lt(e,n))||r.enumerable});return A};var oA=(A,e,t)=>(t=A!=null?Qt(Bt(A)):{},wt(e||!A||!A.__esModule?UA(t,"default",{value:A,enumerable:!0}):t,A));var jA=p((Zr,PA)=>{PA.exports=TA;TA.sync=mt;var zA=N("fs");function vt(A,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var r=0;r<t.length;r++){var n=t[r].toLowerCase();if(n&&A.substr(-n.length).toLowerCase()===n)return!0}return!1}function OA(A,e,t){return!A.isSymbolicLink()&&!A.isFile()?!1:vt(e,t)}function TA(A,e,t){zA.stat(A,function(r,n){t(r,r?!1:OA(n,A,e))})}function mt(A,e){return OA(zA.statSync(A),A,e)}});var $A=p((Vr,VA)=>{VA.exports=XA;XA.sync=yt;var WA=N("fs");function XA(A,e,t){WA.stat(A,function(r,n){t(r,r?!1:ZA(n,e))})}function yt(A,e){return ZA(WA.statSync(A),e)}function ZA(A,e){return A.isFile()&&Dt(A,e)}function Dt(A,e){var t=A.mode,r=A.uid,n=A.gid,i=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),C=parseInt("010",8),g=parseInt("001",8),I=a|C,s=t&g||t&C&&n===o||t&a&&r===i||t&I&&i===0;return s}});var Ae=p((_r,_A)=>{var $r=N("fs"),Z;process.platform==="win32"||global.TESTING_WINDOWS?Z=jA():Z=$A();_A.exports=sA;sA.sync=dt;function sA(A,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,n){sA(A,e||{},function(i,o){i?n(i):r(o)})})}Z(A,e||{},function(r,n){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,n=!1),t(r,n)})}function dt(A,e){try{return Z.sync(A,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var se=p((An,oe)=>{var L=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ee=N("path"),xt=L?";":":",te=Ae(),re=A=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),ne=(A,e)=>{let t=e.colon||xt,r=A.match(/\//)||L&&A.match(/\\/)?[""]:[...L?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=L?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=L?n.split(t):[""];return L&&A.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:r,pathExt:i,pathExtExe:n}},ie=(A,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:r,pathExt:n,pathExtExe:i}=ne(A,e),o=[],a=g=>new Promise((I,s)=>{if(g===r.length)return e.all&&o.length?I(o):s(re(A));let c=r[g],f=/^".*"$/.test(c)?c.slice(1,-1):c,u=ee.join(f,A),h=!f&&/^\.[\\\/]/.test(A)?A.slice(0,2)+u:u;I(C(h,g,0))}),C=(g,I,s)=>new Promise((c,f)=>{if(s===n.length)return c(a(I+1));let u=n[s];te(g+u,{pathExt:i},(h,l)=>{if(!h&&l)if(e.all)o.push(g+u);else return c(g+u);return c(C(g,I,s+1))})});return t?a(0).then(g=>t(null,g),t):a(0)},Nt=(A,e)=>{e=e||{};let{pathEnv:t,pathExt:r,pathExtExe:n}=ne(A,e),i=[];for(let o=0;o<t.length;o++){let a=t[o],C=/^".*"$/.test(a)?a.slice(1,-1):a,g=ee.join(C,A),I=!C&&/^\.[\\\/]/.test(A)?A.slice(0,2)+g:g;for(let s=0;s<r.length;s++){let c=I+r[s];try{if(te.sync(c,{pathExt:n}))if(e.all)i.push(c);else return c}catch{}}}if(e.all&&i.length)return i;if(e.nothrow)return null;throw re(A)};oe.exports=ie;ie.sync=Nt});var ge=p((en,aA)=>{"use strict";var ae=(A={})=>{let e=A.env||process.env;return(A.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};aA.exports=ae;aA.exports.default=ae});var fe=p((tn,ce)=>{"use strict";var Ie=N("path"),kt=se(),St=ge();function Ce(A,e){let t=A.options.env||process.env,r=process.cwd(),n=A.options.cwd!=null,i=n&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(A.options.cwd)}catch{}let o;try{o=kt.sync(A.command,{path:t[St({env:t})],pathExt:e?Ie.delimiter:void 0})}catch{}finally{i&&process.chdir(r)}return o&&(o=Ie.resolve(n?A.options.cwd:"",o)),o}function Ft(A){return Ce(A)||Ce(A,!0)}ce.exports=Ft});var CA=p((rn,IA)=>{"use strict";var gA=/([()\][%!^"`<>&|;, *?])/g;function Mt(A){return A=A.replace(gA,"^$1"),A}function Jt(A,e){return A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(gA,"^$1"),e&&(A=A.replace(gA,"^$1")),A}IA.exports.command=Mt;IA.exports.argument=Jt});var he=p((nn,ue)=>{"use strict";ue.exports=/^#!(.*)/});var le=p((on,Qe)=>{"use strict";var Lt=he();Qe.exports=(A="")=>{let e=A.match(Lt);if(!e)return null;let[t,r]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?r:r?`${n} ${r}`:n}});var Be=p((sn,Ee)=>{"use strict";var cA=N("fs"),Yt=le();function Gt(A){let t=Buffer.alloc(150),r;try{r=cA.openSync(A,"r"),cA.readSync(r,t,0,150,0),cA.closeSync(r)}catch{}return Yt(t.toString())}Ee.exports=Gt});var me=p((an,ve)=>{"use strict";var Ht=N("path"),pe=fe(),we=CA(),bt=Be(),Rt=process.platform==="win32",qt=/\.(?:com|exe)$/i,Kt=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ut(A){A.file=pe(A);let e=A.file&&bt(A.file);return e?(A.args.unshift(A.file),A.command=e,pe(A)):A.file}function zt(A){if(!Rt)return A;let e=Ut(A),t=!qt.test(e);if(A.options.forceShell||t){let r=Kt.test(e);A.command=Ht.normalize(A.command),A.command=we.command(A.command),A.args=A.args.map(i=>we.argument(i,r));let n=[A.command].concat(A.args).join(" ");A.args=["/d","/s","/c",`"${n}"`],A.command=process.env.comspec||"cmd.exe",A.options.windowsVerbatimArguments=!0}return A}function Ot(A,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let r={command:A,args:e,options:t,file:void 0,original:{command:A,args:e}};return t.shell?r:zt(r)}ve.exports=Ot});var de=p((gn,De)=>{"use strict";var fA=process.platform==="win32";function uA(A,e){return Object.assign(new Error(`${e} ${A.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${A.command}`,path:A.command,spawnargs:A.args})}function Tt(A,e){if(!fA)return;let t=A.emit;A.emit=function(r,n){if(r==="exit"){let i=ye(n,e);if(i)return t.call(A,"error",i)}return t.apply(A,arguments)}}function ye(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawn"):null}function Pt(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawnSync"):null}De.exports={hookChildProcess:Tt,verifyENOENT:ye,verifyENOENTSync:Pt,notFoundError:uA}});var ke=p((In,Y)=>{"use strict";var xe=N("child_process"),hA=me(),QA=de();function Ne(A,e,t){let r=hA(A,e,t),n=xe.spawn(r.command,r.args,r.options);return QA.hookChildProcess(n,r),n}function jt(A,e,t){let r=hA(A,e,t),n=xe.spawnSync(r.command,r.args,r.options);return n.error=n.error||QA.verifyENOENTSync(n.status,r),n}Y.exports=Ne;Y.exports.spawn=Ne;Y.exports.sync=jt;Y.exports._parse=hA;Y.exports._enoent=QA});var He=p((W,mA)=>{(function(e,t){typeof W=="object"&&typeof mA=="object"?mA.exports=t(N("stream/web")):typeof define=="function"&&define.amd?define(["stream/web"],t):typeof W=="object"?W["xz-decompress"]=t(N("stream/web")):e["xz-decompress"]=t(e["stream/web"])})(W,A=>(()=>{"use strict";var e=[,(i=>{i.exports="data:application/wasm;base64,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ACABQX9qIgENAAsgAkJ/hSECCyACC8oQAgx/An4CQAJAIAAoAiRFDQAgACgCACECDAELQQAhAiAAQQA6ACggAEIANwMAIABCADcDGCAAQcgAakEAQeQAEIaAgIAAGiAAQawBakEMNgIACyAAIAEoAgQiAzYCECAAQeAAaiEEIABByABqIQUgAEG2AWohBiAAQbABaiEHIABBqAFqIQggASgCECEJAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDgoBAgAEBQYHCAkKDwsgASgCACEKIAAoAqgBIQIgACgCrAEhCyABKAIEIQwgASgCCCENDAILIAcgACgCqAEiDGogASgCACABKAIEIgJqIAEoAgggAmsiAiAAKAKsASAMayIMIAIgDEkbIgIQh4CAgAAaIAEgASgCBCACajYCBEEAIQwgAEEAIAAoAqgBIAJqIgIgAiAAKAKsASILRhs2AqgBIAIgC0cNESAAQQE2AgACQCAHQaiIgIAAQQYQhICAgABFDQBBBSEMDBILIAZBAkEAEI2AgIAAIAAoALgBRw0QQQYhDCAGLQAADREgACAALQC3ASICNgIgIAJBBEsNEUEBIAJ0QRNxRQ0RCyABKAIEIgwgASgCCCINRg0OAkAgASgCACIKIAxqLQAAIgsNACAAIAw2AhAgASAMQQFqNgIEQQYhAgwMC0EAIQIgAEEANgKoASAAQQI2AgAgACALQQJ0QQRqIgs2AqwBIAAgCzYCQAsgByACaiAKIAxqIA0gDGsiDCALIAJrIgIgDCACSRsiAhCHgICAABogASABKAIEIAJqNgIEQQAhDCAAQQAgACgCqAEgAmoiAiACIAAoAqwBIgtGGzYCqAEgAiALRw0PIAAgAkF8aiICNgKsAUEHIQwgByACQQAQjYCAgAAgByAAKAKsASICaigAAEcNDyAAQQI2AqgBIAAtALEBIgtBP3ENDAJAAkAgC0HAAHFFDQAgACAHIAggAhCRgICAAEEBRw0RIAAgACkDCDcDMCAAKAKsASECIAAtALEBIQsMAQsgAEJ/NwMwC0J/IQ4CQCALwEF/Sg0AIAAgByAIIAIQkYCAgABBAUcNECAAKAKsASECIAApAwghDgsgACAONwM4IAIgACgCqAEiC2tBAkkNDyAAIAtBAWoiCjYCqAEgCCALakEI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AA8LIAEgA0EBaiIFNgIEAkAgASgCACADai0AACAAKQMYIAAoAgQiA62Ip0H/AXFGDQBBBw8LIAAgA0EIaiIGNgIEIAUhAyAGIAJJDQALIABBADYCBCAAQgA3AxhBAQtvAQF/QQchAQJAIABBugFqLwAAQdm0AUcNACAAQbQBakEGQQAQjYCAgAAgAEGwAWooAABHDQAgAEGAAWopAwBCAoggADUAtAFSDQAgAEG4AWotAAANAEEBQQcgACgCICAAQbkBai0AAEYbIQELIAELwAIBA38CQAJAAkAgACgCJA0AIABBADoAKCAAQQA2AgBBASECDAELAkAgACgCAEEKRw0AQQAhAwwCC0ECIQMMAQtBASEDCwJAAkADQAJAAkACQAJAIAMOAwABAwMLIAEoAgQiAyABKAIIIgRGDQQgASgCACEFAkADQCAFIANqLQAADQEgASADQQFqIgM2AgQgACAAKAIEQQFqQQNxNgIEIAQgA0YNBgwACwsCQCAAKAIERQ0AQQcPCyAAKAIkRQ0BIABBADoAKCAAQQA2AgBBASEDDAMLIABCADcDGCAAQQA2AgQgAEHIAGpBAEHkABCGgICAABogAEGsAWpBDDYCAAtBAiEDDAELIAAgARCQgICAACIDQQFHDQIgAEEKNgIAQQAhAwwACwsCQCACDQBBAA8LQQdBASAAKAIEGyEDCyADC3UBAX8CQEG4CRCAgICAACICRQ0AIAIgADYCJCACIAAgARCbgICAACIANgKwCQJAIABFDQAgAkEAOgAoIAJCADcDACACQgA3AxggAkHIAGpBAEHkABCGgICAABogAkGsAWpBDDYCACACDwsgAhCCgICAAAtBAAseAAJAIABFDQAgACgCsAkQnYCAgAAgABCCgICAAAsL3RABCn8gAEHo3QFqIQIgAEHUAGohAyAAQRxqIgRBCGohBQJAAkADQCAAKAJAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBCIHIAEoAghJDQAgBkEHRg0BDBELIAYOCQECAwQFBgcACQ4LIAAoAkwhBgwHC0EBIQYgASAHQQFqNgIEIAEoAgAgB2otAAAiB0UNCAJAAkAgB0HfAUsNACAHQQFHDQELIABBgAI7AVACQCAAKAI8DQAgACABKAIMIAEoAhAiBmo2AhggACABKAIUIAZr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"}),(i=>{i.exports=A})],t={};function r(i){var o=t[i];if(o!==void 0)return o.exports;var a=t[i]={exports:{}};return e[i](a,a.exports,r),a.exports}r.d=(i,o)=>{for(var a in o)r.o(o,a)&&!r.o(i,a)&&Object.defineProperty(i,a,{enumerable:!0,get:o[a]})},r.o=(i,o)=>Object.prototype.hasOwnProperty.call(i,o),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{XzReadableStream:()=>s});var i=r(1);let o=globalThis.ReadableStream||r(2).ReadableStream,a=0,C=1;class g{constructor(f){this.exports=f.exports,this.memory=this.exports.memory,this.ptr=this.exports.create_context(),this._refresh(),this.bufSize=this.mem32[0],this.inStart=this.mem32[1]-this.ptr,this.inEnd=this.inStart+this.bufSize,this.outStart=this.mem32[4]-this.ptr}supplyInput(f){this._refresh(),this.mem8.subarray(this.inStart,this.inEnd).set(f,0),this.exports.supply_input(this.ptr,f.byteLength),this._refresh()}getNextOutput(){let f=this.exports.get_next_output(this.ptr);if(this._refresh(),f!==a&&f!==C)throw new Error(`get_next_output failed with error code ${f}`);return{outChunk:this.mem8.slice(this.outStart,this.outStart+this.mem32[5]),finished:f===C}}needsMoreInput(){return this.mem32[2]===this.mem32[3]}outputBufferIsFull(){return this.mem32[5]===this.bufSize}resetOutputBuffer(){this.outPos=this.mem32[5]=0}dispose(){this.exports.destroy_context(this.ptr),this.exports=null}_refresh(){this.memory.buffer!==this.mem8?.buffer&&(this.mem8=new Uint8Array(this.memory.buffer,this.ptr),this.mem32=new Uint32Array(this.memory.buffer,this.ptr))}}class I{constructor(){this.locked=!1,this.waitQueue=[]}async acquire(){if(!this.locked){this.locked=!0;return}return new Promise(f=>{this.waitQueue.push(f)})}release(){this.waitQueue.length>0?this.waitQueue.shift()():this.locked=!1}}class s extends o{static _moduleInstancePromise;static _moduleInstance;static _contextMutex=new I;static async _getModuleInstance(){let f=i.replace("data:application/wasm;base64,",""),u=Uint8Array.from(atob(f),E=>E.charCodeAt(0)).buffer,h={},l=await WebAssembly.instantiate(u,h);s._moduleInstance=l.instance}constructor(f){let u,h=null,l=f.getReader();super({async start(E){await s._contextMutex.acquire();try{s._moduleInstance||await(s._moduleInstancePromise||(s._moduleInstancePromise=s._getModuleInstance())),u=new g(s._moduleInstance)}catch(y){throw s._contextMutex.release(),y}},async pull(E){try{if(u.needsMoreInput()){if(h===null||h.byteLength===0){let{done:U,value:z}=await l.read();U||(h=z)}let w=Math.min(u.bufSize,h.byteLength);u.supplyInput(h.subarray(0,w)),h=h.subarray(w)}let y=u.getNextOutput();E.enqueue(y.outChunk),u.resetOutputBuffer(),y.finished&&(u.dispose(),s._contextMutex.release(),E.close())}catch(y){throw u&&u.dispose(),s._contextMutex.release(),y}},cancel(){try{return u&&u.dispose(),l.cancel()}finally{s._contextMutex.release()}}})}}})(),n})())});import{readFileSync as Or,existsSync as Tr}from"node:fs";import{fileURLToPath as Pr}from"node:url";var rt=oA(ke(),1),kA=oA(CA(),1);import{accessSync as Sr,constants as et,statSync as Fr}from"node:fs";import{homedir as Mr}from"node:os";import{posix as tt,win32 as $}from"node:path";import{spawn as kn,spawnSync as Jr}from"node:child_process";import{createHash as Ue,randomUUID as Qr}from"node:crypto";import{createReadStream as ze}from"node:fs";import{mkdir as Re,lstat as dA,open as Oe,readFile as Te,writeFile as lr,rename as Er,rm as b,chmod as Br,stat as qe,unlink as pr,rmdir as Ke}from"node:fs/promises";import{lstatSync as wr}from"node:fs";import{homedir as Pe}from"node:os";import{posix as xA,win32 as NA}from"node:path";import{spawnSync as vr}from"node:child_process";import{createRequire as Wt}from"module";var Xt=Wt("/"),H,Zt,Vt;try{H=Xt("worker_threads"),Zt=H.Worker,Vt=H.isMarkedAsUntransferable}catch{}var m=Uint8Array,G=Uint16Array,$t=Int32Array,Se=new m([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Fe=new m([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),_t=new m([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Me=function(A,e){for(var t=new G(31),r=0;r<31;++r)t[r]=e+=1<<A[r-1];for(var n=new $t(t[30]),r=1;r<30;++r)for(var i=t[r];i<t[r+1];++i)n[i]=i-t[r]<<5|r;return{b:t,r:n}},H=Me(Se,2),Je=H.b,Ar=H.r;Je[28]=258,Ar[258]=28;var Le=Me(Fe,0),er=Le.b,cn=Le.r,pA=new G(32768);for(Q=0;Q<32768;++Q)S=(Q&43690)>>1|(Q&21845)<<1,S=(S&52428)>>2|(S&13107)<<2,S=(S&61680)>>4|(S&3855)<<4,pA[Q]=((S&65280)>>8|(S&255)<<8)>>1;var S,Q,P=(function(A,e,t){for(var r=A.length,n=0,i=new G(e);n<r;++n)A[n]&&++i[A[n]-1];var o=new G(e);for(n=1;n<e;++n)o[n]=o[n-1]+i[n-1]<<1;var a;if(t){a=new G(1<<e);var C=15-e;for(n=0;n<r;++n)if(A[n])for(var g=n<<4|A[n],I=e-A[n],s=o[A[n]-1]++<<I,c=s|(1<<I)-1;s<=c;++s)a[pA[s]>>C]=g}else for(a=new G(r),n=0;n<r;++n)A[n]&&(a[n]=pA[o[A[n]-1]++]>>15-A[n]);return a}),j=new m(288);for(Q=0;Q<144;++Q)j[Q]=8;var Q;for(Q=144;Q<256;++Q)j[Q]=9;var Q;for(Q=256;Q<280;++Q)j[Q]=7;var Q;for(Q=280;Q<288;++Q)j[Q]=8;var Q,Ye=new m(32);for(Q=0;Q<32;++Q)Ye[Q]=5;var Q;var tr=P(j,9,1);var rr=P(Ye,5,1),lA=function(A){for(var e=A[0],t=1;t<A.length;++t)A[t]>e&&(e=A[t]);return e},x=function(A,e,t){var r=e/8|0;return(A[r]|A[r+1]<<8)>>(e&7)&t},EA=function(A,e){var t=e/8|0;return(A[t]|A[t+1]<<8|A[t+2]<<16)>>(e&7)},nr=function(A){return(A+7)/8|0},vA=function(A,e,t){return(e==null||e<0)&&(e=0),(t==null||t>A.length)&&(t=A.length),new m(A.subarray(e,t))};var ir=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],v=function(A,e,t){var r=new Error(e||ir[A]);if(r.code=A,Error.captureStackTrace&&Error.captureStackTrace(r,v),!t)throw r;return r},or=function(A,e,t,r){var n=A.length,i=r?r.length:0;if(!n||e.f&&!e.l)return t||new m(0);var o=!t,a=o||e.i!=2,C=e.i;o&&(t=new m(n*3));var g=function(RA){var qA=t.length;if(RA>qA){var KA=new m(Math.max(qA*2,RA));KA.set(t),t=KA}},I=e.f||0,s=e.p||0,c=e.b||0,f=e.l,u=e.d,h=e.m,l=e.n,E=n*8;do{if(!f){I=x(A,s,1);var y=x(A,s+1,3);if(s+=3,y)if(y==1)f=tr,u=rr,h=9,l=5;else if(y==2){var eA=x(A,s,31)+257,FA=x(A,s+10,15)+4,MA=eA+x(A,s+5,31)+1;s+=14;for(var O=new m(MA),tA=new m(19),D=0;D<FA;++D)tA[_t[D]]=x(A,s+D*3,7);s+=FA*3;for(var JA=lA(tA),Ct=(1<<JA)-1,ct=P(tA,JA,1),D=0;D<MA;){var LA=ct[x(A,s,Ct)];s+=LA&15;var w=LA>>4;if(w<16)O[D++]=w;else{var M=0,X=0;for(w==16?(X=3+x(A,s,3),s+=2,M=O[D-1]):w==17?(X=3+x(A,s,7),s+=3):w==18&&(X=11+x(A,s,127),s+=7);X--;)O[D++]=M}}var YA=O.subarray(0,eA),F=O.subarray(eA);h=lA(YA),l=lA(F),f=P(YA,h,1),u=P(F,l,1)}else v(1);else{var w=nr(s)+4,U=A[w-4]|A[w-3]<<8,z=w+U;if(z>n){C&&v(0);break}a&&g(c+U),t.set(A.subarray(w,z),c),e.b=c+=U,e.p=s=z*8,e.f=I;continue}if(s>E){C&&v(0);break}}a&&g(c+131072);for(var ft=(1<<h)-1,ut=(1<<l)-1,rA=s;;rA=s){var M=f[EA(A,s)&ft],J=M>>4;if(s+=M&15,s>E){C&&v(0);break}if(M||v(2),J<256)t[c++]=J;else if(J==256){rA=s,f=null;break}else{var GA=J-254;if(J>264){var D=J-257,T=Se[D];GA=x(A,s,(1<<T)-1)+Je[D],s+=T}var nA=u[EA(A,s)&ut],iA=nA>>4;nA||v(3),s+=nA&15;var F=er[iA];if(iA>3){var T=Fe[iA];F+=EA(A,s)&(1<<T)-1,s+=T}if(s>E){C&&v(0);break}a&&g(c+131072);var HA=c+GA;if(c<F){var bA=i-F,ht=Math.min(F,HA);for(bA+c<0&&v(3);c<ht;++c)t[c]=r[bA+c]}for(;c<HA;++c)t[c]=t[c-F]}}e.l=f,e.p=rA,e.b=c,e.f=I,f&&(I=1,e.m=h,e.d=u,e.n=l)}while(!I);return c!=t.length&&o?vA(t,0,c):t.subarray(0,c)};var sr=new m(0);var k=function(A,e){return A[e]|A[e+1]<<8},d=function(A,e){return(A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24)>>>0},BA=function(A,e){return d(A,e)+d(A,e+4)*4294967296};function ar(A,e){return or(A,{i:2},e&&e.out,e&&e.dictionary)}var wA=typeof TextDecoder<"u"&&new TextDecoder,gr=0;try{wA.decode(sr,{stream:!0}),gr=1}catch{}var Ir=function(A){for(var e="",t=0;;){var r=A[t++],n=(r>127)+(r>223)+(r>239);if(t+n>A.length)return{s:e,r:vA(A,t-1)};n?n==3?(r=((r&15)<<18|(A[t++]&63)<<12|(A[t++]&63)<<6|A[t++]&63)-65536,e+=String.fromCharCode(55296|r>>10,56320|r&1023)):n&1?e+=String.fromCharCode((r&31)<<6|A[t++]&63):e+=String.fromCharCode((r&15)<<12|(A[t++]&63)<<6|A[t++]&63):e+=String.fromCharCode(r)}};function Cr(A,e){if(e){for(var t="",r=0;r<A.length;r+=16384)t+=String.fromCharCode.apply(null,A.subarray(r,r+16384));return t}else{if(wA)return wA.decode(A);var n=Ir(A),i=n.s,t=n.r;return t.length&&v(8),i}}var cr=function(A,e){return e+30+k(A,e+26)+k(A,e+28)},fr=function(A,e,t){var r=k(A,e+28),n=k(A,e+30),i=Cr(A.subarray(e+46,e+46+r),!(k(A,e+8)&2048)),o=e+46+r,a=ur(A,o,n,t,d(A,e+20),d(A,e+24),d(A,e+42)),C=a[0],g=a[1],I=a[2];return[k(A,e+10),C,g,i,o+n+k(A,e+32),I]},ur=function(A,e,t,r,n,i,o){var a=n==4294967295,C=i==4294967295,g=o==4294967295,I=e+t,s=a+C+g;if(r&&s){for(;e+4<I;e+=4+k(A,e+2))if(k(A,e)==1)return[a?BA(A,e+4+8*C):n,C?BA(A,e+4):i,g?BA(A,e+4+8*(C+a)):o,1];r<2&&v(13)}return[n,i,o,0]};function Ge(A,e){for(var t={},r=A.length-22;d(A,r)!=101010256;--r)(!r||A.length-r>65558)&&v(13);var n=k(A,r+8);if(!n)return{};var i=d(A,r+16),o=d(A,r-20)==117853008;if(o){var a=d(A,r-12);o=d(A,a)==101075792,o&&(n=d(A,a+32),i=d(A,a+48))}for(var C=e&&e.filter,g=0;g<n;++g){var I=fr(A,i,o),s=I[0],c=I[1],f=I[2],u=I[3],h=I[4],l=I[5],E=cr(A,l);i=h,(!C||C({name:u,size:c,originalSize:f,compression:s}))&&(s?s==8?t[u]=ar(A.subarray(E,E+c),{out:new m(f)}):v(14,"unknown compression type "+s):t[u]=vA(A,E,E+c))}return t}var je=oA(He(),1);var be={"darwin-arm64":{version:"9.0.2",url:"https://www.osxexperts.net/ffmpeg902arm.zip",format:"zip",entry:"ffmpeg",archiveBytes:22665869,archiveSha256:"07e00300593799005b060c03a99fe648b1edda0f30c36b0c1adafe8e3247e586",binaryBytes:52160568,binarySha256:"762f16b2913b8d3b8fdb8092df12b691053b035b13ae9b88205513c55cb8e71e"},"darwin-x64":{version:"9.0.2",url:"https://evermeet.cx/ffmpeg/ffmpeg-9.0.2.zip",format:"zip",entry:"ffmpeg",archiveBytes:26198325,archiveSha256:"4acc0be580f9b2788029eb7bd4d645ff87968911b0a62aeeb3940d42d54558d5",binaryBytes:80827688,binarySha256:"a45b462cf91ed89148ae218c4577e30896485d7a6792c3673bcf5f823fa01b63"},"linux-x64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-linux64-gpl-9.0.tar.xz",format:"tar.xz",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-linux64-gpl-9.0/bin/ffmpeg",archiveBytes:153175100,archiveSha256:"73e29a56974ae5a651133a04584c7483b21afe941e17dc91d79814a758b608d3"},"linux-arm64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-linuxarm64-gpl-9.0.tar.xz",format:"tar.xz",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-linuxarm64-gpl-9.0/bin/ffmpeg",archiveBytes:128664064,archiveSha256:"6cad88ae5bcec356cfc5d7979a036cc4007128201928a0cf243df3db483276cc"},"win32-x64":{version:"9.0.2-20261031",url:"https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2026-10-31-12-59/ffmpeg-n9.0.2-39-g7adfbe40dc-win64-gpl-9.0.zip",format:"zip",entry:"ffmpeg-n9.0.2-39-g7adfbe40dc-win64-gpl-9.0/bin/ffmpeg.exe",archiveBytes:195110184,archiveSha256:"693f3e224bc184b40524a62ca47526cfebaf2504414021b92fe75f677ad868b9"}};var R=new Map,V=new Map,mr="@kyun.si/codex-hongguo",B=()=>Error("\u64AD\u653E\u7EC4\u4EF6\u81EA\u52A8\u51C6\u5907\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u548C\u7F13\u5B58\u76EE\u5F55\u6743\u9650\u540E\u91CD\u8BD5\u5B89\u88C5\u3002"),yr=A=>new Promise(e=>setTimeout(e,A));function We(A={}){let{env:e=process.env,home:t=Pe(),platform:r=process.platform,arch:n=process.arch}=A,i=r==="win32"?NA:xA;if(e.HONGGUO_FFMPEG){if(!i.isAbsolute(e.HONGGUO_FFMPEG))throw B();return{...A,env:e,platform:r,target:e.HONGGUO_FFMPEG,override:!0}}let o=(A.artifacts||be)[r+"-"+n];if(!o)throw Error("\u5F53\u524D\u7CFB\u7EDF\u67B6\u6784\u6682\u4E0D\u652F\u6301\u81EA\u52A8\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\u3002");let a=Xe({env:e,home:t,platform:r,paths:i}),C=i.join(a,"runtime","ffmpeg",o.archiveSha256.slice(0,16),r+"-"+n);return{...A,env:e,platform:r,artifact:o,directory:C,target:i.join(C,r==="win32"?"ffmpeg.exe":"ffmpeg")}}function Xe({env:A,home:e,platform:t,paths:r}){return A.HONGGUO_RUNTIME_DIR?r.join(A.HONGGUO_RUNTIME_DIR,"codex-hongguo"):t==="darwin"?r.join(e,"Library","Caches","CodexHongguo"):t==="win32"?r.join(A.LOCALAPPDATA||r.join(e,"AppData","Local"),"CodexHongguo","Cache"):r.join(A.XDG_CACHE_HOME||r.join(e,".cache"),"codex-hongguo")}function Ze(A){return We(A).target}function yA(A){try{let e=wr(A);return e.isFile()&&!e.isSymbolicLink()?`${e.size}:${e.mtimeMs}:${e.ctimeMs}`:null}catch{return null}}async function Ve(A){let e=Ue("sha256");for await(let t of ze(A))e.update(t);return e.digest("hex")}function $e(A,e){return e.probe?e.probe(A):vr(A,["-version"],{stdio:"ignore",timeout:5e3,windowsHide:!0}).status===0}async function DA(A){let{target:e,artifact:t}=A;if(R.get(e)&&R.get(e)===yA(e))return!0;try{let r=await dA(e);if(!r.isFile()||r.isSymbolicLink())return!1;if(t){let n=JSON.parse(await Te(e+".json","utf8"));if(n.archiveSha256!==t.archiveSha256||!/^[a-f0-9]{64}$/.test(n.binarySha256)||r.size!==(t.binaryBytes||n.binaryBytes)||await Ve(e)!==(t.binarySha256||n.binarySha256))return!1}return $e(e,A)?(R.set(e,yA(e)),!0):!1}catch{return!1}}async function Dr(A,e,t){let r=new Set(["github.com","release-assets.githubusercontent.com","objects.githubusercontent.com","evermeet.cx","www.osxexperts.net"]),n=AbortSignal.timeout(3e5),i=new URL(A.url),o;for(let I=0;I<=6;I++){if(i.protocol!=="https:"||i.username||i.password||i.port||!r.has(i.hostname))throw B();if(o=await t(i,{redirect:"manual",signal:n}),![301,302,303,307,308].includes(o.status))break;let s=o.headers.get("location");if(await o.body?.cancel(),!s||I===6)throw B();i=new URL(s,i)}if(!o.ok||!o.body||Number(o.headers.get("content-length"))>A.archiveBytes)throw await o.body?.cancel(),B();let a=await Oe(e,"wx",384),C=Ue("sha256"),g=0;try{for await(let I of o.body){if(g+=I.length,g>A.archiveBytes)throw B();C.update(I),await a.writeFile(I)}if(g!==A.archiveBytes||C.digest("hex")!==A.archiveSha256)throw B()}finally{await a.close()}}async function dr(A,e,t){let r=await Oe(t,"wx",384);try{if(A.format==="zip"){let c=Ge(await Te(e),{filter:f=>f.name===A.entry&&f.originalSize<=(A.binaryBytes||268435456)})[A.entry];if(!c||A.binaryBytes&&c.length!==A.binaryBytes)throw B();await r.writeFile(c);return}let n=new je.default.XzReadableStream(xr(e)),i=n.getReader(),o=Buffer.alloc(0),a=0,C=0,g=!1,I=0;try{for(;;){let{value:s,done:c}=await i.read();if(c)break;if(I+=s.length,I>1024*1024*1024)throw B();for(o=Buffer.concat([o,s]);o.length;)if(a){let f=Math.min(a,o.length);if(g&&await r.writeFile(o.subarray(0,f)),o=o.subarray(f),a-=f,!a&&g)return}else if(C){let f=Math.min(C,o.length);o=o.subarray(f),C-=f}else{if(o.length<512)break;let f=o.subarray(0,512);o=o.subarray(512);let u=(E,y)=>f.subarray(E,y).toString("utf8").split("\0")[0],h=[u(345,500),u(0,100)].filter(Boolean).join("/"),l=parseInt(u(124,136).trim()||"0",8);if(!Number.isSafeInteger(l)||l<0||l>512*1024*1024||(g=h===A.entry,g&&(A.binaryBytes&&l!==A.binaryBytes||l>256*1024*1024||![0,48].includes(f[156]))))throw B();a=l,C=(512-l%512)%512}}throw B()}finally{await i.cancel().catch(()=>{})}}finally{await r.close()}}function xr(A){let e=ze(A)[Symbol.asyncIterator]();return new ReadableStream({async pull(t){let{value:r,done:n}=await e.next();n?t.close():t.enqueue(r)},async cancel(){await e.return?.()}})}async function _e(A={}){let e=We(A);if(await DA(e))return e.target;if(e.override)throw B();if(V.has(e.target))return V.get(e.target);let t=kr(e).finally(()=>V.delete(e.target));return V.set(e.target,t),t}async function Nr(A,e){for(let t=A;;t=e.dirname(t)){let r=await dA(t);if(!r.isDirectory()||r.isSymbolicLink())return!1;if(e.dirname(t)===t)return!0}}async function At(A={}){let{env:e=process.env,home:t=Pe(),platform:r=process.platform}=A,n=r==="win32"?NA:xA,i=Xe({env:e,home:t,platform:r,paths:n}),o=n.join(i,"runtime","ffmpeg"),a=n.dirname(o),C=()=>Error("\u63D2\u4EF6\u5DF2\u5378\u8F7D\uFF0C\u4F46\u64AD\u653E\u7EC4\u4EF6\u6E05\u7406\u5931\u8D25\u3002\u8BF7\u5173\u95ED\u64AD\u653E\u5668\u5E76\u68C0\u67E5\u7F13\u5B58\u76EE\u5F55\u6743\u9650\u540E\uFF0C\u91CD\u65B0\u8FD0\u884C uninstall\u3002");if(!n.isAbsolute(i))throw C();try{if(!await Nr(a,n))throw C();let g=await dA(o);g.isDirectory()&&!g.isSymbolicLink()?await b(o,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await pr(o);for(let I of R.keys()){let s=n.relative(o,I);s&&!s.startsWith(".."+n.sep)&&!n.isAbsolute(s)&&R.delete(I)}}catch(g){if(g.code==="ENOENT")return{removed:0};throw C()}return await Ke(a).catch(()=>{}),await Ke(i).catch(()=>{}),{removed:1}}async function kr(A){let{directory:e,target:t,artifact:r}=A,n=e+".lock",i=Date.now()+42e4;await Re(e,{recursive:!0,mode:448});let o=!1;for(;!o;)try{await Re(n,{mode:448}),o=!0}catch(s){if(s.code!=="EEXIST"||Date.now()>i)throw B();if(await DA(A))return t;try{Date.now()-(await qe(n)).mtimeMs>6e5&&await b(n,{recursive:!0,force:!0})}catch{}await yr(200)}let a=A.platform==="win32"?NA:xA,C=a.basename(t)+"."+Qr(),g=a.join(e,C+".archive"),I=a.join(e,C+".part");try{if(await DA(A))return t;await Dr(r,g,A.fetchImpl||fetch),await dr(r,g,I);let s=await Ve(I);if(r.binarySha256&&s!==r.binarySha256||(await Br(I,493),!$e(I,A)))throw B();return A.platform==="win32"&&await b(t,{force:!0}),await Er(I,t),await lr(t+".json",JSON.stringify({owner:mr,schema:1,archiveSha256:r.archiveSha256,binarySha256:s,binaryBytes:(await qe(t)).size,version:r.version})+`
3
+ `,{mode:384}),R.set(t,yA(t)),t}catch{throw B()}finally{await Promise.all([b(g,{force:!0}),b(I,{force:!0}),b(n,{recursive:!0,force:!0})])}}function Lr(A,e,t={}){if(process.platform!=="win32"||!/\.(?:cmd|bat)$/i.test(A))return null;let r=$.join(t.env?.SystemRoot||process.env.SystemRoot||"C:\\Windows","System32","cmd.exe"),n=[kA.default.command($.normalize(A)),...e.map(i=>kA.default.argument(i,!0))].join(" ");return{shell:r,args:["/d","/s","/v:off","/c",'"'+n+'"'],options:{...t,windowsVerbatimArguments:!0}}}function _(A,e=[],t){let r=Lr(A,e,t);return r?Jr(r.shell,r.args,r.options):rt.default.sync(A,e,t)}function AA(A,e,{env:t=process.env,home:r=Mr(),platform:n=process.platform,arch:i=process.arch}={}){if(e)return e;if(A==="ffmpeg")return Ze({env:t,home:r,platform:n,arch:i});let{delimiter:o,dirname:a,join:C,isAbsolute:g,extname:I}=n==="win32"?$:tt,s=Object.keys(t).find(h=>h.toUpperCase()==="PATH")||"PATH",c=[a(process.execPath),...(t[s]||"").split(o).filter(Boolean).map(h=>h.replace(/^"(.*)"$/,"$1"))];n!=="win32"?c.push("/opt/homebrew/bin","/usr/local/bin","/usr/bin","/bin",C(r,".volta/bin"),C(r,".local/bin")):c.push(C(t.APPDATA||C(r,"AppData","Roaming"),"npm"),C(r,".volta","bin"));let f=n!=="win32"||I(A)?[""]:[".exe",".com",".cmd",".bat"],u=c.filter(g).flatMap(h=>f.map(l=>C(h,A+l)));A==="codex"&&n==="darwin"&&u.push("/Applications/Codex.app/Contents/Resources/codex");for(let h of u)try{if(Sr(h,n==="win32"?et.F_OK:et.X_OK),Fr(h).isFile())return h}catch{}return A}function nt(){let{delimiter:A,dirname:e}=process.platform==="win32"?$:tt,t=Object.keys(process.env).find(r=>r.toUpperCase()==="PATH")||"PATH";process.env[t]=[...new Set([e(process.execPath),...(process.env[t]||"").split(A).filter(Boolean)])].join(A),process.env.HONGGUO_CODEX=AA("codex",process.env.HONGGUO_CODEX)}var it="\u8BF7\u5728 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\u4E2D\u68C0\u67E5\u6388\u6743\uFF0C\u5BA1\u67E5\u3001\u4FE1\u4EFB\u5E76\u542F\u7528 UserPromptSubmit\u3001Stop\u3001Interrupt\u3002";import{lstat as ot,rm as Rr,unlink as qr}from"node:fs/promises";import{homedir as Kr}from"node:os";import{posix as Ur,win32 as zr}from"node:path";import{homedir as Yr}from"node:os";import{posix as Gr,win32 as Hr}from"node:path";import{fileURLToPath as br}from"node:url";var Gn=br(new URL("../../",import.meta.url));function SA({env:A=process.env,home:e=Yr(),platform:t=process.platform}={}){let{join:r}=t==="win32"?Hr:Gr;return A.HONGGUO_DATA_DIR?A.HONGGUO_DATA_DIR:t==="darwin"?r(e,"Library","Application Support","CodexHongguo"):t==="win32"?r(A.LOCALAPPDATA||r(e,"AppData","Local"),"CodexHongguo"):r(A.XDG_DATA_HOME||r(e,".local","share"),"codex-hongguo")}async function st(A={}){let{env:e=process.env,home:t=Kr(),platform:r=process.platform}=A,n=r==="win32"?zr:Ur,i=n.resolve(SA({env:e,home:t,platform:r})),o=n.resolve(SA({env:{...e,HONGGUO_DATA_DIR:void 0},home:t,platform:r})),a=i===o?[i]:["player.sqlite","player.sqlite-wal","player.sqlite-shm","player.sqlite-journal","media","panel-media","device"].map(g=>n.join(i,g)),C=!1;for(let g of a)try{for(let s=n.dirname(g);;s=n.dirname(s)){let c=await ot(s);if(!c.isDirectory()||c.isSymbolicLink())throw Error("Substituted data ancestor");if(n.dirname(s)===s)break}let I=await ot(g);I.isDirectory()&&!I.isSymbolicLink()?await Rr(g,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await qr(g)}catch(I){I.code!=="ENOENT"&&(C=!0)}if(C)throw Error("\u63D2\u4EF6\u5DF2\u5378\u8F7D\uFF0C\u4F46\u672C\u5730\u6570\u636E\u6E05\u7406\u5931\u8D25\u3002\u8BF7\u5173\u95ED\u64AD\u653E\u5668\u5E76\u68C0\u67E5\u6570\u636E\u76EE\u5F55\u6743\u9650\u540E\uFF0C\u91CD\u65B0\u8FD0\u884C uninstall\u3002")}var q="hongguo-local",K="codex-hongguo@"+q,It="mreasonyang/codex-hongguo",at=A=>typeof A=="string"?A.replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,"").replace(/\/$/,""):A;function gt(A,e=process.env){return t=>{let r=_(A,[...t,"--json"],{env:e,encoding:"utf8",timeout:12e4,windowsHide:!0,maxBuffer:4194304});if(r.status!==0)throw Error("Codex \u6B65\u9AA4\u5931\u8D25\uFF1A"+t.slice(0,3).join(" ")+"\u3002\u8BF7\u5728 Codex \u63D2\u4EF6\u8BBE\u7F6E\u4E2D\u68C0\u67E5\u72B6\u6001\u540E\u91CD\u8BD5\u3002");try{return JSON.parse(r.stdout)}catch{throw Error("Codex \u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u7ED3\u679C\uFF0C\u8BF7\u66F4\u65B0 Codex \u540E\u91CD\u8BD5\u3002")}}}function jr(A){if(/^[\w.-]+\/[\w.-]+$/.test(A)||Tr(A))return A;throw Error("--marketplace \u53EA\u63A5\u53D7 owner/repo \u6216\u73B0\u6709\u672C\u5730\u5E02\u573A\u76EE\u5F55\u3002")}function Wr({run:A,source:e=It,dryRun:t=!1,log:r=console.log}){if(jr(e),t){r("\u5C06\u4F7F\u7528 Codex \u539F\u751F\u5E02\u573A\u5B89\u88C5 "+K+"\uFF1B\u5E02\u573A\u6765\u6E90\uFF1A"+e),r("\u89C2\u770B\u8FDB\u5EA6\u4FDD\u7559\u5728\u539F\u6570\u636E\u76EE\u5F55\u3002\u5B89\u88C5\u5B8C\u6210\u540E\u9700\u5728 Codex \u4E2D\u5BA1\u67E5\u5E76\u4FE1\u4EFB\u4E09\u4E2A Hooks\u3002");return}let n=A(["plugin","marketplace","list"]).marketplaces?.find(a=>a.name===q),i=n?.marketplaceSource?.source,o=!!n&&at(i)!==at(e);o&&A(["plugin","marketplace","remove",q]);try{A(["plugin","marketplace","add",e]),!o&&n?.marketplaceSource?.sourceType==="git"&&A(["plugin","marketplace","upgrade",q]),A(["plugin","add",K])}catch(a){if(o&&i){try{A(["plugin","marketplace","remove",q])}catch{}try{A(["plugin","marketplace","add",i]),A(["plugin","add",K])}catch{throw Error("\u5B89\u88C5\u5931\u8D25\uFF0C\u539F\u5E02\u573A\u672A\u80FD\u81EA\u52A8\u6062\u590D\u3002\u8BF7\u4ECE Codex \u63D2\u4EF6\u8BBE\u7F6E\u91CD\u65B0\u6DFB\u52A0\u539F\u6765\u6E90\uFF1B\u89C2\u770B\u8FDB\u5EA6\u4ECD\u4FDD\u7559\u3002")}}throw a}r("\u7EA2\u679C\u77ED\u5267\u5DF2\u5B89\u88C5\u3002\u8BF7\u5728\u65B0\u7684\u672C\u5730\u804A\u5929\u4E2D\u4F7F\u7528\uFF1B\u66F4\u65B0\u65F6\u5148\u5173\u95ED\u65E7\u64AD\u653E\u5668\u3002")}async function Xn(A=process.argv.slice(2)){try{let[e="help",...t]=A;if(e==="--version"){console.log(JSON.parse(Or(new URL("../../package.json",import.meta.url),"utf8")).version);return}if(["help","--help","-h"].includes(e)){console.log(`\u7EA2\u679C\u77ED\u5267
4
4
  codex-hongguo setup [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
5
5
  codex-hongguo update [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
6
6
  codex-hongguo uninstall [--dry-run]
7
7
  codex-hongguo doctor
8
- \u9700\u8981 Node.js >=22.16 \u548C Codex CLI\uFF1B\u64AD\u653E\u7EC4\u4EF6\u7531\u63D2\u4EF6\u81EA\u52A8\u51C6\u5907\u3002`);return}if(!["setup","update","uninstall","doctor"].includes(e))throw Error("\u672A\u77E5\u547D\u4EE4\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");if(process.platform==="win32"&&process.arch!=="x64")throw Error("Windows \u8BD5\u7528\u7248\u9700\u8981 x64 Node.js\u3002");let[r,n]=process.versions.node.split(".").map(Number);if(r<22||r===22&&n<16)throw Error("\u9700\u8981 Node.js >=22.16\u3002");if(rt(),e==="doctor"){if(t.length)throw Error("doctor \u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570\u3002");if(_(process.execPath,[zr(new URL("../../dist/setup/check.mjs",import.meta.url))],{stdio:"inherit",timeout:15e3}).status!==0)throw Error("\u73AF\u5883\u68C0\u67E5\u672A\u5B8C\u6210\u3002");return}let o=gt,i=!1;for(let g=0;g<t.length;g++)if(t[g]==="--dry-run")i=!0;else if(e!=="uninstall"&&t[g]==="--marketplace"&&t[g+1])o=t[++g];else throw Error("\u65E0\u6CD5\u8BC6\u522B\u547D\u4EE4\u53C2\u6570\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");let s=$("codex",process.env.HONGGUO_CODEX),C=[["Codex CLI",s]];e!=="uninstall"&&C.push(["npm",$("npm")]);for(let[g,I]of C)if(_(I,["--version"],{stdio:"ignore",timeout:3e3}).status!==0)throw Error("\u672A\u627E\u5230\u53EF\u8FD0\u884C\u7684 "+g+"\u3002\u5B89\u88C5\u540E\u91CD\u65B0\u8FD0\u884C "+e+"\uFF1B\u5DF2\u6709\u63D2\u4EF6\u4E0E\u89C2\u770B\u8FDB\u5EA6\u4FDD\u6301\u539F\u6837\u3002");if(e==="uninstall"){if(i)console.log("\u5C06\u5378\u8F7D "+K+"\uFF0C\u5220\u9664\u64AD\u653E\u7EC4\u4EF6\u3001\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u3001\u89C6\u9891\u7F13\u5B58\u548C\u8BBE\u5907\u6863\u6848\u3002");else{let g=st(s),I=g(["plugin","list","--marketplace",q]).installed;if(!Array.isArray(I))throw Error("\u65E0\u6CD5\u786E\u8BA4\u63D2\u4EF6\u5B89\u88C5\u72B6\u6001\uFF0C\u8BF7\u66F4\u65B0 Codex \u540E\u91CD\u8BD5\u3002");I.some(c=>c.pluginId===K)&&g(["plugin","remove",K]);let a=[];for(let c of[_e,ot])try{await c()}catch(f){a.push(f.message)}if(a.length)throw Error(a.join(`
9
- `));console.log("\u7EA2\u679C\u77ED\u5267\u5DF2\u5378\u8F7D\uFF0C\u64AD\u653E\u7EC4\u4EF6\u3001\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u3001\u89C6\u9891\u7F13\u5B58\u548C\u8BBE\u5907\u6863\u6848\u5DF2\u5220\u9664\u3002\u8BF7\u6253\u5F00\u65B0\u804A\u5929\u3002")}return}i||(console.log("\u6B63\u5728\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\uFF0C\u9996\u6B21\u4F7F\u7528\u9700\u8981\u8054\u7F51\u4E0B\u8F7D\u2026"),await Ve()),Tr({run:st(s),source:o,dryRun:i}),i||console.log(nt)}catch(e){console.error(e.message),process.exitCode=1}}export{st as codexRunner,gt as defaultSource,Tr as install,On as main,q as marketplaceName,K as pluginId,Or as validateSource};
8
+ \u9700\u8981 Node.js >=22.16 \u548C Codex CLI\uFF1B\u64AD\u653E\u7EC4\u4EF6\u7531\u63D2\u4EF6\u81EA\u52A8\u51C6\u5907\u3002`);return}if(!["setup","update","uninstall","doctor"].includes(e))throw Error("\u672A\u77E5\u547D\u4EE4\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");if(process.platform==="win32"&&process.arch!=="x64")throw Error("Windows \u9700\u8981 x64 Node.js\uFF0C\u8BF7\u5B89\u88C5 x64 \u7248\u672C\u540E\u91CD\u8BD5\u3002");let[r,n]=process.versions.node.split(".").map(Number);if(r<22||r===22&&n<16)throw Error("\u9700\u8981 Node.js >=22.16\u3002");if(nt(),e==="doctor"){if(t.length)throw Error("doctor \u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570\u3002");if(_(process.execPath,[Pr(new URL("../../dist/setup/check.mjs",import.meta.url))],{stdio:"inherit",timeout:15e3}).status!==0)throw Error("\u73AF\u5883\u68C0\u67E5\u672A\u5B8C\u6210\u3002");return}let i=It,o=!1;for(let g=0;g<t.length;g++)if(t[g]==="--dry-run")o=!0;else if(e!=="uninstall"&&t[g]==="--marketplace"&&t[g+1])i=t[++g];else throw Error("\u65E0\u6CD5\u8BC6\u522B\u547D\u4EE4\u53C2\u6570\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");let a=AA("codex",process.env.HONGGUO_CODEX),C=[["Codex CLI",a]];e!=="uninstall"&&C.push(["npm",AA("npm")]);for(let[g,I]of C)if(_(I,["--version"],{stdio:"ignore",timeout:3e3}).status!==0)throw Error("\u672A\u627E\u5230\u53EF\u8FD0\u884C\u7684 "+g+"\u3002\u5B89\u88C5\u540E\u91CD\u65B0\u8FD0\u884C "+e+"\uFF1B\u5DF2\u6709\u63D2\u4EF6\u4E0E\u89C2\u770B\u8FDB\u5EA6\u4FDD\u6301\u539F\u6837\u3002");if(e==="uninstall"){if(o)console.log("\u5C06\u5378\u8F7D "+K+"\uFF0C\u5220\u9664\u64AD\u653E\u7EC4\u4EF6\u3001\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u3001\u89C6\u9891\u7F13\u5B58\u548C\u8BBE\u5907\u6863\u6848\u3002");else{let g=gt(a),I=g(["plugin","list","--marketplace",q]).installed;if(!Array.isArray(I))throw Error("\u65E0\u6CD5\u786E\u8BA4\u63D2\u4EF6\u5B89\u88C5\u72B6\u6001\uFF0C\u8BF7\u66F4\u65B0 Codex \u540E\u91CD\u8BD5\u3002");I.some(c=>c.pluginId===K)&&g(["plugin","remove",K]);let s=[];for(let c of[At,st])try{await c()}catch(f){s.push(f.message)}if(s.length)throw Error(s.join(`
9
+ `));console.log("\u7EA2\u679C\u77ED\u5267\u5DF2\u5378\u8F7D\uFF0C\u64AD\u653E\u7EC4\u4EF6\u3001\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u3001\u89C6\u9891\u7F13\u5B58\u548C\u8BBE\u5907\u6863\u6848\u5DF2\u5220\u9664\u3002\u8BF7\u6253\u5F00\u65B0\u804A\u5929\u3002")}return}o||(console.log("\u6B63\u5728\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\uFF0C\u9996\u6B21\u4F7F\u7528\u9700\u8981\u8054\u7F51\u4E0B\u8F7D\u2026"),await _e()),Wr({run:gt(a),source:i,dryRun:o}),o||console.log(it)}catch(e){console.error(e.message),process.exitCode=1}}export{gt as codexRunner,It as defaultSource,Wr as install,Xn as main,q as marketplaceName,K as pluginId,jr as validateSource};
10
10
  /*! Bundled license information:
11
11
 
12
12
  xz-decompress/dist/package/xz-decompress.js: