@kyun.si/codex-hongguo 0.0.26 → 0.0.28
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/.codex-plugin/plugin.json +1 -1
- package/README.en.md +6 -7
- package/README.md +6 -7
- package/dist/cli/main.mjs +4 -6
- package/dist/server/index.mjs +47 -49
- package/dist/setup/check.mjs +11 -13
- package/dist/ui/player.html +29 -122
- package/package.json +1 -1
- package/skills/hongguo-setup/SKILL.md +5 -6
package/README.en.md
CHANGED
|
@@ -20,9 +20,8 @@ The command checks the environment, downloads and verifies the playback componen
|
|
|
20
20
|
|
|
21
21
|
### Post-Install Setup
|
|
22
22
|
|
|
23
|
-
- **Run the Setup guide**: Run **Setup** from the plugin details view (which invokes `hongguo-setup`), or say `配置红果短剧` in a local conversation.
|
|
24
|
-
- **
|
|
25
|
-
- **Review and trust Hooks**: For task-start and task-end playback control, open Codex Desktop **Settings → Hooks** (`设置 → Hooks`), review and trust Hongguo's `UserPromptSubmit`, `Stop`, and `Interrupt` hooks, and then run the check again. Installation and Setup never trust Hooks automatically on your behalf and never treat past turn records as proof that Hooks are configured; if host trust status cannot be read, it is shown as **Unverified** (`待确认`). You can watch manually before completing Hook setup.
|
|
23
|
+
- **Run the Setup guide**: Run **Setup** from the plugin details view (which invokes `hongguo-setup`), or say `配置红果短剧` in a local conversation. Setup checks Node, the progress database and the playback component, then shows a fixed reminder to check Hook authorization manually in Codex Settings → Hooks.
|
|
24
|
+
- **Review and trust Hooks**: For task-start and task-end playback control, open Codex Desktop **Settings → Hooks** (`设置 → Hooks`), review and trust Hongguo's `UserPromptSubmit`, `Stop`, and `Interrupt` hooks and confirm they are enabled. Installation and Setup show a fixed reminder; they do not query or judge Hook authorization. You can watch manually before completing Hook setup.
|
|
26
25
|
- **No extra accounts or permissions**: Normal browsing and playback do not require a Hongguo account, API key, or browser automation permissions.
|
|
27
26
|
|
|
28
27
|
## Screenshots
|
|
@@ -31,7 +30,7 @@ The command checks the environment, downloads and verifies the playback componen
|
|
|
31
30
|
|
|
32
31
|

|
|
33
32
|
|
|
34
|
-
**Player**: Watch beside your chat, choose episodes
|
|
33
|
+
**Player**: Watch beside your chat, choose episodes and autoplay the next episode.
|
|
35
34
|
|
|
36
35
|

|
|
37
36
|
|
|
@@ -44,7 +43,7 @@ The command checks the environment, downloads and verifies the playback componen
|
|
|
44
43
|
| Watch independently | In Codex Desktop with the plugin installed, click [Open Hongguo Short Dramas](codex://plugins/codex-hongguo@hongguo-local/app/open_drama_panel) to open the standalone catalog. To play and pause automatically with tasks, open the player from the corresponding chat instead. |
|
|
45
44
|
|
|
46
45
|
- **Browse & resume**: The catalog shows saved titles as it refreshes. On first use, titles appear as soon as the first batch arrives. Click any show title in Recommendations, Search results, or Watch history (`观看历史`) to start playing. Previously watched shows automatically resume from your last episode and timestamp, with a banner option to **Start over** (`从头播放`). Watch history is grouped by show and supports removing individual entries.
|
|
47
|
-
- **Muted by default & playback controls**: Playback starts muted whenever you open the player; click the speaker button
|
|
46
|
+
- **Muted by default & playback controls**: Playback starts muted whenever you open the player; click the speaker button to unmute. On-screen controls support scrubbing, playback speed (`0.75×`–`2×`), and fullscreen. The episode selector groups episodes in sets of 50 with Previous, Next, and random episode buttons.
|
|
48
47
|
- **Watch while waiting**: Both the conversation card and catalog can offer up to 3 titles. Choices stay fixed within a turn. Chats share local rotation records, which advance after titles become visible. Disable suggestions or edit additional search keywords in **Settings**.
|
|
49
48
|
- **Pause and resume.** Click the picture, center button or toolbar playback button to pause. Click again to resume from the same position, during or after a task.
|
|
50
49
|
- **Background playback.** Playback continues when you switch windows or tabs. When automatic pausing is enabled, a task ending or being interrupted in this chat also pauses background playback. Closing the player saves your position.
|
|
@@ -64,8 +63,8 @@ The switches are independent, saved across restarts, and shared by all chats. Ot
|
|
|
64
63
|
## Troubleshooting
|
|
65
64
|
|
|
66
65
|
- **No task suggestions**: Enable suggestions, trust all three Hooks, and retry in a new local turn with no visible player. If the catalog returns no candidates or the host does not display the card, use the right-side **+** to open the player.
|
|
67
|
-
- **Playback component preparation failed**: Check your connection and run the installation command again
|
|
68
|
-
- **
|
|
66
|
+
- **Playback component preparation failed**: Check your connection and run the installation command again. The plugin retries preparation automatically.
|
|
67
|
+
- **Task-linked playback is not working**: Check all three events in Codex **Settings → Hooks**. A passing environment check does not establish that automatic pausing works; manual playback remains available.
|
|
69
68
|
|
|
70
69
|
- **Playback pauses too often**: Turn off **Pause automatically when a task ends** in the player's Settings and save to keep watching continuously.
|
|
71
70
|
- **A new task does not resume playback**: Enable and save **Play automatically when a task starts**. Keep the player open in that chat with an episode selected. New defaults do not override a previously saved off setting.
|
package/README.md
CHANGED
|
@@ -20,9 +20,8 @@ npx @kyun.si/codex-hongguo@latest setup
|
|
|
20
20
|
|
|
21
21
|
### 安装后配置
|
|
22
22
|
|
|
23
|
-
- **运行设置引导(Setup)**:安装后可在插件详情页运行 **Setup**(调用 `hongguo-setup`),或在本地对话中直接说“配置红果短剧”。引导会检查 Node
|
|
24
|
-
-
|
|
25
|
-
- **审查并信任 Hooks**:任务开始和结束联动需要你在 Codex 桌面 **设置 → Hooks** 中找到红果短剧,审查并信任 `UserPromptSubmit`、`Stop` 和 `Interrupt` 三个事件,完成后重新检查。安装脚本与设置引导不会替用户自动信任 Hooks,也不会把历史回合记录当成配置成功;读取不到宿主信任状态时会显示「待确认」。未完成 Hooks 配置前仍可先手动观看。
|
|
23
|
+
- **运行设置引导(Setup)**:安装后可在插件详情页运行 **Setup**(调用 `hongguo-setup`),或在本地对话中直接说“配置红果短剧”。引导会检查 Node、进度库和播放组件,并固定提示你到 Codex「设置 → Hooks」人工核对三个 Hooks 的授权。
|
|
24
|
+
- **审查并信任 Hooks**:任务开始和结束联动需要你在 Codex 桌面 **设置 → Hooks** 中找到红果短剧,审查并信任 `UserPromptSubmit`、`Stop` 和 `Interrupt` 三个事件并确认已启用。安装脚本与设置引导只提供固定提示,不检测或判断 Hooks 授权状态。未完成 Hooks 配置前仍可先手动观看。
|
|
26
25
|
- **账号与权限**:日常浏览和观看不需要红果账号、API Key 或浏览器自动化权限。
|
|
27
26
|
|
|
28
27
|
## 界面预览
|
|
@@ -31,7 +30,7 @@ npx @kyun.si/codex-hongguo@latest setup
|
|
|
31
30
|
|
|
32
31
|

|
|
33
32
|
|
|
34
|
-
|
|
33
|
+
**播放界面**:在聊天右侧观看,支持选集和连播。
|
|
35
34
|
|
|
36
35
|

|
|
37
36
|
|
|
@@ -44,7 +43,7 @@ npx @kyun.si/codex-hongguo@latest setup
|
|
|
44
43
|
| 只想看剧 | 在已安装插件的 Codex 桌面点击[直接打开红果短剧](codex://plugins/codex-hongguo@hongguo-local/app/open_drama_panel),即可进入独立片库。需要随任务自动播放和暂停时,请从对应聊天右侧打开播放器。 |
|
|
45
44
|
|
|
46
45
|
- **选剧与续播**:片库打开即显示已缓存的剧名并自动刷新。首次使用时,第一批剧目返回就会显示。点击推荐、搜索结果或「观看历史」中的剧名即可开播。看过的剧会自动回到上次的集数和时间点,提示栏同时提供「从头播放」。观看历史按剧汇总,可单条移除。
|
|
47
|
-
-
|
|
46
|
+
- **默认静音与画面控制**:打开播放器时默认静音,点击扬声器即可取消静音。画面内支持拖动进度、切换倍速(`0.75×`–`2×`)和全屏;选集区每 50 集一组,支持上一集、下一集和随机一集。
|
|
48
47
|
- **等待任务时看**:对话卡片和选剧页都可提供最多 3 部快捷推荐。同一回合的剧目保持不变;多个聊天共享本地轮换记录,卡片实际显示后才计入轮换。在「设置」中可关闭推荐或修改补充搜索词。
|
|
49
48
|
- **暂停与续播** 点画面、中央按钮或底部播放键都能暂停,再点一次从原处继续。任务运行中和结束后都可以操作。
|
|
50
49
|
- **后台播放** 切换窗口或标签页时可继续观看。开启「任务结束自动暂停」时,当前对话的任务结束或中断也会暂停后台播放。关闭播放器会保存进度。
|
|
@@ -64,8 +63,8 @@ npx @kyun.si/codex-hongguo@latest setup
|
|
|
64
63
|
## 排查问题
|
|
65
64
|
|
|
66
65
|
- **没有任务推荐**:确认推荐开关已开启、三个 Hooks 已信任,并在没有可见播放器的新本地回合中重试。片库没有返回候选或宿主未展示卡片时,仍可从右侧 + 打开播放器。
|
|
67
|
-
-
|
|
68
|
-
-
|
|
66
|
+
- **播放组件准备失败**:检查网络后重新运行安装命令,插件会自动重试准备。
|
|
67
|
+
- **回合联动未生效**:到 Codex「设置 → Hooks」核对三个事件。环境检查通过不等于回合联动已生效;未完成时可先手动观看。
|
|
69
68
|
- **任务结束时频繁暂停**:在播放器「设置」中关闭「任务结束自动暂停」并保存,即可持续播放。
|
|
70
69
|
- **新任务开始没有续播**:确认「任务开始自动播放」已开启并保存,且播放器在对应聊天中保持打开、已选中剧集。新默认值不会覆盖此前手动保存的关闭设置。
|
|
71
70
|
- **点推荐后没有开播**:任务仍在执行时应自动静音播放;如果推荐所属任务在开播前已结束,会提示点击播放继续。宿主限制自动播放时,也会显示明确提示。
|
package/dist/cli/main.mjs
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import {createRequire as __cr} from 'node:module';const require=__cr(import.meta.url);
|
|
2
|
-
var pt=Object.create;var KA=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var vt=Object.getOwnPropertyNames;var mt=Object.getPrototypeOf,yt=Object.prototype.hasOwnProperty;var F=(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 m=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var dt=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of vt(e))!yt.call(A,n)&&n!==t&&KA(A,n,{get:()=>e[n],enumerable:!(r=wt(e,n))||r.enumerable});return A};var UA=(A,e,t)=>(t=A!=null?pt(mt(A)):{},dt(e||!A||!A.__esModule?KA(t,"default",{value:A,enumerable:!0}):t,A));var jA=m((tn,PA)=>{PA.exports=TA;TA.sync=xt;var OA=F("fs");function Dt(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 zA(A,e,t){return!A.isSymbolicLink()&&!A.isFile()?!1:Dt(e,t)}function TA(A,e,t){OA.stat(A,function(r,n){t(r,r?!1:zA(n,A,e))})}function xt(A,e){return zA(OA.statSync(A),A,e)}});var _A=m((rn,VA)=>{VA.exports=XA;XA.sync=Nt;var WA=F("fs");function XA(A,e,t){WA.stat(A,function(r,n){t(r,r?!1:ZA(n,e))})}function Nt(A,e){return ZA(WA.statSync(A),e)}function ZA(A,e){return A.isFile()&&kt(A,e)}function kt(A,e){var t=A.mode,r=A.uid,n=A.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),g=parseInt("100",8),c=parseInt("010",8),a=parseInt("001",8),I=g|c,i=t&a||t&c&&n===o||t&g&&r===s||t&I&&s===0;return i}});var Ae=m((on,$A)=>{var nn=F("fs"),tA;process.platform==="win32"||global.TESTING_WINDOWS?tA=jA():tA=_A();$A.exports=aA;aA.sync=St;function aA(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){aA(A,e||{},function(s,o){s?n(s):r(o)})})}tA(A,e||{},function(r,n){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,n=!1),t(r,n)})}function St(A,e){try{return tA.sync(A,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var se=m((sn,oe)=>{var K=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ee=F("path"),Ft=K?";":":",te=Ae(),re=A=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),ne=(A,e)=>{let t=e.colon||Ft,r=A.match(/\//)||K&&A.match(/\\/)?[""]:[...K?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=K?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=K?n.split(t):[""];return K&&A.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:n}},ie=(A,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:r,pathExt:n,pathExtExe:s}=ne(A,e),o=[],g=a=>new Promise((I,i)=>{if(a===r.length)return e.all&&o.length?I(o):i(re(A));let C=r[a],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,a,0))}),c=(a,I,i)=>new Promise((C,f)=>{if(i===n.length)return C(g(I+1));let u=n[i];te(a+u,{pathExt:s},(h,Q)=>{if(!h&&Q)if(e.all)o.push(a+u);else return C(a+u);return C(c(a,I,i+1))})});return t?g(0).then(a=>t(null,a),t):g(0)},Mt=(A,e)=>{e=e||{};let{pathEnv:t,pathExt:r,pathExtExe:n}=ne(A,e),s=[];for(let o=0;o<t.length;o++){let g=t[o],c=/^".*"$/.test(g)?g.slice(1,-1):g,a=ee.join(c,A),I=!c&&/^\.[\\\/]/.test(A)?A.slice(0,2)+a:a;for(let i=0;i<r.length;i++){let C=I+r[i];try{if(te.sync(C,{pathExt:n}))if(e.all)s.push(C);else return C}catch{}}}if(e.all&&s.length)return s;if(e.nothrow)return null;throw re(A)};oe.exports=ie;ie.sync=Mt});var ge=m((an,gA)=>{"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"};gA.exports=ae;gA.exports.default=ae});var fe=m((gn,ce)=>{"use strict";var Ie=F("path"),Jt=se(),Lt=ge();function Ce(A,e){let t=A.options.env||process.env,r=process.cwd(),n=A.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(A.options.cwd)}catch{}let o;try{o=Jt.sync(A.command,{path:t[Lt({env:t})],pathExt:e?Ie.delimiter:void 0})}catch{}finally{s&&process.chdir(r)}return o&&(o=Ie.resolve(n?A.options.cwd:"",o)),o}function bt(A){return Ce(A)||Ce(A,!0)}ce.exports=bt});var ue=m((In,CA)=>{"use strict";var IA=/([()\][%!^"`<>&|;, *?])/g;function Yt(A){return A=A.replace(IA,"^$1"),A}function Gt(A,e){return A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(IA,"^$1"),e&&(A=A.replace(IA,"^$1")),A}CA.exports.command=Yt;CA.exports.argument=Gt});var le=m((Cn,he)=>{"use strict";he.exports=/^#!(.*)/});var Ee=m((cn,Qe)=>{"use strict";var Ht=le();Qe.exports=(A="")=>{let e=A.match(Ht);if(!e)return null;let[t,r]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?r:r?`${n} ${r}`:n}});var pe=m((fn,Be)=>{"use strict";var cA=F("fs"),Rt=Ee();function qt(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 Rt(t.toString())}Be.exports=qt});var ye=m((un,me)=>{"use strict";var Kt=F("path"),we=fe(),ve=ue(),Ut=pe(),Ot=process.platform==="win32",zt=/\.(?:com|exe)$/i,Tt=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Pt(A){A.file=we(A);let e=A.file&&Ut(A.file);return e?(A.args.unshift(A.file),A.command=e,we(A)):A.file}function jt(A){if(!Ot)return A;let e=Pt(A),t=!zt.test(e);if(A.options.forceShell||t){let r=Tt.test(e);A.command=Kt.normalize(A.command),A.command=ve.command(A.command),A.args=A.args.map(s=>ve.argument(s,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 Wt(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:jt(r)}me.exports=Wt});var xe=m((hn,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 Xt(A,e){if(!fA)return;let t=A.emit;A.emit=function(r,n){if(r==="exit"){let s=de(n,e);if(s)return t.call(A,"error",s)}return t.apply(A,arguments)}}function de(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawn"):null}function Zt(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawnSync"):null}De.exports={hookChildProcess:Xt,verifyENOENT:de,verifyENOENTSync:Zt,notFoundError:uA}});var Se=m((ln,U)=>{"use strict";var Ne=F("child_process"),hA=ye(),lA=xe();function ke(A,e,t){let r=hA(A,e,t),n=Ne.spawn(r.command,r.args,r.options);return lA.hookChildProcess(n,r),n}function Vt(A,e,t){let r=hA(A,e,t),n=Ne.spawnSync(r.command,r.args,r.options);return n.error=n.error||lA.verifyENOENTSync(n.status,r),n}U.exports=ke;U.exports.spawn=ke;U.exports.sync=Vt;U.exports._parse=hA;U.exports._enoent=lA});var He=m((_,mA)=>{(function(e,t){typeof _=="object"&&typeof mA=="object"?mA.exports=t(F("stream/web")):typeof define=="function"&&define.amd?define(["stream/web"],t):typeof _=="object"?_["xz-decompress"]=t(F("stream/web")):e["xz-decompress"]=t(e["stream/web"])})(_,A=>(()=>{"use strict";var e=[,(s=>{s.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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"}),(s=>{s.exports=A})],t={};function r(s){var o=t[s];if(o!==void 0)return o.exports;var g=t[s]={exports:{}};return e[s](g,g.exports,r),g.exports}r.d=(s,o)=>{for(var g in o)r.o(o,g)&&!r.o(s,g)&&Object.defineProperty(s,g,{enumerable:!0,get:o[g]})},r.o=(s,o)=>Object.prototype.hasOwnProperty.call(s,o),r.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{XzReadableStream:()=>i});var s=r(1);let o=globalThis.ReadableStream||r(2).ReadableStream,g=0,c=1;class a{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!==g&&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 i extends o{static _moduleInstancePromise;static _moduleInstance;static _contextMutex=new I;static async _getModuleInstance(){let f=s.replace("data:application/wasm;base64,",""),u=Uint8Array.from(atob(f),B=>B.charCodeAt(0)).buffer,h={},Q=await WebAssembly.instantiate(u,h);i._moduleInstance=Q.instance}constructor(f){let u,h=null,Q=f.getReader();super({async start(B){await i._contextMutex.acquire();try{i._moduleInstance||await(i._moduleInstancePromise||(i._moduleInstancePromise=i._getModuleInstance())),u=new a(i._moduleInstance)}catch(v){throw i._contextMutex.release(),v}},async pull(B){try{if(u.needsMoreInput()){if(h===null||h.byteLength===0){let{done:L,value:b}=await Q.read();L||(h=b)}let E=Math.min(u.bufSize,h.byteLength);u.supplyInput(h.subarray(0,E)),h=h.subarray(E)}let v=u.getNextOutput();B.enqueue(v.outChunk),u.resetOutputBuffer(),v.finished&&(u.dispose(),i._contextMutex.release(),B.close())}catch(v){throw u&&u.dispose(),i._contextMutex.release(),v}},cancel(){try{return u&&u.dispose(),Q.cancel()}finally{i._contextMutex.release()}}})}}})(),n})())});import{readFileSync as Zr,existsSync as Vr}from"node:fs";import{fileURLToPath as _r}from"node:url";var SA=UA(Se(),1);import{accessSync as Lr,constants as tt,statSync as br}from"node:fs";import{homedir as Yr}from"node:os";import{posix as rt,win32 as kA}from"node:path";import{createHash as Oe,randomUUID as pr}from"node:crypto";import{createReadStream as ze}from"node:fs";import{mkdir as qe,lstat as DA,open as Te,readFile as Pe,writeFile as wr,rename as vr,rm as T,chmod as mr,stat as Ke,unlink as yr,rmdir as Ue}from"node:fs/promises";import{lstatSync as dr}from"node:fs";import{homedir as je}from"node:os";import{posix as xA,win32 as NA}from"node:path";import{spawnSync as Dr}from"node:child_process";import{createRequire as _t}from"module";var $t=_t("/"),z,Ar,er;try{z=$t("worker_threads"),Ar=z.Worker,er=z.isMarkedAsUntransferable}catch{}var D=Uint8Array,O=Uint16Array,tr=Int32Array,Fe=new D([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]),Me=new D([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]),rr=new D([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Je=function(A,e){for(var t=new O(31),r=0;r<31;++r)t[r]=e+=1<<A[r-1];for(var n=new tr(t[30]),r=1;r<30;++r)for(var s=t[r];s<t[r+1];++s)n[s]=s-t[r]<<5|r;return{b:t,r:n}},z=Je(Fe,2),Le=z.b,nr=z.r;Le[28]=258,nr[258]=28;var be=Je(Me,0),ir=be.b,En=be.r,pA=new O(32768);for(l=0;l<32768;++l)J=(l&43690)>>1|(l&21845)<<1,J=(J&52428)>>2|(J&13107)<<2,J=(J&61680)>>4|(J&3855)<<4,pA[l]=((J&65280)>>8|(J&255)<<8)>>1;var J,l,Z=(function(A,e,t){for(var r=A.length,n=0,s=new O(e);n<r;++n)A[n]&&++s[A[n]-1];var o=new O(e);for(n=1;n<e;++n)o[n]=o[n-1]+s[n-1]<<1;var g;if(t){g=new O(1<<e);var c=15-e;for(n=0;n<r;++n)if(A[n])for(var a=n<<4|A[n],I=e-A[n],i=o[A[n]-1]++<<I,C=i|(1<<I)-1;i<=C;++i)g[pA[i]>>c]=a}else for(g=new O(r),n=0;n<r;++n)A[n]&&(g[n]=pA[o[A[n]-1]++]>>15-A[n]);return g}),V=new D(288);for(l=0;l<144;++l)V[l]=8;var l;for(l=144;l<256;++l)V[l]=9;var l;for(l=256;l<280;++l)V[l]=7;var l;for(l=280;l<288;++l)V[l]=8;var l,Ye=new D(32);for(l=0;l<32;++l)Ye[l]=5;var l;var or=Z(V,9,1);var sr=Z(Ye,5,1),QA=function(A){for(var e=A[0],t=1;t<A.length;++t)A[t]>e&&(e=A[t]);return e},S=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)},ar=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 D(A.subarray(e,t))};var gr=["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"],d=function(A,e,t){var r=new Error(e||gr[A]);if(r.code=A,Error.captureStackTrace&&Error.captureStackTrace(r,d),!t)throw r;return r},Ir=function(A,e,t,r){var n=A.length,s=r?r.length:0;if(!n||e.f&&!e.l)return t||new D(0);var o=!t,g=o||e.i!=2,c=e.i;o&&(t=new D(n*3));var a=function(HA){var RA=t.length;if(HA>RA){var qA=new D(Math.max(RA*2,HA));qA.set(t),t=qA}},I=e.f||0,i=e.p||0,C=e.b||0,f=e.l,u=e.d,h=e.m,Q=e.n,B=n*8;do{if(!f){I=S(A,i,1);var v=S(A,i+1,3);if(i+=3,v)if(v==1)f=or,u=sr,h=9,Q=5;else if(v==2){var p=S(A,i,31)+257,k=S(A,i+10,15)+4,AA=p+S(A,i+5,31)+1;i+=14;for(var y=new D(AA),nA=new D(19),x=0;x<k;++x)nA[rr[x]]=S(A,i+x*3,7);i+=k*3;for(var MA=QA(nA),ht=(1<<MA)-1,lt=Z(nA,MA,1),x=0;x<AA;){var JA=lt[S(A,i,ht)];i+=JA&15;var E=JA>>4;if(E<16)y[x++]=E;else{var R=0,eA=0;for(E==16?(eA=3+S(A,i,3),i+=2,R=y[x-1]):E==17?(eA=3+S(A,i,7),i+=3):E==18&&(eA=11+S(A,i,127),i+=7);eA--;)y[x++]=R}}var LA=y.subarray(0,p),Y=y.subarray(p);h=QA(LA),Q=QA(Y),f=Z(LA,h,1),u=Z(Y,Q,1)}else d(1);else{var E=ar(i)+4,L=A[E-4]|A[E-3]<<8,b=E+L;if(b>n){c&&d(0);break}g&&a(C+L),t.set(A.subarray(E,b),C),e.b=C+=L,e.p=i=b*8,e.f=I;continue}if(i>B){c&&d(0);break}}g&&a(C+131072);for(var Qt=(1<<h)-1,Et=(1<<Q)-1,iA=i;;iA=i){var R=f[EA(A,i)&Qt],q=R>>4;if(i+=R&15,i>B){c&&d(0);break}if(R||d(2),q<256)t[C++]=q;else if(q==256){iA=i,f=null;break}else{var bA=q-254;if(q>264){var x=q-257,X=Fe[x];bA=S(A,i,(1<<X)-1)+Le[x],i+=X}var oA=u[EA(A,i)&Et],sA=oA>>4;oA||d(3),i+=oA&15;var Y=ir[sA];if(sA>3){var X=Me[sA];Y+=EA(A,i)&(1<<X)-1,i+=X}if(i>B){c&&d(0);break}g&&a(C+131072);var YA=C+bA;if(C<Y){var GA=s-Y,Bt=Math.min(Y,YA);for(GA+C<0&&d(3);C<Bt;++C)t[C]=r[GA+C]}for(;C<YA;++C)t[C]=t[C-Y]}}e.l=f,e.p=iA,e.b=C,e.f=I,f&&(I=1,e.m=h,e.d=u,e.n=Q)}while(!I);return C!=t.length&&o?vA(t,0,C):t.subarray(0,C)};var Cr=new D(0);var M=function(A,e){return A[e]|A[e+1]<<8},N=function(A,e){return(A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24)>>>0},BA=function(A,e){return N(A,e)+N(A,e+4)*4294967296};function cr(A,e){return Ir(A,{i:2},e&&e.out,e&&e.dictionary)}var wA=typeof TextDecoder<"u"&&new TextDecoder,fr=0;try{wA.decode(Cr,{stream:!0}),fr=1}catch{}var ur=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 hr(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=ur(A),s=n.s,t=n.r;return t.length&&d(8),s}}var lr=function(A,e){return e+30+M(A,e+26)+M(A,e+28)},Qr=function(A,e,t){var r=M(A,e+28),n=M(A,e+30),s=hr(A.subarray(e+46,e+46+r),!(M(A,e+8)&2048)),o=e+46+r,g=Er(A,o,n,t,N(A,e+20),N(A,e+24),N(A,e+42)),c=g[0],a=g[1],I=g[2];return[M(A,e+10),c,a,s,o+n+M(A,e+32),I]},Er=function(A,e,t,r,n,s,o){var g=n==4294967295,c=s==4294967295,a=o==4294967295,I=e+t,i=g+c+a;if(r&&i){for(;e+4<I;e+=4+M(A,e+2))if(M(A,e)==1)return[g?BA(A,e+4+8*c):n,c?BA(A,e+4):s,a?BA(A,e+4+8*(c+g)):o,1];r<2&&d(13)}return[n,s,o,0]};function Ge(A,e){for(var t={},r=A.length-22;N(A,r)!=101010256;--r)(!r||A.length-r>65558)&&d(13);var n=M(A,r+8);if(!n)return{};var s=N(A,r+16),o=N(A,r-20)==117853008;if(o){var g=N(A,r-12);o=N(A,g)==101075792,o&&(n=N(A,g+32),s=N(A,g+48))}for(var c=e&&e.filter,a=0;a<n;++a){var I=Qr(A,s,o),i=I[0],C=I[1],f=I[2],u=I[3],h=I[4],Q=I[5],B=lr(A,Q);s=h,(!c||c({name:u,size:C,originalSize:f,compression:i}))&&(i?i==8?t[u]=cr(A.subarray(B,B+C),{out:new D(f)}):d(14,"unknown compression type "+i):t[u]=vA(A,B,B+C))}return t}var We=UA(He(),1);var Re={"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 P=new Map,rA=new Map,xr="@kyun.si/codex-hongguo",w=()=>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"),Nr=A=>new Promise(e=>setTimeout(e,A));function Xe(A={}){let{env:e=process.env,home:t=je(),platform:r=process.platform,arch:n=process.arch}=A,s=r==="win32"?NA:xA;if(e.HONGGUO_FFMPEG){if(!s.isAbsolute(e.HONGGUO_FFMPEG))throw w();return{...A,env:e,platform:r,target:e.HONGGUO_FFMPEG,override:!0}}let o=(A.artifacts||Re)[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 g=Ze({env:e,home:t,platform:r,paths:s}),c=s.join(g,"runtime","ffmpeg",o.archiveSha256.slice(0,16),r+"-"+n);return{...A,env:e,platform:r,artifact:o,directory:c,target:s.join(c,r==="win32"?"ffmpeg.exe":"ffmpeg")}}function Ze({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 Ve(A){return Xe(A).target}function yA(A){try{let e=dr(A);return e.isFile()&&!e.isSymbolicLink()?`${e.size}:${e.mtimeMs}:${e.ctimeMs}`:null}catch{return null}}async function _e(A){let e=Oe("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):Dr(A,["-version"],{stdio:"ignore",timeout:5e3,windowsHide:!0}).status===0}async function dA(A){let{target:e,artifact:t}=A;if(P.get(e)&&P.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 Pe(e+".json","utf8"));if(n.archiveSha256!==t.archiveSha256||!/^[a-f0-9]{64}$/.test(n.binarySha256)||r.size!==(t.binaryBytes||n.binaryBytes)||await _e(e)!==(t.binarySha256||n.binarySha256))return!1}return $e(e,A)?(P.set(e,yA(e)),!0):!1}catch{return!1}}async function kr(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),s=new URL(A.url),o;for(let I=0;I<=6;I++){if(s.protocol!=="https:"||s.username||s.password||s.port||!r.has(s.hostname))throw w();if(o=await t(s,{redirect:"manual",signal:n}),![301,302,303,307,308].includes(o.status))break;let i=o.headers.get("location");if(await o.body?.cancel(),!i||I===6)throw w();s=new URL(i,s)}if(!o.ok||!o.body||Number(o.headers.get("content-length"))>A.archiveBytes)throw await o.body?.cancel(),w();let g=await Te(e,"wx",384),c=Oe("sha256"),a=0;try{for await(let I of o.body){if(a+=I.length,a>A.archiveBytes)throw w();c.update(I),await g.writeFile(I)}if(a!==A.archiveBytes||c.digest("hex")!==A.archiveSha256)throw w()}finally{await g.close()}}async function Sr(A,e,t){let r=await Te(t,"wx",384);try{if(A.format==="zip"){let C=Ge(await Pe(e),{filter:f=>f.name===A.entry&&f.originalSize<=(A.binaryBytes||268435456)})[A.entry];if(!C||A.binaryBytes&&C.length!==A.binaryBytes)throw w();await r.writeFile(C);return}let n=new We.default.XzReadableStream(Fr(e)),s=n.getReader(),o=Buffer.alloc(0),g=0,c=0,a=!1,I=0;try{for(;;){let{value:i,done:C}=await s.read();if(C)break;if(I+=i.length,I>1024*1024*1024)throw w();for(o=Buffer.concat([o,i]);o.length;)if(g){let f=Math.min(g,o.length);if(a&&await r.writeFile(o.subarray(0,f)),o=o.subarray(f),g-=f,!g&&a)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=(B,v)=>f.subarray(B,v).toString("utf8").split("\0")[0],h=[u(345,500),u(0,100)].filter(Boolean).join("/"),Q=parseInt(u(124,136).trim()||"0",8);if(!Number.isSafeInteger(Q)||Q<0||Q>512*1024*1024||(a=h===A.entry,a&&(A.binaryBytes&&Q!==A.binaryBytes||Q>256*1024*1024||![0,48].includes(f[156]))))throw w();g=Q,c=(512-Q%512)%512}}throw w()}finally{await s.cancel().catch(()=>{})}}finally{await r.close()}}function Fr(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 At(A={}){let e=Xe(A);if(await dA(e))return e.target;if(e.override)throw w();if(rA.has(e.target))return rA.get(e.target);let t=Jr(e).finally(()=>rA.delete(e.target));return rA.set(e.target,t),t}async function Mr(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 et(A={}){let{env:e=process.env,home:t=je(),platform:r=process.platform}=A,n=r==="win32"?NA:xA,s=Ze({env:e,home:t,platform:r,paths:n}),o=n.join(s,"runtime","ffmpeg"),g=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(s))throw c();try{if(!await Mr(g,n))throw c();let a=await DA(o);a.isDirectory()&&!a.isSymbolicLink()?await T(o,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await yr(o);for(let I of P.keys()){let i=n.relative(o,I);i&&!i.startsWith(".."+n.sep)&&!n.isAbsolute(i)&&P.delete(I)}}catch(a){if(a.code==="ENOENT")return{removed:0};throw c()}return await Ue(g).catch(()=>{}),await Ue(s).catch(()=>{}),{removed:1}}async function Jr(A){let{directory:e,target:t,artifact:r}=A,n=e+".lock",s=Date.now()+42e4;await qe(e,{recursive:!0,mode:448});let o=!1;for(;!o;)try{await qe(n,{mode:448}),o=!0}catch(i){if(i.code!=="EEXIST"||Date.now()>s)throw w();if(await dA(A))return t;try{Date.now()-(await Ke(n)).mtimeMs>6e5&&await T(n,{recursive:!0,force:!0})}catch{}await Nr(200)}let g=A.platform==="win32"?NA:xA,c=g.basename(t)+"."+pr(),a=g.join(e,c+".archive"),I=g.join(e,c+".part");try{if(await dA(A))return t;await kr(r,a,A.fetchImpl||fetch),await Sr(r,a,I);let i=await _e(I);if(r.binarySha256&&i!==r.binarySha256||(await mr(I,493),!$e(I,A)))throw w();return A.platform==="win32"&&await T(t,{force:!0}),await vr(I,t),await wr(t+".json",JSON.stringify({owner:xr,schema:1,archiveSha256:r.archiveSha256,binarySha256:i,binaryBytes:(await Ke(t)).size,version:r.version})+`
|
|
3
|
-
`,{mode:384}),
|
|
4
|
-
`);a.stdout.on("data",Q=>{if(I)return;if(C+=Buffer.byteLength(Q),C>2*1024*1024)return f(G());i+=Q;let B;for(;!I&&(B=i.indexOf(`
|
|
5
|
-
`))>=0;){let v=i.slice(0,B);i=i.slice(B+1);let E;try{E=JSON.parse(v)}catch{continue}if(E.error&&[1,2].includes(E.id))return f(G());if(E.id===1&&E.result&&(h({jsonrpc:"2.0",method:"initialized"}),h({jsonrpc:"2.0",id:2,method:"hooks/list",params:{cwds:[t]}})),E.id===2&&Array.isArray(E.result?.data)){let L=E.result.data.flatMap(p=>Array.isArray(p?.hooks)?p.hooks:[]).filter(p=>typeof p?.pluginId=="string"&&p.pluginId.split("@")[0]==="codex-hongguo").filter(p=>{if(typeof p.sourcePath!="string")return!1;if(s)return p.pluginId===s;let k=Ur(g,o(p.sourcePath));return k&&!k.startsWith("..")&&!zr(k)});if(!L.length)return f(G());let b=at.map(p=>{let k=L.filter(y=>y.eventName===p),AA=k.length?k.some(y=>!y.enabled)?"disabled":k.every(y=>["trusted","managed"].includes(y.trustStatus))?"ready":k.some(y=>["untrusted","modified"].includes(y.trustStatus))?"needs_review":"unknown":"missing";return{event:p,status:AA}});f({status:b.every(p=>p.status==="ready")?"ready":"needs_attention",events:b})}}}),h({jsonrpc:"2.0",id:1,method:"initialize",params:{clientInfo:{name:"hongguo-setup",version:"1"},capabilities:{experimentalApi:!0}}})}catch{f(G())}})}import{lstat as It,rm as Tr,unlink as Pr}from"node:fs/promises";import{homedir as jr}from"node:os";import{posix as Wr,win32 as Xr}from"node:path";async function Ct(A={}){let{env:e=process.env,home:t=jr(),platform:r=process.platform}=A,n=r==="win32"?Xr:Wr,s=n.resolve(FA({env:e,home:t,platform:r})),o=n.resolve(FA({env:{...e,HONGGUO_DATA_DIR:void 0},home:t,platform:r})),g=s===o?[s]:["player.sqlite","player.sqlite-wal","player.sqlite-shm","player.sqlite-journal","media","panel-media","device"].map(a=>n.join(s,a)),c=!1;for(let a of g)try{for(let i=n.dirname(a);;i=n.dirname(i)){let C=await It(i);if(!C.isDirectory()||C.isSymbolicLink())throw Error("Substituted data ancestor");if(n.dirname(i)===i)break}let I=await It(a);I.isDirectory()&&!I.isSymbolicLink()?await Tr(a,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await Pr(a)}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 W="hongguo-local",H="codex-hongguo@"+W,ut="mreasonyang/codex-hongguo",ct=A=>typeof A=="string"?A.replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,"").replace(/\/$/,""):A;function ft(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 $r(A){if(/^[\w.-]+\/[\w.-]+$/.test(A)||Vr(A))return A;throw Error("--marketplace \u53EA\u63A5\u53D7 owner/repo \u6216\u73B0\u6709\u672C\u5730\u5E02\u573A\u76EE\u5F55\u3002")}function An({run:A,source:e=ut,dryRun:t=!1,log:r=console.log}){if($r(e),t){r("\u5C06\u4F7F\u7528 Codex \u539F\u751F\u5E02\u573A\u5B89\u88C5 "+H+"\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(g=>g.name===W),s=n?.marketplaceSource?.source,o=!!n&&ct(s)!==ct(e);o&&A(["plugin","marketplace","remove",W]);try{A(["plugin","marketplace","add",e]),!o&&n?.marketplaceSource?.sourceType==="git"&&A(["plugin","marketplace","upgrade",W]),A(["plugin","add",H])}catch(g){if(o&&s){try{A(["plugin","marketplace","remove",W])}catch{}try{A(["plugin","marketplace","add",s]),A(["plugin","add",H])}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 g}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 ti(A=process.argv.slice(2)){try{let[e="help",...t]=A;if(e==="--version"){console.log(JSON.parse(Zr(new URL("../../package.json",import.meta.url),"utf8")).version);return}if(["help","--help","-h"].includes(e)){console.log(`\u7EA2\u679C\u77ED\u5267
|
|
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
|
|
6
4
|
codex-hongguo setup [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
|
|
7
5
|
codex-hongguo update [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
|
|
8
6
|
codex-hongguo uninstall [--dry-run]
|
|
9
7
|
codex-hongguo doctor
|
|
10
|
-
\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(
|
|
11
|
-
`));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}
|
|
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};
|
|
12
10
|
/*! Bundled license information:
|
|
13
11
|
|
|
14
12
|
xz-decompress/dist/package/xz-decompress.js:
|