@kyun.si/codex-hongguo 0.0.22 → 0.0.23

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.22",
3
+ "version": "0.0.23",
4
4
  "description": "在 Codex 会话侧栏观看红果短剧,回合停止时保存进度。",
5
5
  "hooks": "./hooks/hooks.json",
6
6
  "skills": "./skills/",
package/README.en.md CHANGED
@@ -82,7 +82,15 @@ npx @kyun.si/codex-hongguo@latest update
82
82
 
83
83
  Updates preserve viewing progress and settings. Open a new chat afterward and review changed Hooks when prompted.
84
84
 
85
- - **Disable or uninstall**: Disable the plugin in Codex plugin settings, or run `codex plugin remove codex-hongguo@hongguo-local`. After uninstalling, you can keep or manually remove the dedicated user data directory below:
85
+ Uninstall with:
86
+
87
+ ```sh
88
+ npx @kyun.si/codex-hongguo@latest uninstall
89
+ ```
90
+
91
+ Uninstalling removes this plugin's dedicated playback component directory, including old versions and partial downloads, and preserves viewing progress, settings and video caches. System FFmpeg installations and external executables are kept. Open a new chat afterward. To disable the plugin temporarily, use Codex plugin settings.
92
+
93
+ After uninstalling, you can keep or manually remove the dedicated user data directory below:
86
94
 
87
95
  | OS | User Data Directory |
88
96
  | --- | --- |
package/README.md CHANGED
@@ -81,7 +81,15 @@ npx @kyun.si/codex-hongguo@latest update
81
81
 
82
82
  更新会保留观看进度和设置。完成后打开新聊天,并按提示重新审查 Hooks。
83
83
 
84
- - **禁用与卸载**:可从插件设置中禁用,或运行 `codex plugin remove codex-hongguo@hongguo-local` 卸载。卸载后可按需保留或手动清理以下专用数据目录:
84
+ 卸载命令:
85
+
86
+ ```sh
87
+ npx @kyun.si/codex-hongguo@latest uninstall
88
+ ```
89
+
90
+ 卸载会清理本插件专属的播放组件目录,包括历史版本和下载残片,保留观看进度、设置和视频缓存;系统或外部自行配置的 FFmpeg 不会删除。完成后打开新聊天。只想暂时停用时,可从 Codex 插件设置中禁用。
91
+
92
+ 卸载后可按需保留或手动清理以下专用数据目录:
85
93
 
86
94
  | 系统 | 用户数据目录 |
87
95
  | --- | --- |
package/dist/cli/main.mjs CHANGED
@@ -1,12 +1,13 @@
1
1
  import {createRequire as __cr} from 'node:module';const require=__cr(import.meta.url);
2
- var Ct=Object.create;var GA=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var ct=Object.getOwnPropertyNames;var ut=Object.getPrototypeOf,ht=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 y=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var Qt=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ct(e))!ht.call(A,n)&&n!==t&&GA(A,n,{get:()=>e[n],enumerable:!(r=ft(e,n))||r.enumerable});return A};var bA=(A,e,t)=>(t=A!=null?Ct(ut(A)):{},Qt(e||!A||!A.__esModule?GA(t,"default",{value:A,enumerable:!0}):t,A));var zA=y((Rr,UA)=>{UA.exports=KA;KA.sync=Bt;var RA=F("fs");function lt(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 qA(A,e,t){return!A.isSymbolicLink()&&!A.isFile()?!1:lt(e,t)}function KA(A,e,t){RA.stat(A,function(r,n){t(r,r?!1:qA(n,A,e))})}function Bt(A,e){return qA(RA.statSync(A),A,e)}});var WA=y((qr,jA)=>{jA.exports=TA;TA.sync=Et;var OA=F("fs");function TA(A,e,t){OA.stat(A,function(r,n){t(r,r?!1:PA(n,e))})}function Et(A,e){return PA(OA.statSync(A),e)}function PA(A,e){return A.isFile()&&pt(A,e)}function pt(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),g=parseInt("010",8),I=parseInt("001",8),C=a|g,s=t&I||t&g&&n===o||t&a&&r===i||t&C&&i===0;return s}});var ZA=y((Ur,XA)=>{var Kr=F("fs"),AA;process.platform==="win32"||global.TESTING_WINDOWS?AA=zA():AA=WA();XA.exports=aA;aA.sync=wt;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(i,o){i?n(i):r(o)})})}AA(A,e||{},function(r,n){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,n=!1),t(r,n)})}function wt(A,e){try{return AA.sync(A,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var re=y((zr,te)=>{var q=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",VA=F("path"),vt=q?";":":",$A=ZA(),_A=A=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),Ae=(A,e)=>{let t=e.colon||vt,r=A.match(/\//)||q&&A.match(/\\/)?[""]:[...q?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=q?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=q?n.split(t):[""];return q&&A.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:r,pathExt:i,pathExtExe:n}},ee=(A,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:r,pathExt:n,pathExtExe:i}=Ae(A,e),o=[],a=I=>new Promise((C,s)=>{if(I===r.length)return e.all&&o.length?C(o):s(_A(A));let c=r[I],f=/^".*"$/.test(c)?c.slice(1,-1):c,u=VA.join(f,A),h=!f&&/^\.[\\\/]/.test(A)?A.slice(0,2)+u:u;C(g(h,I,0))}),g=(I,C,s)=>new Promise((c,f)=>{if(s===n.length)return c(a(C+1));let u=n[s];$A(I+u,{pathExt:i},(h,l)=>{if(!h&&l)if(e.all)o.push(I+u);else return c(I+u);return c(g(I,C,s+1))})});return t?a(0).then(I=>t(null,I),t):a(0)},yt=(A,e)=>{e=e||{};let{pathEnv:t,pathExt:r,pathExtExe:n}=Ae(A,e),i=[];for(let o=0;o<t.length;o++){let a=t[o],g=/^".*"$/.test(a)?a.slice(1,-1):a,I=VA.join(g,A),C=!g&&/^\.[\\\/]/.test(A)?A.slice(0,2)+I:I;for(let s=0;s<r.length;s++){let c=C+r[s];try{if($A.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 _A(A)};te.exports=ee;ee.sync=yt});var ie=y((Or,gA)=>{"use strict";var ne=(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=ne;gA.exports.default=ne});var ge=y((Tr,ae)=>{"use strict";var oe=F("path"),mt=re(),dt=ie();function se(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=mt.sync(A.command,{path:t[dt({env:t})],pathExt:e?oe.delimiter:void 0})}catch{}finally{i&&process.chdir(r)}return o&&(o=oe.resolve(n?A.options.cwd:"",o)),o}function Dt(A){return se(A)||se(A,!0)}ae.exports=Dt});var Ie=y((Pr,CA)=>{"use strict";var IA=/([()\][%!^"`<>&|;, *?])/g;function xt(A){return A=A.replace(IA,"^$1"),A}function Nt(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=xt;CA.exports.argument=Nt});var fe=y((jr,Ce)=>{"use strict";Ce.exports=/^#!(.*)/});var ue=y((Wr,ce)=>{"use strict";var kt=fe();ce.exports=(A="")=>{let e=A.match(kt);if(!e)return null;let[t,r]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?r:r?`${n} ${r}`:n}});var Qe=y((Xr,he)=>{"use strict";var fA=F("fs"),St=ue();function Ft(A){let t=Buffer.alloc(150),r;try{r=fA.openSync(A,"r"),fA.readSync(r,t,0,150,0),fA.closeSync(r)}catch{}return St(t.toString())}he.exports=Ft});var pe=y((Zr,Ee)=>{"use strict";var Mt=F("path"),le=ge(),Be=Ie(),Jt=Qe(),Lt=process.platform==="win32",Yt=/\.(?:com|exe)$/i,Ht=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Gt(A){A.file=le(A);let e=A.file&&Jt(A.file);return e?(A.args.unshift(A.file),A.command=e,le(A)):A.file}function bt(A){if(!Lt)return A;let e=Gt(A),t=!Yt.test(e);if(A.options.forceShell||t){let r=Ht.test(e);A.command=Mt.normalize(A.command),A.command=Be.command(A.command),A.args=A.args.map(i=>Be.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 Rt(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:bt(r)}Ee.exports=Rt});var ye=y((Vr,ve)=>{"use strict";var cA=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 qt(A,e){if(!cA)return;let t=A.emit;A.emit=function(r,n){if(r==="exit"){let i=we(n,e);if(i)return t.call(A,"error",i)}return t.apply(A,arguments)}}function we(A,e){return cA&&A===1&&!e.file?uA(e.original,"spawn"):null}function Kt(A,e){return cA&&A===1&&!e.file?uA(e.original,"spawnSync"):null}ve.exports={hookChildProcess:qt,verifyENOENT:we,verifyENOENTSync:Kt,notFoundError:uA}});var De=y(($r,K)=>{"use strict";var me=F("child_process"),hA=pe(),QA=ye();function de(A,e,t){let r=hA(A,e,t),n=me.spawn(r.command,r.args,r.options);return QA.hookChildProcess(n,r),n}function Ut(A,e,t){let r=hA(A,e,t),n=me.spawnSync(r.command,r.args,r.options);return n.error=n.error||QA.verifyENOENTSync(n.status,r),n}K.exports=de;K.exports.spawn=de;K.exports.sync=Ut;K.exports._parse=hA;K.exports._enoent=QA});var Le=y((W,yA)=>{(function(e,t){typeof W=="object"&&typeof yA=="object"?yA.exports=t(F("stream/web")):typeof define=="function"&&define.amd?define(["stream/web"],t):typeof W=="object"?W["xz-decompress"]=t(F("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,g=1;class I{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!==g)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===g}}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 C{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 C;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 I(s._moduleInstance)}catch(v){throw s._contextMutex.release(),v}},async pull(E){try{if(u.needsMoreInput()){if(h===null||h.byteLength===0){let{done:L,value:Y}=await l.read();L||(h=Y)}let B=Math.min(u.bufSize,h.byteLength);u.supplyInput(h.subarray(0,B)),h=h.subarray(B)}let v=u.getNextOutput();E.enqueue(v.outChunk),u.resetOutputBuffer(),v.finished&&(u.dispose(),s._contextMutex.release(),E.close())}catch(v){throw u&&u.dispose(),s._contextMutex.release(),v}},cancel(){try{return u&&u.dispose(),l.cancel()}finally{s._contextMutex.release()}}})}}})(),n})())});import{readFileSync as Mr,existsSync as Jr}from"node:fs";import{fileURLToPath as Lr}from"node:url";var xA=bA(De(),1);import{accessSync as mr,constants as Ze,statSync as dr}from"node:fs";import{homedir as Dr}from"node:os";import{posix as Ve,win32 as DA}from"node:path";import{createHash as be,randomUUID as Cr}from"node:crypto";import{createReadStream as Re}from"node:fs";import{mkdir as He,lstat as fr,open as qe,readFile as Ke,writeFile as cr,rename as ur,rm as X,chmod as hr,stat as Ge}from"node:fs/promises";import{lstatSync as Qr}from"node:fs";import{homedir as lr}from"node:os";import{posix as Ue,win32 as ze}from"node:path";import{spawnSync as Br}from"node:child_process";import{createRequire as zt}from"module";var Ot=zt("/"),z,Tt,Pt;try{z=Ot("worker_threads"),Tt=z.Worker,Pt=z.isMarkedAsUntransferable}catch{}var D=Uint8Array,U=Uint16Array,jt=Int32Array,xe=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]),Ne=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]),Wt=new D([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ke=function(A,e){for(var t=new U(31),r=0;r<31;++r)t[r]=e+=1<<A[r-1];for(var n=new jt(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}},z=ke(xe,2),Se=z.b,Xt=z.r;Se[28]=258,Xt[258]=28;var Fe=ke(Ne,0),Zt=Fe.b,An=Fe.r,pA=new U(32768);for(Q=0;Q<32768;++Q)J=(Q&43690)>>1|(Q&21845)<<1,J=(J&52428)>>2|(J&13107)<<2,J=(J&61680)>>4|(J&3855)<<4,pA[Q]=((J&65280)>>8|(J&255)<<8)>>1;var J,Q,P=(function(A,e,t){for(var r=A.length,n=0,i=new U(e);n<r;++n)A[n]&&++i[A[n]-1];var o=new U(e);for(n=1;n<e;++n)o[n]=o[n-1]+i[n-1]<<1;var a;if(t){a=new U(1<<e);var g=15-e;for(n=0;n<r;++n)if(A[n])for(var I=n<<4|A[n],C=e-A[n],s=o[A[n]-1]++<<C,c=s|(1<<C)-1;s<=c;++s)a[pA[s]>>g]=I}else for(a=new U(r),n=0;n<r;++n)A[n]&&(a[n]=pA[o[A[n]-1]++]>>15-A[n]);return a}),j=new D(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,Me=new D(32);for(Q=0;Q<32;++Q)Me[Q]=5;var Q;var Vt=P(j,9,1);var $t=P(Me,5,1),lA=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},BA=function(A,e){var t=e/8|0;return(A[t]|A[t+1]<<8|A[t+2]<<16)>>(e&7)},_t=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 Ar=["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||Ar[A]);if(r.code=A,Error.captureStackTrace&&Error.captureStackTrace(r,d),!t)throw r;return r},er=function(A,e,t,r){var n=A.length,i=r?r.length:0;if(!n||e.f&&!e.l)return t||new D(0);var o=!t,a=o||e.i!=2,g=e.i;o&&(t=new D(n*3));var I=function(LA){var YA=t.length;if(LA>YA){var HA=new D(Math.max(YA*2,LA));HA.set(t),t=HA}},C=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){C=S(A,s,1);var v=S(A,s+1,3);if(s+=3,v)if(v==1)f=Vt,u=$t,h=9,l=5;else if(v==2){var p=S(A,s,31)+257,k=S(A,s+10,15)+4,$=p+S(A,s+5,31)+1;s+=14;for(var m=new D($),nA=new D(19),x=0;x<k;++x)nA[Wt[x]]=S(A,s+x*3,7);s+=k*3;for(var NA=lA(nA),ot=(1<<NA)-1,st=P(nA,NA,1),x=0;x<$;){var kA=st[S(A,s,ot)];s+=kA&15;var B=kA>>4;if(B<16)m[x++]=B;else{var b=0,_=0;for(B==16?(_=3+S(A,s,3),s+=2,b=m[x-1]):B==17?(_=3+S(A,s,7),s+=3):B==18&&(_=11+S(A,s,127),s+=7);_--;)m[x++]=b}}var SA=m.subarray(0,p),H=m.subarray(p);h=lA(SA),l=lA(H),f=P(SA,h,1),u=P(H,l,1)}else d(1);else{var B=_t(s)+4,L=A[B-4]|A[B-3]<<8,Y=B+L;if(Y>n){g&&d(0);break}a&&I(c+L),t.set(A.subarray(B,Y),c),e.b=c+=L,e.p=s=Y*8,e.f=C;continue}if(s>E){g&&d(0);break}}a&&I(c+131072);for(var at=(1<<h)-1,gt=(1<<l)-1,iA=s;;iA=s){var b=f[BA(A,s)&at],R=b>>4;if(s+=b&15,s>E){g&&d(0);break}if(b||d(2),R<256)t[c++]=R;else if(R==256){iA=s,f=null;break}else{var FA=R-254;if(R>264){var x=R-257,T=xe[x];FA=S(A,s,(1<<T)-1)+Se[x],s+=T}var oA=u[BA(A,s)&gt],sA=oA>>4;oA||d(3),s+=oA&15;var H=Zt[sA];if(sA>3){var T=Ne[sA];H+=BA(A,s)&(1<<T)-1,s+=T}if(s>E){g&&d(0);break}a&&I(c+131072);var MA=c+FA;if(c<H){var JA=i-H,It=Math.min(H,MA);for(JA+c<0&&d(3);c<It;++c)t[c]=r[JA+c]}for(;c<MA;++c)t[c]=t[c-H]}}e.l=f,e.p=iA,e.b=c,e.f=C,f&&(C=1,e.m=h,e.d=u,e.n=l)}while(!C);return c!=t.length&&o?vA(t,0,c):t.subarray(0,c)};var tr=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},EA=function(A,e){return N(A,e)+N(A,e+4)*4294967296};function rr(A,e){return er(A,{i:2},e&&e.out,e&&e.dictionary)}var wA=typeof TextDecoder<"u"&&new TextDecoder,nr=0;try{wA.decode(tr,{stream:!0}),nr=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 or(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&&d(8),i}}var sr=function(A,e){return e+30+M(A,e+26)+M(A,e+28)},ar=function(A,e,t){var r=M(A,e+28),n=M(A,e+30),i=or(A.subarray(e+46,e+46+r),!(M(A,e+8)&2048)),o=e+46+r,a=gr(A,o,n,t,N(A,e+20),N(A,e+24),N(A,e+42)),g=a[0],I=a[1],C=a[2];return[M(A,e+10),g,I,i,o+n+M(A,e+32),C]},gr=function(A,e,t,r,n,i,o){var a=n==4294967295,g=i==4294967295,I=o==4294967295,C=e+t,s=a+g+I;if(r&&s){for(;e+4<C;e+=4+M(A,e+2))if(M(A,e)==1)return[a?EA(A,e+4+8*g):n,g?EA(A,e+4):i,I?EA(A,e+4+8*(g+a)):o,1];r<2&&d(13)}return[n,i,o,0]};function Je(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 i=N(A,r+16),o=N(A,r-20)==117853008;if(o){var a=N(A,r-12);o=N(A,a)==101075792,o&&(n=N(A,a+32),i=N(A,a+48))}for(var g=e&&e.filter,I=0;I<n;++I){var C=ar(A,i,o),s=C[0],c=C[1],f=C[2],u=C[3],h=C[4],l=C[5],E=sr(A,l);i=h,(!g||g({name:u,size:c,originalSize:f,compression:s}))&&(s?s==8?t[u]=rr(A.subarray(E,E+c),{out:new D(f)}):d(14,"unknown compression type "+s):t[u]=vA(A,E,E+c))}return t}var Oe=bA(Le(),1);var Ye={"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 tA=new Map,eA=new Map,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"),Er=A=>new Promise(e=>setTimeout(e,A));function Te(A={}){let{env:e=process.env,home:t=lr(),platform:r=process.platform,arch:n=process.arch}=A,i=r==="win32"?ze:Ue;if(e.HONGGUO_FFMPEG){if(!i.isAbsolute(e.HONGGUO_FFMPEG))throw w();return{...A,env:e,platform:r,target:e.HONGGUO_FFMPEG,override:!0}}let o=(A.artifacts||Ye)[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=e.HONGGUO_RUNTIME_DIR||(r==="darwin"?i.join(t,"Library","Caches","CodexHongguo"):r==="win32"?i.join(e.LOCALAPPDATA||i.join(t,"AppData","Local"),"CodexHongguo","Cache"):i.join(e.XDG_CACHE_HOME||i.join(t,".cache"),"codex-hongguo")),g=i.join(a,"runtime","ffmpeg",o.archiveSha256.slice(0,16),r+"-"+n);return{...A,env:e,platform:r,artifact:o,directory:g,target:i.join(g,r==="win32"?"ffmpeg.exe":"ffmpeg")}}function Pe(A){return Te(A).target}function mA(A){try{let e=Qr(A);return e.isFile()&&!e.isSymbolicLink()?`${e.size}:${e.mtimeMs}:${e.ctimeMs}`:null}catch{return null}}async function je(A){let e=be("sha256");for await(let t of Re(A))e.update(t);return e.digest("hex")}function We(A,e){return e.probe?e.probe(A):Br(A,["-version"],{stdio:"ignore",timeout:5e3,windowsHide:!0}).status===0}async function dA(A){let{target:e,artifact:t}=A;if(tA.get(e)&&tA.get(e)===mA(e))return!0;try{let r=await fr(e);if(!r.isFile()||r.isSymbolicLink())return!1;if(t){let n=JSON.parse(await Ke(e+".json","utf8"));if(n.archiveSha256!==t.archiveSha256||!/^[a-f0-9]{64}$/.test(n.binarySha256)||r.size!==(t.binaryBytes||n.binaryBytes)||await je(e)!==(t.binarySha256||n.binarySha256))return!1}return We(e,A)?(tA.set(e,mA(e)),!0):!1}catch{return!1}}async function pr(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 C=0;C<=6;C++){if(i.protocol!=="https:"||i.username||i.password||i.port||!r.has(i.hostname))throw w();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||C===6)throw w();i=new URL(s,i)}if(!o.ok||!o.body||Number(o.headers.get("content-length"))>A.archiveBytes)throw await o.body?.cancel(),w();let a=await qe(e,"wx",384),g=be("sha256"),I=0;try{for await(let C of o.body){if(I+=C.length,I>A.archiveBytes)throw w();g.update(C),await a.writeFile(C)}if(I!==A.archiveBytes||g.digest("hex")!==A.archiveSha256)throw w()}finally{await a.close()}}async function wr(A,e,t){let r=await qe(t,"wx",384);try{if(A.format==="zip"){let c=Je(await Ke(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 Oe.default.XzReadableStream(vr(e)),i=n.getReader(),o=Buffer.alloc(0),a=0,g=0,I=!1,C=0;try{for(;;){let{value:s,done:c}=await i.read();if(c)break;if(C+=s.length,C>1024*1024*1024)throw w();for(o=Buffer.concat([o,s]);o.length;)if(a){let f=Math.min(a,o.length);if(I&&await r.writeFile(o.subarray(0,f)),o=o.subarray(f),a-=f,!a&&I)return}else if(g){let f=Math.min(g,o.length);o=o.subarray(f),g-=f}else{if(o.length<512)break;let f=o.subarray(0,512);o=o.subarray(512);let u=(E,v)=>f.subarray(E,v).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||(I=h===A.entry,I&&(A.binaryBytes&&l!==A.binaryBytes||l>256*1024*1024||![0,48].includes(f[156]))))throw w();a=l,g=(512-l%512)%512}}throw w()}finally{await i.cancel().catch(()=>{})}}finally{await r.close()}}function vr(A){let e=Re(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 Xe(A={}){let e=Te(A);if(await dA(e))return e.target;if(e.override)throw w();if(eA.has(e.target))return eA.get(e.target);let t=yr(e).finally(()=>eA.delete(e.target));return eA.set(e.target,t),t}async function yr(A){let{directory:e,target:t,artifact:r}=A,n=e+".lock",i=Date.now()+42e4;await He(e,{recursive:!0,mode:448});let o=!1;for(;!o;)try{await He(n,{mode:448}),o=!0}catch(s){if(s.code!=="EEXIST"||Date.now()>i)throw w();if(await dA(A))return t;try{Date.now()-(await Ge(n)).mtimeMs>6e5&&await X(n,{recursive:!0,force:!0})}catch{}await Er(200)}let a=A.platform==="win32"?ze:Ue,g=a.basename(t)+"."+Cr(),I=a.join(e,g+".archive"),C=a.join(e,g+".part");try{if(await dA(A))return t;await pr(r,I,A.fetchImpl||fetch),await wr(r,I,C);let s=await je(C);if(r.binarySha256&&s!==r.binarySha256||(await hr(C,493),!We(C,A)))throw w();return A.platform==="win32"&&await X(t,{force:!0}),await ur(C,t),await cr(t+".json",JSON.stringify({archiveSha256:r.archiveSha256,binarySha256:s,binaryBytes:(await Ge(t)).size,version:r.version})+`
3
- `,{mode:384}),tA.set(t,mA(t)),t}catch{throw w()}finally{await Promise.all([X(I,{force:!0}),X(C,{force:!0}),X(n,{recursive:!0,force:!0})])}}var $e=xA.default,Z=xA.default.sync;function _e(A){if(!(!A?.pid||A.exitCode!==null||A.signalCode!==null))if(A.stdin?.destroy(),process.platform==="win32"){let e=DA.join(process.env.SystemRoot||"C:\\Windows","System32","taskkill.exe");Z(e,["/pid",String(A.pid),"/t","/f"],{stdio:"ignore",timeout:3e3,windowsHide:!0})}else A.kill()}function O(A,e,{env:t=process.env,home:r=Dr(),platform:n=process.platform,arch:i=process.arch}={}){if(e)return e;if(A==="ffmpeg")return Pe({env:t,home:r,platform:n,arch:i});let{delimiter:o,dirname:a,join:g,isAbsolute:I,extname:C}=n==="win32"?DA:Ve,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",g(r,".volta/bin"),g(r,".local/bin")):c.push(g(t.APPDATA||g(r,"AppData","Roaming"),"npm"),g(r,".volta","bin"));let f=n!=="win32"||C(A)?[""]:[".exe",".com",".cmd",".bat"],u=c.filter(I).flatMap(h=>f.map(l=>g(h,A+l)));A==="codex"&&n==="darwin"&&u.push("/Applications/Codex.app/Contents/Resources/codex");for(let h of u)try{if(mr(h,n==="win32"?Ze.F_OK:Ze.X_OK),dr(h).isFile())return h}catch{}return A}function At(){let{delimiter:A,dirname:e}=process.platform==="win32"?DA:Ve,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=O("codex",process.env.HONGGUO_CODEX)}import{realpathSync as Nr}from"node:fs";import{relative as kr,resolve as Sr,isAbsolute as Fr}from"node:path";import{fileURLToPath as xr}from"node:url";var et=xr(new URL("../../",import.meta.url));var tt=["userPromptSubmit","stop","interrupt"],G=()=>({status:"unknown",events:tt.map(A=>({event:A,status:"unknown"}))});function rt({command:A=O("codex",process.env.HONGGUO_CODEX),args:e=["app-server"],cwd:t=process.cwd(),timeoutMs:r=8e3,pluginRoot:n=et,installedId:i}={}){let o=g=>{try{return Nr(g)}catch{return Sr(g)}},a=o(n);return new Promise(g=>{let I,C=!1,s="",c=0,f=h=>{C||(C=!0,clearTimeout(u),_e(I),g(h))},u=setTimeout(()=>f(G()),r);try{I=$e(A,e,{cwd:t,stdio:["pipe","pipe","ignore"],windowsHide:!0}),I.on("error",()=>f(G())),I.on("exit",()=>f(G())),I.stdin.on("error",()=>f(G())),I.stdout.setEncoding("utf8");let h=l=>I.stdin.write(JSON.stringify(l)+`
4
- `);I.stdout.on("data",l=>{if(C)return;if(c+=Buffer.byteLength(l),c>2*1024*1024)return f(G());s+=l;let E;for(;!C&&(E=s.indexOf(`
5
- `))>=0;){let v=s.slice(0,E);s=s.slice(E+1);let B;try{B=JSON.parse(v)}catch{continue}if(B.error&&[1,2].includes(B.id))return f(G());if(B.id===1&&B.result&&(h({jsonrpc:"2.0",method:"initialized"}),h({jsonrpc:"2.0",id:2,method:"hooks/list",params:{cwds:[t]}})),B.id===2&&Array.isArray(B.result?.data)){let L=B.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(i)return p.pluginId===i;let k=kr(a,o(p.sourcePath));return k&&!k.startsWith("..")&&!Fr(k)});if(!L.length)return f(G());let Y=tt.map(p=>{let k=L.filter(m=>m.eventName===p),$=k.length?k.some(m=>!m.enabled)?"disabled":k.every(m=>["trusted","managed"].includes(m.trustStatus))?"ready":k.some(m=>["untrusted","modified"].includes(m.trustStatus))?"needs_review":"unknown":"missing";return{event:p,status:$}});f({status:Y.every(p=>p.status==="ready")?"ready":"needs_attention",events:Y})}}}),h({jsonrpc:"2.0",id:1,method:"initialize",params:{clientInfo:{name:"hongguo-setup",version:"1"},capabilities:{experimentalApi:!0}}})}catch{f(G())}})}var V="hongguo-local",rA="codex-hongguo@"+V,it="mreasonyang/codex-hongguo",nt=A=>typeof A=="string"?A.replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,"").replace(/\/$/,""):A;function Yr(A,e=process.env){return t=>{let r=Z(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 Hr(A){if(/^[\w.-]+\/[\w.-]+$/.test(A)||Jr(A))return A;throw Error("--marketplace \u53EA\u63A5\u53D7 owner/repo \u6216\u73B0\u6709\u672C\u5730\u5E02\u573A\u76EE\u5F55\u3002")}function Gr({run:A,source:e=it,update:t=!1,dryRun:r=!1,log:n=console.log}){if(Hr(e),r){n("\u5C06\u4F7F\u7528 Codex \u539F\u751F\u5E02\u573A\u5B89\u88C5 "+rA+"\uFF1B\u5E02\u573A\u6765\u6E90\uFF1A"+e),n("\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 i=A(["plugin","marketplace","list"]).marketplaces?.find(g=>g.name===V),o=i?.marketplaceSource?.source,a=!!i&&nt(o)!==nt(e);a&&A(["plugin","marketplace","remove",V]);try{A(["plugin","marketplace","add",e]),t&&!a&&i?.marketplaceSource?.sourceType==="git"&&A(["plugin","marketplace","upgrade",V]),A(["plugin","add",rA])}catch(g){if(a&&o){try{A(["plugin","marketplace","remove",V])}catch{}try{A(["plugin","marketplace","add",o]),A(["plugin","add",rA])}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}n("\u7EA2\u679C\u77ED\u5267\u5DF2\u5B89\u88C5\u3002\u91CD\u65B0\u6253\u5F00\u64AD\u653E\u5668\u5373\u53EF\u4F7F\u7528\u65B0\u7248\u3002")}async function Fn(A=process.argv.slice(2)){try{let[e="help",...t]=A;if(e==="--version"){console.log(JSON.parse(Mr(new URL("../../package.json",import.meta.url),"utf8")).version);return}if(["help","--help","-h"].includes(e)){console.log(`\u7EA2\u679C\u77ED\u5267
2
+ var lt=Object.create;var qA=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var Bt=Object.getOwnPropertyNames;var pt=Object.getPrototypeOf,wt=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 y=(A,e)=>()=>{try{return e||A((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var vt=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Bt(e))!wt.call(A,n)&&n!==t&&qA(A,n,{get:()=>e[n],enumerable:!(r=Et(e,n))||r.enumerable});return A};var KA=(A,e,t)=>(t=A!=null?lt(pt(A)):{},vt(e||!A||!A.__esModule?qA(t,"default",{value:A,enumerable:!0}):t,A));var PA=y((Tr,TA)=>{TA.exports=OA;OA.sync=mt;var UA=F("fs");function yt(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:yt(e,t)}function OA(A,e,t){UA.stat(A,function(r,n){t(r,r?!1:zA(n,A,e))})}function mt(A,e){return zA(UA.statSync(A),A,e)}});var VA=y((Pr,ZA)=>{ZA.exports=WA;WA.sync=dt;var jA=F("fs");function WA(A,e,t){jA.stat(A,function(r,n){t(r,r?!1:XA(n,e))})}function dt(A,e){return XA(jA.statSync(A),e)}function XA(A,e){return A.isFile()&&Dt(A,e)}function Dt(A,e){var t=A.mode,r=A.uid,n=A.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=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,o=t&a||t&C&&n===i||t&g&&r===s||t&I&&s===0;return o}});var _A=y((Wr,$A)=>{var jr=F("fs"),tA;process.platform==="win32"||global.TESTING_WINDOWS?tA=PA():tA=VA();$A.exports=aA;aA.sync=xt;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,i){s?n(s):r(i)})})}tA(A,e||{},function(r,n){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,n=!1),t(r,n)})}function xt(A,e){try{return tA.sync(A,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var oe=y((Xr,ie)=>{var K=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ae=F("path"),Nt=K?";":":",ee=_A(),te=A=>Object.assign(new Error(`not found: ${A}`),{code:"ENOENT"}),re=(A,e)=>{let t=e.colon||Nt,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}},ne=(A,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:r,pathExt:n,pathExtExe:s}=re(A,e),i=[],g=a=>new Promise((I,o)=>{if(a===r.length)return e.all&&i.length?I(i):o(te(A));let c=r[a],f=/^".*"$/.test(c)?c.slice(1,-1):c,u=Ae.join(f,A),h=!f&&/^\.[\\\/]/.test(A)?A.slice(0,2)+u:u;I(C(h,a,0))}),C=(a,I,o)=>new Promise((c,f)=>{if(o===n.length)return c(g(I+1));let u=n[o];ee(a+u,{pathExt:s},(h,l)=>{if(!h&&l)if(e.all)i.push(a+u);else return c(a+u);return c(C(a,I,o+1))})});return t?g(0).then(a=>t(null,a),t):g(0)},kt=(A,e)=>{e=e||{};let{pathEnv:t,pathExt:r,pathExtExe:n}=re(A,e),s=[];for(let i=0;i<t.length;i++){let g=t[i],C=/^".*"$/.test(g)?g.slice(1,-1):g,a=Ae.join(C,A),I=!C&&/^\.[\\\/]/.test(A)?A.slice(0,2)+a:a;for(let o=0;o<r.length;o++){let c=I+r[o];try{if(ee.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 te(A)};ie.exports=ne;ne.sync=kt});var ae=y((Zr,gA)=>{"use strict";var se=(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=se;gA.exports.default=se});var ce=y((Vr,Ce)=>{"use strict";var ge=F("path"),St=oe(),Ft=ae();function Ie(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 i;try{i=St.sync(A.command,{path:t[Ft({env:t})],pathExt:e?ge.delimiter:void 0})}catch{}finally{s&&process.chdir(r)}return i&&(i=ge.resolve(n?A.options.cwd:"",i)),i}function Mt(A){return Ie(A)||Ie(A,!0)}Ce.exports=Mt});var fe=y(($r,CA)=>{"use strict";var IA=/([()\][%!^"`<>&|;, *?])/g;function Jt(A){return A=A.replace(IA,"^$1"),A}function Lt(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=Jt;CA.exports.argument=Lt});var he=y((_r,ue)=>{"use strict";ue.exports=/^#!(.*)/});var le=y((An,Qe)=>{"use strict";var Yt=he();Qe.exports=(A="")=>{let e=A.match(Yt);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=y((en,Ee)=>{"use strict";var cA=F("fs"),Ht=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 Ht(t.toString())}Ee.exports=Gt});var ye=y((tn,ve)=>{"use strict";var bt=F("path"),pe=ce(),we=fe(),Rt=Be(),qt=process.platform==="win32",Kt=/\.(?:com|exe)$/i,Ut=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function zt(A){A.file=pe(A);let e=A.file&&Rt(A.file);return e?(A.args.unshift(A.file),A.command=e,pe(A)):A.file}function Ot(A){if(!qt)return A;let e=zt(A),t=!Kt.test(e);if(A.options.forceShell||t){let r=Ut.test(e);A.command=bt.normalize(A.command),A.command=we.command(A.command),A.args=A.args.map(s=>we.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 Tt(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:Ot(r)}ve.exports=Tt});var De=y((rn,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 Pt(A,e){if(!fA)return;let t=A.emit;A.emit=function(r,n){if(r==="exit"){let s=me(n,e);if(s)return t.call(A,"error",s)}return t.apply(A,arguments)}}function me(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawn"):null}function jt(A,e){return fA&&A===1&&!e.file?uA(e.original,"spawnSync"):null}de.exports={hookChildProcess:Pt,verifyENOENT:me,verifyENOENTSync:jt,notFoundError:uA}});var ke=y((nn,U)=>{"use strict";var xe=F("child_process"),hA=ye(),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 Wt(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}U.exports=Ne;U.exports.spawn=Ne;U.exports.sync=Wt;U.exports._parse=hA;U.exports._enoent=QA});var Ge=y(($,yA)=>{(function(e,t){typeof $=="object"&&typeof yA=="object"?yA.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 i=t[s];if(i!==void 0)return i.exports;var g=t[s]={exports:{}};return e[s](g,g.exports,r),g.exports}r.d=(s,i)=>{for(var g in i)r.o(i,g)&&!r.o(s,g)&&Object.defineProperty(s,g,{enumerable:!0,get:i[g]})},r.o=(s,i)=>Object.prototype.hasOwnProperty.call(s,i),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:()=>o});var s=r(1);let i=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 o extends i{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={},l=await WebAssembly.instantiate(u,h);o._moduleInstance=l.instance}constructor(f){let u,h=null,l=f.getReader();super({async start(B){await o._contextMutex.acquire();try{o._moduleInstance||await(o._moduleInstancePromise||(o._moduleInstancePromise=o._getModuleInstance())),u=new a(o._moduleInstance)}catch(v){throw o._contextMutex.release(),v}},async pull(B){try{if(u.needsMoreInput()){if(h===null||h.byteLength===0){let{done:L,value:Y}=await l.read();L||(h=Y)}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(),o._contextMutex.release(),B.close())}catch(v){throw u&&u.dispose(),o._contextMutex.release(),v}},cancel(){try{return u&&u.dispose(),l.cancel()}finally{o._contextMutex.release()}}})}}})(),n})())});import{readFileSync as Rr,existsSync as qr}from"node:fs";import{fileURLToPath as Kr}from"node:url";var SA=KA(ke(),1);import{accessSync as Fr,constants as et,statSync as Mr}from"node:fs";import{homedir as Jr}from"node:os";import{posix as tt,win32 as kA}from"node:path";import{createHash as Ue,randomUUID as lr}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 Er,rename as Br,rm as T,chmod as pr,stat as qe,unlink as wr,rmdir as Ke}from"node:fs/promises";import{lstatSync as vr}from"node:fs";import{homedir as Pe}from"node:os";import{posix as xA,win32 as NA}from"node:path";import{spawnSync as yr}from"node:child_process";import{createRequire as Xt}from"module";var Zt=Xt("/"),O,Vt,$t;try{O=Zt("worker_threads"),Vt=O.Worker,$t=O.isMarkedAsUntransferable}catch{}var D=Uint8Array,z=Uint16Array,_t=Int32Array,Se=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]),Fe=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]),Ar=new D([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 z(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 s=t[r];s<t[r+1];++s)n[s]=s-t[r]<<5|r;return{b:t,r:n}},O=Me(Se,2),Je=O.b,er=O.r;Je[28]=258,er[258]=28;var Le=Me(Fe,0),tr=Le.b,sn=Le.r,pA=new z(32768);for(Q=0;Q<32768;++Q)J=(Q&43690)>>1|(Q&21845)<<1,J=(J&52428)>>2|(J&13107)<<2,J=(J&61680)>>4|(J&3855)<<4,pA[Q]=((J&65280)>>8|(J&255)<<8)>>1;var J,Q,Z=(function(A,e,t){for(var r=A.length,n=0,s=new z(e);n<r;++n)A[n]&&++s[A[n]-1];var i=new z(e);for(n=1;n<e;++n)i[n]=i[n-1]+s[n-1]<<1;var g;if(t){g=new z(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],o=i[A[n]-1]++<<I,c=o|(1<<I)-1;o<=c;++o)g[pA[o]>>C]=a}else for(g=new z(r),n=0;n<r;++n)A[n]&&(g[n]=pA[i[A[n]-1]++]>>15-A[n]);return g}),V=new D(288);for(Q=0;Q<144;++Q)V[Q]=8;var Q;for(Q=144;Q<256;++Q)V[Q]=9;var Q;for(Q=256;Q<280;++Q)V[Q]=7;var Q;for(Q=280;Q<288;++Q)V[Q]=8;var Q,Ye=new D(32);for(Q=0;Q<32;++Q)Ye[Q]=5;var Q;var rr=Z(V,9,1);var nr=Z(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},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)},ir=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 or=["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||or[A]);if(r.code=A,Error.captureStackTrace&&Error.captureStackTrace(r,d),!t)throw r;return r},sr=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 i=!t,g=i||e.i!=2,C=e.i;i&&(t=new D(n*3));var a=function(GA){var bA=t.length;if(GA>bA){var RA=new D(Math.max(bA*2,GA));RA.set(t),t=RA}},I=e.f||0,o=e.p||0,c=e.b||0,f=e.l,u=e.d,h=e.m,l=e.n,B=n*8;do{if(!f){I=S(A,o,1);var v=S(A,o+1,3);if(o+=3,v)if(v==1)f=rr,u=nr,h=9,l=5;else if(v==2){var p=S(A,o,31)+257,k=S(A,o+10,15)+4,AA=p+S(A,o+5,31)+1;o+=14;for(var m=new D(AA),nA=new D(19),x=0;x<k;++x)nA[Ar[x]]=S(A,o+x*3,7);o+=k*3;for(var FA=lA(nA),ct=(1<<FA)-1,ft=Z(nA,FA,1),x=0;x<AA;){var MA=ft[S(A,o,ct)];o+=MA&15;var E=MA>>4;if(E<16)m[x++]=E;else{var R=0,eA=0;for(E==16?(eA=3+S(A,o,3),o+=2,R=m[x-1]):E==17?(eA=3+S(A,o,7),o+=3):E==18&&(eA=11+S(A,o,127),o+=7);eA--;)m[x++]=R}}var JA=m.subarray(0,p),H=m.subarray(p);h=lA(JA),l=lA(H),f=Z(JA,h,1),u=Z(H,l,1)}else d(1);else{var E=ir(o)+4,L=A[E-4]|A[E-3]<<8,Y=E+L;if(Y>n){C&&d(0);break}g&&a(c+L),t.set(A.subarray(E,Y),c),e.b=c+=L,e.p=o=Y*8,e.f=I;continue}if(o>B){C&&d(0);break}}g&&a(c+131072);for(var ut=(1<<h)-1,ht=(1<<l)-1,iA=o;;iA=o){var R=f[EA(A,o)&ut],q=R>>4;if(o+=R&15,o>B){C&&d(0);break}if(R||d(2),q<256)t[c++]=q;else if(q==256){iA=o,f=null;break}else{var LA=q-254;if(q>264){var x=q-257,X=Se[x];LA=S(A,o,(1<<X)-1)+Je[x],o+=X}var oA=u[EA(A,o)&ht],sA=oA>>4;oA||d(3),o+=oA&15;var H=tr[sA];if(sA>3){var X=Fe[sA];H+=EA(A,o)&(1<<X)-1,o+=X}if(o>B){C&&d(0);break}g&&a(c+131072);var YA=c+LA;if(c<H){var HA=s-H,Qt=Math.min(H,YA);for(HA+c<0&&d(3);c<Qt;++c)t[c]=r[HA+c]}for(;c<YA;++c)t[c]=t[c-H]}}e.l=f,e.p=iA,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?vA(t,0,c):t.subarray(0,c)};var ar=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 gr(A,e){return sr(A,{i:2},e&&e.out,e&&e.dictionary)}var wA=typeof TextDecoder<"u"&&new TextDecoder,Ir=0;try{wA.decode(ar,{stream:!0}),Ir=1}catch{}var Cr=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=Cr(A),s=n.s,t=n.r;return t.length&&d(8),s}}var fr=function(A,e){return e+30+M(A,e+26)+M(A,e+28)},ur=function(A,e,t){var r=M(A,e+28),n=M(A,e+30),s=cr(A.subarray(e+46,e+46+r),!(M(A,e+8)&2048)),i=e+46+r,g=hr(A,i,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,i+n+M(A,e+32),I]},hr=function(A,e,t,r,n,s,i){var g=n==4294967295,C=s==4294967295,a=i==4294967295,I=e+t,o=g+C+a;if(r&&o){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)):i,1];r<2&&d(13)}return[n,s,i,0]};function He(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),i=N(A,r-20)==117853008;if(i){var g=N(A,r-12);i=N(A,g)==101075792,i&&(n=N(A,g+32),s=N(A,g+48))}for(var C=e&&e.filter,a=0;a<n;++a){var I=ur(A,s,i),o=I[0],c=I[1],f=I[2],u=I[3],h=I[4],l=I[5],B=fr(A,l);s=h,(!C||C({name:u,size:c,originalSize:f,compression:o}))&&(o?o==8?t[u]=gr(A.subarray(B,B+c),{out:new D(f)}):d(14,"unknown compression type "+o):t[u]=vA(A,B,B+c))}return t}var je=KA(Ge(),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 P=new Map,rA=new Map,mr="@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"),dr=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,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 i=(A.artifacts||be)[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 g=Xe({env:e,home:t,platform:r,paths:s}),C=s.join(g,"runtime","ffmpeg",i.archiveSha256.slice(0,16),r+"-"+n);return{...A,env:e,platform:r,artifact:i,directory:C,target:s.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 mA(A){try{let e=vr(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):yr(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)===mA(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)?(P.set(e,mA(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),s=new URL(A.url),i;for(let I=0;I<=6;I++){if(s.protocol!=="https:"||s.username||s.password||s.port||!r.has(s.hostname))throw w();if(i=await t(s,{redirect:"manual",signal:n}),![301,302,303,307,308].includes(i.status))break;let o=i.headers.get("location");if(await i.body?.cancel(),!o||I===6)throw w();s=new URL(o,s)}if(!i.ok||!i.body||Number(i.headers.get("content-length"))>A.archiveBytes)throw await i.body?.cancel(),w();let g=await Oe(e,"wx",384),C=Ue("sha256"),a=0;try{for await(let I of i.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 xr(A,e,t){let r=await Oe(t,"wx",384);try{if(A.format==="zip"){let c=He(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 w();await r.writeFile(c);return}let n=new je.default.XzReadableStream(Nr(e)),s=n.getReader(),i=Buffer.alloc(0),g=0,C=0,a=!1,I=0;try{for(;;){let{value:o,done:c}=await s.read();if(c)break;if(I+=o.length,I>1024*1024*1024)throw w();for(i=Buffer.concat([i,o]);i.length;)if(g){let f=Math.min(g,i.length);if(a&&await r.writeFile(i.subarray(0,f)),i=i.subarray(f),g-=f,!g&&a)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=(B,v)=>f.subarray(B,v).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||(a=h===A.entry,a&&(A.binaryBytes&&l!==A.binaryBytes||l>256*1024*1024||![0,48].includes(f[156]))))throw w();g=l,C=(512-l%512)%512}}throw w()}finally{await s.cancel().catch(()=>{})}}finally{await r.close()}}function Nr(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 w();if(rA.has(e.target))return rA.get(e.target);let t=Sr(e).finally(()=>rA.delete(e.target));return rA.set(e.target,t),t}async function kr(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,s=Xe({env:e,home:t,platform:r,paths:n}),i=n.join(s,"runtime","ffmpeg"),g=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(s))throw C();try{if(!await kr(g,n))throw C();let a=await DA(i);a.isDirectory()&&!a.isSymbolicLink()?await T(i,{recursive:!0,force:!0,maxRetries:10,retryDelay:100}):await wr(i);for(let I of P.keys()){let o=n.relative(i,I);o&&!o.startsWith(".."+n.sep)&&!n.isAbsolute(o)&&P.delete(I)}}catch(a){if(a.code==="ENOENT")return{removed:0};throw C()}return await Ke(g).catch(()=>{}),await Ke(s).catch(()=>{}),{removed:1}}async function Sr(A){let{directory:e,target:t,artifact:r}=A,n=e+".lock",s=Date.now()+42e4;await Re(e,{recursive:!0,mode:448});let i=!1;for(;!i;)try{await Re(n,{mode:448}),i=!0}catch(o){if(o.code!=="EEXIST"||Date.now()>s)throw w();if(await dA(A))return t;try{Date.now()-(await qe(n)).mtimeMs>6e5&&await T(n,{recursive:!0,force:!0})}catch{}await dr(200)}let g=A.platform==="win32"?NA:xA,C=g.basename(t)+"."+lr(),a=g.join(e,C+".archive"),I=g.join(e,C+".part");try{if(await dA(A))return t;await Dr(r,a,A.fetchImpl||fetch),await xr(r,a,I);let o=await Ve(I);if(r.binarySha256&&o!==r.binarySha256||(await pr(I,493),!$e(I,A)))throw w();return A.platform==="win32"&&await T(t,{force:!0}),await Br(I,t),await Er(t+".json",JSON.stringify({owner:mr,schema:1,archiveSha256:r.archiveSha256,binarySha256:o,binaryBytes:(await qe(t)).size,version:r.version})+`
3
+ `,{mode:384}),P.set(t,mA(t)),t}catch{throw w()}finally{await Promise.all([T(a,{force:!0}),T(I,{force:!0}),T(n,{recursive:!0,force:!0})])}}var rt=SA.default,_=SA.default.sync;function nt(A){if(!(!A?.pid||A.exitCode!==null||A.signalCode!==null))if(A.stdin?.destroy(),process.platform==="win32"){let e=kA.join(process.env.SystemRoot||"C:\\Windows","System32","taskkill.exe");_(e,["/pid",String(A.pid),"/t","/f"],{stdio:"ignore",timeout:3e3,windowsHide:!0})}else A.kill()}function j(A,e,{env:t=process.env,home:r=Jr(),platform:n=process.platform,arch:s=process.arch}={}){if(e)return e;if(A==="ffmpeg")return Ze({env:t,home:r,platform:n,arch:s});let{delimiter:i,dirname:g,join:C,isAbsolute:a,extname:I}=n==="win32"?kA:tt,o=Object.keys(t).find(h=>h.toUpperCase()==="PATH")||"PATH",c=[g(process.execPath),...(t[o]||"").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(a).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(Fr(h,n==="win32"?et.F_OK:et.X_OK),Mr(h).isFile())return h}catch{}return A}function it(){let{delimiter:A,dirname:e}=process.platform==="win32"?kA: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=j("codex",process.env.HONGGUO_CODEX)}import{realpathSync as Yr}from"node:fs";import{relative as Hr,resolve as Gr,isAbsolute as br}from"node:path";import{fileURLToPath as Lr}from"node:url";var ot=Lr(new URL("../../",import.meta.url));var st=["userPromptSubmit","stop","interrupt"],G=()=>({status:"unknown",events:st.map(A=>({event:A,status:"unknown"}))});function at({command:A=j("codex",process.env.HONGGUO_CODEX),args:e=["app-server"],cwd:t=process.cwd(),timeoutMs:r=8e3,pluginRoot:n=ot,installedId:s}={}){let i=C=>{try{return Yr(C)}catch{return Gr(C)}},g=i(n);return new Promise(C=>{let a,I=!1,o="",c=0,f=h=>{I||(I=!0,clearTimeout(u),nt(a),C(h))},u=setTimeout(()=>f(G()),r);try{a=rt(A,e,{cwd:t,stdio:["pipe","pipe","ignore"],windowsHide:!0}),a.on("error",()=>f(G())),a.on("exit",()=>f(G())),a.stdin.on("error",()=>f(G())),a.stdout.setEncoding("utf8");let h=l=>a.stdin.write(JSON.stringify(l)+`
4
+ `);a.stdout.on("data",l=>{if(I)return;if(c+=Buffer.byteLength(l),c>2*1024*1024)return f(G());o+=l;let B;for(;!I&&(B=o.indexOf(`
5
+ `))>=0;){let v=o.slice(0,B);o=o.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=Hr(g,i(p.sourcePath));return k&&!k.startsWith("..")&&!br(k)});if(!L.length)return f(G());let Y=st.map(p=>{let k=L.filter(m=>m.eventName===p),AA=k.length?k.some(m=>!m.enabled)?"disabled":k.every(m=>["trusted","managed"].includes(m.trustStatus))?"ready":k.some(m=>["untrusted","modified"].includes(m.trustStatus))?"needs_review":"unknown":"missing";return{event:p,status:AA}});f({status:Y.every(p=>p.status==="ready")?"ready":"needs_attention",events:Y})}}}),h({jsonrpc:"2.0",id:1,method:"initialize",params:{clientInfo:{name:"hongguo-setup",version:"1"},capabilities:{experimentalApi:!0}}})}catch{f(G())}})}var W="hongguo-local",b="codex-hongguo@"+W,Ct="mreasonyang/codex-hongguo",gt=A=>typeof A=="string"?A.replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,"").replace(/\/$/,""):A;function It(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 Ur(A){if(/^[\w.-]+\/[\w.-]+$/.test(A)||qr(A))return A;throw Error("--marketplace \u53EA\u63A5\u53D7 owner/repo \u6216\u73B0\u6709\u672C\u5730\u5E02\u573A\u76EE\u5F55\u3002")}function zr({run:A,source:e=Ct,update:t=!1,dryRun:r=!1,log:n=console.log}){if(Ur(e),r){n("\u5C06\u4F7F\u7528 Codex \u539F\u751F\u5E02\u573A\u5B89\u88C5 "+b+"\uFF1B\u5E02\u573A\u6765\u6E90\uFF1A"+e),n("\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 s=A(["plugin","marketplace","list"]).marketplaces?.find(C=>C.name===W),i=s?.marketplaceSource?.source,g=!!s&&gt(i)!==gt(e);g&&A(["plugin","marketplace","remove",W]);try{A(["plugin","marketplace","add",e]),t&&!g&&s?.marketplaceSource?.sourceType==="git"&&A(["plugin","marketplace","upgrade",W]),A(["plugin","add",b])}catch(C){if(g&&i){try{A(["plugin","marketplace","remove",W])}catch{}try{A(["plugin","marketplace","add",i]),A(["plugin","add",b])}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 C}n("\u7EA2\u679C\u77ED\u5267\u5DF2\u5B89\u88C5\u3002\u91CD\u65B0\u6253\u5F00\u64AD\u653E\u5668\u5373\u53EF\u4F7F\u7528\u65B0\u7248\u3002")}async function Gn(A=process.argv.slice(2)){try{let[e="help",...t]=A;if(e==="--version"){console.log(JSON.parse(Rr(new URL("../../package.json",import.meta.url),"utf8")).version);return}if(["help","--help","-h"].includes(e)){console.log(`\u7EA2\u679C\u77ED\u5267
6
6
  codex-hongguo setup [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
7
7
  codex-hongguo update [--dry-run] [--marketplace owner/repo|\u76EE\u5F55]
8
+ codex-hongguo uninstall [--dry-run]
8
9
  codex-hongguo doctor
9
- \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","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(At(),e==="doctor"){if(t.length)throw Error("doctor \u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570\u3002");if(Z(process.execPath,[Lr(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(t[g]==="--marketplace"&&t[g+1])i=t[++g];else throw Error("\u65E0\u6CD5\u8BC6\u522B\u5B89\u88C5\u53C2\u6570\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");let a=O("codex",process.env.HONGGUO_CODEX);for(let[g,I]of[["Codex CLI",a],["npm",O("npm")]])if(Z(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 setup\uFF1B\u5DF2\u6709\u63D2\u4EF6\u4E0E\u89C2\u770B\u8FDB\u5EA6\u4FDD\u6301\u539F\u6837\u3002");if(o||(console.log("\u6B63\u5728\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\uFF0C\u9996\u6B21\u4F7F\u7528\u9700\u8981\u8054\u7F51\u4E0B\u8F7D\u2026"),await Xe()),Gr({run:Yr(a),source:i,update:e==="update",dryRun:o}),!o){let g=await rt({command:a,installedId:rA}),I={userPromptSubmit:"UserPromptSubmit",stop:"Stop",interrupt:"Interrupt"},C=g.events.filter(s=>s.status!=="ready").map(s=>I[s.event]);g.status==="ready"?console.log("\u4E09\u4E2A\u56DE\u5408 Hooks \u5747\u5DF2\u4FE1\u4EFB\u5E76\u542F\u7528\u3002"):g.status==="unknown"?console.log("\u6682\u672A\u8BFB\u5230\u6388\u6743\u72B6\u6001\u3002\u8BF7\u6253\u5F00 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\uFF0C\u6216\u5728\u64AD\u653E\u5668\u7684\u4F7F\u7528\u6307\u5357\u4E2D\u91CD\u65B0\u68C0\u67E5\u3002"):console.log("\u9700\u8981\u5904\u7406\u56DE\u5408 Hooks\u3002\u8BF7\u6253\u5F00 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\uFF0C\u5BA1\u67E5\u5E76\u542F\u7528 "+C.join("\u3001")+"\u3002")}}catch(e){console.error(e.message),process.exitCode=1}}export{Yr as codexRunner,it as defaultSource,Gr as install,Fn as main,V as marketplaceName,rA as pluginId,Hr as validateSource};
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(it(),e==="doctor"){if(t.length)throw Error("doctor \u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570\u3002");if(_(process.execPath,[Kr(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 s=Ct,i=!1;for(let a=0;a<t.length;a++)if(t[a]==="--dry-run")i=!0;else if(e!=="uninstall"&&t[a]==="--marketplace"&&t[a+1])s=t[++a];else throw Error("\u65E0\u6CD5\u8BC6\u522B\u547D\u4EE4\u53C2\u6570\uFF1B\u8FD0\u884C codex-hongguo --help \u67E5\u770B\u7528\u6CD5\u3002");let g=j("codex",process.env.HONGGUO_CODEX),C=[["Codex CLI",g]];e!=="uninstall"&&C.push(["npm",j("npm")]);for(let[a,I]of C)if(_(I,["--version"],{stdio:"ignore",timeout:3e3}).status!==0)throw Error("\u672A\u627E\u5230\u53EF\u8FD0\u884C\u7684 "+a+"\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 "+b+" \u5E76\u6E05\u7406\u672C\u63D2\u4EF6\u7684\u64AD\u653E\u7EC4\u4EF6\u76EE\u5F55\uFF0C\u4FDD\u7559\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u548C\u89C6\u9891\u7F13\u5B58\u3002");else{let a=It(g),I=a(["plugin","list","--marketplace",W]).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(o=>o.pluginId===b)&&a(["plugin","remove",b]),await At(),console.log("\u7EA2\u679C\u77ED\u5267\u5DF2\u5378\u8F7D\uFF0C\u64AD\u653E\u7EC4\u4EF6\u76EE\u5F55\u5DF2\u6E05\u7406\uFF1B\u89C2\u770B\u8FDB\u5EA6\u3001\u8BBE\u7F6E\u548C\u89C6\u9891\u7F13\u5B58\u5DF2\u4FDD\u7559\u3002\u8BF7\u6253\u5F00\u65B0\u804A\u5929\u3002")}return}if(i||(console.log("\u6B63\u5728\u51C6\u5907\u64AD\u653E\u7EC4\u4EF6\uFF0C\u9996\u6B21\u4F7F\u7528\u9700\u8981\u8054\u7F51\u4E0B\u8F7D\u2026"),await _e()),zr({run:It(g),source:s,update:e==="update",dryRun:i}),!i){let a=await at({command:g,installedId:b}),I={userPromptSubmit:"UserPromptSubmit",stop:"Stop",interrupt:"Interrupt"},o=a.events.filter(c=>c.status!=="ready").map(c=>I[c.event]);a.status==="ready"?console.log("\u4E09\u4E2A\u56DE\u5408 Hooks \u5747\u5DF2\u4FE1\u4EFB\u5E76\u542F\u7528\u3002"):a.status==="unknown"?console.log("\u6682\u672A\u8BFB\u5230\u6388\u6743\u72B6\u6001\u3002\u8BF7\u6253\u5F00 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\uFF0C\u6216\u5728\u64AD\u653E\u5668\u7684\u4F7F\u7528\u6307\u5357\u4E2D\u91CD\u65B0\u68C0\u67E5\u3002"):console.log("\u9700\u8981\u5904\u7406\u56DE\u5408 Hooks\u3002\u8BF7\u6253\u5F00 Codex \u8BBE\u7F6E \u2192 Hooks \u2192 \u7EA2\u679C\u77ED\u5267\uFF0C\u5BA1\u67E5\u5E76\u542F\u7528 "+o.join("\u3001")+"\u3002")}}catch(e){console.error(e.message),process.exitCode=1}}export{It as codexRunner,Ct as defaultSource,zr as install,Gn as main,W as marketplaceName,b as pluginId,Ur as validateSource};
10
11
  /*! Bundled license information:
11
12
 
12
13
  xz-decompress/dist/package/xz-decompress.js: